/* Archora Studio: site styles.
   Tokens from website/design/design-system.md (section 11). Plain CSS, no build step.
   Icons: Lucide (ISC licence, see assets/LICENSE-lucide.txt). Fonts: Urbanist and Syne (SIL OFL 1.1, see assets/fonts/). */

/* ---------- Fonts (self-hosted) ---------- */
@font-face{font-family:"Urbanist";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/urbanist-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Urbanist";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/urbanist-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Syne";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/syne-600-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Syne";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/syne-600-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Urbanist Fallback";src:local("Segoe UI"),local("Helvetica Neue"),local("Arial");size-adjust:100%;ascent-override:95%;descent-override:25%;line-gap-override:0%}

/* ---------- Tokens ---------- */
:root{
  --ink:#17151F; --ink-800:#221F2C; --ink-700:#2E2A3A; --ink-650:#3A3647; --ink-600:#57546A;
  --ink-500:#6B687C; --ink-400:#8C889C; --ink-350:#6E6A80; --ink-300:#B7B4C4; --ink-200:#DEDBE6; --ink-100:#E9E7EF;
  --paper:#F3F2F6; --paper-50:#FBFAFD; --white:#FFFFFF;
  --teal:#27B39B; --teal-700:#0F7564; --teal-tint:#E2F3EF;
  --violet:#7B61E8; --violet-600:#6A4FD9; --violet-300:#A796F2; --violet-tint:#ECE8FC;
  --danger:#B42318; --danger-tint:#FDECEA;
  --aurora:linear-gradient(90deg,#27B39B 0%,#7B61E8 100%);
  --aurora-v:linear-gradient(180deg,#27B39B 0%,#7B61E8 100%);
  --bg:var(--paper); --surface:var(--paper-50); --surface-2:var(--ink-100); --surface-input:var(--white);
  --text:var(--ink); --text-2:var(--ink-600); --text-3:var(--ink-500);
  --line:var(--ink-200); --line-strong:var(--ink-400); --focus:var(--violet-600); --accent-text:var(--violet-600);
  --glass-bg:rgba(251,250,253,.72); --glass-bg-strong:rgba(251,250,253,.84); --glass-border:rgba(222,219,230,.9);
  --btn-bg:var(--ink); --btn-text:var(--paper); --btn-bg-hover:var(--ink-700);
  --btn2-bg:rgba(251,250,253,.8); --btn2-text:var(--ink); --btn2-border:var(--ink-200);
  --font-sans:"Urbanist","Urbanist Fallback",ui-sans-serif,system-ui,sans-serif;
  --font-brand:"Syne","Urbanist",ui-sans-serif,sans-serif;
  --radius-lg:1.875rem; --radius-md:1.25rem; --radius-sm:.75rem; --radius-pill:999px;
  --shadow-float:0 1px 2px rgba(23,21,31,.04),0 12px 32px -12px rgba(23,21,31,.18);
  --shadow-card:0 1px 2px rgba(23,21,31,.04),0 6px 20px -10px rgba(23,21,31,.12);
  --glass-bevel:inset 6px -6px 6px rgba(194,194,194,.10),inset -6px 6px 6px rgba(255,255,255,.10);
  --container-max:80rem; --gutter:1.25rem; --section-y:4rem; --hero-top:6.5rem; --head-gap:2.5rem;
  --dur-1:120ms; --dur-2:200ms; --dur-3:320ms; --dur-4:560ms;
  --ease-out:cubic-bezier(.22,1,.36,1); --ease-standard:cubic-bezier(.2,0,0,1); --ease-in-out:cubic-bezier(.65,0,.35,1);
  --fs-display:clamp(2.5rem,1.6rem + 3.2vw,4rem);
  --fs-h1:2.125rem; --fs-h2:1.875rem; --fs-h3:1.375rem; --fs-h4:1.125rem; --fs-lead:1.125rem; --fs-body:1rem;
  --fs-small:.9375rem; --fs-caption:.8125rem; --fs-stat:1.75rem; --fs-button:1rem; --fs-nav:.9375rem;
}
@media (min-width:768px){:root{--gutter:2rem;--section-y:5rem;--hero-top:8rem;--head-gap:3rem;--fs-h1:3rem;--fs-h2:2.25rem;--fs-h3:1.5rem;--fs-h4:1.1875rem;--fs-lead:1.1875rem;--fs-body:1.0625rem;--fs-stat:2rem}}
@media (min-width:992px){:root{--gutter:2.5rem;--section-y:6rem;--hero-top:8.5rem;--head-gap:3.5rem;--fs-h1:3.5rem;--fs-h2:2.75rem;--fs-h3:1.75rem;--fs-h4:1.25rem;--fs-lead:1.25rem;--fs-stat:2.25rem}}
@media (max-width:767.98px){:root{--radius-lg:1.5rem}}
@media (max-width:479.98px){:root{--fs-button:.9375rem}}
.theme-dark{
  --bg:var(--ink); --surface:var(--ink-800); --surface-2:var(--ink-700);
  --text:var(--paper); --text-2:var(--ink-300); --text-3:var(--ink-300);
  --line:var(--ink-650); --line-strong:var(--ink-350); --focus:var(--violet-300); --accent-text:var(--violet-300);
  --glass-bg:rgba(34,31,44,.72); --glass-bg-strong:rgba(23,21,31,.74); --glass-border:rgba(255,255,255,.08);
  --btn-bg:var(--paper); --btn-text:var(--ink); --btn-bg-hover:var(--white);
  --btn2-bg:transparent; --btn2-text:var(--paper); --btn2-border:var(--ink-350);
  background:var(--bg); color:var(--text);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:6rem;scroll-behavior:smooth;interpolate-size:allow-keywords}
@media (min-width:992px){html.has-subnav{scroll-padding-top:9.5rem}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:500;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.is-locked{overflow:hidden}
img,picture,video,svg{display:block;max-width:100%}
img,video{height:auto}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;color:var(--text);text-wrap:balance}
h1,.h1{font-size:var(--fs-h1);line-height:1.1;font-weight:700;letter-spacing:-.02em}
h2,.h2{font-size:var(--fs-h2);line-height:1.15;font-weight:700;letter-spacing:-.015em}
h3,.h3{font-size:var(--fs-h3);line-height:1.2;font-weight:600;letter-spacing:-.01em}
.h4{font-size:var(--fs-h4);line-height:1.3;font-weight:600;letter-spacing:0}
.display{font-size:var(--fs-display);line-height:1.05;font-weight:700;letter-spacing:-.025em;max-width:14ch}
p{margin:0 0 1rem;color:var(--text-2);max-width:65ch;text-wrap:pretty}
p:last-child{margin-bottom:0}
.lead{font-size:var(--fs-lead);line-height:1.5;font-weight:500;color:var(--text-2);max-width:48ch}
.small{font-size:var(--fs-small);line-height:1.5}
.caption{font-size:var(--fs-caption);line-height:1.45;letter-spacing:.01em;color:var(--text-3)}
ul,ol{color:var(--text-2)}
a{color:var(--text);text-decoration-color:var(--accent-text);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
:focus:not(:focus-visible){outline:none}
main:focus{outline:none}
::selection{background:var(--violet-tint);color:var(--ink)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.tbd{font-style:italic;color:var(--text-3);font-weight:500}
.theme-dark .tbd{color:var(--ink-300)}
[hidden]{display:none!important}
.icon{width:1.25rem;height:1.25rem;flex:none}

/* ---------- Layout ---------- */
.container{width:100%;max-width:calc(var(--container-max) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.section{position:relative;padding-block:var(--section-y);isolation:isolate}
.section--flush-top{padding-top:0}
.section--alt{background:var(--surface-2)}
.section-head{margin-bottom:var(--head-gap)}
.section-head > p{margin-top:1rem}
.split-header{display:grid;gap:1rem 3rem;margin-bottom:var(--head-gap)}
.split-header > div > p{margin-top:1rem}
@media (min-width:992px){.split-header{grid-template-columns:1fr 1fr;align-items:end}.split-header > p{margin:0;justify-self:start}}
.stack-actions{margin-top:2rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem}
@media (max-width:479.98px){.stack-actions--full{flex-direction:column;align-items:stretch}.stack-actions--full > .btn{width:100%}.stack-actions--full > .link-arrow{align-self:center}}
.prose{max-width:44rem}
.prose h2{margin:3rem 0 1rem;font-size:var(--fs-h3)}
.prose h2:first-child{margin-top:0}
.prose ul{padding-left:1.25rem;margin:0 0 1rem}
.prose li{margin-bottom:.5rem}
.prose li::marker{color:var(--text-3)}

/* ---------- Patterns ---------- */
.pattern{position:absolute;z-index:-1;pointer-events:none;color:rgba(23,21,31,.10);height:auto}
.pattern path{vector-effect:non-scaling-stroke}
.theme-dark .pattern{color:rgba(243,242,246,.07)}
.pattern--hero{top:0;right:0;width:90%;-webkit-mask-image:radial-gradient(120% 100% at 100% 0%,#000 0%,transparent 70%);mask-image:radial-gradient(120% 100% at 100% 0%,#000 0%,transparent 70%)}
@media (min-width:992px){.pattern--hero{width:40%}}
.pattern--bl{left:0;bottom:0;width:90%;-webkit-mask-image:radial-gradient(120% 100% at 0% 100%,#000 0%,transparent 70%);mask-image:radial-gradient(120% 100% at 0% 100%,#000 0%,transparent 70%)}
@media (min-width:992px){.pattern--bl{width:30%}}
.pattern--lm{left:0;top:30%;width:90%;-webkit-mask-image:radial-gradient(100% 100% at 0% 50%,#000 0%,transparent 70%);mask-image:radial-gradient(100% 100% at 0% 50%,#000 0%,transparent 70%)}
@media (min-width:992px){.pattern--lm{width:30%}}
.pattern--arches{left:50%;bottom:0;width:min(100%,50rem);transform:translateX(-50%);color:rgba(23,21,31,.07)}
.theme-dark .pattern--arches{color:rgba(243,242,246,.08)}
.pattern--footer{left:0;top:0;width:100%;color:rgba(23,21,31,.06);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 60%);mask-image:linear-gradient(180deg,#000 0%,transparent 60%)}

/* ---------- Skip link ---------- */
.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:200;background:var(--ink);color:var(--paper);padding:.75rem 1.25rem;border-radius:999px;font-weight:600;text-decoration:none;transform:translateY(-200%);transition:transform var(--dur-2) var(--ease-out)}
.skip-link:focus{transform:none}

/* ---------- Eyebrow, tags, chips ---------- */
.eyebrow{display:flex;align-items:center;gap:.625rem;margin:0 0 .75rem;font-family:var(--font-brand);font-weight:600;font-size:.75rem;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}
.eyebrow::before{content:"";width:16px;height:2px;background:var(--aurora);flex:none}
.tag{display:inline-flex;align-items:center;gap:.4rem;padding:.375rem .75rem;border-radius:999px;background:var(--surface-2);color:var(--text-2);font-family:var(--font-brand);font-weight:600;font-size:.75rem;line-height:1.1;letter-spacing:.1em;text-transform:uppercase}
.tag--sample{background:var(--teal-tint);color:var(--teal-700)}
.tag--sample::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal);flex:none}
.tag--request{background:var(--violet-tint);color:var(--violet-600)}
.tag--request::before{content:"";width:6px;height:6px;border-radius:50%;border:1.5px solid var(--violet);flex:none}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.chip{position:absolute;left:.75rem;bottom:.75rem;z-index:3;display:inline-flex;align-items:center;max-width:calc(100% - 5rem);padding:.375rem .75rem;border-radius:999px;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text);font-family:var(--font-sans);font-weight:600;font-size:.8125rem;line-height:1.2;pointer-events:none}
.chip--tl{top:.75rem;bottom:auto}
.chip--tr{top:.75rem;bottom:auto;left:auto;right:.75rem}
@media (min-width:768px){.chip{left:1rem;bottom:1rem}.chip--tl,.chip--tr{top:1rem;bottom:auto}.chip--tr{left:auto;right:1rem}}
.chip__long{display:none}
@media (min-width:768px){.chip__long{display:inline}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.5rem 1.75rem;border-radius:999px;border:1px solid transparent;font-family:var(--font-sans);font-weight:600;font-size:var(--fs-button);line-height:1.2;letter-spacing:.005em;text-align:center;text-decoration:none;cursor:pointer;transition:background-color var(--dur-2) var(--ease-standard),color var(--dur-2) var(--ease-standard),border-color var(--dur-2) var(--ease-standard)}
.btn .icon{width:18px;height:18px;transition:transform var(--dur-2) var(--ease-out)}
.btn:hover .icon--nudge{transform:translateX(2px)}
.btn--primary{background:var(--btn-bg);color:var(--btn-text)}
.btn--primary:hover{background:var(--btn-bg-hover)}
.btn--secondary{background:var(--btn2-bg);color:var(--btn2-text);border-color:var(--btn2-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn--secondary:hover{background:var(--white)}
.theme-dark .btn--secondary:hover{background:rgba(255,255,255,.06)}
.btn--sm{min-height:2.5rem;padding:.375rem 1.25rem}
.btn--lg{min-height:3.5rem;padding:.5rem 2rem}
.btn--block{display:flex;width:100%}
.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.link-arrow{display:inline-flex;align-items:center;gap:.375rem;min-height:44px;color:var(--text);font-weight:600;text-decoration:none}
.link-arrow .icon{width:18px;height:18px;transition:transform var(--dur-2) var(--ease-out)}
.link-arrow:hover{text-decoration:underline;text-decoration-color:var(--accent-text);text-decoration-thickness:2px;text-underline-offset:.2em}
.link-arrow:hover .icon{transform:translateX(2px)}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text);cursor:pointer;transition:background-color var(--dur-2) var(--ease-standard)}
.icon-btn:hover{background:var(--white)}
.theme-dark .icon-btn:hover{background:var(--ink-700)}
.icon-btn .icon{width:20px;height:20px}
.icon-btn:disabled{opacity:.45;cursor:not-allowed}

/* ---------- Header / nav ---------- */
.site-header{position:fixed;top:.75rem;left:0;right:0;z-index:50;padding-inline:var(--gutter);pointer-events:none}
@media (min-width:992px){.site-header{top:1rem}}
.nav-bar{pointer-events:auto;position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:var(--container-max);height:3.5rem;margin-inline:auto;padding:.375rem .375rem .375rem 1rem;border-radius:999px;background:var(--glass-bg);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border:1px solid var(--glass-border);box-shadow:var(--shadow-card),var(--glass-bevel);transition:box-shadow var(--dur-2) var(--ease-standard)}
.is-scrolled .nav-bar{box-shadow:var(--shadow-float),var(--glass-bevel)}
@media (min-width:992px){.nav-bar{height:4rem;padding:.5rem .5rem .5rem 1.25rem}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.nav-bar,.nav-panel{background:rgba(251,250,253,.96)}}
.logo{display:inline-flex;align-items:flex-end;gap:.5rem;color:var(--ink);text-decoration:none;flex:none}
.logo__mark{height:28px;width:auto}
.logo__full{display:block;height:34px;width:auto;color:inherit}
@media (min-width:992px){.logo__full{height:40px}}
.logo--footer .logo__full{height:56px}
.lockup-stacked .logo__full{height:72px;margin-inline:auto}
.logo__word{display:flex;flex-direction:column;font-family:var(--font-brand);font-weight:600;line-height:1}
.logo__archora{font-size:13px;letter-spacing:.12em;margin-right:-.12em}
.logo__studio{font-size:5.5px;letter-spacing:.62em;margin-right:-.62em;margin-top:3px}
@media (min-width:992px){.logo{gap:9px}.logo__mark{height:32px}.logo__archora{font-size:15px}.logo__studio{font-size:6.3px;margin-top:3.5px}}
.nav-main{display:none}
.nav-links{display:flex;list-style:none;margin:0;padding:0;gap:2rem}
.nav-jump{display:none;align-items:center;min-height:44px;padding:0 1rem;font-weight:600;color:var(--ink);text-decoration:none}
.nav-links a{position:relative;display:inline-block;padding:.5rem 0;color:var(--text-2);font-size:var(--fs-nav);font-weight:500;text-decoration:none;transition:color var(--dur-1)}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--text)}
.nav-links a[aria-current="page"]{font-weight:600}
.nav-links a[aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:-2px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--violet)}
.nav-cta{display:none}
.nav-toggle{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-bg-strong);color:var(--ink);cursor:pointer;padding:0}
.nav-toggle .icon{width:22px;height:22px}
.nav-toggle .icon--close{display:none}
.nav-toggle[aria-expanded="true"] .icon--menu{display:none}
.nav-toggle[aria-expanded="true"] .icon--close{display:block}
.nav-panel{pointer-events:auto;max-width:var(--container-max);margin:.5rem auto 0;padding:1.5rem;border-radius:var(--radius-lg);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border:1px solid var(--glass-border);box-shadow:var(--shadow-float);opacity:0;transform:translateY(-8px);transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}
.nav-panel.is-open{opacity:1;transform:none}
.nav-panel ul{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.25rem}
.nav-panel ul a{display:flex;align-items:center;min-height:44px;font-size:1.25rem;font-weight:600;color:var(--ink);text-decoration:none}
.nav-panel ul a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--violet-600);text-decoration-thickness:2px;text-underline-offset:.3em}
.nav-panel__email{display:inline-flex;align-items:center;min-height:44px;margin-top:.75rem;color:var(--text-2);font-weight:600}
@media (min-width:992px){.nav-main{display:block}.nav-cta{display:inline-flex}.nav-toggle,.nav-panel{display:none!important}}

/* ---------- Media frames and video ---------- */
.fig{margin:0}
.fig figcaption,.fig__caption{margin-top:.75rem;font-size:var(--fs-caption);line-height:1.45;color:var(--text-3)}
.fig figcaption a{color:inherit}
.theme-dark .fig figcaption{color:var(--ink-300)}
.media{display:block;position:relative;overflow:hidden;overflow:clip;border-radius:var(--radius-md);background:var(--ink-800);aspect-ratio:16/9;isolation:isolate}
.media--32{aspect-ratio:3/2}
.media--sm{border-radius:var(--radius-sm)}
.media--lg{border-radius:var(--radius-lg)}
.media > picture,.media > img,.media > video,.media__layer{position:absolute;inset:0;width:100%;height:100%}
.media > picture img,.media > img,.media > video,.media__layer img{width:100%;height:100%;object-fit:cover}
.media--contain > picture img,.media--contain > video{object-fit:contain}
.media > video{opacity:0;background:transparent;transition:opacity var(--dur-4) var(--ease-out)}
.media > video.is-shown{opacity:1}
.media__toggle{position:absolute;right:.75rem;bottom:.75rem;z-index:4}
@media (min-width:768px){.media__toggle{right:1rem;bottom:1rem}}
.media__toggle .icon--play{display:none}
.media__toggle.is-paused .icon--play{display:block}
.media__toggle.is-paused .icon--pause{display:none}
.media.has-error .media__toggle{display:none}
.play-big{position:absolute;inset:0;z-index:3;display:grid;place-items:center;width:100%;padding:0;border:0;background:transparent;cursor:pointer;color:var(--ink)}
.play-big__circle{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--shadow-float);transition:transform var(--dur-2) var(--ease-out),background-color var(--dur-2)}
.play-big .icon{width:26px;height:26px;margin-left:3px}
.play-big:hover .play-big__circle{background:var(--white);transform:scale(1.04)}
.play-big:focus-visible{outline:none}
.play-big:focus-visible .play-big__circle{outline:2px solid var(--violet-600);outline-offset:3px}
.play-big__label{display:block;margin-top:.75rem;padding:.375rem .75rem;border-radius:999px;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-weight:600;font-size:.875rem;color:var(--ink)}
.play-big__inner{display:flex;flex-direction:column;align-items:center}

/* ---------- Home hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;overflow:clip;padding-top:var(--hero-top);padding-bottom:3rem}
.hero__text{max-width:48rem}
.hero__text .lead{margin-top:1rem;max-width:44ch}
.hero__micro{margin-top:1rem;font-size:var(--fs-small);color:var(--text-3);max-width:52ch}
.hero__media{width:calc(100% - 1.5rem);margin:2rem auto 0;aspect-ratio:4/3;border-radius:1.25rem}
/* Full-bleed photo hero (home): night aerial render behind a dark tint, light text */
.hero--photo{min-height:min(100svh,880px);display:flex;flex-direction:column;justify-content:center;padding-bottom:4.5rem;background:#17151F;color:#F3F2F6}
.hero--photo .hero__bg{position:absolute;inset:0;z-index:-2}
.hero--photo .hero__bg img{width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.hero--photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(23,21,31,.78) 0%,rgba(23,21,31,.55) 55%,rgba(23,21,31,.3) 100%)}
.hero--photo .container{width:100%}
.hero--photo .eyebrow{color:#8FE0D0}
.hero--photo .display{color:#FFFFFF}
.hero--photo .lead{color:#DCD9E4}
.hero--photo .hero__micro{color:#C9C6D4}
.hero--photo .link-arrow{color:#F3F2F6}
.hero--photo .btn--primary{background:#27B39B;color:#17151F;border-color:#27B39B}
.hero--photo .btn--primary:hover{background:#3CC7AF;border-color:#3CC7AF}
.hero__credit{position:absolute;right:var(--gutter);bottom:1.25rem;margin:0;font-size:12px;color:rgba(243,242,246,.72);max-width:60%;text-align:right}
@media (max-width:767.98px){.hero--photo{min-height:auto;padding-bottom:4rem}.hero--photo::before{background:rgba(23,21,31,.66)}.hero__credit{left:var(--gutter);text-align:left;max-width:none}}
.hero__media > picture img,.hero__media > video{object-position:50% 45%}
@media (min-width:768px){.hero__media{width:calc(100% - 2.5rem);aspect-ratio:16/9;border-radius:var(--radius-lg)}}
@media (min-width:992px){.hero__media{aspect-ratio:2/1;max-width:1680px;margin-top:3.5rem}}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{position:relative;isolation:isolate;overflow:hidden;overflow:clip;padding-top:var(--hero-top);padding-bottom:calc(var(--section-y) * .75)}
.page-hero .lead{margin-top:1rem}
.page-hero h1{max-width:20ch}

/* ---------- Fact strip ---------- */
.facts{display:grid;grid-template-columns:1fr 1fr;list-style:none;margin:0;padding:0}
.fact{padding:1.25rem 1rem 1.25rem 0}
.fact:nth-child(n+3){border-top:1px solid var(--line)}
.fact__value{display:flex;align-items:center;gap:.35em;margin-bottom:.5rem;font-size:var(--fs-stat);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--text)}
.fact__value .icon{width:.8em;height:.8em;stroke-width:2}
.fact__label{display:block;font-size:var(--fs-small);color:var(--text-2);line-height:1.4}
@media (min-width:992px){.facts{grid-template-columns:repeat(4,1fr)}.fact{padding:.25rem 1.5rem;border-top:0!important;border-left:1px solid var(--line)}.fact:first-child{border-left:0;padding-left:0}}

/* ---------- Cards ---------- */
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.5rem}
@media (min-width:768px){.card{padding:2rem}}
.card--aurora::before{content:"";position:absolute;top:-1px;left:var(--radius-lg);right:var(--radius-lg);height:2px;background:var(--aurora)}
.card__head{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.card--md{border-radius:var(--radius-md)}
.compare-grid{display:grid;gap:1rem}
@media (min-width:992px){.compare-grid{grid-template-columns:1fr 1fr;gap:1.5rem}}
.compare-note{margin-top:1.5rem;font-size:var(--fs-small);color:var(--text-3);max-width:80ch}
.icon-tile{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:var(--radius-sm);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-bevel);color:var(--text-2)}
.icon-tile .icon{width:26px;height:26px}
@media (min-width:768px){.icon-tile{width:72px;height:72px}.icon-tile .icon{width:32px;height:32px}}
.icon-tile--sm{width:48px;height:48px}
.icon-tile--sm .icon{width:22px;height:22px}
@media (min-width:768px){.icon-tile--sm{width:56px;height:56px}.icon-tile--sm .icon{width:26px;height:26px}}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.checklist li{display:flex;align-items:flex-start;gap:.75rem;color:var(--text-2)}
.checklist .icon{width:20px;height:20px;margin-top:.15em;color:var(--text-2)}
.checklist--ink .icon{color:var(--ink)}
.checklist--ink li{color:var(--text)}

/* ---------- Feature tiles ---------- */
.tiles{display:grid;gap:1rem}
@media (min-width:768px){.tiles{grid-template-columns:1fr 1fr;gap:1.5rem}}
.tile{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:.75rem}
.tile > .media,.tile .config__frame,.tile .compare{border-radius:.5rem}
.tile__body{padding:1.25rem .75rem .75rem}
.tile__body .tag{margin-bottom:.875rem}
.tile__body h3{margin-bottom:.625rem}
.tiles-foot{margin-top:2rem;display:flex;justify-content:center}

/* ---------- Segmented control ---------- */
.segmented{display:inline-flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;border-radius:999px;background:var(--surface-2);max-width:100%}
.segmented__opt{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.375rem 1.125rem;border:0;border-radius:999px;background:transparent;color:var(--text-2);font-weight:600;font-size:var(--fs-small);line-height:1.2;cursor:pointer;transition:background-color var(--dur-2),color var(--dur-2)}
.segmented__opt:hover{color:var(--text)}
.segmented__opt[aria-checked="true"]{background:var(--ink);color:var(--paper)}
.theme-dark .segmented__opt[aria-checked="true"]{background:var(--paper);color:var(--ink)}
.segmented__opt[aria-checked="true"]::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal);flex:none}
.segmented--full{display:flex;width:100%}
.segmented--full .segmented__opt{flex:1 1 0}
@media (min-width:768px){.segmented--full{display:inline-flex;width:auto}.segmented--full .segmented__opt{flex:0 0 auto}}

/* ---------- Configurator before/after ---------- */
.config__frame{position:relative;overflow:hidden;overflow:clip;border-radius:var(--radius-md);background:var(--ink-800);aspect-ratio:16/9;isolation:isolate}
.config__still{position:absolute;inset:0;opacity:0;transition:opacity var(--dur-3) var(--ease-standard)}
.config__still img{width:100%;height:100%;object-fit:cover}
.config__still.is-active{opacity:1}
.config__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--dur-3) var(--ease-standard);z-index:1}
.config__video.is-shown{opacity:1}
.config__play{position:absolute;right:.75rem;bottom:.75rem;z-index:4}
@media (min-width:768px){.config__play{right:1rem;bottom:1rem}}
.config__play .icon--pause{display:none}
.config__play.is-playing .icon--pause{display:block}
.config__play.is-playing .icon--play{display:none}
.config__controls{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}
.config__caption{margin:0;font-size:var(--fs-caption);color:var(--text-3)}
.theme-dark .config__caption{color:var(--ink-300)}
.config__caption--alt{display:none}

/* ---------- Day/night compare slider ---------- */
.compare{position:relative;overflow:hidden;overflow:clip;border-radius:var(--radius-md);background:var(--ink-800);aspect-ratio:3/2;isolation:isolate;--pos:50%}
.compare--169{aspect-ratio:16/9}
.compare__img{position:absolute;inset:0}
.compare__img img{width:100%;height:100%;object-fit:cover}
.compare--169 .compare__img img{object-position:50% 60%}
.compare__night{clip-path:inset(0 0 0 var(--pos))}
.compare__divider{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:var(--paper);box-shadow:0 0 0 1px rgba(23,21,31,.25);z-index:2;pointer-events:none}
.compare__handle{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;gap:2px;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--violet);color:var(--ink)}
.compare__handle .icon{width:14px;height:14px}
.compare__range{position:absolute;inset:0;z-index:3;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y;-webkit-appearance:none;appearance:none}
.compare__range:focus-visible + .compare__divider .compare__handle{outline:2px solid var(--violet-600);outline-offset:3px}
.compare:has(.compare__range:focus-visible){outline:2px solid var(--violet-600);outline-offset:3px}
.compare .chip{z-index:4}

/* ---------- 70/30 feature rows with glass card ---------- */
.row7030{position:relative;display:grid}
.row7030__card{position:relative;z-index:2;width:90%;margin:-2.5rem 0 0 1rem}
@media (min-width:768px){.row7030__card{width:80%;margin-top:-3rem}}
@media (min-width:992px){
  .row7030{grid-template-columns:7fr 3fr;align-items:start}
  .row7030__card{width:auto;margin:4rem 0 0 -5rem}
  .row7030--rev{grid-template-columns:3fr 7fr}
  .row7030--rev .row7030__media{order:2}
  .row7030--rev .row7030__card{order:1;margin:4rem -5rem 0 0}
}
.row7030 + .row7030{margin-top:var(--section-y)}
.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:1.5rem 1.75rem;box-shadow:var(--shadow-float),var(--glass-bevel)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass-card{background:rgba(251,250,253,.96)}.theme-dark .glass-card{background:rgba(34,31,44,.96)}}
.glass-card h3{margin-bottom:.75rem}
.glass-card .tags{margin-bottom:1rem}
.glass-card .tag{font-size:.6875rem}
.glass-card .btn{margin-top:.5rem}
.card-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:1.25rem}
@media (max-width:767.98px){.card-actions .btn{width:100%}}
.row7030 .config__controls,.row7030 .fig figcaption{max-width:100%}

