:root {
  --c-bg:#3C3C3A;
  --c-panel:#4A4A48;
  --c-paper:#F4F4F2;
  --c-border:#5A5A57;
  --c-accent:#8ACC6C;
  --c-accent-dark:#5E9E44;
  --c-text:#F2F2F0;
  --c-text-muted:#ABABA7;
  --c-success:#6DBA8E;
  --c-warn:#E0B25C;
  --c-error:#E06A5F;
  --c-ink:#2A2A28;
  --c-ink-2:#575753;
  --c-ink-3:#8A8A85;
  --c-white:#FFFFFF;
  --c-paper-hi:#FAFAF8;
  --c-line:#E4E4E0;
  --c-line-2:#D3D3CE;
  --c-chrome:#EEEEEB;
  --c-chrome-2:#E5E5E1;
  --c-cell:#F7F7F5;
  --c-dot-1:#D0D0CB;
  --c-dot-2:#C5C5C0;
  --c-dot-3:#B9B9B4;
  --c-bezel:#1B1B1A;
  --c-bezel-edge:#3B3B39;
  --c-fab:#DDDDD9;
  --c-glass:rgba(250,250,248,.70);
  --c-glass-edge:rgba(255,255,255,.92);
  --c-accent-wash:rgba(138,204,108,.36);
  --c-clear:transparent;
  --c-veil:rgba(27,27,26,.42);
  --sh-win:0 1px 2px rgba(30,30,28,.06),0 22px 48px -18px rgba(30,30,28,.20),0 70px 120px -40px rgba(30,30,28,.22);
  --sh-phone:0 2px 4px rgba(20,20,18,.22),0 16px 30px -10px rgba(20,20,18,.40),0 36px 60px -26px rgba(20,20,18,.44);
  --sh-glass:inset 0 1px 0 rgba(255,255,255,.85),0 2px 6px rgba(30,30,28,.06),0 18px 36px -16px rgba(30,30,28,.34);
  --sh-menu:0 1px 3px rgba(20,20,18,.12),0 10px 26px -8px rgba(20,20,18,.26);
  --sh-fab:0 2px 4px rgba(20,20,18,.14),0 8px 18px -6px rgba(20,20,18,.24);
  --sh-btn:inset 0 1px 0 rgba(255,255,255,.38),0 12px 24px -14px rgba(94,158,68,.85);
  --f-display:"Inter","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --f-body:"Inter","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --f-hand:"Kaiti SC","STKaiti","KaiTi","BiauKai","Noto Sans SC",cursive;
  --r-xs:6px;
  --r-sm:9px;
  --r-md:14px;
  --r-lg:18px;
  --r-xl:28px;
  --r-window:16px;
  --r-search:7px;
  --r-empty:12px;
  --r-menu:10px;
  --r-phone:38px;
  --r-screen:30px;
  --r-pill:999px;
  --r-round:50%;
  --r-nav:3px 3px 0 0;
  --r-hardware:0 2px 2px 0;
  --gutter:48px;
  --nav-h:72px;
  --peek-h:48px;
  --w-content:1344px;
  --w-reading:800px;
  --motion-short:160ms;
  --motion-reveal:600ms;
  --ease-enter:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:24px; }
