/* ═══════════════════════════════════════════════════════════════════
   DESCOMPLICANDO A ORTOPEDIA FUNCIONAL DOS MAXILARES · 1ª EDIÇÃO
   Teramoto Odontologia — Rio Branco, Acre · 2026
   Direção: editorial institucional — marinho profundo, creme, ouro.
   ═══════════════════════════════════════════════════════════════════ */

:root{
  /* marinho */
  --navy-deep:#04121F;
  --navy:#091E35;
  --navy-2:#0D2740;
  --navy-3:#12324F;

  /* creme */
  --cream:#FAF5EF;
  --cream-2:#F3EBDF;
  --cream-3:#E9DECC;

  /* ouro */
  --gold:#C2A662;
  --gold-lt:#E2CB94;
  --gold-dk:#806A33;   /* ouro escuro: 4.8:1 sobre o creme (AA) */

  /* tinta */
  --ink:#0F2032;
  --ink-2:#3D5065;
  --ink-3:#6C7C8D;

  --on-navy:#EFE7DA;
  --on-navy-2:#A9B7C6;

  --wa:#25D366;

  --ff-d:"Cormorant Garamond",Cambria,"Times New Roman",serif;
  --ff-s:"Jost","Segoe UI",-apple-system,sans-serif;

  --pad:clamp(20px,5.2vw,40px);
  --gut:clamp(56px,11vw,132px);
  --max:1200px;

  --ease:cubic-bezier(.22,.61,.36,1);
  --hair:1px solid color-mix(in srgb,var(--gold) 26%,transparent);
}

/* ─────────────────────────────────────────────── base ── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:76px}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--ff-s);
  font-weight:330;
  font-size:clamp(15.5px,3.9vw,17px);
  line-height:1.72;
  letter-spacing:.004em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:400;line-height:1.06;letter-spacing:-.008em}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
ul,ol,dl{margin:0;padding:0;list-style:none}
b,strong{font-weight:500}
sup{font-size:.55em;vertical-align:super;line-height:0}
::selection{background:var(--gold);color:var(--navy-deep)}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}
.dot{color:var(--gold);padding-inline:.28em;font-style:normal}

.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--gold);color:var(--navy-deep);padding:12px 20px;font:500 13px/1 var(--ff-s)}
.skip:focus{left:8px;top:8px}

:where(a,button,.btn):focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}

/* ─────────────────────────────────────── tipografia ── */
.h2{
  font-family:var(--ff-d);
  font-weight:500;
  font-size:clamp(30px,7.6vw,54px);
  line-height:1.08;
  letter-spacing:-.012em;
  text-wrap:balance;
}
.label{
  margin:0 0 14px;
  font:500 clamp(9.5px,2.4vw,11px)/1.5 var(--ff-s);
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold);
}
.label--dark{color:var(--gold-dk)}
.num{
  margin:0 0 10px;
  font:400 12px/1 var(--ff-d);
  letter-spacing:.42em;
  color:var(--gold);
  opacity:.8;
}
.lead{
  font-family:var(--ff-d);
  font-size:clamp(19px,4.7vw,25px);
  line-height:1.5;
  font-weight:400;
  color:var(--ink-2);
  letter-spacing:0;
}
.lead--c{max-width:62ch;margin-inline:auto}
.eyebrow{
  margin:0 0 clamp(28px,8vw,54px);
  font:400 clamp(9.5px,2.5vw,11px)/1 var(--ff-s);
  letter-spacing:.44em;
  text-transform:uppercase;
  color:var(--on-navy-2);
}
.rule{width:64px;height:1px;margin:clamp(22px,5vw,30px) auto;background:linear-gradient(90deg,transparent,var(--gold),transparent)}