/* ---------- Packages band (dark) ---------- */
.pkg-band{position:relative;overflow:hidden;overflow:clip}
.pkg-band__grid{display:grid}
.pkg-band__pane{position:relative;aspect-ratio:4/3;overflow:hidden;overflow:clip;border-radius:0 0 var(--radius-lg) 0;background:var(--ink-800)}
.pkg-band__content{padding:2.5rem var(--gutter) 4rem}
.pkg-pane__layer{position:absolute;inset:0;opacity:0;transition:opacity var(--dur-3) var(--ease-standard)}
.pkg-pane__layer.is-active{opacity:1;z-index:1}
.pkg-pane__layer > picture,.pkg-pane__layer > picture img{width:100%;height:100%;object-fit:cover}
.pkg-pane__layer > .media{position:absolute;inset:0;border-radius:0;aspect-ratio:auto}
.pkg-band .chip{z-index:5}
@media (min-width:992px){
  .pkg-band__grid{grid-template-columns:1fr 1fr;min-height:40rem}
  .pkg-band__content{order:1;padding:6rem 5rem 6rem max(var(--gutter),calc(100% - 40rem))}
  .pkg-band__pane{order:2;aspect-ratio:auto;height:100%;min-height:40rem;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}
}
.pkg-tabs{display:grid;gap:.75rem;margin-top:2rem}
.pkg-tab{position:relative;overflow:hidden;overflow:clip;border:1px solid transparent;border-radius:var(--radius-sm);background:rgba(34,31,44,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.5rem}
@media (min-width:768px){.pkg-tab{padding:2rem}}
.pkg-tab.is-open{border-color:var(--ink-650);background:var(--ink-800)}
.pkg-tab.is-open::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--aurora-v)}
.pkg-tab h3{font-size:var(--fs-h3)}
.pkg-tab__btn{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:44px;padding:0;border:0;background:transparent;color:var(--ink-300);font:inherit;font-weight:600;text-align:left;cursor:pointer}
.pkg-tab.is-open .pkg-tab__btn,.pkg-tab__btn:hover{color:var(--paper)}
.pkg-tab__btn .icon{transition:transform var(--dur-2) var(--ease-out)}
.pkg-tab__btn[aria-expanded="true"] .icon{transform:rotate(45deg)}
.pkg-tab__line{margin:.5rem 0 0;color:var(--ink-300)}
.pkg-tab__panel{margin-top:1.25rem}
.pkg-tab__panel .checklist{gap:.625rem}
@media (min-width:768px){.pkg-tab__panel .checklist{grid-template-columns:1fr 1fr;column-gap:1.5rem}}
.pkg-tab__panel .checklist .icon{color:var(--teal)}
.pkg-tab__panel .checklist li{color:var(--paper)}
.price-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.price{font-weight:700;color:var(--text)}
.pkg-band .stack-actions{margin-top:2rem}

