/* ==========================================================================
   ÁUREA TERAPIAS · Two Black · v4, 17/09/2026
   Folha compartilhada por index.html e terapeutas.html.
   TOM: sensorial e quente (calor, óleo, luz baixa, silêncio), nunca sexual.
   A moldura de segurança — hora marcada, atendimento individual, sala
   reservada, endereço real, passo a passo — sobe junto com o calor e não sai.
   ========================================================================== */
:root{
  --breu:#140E0A; --fundo:#3A281C; --brasa:#D9A05B; --pele:#EDDCC6;
  --claro:#FBF7F1; --texto:#5B4C40; --suave:#8F8073; --linha:#E5D8C6;
  --vinho:#5A2320;
}
*{box-sizing:border-box}
html{background:var(--claro); scroll-behavior:smooth}
body{margin:0; background:var(--claro); color:var(--breu);
     font-family:"Jost","Segoe UI",system-ui,sans-serif; font-size:17px; line-height:1.72;
     -webkit-font-smoothing:antialiased; overflow-x:hidden}
img{max-width:100%; height:auto; display:block}
a{color:var(--fundo)} a:hover{color:var(--brasa)}
.w{max-width:1180px; margin:0 auto; padding:0 24px}
.skip{position:absolute; left:-999px; top:8px; background:var(--brasa); color:var(--breu); padding:10px 16px; z-index:50}
.skip:focus{left:8px}

.grain{position:relative}
.grain::after{content:""; position:absolute; inset:0; pointer-events:none; opacity:.45; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E")}

.rev{opacity:0; transform:translateY(24px); transition:opacity .9s cubic-bezier(.22,.7,.3,1), transform .9s cubic-bezier(.22,.7,.3,1)}
.rev.on{opacity:1; transform:none}
.no-js .rev{opacity:1; transform:none}
@media(prefers-reduced-motion:reduce){ .rev{opacity:1; transform:none; transition:none} html{scroll-behavior:auto} }

/* ---------- botões ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:11px; background:var(--brasa); color:var(--breu);
     text-decoration:none; font-weight:600; font-size:16px; padding:17px 30px; border-radius:999px;
     min-height:56px; transition:transform .2s, filter .2s, background .2s; text-align:center}
.btn:hover{filter:brightness(1.08); color:var(--breu); transform:translateY(-2px)}
.btn:focus-visible,.navlinks a:focus-visible,.thumbs button:focus-visible,summary:focus-visible{outline:3px solid var(--brasa); outline-offset:4px}
.btn.dark{background:var(--fundo); color:var(--claro)}
.btn.dark:hover{background:var(--breu); color:var(--claro)}
.btn.ghost{background:transparent; color:var(--claro); box-shadow:inset 0 0 0 1px rgba(251,247,241,.45)}
.btn.ghost:hover{background:rgba(251,247,241,.08); color:var(--claro)}
.btn svg{flex-shrink:0}

/* ---------- navegação ---------- */
nav{position:fixed; top:0; left:0; right:0; z-index:20; transition:background .3s, border-color .3s; border-bottom:1px solid transparent}
nav.solid{background:rgba(251,247,241,.94); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom-color:var(--linha)}
nav .in{display:flex; justify-content:space-between; align-items:center; padding:14px 24px; max-width:1180px; margin:0 auto; gap:18px}
.lg{font-family:"Spectral",Georgia,serif; font-size:27px; font-weight:300; color:var(--claro); line-height:1.02; text-decoration:none; transition:color .3s}
.lg small{font-family:"Jost",sans-serif; font-size:9.5px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; display:block; opacity:.75}
.lg:hover{color:var(--brasa)}
nav.solid .lg{color:var(--breu)}
.navlinks{display:flex; gap:26px; align-items:center}
.navlinks a{color:#E6D5C2; text-decoration:none; font-size:14.5px; font-weight:500; transition:color .3s}
.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--brasa)}
nav.solid .navlinks a{color:var(--texto)}
nav.solid .navlinks a:hover,nav.solid .navlinks a[aria-current="page"]{color:var(--fundo)}
nav a.mini{display:inline-flex; align-items:center; gap:8px; background:var(--brasa); color:var(--breu);
           text-decoration:none; font-size:14px; font-weight:600; padding:11px 20px; border-radius:999px; min-height:44px; white-space:nowrap}