/* ─────────────────────────────────────────── botões ── */
.btn{
  --bg:var(--gold);--fg:var(--navy-deep);
  display:inline-flex;align-items:center;justify-content:center;gap:.62em;
  padding:1.02em 1.9em;
  background:var(--bg);color:var(--fg);
  border:1px solid var(--bg);
  font:500 clamp(12px,3.1vw,13.5px)/1 var(--ff-s);
  letter-spacing:.13em;text-transform:uppercase;text-decoration:none;
  cursor:pointer;position:relative;overflow:hidden;
  transition:transform .32s var(--ease),box-shadow .32s var(--ease),background .32s var(--ease),color .32s var(--ease);
}
.btn::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.42) 50%,transparent 62%);
  transform:translateX(-130%);
}
.btn:hover::after{transform:translateX(130%);transition:transform .85s var(--ease)}
.btn--gold{--bg:var(--gold);--fg:#0B1C2E;box-shadow:0 10px 34px -14px rgba(194,166,98,.72)}
.btn--gold:hover{background:var(--gold-lt);border-color:var(--gold-lt);transform:translateY(-2px);box-shadow:0 16px 42px -14px rgba(194,166,98,.9)}
.btn--ghost{--bg:transparent;--fg:var(--on-navy);border-color:color-mix(in srgb,var(--gold) 46%,transparent)}
.btn--ghost:hover{background:color-mix(in srgb,var(--gold) 12%,transparent);border-color:var(--gold);color:#fff;transform:translateY(-2px)}
.btn--lg{padding:1.18em 2.3em;font-size:clamp(12.5px,3.4vw,14.5px)}
.btn--sm{padding:.82em 1.25em;font-size:11.5px;letter-spacing:.1em}
.btn:active{transform:translateY(0) scale(.985)}
.ico-wa{width:1.25em;height:1.25em;flex:none}

/* ─────────────────────────────────────────── header ── */
.hdr{
  position:fixed;inset:0 0 auto;z-index:50;
  background:color-mix(in srgb,var(--navy-deep) 82%,transparent);
  backdrop-filter:blur(14px) saturate(1.3);
  -webkit-backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:1px solid transparent;
  transform:translateY(-102%);
  transition:transform .5s var(--ease),border-color .5s var(--ease);
}
.hdr.is-on{transform:none;border-bottom-color:color-mix(in srgb,var(--gold) 20%,transparent)}
.hdr__in{display:flex;align-items:center;gap:20px;min-height:60px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--gold);margin-right:auto}
.brand__mark{width:30px;height:30px;flex:none}
.brand__txt{
  display:flex;flex-direction:column;line-height:1.1;
  font:500 11px/1.15 var(--ff-s);letter-spacing:.22em;text-transform:uppercase;color:var(--on-navy);
}
.brand__txt em{font-style:normal;font-size:8.5px;letter-spacing:.3em;color:var(--gold);opacity:.85}
.hdr__nav{display:none;gap:26px}
.hdr__nav a{
  font:400 11.5px/1 var(--ff-s);letter-spacing:.16em;text-transform:uppercase;
  color:var(--on-navy-2);text-decoration:none;padding:6px 0;position:relative;
  transition:color .3s var(--ease);
}
.hdr__nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .38s var(--ease)}
.hdr__nav a:hover{color:var(--on-navy)}
.hdr__nav a:hover::after{transform:scaleX(1);transform-origin:left}
.hdr__cta{display:none}