/* ---------- Process steps ---------- */
.process{display:grid;gap:2.5rem}
@media (min-width:992px){.process{grid-template-columns:5fr 7fr;gap:4rem}.process__head{position:sticky;top:8rem;align-self:start}}
.process__head .link-arrow{margin-top:1rem}
.steps{list-style:none;margin:0;padding:0}
.step{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:1rem;padding-bottom:2.5rem}
@media (min-width:768px){.step{column-gap:2rem;padding-bottom:3rem}}
.step:last-child{padding-bottom:0}
.step__line{position:absolute;left:28px;top:calc(56px + .5rem);bottom:.5rem;width:1px;background:var(--line);overflow:hidden}
@media (min-width:768px){.step__line{left:36px;top:calc(72px + .5rem)}}
.step__line::after{content:"";position:absolute;inset:0;background:var(--aurora-v);transform:scaleY(0);transform-origin:top;transition:transform 800ms var(--ease-out)}
.step.is-drawn .step__line::after{transform:scaleY(1)}
.step:last-child .step__line{display:none}
.step__body{padding-top:.25rem}
.step__label{margin:0 0 .5rem;font-family:var(--font-brand);font-weight:600;font-size:.75rem;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}
.step__body h3{margin-bottom:.5rem}
.step__io{display:grid;gap:1rem;margin:1rem 0 0}
.step__io dt{margin-bottom:.25rem;font-family:var(--font-brand);font-weight:600;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.step__io dd{margin:0;color:var(--text-2)}
@media (min-width:768px){.step__io{grid-template-columns:1fr 1fr;gap:1.5rem}}
@media (min-width:992px){.steps--full .step__body{display:grid;grid-template-columns:13rem 1fr;column-gap:2rem}.steps--full .step__label{grid-column:1/-1}.steps--full .step__io{margin:0}}

/* ---------- About band (dark, layout B: no photo) ---------- */
.about-band{position:relative;overflow:hidden;overflow:clip;isolation:isolate;padding-block:var(--section-y)}
.about-band--no-photo{text-align:center}
.about-band--no-photo .about-band__inner{max-width:40rem;margin-inline:auto}
.about-band--no-photo .eyebrow{justify-content:center}
.about-band--no-photo p{margin-inline:auto}
.about-band h2{margin-bottom:1rem}
.about-band .link-arrow{margin-top:1rem}

/* ---------- FAQ ---------- */
.faq-layout{display:grid;gap:2rem}
@media (min-width:992px){.faq-layout{grid-template-columns:4fr 8fr;gap:3rem}}
.faq-layout__side p{margin-top:1rem}
.faq{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:1.25rem 0;cursor:pointer;list-style:none}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary .icon{width:20px;height:20px;color:var(--text-2);transition:transform var(--dur-2) var(--ease-out)}
.faq__item[open] summary .icon{transform:rotate(45deg)}
.faq__q{font-size:var(--fs-h4);line-height:1.3;font-weight:600}
.faq__a{padding:0 2.5rem 1.25rem 0}
@supports selector(::details-content){
  .faq__item::details-content{block-size:0;overflow:clip;transition:block-size var(--dur-3) var(--ease-standard),content-visibility var(--dur-3) allow-discrete}
  .faq__item[open]::details-content{block-size:auto}
}

/* ---------- Forms ---------- */
.form{display:grid;gap:1.25rem}
.form__note{margin:0;font-size:var(--fs-small);color:var(--text-2)}
.field{display:grid;gap:.375rem;min-width:0;align-content:start}
.field > label,.fieldset > legend{font-size:var(--fs-small);font-weight:600;color:var(--text);line-height:1.4}
.input{display:block;width:100%;min-height:3rem;padding:.75rem 1rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--ink);font-size:var(--fs-body);line-height:1.4;transition:border-color var(--dur-1)}
.input:hover{border-color:var(--ink-600)}
.input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.input::placeholder{color:var(--ink-500)}
textarea.input{min-height:9rem;resize:vertical}
.select{position:relative}
.select select{-webkit-appearance:none;appearance:none;padding-right:2.75rem;cursor:pointer}
.select .icon{position:absolute;right:1rem;top:50%;width:18px;height:18px;margin-top:-9px;pointer-events:none;color:var(--ink-600)}
.input[aria-invalid="true"]{border:2px solid var(--danger);padding:calc(.75rem - 1px) calc(1rem - 1px)}
.field__help{margin:0;font-size:var(--fs-small);color:var(--text-2)}
.field__error{display:flex;align-items:flex-start;gap:.375rem;margin:0;font-size:var(--fs-small);font-weight:600;color:var(--danger)}
.field__error .icon{width:16px;height:16px;margin-top:.2em}
.fieldset{border:0;margin:0;padding:0;min-width:0}
.fieldset > legend{padding:0;margin-bottom:.25rem}
.check{display:flex;align-items:center;gap:.75rem;min-height:44px;cursor:pointer;color:var(--text)}
.check input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--ink);cursor:pointer}
.field-row{display:grid;gap:1.25rem}
@media (min-width:768px){.field-row{grid-template-columns:1fr 1fr}}
.form__privacy{margin:0;font-size:var(--fs-small);color:var(--text-2)}
.form__summary{padding:1rem 1.25rem;border-radius:var(--radius-sm);background:var(--danger-tint);color:var(--ink)}
.form__summary h3{font-size:var(--fs-body);font-weight:700;color:var(--danger);margin-bottom:.5rem}
.form__summary ul{margin:0;padding-left:1.25rem}
.form__summary a{color:var(--danger);font-weight:600}
.form__status{margin:0;padding:1rem 1.25rem;border-radius:var(--radius-sm);font-weight:600}
.form__status--error{background:var(--danger-tint);color:var(--danger)}
.form__status--ok{background:var(--teal-tint);color:var(--teal-700)}
.form__status .dev-note{display:block;margin-top:.375rem;font-weight:500;color:var(--ink-600)}
.form__submit{justify-self:start}
@media (max-width:479.98px){.form__submit{justify-self:stretch}}
.spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* ---------- Contact band (home) and CTA band ---------- */
.contact-band,.cta-band{position:relative;overflow:hidden;overflow:clip;isolation:isolate;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2.5rem 1.25rem}
@media (min-width:768px){.contact-band,.cta-band{padding:3rem}}
.contact-band{display:grid;gap:2.5rem}
@media (min-width:992px){.contact-band{grid-template-columns:5fr 7fr;gap:4rem;padding:4rem}}
.contact-band__intro h2{margin-bottom:1rem}
.contact-band__intro .btn{margin-top:1.5rem}
.contact-band__email{margin-top:1rem;font-size:var(--fs-small)}
.cta-band{display:grid;gap:1.5rem}
@media (min-width:992px){.cta-band{grid-template-columns:1fr 1fr;gap:3rem;align-items:end;padding:4rem}}
.cta-band__aside p{margin-bottom:1.5rem}
.cta-band__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem}
@media (max-width:479.98px){.cta-band__actions{flex-direction:column;align-items:stretch}.cta-band__actions .btn{width:100%}.cta-band__actions .link-arrow{align-self:center}}

