/* Hero: porcelain atmosphere, factual capsules, cellar window */
.hero { position:relative; overflow-x:clip; max-width:100%; padding-top:28px; padding-bottom:56px; }
.hero__aura { position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,var(--bg-0) 0%,var(--bg-0) 16%,var(--bg) 44%),radial-gradient(40% 62% at 4% 0%,var(--aura-amber) 0%,var(--bg-0) 72%),radial-gradient(30% 48% at 38% 0%,var(--aura-rose) 0%,var(--bg-0) 72%),radial-gradient(26% 40% at 64% 4%,var(--aura-rose) 0%,var(--bg-0) 70%),radial-gradient(40% 62% at 97% 0%,var(--aura-lav) 0%,var(--bg-0) 72%); }
.hero__in { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; min-height:26px; padding:3px 12px; margin-bottom:16px; border-radius:var(--r-pill); background:var(--glass); border:1px solid var(--hl-white); box-shadow:var(--shadow-chip); font-family:var(--font-mono); font-size:12px; color:var(--muted); }
.eyebrow__sq { width:7px; height:7px; border-radius:var(--r-xs); background:var(--warn); flex:none; }
.hero h1 { margin:0 0 22px; font-weight:var(--weight-display); font-size:var(--size-h1); line-height:1.06; letter-spacing:-.03em; color:var(--text); }
.lede { max-width:760px; margin-bottom:16px; font-size:17px; line-height:1.6; color:var(--muted); }
.lede strong { color:var(--text); font-weight:var(--weight-semibold); }
.facts { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:20px; }
.facts li { display:inline-flex; align-items:center; gap:8px; min-height:30px; padding:5px 12px; border-radius:var(--r-pill); background:var(--panel); border:1px solid var(--border); box-shadow:var(--shadow-chip); font-family:var(--font-mono); font-size:12.5px; color:var(--text); }
.facts li::before { content:""; width:6px; height:6px; border-radius:var(--r-xs); background:var(--accent); flex:none; }
.facts li:nth-child(even)::before { background:var(--warn); }
.wall { display:flex; align-items:center; justify-content:center; gap:28px; min-height:24px; margin-bottom:30px; font-size:14px; color:var(--muted); }
.wall__group { display:flex; align-items:center; gap:22px; }
.wall__group li { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.wall__cap { font-family:var(--font-mono); font-size:11.5px; letter-spacing:.04em; color:var(--muted); opacity:.78; margin-right:-6px; }
.pf { width:18px; height:18px; flex:none; display:block; fill:currentColor; overflow:hidden; }
.wall__rule { width:1px; height:22px; background:var(--border); flex:none; }
.f-red { fill:var(--flag-red); }
.f-white { fill:var(--flag-white); }
.f-navy { fill:var(--flag-navy); }
.f-green { fill:var(--flag-green); }
.f-edge { fill:none; stroke:var(--flag-edge); stroke-width:.8; }
.fl { width:21px; height:14px; flex:none; display:block; overflow:hidden; border-radius:var(--r-flag); }
.fl--sq { width:14px; height:14px; }
.device { position:relative; width:76%; margin:0 auto; }
.frame { position:relative; padding:20px; border-radius:var(--r-l); background:linear-gradient(var(--veil),var(--veil)),linear-gradient(118deg,var(--aura-amber) 0%,var(--aura-rose) 52%,var(--aura-lav) 100%); box-shadow:inset 0 0 0 1px var(--hl-white),var(--shadow-frame); }
.win { position:relative; overflow:hidden; border-radius:var(--r-win); background:var(--ink); color:var(--ink-text); text-align:left; box-shadow:inset 0 1px 0 var(--ink-hl),0 0 0 1px var(--ink-edge),var(--shadow-win); }
.win__bar { display:flex; align-items:center; gap:16px; height:42px; padding:0 14px; border-bottom:1px solid var(--ink-line); background:linear-gradient(180deg,var(--ink-2),var(--ink)); }
.dots { display:flex; gap:6px; flex:none; }
.dots span { width:10px; height:10px; border-radius:var(--r-circle); background:var(--error); }
.dots span:nth-child(2) { background:var(--warn); }
.dots span:nth-child(3) { background:var(--success); }
.crumb { font-size:12.5px; color:var(--ink-muted); white-space:nowrap; }
.crumb i { font-style:normal; margin:0 6px; opacity:.6; }
.crumb b { color:var(--ink-text); font-weight:600; }
.search { margin-left:auto; display:flex; align-items:center; gap:8px; width:230px; height:26px; padding:0 10px; border-radius:var(--r-input); background:var(--ink-3); border:1px solid var(--ink-line); font-size:12px; color:var(--ink-muted); white-space:nowrap; }
.search svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.search__key { margin-left:auto; font-family:var(--font-mono); font-size:10.5px; padding:1px 5px; border-radius:var(--r-key); border:1px solid var(--ink-line); }
.win__body { display:grid; grid-template-columns:250px minmax(0,1fr); }
.win__body > * { min-width:0; }
.cellar { padding:14px 10px 12px; background:var(--ink-side); border-right:1px solid var(--ink-line); }
.cellar__head { display:flex; align-items:baseline; justify-content:space-between; padding:0 8px 10px; font-size:13px; font-weight:var(--weight-bold); }
.cellar__head span { font-family:var(--font-mono); font-size:10.5px; font-weight:var(--weight-body); color:var(--ink-muted); }
.cellar ul { display:flex; flex-direction:column; gap:2px; }
.vin { position:relative; display:flex; align-items:center; gap:10px; height:38px; padding:0 10px; border-radius:var(--r-s); font-size:13.5px; color:var(--ink-text); white-space:nowrap; }
.vin__name { flex:1; }
.vin.is-on { background:linear-gradient(90deg,var(--accent-a32),var(--accent-a10)); box-shadow:inset 0 0 0 1px var(--accent-a32); }
.vin.is-on::before { content:""; position:absolute; left:0; top:8px; bottom:8px; width:3px; border-radius:var(--r-xs); background:linear-gradient(180deg,var(--aura-amber),var(--accent-2)); }
.vin.is-on .vin__name { font-weight:var(--weight-semibold); }
.tag { display:inline-flex; align-items:center; min-height:20px; padding:2px 7px; border-radius:var(--r-tag); font-family:var(--font-mono); font-size:10.5px; max-width:100%; overflow:hidden; overflow-wrap:anywhere; }
.tag--iepl { background:var(--rose-a16); color:var(--rose-ink); }
.tag--relay { background:var(--lav-a16); color:var(--lav-ink); }
.tag--direct { background:var(--amber-a16); color:var(--amber-ink); }
.cellar__foot { margin:10px 8px 0; padding-top:10px; border-top:1px dashed var(--ink-line); font-size:12px; color:var(--ink-muted); }
.stage { display:flex; flex-direction:column; gap:12px; padding:16px; background:radial-gradient(80% 60% at 100% 0%,var(--accent-a10),var(--bg-0) 70%); min-width:0; }
.now { position:relative; padding:16px 18px; border-radius:var(--r-m); background:linear-gradient(155deg,var(--ink-4),var(--ink-2)); border:1px solid var(--ink-line); box-shadow:inset 0 1px 0 var(--ink-hl),0 12px 24px -14px var(--shade); }
.now::before { content:""; position:absolute; left:18px; right:18px; top:-1px; height:2px; border-radius:var(--r-xs); background:linear-gradient(90deg,var(--warn),var(--accent-2) 60%,var(--accent)); }
.now__top { display:flex; align-items:center; justify-content:space-between; font-family:var(--font-mono); font-size:11px; color:var(--ink-muted); }
.now__pin { display:inline-flex; align-items:center; gap:6px; }
.now__pin::before { content:""; width:6px; height:6px; border-radius:var(--r-circle); background:var(--ok-ink); flex:none; }
.now__main { display:flex; align-items:center; gap:12px; margin:10px 0 14px; }
.now__main .fl { width:33px; height:22px; }
.now__title { font-family:var(--font-display); font-size:21px; font-weight:var(--weight-brand); letter-spacing:-.01em; white-space:nowrap; }
.now__row { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding-top:12px; border-top:1px solid var(--ink-line); font-size:13px; color:var(--ink-text); }
.now__row b { color:var(--ok-ink); font-weight:var(--weight-semibold); margin-left:2px; }
.switch { position:relative; width:36px; height:20px; flex:none; border-radius:var(--r-pill); background:linear-gradient(90deg,var(--accent),var(--accent-2)); box-shadow:inset 0 0 0 1px var(--hl-soft); }
.switch::after { content:""; position:absolute; top:2px; right:2px; width:16px; height:16px; border-radius:var(--r-circle); background:var(--on-accent); box-shadow:0 1px 3px var(--shade); }
.now__swap { margin-left:auto; display:inline-flex; align-items:center; height:26px; padding:0 10px; border-radius:var(--r-input); border:1px solid var(--ink-line); font-size:12px; color:var(--ink-muted); }
.uses { display:flex; align-items:center; gap:8px; padding:11px 14px; border-radius:var(--r-m); background:var(--ink-2); border:1px solid var(--ink-line); }
.cap { font-family:var(--font-mono); font-size:11px; color:var(--ink-muted); margin-right:6px; white-space:nowrap; }
.uses ul { display:flex; gap:6px; flex-wrap:wrap; }
.uses li { display:inline-flex; align-items:center; gap:6px; min-height:28px; padding:4px 11px; border-radius:var(--r-pill); background:var(--ink-3); border:1px solid var(--ink-line); font-size:12.5px; white-space:nowrap; }
.uses svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.uses li:nth-child(1) svg { color:var(--rose-ink); }
.uses li:nth-child(2) svg { color:var(--amber-ink); }
.uses li:nth-child(3) svg { color:var(--lav-ink); }
.plan { display:grid; gap:8px; padding:12px 14px; border-radius:var(--r-m); background:linear-gradient(180deg,var(--ink-3),var(--ink-2)); border:1px solid var(--ink-line); }
.plan__line { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; font-size:12.5px; color:var(--ink-muted); }
.plan__line b { font-family:var(--font-mono); font-size:15px; font-weight:var(--weight-bold); color:var(--ink-text); }
.plan__sep { opacity:.5; }
.plan__dev { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:8px; border-top:1px dashed var(--ink-line); font-size:12.5px; color:var(--ink-muted); }
.plan__dev b { color:var(--ink-text); font-weight:var(--weight-semibold); white-space:nowrap; }
.floats { display:contents; }
.float { position:absolute; z-index:2; display:flex; align-items:center; gap:10px; padding:12px 14px; background:var(--panel); border-radius:var(--r-m); box-shadow:inset 0 0 0 1px var(--border),var(--shadow-float); text-align:left; }
.float--facts { left:-136px; top:84px; width:156px; }
.float--refund { right:-158px; bottom:44px; width:178px; }
.float__ico { width:34px; height:34px; flex:none; border-radius:var(--r-s); display:grid; place-items:center; }
.float__ico svg { width:20px; height:20px; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.float--facts .float__ico { background:var(--amber-tint); box-shadow:inset 0 0 0 1px var(--hl-white); }
.float--facts .float__ico svg { stroke:var(--warn); }
.float--refund .float__ico { background:var(--accent); box-shadow:inset 0 1px 0 var(--hl-soft); }
.float--refund .float__ico svg { stroke:var(--on-accent); stroke-width:2; }
.float__mono { font-family:var(--font-mono); font-size:13px; line-height:1.45; color:var(--muted); white-space:nowrap; }
.float__mono b { color:var(--text); font-weight:var(--weight-bold); }
.float__title { font-size:14px; font-weight:var(--weight-bold); line-height:1.3; white-space:nowrap; }
.float__sub { font-size:11.5px; color:var(--muted); white-space:nowrap; }
.peek { padding-top:16px; padding-bottom:72px; }
.sec-head { display:flex; align-items:center; gap:20px; margin-bottom:24px; }
.sec-badge { width:56px; height:56px; flex:none; border-radius:var(--r-m); display:grid; place-items:center; background:var(--amber-tint); box-shadow:inset 0 0 0 1px var(--hl-white),var(--shadow-chip); }
.sec-badge svg { width:28px; height:28px; fill:none; stroke:var(--warn); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.sec-badge--rose { background:var(--rose-tint); }
.sec-badge--rose svg { stroke:var(--accent); }
.sec-head h2 { margin:0; font-weight:var(--weight-display); font-size:40px; line-height:1.15; letter-spacing:-.025em; }
.peek__lede { max-width:720px; margin:16px 0 0 76px; color:var(--muted); font-size:17px; line-height:1.65; }
.peek__link { display:inline-flex; align-items:center; gap:6px; min-height:24px; margin:12px 0 0 76px; color:var(--accent); font-weight:var(--weight-semibold); }
.peek__link svg { width:16px; height:16px; transition:transform .2s ease; }
.peek__link:hover svg { transform:translateX(3px); }

/* Shared controls and reading furniture */
.tabs { min-width:0; }
.tab-list,[role="tablist"] { display:flex; align-items:center; gap:6px; max-width:100%; overflow-x:auto; padding:6px; margin-bottom:24px; border-radius:var(--r-m); background:var(--panel-2); border:1px solid var(--border); }
[role="tab"] { flex:none; display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 18px; border:1px solid var(--bg-0); border-radius:var(--r-s); background:none; color:var(--muted); font-weight:var(--weight-semibold); white-space:nowrap; }
[role="tab"][aria-selected="true"] { color:var(--accent); background:var(--panel); border-color:var(--border); box-shadow:var(--shadow-chip); }
[role="tabpanel"] { min-width:0; }
.toc-tabs { position:sticky; top:var(--toc-top); z-index:25; display:flex; align-items:center; gap:6px; max-width:100%; overflow-x:auto; padding:8px; margin-block:24px 32px; border:1px solid var(--border); border-radius:var(--r-m); background:var(--panel); box-shadow:var(--shadow-pop); }
.toc-tabs a { display:inline-flex; align-items:center; justify-content:center; flex:none; min-height:40px; padding:8px 14px; border-radius:var(--r-s); white-space:nowrap; color:var(--muted); font-size:var(--size-small); }
.toc-tabs a.is-current,.toc-tabs a[aria-current] { background:var(--rose-tint); color:var(--accent); font-weight:var(--weight-bold); }
.toc-tabs.is-static { position:static; }
body:has(.toc-tabs) section[id] { scroll-margin-top:var(--anchor-space); }
.faq-list { border-top:1px solid var(--border); }
.faq { padding:0 20px; border-bottom:1px solid var(--border); background:var(--panel); }
.faq:first-child { border-radius:var(--r-m) var(--r-m) 0 0; }
.faq:last-child { border-radius:0 0 var(--r-m) var(--r-m); }
.faq summary { position:relative; min-height:60px; padding:18px 28px 18px 0; cursor:pointer; font-weight:var(--weight-semibold); list-style:none; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; position:absolute; right:0; top:18px; width:24px; text-align:center; color:var(--accent); }
.faq[open] summary::after { content:"−"; }
.faq p { padding-bottom:20px; color:var(--muted); line-height:1.8; }
.badge { display:inline-flex; align-items:center; gap:6px; min-height:24px; max-width:100%; overflow:hidden; padding:3px 9px; border-radius:var(--r-tag); background:var(--rose-tint); color:var(--accent); font-size:var(--size-caption); font-weight:var(--weight-semibold); overflow-wrap:anywhere; }
.badge--amber { background:var(--amber-tint); color:var(--accent-dark); }
.badge--success { color:var(--success); background:var(--panel-2); }
.callout { margin:24px 0; padding:20px 24px; border-left:3px solid var(--accent); border-radius:0 var(--r-m) var(--r-m) 0; background:linear-gradient(110deg,var(--rose-tint),var(--panel)); color:var(--text); }
.callout p { margin:0; line-height:1.8; }
.table-scroll { width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--border); border-radius:var(--r-m); background:var(--panel); }
.data-table,.route-table { width:100%; min-width:660px; border-collapse:collapse; text-align:left; font-size:var(--size-small); }
.data-table caption,.route-table caption { text-align:left; padding:16px; font-weight:var(--weight-bold); color:var(--text); }
.data-table th,.data-table td,.route-table th,.route-table td { padding:14px 18px; border-bottom:1px solid var(--border); word-break:keep-all; }
.table-scroll th { white-space:nowrap; color:var(--text); background:var(--panel-2); font-weight:var(--weight-bold); }
.table-scroll td:first-child { color:var(--text); font-weight:var(--weight-semibold); }
.route-table .region-row th { background:var(--rose-tint); color:var(--accent-dark); }
.data-table tr:last-child td,.route-table tr:last-child td { border-bottom:0; }
.prose > .data-table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%; min-width:0; }
.prose > .data-table th { background:var(--panel-2); color:var(--text); white-space:nowrap; }
.pricing-card { position:relative; display:flex; flex-direction:column; gap:20px; min-width:0; padding:28px; border:1px solid var(--border); border-radius:var(--r-m); background:var(--panel); box-shadow:inset 0 1px 0 var(--hl-white),var(--shadow-float); }
.pricing-card.is-featured { border-color:var(--accent); background:linear-gradient(150deg,var(--panel),var(--rose-tint)); }
.pricing-card.is-current { box-shadow:inset 0 0 0 2px var(--accent),var(--shadow-float); }
.pricing-card__top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.pricing-card h3 { margin:0; font-size:22px; }
.pricing-card__price { font-family:var(--font-mono); font-size:40px; font-weight:var(--weight-bold); line-height:1.2; font-variant-numeric:tabular-nums; }
.pricing-card__price small { font-family:var(--font-body); font-size:var(--size-small); color:var(--muted); font-weight:var(--weight-body); }
.pricing-card__facts { display:grid; gap:12px; font-size:var(--size-small); color:var(--muted); }
.pricing-card .btn { margin-top:auto; width:100%; }
.platform-card { display:flex; flex-direction:column; align-items:flex-start; gap:16px; min-width:0; padding:24px; border:1px solid var(--border); border-radius:var(--r-m); background:linear-gradient(145deg,var(--panel),var(--bg)); box-shadow:var(--shadow-chip); }
.platform-card .pf { width:30px; height:30px; color:var(--muted); }
.platform-card h3 { margin:0; font-size:18px; }
.platform-card p { color:var(--muted); font-size:var(--size-small); }
.platform-card .btn { margin-top:auto; max-width:100%; }
.article-card { display:flex; flex-direction:column; gap:16px; padding:24px; border-top:3px solid var(--accent); border-radius:var(--r-m); background:var(--panel); box-shadow:inset 0 0 0 1px var(--border),var(--shadow-chip); min-width:0; }
.article-card__meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:var(--muted); font-family:var(--font-mono); font-size:var(--size-caption); }
.article-card h3 { font-size:22px; margin:0; }
.article-card h3 a:hover { color:var(--accent); }
.article-card p { color:var(--muted); line-height:1.75; font-size:var(--size-small); }
.article-card .text-link { margin-top:auto; }
.promo-block { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-block:32px; padding:28px; border:1px solid var(--border); border-radius:var(--r-m); background:linear-gradient(115deg,var(--amber-tint),var(--rose-tint),var(--panel)); box-shadow:inset 0 1px 0 var(--hl-white),var(--shadow-float); }
.promo-block__copy { min-width:0; }
.promo-block__copy strong { display:block; margin-bottom:8px; font-size:22px; font-weight:var(--weight-brand); }
.promo-block p { color:var(--muted); }
.promo-block .btn { flex-shrink:0; white-space:nowrap; }
.closing-band { position:relative; overflow-x:clip; display:flex; align-items:center; gap:32px; padding:32px; border-radius:var(--r-m); background:var(--ink); color:var(--ink-text); }
.closing-band__art { position:relative; width:110px; height:80px; flex:none; overflow:hidden; }
.closing-band__art::before { content:""; position:absolute; width:68px; height:68px; border-radius:var(--r-circle); left:0; top:0; background:var(--aura-amber); box-shadow:38px 22px 0 var(--accent); }
.closing-band__art::after { content:""; position:absolute; right:0; top:0; width:36px; height:36px; border-radius:var(--r-s); background:var(--aura-lav); }
.closing-band__copy { flex:1; min-width:0; }
.closing-band__copy strong { display:block; font-size:22px; margin-bottom:8px; }
.closing-band__copy p { color:var(--ink-muted); }
.feature-gallery { display:grid; gap:72px; }
.feature-row { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:center; gap:56px; }
.feature-row > * { min-width:0; }
.feature-row--reverse { grid-template-columns:minmax(0,7fr) minmax(0,5fr); }
.feature-row--reverse .feature-copy { order:2; }
.feature-copy .sec-badge { margin-bottom:24px; }
.feature-copy h3 { font-weight:var(--weight-display); font-size:32px; }
.feature-copy p { color:var(--muted); line-height:1.8; margin-bottom:16px; }
.feature-copy .text-link { margin-bottom:24px; }
.feature-frame { padding:24px; border-radius:var(--r-l); background:linear-gradient(135deg,var(--aura-amber),var(--amber-tint)); box-shadow:inset 0 0 0 1px var(--hl-white),var(--shadow-frame); }
.feature-frame--rose { background:linear-gradient(135deg,var(--aura-rose),var(--rose-tint)); }
.feature-frame--lav { background:linear-gradient(135deg,var(--aura-lav),var(--panel)); }
.mini-panel { padding:24px; border-radius:var(--r-win); background:linear-gradient(145deg,var(--ink-3),var(--ink)); color:var(--ink-text); box-shadow:var(--shadow-win); }
.mini-panel p { color:var(--ink-muted); line-height:1.8; }
.mini-panel ul { display:grid; gap:16px; margin-top:20px; }
.mini-panel li { border-bottom:1px solid var(--ink-line); padding-bottom:12px; }
.motion-line { display:block; width:100%; height:48px; fill:none; stroke:var(--accent); stroke-width:1.5; }

