/* Basepoint Works — style.css · mobile-first (560/768/1024/1440) · motion flag html[data-motion] */

/* == 1. Tokens == */
:root {
  --char-0:#141618; --char:#1B1E21; --char-2:#24282C; --char-3:#2C3136;
  --line:#33383D; --line-2:#43494F;
  --paper:#F4F1EA; --mist:#A7ADB3; --mist-2:#7C838A;
  --amber:#F2A93B; --amber-2:#F7B75A; --amber-deep:#B9761C; --ink:#1B1E21; --ok:#7BC47F;
  --ember:#F2A93B24; --glass:#24282C9E; --scrim:#14161899; --bracket:#F4F1EA66; --datum:#F4F1EA99;

  --f-sans:"Instrument Sans", "IS Fallback", system-ui, sans-serif;
  --f-serif:"Instrument Serif", Georgia, "Times New Roman", serif;
  --f-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --t-0:0.8125rem;
  --t-1:1.0625rem;
  --t-2:clamp(1.125rem, 1rem + .5vw, 1.375rem);
  --t-3:clamp(1.375rem, 1.1rem + 1.2vw, 2rem);
  --t-4:clamp(2.25rem, 1.4rem + 3.4vw, 4.5rem);
  --t-5:clamp(2.75rem, 1rem + 5.6vw, 6.5rem);
  --t-num:clamp(3.5rem, 1.5rem + 8vw, 9.5rem);

  --s1:.5rem; --s2:1rem; --s3:1.5rem; --s4:2rem; --s5:3rem; --s6:4rem; --s7:6rem; --s8:8rem;
  --chapter:clamp(5rem, 12vw, 10rem);
  --panel-pad:var(--s3);

  --wrap:88rem; --gutter:clamp(1rem, 4.5vw, 5rem); --gap:1.5rem; --margin-col:4rem;
  --header-h:64px; --bar-h:56px;
  --r-1:2px; --r-2:6px; --r-phone:28px; --r-pill:999px;

  --d-tap:120ms; --d-ui:240ms; --d-reveal:640ms; --d-cut:900ms; --d-curtain:240ms;
  --e-out:cubic-bezier(.16, 1, .3, 1); --e-io:cubic-bezier(.65, 0, .35, 1); --stagger:60ms;
  --tap:var(--d-tap) var(--e-out); --ui:var(--d-ui) var(--e-out); --uio:var(--d-ui) var(--e-io);
  --rev:var(--d-reveal) var(--e-out); --cut:var(--d-cut) var(--e-io);

  --hair:1px solid var(--line);
  --c2:repeat(2, minmax(0, 1fr)); --c12:repeat(12, minmax(0, 1fr));
  --blur:blur(18px) saturate(1.1);
  --glass-shadow:inset 0 1px 0 #F4F1EA0F, 0 24px 48px -24px #000;
  --glow:radial-gradient(closest-side, var(--ember), transparent 70%);
  --corners:conic-gradient(at 10px 10px, #0000 75%, #000 0) 0 0 / calc(100% - 10px) calc(100% - 10px);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='.33 .33 .33 0 0 .33 .33 .33 0 0 .33 .33 .33 0 0 0 0 0 0 .5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  color-scheme:dark;
}
@media (min-width:768px) { :root { --panel-pad:var(--s4); } }
@media (min-width:1024px) { :root { --header-h:72px; } }
@font-face { font-family:"IS Fallback"; src:local("Arial"), local("ArialMT"), local("Liberation Sans"), local("Arimo"); size-adjust:97%; ascent-override:93%; }

/* == 2. Reset + base == */
*, *::before, *::after { box-sizing:border-box; }
* { margin:0; }
html { background:var(--char); scroll-padding-top:calc(var(--header-h) + 8px); }
@media (prefers-reduced-motion:no-preference) { html:not([data-motion=off]) { scroll-behavior:smooth; } }
body {
  min-height:100vh; background:var(--char); color:var(--paper);
  font:400 var(--t-1)/1.55 var(--f-sans); font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased; overflow-x:clip;
}
img, picture, video, svg { display:block; max-width:100%; }
img, video { height:auto; }
input, button, select, textarea { font:inherit; color:inherit; }
button { cursor:pointer; background:none; border:0; padding:0; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:.2em; }
ul[role="list"], ol[role="list"] { list-style:none; padding:0; }
h1, h2, h3, h4 { font-weight:400; line-height:1.1; text-wrap:balance; }
p { text-wrap:pretty; }
abbr[title] { text-decoration:none; }
b, strong { font-weight:600; }
[hidden] { display:none !important; }
table { border-collapse:collapse; }
fieldset { border:0; padding:0; min-width:0; }
::selection { background:var(--amber); color:var(--ink); }
main:focus { outline:none; }
:focus-visible { outline:2px solid var(--paper); outline-offset:3px; }
:focus:not(:focus-visible) { outline:none; }

html.lenis, html.lenis body { height:auto; }
html.lenis,.lenis.lenis-smooth { scroll-behavior:auto !important; }
.lenis.lenis-stopped { overflow:hidden; }

@view-transition { navigation:auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration:240ms; animation-timing-function:var(--e-io); }
.site-header { view-transition-name:site-header; }
html[data-motion=off] ::view-transition-group(*), html[data-motion=off] ::view-transition-old(*), html[data-motion=off] ::view-transition-new(*) { animation-duration:0s; }

/* == 3. Utilities == */
.sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }
.skip { position:fixed; top:.75rem; left:.75rem; z-index:300; padding:.75rem 1rem; background:var(--paper); color:var(--char); font-weight:600; border-radius:var(--r-1); text-decoration:none; transform:translateY(-200%); }
.skip:focus { transform:none; outline-color:var(--amber); }
.wrap { width:min(100% - 2 * var(--gutter), var(--wrap)); margin-inline:auto; }
.mono, .eyebrow, .chapter__label, .ptable caption, .ptable th[scope="col"], .form__set legend, .pv__tab, .pv__note {
  font-family:var(--f-mono); font-size:var(--t-0); font-weight:500; line-height:1.4; letter-spacing:.12em; text-transform:uppercase;
}
.eyebrow { display:block; color:var(--mist); margin-bottom:var(--s2); }
.lede { font-size:var(--t-2); line-height:1.45; color:var(--mist); max-width:36rem; }
.accent { font-family:var(--f-serif); font-style:italic; font-weight:400; color:var(--amber); letter-spacing:0; }
br.lg { display:none; }
@media (min-width:1024px) { br.lg { display:inline; } }

/* == 4. Layout primitives == */
.chapter { position:relative; padding-block:var(--chapter); border-top:var(--hair); }
.chapter__grid, .chapter__body { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); column-gap:var(--gap); align-items:start; }
.chapter__grid > *, .chapter__body > * { grid-column:1 / -1; min-width:0; }
@media (min-width:560px) { .chapter__grid, .chapter__body { grid-template-columns:repeat(6, minmax(0, 1fr)); } }
@media (min-width:1024px) {
  .chapter__grid { grid-template-columns:var(--margin-col) var(--c12); }
  .chapter__body { grid-template-columns:var(--c12); }
  .chapter__grid > .chapter__body { grid-column:2 / -1; }
}
.chapter__label { display:block; color:var(--mist); margin-bottom:var(--s4); }
.chapter__num { color:var(--paper); }
@media (max-width:1023px) { .chapter__label--short { font-size:0; margin-bottom:var(--s2); } .chapter__label--short .chapter__num { font-size:var(--t-0); color:var(--mist); } }
@media (min-width:1024px) {
  .chapter__grid > .chapter__label {
    grid-column:1; justify-self:start; align-self:start; position:sticky; top:6rem; margin:0;
    writing-mode:vertical-rl; transform:rotate(180deg); white-space:nowrap;
    padding:0 .25rem 0 .75rem; border-left:var(--hair);
  }
}
.chapter__title { font-size:var(--t-4); line-height:1.02; letter-spacing:-.02em; max-width:14ch; margin-bottom:var(--s3); }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2) var(--s3); margin-top:var(--s4); }

.datum { position:relative; height:1px; }
.datum__line, .curtain__datum, .site-footer__datum, .band__datum, .rail__datum::before { display:block; position:absolute; left:0; right:0; height:1px; background:var(--datum); box-shadow:0 0 8px var(--ember); }
.datum__line { top:0; transform-origin:0 50%; }
.datum__label { position:absolute; right:0; bottom:calc(100% + .625rem); color:var(--mist); white-space:nowrap; display:none; }
@media (min-width:768px) { .datum__label { display:block; } }
.marker { display:block; position:relative; width:12px; height:12px; background:var(--amber); }
.marker::before { content:""; position:absolute; inset:-18px; z-index:-1; pointer-events:none; background:var(--glow); }

.brackets { position:relative; }
.brackets::before { content:""; position:absolute; inset:-6px; z-index:1; pointer-events:none; border:1px solid var(--bracket); -webkit-mask:var(--corners); mask:var(--corners); }

.glass { background:var(--glass); -webkit-backdrop-filter:var(--blur); backdrop-filter:var(--blur); box-shadow:var(--glass-shadow), 0 0 0 1px var(--line); }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) { .glass, .mbar, .site-header::before { background:var(--char-2) !important; } }

.grain { position:relative; isolation:isolate; }
@media (min-width:1024px) and (pointer:fine) {
  .grain::after { content:""; position:absolute; inset:0; z-index:3; pointer-events:none; opacity:.035; mix-blend-mode:overlay; background:var(--grain) 0 0 / 200px; }
  html[data-motion=off] .grain::after, html.save-data .grain::after { content:none; }
}

