/* EngExpose — página de vendas. Usa só os tokens e padrões do Design System (css/tokens, css/patterns.css). */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body);
  font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--text-link)}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}

.wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--space-5)}
@media (max-width:600px){.wrap{padding-inline:var(--space-4)}}

.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--surface-card);color:var(--text-primary);padding:var(--space-3) var(--space-4)}
.skip:focus{left:var(--space-4);top:var(--space-4)}

/* Logo por tema */
.logo--light{display:none}
[data-theme="light"] .logo--dark{display:none}
[data-theme="light"] .logo--light{display:block}

/* ---------- Topo ---------- */
.topbar{position:sticky;top:0;z-index:50;padding-top:env(safe-area-inset-top,0px);
  background:color-mix(in srgb,var(--surface-page) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border-default)}
.topbar__inner{display:flex;align-items:center;gap:var(--space-5);min-height:68px}
.brand{display:flex;flex:none}
.brand .logo{height:34px;width:auto}
.nav{display:flex;gap:var(--space-5);margin-left:auto}
.nav a{color:var(--text-secondary);text-decoration:none;font-weight:var(--weight-medium);font-size:var(--text-sm)}
.nav a:hover{color:var(--text-primary)}
.topbar__tools{display:flex;align-items:center;gap:var(--space-3)}
.theme-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;cursor:pointer;
  background:var(--surface-card);border:1px solid var(--border-default);color:var(--text-primary)}
.theme-btn svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.theme-btn .i-moon{fill:currentColor;stroke:none}
.theme-btn .i-sun{display:none}
[data-theme="light"] .theme-btn .i-moon{display:none}
[data-theme="light"] .theme-btn .i-sun{display:inline}
@media (max-width:900px){.nav{display:none}.topbar__tools{margin-left:auto}}
@media (max-width:480px){.topbar__cta{display:none}.brand .logo{height:28px}}

/* ---------- Tipografia de página ---------- */
.lead{font-size:var(--text-md);line-height:var(--leading-normal);color:var(--text-secondary);max-width:58ch;margin:0}
.h2{font-size:clamp(2.5rem,6vw,4.5rem)}
.card-title{font-family:var(--font-display);font-weight:var(--weight-black);text-transform:uppercase;font-size:var(--text-xl);line-height:1;margin:0}

/* ---------- Seções ---------- */
.section{padding-block:var(--space-9)}
.section--raised{background:var(--surface-raised)}
.section--raised .ee-card,.section--raised .ee-plan{background:var(--surface-card)}
.section__head{display:grid;gap:var(--space-4);margin-bottom:var(--space-8);max-width:780px}
.section__head--center{margin-inline:auto;text-align:center;justify-items:center}
@media (max-width:700px){.section{padding-block:var(--space-8)}.section__head{margin-bottom:var(--space-7)}}

/* ---------- Hero ---------- */
.hero{padding-block:var(--space-8) var(--space-9);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:60vw;height:60vw;max-width:820px;max-height:820px;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--brand-secondary) 30%,transparent),transparent);pointer-events:none;z-index:-1}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--space-8);align-items:center}
.hero__copy{display:grid;gap:var(--space-5);min-width:0}
.hero__title{font-size:clamp(3.4rem,8.6vw,7rem)}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.hero__facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);
  font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.hero__facts li{display:flex;align-items:center;gap:var(--space-2)}
.hero__facts li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand-accent)}
.hero__media{position:relative;min-width:0}
.hero__photo{aspect-ratio:4/5;max-width:100%}
.hero__captions{position:absolute;left:var(--space-4);right:var(--space-4);bottom:var(--space-6)}
.hero__meter{position:absolute;left:calc(-1 * var(--space-7));bottom:var(--space-10);width:min(340px,85%);padding:var(--space-5)}
.hero__meter-note{margin:0;font-size:11px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}
@media (max-width:900px){
  .hero{padding-top:var(--space-6)}
  .hero__captions{bottom:calc(var(--space-7) + var(--space-5))}
  .hero__meter{position:relative;top:auto;bottom:auto;left:auto;width:auto;margin-top:calc(-1 * var(--space-7));margin-inline:var(--space-4)}
  .hero__grid{grid-template-columns:1fr;gap:var(--space-7)}
  .hero__media{max-width:520px;width:100%;margin-inline:auto}
}