/* ---------- Footer ---------- */
.site-footer{position:relative;overflow:hidden;overflow:clip;isolation:isolate;padding:4rem 0 2rem}
@media (min-width:768px){.site-footer{padding-top:5rem}}
.footer__grid{display:grid;grid-template-columns:auto 1fr;gap:2.5rem 2.5rem}
.footer__brand{grid-column:1/-1}
@media (min-width:992px){.footer__grid{grid-template-columns:2fr 1fr 1fr}.footer__brand{grid-column:auto}}
.logo--footer{gap:12px}
.logo--footer .logo__mark{height:44px}
.logo--footer .logo__archora{font-size:20.5px}
.logo--footer .logo__studio{font-size:8.6px;margin-top:5px}
.footer__tagline{margin:1.25rem 0 .5rem;font-weight:600;color:var(--text)}
.footer__line{font-size:var(--fs-small);max-width:38ch}
.footer__heading{margin:0 0 .75rem;font-family:var(--font-brand);font-weight:600;font-size:.75rem;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}
.footer__list{list-style:none;margin:0;padding:0}
.footer__list a{display:inline-flex;align-items:center;min-height:40px;color:var(--text);font-weight:500;text-decoration:none;font-size:var(--fs-small);overflow-wrap:break-word}
.footer__list a:hover{text-decoration:underline;text-decoration-color:var(--accent-text)}
.footer__bottom{display:flex;flex-direction:column;gap:.75rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:var(--fs-caption);color:var(--text-3)}
.footer__bottom ul{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.25rem;list-style:none;margin:0;padding:0;color:var(--text-3)}
.footer__bottom a{display:inline-flex;align-items:center;min-height:32px;color:var(--text-2)}
.footer__bottom p{margin:0;font-size:inherit;color:inherit}
@media (min-width:768px){.footer__bottom{flex-direction:row;justify-content:space-between;align-items:center}}

