/* =====================================================================
   XY · Design System autoral — alexandrexy.com.br
   Base: A24 (tokens, grade, navbar, hero empilhado, botões, tiers)
   Combinado com: Kage (preloader, grão, reveals, glow, cursor, cta, arrowlink)
   As classes mantêm os nomes das fontes, sem o hash de CSS-module da A24
   (pbgBmW_site-nav → .site-nav, KK8boW_home-hero-slide → .home-hero-slide…).
   ===================================================================== */

/* ------------------------------------------------------------ fontes */
@font-face{ font-family:neueMontreal; src:url(../fonts/PPNeueMontreal-Variable.woff2) format("woff2");
  font-display:swap; font-weight:100 900; }
@font-face{ font-family:"neueMontreal Fallback"; src:local(Arial);
  ascent-override:99.89%; descent-override:25.23%; line-gap-override:0%; size-adjust:95.9%; }
@font-face{ font-family:neueMontrealMono; src:url(../fonts/PPNeueMontrealMono-Variable.woff2) format("woff2");
  font-display:swap; font-weight:100 900; }
@font-face{ font-family:"neueMontrealMono Fallback"; src:local(Arial);
  ascent-override:72.86%; descent-override:18.4%; line-gap-override:0%; size-adjust:131.49%; }

/* ------------------------------------------------------------ tokens (A24) */
:root{
  --font-montreal:neueMontreal,"neueMontreal Fallback";
  --font-montreal-mono:neueMontrealMono,"neueMontrealMono Fallback";
  --font-voice:"Instrument Serif","Times New Roman",Georgia,serif;   /* voz autoral (novo) */

  /* tempo */
  --duration-fast:.15s; --duration-medium:.25s; --duration-slow:.4s;
  --duration-reveal:1.05s; --duration-cinematic:1.6s;
  --easing-ease-out-power2:cubic-bezier(.215,.61,.355,1);
  --easing-ease-out-power4:cubic-bezier(.23,1,.32,1);
  --easing-ease-in-power2:cubic-bezier(.55,.055,.675,.19);
  --easing-ease-out-expo:cubic-bezier(.19,1,.22,1);
  --easing-ease-in-out-power2:cubic-bezier(.645,.045,.355,1);
  --easing-ease-in-out-power3:cubic-bezier(.77,0,.175,1);
  --easing-ease-out-slow:cubic-bezier(.04,1.15,.4,.99);
  /* Kage */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);

  /* cor — neutros quentes da A24 */
  --color-black:#000; --color-white:#fff;
  --color-warm-neutral-25:#fcfbfa;  --color-warm-neutral-50:#f2f0ed;  --color-warm-neutral-100:#e8e6e2;
  --color-warm-neutral-200:#d6d4d1; --color-warm-neutral-400:#b2ada6; --color-warm-neutral-650:#9c9791;
  --color-warm-neutral-800:#6f6d6a; --color-warm-neutral-900:#595753; --color-warm-neutral-950:#31302e;
  --color-warm-neutral-975:#141313; --color-warm-neutral-1000:#0e0e0d;
  --color-warm-neutral-overlay-default:#837e7733; --color-warm-neutral-overlay-light:#837e771a;

  /* cor — assinatura XY (novo: vocabulário de película) */
  --color-halation:#c8401f;     /* halação: o brilho vermelho da película em volta das altas luzes */
  --color-halation-glow:#ff6a3d;
  --color-tungsten:#b48f0b;     /* = A24 --color-callout */
  --color-bordeaux:#8c2f45;     /* = A24 --color-aaa24 */
  --color-blue-hour:#3e5a66;    /* contraluz fria, par do tungstênio */
  --color-success:#27bb0d; --color-success-text:#23801a;
  --color-error:#f95936;   --color-error-text:#b8381c;

  /* espaço e grade (A24: 1rem = 10px) */
  --space-1:.4rem; --space-2:.8rem; --space-3:1.2rem; --space-4:1.6rem; --space-6:2.4rem;
  --space-8:3.2rem; --space-12:4.8rem; --space-16:6.4rem; --space-24:9.6rem; --space-32:12.8rem;
  --grid-columns:12; --grid-max-width:180rem;
  --grid-column-gutter:2.4rem; --grid-outer-gutter:2.4rem;
  --grid-outer-gutter-quart:calc(var(--grid-outer-gutter) * .25);
  --site-nav-clearance:10.8rem;
  --border-width-default:1px; --border-width-thin:.5px;
  --border-radius-button:0; --border-radius-tags:1px; --border-radius-media-thumb:1px;

  /* tipo */
  --type-scaling:1;
  --type-weight-sans-light:375; --type-weight-sans-regular:420; --type-weight-sans-medium:485;
  --type-weight-sans-semibold:535; --type-weight-sans-bold:570;
  --type-weight-mono-light:375; --type-weight-mono-regular:420;
  --type-line-height-default:1.1; --type-line-height-tight:1; --type-line-height-tighter:.87; --type-line-height-body:1.4;

  /* Kage */
  --pad:var(--grid-outer-gutter); --nav-h:7.6rem;
}
@media (min-width:1600px){ :root{ --type-scaling:1.15; } }
@media (max-width:767px){ :root{ --grid-column-gutter:1.2rem; --grid-outer-gutter:1.6rem; --site-nav-clearance:8.4rem; --type-scaling:.9375; } }

