/* Fontes auto-hospedadas */
/* Fontes auto-hospedadas — sem dependência de terceiros (Google Fonts) */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('./fontes/lora-500-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('./fontes/lora-500-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('./fontes/lora-600-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('./fontes/lora-600-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./fontes/lora-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./fontes/lora-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./fontes/lora-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./fontes/lora-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./fontes/source-sans-3-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./fontes/source-sans-3-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./fontes/source-sans-3-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./fontes/source-sans-3-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./fontes/source-sans-3-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./fontes/source-sans-3-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---- tokens originais do protótipo ---- */
:root{
--azul:#1F3864;
--azul-prof:#142544;
--fundo:#0B1424;
--ambar:#B8860B;
--ambar-claro:#D8A93A;
--ambar-txt:#8C6410;
--ambar-txt-escuro:#D9A53C;
--cx-azul:#F2F5FA;
--cx-bege:#FBF6EC;
--linha:#D9DEE6;
--linha-clara:#EEF1F5;
--txt:#242424;
--txt-2:#5A5A5A;
--txt-3:#8A8A8A;
--branco:#FFFFFF;
--linha-escura:rgba(242,245,250,.16);
--painel:rgba(242,245,250,.045);
--painel-forte:rgba(242,245,250,.09);
--veu-forte:rgba(20,37,68,.88);
--surface-canvas:var(--fundo);
--surface-panel:var(--painel);
--surface-panel-hover:var(--painel-forte);
--surface-float:var(--azul-prof);
--text-body-dark:var(--cx-azul);
--text-muted-dark:var(--linha);
--text-body-light:var(--txt);
--accent:var(--ambar);
--accent-on-light:var(--ambar-txt);
}

:root{
--font-serif:'Lora',Georgia,serif;
--font-sans:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
--font-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
--fs-body:17px;
--fs-body-lg:18px;
--fs-small:15px;
--fs-label:11px;
--fs-h1:clamp(40px,6vw,64px); /* @kind font */
--fs-h2:clamp(24px,2.8vw,32px); /* @kind font */
--fs-h3:19px;
--fs-num-secao:30px;
--lh-body:1.65; /* @kind font */
--lh-display:1.04; /* @kind font */
--tracking-label:.16em;
--largura-texto:62ch;
}

:root{
--r1:14px;
--r2:22px;
--r3:32px;
--r-pilula:999px;
--sombra:0 24px 64px rgba(4,10,22,.5);
--sombra-suave:0 12px 32px rgba(4,10,22,.38);
--sombra-ambar:0 12px 44px rgba(184,134,11,.18);
}

:root{
--e1:8px;--e2:16px;--e3:24px;--e4:32px;--e5:48px;--e6:64px;--e7:96px;
--largura-envoltorio:1120px;
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--fundo);color:var(--cx-azul);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
@media (min-width:900px){body{font-size:var(--fs-body-lg)}}
h1,h2,h3{margin:0;color:var(--branco);text-wrap:balance}
h1{font-family:var(--font-serif);font-weight:600;font-size:var(--fs-h1);line-height:var(--lh-display);letter-spacing:-.015em}
h2{font-family:var(--font-sans);font-weight:700;font-size:var(--fs-h2);line-height:1.2;letter-spacing:-.01em}
h3{font-family:var(--font-sans);font-weight:700;font-size:var(--fs-h3)}
p{margin:0 0 var(--e3);max-width:var(--largura-texto)}
p:last-child{margin-bottom:0}
a{color:var(--cx-azul)}
a:hover{color:var(--ambar-claro)}
.acento{font-family:var(--font-serif);font-style:italic;font-weight:500;color:var(--ambar)}
.rotulo{display:block;font-size:var(--fs-label);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ambar)}

/* ---- folha original do site ---- */
/* Adaptado de estilo.css do site real — usa os tokens de ../../styles.css */
.faixa{width:100%;position:relative}
.envoltorio{width:100%;max-width:1200px;margin-inline:auto;padding-inline:24px}
@media (min-width:768px){.envoltorio{padding-inline:48px}}
.acima{position:relative;z-index:2}
.secao{padding-block:96px}
.titulo-secao{margin-bottom:48px;max-width:62ch}
.titulo-secao h2{margin-bottom:16px}
.titulo-secao::after{content:"";display:block;height:3px;width:120px;border-radius:999px;background:linear-gradient(to right,var(--ambar),rgba(184,134,11,0))}
.num-secao{display:block;font-family:var(--font-serif);font-weight:600;font-variant-numeric:tabular-nums;font-size:30px;color:var(--ambar);margin-bottom:8px}
.chamada{display:inline-block;margin-top:48px;font-size:16px;font-weight:600;color:var(--branco);text-decoration:underline;text-decoration-color:var(--ambar);text-decoration-thickness:2px;text-underline-offset:7px;cursor:pointer}
.chamada:hover{color:var(--cx-azul);text-decoration-color:var(--branco)}
.aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.aurora i{position:absolute;display:block;border-radius:50%;filter:blur(90px)}
.aurora i:nth-child(1){width:58vw;height:58vw;min-width:480px;min-height:480px;left:-16%;top:-22%;background:radial-gradient(circle,var(--azul) 0%,transparent 62%);opacity:.85}
.aurora i:nth-child(2){width:44vw;height:44vw;min-width:380px;min-height:380px;right:-14%;top:30%;background:radial-gradient(circle,var(--ambar) 0%,transparent 60%);opacity:.14}
.aurora i:nth-child(3){width:52vw;height:52vw;min-width:420px;min-height:420px;left:24%;bottom:-30%;background:radial-gradient(circle,var(--azul-prof) 0%,transparent 64%);opacity:.9}
@media (prefers-reduced-motion:no-preference){
.aurora i:nth-child(1){animation:derivar1 38s ease-in-out infinite alternate}
.aurora i:nth-child(2){animation:derivar2 46s ease-in-out infinite alternate}
.aurora i:nth-child(3){animation:derivar3 54s ease-in-out infinite alternate}
}
@keyframes derivar1{to{transform:translate(9vw,7vh) scale(1.15)}}
@keyframes derivar2{to{transform:translate(-8vw,-9vh) scale(1.2)}}
@keyframes derivar3{to{transform:translate(7vw,-6vh) scale(1.12)}}
.facho{position:fixed;top:0;left:0;z-index:1;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(184,134,11,.20) 0%,rgba(31,56,100,.30) 34%,transparent 68%);opacity:.26;pointer-events:none;mix-blend-mode:screen;will-change:transform;display:none}
@media (pointer:fine) and (prefers-reduced-motion:no-preference){.facho{display:block}}
.progresso{position:fixed;top:0;left:0;right:0;height:3px;z-index:50;background:linear-gradient(to right,var(--ambar),var(--ambar-claro));transform-origin:0 50%;transform:scaleX(0)}
@supports (animation-timeline:scroll()){.progresso{animation:avancar linear both;animation-timeline:scroll()}}
@keyframes avancar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.capa-site{min-height:calc(100vh - 76px);display:flex;flex-direction:column;justify-content:center;padding-block:96px 64px;overflow:hidden}
.capa-site h1{max-width:15ch;font-size:clamp(46px,7.4vw,96px);line-height:1.1}
.capa-site__texto{font-size:clamp(18px,1.6vw,21px);max-width:50ch;margin-top:32px;color:var(--cx-azul)}
.capa-site__rodape{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-top:96px}
.rolar{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--linha);text-decoration:none}
.rolar::after{content:"";width:1px;height:26px;background:var(--ambar);display:block}
.abertura__filete{width:64px;height:4px;border-radius:999px;background:var(--ambar);margin-bottom:32px;box-shadow:var(--sombra-ambar)}
.arte{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.arte--curso{position:fixed;z-index:0;opacity:.8}
.anel-c{fill:none;stroke-dasharray:72 28;stroke-dashoffset:86;stroke-linecap:round}
@media (prefers-reduced-motion:no-preference){
.anel-c{animation:tracar-c 14s cubic-bezier(.45,0,.25,1) infinite,pulsar 9s ease-in-out infinite alternate}
.arte--curso svg .anel-c:nth-of-type(2){animation-delay:.5s,.4s}
.arte--curso svg .anel-c:nth-of-type(3){animation-delay:1s,.8s}
.arte--curso svg .anel-c:nth-of-type(4){animation-delay:1.5s,1.2s}
}
@keyframes tracar-c{0%{stroke-dashoffset:158}20%,62%{stroke-dashoffset:86}84%,100%{stroke-dashoffset:158}}
.arte svg{position:absolute}
.arte circle{fill:none}
.grade-fundo{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,var(--painel-forte) 1.5px,transparent 1.5px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 30%,transparent 78%);mask-image:radial-gradient(ellipse at 60% 40%,#000 30%,transparent 78%)}
@media (prefers-reduced-motion:no-preference){
.arte__anel{stroke-dasharray:100 100;animation:tracar 2.6s cubic-bezier(.4,0,.2,1) both,verme 18s cubic-bezier(.45,0,.25,1) 2.6s infinite,pulsar 9s ease-in-out 2.6s infinite alternate}
.arte__anel--lento{animation-duration:3.6s,26s,12s;animation-delay:0s,3.6s,3.6s}
.arte svg .arte__anel:nth-of-type(2){animation-delay:.3s,4.1s,2.9s}
.arte svg .arte__anel:nth-of-type(3){animation-delay:.6s,5s,3.2s}
.arte svg .arte__anel:nth-of-type(4){animation-delay:.9s,6.2s,3.5s}
.arte__nucleo{animation:pulsar 7s ease-in-out infinite alternate}
.ken img,.invertido__fundo img{animation:respirar 30s ease-in-out infinite alternate}
.reativo{transition:transform .35s ease,border-color .35s ease}
}
@keyframes tracar{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes verme{0%,24%{stroke-dasharray:100 100;stroke-dashoffset:0}40%{stroke-dasharray:12 88;stroke-dashoffset:-45}72%{stroke-dasharray:12 88;stroke-dashoffset:-155}88%,100%{stroke-dasharray:100 100;stroke-dashoffset:-200}}
@keyframes pulsar{from{opacity:.55}to{opacity:1}}
@keyframes respirar{from{transform:scale(1) translateX(0)}to{transform:scale(1.07) translateX(-1.5%)}}
@supports (animation-timeline:view()){
@media (prefers-reduced-motion:no-preference){
.revela{animation:revelar linear both;animation-timeline:view();animation-range:entry 6% entry 38%}
}}
@keyframes revelar{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.figura{margin:0;overflow:hidden;border-radius:var(--r2);box-shadow:var(--sombra)}
.figura img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
.figura:hover img{transform:scale(1.045)}
.faixa-figura{height:min(62vh,560px);border-radius:0;box-shadow:none}
.figura--tratada img{filter:saturate(.28) contrast(1.04) brightness(.62)}
.figura--tratada::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(11,20,36,.55),rgba(20,37,68,.35) 45%,rgba(11,20,36,.7)),radial-gradient(ellipse at 70% 30%,rgba(184,134,11,.10),transparent 60%)}
.figura--tratada{position:relative}
.ken:hover img{transform:none}
.faixa-legenda{padding-block:48px;border-bottom:1px solid var(--linha-escura)}
.faixa-legenda p{font-size:18px;color:var(--cx-azul);max-width:70ch;margin:0}
.declaracao{padding-block:128px;overflow:hidden}
.declaracao p{margin:0 auto;max-width:26ch;text-align:center;font-family:var(--font-serif);font-weight:500;font-size:clamp(28px,4.4vw,54px);line-height:1.22;letter-spacing:-.012em;color:var(--branco)}
.faixa-codigos{overflow:hidden;padding-block:32px;display:grid;gap:16px;white-space:nowrap;-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}
.fc-trilho{display:inline-flex;gap:16px;padding-right:16px}
@media (prefers-reduced-motion:no-preference){
.fc-trilho{animation:desfilar 44s linear infinite}
.fc-linha--reversa .fc-trilho{animation-direction:reverse;animation-duration:56s}
.fc-linha:hover .fc-trilho{animation-play-state:paused}
}
@keyframes desfilar{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.chip{display:inline-flex;align-items:center;gap:12px;padding:12px 32px;border:1px solid var(--linha-escura);border-radius:999px;background:var(--painel);font-size:clamp(15px,1.6vw,18px);font-weight:600;color:var(--cx-azul);white-space:nowrap;transition:border-color .3s ease,background-color .3s ease}
.chip::before{content:"";width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--ambar)}
.chip:hover{border-color:var(--ambar);background:var(--painel-forte)}
.colunas{display:grid;gap:48px}
@media (min-width:900px){.colunas--2{grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr);align-items:start}.colunas--titulo{grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr)}}
.figura--retrato{aspect-ratio:4/5;max-height:520px}
ul.lista{padding-left:20px;color:var(--cx-azul)}
ul.lista li{margin-bottom:8px}
.numeros{display:grid;gap:24px;grid-template-columns:1fr;margin-top:64px}
@media (min-width:480px){.numeros{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:840px){.numeros{grid-template-columns:repeat(4,minmax(0,1fr))}}
.numero{background:var(--painel);border-radius:var(--r2);padding:32px;box-shadow:var(--sombra-suave);text-align:center}
.numero__valor{display:block;font-family:var(--font-serif);font-weight:600;font-size:clamp(48px,6.4vw,76px);line-height:.96;letter-spacing:-.02em;color:var(--branco);margin-bottom:16px}
.numero__valor--ambar{color:var(--ambar)}
.numero__nome{display:block;font-size:16px;font-weight:600;color:var(--branco)}
.numero__nota{display:block;font-size:14px;color:var(--linha);margin-top:4px}
.camadas{display:grid;gap:48px}
@media (min-width:980px){.camadas{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.camadas__figura{position:sticky;top:100px;height:70vh}}
.camada{margin-bottom:56px;counter-increment:camada}
.camada__numero{display:block;font-family:var(--font-serif);font-weight:600;font-size:26px;color:var(--ambar);margin-bottom:8px}
.camada__numero::before{content:counter(camada,decimal-leading-zero)}
.camada__lista{counter-reset:camada}
.camada h3{margin-bottom:12px}
.grade-modulos{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));margin-top:16px}
.modulo{position:relative;overflow:hidden;display:flex;flex-direction:column;background:var(--painel);border:1px solid var(--linha-escura);border-radius:var(--r2);box-shadow:var(--sombra-suave);padding:32px}
.modulo:hover{border-color:var(--ambar);box-shadow:var(--sombra),var(--sombra-ambar)}
.reativo::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(242,245,250,.08),transparent 60%);opacity:0;transition:opacity .35s ease;pointer-events:none}
.reativo:hover::before{opacity:1}
.modulo h3{margin-bottom:16px;color:var(--branco)}
.modulo p{font-size:16px;color:var(--linha);margin-bottom:32px}
.ficha{display:flex;gap:48px;border-top:1px solid var(--linha-escura);padding-top:16px;margin-top:auto}
.ficha__valor{display:block;font-family:var(--font-serif);font-weight:600;font-size:24px;color:var(--branco)}
.selo{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--linha);border:1px solid var(--linha-escura);border-radius:999px;padding:4px 14px}
.invertido{position:relative;overflow:hidden;padding-block:96px}
.invertido__fundo{position:absolute;inset:0}
.invertido__fundo img{width:100%;height:100%;object-fit:cover}
.invertido__fundo::after{content:"";position:absolute;inset:0;background:var(--veu-forte)}
.invertido .envoltorio{position:relative;z-index:1}
.botoes{display:flex;flex-wrap:wrap;gap:16px;margin-top:48px}
.depoimentos{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:16px}
.depoimento-uno{position:relative;overflow:hidden;display:grid;gap:40px;background:var(--painel);border:1px solid var(--linha-escura);border-radius:var(--r3);box-shadow:var(--sombra-suave);padding:44px;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.depoimento-uno:hover{border-color:rgba(184,134,11,.5);box-shadow:var(--sombra),0 12px 44px rgba(184,134,11,.18)}
@media (min-width:900px){.depoimento-uno{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);align-items:start}}
.depoimento-uno__cab .titulo-secao{margin:0}
.depoimento-uno__corpo{position:relative;padding-left:52px}
.depoimento-uno__aspa{position:absolute;left:0;top:-14px;font-family:var(--font-serif);font-size:88px;line-height:1;color:var(--ambar);opacity:.55;user-select:none}
.depoimento-uno__corpo blockquote{margin:0 0 24px;font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:clamp(18px,2vw,21px);line-height:1.55;color:var(--cx-azul)}
.depoimento-uno__quem{display:flex;align-items:center;gap:14px}
.depoimento-uno__quem img{border-radius:50%;flex:none}
@media (max-width:899px){.depoimento-uno__corpo{padding-left:0;padding-top:40px}.depoimento-uno__aspa{top:-24px}}
.depoimento{position:relative;overflow:hidden;background:var(--painel);border:1px solid var(--linha-escura);border-radius:var(--r2);box-shadow:var(--sombra-suave);padding:32px;display:flex;flex-direction:column}
.depoimento blockquote{margin:0 0 24px;font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:18px;line-height:1.55;color:var(--cx-azul)}
.depoimento__nome{font-weight:700;color:var(--branco);margin:0}
.depoimento__cargo{font-size:14px;color:var(--linha);margin:2px 0 0}
.depoimento__lista{margin:16px 0 0;padding:16px 0 0;border-top:1px solid var(--linha-escura);list-style:none;display:grid;gap:10px}
.depoimento__lista li{position:relative;padding-left:20px;font-size:14.5px;color:var(--linha);line-height:1.5}
.depoimento__lista li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--ambar)}
/* Depoimentos v2 */
.depo2{display:grid;gap:24px;margin-top:8px}
@media (min-width:980px){.depo2{grid-template-columns:minmax(250px,.8fr) minmax(0,1.9fr);gap:40px;align-items:start}}
.depo2__nav{display:grid;gap:12px}
.depo2__aba{position:relative;overflow:hidden;text-align:left;font:inherit;background:var(--painel);border:1px solid var(--linha-escura);border-radius:var(--r1);padding:18px 20px 16px 24px;cursor:pointer;transition:border-color .3s ease,background .3s ease}
.depo2__aba::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .3s ease}
.depo2__aba:hover{border-color:rgba(184,134,11,.5)}
.depo2__aba[aria-selected="true"]{background:rgba(242,245,250,.09);border-color:rgba(184,134,11,.55)}
.depo2__aba[aria-selected="true"]::before{background:var(--ambar)}
.depo2__aba-nome{display:block;font-weight:700;color:var(--branco);font-size:15.5px}
.depo2__aba-cargo{display:block;margin-top:3px;font-size:13.5px;color:var(--linha);line-height:1.45}
.depo2__aba-resultado{display:block;margin-top:10px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ambar-claro,#D8A93A)}
.depo2__painel{position:relative;overflow:hidden;background:var(--painel);border:1px solid var(--linha-escura);border-radius:var(--r3);box-shadow:var(--sombra-suave);padding:clamp(28px,4vw,52px);transition:border-color .3s ease,box-shadow .3s ease}
.depo2__painel:hover{border-color:rgba(184,134,11,.5);box-shadow:var(--sombra),0 12px 44px rgba(184,134,11,.18)}
.depo2__conteudo{position:relative;padding-left:56px;animation:depo2-entra .5s ease both}
@keyframes depo2-entra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.depo2__aspa{position:absolute;left:0;top:-16px;font-family:var(--font-serif);font-size:96px;line-height:1;color:var(--ambar);opacity:.55;user-select:none}
.depo2__destaque{margin:0 0 24px;font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:clamp(20px,2.4vw,26px);line-height:1.45;color:var(--cx-azul);max-width:32ch;text-wrap:pretty}
.depo2__texto{display:grid;gap:14px;max-width:66ch}
.depo2__texto p{margin:0;font-size:15.5px;line-height:1.7;color:var(--linha)}
.depo2__rodape{display:grid;gap:24px;margin-top:32px;padding-top:24px;border-top:1px solid var(--linha-escura)}
@media (min-width:900px){.depo2__rodape{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}}
.depo2__rodape .depo2__lista{margin:0;padding:0;border-top:0}
.depo2__data{margin:10px 0 0;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ambar-claro,#D8A93A)}
@media (max-width:700px){.depo2__conteudo{padding-left:0;padding-top:48px}.depo2__aspa{top:-26px}}
@media (prefers-reduced-motion:reduce){.depo2__conteudo{animation:none}}
.fundador{display:grid;gap:48px}
@media (min-width:900px){.fundador{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start}}
.fundador__nome{font-family:var(--font-serif);font-weight:600;font-size:26px;color:var(--branco);margin:0}
.fundador__cargo{font-size:15px;color:var(--ambar-claro);margin:4px 0 24px}
.credenciais{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}
.credenciais li{position:relative;padding-left:22px;color:var(--cx-azul);font-size:16px;line-height:1.55}
.credenciais li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--ambar)}
.perguntas{max-width:78ch}
.pergunta{border-bottom:1px solid var(--linha-escura);transition:border-color .3s ease}
.pergunta:hover{border-color:var(--ambar)}
.pergunta summary{cursor:pointer;list-style:none;padding:24px 40px 24px 0;position:relative;font-size:17px;font-weight:600;color:var(--branco)}
.pergunta summary::-webkit-details-marker{display:none}
.pergunta summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--ambar)}
.pergunta[open] summary::after{content:"–"}
.pergunta__corpo{padding:0 0 24px}
.pergunta__corpo p{color:var(--cx-azul);font-size:16px}
.legenda{font-size:13.5px;color:var(--txt-3)}
.rodape{background:var(--azul-prof);border-radius:var(--r3) var(--r3) 0 0;margin-top:96px;padding-block:64px 40px}
.rodape__declaracao{font-family:var(--font-serif);font-weight:500;font-size:clamp(24px,3vw,38px);color:var(--branco);max-width:24ch;margin:0 0 48px}
.rodape__grade{display:grid;gap:48px}
@media (min-width:820px){.rodape__grade{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));gap:64px}}
.rodape a{color:var(--branco);text-decoration:none}
.rodape a:hover{text-decoration:underline}
.rodape ul{list-style:none;margin:16px 0 0;padding:0;max-width:none}
.rodape li{margin-bottom:12px;font-size:15px}
.rodape__marca{display:inline-flex;align-items:center;gap:14px;margin-bottom:16px;text-decoration:none}
.rodape__fim{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-top:48px;padding-top:24px;border-top:1px solid var(--linha-escura);font-size:13px;color:var(--txt-3)}
.marca__texto{font-family:var(--font-serif);font-weight:600;font-size:20px;color:var(--branco)}
.marca__texto em{font-style:italic;font-weight:500;color:var(--ambar)}
.cabecalho{position:sticky;top:14px;z-index:40;padding-inline:14px}
.cabecalho__interno{position:relative;display:flex;align-items:center;gap:16px;min-height:64px;background:var(--veu-forte);backdrop-filter:blur(14px);border:1px solid var(--linha-escura);border-radius:999px;box-shadow:var(--sombra-suave);transition:border-color .35s ease,box-shadow .35s ease}
.cabecalho__interno:hover{border-color:rgba(184,134,11,.4);box-shadow:var(--sombra-suave),0 12px 44px rgba(184,134,11,.12)}
.cabecalho__interno::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(242,245,250,.07),transparent 42%)}
.cabecalho__interno::after{content:"";position:absolute;left:10%;right:10%;bottom:-1px;height:1px;pointer-events:none;background:linear-gradient(to right,transparent,rgba(184,134,11,.55),transparent)}
.cabecalho nav{margin-left:auto;display:flex;gap:6px;align-items:center}
.cabecalho nav a{font-size:15px;font-weight:600;text-decoration:none;color:var(--linha);padding:8px 15px;border-radius:999px;transition:color .25s ease,background .25s ease,box-shadow .25s ease}
.cabecalho nav a:hover{color:var(--branco);background:rgba(242,245,250,.07)}
.cabecalho nav a.ativo{color:var(--branco);background:rgba(242,245,250,.09);box-shadow:inset 0 0 0 1px rgba(184,134,11,.45)}
.cabecalho nav .cta-vivo{margin-left:10px}
@media (max-width:767px){.cabecalho{top:8px;padding-inline:8px}.cabecalho__interno{flex-wrap:wrap;row-gap:0;padding-block:8px;border-radius:var(--r3)}}
.marca{display:inline-flex;align-items:center;gap:12px;text-decoration:none}