/* ---------- Comparação ---------- */
.shift{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-8);align-items:start}
.shift__head{display:grid;gap:var(--space-4)}
.compare{display:grid;gap:var(--space-4)}
.compare__col{border-radius:var(--radius-lg);padding:var(--space-6)}
.compare__col--old{border:1px dashed var(--border-default);color:var(--text-secondary)}
.compare__col--new{background:var(--surface-card);border:2px solid transparent;
  background:linear-gradient(var(--surface-card),var(--surface-card)) padding-box,var(--gradient-brand) border-box}
.compare__title{font-family:var(--font-mono);font-weight:500;font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0 0 var(--space-4)}
.compare ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.compare li{display:grid;grid-template-columns:20px 1fr;gap:var(--space-2);line-height:1.4}
.compare__col--old li::before{content:"×";color:var(--text-secondary);font-weight:700}
.compare__col--new li{color:var(--text-primary)}
.compare__col--new li::before{content:"";width:14px;height:14px;margin-top:3px;border-radius:50%;background:var(--gradient-brand)}
@media (max-width:900px){.shift{grid-template-columns:1fr;gap:var(--space-7)}}

/* ---------- Método ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8) var(--space-7)}
.steps .ee-step > div{display:grid;gap:var(--space-3);justify-items:start;min-width:0}
.steps .ee-step__title{margin:0}
.steps .ee-step__letter{font-size:clamp(4rem,9vw,7rem)}
@media (max-width:760px){.steps{grid-template-columns:1fr;gap:var(--space-7)}}

/* ---------- Foco (dentro do Método) ---------- */
.focus{display:grid;gap:var(--space-6);margin-top:var(--space-9)}
.focus__head{display:grid;gap:var(--space-3);max-width:720px}
.focus__title{margin:0;font-family:var(--font-display);font-weight:var(--weight-black);text-transform:uppercase;font-size:var(--text-2xl);line-height:1}
.focus__head p{margin:0;color:var(--text-secondary);font-size:var(--text-md);line-height:var(--leading-normal)}
.focus__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.focus__item{display:grid;gap:var(--space-2);align-content:start;padding:var(--space-5)}
.focus__en{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-link)}
.focus__item strong{font-family:var(--font-display);font-weight:var(--weight-black);text-transform:uppercase;font-size:var(--text-xl);line-height:1}
.focus__item p{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}
:root[lang="en"] .focus__en{display:none}
@media (max-width:1000px){.focus__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.focus__list{grid-template-columns:1fr}.focus{margin-top:var(--space-8)}}

/* ---------- Jornada: escada de níveis CEFR ----------
   Altura de cada degrau = horas do nível / 1.200 h (--h). O gradiente da marca corre pela escada inteira (--i).
*/
#jornada .section__head{margin-bottom:0}
/* Desktop: o texto ocupa só a metade esquerda (acima de A1–B1, degraus baixos), e o gráfico sobe
   para o lado dele. --lift = quanto o gráfico sobe; limitado pela altura do B1 para não encostar no texto. */
@media (min-width:1001px){
  #jornada .section__head{max-width:none}
  #jornada .section__head .lead{max-width:calc(50% - 24px)}
  #jornada .levels{margin-top:calc(-1 * var(--lift))}
}
.levels{--chart:190px;--lift:calc(var(--chart) * (1 - 0.333) - 12px);position:relative;display:grid;gap:var(--space-5)}
.levels__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-4)}
.level{display:grid;gap:var(--space-2);align-content:start;min-width:0}
.level__col{height:var(--chart);display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-2);
  border-bottom:2px solid var(--border-default)}
.level__code{margin-top:var(--space-2);font-family:var(--font-display);font-weight:var(--weight-black);font-size:var(--text-2xl);line-height:1;color:var(--text-primary)}
.level__bar{height:calc(var(--h) * var(--chart));border-radius:var(--radius-sm) var(--radius-sm) 0 0;
  background:var(--gradient-brand);background-size:600% 100%;background-position:calc(var(--i) * 20%) 0}
.level__hours{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-primary)}
.level__name{font-family:var(--font-display);text-transform:uppercase;font-size:var(--text-lg);line-height:1.05;color:var(--text-primary)}
.level__desc{margin:0;font-size:var(--text-sm);line-height:1.45;color:var(--text-secondary)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:1000px){
  .levels__list{grid-template-columns:1fr;gap:0}
  .level{grid-template-columns:52px minmax(0,1fr);column-gap:var(--space-4);row-gap:var(--space-1);padding-block:var(--space-4);border-top:1px solid var(--border-default)}
  .level__col{display:none}
  .level__code{grid-row:1 / span 4;margin:0;font-size:var(--text-xl)}
  .level__hours{margin:0;position:relative;padding-top:12px}
  .level__hours::before{content:"";position:absolute;left:0;top:0;height:6px;border-radius:3px;width:calc(var(--h) * 100%);
    background:var(--gradient-brand);background-size:600% 100%;background-position:calc(var(--i) * 20%) 0}
}

