/* =========================================================================
   WINNOVA · MODELO-BASE DE LANDING PAGE DE PRODUTO
   Derivado da LP Compex (referencia aprovada) + padroes das demais LPs.
   Para adaptar a outro produto, normalmente basta trocar as cores do :root
   (--accent / --accent-2 / --ice). Nao renomeie classes: o HTML-modelo usa
   todas elas.
   ========================================================================= */
:root{
  --ink:#071722;          /* fundo escuro principal / texto principal */
  --ink-2:#0a1a25;        /* variacao escura para secoes dark alternadas */
  --paper:#f5f2eb;        /* fundo claro padrao */
  --white:#fff;
  --ice:#dff9ff;          /* fundo "tint" (secoes destacadas em tom claro) */
  --accent:#75def3;       /* cor de destaque (botao primario, detalhes) */
  --accent-2:#34c9e8;     /* destaque mais saturado (italicos, progresso) */
  --accent-deep:#0a87a6;  /* destaque legivel sobre fundo claro */
  --accent-rgb:117,222,243;
  --muted:#4d5e66;        /* texto secundario sobre claro (contraste AA) */
  --muted-dark:#b9c7cd;   /* texto secundario sobre escuro */
  --line:rgba(7,23,34,.16);
  --line-dark:rgba(255,255,255,.15);
  --shell:min(1240px,calc(100% - 48px));
  --radius:28px;
  --shadow:0 28px 70px rgba(7,23,34,.12);
  --font-display:"Space Grotesk",Arial,sans-serif;
  --font-body:Manrope,Arial,sans-serif
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html.form-open,html.form-open body{overflow:hidden}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);overflow-x:hidden;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button{cursor:pointer}
img,video{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}
.shell{width:var(--shell);margin-inline:auto}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-weight:600;overflow-wrap:break-word}
.nowrap{white-space:nowrap}
h1{font-size:clamp(3.1rem,5.8vw,5.8rem);line-height:.95}
h2{font-size:clamp(2.45rem,4.3vw,4.5rem);line-height:.98}
h3{font-size:1.65rem;line-height:1.08}
p{line-height:1.66;margin:0;font-size:1.04rem}
i,em{font-style:normal;color:var(--accent-2)}
.eyebrow,.micro-label,.section-kicker,.header-context,.dialog-foot{font-family:var(--font-display);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;font-weight:600}
.eyebrow{display:flex;gap:12px;align-items:center;color:#9fb1ba;margin:0 0 24px}
.eyebrow.light{color:#b4c4cb}
.section-kicker{color:#4f626b;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:52px}
.section-kicker.inverse{color:#b3c5cd;border-color:var(--line-dark)}
.micro-label{color:var(--accent-deep);margin-bottom:16px}
.lead{font-size:1.1rem;color:var(--muted);max-width:660px}
.lead.compact{font-size:1.04rem;margin-top:22px;max-width:590px}
.light-copy{color:var(--muted-dark)}
.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:34px}

/* ---------- Botoes ---------- */
.btn{border:0;border-radius:999px;min-height:58px;padding:0 26px;font-family:var(--font-display);font-weight:600;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;gap:16px;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn span{font-size:1.15em}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:var(--ink);box-shadow:0 14px 30px rgba(var(--accent-rgb),.22)}
.btn-primary:hover{box-shadow:0 18px 40px rgba(var(--accent-rgb),.34)}
.btn-secondary{background:var(--ink);color:#fff}
.btn-light{background:#fff;color:var(--ink)}

/* ---------- Header ---------- */
.header{position:fixed;z-index:50;top:0;left:0;width:100%;background:rgba(7,23,34,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.1);color:#fff}
.header-in{height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.brand{display:inline-flex;width:max-content}.brand img{width:150px;height:auto}
.header-context{color:#b0c1c9;display:flex;align-items:center;gap:10px;white-space:nowrap}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(var(--accent-rgb),.12)}
.header-cta{justify-self:end;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:11px 16px 11px 19px;font-size:.84rem;font-weight:700;transition:.2s}
.header-cta:hover{border-color:var(--accent);color:var(--accent)}

/* ---------- Hero (sem texto sobre a imagem) ---------- */
.hero{position:relative;background:var(--ink);color:#fff;padding:144px 0 54px;min-height:100vh;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 90%);mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.hero-orbit{position:absolute;width:740px;height:740px;border:1px solid rgba(var(--accent-rgb),.16);border-radius:50%;right:-250px;top:80px}
.hero-orbit:after,.hero-orbit:before{content:"";position:absolute;border:1px solid rgba(var(--accent-rgb),.1);border-radius:50%;inset:100px}.hero-orbit:after{inset:210px}
.hero-grid{position:relative;display:grid;grid-template-columns:1.04fr .96fr;grid-template-rows:auto auto;gap:54px 58px;align-items:center}
.hero-copy{padding-top:10px}.hero-copy .lead{color:#c3cfd4;margin-top:28px}
.hero-media{margin:0;min-height:600px;position:relative;border-radius:42px 42px 140px 42px;overflow:hidden;background:#183142;box-shadow:0 35px 90px rgba(0,0,0,.3)}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:var(--hero-pos,center);position:absolute;inset:0}
.facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.facts span{display:flex;flex-direction:column;gap:6px;padding:22px 24px 22px 0}.facts span+span{border-left:1px solid var(--line-dark);padding-left:24px}
.facts strong{font-family:var(--font-display);font-size:1.12rem;color:#fff}.facts small{color:#aebfc7;font-size:.9rem;line-height:1.55}

/* ---------- Fundos de secao ---------- */
.dark{background:var(--ink);color:#fff}
.dark-2{background:var(--ink-2);color:#fff}
.tint{background:var(--ice)}
.white{background:#fff}
.section{padding:126px 0}

/* ---------- Statement (faixa de frase de impacto) ---------- */
.statement{position:relative;padding:140px 0 126px;overflow:hidden}.statement-inner{position:relative;z-index:2;max-width:980px}.statement h2{max-width:930px}
.statement-rail{position:absolute;top:50%;left:-2%;transform:translateY(-50%) rotate(-5deg);white-space:nowrap;font-family:var(--font-display);font-size:clamp(5rem,12vw,11rem);font-weight:700;letter-spacing:-.07em;color:rgba(var(--accent-rgb),.055);display:flex;gap:60px;pointer-events:none}

/* ---------- Cabecalhos de secao ---------- */
.heading{max-width:930px;margin-bottom:58px}
.heading-wide{display:grid;grid-template-columns:1.4fr .6fr;max-width:none;gap:80px;align-items:end}
.heading p{color:var(--muted);font-size:1.04rem}
.dark .heading p,.dark-2 .heading p{color:var(--muted-dark)}

/* ---------- Split (texto + midia) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split.media-left .media-panel{order:-1}
.split-copy h2{font-size:clamp(2.4rem,4vw,4.2rem)}
.split-copy .lead{margin-top:24px}
.media-panel{position:relative;border-radius:var(--radius);overflow:hidden;background:#dce4e5;min-height:540px;box-shadow:var(--shadow)}
.media-panel img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.media-panel.product-shot{background:#fff;box-shadow:none;border:1px solid var(--line)}
.media-panel.product-shot img{object-fit:contain;padding:8%}
.media-panel.shape-a{border-radius:42px 42px 42px 130px}
.media-panel.shape-b{border-radius:36px 120px 36px 36px}
.media-tag{position:absolute;left:20px;bottom:20px;font-family:var(--font-display);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;background:rgba(7,23,34,.86);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 12px;z-index:2}

/* ---------- Lista com linhas finas ---------- */
.list{padding:0;margin:30px 0 0;list-style:none;display:grid;border-top:1px solid var(--line)}
.list li{position:relative;padding:17px 34px 17px 0;border-bottom:1px solid var(--line);color:#3f5059;font-size:1rem;line-height:1.55}
.list li:after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--font-display);color:var(--accent-2)}
.list li strong{color:var(--ink)}
.dark .list,.dark-2 .list,.dark .list li,.dark-2 .list li{border-color:var(--line-dark)}
.dark .list li,.dark-2 .list li{color:#c1ced3}.dark .list li strong,.dark-2 .list li strong{color:#fff}

/* ---------- Beneficios (cards de texto) ---------- */
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.benefit-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px 30px;min-height:240px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.benefit-card:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:var(--ice);right:-60px;top:-60px}
.benefit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.benefit-card h3{position:relative;font-size:1.6rem}
.benefit-card p{position:relative;color:var(--muted);margin-top:14px;font-size:1rem}
.tint .benefit-card:before{background:rgba(var(--accent-rgb),.22)}

/* ---------- Em uso (fotos com legenda abaixo, nunca sobre a imagem) ---------- */
.use-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.use-card{margin:0}
.use-card .use-img{position:relative;aspect-ratio:3/4;border-radius:24px;overflow:hidden;background:#dce4e5}
.use-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .6s ease}
.use-card:hover img{transform:scale(1.04)}
.use-card h3{font-size:1.35rem;margin-top:20px}
.use-card p{color:var(--muted);margin-top:8px;font-size:.98rem}
.dark .use-card p,.dark-2 .use-card p{color:var(--muted-dark)}

/* ---------- Tecnologia (linhas: nome + descricao) ---------- */
.feature-list{border-top:1px solid var(--line)}
.feature-row{display:grid;grid-template-columns:.42fr 1.58fr;gap:50px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);transition:padding .25s ease}
.feature-row:hover{padding-left:12px}
.feature-row h3{font-size:clamp(1.8rem,2.6vw,2.6rem);color:var(--accent-deep)}
.feature-row p{color:#3f5762;max-width:700px;font-size:1.04rem}
.dark .feature-list,.dark .feature-row,.dark-2 .feature-list,.dark-2 .feature-row{border-color:var(--line-dark)}
.dark .feature-row h3,.dark-2 .feature-row h3{color:var(--accent)}
.dark .feature-row p,.dark-2 .feature-row p{color:#c1ced3}

/* ---------- Programas / modos (categorias com etiquetas) ---------- */
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.program-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px}
.program-card.wide{grid-column:span 2}
.program-card h3{font-size:1.5rem}
.program-card p{color:var(--muted);margin-top:10px;font-size:.98rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none}
.chips li{font-size:.88rem;line-height:1.3;padding:8px 13px;border-radius:999px;background:var(--paper);border:1px solid var(--line);color:#2f434c}
.note{color:var(--muted);font-size:.92rem;margin-top:26px;max-width:820px}
.dark .note,.dark-2 .note{color:#9fb1ba}

/* ---------- Especificacoes (blocos limpos, nao tabela) ---------- */
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.spec-grid div{padding:28px 28px 32px 0;border-bottom:1px solid var(--line);min-height:140px}
.spec-grid div:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--line)}
.spec-grid span{display:block;font-family:var(--font-display);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#5d6f77}
.spec-grid strong{display:block;margin-top:16px;font-family:var(--font-display);font-size:clamp(1.35rem,2vw,1.9rem);font-weight:500;letter-spacing:-.03em;line-height:1.18}
.spec-grid small{display:block;margin-top:8px;color:var(--muted);font-size:.92rem;line-height:1.5}
.dark .spec-grid,.dark .spec-grid div{border-color:var(--line-dark)}
.dark .spec-grid span{color:#9fb1ba}.dark .spec-grid small{color:var(--muted-dark)}

/* ---------- Perfis (para quem) ---------- */
.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.choice-card{position:relative;min-height:280px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;transition:background .3s ease,color .3s ease,transform .3s ease}
.choice-card:before{content:"";position:absolute;width:250px;height:250px;border-radius:50%;background:var(--ice);right:-120px;top:-120px;transition:transform .4s ease}
.choice-card:hover{background:var(--ink);color:#fff;transform:translateY(-4px)}
.choice-card:hover:before{transform:scale(1.55)}
.choice-arrow{position:absolute;right:30px;top:28px;font-size:1.3rem;z-index:1}
.choice-card h3{position:relative;font-size:2rem}
.choice-card p{position:relative;color:var(--muted);margin-top:14px;font-size:1rem;max-width:520px}
.choice-card:hover p{color:#c8d4d8}
.choice-card:hover .choice-arrow{color:var(--ink)}

/* ---------- Por que a Winnova ---------- */
.why-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.why-grid h2{font-size:clamp(2.4rem,4vw,4.2rem)}
.why-grid .lead{margin-top:24px}
.why-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:1px solid var(--line-dark)}
.why-list div{padding:28px 0;border-bottom:1px solid var(--line-dark)}
.why-list h3{font-size:1.35rem;color:#fff}
.why-list p{color:var(--muted-dark);margin-top:10px;font-size:.98rem}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.faq-grid h2{font-size:clamp(2.4rem,4vw,4.2rem)}
.faq-grid .lead{margin-top:22px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-family:var(--font-display);font-size:1.18rem;font-weight:600;letter-spacing:-.02em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--accent-deep);transition:transform .25s ease}
.faq-list details[open] summary:after{transform:rotate(45deg)}
.faq-list details p{color:var(--muted);padding:0 50px 26px 0}

/* ---------- CTA final ---------- */
.final{position:relative;padding:132px 0 112px;overflow:hidden}
.final-in{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:end;gap:60px}
.final-in h2{max-width:870px}
.final-in p.lead{color:var(--muted-dark);margin-top:22px}
.final-watermark{position:absolute;right:-.04em;bottom:-.35em;font-family:var(--font-display);font-size:clamp(8rem,22vw,21rem);font-weight:700;letter-spacing:-.09em;color:rgba(var(--accent-rgb),.055);line-height:1;white-space:nowrap;pointer-events:none}

/* ---------- Rodape e CTA fixo mobile ---------- */
.footer{background:#05121a;color:#9aaeb7;border-top:1px solid rgba(255,255,255,.08);padding:32px 0}
.footer-in{display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer img{width:138px}
.footer span{font-family:var(--font-display);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em}
.mobile-cta{display:none;position:fixed;z-index:55;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(245,242,235,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line)}
.mobile-cta .btn{width:100%}

/* ---------- Dialog Metodo ATRITO (9 etapas) ---------- */
.atrito-dialog{padding:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:transparent}
.atrito-dialog::backdrop{background:rgba(2,12,18,.84);backdrop-filter:blur(8px)}
.atrito-screen{height:100%;display:grid;grid-template-columns:.4fr .6fr;background:var(--paper)}
.atrito-aside{position:relative;background:var(--ink);color:#fff;padding:38px;display:flex;flex-direction:column;overflow:hidden}
.atrito-aside:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(var(--accent-rgb),.18);left:-260px;bottom:-180px;box-shadow:0 0 0 90px rgba(var(--accent-rgb),.035),0 0 0 180px rgba(var(--accent-rgb),.02)}
.dialog-brand{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px}
.dialog-brand img{width:150px}
.dialog-brand span{font-family:var(--font-display);font-size:.68rem;letter-spacing:.14em;color:#a5b8c1}
.atrito-aside .copy{position:relative;z-index:1;margin:auto 0;max-width:450px}
.atrito-aside .copy h2{font-size:clamp(2.8rem,4.2vw,5rem)}
.atrito-aside .copy p:last-child{color:#bccad0;margin-top:22px;max-width:360px}
.dialog-foot{position:relative;z-index:1;color:#82999f}
.atrito-panel{display:flex;flex-direction:column;min-width:0}
.atrito-head{height:78px;display:flex;justify-content:space-between;align-items:center;padding:0 30px;border-bottom:1px solid var(--line);font-family:var(--font-display);font-size:.82rem;text-transform:uppercase;letter-spacing:.09em}
.atrito-head b{color:var(--accent-2)}
.close{border:1px solid var(--line);background:transparent;width:44px;height:44px;border-radius:50%;font-size:24px;line-height:1;color:var(--ink);transition:.2s}
.close:hover{background:var(--ink);color:#fff}
.progress{height:3px;background:rgba(7,23,34,.08)}
.progress span{display:block;height:100%;background:var(--accent-2);width:11%;transition:width .3s ease}
.stage{flex:1;display:grid;place-items:center;padding:38px;overflow:auto}
.stage form{width:min(700px,100%)}
fieldset{border:0;padding:0;margin:0;min-width:0}
.form-step legend{font-family:var(--font-display);font-size:clamp(2.2rem,3.8vw,4.1rem);font-weight:600;line-height:.98;letter-spacing:-.05em;margin-bottom:34px;max-width:660px;padding:0}
.field-label{display:block;font-family:var(--font-display);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:9px;color:#4a5c65}
.form-step input[type=text],.form-step input[type=tel],.form-step input[type=email]{width:100%;height:62px;border:1px solid rgba(7,23,34,.22);border-radius:16px;padding:0 17px;margin-bottom:17px;background:rgba(255,255,255,.85);outline:none;transition:border-color .2s,box-shadow .2s;color:var(--ink);font-size:1.02rem}
.form-step input:focus{border-color:var(--accent-2);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.18)}
.form-step input.is-invalid{border-color:#ba394b}
.form-error{color:#a9253d;font-size:.9rem;margin:12px 0}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.choices label{position:relative}
.choices label input{position:absolute;opacity:0;pointer-events:none}
.choices span{display:flex;align-items:center;min-height:64px;border:1px solid rgba(7,23,34,.2);border-radius:16px;padding:14px 16px;font-family:var(--font-display);font-size:.95rem;background:rgba(255,255,255,.8);transition:.2s}
.choices span:after{content:"↗";margin-left:auto;padding-left:10px;color:#6c8089}
.choices label:hover span{border-color:var(--accent-2)}
.choices input:focus-visible+span{outline:3px solid var(--accent-2);outline-offset:2px}
.choices input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.choices input:checked+span:after{color:var(--accent)}
.nav{display:flex;gap:15px;align-items:center;margin-top:16px}
.back{border:0;background:transparent;color:#4d5e66;padding:12px 0}
.back:hover{color:var(--ink)}

/* ---------- Reveal (IntersectionObserver em app.js) ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}

/* ---------- Responsivo ---------- */
@media(max-width:1050px){
  .header-in{grid-template-columns:1fr auto}.header-context{display:none}
  .hero-grid{grid-template-columns:1fr 1fr;gap:38px}
  .heading-wide{grid-template-columns:1.15fr .85fr;gap:40px}
  .split,.why-grid,.faq-grid{gap:46px}
  .benefit-grid,.program-grid{grid-template-columns:repeat(2,1fr)}
  .program-card.wide{grid-column:span 2}
  .use-grid{grid-template-columns:repeat(2,1fr)}
  .atrito-screen{grid-template-columns:.35fr .65fr}
}
@media(max-width:820px){
  body{padding-bottom:82px}
  .mobile-cta{display:block}
  .header{position:absolute;background:var(--ink)}.header-in{height:70px}.header-cta{display:none}.brand img{width:136px}
  .hero{padding:112px 0 40px;min-height:auto}
  .hero-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:34px}
  .hero-copy{padding:0}.hero-copy h1{font-size:clamp(2.9rem,12vw,4.6rem)}.hero-copy .lead{font-size:1.04rem}
  .hero-media{min-height:440px;border-radius:28px 28px 80px 28px}
  .facts{grid-column:auto;grid-template-columns:1fr}
  .facts span,.facts span+span{border-left:0;border-top:1px solid var(--line-dark);padding:18px 0}.facts span:first-child{border-top:0}
  .statement{padding:96px 0}
  .section{padding:86px 0}
  .section-kicker{margin-bottom:34px}
  .heading,.heading-wide{display:block;margin-bottom:40px}.heading-wide p{margin-top:22px}
  .split,.why-grid,.faq-grid{grid-template-columns:1fr}
  .split.media-left .media-panel{order:0}
  .media-panel{min-height:400px}
  .media-panel.shape-a{border-radius:28px 28px 28px 80px}.media-panel.shape-b{border-radius:28px 80px 28px 28px}
  .feature-row{grid-template-columns:1fr;gap:10px;padding:24px 0}.feature-row:hover{padding-left:0}
  .program-grid{grid-template-columns:1fr}.program-card.wide{grid-column:auto}
  .spec-grid{grid-template-columns:repeat(2,1fr)}
  .spec-grid div:not(:nth-child(3n+1)){padding-left:0;border-left:0}
  .spec-grid div:nth-child(even){padding-left:22px;border-left:1px solid var(--line)}
  .dark .spec-grid div:nth-child(even){border-color:var(--line-dark)}
  .choice-grid{grid-template-columns:1fr}.choice-card{min-height:230px}
  .why-list{grid-template-columns:1fr}
  .faq-list details p{padding-right:0}
  .final{padding:92px 0}.final-in{grid-template-columns:1fr;align-items:start}.final-in .btn{justify-self:start}
  .footer{padding-bottom:42px}
  .atrito-screen{grid-template-columns:1fr}.atrito-aside{display:none}
  .atrito-head{height:68px;padding:0 18px}
  .stage{padding:24px 17px calc(24px + env(safe-area-inset-bottom))}
  .choices{grid-template-columns:1fr}
  .form-step legend{font-size:clamp(2.1rem,9vw,3.2rem)}
  .form-step .btn{width:100%}
  .nav{align-items:stretch;flex-direction:column-reverse}.back{align-self:flex-start}
}
@media(max-width:520px){
  :root{--shell:calc(100% - 32px)}
  h1,.hero-copy h1{font-size:clamp(2.2rem,9.6vw,3.2rem)}
  h2{font-size:clamp(2rem,9vw,3rem)}
  .atrito-aside .copy h2,.form-step legend{font-size:clamp(1.9rem,8.6vw,2.8rem)}
  p{font-size:1rem}
  .hero-media{min-height:380px}
  .media-panel{min-height:330px}
  .benefit-grid,.use-grid{grid-template-columns:1fr}
  .benefit-card{min-height:0;padding:28px 24px}
  .use-card .use-img{aspect-ratio:4/5}
  .spec-grid{grid-template-columns:1fr}
  .spec-grid div,.spec-grid div:nth-child(even){padding:22px 0 24px;border-left:0;min-height:0}
  .program-card{padding:24px}
  .faq-list summary{font-size:1.06rem}
  .footer-in{align-items:flex-start;gap:16px;flex-direction:column}.footer span{font-size:.66rem}
  .btn{min-height:56px;padding:0 20px}
  .choice-card{padding:28px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .btn,.choice-card,.feature-row,.benefit-card,.use-card img{transition:none}
}
