/* =====================================================================
   COLLEGE PLAYBOOK — Home
   Agência Tentáculo · v1.0
   Paleta e tipografia conforme "College Playbook — Brand Guidelines v1.0"
   ===================================================================== */

/* ------------------------------- TOKENS ------------------------------ */
:root{
  /* Cores primárias da marca */
  --duke:        #00096E;   /* Duke Blue      — primária 01 */
  --turquoise:   #31DCE8;   /* Turquoise Blue — primária 02 */
  --mist:        #F5F6FC;   /* Lavender Mist  — primária 03 */

  /* Cores secundárias */
  --royal:       #344EDE;
  --green:       #0BD964;
  --purple:      #AE10EB;
  --orange:      #FA3207;

  /* Escala de cinzas */
  --pearl:       #232729;
  --davy:        #4A5057;
  --cadet:       #B5B3C2;

  /* Superfícies */
  --bg:          #FAFAFB;
  --bg-alt:      #F1F2F7;
  --ink:         #101436;
  --ink-soft:    #5B6070;
  --line:        rgba(16,20,54,.10);
  --line-strong: rgba(16,20,54,.16);

  /* Escuro */
  --dark:        #05093F;
  --dark-2:      #030628;
  --on-dark:     #EDEFF8;
  --on-dark-soft:rgba(237,239,248,.62);
  --line-dark:   rgba(237,239,248,.14);

  /* Tipografia */
  --font-display: 'Outer Sans','Archivo','Helvetica Neue',Helvetica,Arial,sans-serif;
  --font-body:    'Nunito Sans','PT Sans','Helvetica Neue',Helvetica,Arial,sans-serif;

  /* Métrica */
  --container: 1200px;
  --gutter: clamp(20px, 5vw, 48px);
  --radius: 14px;
  --radius-lg: 22px;
  --header-h: 78px;

  /* Ritmo vertical */
  --section-y: clamp(88px, 11vw, 168px);

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ------------------------------- RESET ------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }

img,svg,video{ display:block; max-width:100%; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
h1,h2,h3,h4{ margin:0; font-family:var(--font-display); font-weight:500; letter-spacing:-.03em; line-height:1.04; }
p{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }

:focus-visible{ outline:2px solid var(--royal); outline-offset:3px; border-radius:4px; }

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:999;
  background:var(--duke); color:#fff; padding:12px 20px; border-radius:0 0 10px 0;
}
.skip-link:focus{ left:0; }

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
/* faixa larga: acompanha a largura do browser, para blocos de mídia grandes */
.container-wide{ width:100%; max-width:1760px; margin-inline:auto; padding-inline:var(--gutter); }

section[id],footer[id],a[id],.anchor-stub{ scroll-margin-top:calc(var(--header-h) + 18px); }
.anchor-stub{ display:block; height:0; }
.hero-video.has-error{ display:none; }

/* --------------------------- TIPOGRAFIA BASE ------------------------- */
.h2{
  font-size:clamp(2.1rem, 5.2vw, 4rem);
  letter-spacing:-.035em;
  color:var(--duke);
}
.h2 em{ font-style:normal; color:var(--ink-soft); }
.h2--light{ color:#fff; }
.h2--light em{ color:var(--turquoise); }

.eyebrow{
  font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-soft); margin:0 0 20px;
}
.eyebrow--light{ color:var(--turquoise); }

.lede{
  font-size:clamp(1rem, 1.25vw, 1.125rem);
  line-height:1.65; color:var(--ink-soft); max-width:62ch;
}
.lede--tight{ max-width:52ch; }
.lede--light{ color:var(--on-dark-soft); }

