@font-face{font-family:'Archivo';font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(fonts/archivo.woff2) format('woff2-variations'),url(fonts/archivo.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/fraunces.woff2) format('woff2-variations'),url(fonts/fraunces.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-display:swap;font-weight:100 900;src:url(fonts/fraunces-italic.woff2) format('woff2-variations'),url(fonts/fraunces-italic.woff2) format('woff2')}
:root{
  --ink:#211E1B;--ink-2:#2F2B27;
  --cream:#F5F0EA;--paper:#FBF8F3;--areia:#EDE4D8;--line:#DDD3C5;
  --vinho:#9E2B2B;--vinho-2:#7A2020;--sol:#F2C14E;--sol-2:#E8B12F;
  --text-2:#5A534C;--on-vinho:#F6E7E2;
  --display:'Archivo',system-ui,sans-serif;--serif:'Fraunces',Georgia,serif;--sans:'Archivo',system-ui,sans-serif;
  --max:1200px;--pad:28px;--topo:76px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topo) + 12px)}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:19px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0 0 16px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* ---------- tipografia: 3 tamanhos (grande, texto, etiqueta) ---------- */
h1,h2,.h-media{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;letter-spacing:-.015em;line-height:.98;margin:0}
h1{font-size:clamp(40px,7vw,96px)}
h2{font-size:clamp(32px,4.6vw,60px)}
.h-media{font-size:clamp(28px,3.4vw,44px)}
h3{font-family:var(--display);font-stretch:112%;font-weight:800;font-size:21px;line-height:1.15;margin:0 0 8px;text-transform:uppercase}
.it{font-family:var(--serif);font-style:italic;font-weight:300;text-transform:none;letter-spacing:-.01em;font-stretch:100%}
h1 .it,h2 .it{color:var(--vinho)}
.eyebrow,.rot,.n{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--vinho);margin:0 0 20px}
.eyebrow::before{content:"";width:32px;height:1.5px;background:currentColor;flex:none}
.eyebrow a{text-decoration:none}
.lead{font-size:21px;line-height:1.45;color:var(--text-2);max-width:620px}
.small{font-size:15px;color:var(--text-2)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:0 28px;border:1.5px solid var(--ink);background:var(--ink);color:var(--cream);font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s;text-align:center}
.btn:hover{background:var(--vinho);border-color:var(--vinho);color:#fff}
.btn-sol{background:var(--sol);border-color:var(--sol);color:var(--ink)}
.btn-sol:hover{background:var(--ink);border-color:var(--ink);color:var(--sol)}
.btn-line{background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.arrow::after{content:"→";font-size:18px;letter-spacing:0}
.link{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:4px;display:inline-block}
.link:hover{color:var(--vinho)}

/* ---------- cabeçalho (sempre claro) ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(245,240,234,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:transform .35s}
.top .wrap{display:flex;align-items:center;gap:20px;height:var(--topo)}
.top .logo{margin-right:auto}
.top .logo img{height:44px;width:auto}
.top nav{display:flex;align-items:center;gap:28px}
.top nav a{text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.top nav a:hover,.top nav a[aria-current]{color:var(--vinho)}
.top nav .en{border:1.5px solid currentColor;padding:4px 8px;font-size:11px}
.top nav .btn{min-height:46px;padding:0 20px;font-size:12px}
.top nav .btn:hover{color:var(--sol)}
.top .mini{display:none}
.top.hide{transform:translateY(-100%)}
.burger{display:none;width:48px;height:48px;border:1.5px solid var(--ink);background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;flex:none}
.burger span{display:block;width:20px;height:2px;background:var(--ink);transition:transform .3s,opacity .3s}
.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .burger span:nth-child(2){opacity:0}
.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mob{position:fixed;inset:0;z-index:49;background:var(--cream);padding:calc(var(--topo) + 20px) var(--pad) 40px;display:flex;flex-direction:column;transform:translateY(-100%);transition:transform .45s cubic-bezier(.7,0,.3,1);overflow-y:auto;visibility:hidden}
.mob a{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(28px,8vw,40px);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line)}
.mob .btn{margin-top:28px;font-family:var(--sans);font-stretch:100%;font-size:14px;border-bottom:1.5px solid var(--sol)}
.menu-open{overflow:hidden}
.menu-open .mob{transform:none;visibility:visible}
@media(max-width:1000px){.top nav{display:none}.burger{display:flex}.top .mini{display:inline-flex;min-height:46px;padding:0 14px;font-size:11px;letter-spacing:.1em}}

/* ---------- hero ---------- */
.hero{padding-top:var(--topo)}
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center;min-height:calc(100svh - var(--topo));padding-top:48px;padding-bottom:48px}
.hero h1{font-size:clamp(38px,6.2vw,92px)}
.hero .lead{margin:26px 0 30px}
.hero .cta{display:flex;flex-wrap:wrap;align-items:center;gap:22px 28px;margin-bottom:14px}
.hero-foto{aspect-ratio:4/5;background:var(--areia) center/cover no-repeat}

/* ---------- cabeça de página interna ---------- */
.cabeca{padding:calc(var(--topo) + 70px) 0 70px}
.cabeca.curta{padding-bottom:40px}
.cabeca .lead{margin-top:24px}
.cabeca .cta{margin-top:32px}
.atalhos{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 0}
.atalhos a{border:1.5px solid var(--ink);padding:10px 16px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.atalhos a:hover{background:var(--sol);border-color:var(--sol)}
.checks{list-style:none;padding:0;margin:22px 0 0}
.checks li{padding:12px 0 12px 34px;border-top:1px solid var(--line);position:relative;font-weight:600}
.checks li::before{content:"";position:absolute;left:0;top:19px;width:16px;height:16px;background:var(--sol)}

/* ---------- seções ---------- */
.s{padding:100px 0}
.s.papel{background:var(--paper)}
.s.sol{background:var(--sol)}
.s.sol .eyebrow{color:var(--vinho)}
.s.sol .lead,.s.sol .small{color:var(--ink)}
.s.vinho{background:var(--vinho);color:#fff}
.head{margin-bottom:48px;max-width:820px}
.head .lead{margin-top:20px;margin-bottom:0}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.duas.topo{align-items:start}

/* grade quadrada genérica */
.grid{display:grid;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.grid>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 28px 32px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}
.grid .n{display:block;color:var(--vinho);margin-bottom:18px}
.grid p{margin:0;color:var(--text-2)}
.grid p+p{margin-top:12px}

/* fotos */
.foto,.media{background:var(--areia) center/cover no-repeat;aspect-ratio:4/5;width:100%}
video.media{aspect-ratio:16/9;object-fit:cover;background:var(--ink)}
.foto-senhoras{aspect-ratio:16/7;background:var(--areia) center/cover no-repeat;margin-bottom:28px}

h2+.lead,h1+.lead{margin-top:20px}
.provas{border-top:1.5px solid var(--ink)}
.provas div{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line)}
.provas b{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:34px;line-height:1;color:var(--vinho);text-transform:uppercase}
.provas span{color:var(--text-2)}

/* ---------- cards de ritmo ---------- */
.ritmos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ritmo{position:relative;display:flex;flex-direction:column;min-height:230px;padding:24px 24px 26px;text-decoration:none;background:var(--paper) center/cover no-repeat;border:1.5px solid var(--ink);transition:transform .2s}
.ritmo:hover{transform:translateY(-3px)}
.ritmo .n{margin-bottom:auto;opacity:.75}
.ritmo .t{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(22px,2.4vw,30px);line-height:1;margin:28px 0 10px}
.ritmo .f{font-size:16px;line-height:1.35;max-width:26ch}
.ritmo .seta{position:absolute;right:20px;top:18px;font-size:22px}
.c-vinho{background-color:var(--vinho);border-color:var(--vinho);color:#fff}
.c-sol{background-color:var(--sol);border-color:var(--sol)}
.c-papel{background-color:var(--paper)}
.c-foto{color:#fff;border-color:var(--ink);justify-content:flex-end}

/* ---------- dúvidas ---------- */
.duvidas{display:grid;grid-template-columns:repeat(3,1fr);border-top:1.5px solid var(--ink)}
.duvidas>div{padding:26px 26px 28px 0;border-bottom:1px solid var(--line)}
.duvidas>div:nth-child(3n+2),.duvidas>div:nth-child(3n){padding-left:26px;border-left:1px solid var(--line)}
.duvidas h3{font-family:var(--serif);font-weight:500;font-stretch:100%;text-transform:none;font-size:26px;line-height:1.15;margin-bottom:10px}
.duvidas p{margin:0;color:var(--text-2)}

/* ---------- baile / onde fica ---------- */
.data-grande{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:clamp(90px,14vw,180px);line-height:.85;margin:0 0 18px;letter-spacing:-.03em}
.data-grande span{font-family:var(--serif);font-style:italic;font-weight:300;font-stretch:100%;text-transform:lowercase;font-size:.42em;letter-spacing:0;color:var(--vinho)}
.end{font-family:var(--serif);font-size:clamp(24px,2.6vw,32px);line-height:1.25;margin-bottom:24px}
.s.sol a:not(.btn){color:var(--ink)}
.destaque-baile .h-media{margin-bottom:14px}

/* ---------- achar minha turma ---------- */
.achar{border:1.5px solid var(--ink);background:var(--paper);padding:28px 28px 22px}
.achar-topo{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:24px;color:var(--vinho)}
.passo-n{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--text-2)}
.passo{display:none}
.passo.ativo{display:block;animation:entra .35s ease both}
@keyframes entra{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.q{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(26px,3vw,34px);line-height:1;margin:0 0 22px}
.ops{display:grid;gap:10px}
.op{min-height:62px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font:inherit;font-size:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:left;padding:0 20px;cursor:pointer;display:flex;align-items:center;justify-content:space-between}
.op::after{content:"→"}
.op:hover,.op:focus-visible{background:var(--sol);border-color:var(--sol);outline:none}
.achar .nota{font-size:15px;color:var(--text-2);margin:18px 0 0}
.achar-pe{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:14px}
.achar-pe a{color:var(--text-2)}
.voltar{background:none;border:0;font:inherit;font-weight:700;cursor:pointer;padding:6px 0;color:var(--ink)}
.res .turma{grid-template-columns:1fr}
.res .aviso{font-size:16px;color:var(--text-2);margin:0 0 14px}
.res .btn{width:100%;margin-top:6px}

/* ---------- turmas (por ritmo e resultado) ---------- */
.turmas{border-top:1.5px solid var(--ink)}
.turma{display:grid;grid-template-columns:180px 1fr auto;gap:12px 28px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.turma .niv{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vinho)}
.turma b{display:block;font-family:var(--display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:22px;line-height:1.1}
.turma small{display:block;font-size:15px;color:var(--text-2);margin-top:4px}
.turma .btn{min-height:50px}

/* ---------- grade completa ---------- */
.grade{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--ink)}
.grade .dia{padding:34px 32px;background:var(--paper)}
.grade .dia.d-vinho{background:var(--vinho);color:#fff}
.grade h3{font-size:clamp(26px,3vw,38px);font-stretch:125%;line-height:.95;margin:0 0 16px;padding-bottom:16px;border-bottom:1.5px solid currentColor}
.grade .lin{display:grid;grid-template-columns:80px 1fr;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.grade .d-vinho .lin{border-color:rgba(255,255,255,.25)}
.grade .h{font-family:var(--display);font-stretch:112%;font-weight:800;font-size:20px}
.grade b{display:block;font-family:var(--display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:19px;line-height:1.1}
.grade small{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin-top:3px;color:var(--text-2)}
.grade .d-vinho small{color:var(--on-vinho)}

/* ---------- valores ---------- */
.precos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.precos>div{padding:28px 24px;border:1.5px solid var(--ink);background:var(--paper)}
.precos .rot{color:var(--text-2)}
.precos b{display:block;font-family:var(--display);font-stretch:125%;font-weight:800;font-size:44px;line-height:1;margin:14px 0 10px}
.precos b small{font-size:16px;font-weight:700;font-stretch:100%}
.precos p{margin:0;font-size:16px;color:var(--text-2)}
.precos .destaque{background:var(--sol);border-color:var(--sol)}
.precos .destaque .rot,.precos .destaque p{color:var(--ink)}
.precos:has(>div:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
.precos:has(>div:only-child){grid-template-columns:minmax(0,420px)}

/* ---------- página de ritmo ---------- */
.ritmo-topo{padding-bottom:70px}
.ritmo-topo.c-vinho{color:#fff}
.ritmo-topo.c-vinho .eyebrow{color:var(--sol)}
.ritmo-topo.c-sol .eyebrow{color:var(--vinho)}
.ritmo-topo.c-papel{background:var(--paper)}
.ritmo-topo h1{font-size:clamp(44px,8vw,110px)}
.ganho{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(26px,3.4vw,42px);line-height:1.2;max-width:22ch;margin:22px 0 0}
.links-outros{display:flex;flex-wrap:wrap;gap:10px}
.links-outros a{border:1.5px solid var(--ink);padding:12px 18px;font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.links-outros a:hover{background:var(--sol);border-color:var(--sol)}
.s.outros{padding:56px 0}

/* ---------- eventos ---------- */
.eventos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.evento{border:1.5px solid var(--ink);padding:32px 30px 30px;background:var(--paper);display:flex;flex-direction:column}
.evento:first-child{background:var(--sol);border-color:var(--sol)}
.evento .n{color:var(--vinho);margin-bottom:28px}
.evento .h-media{margin-bottom:8px}
.evento .en-sub{font-family:var(--serif);font-style:italic;font-size:20px;margin:0 0 10px;color:var(--vinho)}
.evento p{color:var(--text-2)}
.evento:first-child p{color:var(--ink)}
.evento .acoes{margin:auto 0 0;padding-top:18px;display:flex;flex-wrap:wrap;gap:18px;align-items:center}

/* ---------- agenda de bailes ---------- */
.ev{display:grid;grid-template-columns:140px 1fr auto;gap:12px 32px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}
.ev:first-child{border-top:1.5px solid var(--ink)}
.ev .d{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:48px;line-height:.9}
.ev .d small{display:block;font-size:12px;letter-spacing:.18em;margin-top:8px;color:var(--vinho);text-transform:uppercase}
.ev p{margin:0;color:var(--text-2)}

/* ---------- a escola ---------- */
.profs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.prof{border:1.5px solid var(--ink);background:#fff;padding:0 0 22px}
.pfoto{aspect-ratio:1/1;background:var(--areia) center/cover no-repeat;margin-bottom:18px}
.pfoto.vazio{display:flex;align-items:center;justify-content:center;background:var(--sol)}
.pfoto.vazio span{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:64px;color:var(--vinho)}
.prof h3,.prof p{padding:0 20px}
.prof .danca{font-weight:700;color:var(--vinho);margin-bottom:6px}
.prof p{margin:0;color:var(--text-2);font-size:16px}
.nota-google{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.nota-google b{font-family:var(--display);font-stretch:125%;font-size:72px;line-height:1}
.nota-google span{color:var(--sol-2);font-size:24px}

/* ---------- bolsas ---------- */
.tres{margin:30px 0 22px}
.tres dt{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--vinho);padding-top:16px;border-top:1px solid var(--line)}
.tres dd{margin:6px 0 16px;font-size:19px}
.ficha{background:var(--paper);border:1.5px solid var(--ink);padding:30px 28px}
.ficha h3{font-size:26px;font-stretch:125%;margin-bottom:6px}
.ficha label{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--text-2);margin:18px 0 4px}
.ficha input,.ficha select{width:100%;background:transparent;border:0;border-bottom:1.5px solid var(--ink);color:var(--ink);font:inherit;font-size:19px;padding:10px 0;border-radius:0}
.ficha input:focus,.ficha select:focus{outline:none;border-bottom-color:var(--vinho)}
.ficha .btn{width:100%;margin-top:28px}
.ficha .nota{font-size:14px;color:var(--text-2);margin:14px 0 0}
.ficha .ok h3{color:var(--vinho)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- rodapé (vinho) ---------- */
.rod{background:var(--ink);color:var(--muted-dark);padding:72px 0 36px;font-size:16px}
.rod .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--line-dark)}
.rod img{height:52px;width:auto;margin-bottom:20px}
.rod h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--sol);margin:0 0 14px;font-weight:700}
.rod a{display:block;text-decoration:none;color:#fff;margin-bottom:8px}
.rod p a{display:inline}
.rod a:hover{color:var(--sol)}
.rod .base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;font-size:14px}
.rod .base a{display:inline;color:var(--muted-dark)}

/* ---------- whatsapp fixo ---------- */
.flo{position:fixed;right:16px;bottom:16px;z-index:40;height:58px;padding:0 18px 0 14px;background:#25D366;color:#fff;display:flex;align-items:center;gap:8px;box-shadow:0 10px 30px rgba(0,0,0,.2);text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.flo svg{width:28px;height:28px;fill:#fff}
.menu-open .flo{display:none}

/* ---------- blog ---------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.posts a{display:flex;flex-direction:column;gap:10px;padding:28px 26px;border:1.5px solid var(--ink);text-decoration:none;background:var(--paper);min-height:280px}
.posts a:hover{background:var(--sol);border-color:var(--sol)}
.posts .n{color:var(--vinho)}
.posts p{margin:0;color:var(--text-2);font-size:16px}
.posts .mais{margin-top:auto;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.h-artigo{font-size:clamp(32px,5vw,64px)}
.artigo{max-width:740px;margin:0 auto;padding:40px var(--pad) 40px}
.artigo p,.artigo li{font-size:19px;line-height:1.7}
.artigo .lead{font-family:var(--serif);font-size:24px;line-height:1.5;color:var(--ink);margin-bottom:36px}
.artigo h2{font-size:clamp(24px,3vw,34px);margin:52px 0 18px}
.artigo blockquote{margin:40px 0;padding:28px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);font-family:var(--serif);font-style:italic;font-size:clamp(24px,3vw,30px);line-height:1.3}
.artigo .cta{margin-top:56px;background:var(--sol);padding:32px 30px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}
.artigo .cta p{margin:0;font-size:17px}
.artigo .cta b{display:block;font-family:var(--display);font-stretch:125%;text-transform:uppercase;font-size:22px;margin-bottom:6px}
.artigo .cta .btn{background:var(--ink);border-color:var(--ink);color:var(--sol)}

/* ---------- bio ---------- */
.bio{max-width:520px;margin:0 auto;padding:40px 22px 72px}
.bio .logo{height:56px;margin:0 auto 24px}
.bio h1{font-size:28px;text-align:center;margin-bottom:28px}
.bio a.c{display:block;text-decoration:none;border:1.5px solid var(--ink);background:var(--paper);padding:20px 22px;margin-bottom:10px}
.bio a.c .n{color:var(--vinho)}
.bio a.c h3{font-size:20px;margin:6px 0 4px}
.bio a.c p{margin:0;font-size:15px;color:var(--text-2)}
.bio a.c.sol{background:var(--sol);border-color:var(--sol)}
.bio a.c.vinho{background:var(--vinho);border-color:var(--vinho);color:#fff}
.bio a.c.vinho .n{color:var(--sol)}.bio a.c.vinho p{color:var(--on-vinho)}
.bio .links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.bio .links a.full{grid-column:1/-1;background:#25D366;border-color:#25D366;color:#fff}

/* ---------- animação ---------- */
.hero h1 .w{display:inline-block;animation:sobe .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes sobe{from{opacity:0;transform:translateY(.35em)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hero h1 .w,.passo.ativo{animation:none}}

/* ---------- tablet ---------- */
@media(max-width:1000px){
  .precos{grid-template-columns:1fr 1fr}
  .duvidas{grid-template-columns:1fr 1fr}
  .duvidas>div:nth-child(n){padding:22px 22px 24px 0;border-left:0}
  .duvidas>div:nth-child(2n){padding-left:22px;border-left:1px solid var(--line)}
  .profs{grid-template-columns:1fr 1fr}
}

/* ---------- celular ---------- */
@media(max-width:760px){
  :root{--pad:20px;--topo:66px}
  body{font-size:18px}
  .lead{font-size:19px}
  .top .logo img{height:36px}
  .top .wrap{gap:10px}
  .s{padding:64px 0}
  .head{margin-bottom:28px}
  .duas{grid-template-columns:1fr;gap:32px}
  .grid,.g2,.g3{grid-template-columns:1fr}
  .grid>*{padding:22px 20px 24px}
  .hero .wrap{grid-template-columns:1fr;gap:26px;min-height:0;padding-top:34px;padding-bottom:20px}
  .hero h1{font-size:clamp(34px,10.4vw,48px)}
  .hero .lead{margin:18px 0 22px}
  .hero-foto{aspect-ratio:16/10;margin:0 calc(var(--pad) * -1)}
  .cabeca{padding:calc(var(--topo) + 40px) 0 44px}
  .cabeca.curta{padding-bottom:26px}
  .ritmos{grid-template-columns:1fr 1fr;gap:8px}
  .ritmo{min-height:170px;padding:16px 14px 18px}
  .ritmo .t{font-size:19px;font-stretch:108%;margin:18px 0 8px}
  .provas div{grid-template-columns:1fr;gap:4px;padding:16px 0}
  .provas b{font-size:28px}
  .top .logo img{height:40px}
  .ritmo .f{font-size:14px}
  .ritmo .seta{right:12px;top:12px;font-size:18px}
  .duvidas{grid-template-columns:1fr}
  .duvidas>div:nth-child(n){padding:18px 0;border-left:0}
  .duvidas h3{font-size:22px;margin-bottom:4px}
  .duvidas p{font-size:17px}
  .data-grande{font-size:110px}
  .achar{padding:22px 18px 16px;margin:0 calc(var(--pad) * -1);border-left:0;border-right:0}
  .turma{grid-template-columns:1fr auto;gap:6px 14px;padding:18px 0}
  .turma .niv{grid-column:1/-1}
  .turma b{font-size:19px}
  .turma .btn{padding:0 16px;font-size:12px}
  .grade{grid-template-columns:1fr}
  .grade .dia{padding:26px 20px}
  .grade .lin{grid-template-columns:66px 1fr;gap:12px}
  .grade .h,.grade b{font-size:17px}
  .precos,.precos:has(>div:nth-child(3):last-child){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .precos:has(>div:nth-child(3):last-child)>div:first-child{grid-column:1/-1}
  .precos>div{padding:18px 16px}
  .precos b{font-size:28px}
  .precos b small{font-size:13px}
  .precos p{font-size:14px}
  .ritmo-topo{padding-bottom:48px}
  .eventos{grid-template-columns:1fr;gap:8px}
  .evento{padding:24px 20px}
  .evento .n{margin-bottom:16px}
  .ev{grid-template-columns:1fr auto;gap:8px 16px;padding:20px 0}
  .ev>div:nth-child(2){grid-column:1/-1;grid-row:2}
  .ev .d{font-size:38px}
  .profs{grid-template-columns:1fr 1fr;gap:8px}
  .pfoto.vazio span{font-size:44px}
  .prof h3,.prof p{padding:0 14px}
  .prof h3{font-size:17px}
  .prof p{font-size:14px}
  .ficha{padding:24px 18px;margin:0 calc(var(--pad) * -1);border-left:0;border-right:0}
  .rod .cols{grid-template-columns:1fr 1fr}
  .rod .cols>div:first-child{grid-column:1/-1}
  .posts{grid-template-columns:1fr}
  .posts a{min-height:0}
  .flo{height:52px;right:12px;bottom:12px;padding:0 14px 0 12px}
  .flo span{display:none}
  .flo{width:52px;justify-content:center;padding:0}
}
@media(max-width:380px){.top .mini{display:none}}

/* ===================== v2.1: foto grande e blocos escuros ===================== */
:root{--line-dark:#4A443E;--muted-dark:#CFC6BA}
.top{transition:transform .35s,background .3s,border-color .3s}
.top .logo .claro{display:none}
.sobre-foto .top:not(.solid){background:transparent;backdrop-filter:none;border-color:transparent;color:var(--cream)}
.sobre-foto .top:not(.solid) .logo .escuro{display:none}
.sobre-foto .top:not(.solid) .logo .claro{display:block}
.sobre-foto .top:not(.solid) nav a:hover,.sobre-foto .top:not(.solid) nav a[aria-current]{color:var(--sol)}
.sobre-foto .top:not(.solid) .burger{border-color:var(--cream)}
.sobre-foto .top:not(.solid) .burger span{background:var(--cream)}
.menu-open .top{background:var(--cream)!important;color:var(--ink)!important;border-color:var(--line)!important}
.menu-open .top .logo .escuro{display:block!important}.menu-open .top .logo .claro{display:none!important}
.menu-open .top .burger{border-color:var(--ink)!important}.menu-open .top .burger span{background:var(--ink)!important}

.hero{position:relative;padding-top:0;min-height:100svh;display:flex;align-items:flex-end;color:var(--cream);background:var(--ink) center 30%/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(33,30,27,.6) 0%,rgba(33,30,27,.1) 34%,rgba(33,30,27,.55) 60%,rgba(33,30,27,.94) 100%)}
.hero .wrap{position:relative;display:block;width:100%;min-height:0;padding-top:140px;padding-bottom:56px}
.hero .eyebrow{color:var(--sol)}
.hero .eyebrow a{color:inherit}
.hero h1 .it{color:var(--sol)}
.hero .lead{color:#EAE2D6;margin:24px 0 30px}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.hero .btn-line{border-color:var(--cream);color:var(--cream)}
.hero .btn-line:hover{background:var(--cream);color:var(--ink)}
.hero .ganho{color:var(--cream);margin-bottom:30px}
.hero-ritmo{min-height:84svh}
.hero-ritmo h1{font-size:clamp(48px,9vw,120px)}
.fatos{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:1px solid rgba(245,240,234,.25)}
.fatos div{padding:20px 20px 0 0;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#EAE2D6}
.fatos div+div{padding-left:20px;border-left:1px solid rgba(245,240,234,.25)}
.fatos b{display:block;font-family:var(--display);font-stretch:125%;font-size:22px;letter-spacing:0;text-transform:uppercase;color:var(--cream);margin-bottom:4px}

.s.dark{background:var(--ink);color:var(--cream)}
.s.dark .eyebrow{color:var(--sol)}
.s.dark h2 .it,.s.dark .data-grande span{color:var(--sol)}
.s.dark .lead,.s.dark p,.s.dark .small{color:var(--muted-dark)}
.s.dark a:not(.btn){color:var(--cream)}
.s.dark .end,.s.dark .h-media{color:var(--cream)}
.dark .grid,.dark .grid>*{border-color:var(--line-dark)}
.dark .grid .n{color:var(--sol)}
.dark .grid p{color:var(--muted-dark)}
.dark .provas{border-color:var(--cream)}
.dark .provas div{border-color:var(--line-dark)}
.dark .provas b{color:var(--sol)}
.dark .provas span{color:var(--muted-dark)}
.dark .btn-line{border-color:var(--cream);color:var(--cream)}
.dark .btn-line:hover{background:var(--cream);color:var(--ink)}
.dark .ev{border-color:var(--line-dark)}

.grade .dia.escuro{background:var(--ink);color:var(--cream)}
.grade .escuro .lin{border-color:var(--line-dark)}
.grade .escuro small{color:var(--muted-dark)}
.grade .escuro .h{color:var(--sol)}
.grade .escuro h3{border-color:var(--sol)}

.turma{grid-template-columns:180px 1fr}
.aviso-sem{margin:26px 0 0;padding:18px 20px;background:var(--sol);font-weight:600;max-width:760px}
.achar .como{margin-top:20px;padding:18px 18px 16px;background:var(--sol)}
.achar .como b{display:block;font-family:var(--display);font-stretch:125%;text-transform:uppercase;font-size:18px;margin-bottom:6px}
.achar .como p{margin:0 0 8px;font-size:16px}
.achar .como p:last-child{margin:0}

.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1.5px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;font-family:var(--serif);font-size:clamp(20px,2.2vw,24px);font-weight:500;line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);font-size:28px;font-weight:300;color:var(--vinho);transition:transform .25s;flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--text-2);max-width:680px;margin:0 0 22px}

/* cards de ritmo */
.ritmo{flex-direction:row;align-items:flex-end;min-height:210px;padding:26px 24px;overflow:hidden}
.ritmo .txt{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;min-width:0}
.ritmo .t{margin:0 0 10px}
.ritmo .seta{z-index:1}
.c-ink{background-color:var(--ink);border-color:var(--ink);color:var(--cream)}
.ritmo.com-foto{color:#fff;border-color:var(--ink)}
.ritmo.com-foto .th{position:absolute;inset:0;background:center/cover no-repeat}
.ritmo.com-foto .th::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(33,30,27,0) 25%,rgba(33,30,27,.88))}

@media(max-width:760px){
  .hero{background-position:62% center}
  .hero .wrap{padding-top:110px;padding-bottom:30px}
  .hero h1{font-size:clamp(34px,10.4vw,48px)}
  .hero .lead{margin:18px 0 24px}
  .hero .cta .btn{flex:1 1 100%}
  .hero-ritmo{min-height:78svh}
  .hero-ritmo h1{font-size:clamp(38px,11vw,60px);font-stretch:112%}
  .hero .ganho{font-size:24px}
  .fatos{margin-top:30px}
  .fatos div{font-size:10px;letter-spacing:.1em;padding:14px 8px 0 0}
  .fatos div+div{padding-left:10px}
  .fatos b{font-size:14px}
  .ritmos{grid-template-columns:1fr;gap:8px}
  .ritmo{min-height:0;align-items:center;padding:20px 58px 20px 20px}
  .ritmo .t{font-size:23px;font-stretch:118%;margin:0 0 4px}
  .ritmo .f{font-size:15px;max-width:none}
  .ritmo .seta{top:50%;right:20px;transform:translateY(-50%);font-size:26px}
  .ritmo.com-foto{padding-left:104px;min-height:96px}
  .ritmo.com-foto .th{inset:0 auto 0 0;width:88px}
  .ritmo.com-foto .th::after{display:none}
  .ritmo.com-foto{background:var(--ink);color:var(--cream)}
  .turma{grid-template-columns:1fr}
  .faq summary{font-size:20px;padding:18px 0}
}

/* ===================== v2.2: uma fonte só, sem riscos, profundidade ===================== */
:root{--sombra:6px 6px 0 var(--vinho);--sombra-sol:6px 6px 0 var(--sol);--sombra-ink:6px 6px 0 var(--ink)}
.it,h1 .it,h2 .it,.hero h1 .it,.s.dark h2 .it{font-family:inherit;font-style:normal;font-weight:inherit;font-stretch:inherit;text-transform:inherit;letter-spacing:inherit}
h1 .it,h2 .it{color:var(--vinho)}
.hero h1 .it,.s.dark h2 .it{color:var(--sol)}
.ganho,.hero .ganho{font-family:var(--sans);font-style:normal;font-weight:500;font-size:clamp(22px,2.6vw,30px);line-height:1.3;max-width:34ch}
.data-grande span{font-family:var(--sans);font-style:normal;font-weight:800;text-transform:uppercase;font-size:.3em;letter-spacing:.08em}
.end{font-family:var(--sans);font-weight:600;font-size:clamp(21px,2.2vw,26px)}
.duvidas h3{font-family:var(--display);font-stretch:112%;font-weight:800;text-transform:uppercase;font-size:20px}
.faq summary{font-family:var(--sans);font-weight:700;font-size:19px}
.ficha h3,.achar .q{font-family:var(--display)}
.bio h1 .it{font:inherit;color:var(--vinho)}

/* sem riscos soltos */
.eyebrow::before{display:none}
.eyebrow{gap:10px}
.provas,.provas div,.turmas,.turma,.duvidas,.duvidas>div,.faq details,.faq details:first-child,.checks li,.tres dt,.ev,.ev:first-child,.fatos,.fatos div+div,.achar-topo,.achar-pe{border:0}
.duvidas>div:nth-child(n){border-left:0;padding-left:0}
.duvidas{gap:8px 28px}
.duvidas>div{padding:14px 0}
.duvidas p{margin-top:4px}
.turma{padding:14px 0}
.turma b{font-size:21px}
.faq details{background:var(--paper);border:1.5px solid var(--ink);margin-bottom:8px;padding:0 18px}
.faq details[open]{box-shadow:var(--sombra-sol)}
.faq details p{padding-bottom:4px}
.provas div{padding:12px 0}
.ev{padding:16px 0}
.fatos{gap:10px;margin-top:40px}
.fatos div,.fatos div+div{padding:14px 16px;border:1.5px solid rgba(245,240,234,.5);background:rgba(33,30,27,.45);backdrop-filter:blur(4px)}
.achar-topo{padding-bottom:8px;margin-bottom:16px}
.achar-pe{padding-top:12px}
.top{border-bottom:0;box-shadow:0 1px 0 rgba(33,30,27,.08)}
.sobre-foto .top:not(.solid){box-shadow:none}

/* profundidade: sombra dura, quadrada */
.btn{box-shadow:4px 4px 0 var(--ink);transition:transform .15s,box-shadow .15s,background .2s,color .2s}
.btn-sol,.btn-line{box-shadow:4px 4px 0 var(--ink)}
.btn:not(.btn-sol):not(.btn-line){box-shadow:4px 4px 0 var(--vinho)}
.hero .btn,.dark .btn,.rod .btn,.s.dark .btn{box-shadow:4px 4px 0 var(--sol)}
.hero .btn-sol,.dark .btn-sol{box-shadow:4px 4px 0 var(--cream)}
.btn:hover,.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}
.hero .btn:hover,.dark .btn:hover{box-shadow:1px 1px 0 var(--sol)}
.top .btn,.mob .btn{box-shadow:3px 3px 0 var(--ink)}
.sobre-foto .top:not(.solid) .btn{box-shadow:3px 3px 0 var(--cream)}
.btn.mini{box-shadow:3px 3px 0 var(--ink)}
.flo{box-shadow:4px 4px 0 var(--ink)}

.grid{border:0;gap:14px}
.grid>*{border:1.5px solid var(--ink);background:var(--paper);box-shadow:var(--sombra)}
.dark .grid>*{background:var(--ink-2);border-color:var(--cream);box-shadow:var(--sombra-sol)}
.dark .grid>* h3{color:var(--cream)}
.ritmo{box-shadow:var(--sombra-ink);transition:transform .15s,box-shadow .15s}
.ritmo.c-vinho,.ritmo.c-ink{box-shadow:var(--sombra-sol)}
.ritmo:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
.ritmo.c-vinho:hover,.ritmo.c-ink:hover{box-shadow:2px 2px 0 var(--sol)}
.precos>div{box-shadow:var(--sombra)}
.precos .destaque{box-shadow:var(--sombra-ink)}
.achar,.ficha,.evento,.prof,.grade{box-shadow:var(--sombra)}
.evento:first-child{box-shadow:var(--sombra-ink)}
.grade{border:0;gap:14px;box-shadow:none}
.grade .dia{border:1.5px solid var(--ink);box-shadow:var(--sombra)}
.grade .dia.escuro{box-shadow:var(--sombra-sol)}
.grade h3{border-bottom:0;padding-bottom:0}
.foto,.media,.hero-foto{box-shadow:10px 10px 0 var(--sol)}
.dark .foto,.dark .media{box-shadow:10px 10px 0 var(--vinho)}
.atalhos a{box-shadow:3px 3px 0 var(--ink)}
.atalhos a:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.op{box-shadow:3px 3px 0 var(--ink)}
.op:hover,.op:focus-visible{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.bio a.c{box-shadow:var(--sombra)}
.bio a.c.sol{box-shadow:var(--sombra-ink)}
.bio a.c.vinho{box-shadow:var(--sombra-sol)}

/* espaço pra sombra não cortar na borda */
.ritmos,.grid,.precos,.grade,.profs,.eventos,.posts{padding-right:8px;padding-bottom:8px}
@media(max-width:760px){
  :root{--sombra:5px 5px 0 var(--vinho);--sombra-sol:5px 5px 0 var(--sol);--sombra-ink:5px 5px 0 var(--ink)}
  .achar,.ficha{margin:0;border:1.5px solid var(--ink)}
  .hero-foto{margin:0;box-shadow:8px 8px 0 var(--sol)}
  .grade .dia{padding:22px 18px}
  .duvidas h3{font-size:18px}
  .ganho,.hero .ganho{font-size:20px}
  .hero h1{font-size:clamp(30px,9vw,42px);font-stretch:112%;overflow-wrap:anywhere}
  h1{overflow-wrap:anywhere}
}

/* ===================== v2.3: movimento ===================== */
.faixa{overflow:hidden;background:var(--sol);color:var(--ink);padding:14px 0;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}
.faixa-in{display:inline-flex;white-space:nowrap;animation:corre 40s linear infinite;will-change:transform}
.faixa span{font-family:var(--display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:20px;letter-spacing:.02em;padding:0 22px;position:relative}
.faixa span::after{content:"";position:absolute;right:-6px;top:50%;width:10px;height:10px;background:var(--vinho);transform:translateY(-50%) rotate(45deg)}
@keyframes corre{to{transform:translateX(-33.333%)}}
.hero h1 .it .w{animation:sobe .8s cubic-bezier(.2,.7,.2,1) both,ginga 4.2s ease-in-out 1.4s infinite}
@keyframes ginga{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-3px) rotate(-1deg)}70%{transform:translateY(2px) rotate(1deg)}}
html.js .mv{opacity:0;transform:translate(-16px,20px) rotate(-1.5deg);transition:opacity .55s ease,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
html.js .mv.par{transform:translate(16px,20px) rotate(1.5deg)}
html.js .mv.in{opacity:1;transform:none}
.flo{animation:chama 9s ease-in-out 6s infinite}
@keyframes chama{0%,88%,100%{transform:none}91%{transform:translateY(-6px) rotate(-4deg)}94%{transform:translateY(0) rotate(3deg)}97%{transform:translateY(-3px) rotate(-2deg)}}
@media(prefers-reduced-motion:reduce){.faixa-in,.flo,.hero h1 .it .w{animation:none}html.js .mv{opacity:1;transform:none;transition:none}}
@media(max-width:760px){.faixa span{font-size:16px;padding:0 16px}.faixa{padding:10px 0}}

/* ===================== v2.4: menos cor. Cor só de detalhe ===================== */
:root{--sombra:5px 5px 0 var(--ink);--sombra-sol:5px 5px 0 var(--ink);--sombra-ink:5px 5px 0 var(--ink)}
.btn:not(.btn-sol):not(.btn-line),.btn-line,.btn-sol,.top .btn,.mob .btn,.btn.mini,.atalhos a,.op,.flo{box-shadow:4px 4px 0 var(--ink)}
.hero .btn,.dark .btn,.s.dark .btn,.hero .btn-sol,.dark .btn-sol,.sobre-foto .top:not(.solid) .btn{box-shadow:4px 4px 0 rgba(245,240,234,.9)}
.btn:hover,.btn:active{box-shadow:1px 1px 0 var(--ink)}
.hero .btn:hover,.dark .btn:hover{box-shadow:1px 1px 0 var(--cream)}
.dark .grid>*{background:transparent;border-color:rgba(245,240,234,.6);box-shadow:none}
.dark .grid .n{color:var(--sol)}
.grid>*{box-shadow:var(--sombra)}
.ritmo,.ritmo.c-vinho,.ritmo.c-sol,.ritmo.c-ink,.ritmo.c-papel{background-color:var(--paper);color:var(--ink);border-color:var(--ink);box-shadow:var(--sombra)}
.ritmo .n{color:var(--vinho);opacity:1}
.ritmo .f{color:var(--text-2)}
.ritmo::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--vinho)}
.ritmo.c-sol::before{background:var(--sol)}
.ritmo.c-ink::before{background:var(--ink)}
.ritmo.c-papel::before{background:#2F7A4D}
.ritmo:hover{box-shadow:2px 2px 0 var(--ink)}
.ritmo.c-vinho:hover,.ritmo.c-ink:hover{box-shadow:2px 2px 0 var(--ink)}
.precos>div,.precos .destaque{background:var(--paper);box-shadow:var(--sombra)}
.precos .destaque{border-color:var(--vinho);border-width:2px}
.precos .destaque .rot{color:var(--vinho)}
.grade .dia.escuro{background:var(--paper);color:var(--ink);box-shadow:var(--sombra)}
.grade .escuro .h{color:var(--vinho)}
.grade .escuro small{color:var(--text-2)}
.grade .escuro .lin{border-color:var(--line)}
.grade .escuro h3{border-color:var(--ink)}
.grade .dia{box-shadow:var(--sombra)}
.evento,.evento:first-child{background:var(--paper);border-color:var(--ink);box-shadow:var(--sombra)}
.evento:first-child p{color:var(--text-2)}
.achar,.ficha,.prof,.bio a.c,.bio a.c.sol,.bio a.c.vinho{box-shadow:var(--sombra)}
.bio a.c.sol{background:var(--paper);border-color:var(--ink)}
.bio a.c.vinho{background:var(--ink)}
.achar .como{background:var(--paper);border:1.5px solid var(--ink)}
.faq details[open]{box-shadow:var(--sombra)}
.foto,.media,.hero-foto{box-shadow:8px 8px 0 var(--ink)}
.dark .foto,.dark .media{box-shadow:8px 8px 0 rgba(245,240,234,.5)}
.faixa{background:var(--paper);color:var(--ink);border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}
.faixa span::after{background:var(--vinho)}
.s.sol{background:var(--paper)}
.dark .provas b{color:var(--sol)}
.duvidas h3{color:var(--ink)}
.pfoto.vazio{background:var(--areia)}
.pfoto.vazio span{color:var(--vinho)}
.top nav .btn,.top .mini,.mob .btn{background:var(--sol);border-color:var(--ink)}
@media(max-width:760px){
  :root{--sombra:4px 4px 0 var(--ink);--sombra-sol:4px 4px 0 var(--ink);--sombra-ink:4px 4px 0 var(--ink)}
  .ritmo.com-foto{background:var(--paper);color:var(--ink)}
}
.grade .h{color:var(--vinho)}

/* ===================== v2.5: home mais limpa ===================== */
.hero-home h1{font-size:clamp(34px,4.4vw,62px);max-width:17ch;line-height:1.02}
.hero-home h1 .it{white-space:nowrap}
.calma h2{font-size:clamp(28px,3vw,40px)}
.calma .head{margin-bottom:32px}
.s.calma{padding:88px 0}
.hero-home .cta{margin-top:34px}
.ritmos.curtos .ritmo{min-height:0;align-items:center;padding:24px 56px 24px 26px}
.ritmos.curtos .ritmo .t{margin:0;font-size:clamp(20px,1.9vw,24px)}
.ritmos.curtos .ritmo .seta{top:50%;right:22px;transform:translateY(-50%)}
#duvidas .faq{max-width:760px}
@media(max-width:760px){
  .hero-home h1{font-size:clamp(30px,8.4vw,38px)}
  .hero-home .cta{margin-top:24px}
  .hero-home .cta .btn,.calma .btn{letter-spacing:.06em;padding:0 16px}
  .calma h2{font-size:28px}
  .s.calma{padding:56px 0}
  .ritmos.curtos{grid-template-columns:1fr 1fr}
  .ritmos.curtos .ritmo{padding:18px 36px 18px 18px}
  .ritmos.curtos .ritmo .t{font-size:16px;font-stretch:110%}
  .ritmos.curtos .ritmo .seta{right:12px;font-size:20px}
}

/* ===================== v3: mais leve e elegante (Fraunces nos títulos) ===================== */
h1,h2,.calma h2{font-family:'Fraunces',Georgia,serif;font-weight:400;text-transform:none;font-stretch:100%;letter-spacing:-.02em;line-height:1.04}
h1 .it,h2 .it,.hero h1 .it,.s.dark h2 .it,.hero-home h1 .it{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;text-transform:none;font-stretch:100%;letter-spacing:-.01em}
.hero-home h1{font-size:clamp(44px,5.4vw,80px);max-width:14ch}
.calma h2{font-size:clamp(34px,3.6vw,48px)}
.fatos b{font-family:'Fraunces',Georgia,serif;font-weight:400;text-transform:none;font-stretch:100%;font-size:24px}
.fatos div,.fatos div+div{border-width:1px;border-color:rgba(245,240,234,.35);background:rgba(33,30,27,.35)}
.btn,.btn-sol,.btn-line,.hero .btn,.dark .btn,.s.dark .btn,.hero .btn-sol,.dark .btn-sol,.top .btn,.mob .btn{box-shadow:none;border-width:1px}
.btn:hover,.hero .btn:hover,.dark .btn:hover{transform:none;box-shadow:none;opacity:.9}
.faixa{border-width:1px}
.faixa span{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;text-transform:none;font-stretch:100%;font-size:24px;letter-spacing:0}
.faixa span::after{width:6px;height:6px}
.ritmos.curtos .ritmo{border-width:1px;box-shadow:4px 4px 0 var(--ink)}
.ritmos.curtos .ritmo .t{font-family:'Fraunces',Georgia,serif;font-weight:400;text-transform:none;font-stretch:100%;font-size:clamp(22px,2vw,28px);letter-spacing:-.01em;line-height:1.1}
.ritmo::before{width:5px}
.faq details{border-width:1px}
.end{font-family:'Fraunces',Georgia,serif;font-weight:400}
@media(max-width:760px){
  .hero-home h1{font-size:clamp(40px,11vw,48px)}
  .calma h2{font-size:34px}
  .fatos b{font-size:18px}
  .ritmos.curtos .ritmo .t{font-size:20px;font-stretch:100%}
  .faixa span{font-size:20px}
}
.btn.btn.btn{box-shadow:none}
.hero-ritmo h1{font-size:clamp(52px,7vw,96px)}
.hero-ritmo .ganho{font-family:var(--sans);font-size:clamp(18px,1.8vw,22px);max-width:36ch}
#duvidas .faq{max-width:760px}
@media(max-width:760px){.hero-ritmo h1{font-size:clamp(44px,13vw,56px)}.hero-ritmo .ganho{font-size:17px}}
.grid h3,.turma b,.grade b,.grade h3,.precos b,.evento h3,.ev h3,.prof h3,.ficha h3,.achar .q,.duvidas h3,.ev .d{font-family:'Fraunces',Georgia,serif;font-weight:400;text-transform:none;font-stretch:100%;letter-spacing:-.01em}
.grid h3{font-size:24px;line-height:1.15}
.turma b,.grade b{font-size:22px;line-height:1.2}
.grade h3{font-size:28px}
.precos b{font-size:46px}
@media(max-width:760px){.grid h3{font-size:21px}.turma b,.grade b{font-size:19px}.precos b{font-size:38px}}
.top .btn,.mob .btn{box-shadow:none!important}

/* ===================== v3.1: página de cada dança ===================== */
.topo-ritmo{padding:calc(var(--topo) + 64px) 0 80px;background:var(--cream)}
.topo-ritmo .duas{align-items:center}
.topo-ritmo .volta{margin:0 0 28px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.topo-ritmo .volta a{text-decoration:none;color:var(--text-2)}
.topo-ritmo .volta a::before{content:"← "}
.topo-ritmo .marca{display:block;width:56px;height:6px;background:var(--vinho);margin-bottom:22px}
.topo-ritmo.c-sol .marca{background:var(--sol)}
.topo-ritmo.c-ink .marca{background:var(--ink)}
.topo-ritmo.c-papel .marca{background:#2F7A4D}
.topo-ritmo h1{font-size:clamp(56px,8vw,112px);line-height:.98}
.topo-ritmo .lead{max-width:34ch;margin:24px 0 0;font-size:clamp(19px,1.8vw,23px);color:var(--text-2)}
.topo-ritmo .cta{margin-top:36px}
.topo-ritmo .btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.lista3{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.lista3>div{border-top:1px solid var(--ink);padding-top:20px}
.lista3 h3{font-family:'Fraunces',Georgia,serif;font-weight:400;text-transform:none;font-stretch:100%;font-size:26px;letter-spacing:-.01em;margin:0 0 8px}
.lista3 p{margin:0;color:var(--text-2)}
.niveis{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;padding:0 8px 8px 0}
.nivel{border:1px solid var(--ink);background:var(--paper);padding:30px 28px 22px;box-shadow:var(--sombra)}
.nivel h3{font-family:'Fraunces',Georgia,serif;font-weight:400;text-transform:none;font-stretch:100%;font-size:32px;letter-spacing:-.01em;margin:0}
.nivel .quem{margin:6px 0 18px;color:var(--vinho);font-weight:600}
.nivel .hor>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.nivel .hor b{font-weight:600}
.nivel .hor span{color:var(--text-2);text-align:right}
.outras{margin-top:56px;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:baseline;font-size:15px}
.outras span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sol);width:100%}
.outras a{color:var(--cream)}
@media(max-width:760px){
  .topo-ritmo{padding:calc(var(--topo) + 36px) 0 56px}
  .topo-ritmo h1{font-size:clamp(48px,14vw,64px)}
  .topo-ritmo .cta .btn{flex:1 1 100%;letter-spacing:.06em}
  .lista3{grid-template-columns:1fr;gap:22px}
  .nivel{padding:24px 20px 16px}
  .nivel h3{font-size:28px}
}
.topo-ritmo .cta{display:flex;flex-wrap:wrap;gap:12px}
.topo-ritmo.topo-ritmo{background-color:var(--cream);color:var(--ink);border:0}