/* ───────────────────────────────────────────── hero ── */
.hero{
  position:relative;isolation:isolate;
  min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(96px,20vw,130px) 0 clamp(120px,26vw,170px);
  background:var(--navy);
  color:var(--on-navy);
  text-align:center;
  overflow:hidden;
}
.hero__bg{position:absolute;inset:0;z-index:-1}
.hero__bg::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 78% at 50% 6%,transparent 30%,rgba(4,18,31,.72) 100%);
}
.hero__glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5}
.hero__glow--a{width:78vw;height:78vw;max-width:640px;max-height:640px;top:-16%;left:-18%;background:radial-gradient(circle,#17436F 0%,transparent 66%)}
.hero__glow--b{width:70vw;height:70vw;max-width:560px;max-height:560px;bottom:-8%;right:-18%;background:radial-gradient(circle,#6B5423 0%,transparent 68%);opacity:.34}
.hero__grid{
  position:absolute;inset:0;opacity:.32;
  background-image:linear-gradient(color-mix(in srgb,var(--gold) 8%,transparent) 1px,transparent 1px),
                   linear-gradient(90deg,color-mix(in srgb,var(--gold) 8%,transparent) 1px,transparent 1px);
  background-size:74px 74px;
  mask-image:radial-gradient(90% 62% at 50% 34%,#000 0%,transparent 78%);
  -webkit-mask-image:radial-gradient(90% 62% at 50% 34%,#000 0%,transparent 78%);
}
.hero__in{position:relative;display:flex;flex-direction:column;align-items:center}

/* moldura de cantos */
.frame{position:absolute;inset:-6px var(--pad);pointer-events:none}
.frame i{position:absolute;width:clamp(20px,5vw,34px);height:clamp(20px,5vw,34px);border:0 solid color-mix(in srgb,var(--gold) 52%,transparent)}
.frame i:nth-child(1){top:0;left:0;border-top-width:1px;border-left-width:1px}
.frame i:nth-child(2){top:0;right:0;border-top-width:1px;border-right-width:1px}
.frame i:nth-child(3){bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}
.frame i:nth-child(4){bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}
.frame--gold i{border-color:var(--gold)}

.kicker{
  margin:0 0 clamp(20px,5vw,28px);
  font:400 clamp(9.5px,2.5vw,11.5px)/1 var(--ff-s);
  letter-spacing:.38em;text-transform:uppercase;color:var(--gold);
}
.hero__h1{display:flex;flex-direction:column;gap:.02em;font-family:var(--ff-d)}
.hero__pre{
  font-size:clamp(17px,4.4vw,26px);
  font-weight:400;font-style:italic;letter-spacing:.02em;
  color:var(--gold-lt);opacity:.92;margin-bottom:.28em;
}
.hero__big{
  font-size:clamp(34px,10.6vw,84px);
  font-weight:500;line-height:.98;letter-spacing:-.018em;
  color:#fff;
  text-shadow:0 2px 30px rgba(0,0,0,.3);
}
.hero__sub{
  margin:clamp(20px,5vw,28px) 0 0;
  max-width:34ch;
  font-family:var(--ff-d);font-style:italic;
  font-size:clamp(17px,4.3vw,22px);line-height:1.44;
  color:var(--on-navy-2);
}
.hero__meta{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:clamp(14px,4vw,0px);
  width:100%;max-width:660px;
}
.hero__meta>div{
  flex:1 1 128px;padding:0 clamp(8px,3vw,20px);
  border-left:1px solid color-mix(in srgb,var(--gold) 22%,transparent);
}
.hero__meta>div:first-child{border-left:0}
.hero__meta dt{font:400 9.5px/1 var(--ff-s);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);opacity:.75;margin-bottom:8px}
.hero__meta dd{margin:0;font-family:var(--ff-d);font-size:clamp(15px,3.9vw,19px);line-height:1.25;color:var(--on-navy)}

.count{
  display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;
  gap:clamp(12px,3.6vw,22px);
  margin-top:clamp(26px,6.4vw,38px);
  padding:clamp(13px,3.4vw,17px) clamp(18px,5vw,30px);
  border:var(--hair);
  background:color-mix(in srgb,var(--navy-deep) 46%,transparent);
}
.count__lbl{font:400 9.5px/1 var(--ff-s);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);align-self:center}
.count__u{display:flex;align-items:baseline;gap:.36em}
.count__u b{font-family:var(--ff-d);font-weight:500;font-size:clamp(22px,5.6vw,30px);line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.count__u i{font:400 9.5px/1 var(--ff-s);font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--on-navy-2)}

.hero__cta{margin-top:clamp(28px,7vw,42px);display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}
.hero__cta .btn{width:100%;max-width:400px}
.hero__note{margin:0;font:400 clamp(11px,2.9vw,12.5px)/1.6 var(--ff-s);letter-spacing:.08em;color:var(--on-navy-2)}

.bridge{
  position:absolute;left:0;right:0;bottom:0;z-index:0;
  width:100%;height:clamp(110px,24vw,200px);
  overflow:visible;                 /* deixa o tabuleiro sangrar até as bordas */
  color:var(--gold);opacity:.3;
  /* emerge da escuridão no topo e some na borda inferior, sem criar linha dura */
  mask-image:linear-gradient(180deg,transparent 0%,#000 40%,#000 86%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 40%,#000 86%,transparent 100%);
}
.bridge path,.bridge circle{stroke-dasharray:2400;stroke-dashoffset:2400;animation:draw 2.6s var(--ease) .4s forwards}
.bridge .bridge__c{animation-duration:3.4s;animation-delay:.9s}
@keyframes draw{to{stroke-dashoffset:0}}

/* ───────────────────────────────────────── secções ── */
.sec{padding:var(--gut) 0;position:relative}
.sec--cream{background:var(--cream);color:var(--ink)}
/* sobre creme o ouro claro não atinge contraste AA — usamos o ouro escuro */
.sec--cream .label,
.sec--cream .num,
.sec--cream .list__n{color:var(--gold-dk)}
.sec--cream .num{opacity:.9}
.sec--navy{background:var(--navy);color:var(--on-navy)}
.sec--navy::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(88% 58% at 50% 0%,color-mix(in srgb,var(--navy-3) 62%,transparent),transparent 72%);
}
.sec--navy>*{position:relative}
.sec--navy .lead{color:var(--on-navy-2)}
.sec--navy .h2{color:#fff}

.sec__head{text-align:center;margin-bottom:clamp(38px,8vw,64px)}
.sec__head .lead{margin-top:clamp(16px,4vw,24px)}

/* split: texto + imagem */
.split{display:grid;gap:clamp(32px,7vw,64px)}
.split__txt .h2{margin-bottom:clamp(18px,4.4vw,26px)}
.split__fig{margin:0}
.split__fig .fig-frame{aspect-ratio:4/3}
.split__fig img{height:100%;object-fit:cover}

.pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:clamp(22px,5vw,30px)}
.pills li{
  padding:.6em 1.05em;
  border:1px solid var(--cream-3);
  background:color-mix(in srgb,#fff 62%,transparent);
  font:400 clamp(11px,2.9vw,12.5px)/1 var(--ff-s);
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);
}
.fig-frame{margin:0;position:relative;overflow:hidden;background:var(--navy-2)}
.fig-frame::after{content:"";position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--gold) 34%,transparent);pointer-events:none}
.fig-frame img{width:100%;transition:transform 1.1s var(--ease)}
.fig-frame:hover img{transform:scale(1.035)}
.fig-frame--gold::after{border-color:color-mix(in srgb,var(--gold) 55%,transparent)}

/* colunas texto/imagem */
.cols{display:grid;gap:clamp(30px,6.5vw,54px)}
.cols__a p{color:var(--on-navy-2);margin-bottom:1.15em}
.cols__a strong,.cols__a em{color:var(--on-navy)}
.cols__a em{font-family:var(--ff-d);font-size:1.1em;font-style:italic}
.cols__fig{margin:0}
.cols__b .fig-frame{aspect-ratio:4/5}
.cols__b img{height:100%;object-fit:cover}
.cols__fig figcaption{
  margin-top:12px;text-align:center;
  font:400 clamp(10px,2.6vw,11px)/1.5 var(--ff-s);
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold);opacity:.8;
}

.stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  margin-top:clamp(40px,8vw,68px);
  border-top:var(--hair);border-bottom:var(--hair);
}
.stat{padding:clamp(20px,5vw,30px) clamp(6px,2vw,16px);text-align:center;border-left:var(--hair)}
.stat:first-child{border-left:0}
.stat b{display:block;font-family:var(--ff-d);font-weight:500;font-size:clamp(28px,7.4vw,46px);line-height:1;color:var(--gold)}
.stat span{display:block;margin-top:9px;font:400 clamp(9.5px,2.5vw,11px)/1.45 var(--ff-s);letter-spacing:.14em;text-transform:uppercase;color:var(--on-navy-2)}