html.nav-open { overflow:hidden; }
body {
  margin:0;
  background:var(--c-bg);
  color:var(--c-text);
  font-family:var(--f-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
button,select { color:inherit; }
img,svg,video { max-width:100%; vertical-align:middle; }
img { height:auto; }
svg { flex-shrink:0; }
button svg,a svg { flex-shrink:0; }
[hidden] { display:none !important; }
:focus-visible { outline:2px solid var(--c-accent-dark); outline-offset:3px; border-radius:var(--r-xs); }
body :is(.panel,.site-footer,.dark-section) :focus-visible { outline-color:var(--c-accent); }
::selection { background:var(--c-accent); color:var(--c-ink); }
h1,h2,h3,h4 { font-family:var(--f-display); margin:0 0 .7em; text-wrap:balance; overflow-wrap:break-word; }
h1 { font-size:clamp(34px,3.35vw,48px); font-weight:900; line-height:1.15; letter-spacing:-.018em; }
h2 { font-size:clamp(28px,3vw,40px); font-weight:900; line-height:1.2; letter-spacing:-.015em; }
h3 { font-size:24px; font-weight:800; line-height:1.35; }
h4 { font-size:18px; }
p { margin:0 0 1.25em; }
ul,ol { padding-inline-start:1.5em; }
li+li { margin-top:.3em; }
code,kbd,pre { font-family:var(--f-mono); }
code { font-size:.88em; overflow-wrap:anywhere; }
pre { max-width:100%; min-width:0; overflow-x:auto; padding:22px; border-radius:var(--r-md); background:var(--c-bezel); color:var(--c-text); line-height:1.7; font-size:13px; }
pre code { font-size:inherit; overflow-wrap:normal; word-break:normal; white-space:pre; }
blockquote { margin-inline:0; }
hr { border:0; border-top:1px solid var(--c-border); margin-block:32px; }
.wrap { width:100%; max-width:var(--w-content); margin-inline:auto; padding-inline:var(--gutter); }
.reading { max-width:var(--w-reading); margin-inline:auto; min-width:0; }
.section { padding-top:88px; padding-bottom:88px; }
.dark-section { background:var(--c-bg); color:var(--c-text); }
.light-section,.paper { background:var(--c-paper); color:var(--c-ink); }
.panel,.card { background:var(--c-panel); color:var(--c-text); border:1px solid var(--c-border); border-radius:var(--r-xl); padding:32px; min-width:0; }
.paper-panel { background:var(--c-paper); color:var(--c-ink); border:1px solid var(--c-line-2); border-radius:var(--r-xl); padding:32px; min-width:0; box-shadow:var(--sh-win); }
.panel p,.muted { color:var(--c-text-muted); }
.paper-panel p,.paper .muted,.light-section .muted { color:var(--c-ink-2); }
.grid { display:grid; gap:24px; }
.grid>* { min-width:0; }
.grid-pair { grid-template-columns:repeat(2,minmax(0,1fr)); }
.stack>*+* { margin-top:24px; }
.nowrap { white-space:nowrap; }
.accent { color:var(--c-accent); }
.prose { min-width:0; line-height:1.9; }
.prose :is(h2,h3,h4) { margin-top:1.8em; scroll-margin-top:24px; }
.prose a:not(.btn) { text-decoration:underline; text-decoration-color:var(--c-accent); text-underline-offset:4px; }
.prose :is(figure,div,section) { min-width:0; max-width:100%; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:16px; top:-100px; z-index:100; padding:12px 18px; border-radius:var(--r-sm); background:var(--c-accent); color:var(--c-ink); }
.skip-link:focus { top:12px; }

.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:52px; padding:10px 24px; border:0; border-radius:var(--r-md);
  font-size:16px; font-weight:700; letter-spacing:.005em; line-height:1.4;
  text-align:center; max-width:100%; background:var(--c-panel); color:var(--c-text);
}
.btn svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.btn-primary { background:var(--c-accent); color:var(--c-ink); box-shadow:var(--sh-btn); }
.btn-primary:hover,.btn-primary.is-hover { background:var(--c-accent-dark); color:var(--c-bezel); }
.btn-primary:active,.btn-primary.is-active { background:var(--c-accent); color:var(--c-ink); box-shadow:none; }
.btn-ghost { border:1.5px solid currentColor; color:var(--c-text); background:var(--c-clear); }
.paper .btn-ghost,.hero .btn-ghost,.paper-panel .btn-ghost,.light-section .btn-ghost { color:var(--c-ink); }
.btn-ghost:hover { background:var(--c-text); color:var(--c-ink); }
.hero .btn-ghost:hover,.paper .btn-ghost:hover,.light-section .btn-ghost:hover { background:var(--c-ink); color:var(--c-paper); }
.btn:disabled,.btn[aria-disabled="true"] { background:var(--c-line-2); color:var(--c-ink-2); box-shadow:none; cursor:not-allowed; }
.btn.is-focus { outline:2px solid var(--c-accent); outline-offset:4px; }
.cta { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }

.masthead { position:relative; z-index:50; background:var(--c-paper-hi); color:var(--c-ink); border-bottom:1px solid var(--c-line); }
.masthead-in { position:relative; width:100%; max-width:min(100%,calc(1280px + var(--gutter) * 2)); padding-inline:var(--gutter); margin-inline:auto; display:flex; align-items:center; min-height:var(--nav-h); gap:24px; }
.brand { display:inline-flex; align-items:center; gap:12px; margin-right:auto; color:var(--c-ink); flex-shrink:0; }
.brand-mark { width:36px; height:36px; flex-shrink:0; }
.brand-name { font-family:var(--f-display); font-weight:800; font-size:18px; letter-spacing:-.01em; }
.mainnav { align-self:stretch; min-width:0; }
.mainnav ul { display:flex; align-items:center; height:100%; list-style:none; margin:0; padding:0; gap:2px; }
.mainnav li { height:100%; margin:0; }
.mainnav a { position:relative; display:flex; align-items:center; gap:8px; height:100%; min-height:var(--nav-h); padding:0 14px; font-size:15px; font-weight:500; color:var(--c-ink-2); white-space:nowrap; }
.mainnav svg,.drawer svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mainnav a:hover { color:var(--c-ink); }
.mainnav a[aria-current="page"] { color:var(--c-ink); font-weight:700; }
.mainnav a[aria-current="page"]::after { content:""; position:absolute; left:14px; right:14px; bottom:-1px; height:3px; border-radius:var(--r-nav); background:var(--c-accent); }
.header-tools { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.language-picker { position:relative; }
.lang { display:inline-flex; align-items:center; gap:7px; min-height:36px; padding:6px 14px; border:1px solid var(--c-line-2); border-radius:var(--r-pill); background:var(--c-white); color:var(--c-ink-2); font-size:14px; white-space:nowrap; }
.lang svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; }
.lang:hover { color:var(--c-ink); border-color:var(--c-ink-3); }
.lang-short { display:none; }
.language-menu { position:absolute; z-index:4; right:0; top:calc(100% + 12px); min-width:180px; padding:8px; border:1px solid var(--c-line-2); border-radius:var(--r-md); background:var(--c-white); color:var(--c-ink); box-shadow:var(--sh-menu); }
.language-menu a { display:flex; align-items:center; min-height:44px; padding:9px 14px; border-radius:var(--r-xs); }
.language-menu a:hover,.language-menu a[aria-current="true"] { background:var(--c-chrome); color:var(--c-ink); }
.menu-toggle { display:none; align-items:center; justify-content:center; min-width:44px; min-height:44px; border:1px solid var(--c-line-2); border-radius:var(--r-sm); background:var(--c-white); color:var(--c-ink); }
.menu-toggle svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.drawer { position:absolute; top:100%; left:0; right:0; z-index:3; max-height:calc(100dvh - var(--nav-h)); overflow-y:auto; overscroll-behavior:contain; padding:16px var(--gutter) 24px; background:var(--c-paper-hi); color:var(--c-ink); border-bottom:1px solid var(--c-line-2); box-shadow:var(--sh-menu); }
.drawer ul { list-style:none; margin:0; padding:0; }
.drawer li { margin:0; }
.drawer a { display:flex; align-items:center; gap:12px; width:100%; min-height:48px; padding:12px 8px; }
.drawer a[aria-current="page"] { border-left:3px solid var(--c-accent); font-weight:700; }
.drawer-languages { margin-top:16px; padding-top:16px; border-top:1px solid var(--c-line-2); }
.drawer-languages p { margin:0 0 8px; color:var(--c-ink-2); font-size:13px; }
.nav-veil { position:fixed; inset:0; z-index:40; border:0; padding:0; background:var(--c-veil); color:var(--c-text); }
.static-language summary { list-style:none; cursor:pointer; }
.static-language summary::-webkit-details-marker { display:none; }
.static-mobile { display:none; }
.site-footer { padding-top:64px; padding-bottom:28px; background:var(--c-bg); color:var(--c-text); border-top:1px solid var(--c-border); }
.footer-grid { display:grid; grid-template-columns:1.5fr .8fr 1.2fr .8fr; gap:40px; }
.footer-grid>* { min-width:0; }
.site-footer .brand { color:var(--c-text); margin-bottom:20px; }
.footer-intro { color:var(--c-text-muted); font-size:14px; max-width:27em; }
.footer-title { font-size:14px; font-weight:700; margin:0 0 16px; }
.footer-links { list-style:none; padding:0; margin:0; }
.footer-links li { margin:0; }
.footer-links a { display:inline-block; padding-block:6px; color:var(--c-text-muted); font-size:14px; }
.footer-links a:hover { color:var(--c-accent); text-decoration:underline; text-underline-offset:4px; }
.footer-bottom { margin-top:48px; padding-top:24px; border-top:1px solid var(--c-border); display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; color:var(--c-text-muted); font-size:13px; }
.footer-bottom p { margin:0; }
.footer-legal { display:flex; gap:20px; }

.hero {
  position:relative; display:flex; align-items:center;
  min-height:max(700px,calc(100svh - var(--nav-h) - var(--peek-h)));
  background:radial-gradient(54% 66% at 28% 52%,var(--c-white) 0%,var(--c-clear) 72%),linear-gradient(180deg,var(--c-paper-hi) 0%,var(--c-paper) 38%);
  color:var(--c-ink); overflow:hidden; overflow-x:clip;
}
.hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 480px; grid-template-areas:"rig copy"; align-items:center; gap:48px; padding-top:36px; padding-bottom:36px; }
.hero-grid>* { min-width:0; }
.copy { grid-area:copy; position:relative; z-index:2; }
.kicker { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 22px; }
.kicker-label { font-size:13px; font-weight:600; color:var(--c-ink-2); margin-right:4px; }
.chip { display:inline-block; max-width:100%; overflow-wrap:anywhere; font-family:var(--f-mono); font-size:12.5px; line-height:1.3; padding:7px 11px; border:1px solid var(--c-line-2); border-radius:var(--r-pill); background:var(--c-paper-hi); color:var(--c-ink-2); }
.title { margin:0; font-weight:900; font-size:clamp(34px,3.35vw,48px); line-height:1.15; letter-spacing:-.018em; color:var(--c-ink); }
.t-line { display:block; }
.t-mark { position:relative; display:inline-block; z-index:0; }
.t-mark svg { position:absolute; left:-3%; bottom:-.04em; width:106%; height:.36em; z-index:-1; overflow:visible; }
.hl { fill:none; stroke:var(--c-accent); stroke-linecap:round; vector-effect:non-scaling-stroke; }
.hl-a { stroke-width:7; stroke-opacity:.92; }
.hl-b { stroke-width:3.5; stroke-opacity:.7; }
.lede { margin:22px 0 30px; max-width:29em; font-size:17px; line-height:1.78; color:var(--c-ink-2); }
.lede strong { font-weight:700; color:var(--c-ink); padding:0 .06em; background:linear-gradient(var(--c-clear) 62%,var(--c-accent-wash) 62%,var(--c-accent-wash) 94%,var(--c-clear) 94%); }
.copy>.cta { margin-top:28px; }
.platforms { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; margin-top:30px; padding-top:20px; border-top:1px solid var(--c-line-2); }
.pf-label { font-family:var(--f-mono); font-size:12px; letter-spacing:.04em; color:var(--c-ink-2); }
.pf-list { display:flex; flex-wrap:wrap; gap:10px 18px; }
.pf-list a { display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:600; color:var(--c-ink-2); }
.pf-ico { display:grid; place-items:center; flex-shrink:0; width:30px; height:30px; border-radius:var(--r-sm); background:var(--c-white); border:1px solid var(--c-line-2); color:var(--c-ink); }
.pf-ico svg { width:15px; height:15px; fill:currentColor; }
.pf-list a:hover { color:var(--c-ink); }
.pf-list a:hover .pf-ico { border-color:var(--c-ink); }
.stage-fit { grid-area:rig; position:relative; --s:1; width:calc(720px * var(--s)); height:calc(660px * var(--s)); }
.stage { position:absolute; left:0; top:0; width:720px; height:660px; transform:scale(var(--s)); transform-origin:0 0; }
.lift { position:absolute; inset:0; animation:rise .9s var(--ease-enter) both; }
.rig { position:absolute; inset:0; transform:perspective(2200px) rotateX(6deg) rotateY(-6deg) rotate(-8deg); transform-origin:50% 50%; }
.deskwin { position:absolute; left:0; top:40px; width:580px; height:392px; z-index:1; display:flex; flex-direction:column; background:var(--c-white); color:var(--c-ink); border:1px solid var(--c-line); border-radius:var(--r-window); overflow:hidden; box-shadow:var(--sh-win); }
.dw-chrome { position:relative; flex:none; height:38px; display:flex; align-items:center; gap:8px; padding:0 14px; background:linear-gradient(180deg,var(--c-chrome),var(--c-chrome-2)); color:var(--c-ink-2); border-bottom:1px solid var(--c-line-2); }
.dw-dot { width:11px; height:11px; flex-shrink:0; border-radius:var(--r-round); background:var(--c-dot-1); }
.dw-dot:nth-child(2) { background:var(--c-dot-2); }
.dw-dot:nth-child(3) { background:var(--c-dot-3); }
.dw-title { position:absolute; left:50%; transform:translateX(-50%); text-align:center; font-size:13px; font-weight:600; color:var(--c-ink-2); }
.dw-menu { flex:none; display:flex; align-items:center; height:36px; padding:0 8px; border-bottom:1px solid var(--c-line); font-size:13px; color:var(--c-ink); }
.dw-menu span { padding:5px 11px; border-radius:var(--r-xs); }
.dw-menu span:first-child { background:var(--c-cell); color:var(--c-ink); }
.dw-tabs { flex:none; display:flex; align-items:center; justify-content:space-between; height:38px; padding:0 14px; border-bottom:1px solid var(--c-line); }
.dw-tab { display:flex; align-items:center; height:100%; font-size:12.5px; font-weight:600; color:var(--c-ink); box-shadow:inset 0 -2px 0 var(--c-ink); padding:0 2px; }
.dw-search { display:flex; align-items:center; gap:6px; width:150px; height:24px; padding:0 9px; border:1px solid var(--c-line-2); border-radius:var(--r-search); background:var(--c-cell); font-size:12px; color:var(--c-ink-2); }
.dw-search svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.dw-thead { flex:none; display:grid; grid-template-columns:64px 1.2fr 1.6fr 64px; height:30px; background:var(--c-cell); border-bottom:1px solid var(--c-line); font-size:12px; font-weight:600; color:var(--c-ink-2); }
.dw-thead span { display:flex; align-items:center; padding:0 12px; }
.dw-thead span+span { border-left:1px solid var(--c-line); }
.dw-body { flex:1; padding:16px 18px; }
.dw-empty { height:86px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; border:1.5px dashed var(--c-line-2); border-radius:var(--r-empty); font-size:13px; color:var(--c-ink-2); }
.dw-empty svg { width:22px; height:22px; fill:none; stroke:var(--c-ink-3); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.dw-status { flex:none; height:32px; display:flex; align-items:center; gap:22px; padding:0 14px; background:var(--c-chrome); border-top:1px solid var(--c-line-2); font-size:11.5px; color:var(--c-ink-2); }
.dw-status b { font-weight:600; color:var(--c-ink); }
.wave-host { position:relative; display:inline-block; }
.wave { position:absolute; left:-2px; bottom:-6px; width:calc(100% + 4px); height:7px; overflow:visible; }
.mk { fill:none; stroke:var(--c-accent); stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.mk-pen { stroke-width:2.2; }
.note-text { font-family:var(--f-hand); font-size:23px; font-weight:700; fill:var(--c-accent-dark); }
.ink { animation:ink .5s .75s both; }
.routecard { position:absolute; left:318px; top:298px; width:206px; z-index:2; padding:14px 16px 10px; border-radius:var(--r-lg); background:var(--c-glass); color:var(--c-ink); border:1px solid var(--c-glass-edge); box-shadow:var(--sh-glass); -webkit-backdrop-filter:blur(14px) saturate(1.15); backdrop-filter:blur(14px) saturate(1.15); transform:rotate(4deg); }
.rc-head { display:flex; align-items:center; gap:8px; padding-bottom:10px; margin-bottom:4px; border-bottom:1px solid var(--c-line); font-size:13px; font-weight:700; color:var(--c-ink); }
.rc-head svg { width:15px; height:15px; fill:none; stroke:var(--c-ink-2); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.rc-opt { display:flex; align-items:center; gap:10px; padding:7px 0; font-size:13px; color:var(--c-ink-2); }
.rc-radio { flex-shrink:0; display:grid; place-items:center; width:15px; height:15px; border-radius:var(--r-round); border:1.5px solid var(--c-ink-3); }
.rc-on { color:var(--c-ink); font-weight:600; }
.rc-on .rc-radio { border-color:var(--c-ink); }
.rc-on .rc-radio::after { content:""; width:7px; height:7px; border-radius:var(--r-round); background:var(--c-ink); }
.handset { position:absolute; left:470px; top:190px; width:228px; height:462px; z-index:3; padding:9px; border-radius:var(--r-phone); background:var(--c-bezel); color:var(--c-ink); box-shadow:inset 0 0 0 1.5px var(--c-bezel-edge),var(--sh-phone); }
.handset::before,.handset::after { content:""; position:absolute; right:-3px; width:3px; border-radius:var(--r-hardware); background:var(--c-bezel-edge); }
.handset::before { top:112px; height:56px; }
.handset::after { top:186px; height:34px; }
.hs-screen { position:relative; height:100%; display:flex; flex-direction:column; border-radius:var(--r-screen); overflow:hidden; background:var(--c-white); color:var(--c-ink); }
.hs-sbar { flex:none; position:relative; height:28px; display:flex; align-items:center; justify-content:flex-end; gap:6px; padding:0 18px; }
.hs-cam { position:absolute; left:50%; top:8px; width:11px; height:11px; margin-left:-5.5px; border-radius:var(--r-round); background:var(--c-bezel); }
.sb-sig { width:12px; height:10px; fill:var(--c-ink-2); }
.sb-bat { width:19px; height:10px; }
.bt-o { fill:none; stroke:var(--c-ink-2); stroke-width:1.2; }
.bt-f { fill:var(--c-ink-2); }
.hs-appbar { flex:none; display:flex; align-items:center; gap:14px; height:50px; padding:0 14px; border-bottom:1px solid var(--c-line); }
.hs-appbar svg { width:18px; height:18px; flex:none; fill:none; stroke:var(--c-ink-2); stroke-width:1.9; stroke-linecap:round; }
.hs-ttl { margin-right:auto; font-size:17px; font-weight:700; letter-spacing:-.005em; color:var(--c-ink); }
.hs-list { flex:1; }
.hs-menu { position:absolute; top:86px; right:14px; z-index:2; width:146px; padding:6px 0; margin:0; list-style:none; border-radius:var(--r-menu); background:var(--c-white); color:var(--c-ink); box-shadow:var(--sh-menu); }
.hs-menu li { position:relative; margin:0; padding:10px 14px; font-size:13px; color:var(--c-ink); }
.ring { position:absolute; left:-8px; top:-5px; width:calc(100% + 16px); height:calc(100% + 10px); overflow:visible; }
.hs-dock { flex:none; position:relative; height:62px; display:flex; align-items:center; padding:0 16px 6px; background:var(--c-cell); color:var(--c-ink-2); border-top:1px solid var(--c-line); }
.hs-state { display:inline-flex; align-items:center; gap:7px; font-size:12.5px; color:var(--c-ink-2); }
.hs-state i { width:7px; height:7px; flex-shrink:0; border-radius:var(--r-round); background:var(--c-dot-3); }
.hs-fab { position:absolute; right:16px; top:-30px; width:54px; height:54px; display:grid; place-items:center; border-radius:var(--r-round); background:var(--c-fab); box-shadow:var(--sh-fab); color:var(--c-ink-2); }
.hs-fab svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2.1; stroke-linecap:round; }
.hs-home { position:absolute; left:50%; bottom:6px; width:72px; height:4px; margin-left:-36px; border-radius:var(--r-pill); background:var(--c-dot-2); }
.note { position:absolute; left:560px; top:62px; width:160px; height:210px; z-index:4; overflow:visible; }
.next-edge { height:var(--peek-h); background:var(--c-bg); color:var(--c-text); overflow:hidden; }
.next-panel { height:60px; margin-top:22px; border:1px solid var(--c-border); border-bottom:0; border-radius:var(--r-xl) var(--r-xl) 0 0; background:var(--c-panel); color:var(--c-text); }
.decorated-section { position:relative; overflow-x:clip; }
.reveal { opacity:1; transform:none; }
.reveal-watching .reveal:not(.shown) { opacity:0; transform:translateY(16px); }
.reveal-watching .reveal { transition:opacity var(--motion-reveal) var(--ease-enter),transform var(--motion-reveal) var(--ease-enter); }
@keyframes rise { from { opacity:0; transform:translate3d(0,22px,0); } to { opacity:1; transform:none; } }
@keyframes ink { from { opacity:0; } to { opacity:1; } }

@media (max-width:1340px) { .stage-fit { --s:.9; } }
@media (max-width:1279px) {
  .masthead-in { gap:16px; }
  .mainnav { display:none; }
  .menu-toggle { display:inline-flex; }
  .header-tools { margin-left:auto; }
  .static-mobile { display:block; }
}
@media (max-width:1200px) {
  .hero-grid { grid-template-columns:minmax(0,1fr) 440px; gap:40px; }
  .stage-fit { --s:.78; }
}
@media (max-width:1080px) {
  :root { --gutter:32px; }
  .hero-grid { grid-template-columns:minmax(0,1fr) 410px; }
  .stage-fit { --s:.68; }
}
@media (max-width:960px) {
  .hero { min-height:0; align-items:flex-start; }
  .hero-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:"copy" "rig"; gap:24px; padding-top:28px; padding-bottom:28px; }
  .copy { max-width:620px; }
  .title { font-size:clamp(24px,6.4vw,30px); line-height:1.2; }
  .kicker { margin-bottom:16px; }
  .lede { font-size:16px; margin:16px 0 22px; }
  .copy>.cta { margin-top:22px; }
  .platforms { margin-top:22px; padding-top:16px; }
  .stage-fit { --s:.86; margin:8px auto 0; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:768px) {
  h1 { font-size:clamp(24px,6.4vw,30px); }
  h2 { font-size:28px; }
  h3 { font-size:21px; }
  .section { padding-top:56px; padding-bottom:56px; }
}
@media (max-width:760px) { .stage-fit { --s:.66; } }
@media (max-width:640px) {
  :root { --gutter:20px; }
  .grid-pair { grid-template-columns:minmax(0,1fr); }
  .tilt,.content-tilt { transform:none; }
  .panel,.card,.paper-panel { padding:24px; }
  .brand-name { font-size:15px; overflow-wrap:anywhere; }
  .masthead .brand { min-width:0; flex-shrink:1; }
  .brand { gap:8px; }
  .brand-mark { width:32px; height:32px; }
  .masthead-in { gap:8px; }
  .lang { padding:8px 10px; min-height:44px; }
  .lang-full { display:none; }
  .lang-short { display:inline; }
  .footer-grid { gap:32px 24px; }
  .footer-brand { grid-column:1 / -1; }
  .site-footer { padding-top:48px; }
}
@media (max-width:560px) {
  .stage-fit { --s:.5; }
  .btn { min-height:48px; padding:10px 20px; font-size:15px; }
  .header-tools { gap:6px; }
  .lang svg { display:none; }
}
@media (max-width:420px) { .stage-fit { --s:.44; } }
@media (max-width:360px) {
  :root { --gutter:16px; }
  .stage-fit { --s:.38; }
  .brand-name { font-size:13px; }
  .brand-mark { width:28px; height:28px; }
  .footer-grid { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .lift,.ink { animation:none; }
  .reveal-watching .reveal:not(.shown) { opacity:1; transform:none; }
  .reveal-watching .reveal { transition:none; }
}