/* Static design specimen furniture */
.specimen { padding-top:48px; padding-bottom:48px; border-top:1px solid var(--border); }
.specimen__intro { margin-bottom:24px; color:var(--muted); }
.specimen-row { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.specimen-type { display:grid; gap:24px; }
.specimen-display { font-size:clamp(32px,4vw,56px); line-height:1.15; font-weight:var(--weight-display); }
.specimen-swatches { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
.swatch { padding:10px; border:1px solid var(--border); border-radius:var(--r-s); background:var(--panel); min-width:0; font-family:var(--font-mono); font-size:11px; overflow-wrap:anywhere; }
.swatch::before { content:""; display:block; height:48px; margin-bottom:8px; border-radius:var(--r-key); background:var(--swatch); border:1px solid var(--border); }
.sw-bg { --swatch:var(--bg); }
.sw-panel { --swatch:var(--panel); }
.sw-panel2 { --swatch:var(--panel-2); }
.sw-border { --swatch:var(--border); }
.sw-accent { --swatch:var(--accent); }
.sw-accent2 { --swatch:var(--accent-2); }
.sw-accentdark { --swatch:var(--accent-dark); }
.sw-text { --swatch:var(--text); }
.sw-muted { --swatch:var(--muted); }
.sw-success { --swatch:var(--success); }
.sw-warn { --swatch:var(--warn); }
.sw-error { --swatch:var(--error); }
.sw-amber { --swatch:var(--aura-amber); }
.sw-rose { --swatch:var(--aura-rose); }
.sw-lav { --swatch:var(--aura-lav); }
.sw-ambertint { --swatch:var(--amber-tint); }
.sw-rosetint { --swatch:var(--rose-tint); }
.sw-ink { --swatch:var(--ink); }
.sw-inkside { --swatch:var(--ink-side); }
.sw-ink2 { --swatch:var(--ink-2); }
.sw-ink3 { --swatch:var(--ink-3); }
.sw-ink4 { --swatch:var(--ink-4); }
.sw-inktext { --swatch:var(--ink-text); }
.sw-inkmuted { --swatch:var(--ink-muted); }
.sw-roseink { --swatch:var(--rose-ink); }
.sw-okink { --swatch:var(--ok-ink); }
.sw-red { --swatch:var(--flag-red); }
.sw-navy { --swatch:var(--flag-navy); }
.sw-green { --swatch:var(--flag-green); }
.sw-glass { --swatch:var(--glass); }
.sw-veil { --swatch:var(--veil); }
.sw-hlwhite { --swatch:var(--hl-white); }
.sw-hlsoft { --swatch:var(--hl-soft); }
.sw-a10 { --swatch:var(--accent-a10); }
.sw-a15 { --swatch:var(--accent-a15); }
.sw-a32 { --swatch:var(--accent-a32); }
.sw-a40 { --swatch:var(--accent-a40); }
.sw-inkline { --swatch:var(--ink-line); }
.sw-inkedge { --swatch:var(--ink-edge); }
.sw-inkhl { --swatch:var(--ink-hl); }
.sw-shade { --swatch:var(--shade); }
.sw-rosea16 { --swatch:var(--rose-a16); }
.sw-ambera16 { --swatch:var(--amber-a16); }
.sw-lava16 { --swatch:var(--lav-a16); }
.sw-flagedge { --swatch:var(--flag-edge); }
.sw-clear { --swatch:var(--bg-0); }

@media(max-width:1100px) {
  .device { width:88%; }
  .floats { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:18px; }
  .float { position:static; width:auto; }
  .wall { gap:18px; }
  .wall__group { gap:14px; }
  .platform-card { padding:18px; }
}
@media(max-width:768px) {
  .hero { padding-top:24px; padding-bottom:40px; }
  .hero h1 { font-size:36px; line-height:1.15; }
  .lede { font-size:16px; }
  .wall { flex-wrap:wrap; gap:12px 20px; }
  .wall__rule { display:none; }
  .wall__group { flex-wrap:wrap; justify-content:center; gap:10px 16px; }
  .device { width:100%; }
  .frame { padding:12px; border-radius:var(--r-mobile-frame); }
  .search { display:none; }
  .win__body { grid-template-columns:minmax(0,1fr); }
  .cellar { padding:10px; border-right:0; border-bottom:1px solid var(--ink-line); }
  .cellar__head,.cellar__foot,.cellar .tag { display:none; }
  .cellar ul { flex-direction:row; gap:6px; overflow-x:auto; }
  .vin { flex:none; height:32px; gap:6px; padding:0 10px; border:1px solid var(--ink-line); }
  .vin.is-on::before { top:6px; bottom:6px; }
  .now__title { font-size:18px; white-space:normal; }
  .plan__dev { flex-direction:column; align-items:flex-start; gap:4px; }
  .sec-head h2 { font-size:30px; }
  .peek__lede,.peek__link { margin-left:0; }
  .feature-row,.feature-row--reverse { grid-template-columns:minmax(0,1fr); gap:24px; }
  .feature-row--reverse .feature-copy { order:0; }
  .promo-block,.closing-band { flex-direction:column; align-items:flex-start; }
}
@media(max-width:640px) {
  .hero h1 { font-size:34px; }
  .uses { flex-wrap:wrap; }
  .now__swap { display:none; }
  .stage { padding:12px; }
  .now { padding:16px 12px; }
  .sec-head { gap:16px; }
  .sec-head h2 { font-size:28px; }
  .pricing-card { padding:24px; }
  .promo-block,.closing-band { padding:24px; }
  .feature-frame { padding:16px; }
  .feature-copy h3 { font-size:28px; }
}