.pull{
  margin:clamp(40px,8vw,64px) auto 0;max-width:24ch;
  font-family:var(--ff-d);font-style:italic;font-weight:400;
  font-size:clamp(20px,5.2vw,30px);line-height:1.38;
  text-align:center;color:var(--gold-lt);
  text-wrap:balance;
}
.sec--navy .pull{max-width:26ch}
.pull::before,.pull::after{content:"";display:block;width:36px;height:1px;margin:0 auto;background:var(--gold);opacity:.55}
.pull::before{margin-bottom:clamp(20px,4.5vw,28px)}
.pull::after{margin-top:clamp(20px,4.5vw,28px)}

/* lista numerada */
.list{display:grid;gap:0;max-width:820px;margin-inline:auto;border-top:1px solid var(--cream-3)}
.list li{
  display:flex;align-items:baseline;gap:clamp(14px,4vw,26px);
  padding:clamp(17px,4.2vw,23px) 0;
  border-bottom:1px solid var(--cream-3);
  transition:padding-left .4s var(--ease),color .4s var(--ease);
}
.list li:hover{padding-left:10px}
.list__n{font:400 12px/1 var(--ff-d);letter-spacing:.16em;color:var(--gold);flex:none;min-width:2.2em}
.list__t{font-family:var(--ff-d);font-size:clamp(18px,4.5vw,25px);line-height:1.3;color:var(--ink)}