/* ------------------------------ BOTÕES ------------------------------- */
.btn{
  --btn-bg:var(--duke); --btn-fg:#fff; --btn-bd:transparent;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  padding:15px 26px; border-radius:999px;
  background:var(--btn-bg); color:var(--btn-fg);
  border:1px solid var(--btn-bd);
  font-family:var(--font-body); font-size:.9rem; font-weight:700; letter-spacing:.01em;
  white-space:nowrap; cursor:pointer;
  transition:transform .3s var(--ease), background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn-arrow{ transition:transform .3s var(--ease); }
.btn:hover .btn-arrow{ transform:translateX(4px); }

.btn--primary{ --btn-bg:var(--duke); --btn-fg:#fff; box-shadow:0 6px 20px -8px rgba(0,9,110,.55); }
.btn--primary:hover{ --btn-bg:#000c8f; box-shadow:0 14px 30px -10px rgba(0,9,110,.55); }

/* CTA sobre fundo ESCURO — Turquoise Blue */
.btn--accent{ --btn-bg:var(--turquoise); --btn-fg:var(--duke); box-shadow:0 6px 22px -8px rgba(49,220,232,.5); }
.btn--accent:hover{ --btn-bg:#5CE7F1; box-shadow:0 14px 34px -10px rgba(49,220,232,.55); }

.btn--outline{ --btn-bg:transparent; --btn-fg:var(--duke); --btn-bd:var(--line-strong); }
.btn--outline:hover{ --btn-bd:var(--duke); --btn-bg:rgba(0,9,110,.05); }

.btn--ghost{ --btn-bg:transparent; --btn-fg:var(--ink); --btn-bd:transparent; }
.btn--ghost:hover{ --btn-bg:rgba(16,20,54,.06); }

.btn--glass{
  --btn-bg:rgba(255,255,255,.12); --btn-fg:#fff; --btn-bd:rgba(255,255,255,.38);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.btn--glass:hover{ --btn-bg:rgba(255,255,255,.22); --btn-bd:#fff; }

.btn--sm{ padding:11px 20px; font-size:.8rem; }
.btn--block{ width:100%; }

/* ============================== HEADER =============================== */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:120;
  height:var(--header-h);
  display:flex; align-items:center;
  transition:background-color .45s var(--ease), box-shadow .45s var(--ease), backdrop-filter .45s var(--ease);
}
/* estado padrão (inclusive sobre o vídeo do hero): branco com leve transparência */
.site-header::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:rgba(255,255,255,.95);
  backdrop-filter:saturate(180%) blur(16px); -webkit-backdrop-filter:saturate(180%) blur(16px);
  transition:background-color .45s var(--ease), backdrop-filter .45s var(--ease), box-shadow .45s var(--ease);
}
/* rolou sobre área clara */
.site-header.is-stuck[data-state="light"]::before{
  background:rgba(255,255,255,.95);
  box-shadow:0 1px 0 var(--line), 0 12px 30px -22px rgba(16,20,54,.5);
}
/* sobrepondo área escura */
.site-header[data-state="dark"]::before{
  background:rgba(3,6,40,.28);
  backdrop-filter:saturate(140%) blur(10px); -webkit-backdrop-filter:saturate(140%) blur(10px);
}
.site-header.is-stuck[data-state="dark"]::before{
  background:rgba(3,6,40,.62);
  box-shadow:0 1px 0 var(--line-dark);
}

.header-inner{
  width:100%; max-width:1440px; margin-inline:auto;
  padding-inline:clamp(20px,3.4vw,44px);
  display:flex; align-items:center; gap:20px;
}

.brand{ position:relative; display:block; width:168px; flex:0 0 auto; }
.brand-logo{ width:100%; height:auto; transition:opacity .4s var(--ease); }
.brand-logo--light{ position:absolute; inset:0; opacity:0; }
.site-header[data-state="dark"] .brand-logo--dark{ opacity:0; }
.site-header[data-state="dark"] .brand-logo--light{ opacity:1; }

/* pill central */
.nav-pill{
  margin-inline:auto;
  border-radius:999px;
  padding:5px;
  background:rgba(16,20,54,.045);
  border:1px solid rgba(16,20,54,.07);
  transition:background-color .45s var(--ease), border-color .45s var(--ease);
}
.site-header[data-state="dark"] .nav-pill{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.16);
}
.nav-list{ display:flex; align-items:center; }
.nav-item{ position:relative; }
.nav-item > a,
.nav-item > .nav-sub-toggle{
  display:inline-flex; align-items:center; gap:6px;
  padding:10px 15px; border-radius:999px;
  font-size:.7rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase;
  color:var(--ink-soft); white-space:nowrap;
  transition:color .3s var(--ease), background-color .3s var(--ease);
}
.site-header[data-state="dark"] .nav-item > a,
.site-header[data-state="dark"] .nav-item > .nav-sub-toggle{ color:rgba(255,255,255,.78); }
.nav-item > a:hover,
.nav-item > .nav-sub-toggle:hover{ color:var(--duke); background:rgba(16,20,54,.05); }
.site-header[data-state="dark"] .nav-item > a:hover,
.site-header[data-state="dark"] .nav-item > .nav-sub-toggle:hover{ color:#fff; background:rgba(255,255,255,.12); }
.chev{ width:9px; height:6px; transition:transform .3s var(--ease); }
.nav-item.has-sub:hover .chev,
.nav-item.has-sub.is-open .chev{ transform:rotate(180deg); }

.submenu{
  position:absolute; top:calc(100% + 12px); left:50%; transform:translate(-50%,8px);
  min-width:290px; padding:8px;
  background:#fff; border:1px solid var(--line); border-radius:16px;
  box-shadow:0 26px 60px -26px rgba(16,20,54,.42);
  opacity:0; visibility:hidden; pointer-events:none;
  /* atraso ao fechar: dá folga para o mouse atravessar o vão */
  transition:opacity .28s var(--ease) .22s, transform .28s var(--ease) .22s, visibility .28s .22s;
}
/* ponte invisível que cobre o vão entre o item e o submenu,
   para o :hover não se perder no caminho */
.submenu::before{
  content:''; position:absolute; left:0; right:0; top:-16px; height:16px;
}
.nav-item.has-sub:hover .submenu,
.nav-item.has-sub:focus-within .submenu,
.nav-item.has-sub.is-open .submenu{
  opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0);
  transition-delay:0s;
}
.submenu a{ display:block; padding:11px 14px; border-radius:11px; transition:background-color .25s var(--ease); }
.submenu a:hover{ background:var(--mist); }
.submenu span{ display:block; font-family:var(--font-display); font-weight:600; font-size:.94rem; color:var(--duke); letter-spacing:-.01em; }
.submenu small{ display:block; font-size:.78rem; color:var(--ink-soft); margin-top:1px; }

.header-actions{ display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.site-header[data-state="dark"] .btn--ghost{ --btn-fg:#fff; }
.site-header[data-state="dark"] .btn--ghost:hover{ --btn-bg:rgba(255,255,255,.14); }
.site-header[data-state="dark"] .btn--primary{ --btn-bg:var(--turquoise); --btn-fg:var(--duke); box-shadow:none; }
.site-header[data-state="dark"] .btn--primary:hover{ --btn-bg:#5ee9f2; }

/* burger */
.burger{
  display:none; width:44px; height:44px; border-radius:50%;
  align-items:center; justify-content:center; flex-direction:column; gap:5px;
  border:1px solid var(--line-strong); flex:0 0 auto;
}
.burger span{ display:block; width:17px; height:1.6px; background:var(--ink); border-radius:2px; transition:transform .35s var(--ease), opacity .3s; }
.site-header[data-state="dark"] .burger{ border-color:rgba(255,255,255,.28); }
.site-header[data-state="dark"] .burger span{ background:#fff; }

/* ------------------------- DRAWER (menu mobile) ---------------------- */
.drawer-overlay{
  position:fixed; inset:0; z-index:190;
  background:rgba(3,6,40,.55);
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  opacity:0; transition:opacity .4s var(--ease);
}
.drawer-overlay.is-open{ opacity:1; }

.drawer{
  position:fixed; top:0; right:0; bottom:0; z-index:200;
  width:min(420px, 88vw);
  background:#fff;
  display:flex; flex-direction:column;
  transform:translateX(100%);
  transition:transform .52s var(--ease);
  box-shadow:-30px 0 70px -30px rgba(3,6,40,.5);
  overscroll-behavior:contain;
}
.drawer.is-open{ transform:translateX(0); }

.drawer-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 26px; border-bottom:1px solid var(--line); flex:0 0 auto;
}
.drawer-logo{ width:150px; }
.drawer-close{
  width:42px; height:42px; border-radius:50%; border:1px solid var(--line-strong);
  display:grid; place-items:center; color:var(--ink);
  transition:background-color .3s var(--ease), transform .3s var(--ease);
}
.drawer-close:hover{ background:var(--mist); transform:rotate(90deg); }
.drawer-close svg{ width:19px; height:19px; }

.drawer-nav{ flex:1 1 auto; overflow-y:auto; padding:14px 26px 26px; }
.drawer-nav > a{
  display:flex; align-items:baseline; gap:14px;
  padding:13px 0; border-bottom:1px solid var(--line);
  font-family:var(--font-display); font-size:1.4rem; font-weight:500; letter-spacing:-.03em; color:var(--duke);
  opacity:0; transform:translateX(26px);
  transition:color .25s var(--ease), opacity .5s var(--ease), transform .5s var(--ease);
  transition-delay:0s,calc(var(--i,1) * .045s + .1s),calc(var(--i,1) * .045s + .1s);
}
.drawer.is-open .drawer-nav > a{ opacity:1; transform:translateX(0); }
.drawer-nav > a:hover{ color:var(--royal); }
.drawer-nav .idx{ font-family:var(--font-body); font-size:.68rem; font-weight:700; letter-spacing:.14em; color:var(--cadet); }

/* item com submenu: fechado por padrão, abre no clique */
.drawer-item{
  border-bottom:1px solid var(--line);
  opacity:0; transform:translateX(26px);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
  transition-delay:calc(var(--i,1) * .045s + .1s);
}
.drawer.is-open .drawer-item{ opacity:1; transform:translateX(0); }

.drawer-toggle{
  width:100%; display:flex; align-items:baseline; gap:14px;
  padding:13px 0; text-align:left;
  font-family:var(--font-display); font-size:1.4rem; font-weight:500; letter-spacing:-.03em; color:var(--duke);
  transition:color .25s var(--ease);
}
.drawer-toggle:hover{ color:var(--royal); }
.drawer-chev{
  width:13px; height:13px; margin-left:auto; align-self:center; flex:0 0 auto;
  color:var(--cadet); transition:transform .4s var(--ease), color .3s var(--ease);
}
.drawer-item.is-open .drawer-toggle{ color:var(--royal); }
.drawer-item.is-open .drawer-chev{ transform:rotate(135deg); color:var(--royal); }

.drawer-sub{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .42s var(--ease);
}
.drawer-item.is-open .drawer-sub{ grid-template-rows:1fr; }
.drawer-sub-inner{ overflow:hidden; }
.drawer-sub a{
  display:block; padding:7px 0 7px 34px; font-size:.95rem; color:var(--ink-soft);
  transition:color .25s var(--ease);
}
.drawer-sub-inner a:first-child{ padding-top:2px; }
.drawer-sub-inner a:last-child{ padding-bottom:16px; }
.drawer-sub a:hover{ color:var(--duke); }

.drawer-foot{ flex:0 0 auto; padding:22px 26px calc(26px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); display:grid; gap:10px; background:var(--mist); }
.drawer-tag{ text-align:center; font-family:var(--font-display); font-size:.86rem; font-weight:600; letter-spacing:.01em; color:var(--cadet); margin-top:4px; }

/* =============================== HERO ================================ */
.hero{
  /* altura exata da 1ª tela: vídeo em cima, barra de parceiras sempre visível embaixo */
  height:100svh; min-height:560px;
  display:flex; flex-direction:column;
  background:var(--dark-2);
}

.hero-stage{
  position:relative; isolation:isolate;
  flex:1 1 auto; min-height:0;
  display:flex; align-items:center; justify-content:center;
  padding:calc(var(--header-h) + 34px) 0 40px;
  overflow:hidden;
}
.hero-media{ position:absolute; inset:0; z-index:-2; }
.hero-video{ width:100%; height:100%; object-fit:cover; }
.hero-scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(3,6,40,.78) 0%, rgba(3,6,40,.40) 38%, rgba(3,6,40,.52) 72%, rgba(3,6,40,.86) 100%),
    radial-gradient(120% 80% at 50% 40%, rgba(0,9,110,.15) 0%, rgba(3,6,40,.58) 100%);
}

.hero-content{ position:relative; text-align:center; display:flex; flex-direction:column; align-items:center; }
.hero-title{
  color:#fff;
  /* escala pela largura E pela altura, para o hero nunca estourar a 1ª tela */
  font-size:min(clamp(2.5rem, 6.4vw, 5.4rem), 9.5vh);
  letter-spacing:-.04em; line-height:1.02;
  margin-bottom:26px;
  text-wrap:balance;
}
.hero-title em{ font-style:normal; color:var(--turquoise); }
.hero-sub{
  max-width:64ch; color:rgba(255,255,255,.8);
  font-size:clamp(1rem, 1.35vw, 1.16rem); line-height:1.62;
}
.hero-actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:36px; }
.hero-hash{
  margin-top:34px; font-family:var(--font-display);
  font-size:.92rem; font-weight:600; letter-spacing:.02em;
  color:var(--turquoise);
}

/* ---------------------- Barra de instituições ------------------------ */
/* branca, de ponta a ponta do browser, sempre visível na primeira tela */
.partners{
  flex:0 0 auto;
  position:relative; z-index:4;
  width:100%;
  background:#fff;
  padding:15px 0;                 /* simétrico: selos perfeitamente centralizados */
  box-shadow:0 -14px 34px -24px rgba(3,6,40,.65);
}

/* fica sobre o vídeo, encostado na faixa branca */
.partners-label{
  position:absolute; left:0; right:0; bottom:100%;
  margin:0 0 14px;
  text-align:center;
  font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700;
  color:#fff;
  text-shadow:0 1px 12px rgba(3,6,40,.55);
  pointer-events:none;
}

.marquee{
  overflow:hidden;
  padding-block:6px;              /* folga para o leve deslocamento no hover */
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
}
.marquee-track{
  display:flex; align-items:center; gap:clamp(34px,4.5vw,68px);
  width:max-content; will-change:transform;
  animation:marq 46s linear infinite;
}
.marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes marq{ from{ transform:translateX(0) } to{ transform:translateX(-50%) } }

.marquee-item{
  flex:0 0 auto; display:block; line-height:0;
  border:0; padding:0; background:none; cursor:pointer;
  transition:transform .35s var(--ease);
}
.marquee-item img{
  height:clamp(40px,4.6vw,58px); width:auto;
  filter:grayscale(1) contrast(1.12) brightness(.86);
  opacity:.58;
  transition:filter .4s var(--ease), opacity .4s var(--ease);
}
.marquee-item:hover img,
.marquee-item:focus-visible img{ filter:none; opacity:1; }
.marquee-item:hover{ transform:translateY(-3px); }

/* tooltip claro (posicionado por JS, fora do overflow da faixa) */
.uni-tip{
  position:fixed; z-index:300; top:0; left:0;
  padding:9px 16px; border-radius:11px;
  background:linear-gradient(180deg,#FFFFFF 0%, #F2F4FA 100%);
  border:1px solid rgba(16,20,54,.10);
  color:var(--duke); font-size:.79rem; font-weight:600; letter-spacing:-.005em; white-space:nowrap;
  box-shadow:0 12px 28px -12px rgba(16,20,54,.26), 0 2px 5px -2px rgba(16,20,54,.10);
  pointer-events:none;
  opacity:0; transform:translate(-50%, calc(-100% - 4px)) scale(.96); transform-origin:50% 100%;
  transition:opacity .22s var(--ease), transform .28s var(--ease);
}
/* seta: ::before desenha o contorno, ::after o preenchimento */
.uni-tip::before,
.uni-tip::after{ content:''; position:absolute; left:50%; top:100%; }
.uni-tip::before{ margin-left:-7px; border:7px solid transparent; border-top-color:rgba(16,20,54,.12); }
.uni-tip::after{ margin-left:-6px; border:6px solid transparent; border-top-color:#F2F4FA; }
.uni-tip.is-on{ opacity:1; transform:translate(-50%, calc(-100% - 14px)) scale(1); }

/* ============================= SEÇÕES ================================ */
.section{ padding-block:var(--section-y); position:relative; }
.section--light{ background:var(--bg); }
.section--mist{ background:var(--mist); }
.section--dark{ background:var(--dark); color:var(--on-dark); }
.section--dark::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(90% 60% at 78% 0%, rgba(49,220,232,.12) 0%, transparent 60%),
             radial-gradient(70% 50% at 10% 100%, rgba(52,78,222,.20) 0%, transparent 62%);
}
.section--dark > .container{ position:relative; z-index:1; }

.sec-head{ margin-bottom:clamp(40px,5vw,64px); }
.sec-head--center{ text-align:center; display:flex; flex-direction:column; align-items:center; }
.sec-head--center .lede{ margin-top:22px; }
.head-split{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(24px,4vw,64px); align-items:end; }
.head-split .lede{ padding-bottom:8px; }

.sec-actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:clamp(40px,5vw,60px); }
.sec-actions--left{ justify-content:flex-start; margin-top:38px; }

/* ============================= O SONHO =============================== */
.dream-grid{
  display:grid;
  grid-template-columns:1fr 0 1fr 0 1fr;   /* colunas 0 = eixo dos conectores "+" */
  gap:clamp(18px,1.8vw,24px);
  align-items:stretch;
}

/* conector "+" entre os destaques: disco claro sobre o vão, ponte entre os cards */
.dream-plus{ position:relative; width:0; align-self:center; z-index:3; }
.dream-plus span{
  position:absolute; left:50%; top:50%;
  width:46px; height:46px; margin:-23px 0 0 -23px;
  display:grid; place-items:center;
  border-radius:50%;
  background:#fff;
  border:1px solid rgba(16,20,54,.07);
  box-shadow:0 2px 4px rgba(16,20,54,.06), 0 14px 26px -14px rgba(16,20,54,.5);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease);
}
.dream-plus span::before{
  content:''; position:absolute; inset:-5px; border-radius:50%;
  background:conic-gradient(from 210deg, rgba(49,220,232,.55), rgba(0,9,110,.5), rgba(49,220,232,.55));
  z-index:-1; opacity:.62;
}
.dream-plus svg{ width:21px; height:21px; }
.dream-plus svg path{
  fill:none; stroke:var(--duke); stroke-width:2.4; stroke-linecap:round;
}
.dream-grid:hover .dream-plus span{ transform:scale(1.06); }

.dream-card{
  position:relative; isolation:isolate; overflow:hidden;
  border-radius:var(--radius-lg);
  aspect-ratio:4/3;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:clamp(22px,1.9vw,32px);
  background:linear-gradient(160deg, var(--duke), #0b1a7a 45%, var(--royal));
  color:#fff;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.dream-card:hover{ transform:translateY(-6px); box-shadow:0 40px 70px -40px rgba(16,20,54,.55); }

.dream-media{ position:absolute; inset:0; z-index:-2; overflow:hidden; }
.dream-media video{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.02); transition:transform 1.2s var(--ease);
}
.dream-card:hover .dream-media video{ transform:scale(1.07); }
.dream-card::after{
  content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(3,6,40,.46) 0%, rgba(3,6,40,.22) 34%, rgba(3,6,40,.66) 74%, rgba(3,6,40,.92) 100%);
}

/* rótulo no topo, com bolinha vazada (referência Human Academy) */
.dream-kicker{
  position:absolute; top:clamp(20px,1.8vw,28px); left:clamp(22px,1.9vw,32px);
  display:inline-flex; align-items:center; gap:9px;
  font-size:.82rem; font-weight:500; color:rgba(255,255,255,.92);
  text-shadow:0 1px 10px rgba(3,6,40,.5);
}
.dream-kicker i{
  width:11px; height:11px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,.8);
}

