  :root{--bg:#0b0d10;--fg:#dfe5ea;--dim:#5a6470;--txt:#9aa5b1;--line:#1a2028;--ice:#a6dcff;
    --sans:"Inter Tight",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;
    --ease:cubic-bezier(.2,.7,0,1);--pad:3vw}
  *{box-sizing:border-box;margin:0;padding:0}
  html{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scroll-padding-top:90px}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--ice);color:#05070a}
  .mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}

  body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.05;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    animation:grain 1s steps(4) infinite}
  @keyframes grain{25%{background-position:-40px 30px}50%{background-position:30px -50px}75%{background-position:-20px 50px}}

  /* header — same as home */
  header{position:fixed;top:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px var(--pad);background:linear-gradient(var(--bg) 60%,transparent)}
  header img{height:18px;display:block}
  header .mono{color:#fff;opacity:.72}
  header .r{justify-self:end}
  header a.mono{opacity:1}
  #prog{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--ice);transform-origin:left;transform:scaleX(0);z-index:21}

  /* title */
  .title{padding:22vh var(--pad) 8vh;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(12,1fr);gap:0 2vw;align-items:end}
  .title h1{grid-column:1/9;font-size:clamp(64px,12vw,220px);font-weight:800;letter-spacing:-.055em;line-height:.82;overflow:hidden;padding-bottom:.04em}
  .title h1 span{display:inline-block;transform:translateY(105%);animation:rise 1.2s var(--ease) .1s forwards}
  .title h1 span:nth-child(2){animation-delay:.18s}
  .title h1 svg{width:.36em;height:.36em;fill:var(--ice);vertical-align:top;margin:.04em 0 0 .04em;animation:spinIn 1.4s var(--ease) .3s both}
  @keyframes rise{to{transform:none}}
  @keyframes spinIn{from{transform:rotate(-240deg) scale(.3);opacity:0}to{transform:none;opacity:1}}
  .title .meta{grid-column:9/13;display:flex;flex-direction:column;gap:10px;padding-bottom:.6vw}
  .title .meta span{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px}
  .title .meta b{color:var(--fg);font-weight:400}

  /* layout */
  .wrap{display:grid;grid-template-columns:repeat(12,1fr);gap:0 2vw;padding:0 var(--pad)}
  nav.toc{grid-column:1/4;position:sticky;top:90px;align-self:start;padding:6vh 0;max-height:calc(100vh - 90px);overflow:auto}
  nav.toc a{display:flex;gap:14px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);padding:9px 0;border-top:1px solid var(--line);transition:color .3s,padding .4s var(--ease)}
  nav.toc a i{font-style:normal;width:22px;color:#3a4552;transition:color .3s}
  nav.toc a:hover{color:var(--fg)}
  nav.toc a.on{color:var(--fg);padding-left:10px}
  nav.toc a.on i{color:var(--ice)}
  nav.toc .grp{margin:28px 0 8px;color:var(--fg)}
  nav.toc .grp:first-child{margin-top:0}

  main{grid-column:4/12;padding:6vh 0 16vh}
  section{padding:0 0 9vh}
  section+section{border-top:1px solid var(--line);padding-top:6vh}
  .part{font-size:clamp(40px,5vw,84px);font-weight:800;letter-spacing:-.05em;line-height:.9;margin:4vh 0 6vh}
  .part:first-child{margin-top:0}
  h2{display:flex;gap:18px;align-items:baseline;font-size:clamp(24px,2.2vw,34px);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin-bottom:24px}
  h2 .n{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.06em;color:var(--ice)}
  p,li{color:var(--txt);font-size:16px;line-height:1.7;max-width:720px}
  p+p{margin-top:14px}
  ul{list-style:none;margin:14px 0}
  ul li{padding-left:22px;position:relative}
  ul li+li{margin-top:8px}
  ul li::before{content:"*";position:absolute;left:0;top:0;color:var(--ice);font-weight:700}
  strong{color:var(--fg);font-weight:500}
  main a{color:var(--fg);border-bottom:1px solid var(--dim);transition:color .3s,border-color .3s}
  main a:hover{color:var(--ice);border-color:var(--ice)}

  /* company sheet */
  dl.sheet{border-top:1px solid var(--fg)}
  dl.sheet div{display:grid;grid-template-columns:1fr 2fr;gap:2vw;padding:18px 0;border-bottom:1px solid var(--line);position:relative}
  dl.sheet dt{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);padding-top:4px}
  dl.sheet dd{font-size:clamp(17px,1.4vw,22px);letter-spacing:-.01em;color:var(--fg)}
  dl.sheet button{position:absolute;right:0;top:18px;background:none;border:0;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);cursor:pointer;opacity:0;transition:opacity .3s,color .3s}
  dl.sheet div:hover button{opacity:1}
  dl.sheet button:hover,dl.sheet button.ok{color:var(--ice)}

  /* data table */
  .tbl{border-top:1px solid var(--fg);margin:20px 0}
  .tbl .r{display:grid;grid-template-columns:1.1fr 1.4fr 1fr 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.55;color:var(--txt)}
  .tbl .r.h{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
  .tbl .r b{color:var(--fg);font-weight:500}

  .zero{display:flex;align-items:center;gap:3vw;padding:4vh 0;margin:10px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .zero .big{font-size:clamp(90px,11vw,180px);font-weight:800;letter-spacing:-.06em;line-height:.8;color:var(--ice)}
  .zero p{font-size:18px;color:var(--fg)}

  .back{display:inline-flex;gap:10px;align-items:center;margin-top:4vh}

  footer{display:grid;grid-template-columns:repeat(3,1fr);gap:0 2vw;padding:26px var(--pad);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);line-height:1.8;border-top:1px solid var(--line)}
  footer b{color:var(--fg);font-weight:500}
  footer>div:last-child{text-align:right}
  footer a:hover{color:var(--fg)}

  @media (max-width:960px){
    header{grid-template-columns:1fr auto}header>.mono:nth-child(2){display:none}
    .title{grid-template-columns:1fr}.title h1,.title .meta{grid-column:1}.title .meta{margin-top:40px}.title .meta span{flex-wrap:wrap;gap:4px 12px}
    .wrap{grid-template-columns:1fr}nav.toc{display:none}main{grid-column:1}
    dl.sheet div{grid-template-columns:1fr;gap:6px}dl.sheet button{display:none}
    .tbl .r{grid-template-columns:1fr;gap:4px}.tbl .r.h{display:none}
    footer{grid-template-columns:1fr 1fr;row-gap:20px}footer>div:last-child{text-align:left}
  }
  @media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.title h1 span{transform:none}}
  @media print{body::after,header,#prog,nav.toc,footer{display:none}html,body{background:#fff;color:#000}p,li,dd,h2,.part{color:#000!important}main{grid-column:1/-1}}