/* cards diferenciais */
.cards{display:grid;gap:clamp(12px,3vw,18px)}
.card{
  position:relative;
  padding:clamp(24px,5.6vw,34px) clamp(20px,5vw,30px);
  background:color-mix(in srgb,var(--navy-2) 72%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 15%,transparent);
  border-top:2px solid var(--gold);
  transition:transform .42s var(--ease),background .42s var(--ease),border-color .42s var(--ease);
}
.card:hover{transform:translateY(-4px);background:var(--navy-3);border-color:color-mix(in srgb,var(--gold) 34%,transparent);border-top-color:var(--gold-lt)}
.card__i{width:30px;height:30px;color:var(--gold);margin-bottom:16px}
.card h3{font-family:var(--ff-d);font-size:clamp(20px,4.9vw,25px);font-weight:500;color:#fff;margin-bottom:.44em;line-height:1.18}
.card p{font-size:clamp(14px,3.6vw,15px);line-height:1.66;color:var(--on-navy-2);margin:0}

/* professor */
.prof{display:grid;gap:clamp(32px,7vw,56px)}
.prof__fig{margin:0}
.prof__frame{
  position:relative;background:var(--navy);
  padding:clamp(9px,2.4vw,14px);
  box-shadow:0 26px 70px -34px rgba(9,30,53,.62);
}
.prof__frame::after{
  content:"";position:absolute;inset:clamp(9px,2.4vw,14px);
  border:1px solid color-mix(in srgb,var(--gold) 46%,transparent);pointer-events:none;
}
.prof__frame img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:50% 22%}
.prof__fig figcaption{
  margin-top:14px;text-align:center;
  font:400 10px/1 var(--ff-s);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dk);
}
.prof__txt .lead{margin-bottom:clamp(24px,5.4vw,32px)}
.creds{
  display:grid;gap:0;margin:0 0 clamp(24px,5.4vw,32px);
  border-top:1px solid var(--cream-3);
}
.creds li{
  padding:.82em 0 .82em 1.6em;position:relative;
  border-bottom:1px solid var(--cream-3);
  font-size:clamp(14.5px,3.7vw,16px);color:var(--ink-2);
}
.creds li::before{content:"";position:absolute;left:0;top:1.32em;width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg)}
.creds b{color:var(--ink);font-family:var(--ff-d);font-size:1.12em;font-weight:600}
.cities{margin-top:clamp(24px,5.4vw,32px);padding:clamp(20px,4.6vw,26px);background:var(--cream-2);border-left:2px solid var(--gold)}
.cities ul{display:flex;flex-wrap:wrap;gap:7px 0;column-gap:0}
.cities li{
  font:400 clamp(11.5px,3vw,12.5px)/1 var(--ff-s);letter-spacing:.06em;color:var(--ink-2);
  padding:.42em .85em .42em 0;margin-right:.85em;border-right:1px solid var(--cream-3);
}
.cities li:last-child{border-right:0}
.quote-word{
  margin:clamp(28px,6vw,38px) 0 0;padding:clamp(22px,5vw,30px) 0 0;
  border-top:1px solid var(--cream-3);
}
.quote-word p{
  font-family:var(--ff-d);font-style:italic;font-size:clamp(18px,4.5vw,23px);
  line-height:1.45;color:var(--ink);margin-bottom:.7em;text-wrap:pretty;
}
.quote-word cite{font:500 10.5px/1 var(--ff-s);font-style:normal;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-dk)}

/* depoimentos */
.deps{display:grid;gap:clamp(14px,3.4vw,20px)}
.dep{
  position:relative;margin:0;
  display:flex;flex-direction:column;
  padding:clamp(28px,6vw,38px) clamp(22px,5.2vw,34px) clamp(24px,5.2vw,32px);
  background:color-mix(in srgb,var(--navy-2) 80%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 15%,transparent);
  transition:transform .42s var(--ease),border-color .42s var(--ease),background .42s var(--ease);
}
.dep:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--gold) 32%,transparent);background:var(--navy-3)}
.dep__q{position:absolute;top:clamp(20px,4.6vw,26px);right:clamp(20px,4.6vw,28px);width:clamp(30px,7vw,40px);height:auto;color:var(--gold);opacity:.28}
.dep blockquote{margin:0 0 clamp(22px,5vw,28px)}
.dep blockquote p{
  font-size:clamp(14.5px,3.7vw,15.6px);line-height:1.75;color:var(--on-navy-2);
  margin-bottom:.9em;text-wrap:pretty;
}
.dep blockquote strong{color:var(--gold-lt);font-weight:500}
.dep__who{
  display:flex;align-items:center;gap:14px;
  margin-top:auto;padding-top:clamp(18px,4.2vw,22px);
  border-top:1px solid color-mix(in srgb,var(--gold) 20%,transparent);
}
.dep__who img{
  width:clamp(52px,13vw,60px);aspect-ratio:1;flex:none;
  border-radius:50%;object-fit:cover;object-position:50% 32%;
  border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);
  padding:2px;background:var(--navy);
}
.dep__who span{display:flex;flex-direction:column;gap:3px;min-width:0}
.dep__who b{font-family:var(--ff-d);font-size:clamp(17px,4.3vw,19px);font-weight:500;color:#fff;line-height:1.15}
.dep__who i{font:400 clamp(10px,2.7vw,11px)/1.4 var(--ff-s);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);opacity:.9}

