
    :root{
      --bg:#f5f4f0;
      --surface:#fbfaf7;
      --ink:#161816;
      --muted:#666b65;
      --line:#d9d8d2;
      --accent:#315f56;
      --accent-soft:#e4ebe8;
      --max:1240px;
      --read:760px;
      --radius:24px;
      --shadow:0 12px 42px rgba(27,31,29,.055);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:var(--bg);
      color:var(--ink);
      font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      line-height:1.55;
      letter-spacing:-.012em;
    }
    a{color:inherit;text-decoration:none}
    button,a{transition:.2s ease}
    .shell{width:min(calc(100% - 48px),var(--max));margin:0 auto}
    .nav{
      position:sticky;top:0;z-index:50;
      backdrop-filter:blur(14px);
      background:color-mix(in srgb,var(--bg) 86%,transparent);
      border-bottom:1px solid rgba(217,216,210,.8);
    }
    .nav-inner{
      min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;
    }
    .brand{display:flex;align-items:center;gap:12px;font-size:.78rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}
    .brand-mark{width:28px;height:28px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:.62rem}
    .brand-block{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-width:150px;max-width:290px;padding:7px 0}
    .brand-block .custom-logo-link{display:block;line-height:0}
    .brand-block .custom-logo{display:block;width:auto;max-width:230px;max-height:38px;object-fit:contain;object-position:left center}
    .site-tagline{max-width:280px;color:var(--muted);font-size:.62rem;line-height:1.25;letter-spacing:.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .nav-links{display:flex;align-items:center;gap:28px;font-size:.9rem}
    .nav-links a:hover{opacity:.55}
    .nav-cta{border:1px solid var(--ink);padding:10px 15px;border-radius:999px}
    .menu-btn{display:none;background:none;border:0;font:inherit;font-weight:650;padding:8px}
    .mobile-menu{display:none;padding:6px 0 22px;border-top:1px solid var(--line)}
    .mobile-menu a{display:block;padding:11px 0}
    .hero{
      min-height:calc(100vh - 76px);
      display:grid;align-items:center;
      padding:86px 0 92px;position:relative;overflow:hidden;
    }
    .hero-grid{
      display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:70px;align-items:center;
    }
    .eyebrow{
      font-size:.73rem;font-weight:760;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);
      margin-bottom:26px;
    }
    h1,h2,h3,p{margin-top:0}
    h1{
      font-size:clamp(3.4rem,7vw,7rem);line-height:.94;letter-spacing:-.066em;font-weight:590;margin-bottom:34px;
      max-width:980px;
    }
    h2{
      font-size:clamp(2.3rem,4vw,4.4rem);line-height:1.03;letter-spacing:-.052em;font-weight:570;margin-bottom:28px;
    }
    h3{font-size:1.45rem;line-height:1.16;letter-spacing:-.03em;font-weight:620}
    .lead{
      max-width:690px;font-size:clamp(1.05rem,1.6vw,1.32rem);color:var(--muted);margin-bottom:34px;
    }
    .actions{display:flex;gap:12px;flex-wrap:wrap}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;
      font-size:.92rem;font-weight:650;border:1px solid var(--ink);
    }
    .btn.primary{background:var(--ink);color:var(--surface)}
    .btn:hover{transform:translateY(-1px);opacity:.88}
    .hero-meta{margin-top:54px;color:var(--muted);font-size:.82rem;letter-spacing:.03em}
    .diagram{
      position:relative;aspect-ratio:1/1;max-width:520px;margin-left:auto;
      border-radius:50%;
    }
    .diagram:before,.diagram:after{
      content:"";position:absolute;border:1px solid var(--line);border-radius:50%;
    }
    .diagram:before{inset:2%}
    .diagram:after{inset:19%}
    .orbit{position:absolute;inset:8%;border:1px solid var(--line);border-radius:50%;transform:rotate(54deg)}
    .axis{position:absolute;left:50%;top:3%;bottom:3%;width:1px;background:var(--line);transform:rotate(33deg)}
    .axis.b{transform:rotate(-48deg)}
    .node{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 8px rgba(49,95,86,.08)}
    .n1{left:19%;top:29%}.n2{right:16%;top:37%}.n3{left:46%;bottom:12%}
    .diagram-label{
      position:absolute;right:6%;bottom:7%;width:max-content;max-width:none;min-width:150px;
      white-space:nowrap;word-break:keep-all;overflow-wrap:normal;
      font-size:.75rem;line-height:1.65;color:var(--muted);text-align:right
    }
    section{padding:132px 0;border-top:1px solid var(--line)}
    .question{max-width:1050px}
    .question p{max-width:var(--read);font-size:1.13rem;color:var(--muted)}
    .domains{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:58px}
    .card{
      background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px;
      min-height:380px;display:flex;flex-direction:column;box-shadow:var(--shadow)
    }
    .card-num{font-size:.75rem;letter-spacing:.14em;color:var(--accent);font-weight:740;margin-bottom:62px}
    .card p{color:var(--muted)}
    .selected{font-size:.78rem;color:var(--muted);margin-top:20px}
    .selected strong{display:block;color:var(--ink);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}
    .card-link{margin-top:auto;padding-top:26px;font-size:.88rem;font-weight:650}
    .card-link:hover{color:var(--accent)}
    .method-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
    .method-copy p{max-width:550px;color:var(--muted);font-size:1.06rem}
    .steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);margin-top:9px}
    .step{padding:24px 18px 36px 0;border-bottom:1px solid var(--line);min-height:128px}
    .step small{display:block;color:var(--accent);font-size:.67rem;letter-spacing:.12em;margin-bottom:13px}
    .step strong{font-size:1.08rem;font-weight:600}
    .projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:58px}
    .project{
      min-height:300px;border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:var(--surface);
      display:flex;flex-direction:column
    }
    .project .tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;color:var(--accent);margin-bottom:52px}
    .project p{max-width:520px;color:var(--muted)}
    .project a{margin-top:auto;font-size:.88rem;font-weight:650}
    .output-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
    .output-copy p{max-width:550px;color:var(--muted);font-size:1.05rem}
    .pubs{border-top:1px solid var(--ink)}
    .pub{padding:24px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:92px 1fr;gap:22px}
    .pub-meta{font-size:.74rem;color:var(--muted)}
    .pub-title{font-weight:620;margin-bottom:5px}
    .pub-desc{color:var(--muted);font-size:.91rem}
    .collab-box{
      background:var(--ink);color:var(--surface);border-radius:34px;padding:clamp(34px,6vw,76px);
      display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end
    }
    .collab-box .eyebrow{color:#a8c2bb}
    .collab-box p{color:#c9ccc8;max-width:700px;font-size:1.05rem}
    .collab-list{border-top:1px solid #50534f}
    .collab-list div{padding:14px 0;border-bottom:1px solid #3a3d39;font-size:.93rem}
    .collab-box .btn{border-color:var(--surface);color:var(--surface);margin-top:26px}
    .closing{padding:150px 0 135px}
    .closing h2{max-width:1000px;font-size:clamp(3rem,6vw,6rem);margin-bottom:28px}
    .closing p{color:var(--muted)}
    footer{padding:48px 0 70px;border-top:1px solid var(--line)}
    .footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,.65fr);gap:32px}
    .footer-brand{font-weight:650}
    .footer-col a{display:block;padding:5px 0;color:var(--muted);font-size:.88rem}
    .footer-bottom{margin-top:50px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
    .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
    .reveal.visible{opacity:1;transform:none}
    @media (prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn{transition:none}
    }
    @media (max-width:900px){
      .shell{width:min(calc(100% - 32px),var(--max))}
      .nav-links{display:none}.menu-btn{display:block}
      .mobile-menu.open{display:block}
      .hero{min-height:auto;padding:76px 0 90px}
      .hero-grid,.method-grid,.output-grid,.collab-box{grid-template-columns:1fr}
      .diagram{width:min(82vw,430px);margin:40px auto 0}
      h1{font-size:clamp(3.2rem,14vw,5.8rem)}
      section{padding:94px 0}
      .domains{grid-template-columns:1fr}.card{min-height:0}.card-num{margin-bottom:38px}
      .projects-grid{grid-template-columns:1fr}
      .steps{grid-template-columns:1fr 1fr}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media (max-width:560px){
      .brand span:last-child{display:none}
      .brand-block{max-width:200px;min-width:0}
      .brand-block .custom-logo{max-width:170px;max-height:32px}
      .site-tagline{max-width:190px;font-size:.56rem}
      .hero-meta{margin-top:38px}
      .actions{display:grid}.btn{width:100%}
      .steps{grid-template-columns:1fr}
      .collab-box{border-radius:24px}
      .footer-grid{grid-template-columns:1fr}
    }

/* WordPress integration */
body{
  font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
  overflow-wrap:anywhere;
}
img{max-width:100%;height:auto}
.site-main{min-height:60vh}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;top:8px;left:8px;z-index:99999;padding:12px 16px;background:var(--surface);color:var(--ink)}
.nav-links>li,.mobile-menu li,.footer-col li{list-style:none}
.nav-links>li{position:relative}
.nav-links .sub-menu{display:none;position:absolute;top:100%;left:-18px;min-width:220px;margin:0;padding:12px 0;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.nav-links li:hover>.sub-menu,.nav-links li:focus-within>.sub-menu{display:block}
.nav-links .sub-menu li{list-style:none}
.nav-links .sub-menu a{display:block;padding:9px 18px;white-space:nowrap}
.sv-language-switcher{display:flex;gap:.35rem;margin:0;padding:0;list-style:none}.sv-language-switcher li{list-style:none}.sv-language-switcher a,.sv-language-switcher span{display:inline-flex;padding:.34rem .52rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.68rem;line-height:1;text-decoration:none}.sv-language-switcher .current-lang a,.sv-language-switcher .current-lang span{border-color:var(--accent);color:var(--text)}
.sv-language-menu{position:relative;flex:0 0 auto}.sv-language-menu summary{display:inline-flex;align-items:center;gap:.38rem;min-height:30px;padding:.3rem .62rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.9);color:var(--text);font-size:.72rem;font-weight:650;line-height:1;cursor:pointer;list-style:none;white-space:nowrap}.sv-language-menu summary::-webkit-details-marker{display:none}.sv-language-menu summary::after{content:'▾';font-size:.62rem;color:var(--muted)}.sv-language-menu[open] summary::after{content:'▴'}.sv-language-menu ul{position:absolute;top:calc(100% + .45rem);right:0;z-index:1000;min-width:138px;margin:0;padding:.38rem;background:var(--surface,#fff);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(16,24,40,.2);list-style:none}.sv-language-menu li{margin:0;list-style:none}.sv-language-menu a,.sv-language-menu li>span{display:block;padding:.55rem .68rem;border-radius:8px;color:var(--text);font-size:.75rem;line-height:1.2;text-decoration:none;white-space:nowrap}.sv-language-menu a:hover,.sv-language-menu a:focus-visible{background:rgba(0,0,0,.065)}.sv-language-menu .current-lang>span{color:var(--accent);font-weight:700;background:rgba(0,0,0,.04)}
.mobile-menu ul,.footer-col ul{margin:0;padding:0}
.mobile-menu .sub-menu{padding-left:18px}
.current-menu-item>a,.current-menu-ancestor>a{color:var(--accent)}
.custom-logo{display:block;max-height:42px;width:auto}
.sri-home-hero h1{font-size:clamp(3rem,6vw,6.6rem)}
.sri-home-hero:before,.sri-home-hero:after{content:"";position:absolute;border:1px solid var(--line);border-radius:50%;pointer-events:none}
.sri-home-hero:before{width:620px;height:620px;right:-190px;top:-260px;box-shadow:0 0 0 92px rgba(49,95,86,.024),0 0 0 184px rgba(49,95,86,.016)}
.sri-home-hero:after{width:280px;height:280px;left:-170px;bottom:-150px;opacity:.65}
.sri-home-hero .hero-grid{position:relative;z-index:1}
.sri-section-action{margin-top:32px}
.sri-service-levels .card{min-height:310px}
.archive-hero,.sri-document-header{position:relative;padding:78px 0 70px;border-top:0;border-bottom:1px solid var(--line);overflow:hidden;background:linear-gradient(135deg,var(--surface) 0%,var(--bg) 62%,var(--accent-soft) 160%)}
.archive-hero:after,.sri-document-header:after{content:"";position:absolute;width:420px;height:420px;border:1px solid var(--line);border-radius:50%;right:-130px;top:-210px;box-shadow:0 0 0 74px rgba(49,95,86,.025),0 0 0 148px rgba(49,95,86,.018);pointer-events:none}
.archive-hero h1,.sri-document-header h1{font-size:clamp(2.25rem,4vw,4.25rem);line-height:1.08;letter-spacing:-.04em;max-width:980px}
@media(max-width:640px){.archive-hero h1,.sri-document-header h1{font-size:clamp(2rem,9vw,3rem);line-height:1.12}}
.archive-hero .shell,.sri-document-header .shell{position:relative;z-index:1}
.sri-breadcrumbs{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:46px;color:var(--muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.sri-breadcrumbs a:hover{color:var(--accent)}
.sri-breadcrumbs span:last-child{max-width:48ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sri-document-index{display:grid;grid-template-columns:auto minmax(40px,180px) auto;align-items:center;gap:16px;margin-top:48px;color:var(--muted);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase}
.sri-document-index span{font-family:Georgia,serif;font-size:1.05rem;color:var(--accent)}
.sri-document-index i{height:1px;background:var(--line)}
.archive-content{padding:76px 0 120px}
.sri-reading-width{max-width:860px}
.sri-document-header .sri-reading-width,
.sri-document-content,
.sri-document-footer,
.post-navigation{max-width:var(--max)}
.sri-document-header .sri-reading-width>h1,
.sri-document-header .sri-reading-width>.lead,
.sri-document-header .sri-reading-width>.sri-entry-meta,
.sri-document-header .sri-reading-width>.sri-document-index{max-width:860px}
.sri-document-content{position:relative;padding-top:82px;padding-bottom:110px;font-size:1.05rem;line-height:1.92}
.sri-document-content:before{content:"SRI / DOCUMENT";display:block;max-width:none;margin:0 0 52px;padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--accent);font-size:.68rem;font-weight:750;letter-spacing:.16em}
.sri-document-content>*{max-width:none;margin-left:0;margin-right:0}
.sri-document-content>h1:first-of-type{display:none}
.sri-document-content>h1:first-of-type+h2{margin-top:0}
.sri-document-content>.alignwide{max-width:1100px}
.sri-document-content>.alignfull{max-width:none}
.sri-document-content h2{position:relative;font-size:clamp(1.8rem,3vw,2.7rem);margin-top:2.35em;padding-top:.65em;border-top:1px solid var(--line)}
.sri-document-content h3{font-size:clamp(1.3rem,2vw,1.75rem);margin-top:2em}
.sri-document-content p{margin-bottom:1.55em}
.sri-document-content ul,.sri-document-content ol{padding-left:1.35em;margin-bottom:1.8em}
.sri-document-content li{margin:.55em 0}
.sri-document-content table{width:100%;border-collapse:collapse;margin:2em auto;font-size:.92rem}
.sri-document-content th,.sri-document-content td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.sri-document-content th{color:var(--accent);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase}
.sri-document-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.sri-document-content blockquote{border-left:3px solid var(--accent);margin-top:2em;margin-bottom:2em;padding:4px 0 4px 24px;color:var(--muted)}
.sri-featured-image{padding-top:56px}
.sri-featured-image img{display:block;width:100%;max-height:680px;object-fit:cover;border-radius:var(--radius)}
.sri-page-featured{margin:0 0 2rem}.sri-page-featured img{display:block;width:100%;max-height:560px;object-fit:cover;border-radius:var(--radius)}
.sri-document-footer,.post-navigation{padding-bottom:72px}
.sri-document-footer a{display:inline-flex;margin:0 8px 8px 0;padding:7px 12px;border:1px solid var(--line);border-radius:999px;font-size:.82rem}
.sri-entry-list{display:grid;gap:18px}
.sri-entry-card{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}
.sri-entry-card:hover{transform:translateY(-3px);box-shadow:0 20px 52px rgba(27,31,29,.09)}
.sri-entry-image{display:block;min-width:0;min-height:270px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 14%,var(--surface)),var(--surface));text-decoration:none}
.sri-entry-image img{display:block;width:100%;height:100%;min-height:270px;object-fit:cover}
.sri-entry-image--placeholder{display:grid;place-items:center;padding:2rem;color:var(--muted);font-size:.72rem;font-weight:720;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.sri-entry-body{padding:32px}
.sri-entry-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.76rem;letter-spacing:.04em}
.sri-entry-meta span{color:var(--accent);font-weight:700;text-transform:uppercase}
.sri-entry-title{font-size:clamp(1.45rem,2.4vw,2.25rem);margin:18px 0 14px}
.sri-entry-excerpt{color:var(--muted)}
.sri-entry-link{display:inline-block;margin-top:18px;font-weight:650}
.pagination,.nav-links{display:flex;gap:10px;align-items:center}
.pagination{justify-content:center;margin-top:50px}
.page-numbers{padding:9px 13px;border:1px solid var(--line);border-radius:999px}
.page-numbers.current{background:var(--ink);color:var(--surface)}
.post-navigation .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.post-navigation a{display:block;padding:20px;border:1px solid var(--line);border-radius:16px}
.footer-note{color:var(--muted);font-size:.85rem}
.site-footer{padding-top:56px}
body.admin-bar .nav{top:32px}

@media (max-width:900px){
  .nav-links{display:none}
  .mobile-menu.open{display:block}
  .mobile-menu li{display:block}
  .archive-hero,.sri-document-header{padding:80px 0 56px}
  .sri-entry-card{grid-template-columns:1fr}
  .sri-entry-image,.sri-entry-image img{height:260px;min-height:0}
}
@media (max-width:782px){body.admin-bar .nav{top:46px}}
@media (max-width:560px){
  .sri-home-hero h1{font-size:clamp(2.65rem,13vw,4.5rem)}
  .sri-entry-body{padding:24px}
  .sri-document-content{font-size:1rem;padding-top:54px}
  .post-navigation .nav-links{grid-template-columns:1fr}
}
  
.sri-japanese-guide {
  margin: 0 0 2.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(99, 126, 171, 0.28);
  border-left: 4px solid var(--sri-accent, #7f9fc8);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(127, 159, 200, 0.12), rgba(255, 255, 255, 0.035));
}

.sri-japanese-guide > :first-child {
  margin-top: 0;
}

.sri-japanese-guide > :last-child {
  margin-bottom: 0;
}

.sri-japanese-guide h2 {
  margin-top: 1.5rem;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
}

.sri-japanese-guide + hr {
  margin: 2.75rem 0 2rem;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.ssl-home {
  --ssl-coral: #ff735f;
  --ssl-gold: #e7b969;
  --ssl-blue: #73aee8;
}

.ssl-hero { overflow: hidden; }
.ssl-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); align-items: center; gap: clamp(3rem, 8vw, 8rem); min-height: 720px; }
.ssl-hero-copy h1 { max-width: 15ch; font-size: clamp(2.75rem, 5.4vw, 5.8rem); line-height: 1.02; letter-spacing: -.055em; }
.ssl-hero-copy .lead { max-width: 720px; }
.ssl-hero-stage { position: relative; min-height: 520px; display: grid; place-items: center; isolation: isolate; }
.ssl-hero-stage::before, .ssl-hero-stage::after { content: ""; position: absolute; border-radius: 50%; filter: blur(1px); z-index: -2; }
.ssl-hero-stage::before { width: 330px; height: 330px; background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.8), rgba(255,115,95,.55) 28%, rgba(80,42,104,.4) 62%, transparent 70%); box-shadow: 0 0 100px rgba(255,115,95,.25); }
.ssl-hero-stage::after { width: 440px; height: 440px; border: 1px solid rgba(255,255,255,.18); }
.ssl-stage-orbit { position: absolute; width: 530px; height: 220px; border: 1px solid rgba(231,185,105,.55); border-radius: 50%; transform: rotate(-23deg); }
.ssl-stage-title { font-family: var(--serif); font-size: clamp(2.15rem, 4.2vw, 4.4rem); line-height: .92; letter-spacing: -.04em; text-align: center; color: #fff; text-shadow: 0 8px 40px rgba(0,0,0,.45); }
.ssl-stage-chip { position: absolute; padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.28); border-radius: 99px; background: rgba(7,10,20,.6); backdrop-filter: blur(10px); font-size: .68rem; letter-spacing: .16em; }
.ssl-stage-chip.chip-a { top: 18%; left: 5%; }.ssl-stage-chip.chip-b { right: 0; top: 40%; }.ssl-stage-chip.chip-c { left: 18%; bottom: 12%; }

.ssl-intro { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ssl-intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 8vw, 8rem); align-items: start; }
.ssl-intro-grid h2 { margin-top: .6rem; font-size: clamp(2.3rem, 4vw, 4.8rem); }
.ssl-intro-grid p { font-size: clamp(1.05rem, 1.5vw, 1.35rem); line-height: 1.9; }

.ssl-section-head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 3rem; align-items: end; margin-bottom: 3rem; }
.ssl-section-head h2 { margin: .55rem 0 0; font-size: clamp(2.5rem, 5vw, 5rem); }
.ssl-section-head > p { margin: 0; line-height: 1.85; color: var(--muted); }
.ssl-bookshelf { background: linear-gradient(180deg, rgba(231,185,105,.05), transparent); }
.ssl-volumes { display: grid; grid-template-columns: repeat(8, minmax(52px, 1fr)) minmax(190px, 1.8fr); align-items: end; gap: .55rem; padding: 2rem 0; border-bottom: 8px solid rgba(231,185,105,.32); }
.ssl-volume { min-height: calc(210px + var(--volume) * 8px); padding: 1rem .7rem; display: flex; flex-direction: column; justify-content: space-between; background: linear-gradient(160deg, rgba(255,115,95,.9), rgba(70,40,100,.95)); border: 1px solid rgba(255,255,255,.18); border-radius: 3px 9px 3px 3px; box-shadow: 8px 10px 25px rgba(0,0,0,.24); }
.ssl-volume:nth-child(even) { background: linear-gradient(160deg, rgba(77,125,184,.9), rgba(26,34,61,.96)); }
.ssl-volume small { writing-mode: vertical-rl; letter-spacing: .12em; }.ssl-volume strong { font-size: 1.35rem; }
.ssl-volume-more { min-height: 290px; padding: 1.5rem; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; border: 1px solid rgba(255,255,255,.2); background: linear-gradient(145deg, #18223a 0%, #2e2447 58%, #5a304f 100%); box-shadow: 0 18px 42px rgba(24,34,58,.18); text-decoration: none; }
.ssl-volume-more:visited { color: #fff; }
.ssl-volume-more:hover { color: #fff; background: linear-gradient(145deg, #202d4b 0%, #3b2d59 58%, #6a385b 100%); transform: translateY(-3px); }
.ssl-volume-more span { font-family: var(--serif); font-size: 4rem; color: var(--ssl-gold); }

.ssl-character-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.ssl-character-card { min-height: 390px; display: grid; grid-template-columns: minmax(180px, 38%) minmax(0, 1fr); align-items: center; gap: clamp(1.4rem, 3vw, 2.4rem); padding: clamp(1.25rem, 3vw, 2.4rem); border: 1px solid var(--line); border-radius: 22px; overflow: hidden; position: relative; }
.ssl-character-card::after { content: ""; position: absolute; right: -70px; bottom: -100px; width: 270px; height: 270px; border-radius: 50%; background: radial-gradient(circle, rgba(255,115,95,.35), transparent 68%); }
.ssl-character-portrait{position:relative;z-index:1;aspect-ratio:1;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.05)}
.ssl-character-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}
.seera-card .ssl-character-portrait img{object-position:center 42%}
.hermit-card .ssl-character-portrait img{object-position:center center}
.ssl-character-card:hover .ssl-character-portrait img{transform:scale(1.025)}
.ssl-character-copy{position:relative;z-index:1;min-width:0}
.hermit-card::after { background: radial-gradient(circle, rgba(231,185,105,.32), transparent 68%); }
.ssl-character-index { position:absolute;z-index:2;top:.7rem;left:.7rem;display:grid;place-items:center;width:2.6rem;height:2.6rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(15,17,16,.62);backdrop-filter:blur(7px);font-family:var(--serif);font-size:.82rem;color:#fff; }
.ssl-character-card h3 { font-size: clamp(2.4rem, 5vw, 5rem); margin: .7rem 0 1rem; }.ssl-character-card p { max-width: 55ch; line-height: 1.85; color: var(--muted); }
.ssl-character-gallery { display: grid !important; grid-template-columns: repeat(6, minmax(72px, 1fr)); gap: .7rem; margin: 1.25rem 0 2.25rem; }
.ssl-character-gallery figure { width: 100% !important; margin: 0 !important; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.04); }
.ssl-character-gallery a { display: block; width: 100%; height: 100%; }
.ssl-character-gallery img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; object-position: center; transition: transform .25s ease; }
.ssl-character-gallery a:hover img { transform: scale(1.055); }
.ssl-concept-intro { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr); gap: clamp(2rem,5vw,5rem); align-items: center; margin-bottom: 4rem; }
.ssl-concept-intro .lead { max-width: none; margin-bottom: 1.4rem; }
.ssl-concept-intro__note { margin: 0; color: var(--accent); font-size: .68rem; font-weight: 760; letter-spacing: .14em; }
.ssl-concept-intro__visual { position: relative; min-height: 410px; }
.ssl-concept-portrait { position: absolute; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 22px; background: var(--surface); box-shadow: 0 24px 55px rgba(23,27,34,.18); }
.ssl-concept-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ssl-concept-portrait figcaption { position: absolute; left: .8rem; bottom: .8rem; padding: .38rem .65rem; border-radius: 999px; background: rgba(15,17,24,.68); color: #fff; font-size: .66rem; font-weight: 720; letter-spacing: .09em; backdrop-filter: blur(8px); }
.ssl-concept-portrait--seera { left: 0; top: 0; width: 72%; aspect-ratio: 1; }
.ssl-concept-portrait--hermit { right: 0; bottom: 0; width: 48%; aspect-ratio: 1; }
.ssl-art-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .85rem; margin: 1.5rem 0 4rem; }
.ssl-art-gallery figure { position: relative; margin: 0; overflow: hidden; aspect-ratio: 16 / 10; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.04); }
.ssl-art-gallery figure:first-child { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; min-height: 360px; }
.ssl-art-gallery a { display: block; width: 100%; height: 100%; }
.ssl-art-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .35s ease; }
.ssl-art-gallery a:hover img { transform: scale(1.035); }
.ssl-art-gallery figcaption { position: absolute; left: .75rem; bottom: .75rem; padding: .38rem .65rem; border-radius: 999px; background: rgba(11,14,22,.68); color: #fff; font-size: .68rem; letter-spacing: .06em; backdrop-filter: blur(8px); pointer-events: none; }

.ssl-work-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin-top: 3rem; background: var(--line); border: 1px solid var(--line); }
.ssl-work-card { min-height: 270px; padding: 2rem; background: var(--bg); color: var(--text); text-decoration: none; transition: background .2s, transform .2s; }
.ssl-work-card:hover { background: rgba(255,115,95,.09); transform: translateY(-5px); }.ssl-work-card > span { color: var(--ssl-coral); font-size: .78rem; }.ssl-work-card h3 { margin-top: 4rem; font-size: 1.6rem; }.ssl-work-card p { color: var(--muted); }
.ssl-business { background: rgba(115,174,232,.035); }.ssl-business-grid { grid-template-columns: repeat(4,1fr); }
.ssl-stage-title { position: relative; z-index: 3; }
.ssl-stage-network { position: absolute; inset: 3% 0; z-index: 2; }
.ssl-stage-network svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.ssl-stage-network path { fill: none; stroke: rgba(255,255,255,.34); stroke-width: 1.15; stroke-dasharray: 3 7; }
.ssl-axis { position: absolute; min-width: 82px; padding: .58rem .78rem; border: 1px solid rgba(255,255,255,.62); border-radius: 999px; background: rgba(29,24,47,.82); color: #fff; box-shadow: 0 5px 20px rgba(0,0,0,.2); font-size: .7rem; font-weight: 760; letter-spacing: .11em; text-align: center; white-space: nowrap; }
.ssl-axis::before { content: ""; position: absolute; left: -2px; top: 50%; width: 7px; height: 7px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px rgba(255,255,255,.13); transform: translate(-50%,-50%); z-index: 1; }
.axis-novel { top: 4%; left: 50%; transform: translateX(-50%); }
.axis-music { top: 39%; left: 0; }
.axis-film { top: 39%; right: 0; }
.axis-ip { left: 8%; bottom: 3%; }
.axis-ai { right: 8%; bottom: 3%; }
.ssl-lab { background: linear-gradient(135deg, #e9edf3, #f5eee9); color: var(--ink); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ssl-lab-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem,8vw,8rem); align-items: center; }
.ssl-lab-grid h2 { font-size: clamp(3rem,6vw,6rem); }.ssl-lab-grid p { line-height: 1.9; max-width: 60ch; }
.ssl-lab .eyebrow { color: #536b86; }
.ssl-lab-grid p { color: rgba(22,24,22,.76); }
.ssl-lab-phases { display: grid; gap: .65rem; }.ssl-lab-phases span { padding: 1rem 1.2rem; border: 1px solid rgba(22,24,22,.14); background: rgba(255,255,255,.56); color: var(--ink); border-radius: 10px; }
.ssl-closing { background: radial-gradient(circle at 50% 100%, rgba(255,115,95,.22), transparent 55%); }

@media (max-width: 980px) {
  .ssl-hero-grid, .ssl-intro-grid, .ssl-section-head, .ssl-lab-grid { grid-template-columns: 1fr; }
  .ssl-hero-stage { min-height: 390px; }.ssl-business-grid, .ssl-work-grid { grid-template-columns: repeat(2,1fr); }
  .ssl-volumes { grid-template-columns: repeat(4,1fr); }.ssl-volume-more { grid-column: span 4; min-height: 190px; }
}
@media (max-width: 640px) {
  .ssl-hero-grid { min-height: auto; }.ssl-hero-copy h1 { font-size: clamp(2.65rem,12vw,4.2rem); }
  .ssl-stage-orbit { width: 350px; }.ssl-stage-network { inset: 8% 2%; }.ssl-axis { min-width: 68px; padding: .48rem .55rem; font-size: .58rem; }.ssl-character-grid, .ssl-business-grid, .ssl-work-grid { grid-template-columns: 1fr; }
  .ssl-character-card { grid-template-columns: minmax(160px, 34%) minmax(0, 1fr); }
  .ssl-volumes { grid-template-columns: repeat(4,1fr); gap: .3rem; }.ssl-volume { min-height: 180px; padding: .7rem .35rem; }.ssl-volume-more { grid-column: span 4; }
}
.site-header .nav-links {
  gap: 4px;
  flex-wrap: nowrap;
  font-size: .72rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.site-header .nav-links > a,
.site-header .nav-links > li > a {
  display: block;
  padding: 4px 8px;
  border: 1px solid rgba(22, 24, 22, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.34);
  line-height: 1.15;
  white-space: nowrap;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease, opacity .2s ease;
}
.site-header .nav-links > li { flex: 0 0 auto; margin: 0; list-style: none; }

.site-header .nav-links > a:hover,
.site-header .nav-links > li > a:hover,
.site-header .nav-links > li.current-menu-item > a {
  border-color: rgba(22, 24, 22, 0.42);
  background: rgba(255, 255, 255, 0.72);
  transform: translateY(-1px);
  opacity: 1;
}
.site-header .brand-block {
  min-width: 180px;
  max-width: 310px;
  padding: 4px 11px 5px;
  border: 1px solid rgba(22, 24, 22, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 4px 16px rgba(22, 24, 22, 0.04);
}

.site-header .site-tagline {
  color: rgba(22, 24, 22, 0.78);
  font-weight: 560;
  width: 100%;
  max-width: none;
  text-align: center;
}

.site-header .nav-inner {
  min-height: 58px;
}
.ssl-journal-page .sri-document-header .shell { width: min(calc(100% - 48px),var(--max)); }
.ssl-journal-chapters { padding-top: clamp(3rem,7vw,6rem); padding-bottom: clamp(5rem,10vw,9rem); }
.ssl-journal-index { display: grid; grid-template-columns: repeat(3,1fr); gap: .75rem; margin-bottom: 6rem; }
.ssl-journal-index a { display: grid; grid-template-columns: auto 1fr; gap: .3rem .8rem; padding: 1.15rem; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.4); }
.ssl-journal-index b { grid-row: span 2; color: var(--ssl-coral); font-size: 1.45rem; }.ssl-journal-index span { font-weight: 680; }.ssl-journal-index small { color: var(--muted); }
.ssl-journal-chapter { scroll-margin-top: 90px; padding: 3rem 0; border-top: 1px solid var(--line); }
.ssl-journal-chapter > header { display: grid; grid-template-columns: 150px 1fr auto; align-items: end; gap: 1.5rem; margin-bottom: 1.5rem; }
.ssl-journal-chapter > header span { color: var(--ssl-coral); font-size: .7rem; font-weight: 750; letter-spacing: .12em; }.ssl-journal-chapter > header h2 { margin: 0; font-size: clamp(2rem,4vw,3.6rem); }.ssl-journal-chapter > header p { margin: 0; color: var(--muted); }
.ssl-journal-entries { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.ssl-journal-empty { margin: 0; padding: 1.25rem; background: var(--bg); color: var(--muted); }
.ssl-journal-entries article { display: grid; grid-template-columns: 150px 82px minmax(0,1fr); gap: 1.2rem; align-items: center; padding: 1rem; background: var(--bg); }
.ssl-journal-thumb { display: block; width: 150px; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 10px; background: rgba(255,255,255,.05); }
.ssl-journal-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .25s ease; }
.ssl-journal-thumb:hover img { transform: scale(1.045); }
.ssl-day-number { color: var(--ssl-coral); font-size: .68rem; font-weight: 750; letter-spacing: .09em; }.ssl-journal-entries h3 { margin: 0 0 .45rem; font-size: 1.05rem; line-height: 1.4; }.ssl-journal-entries p { margin: 0 0 .65rem; color: var(--muted); font-size: .86rem; line-height: 1.7; }.ssl-journal-more { display: inline-flex; font-size: .78rem; font-weight: 700; text-decoration: none; }
@media (max-width: 760px) { .ssl-journal-index { grid-template-columns: 1fr 1fr; }.ssl-journal-chapter > header { grid-template-columns: 1fr; gap: .35rem; }.ssl-journal-entries article { grid-template-columns: 112px minmax(0,1fr); }.ssl-journal-thumb { width: 112px; }.ssl-day-number { grid-column: 2; align-self: end; }.ssl-journal-copy { grid-column: 2; } }
@media (max-width: 480px) { .ssl-journal-index { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .ssl-journal-entries article { grid-template-columns: 92px minmax(0,1fr); gap: .8rem; }.ssl-journal-thumb { width: 92px; }.ssl-journal-entries p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } }

/* Standard editorial list used by the Works hub. */
.ssl-portfolio-list{display:grid;gap:1.2rem;margin:2.5rem 0 4rem}
.ssl-portfolio-card{display:grid;grid-template-columns:minmax(220px,34%) minmax(0,1fr);min-height:230px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.42)}
.ssl-portfolio-media{min-width:0;min-height:230px;overflow:hidden;background:rgba(22,24,22,.06)}
.ssl-portfolio-media a{display:block;width:100%;height:100%}
.ssl-portfolio-media img{display:block;width:100%;height:100%;min-height:230px;object-fit:cover;object-position:center;transition:transform .35s ease}
.ssl-portfolio-card:hover .ssl-portfolio-media img{transform:scale(1.035)}
.ssl-portfolio-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(1.35rem,3vw,2.4rem)}
.ssl-portfolio-kind{margin:0!important;color:var(--ssl-coral)!important;font-size:.72rem!important;font-weight:760;letter-spacing:.11em}
.ssl-portfolio-card h3{margin:.5rem 0 .75rem;font-size:clamp(1.45rem,2.4vw,2.15rem);line-height:1.15}
.ssl-portfolio-card h3 a{color:inherit;text-decoration:none}
.ssl-portfolio-card p{margin:0 0 1.25rem;color:var(--muted);line-height:1.8}
.ssl-read-more{display:inline-flex;margin-top:auto;padding:.48rem .85rem;border:1px solid var(--line);border-radius:999px;color:var(--text);font-size:.82rem;font-weight:680;text-decoration:none}
.ssl-read-more:hover{border-color:var(--ssl-coral);color:var(--ssl-coral)}
@media(max-width:700px){.ssl-portfolio-card{grid-template-columns:1fr}.ssl-portfolio-media,.ssl-portfolio-media img{min-height:210px;height:210px}}
.ssl-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.1rem,2.4vw,2rem);margin:2rem 0 3rem}
.ssl-video-card{padding:clamp(1rem,2vw,1.5rem);border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.42)}
.ssl-video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#111;margin-bottom:1rem}
.ssl-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ssl-track-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:1.5rem 0 3rem;padding:0;list-style:none}
.ssl-track-list li{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:1rem;padding:.75rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.38);overflow:hidden}
.ssl-track-cover{display:block;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#111}.ssl-track-cover img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.ssl-track-cover:hover img{transform:scale(1.04)}
.ssl-track-copy strong{display:block;font-size:1rem;line-height:1.25}.ssl-track-copy span{display:block;color:var(--muted);font-size:.86rem;margin:.3rem 0 .7rem}.ssl-track-copy a{font-weight:700}
@media(max-width:760px){.ssl-video-grid,.ssl-track-list{grid-template-columns:1fr}}
@media(max-width:420px){.ssl-track-list li{grid-template-columns:88px minmax(0,1fr)}}
@media(max-width:620px){.ssl-character-card{grid-template-columns:1fr}.ssl-character-portrait{width:100%;max-width:360px}.ssl-character-card h3{font-size:clamp(2.4rem,14vw,4rem)}}
@media(max-width:620px){.ssl-character-gallery{grid-template-columns:repeat(3,minmax(72px,1fr));gap:.55rem}}
@media(max-width:760px){.ssl-concept-intro{grid-template-columns:1fr;gap:1.5rem}.ssl-concept-intro__visual{min-height:350px;max-width:520px;width:100%}}
@media(max-width:760px){.ssl-art-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.ssl-art-gallery figure:first-child{grid-column:span 2;min-height:280px}}
@media(max-width:480px){.ssl-art-gallery{grid-template-columns:1fr}.ssl-art-gallery figure:first-child{grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:16/10}}
.ssl-platform-links {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin: 1.5rem 0 2.5rem;
}

.ssl-platform-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid rgba(22,24,22,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.55);
  font-size: .84rem;
  font-weight: 650;
}

.ssl-platform-links a:hover {
  border-color: rgba(22,24,22,.42);
  background: #fff;
  transform: translateY(-1px);
}
.ssl-social-links a {
  font-weight: 650;
}
.sv-language-menu img{display:inline-block;width:18px;height:12px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12);vertical-align:middle}.sv-language-menu a,.sv-language-menu li>span{display:flex;align-items:center;gap:.5rem}