/* ------------------------------------------------------------ temas (A24 .color-theme) */
.theme--light{
  --theme-text-default:var(--color-warm-neutral-1000);
  --theme-text-subtle:var(--color-warm-neutral-800);
  --theme-text-subtler:var(--color-warm-neutral-650);
  --theme-text-subtlest:var(--color-warm-neutral-400);
  --theme-text-good:var(--color-success-text); --theme-text-bad:var(--color-error-text);
  --theme-background-default:var(--color-white);
  --theme-background-subtle:var(--color-warm-neutral-25);
  --theme-background-pop:var(--color-warm-neutral-50);
  --theme-border-default:var(--color-warm-neutral-200);
  --theme-border-light:var(--color-warm-neutral-100);
  --theme-border-bold:var(--theme-text-default);
  --theme-accent:var(--color-halation);
  --theme-accent-contrast:var(--color-white);
  --theme-shadow:rgba(14,14,13,.18);
}
.theme--dark{
  --theme-text-default:var(--color-white);
  --theme-text-subtle:var(--color-warm-neutral-400);
  --theme-text-subtler:var(--color-warm-neutral-650);
  --theme-text-subtlest:var(--color-warm-neutral-800);
  --theme-text-good:#95fb69; --theme-text-bad:var(--color-error);
  --theme-background-default:var(--color-warm-neutral-1000);
  --theme-background-subtle:var(--color-warm-neutral-975);
  --theme-background-pop:var(--color-black);
  --theme-border-default:var(--color-warm-neutral-950);
  --theme-border-light:rgba(49,48,46,.6);
  --theme-border-bold:var(--theme-text-default);
  --theme-accent:var(--color-halation-glow);
  --theme-accent-contrast:var(--color-warm-neutral-1000);
  --theme-shadow:rgba(0,0,0,.6);
}
.color-theme{ color:var(--theme-text-default); }
.color-theme--background{ background-color:var(--theme-background-default); }

/* ------------------------------------------------------------ base */
*,*::before,*::after{ box-sizing:border-box; }
html{ font-size:62.5%; -webkit-text-size-adjust:100%; background:var(--color-warm-neutral-1000); overscroll-behavior-x:none; }
body{
  margin:0; min-height:100%;
  font-family:var(--font-montreal),system-ui,sans-serif;
  font-size:calc(1.6rem * var(--type-scaling)); line-height:1.5;
  --font-axis-wght:var(--type-weight-sans-regular); font-weight:var(--font-axis-wght);
  font-variation-settings:"wght" var(--font-axis-wght);
  background:var(--theme-background-default); color:var(--theme-text-default);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:hidden;
  transition:background-color .6s var(--ease), color .6s var(--ease);
}
body.is-locked{ overflow:hidden; }
img{ max-width:100%; display:block; }
a{ color:inherit; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; padding:0; }
::selection{ background:var(--color-halation); color:#fff; }
:focus-visible{ outline:1px solid var(--theme-text-default); outline-offset:.4rem; }

/* ------------------------------------------------------------ camadas de película (Kage) */
#grain{ position:fixed; inset:-50%; z-index:90; pointer-events:none; opacity:.07; mix-blend-mode:multiply;
  background:url(../img/grain.png) repeat; background-size:220px; animation:grain-shift .9s steps(6) infinite; }
.theme--dark #grain, body.theme--dark #grain{ mix-blend-mode:overlay; opacity:.09; }
@keyframes grain-shift{
  0%{ transform:translate(0,0) } 20%{ transform:translate(-4%,3%) } 40%{ transform:translate(3%,-2%) }
  60%{ transform:translate(-2%,-4%) } 80%{ transform:translate(4%,2%) } 100%{ transform:translate(0,0) } }
#vignette{ position:absolute; inset:0; z-index:3; pointer-events:none;
  background:radial-gradient(120% 95% at 50% 45%, transparent 45%, rgba(8,7,6,.55) 100%); }

/* ------------------------------------------------------------ preloader (Kage #pre) */
#pre{ position:fixed; inset:0; z-index:100; background:var(--color-warm-neutral-1000); color:#fff;
  display:flex; align-items:center; justify-content:center; transition:opacity .9s var(--ease), visibility .9s; }
