:root { --ink:#151515; --paper:#f6f5f1; --white:#fff; --muted:#696969; --line:rgba(0,0,0,.13); --soft:#e9e6de; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; -webkit-font-smoothing:antialiased; }
body::before { content:""; position:fixed; inset:0; z-index:-1; opacity:.2; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E"); }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
.site-header { width:min(1180px,calc(100% - 48px)); height:88px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:inline-flex; align-items:center; gap:10px; font-family:Georgia,"Times New Roman",serif; font-size:21px; letter-spacing:-1.1px; }
.brand img { width:28px; height:31px; }
.brand small { font-size:.58em; }
.site-nav { display:flex; align-items:center; gap:28px; color:#555; font-size:13px; font-weight:700; }
.site-nav a:hover,.footer a:hover { opacity:.56; }
.nav-cta,.button { border:0; border-radius:999px; color:#fff; background:#171717; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:12px; font-weight:800; }
.nav-cta { padding:11px 17px; }
.button { min-height:50px; padding:13px 22px; }
.content-shell { width:min(1120px,calc(100% - 48px)); margin:auto; }
.breadcrumbs { padding:23px 0 18px; color:#797979; font-size:11px; }
.breadcrumbs a:hover { color:#111; }
.breadcrumbs span { margin:0 7px; opacity:.55; }
.content-hero { min-height:520px; padding:72px; display:flex; align-items:flex-end; color:#fff; background:#111; border-radius:36px; overflow:hidden; position:relative; isolation:isolate; }
.content-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.69) 58%,rgba(0,0,0,.24)),var(--hero-image,none) center/cover; filter:grayscale(1); }
.content-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(0,0,0,.4),transparent 55%); }
.content-hero-inner { max-width:760px; }
.eyebrow { display:block; margin-bottom:19px; color:rgba(255,255,255,.7); font-size:11px; font-weight:800; letter-spacing:1.7px; text-transform:uppercase; }
h1,h2,h3 { margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-weight:500; }
h1 { max-width:880px; font-size:clamp(55px,7vw,90px); line-height:.9; letter-spacing:-4px; }
.content-hero p { max-width:680px; margin:25px 0 0; color:#d0d0d0; font-size:18px; line-height:1.7; }
.hero-chips { margin-top:28px; display:flex; flex-wrap:wrap; gap:9px; }
.hero-chips span { padding:9px 12px; color:#e6e6e6; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.17); border-radius:999px; font-size:10px; text-transform:uppercase; letter-spacing:.7px; }
.prose-grid { padding:95px 0; display:grid; grid-template-columns:.72fr 1.6fr; gap:80px; }
.section-label { padding-top:10px; color:#777; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:1.5px; }
.prose h2 { max-width:820px; font-size:clamp(42px,5vw,67px); line-height:.96; letter-spacing:-2.5px; }
.prose h3 { margin-top:36px; font-size:31px; }
.prose p { max-width:780px; margin:22px 0 0; color:#5f5f5f; font-size:16px; line-height:1.8; }
.prose ul { margin:25px 0 0; padding:0; list-style:none; display:grid; gap:10px; }
.prose li { padding:15px 17px; background:rgba(255,255,255,.62); border:1px solid var(--line); border-radius:13px; color:#444; line-height:1.5; }
.area-section,.cards-section { padding:84px 0; border-top:1px solid var(--line); }
.section-head { max-width:760px; margin-bottom:38px; }
.section-head h2 { font-size:clamp(40px,5vw,62px); line-height:.98; letter-spacing:-2.3px; }
.section-head p { color:var(--muted); line-height:1.7; }
.area-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.area-card { min-height:145px; padding:24px; background:#fff; border:1px solid var(--line); border-radius:18px; }
.area-card b { display:block; font-family:"Cormorant Garamond",serif; font-size:25px; font-weight:600; }
.area-card span { display:block; margin-top:8px; color:var(--muted); font-size:12px; line-height:1.55; }
.content-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.content-card { min-height:230px; padding:27px; background:#fff; border:1px solid var(--line); border-radius:20px; transition:transform .2s; }
.content-card:hover { transform:translateY(-3px); }
.content-card .number { color:#8b8b8b; font-size:10px; letter-spacing:1px; }
.content-card h3 { margin-top:42px; font-size:28px; line-height:1; }
.content-card p { margin:13px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.content-card .arrow { display:block; margin-top:20px; font-weight:800; }
.dark-band { margin:20px calc(50% - 50vw) 0; padding:96px max(24px,calc((100vw - 1120px)/2)); color:#fff; background:#141414; }
.dark-band .section-head p { color:#aaa; }
.link-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.link-grid a { padding:18px; display:flex; justify-content:space-between; color:#e9e9e9; background:#202020; border:1px solid rgba(255,255,255,.09); border-radius:13px; font-size:12px; font-weight:700; }
.link-grid a:hover { background:#2a2a2a; }
.waitlist-block { margin:84px 0; padding:54px; display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:60px; color:#fff; background:#171717; border-radius:28px; }
.waitlist-block h2 { font-size:clamp(43px,5vw,63px); line-height:.92; letter-spacing:-2.6px; }
.waitlist-block p { color:#aaa; line-height:1.7; }
.mini-waitlist { display:grid; grid-template-columns:1fr auto; gap:10px; }
.mini-waitlist input[type=email] { min-width:0; height:52px; padding:0 17px; color:#fff; background:#262626; border:1px solid rgba(255,255,255,.16); border-radius:999px; outline:0; }
.mini-waitlist input:focus { border-color:#fff; }
.mini-waitlist .button { color:#111; background:#fff; }
.mini-consent { grid-column:1/-1; display:flex; align-items:flex-start; gap:8px; color:#939393; font-size:10px; line-height:1.45; }
.mini-consent input { margin-top:2px; accent-color:#fff; }
.form-status { grid-column:1/-1; min-height:15px; margin:0; color:#e3b3b3!important; font-size:11px; }
.form-status.success { color:#b9dec7!important; }
.hub-intro { padding:88px 0 62px; max-width:900px; }
.hub-intro h1 { color:#111; }
.hub-intro p { max-width:690px; color:var(--muted); font-size:18px; line-height:1.75; }
.hub-grid { padding-bottom:100px; display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.hub-card { min-height:250px; padding:28px; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:21px; }
.hub-card small { color:#838383; text-transform:uppercase; letter-spacing:1px; }
.hub-card h2 { margin-top:33px; font-size:34px; line-height:1; }
.hub-card p { color:var(--muted); font-size:13px; line-height:1.65; }
.hub-card b { margin-top:auto; font-size:12px; }
.table-wrap { overflow-x:auto; background:#fff; border:1px solid var(--line); border-radius:20px; }
.data-table { width:100%; border-collapse:collapse; font-size:13px; }
.data-table th,.data-table td { padding:16px 18px; text-align:left; border-bottom:1px solid var(--line); }
.data-table thead th { color:#777; font-size:10px; text-transform:uppercase; letter-spacing:1px; }
.data-table tbody th { font-size:15px; }
.data-bar { display:block; width:var(--value); min-width:3px; height:7px; background:#171717; border-radius:99px; }
.source-link { text-decoration:underline; text-underline-offset:4px; }
.answer-box { margin:34px 0 0; padding:28px 32px; display:grid; grid-template-columns:150px 1fr; gap:30px; background:#fff; border:1px solid var(--line); border-radius:18px; }
.answer-box span { padding-top:4px; color:#777; font-size:10px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; }
.answer-box p { margin:0; color:#333; font-size:18px; line-height:1.65; }
.editorial-meta { padding:22px 0; display:flex; justify-content:space-between; gap:20px; color:#747474; border-bottom:1px solid var(--line); font-size:11px; }
.editorial-meta a { text-decoration:underline; text-underline-offset:3px; }
.faq-stack { padding:84px 0; border-top:1px solid var(--line); }
.faq-stack details { padding:20px 0; border-bottom:1px solid var(--line); }
.faq-stack summary { display:flex; justify-content:space-between; gap:20px; cursor:pointer; font-family:"Cormorant Garamond",Georgia,serif; font-size:27px; list-style:none; }
.faq-stack summary::-webkit-details-marker { display:none; }
.faq-stack details p { max-width:760px; color:var(--muted); line-height:1.75; }
.faq-stack details[open] summary span { transform:rotate(45deg); }
.footer { width:min(1120px,calc(100% - 48px)); margin:auto; padding:45px 0 30px; display:grid; grid-template-columns:2fr repeat(3,1fr); gap:35px; color:var(--muted); border-top:1px solid var(--line); font-size:11px; }
.footer-brand p { max-width:260px; line-height:1.6; }
.footer-col { display:grid; align-content:start; gap:10px; }
.footer-col b { color:var(--ink); }
.footer-bottom { grid-column:1/-1; padding-top:20px; display:flex; justify-content:space-between; border-top:1px solid var(--line); }
@media(max-width:850px){.site-nav a:not(.nav-cta){display:none}.content-hero{padding:48px 34px;min-height:480px}.prose-grid{grid-template-columns:1fr;gap:25px}.area-grid,.content-cards,.hub-grid{grid-template-columns:1fr 1fr}.link-grid{grid-template-columns:1fr 1fr}.waitlist-block{grid-template-columns:1fr}.footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:580px){.site-header,.content-shell,.footer{width:calc(100% - 28px)}.site-header{height:76px}.brand{font-size:18px}.nav-cta{font-size:11px;padding:10px 13px}.content-hero{min-height:500px;padding:38px 22px;border-radius:25px}h1{font-size:52px;letter-spacing:-3px}.prose-grid,.area-section,.cards-section{padding:68px 0}.area-grid,.content-cards,.hub-grid,.link-grid{grid-template-columns:1fr}.waitlist-block{padding:35px 22px;margin:60px 0}.mini-waitlist{grid-template-columns:1fr}.mini-waitlist .button{width:100%}.footer-bottom,.editorial-meta{flex-direction:column;gap:8px}.answer-box{grid-template-columns:1fr;gap:10px;padding:24px}.faq-stack summary{font-size:23px}}