/* ---------- Rails ---------- */
.rail__top{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:1rem}
@media (hover:none){.rail__top{display:none}}
.rail__list{display:grid;grid-auto-flow:column;grid-auto-columns:80%;gap:1rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;list-style:none;margin:0;padding:0 0 .25rem;scrollbar-width:none}
.rail__list::-webkit-scrollbar{display:none}
.rail__list > li{scroll-snap-align:start;min-width:0}
@media (min-width:768px){.rail__list{grid-auto-columns:46%;gap:1.5rem}}
@media (min-width:992px){.rail__list{grid-auto-columns:31%}}
.rail__progress{position:relative;height:1px;margin-top:1.5rem;background:var(--line);overflow:hidden}
.rail__progress span{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(.25)}
.theme-dark .rail__progress span{background:var(--paper)}

/* ---------- Showcase ---------- */
.film-wrap{display:grid}
.film__frame{border-radius:var(--radius-lg);aspect-ratio:16/9}
.film__frame > video{opacity:1;background:transparent}
.film__frame.is-playing > picture,.film__frame.is-playing .play-big{display:none}
.film__frame.is-playing > video{background:#000}
.facts-card{position:relative;z-index:2;width:90%;margin:-2.5rem 0 0 1rem}
.facts-card__title{margin-bottom:1rem}
.facts-card dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:0;font-size:var(--fs-small)}
.facts-card dt{color:var(--text-3);font-weight:600}
.facts-card dd{margin:0;color:var(--text)}
@media (min-width:992px){.film-wrap{grid-template-columns:8fr 4fr;align-items:start}.facts-card{width:auto;margin:3rem 0 0 -5rem}}
.film-chapters{margin-top:1.5rem;max-width:52rem}
.film-chapters summary{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-weight:600;cursor:pointer;list-style:none}
.film-chapters summary::-webkit-details-marker{display:none}
.film-chapters summary .icon{width:18px;height:18px;transition:transform var(--dur-2)}
.film-chapters[open] summary .icon{transform:rotate(180deg)}
.chapter-list{margin:.5rem 0 0;padding:0;list-style:none;display:grid;gap:.375rem;font-size:var(--fs-small);color:var(--text-2)}
.chapter-list li{display:grid;grid-template-columns:3rem 1fr;gap:.75rem}
.chapter-list time{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.film-caption{margin-top:.75rem;font-size:var(--fs-caption);color:var(--text-3)}
.subnav{position:relative;z-index:40;margin-top:1rem}
.subnav__list{display:flex;gap:.5rem;overflow-x:auto;list-style:none;margin:0;padding:.25rem 0;scrollbar-width:none}
.subnav__list::-webkit-scrollbar{display:none}
.subnav__list a{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 1rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text-2);font-size:var(--fs-small);font-weight:600;white-space:nowrap;text-decoration:none;transition:background-color var(--dur-2),color var(--dur-2)}
.subnav__list a:hover{color:var(--text)}
.subnav__list a[aria-current="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
@media (min-width:992px){
  .subnav{position:sticky;top:5.5rem;margin-top:0;pointer-events:none}
  .subnav .container{display:flex;justify-content:center}
  .subnav__list{pointer-events:auto;display:inline-flex;padding:.375rem;border-radius:999px;background:var(--glass-bg);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border:1px solid var(--glass-border);box-shadow:var(--shadow-float)}
  .subnav__list a{border-color:transparent;background:transparent;min-height:2.5rem}
}
.two-up{display:grid;gap:1.5rem;margin-top:2rem}
@media (min-width:768px){.two-up{grid-template-columns:1fr 1fr}}
.three-up{display:grid;gap:1rem}
@media (min-width:768px){.three-up{grid-template-columns:repeat(3,1fr);gap:1.5rem}}
.four-up{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (min-width:992px){.four-up{grid-template-columns:repeat(4,1fr);gap:1.5rem}}
.render-btn{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:left;color:inherit}
.render-btn .media{transition:none}
.render-btn img{transition:transform var(--dur-3) var(--ease-out)}
.render-btn:hover img{transform:scale(1.02)}
.render-btn:focus-visible{outline:none}
.render-btn:focus-visible .media{outline:2px solid var(--focus);outline-offset:3px}
.interactions{margin-top:var(--head-gap)}
.interactions h3{margin-bottom:1.25rem}
.interactions .tags{margin-bottom:1rem}
.config-show{display:grid;gap:2rem}
@media (min-width:992px){.config-show{grid-template-columns:8fr 4fr;gap:2rem;align-items:start}}
.config-show__rooms{margin-bottom:1.25rem}
.sets-card{background:var(--ink-800);border:1px solid var(--ink-650);border-radius:var(--radius-sm);padding:1.5rem}
.sets-card table{width:100%;border-collapse:collapse;font-size:var(--fs-small)}
.sets-card caption{text-align:left;margin-bottom:1rem;font-family:var(--font-brand);font-weight:600;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-300)}
.sets-card th,.sets-card td{padding:.625rem .5rem .625rem 0;border-top:1px solid var(--ink-650);text-align:left;vertical-align:top}
.sets-card thead th{border-top:0;color:var(--ink-300);font-weight:600}
.sets-card tbody th{color:var(--paper);font-weight:600}
.sets-card td{color:var(--ink-300)}
.config-note{margin-top:2rem;font-size:var(--fs-small);color:var(--ink-300);max-width:70ch}
.daynight-main{max-width:64rem;margin-inline:auto}
.neigh-grid{display:grid;gap:1.5rem}
@media (min-width:768px){.neigh-grid{grid-template-columns:repeat(6,1fr)}.neigh-grid > .fig{grid-column:span 2}.neigh-grid > .fig:nth-child(4){grid-column:2 / span 2}}
@media (max-width:767.98px){.neigh-grid{grid-template-columns:1fr 1fr;gap:1rem}.neigh-grid > .fig:first-child{grid-column:1/-1}}
.credit-short{display:block;margin-top:.25rem}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.filter{display:inline-flex;align-items:center;gap:.375rem;min-height:2.75rem;padding:0 1.125rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:600;font-size:var(--fs-small);cursor:pointer;transition:background-color var(--dur-2),color var(--dur-2)}
.filter .icon{width:16px;height:16px;display:none;stroke-width:2}
.filter[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.filter[aria-pressed="true"] .icon{display:block}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem;list-style:none;margin:0;padding:0}
@media (min-width:992px){.gallery{grid-template-columns:repeat(3,1fr)}}
.gallery__btn{position:relative;display:block;width:100%;aspect-ratio:3/2;padding:0;border:0;border-radius:var(--radius-sm);overflow:hidden;overflow:clip;background:var(--ink-800);cursor:zoom-in}
.gallery__btn picture,.gallery__btn img{width:100%;height:100%;object-fit:cover}
.gallery__btn img{transition:transform var(--dur-3) var(--ease-out)}
.gallery__btn:hover img{transform:scale(1.02)}
.gallery__btn .chip{opacity:0;transition:opacity var(--dur-3)}
.gallery__btn:hover .chip,.gallery__btn:focus-visible .chip{opacity:1}
@media (hover:none){.gallery__btn .chip{opacity:1}}
.gallery__cc{position:absolute;top:.5rem;right:.5rem;z-index:3;padding:.25rem .5rem;border-radius:999px;background:var(--glass-bg-strong);color:var(--ink);font-family:var(--font-brand);font-weight:600;font-size:.625rem;letter-spacing:.08em}
.gallery-status{margin-top:1rem;font-size:var(--fs-small);color:var(--text-3)}
.credits-panel{max-width:52rem;margin-inline:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem 1.25rem}
@media (min-width:768px){.credits-panel{padding:2.5rem}}
.credits-panel h2{margin-bottom:1.25rem;font-size:var(--fs-h3)}
.credits-panel ul{margin:0;padding-left:1.25rem}
.credits-panel li{margin-bottom:.5rem;color:var(--text-2)}

/* ---------- Dialogs (film, lightbox) ---------- */
dialog.dlg{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--paper)}
dialog.dlg::backdrop{background:rgba(23,21,31,.88)}
.dlg__inner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:4.5rem 1rem 1.5rem}
.dlg__close{position:absolute;top:1rem;right:1rem;z-index:5}
.dlg__video{width:100%;max-width:1280px}
.dlg__video video{width:100%;aspect-ratio:16/9;background:#000;border-radius:var(--radius-sm)}
.dlg__text{width:100%;max-width:1280px;margin-top:1rem;font-size:var(--fs-small);color:var(--ink-300)}
.dlg__text p{color:var(--ink-300);max-width:none}
.dlg__text .chapter-list{color:var(--ink-300)}
.dlg__text .chapter-list time{color:var(--paper)}
.lightbox__figure{margin:0;width:100%;max-width:1600px}
.lightbox__figure img{width:100%;height:auto;max-height:calc(100vh - 13rem);max-height:calc(100dvh - 13rem);object-fit:contain;border-radius:var(--radius-sm)}
.lightbox__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:1rem}
.lightbox__title{font-size:var(--fs-h4);font-weight:600;color:var(--paper)}
.lightbox__count{margin:0 0 0 auto;font-size:var(--fs-small);color:var(--ink-300)}
.lightbox__credit{flex-basis:100%;margin:0;font-size:var(--fs-caption);color:var(--ink-300)}
.lightbox__credit a{color:var(--paper)}
.lightbox__nav{position:absolute;top:50%;z-index:5;margin-top:-22px}
.lightbox__prev{left:.5rem}
.lightbox__next{right:.5rem}
@media (min-width:768px){.lightbox__prev{left:1rem}.lightbox__next{right:1rem}.dlg__inner{padding-inline:4.5rem}}