nav a.mini:hover{filter:brightness(1.08)}
@media(max-width:980px){ .navlinks a.hide-m{display:none} }
@media(max-width:620px){ .navlinks{gap:14px} .navlinks a.opt{display:none} }

/* ---------- tipografia comum ---------- */
.kicker{font-size:11px; font-weight:600; letter-spacing:.26em; text-transform:uppercase; color:var(--suave); margin-bottom:20px}
h1,h2{margin:0; font-family:"Spectral",Georgia,serif; font-weight:200; letter-spacing:-.03em; text-wrap:balance}
h2{font-size:clamp(34px,4.8vw,60px); line-height:1.1}
h2 em,h1 em{font-style:italic; color:var(--brasa)}
.lead{font-size:clamp(17px,1.9vw,19.5px); color:var(--texto); max-width:58ch; margin:22px 0 0; font-weight:300; line-height:1.7}
.sec{padding:118px 0}
.dark{background:var(--fundo); color:var(--claro)}
.dark .kicker{color:#B29A83} .dark .lead{color:#DCC8B2} .dark h2{color:var(--claro)}
.black{background:var(--breu); color:var(--claro)}
.black .kicker{color:#8F8073} .black .lead{color:#C6AF98} .black h2{color:var(--claro)}
.skin{background:var(--pele)}

/* ---------- HERO (home) ---------- */
.hero{background:var(--fundo); color:var(--claro); overflow:hidden; padding:128px 0 84px}
.hero .glow{position:absolute; width:1100px; height:1100px; right:-340px; top:-340px; border-radius:50%;
  background:radial-gradient(circle, rgba(217,160,91,.34), rgba(217,160,91,0) 60%); pointer-events:none}
.hero .grid{position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center}
.hero .over{font-size:12px; font-weight:600; letter-spacing:.3em; text-transform:uppercase; color:var(--brasa); margin-bottom:26px}
.hero h1{font-size:clamp(44px,6.6vw,92px); line-height:1.02; letter-spacing:-.035em}
.hero .sub{margin:30px 0 0; font-size:clamp(18px,2vw,21px); color:#DCC8B2; max-width:44ch; font-weight:300; line-height:1.62}
.hero .cta{margin-top:40px; display:flex; gap:14px; flex-wrap:wrap; align-items:center}
.hero .facts{margin-top:34px; display:flex; gap:10px 26px; flex-wrap:wrap; font-size:14.5px; color:#C6AF98}
.hero .facts b{color:var(--claro); font-weight:500}
.hero figure{margin:0; position:relative}
.hero figure img{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:220px 220px 6px 6px; box-shadow:0 40px 80px rgba(0,0,0,.35)}
.hero figcaption{position:absolute; left:-22px; bottom:34px; background:var(--claro); color:var(--breu); padding:14px 20px; font-size:13.5px; line-height:1.45; box-shadow:0 14px 40px rgba(0,0,0,.25)}
.hero figcaption b{display:block; font-family:"Spectral",Georgia,serif; font-weight:400; font-size:26px; letter-spacing:-.02em; line-height:1}

/* ---------- faixa de moldura ---------- */
.frame{background:var(--pele); padding:24px 0}
.frame .in{display:flex; gap:18px 34px; flex-wrap:wrap; align-items:center; justify-content:space-between}
.frame .it{display:flex; gap:11px; align-items:center; font-size:15.5px; font-weight:500; color:var(--breu)}

/* ---------- a hora ---------- */
.arc{margin-top:60px; border-left:1px solid var(--linha)}
.beat{display:grid; grid-template-columns:130px 1fr; gap:34px; padding:0 0 50px 34px; position:relative}
.beat:last-child{padding-bottom:0}
.beat::before{content:""; position:absolute; left:-5px; top:9px; width:9px; height:9px; border-radius:50%; background:var(--brasa)}
.beat .t{font-size:13px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--brasa); padding-top:4px}
.beat h3{margin:0 0 10px; font-family:"Spectral",Georgia,serif; font-size:clamp(24px,3vw,33px); font-weight:300; font-style:italic; letter-spacing:-.02em; line-height:1.2}
.beat p{margin:0; font-size:17.5px; color:var(--texto); line-height:1.75; max-width:54ch}

/* ---------- massagens ---------- */
.servtop{display:flex; justify-content:space-between; align-items:flex-end; gap:34px; flex-wrap:wrap; margin-bottom:48px}
.servtop p{max-width:36ch; font-size:17.5px; color:#C6AF98; margin:0; font-weight:300}
.row{display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; padding:32px 0; border-top:1px solid #2C221A; align-items:start}
.row:last-of-type{border-bottom:1px solid #2C221A}
.row h3{margin:0; font-family:"Spectral",Georgia,serif; font-size:clamp(23px,2.8vw,32px); font-weight:300; letter-spacing:-.02em; line-height:1.2; color:var(--claro)}
.row p{margin:0; font-size:17px; color:#C6AF98; line-height:1.72}
.row .for{display:block; margin-top:12px; font-size:14.5px; color:var(--brasa); font-weight:500}
.note{margin-top:34px; font-size:16px; color:#A8927D}
.note b{color:var(--claro); font-weight:500}

/* ---------- o espaço ---------- */
.gallery{margin-top:52px; display:grid; grid-template-columns:repeat(12,1fr); gap:16px}
.gallery figure{margin:0; position:relative; overflow:hidden; background:#DFCBAF}
.gallery img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.22,.7,.3,1)}
.gallery figure:hover img{transform:scale(1.035)}
.gallery figcaption{position:absolute; left:0; right:0; bottom:0; padding:40px 18px 14px; font-size:13.5px; color:var(--claro);
  background:linear-gradient(transparent, rgba(20,14,10,.72)); letter-spacing:.02em}
.g-a{grid-column:span 7; aspect-ratio:4/3} .g-b{grid-column:span 5; aspect-ratio:auto; min-height:100%}
.g-b img{position:absolute; inset:0}
.g-c{grid-column:span 4; aspect-ratio:4/5} .g-d{grid-column:span 4; aspect-ratio:4/5} .g-e{grid-column:span 4; aspect-ratio:4/5}

/* ---------- padrão da casa ---------- */
.std{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:52px}
.std .it{border-top:1px solid var(--fundo); padding-top:22px}
.std .big{font-family:"Spectral",Georgia,serif; font-size:clamp(46px,5.4vw,68px); font-weight:200; letter-spacing:-.04em; line-height:1; color:var(--fundo)}
.std h3{margin:12px 0 8px; font-size:17px; font-weight:600}
.std p{margin:0; font-size:16px; color:var(--texto); line-height:1.65}
.tech{margin:22px 0 0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px}
.tech li{font-size:14px; padding:7px 14px; border:1px solid #CDB89C; border-radius:999px; color:var(--fundo); background:rgba(251,247,241,.55)}

/* ---------- cartões das terapeutas (home) ---------- */
.team{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:52px}
.tcard{background:#1E1611; display:flex; flex-direction:column}
.tcard .ph{aspect-ratio:4/5; overflow:hidden}
.tcard .ph img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.22,.7,.3,1)}
.tcard:hover .ph img{transform:scale(1.035)}
.tcard .d{padding:24px 24px 28px; display:flex; flex-direction:column; gap:14px; flex:1}
.tcard h3{margin:0; font-family:"Spectral",Georgia,serif; font-size:32px; font-weight:300; letter-spacing:-.02em; color:var(--claro); line-height:1}
.tcard .role{font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--brasa)}
.tcard .btn{margin-top:auto; width:100%; font-size:15px; padding:14px 20px; min-height:50px}
.teamfoot{margin-top:34px; display:flex; gap:16px 28px; flex-wrap:wrap; align-items:center}
.teamfoot p{margin:0; color:#C6AF98; font-size:16px; max-width:52ch}
.link-arrow{color:var(--brasa); font-weight:600; text-decoration:none; border-bottom:1px solid rgba(217,160,91,.45); padding-bottom:2px}
.link-arrow:hover{color:var(--claro); border-color:var(--claro)}

/* ---------- prova ---------- */
.pnum{display:flex; gap:24px; align-items:baseline; flex-wrap:wrap}
.pnum b{font-family:"Spectral",Georgia,serif; font-size:clamp(62px,9vw,110px); font-weight:200; letter-spacing:-.04em; line-height:.9; color:var(--fundo)}
.pnum span{font-size:17.5px; color:var(--texto); max-width:30ch}
.pnum small{display:block; font-size:13px; color:var(--suave); margin-top:4px}
.quotes{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:56px}
.q{border-top:1px solid #D6C5AC; padding-top:22px; margin:0}
.q p{margin:0; font-family:"Spectral",Georgia,serif; font-size:20px; font-weight:300; font-style:italic; line-height:1.5; color:var(--breu)}
.q cite{display:block; margin-top:14px; font-family:"Jost",sans-serif; font-size:12.5px; font-style:normal; letter-spacing:.14em; text-transform:uppercase; color:var(--suave)}

/* ---------- passos ---------- */
.stepgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:28px; margin-top:50px}
.step{border-top:1px solid var(--fundo); padding-top:20px}
.step i{display:block; font-style:normal; font-size:13px; font-weight:600; letter-spacing:.2em; color:var(--brasa); margin-bottom:12px}
.step b{display:block; font-family:"Spectral",Georgia,serif; font-size:22px; font-weight:300; font-style:italic; margin-bottom:8px}
.step p{margin:0; font-size:16px; color:var(--texto); line-height:1.65}

/* ---------- perguntas ---------- */
.faq{margin-top:46px; border-top:1px solid var(--linha); max-width:860px}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{cursor:pointer; list-style:none; padding:22px 44px 22px 0; position:relative; font-family:"Spectral",Georgia,serif; font-size:clamp(20px,2.3vw,24px); font-weight:300; letter-spacing:-.01em; line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:6px; top:18px; font-family:"Jost",sans-serif; font-size:26px; font-weight:300; color:var(--brasa); transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 24px; font-size:17px; color:var(--texto); line-height:1.75; max-width:64ch}

/* ---------- onde ---------- */
.wgrid{display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:44px}
.ln{display:flex; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid #513B2A; font-size:17px}
.ln span{color:#B29A83; flex-shrink:0} .ln b{font-weight:500; text-align:right}
.ln a{color:var(--brasa)}
.map{margin-top:28px}

/* ---------- fecho ---------- */
.end{background:var(--breu); color:var(--claro); padding:140px 0; text-align:center; overflow:hidden}
.end .g{position:absolute; width:1000px; height:1000px; left:50%; top:50%; transform:translate(-50%,-50%); border-radius:50%;
  background:radial-gradient(circle, rgba(217,160,91,.20), rgba(217,160,91,0) 62%); pointer-events:none}
.end .in{position:relative; z-index:2}
.end h2{color:var(--claro); font-size:clamp(36px,5.4vw,72px)}
.end p{margin:24px auto 0; max-width:46ch; color:#C6AF98; font-size:19px; font-weight:300}

footer{background:var(--breu); color:#8F8073; padding:42px 0; font-size:14.5px; border-top:1px solid #241A13}
footer .in{display:flex; justify-content:space-between; gap:22px; flex-wrap:wrap; align-items:flex-end}
footer a{color:var(--brasa)}
footer .lg{color:var(--claro); font-size:32px; margin-bottom:10px; display:inline-block}
footer .lg small{color:#8F8073}

/* ---------- página das terapeutas ---------- */
.phero{background:var(--fundo); color:var(--claro); padding:150px 0 90px; overflow:hidden}
.phero .glow{position:absolute; width:1000px; height:1000px; left:-300px; top:-420px; border-radius:50%;
  background:radial-gradient(circle, rgba(217,160,91,.30), rgba(217,160,91,0) 60%); pointer-events:none}
.phero .in{position:relative; z-index:2}
.phero h1{font-size:clamp(44px,6.4vw,88px); line-height:1.03; letter-spacing:-.035em}
.phero .lead{color:#DCC8B2}
.jump{margin-top:36px; display:flex; gap:12px; flex-wrap:wrap}
.jump a{color:var(--claro); text-decoration:none; font-size:15px; padding:10px 20px; border-radius:999px; box-shadow:inset 0 0 0 1px rgba(251,247,241,.35)}
.jump a:hover{background:rgba(251,247,241,.1); color:var(--claro)}

.pro{padding:110px 0; scroll-margin-top:70px}
.pro:nth-of-type(even){background:var(--pele)}
.pgrid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center}
.pro.flip .pgrid{direction:rtl} .pro.flip .pgrid > *{direction:ltr}
.pmain{margin:0; aspect-ratio:4/5; overflow:hidden; background:#DFCBAF; border-radius:4px}
.pmain img{width:100%; height:100%; object-fit:cover; transition:opacity .35s}
.thumbs{display:flex; gap:12px; margin-top:12px}
.thumbs button{flex:1; padding:0; border:0; background:none; cursor:pointer; aspect-ratio:4/5; overflow:hidden; border-radius:3px; opacity:.62; transition:opacity .25s; box-shadow:inset 0 0 0 2px transparent}
.thumbs button img{width:100%; height:100%; object-fit:cover}
.thumbs button[aria-pressed="true"],.thumbs button:hover{opacity:1}
.thumbs button[aria-pressed="true"]{outline:2px solid var(--brasa); outline-offset:2px}
.pinfo .num{font-family:"Spectral",Georgia,serif; font-size:15px; font-style:italic; color:var(--brasa)}
.pinfo h2{font-size:clamp(52px,7vw,96px); line-height:1; margin-top:6px}
.pinfo .role{font-size:12.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--fundo); margin-top:14px}
.pinfo ul{list-style:none; margin:30px 0 0; padding:0; border-top:1px solid #D6C5AC}
.pinfo li{display:flex; gap:14px; padding:14px 0; border-bottom:1px solid #D6C5AC; font-size:16.5px; color:var(--texto)}
.pinfo li svg{flex-shrink:0; margin-top:4px}
.pinfo .btn{margin-top:32px}
.pinfo .fine{margin:14px 0 0; font-size:14.5px; color:var(--suave); max-width:46ch}

@media(max-width:980px){
  .hero .grid{grid-template-columns:1fr; gap:48px}
  .hero figure{max-width:440px}
  .hero figcaption{left:14px}
  .std{grid-template-columns:1fr; gap:34px}
  .team{grid-template-columns:1fr 1fr}
  .team .tcard:last-child{grid-column:span 2; flex-direction:row}
  .team .tcard:last-child .ph{width:50%; aspect-ratio:auto}
  .pgrid{grid-template-columns:1fr; gap:36px}
  .pro.flip .pgrid{direction:ltr}
  .pmain{max-width:520px}
  .thumbs{max-width:520px}
}
@media(max-width:900px){
  .beat{grid-template-columns:1fr; gap:8px; padding-bottom:42px}
  .row{grid-template-columns:1fr; gap:12px}
  .quotes{grid-template-columns:1fr; gap:22px}
  .stepgrid{grid-template-columns:1fr 1fr; gap:26px}
  .wgrid{grid-template-columns:1fr; gap:30px}
  .sec,.pro{padding:78px 0} .end{padding:104px 0}
  .hero{padding:112px 0 70px} .phero{padding:124px 0 70px}
  .g-a,.g-b{grid-column:span 12}
  .g-b{aspect-ratio:4/5; min-height:0}
  .g-c,.g-d,.g-e{grid-column:span 6}
  .g-e{grid-column:span 12; aspect-ratio:4/3}
}
@media(max-width:600px){
  .stepgrid{grid-template-columns:1fr}
  .team{grid-template-columns:1fr}
  .team .tcard:last-child{grid-column:auto; flex-direction:column}
  .team .tcard:last-child .ph{width:auto; aspect-ratio:4/5}
  .g-c,.g-d{grid-column:span 12}
  .hero .cta .btn{width:100%}
  .pinfo .btn{width:100%}
  .ln{flex-direction:column; gap:2px} .ln b{text-align:left}
}

/* ==========================================================================
   IMPRESSÃO / PDF — Ctrl+P → Salvar como PDF · Margens: nenhuma
   ✅ marcar "Gráficos em segundo plano", senão os fundos escuros somem.
   ========================================================================== */
@media print{
  @page{size:A4 portrait; margin:0}
  *{-webkit-print-color-adjust:exact !important; print-color-adjust:exact !important}
  html,body{background:var(--claro) !important; font-size:15px}
  nav,.skip,.thumbs{display:none !important}
  .rev{opacity:1 !important; transform:none !important; transition:none !important}
  .grain::after{display:none}
  .hero,.phero{padding:56px 0 !important}
  .sec,.pro,.end{padding:48px 0 !important}
  section,.frame,.row,.beat,.tcard,.q,.step,.pgrid,figure{break-inside:avoid; page-break-inside:avoid}
  h2{font-size:34px !important}
  .hero h1,.phero h1{font-size:48px !important}
  a{text-decoration:none}
}