#pre.is-done{ opacity:0; visibility:hidden; pointer-events:none; }
.pre-in{ width:min(42rem,74vw); }
.pre-mark{ font-family:var(--font-voice); font-style:italic; font-size:5.6rem; line-height:1; margin:0 0 2.6rem;
  letter-spacing:-.02em; color:#fff; }
.pre-mark b{ font-family:var(--font-montreal); font-style:normal; font-weight:420; font-size:.5em; letter-spacing:.02em;
  vertical-align:.55em; margin-left:.3em; color:var(--color-warm-neutral-650); }
.pre-bar{ position:relative; height:1px; background:rgba(255,255,255,.14); overflow:hidden; }
.pre-bar i{ position:absolute; inset:0 100% 0 0; background:linear-gradient(90deg,var(--color-tungsten),var(--color-halation-glow)); transition:right .35s linear; }
.pre-meta{ display:flex; justify-content:space-between; margin-top:1.2rem;
  font-family:var(--font-montreal-mono); font-size:1.1rem; letter-spacing:.04em; text-transform:uppercase; color:var(--color-warm-neutral-650); }
.pre-meta b{ font-weight:420; color:#fff; font-variant-numeric:tabular-nums; }

/* ------------------------------------------------------------ cursor (Kage .cur-dot) */
.cur-dot{ position:fixed; z-index:95; top:0; left:0; width:1.2rem; height:1.2rem; margin:-.6rem 0 0 -.6rem;
  border-radius:50%; pointer-events:none; background:#fff; mix-blend-mode:difference;
  transition:width .45s var(--ease-out), height .45s var(--ease-out), margin .45s var(--ease-out), opacity .3s; opacity:0; }
.cur-dot.on{ opacity:1; }
.cur-dot.act{ width:5.6rem; height:5.6rem; margin:-2.8rem 0 0 -2.8rem; }
.cur-dot[data-label]::after{ content:attr(data-label); position:absolute; inset:0; display:grid; place-items:center;
  font:420 .9rem/1 var(--font-montreal-mono); letter-spacing:.06em; text-transform:uppercase; color:#000; opacity:0; transition:opacity .3s; }
.cur-dot.act[data-label]::after{ opacity:1; }
@media (hover:none){ .cur-dot{ display:none; } }

/* ------------------------------------------------------------ tipografia */
.display{ font-size:clamp(5.6rem,min(13.2vw,19svh),24rem); line-height:var(--type-line-height-tighter); letter-spacing:-.045em;
  --font-axis-wght:var(--type-weight-sans-regular); font-weight:var(--font-axis-wght); font-variation-settings:"wght" var(--font-axis-wght); margin:0; }
h1,.h1{ font-size:clamp(4.8rem,6.6vw,10.4rem); line-height:1; letter-spacing:-.035em; font-weight:420; margin:0; }
h2,.h2,.h-sec{ font-size:clamp(3.6rem,4.4vw,7.2rem); line-height:1; letter-spacing:-.03em; font-weight:420; margin:0; }
h3,.h3,.h-hero{ font-size:clamp(2.8rem,2.8vw,4.4rem); line-height:1.08; letter-spacing:-.02em; font-weight:420; margin:0; }
h4,.h4{ font-size:calc(2.4rem * var(--type-scaling)); line-height:1.15; letter-spacing:-.01em; font-weight:485; margin:0; }
h5,.h5{ font-size:calc(1.8rem * var(--type-scaling)); line-height:1.25; letter-spacing:-.005em; font-weight:485; margin:0; }
h6,.h6{ font-size:calc(1.2rem * var(--type-scaling)); line-height:1; letter-spacing:.005em; font-weight:485; margin:0;
  text-transform:uppercase; font-feature-settings:"cpsp" on; }
.body-lg{ font-size:calc(2.1rem * var(--type-scaling)); line-height:1.4; letter-spacing:.0045em; font-weight:420; }
.body{ font-size:calc(1.6rem * var(--type-scaling)); line-height:1.5; letter-spacing:0; font-weight:420; }
.body-sm{ font-size:calc(1.4rem * var(--type-scaling)); line-height:1.45; letter-spacing:.005em; font-weight:420; }
.caption{ font-family:var(--font-montreal-mono); font-size:calc(1.2rem * var(--type-scaling)); line-height:1.3;
  letter-spacing:-.015em; font-weight:375; font-feature-settings:"zero" on; color:var(--theme-text-subtle); }
.eyebrow,.label{ font-size:calc(1.1rem * var(--type-scaling)); line-height:1; letter-spacing:.14em; font-weight:535;
  text-transform:uppercase; font-feature-settings:"cpsp" on; }
.helper{ font-size:calc(1.2rem * var(--type-scaling)); line-height:1.4; letter-spacing:.005em; font-weight:420; color:var(--theme-text-subtler); }
.mono,.secondary-label{ font-family:var(--font-montreal-mono); font-weight:375; letter-spacing:-.015em; font-feature-settings:"zero" on; }
.num{ font-family:var(--font-montreal-mono); font-variant-numeric:tabular-nums; font-weight:375; letter-spacing:-.02em; }
.voice{ font-family:var(--font-voice); font-style:italic; font-weight:400; letter-spacing:-.01em; }
.subtle{ color:var(--theme-text-subtle); } .subtler{ color:var(--theme-text-subtler); }

/* ------------------------------------------------------------ reveals (Kage) */
[data-rv]{ opacity:0; }
[data-rv="up"]{ transform:translate3d(0,2.6rem,0); }
[data-rv="fade"]{ transform:none; }
[data-rv="frame"]{ opacity:1; clip-path:inset(12% 12% 12% 12%); }
[data-rv].rv-in{ opacity:1; transform:none; clip-path:inset(0 0 0 0);
  transition:opacity .9s var(--ease-out) var(--d,0s), transform 1.05s var(--ease-out) var(--d,0s), clip-path 1.4s var(--easing-ease-in-out-power3) var(--d,0s); }
.mask-line{ display:block; overflow:hidden; padding-bottom:.06em; margin-bottom:-.06em; }
.mask-line:not(.word-reveal) > span{ display:block; transform:translate3d(0,110%,0); transition:transform 1.05s var(--ease-out) var(--d,0s); }
.rv-in .mask-line:not(.word-reveal) > span, .mask-line:not(.word-reveal).rv-in > span{ transform:none; }
.word-reveal .word{ display:inline-block; opacity:0; transform:translate3d(0,.4em,0); filter:blur(6px);
  transition:opacity .8s var(--ease-out), transform .9s var(--ease-out), filter .9s var(--ease-out); transition-delay:calc(var(--i,0) * 45ms + var(--d,0s)); }
.word-reveal.rv-in .word, .rv-in .word-reveal .word{ opacity:1; transform:none; filter:none; }

/* ------------------------------------------------------------ navbar (A24 .site-nav) */
.site-nav{ --site-nav-logo-height:2.2rem; --site-nav-link-padding-x:1.2rem; --site-nav-link-padding-y:1.2rem;
  position:fixed; top:0; left:0; right:0; z-index:40; user-select:none;
  transition:transform var(--duration-medium) var(--easing-ease-out-power2) var(--duration-medium); }
.site-nav.is-hidden{ pointer-events:none; }
.site-nav--staggered-hide [data-anim-index]{ --delay-asc:0s; --delay-desc:0s; --y:-180%; --opacity:1;
  transition:transform var(--duration-slow) var(--easing-ease-out-power2) var(--delay-desc), opacity var(--duration-slow) var(--delay-desc); }
.site-nav--staggered-hide.is-hidden [data-anim-index]{ transform:translateY(var(--y)); opacity:var(--opacity);
  transition-timing-function:var(--easing-ease-in-power2); transition-delay:var(--delay-asc); }
.site-nav--staggered-hide.is-hidden [data-anim-index="1"]{ --delay-asc:10ms; --delay-desc:50ms; }
.site-nav--staggered-hide.is-hidden [data-anim-index="2"]{ --delay-asc:20ms; --delay-desc:40ms; }
.site-nav--staggered-hide.is-hidden [data-anim-index="3"]{ --delay-asc:30ms; --delay-desc:30ms; }
.site-nav--staggered-hide.is-hidden [data-anim-index="4"]{ --delay-asc:40ms; --delay-desc:20ms; }
.site-nav--staggered-hide.is-hidden [data-anim-index="5"]{ --delay-asc:50ms; --delay-desc:10ms; }
.site-nav--staggered-hide.is-hidden [data-anim-index="logo"]{ --delay-asc:.25s; --delay-desc:.25s; --y:-50%; --opacity:0; }
.site-nav .container{ display:grid; grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr)); column-gap:var(--grid-column-gutter);
  padding:var(--space-6) var(--grid-outer-gutter) var(--space-6); align-items:start; }
.site-nav .primary{ grid-column:1/5; display:flex; }
.site-nav .logo{ grid-column:5/9; justify-self:center; }
.site-nav .secondary{ grid-column:9/-1; display:flex; justify-content:flex-end; }
.site-nav .list{ display:flex; align-items:flex-start; margin:0 calc(-1 * var(--site-nav-link-padding-x)); padding:0; list-style:none; }
.site-nav .item{ display:flex; }
.item-theme{ color:var(--theme-text-default); transition:color var(--duration-medium) var(--easing-ease-out-power2); display:inline-flex; }
.site-nav .link, .site-nav .button{ position:relative; display:inline-block;
  font-family:var(--font-montreal); font-size:calc(1.2rem * var(--type-scaling)); line-height:1; letter-spacing:.005em; font-weight:485;
  text-transform:uppercase; font-feature-settings:"cpsp" on; padding:var(--site-nav-link-padding-y) var(--site-nav-link-padding-x);
  color:inherit; text-decoration:none; }
.site-nav .link:hover, .site-nav .button:hover{ text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.4rem; }
.site-nav .link.is-active{ text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.4rem; }
.site-nav .link--has-hover-svg:hover{ text-decoration:none; }
.site-nav .label{ transition:color .2s; }
.site-nav .link--has-hover-svg:hover .label{ color:transparent; }
.site-nav .hover-svg{ position:absolute; top:50%; left:50%; height:2.6rem; width:auto; pointer-events:none; opacity:0;
  transform:translate(-50%,-50%) scale(var(--hover-svg-scale,1)) rotate(-6deg); transition:opacity .2s, transform .5s var(--easing-ease-out-slow); }
.site-nav .link--has-hover-svg:hover .hover-svg{ opacity:1; transform:translate(-50%,-50%) scale(var(--hover-svg-scale,1)) rotate(0); }
.site-nav .hover-svg path, .site-nav .hover-svg circle, .site-nav .hover-svg rect{ stroke-dasharray:var(--len,200); stroke-dashoffset:var(--len,200); transition:stroke-dashoffset .7s var(--ease-out); }
.site-nav .link--has-hover-svg:hover .hover-svg *{ stroke-dashoffset:0; }
.site-nav .logo-link{ display:block; padding:var(--site-nav-link-padding-y) var(--site-nav-link-padding-x); text-decoration:none; color:inherit; line-height:1; }
.logo-word{ font-size:2.4rem; letter-spacing:-.04em; font-weight:485; white-space:nowrap; }
.logo-word i{ font-family:var(--font-voice); font-weight:400; letter-spacing:-.02em; margin-left:.08em; }
.site-nav .hamburger{ display:none; }
.hamburger-lines{ display:grid; gap:.5rem; width:2.2rem; }
.hamburger-lines i{ display:block; height:1px; background:currentColor; transition:transform .5s var(--ease-out); }
.button--menu:hover .hamburger-lines i:first-child{ transform:translateX(.4rem); }
.button--menu:hover .hamburger-lines i:last-child{ transform:translateX(-.4rem); }
@media (max-width:899px){
  .site-nav .hide-on-phone{ display:none; }
  .site-nav .primary{ grid-column:1/4; } .site-nav .logo{ grid-column:4/10; } .site-nav .secondary{ grid-column:10/-1; }
  .site-nav .hamburger{ display:inline-flex; }
}
/* gaveta (A24 .drawer) */
.drawer{ position:fixed; inset:0; z-index:60; pointer-events:none; }
.drawer-scrim{ position:absolute; inset:0; background:rgba(14,14,13,.4); opacity:0; transition:opacity .5s var(--ease); }
.drawer-panel{ position:absolute; top:0; right:0; bottom:0; width:min(48rem,100%); padding:var(--space-6) var(--grid-outer-gutter);
  background:var(--theme-background-default); transform:translateX(100%); transition:transform .7s var(--easing-ease-in-out-power3);
  display:flex; flex-direction:column; }
.drawer.is-open{ pointer-events:auto; } .drawer.is-open .drawer-scrim{ opacity:1; } .drawer.is-open .drawer-panel{ transform:none; }
.drawer-list{ list-style:none; margin:auto 0 0; padding:0; border-top:1px solid var(--theme-border-bold); }
.drawer-list a{ display:flex; justify-content:space-between; align-items:baseline; padding:1.4rem 0; border-bottom:1px solid var(--theme-border-default);
  font-size:4.4rem; letter-spacing:-.03em; line-height:1; text-decoration:none; }
.drawer-list a .num{ font-size:1.2rem; color:var(--theme-text-subtler); }
.drawer.is-open .drawer-list li{ animation:drawer-in .9s var(--ease-out) both; animation-delay:calc(var(--i) * 60ms + .25s); }
@keyframes drawer-in{ from{ opacity:0; transform:translateY(2rem); } }

/* ------------------------------------------------------------ hero empilhado (A24 .home-hero-slide) */
.home-hero{ position:relative; }
.home-hero-slide{
  --home-hero-slide-inset:var(--grid-outer-gutter-quart);
  position:relative; z-index:2; height:100vh; height:100svh; overflow:hidden;
  clip-path:inset(var(--home-hero-slide-inset)); background:var(--color-warm-neutral-1000);
}
.home-hero-slide + .home-hero-slide{ margin-top:calc(-1 * var(--home-hero-slide-inset)); }
.home-hero-slide--fullbleed{ --home-hero-slide-inset:0rem; }
.home-hero-slide--stacking{ clip-path:none; border:var(--home-hero-slide-inset) solid var(--theme-background-default); }
.home-hero-slide--sticky{ position:sticky; top:0; }
.home-hero-slide--parallax .media-wrapper{ will-change:transform; }
.home-hero-slide--gutter-animated{ will-change:clip-path; }
.home-hero-slide .media-wrapper{ position:absolute; inset:0 0 -12% 0; }
.home-hero-slide .media-link{ position:absolute; inset:0; display:block; }
.home-hero-slide .media-obj{ width:100%; height:100%; object-fit:cover; object-position:var(--home-hero-slide-object-position,center); }
.home-hero-slide .content{ position:absolute; inset:0; z-index:4; display:flex; flex-direction:column; justify-content:flex-end;
  padding:var(--site-nav-clearance) var(--grid-outer-gutter) calc(var(--grid-outer-gutter) * 2 + 3.2rem); color:var(--theme-text-default);
  pointer-events:none; background:linear-gradient(180deg, rgba(14,14,13,.35) 0%, transparent 22%, transparent 55%, rgba(14,14,13,.55) 100%); }
.home-hero-slide .content a, .home-hero-slide .content button{ pointer-events:auto; }
.home-hero-slide .title-container{ position:relative; z-index:1; }
.home-hero-slide .actions{ display:flex; align-items:center; gap:var(--grid-column-gutter); margin-bottom:var(--space-8); flex-wrap:wrap; }
.home-hero-slide .notice{ font-size:calc(2.1rem * var(--type-scaling)); line-height:1.4; letter-spacing:.0045em; margin:0;
  color:rgb(255 255 255 / .55); text-align:right; }
/* moldura que encolhe ao entrar (gutter-animated) */
.home-hero-slide--gutter-animated.is-intro{ clip-path:inset(18% 22% 18% 22%); }
.home-hero-slide--gutter-animated.is-open{ clip-path:inset(0); transition:clip-path 1.8s var(--easing-ease-in-out-power3); }
.home-hero-slide--gutter-animated.is-intro .media-obj{ transform:scale(1.25); }
.home-hero-slide--gutter-animated .media-obj{ transition:transform 2.4s var(--easing-ease-out-expo), filter .8s; }

/* ----- assinatura: split LOG → GRADE (novo, nasce da profissão) */
.grade-split{ position:absolute; inset:0; --x:50%; }
.grade-split .media-obj{ position:absolute; inset:0; }
.grade-split .grade-log{ filter:saturate(.18) contrast(.62) brightness(1.18) sepia(.08); clip-path:inset(0 calc(100% - var(--x)) 0 0); }
.grade-split .grade-line{ position:absolute; top:0; bottom:0; left:var(--x); width:1px; background:rgba(255,255,255,.75); z-index:2;
  box-shadow:0 0 18px 2px rgba(255,106,61,.55); }
.grade-split .grade-line::before{ content:''; position:absolute; top:50%; left:50%; width:4.4rem; height:4.4rem; translate:-50% -50%;
  border:1px solid rgba(255,255,255,.8); border-radius:50%; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); background:rgba(14,14,13,.15); }