/* público */
.who{display:grid;gap:0;max-width:900px;margin-inline:auto;border-top:1px solid var(--cream-3)}
.who li{
  padding:clamp(16px,4vw,21px) 0 clamp(16px,4vw,21px) 2.1em;
  border-bottom:1px solid var(--cream-3);position:relative;
  font-family:var(--ff-d);font-size:clamp(19px,4.8vw,26px);line-height:1.25;color:var(--ink);
}
.who li::before{
  content:"";position:absolute;left:.2em;top:50%;translate:0 -50%;
  width:9px;height:9px;border:1px solid var(--gold);
  transition:background .35s var(--ease),rotate .5s var(--ease);
}
.who li:hover::before{background:var(--gold);rotate:45deg}
.pos{
  margin:clamp(30px,6.4vw,42px) auto 0;max-width:60ch;text-align:center;
  font-size:clamp(14.5px,3.7vw,16px);color:var(--ink-2);
}
.pos em{font-family:var(--ff-d);font-style:italic;font-size:1.22em;color:var(--ink);display:block;margin-bottom:.3em}

.incl{margin-top:clamp(46px,9vw,76px);padding-top:clamp(38px,7vw,54px);border-top:1px solid var(--cream-3)}
.incl__lbl{text-align:center}
.incl ul{display:grid;gap:clamp(2px,1vw,10px);margin-top:clamp(24px,5vw,34px)}
.incl li{
  padding:clamp(16px,4vw,20px) clamp(16px,4vw,22px);
  background:var(--cream-2);
  border-left:2px solid color-mix(in srgb,var(--gold) 55%,transparent);
  transition:border-color .35s var(--ease),background .35s var(--ease);
}
.incl li:hover{border-left-color:var(--gold);background:var(--cream-3)}
.incl li b{display:block;font-family:var(--ff-d);font-size:clamp(18px,4.4vw,21px);font-weight:600;color:var(--ink);margin-bottom:.16em}
.incl li span{font-size:clamp(13.5px,3.5vw,14.5px);line-height:1.55;color:var(--ink-2)}
.incl__foot{
  margin:clamp(28px,5.6vw,38px) 0 0;text-align:center;
  font-family:var(--ff-d);font-style:italic;font-size:clamp(18px,4.5vw,23px);color:var(--ink-2);
}