/* == 5. Buttons, links, chips, motion toggle == */
.btn {
  position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:48px; padding:.625rem 1.375rem; border:1px solid transparent; border-radius:var(--r-1);
  font:500 1rem/1.2 var(--f-sans); text-decoration:none; text-align:center; white-space:nowrap; user-select:none;
  transition:background-color var(--ui), border-color var(--ui), color var(--ui), transform var(--tap);
}
.btn:active { transform:scale(.98); }
.btn--sm { min-height:44px; padding:.5rem .875rem; font-size:.9375rem; }
@media (min-width:1024px) and (pointer:fine) { .btn--sm { min-height:40px; } }
.btn__arrow, .tlink__arrow, .hero-card__arrow { display:inline-block; transition:transform var(--ui); }
.btn:hover .btn__arrow, .tlink:hover .tlink__arrow { transform:translateX(3px); }
.btn--primary { background:var(--amber); color:var(--ink); }
.btn--primary::after { content:""; position:absolute; inset:-14px -20px; z-index:-1; pointer-events:none; background:var(--glow); opacity:0; transition:opacity var(--ui); }
.btn--primary:hover { background:var(--amber-2); }
.btn--primary:hover::after { opacity:1; }
.btn--primary:active { background:var(--amber-deep); }
.btn--ghost { border-color:var(--line-2); color:var(--paper); }
.btn--ghost:hover { border-color:var(--paper); background:var(--char-3); }
.btn[disabled], .btn[aria-disabled="true"] { opacity:.5; pointer-events:none; }

.tlink, .site-footer__links a, .contact__email {
  color:var(--paper); text-decoration:none;
  background:linear-gradient(currentColor, currentColor) 0 calc(50% + .75em) / 0 1px no-repeat;
  transition:background-size var(--ui);
}
.tlink { display:inline-flex; align-items:center; gap:.375rem; min-height:44px; }
.tlink:hover, .site-footer__links a:hover, .contact__email:hover { background-size:100% 1px; }
.tlink__ext { color:var(--amber); }
.faq__a a, .doc a, .contact__aside p a { text-decoration:underline; text-decoration-color:var(--line-2); }
.faq__a a:hover, .doc a:hover, .contact__aside p a:hover { text-decoration-color:currentColor; }

.chip {
  position:relative; display:inline-flex; align-items:center; gap:.5rem; min-height:44px; padding:.5rem 1rem;
  border:1px solid var(--line-2); border-radius:var(--r-pill); color:var(--mist);
  font:500 .9375rem/1.2 var(--f-sans); white-space:nowrap; cursor:pointer;
  transition:border-color var(--tap), color var(--tap);
}
@media (min-width:1024px) and (pointer:fine) { .chip { min-height:38px; } }
.chip:hover, .check:hover .chip { border-color:var(--paper); color:var(--paper); }
.check__input:checked + .chip { border-color:var(--amber); color:var(--amber); }
.check__input:checked + .chip::before { content:""; width:4px; height:4px; background:var(--amber); flex:none; }
.chip--static, .chip--static:hover { cursor:default; min-height:32px; padding:.25rem .75rem; font-size:.875rem; border-color:var(--line-2); color:var(--mist); }

.motion { display:inline-flex; align-items:center; gap:.5rem; min-height:44px; padding:0 .25rem; color:var(--mist); transition:color var(--ui); }
.motion:hover { color:var(--paper); }
.motion__state { min-width:2.2em; text-align:left; }
.motion__knob { position:relative; display:block; flex:none; width:30px; height:16px; border:1px solid var(--line-2); border-radius:var(--r-pill); }
.motion__knob::after { content:""; position:absolute; top:3px; left:3px; width:8px; height:8px; background:var(--mist-2); }
.motion[aria-pressed="true"] .motion__knob::after { background:var(--amber); transform:translateX(14px); transition:transform var(--tap), background-color var(--tap); }
html:not(.js) .motion { display:none; }
/* == 6. Forms == */
.field { position:relative; display:block; min-width:0; }
.field__input {
  display:block; width:100%; min-height:3.5rem; padding:1.5rem .875rem .5rem;
  background:var(--char-2); border:1px solid var(--mist-2); border-radius:var(--r-1);
  font-size:1rem; line-height:1.3; transition:border-color var(--ui), box-shadow var(--ui);
}
.field__input::placeholder { color:transparent; }
textarea.field__input { min-height:8rem; resize:vertical; }
select.field__input {
  appearance:none; -webkit-appearance:none; padding-right:2.5rem; cursor:pointer;
  background-image:linear-gradient(45deg, transparent 50%, var(--mist) 50%), linear-gradient(-45deg, transparent 50%, var(--mist) 50%);
  background-position:right 1.25rem top 55%, right .875rem top 55%; background-size:6px 6px; background-repeat:no-repeat;
}
.field__input:hover { border-color:var(--mist); }
.field__input:focus { outline:2px solid transparent; outline-offset:2px; border-color:var(--amber); box-shadow:0 0 0 4px var(--ember); }
.field__label {
  position:absolute; left:.875rem; right:.875rem; top:1.0625rem; color:var(--mist); line-height:1.3; pointer-events:none;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transform-origin:0 0; transition:transform var(--ui), color var(--ui);
}
.field__input:focus + .field__label, .field__input:not(:placeholder-shown) + .field__label, .field--select .field__label, .field.is-filled .field__label { transform:translateY(-.625rem) scale(.8); }
.field__input:focus + .field__label { color:var(--paper); }
.field__req { color:var(--amber); }
.field__opt { font:500 .75rem var(--f-mono); letter-spacing:.08em; text-transform:uppercase; margin-left:.25rem; }
.field__help { margin-top:.375rem; color:var(--mist); font-size:.9375rem; }
.field__err { margin-top:.375rem; color:var(--amber); font:500 var(--t-0)/1.4 var(--f-mono); letter-spacing:.04em; }
.field.is-invalid .field__input, .field__input[aria-invalid="true"] { border-color:var(--paper); }
.check { position:relative; display:inline-flex; }
.check__input { position:absolute; inset:0; z-index:1; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.check__input:focus-visible + .chip { outline:2px solid var(--paper); outline-offset:3px; }
@media (forced-colors:active) { .check__input:checked + .chip { outline:2px solid Highlight; } .check__input:checked:focus-visible + .chip { outline:5px double Highlight; } .pv__tab[aria-selected="true"] { text-decoration:underline 2px; } }

/* == 7. Tables == */
.table-wrap { overflow-x:auto; max-width:100%; }
.ptable { width:100%; min-width:18rem; text-align:left; border-top:var(--hair); }
.ptable caption { caption-side:top; text-align:left; padding-bottom:var(--s2); color:var(--mist); }
.ptable th[scope="col"] { background:var(--char-2); color:var(--mist); padding:.75rem var(--s2); }
.ptable td, .ptable th[scope="row"] { padding:1rem var(--s2); border-bottom:var(--hair); vertical-align:top; }
.ptable th[scope="row"] { font-weight:500; }
.ptable__price { font-family:var(--f-mono); font-weight:500; color:var(--amber); white-space:nowrap; }
.ptable__terms { color:var(--mist); min-width:12ch; }
@media (max-width:559px) { .ptable { font-size:.9375rem; } .ptable td, .ptable th { padding-inline:.625rem !important; } }

/* == 8. Reveals == */
html.io-ready [data-reveal] { transition:opacity var(--rev), transform var(--rev); transition-delay:calc(min(var(--i, 0), 8) * var(--stagger)); }
html.io-ready [data-reveal]:not(.is-in) { opacity:.001; transform:translateY(24px); }
html.io-ready [data-reveal="line"] { transform-origin:0 50%; transition-property:transform; transition-timing-function:var(--e-io); }
html.io-ready [data-reveal="line"]:not(.is-in) { opacity:1; transform:scaleX(0); }
html.io-ready [data-reveal="clip"] { transition:clip-path var(--cut); }
html.io-ready [data-reveal="clip"]:not(.is-in) { opacity:1; transform:none; clip-path:inset(0 100% 0 0); }
html.io-ready .faq__img[data-reveal="clip"]:not(.is-in) { clip-path:inset(50%); }
html.io-ready[data-motion=off] [data-reveal]:not(.is-in) { opacity:.001; transform:none; clip-path:none; }

/* == 9. Header == */
.site-header { position:sticky; top:0; z-index:50; }
.site-header::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:0;
  background:var(--glass); -webkit-backdrop-filter:var(--blur); backdrop-filter:var(--blur); box-shadow:var(--glass-shadow);
  transition:opacity var(--uio);
}
.site-header.is-scrolled::before { opacity:1; }
.site-header__in { display:flex; align-items:center; gap:.5rem; height:var(--header-h); }
.site-header__brand { display:inline-flex; align-items:center; min-height:44px; margin-right:auto; flex:none; }
.site-header__logo { height:clamp(18px, 4vw, 28px); width:auto; }
.site-header__actions { display:flex; align-items:center; gap:.5rem; flex:none; }
.site-header__cta { display:none; }
@media (min-width:560px) and (max-width:767px) { .site-header__cta { display:inline-flex; } }
@media (min-width:1024px) { .site-header__cta { display:inline-flex; } .site-header__actions { gap:.75rem; } }
.site-header:not(.is-scrolled) .site-header__cta { background:transparent; border-color:var(--line-2); color:var(--paper); }
.site-header:not(.is-scrolled) .site-header__cta:hover { border-color:var(--paper); background:var(--char-3); }
.site-header:not(.is-scrolled) .site-header__cta::after { content:none; }
.page--pricing .site-header:not(.is-scrolled) .site-header__cta { display:none; }
.site-header__datum { position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--line); pointer-events:none; }
.site-header__datum::after { content:""; position:absolute; inset:0; background:var(--amber); transform:scaleX(var(--progress, 0)); transform-origin:0 50%; }
.header-sentinel { position:absolute; top:40px; left:0; width:1px; height:1px; pointer-events:none; visibility:hidden; }