.grade-split .grade-line::after{ content:'⟷'; position:absolute; top:50%; left:50%; translate:-50% -52%; color:#fff; font-size:1.6rem; }
.grade-tag{ position:absolute; top:calc(var(--site-nav-clearance) + 1rem); z-index:5; font-family:var(--font-montreal-mono);
  font-size:1.1rem; letter-spacing:.04em; text-transform:uppercase; color:#fff; padding:.5rem .7rem; border:1px solid rgba(255,255,255,.35); }
.grade-tag--log{ left:var(--grid-outer-gutter); } .grade-tag--grade{ right:var(--grid-outer-gutter); border-color:rgba(255,106,61,.7); }
.grade-tag i{ display:inline-block; width:.6rem; height:.6rem; border-radius:50%; background:var(--color-halation-glow); margin-right:.6rem; vertical-align:.1rem;
  animation:rec 1.6s steps(2) infinite; }
@keyframes rec{ 50%{ opacity:.15; } }

/* ----- halação: glow que segue a luz (Kage .glow) */
.glow{ position:absolute; z-index:3; pointer-events:none; left:var(--gx,60%); top:var(--gy,40%); width:calc(var(--gr,24rem) * 2); aspect-ratio:1;
  translate:-50% -50%; mix-blend-mode:screen; transition:left 1.2s var(--ease-out), top 1.2s var(--ease-out); }
.glow::before{ content:''; position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(closest-side, var(--gc1,rgba(255,106,61,.45)), var(--gc2,rgba(200,64,31,.18)) 42%, transparent 72%);
  animation:glow-pulse var(--gt,6s) var(--ease-io) infinite; }
@keyframes glow-pulse{ 0%,100%{ transform:scale(1); opacity:.85; } 50%{ transform:scale(1.12); opacity:1; } }

.hero-hud{ position:absolute; left:var(--grid-outer-gutter); right:var(--grid-outer-gutter); bottom:calc(var(--grid-outer-gutter) * .8);
  z-index:5; display:flex; justify-content:space-between; gap:2rem; font-family:var(--font-montreal-mono); font-size:1.1rem;
  letter-spacing:.02em; text-transform:uppercase; color:rgba(255,255,255,.6); pointer-events:none; }
.hero-hud b{ font-weight:420; color:#fff; font-variant-numeric:tabular-nums; }
.dynamic-heading{ color:#fff; }
.dynamic-heading .voice{ font-size:1.02em; letter-spacing:-.03em; }
.hero-sub{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:end; margin-top:var(--space-6); color:#fff; }
.hero-sub p{ margin:0; max-width:46ch; color:rgba(255,255,255,.78); }
@media (max-width:767px){ .hero-sub{ grid-template-columns:1fr; } .home-hero-slide .notice{ text-align:left; } .hero-hud span:nth-child(2){ display:none; } }
.slide-index{ position:absolute; top:calc(var(--site-nav-clearance) + 1rem); right:var(--grid-outer-gutter); z-index:5; color:#fff; }

/* ------------------------------------------------------------ links e botões (A24 .dotcom-link.button) */
.dotcom-link{ color:inherit; text-decoration:none; }
.dotcom-link.has-labels{ display:inline-flex; align-items:center; gap:var(--space-3); }
.dotcom-link .secondary-label{ font-size:inherit; color:var(--theme-text-subtle); }
.button{
  --button-background:var(--theme-background-default); --button-border-color:var(--theme-text-default); --button-color:var(--theme-text-default);
  --button-background-hover:var(--theme-text-default); --button-border-color-hover:var(--theme-text-default); --button-color-hover:var(--theme-background-default);
  position:relative; display:inline-flex; align-items:center; gap:.7em; overflow:hidden; isolation:isolate;
  background:var(--button-background); color:var(--button-color); border:1px solid var(--button-border-color);
  border-radius:var(--border-radius-button); text-decoration:none; cursor:pointer; white-space:nowrap;
  font-family:var(--font-montreal); font-weight:485; text-transform:uppercase; font-feature-settings:"cpsp" on; line-height:1;
  transition:color .45s var(--ease-out), border-color .45s var(--ease-out), background-color .45s var(--ease-out);
}
/* combinação: o hover da A24 (inverte) acontece com o preenchimento de baixo pra cima do Kage .cta */
.button::before{ content:''; position:absolute; inset:-1px; z-index:-1; background:var(--button-background-hover);
  transform:translate3d(0,101%,0); transition:transform .6s var(--ease-out); }
.button:hover:not(:disabled):not(.is-disabled){ color:var(--button-color-hover); border-color:var(--button-border-color-hover); }
.button:hover:not(:disabled):not(.is-disabled)::before{ transform:none; }
.button:active:not(:disabled){ transform:translateY(1px); }
.button:disabled,.button.is-disabled{ cursor:not-allowed;
  background:color-mix(in srgb, var(--button-background), var(--theme-background-default) 66.6%);
  border-color:color-mix(in srgb, var(--button-border-color), var(--theme-background-default) 66.6%);
  color:color-mix(in srgb, var(--button-color), var(--theme-background-default) 66.6%); }
.button svg{ width:1em; height:1em; flex:none; transition:transform .6s var(--ease-out); }
.button:hover svg{ transform:translate3d(.2em,-.2em,0); }
.button--small{ font-size:calc(1.2rem * var(--type-scaling)); letter-spacing:.005em; padding:.62em .72em; }
.button--medium{ font-size:calc(1.4rem * var(--type-scaling)); letter-spacing:0; padding:.78em .9em; }
.button--large{ font-size:calc(2rem * var(--type-scaling)); letter-spacing:-.005em; padding:.8em 1em; }
.button--inverted{ --button-background:var(--theme-text-default); --button-border-color:var(--theme-text-default); --button-color:var(--theme-background-default);
  --button-background-hover:var(--theme-background-default); --button-color-hover:var(--theme-text-default); }
.button--transparent{ --button-background:transparent; --button-background-hover:var(--theme-text-default); --button-color-hover:var(--theme-background-default); }
.button--accent{ --button-background:transparent; --button-border-color:color-mix(in srgb, var(--theme-accent) 45%, transparent); --button-color:var(--theme-accent);
  --button-background-hover:var(--theme-accent); --button-border-color-hover:var(--theme-accent); --button-color-hover:var(--theme-accent-contrast); }
.button--on-media{ --button-background:transparent; --button-border-color:rgba(255,255,255,.7); --button-color:#fff;
  --button-background-hover:#fff; --button-border-color-hover:#fff; --button-color-hover:#0e0e0d; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.button.is-loading{ pointer-events:none; color:transparent; }
.button.is-loading::after{ content:''; position:absolute; left:50%; top:50%; width:1.2em; height:1.2em; margin:-.6em; border:1px solid var(--button-color);
  border-right-color:transparent; border-radius:50%; animation:icon-spinner-rotate .8s linear infinite; }
@keyframes icon-spinner-rotate{ to{ transform:rotate(360deg); } }

/* Kage .cta — pílula com preenchimento <i> (mantida como CTA “de assinatura”) */
.cta{ position:relative; display:inline-flex; align-items:center; gap:1.4rem; padding:1.6rem 2.8rem; border:1px solid currentColor;
  border-radius:100px; overflow:hidden; isolation:isolate; font-size:1.1rem; font-weight:535; letter-spacing:.18em; text-transform:uppercase;
  text-decoration:none; transition:color .45s var(--ease), border-color .45s; }
.cta i{ position:absolute; inset:0; z-index:-1; background:var(--theme-text-default); transform:translate3d(0,101%,0); border-radius:inherit;
  transition:transform .62s var(--ease-out), border-radius .62s; }
.cta:hover{ color:var(--theme-background-default); }
.cta:hover i{ transform:none; }
.cta--glow{ box-shadow:0 0 0 0 rgba(255,106,61,0); transition:box-shadow .8s var(--ease), color .45s; }
.cta--glow:hover{ box-shadow:0 0 4rem -.4rem rgba(255,106,61,.55); }
.on-media .cta{ color:#fff; } .on-media .cta i{ background:#fff; } .on-media .cta:hover{ color:#0e0e0d; }

/* Kage .arrowlink */
.arrowlink{ display:inline-flex; align-items:center; gap:1.2rem; font-size:1.1rem; font-weight:535; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; }
.arrowlink .ar{ width:3.4rem; height:3.4rem; border:1px solid color-mix(in srgb, currentColor 30%, transparent); border-radius:50%;
  display:grid; place-items:center; transition:background .45s var(--ease), border-color .45s, transform .5s var(--ease-out); }
.arrowlink .ar svg{ width:1.3rem; height:1.3rem; transition:transform .5s var(--ease-out); }
.arrowlink:hover .ar{ background:currentColor; border-color:currentColor; }
.arrowlink:hover .ar svg{ transform:translate3d(2px,-2px,0); color:var(--theme-background-default); }
.on-media .arrowlink:hover .ar svg{ color:#0e0e0d; }
.textlink{ text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.3em; text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);
  transition:text-decoration-color .3s; } .textlink:hover{ text-decoration-color:currentColor; }

/* ------------------------------------------------------------ inputs (A24 form / switch-field) */
.field{ display:flex; flex-direction:column; gap:.8rem; min-width:0; }
.field-legend{ font-family:var(--font-montreal-mono); font-size:1.2rem; letter-spacing:-.015em; color:var(--theme-text-subtle); display:flex; justify-content:space-between; }
.field-control{ position:relative; }
.input{ width:100%; appearance:none; background:transparent; border:0; border-bottom:1px solid var(--theme-border-default); border-radius:0;
  padding:1rem 0 1.1rem; color:var(--theme-text-default); font:420 calc(2.1rem * var(--type-scaling))/1.2 var(--font-montreal); letter-spacing:-.01em;
  transition:border-color .3s; outline:none; }
.input::placeholder{ color:var(--theme-text-subtlest); }
.field-control::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--theme-text-default);
  transform:scaleX(0); transform-origin:left; transition:transform .7s var(--easing-ease-out-expo); }
.field-control:focus-within::after{ transform:scaleX(1); }
.input:hover{ border-color:var(--theme-text-subtler); }
textarea.input{ resize:vertical; min-height:11rem; font-size:calc(1.8rem * var(--type-scaling)); line-height:1.4; }
select.input{ cursor:pointer; padding-right:3rem; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%239c9791'%3E%3Cpath d='M2 4.5l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .2rem center; }
.field.is-error .input{ border-color:var(--theme-text-bad); } .field.is-error .field-control::after{ background:var(--theme-text-bad); }
.field.is-error .helper{ color:var(--theme-text-bad); }
.field.is-disabled{ opacity:.4; pointer-events:none; }
.field.is-error .field-control{ animation:shake .5s var(--easing-ease-out-power2); }
@keyframes shake{ 20%{ transform:translateX(-.6rem); } 40%{ transform:translateX(.5rem); } 60%{ transform:translateX(-.3rem); } 80%{ transform:translateX(.2rem); } }
.check{ display:inline-flex; gap:1rem; align-items:center; cursor:pointer; font-size:1.5rem; }
.check input{ appearance:none; width:1.8rem; height:1.8rem; margin:0; border:1px solid var(--theme-text-subtle); border-radius:var(--border-radius-tags);
  display:grid; place-items:center; cursor:pointer; transition:background .3s, border-color .3s; }
.check input::after{ content:''; width:.9rem; height:.9rem; background:var(--theme-background-default); transform:scale(0); transition:transform .4s var(--easing-ease-out-slow); }
.check input:checked{ background:var(--theme-text-default); border-color:var(--theme-text-default); }
.check input:checked::after{ transform:scale(1); clip-path:polygon(14% 52%, 0 66%, 38% 100%, 100% 22%, 86% 8%, 38% 72%); background:var(--theme-background-default); }
.switch-field{ --switch-field-color:var(--theme-text-default); display:inline-flex; align-items:center; gap:1.2rem; cursor:pointer; }
.switch-label{ font-family:var(--font-montreal-mono); font-size:1.2rem; }
.switch-field input{ appearance:none; margin:0; width:4.4rem; height:2.2rem; border:1px solid var(--switch-field-color); border-radius:2rem; position:relative; cursor:pointer; transition:background .4s; }
.switch-field input::after{ content:''; position:absolute; top:.3rem; left:.3rem; width:1.4rem; height:1.4rem; border-radius:50%; background:var(--switch-field-color);
  transition:transform .55s var(--easing-ease-out-slow), background .4s; }
.switch-field input:checked{ background:var(--switch-field-color); }
.switch-field input:checked::after{ transform:translateX(2.2rem); background:var(--theme-background-default); }

/* ------------------------------------------------------------ cards (A24 carousel slide + Kage card) */
.card{ position:relative; display:flex; flex-direction:column; gap:1rem; text-decoration:none; color:inherit; cursor:pointer; }
.card-media{ position:relative; overflow:hidden; aspect-ratio:var(--ratio,16/10); background:var(--theme-background-pop); border-radius:var(--border-radius-media-thumb); }
.card-media img{ width:100%; height:100%; object-fit:cover; transform:scale(1.02);
  filter:saturate(.25) contrast(.8) brightness(1.08); transition:transform 1.4s var(--easing-ease-out-expo), filter 1.1s var(--ease); }
.card:hover .card-media img, .card:focus-visible .card-media img{ transform:scale(1.07); filter:none; }
.card-media::after{ content:''; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity 1s var(--ease);
  background:radial-gradient(60% 50% at var(--mx,70%) var(--my,30%), rgba(255,106,61,.28), transparent 70%); mix-blend-mode:screen; }
.card:hover .card-media::after{ opacity:1; }
.card-lab{ position:absolute; top:1rem; left:1rem; z-index:2; }
.card-meta{ display:flex; justify-content:space-between; align-items:baseline; gap:1.6rem; }
.card-title{ font-size:calc(1.8rem * var(--type-scaling)); line-height:1.2; letter-spacing:-.01em; font-weight:420; margin:0; }
.card-meta .mono{ font-size:1.2rem; color:var(--theme-text-subtler); white-space:nowrap; }
.card-ar{ position:absolute; right:1rem; bottom:1rem; z-index:2; width:3.4rem; height:3.4rem; border-radius:50%; background:#fff; color:#0e0e0d;
  display:grid; place-items:center; transform:scale(0) rotate(-45deg); transition:transform .6s var(--easing-ease-out-slow); }
.card-ar svg{ width:1.3rem; height:1.3rem; }
.card:hover .card-ar{ transform:none; }
.card--photo .card-media{ --ratio:4/5; }
/* toque: sem hover, o card recebe o grade quando entra na tela */
@media (hover:none){
  .card.rv-in .card-media img{ filter:none; transform:scale(1.02); transition-delay:.5s; }
  .hint-hover{ display:none; }
}
@media (hover:hover){ .hint-touch{ display:none; } }
.card--photo .card-media img{ filter:grayscale(1) contrast(1.05); }
.card--photo:hover .card-media img{ filter:grayscale(0); }
.card--quote{ border-top:1px solid var(--theme-border-bold); padding-top:1.6rem; cursor:default; }
.card--quote blockquote{ margin:0; font-family:var(--font-voice); font-style:italic; font-size:clamp(2.6rem,2.4vw,3.6rem); line-height:1.12; letter-spacing:-.01em; }

/* ------------------------------------------------------------ seções (A24 page-module / tier) */
.page-module{ position:relative; z-index:2; padding-top:var(--space-16); }
.page-module--is-padding-bottom-medium{ padding-bottom:var(--space-12); }
.page-module--is-padding-bottom-large{ padding-bottom:var(--space-24); }
.page-content{ padding-inline:var(--grid-outer-gutter); max-width:var(--grid-max-width); margin-inline:auto; }
.tier-heading{ display:flex; justify-content:space-between; align-items:flex-start; gap:var(--space-6);
  border-top:1px solid var(--theme-border-bold); padding-top:var(--space-6); margin-bottom:var(--space-8); position:relative; }
.tier-heading::before{ content:''; position:absolute; top:-1px; left:0; height:1px; width:100%; background:var(--theme-background-default);
  transform-origin:right; transition:transform 1.4s var(--easing-ease-in-out-power3); }
.tier-heading.rv-in::before{ transform:scaleX(0); }
.tier-heading .action{ white-space:nowrap; color:var(--theme-text-subtler); text-decoration:none; font-size:1.2rem; font-weight:485; letter-spacing:.005em; text-transform:uppercase; padding-top:.6rem; transition:color .3s; }
.tier-heading .action:hover{ color:var(--theme-text-default); }
.tier-eyebrow{ --tier-eyebrow-text-color:var(--theme-text-subtler); --tier-eyebrow-border-color:var(--theme-border-light); display:flex; flex-direction:column; width:100%; }
.tier-eyebrow--bold{ --tier-eyebrow-text-color:var(--theme-text-default); --tier-eyebrow-border-color:var(--theme-border-bold); }
.tier-eyebrow .heading{ display:flex; justify-content:space-between; align-items:start; gap:var(--space-12); padding-top:1.2rem;
  border-top:1px solid var(--tier-eyebrow-border-color); color:var(--tier-eyebrow-text-color); }
.sec-head{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.7fr); gap:clamp(2.8rem,5vw,9rem); align-items:end; }
@media (max-width:767px){ .sec-head{ grid-template-columns:1fr; } }

/* ------------------------------------------------------------ badges */
.badge{ display:inline-flex; align-items:center; gap:.6rem; padding:.45rem .65rem .4rem; border:1px solid var(--theme-border-default);
  border-radius:var(--border-radius-tags); font-family:var(--font-montreal-mono); font-size:1.1rem; line-height:1; letter-spacing:.02em;
  text-transform:uppercase; color:var(--theme-text-subtle); white-space:nowrap; background:var(--theme-background-default); }
.badge--solid{ background:var(--theme-text-default); color:var(--theme-background-default); border-color:var(--theme-text-default); }
.badge--accent{ color:var(--theme-accent); border-color:color-mix(in srgb,var(--theme-accent) 45%,transparent); }
.badge--glass{ background:rgba(14,14,13,.28); color:#fff; border-color:rgba(255,255,255,.3); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.badge .dot{ width:.6rem; height:.6rem; border-radius:50%; background:currentColor; }
.badge--live .dot{ background:var(--color-success); box-shadow:0 0 0 0 rgba(39,187,13,.5); animation:pulse-dot 2s var(--ease-out) infinite; }
.badge--rec .dot{ background:var(--color-halation-glow); animation:rec 1.6s steps(2) infinite; }
@keyframes pulse-dot{ 0%{ box-shadow:0 0 0 0 rgba(39,187,13,.5); } 100%{ box-shadow:0 0 0 .8rem rgba(39,187,13,0); } }
.badge--swatch i{ width:.9rem; height:.9rem; border-radius:50%; background:var(--sw); }

/* ------------------------------------------------------------ tooltip */
[data-tip]{ position:relative; }
.tooltip{ position:fixed; z-index:98; left:0; top:0; pointer-events:none; padding:.6rem .8rem; max-width:26rem;
  background:var(--color-warm-neutral-1000); color:#fff; font-family:var(--font-montreal-mono); font-size:1.1rem; line-height:1.3; letter-spacing:-.01em;
  clip-path:inset(0 100% 0 0); transition:clip-path .45s var(--easing-ease-out-expo); }
.tooltip.is-on{ clip-path:inset(0 0 0 0); }
.tooltip::before{ content:''; position:absolute; left:-.4rem; top:50%; width:.8rem; height:.8rem; background:inherit; transform:translateY(-50%) rotate(45deg); }
.theme--dark .tooltip{ background:#fff; color:#0e0e0d; }

/* ------------------------------------------------------------ modal / lightbox */
.modal{ position:fixed; inset:0; z-index:70; display:grid; place-items:center; pointer-events:none; }
.modal-scrim{ position:absolute; inset:0; background:rgba(14,14,13,.72); opacity:0; transition:opacity .6s var(--ease); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.modal-panel{ position:relative; width:min(64rem,calc(100% - 3.2rem)); max-height:calc(100vh - 6rem); overflow:auto;
  background:var(--theme-background-default); color:var(--theme-text-default); padding:var(--space-8);
  clip-path:inset(50% 0 50% 0); transition:clip-path .9s var(--easing-ease-in-out-power3); }
.modal.is-open{ pointer-events:auto; } .modal.is-open .modal-scrim{ opacity:1; } .modal.is-open .modal-panel{ clip-path:inset(0); }
.modal-head{ display:flex; justify-content:space-between; align-items:start; gap:2rem; padding-bottom:1.6rem; border-bottom:1px solid var(--theme-border-bold); margin-bottom:2.4rem; }
.modal-close{ width:3.4rem; height:3.4rem; display:grid; place-items:center; border:1px solid var(--theme-border-default); border-radius:50%; transition:transform .6s var(--ease-out), background .3s; flex:none; }
.modal-close:hover{ transform:rotate(90deg); background:var(--theme-text-default); color:var(--theme-background-default); }
.modal-close svg{ width:1.4rem; height:1.4rem; }
.modal--lightbox .modal-panel{ width:min(140rem,calc(100% - 3.2rem)); padding:0; background:#0e0e0d; color:#fff; }
.modal--lightbox figure{ margin:0; }
.modal--lightbox img{ width:100%; max-height:78vh; object-fit:contain; background:#000; }
.modal--lightbox figcaption{ display:flex; justify-content:space-between; gap:2rem; padding:1.4rem 1.6rem; font-family:var(--font-montreal-mono); font-size:1.2rem; color:rgba(255,255,255,.65); }
.modal--lightbox .modal-close{ position:absolute; top:1.2rem; right:1.2rem; z-index:2; border-color:rgba(255,255,255,.4); color:#fff; background:rgba(14,14,13,.35); }

/* ------------------------------------------------------------ ícones */
.icon{ width:2.4rem; height:2.4rem; fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; flex:none; }

/* ------------------------------------------------------------ rodapé */
.site-footer{ padding:var(--space-16) var(--grid-outer-gutter) var(--space-6); overflow:hidden; }
.foot-brand{ font-size:clamp(6rem,19vw,36rem); line-height:.8; letter-spacing:-.06em; font-weight:420; margin:var(--space-12) 0 0; white-space:nowrap; }
.foot-brand .voice{ letter-spacing:-.04em; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  [data-rv]{ opacity:1; transform:none; clip-path:none; }
  .mask-line > span{ transform:none !important; }
  .word-reveal .word{ opacity:1; transform:none; filter:none; }
}