/* ---------- Services ---------- */
.pkg-cards{display:grid;gap:1.5rem}
@media (min-width:992px){.pkg-cards{grid-template-columns:repeat(3,1fr)}.pkg-cards--2{grid-template-columns:1fr 1fr}}
.pkg-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:.75rem}
.pkg-card__media{aspect-ratio:3/2;border-radius:calc(var(--radius-lg) - .75rem)}
.pkg-card__body{display:flex;flex-direction:column;flex:1;padding:1.25rem .75rem .75rem}
@media (min-width:768px){.pkg-card__body{padding:1.5rem 1.25rem 1.25rem}}
@media (min-width:768px) and (max-width:991.98px){.pkg-card{flex-direction:row;align-items:stretch}.pkg-card__media{width:40%;flex:none;aspect-ratio:auto;min-height:100%}}
.pkg-card .tag{align-self:flex-start;margin-bottom:1rem}
.pkg-card h3{margin-bottom:.5rem}
.pkg-card__line{color:var(--text)}
.pkg-card hr{width:100%;height:1px;border:0;background:var(--line);margin:1.25rem 0}
.pkg-card__label{margin:0 0 .5rem;font-family:var(--font-brand);font-weight:600;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.pkg-card__good{margin-bottom:1.25rem}
.pkg-card .checklist{margin-bottom:1.25rem}
.pkg-card__delivered{margin-bottom:1.25rem}
.pkg-card__foot{margin-top:auto;padding-top:1.25rem;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.pkg-card__foot .btn{width:100%}
.addons{display:grid;gap:1rem}
@media (min-width:768px){.addons{grid-template-columns:1fr 1fr;gap:1.5rem}}
.addon{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.5rem;display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;align-items:start}
.addon .icon-tile{grid-row:span 4}
.addon h3{font-size:var(--fs-h4);margin-bottom:.25rem}
.addon .tag{justify-self:start;margin:.5rem 0}
.addon__note{font-size:var(--fs-small);color:var(--text-3);margin:0}
.timeline{margin-top:var(--head-gap);max-width:44rem}
.timeline h3{margin-bottom:1rem}
.timeline table{width:100%;border-collapse:collapse}
.timeline th,.timeline td{padding:.875rem 0;border-bottom:1px solid var(--line);text-align:left;font-weight:500}
.timeline th{color:var(--text);font-weight:600;padding-right:1rem}
.timeline td{color:var(--text-2);text-align:right}
.timeline p{margin-top:1rem;font-size:var(--fs-small)}
.need{display:grid;gap:2rem}
@media (min-width:992px){.need{grid-template-columns:5fr 7fr;gap:4rem}}
.deliverables{display:grid;gap:1.5rem;list-style:none;margin:0;padding:0}
@media (min-width:768px){.deliverables{grid-template-columns:repeat(3,1fr)}}
.deliverable .icon-tile{margin-bottom:1rem}
.deliverable h3{font-size:var(--fs-h4);margin-bottom:.5rem}

/* ---------- About ---------- */
.about-hero{display:grid;gap:2.5rem}
@media (min-width:992px){.about-hero{grid-template-columns:7fr 5fr;gap:4rem;align-items:center}}
.logo-tile{position:relative;display:grid;place-items:center;aspect-ratio:4/5;border-radius:var(--radius-lg);background:var(--ink);overflow:hidden;overflow:clip;color:var(--paper);isolation:isolate}
.logo-tile svg.logo-tile__mark{width:38%;height:auto}
.logo-tile .pattern--arches{width:140%;color:rgba(243,242,246,.07)}
@media (max-width:991.98px){.logo-tile{aspect-ratio:3/2;max-height:22rem;width:100%}.logo-tile svg.logo-tile__mark{width:22%}}
.founder{max-width:40rem}
.founder h2{margin-bottom:1.25rem}
.name-split{display:grid;gap:1.5rem}
@media (min-width:992px){.name-split{grid-template-columns:1fr 1fr;gap:3rem;align-items:end}}
.name-split__mark{width:84px;height:auto;color:var(--ink);margin-bottom:1.5rem}
@media (min-width:992px){.name-split__mark{width:123px}}
.craft{display:grid;gap:1.5rem}
@media (min-width:768px){.craft{grid-template-columns:repeat(6,1fr)}.craft > *{grid-column:span 3}}
@media (min-width:992px){.craft > *{grid-column:span 2}.craft > :nth-child(4){grid-column:2 / span 2}.craft > :nth-child(5){grid-column:4 / span 2}}
.craft-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:.75rem}
.craft-card .media{border-radius:.5rem}
.craft-card__body{padding:1.25rem .75rem .75rem}
.craft-card h3{font-size:var(--fs-h4);margin-bottom:.5rem}
.principles{display:grid;gap:1rem}
@media (min-width:768px){.principles{grid-template-columns:1fr 1fr;gap:1.5rem}}
.principle h3{font-size:var(--fs-h4);margin-bottom:.5rem}
.tools{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}
.tools__label{margin:0;font-family:var(--font-brand);font-weight:600;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}
.tool-pair{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem}

/* ---------- Contact page ---------- */
.contact-layout{display:grid;gap:2.5rem}
.contact-left{display:contents}
.contact-intro{order:1}
.contact-form-card{order:2;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.5rem 1.25rem}
.contact-aside{order:3;display:grid;gap:1.5rem}
@media (min-width:768px){.contact-form-card{padding:2.5rem}}
@media (min-width:992px){
  .contact-layout{grid-template-columns:5fr 7fr;gap:4rem;align-items:start}
  .contact-left{display:grid;gap:2.5rem;position:sticky;top:7rem}
  .contact-form-card{order:0}
}
.demo-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.5rem}
.demo-card h2{font-size:var(--fs-h3);margin-bottom:.75rem}
.demo-card .btn{margin-top:1.25rem}
.contact-details{display:grid;gap:.75rem;margin:0}
.contact-details div{display:flex;align-items:flex-start;gap:.75rem}
.contact-details .icon{margin-top:.2em;color:var(--text-2)}
.contact-details dt{font-weight:600;color:var(--text)}
.contact-details dd{margin:0;color:var(--text-2)}
.next-steps{display:grid;gap:1.5rem;list-style:none;margin:0;padding:0}
@media (min-width:768px){.next-steps{grid-template-columns:repeat(3,1fr);gap:2rem}}
.next-steps__num{display:block;margin-bottom:.75rem;font-size:var(--fs-stat);font-weight:700;line-height:1;color:var(--ink)}
.next-steps h3{font-size:var(--fs-h4);margin-bottom:.375rem}