.dream-body{ position:relative; }
.dream-body h3{ font-size:clamp(1.7rem,2.7vw,2.6rem); margin-bottom:10px; letter-spacing:-.035em; }
.dream-body p{
  font-size:.94rem; line-height:1.6; color:rgba(255,255,255,.8); max-width:42ch;
}

.dream-foot{
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px;
  margin-top:clamp(16px,1.6vw,24px);
}
.dream-tags{ display:flex; flex-wrap:wrap; gap:7px; }
.dream-tags span{
  padding:5px 12px; border-radius:999px;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  font-size:.74rem; font-weight:500; color:rgba(255,255,255,.92); white-space:nowrap;
}
.dream-more{
  display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
  font-size:.82rem; font-weight:600; color:#fff; opacity:.9;
}
.dream-more i{ font-style:normal; transition:transform .3s var(--ease); }
.dream-card:hover .dream-more{ opacity:1; }
.dream-card:hover .dream-more i{ transform:translate(3px,-3px); }

/* ====================== ESCREVA SEU CAMINHO ========================== */
.caminho{ background:var(--mist); padding-block:0; position:relative; isolation:isolate; }
/* preenchimento sutil do fundo: brilhos suaves + malha de pontos, tudo bem claro */
.caminho::before{
  content:''; position:absolute; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(52% 46% at 74% 42%, rgba(49,220,232,.16) 0%, transparent 68%),
    radial-gradient(46% 44% at 22% 78%, rgba(52,78,222,.11) 0%, transparent 70%),
    radial-gradient(38% 36% at 12% 12%, rgba(174,16,235,.06) 0%, transparent 72%);
}
.caminho::after{
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:radial-gradient(rgba(0,9,110,.14) 1px, transparent 1px);
  background-size:26px 26px;
  opacity:.5;
  -webkit-mask-image:radial-gradient(72% 62% at 50% 50%, #000 0%, transparent 78%);
          mask-image:radial-gradient(72% 62% at 50% 50%, #000 0%, transparent 78%);
}
/* anéis-guia atrás da bússola */
.compass-wrap::before{
  content:''; position:absolute; inset:-13%; border-radius:50%; z-index:-1;
  border:1px solid rgba(0,9,110,.09);
  background:radial-gradient(circle, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 68%);
}
.compass-wrap::after{
  content:''; position:absolute; inset:-26%; border-radius:50%; z-index:-2;
  border:1px dashed rgba(0,9,110,.07);
}
.caminho-sticky{ position:sticky; top:0; min-height:100svh; display:flex; align-items:center; padding-block:calc(var(--header-h) + 40px) 60px; }
.caminho-spacer{ height:240vh; }
.caminho-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  grid-template-areas:"head visual" "stack visual" "actions visual";
  column-gap:clamp(30px,5vw,80px);
  align-items:start;
}
.caminho-head{ grid-area:head; }
.stage-stack{ grid-area:stack; }
.caminho-grid > .sec-actions{ grid-area:actions; }
.caminho-visual{ grid-area:visual; align-self:center; }

.caminho-head .h2{ margin-bottom:22px; font-size:clamp(1.9rem,3.4vw,2.9rem); }
.stage-stack{ position:relative; margin-top:36px; min-height:230px; }
.stage{
  position:absolute; inset:0;
  opacity:0; transform:translateY(14px); pointer-events:none;
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.stage.is-active{ opacity:1; transform:none; pointer-events:auto; position:relative; }
.stage-index{
  display:inline-block; margin-bottom:12px;
  font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--royal);
}
.stage-index i{ font-style:normal; color:var(--cadet); }
.stage h3{ font-size:clamp(1.6rem,2.6vw,2.3rem); color:var(--duke); margin-bottom:12px; }
.stage p{ color:var(--ink-soft); font-size:1.02rem; line-height:1.65; max-width:46ch; }

.caminho-visual{ display:flex; flex-direction:column; align-items:center; }
/* palco: reserva espaço em volta do círculo para as legendas */
.compass-stage{
  position:relative; width:100%;
  max-width:min(100%, clamp(400px, 44vw, 980px));
  margin-inline:auto;
}
.compass-wrap{ position:relative; width:68%; margin-inline:auto; aspect-ratio:1; }
.compass{ width:100%; height:100%; overflow:visible; }
.compass-seg{
  transition:fill .55s var(--ease), opacity .55s var(--ease), transform .55s var(--ease);
  transform-origin:200px 200px;
  opacity:.16;
}
.compass-seg.is-on{ opacity:1; }
.compass-seg.is-current{ opacity:1; transform:scale(1.045); }
.compass-needle{ transform-origin:200px 200px; transition:transform 1s var(--ease); }
.compass-label{
  font-family:var(--font-body); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  fill:var(--cadet); transition:fill .5s var(--ease);
}
.compass-label.is-on{ fill:var(--duke); }

/* legendas posicionadas em torno do círculo, junto da fase que representam */
.compass-legend{ position:absolute; inset:0; pointer-events:none; }
.compass-legend .leg{
  position:absolute; pointer-events:auto;
  display:inline-flex; align-items:center; gap:9px;
  padding:9px 17px; border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  font-size:clamp(.74rem,.9vw,.88rem); font-weight:600; color:var(--cadet);
  white-space:nowrap; cursor:pointer;
  transition:color .4s var(--ease), border-color .4s var(--ease),
             background-color .4s var(--ease), box-shadow .4s var(--ease), transform .4s var(--ease);
}
.compass-legend .leg b{ font-weight:inherit; }
.compass-legend .leg i{
  width:8px; height:8px; border-radius:50%; flex:0 0 auto;
  background:var(--cadet);
  transition:background-color .45s var(--ease), box-shadow .45s var(--ease);
}
/* cantos: as da esquerda ficam com a bolinha à direita, apontando para o círculo */
.leg--tl{ left:0;  top:15%; transform:translateY(-50%); flex-direction:row-reverse; }
.leg--bl{ left:0;  top:88%; transform:translateY(-50%); flex-direction:row-reverse; }
.leg--tr{ right:0; top:15%; transform:translateY(-50%); }
.leg--br{ right:0; top:88%; transform:translateY(-50%); }

.compass-legend .leg:hover{ border-color:var(--line-strong); background:#fff; }
.compass-legend .leg.is-active{
  color:var(--duke); background:#fff;
  border-color:color-mix(in srgb, var(--dot,#344EDE) 34%, transparent);
  box-shadow:0 14px 30px -18px rgba(16,20,54,.45);
}
.compass-legend .leg.is-active i{
  background:var(--dot,#344EDE);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--dot,#344EDE) 18%, transparent);
}

/* =========================== O DIFERENCIAL =========================== */
.pillars{ border-top:1px solid var(--line-dark); }
.pillar{
  display:grid; grid-template-columns:64px minmax(200px,1.05fr) minmax(0,1.35fr) auto;
  gap:clamp(14px,2.4vw,40px); align-items:start;
  padding:clamp(22px,2.6vw,34px) clamp(8px,1.4vw,20px);
  border-bottom:1px solid var(--line-dark);
  transition:background-color .45s var(--ease), padding-left .45s var(--ease);
}
.pillar:hover{ background:rgba(255,255,255,.045); }
.pillar-num{ font-size:.7rem; font-weight:700; letter-spacing:.14em; color:rgba(237,239,248,.34); padding-top:6px; }
.pillar-title h3{ font-size:clamp(1.15rem,1.7vw,1.42rem); color:#fff; margin-bottom:5px; }
.pillar-title small{ font-size:.85rem; color:var(--on-dark-soft); }
.pillar > p{ font-size:.94rem; line-height:1.62; color:var(--on-dark-soft); }
.tag{
  align-self:center; white-space:nowrap;
  padding:7px 15px; border-radius:999px; border:1px solid var(--line-dark);
  font-size:.72rem; font-weight:700; letter-spacing:.06em; color:var(--on-dark-soft);
  transition:border-color .4s var(--ease), color .4s var(--ease), background-color .4s var(--ease);
}
.pillar:hover .tag{ border-color:var(--turquoise); color:var(--duke); background:var(--turquoise); }

/* ===================== COMO O ECOSSISTEMA OPERA ====================== */
.ecosystem{ margin-top:clamp(80px,9vw,140px); }
.eco-grid{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,26px); }
.eco-line{
  position:absolute; left:12%; right:12%; top:78px; height:1px;
  background:linear-gradient(90deg,transparent,var(--line-dark) 12%,var(--line-dark) 88%,transparent);
}
.eco-card{
  position:relative; z-index:1;
  display:flex; flex-direction:column;
  padding:clamp(26px,2.8vw,38px);
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.045);
  border:1px solid var(--line-dark);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  transition:transform .45s var(--ease), border-color .45s var(--ease), background-color .45s var(--ease), box-shadow .45s var(--ease);
}
.eco-card::after{
  content:''; position:absolute; inset:auto 0 0 0; height:2px; border-radius:0 0 var(--radius-lg) var(--radius-lg);
  background:var(--accent,var(--turquoise)); transform:scaleX(0); transform-origin:left;
  transition:transform .55s var(--ease);
}
.eco-card:hover{ transform:translateY(-6px); background:rgba(255,255,255,.075); border-color:rgba(237,239,248,.24); box-shadow:0 30px 60px -34px rgba(0,0,0,.8); }
.eco-card:hover::after{ transform:scaleX(1); }
.eco-icon{
  width:52px; height:52px; border-radius:15px; display:grid; place-items:center;
  color:var(--accent,var(--turquoise));
  background:color-mix(in srgb, var(--accent,#31DCE8) 16%, transparent);
  border:1px solid color-mix(in srgb, var(--accent,#31DCE8) 34%, transparent);
  margin-bottom:24px;
}
.eco-icon svg{ width:27px; height:27px; }
.eco-card h3{ font-size:clamp(1.2rem,1.8vw,1.55rem); color:#fff; margin-bottom:12px; }
.eco-card p{ font-size:.95rem; line-height:1.62; color:var(--on-dark-soft); margin-bottom:22px; }
.eco-link{
  display:inline-flex; align-items:center; align-self:flex-start; gap:7px; margin-top:auto;
  font-size:.82rem; font-weight:700; letter-spacing:.02em; color:var(--accent,var(--turquoise));
}
.eco-link span{ transition:transform .3s var(--ease); }
.eco-card:hover .eco-link span{ transform:translateX(5px); }

/* ========================= IMPACTO E LEGADO ========================== */
.impact-grid{ display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(30px,5vw,80px); align-items:center; }
.impact-text .h2{ margin-bottom:24px; font-size:clamp(1.9rem,3.5vw,3rem); }
.impact-actions{ margin-top:34px; display:flex; flex-wrap:wrap; gap:12px; }
.impact-media{ margin:0; border-radius:var(--radius-lg); overflow:hidden; background:linear-gradient(150deg,var(--duke),var(--royal)); aspect-ratio:4/5; }
.impact-media img,
.impact-media video{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.impact-media:hover img,
.impact-media:hover video{ transform:scale(1.05); }

/* ---------------------- NÚMEROS EM DESTAQUE ------------------------- */
.eyebrow--dash{ display:inline-flex; align-items:center; gap:12px; }
.eyebrow--dash::before{ content:''; width:34px; height:1px; background:var(--cadet); }

.stats{ margin-top:clamp(70px,8vw,120px); }
.stats-head{ margin-bottom:clamp(34px,4vw,54px); }
.stats-head-split{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(24px,4vw,64px); align-items:end; }
.stats-title{
  font-size:clamp(2rem,4.4vw,3.5rem); text-transform:lowercase; letter-spacing:-.04em;
  color:var(--duke);
}
.stats-title span{ color:var(--turquoise); font-weight:400; }
.stats-head-split .lede{ padding-bottom:6px; }

.stats--solo{ margin-top:0; }

/* ---- Legado: numeros fora de card, no modelo do grafico do cliente ----
   (assets/svg/numeros-legado-curvas.svg). Duas setas apontando para fora,
   texto da esquerda alinhado a direita e o da direita alinhado a esquerda.

   E uma GRADE, nao um flex: os numeros dos dois lados tem que dividir a mesma
   linha de base, e as legendas tem que comecar na mesma altura, mesmo com a
   da esquerda tendo duas linhas e a da direita uma. Com flex + align-items
   center cada lado se centraliza sozinho e os dois desalinham. */
.legado-figs{
  display:grid;
  grid-template-columns:1fr auto auto 1fr;
  column-gap:clamp(10px,1.4vw,18px);
  align-items:center;
  margin-top:clamp(36px,4.4vw,64px);
}
.lgf-mark{ display:block; height:clamp(80px,7.8vw,112px); align-self:center; }
.lgf-mark svg{ display:block; height:100%; width:auto; }
.lgf-mark--a{ grid-column:2; grid-row:1 / 3; }
.lgf-mark--b{ grid-column:3; grid-row:1 / 3; }

.lgf-num{
  font-family:var(--font-display); font-style:italic; font-weight:800;
  font-size:clamp(2.05rem,3.5vw,3rem); line-height:1; letter-spacing:-.02em;
  color:#585856; white-space:nowrap;
}
.lgf-lab{
  margin-top:.42em;
  font-family:var(--font-display); font-style:italic; font-weight:700;
  font-size:clamp(.86rem,1.15vw,1.06rem); line-height:1.32; color:#767676;
}
.lgf-lab b{ font-weight:700; color:var(--duke); }

.lgf-num--a{ grid-column:1; grid-row:1; text-align:right; align-self:end; }
.lgf-lab--a{ grid-column:1; grid-row:2; text-align:right; align-self:start; }
.lgf-num--b{ grid-column:4; grid-row:1; text-align:left;  align-self:end; }
.lgf-lab--b{ grid-column:4; grid-row:2; text-align:left;  align-self:start; }

/* mobile: as duas setas em cima, lado a lado, e os textos embaixo, cada um
   sob a sua seta, encontrando-se no eixo central */
@media (max-width:820px){
  .legado-figs{
    grid-template-columns:1fr 1fr;
    column-gap:clamp(10px,3vw,20px);
  }
  .lgf-mark{ height:clamp(78px,21vw,104px); }
  .lgf-mark--a{ grid-column:1; grid-row:1; justify-self:end; }
  .lgf-mark--b{ grid-column:2; grid-row:1; justify-self:start; }
  .lgf-num{ margin-top:clamp(12px,3.2vw,20px); align-self:start;
            font-size:clamp(1.9rem,8.4vw,2.7rem); }
  /* corpo calculado para "bolsas de estudo nos EUA" caber numa linha
     dentro da meia coluna, com a quebra fixa do <br> preservada */
  .lgf-lab{ align-self:start; font-size:clamp(.76rem,3.2vw,.96rem); }
  .lgf-num--a{ grid-column:1; grid-row:2; }
  .lgf-num--b{ grid-column:2; grid-row:2; }
  .lgf-lab--a{ grid-column:1; grid-row:3; }
  .lgf-lab--b{ grid-column:2; grid-row:3; }
}

/* ícone do Legado: mesma altura para o formando e para o cifrão */
.stat-icon{
  display:block; height:clamp(56px,6vw,88px); margin-bottom:clamp(18px,2vw,26px);
  color:var(--duke);
}
.stat-icon svg{ height:100%; width:auto; fill:currentColor; }
.stat-grid--duo .stat-label{ max-width:32ch; }
.stat{
  position:relative; overflow:hidden;
  padding:clamp(26px,2.6vw,38px) clamp(22px,2.2vw,32px);
  border-radius:var(--radius-lg);
  background:#fff; border:1px solid var(--line);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
}
.stat::after{
  content:''; position:absolute; inset:auto 0 0 0; height:2px;
  background:linear-gradient(90deg, var(--turquoise), var(--royal));
  transform:scaleX(0); transform-origin:left; transition:transform .6s var(--ease);
}
.stat:hover{ transform:translateY(-5px); box-shadow:0 34px 60px -38px rgba(16,20,54,.45); border-color:transparent; }
.stat:hover::after{ transform:scaleX(1); }
.stat-idx{
  position:absolute; top:clamp(18px,1.8vw,24px); right:clamp(18px,1.8vw,24px);
  font-size:.66rem; font-weight:700; letter-spacing:.16em; color:var(--cadet);
}
.stat-num{
  display:block; font-family:var(--font-display); font-weight:400;
  font-size:clamp(2.6rem,5vw,4.2rem); line-height:1; letter-spacing:-.045em;
  color:var(--duke); font-variant-numeric:tabular-nums;
}
.stat-label{
  display:block; margin-top:16px; max-width:24ch;
  font-size:.78rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase;
  line-height:1.55; color:var(--ink-soft);
}

/* separa o bloco de impacto do bloco de cases dentro da mesma seção */
.cases-head{ margin-top:clamp(64px,8vw,110px); margin-bottom:clamp(30px,3.6vw,48px); }

/* ============================ DEPOIMENTOS ========================== */
.depoimentos{ background:var(--mist); overflow:hidden; }
.depoimentos .h2{ font-size:clamp(2rem,3.6vw,3.1rem); }
.depo-grid{
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,2fr);
  gap:clamp(16px,1.8vw,26px); align-items:stretch;
}

/* --- card destaque --- */
.depo-featured{
  position:relative; display:flex; flex-direction:column;
  padding:clamp(28px,2.6vw,40px);
  border-radius:var(--radius-lg);
  background:linear-gradient(158deg, var(--duke) 0%, #0a1580 52%, var(--royal) 100%);
  color:#fff; overflow:hidden;
  box-shadow:0 40px 70px -44px rgba(0,9,110,.6);
  min-height:clamp(360px,32vw,470px);
}
.depo-featured::after{
  content:''; position:absolute; right:-24%; bottom:-30%; width:78%; aspect-ratio:1;
  border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(49,220,232,.26) 0%, transparent 66%);
}
.depo-featured-top{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.depo-tag{ font-size:.66rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.62); }
.depo-rule{ display:block; width:64px; height:2px; background:rgba(255,255,255,.2); border-radius:2px; overflow:hidden; }
.depo-rule i{ display:block; height:100%; width:0; background:var(--turquoise); }
.depo-quote{
  position:relative; margin:auto 0 0; padding:26px 0 0;
  font-family:var(--font-display); font-weight:400;
  font-size:clamp(1.12rem,1.55vw,1.5rem); line-height:1.34; letter-spacing:-.022em;
  color:#fff;
  transition:opacity .45s var(--ease), transform .45s var(--ease);
}
.depo-quote.is-out{ opacity:0; transform:translateY(10px); }

/* --- palco de video do card destaque --- */
.depo-stage{
  position:relative; z-index:1;           /* acima do brilho radial do card */
  /* as margens automaticas centram o palco na sobra de altura do card,
     mantendo a tarja do topo em cima e a ficha do atleta embaixo */
  margin:auto 0;
  aspect-ratio:16 / 9; border-radius:14px; overflow:hidden;
  background:#000; box-shadow:0 22px 40px -26px rgba(0,0,0,.7);
}
.depo-slide{ position:absolute; inset:0; margin:0; }
.depo-slide[hidden]{ display:none; }
.depo-video{ display:block; width:100%; height:100%; object-fit:contain; background:#000; }
.depo-play{
  position:absolute; inset:0; display:grid; place-items:center;
  border:0; padding:0; margin:0; cursor:pointer; color:var(--duke);
  background:linear-gradient(180deg, rgba(0,9,110,0) 42%, rgba(0,9,110,.6) 100%);
  transition:opacity .35s var(--ease), visibility .35s;
}
.depo-play-btn{
  width:clamp(58px,5.2vw,76px); aspect-ratio:1; border-radius:50%;
  display:grid; place-items:center; background:#fff;
  box-shadow:0 0 0 3px rgba(255,255,255,.55), 0 0 30px 6px rgba(49,220,232,.45), 0 16px 34px -12px rgba(0,0,0,.6);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.depo-play-btn svg{ width:40%; height:40%; margin-left:7%; }
.depo-play:hover .depo-play-btn,
.depo-play:focus-visible .depo-play-btn{
  transform:scale(1.08);
  box-shadow:0 0 0 4px rgba(255,255,255,.7), 0 0 42px 10px rgba(49,220,232,.6), 0 18px 38px -12px rgba(0,0,0,.65);
}
.depo-play:focus-visible{ outline:2px solid var(--turquoise); outline-offset:-4px; }
.depo-play-dur{
  position:absolute; left:14px; bottom:12px;
  font-size:.7rem; font-weight:700; letter-spacing:.06em; color:#fff;
  background:rgba(0,9,110,.75); padding:4px 10px; border-radius:999px;
}
.depo-slide.is-started .depo-play{ opacity:0; visibility:hidden; pointer-events:none; }
.depo-featured .depo-stage + .depo-meta{ margin-top:clamp(20px,2.2vw,30px); }
.depo-meta{
  position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:18px;
  margin-top:clamp(22px,2.4vw,32px); padding-top:20px;
  border-top:1px solid rgba(255,255,255,.16);
}
.depo-name{ display:block; font-family:var(--font-display); font-weight:600; font-size:1.02rem; letter-spacing:-.015em; color:#fff; }
.depo-line{ display:block; font-size:.79rem; line-height:1.5; color:rgba(255,255,255,.66); }
.depo-line--pro{ color:var(--turquoise); }
.depo-nav{ display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.depo-btn{
  width:32px; height:32px; border-radius:50%; display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.24); color:rgba(255,255,255,.75); font-size:1rem; line-height:1;
  transition:background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.depo-btn:hover{ background:rgba(255,255,255,.16); color:#fff; border-color:rgba(255,255,255,.4); }
.depo-count{ font-size:.7rem; font-weight:700; letter-spacing:.12em; color:rgba(255,255,255,.55); min-width:44px; text-align:center; }

/* --- esteiras --- */
.depo-rows{ display:flex; flex-direction:column; gap:clamp(16px,1.8vw,26px); min-width:0; }
.depo-row{
  flex:1 1 0; min-height:0; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
}
.depo-track{ display:flex; gap:clamp(14px,1.4vw,20px); width:max-content; height:100%; will-change:transform; }

.depo-card{
  flex:0 0 auto; width:clamp(250px,20vw,330px);
  display:flex; flex-direction:column;
  padding:clamp(20px,1.7vw,26px);
  border-radius:var(--radius); background:#fff; border:1px solid var(--line);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.depo-card:hover{ transform:translateY(-3px); box-shadow:0 26px 46px -30px rgba(16,20,54,.4); border-color:rgba(16,20,54,.16); }
.depo-card-mark{
  font-family:var(--font-display); font-size:1.5rem; line-height:.7; color:var(--turquoise);
  margin-bottom:12px;
}
.depo-card p{
  font-size:.86rem; line-height:1.6; color:var(--ink-soft);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.depo-card footer{ margin-top:auto; padding-top:16px; }
.depo-card b{ display:block; font-family:var(--font-display); font-weight:600; font-size:.86rem; color:var(--duke); letter-spacing:-.01em; }
.depo-card small{ display:block; font-size:.72rem; line-height:1.45; color:var(--cadet); margin-top:2px; }
.depo-card small.pro{ color:var(--royal); font-weight:600; }

/* ============================ CTA FINAL ============================== */
.choice-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.8vw,22px); }
.choice{
  position:relative; display:flex; flex-direction:column;
  padding:clamp(28px,3vw,40px);
  border-radius:var(--radius-lg); background:#fff; border:1px solid var(--line);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
  overflow:hidden;
}
.choice::before{
  content:''; position:absolute; inset:0 0 auto 0; height:3px;
  background:var(--accent); transform:scaleX(0); transform-origin:left;
  transition:transform .55s var(--ease);
}
.choice:hover{ transform:translateY(-6px); box-shadow:0 34px 60px -34px rgba(16,20,54,.4); border-color:transparent; }
.choice:hover::before{ transform:scaleX(1); }
.choice-kicker{
  display:inline-flex; align-items:center; gap:8px; margin-bottom:20px;
  font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--accent);
}
.choice-kicker::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--accent); }
.choice h3{ font-size:clamp(1.3rem,2vw,1.72rem); color:var(--duke); margin-bottom:12px; }
.choice p{ font-size:.95rem; line-height:1.62; color:var(--ink-soft); margin-bottom:28px; flex:1 1 auto; }
.choice-cta{ display:inline-flex; align-items:center; gap:8px; font-size:.86rem; font-weight:700; color:var(--duke); }
.choice-cta span{ transition:transform .3s var(--ease); }
.choice:hover .choice-cta span{ transform:translateX(5px); }

.cta-help{ text-align:center; margin-top:clamp(34px,4vw,52px); font-size:.92rem; color:var(--ink-soft); }
.cta-help a{ color:var(--duke); font-weight:700; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.cta-help a:hover{ color:var(--royal); }

/* ============================== FOOTER =============================== */
.footer{ background:var(--dark-2); color:var(--on-dark); padding-block:clamp(60px,7vw,96px) 34px; }
.footer-top{ display:grid; grid-template-columns:1fr 1.5fr; gap:clamp(36px,5vw,80px); padding-bottom:clamp(40px,5vw,64px); border-bottom:1px solid var(--line-dark); }
.footer-brand img{ width:190px; margin-bottom:22px; }
.footer-brand p{ font-size:.92rem; line-height:1.6; color:var(--on-dark-soft); max-width:38ch; }
.footer-hash{ margin-top:20px !important; font-family:var(--font-display); font-size:.92rem !important; font-weight:600; letter-spacing:.01em; color:var(--turquoise) !important; }

.footer-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,40px); }
.footer-cols h4{ font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#fff; margin-bottom:18px; font-family:var(--font-body); }
.footer-cols a{ display:block; font-size:.9rem; color:var(--on-dark-soft); padding:5px 0; transition:color .25s var(--ease), transform .25s var(--ease); }
.footer-cols a:hover{ color:var(--turquoise); transform:translateX(3px); }

.footer-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding-top:26px; font-size:.8rem; color:rgba(237,239,248,.45); }
.footer-bottom a{ color:var(--on-dark-soft); text-decoration:underline; text-underline-offset:3px; }
.footer-bottom a:hover{ color:var(--turquoise); }

/* ============================= WHATSAPP ============================== */
.whats{
  position:fixed; right:20px; bottom:20px; z-index:110;
  width:54px; height:54px; border-radius:50%;
  display:grid; place-items:center; color:#fff; background:#25D366;
  box-shadow:0 12px 30px -10px rgba(37,211,102,.7);
  opacity:0; visibility:hidden; transform:translateY(14px) scale(.9);
  transition:opacity .4s var(--ease), transform .4s var(--ease), visibility .4s;
}
.whats.is-visible{ opacity:1; visibility:visible; transform:none; }
.whats:hover{ transform:translateY(-3px) scale(1.04); }
.whats svg{ width:29px; height:29px; }

/* ============================= REVEALS =============================== */
.reveal{ opacity:0; transform:translateY(22px); }
.reveal.is-in{
  opacity:1; transform:none;
  transition:opacity .8s var(--ease) var(--d,0s), transform .8s var(--ease) var(--d,0s);
}
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1 !important; transform:none !important; }
  .marquee-track{ animation:none; }
  .dream-media img{ animation:none; }
  *{ transition-duration:.01ms !important; animation-duration:.01ms !important; }
}

/* ============================ RESPONSIVO ============================= */
/* telas grandes: a bússola cresce e passa da coluna central, acompanhando o texto */
@media (min-width:1400px){
  .caminho .container{ max-width:min(1480px, 92vw); }
  .caminho-grid{ grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); }
}
@media (min-width:1800px){
  .caminho .container{ max-width:min(1860px, 94vw); }
  .caminho-grid{ grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); }
}

@media (max-width:1180px){
  .nav-item > a{ padding:10px 11px; font-size:.66rem; letter-spacing:.08em; }
  .brand{ width:150px; }
}

@media (max-width:1024px){
  :root{ --header-h:70px; }
  .nav-pill, .header-actions{ display:none; }
  .burger{ display:flex; margin-left:auto; }

  .head-split{ grid-template-columns:1fr; align-items:start; }
  .impact-grid{ grid-template-columns:1fr; }
  .impact-media{ aspect-ratio:16/10; order:-1; }

  .caminho-grid{ display:flex; flex-direction:column; gap:0; }
  .caminho-sticky{ position:static; min-height:0; padding-block:var(--section-y); }
  .caminho-spacer{ display:none; }
  .caminho-head{ margin-bottom:10px; }

  /* bússola fixa no topo enquanto as etapas passam por baixo */
  .caminho-visual{
    position:sticky; top:calc(var(--header-h) + 2px); z-index:3; align-self:stretch;
    padding:16px 0 12px; margin-bottom:4px;
    background:var(--mist);
  }
  .caminho-visual::after{
    content:''; position:absolute; left:0; right:0; top:100%; height:30px;
    background:linear-gradient(180deg, var(--mist), rgba(245,246,252,0));
    pointer-events:none;
  }
  .compass-stage{ max-width:min(52vw,208px); }
  .compass-wrap{ width:100%; }
  .compass-wrap::before{ inset:-8%; }
  .compass-wrap::after{ display:none; }
  .compass-legend{ display:none; }
  .caminho-grid > .sec-actions{ margin-top:34px; }
  .stage-stack{ min-height:auto; margin-top:6px; }
  .stage{ position:relative; opacity:1; transform:none; pointer-events:auto; padding:20px 0; border-bottom:1px solid var(--line); }
  .stage:last-child{ border-bottom:0; }
  .stage h3{ font-size:1.4rem; }
  .stage p{ font-size:.95rem; }

  .pillar{ grid-template-columns:44px 1fr; grid-template-areas:"num title" ". desc" ". tag"; row-gap:10px; }
  .pillar-num{ grid-area:num; }
  .pillar-title{ grid-area:title; }
  .pillar > p{ grid-area:desc; }
  .tag{ grid-area:tag; justify-self:start; }

  .footer-top{ grid-template-columns:1fr; }
}

@media (max-width:1180px){
  .depo-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); }
}

@media (max-width:960px){
  .stats-head-split{ grid-template-columns:1fr; align-items:start; }
  .depo-grid{ grid-template-columns:1fr; }
  .depo-featured{ min-height:0; }
  .depo-rows{ height:auto; }
  .depo-row{ flex:0 0 auto; height:auto; }
  .depo-track{ height:auto; align-items:stretch; }
  .depo-card{ width:clamp(230px,64vw,300px); }
}

@media (max-width:860px){
  .stat-grid,
  .stat-grid--duo{ grid-template-columns:1fr; }
  .stat{ display:grid; grid-template-columns:auto 1fr; align-items:center; gap:0 22px; padding:22px 24px; }
  .stat-grid--duo .stat{ gap:0 20px; }
  .stat-grid--duo .stat-icon{ grid-row:1 / 3; align-self:center; height:62px; margin-bottom:0; }
  .stat-num{ font-size:2.4rem; }
  .stat-label{ margin-top:0; max-width:none; font-size:.72rem; }
  .stat-idx{ display:none; }
  .dream-grid{ grid-template-columns:1fr; gap:26px; }
  .dream-plus{ width:auto; height:0; justify-self:center; }
  .dream-plus span{ width:42px; height:42px; margin:-21px 0 0 -21px; }
  .dream-plus svg{ width:19px; height:19px; }
  .dream-card{ aspect-ratio:4/5; min-height:0; }
  .dream-foot{ flex-direction:column; align-items:flex-start; gap:12px; }
  .eco-grid{ grid-template-columns:1fr; }
  .eco-line{ display:none; }
  .choice-grid{ grid-template-columns:1fr; }
  .hero-stage{ padding:calc(var(--header-h) + 24px) 0 28px; }
  .partners{ padding:13px 0; }
  .marquee-track{ gap:30px; }
}

@media (max-width:600px){
  .brand{ width:138px; }
  .br-d{ display:none; }
  .hero{ min-height:520px; }
  .hero-title{ font-size:clamp(1.85rem,8vw,2.6rem); margin-bottom:18px; }
  .hero-sub{ font-size:.94rem; }
  .hero-actions{ flex-direction:column; width:100%; gap:10px; margin-top:26px; }
  .hero-actions .btn{ width:100%; }
  .hero-hash{ margin-top:22px; }
  .sec-actions .btn{ flex:1 1 auto; }
  .partners{ padding:12px 0; }
  .partners-label{ font-size:.6rem; letter-spacing:.16em; margin-bottom:11px; }
  .marquee-item img{ height:38px; }
  .marquee-track{ gap:26px; }
  .footer-cols{ grid-template-columns:1fr 1fr; }
  .whats{ right:14px; bottom:14px; }
}

@media (max-width:400px){
  .footer-cols{ grid-template-columns:1fr; }
}

/* telas baixas (notebooks pequenos, celular deitado): comprime o hero */
@media (max-height:700px){
  .hero-stage{ padding:calc(var(--header-h) + 18px) 0 20px; }
  .hero .eyebrow{ margin-bottom:12px; }
  .hero-title{ margin-bottom:16px; }
  .hero-sub{ font-size:.95rem; }
  .hero-actions{ margin-top:22px; }
  .hero-hash{ margin-top:18px; font-size:.84rem; }
  .partners{ padding:11px 0; }
  .partners-label{ margin-bottom:11px; }
  .marquee-item img{ height:38px; }
}

/* ============================ OPORTUNIDADE =========================== */
.oportunidade{ overflow:hidden; }
.op-block{ margin-top:clamp(56px,7vw,96px); }
.op-block:first-of-type{ margin-top:0; }

.op-head{ display:flex; align-items:baseline; gap:16px; margin-bottom:10px; }
.op-idx{
  font-family:var(--font-display); font-size:.78rem; font-weight:700;
  letter-spacing:.14em; color:var(--duke);
  border:1px solid var(--line-strong); border-radius:999px; padding:5px 12px;
  flex:0 0 auto;
}
.op-title{
  font-size:clamp(1.5rem,2.8vw,2.25rem); letter-spacing:-.03em; color:var(--duke);
}
.op-title em{ font-style:normal; color:var(--cadet); padding-inline:.12em; }
.op-sub{ color:var(--ink-soft); font-size:.95rem; margin-bottom:clamp(28px,3.4vw,44px); }

/* ------------ COMPARATIVO BRASIL x EUA (3 faixas + funis) ----------- */
.cmp{ margin:clamp(24px,3vw,40px) 0 0; }
.cmp-defs{ position:absolute; width:0; height:0; overflow:hidden; }
.cmp-svg{ width:100%; height:auto; display:block; font-family:var(--font-body); }
.cmp-stack{ display:none; }

.cmp-country{ font-size:13px; font-weight:800; letter-spacing:1.7px; fill:var(--ink-soft); }
.cmp-slogan{
  font-family:var(--font-display); font-size:23px; font-weight:500; letter-spacing:-.5px;
  fill:var(--ink);
}
/* só o conectivo ganha cor; "Esporte" e "Educação" seguem no cinza da marca */
.cmp-slogan .cmp-conn{ font-weight:800; }
.cmp-conn--br{ fill:#009B3A; }   /* verde da bandeira do Brasil */
.cmp-conn--us{ fill:#B22234; }   /* vermelho da bandeira dos EUA */
.cmp-stage{ font-size:19px; font-weight:700; fill:var(--ink); letter-spacing:-.1px; }
.cmp-desc{ font-size:19px; fill:var(--ink-soft); }
.cmp-desc--strong{ font-weight:700; fill:var(--duke); }
/* abas verticais do mobile: família condensada para caber em uma linha */
/* o corpo vem do atributo font-size, calculado para caber na altura da aba */
.cmp-vlab{ font-family:'Archivo Narrow','Archivo Condensed',var(--font-body); font-weight:500; }
.cmp-vlab--strong{ font-weight:700; }

/* entrada faixa a faixa, dirigida pelo scroll */
.cmp-in{ opacity:0; transition:opacity .7s var(--ease) calc(var(--i,0) * .05s); }
.cmp-in.is-on{ opacity:1; }
.cmp-fig{ transform:translateY(-14px); transition:opacity .6s var(--ease) calc(var(--i,0) * .05s), transform .6s var(--ease) calc(var(--i,0) * .05s); }
.cmp-fig.is-on{ transform:none; }
.cmp-funnel{ transition:opacity .9s var(--ease); }
/* setas que marcam os titulos de fase (coluna da esquerda, so desktop) */
.cmp-arrow{ transform:translateX(-12px);
  transition:opacity .7s var(--ease) calc(var(--i,0) * .05s), transform .7s var(--ease) calc(var(--i,0) * .05s); }
.cmp-arrow.is-on{ transform:none; }
@media (prefers-reduced-motion: reduce){
  .cmp-in{ opacity:1 !important; transform:none !important; }
}

.cmp-one + .cmp-one{ margin-top:30px; }

@media (max-width:980px){
  .cmp-wide{ display:none; }
  .cmp-stack{ display:block; }
  /* margens laterais menores no mobile: o funil ganha largura */
  .cmp{ margin-inline:calc(var(--gutter) * -.45); }
}

/* ------------------- UNIVERSO COLLEGE SPORTS ------------------------ */
.uni-stats{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.6vw,20px); }
.uni-stat{
  background:var(--ink); color:#fff; border-radius:var(--radius-lg);
  padding:clamp(22px,2.6vw,32px);
  display:flex; flex-direction:column; gap:8px; min-height:150px; justify-content:center;
}
.uni-stat--accent{ background:var(--royal); }
.uni-stat--deep{ background:var(--duke); }
/* ícone acima do número, mesma altura para os três */
.uni-icon{
  display:block; height:clamp(46px,4.6vw,66px); margin-bottom:14px;
  color:rgba(255,255,255,.92);
}
.uni-icon svg{ height:100%; width:auto; fill:currentColor; }
.uni-icon--draw svg{ fill:none; }
.uni-stat{ --uni-icon-bg:var(--ink); }
.uni-stat--accent{ --uni-icon-bg:var(--royal); }
.uni-stat--deep{ --uni-icon-bg:var(--duke); }
.uni-stat--accent .uni-icon,
.uni-stat--deep .uni-icon{ color:var(--turquoise); }

.uni-num{
  font-family:var(--font-display); font-weight:500; letter-spacing:-.04em; line-height:1;
  font-size:clamp(2.2rem,4.6vw,3.4rem);
}
.uni-stat--accent .uni-num,.uni-stat--deep .uni-num{ color:var(--turquoise); }
.uni-lab{ font-size:.82rem; letter-spacing:.02em; color:rgba(255,255,255,.72); }
.uni-note{ margin-top:14px; font-size:.78rem; color:var(--cadet); }

.uni-pair{
  margin-top:clamp(20px,2.4vw,28px);
  display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(12px,1.6vw,20px);
}
.uni-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:clamp(22px,2.6vw,32px);
}
.uni-card-tag{
  display:inline-block; font-family:var(--font-display); font-weight:700;
  font-size:.74rem; letter-spacing:.2em; color:var(--duke);
  background:rgba(49,220,232,.22); border-radius:999px; padding:6px 14px; margin-bottom:14px;
}
.uni-card-title{ font-size:1.15rem; color:var(--duke); margin-bottom:10px; }
.uni-card-txt{ font-size:.93rem; line-height:1.6; color:var(--ink-soft); }
.uni-card-txt b{ color:var(--ink); font-weight:700; }
.uni-card--pct{ display:flex; flex-direction:column; justify-content:center; gap:10px; }
.uni-pct{
  font-family:var(--font-display); font-weight:500; letter-spacing:-.04em; line-height:1;
  font-size:clamp(2.8rem,6vw,4.4rem); color:var(--duke);
}

.leagues-title{
  margin-top:clamp(36px,4.4vw,56px); margin-bottom:18px;
  font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-soft); font-family:var(--font-body);
}
.leagues{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.6vw,20px); }
.league{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:clamp(20px,2.4vw,28px);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.league:hover{ transform:translateY(-4px); border-color:rgba(0,9,110,.2); box-shadow:0 22px 50px -38px rgba(0,9,110,.65); }
.league-mark{
  /* altura FIXA: os tres logos tem proporcoes bem diferentes e, com
     min-height, a linha divisoria de cada card caia numa altura diferente */
  display:flex; align-items:center; height:clamp(68px,6.8vw,82px);
  padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid var(--line);
}
/* --lm equilibra o peso optico dos tres logos: a altura sozinha deixa o
   wordmark da NAIA com o dobro da area do disco da NCAA. 1 = altura igual. */
.league-mark img{ height:calc(clamp(44px,4.4vw,60px) * var(--lm,1)); width:auto;
  max-width:100%; object-fit:contain; }
/* enquanto o arquivo do logo não estiver na pasta, cai no nome tipográfico */
.league-mark b{
  display:none;
  font-family:var(--font-display); font-weight:700; letter-spacing:-.02em;
  font-size:clamp(1.5rem,2.6vw,2rem); color:var(--duke);
}
.league-mark.is-missing b{ display:block; }
.league-facts{ display:grid; gap:10px; }
.league-facts > div{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.league-facts dt{ font-size:.8rem; color:var(--ink-soft); }
.league-facts dd{ margin:0; font-weight:700; font-size:.95rem; color:var(--ink); }
.league-facts .league-big{ font-family:var(--font-display); font-weight:500; font-size:1.25rem; color:var(--duke); letter-spacing:-.02em; }

@media (max-width:900px){
  .uni-stats{ grid-template-columns:1fr; }
  .uni-pair{ grid-template-columns:1fr; }
  .leagues{ grid-template-columns:1fr; }
  .op-head{ flex-wrap:wrap; gap:10px; }
}

/* ======================== SELETOR DE IDIOMA ========================= */
/* PT → /  ·  EN → /en  (fica visível também no mobile, ao lado do burger) */
.lang-switch{
  display:inline-flex; align-items:center; gap:2px; flex:0 0 auto;
  padding:4px; border-radius:999px;
  background:rgba(16,20,54,.045); border:1px solid rgba(16,20,54,.07);
  transition:background-color .45s var(--ease), border-color .45s var(--ease);
}
.lang-switch a{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:34px; padding:8px 9px; border-radius:999px;
  font-size:.66rem; font-weight:700; letter-spacing:.1em; line-height:1;
  color:var(--ink-soft);
  transition:color .3s var(--ease), background-color .3s var(--ease), box-shadow .3s var(--ease);
}
.lang-switch a:hover{ color:var(--duke); }
.lang-switch a.is-active{ background:#fff; color:var(--duke); box-shadow:0 2px 10px -4px rgba(16,20,54,.35); }
.site-header[data-state="dark"] .lang-switch{ background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.16); }
.site-header[data-state="dark"] .lang-switch a{ color:rgba(255,255,255,.78); }
.site-header[data-state="dark"] .lang-switch a:hover{ color:#fff; }
.site-header[data-state="dark"] .lang-switch a.is-active{ background:var(--turquoise); color:var(--duke); box-shadow:none; }

/* 1025–1140px: header com seletor de idioma fica apertado, compacta tudo */
@media (min-width:1025px) and (max-width:1140px){
  .header-inner{ gap:12px; }
  .brand{ width:132px; }
  .nav-item > a, .nav-item > .nav-sub-toggle{ padding:10px 8px; font-size:.64rem; letter-spacing:.06em; }
  .header-actions{ gap:4px; }
  .header-actions .btn--ghost{ padding-inline:10px; }
  .header-actions .btn--sm{ padding-inline:16px; }
  .lang-switch a{ min-width:30px; padding:8px 7px; }
}
@media (max-width:1024px){
  .header-inner{ gap:10px; }
  .lang-switch{ margin-left:auto; }
  .lang-switch + .burger{ margin-left:0; }
}
