/* Claufisio · um corpo só atravessa a página.
   Camadas: fundo das seções (rola) < cena 3D fixa < textos e botões. */
:root{
  --aveia:#F5F0E8; --linho:#E7E0D0; --areia:#EDE3D1; --folha:#5A6E53; --carvao:#26302A; --primavera:#BFC4A3; --sage:#D9DDC6;
  --tinta:#26302A; --suave:#66705F; --ambar:#F2A33A; --luz:#7BEA8E;
  --serif:"Lora",Georgia,serif; --sans:"Manrope",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
  --gutter:max(16px,env(safe-area-inset-left,0px)); --gutterR:max(16px,env(safe-area-inset-right,0px));
  color-scheme:light;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{background:var(--aveia);color:var(--tinta);font:16px/1.6 var(--sans);overflow-x:hidden}
img{max-width:100%;display:block}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit}
:focus-visible{outline:2px solid var(--ambar);outline-offset:3px}

/* ---------- cena 3D fixa ---------- */
#cena{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.carregando{position:fixed;left:50%;top:58%;z-index:3;width:120px;height:2px;margin-left:-60px;background:rgba(38,48,42,.12);overflow:hidden;transition:opacity .6s}
.carregando span{position:absolute;inset:0;background:var(--folha);animation:carrega 1.3s ease-in-out infinite}
@keyframes carrega{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.pronto .carregando,.sem3d .carregando{opacity:0}

/* ---------- seções com corpo: altas, com o texto preso no alto ---------- */
.ato{position:relative;min-height:var(--h);background:var(--bg)}
.ato.escuro{color:#F5F0E8}
.fixo{position:sticky;top:0;height:100vh;height:100svh;z-index:2;pointer-events:none;padding-inline:var(--gutter) var(--gutterR)}
.tit{position:absolute;left:0;right:0;top:clamp(92px,13vh,140px);text-align:center;padding-inline:var(--gutter) var(--gutterR);pointer-events:auto}
.tit small,.olho{display:block;font:500 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--folha);margin-bottom:14px}
.escuro .tit small{color:var(--primavera)}
.tit h1,.tit h2{font:600 clamp(36px,5.4vw,76px)/1.02 var(--serif);letter-spacing:-.025em;text-wrap:balance}
.tit p{max-width:44ch;margin:14px auto 0;color:var(--suave);font-size:clamp(15px,1.2vw,17px)}
.escuro .tit p{color:rgba(245,240,232,.75)}
.tit.esq{text-align:left;right:auto;width:min(440px,40vw);left:max(56px,6vw)}
.tit.esq p{margin-left:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}
.tit.esq .chips{justify-content:flex-start}
.chips span,.chips button{font:700 13px/1 var(--sans);padding:9px 15px;border-radius:99px;border:1.5px solid currentColor;opacity:.85}
.chips .a{background:var(--tinta);color:var(--aveia);border-color:var(--tinta);opacity:1}
.escuro .chips .a{background:var(--luz);color:var(--carvao);border-color:var(--luz)}
.chips button:hover{opacity:1}
.tit .bt{margin-top:22px}
.gig{position:sticky;top:calc(100vh - 17vw);margin-top:-17vw;height:17vw;z-index:0;text-align:center;font:700 19vw/.8 var(--serif);letter-spacing:-.05em;
  color:color-mix(in srgb,var(--bg) 88%,#000);white-space:nowrap;overflow:hidden;pointer-events:none}
.escuro .gig{color:color-mix(in srgb,var(--bg) 88%,#fff)}
.dica{position:absolute;left:50%;top:calc(100vh - 86px);transform:translateX(-50%);z-index:2;font:500 11px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--suave)}
.dica::after{content:"";display:block;width:1px;height:28px;margin:10px auto 0;background:currentColor;animation:dica 1.8s ease-in-out infinite;transform-origin:top}
@keyframes dica{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(0);transform-origin:bottom}}

/* texto entra palavra por palavra */
.revela span{display:inline-block;transform:translateY(.35em);opacity:.0;filter:blur(6px);transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .9s,filter .9s;transition-delay:calc(var(--i) * 70ms)}
.revela.visto span{transform:none;opacity:1;filter:none}

/* ---------- navegação ---------- */
.nav{position:fixed;z-index:20;left:0;right:0;margin-inline:auto;width:max-content;top:max(14px,env(safe-area-inset-top,0px));display:flex;align-items:center;gap:22px;
  padding:7px 7px 7px 14px;border-radius:99px;background:rgba(255,255,255,.55);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);
  border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 30px -14px rgba(38,48,42,.35);font:700 13.5px var(--sans);color:var(--tinta);max-width:calc(100vw - 32px)}
.nav .marca{display:flex;align-items:center;gap:8px;text-decoration:none;font:600 17px var(--serif)}
.nav .marca img{width:28px;height:28px;object-fit:contain}
.nav .links{display:flex;gap:18px}
.nav .links a{text-decoration:none;opacity:.75}
.nav .links a:hover{opacity:1}
.nav .agendar{text-decoration:none;background:var(--carvao);color:#F5F0E8;padding:10px 16px;border-radius:99px}
.hamb{display:none;width:40px;height:40px;border-radius:50%;background:var(--carvao);position:relative}
.hamb i{position:absolute;left:12px;right:12px;height:2px;background:#F5F0E8;border-radius:2px}
.hamb i:first-child{top:16px}.hamb i:last-child{top:22px}
#menu{position:fixed;inset:0;z-index:30;background:var(--carvao);color:#F5F0E8;display:grid;grid-template-columns:1.2fr 1fr;gap:6vw;
  padding:max(96px,12vh) var(--gutterR) 6vh var(--gutter);padding-left:max(var(--gutter),6vw);padding-right:max(var(--gutterR),6vw);
  clip-path:inset(0 0 100% 0);transition:clip-path .7s cubic-bezier(.7,0,.2,1);pointer-events:none}
.menu-aberto #menu{clip-path:inset(0);pointer-events:auto}
#menu ul{list-style:none;display:grid;gap:6px;align-content:start}
#menu li a{text-decoration:none;font:600 clamp(34px,5vw,64px)/1.1 var(--serif);letter-spacing:-.02em}
#menu li small{font:500 12px var(--mono);color:var(--primavera);margin-right:16px;vertical-align:.9em}
#menu .mfoto{position:relative;border-radius:18px;overflow:hidden;align-self:stretch}
#menu .mfoto img{width:100%;height:100%;object-fit:cover}
#menu .mfoto span{position:absolute;left:16px;bottom:14px;font:600 16px var(--serif);text-shadow:0 1px 8px rgba(0,0,0,.6)}
#menu .fecha{position:absolute;right:max(var(--gutterR),3vw);top:max(22px,env(safe-area-inset-top,0px));border:1px solid rgba(255,255,255,.4);border-radius:99px;padding:9px 18px;font-weight:700}
.pontos{position:fixed;z-index:20;left:max(18px,env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;mix-blend-mode:difference}
.pontos a{width:7px;height:7px;border-radius:9px;background:#fff;opacity:.4;transition:height .5s,opacity .5s}
.pontos a.a{height:26px;opacity:1}
.selo{position:fixed;z-index:20;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));width:104px;height:104px;color:var(--tinta);text-decoration:none}
.selo .giro{position:absolute;inset:0;width:100%;height:100%;animation:gira 16s linear infinite}
.selo text{font:500 9.3px var(--mono);letter-spacing:2.5px;fill:currentColor}
.selo span{position:absolute;inset:29%;border-radius:50%;background:var(--carvao);color:#F5F0E8;display:grid;place-items:center;transition:transform .4s}
.selo span svg{width:46%;height:46%}
.selo:hover span{transform:scale(1.08)}
body.escuro-ativo .selo{color:#F5F0E8}
body.escuro-ativo .selo span{background:var(--ambar);color:var(--carvao)}
@keyframes gira{to{transform:rotate(360deg)}}

/* ---------- botões ---------- */
.bt{display:inline-flex;align-items:center;gap:4px;font:800 15px/1 var(--sans);color:var(--carvao);text-decoration:none;white-space:nowrap;pointer-events:auto}
.bt span{background:var(--ambar);padding:15px 22px;border-radius:99px;transition:padding .45s cubic-bezier(.2,.8,.2,1)}
.bt i{width:46px;height:46px;border-radius:50%;background:var(--ambar);display:grid;place-items:center;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.bt i svg{width:17px;height:17px}
.bt:hover span{padding-inline:28px}
.bt:hover i{transform:rotate(-45deg)}
.bt.esc{color:#F5F0E8}
.bt.esc span,.bt.esc i{background:var(--carvao)}
.bt2{display:inline-flex;align-items:center;font:700 15px/1 var(--sans);padding:15px 22px;border-radius:99px;border:1.5px solid currentColor;text-decoration:none;white-space:nowrap}
.adesivo{display:inline-block;font:800 15px/1 var(--sans);color:var(--carvao);background:var(--primavera);border:2px solid var(--carvao);border-radius:9px;padding:11px 17px;
  box-shadow:4px 4px 0 var(--carvao);transform:rotate(-6deg);transition:transform .35s,box-shadow .35s;text-decoration:none;white-space:nowrap}
.adesivo:hover{transform:rotate(0) translate(-2px,-2px);box-shadow:6px 6px 0 var(--carvao)}

/* ---------- pontos de dor, cartão, etiqueta da vértebra, lente ---------- */
.ponto{position:fixed;left:-9px;top:-9px;z-index:4;width:18px;height:18px;border-radius:50%;background:var(--ambar);box-shadow:0 0 0 7px rgba(242,163,58,.28);opacity:0;transition:opacity .3s;animation:pulsa 2.2s ease-in-out infinite}
@keyframes pulsa{50%{box-shadow:0 0 0 12px rgba(242,163,58,.12)}}
.cartao-dor{position:fixed;z-index:6;right:max(24px,6vw);top:50%;transform:translateY(-50%);width:min(340px,calc(100vw - 32px));background:#fff;border-radius:18px;padding:22px 22px 20px;box-shadow:0 30px 60px -30px rgba(38,48,42,.5)}
.cartao-dor b{display:block;font:600 26px var(--serif);margin-bottom:8px}
.cartao-dor p{font-size:14.5px;color:var(--suave);margin-bottom:8px}
.cartao-dor p strong{color:var(--tinta)}
.cartao-dor .bt{margin-top:8px;font-size:14px}
.cartao-dor .x{position:absolute;right:12px;top:8px;font-size:24px;line-height:1;opacity:.5}
.etq{position:fixed;left:0;top:0;z-index:4;font:500 11.5px var(--mono);letter-spacing:.06em;background:rgba(255,255,255,.94);color:var(--tinta);padding:7px 10px;border-radius:7px;box-shadow:0 6px 18px rgba(0,0,0,.1);white-space:nowrap;opacity:0;pointer-events:none}
#lente{position:fixed;left:-95px;top:-95px;width:190px;height:190px;border-radius:50%;z-index:3;pointer-events:none;opacity:0;
  border:3px solid #fff;box-shadow:0 0 0 4px rgba(38,48,42,.18),0 20px 50px rgba(0,0,0,.25),inset 0 0 40px rgba(20,40,34,.35)}
@media (max-width:760px), (max-aspect-ratio:4/5) and (max-width:1100px){#lente{left:-70px;top:-70px;width:140px;height:140px}}

/* ---------- blocos de conteúdo ---------- */
.bloco{position:relative;z-index:2;background:var(--bg);padding-block:clamp(80px,12vh,150px);padding-inline:var(--gutter) var(--gutterR)}
.caixa{max-width:1180px;margin:0 auto}
.bloco h2{font:600 clamp(32px,4.4vw,60px)/1.05 var(--serif);letter-spacing:-.025em;text-wrap:balance}
.centro{text-align:center}
.planos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px;align-items:end;max-width:60%}
.planos article{background:#fff;border:1px solid #E4DCCB;border-radius:22px;padding:26px;display:grid;gap:12px;align-content:start;color:var(--suave);font-size:15px}
.planos article.dest{background:var(--carvao);color:rgba(245,240,232,.75);border-color:var(--carvao);transform:translateY(-22px)}
.planos i{font:500 12px var(--mono);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--folha)}
.planos .dest i{color:var(--luz)}
.planos strong{font:600 32px/1.05 var(--serif);color:var(--tinta)}
.planos .dest strong{color:#F5F0E8}
.planos .bt{justify-self:start;font-size:14px}
.planos .bt span{padding:13px 18px}.planos .bt i{width:42px;height:42px}
.mosaico{position:relative;margin-top:90px;aspect-ratio:16/8;border-radius:22px;overflow:hidden}
.tiles{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,1fr);gap:6px}
.tiles i{background:var(--c) center/contain no-repeat;display:block}
.mosaico .cartao{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 32px));background:#fff;border-radius:18px;padding:clamp(26px,4vw,44px);text-align:center;box-shadow:0 30px 70px -30px rgba(0,0,0,.5)}
.mosaico em{display:block;font:italic 500 19px var(--serif);color:#B7651E;margin-bottom:10px}
.mosaico b{display:block;font:600 clamp(26px,3vw,40px)/1.08 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.mosaico p{color:var(--suave);margin:12px auto 22px;max-width:40ch;font-size:15px}
.mosaico .furo{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--sage)}
.furo.e{left:14px}.furo.d{right:14px}
.cuida .caixa{display:grid;justify-items:center;text-align:center;gap:24px}
.cuida .grande{font:700 clamp(40px,6.4vw,92px)/.95 var(--serif);text-transform:uppercase;letter-spacing:-.03em;max-width:14ch}
.foto-dra{position:relative;width:min(340px,70vw);aspect-ratio:3/4;border-radius:20px;background:#DCD5C6}
.foto-dra img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;border-radius:20px;display:block}
.foto-dra .adesivo{position:absolute;right:-40px;top:40px;letter-spacing:0;text-transform:none}
.sob{max-width:52ch;color:var(--suave)}
.depos{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:44px}
.depos blockquote{background:#fff;border-radius:16px;padding:22px 24px;width:min(330px,100%);font:500 18px/1.45 var(--serif);transform:rotate(var(--r));box-shadow:0 20px 40px -24px rgba(38,48,42,.4)}
.depos cite{display:block;font:600 13px var(--sans);color:var(--suave);font-style:normal;margin-top:12px}
.brilho{margin-top:90px;border-radius:22px;aspect-ratio:16/6;background:radial-gradient(70% 90% at 50% 110%,#26302A 0,#3D5141 35%,#7E9673 62%,#D9DDC6 82%,#F5F0E8 100%);display:grid;place-content:center;justify-items:center;gap:22px;text-align:center}
.brilho b{font:600 clamp(32px,5vw,72px)/1 var(--serif);letter-spacing:-.03em}
.final{padding:clamp(16px,2.4vw,32px)}
.c-foto{position:relative;border-radius:24px;overflow:hidden;min-height:min(86vh,760px);display:grid}
.c-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(var(--zoom,1.12));transition:transform .2s linear}
.c-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,10,.45),rgba(8,12,10,.82))}
.c-foto div{position:relative;z-index:1;display:grid;place-content:center;justify-items:center;text-align:center;gap:20px;color:#F5F0E8;padding:12vh 6vw}
.c-foto b{font:600 clamp(40px,6.6vw,96px)/1 var(--serif);letter-spacing:-.03em;text-wrap:balance;max-width:14ch}
.c-foto p{opacity:.86}
.acoes{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}

/* ---------- rodapé ---------- */
.ft{position:relative;z-index:2;background:var(--folha);color:#F5F0E8;border-radius:clamp(60px,10vw,150px) clamp(20px,2.6vw,40px) 0 0;overflow:hidden;
  margin-top:clamp(16px,2.4vw,32px);padding:clamp(40px,5.2vw,80px) max(var(--gutterR),5vw) 0 max(var(--gutter),5vw);font-size:15px}
.ft-top{display:grid;grid-template-columns:1.2fr 1fr;gap:5vw;align-items:end;padding-bottom:40px;border-bottom:1px solid rgba(245,240,232,.22)}
.ft-top small{display:block;font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--primavera);margin-bottom:16px}
.ft-top h4{font:600 clamp(36px,4.7vw,70px)/1.02 var(--serif);letter-spacing:-.025em;text-wrap:balance}
.ft-card{border:1px solid rgba(245,240,232,.32);border-radius:22px;padding:12px 12px 12px 18px;display:flex;align-items:center;gap:14px;background:rgba(38,48,42,.28)}
.ft-card .m{flex:none;width:42px;height:42px;border-radius:50%;background:#F5F0E8;color:var(--folha);display:grid;place-items:center;font:700 20px var(--serif)}
.ft-card p{flex:1;min-width:0;font-size:14px;line-height:1.4}
.ft-tags{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:12px;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(245,240,232,.7)}
.ft-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3vw;padding-block:40px 48px}
.ft-cols b{display:block;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--primavera);margin-bottom:12px}
.ft-cols a,.ft-cols span{display:block;text-decoration:none;line-height:1.9}
.ft-cols a:hover{text-decoration:underline;text-underline-offset:.3em}
.ft-cols .sel{user-select:all}
.ft-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:500 11px var(--mono);letter-spacing:.06em;color:rgba(245,240,232,.62);padding-bottom:18px}
.ft-legal a{text-decoration:none}
.ft-marca{font:700 19.2vw/.76 var(--serif);letter-spacing:-.055em;text-align:center;white-space:nowrap;margin:0 -2vw -3.6vw;color:#677C60;
  text-shadow:0 .35vw .2vw rgba(20,28,22,.28),0 -.12vw 0 rgba(245,240,232,.16)}
.ft-marca span{display:inline-block;transform:translateY(60%);opacity:0;transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity 1s;transition-delay:calc(var(--i) * 60ms)}
.ft.visto .ft-marca span{transform:none;opacity:1}
#barraCel{display:none}

/* ---------- celular ---------- */
@media (max-width:760px), (max-aspect-ratio:4/5) and (max-width:1100px){
  .nav{gap:10px;padding:6px 6px 6px 12px;width:calc(100vw - 28px);justify-content:space-between}
  .nav .links,.nav .agendar{display:none}
  .hamb{display:block}
  #menu{grid-template-columns:1fr;gap:28px}
  #menu .mfoto{height:200px}
  .tit{top:96px}
  .tit.esq{left:0;right:0;width:auto;text-align:center;padding-inline:var(--gutter) var(--gutterR)}
  .tit.esq p,.tit p{margin-inline:auto;font-size:14.5px}
  .tit.esq .chips{justify-content:center}
  .tit p{display:none}
  .pontos{display:none}
  .selo{display:none}
  .cartao-dor{left:16px;right:16px;width:auto;top:auto;bottom:90px;transform:none}
  .planos{grid-template-columns:1fr;max-width:none}
  .planos article.dest{transform:none}
  .mosaico{aspect-ratio:3/4}
  .tiles{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(5,1fr)}
  .foto-dra .adesivo{right:-10px}
  .brilho{aspect-ratio:4/5}
  .ft{border-radius:56px 18px 0 0}
  .ft-top{grid-template-columns:1fr}
  .ft-card{flex-wrap:wrap}
  .ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
  #barraCel{display:flex;position:fixed;z-index:20;left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom,0px));padding:6px;border-radius:99px;
    background:rgba(255,255,255,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.8);transition:transform .5s,opacity .5s}
  #barraCel .bt{flex:1}#barraCel .bt span{flex:1;text-align:center}
  #barraCel.some{transform:translateY(140%);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .revela span{transition:none;transform:none;opacity:1;filter:none}
  .selo .giro,.ponto,.dica::after{animation:none}
}

/* ---------- palco único ---------- */
#fundo{position:fixed;inset:0;z-index:0;overflow:hidden}
#fundo .base,#fundo .sobe{position:absolute;inset:0;background:var(--aveia)}
#fundo .sobe{will-change:transform}
#palco{position:relative;height:1650vh}
.painel{position:fixed;z-index:2;opacity:0;visibility:hidden;will-change:opacity,transform}
.painel.centro-topo{left:0;right:0;top:clamp(92px,13vh,140px);text-align:center;padding-inline:var(--gutter) var(--gutterR)}
.painel.esq{left:max(56px,6vw);top:50%;margin-top:-150px;width:min(430px,38vw)}
.painel small{display:block;font:500 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--folha);margin-bottom:14px}
.painel h1,.painel h2{font:600 clamp(36px,5.2vw,74px)/1.02 var(--serif);letter-spacing:-.025em;text-wrap:balance}
.painel p{max-width:42ch;margin-top:14px;color:var(--suave);font-size:clamp(15px,1.15vw,17px)}
.painel.centro-topo p{margin-inline:auto}
.painel.escuro{color:#F5F0E8}.painel.escuro small{color:var(--primavera)}.painel.escuro p{color:rgba(245,240,232,.75)}
.painel .chips{justify-content:flex-start}.painel.centro-topo .chips{justify-content:center}
.painel .chips button.a{background:var(--tinta);color:var(--aveia);border-color:var(--tinta)}
.painel.escuro .chips button.a{background:var(--luz);color:var(--carvao);border-color:var(--luz)}
.painel .bt{margin-top:22px}
.painel.dica{left:50%;top:auto;bottom:86px;transform:translateX(-50%)}
@media (max-width:760px), (max-aspect-ratio:4/5) and (max-width:1100px){
  .painel.esq{left:0;right:0;width:auto;top:96px;margin-top:0;text-align:center;padding-inline:var(--gutter) var(--gutterR)}
  .painel.esq .chips{justify-content:center}
  .painel p{display:none}
  .painel.centro-topo{top:96px}
}

.painel.meio{left:0;right:0;margin-inline:auto;width:min(470px,38vw);top:50%;margin-top:-150px;text-align:center}
.painel.meio h2{font-size:clamp(34px,3.7vw,58px)}
.painel.meio p{margin-inline:auto;max-width:36ch}
.painel.meio .chips{justify-content:center}
@media (max-width:760px), (max-aspect-ratio:4/5) and (max-width:1100px){.painel.meio{width:auto;top:96px;margin-top:0;padding-inline:var(--gutter) var(--gutterR)}}
@media (max-width:760px), (max-aspect-ratio:4/5) and (max-width:1100px){.painel.dica{display:none}}

/* ---------- v7: região, parceiros, planos, vidro líquido ---------- */
.painel.meio{margin-top:-260px;width:min(500px,40vw)}
.painel .regiao{margin-top:16px;text-align:left;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.85);border-radius:16px;padding:14px 16px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.painel .regiao p{margin:0;max-width:none;font-size:14.5px;line-height:1.5;color:var(--suave)}
.painel .regiao p+p{margin-top:6px}
.painel .regiao strong{color:var(--tinta)}
.painel .chips button{cursor:pointer;pointer-events:auto}
.painel .chips span{font-size:12px;padding:8px 13px}
.painel h1 em{display:block;font-style:italic;font-weight:500;font-size:.62em;color:var(--folha);margin-top:6px}
.painel.centro-topo.escuro p{max-width:58ch}
.acao{display:flex;align-items:center;gap:22px 26px;flex-wrap:wrap;margin-top:22px}
.painel.centro-topo .acao{justify-content:center}
.acao .bt{margin-top:0}
.parceiros{display:flex;gap:18px;pointer-events:auto}
.parceiros a{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;transition:transform .25s}
.parceiros a:hover{transform:translateY(-3px)}
.parceiros img{height:30px;width:auto;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}
.parceiros span{font:800 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;
  background:linear-gradient(120deg,var(--folha) 40%,#B9D7A8 50%,var(--folha) 60%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:brilhoSelo 2.4s linear infinite}
.escuro .parceiros span{background-image:linear-gradient(120deg,#8FE0B4 40%,#fff 50%,#8FE0B4 60%)}
@keyframes brilhoSelo{from{background-position:100% 0}to{background-position:-50% 0}}
.intro-planos{color:var(--suave);max-width:56ch;margin-top:12px}
.planos{grid-template-columns:repeat(5,minmax(0,1fr));max-width:none;align-items:stretch}
.planos article{padding:22px;align-content:space-between}
.planos strong{font-size:28px}
.planos-parc{display:flex;align-items:center;justify-content:center;gap:20px 56px;margin-top:44px;flex-wrap:wrap}
.planos-parc>span{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--suave)}
.tiles i{background-size:auto 72%;background-origin:content-box}
.tiles i.foto{background-size:cover}
.cuida .olho{margin-bottom:-8px}
.cuida .grande{max-width:18ch;font-size:clamp(36px,5.2vw,76px)}
.sob b{color:var(--tinta)}
/* vidro líquido */
.vidro{isolation:isolate;background:rgba(255,255,255,.17)!important;border-color:transparent!important;
  backdrop-filter:blur(2.5px) saturate(1.8) brightness(1.1)!important;-webkit-backdrop-filter:blur(2.5px) saturate(1.8) brightness(1.1)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(255,255,255,.35),inset 8px 10px 18px -12px rgba(255,255,255,.9),
    inset -10px -12px 20px -14px rgba(38,48,42,.25),0 14px 34px -16px rgba(38,48,42,.45)!important}
.refrata .vidro{backdrop-filter:url(#vidro) blur(2px) saturate(1.8) brightness(1.1)!important}
.vidro::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.32),rgba(255,255,255,.04) 28%,rgba(255,255,255,0) 55%,rgba(255,255,255,.1) 85%,rgba(255,255,255,.28))}
.vidro::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.2px;pointer-events:none;z-index:-1;
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.15) 40%,rgba(255,255,255,.1) 60%,rgba(255,255,255,.8));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.nav.vidro .links a,.nav.vidro .marca{opacity:1;text-shadow:0 0 6px rgba(255,255,255,.95),0 0 14px rgba(255,255,255,.8),0 1px 0 rgba(255,255,255,.7);transition:color .4s}
body.escuro-ativo .nav.vidro .links a,body.escuro-ativo .nav.vidro .marca{color:#F5F0E8;text-shadow:0 0 8px rgba(0,0,0,.55)}
body.escuro-ativo .nav.vidro .agendar{background:#F5F0E8;color:var(--carvao)}
.vidro>*{position:relative}
@media (max-width:1100px) and (min-width:761px){
  .planos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .painel.esq{width:min(400px,44vw)}
  .painel.meio{width:min(440px,46vw)}
  .nav{gap:14px}.nav .links{gap:12px}
}
@media (max-width:760px), (max-aspect-ratio:4/5) and (max-width:1100px){
  .painel p{display:block;font-size:14px;margin-top:10px}
  .painel.meio{top:84px}
  .painel.meio>p,.painel.escuro.centro-topo>p,.painel.esq>p{display:none}
  .painel .regiao{padding:10px 12px}.painel .regiao p{font-size:13px}
  .painel .chips{margin-top:12px;gap:6px}
  .painel.centro-topo.escuro .chips{display:none}
  .acao{gap:14px;margin-top:14px;justify-content:center}
  .painel.meio>.bt{display:none}
  .planos{grid-template-columns:minmax(0,1fr);gap:10px}
  .planos article{grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:4px;padding:16px 16px 16px 18px;align-items:center}
  .planos article i{grid-column:1}.planos article strong{grid-column:1;font-size:24px}.planos article p{grid-column:1;font-size:13.5px}
  .planos article .bt{grid-column:2;grid-row:1/4;align-self:center}
  .planos article .bt span{display:none}
  .cuida .grande{font-size:clamp(32px,9vw,44px)}
}

.nav .links a{white-space:nowrap}
/* ajustes do celular que precisam vir depois das regras v7 */
@media (max-width:760px), (max-aspect-ratio:4/5) and (max-width:1100px){
  .painel.meio{width:auto;margin-top:0;top:84px;padding-inline:var(--gutter) var(--gutterR)}
  .painel.meio h2{font-size:clamp(28px,7.4vw,46px)}
  .painel .regiao{max-width:520px;margin-inline:auto}
}
/* tablet em pé: cena e textos como no celular, barra de cima completa */
@media (min-width:761px) and (max-width:1100px) and (max-aspect-ratio:4/5){
  .nav{width:auto;gap:16px;padding:7px 7px 7px 14px}
  .nav .links{display:flex;gap:14px}.nav .agendar{display:block}.hamb{display:none}
  #barraCel{display:none}
  .painel p,.painel.esq>p,.painel.escuro.centro-topo>p,.painel.meio>p{display:block;font-size:15px;max-width:56ch;margin-inline:auto}
  .painel.centro-topo.escuro .chips{display:flex}
  .painel.meio>.bt{display:inline-flex}
  .painel.meio,.painel.esq,.painel.centro-topo{top:96px}
  .planos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .planos article:last-child{grid-column:auto}
}

.nav .marca{flex-shrink:0}
@media (max-width:760px){
  .painel.esq>p,.painel.escuro.centro-topo>p{display:block;font-size:13.5px;line-height:1.5;max-width:40ch;margin-inline:auto}
  .painel.esq .chips{display:none}
  .painel.esq h2,.painel.centro-topo h2{font-size:clamp(30px,8.4vw,44px)}
}

.planos-parc a{display:block;transition:transform .25s,opacity .25s;opacity:.92}
.planos-parc a:hover{transform:translateY(-3px);opacity:1}
.planos-parc img{display:block;width:auto}
.planos-parc .lg-wh{height:44px}.planos-parc .lg-tp{height:24px}
@media (max-width:760px){.planos-parc{gap:18px 34px;margin-top:30px}.planos-parc>span{width:100%;text-align:center}.planos-parc .lg-wh{height:36px}.planos-parc .lg-tp{height:19px}}

/* rodapé compacto no celular */
@media (max-width:760px){
  .ft{padding-top:54px!important;border-radius:40px 16px 0 0}
  .ft-top{gap:18px;padding-bottom:22px}
  .ft-top small{margin-bottom:10px;font-size:10.5px}
  .ft-top h4{font-size:30px}
  .ft-card{flex-wrap:nowrap;padding:8px 8px 8px 14px;gap:10px;border-radius:99px}
  .ft-card .m,.ft-tags{display:none}
  .ft-card p{font-size:12.5px;line-height:1.35}
  .ft-card .bt span{padding:12px 16px}.ft-card .bt i{width:40px;height:40px}
  .ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-block:22px 22px}
  .ft-cols>div:nth-child(-n+2){display:none}
  .ft-cols b{margin-bottom:6px}
  .ft-cols a,.ft-cols span{font-size:13.5px;line-height:1.65}
  .ft-legal{padding-bottom:10px;font-size:10px}
}

@media (min-width:761px){.painel.centro-topo.escuro{top:clamp(76px,9vh,110px)}.painel.centro-topo.escuro .acao{margin-top:16px}}

/* barra de vidro: sobe 5px com mola ao passar o mouse (como o whileHover y:-5 do framer-motion), links com brilho próprio */
@media (hover:hover){
  .nav.vidro{transition:transform .55s cubic-bezier(.34,1.56,.64,1),box-shadow .55s ease}
  .nav.vidro:hover{transform:translateY(-5px);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(255,255,255,.35),inset 8px 10px 18px -12px rgba(255,255,255,.9),
    inset -10px -12px 20px -14px rgba(38,48,42,.25),0 22px 44px -18px rgba(38,48,42,.5)!important}
  .nav.vidro .links a{position:relative;padding:6px 10px;margin:-6px -10px;border-radius:99px;transition:transform .45s cubic-bezier(.34,1.56,.64,1),background .3s}
  .nav.vidro .links a:hover{transform:translateY(-2px);background:rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
  .nav.vidro .agendar{transition:transform .45s cubic-bezier(.34,1.56,.64,1),background .4s,color .4s}
  .nav.vidro .agendar:hover{transform:translateY(-2px) scale(1.03)}
}
@media (prefers-reduced-motion:reduce){.nav.vidro,.nav.vidro .links a,.nav.vidro .agendar{transition:none!important}.nav.vidro:hover{transform:none}}

/* perguntas frequentes */
.faq{max-width:1180px;margin-inline:auto}
.faq-lista{margin-top:34px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;align-items:start}
.faq-col{display:grid;gap:10px}
.faq details{background:#fff;border:1px solid #E4DCCB;border-radius:18px;padding:0 22px;transition:background .3s}
.faq summary{list-style:none;cursor:pointer;padding:18px 34px 18px 0;font:600 18px/1.35 var(--serif);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font:500 24px var(--sans);color:var(--folha);transition:transform .35s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{color:var(--suave);padding-bottom:18px;max-width:68ch}
@media (max-width:760px){.faq summary{font-size:16px}.faq details{padding:0 16px}}

.ft-cols .hora{opacity:.8}
.c-foto .horario{font-size:14px;opacity:.85;margin-top:4px}

@media (max-width:760px){.faq-lista{grid-template-columns:1fr}}

/* ---------- iPhone: nada de texto por cima de texto ou de foto ---------- */
@media (max-width:760px){
  /* barra do topo opaca: o texto que rola por baixo não aparece através do vidro */
  .nav.vidro{background:rgba(245,240,232,.94)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important}
  body.escuro-ativo .nav.vidro{background:rgba(38,48,42,.92)!important}
  #barraCel.vidro{background:rgba(245,240,232,.94)!important}
  /* cartão "Aula experimental": sai de cima do mosaico e fica embaixo dele, inteiro */
  .mosaico{aspect-ratio:auto;overflow:visible;display:grid;gap:14px}
  .mosaico .tiles{position:relative;inset:auto;aspect-ratio:3/4;border-radius:22px;overflow:hidden}
  .mosaico .cartao{position:relative;left:auto;top:auto;transform:none;width:100%}
  /* "Ficou com dúvida?": título e selo empilhados, sem encostar */
  .brilho{aspect-ratio:auto!important;padding:64px 20px;gap:28px}
  .brilho b{font-size:34px;line-height:1.1}
  .brilho .adesivo{transform:none}
  /* contato final: foto em cima, texto embaixo (o letreiro da fachada não fica atrás das letras) */
  .c-foto{min-height:0;display:block;border-radius:24px;background:var(--carvao)}
  .c-foto img{position:relative;inset:auto;height:auto;aspect-ratio:4/3;transform:none}
  .c-foto::after{display:none}
  .c-foto div{padding:28px 20px 32px}
  .c-foto b{font-size:34px}
}