/* ---------- O que você recebe ---------- */
.get{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.get__item{display:grid;gap:var(--space-4);align-content:start}
.get__item p{margin:0;color:var(--text-secondary)}
.get__item--wide{grid-column:span 2;justify-items:start;
  background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--brand-primary) 22%,transparent),transparent 60%),var(--surface-card)}
.get__item--wide .card-title{font-size:var(--text-2xl)}
.get__item--wide p{font-size:var(--text-md);max-width:52ch}
.get__item--tools{grid-column:span 2}
.agents{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.agents li{display:grid;gap:2px}
.agents span{color:var(--text-secondary);font-size:var(--text-sm)}
.tools{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}
.tools li{font-family:var(--font-display);font-weight:var(--weight-black);text-transform:uppercase;font-size:var(--text-xl);line-height:1;
  padding:12px 20px;border-radius:var(--radius-pill);border:1px solid var(--border-default)}
@media (max-width:900px){.get{grid-template-columns:1fr}.get__item--wide,.get__item--tools{grid-column:auto}}

/* ---------- Faixa de fotos ---------- */
.photo-band{padding-block:0 var(--space-9)}
.photo-band__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-5)}
.photo-band__a{grid-column:1;grid-row:1 / 3;min-height:440px}
.photo-band__b{grid-column:2;grid-row:1;aspect-ratio:4/3}
.photo-band__quote{grid-column:2;grid-row:2}
.photo-band__cap{position:absolute;left:var(--space-4);right:var(--space-4);bottom:var(--space-5)}
.photo-band__quote{margin:0;display:flex;align-items:center}
.photo-band__quote p{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1}
@media (max-width:800px){.photo-band__grid{grid-template-columns:1fr}.photo-band__a,.photo-band__b,.photo-band__quote{grid-column:1;grid-row:auto}.photo-band__a{min-height:0;aspect-ratio:4/3}}

/* ---------- Planos ---------- */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);align-items:stretch}
.plans .ee-plan__list{flex:1}
.plan__top{display:grid;gap:var(--space-2);justify-items:start}
.plan__desc{margin:0;color:var(--text-secondary);font-size:var(--text-sm);min-height:2.8em}
.ee-plan--featured{position:relative}
@media (min-width:1001px){.ee-plan--featured{transform:translateY(-12px)}}
.start-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);max-width:760px;
  margin:var(--space-7) auto 0;padding:var(--space-5) var(--space-6);border:1px dashed var(--border-default);border-radius:var(--radius-lg)}
.start-cta > div{flex:1 1 320px}
.start-cta__title{margin:0 0 var(--space-1);font-family:var(--font-display);font-weight:var(--weight-black);text-transform:uppercase;font-size:var(--text-xl);line-height:1.05}
.start-cta__text{margin:0;color:var(--text-secondary);line-height:1.5}
.start-cta + .guarantee{margin-top:var(--space-4)}
.guarantee{display:flex;align-items:center;gap:var(--space-5);max-width:760px;margin:var(--space-7) auto 0;padding:var(--space-5) var(--space-6);
  border:2px solid transparent;border-radius:var(--radius-lg);
  background:linear-gradient(var(--surface-card),var(--surface-card)) padding-box,var(--gradient-brand) border-box}