/* investimento */
.roi{
  max-width:44ch;margin:0 auto clamp(34px,7vw,48px);text-align:center;
  padding:clamp(15px,3.8vw,19px) clamp(18px,4.4vw,26px);
  border:var(--hair);background:color-mix(in srgb,var(--navy-deep) 40%,transparent);
  font-size:clamp(14px,3.6vw,15.5px);line-height:1.6;color:var(--on-navy-2);
}
.roi span{display:block;font-family:var(--ff-d);font-style:italic;font-size:1.24em;color:var(--gold-lt);margin-bottom:.2em}
.roi b{color:#fff;font-weight:500}

.plans{display:grid;gap:clamp(16px,4vw,24px)}
.plan{
  position:relative;
  padding:clamp(28px,6vw,40px) clamp(22px,5.2vw,34px) clamp(26px,5.6vw,36px);
  background:color-mix(in srgb,var(--navy-2) 74%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 20%,transparent);
  display:flex;flex-direction:column;
  transition:transform .42s var(--ease),box-shadow .42s var(--ease);
}
.plan:hover{transform:translateY(-4px)}
.plan--hi{
  background:linear-gradient(170deg,color-mix(in srgb,var(--gold) 9%,var(--navy-2)),var(--navy-2) 62%);
  border-color:color-mix(in srgb,var(--gold) 58%,transparent);
  box-shadow:0 30px 74px -40px rgba(194,166,98,.55);
}
.plan__flag{
  position:absolute;top:0;right:clamp(20px,5vw,32px);translate:0 -50%;
  margin:0;padding:.52em 1em;background:var(--gold);color:var(--navy-deep);
  font:500 9.5px/1 var(--ff-s);letter-spacing:.2em;text-transform:uppercase;
}
.plan__tag{margin:0 0 .3em;font:500 clamp(10px,2.7vw,11.5px)/1 var(--ff-s);letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.plan__for{margin:0 0 clamp(20px,4.6vw,26px);font-size:clamp(13.5px,3.5vw,14.5px);color:var(--on-navy-2)}
.plan__price{display:flex;align-items:baseline;gap:.22em;margin:0 0 .2em;font-family:var(--ff-d);color:#fff}
.plan__price i{font-style:normal;font-size:clamp(17px,4.2vw,21px);font-weight:400;color:var(--gold);align-self:flex-start;margin-top:.55em}
.plan__price b{
  font-size:clamp(44px,11.4vw,64px);font-weight:500;line-height:.92;letter-spacing:-.02em;
  /* preço em algarismos alinhados — mais legível que o oldstyle da Cormorant */
  font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;
}
.plan__price s{text-decoration:none;font-family:var(--ff-s);font-size:clamp(11px,2.9vw,12px);letter-spacing:.18em;text-transform:uppercase;color:var(--on-navy-2);margin-left:.4em}
.plan__inst{margin:0 0 clamp(20px,4.6vw,26px);font-size:clamp(13.5px,3.5vw,14.5px);color:var(--on-navy-2)}
.plan__inst b{color:var(--gold-lt);font-weight:500}
.plan__list{display:grid;gap:.62em;margin:0 0 clamp(24px,5.4vw,32px);padding-top:clamp(18px,4.2vw,22px);border-top:1px solid color-mix(in srgb,var(--gold) 20%,transparent)}
.plan__list li{position:relative;padding-left:1.5em;font-size:clamp(13.5px,3.5vw,14.5px);color:var(--on-navy-2)}
.plan__list li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg)}
.plan__list b{color:#fff;font-weight:500}
.plan .btn{margin-top:auto;width:100%}

.reserve{
  margin-top:clamp(28px,6vw,40px);padding:clamp(22px,5vw,30px);
  border:var(--hair);background:color-mix(in srgb,var(--navy-deep) 34%,transparent);
}
.reserve p{font-size:clamp(13.5px,3.5vw,15px);line-height:1.7;color:var(--on-navy-2);margin-bottom:clamp(16px,3.6vw,20px)}
.reserve b{color:#fff;font-weight:500}
.badges{display:flex;flex-wrap:wrap;gap:8px}
.badges li{
  padding:.52em 1em;border:1px solid color-mix(in srgb,var(--gold) 36%,transparent);
  font:400 clamp(10px,2.7vw,11.5px)/1 var(--ff-s);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lt);
}

.info{margin-top:clamp(34px,7vw,50px);text-align:center}
.info .label{margin-bottom:clamp(18px,4vw,24px)}
.info dl{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:color-mix(in srgb,var(--gold) 18%,transparent);border:1px solid color-mix(in srgb,var(--gold) 18%,transparent)}
.info dl>div{background:var(--navy);padding:clamp(16px,3.8vw,22px) clamp(10px,3vw,16px)}
.info dt{font:400 9.5px/1 var(--ff-s);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);opacity:.8;margin-bottom:9px}
.info dd{margin:0;font-family:var(--ff-d);font-size:clamp(15px,3.9vw,18px);line-height:1.3;color:var(--on-navy)}

/* CTA final */
.final{
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(72px,15vw,124px) 0;
  background:var(--navy-deep);color:var(--on-navy);text-align:center;
}
.final__bg{position:absolute;inset:0;z-index:-1}
.final__bg span{position:absolute;border-radius:50%;filter:blur(80px)}
.final__bg span:first-child{width:80vw;height:80vw;max-width:620px;max-height:620px;top:-24%;left:50%;translate:-50% 0;background:radial-gradient(circle,#153C63 0%,transparent 66%);opacity:.7}
.final__bg span:last-child{width:60vw;height:60vw;max-width:460px;max-height:460px;bottom:-22%;right:-12%;background:radial-gradient(circle,#7A6029 0%,transparent 68%);opacity:.34}
.final__in{position:relative;display:flex;flex-direction:column;align-items:center}
.final .frame{inset:calc(var(--pad) * -.5) var(--pad)}
.final__h{
  font-family:var(--ff-d);font-weight:500;
  font-size:clamp(28px,7.4vw,52px);line-height:1.08;letter-spacing:-.014em;
  color:#fff;margin-bottom:clamp(20px,4.6vw,28px);text-wrap:balance;
}
.final__lead{
  max-width:52ch;margin:0 0 clamp(30px,6.6vw,44px);
  font-family:var(--ff-d);font-style:italic;font-size:clamp(17px,4.3vw,22px);line-height:1.5;
  color:var(--on-navy-2);
}
.final .btn{width:100%;max-width:430px}
.final__note{margin:16px 0 0;font:400 clamp(11px,2.9vw,12.5px)/1.6 var(--ff-s);letter-spacing:.08em;color:var(--on-navy-2)}

/* rodapé */
.ft{background:var(--navy-deep);color:var(--on-navy-2);padding:clamp(46px,9vw,68px) 0 clamp(30px,6vw,44px);border-top:1px solid color-mix(in srgb,var(--gold) 16%,transparent)}
.ft__in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}
.ft__mark{width:38px;height:38px;color:var(--gold);opacity:.85;margin-bottom:20px}
.ft__slogan{margin:0 0 20px;font:400 clamp(9.5px,2.5vw,11px)/1.6 var(--ff-s);letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.ft__org{margin:0 0 6px;font-family:var(--ff-d);font-size:clamp(21px,5.2vw,27px);font-weight:500;color:var(--on-navy)}
.ft__meta{margin:0 0 22px;font:400 11px/1.5 var(--ff-s);letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.ft__wa{
  font:400 clamp(12px,3.2vw,13.5px)/1 var(--ff-s);letter-spacing:.1em;
  color:var(--gold-lt);text-decoration:none;padding:.7em 1.2em;
  border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);
  transition:background .3s var(--ease),border-color .3s var(--ease);
}
.ft__wa:hover{background:color-mix(in srgb,var(--gold) 12%,transparent);border-color:var(--gold)}

/* barra fixa mobile */
.bar{
  position:fixed;left:0;right:0;bottom:0;z-index:45;
  display:flex;align-items:center;gap:12px;
  padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  background:color-mix(in srgb,var(--navy-deep) 94%,transparent);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid color-mix(in srgb,var(--gold) 26%,transparent);
  transform:translateY(110%);
  transition:transform .5s var(--ease);
}
.bar.is-on{transform:none}
.bar[hidden]{display:none}
.bar__txt{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.bar__txt b{font-family:var(--ff-d);font-size:16px;font-weight:500;color:#fff}
.bar__txt i{font:400 10.5px/1.3 var(--ff-s);font-style:normal;letter-spacing:.06em;color:var(--on-navy-2)}
.bar .btn{margin-left:auto;flex:none;white-space:nowrap}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);animation:rise .95s var(--ease) var(--d,0ms) forwards}
@keyframes rise{to{opacity:1;transform:none}}
[data-io]{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
[data-io].is-in{opacity:1;transform:none}

/* ═══════════════════════════════════ ≤ 619px ═══ */
@media (max-width:619px){
  /* meta do hero vira um "cartão de programa": rótulo à esquerda, valor à direita */
  .hero__meta{
    flex-direction:column;gap:0;max-width:330px;
    border-top:1px solid color-mix(in srgb,var(--gold) 22%,transparent);
  }
  .hero__meta>div{
    display:flex;align-items:baseline;justify-content:space-between;gap:16px;
    flex:none;width:100%;padding:11px 2px;
    border-left:0;border-bottom:1px solid color-mix(in srgb,var(--gold) 22%,transparent);
  }
  .hero__meta dt{margin-bottom:0}
  .hero__meta dd{text-align:right}
}

/* ═══════════════════════════════════ ≥ 620px ═══ */
@media (min-width:620px){
  .final__h span{display:block}
  .cards{grid-template-columns:repeat(2,1fr)}
  .deps{grid-template-columns:repeat(2,1fr)}
  .plans{grid-template-columns:repeat(2,1fr)}
  .incl ul{grid-template-columns:repeat(2,1fr)}
  .who{grid-template-columns:repeat(2,1fr);column-gap:clamp(24px,5vw,48px)}
  .info dl{grid-template-columns:repeat(4,1fr)}
  .hero__cta .btn,.final .btn{width:auto}
}

/* ═══════════════════════════════════ ≥ 900px ═══ */
@media (min-width:900px){
  html{scroll-padding-top:88px}
  .hdr__nav{display:flex}
  .hdr__cta{display:inline-flex}
  .hdr__in{min-height:70px}

  .split{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(48px,6vw,90px)}
  .split__txt{padding-right:clamp(0px,2vw,30px)}

  .cols{grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(48px,6vw,80px)}

  .cards{grid-template-columns:repeat(3,1fr)}

  .prof{grid-template-columns:.86fr 1.14fr;align-items:start;gap:clamp(48px,6vw,84px)}
  .prof__fig{position:sticky;top:100px}

  .sec__head{margin-bottom:clamp(52px,6vw,76px)}
  .list li:hover{padding-left:16px}

  .bar{display:none !important}
}

/* ═══════════════════════════════════ ≤ 899px ═══ */
@media (max-width:899px){
  /* espaço para a barra fixa — no rodapé, para não expor o fundo do body */
  body.has-bar .ft{padding-bottom:calc(clamp(30px,6vw,44px) + 76px)}
}

/* ═══════════════════════════════ acessibilidade ═══ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .reveal,[data-io]{opacity:1;transform:none}
  .bridge path,.bridge circle{stroke-dashoffset:0}
}

@media print{
  .hdr,.bar,.hero__bg,.bridge,.final__bg{display:none !important}
  body{background:#fff;color:#000}
  .sec--navy,.hero,.final,.ft{background:#fff !important;color:#000 !important}
}
