/* Piloto: layout inspirado na referencia do DESIGN.md, com cores e fontes da Butterfly. */
:root{--bg:#fbf8f5;--paper:#fff;--nude:#faebe4;--line:#e8e2dc;--ink:#1f2f29;--muted:#5e6b65;--green:#244339;--green-2:#15352c;--gold:#e4b866;--gold-h:#d8a84f;--gold-d:#a67c30;--cham:#f8d587;--serif:'Playfair Display',Georgia,serif;--sans:'Montserrat','Helvetica Neue',Arial,sans-serif;--r:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}h1,h2,h3,p,figure,dl,dd,ul,ol{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(40px,5vw,68px);line-height:1.06}h2{font-size:clamp(30px,3.4vw,46px);line-height:1.12}
h3{font:500 18px/1.3 var(--sans)}
.in{max-width:1240px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.skip{position:absolute;left:12px;top:-80px;background:var(--paper);padding:12px;z-index:60}.skip:focus{top:8px}
a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.rot,.rot-c{display:block;font:600 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-d);margin-bottom:14px}
.rot-c{color:var(--cham)}
section h2{margin-bottom:32px}
/* Botoes */
.btn,.btn-sec{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 20px;border-radius:10px;font:600 13px/1.1 var(--sans);transition:background .2s,border-color .2s}
.btn{background:var(--gold);color:var(--ink)}.btn:hover{background:var(--gold-h)}
.btn-sec{border:1px solid var(--line);background:var(--paper)}.btn-sec:hover{border-color:var(--ink)}
.btn.grande{min-height:54px;padding:16px 28px;font-size:14px}
.btn.escuro{background:var(--green);color:#fff}.btn.escuro:hover{background:var(--green-2)}
/* Menu */
.topo{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topo-in{max-width:1240px;margin:0 auto;padding:8px clamp(16px,4vw,40px);display:flex;align-items:center;gap:32px}
.marca img{height:60px;width:auto}
.topo nav{display:flex;gap:28px;margin-left:auto;font:500 13px/1 var(--sans)}.topo nav a:hover{color:var(--gold-d)}
.acoes{display:flex;gap:10px}
.menu{display:none;position:relative;margin-left:auto}.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.menu summary::-webkit-details-marker{display:none}.menu summary span{width:18px;height:2px;background:var(--ink)}
.menu>div{position:absolute;right:0;top:52px;width:220px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 12px 30px rgba(31,47,41,.12)}
.menu>div a{display:block;padding:12px;font-weight:500;font-size:14px}
/* Abertura */
.abre{padding:28px 0 72px;background:linear-gradient(180deg,#f3f1ea 0,var(--bg) 80%)}
.abre .in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.trilha{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted);margin-bottom:28px}.trilha strong{font-weight:500;color:var(--ink)}
.abre h1{margin-bottom:20px}.abre h1 mark{background:linear-gradient(transparent 62%,var(--cham) 62%);color:inherit;padding:0 2px}
.abre-txt>p{font-size:18px;color:var(--muted);max-width:44ch;margin-bottom:28px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.tags li{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 14px;font:500 12px/1 var(--sans)}
.abre-foto img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);box-shadow:0 24px 60px rgba(31,47,41,.16)}
.abre-foto figcaption,.ad .aviso{font-size:12px;color:var(--muted)}.abre-foto figcaption{margin-top:10px}
/* Faixa */
.faixa{background:var(--green-2);color:#fff;padding:64px 0}
.faixa-in{display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:center}
.dados{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.dados .rot{color:var(--cham);margin-bottom:12px}.dados strong{display:block;font:400 clamp(26px,2.6vw,38px)/1.1 var(--serif);margin-bottom:10px}.dados p{font-size:14px;color:#d7dfda}
.faixa img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
/* Resumo */
.resumo{padding:88px 0}
.resumo-in{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,72px);align-items:start}
.ficha{background:#f3f1ea;border:1px solid var(--line);border-radius:var(--r);padding:28px;position:sticky;top:100px}
.ficha .rot-c{color:var(--gold-d)}.ficha dl>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.ficha dl>div:last-child{border-bottom:0}
.ficha dt{color:var(--muted)}.ficha dd{font-weight:600;text-align:right}
.resumo-txt h2{margin-bottom:20px}.resumo-txt p{font-size:17px;color:var(--muted);margin-bottom:32px;max-width:62ch}
.resumo-txt img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 30%;border-radius:var(--r)}
/* Casos */
.casos{background:#f3f1ea;padding:88px 0}
.casos-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.caso{background:var(--paper);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.caso img{width:100%;aspect-ratio:3/2;object-fit:cover}.caso>div{padding:22px}.caso h3{margin-bottom:8px}.caso p{font-size:14px;color:var(--muted)}
/* Etapas */
.como{padding:88px 0}
.etapas{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.etapa img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);margin-bottom:18px}
.etapa .n{display:block;font:400 22px/1 var(--serif);color:var(--gold-d);margin-bottom:8px}.etapa h3{margin-bottom:6px}.etapa p{font-size:14px;color:var(--muted)}
/* Antes e depois */
.ad{background:var(--green-2);color:#fff;padding:88px 0;text-align:center}
.ad h2{max-width:22ch;margin-inline:auto}
.ad-g{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.ad-g figure{position:relative}.ad-g img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.ad-g figcaption{position:absolute;left:14px;top:14px;background:rgba(21,53,44,.88);color:#fff;font:600 12px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:9px 12px;border-radius:8px}
.ad-g figure:last-child figcaption{background:var(--gold);color:var(--ink)}
.ad .aviso{color:#d7dfda;margin-bottom:28px}
/* Duvidas */
.duvidas{padding:88px 0}
.duvidas-in{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,5vw,72px);align-items:center}
.duvidas details{border-top:1px solid var(--line)}.duvidas details:last-of-type{border-bottom:1px solid var(--line)}
.duvidas summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;cursor:pointer;font-weight:500}.duvidas summary::-webkit-details-marker{display:none}.duvidas summary svg{flex:none;transition:transform .2s}.duvidas details[open] summary svg{transform:rotate(45deg)}
.duvidas details p{padding-bottom:18px;color:var(--muted);font-size:15px;max-width:62ch}
.duvidas-in>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
/* Outros */
.outros{padding:0 0 88px}
.outros-g{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.outro img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);margin-bottom:12px}.outro span{display:block;font-weight:500}.outro small{color:var(--muted);font-size:13px}
/* Chamada final */
.final{padding:0 0 88px}
.final-card{background:var(--cham);border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.final-card>div{padding:clamp(32px,5vw,64px);align-self:center}.final-card h2{margin-bottom:16px}.final-card p{margin-bottom:28px;max-width:44ch}
.final-card img{width:100%;height:100%;min-height:360px;object-fit:cover}
/* Rodape */
.rodape{background:var(--green-2);color:#fff;padding:64px 0 28px}
.rod-g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:40px}
.rod-g img{height:64px;width:auto;margin-bottom:16px}.rod-g p{font-size:14px;color:#d7dfda;max-width:32ch}
.rod-g strong{display:block;font:600 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--cham);margin-bottom:16px}
.rod-g a{display:block;font-size:14px;margin-bottom:10px}.rod-g a:hover{color:var(--cham)}
.legal{font-size:12px;color:#d7dfda;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);margin-inline:auto}
.fixo{display:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:980px){.topo nav,.acoes{display:none}.menu{display:block}.marca img{height:52px}
 .abre .in,.resumo-in,.duvidas-in,.final-card,.faixa-in{grid-template-columns:1fr}
 .ficha{position:static}.abre{padding-bottom:48px}.resumo,.casos,.como,.ad,.duvidas{padding:56px 0}.outros,.final{padding-bottom:56px}
 .casos-g,.etapas{grid-template-columns:1fr}.dados{grid-template-columns:1fr;gap:24px}.faixa{padding:48px 0}
 .outros-g{grid-template-columns:1fr 1fr;gap:12px}.rod-g{grid-template-columns:1fr 1fr}.rod-g>div:first-child{grid-column:1/-1}
 .final-card img{min-height:240px;aspect-ratio:3/2;height:auto}
 .fixo{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:12px;background:var(--gold);color:var(--ink);font:600 13px/1 var(--sans);box-shadow:0 10px 30px rgba(31,47,41,.25)}
 body{padding-bottom:76px}}
@media(max-width:560px){.ad-g{grid-template-columns:1fr}.abre-txt>p{font-size:16px}}
/* Hover dos cards clicaveis: glow no escolhido, os demais escurecem com glow fraco */
.outro{display:block;cursor:pointer}
.outro img{transition:box-shadow .3s ease,filter .3s ease,transform .3s ease}
.outro span,.outro small{transition:opacity .3s ease,color .3s ease}
@media(hover:hover){
 .outros-g:has(.outro:hover) .outro:not(:hover) img{filter:brightness(.5);box-shadow:0 0 18px 2px rgba(228,184,102,.28)}
 .outros-g:has(.outro:hover) .outro:not(:hover) span,.outros-g:has(.outro:hover) .outro:not(:hover) small{opacity:.55}
 .outro:hover img{box-shadow:0 0 40px 8px rgba(228,184,102,.8);transform:translateY(-3px)}
 .outro:hover span{color:var(--gold-d)}
}
.outros-g:has(.outro:focus-visible) .outro:not(:focus-visible) img{filter:brightness(.5);box-shadow:0 0 18px 2px rgba(228,184,102,.28)}
.outro:focus-visible{outline:none}.outro:focus-visible img{box-shadow:0 0 40px 8px rgba(228,184,102,.8);outline:2px solid var(--ink);outline-offset:3px}
.outro:focus-visible span{color:var(--gold-d)}
@media(prefers-reduced-motion:reduce){.outro:hover img{transform:none}}
/* Tabelas, clube e video */
.valores{padding:88px 0;background:#f3f1ea}
.valores-in{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,5vw,72px);align-items:center}
.valores-in>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
.table-scroll{overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left;font-weight:400}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
td{white-space:nowrap}
thead th{font:600 12px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
tbody th{font-weight:500}
.fine{font-size:13px;line-height:1.5;color:var(--muted);margin-top:16px;max-width:70ch}
.clube{padding:88px 0}
.clube-in{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,72px);align-items:center}
.clube-in>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}
.clube label{margin:0 0 8px}.clube select{width:100%;max-width:420px;padding:12px 16px;border:1px solid var(--line);background:var(--paper);border-radius:10px;font:400 14px/1.4 var(--sans);color:var(--ink)}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.plans article{background:#f3f1ea;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.plans h3{font:400 34px/1.1 var(--serif);margin-bottom:10px}.plans p{font-size:14px;color:var(--muted)}.plans .plan-price{font-weight:600;color:var(--ink)}.plans .btn-sec{margin-top:16px;width:100%}
.video{padding:0 0 88px}
.video-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.video-in p{color:var(--muted);margin-top:-16px}.video video{width:100%;max-height:640px;object-fit:cover;background:#000;border-radius:var(--r);display:block}
.tecnicas{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px}
.tecnica{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;padding-bottom:20px}
.tecnica img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin-bottom:16px}
.tecnica h3,.tecnica p{margin-inline:20px}.tecnica h3{margin-bottom:10px}.tecnica>p{font-size:14px;color:var(--muted)}
.tecnica .intensidade{height:2px;background:var(--line);margin-bottom:12px}.tecnica .intensidade span{display:block;height:100%;background:var(--gold-d)}
.etapas.quatro{grid-template-columns:repeat(4,1fr)}
/* Indice */
.catalogo{padding:72px 0 88px}.grupo{margin-top:48px}
.grupo>h3{font:400 26px/1.2 var(--serif);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.catalogo h2{margin-bottom:0}
@media(max-width:980px){.valores-in,.clube-in,.video-in{grid-template-columns:1fr}.valores,.clube,.catalogo{padding:56px 0}.video{padding-bottom:56px}.tecnicas{grid-template-columns:1fr 1fr;gap:12px}.etapas.quatro{grid-template-columns:1fr}.tecnica h3,.tecnica p{margin-inline:12px}.tecnica h3{font-size:15px}.tecnica>p{font-size:13px}.valores-in>img,.clube-in>img{aspect-ratio:3/2}}
@media(max-width:560px){.plans{grid-template-columns:1fr}}
@media(max-width:360px){h1{font-size:32px}h1,h2,h3{overflow-wrap:break-word}}
.valores-in>img.valores-foto-vertical{aspect-ratio:4/5;object-fit:contain}
.in>*,.valores-in>*,.clube-in>*,.video-in>*,.outros-g>*,.rod-g>*,.casos-g>*,.etapas>*,.tecnicas>*{min-width:0}
.outro span,.rod-g p{overflow-wrap:break-word;hyphens:auto}
@media(max-width:360px){.outro span{font-size:13.5px}.rod-g{grid-template-columns:1fr}}
/* Preco: "A partir de" e "por sessao" em linha propria; R$ e valor nunca se separam (tests/testar_precos.py) */
.dados .prefixo,.dados .sufixo{display:block;font:500 14px/1.3 var(--sans);color:#fff}
.dados .prefixo{margin-bottom:4px}.dados .sufixo{margin:-6px 0 10px}
.plan-price,td{white-space:nowrap}