/* ---------- Centred pages (thanks, 404) ---------- */
.centred{position:relative;isolation:isolate;overflow:hidden;overflow:clip;min-height:calc(100vh - 12rem);padding:var(--hero-top) 0 var(--section-y);text-align:center}
.centred__inner{max-width:36rem;margin-inline:auto}
.centred h1{margin:1.5rem auto 1rem}
.centred p{margin-inline:auto}
.centred .stack-actions{justify-content:center}
.lockup-stacked{display:inline-flex;flex-direction:column;align-items:center;color:var(--ink);text-decoration:none}
.lockup-stacked svg{height:56px;width:auto}
.lockup-stacked .logo__word{align-items:center;margin-top:14px}
.lockup-stacked .logo__archora{font-size:22px}
.lockup-stacked .logo__studio{font-size:9.2px;margin-top:5px}

/* ---------- Privacy ---------- */
.privacy-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
@media (min-width:992px){.privacy-layout{grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:4rem;align-items:start}}
.toc-desktop{display:none}
@media (min-width:992px){.toc-desktop{display:block;position:sticky;top:7rem}.toc-mobile{display:none}}
.toc-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;font-size:var(--fs-small)}
.toc-list a{display:inline-flex;min-height:36px;align-items:center;color:var(--text-2);text-decoration:none}
.toc-list a:hover{color:var(--text);text-decoration:underline}
.toc-mobile{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:0 1rem}
.toc-mobile summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;font-weight:600;cursor:pointer;list-style:none}
.toc-mobile summary::-webkit-details-marker{display:none}
.toc-mobile .toc-list{padding-bottom:1rem}
.updated{font-size:var(--fs-small);color:var(--text-3);margin-top:1rem}
.table-wrap{overflow-x:auto;margin:0 0 1rem}
.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-small);min-width:30rem}
.data-table th,.data-table td{padding:.75rem .75rem .75rem 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.data-table thead th{color:var(--text);font-weight:700}
.data-table td{color:var(--text-2)}

/* ---------- Segment pages ---------- */
.honest-strip{background:var(--surface-2);border-radius:var(--radius-md);padding:2rem 1.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}
@media (min-width:768px){.honest-strip{padding:2rem}}
.honest-strip p{margin:0;color:var(--text);font-weight:600;max-width:60ch}
.still-strip{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}
.still-strip > :first-child{grid-column:1/-1}
@media (min-width:768px){.still-strip{grid-template-columns:repeat(3,1fr)}.still-strip > :first-child{grid-column:auto}}

/* ---------- Additions for page markup ---------- */
html:has(dialog[open]){overflow:hidden}
.section--facts{padding-block:2.25rem 2rem;border-bottom:1px solid var(--line);background:var(--bg)}
@media (min-width:992px){.section--facts{padding-block:3rem 2.75rem}.section--facts .fact{padding-block:.5rem}}
.display--wide{max-width:18ch}
.config__still picture,.compare__img picture,.pkg-pane__layer > picture,.gallery__btn picture{display:block;width:100%;height:100%}
.film__frame.is-playing .chip{display:none}
.rail--spaced{margin-top:3rem}
.four-up{list-style:none;margin:0;padding:0}
.four-up--spaced{margin-top:3rem}
.four-up .caption{margin:.5rem 0 0}
.tools--spaced{margin-top:3rem}
.contact-details{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.contact-details li{display:flex;align-items:flex-start;gap:.75rem;color:var(--text-2);font-size:var(--fs-small)}
.contact-details .icon{margin-top:.15em;color:var(--text-2)}
.contact-details strong{color:var(--text)}
.form__summary-title{margin:0 0 .5rem;font-weight:700;color:var(--danger)}
@media (max-width:479.98px){.contact-band__intro .btn,.demo-card .btn{width:100%}}
.lockup-stacked svg{display:block}
/* About band, photo layout (flag: about-band--photo; use once asset A01 exists) */
.about-band--photo{padding:0}
.about-band--photo .about-band__photo{position:relative;aspect-ratio:4/5}
.about-band--photo .about-band__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.about-band--photo .about-band__inner{padding:4rem 0 3rem}
@media (min-width:992px){
  .about-band--photo{min-height:34rem;display:flex;align-items:center}
  .about-band--photo .about-band__photo{position:absolute;left:0;top:0;bottom:0;width:50%;aspect-ratio:auto}
  .about-band--photo .about-band__photo img{object-position:50% 25%}
  .about-band--photo .about-band__inner{margin-left:50%;padding:6rem 0 6rem 4rem;max-width:40rem}
}

/* ---------- Reveal on scroll (JS adds .reveal only to content below the fold) ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity var(--dur-4) var(--ease-out),transform var(--dur-4) var(--ease-out)}
.reveal.is-in{opacity:1;transform:none}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  .nav-panel,.dlg{transition-duration:150ms!important}
  .reveal{opacity:1;transform:none}
  .step__line::after{transform:scaleY(1)}
  .spinner{animation:none}
}
@media (max-width:767.98px){.film__frame .play-big__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;padding:0}}