/* Bloco de compra */
.compra{position:relative;overflow:hidden;background:linear-gradient(120deg,rgba(242,245,250,.11),rgba(242,245,250,.04));border:1.5px solid rgba(184,134,11,.6);border-radius:var(--r3);box-shadow:var(--sombra),0 12px 60px rgba(184,134,11,.28);padding:56px 48px}
@media(max-width:720px){.compra{padding:40px 28px}}
.compra::after{content:"";position:absolute;inset:0;background:radial-gradient(460px circle at 88% 18%,rgba(184,134,11,.22),transparent 70%);pointer-events:none}
.compra__aneis{position:absolute;right:-140px;top:50%;width:440px;transform:translateY(-50%);pointer-events:none;opacity:.55}
@media(prefers-reduced-motion:no-preference){.compra__aneis circle{animation:pulsar 4s ease-in-out infinite alternate}}
.compra__grade{position:relative;z-index:1;display:grid;gap:40px;align-items:center}
@media(min-width:900px){.compra__grade{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}
.compra__acao{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
@media(min-width:900px){.compra__acao{align-items:center;text-align:center}}
.compra__chamada{display:flex;flex-direction:column;align-items:inherit;gap:8px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ambar-claro)}
.compra__chamada::after{content:"";width:1px;height:22px;background:linear-gradient(to bottom,var(--ambar),transparent);display:block}
.pulso{display:inline-block;border-radius:999px}
@media(prefers-reduced-motion:no-preference){.pulso{animation:pulso-ambar 2.8s cubic-bezier(.4,0,.2,1) infinite}}
@keyframes pulso-ambar{0%{box-shadow:0 0 0 0 rgba(184,134,11,.5)}60%{box-shadow:0 0 0 18px rgba(184,134,11,0)}100%{box-shadow:0 0 0 0 rgba(184,134,11,0)}}
.compra__aviso{margin:0;font-size:14.5px;line-height:1.55;color:var(--linha);max-width:36ch}
.compra__aviso a{color:var(--ambar-claro)}

/* CTA dourado vivo */
.cta-vivo{position:relative;display:inline-block;border-radius:999px;overflow:hidden}
.cta-vivo::after{content:"";position:absolute;top:0;bottom:0;left:-80%;width:55%;border-radius:999px;background:linear-gradient(105deg,transparent,rgba(255,244,214,.6) 50%,transparent);transform:skewX(-20deg);pointer-events:none}
@media(prefers-reduced-motion:no-preference){
.cta-vivo{animation:pulso-ambar 2.8s cubic-bezier(.4,0,.2,1) infinite,saltar 4.2s ease-in-out 1.2s infinite}
.cta-vivo::after{animation:varrer 4.2s ease-in-out infinite}
}
@keyframes saltar{0%,54%,100%{transform:translateY(0) rotate(0)}58%{transform:translateY(-7px)}62%{transform:translateY(0)}66%{transform:translateY(-4px) rotate(-1.8deg)}70%{transform:translateY(0) rotate(1.5deg)}74%{transform:rotate(-1deg)}78%{transform:rotate(0)}}
@keyframes varrer{0%,50%{left:-80%}72%,100%{left:130%}}

/* Página de compra */
.planos{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:stretch}
.plano{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:16px;background:var(--painel);border:1px solid var(--linha-escura);border-radius:var(--r2);box-shadow:var(--sombra-suave);padding:44px 40px;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.plano:hover{transform:translateY(-6px)}
.plano--destaque{background:linear-gradient(135deg,rgba(184,134,11,.14),rgba(242,245,250,.04) 55%);border:1.5px solid rgba(184,134,11,.6);box-shadow:var(--sombra),0 12px 60px rgba(184,134,11,.24)}
.plano--destaque::after{content:"";position:absolute;inset:0;background:radial-gradient(380px circle at 90% 0%,rgba(184,134,11,.18),transparent 70%);pointer-events:none}
.plano__preco{font-family:var(--font-serif);font-weight:600;font-size:clamp(48px,6vw,64px);line-height:1;color:var(--branco);display:flex;align-items:baseline;gap:8px}
.plano__moeda{font-size:22px;color:var(--linha)}
.plano__cada{font-family:var(--font-sans);font-size:15px;font-weight:400;color:var(--linha)}
.plano__nota{margin:0;font-size:15.5px;line-height:1.6;color:var(--cx-azul)}
.plano>*{position:relative;z-index:1}
.garantias{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:56px;padding-top:40px;border-top:1px solid var(--linha-escura)}
.garantias p{margin:10px 0 0;font-size:15px;line-height:1.6;color:var(--cx-azul)}

/* ---- acréscimos (a11y, menu de celular) ---- */
/* =========================================================================
   ACRÉSCIMOS — tudo que o protótipo NÃO tinha.
   O desenho vem intacto de site-src/site/site.css e site-src/tokens/*.
   Aqui entram apenas: acessibilidade, menu de celular e correções que não
   mudam a aparência em desktop.
   ========================================================================= */

/* Sem isto, os SVGs decorativos que vazam da tela criavam rolagem lateral
   no celular (right:-14%, left:-10% na .arte). */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }

/* Foco visível para navegação por teclado. */
:focus-visible {
  outline: 3px solid var(--ambar-claro);
  outline-offset: 3px;
  border-radius: 4px;
}
#conteudo:focus { outline: none; }

/* Link "pular para o conteúdo" — aparece só ao focar com Tab. */
.pular {
  position: absolute; left: 16px; top: -80px; z-index: 100;
  padding: 12px 22px; border-radius: 999px;
  background: var(--ambar); color: var(--azul-prof);
  font-weight: 700; text-decoration: none;
  transition: top .2s ease;
}
.pular:focus { top: 16px; color: var(--azul-prof); }

/* ---------- Menu de celular ---------------------------------------------
   O protótipo não tinha menu compacto: abaixo de 900px os quatro itens
   estouravam a largura. O botão é criado pelo site.js; sem JavaScript, o
   menu apenas quebra linha e continua utilizável. */
.nav-alternar {
  display: none;
  margin-left: auto;
  width: 46px; height: 46px; padding: 0;
  background: transparent;
  border: 1px solid var(--linha-escura); border-radius: 12px;
  cursor: pointer;
  flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.nav-alternar__barra {
  display: block; width: 20px; height: 2px;
  background: var(--branco); border-radius: 2px;
  transition: transform .25s ease, opacity .25s ease;
}
.nav-alternar[aria-expanded="true"] .nav-alternar__barra:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-alternar[aria-expanded="true"] .nav-alternar__barra:nth-child(2) { opacity: 0; }
.nav-alternar[aria-expanded="true"] .nav-alternar__barra:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 899px) {
  .cabecalho__interno { flex-wrap: wrap; }

  /* Com JavaScript: menu recolhido atrás do botão. */
  .js .nav-alternar { display: flex; }
  .js .cabecalho nav {
    display: none;
    width: 100%; margin: 0 0 20px;
    flex-direction: column; align-items: flex-start; gap: 20px;
  }
  .js .cabecalho nav.aberto { display: flex; }

  /* Sem JavaScript: o menu quebra linha, mas tudo continua clicável. */
  html:not(.js) .cabecalho nav {
    width: 100%; margin-left: 0;
    flex-wrap: wrap; gap: 14px 20px;
    padding-bottom: 14px;
  }
}

/* ---------- Depoimentos: abas sem JavaScript -----------------------------
   No protótipo a troca de depoimento é estado do React (useState + onClick).
   Na versão estática os três painéis são renderizados e a troca passa a um
   grupo de rádios ocultos (ver o remendo em gerador/motor.mjs): funciona sem
   JavaScript, é indexável e navega pelas setas do teclado, que é o
   comportamento nativo de um grupo de rádio.

   As regras cobrem até seis depoimentos. Para admitir o sétimo, acrescente
   `:nth-of-type(7)` a cada uma das quatro listas abaixo. */

.depo2--radio { position: relative; }

/* O rádio some da vista, mas continua focável pelo teclado. */
.depo2__radio {
  position: absolute;
  top: 0; left: 0;
  width: 1px; height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

/* Um painel de cada vez. */
.depo2--radio .depo2__painel { display: none; }
.depo2__radio:nth-of-type(1):checked ~ .depo2__paineis > .depo2__painel:nth-of-type(1),
.depo2__radio:nth-of-type(2):checked ~ .depo2__paineis > .depo2__painel:nth-of-type(2),
.depo2__radio:nth-of-type(3):checked ~ .depo2__paineis > .depo2__painel:nth-of-type(3),
.depo2__radio:nth-of-type(4):checked ~ .depo2__paineis > .depo2__painel:nth-of-type(4),
.depo2__radio:nth-of-type(5):checked ~ .depo2__paineis > .depo2__painel:nth-of-type(5),
.depo2__radio:nth-of-type(6):checked ~ .depo2__paineis > .depo2__painel:nth-of-type(6) { display: block; }

/* Aba ativa — mesmas declarações de .depo2__aba[aria-selected="true"] no
   site.css original, agora acionadas pelo rádio correspondente. */
.depo2__radio:nth-of-type(1):checked ~ .depo2__nav > .depo2__aba:nth-of-type(1),
.depo2__radio:nth-of-type(2):checked ~ .depo2__nav > .depo2__aba:nth-of-type(2),
.depo2__radio:nth-of-type(3):checked ~ .depo2__nav > .depo2__aba:nth-of-type(3),
.depo2__radio:nth-of-type(4):checked ~ .depo2__nav > .depo2__aba:nth-of-type(4),
.depo2__radio:nth-of-type(5):checked ~ .depo2__nav > .depo2__aba:nth-of-type(5),
.depo2__radio:nth-of-type(6):checked ~ .depo2__nav > .depo2__aba:nth-of-type(6) {
  background: rgba(242, 245, 250, .09);
  border-color: rgba(184, 134, 11, .55);
}
.depo2__radio:nth-of-type(1):checked ~ .depo2__nav > .depo2__aba:nth-of-type(1)::before,
.depo2__radio:nth-of-type(2):checked ~ .depo2__nav > .depo2__aba:nth-of-type(2)::before,
.depo2__radio:nth-of-type(3):checked ~ .depo2__nav > .depo2__aba:nth-of-type(3)::before,
.depo2__radio:nth-of-type(4):checked ~ .depo2__nav > .depo2__aba:nth-of-type(4)::before,
.depo2__radio:nth-of-type(5):checked ~ .depo2__nav > .depo2__aba:nth-of-type(5)::before,
.depo2__radio:nth-of-type(6):checked ~ .depo2__nav > .depo2__aba:nth-of-type(6)::before { background: var(--ambar); }

/* Foco de teclado: o anel aparece no rótulo, já que o rádio é invisível. */
.depo2__radio:nth-of-type(1):focus-visible ~ .depo2__nav > .depo2__aba:nth-of-type(1),
.depo2__radio:nth-of-type(2):focus-visible ~ .depo2__nav > .depo2__aba:nth-of-type(2),
.depo2__radio:nth-of-type(3):focus-visible ~ .depo2__nav > .depo2__aba:nth-of-type(3),
.depo2__radio:nth-of-type(4):focus-visible ~ .depo2__nav > .depo2__aba:nth-of-type(4),
.depo2__radio:nth-of-type(5):focus-visible ~ .depo2__nav > .depo2__aba:nth-of-type(5),
.depo2__radio:nth-of-type(6):focus-visible ~ .depo2__nav > .depo2__aba:nth-of-type(6) {
  outline: 3px solid var(--ambar-claro);
  outline-offset: 3px;
}

/* ---------- Impressão ---------------------------------------------------- */
@media print {
  .aurora, .facho, .progresso, .arte, .grade-fundo, .faixa-codigos,
  .nav-alternar, .cta-vivo, .pular, .compra__aneis,
  .depo2__nav { display: none !important; }
  /* No papel não há o que clicar: os três depoimentos saem juntos. */
  .depo2--radio .depo2__painel { display: block !important; margin-bottom: 24px; }
  body { background: #fff; color: #000; }
  h1, h2, h3, .marca__texto { color: #000; }
  a { color: #000; text-decoration: underline; }
  .secao { padding-block: 24px; }
}
