/* V8 preview — exact reference composition; original brand and artwork. */
:root{--bg:#fff;--paper:#fff;--ink:#111214;--muted:#686d79;--accent:#a8432c;--line:#e0e3e8;--tint:#f5f7fa;--warm:#f9f3f1;--good:#3f6251;--good-bg:#f3f8f5;--good-line:#dfe9e3;--wait:#796330;--wait-bg:#fbf9f3;--max:1500px;--gutter:5.2vw;--header:104px;--radius:14px}
html,body{background:#fff;color:var(--ink)}
body{font-size:19px;line-height:1.6}
::selection{background:#dcecff;color:#111}
button,a,input,textarea,select,summary,[tabindex]{outline-offset:5px}
:focus-visible{outline:3px solid #597ca5}
.wrap{max-width:var(--max)}
.site-header{height:var(--header);border:0;background:rgba(255,255,255,.94)}
.header-inner{height:var(--header);max-width:1500px}
.js-ready.is-scrolled .site-header{backdrop-filter:blur(18px);box-shadow:0 1px 0 #e7e9ed}
.header-quick,.header-cta,.header-right>.language-picker{display:none!important}
.brand{gap:9px;min-width:0}
.wordmark{font-size:38px;letter-spacing:-1.4px;font-weight:720}
.brand .mark{grid-template-columns:repeat(2,8px);gap:4px;margin-right:3px}
.brand .mark i{width:8px;height:8px}
.brand-sub{font-size:30px;font-weight:400;letter-spacing:-1.1px;line-height:1.15;display:flex;align-items:center;gap:7px;color:#666b77}
.brand-slash{color:#cdd0d6;padding:0 3px}
.descriptor-compact,.descriptor-short{display:none}
.header-right{margin-left:auto}
.icon-button,.nav-menu{width:58px;height:58px;border-radius:9px}
.menu-toggle{border-color:#dedfe4;background:#ffffff8a}
.menu-bars{width:27px;height:23px;padding:1px 0}
.menu-bars i{height:2px;background:#111}
.scroll-progress{background:#111;height:1px;bottom:0}
.button{background:#141517;border-color:#141517;color:#fff;border-radius:9px;min-height:60px;font-size:19px;font-weight:550;transition:background .18s,box-shadow .18s,transform .18s}
.button.secondary{background:#ffffff9c;color:#111;border-color:#8e929c}
.button svg{width:24px;height:24px}
.hero{position:relative;padding:28px 0 44px;display:block;min-height:calc(100svh - var(--header));overflow:hidden;background:#fff}
.hero-stage{position:relative;min-height:min(46vw,760px)}
.hero-copy{position:relative;z-index:2;width:48%;}
.hero h1{font-size:clamp(36px,3.12vw,52px);font-weight:750;line-height:1.14;letter-spacing:-.052em;max-width:none;width:calc(100% + 84px);margin:0;text-wrap:initial}
.hero-subtitle{font-size:clamp(34px,2.94vw,49px);font-weight:400;line-height:1.17;letter-spacing:-.048em;color:#686c79;width:calc(100% + 56px);max-width:none;margin:14px 0 0}
.hero-feature-list{width:79%;margin-top:34px;display:grid;gap:13px}
.hero-feature{display:grid;grid-template-columns:68px 1fr 25px;align-items:center;gap:26px;min-height:82px;padding:8px 23px 8px 18px;text-decoration:none;border:1px solid #dedfe4;border-radius:12px;background:linear-gradient(120deg,#ffffffdb,#ffffffb3);box-shadow:0 10px 24px #1b243405;transition:border-color .18s,transform .18s,box-shadow .18s}
.hero-feature-symbol{display:flex;align-items:center;justify-content:center;width:68px;height:62px;border-radius:13px;background:#f3f5f4;color:#111}
.hero-feature-symbol svg{width:40px;height:40px;stroke-width:1.65}
.hero-feature-label{font-size:22px;font-weight:560;line-height:1.13;letter-spacing:-.035em}
.hero-feature-arrow svg{width:22px;height:22px}
.hero .hero-actions{display:flex;flex-direction:column;gap:13px;align-items:stretch;width:79%;margin-top:72px}
.hero .hero-actions .button{width:100%;min-width:0;min-height:70px;font-size:23px;padding:16px 20px;letter-spacing:-.022em}
.hero-art{position:absolute;right:calc(-1 * var(--gutter));top:-30px;width:64.8%;aspect-ratio:972/821;z-index:1;overflow:hidden;clip-path:polygon(9.3% 0,100% 0,100% 100%,0 100%,0 17.1%,9.3% 17.1%);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 92%,transparent),linear-gradient(to right,transparent,#000 4%,#000 99%,transparent);mask-composite:intersect;pointer-events:none;user-select:none}
/* Show original screenshot pixels x700..1672, y100..921 with no redrawing. */
.hero-art-pixels{position:absolute;inset:0;background-image:url('assets/reference-original.webp');background-repeat:no-repeat;background-size:172.0164609% auto;background-position:100% 83.3333333%;}
.drawer{width:90vw;max-width:470px;border-color:var(--line);background:#fff;box-shadow:-16px 0 80px #1c263015}
.menu-shade{background:#151b254a;backdrop-filter:blur(4px)}
.drawer-inner{padding:29px 30px 34px}
.drawer-top{padding:0;margin-bottom:27px}
.drawer-top h2{font-size:33px;font-weight:600}
.drawer-top .label{color:var(--muted)}
.drawer-language select{background:#f8f9fb;border-radius:8px}
.drawer-nav a{font-size:20px;min-height:54px;border-color:#edf0f3;transition:padding-left .18s}
.drawer-nav a .nav-index{color:#9296a0;font-size:13px}
.drawer-nav a[aria-current]{color:#111;font-weight:650}
.drawer-foot{font-size:14px;color:#777d88}
.drawer-inner>.button{min-height:60px}
.mobile-dock{background:rgba(255,255,255,.96);border-color:var(--line);backdrop-filter:blur(16px);box-shadow:0 -4px 25px #15243708}
.mobile-dock .button{border-radius:8px}
@media(hover:hover){.button:hover{background:#2b2d31;border-color:#2b2d31;box-shadow:0 7px 20px #10182713;transform:translateY(-1px)}.button.secondary:hover{background:#f6f7fa;border-color:#525865}.hero-feature:hover{border-color:#a8b5c5;box-shadow:0 10px 24px #243b5810;transform:translateX(4px)}.hero-feature:hover .hero-feature-arrow{transform:translateX(2px)}.drawer-nav a:hover{padding-left:6px;color:#111}.icon-button:hover{background:#f4f6f9}}
@keyframes hero-appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.hero h1,.hero-subtitle,.hero-feature-list,.hero-actions{animation:hero-appear .65s both}
.hero-subtitle{animation-delay:.06s}.hero-feature-list{animation-delay:.12s}.hero-actions{animation-delay:.18s}
.section.in-view .eyebrow{animation:hero-appear .6s both}
@media(min-width:1800px){.hero-art{right:-80px}.hero{padding-top:38px}.hero-copy{width:49%}}
@media(min-width:1024px) and (max-width:1450px){:root{--header:88px}.wordmark{font-size:33px}.brand-sub{font-size:26px}.icon-button,.nav-menu{width:52px;height:52px}.hero{padding-top:26px}.hero-stage{min-height:640px}.hero h1{font-size:3.13vw}.hero-subtitle{font-size:3vw}.hero-feature-list{margin-top:28px;gap:11px;width:84%}.hero-feature{grid-template-columns:54px 1fr 20px;gap:20px;min-height:70px;padding:7px 18px 7px 12px}.hero-feature-symbol{width:54px;height:54px;border-radius:10px}.hero-feature-symbol svg{width:34px;height:34px;}.hero-feature-label{font-size:19px}.hero .hero-actions{width:84%;margin-top:47px;gap:11px}.hero .hero-actions .button{min-height:58px;font-size:20px;padding:12px 16px}.hero-art{top:-18px}}
@media(min-width:1024px) and (max-height:760px){.hero{padding-bottom:30px}.hero-stage{min-height:570px}.hero .hero-actions{margin-top:30px}.hero-feature{min-height:65px}.hero-feature-list{margin-top:25px}}
@media(max-width:1023px){:root{--header:80px;--gutter:32px}.wordmark{font-size:30px}.brand-sub{font-size:23px}.icon-button,.nav-menu{width:48px;height:48px}.hero{min-height:0;padding:34px 0 58px}.hero-stage{min-height:0}.hero-copy{width:100%;max-width:690px;margin:0 auto}.hero-art{display:none}.hero h1{font-size:clamp(34px,5.9vw,52px);width:100%;line-height:1.12}.hero-subtitle{font-size:clamp(30px,5.5vw,47px);width:100%;line-height:1.17;margin-top:15px}.hero-feature-list{width:100%;margin-top:32px;gap:12px}.hero-feature{min-height:78px;grid-template-columns:58px 1fr 24px;gap:20px;padding:8px 19px 8px 11px}.hero-feature-symbol{width:58px;height:58px}.hero-feature-label{font-size:22px}.hero .hero-actions{width:100%;margin-top:32px;gap:12px}.hero .hero-actions .button{min-height:60px;font-size:21px}.desktop-break{display:none}}
@media(max-width:599px){:root{--header:74px;--gutter:22px}.wordmark{font-size:27px;letter-spacing:-1px}.brand{gap:6px}.brand .mark{grid-template-columns:repeat(2,6px);gap:3px;margin-right:1px}.brand .mark i{width:6px;height:6px}.brand-sub{font-size:17px;letter-spacing:-.5px;gap:4px}.brand-slash{padding:0 1px}.descriptor-full{display:none}.descriptor-compact{display:inline}.header-inner{gap:8px}.icon-button,.nav-menu{width:44px;height:44px;border-radius:8px}.menu-bars{width:22px;height:19px}.hero{padding:26px 0 44px}.hero h1{font-size:clamp(31px,7.9vw,44px);line-height:1.1;letter-spacing:-.052em}.hero-subtitle{font-size:clamp(29px,7.1vw,39px);line-height:1.15;letter-spacing:-.04em;margin-top:15px}.hero-feature-list{margin-top:27px;gap:10px}.hero-feature{min-height:69px;grid-template-columns:49px 1fr 17px;gap:14px;padding:8px 14px 8px 9px;border-radius:11px}.hero-feature-symbol{width:49px;height:49px;border-radius:10px}.hero-feature-symbol svg{width:31px;height:31px}.hero-feature-label{font-size:18px;line-height:1.15;letter-spacing:-.025em}.hero-feature-arrow svg{width:18px;height:18px}.hero .hero-actions{margin-top:27px;gap:11px}.hero .hero-actions .button{min-height:57px;font-size:19px;padding:12px 15px}.hero .hero-actions .button svg{width:22px;height:22px}.drawer-inner{padding:23px 24px 30px}.drawer-nav a{font-size:18px;min-height:49px}.drawer-top h2{font-size:29px}.drawer-language{padding:14px 0}.drawer-foot{font-size:13px}}
@media(max-width:389px){:root{--gutter:18px}.descriptor-compact{display:none}.descriptor-short{display:inline}.brand-sub{font-size:21px}.hero h1{font-size:30px}.hero-subtitle{font-size:28px}.hero-feature-label{font-size:17px}.hero-feature{gap:12px}.hero .hero-actions{margin-top:24px}.hero .hero-actions .button{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.hero-art{display:none}.hero-copy{width:100%}.hero h1,.hero-subtitle{width:100%}.hero-feature-list{width:100%}.hero-actions{display:none!important}}

/* V9 / shared typographic baseline. Preserve logo geometry, color and wordmark.
   Text is aligned by font metrics rather than breakpoint-specific pixel nudges. */
.brand {
  align-items:center;
}
.brand-type {
  display:inline-flex;
  align-items:baseline;
  gap:inherit;
  line-height:1;
}
.brand .wordmark,
.brand .brand-sub {
  line-height:1;
}
.brand .brand-sub {
  align-items:baseline;
}
.brand .mark {
  align-self:center;
}