.nav { position:relative; display:none; margin-right:var(--s3); }
@media (min-width:768px) { .nav { display:block; } }
.nav__list { display:flex; flex-wrap:wrap; align-items:center; gap:0 1.25rem; }
@media (min-width:1024px) { .nav { margin-right:var(--s4); } .nav__list { gap:0 2rem; } }
.nav__link { display:inline-flex; align-items:center; min-height:44px; color:var(--mist); text-decoration:none; transition:color var(--uio); }
.nav__link:hover, .nav__link[aria-current="page"], .nav__link.is-spy { color:var(--paper); }
.nav-line, .nav-marker { position:absolute; left:0; pointer-events:none; opacity:0; }
.nav-line { bottom:8px; height:1px; width:var(--w, 0px); background:var(--paper); transform:translateX(var(--x, 0px)); transition:transform var(--uio), width var(--uio), opacity var(--uio); }
.nav:hover .nav-line, .nav:focus-within .nav-line, .nav.is-ready .nav-marker { opacity:1; }
.nav-marker { bottom:0; width:6px; height:6px; background:var(--amber); transform:translateX(calc(var(--x, 0px) - 3px)); transition:transform var(--uio), opacity var(--uio); }
html:not(.js) .nav { display:block; }
html:not(.js) .nav-line, html:not(.js) .nav-marker, html:not(.js) .menu-btn { display:none; }
html:not(.js) .nav__link[aria-current="page"] { box-shadow:inset 0 -2px 0 var(--amber); }
html:not(.js) .site-header__in { flex-wrap:wrap; height:auto; min-height:var(--header-h); }
.menu-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:.5rem .75rem; border:1px solid var(--line-2); border-radius:var(--r-1); transition:border-color var(--ui), background-color var(--ui); }
.menu-btn:hover { border-color:var(--paper); background:var(--char-3); }
@media (min-width:768px) { .menu-btn { display:none; } }

/* == 10. Mobile menu == */
.menu { position:fixed; inset:0; width:100%; max-width:none; height:100%; max-height:none; margin:0; padding:0; border:0; background:var(--char-0); color:var(--paper); overflow-y:auto; overscroll-behavior:contain; }
.menu::backdrop { background:var(--char-0); }
.menu[open] { animation:bp-menu var(--ui) both; }
.menu__in { display:flex; flex-direction:column; min-height:100%; padding-bottom:calc(var(--s4) + env(safe-area-inset-bottom)); }
.menu__top { display:flex; align-items:center; justify-content:space-between; height:var(--header-h); border-bottom:var(--hair); }
.menu__logo { height:20px; width:auto; }
.menu__close { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; margin-right:-.5rem; font-size:2rem; line-height:1; border-radius:var(--r-1); }
.menu__close:hover { background:var(--char-3); }
.menu__nav { padding-block:var(--s4); }
.menu__item { border-bottom:var(--hair); }
.menu[open] .menu__item { animation:bp-rise var(--ui) both; animation-delay:calc(min(var(--i, 0), 8) * var(--stagger)); }
.menu__link { display:flex; align-items:baseline; gap:var(--s2); min-height:44px; padding-block:.5rem; font-size:var(--t-4); line-height:1.02; letter-spacing:-.02em; text-decoration:none; }
.menu__idx { flex:none; width:2.25rem; color:var(--mist); transition:color var(--uio); }
.menu__link:hover .menu__idx { color:var(--amber); }
.menu__foot { margin-top:auto; display:grid; gap:var(--s3); padding-top:var(--s3); }
.menu__email { display:inline-flex; align-items:center; min-height:44px; font-size:var(--t-2); overflow-wrap:anywhere; }
.menu__contact { display:flex; gap:.75rem; }
.menu__contact .btn { flex:1; }
.menu__datum { color:var(--mist); }
html.menu-open { overflow:hidden; }

/* == 11. Mobile bar == */
.mbar {
  position:fixed; left:0; right:0; bottom:0; z-index:45;
  display:grid; grid-template-columns:repeat(4, minmax(0, 1fr));
  height:calc(var(--bar-h) + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom);
  background:var(--glass); -webkit-backdrop-filter:var(--blur); backdrop-filter:var(--blur); box-shadow:inset 0 1px 0 var(--line);
  transition:transform var(--ui);
}
html.io-ready .mbar, html.menu-open .mbar { transform:translateY(100%); }
html.io-ready:not(.menu-open) .mbar.is-visible:not(.is-suppressed) { transform:none; }
.mbar__cell { display:flex; align-items:center; justify-content:center; text-align:center; min-height:44px; padding:0 .25rem; text-decoration:none; letter-spacing:.06em; font-size:var(--t-0); transition:background-color var(--tap); }
.mbar__cell + .mbar__cell { box-shadow:inset 1px 0 0 var(--line); }
.mbar__cell:active { background:var(--char-3); }
.mbar__cell:focus-visible { outline-offset:-4px; }
.mbar__cell--demo { color:var(--amber); }
@media (max-width:399px) { .mbar__long { display:none; } }
@media (max-width:1023px) { body { padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom)); } html { scroll-padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom) + 8px); } }
@media (min-width:1024px) { .mbar { display:none; } }

/* == 12. Custom cursor == */
.cursor { position:fixed; top:0; left:0; z-index:100; width:0; height:0; pointer-events:none; display:none; transform:translate3d(var(--cx, -100px), var(--cy, -100px), 0); }
@media (min-width:1024px) and (pointer:fine) { html.has-cursor:not([data-motion=off]) .cursor { display:block; } }
.cursor::before { content:""; position:absolute; left:-3px; top:-3px; width:6px; height:6px; background:var(--amber); transition:transform var(--ui), opacity var(--ui); }
.cursor__label { position:absolute; left:14px; top:-.7em; white-space:nowrap; color:var(--amber); opacity:0; transition:opacity var(--ui); }
.cursor[data-cursor-state="link"]::before, .cursor[data-cursor-state="drag"]::before { transform:scale(2); }
.cursor[data-cursor-state="drag"] .cursor__label { opacity:1; }
.cursor[data-cursor-state="hidden"]::before { opacity:0; }