.guarantee__icon{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--gradient-brand)}
.guarantee__icon svg{fill:none;stroke:var(--text-on-brand);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.guarantee__title{margin:0 0 var(--space-1);font-family:var(--font-display);font-weight:var(--weight-black);text-transform:uppercase;font-size:var(--text-xl);line-height:1.05;color:var(--text-primary)}
.guarantee__text{margin:0;color:var(--text-secondary);line-height:1.5}
@media (max-width:520px){.guarantee{flex-direction:column;align-items:flex-start;padding:var(--space-5)}}
@media (max-width:1000px){.plans{grid-template-columns:1fr;max-width:520px;margin-inline:auto}.plan__desc{min-height:0}}

/* ---------- Depoimentos ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.quotes .ee-quote{justify-content:space-between}
.sample-tag{align-self:flex-start;font-size:10px;padding:4px 8px}
@media (max-width:900px){.quotes{grid-template-columns:1fr}}

/* ---------- Para quem é ---------- */
.who{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-8);align-items:center}
.who__photo{aspect-ratio:4/3}
.who__copy{display:grid;gap:var(--space-5)}
.who__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4)}
.who__list li{padding-left:var(--space-5);position:relative;color:var(--text-secondary)}
.who__list li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--gradient-brand)}
.who__list strong{color:var(--text-primary)}
@media (max-width:900px){.who{grid-template-columns:1fr;gap:var(--space-7)}}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-8);align-items:start}
.faq__list{display:grid;gap:var(--space-3)}
.faq details{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:0 var(--space-5)}
.faq summary{cursor:pointer;list-style:none;padding-block:var(--space-4);font-weight:var(--weight-bold);display:flex;justify-content:space-between;gap:var(--space-4)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-mono);color:var(--brand-accent);font-size:var(--text-lg);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 var(--space-4);color:var(--text-secondary)}
@media (max-width:900px){.faq{grid-template-columns:1fr;gap:0}}

/* ---------- CTA final ---------- */
.final{position:relative;isolation:isolate;overflow:hidden;padding-block:var(--space-10);text-align:center;color:#F5F4FB}
.final__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.final::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(11,10,22,.55) 0%,rgba(11,10,22,.88) 100%)}
.final__inner{display:grid;justify-items:center;gap:var(--space-5)}
.final__title{font-size:clamp(3rem,8vw,6.5rem);color:#F5F4FB}
.final .lead{color:#D9D6EA}

/* ---------- Rodapé ----------
   Colunas numa linha (como o rodapé da 4Xpert): marca | Curso | Ajuda | Siga a gente.
   .footer__nav usa display:contents para os dois grupos virarem colunas da mesma grade. */
.footer{border-top:1px solid var(--border-default)}
.footer__top{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;column-gap:var(--space-9);row-gap:var(--space-5);
  align-items:start;padding-block:var(--space-7)}
.footer__nav{display:contents}
.footer__brand{display:grid;gap:var(--space-4);justify-items:start}
.footer .logo{height:28px;width:auto}
.footer__slogan{margin:0;font-family:var(--font-display);font-weight:var(--weight-black);text-transform:uppercase;
  font-size:var(--text-xl);line-height:1;color:var(--text-primary)}
.footer__slogan .ee-grad-text{white-space:nowrap}
.footer__title{margin:6px 0 var(--space-4);font-family:var(--font-mono);font-weight:500;font-size:12px;
  letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-link)}
.footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}
.footer__col a{color:var(--text-primary);text-decoration:none;font-size:var(--text-sm);line-height:1.5}
.footer__col a:hover{color:var(--text-link)}
.footer__bottom{border-top:1px solid var(--border-default);padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px))}
.footer__copy{margin:0;text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--text-secondary)}
@media (max-width:900px){.footer__top{column-gap:var(--space-7)}}
@media (max-width:700px){
  .footer__top{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-5);padding-block:var(--space-6)}
  .footer__brand{grid-column:1 / -1}
  .footer__slogan{font-size:var(--text-lg)}
  .footer__col a{font-size:13px;overflow-wrap:anywhere}
  .footer__copy{font-size:10px}
}

/* ---------- Páginas legais ---------- */
.legal{padding-block:var(--space-8) var(--space-9)}
.legal__inner{max-width:760px}
.legal__head{display:grid;gap:var(--space-3);margin-bottom:var(--space-7)}
.legal__title{font-size:clamp(2.5rem,7vw,4.5rem)}
.legal__meta{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--text-secondary)}
.legal__body{color:var(--text-secondary);line-height:1.7}
.legal__body h2{font-family:var(--font-display);font-weight:var(--weight-black);text-transform:uppercase;font-size:var(--text-xl);
  line-height:1.05;color:var(--text-primary);margin:var(--space-7) 0 var(--space-3)}
.legal__body h3{font-size:var(--text-base);color:var(--text-primary);margin:var(--space-5) 0 var(--space-2)}
.legal__body p,.legal__body ul{margin:0 0 var(--space-4)}
.legal__body ul{padding-left:1.25em}
.legal__body li{margin-bottom:var(--space-2)}
.legal__body strong{color:var(--text-primary)}
.legal__body .todo{background:var(--state-warning);color:var(--surface-page);padding:0 4px;border-radius:3px;font-weight:700}
.legal__note{margin-top:var(--space-7);padding:var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