/* == 13. Page-transition curtain == */
.curtain { position:fixed; inset:0; z-index:200; pointer-events:none; background:var(--char-0); transform:translateY(100%); visibility:hidden; }
.curtain__datum { top:50%; }
html.is-leaving .curtain { visibility:visible; animation:bp-curtain-in var(--d-curtain) var(--e-io) both; }
html.is-arriving .curtain { visibility:visible; animation:bp-curtain-out var(--d-curtain) var(--e-io) 80ms both; }
/* == 14. Hero == */
.hero {
  --hs:.6; position:relative; isolation:isolate; display:flex; flex-direction:column; overflow:clip;
  min-height:60vh; min-height:60svh; margin-top:calc(-1 * var(--header-h)); padding-top:var(--header-h);
  background:var(--char-0);
}
.hero--home { --hs:1; min-height:100vh; min-height:100svh; }
.hero--privacy { min-height:40vh; min-height:40svh; }
.hero__media { position:absolute; inset:0; z-index:-1; overflow:hidden; background:var(--char-0); }
.hero__pic, .hero__img, .hero__video { width:100%; height:100%; }
.hero__img, .hero__video { object-fit:cover; object-position:62% 50%; }
.hero--services .hero__img { object-position:70% 50%; }
.hero__video { position:absolute; inset:0; opacity:0; transition:opacity var(--rev); }
.hero__video.is-playing { opacity:1; }
.hero__scrim { position:absolute; inset:0; background:linear-gradient(180deg, #14161866, #141618A6 45%, #141618E6); }
@media (min-width:768px) { .hero--services .hero__img { object-position:80% 50%; } }
@media (min-width:1024px) {
  .hero__scrim { background:linear-gradient(90deg, var(--scrim) 0 35%, transparent 70%); }
  .hero--services .hero__scrim { background:linear-gradient(90deg, #141618E6 0 30%, var(--scrim) 50%, transparent 75%); }
}
.hero__grid { position:relative; z-index:1; flex:1; display:grid; grid-template-columns:minmax(0, 1fr); grid-template-rows:1fr auto auto; row-gap:var(--s3); padding-top:var(--s5); }
.hero__top { align-self:end; min-width:0; }
.hero__bottom { align-self:start; display:grid; gap:var(--s4); min-width:0; padding-bottom:var(--s4); }
.hero__eyebrow { margin-bottom:var(--s3); }
.hero__title { font-size:var(--t-5); line-height:.98; letter-spacing:-.025em; max-width:16ch; }
.hero--home .hero__title { max-width:none; }
.hero__lede { color:var(--paper); }
.hero__call { color:var(--mist); }
.hero__call:hover { color:var(--paper); }
.hero__datum { margin-block:var(--s1); }
.hero__marker { position:absolute; left:0; top:-6px; }

.word { display:inline-block; overflow:clip; overflow-clip-margin:.1em; vertical-align:top; padding-bottom:.1em; margin-bottom:-.1em; }
.word__in { display:inline-block; }
.word--accent { padding-right:.08em; margin-right:-.08em; }

.hero-card { display:grid; gap:.5rem; align-self:start; padding:var(--s3); border-radius:var(--r-2); text-decoration:none; transition:box-shadow var(--ui); }
.hero-card:hover { box-shadow:var(--glass-shadow), 0 0 0 1px var(--line-2); }
.hero-card__label, .hero-card__foot { color:var(--mist); }
.hero-card__line { font-size:var(--t-3); font-weight:500; line-height:1.2; }
.hero-card__foot { display:inline-flex; gap:.375rem; align-items:center; transition:color var(--ui); }
.hero-card:hover .hero-card__foot { color:var(--paper); }
.hero-card:hover .hero-card__arrow { transform:translateX(4px); }

.hero__foot { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:var(--s2); padding-block:var(--s2) var(--s3); }
.hero__scroll { display:inline-flex; align-items:center; gap:.75rem; color:var(--mist); }
.hero__scroll-rule { display:block; width:1px; height:32px; background:var(--paper); transform-origin:50% 0; animation:bp-scroll-rule 1.8s var(--e-io) infinite; }

.hero__readouts { display:grid; grid-template-columns:var(--c2); gap:var(--s3) var(--s2); list-style:none; padding:0; }
.hero__readout { display:grid; gap:.375rem; align-content:start; padding:var(--s2); }
.hero__readout-fig { font:500 var(--t-3)/1.1 var(--f-mono); }
.hero__readout-cap { color:var(--mist); }

@media (min-width:768px) {
  .hero__grid { padding-top:var(--s6); }
  .hero__bottom { padding-bottom:var(--s5); }
  .hero__readouts { grid-template-columns:repeat(4, minmax(0, 1fr)); }
}
@media (min-width:1024px) {
  .hero__grid { grid-template-columns:var(--c12); grid-template-rows:minmax(0, 1fr) auto minmax(min-content, .8fr); column-gap:var(--gap); row-gap:var(--s4); }
  .hero__top, .hero__datum, .hero__bottom { grid-column:1 / -1; }
  .hero__top > :not(.hero__title) { max-width:66%; }
  .hero__datum .datum__line { left:50%; right:auto; width:100vw; margin-left:-50vw; }
  .hero__bottom { grid-template-columns:var(--c12); column-gap:var(--gap); }
  .hero__copy { grid-column:1 / span 7; }
  .hero--privacy .hero__copy { grid-column:1 / span 8; }
  .hero-card { grid-column:9 / -1; margin-top:calc(-1 * var(--s4)); border-radius:0 0 var(--r-2) var(--r-2); }
  .hero__readouts { grid-column:8 / -1; grid-template-columns:var(--c2); }
  .hero:not(.hero--home) .hero__grid { grid-template-rows:minmax(0, 1fr) auto auto; }
  /* home fits the first screen; the render's line (46.8 % of the image) sits on --datum-y (set by JS) */
  .hero--home .hero__grid { padding-top:var(--s4); row-gap:var(--s3); }
  .hero--home .hero__bottom { padding-bottom:var(--s3); }
  .hero--home .hero__lede { max-width:44rem; }
  .hero--home .hero__title { font-size:min(var(--t-5), 10.5svh); }
  .hero--home :is(.hero__pic, .hero__video) { position:absolute; left:0; right:0; bottom:auto; height:125%; top:calc(var(--datum-y, 46.8%) - 58.5%); }
}
@media (min-width:1024px) and (max-height:860px) { .hero--home .hero__lede { font-size:var(--t-1); } }

/* == 15. Hero signature moment == */
html.js .hero :is([data-hero], [data-hero="actions"] > *, .word__in, .datum__line, .datum__label), html.js .hero__foot, html.js .hero--home .hero__media { animation:bp-hold 3.5s linear; }
html.js .hero :is([data-hero="title"], [data-hero="actions"], [data-hero="datum"]) { animation:none; }
html.hero-run .hero--home .hero__media { animation:bp-fade var(--rev) both; }
html.hero-run .hero .datum__line { animation:bp-draw var(--cut) calc(100ms * var(--hs)) both; }
html.hero-run .hero .datum__label { animation:bp-fade var(--rev) calc(900ms * var(--hs)) both; }
html.hero-run .hero [data-hero="eyebrow"] { animation:bp-rise var(--rev) calc(900ms * var(--hs)) both; }
html.hero-run .hero [data-hero="marker"] { animation:bp-drop var(--ui) calc(900ms * var(--hs)) both; }
html.hero-run .hero [data-hero="marker"]::before { animation:bp-bloom var(--rev) calc(900ms * var(--hs)) both; }
html.hero-run .hero .word__in { animation:bp-word var(--rev) calc(1000ms * var(--hs) + var(--i, 0) * var(--stagger)) both; }
html.hero-run .hero [data-hero="lede"], html.hero-run .hero__foot { animation:bp-rise var(--rev) calc(1400ms * var(--hs)) both; }
html.hero-run .hero :is([data-hero="card"], [data-hero="readouts"]) { animation:bp-rise var(--rev) calc(1400ms * var(--hs) + 60ms) both; }
html.hero-run .hero [data-hero="actions"] > * { animation:bp-rise var(--rev) calc(1400ms * var(--hs) + 120ms + var(--i, 0) * var(--stagger)) both; }

/* == 16. Ticker == */
.ticker { border-block:var(--hair); }
.ticker__viewport { display:flex; align-items:center; height:48px; overflow:clip; }
.ticker__track { display:flex; width:max-content; animation:bp-marquee 40s linear infinite; }
.ticker__list { display:flex; flex:none; align-items:center; }
.ticker__list li { display:inline-flex; align-items:center; white-space:nowrap; font-size:var(--t-2); line-height:1; color:var(--mist); }
.ticker__list li::after { content:""; flex:none; width:6px; height:6px; margin-inline:var(--s4); background:var(--amber); }
.ticker:hover .ticker__track, .ticker:focus-within .ticker__track { animation-play-state:paused; }
html[data-motion=off] .ticker__list--dup { display:none; }
html[data-motion=off] .ticker__viewport { height:auto; padding-block:var(--s2); }
html[data-motion=off] .ticker__track { width:auto; }
html[data-motion=off] .ticker__list { flex:1; flex-wrap:wrap; justify-content:center; row-gap:.75rem; padding-inline:var(--gutter); }
html[data-motion=off] .ticker__list li { font-size:var(--t-1); }
html[data-motion=off] .ticker__list li::after { margin-inline:var(--s2); }

/* == 17. Home:numbers == */
.num-row { position:relative; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:.5rem var(--gap); align-items:baseline; padding-block:var(--s4); }
.num-row:last-child { border-bottom:var(--hair); }
.num-row__rule { position:absolute; left:0; right:0; top:0; height:1px; background:var(--line); display:block; }
.num-row__fig, .calc__num, .panel__idx { font-size:var(--t-num); font-weight:500; line-height:.9; letter-spacing:-.03em; white-space:nowrap; }
.num-row__fig, .num-row__cap { grid-column:1 / -1; }
.num-row__affix { font-size:.42em; font-weight:400; letter-spacing:0; color:var(--mist); }
.num-row__tail { display:inline-block; }
.num-row__cap { font-size:var(--t-2); line-height:1.45; color:var(--mist); max-width:30ch; }
@media (min-width:560px) {
  .num-row { grid-template-columns:repeat(6, minmax(0, 1fr)); }
  .num-row__fig { grid-column:1 / span 3; }
  .num-row__cap { grid-column:4 / -1; }
}
@media (min-width:1024px) {
  .num-row { grid-template-columns:var(--c12); padding-block:var(--s5); }
  .num-row__fig { grid-column:1 / span 5; }
  .num-row__cap { grid-column:6 / span 6; }
}
/* == 18. Home:text-back story + demo == */
.chapter--story { background:var(--char-0); padding-block:0; }
.story { padding-block:var(--chapter) var(--s6); }
.story.is-pinned { display:flex; align-items:center; min-height:100vh; min-height:100svh; padding-block:calc(var(--header-h) + var(--s4)) var(--s4); }
.story.is-pinned .chapter__title { font-size:min(var(--t-4), 7svh); max-width:none; }
.story.is-pinned .story__lede { font-size:var(--t-1); margin-bottom:var(--s3); }
.story.is-pinned .step { padding-block:.25rem .75rem; }
.story.is-pinned .step__text { font-size:var(--t-1); }
.story.is-pinned .phone { height:min(36rem, 100svh - var(--header-h) - 7rem); min-height:0; }
.story.is-pinned .phone__screen { justify-content:flex-end; }   /* fixed-height pin: late states clip the oldest line, chat-style */
.story__body { row-gap:var(--s5); align-items:center; }
.story__lede { margin-bottom:var(--s5); }
@media (min-width:1024px) { .story__text { grid-column:1 / span 5; } .story__device { grid-column:7 / -1; } }

.steps { position:relative; padding-left:var(--s4); }
.steps__rail { position:absolute; left:0; top:0; bottom:0; width:1px; background:var(--line); container-type:size; }
.steps__marker {
  position:absolute; left:-2.5px; top:.7em; display:block; width:6px; height:6px; background:var(--amber);
  transform:translateY(calc(var(--step, 0) * 5.5rem)); transform:translateY(calc(var(--step, 0) * 25cqh));
  transition:transform var(--uio);
}
.steps__list { display:grid; grid-auto-rows:1fr; }
.step { display:grid; grid-template-columns:2.5rem minmax(0, 1fr); gap:.5rem; padding-block:.5rem var(--s3); color:var(--mist); transition:color var(--uio); }
.step__idx { padding-top:.35em; }
.step__text { font-size:var(--t-2); line-height:1.4; }
.step.is-active { color:var(--paper); }
.step.is-active .step__idx { color:var(--amber); }

.story__device, .ads__device { display:grid; justify-items:center; gap:var(--s3); }
.phone-frame { width:min(22rem, 100%); border-radius:var(--r-phone); }
.story__caption { color:var(--mist); text-align:center; max-width:22rem; }
.phone { position:relative; display:flex; flex-direction:column; min-height:36rem; border-radius:var(--r-phone); overflow:hidden; }
.phone__bar { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:1rem 1.125rem .875rem; border-bottom:var(--hair); }
.phone__bar-label, .phone__chip, .demo__sender, .demo__delivered { font-size:.6875rem; letter-spacing:.08em; }
.phone__bar-label, .demo__sender, .demo__countdown, .demo__meta, .demo__card-row dt, .demo__card-line, .demo__hint { color:var(--mist); }
.phone__chip { flex:none; padding:.25rem .625rem; border:1px solid var(--line-2); border-radius:var(--r-pill); white-space:nowrap; }
.phone:is([data-state="ringing"], [data-state="missed"]) .phone__chip { border-color:var(--amber); color:var(--amber); }
.phone__screen { flex:1; display:flex; flex-direction:column; gap:.875rem; min-height:0; padding:1.125rem; overflow:hidden; }
.phone__controls { display:grid; gap:.75rem; justify-items:center; padding:1rem 1.125rem 1.25rem; border-top:var(--hair); }
.phone__controls .btn { width:100%; }
.demo__idle, .demo__ring { flex:1; display:grid; place-items:center; align-content:center; gap:var(--s3); text-align:center; }
.demo__hint { max-width:16rem; }
.demo__ring-title { font-size:var(--t-3); font-weight:500; }
.demo__pulse { position:relative; display:grid; place-items:center; width:64px; height:64px; border:1px solid var(--line-2); border-radius:50%; }
.demo__pulse-marker { width:14px; height:14px; }
.phone[data-state="ringing"] .demo__pulse-marker { animation:bp-pulse 1s var(--e-io) infinite; }
.demo__thread { display:grid; gap:.875rem; align-content:start; }
.demo__line { display:grid; gap:.375rem; justify-items:start; }
.demo__line--out { justify-items:end; }
.demo__line:not([hidden]), .demo__card:not([hidden]), .demo__chips:not([hidden]) { animation:bp-pop var(--ui) both; }
.demo__missed, .demo__card-label { color:var(--amber); }
.demo__count { display:inline-block; min-width:2ch; text-align:right; }
.demo__bubble { max-width:88%; padding:.75rem .875rem; background:var(--char-2); border-radius:16px 16px 16px 4px; font-size:.9375rem; line-height:1.45; }
.demo__bubble--out { background:var(--amber); color:var(--ink); border-radius:16px 16px 4px 16px; font-weight:500; }
.demo__delivered { display:inline-flex; align-items:center; gap:.375rem; color:var(--ok); }
.demo__tick { display:block; width:9px; height:5px; margin-top:-2px; border:solid var(--ok); border-width:0 0 2px 2px; transform:rotate(-45deg); }
.demo__meta { font-size:.875rem; line-height:1.4; }
.demo__card { display:grid; gap:.75rem; margin-top:auto; padding:.875rem 1rem; border:1px solid var(--line-2); border-radius:var(--r-2); background:var(--char-0); }
.demo__card-list { display:grid; gap:.375rem; }
.demo__card-row { display:grid; grid-template-columns:5rem minmax(0, 1fr); gap:.5rem; align-items:baseline; }
.demo__card-row dd { margin:0; font-weight:500; }
.demo__card-line { font-size:.9375rem; border-top:var(--hair); padding-top:.625rem; }
.demo__chips { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; }
.demo__chip { font-size:.875rem; padding-inline:.875rem; }

.howrun { padding-block:var(--s6) var(--chapter); }
.howrun__list { display:grid; column-gap:var(--gap); margin-top:var(--s2); }
.howrun__item { border-top:var(--hair); padding-block:var(--s3); }
.howrun__title, .calc__title, .xcard__title, .panel__title, .wcard__title, .rest__title, .ads__price h3 { font-size:var(--t-3); font-weight:500; line-height:1.2; }
.howrun__title { margin-bottom:.5rem; }
.howrun__body { color:var(--mist); max-width:34ch; }
@media (min-width:768px) { .howrun__list { grid-template-columns:repeat(3, minmax(0, 1fr)); } }

/* == 19. Home:the math == */
.math__body, .faq__body, .ads__body, .contact__body { row-gap:var(--s5); }
@media (min-width:1024px) {
  .math__intro { grid-column:1 / span 4; position:sticky; top:6rem; }
  .math__plate-wrap { grid-column:5 / -1; }
}
.calc { display:grid; gap:var(--s4); padding:var(--panel-pad); background:var(--char-2); border:1px solid var(--line-2); border-radius:var(--r-2); }
.calc__note { color:var(--mist); margin-top:calc(-1 * var(--s3)); max-width:44ch; }
.slider { display:grid; gap:.625rem; }
.slider__head { display:flex; justify-content:space-between; align-items:baseline; gap:var(--s2); }
.slider__label { display:grid; gap:.25rem; color:var(--mist); }
.slider__help { font:400 .875rem/1.4 var(--f-sans); letter-spacing:0; text-transform:none; }
.slider__readout { flex:none; font-size:1.125rem; letter-spacing:.04em; }

.slider__input { -webkit-appearance:none; appearance:none; width:100%; height:44px; margin:0; background:transparent; cursor:pointer; }
.slider__input:focus-visible { outline:none; }
.slider__input::-webkit-slider-runnable-track { height:4px; background:linear-gradient(90deg, var(--amber) 0 var(--p, 0%), var(--mist-2) var(--p, 0%)); }
.slider__input::-moz-range-track { height:4px; background:var(--mist-2); }
.slider__input::-moz-range-progress { height:4px; background:var(--amber); }
.slider__input::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:20px; height:20px; margin-top:-8px; background:var(--amber); border:0; border-radius:0; transition:box-shadow var(--ui), transform var(--tap); }
.slider__input::-moz-range-thumb { width:20px; height:20px; background:var(--amber); border:0; border-radius:0; transition:box-shadow var(--ui), transform var(--tap); }
.slider__input:hover::-webkit-slider-thumb { box-shadow:0 0 0 10px var(--ember); }
.slider__input:hover::-moz-range-thumb { box-shadow:0 0 0 10px var(--ember); }
.slider__input:active::-webkit-slider-thumb { transform:scale(1.15); }
.slider__input:active::-moz-range-thumb { transform:scale(1.15); }
.slider__input:focus-visible::-webkit-slider-thumb { outline:2px solid var(--paper); outline-offset:3px; }
.slider__input:focus-visible::-moz-range-thumb { outline:2px solid var(--paper); outline-offset:3px; }
.ruler {
  display:flex; justify-content:space-between; margin:-.75rem 10px 0; padding-top:12px;
  background:linear-gradient(90deg, var(--line) 1px, transparent 1px) 0 0 / 10% 6px repeat-x, linear-gradient(var(--line), var(--line)) 100% 0 / 1px 6px no-repeat;
}
.ruler__min, .ruler__max { color:var(--mist); letter-spacing:.04em; }
.calc__out { display:grid; gap:.5rem; align-content:start; min-height:11rem; padding-top:var(--s3); border-top:var(--hair); container-type:inline-size; }
.calc__num { display:block; color:var(--amber); overflow:hidden; font-size:min(var(--t-num), 17cqi); }
.calc__live { display:grid; gap:.5rem; }
.calc__empty, .calc__sentence { font-size:var(--t-2); line-height:1.45; }
.calc__empty, .calc__compare, .calc__foot { color:var(--mist); }
.calc__sentence { max-width:36rem; }
.calc__x { font-weight:600; }
.math__after { margin-top:var(--s3); }

/* == 20. Home:explore == */
.explore { padding-block:var(--chapter); border-top:var(--hair); }
.explore__grid { display:grid; gap:var(--s4) var(--gap); }
@media (min-width:768px) { .explore__grid { grid-template-columns:var(--c2); } }
.xcard { display:flex; flex-direction:column; gap:.75rem; min-height:18rem; padding:var(--panel-pad); background:var(--char-2); border-radius:var(--r-2); box-shadow:0 0 0 1px var(--line); }
.xcard__media { position:absolute; inset:0; overflow:hidden; border-radius:var(--r-2); pointer-events:none; }
.xcard__media::after { content:""; position:absolute; inset:0; background:var(--scrim); }
.xcard__img { width:100%; height:100%; object-fit:cover; opacity:.45; clip-path:inset(0 100% 0 0); transition:clip-path var(--rev); }
.xcard:is(:hover, :focus-within) .xcard__img { clip-path:inset(0); }
.xcard > :not(.xcard__media, .xcard__link) { position:relative; z-index:1; }
.xcard__kicker, .xcard__body { color:var(--mist); }
.xcard__body { max-width:40ch; transition:color var(--ui); }
.xcard:hover .xcard__body { color:var(--paper); }
.xcard__link, .wcard__link { margin-top:auto; align-self:flex-start; }
.xcard__link::after, .wcard__link::after { content:""; position:absolute; inset:0; z-index:2; }
:is(.xcard, .wcard):is(:hover, :focus-within) .tlink__arrow { transform:translateX(4px); }
:is(.xcard, .wcard):has(:is(.xcard__link, .wcard__link):focus-visible) { outline:2px solid var(--paper); outline-offset:3px; }
:is(.xcard, .wcard):has(:focus-visible) :is(.xcard__link, .wcard__link):focus-visible { outline:none; }

/* == 21. Home:FAQ == */
.faq__why { color:var(--mist); max-width:46ch; }
.faq__figure { width:min(100%, 24rem); aspect-ratio:1; margin-top:var(--s5); }
.faq__img { width:100%; height:100%; object-fit:cover; border-radius:var(--r-1); }
@media (min-width:1024px) {
  .faq__aside { grid-column:1 / span 5; position:sticky; top:6rem; }
  .faq__figure { width:80%; }
  .faq__list { grid-column:6 / -1; }
}
@media (min-width:1024px) and (max-height:820px) { .faq__aside { position:static; } }
.faq__list { border-top:var(--hair); }
.faq__item { border-bottom:var(--hair); }
.faq__q { display:grid; grid-template-columns:2.5rem minmax(0, 1fr) 1.5rem; gap:.75rem; align-items:baseline; min-height:44px; padding-block:var(--s3); cursor:pointer; list-style:none; }
.faq__q::-webkit-details-marker { display:none; }
.faq__idx { color:var(--mist); transition:color var(--uio); }
.faq__q:hover .faq__idx, .faq__item[open] .faq__idx { color:var(--amber); }
.faq__title { font-size:var(--t-2); font-weight:500; line-height:1.3; }
.faq__chev { position:relative; width:14px; height:14px; align-self:center; justify-self:end; transition:transform var(--uio); }
.faq__chev::before, .faq__chev::after { content:""; position:absolute; background:var(--paper); }
.faq__chev::before { left:0; right:0; top:6.5px; height:1px; }
.faq__chev::after { top:0; bottom:0; left:6.5px; width:1px; }
.faq__item[open] .faq__chev { transform:rotate(45deg); }
.faq__a { display:grid; grid-template-rows:1fr; transition:grid-template-rows var(--uio); }
.faq__item[open] .faq__a { animation:bp-rows var(--uio); }
.faq__item.is-closing .faq__a { grid-template-rows:0fr; }
.faq__a-in { overflow:hidden; min-height:0; }
.faq__a-in p { color:var(--mist); max-width:62ch; padding:0 0 var(--s3) 3.25rem; }
.faq__actions { margin-top:var(--s5); }

/* == 22. Footer == */
.site-footer { background:var(--char-0); padding-top:var(--s6); }
.site-footer__datum { top:0; }
.site-footer__marker { position:absolute; top:-4px; left:max(var(--gutter), (100% - var(--wrap)) / 2); width:8px; height:8px; }
.site-footer__grid { display:grid; gap:var(--s5) var(--gap); padding-bottom:var(--s5); }
@media (min-width:768px) { .site-footer__grid { grid-template-columns:1.4fr 1fr 1fr; } }
.site-footer__col { display:grid; gap:.5rem; align-content:start; min-width:0; }
.site-footer__logo { height:28px; width:auto; margin-bottom:var(--s2); }
.site-footer__legal-name { font-weight:500; }
.site-footer__coords, .site-footer__h, .site-footer__note, .site-footer__copy { color:var(--mist); }
.site-footer__email { display:inline-flex; align-items:center; min-height:44px; overflow-wrap:anywhere; }
.site-footer__h { margin-bottom:.5rem; }
.site-footer__list { display:grid; gap:.25rem; }
.site-footer__links a { display:inline-flex; align-items:center; min-height:44px; }
@media (min-width:768px) and (pointer:fine) { .site-footer__links a { min-height:36px; } }
.site-footer__base { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--s2) var(--s4); padding-block:var(--s3) var(--s4); border-top:var(--hair); }
.site-footer__note { flex:1 1 28rem; text-transform:none; letter-spacing:.02em; }
/* == 23. Shared bracketed readout == */
.readout { display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:.25rem .5rem; padding:.5rem .75rem; font-family:var(--f-mono); font-weight:500; border-radius:var(--r-1); }

/* == 24. Services:rail == */
.rail__track { display:grid; }
.panel { display:grid; gap:var(--s4); align-items:center; padding-block:var(--s5); border-top:var(--hair); min-width:0; }
.panel:last-child { border-bottom:var(--hair); }
.panel__text { display:grid; gap:var(--s2); align-content:start; min-width:0; }
.panel__idx { opacity:.24; }
.panel__body, .wcard__kicker, .wcard__body, .tier__name, .tier__list li, .ads__price p, .contact__promise, .form__note, .form__compose-label { color:var(--mist); }
.panel__body { max-width:52ch; }
.panel__price { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2) var(--s3); margin-top:var(--s1); }
.panel__readout { font-size:1rem; }
.panel__art { aspect-ratio:16 / 10; border-radius:var(--r-2); min-width:0; }
.panel__img { width:100%; height:100%; object-fit:cover; border-radius:var(--r-2); }
.rail__datum { display:none; }
.rail__after { margin-top:var(--s5); }
@media (min-width:768px) { .panel { grid-template-columns:55fr 45fr; gap:var(--s5); } }
@media (min-width:1024px) and (pointer:fine) {
  .rail.is-pinned { display:flex; flex-direction:column; justify-content:center; min-height:100vh; min-height:100svh; padding:calc(var(--header-h) + var(--s3)) 0 var(--s4); overflow:clip; }
  .rail.is-pinned .rail__viewport { width:100%; overflow:clip; }
  .rail.is-pinned .rail__track { display:flex; gap:var(--s4); width:max-content; padding-inline:var(--gutter); }
  .rail.is-pinned .panel { flex:0 0 70vw; border:0; padding-block:var(--s3); }
  .rail.is-pinned .chapter__title { max-width:none; margin:0; }
  .rail.is-pinned .panel__idx { font-size:clamp(3rem, 9vh, 6rem); }
  .rail.is-pinned .rail__datum { display:flex; align-items:center; gap:var(--s3); position:relative; height:1.5rem; margin-top:var(--s3); }
  .rail__datum::before { content:""; top:50%; }
  .rail__count { position:relative; padding-right:var(--s2); background:var(--char); color:var(--mist); }
  .rail__bar { position:relative; display:block; flex:1; height:2px; background:var(--amber); transform:scaleX(var(--rail-p, 0)); transform-origin:0 50%; }
}

/* == 25. Services:work == */
.work__grid { display:grid; gap:var(--s5) var(--gap); }
@media (min-width:768px) { .work__grid { grid-template-columns:var(--c2); } .work__grid > :nth-child(3) { grid-column:1 / -1; } }
@media (min-width:1024px) { .work__grid { grid-template-columns:repeat(3, minmax(0, 1fr)); } .work__grid > :nth-child(3) { grid-column:auto; } }
.wcard { position:relative; display:flex; flex-direction:column; gap:.75rem; min-width:0; border-radius:var(--r-2); }
.wcard__media { position:relative; display:block; aspect-ratio:16 / 10; overflow:hidden; margin-bottom:var(--s1); border-radius:var(--r-2); background:var(--char-2); box-shadow:0 0 0 1px var(--line); }
.wcard__img { width:100%; height:100%; object-fit:cover; object-position:50% 0; transition:transform var(--rev); }
.wcard:is(:hover, :focus-within) .wcard__img { transform:scale(1.04); }
.wcard__logo { position:absolute; top:var(--s2); left:var(--s2); z-index:1; display:grid; place-items:center; width:40px; height:40px; padding:4px; background:var(--char-2); border-radius:var(--r-1); box-shadow:0 0 0 1px var(--line); }
.wcard__logo img { width:100%; height:100%; object-fit:contain; }
.wcard__kicker { overflow-wrap:anywhere; }
.wcard--next { justify-content:flex-end; min-height:18rem; padding:var(--panel-pad); border-bottom:var(--hair); border-radius:0; }
.wcard--next .wcard__title { max-width:14ch; }
.wcard__marker { position:absolute; left:var(--s3); bottom:-6px; }

/* == 26. Pricing:tiers == */
.band { position:relative; overflow:hidden; aspect-ratio:2688 / 1133; margin-top:var(--s4); border-radius:var(--r-2) var(--r-2) 0 0; background:var(--char-0); }
.band__img { width:100%; height:100%; object-fit:cover; object-position:50% 0; }
.band__datum { bottom:0; z-index:4; }
.tiers { display:grid; gap:var(--s5) var(--gap); margin-top:var(--s5); align-items:start; }
@media (min-width:768px) { .tiers { grid-template-columns:var(--c2); } .tier--full { grid-column:1 / -1; } }
@media (min-width:1280px) { .tiers { grid-template-columns:repeat(3, minmax(0, 1fr)); } .tier--full { grid-column:auto; } }
.tier { display:flex; flex-direction:column; gap:var(--s3); min-width:0; padding:var(--panel-pad); background:var(--char-2); border-radius:var(--r-2); box-shadow:0 0 0 1px var(--line); }
.tier__price { align-self:flex-start; font-size:var(--t-4); line-height:1; letter-spacing:-.02em; color:var(--amber); }
.tier__suffix { font:500 var(--t-0)/1.4 var(--f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--mist); }
.tier__tag, .includes__item, .howprice p { font-size:var(--t-2); line-height:1.4; }
.tier__list, .includes__list, .doc__body ul { list-style:none; padding:0; }
.tier__list { border-top:var(--hair); }
.tier__list li { padding-block:.75rem; border-bottom:var(--hair); }
.tier__cta { align-self:flex-start; margin-top:auto; white-space:normal; }
.includes, .rest { margin-top:var(--s6); }
.includes__list { display:grid; column-gap:var(--gap); }
.includes__item { padding-block:var(--s3); border-top:var(--hair); }
@media (min-width:768px) { .includes__list { grid-template-columns:var(--c2); } }
.rest__title { margin-bottom:var(--s3); }
.howprice { display:grid; gap:var(--s2); margin-top:var(--s5); padding:var(--panel-pad); border:var(--hair); border-radius:var(--r-2); }
.howprice p { max-width:44ch; }

/* == 27. Tier previews == */
.pv { position:relative; min-width:0; border-radius:var(--r-2); }
.pv__screen { position:relative; overflow:hidden; height:17rem; background:var(--char-0); border-radius:var(--r-2); box-shadow:0 0 0 1px var(--line); font-size:.8125rem; line-height:1.35; }
.pv--starter .pv__screen { display:flex; flex-direction:column; }
.pv__bar { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.625rem .75rem; border-bottom:var(--hair); }
.pv__bar .marker { width:8px; height:8px; background:var(--mist-2); }
.pv__bar .marker::before { content:none; }
.pv__pill, .pv__send { display:inline-flex; align-items:center; padding:.2rem .6rem; background:var(--paper); color:var(--ink); font-size:.6875rem; font-weight:600; white-space:nowrap; }
.pv__pill { border-radius:var(--r-pill); }
.pv__hero { display:grid; gap:.4rem; align-content:center; min-height:5rem; padding:.875rem .75rem; background:var(--char-2); }
.pv__rows { display:grid; gap:.375rem; padding:.75rem; }
.pv__row { display:flex; align-items:center; gap:.5rem; }
.pv__dot { flex:none; width:6px; height:6px; background:var(--line-2); }
.pv__line { display:block; width:100%; height:6px; background:var(--line-2); border-radius:var(--r-1); }
.pv__line--short { width:55%; }
.pv__line--title { width:70%; height:10px; background:var(--mist-2); }
.pv__strip { margin-top:auto; height:3.75rem; overflow:hidden; }
.pv__strip img, .pv__gallery img { width:100%; height:100%; object-fit:cover; }
.pv__tabs { position:relative; display:flex; overflow-x:auto; scrollbar-width:none; border-bottom:var(--hair); -webkit-mask:linear-gradient(90deg, #000 calc(100% - 1.5rem), #0005); mask:linear-gradient(90deg, #000 calc(100% - 1.5rem), #0005); }
.pv__tabs::-webkit-scrollbar { display:none; }
.pv__tab { flex:none; min-height:44px; padding:.5rem; font-size:.6875rem; letter-spacing:.04em; color:var(--mist); white-space:nowrap; transition:color var(--uio); }
.pv__tab:hover, .pv__tab[aria-selected="true"] { color:var(--paper); }
.pv__tab:focus-visible { outline-offset:-4px; }
.pv__panel:focus-visible { outline-offset:-3px; }
.pv__tabline { position:absolute; left:0; bottom:0; height:2px; width:var(--w, 0px); background:var(--amber); transform:translateX(var(--x, 0px)); pointer-events:none; transition:transform var(--uio), width var(--uio); }
.pv__panels { display:grid; height:calc(100% - 45px); }
.pv__panel { grid-area:1 / 1; display:flex; flex-direction:column; gap:.5rem; min-height:0; padding:.75rem; overflow:hidden; opacity:0; visibility:hidden; transition:opacity var(--uio), visibility 0s linear var(--d-ui); }
.pv__panel.is-on { opacity:1; visibility:visible; transition:opacity var(--uio), visibility 0s; }
html:not(.js) .pv__tabs { display:none; }
html:not(.js) .pv__screen, html:not(.js) .pv__panels { height:auto; }
html:not(.js) .pv__panel { grid-area:auto; opacity:1; visibility:visible; min-height:12rem; border-top:var(--hair); }
.pv__panel .pv__hero { flex:1; border-radius:var(--r-1); }
.pv__gallery { flex:1; display:grid; grid-template:var(--c2) / var(--c2); gap:.375rem; min-height:0; }
.pv__gallery img { border-radius:var(--r-1); }
.pv__about { display:grid; gap:.5rem; padding-top:.25rem; }
.pv__contact { flex:1; display:grid; grid-template-columns:1.3fr 1fr; gap:.5rem; min-height:0; }
.pv__form { display:grid; gap:.375rem; align-content:start; }
.pv__field { display:flex; align-items:center; min-height:1.75rem; padding:.25rem .5rem; border:1px solid var(--line-2); border-radius:var(--r-1); color:var(--mist); font-size:.75rem; }
.pv__field--tall { min-height:2.75rem; align-items:flex-start; }
.pv__send { justify-self:start; min-height:32px; padding-inline:.875rem; font-size:.75rem; border-radius:var(--r-1); }
.pv__sent { display:flex; align-items:center; gap:.375rem; color:var(--ok); font:500 .75rem/1.4 var(--f-mono); letter-spacing:.06em; }
.pv__map { position:relative; border-radius:var(--r-1); background:repeating-linear-gradient(0deg, transparent 0 14px, var(--line) 14px 15px), repeating-linear-gradient(90deg, transparent 0 14px, var(--line) 14px 15px), var(--char-2); }
.pv__pin { position:absolute; left:55%; top:45%; width:10px; height:10px; }
.pv__note { color:var(--mist); font-size:.6875rem; letter-spacing:.08em; }
.pv__ba { --x:50%; position:relative; flex:1; min-height:0; margin:-.75rem; overflow:hidden; }
.pv__ba-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pv__ba-img--after { clip-path:inset(0 0 0 var(--x)); }
.pv__ba-handle { position:absolute; top:0; bottom:0; left:var(--x); width:2px; margin-left:-1px; background:var(--paper); pointer-events:none; }
.pv__ba-handle::after { content:""; position:absolute; left:50%; top:50%; width:20px; height:20px; margin:-10px 0 0 -10px; background:var(--amber); transition:box-shadow var(--ui); }
.pv__ba:hover .pv__ba-handle::after { box-shadow:0 0 0 10px var(--ember); }
.pv__ba-range { position:absolute; inset:0; z-index:2; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; -webkit-appearance:none; appearance:none; }
.pv__ba-range:focus-visible + .pv__ba-handle::after { outline:2px solid var(--paper); outline-offset:3px; }
.pv__ba-tag { position:absolute; top:.5rem; z-index:1; padding:.125rem .375rem; background:var(--scrim); border-radius:var(--r-1); font-size:.6875rem; letter-spacing:.08em; pointer-events:none; }
.pv__ba-tag--l { left:.5rem; }
.pv__ba-tag--r { right:.5rem; }
.pv__reviews { position:relative; flex:1; min-height:0; overflow:hidden; }
.pv__reviews::after { content:""; position:absolute; inset:auto 0 0; height:2rem; background:linear-gradient(transparent, var(--char-0)); }
.pv__reviews-track { display:grid; gap:.625rem; animation:bp-drift 24s linear infinite; }
.pv__review { display:grid; gap:.3rem; padding-bottom:.625rem; border-bottom:var(--hair); }
.pv__stars { color:var(--amber); font-size:.75rem; line-height:1; letter-spacing:.15em; }
.pv__est, .pv__step { display:grid; gap:.625rem; align-content:start; }
.pv__step { animation:bp-fade var(--uio) both; }
.pv__step-label { color:var(--mist); }
.pv__chips, .pv__integrations { display:flex; flex-wrap:wrap; gap:.375rem; }
.pv__chips .chip { min-height:36px; padding:.25rem .75rem; font-size:.8125rem; }
@media (pointer:coarse) { .pv__send, .pv__chips .chip { min-height:44px; } }
.pv__done { font-size:.875rem; line-height:1.45; }
.pv__qa { display:flex; justify-content:space-between; gap:.5rem; padding-block:.625rem; border-bottom:var(--hair); }
.pv__qa::after { content:"+"; color:var(--mist); }
.pv__integrations { margin-top:var(--s2); }

/* == 28. Pricing:ad builder == */
@media (min-width:1024px) {
  .ads__intro { grid-column:1 / span 5; grid-row:1; }
  .ads__more { grid-column:1 / span 5; grid-row:2; }
  .ads__device { grid-column:7 / -1; grid-row:1 / span 2; position:sticky; top:6rem; }
}
.ads__controls { display:grid; gap:var(--s3); margin-top:var(--s4); }
.chip-group { display:flex; flex-wrap:wrap; gap:.5rem; }
.track { display:grid; grid-template-columns:var(--c2); list-style:none; padding:0; margin-top:var(--s2); }
@media (min-width:560px) { .track { grid-template-columns:repeat(4, minmax(0, 1fr)); } }
.track__cell { padding:var(--s2) .75rem; margin:0 -1px -1px 0; border:var(--hair); text-align:center; }
.ads__price { margin-top:var(--s5); }
.ads__price h3 { margin-bottom:.5rem; }
.ads__price p { max-width:44ch; }
.ad {
  --fb-bg:#18191A; --fb-card:#242526; --fb-hover:#3A3B3C; --fb-btn:#4E4F50; --fb-text:#E4E6EB;
  --fb-muted:#B0B3B8; --fb-line:#3E4042; --fb-like:#2D88FF; --fb-love:#F33E58;
  position:relative; overflow:hidden; border-radius:var(--r-phone); background:var(--fb-bg); color:var(--fb-text); font-size:.875rem; line-height:1.35;
}
.ad__status { display:flex; justify-content:space-between; align-items:center; padding:.625rem 1.25rem .375rem; font-size:.75rem; font-weight:600; }
.ad__status-icons { display:inline-flex; gap:.25rem; align-items:center; }
.ad__status-icons i { display:block; width:14px; height:7px; border:1px solid; border-radius:2px; }
.ad__feed { background:var(--fb-card); }
.ad__head { display:flex; align-items:center; gap:.5rem; padding:.75rem .75rem .5rem; }
.ad__avatar { flex:none; width:36px; height:36px; background:var(--amber); border-radius:var(--r-1); }
.ad__who { display:grid; min-width:0; }
.ad__name, .ad__headline, .ad__cta, .ad__social span { font-weight:600; }
.ad__sponsored, .ad__domain, .ad__desc, .ad__reacts, .ad__menu, .ad__social span { color:var(--fb-muted); }
.ad__sponsored { display:inline-flex; align-items:center; gap:.25rem; font-size:.75rem; }
.ad__globe { width:11px; height:11px; }
.ad__menu { margin-left:auto; letter-spacing:.1em; }
.ad__text { padding:0 .75rem .625rem; }
.ad__media { position:relative; aspect-ratio:4 / 5; overflow:hidden; background:var(--fb-hover); }
.ad__img { width:100%; height:100%; object-fit:cover; transition:opacity var(--uio), clip-path var(--uio); }
.ad__link { display:flex; align-items:center; gap:.625rem; padding:.625rem .75rem; background:var(--fb-hover); }
.ad__link-copy { flex:1; display:grid; gap:.1rem; min-width:0; }
.ad__domain { font-size:.6875rem; text-transform:uppercase; letter-spacing:.02em; }
.ad__headline { overflow-wrap:anywhere; }
.ad__desc { font-size:.75rem; }
.ad__cta { flex:none; padding:.45rem .75rem; border-radius:6px; background:var(--fb-btn); font-size:.8125rem; white-space:nowrap; }
.ad__reacts { display:flex; align-items:center; gap:.25rem; padding:.5rem .75rem; font-size:.75rem; }
.ad__react { width:16px; height:16px; border:2px solid var(--fb-card); border-radius:50%; background:var(--fb-like); }
.ad__react--love { margin-left:-6px; background:var(--fb-love); }
.ad__social { display:grid; grid-template-columns:repeat(3, 1fr); margin-inline:.75rem; border-top:1px solid var(--fb-line); }
.ad__social span { padding-block:.5rem; text-align:center; font-size:.8125rem; }
.ad :is(.ad__text, .ad__headline, .ad__desc, .ad__cta, .ad__overlay-text) { transition:opacity var(--d-tap) linear; }
.ad.is-swap .ad__img { opacity:0; clip-path:inset(0 100% 0 0); }
.ad.is-swap :is(.ad__text, .ad__headline, .ad__desc, .ad__cta, .ad__overlay-text) { opacity:0; }
.ad__story { position:relative; aspect-ratio:9 / 16; overflow:hidden; background:#000; color:#fff; }
.ad__story .ad__img { position:absolute; inset:0; }
.ad__story::after { content:""; position:absolute; inset:40% 0 0; background:linear-gradient(transparent, #000C); pointer-events:none; }
.ad__segs { position:absolute; top:.625rem; left:.625rem; right:.625rem; z-index:2; display:grid; grid-template-columns:repeat(4, 1fr); gap:3px; }
.ad__segs i { display:block; height:2px; border-radius:1px; background:#FFF5; }
.ad__segs i:first-child { background:linear-gradient(90deg, #fff 0 60%, #FFF5 60%); }
.ad__story-head { position:absolute; top:1.25rem; left:.75rem; right:.75rem; z-index:2; display:flex; align-items:center; gap:.5rem; }
.ad__story-head .ad__avatar { width:30px; height:30px; }
.ad__story-head .ad__sponsored { color:#FFFC; }
.ad__overlay { position:absolute; left:.875rem; right:.875rem; bottom:4.5rem; z-index:2; font-size:.9375rem; line-height:1.4; font-weight:500; }
.ad__story-cta { position:absolute; left:50%; bottom:1rem; z-index:2; display:grid; justify-items:center; gap:.125rem; transform:translateX(-50%); font-size:.8125rem; font-weight:600; }
.ad__chev { width:10px; height:10px; margin-top:4px; border:solid #fff; border-width:2px 0 0 2px; transform:rotate(45deg); }
.ad:not([data-place="story"]) .ad__story, .ad[data-place="story"] .ad__feed { display:none; }

/* == 29. Pricing:contact == */
@media (min-width:1024px) {
  .contact__form-wrap { grid-column:1 / span 7; }
  .contact__aside { grid-column:9 / -1; position:sticky; top:6rem; }
}
.form { display:grid; gap:var(--s3); padding:var(--panel-pad); border-radius:var(--r-2); }
.form__grid { display:grid; gap:var(--s2); }
@media (min-width:560px) { .form__grid { grid-template-columns:var(--c2); } .form__grid > .form__set { grid-column:1 / -1; } }
.form__set { display:grid; gap:.75rem; }
.form__set legend { margin-bottom:.75rem; color:var(--mist); }
.form__chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.form__actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2) var(--s3); }
.form__hp { position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form__status:not(:empty) { min-height:1.5em; }
.form__compose { display:grid; gap:.75rem; padding:var(--s3); border:1px solid var(--line-2); border-radius:var(--r-2); background:var(--char-0); }
.form__pre { max-height:18rem; overflow:auto; padding:var(--s2); background:var(--char-2); border-radius:var(--r-1); font:.8125rem/1.5 var(--f-mono); white-space:pre-wrap; overflow-wrap:anywhere; }
.form__copy { justify-self:start; }
.form__sent { padding-block:var(--s4); font-size:var(--t-3); line-height:1.25; }
.form__sent::before { content:""; display:block; width:12px; height:12px; margin-bottom:var(--s3); background:var(--amber); }
.contact__aside { display:grid; gap:var(--s3); align-content:start; }
.contact__email { justify-self:start; display:inline-flex; align-items:center; min-height:44px; font-size:var(--t-3); font-weight:500; line-height:1.2; overflow-wrap:anywhere; background-position:0 100%; }
.contact__promise { max-width:32ch; }
.contact__aside .actions { margin-top:0; }

/* == 30. Privacy == */
.doc { padding-block:var(--s6) var(--chapter); border-top:var(--hair); }
.doc__body { max-width:62ch; min-width:0; }
@media (min-width:1024px) { .doc__grid { display:grid; grid-template-columns:var(--c12); column-gap:var(--gap); } .doc__body { grid-column:3 / 11; } }
.doc__body > :is(p, ul) { margin-bottom:var(--s3); color:var(--mist); }
.doc__body > p:first-child { font-size:var(--t-2); line-height:1.45; color:var(--paper); }
.doc__body h2 { margin:var(--s5) 0 var(--s2); padding-top:var(--s3); border-top:var(--hair); font-size:var(--t-3); font-weight:500; line-height:1.2; }
.doc__body h3 { margin:var(--s4) 0 .75rem; font-size:var(--t-2); font-weight:500; }
.doc__body ul { border-top:var(--hair); }
.doc__body li { padding-block:.75rem; border-bottom:var(--hair); }
.doc__body strong { color:var(--paper); }

/* == 31. Keyframes == */
@keyframes bp-hold { from, to { opacity:0; } }
@keyframes bp-fade { from { opacity:0; } }
@keyframes bp-rise { from { opacity:0; transform:translateY(24px); } }
@keyframes bp-pop { from { opacity:0; transform:translateY(8px); } }
@keyframes bp-menu { from { opacity:0; transform:translateY(-8px); } }
@keyframes bp-drop { from { opacity:0; transform:translateY(-16px); } }
@keyframes bp-word { from { transform:translateY(110%); } }
@keyframes bp-draw { from { transform:scaleX(0); } }
@keyframes bp-bloom { 0% { opacity:0; transform:scale(.4); } 50% { opacity:1; transform:scale(1.6); } }
@keyframes bp-curtain-in { from { transform:translateY(100%); } to { transform:none; } }
@keyframes bp-curtain-out { from { transform:none; } to { transform:translateY(-100%); } }
@keyframes bp-marquee { to { transform:translateX(-50%); } }
@keyframes bp-drift { to { transform:translateY(-50%); } }
@keyframes bp-pulse { 50% { transform:scale(1.4); } }
@keyframes bp-rows { from { grid-template-rows:0fr; } }
@keyframes bp-scroll-rule { 0% { transform:scaleY(0); transform-origin:50% 0; } 50% { transform:scaleY(1); transform-origin:50% 0; } 50.01% { transform:scaleY(1); transform-origin:50% 100%; } 100% { transform:scaleY(0); transform-origin:50% 100%; } }

/* == 32. Motion off == */
html[data-motion=off] { scroll-behavior:auto; }
html[data-motion=off] *, html[data-motion=off] *::before, html[data-motion=off] *::after { animation:none !important; transition-duration:0s !important; transition-delay:0s !important; }
html[data-motion=off] [data-reveal] { transition:opacity 200ms linear !important; }
html[data-motion=off] :is(.hero__video, .cursor, .curtain) { display:none !important; }

@media (prefers-reduced-motion:reduce) {
  html:not([data-motion=on]) { scroll-behavior:auto; }
  html:not([data-motion=on]) *, html:not([data-motion=on]) *::before, html:not([data-motion=on]) *::after { animation-duration:1ms !important; animation-delay:0s !important; animation-iteration-count:1 !important; transition-duration:1ms !important; transition-delay:0s !important; }
  html:not([data-motion=on]) :is(.hero__video, .cursor) { display:none !important; }
}

/* == 33. Print == */
@media print {
  :root { --paper:#000; --mist:#333; --char:#fff; --char-0:#fff; --char-2:#fff; }
  :is(.site-header, .menu, .mbar, .cursor, .curtain, .hero__media, .ticker, .motion, .phone__controls, .skip) { display:none !important; }
  body { padding:0; }
  *, *::before, *::after { animation:none !important; }
  [data-reveal] { opacity:1 !important; transform:none !important; clip-path:none !important; }
}
