/* Fontes locais (23/10, item 22): antes vinham do Google Fonts. Arquivos woff2 (latin + latin-ext) em fonts/, licença OFL em fonts/. Cormorant Garamond e Hanken Grotesk são fontes variáveis: um arquivo cobre todos os pesos usados. */
@font-face{font-family:'Cinzel';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/cinzel-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/cinzel-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 400;font-display:swap;src:url(fonts/cormorant-garamond-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 400;font-display:swap;src:url(fonts/cormorant-garamond-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 400;font-display:swap;src:url(fonts/cormorant-garamond-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 400;font-display:swap;src:url(fonts/cormorant-garamond-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:200 500;font-display:swap;src:url(fonts/hanken-grotesk-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:200 500;font-display:swap;src:url(fonts/hanken-grotesk-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* MP Beauty Retreat — shared styles for inner pages (pain pages, privacy). Tokens mirror index.html. */
:root{
  --areia:#E1D0B5; --areia-clara:#EFE4D2; --salvia:#AEAE85; --camel:#C69A70; --oliva:#A09942;
  --terracota:#B57757; --preto:#0B0A09; --creme:#F4EDE1; --tinta:#2A211A; --tinta-suave:#5E5044;
  --f-caps:"Cinzel","Cormorant Garamond",Georgia,serif;
  --f-serif:"Cormorant Garamond",Georgia,serif;
  --f-text:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --gut:clamp(22px,6vw,96px);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--areia-clara);color:var(--tinta);font-family:var(--f-text);font-weight:300;font-size:clamp(1.02rem,.96rem + .3vw,1.2rem);line-height:1.6;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
#page[data-lang="pt"] .en{display:none}
#page[data-lang="en"] .pt{display:none}
.caps{font-family:var(--f-caps);font-weight:400;letter-spacing:.32em;text-transform:uppercase;font-size:.72rem}
.ital{font-family:var(--f-serif);font-style:italic;font-weight:300}
.hl{font-weight:500;color:var(--tinta)}
.dark .hl,.phero .hl,.cta .hl{color:var(--creme)}
h1 .hl,h2 .hl{font-weight:400;font-style:normal}
.sec{padding:clamp(64px,9vw,120px) var(--gut)}
.in{max-width:1080px;margin-inline:auto}
.grain{position:relative}
.grain::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .15 0 0 0 0 .1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.grain > *{position:relative}

/* top bar */
.top{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:16px var(--gut);pointer-events:none}
.top > *{pointer-events:auto}
.top .home{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--creme);background:rgba(11,10,9,.55);border-radius:999px;padding:6px 16px 6px 6px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-family:var(--f-caps);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase}
.top .home svg{width:36px;height:36px;padding:7px;color:var(--creme)}
.lang{display:flex;gap:4px;font-family:var(--f-caps);font-size:.74rem;letter-spacing:.22em;background:rgba(11,10,9,.55);border-radius:999px;padding:6px 8px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.lang button{font:inherit;letter-spacing:inherit;background:none;border:0;color:var(--creme);opacity:.6;cursor:pointer;padding:6px 12px;border-radius:999px}
.lang button[aria-pressed="true"]{opacity:1;background:rgba(244,237,225,.18)}

/* pain-page hero */
.phero{position:relative;min-height:88svh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--preto);color:var(--creme);overflow:hidden}
.phero .copy{padding:clamp(120px,16vw,170px) var(--gut) clamp(50px,7vw,90px);display:flex;flex-direction:column;justify-content:center}
.phero .caps{color:var(--camel)}
.phero h1{font-family:var(--f-serif);font-style:italic;font-weight:300;font-size:clamp(2.3rem,1.5rem + 3.8vw,4.8rem);line-height:1.02;margin:14px 0 22px;max-width:14ch}
.phero h1 b{font-weight:400;font-style:normal}
.phero p{max-width:40ch;color:rgba(244,237,225,.85);font-weight:200;margin:0 0 1em}
.tag{display:inline-block;font-family:var(--f-caps);font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--creme);border:1px solid var(--camel);padding:6px 12px;margin:0 0 18px}
.phero .fig{position:relative;min-height:46svh}
.phero .fig img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;opacity:.9}
.phero .fig::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--preto) 0%,transparent 28%)}
.btn{font-family:var(--f-caps);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--preto);background:var(--creme);border:1px solid var(--creme);padding:18px 30px;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s,color .2s;margin-top:10px}
.btn:hover{background:transparent;color:var(--creme)}
@media (max-width:860px){.phero{grid-template-columns:1fr}.phero .fig{order:-1;min-height:52svh}.phero .fig::after{background:linear-gradient(180deg,transparent 55%,var(--preto) 100%)}.phero .copy{padding-top:28px}}

/* blocks */
h2.t{font-family:var(--f-serif);font-style:italic;font-weight:300;font-size:clamp(1.9rem,1.3rem + 2.6vw,3.4rem);line-height:1.06;margin:12px 0 26px;max-width:22ch} /* 22/10 verificação (T6a): 20ch deixava uma palavra sozinha na última linha */
.lead{max-width:56ch;color:var(--tinta-suave);font-size:clamp(1.05rem,1rem + .4vw,1.3rem)}
.signs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px);border-top:1px solid rgba(42,33,26,.3);padding-top:clamp(22px,3vw,36px)}
.signs li .k{font-family:var(--f-serif);font-style:italic;color:var(--camel);font-size:1.1rem}
.signs li h3{font-family:var(--f-caps);font-weight:400;letter-spacing:.14em;text-transform:uppercase;font-size:1rem;line-height:1.3;margin:8px 0 10px}
.signs li p{margin:0;color:var(--tinta-suave);font-size:.98rem}
@media (max-width:760px){.signs{grid-template-columns:1fr}}
.dark{background:var(--preto);color:var(--creme)}
.dark .caps{color:var(--camel)}
.dark .lead{color:rgba(244,237,225,.8)}
.tools{list-style:none;margin:0;padding:0;border-top:1px solid rgba(244,237,225,.25)}
.tools li{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(16px,3vw,48px);align-items:baseline;padding:clamp(18px,2.4vw,28px) 0;border-bottom:1px solid rgba(244,237,225,.25)}
.tools .n{font-family:var(--f-serif);font-style:italic;color:var(--camel);min-width:1.2em} /* 22/10 verificação: i/ii/iii/iv com a mesma largura, títulos alinhados */
.tools .t{font-family:var(--f-caps);font-weight:400;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(1rem,.9rem + .7vw,1.4rem);line-height:1.2}
.tools .t small{display:block;font-family:var(--f-text);text-transform:none;letter-spacing:0;font-weight:200;font-size:1rem;color:rgba(244,237,225,.8);margin-top:8px;max-width:56ch;line-height:1.55}
.tools .r{font-family:var(--f-serif);font-style:italic;color:rgba(244,237,225,.7);white-space:nowrap}
@media (max-width:860px){.tools li{grid-template-columns:auto 1fr}.tools .r{grid-column:2}}
.days{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2.4vw,30px);margin-top:30px}
.day{border-top:1px solid rgba(42,33,26,.3);padding-top:16px}
.day .k{font-family:var(--f-caps);font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--terracota)}
.day h3{font-family:var(--f-serif);font-style:italic;font-weight:300;font-size:1.5rem;margin:8px 0 8px;line-height:1.15}
.day p{margin:0;font-size:.95rem;color:var(--tinta-suave)}
@media (max-width:760px){.days{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.days{grid-template-columns:1fr}}
.faq{border-top:1px solid rgba(42,33,26,.3);max-width:70ch}
.faq details{border-bottom:1px solid rgba(42,33,26,.3)}
.faq summary{cursor:pointer;list-style:none;padding:20px 0;display:flex;justify-content:space-between;gap:22px;font-family:var(--f-serif);font-style:italic;font-size:1.35rem;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--camel);flex:none}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 0 22px;color:var(--tinta-suave);max-width:60ch}
.cta{background:var(--terracota);color:var(--creme)}
.cta .in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:start}
.cta .caps{color:var(--creme);opacity:.8}
.cta h2{font-family:var(--f-serif);font-style:italic;font-weight:300;font-size:clamp(2rem,1.4rem + 3vw,4rem);line-height:1.02;margin:14px 0 22px;max-width:14ch}
.cta p{max-width:36ch;color:rgba(244,237,225,.85);font-weight:200}
.f{margin-bottom:24px}
.f label{display:block;font-family:var(--f-caps);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;opacity:.85;margin-bottom:8px}
.f input,.f textarea{width:100%;font:inherit;font-weight:300;font-size:1.1rem;color:var(--creme);background:transparent;border:0;border-bottom:1px solid rgba(244,237,225,.5);padding:10px 0;border-radius:0}
.f input::placeholder,.f textarea::placeholder{color:rgba(244,237,225,.45)}
.f input:focus,.f textarea:focus{outline:none;border-bottom-color:var(--creme)}
.f textarea{min-height:90px;resize:vertical}
.cta .btn{color:var(--terracota)}
.cta .btn:hover{color:var(--creme)}
.cta .err{font-size:.9rem;margin:10px 0 0}
.cta .small{opacity:.6;font-size:.8rem;margin-top:14px}
@media (max-width:860px){.cta .in{grid-template-columns:1fr}}
.foot{background:var(--preto);color:rgba(244,237,225,.7);padding:clamp(40px,6vw,70px) var(--gut);font-size:.8rem;letter-spacing:.06em;line-height:1.8}
.foot .in{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between}
.foot a{text-decoration:none;border-bottom:1px solid rgba(244,237,225,.3)}
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform 1s cubic-bezier(.2,.6,.2,1)}
.rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* privacy / text pages */
.doc{max-width:720px;margin:0 auto;padding:clamp(120px,16vw,160px) var(--gut) 80px}
.doc h1{font-family:var(--f-serif);font-style:italic;font-weight:300;font-size:clamp(2.2rem,1.6rem + 2.4vw,3.4rem);line-height:1.05;margin:0 0 8px}
.doc h2{font-family:var(--f-caps);font-weight:400;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terracota);margin:36px 0 10px}
.doc p,.doc li{color:var(--tinta-suave)}
.doc .date{font-size:.85rem;margin:0 0 36px}
.doc hr{border:0;border-top:1px solid rgba(42,33,26,.3);margin:64px 0}

/* ---------- embossed pills (v3.4) ---------- */
.four > span,.tag{border:0;border-radius:999px;padding:9px 16px;color:#6B4A2A;background:linear-gradient(180deg,#F3E8D6 0%,#DCC8A8 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(90,60,30,.14),0 8px 16px -10px rgba(60,40,20,.55),0 1px 2px rgba(60,40,20,.12)}
.lugar .tag,.phero .tag,.dark .tag,.hero .tag{color:var(--creme);background:linear-gradient(180deg,#5A4A3A 0%,#2E2520 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.4),0 8px 16px -10px rgba(0,0,0,.8)}
.btn{border:0;border-radius:999px;padding:18px 32px;background:linear-gradient(180deg,#FBF5EA 0%,#E6D8C2 100%);color:var(--terracota);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(90,60,30,.18),0 12px 22px -12px rgba(40,25,10,.6),0 1px 2px rgba(40,25,10,.15);transition:transform .15s ease,box-shadow .2s ease,background .2s ease}
.btn:hover{background:linear-gradient(180deg,#FFFFFF 0%,#EFE3CF 100%);color:var(--terracota);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(90,60,30,.18),0 16px 26px -12px rgba(40,25,10,.65)}
.btn:active{transform:translateY(0);box-shadow:inset 0 2px 4px rgba(60,40,20,.25)}
.btn--ghost{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.04));color:var(--creme);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 0 0 1px rgba(244,237,225,.45)}
.btn--ghost:hover{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08));color:var(--creme)}
.menu-btn,.lang,.top .mono{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px -10px rgba(0,0,0,.7)}
.go-pill{border-bottom:0;padding:9px 14px;border-radius:999px;background:linear-gradient(180deg,#F3E8D6 0%,#DCC8A8 100%);color:#6B4A2A;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(90,60,30,.14),0 8px 16px -10px rgba(60,40,20,.55)}
.season .go{display:inline-block;margin-top:14px}

/* ---------- QA técnico 2026-10-22 — acessibilidade, foco, 404 (index.html tem a cópia inline equivalente) ---------- */
/* Keyboard focus ring: only for keyboard/assistive focus (mouse clicks don't show it). */
:focus-visible{outline:2px solid var(--camel);outline-offset:4px}
.dark :focus-visible,.phero :focus-visible,.rhero :focus-visible,.foot :focus-visible,.top :focus-visible,.cta :focus-visible{outline-color:var(--creme)}
.btn:focus-visible,.go-pill:focus-visible,.lang button:focus-visible,.top .home:focus-visible{outline-offset:3px;border-radius:999px}
.faq summary:focus-visible{outline-offset:-2px}
.f input:focus-visible,.f textarea:focus-visible{outline:none;border-bottom:2px solid var(--creme);padding-bottom:9px}
/* Skip link: first Tab stop, visible only while focused. Markup: <a class="skip" href="#main">…</a> + <main id="main">. */
.skip{position:absolute;left:50%;top:-200px;transform:translateX(-50%);z-index:60;background:var(--preto);color:var(--creme);padding:12px 18px;border-radius:999px;font-family:var(--f-caps);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.skip:focus{top:16px;outline-color:var(--creme)}
/* Contrast: inactive language button was creme@60% (2.9:1); 85% gives ~4.2:1 on the dark glass. */
.lang button{opacity:.85}
/* Contrast: small label text in --terracota (#B57757) is 2.9:1 on areia-clara and 2.4:1 on areia — fails AA.
   Scoped darker shade for TEXT on light sections only (#7F4B2E = 5.7:1 / 4.7:1); the .cta block keeps the brand
   terracotta as its background. To revert the brand tone on labels, delete the next line. */
.sec:not(.dark):not(.cta),.doc{--terracota:#7F4B2E}
/* CTA helper lines were creme@60% on terracotta (2.1:1); placeholder was @45%. Still capped at ~3:1 by the background — see report. */
.cta .small{opacity:.95}
.f input::placeholder,.f textarea::placeholder{color:rgba(244,237,225,.7)}
/* Reduced motion: no smooth scrolling, no hover lift (the reveal animation is already disabled above). */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.btn:hover,.btn:active{transition:none;transform:none}}
/* Hero pill and button were stretched to the full column width (.copy is a flex column). */
.phero .tag,.phero .btn{align-self:flex-start}
/* Footer text links: taller tap target (were 18px high). */
.foot a{display:inline-block;padding:4px 0}
/* When width/height attributes are added to <img> (see report), keep the aspect ratio; specific rules (hero fig, result pairs) still override. */
img{height:auto}
/* Bug: ".cta .btn:hover{color:var(--creme)}" (line 98, pre-v3.4 ghost style) outranks the embossed ".btn:hover" rule,
   so the CTA button text turned creme on the near-white hover gradient (~1.1:1, unreadable). Also button text in
   --terracota on the cream gradient is 3.4:1 / 2.6:1 for .72rem caps — fails AA. Deeper rust (#7F4B2E ≈ 6:1 / 5:1)
   for all cream buttons, hover included; ghost buttons (creme text on dark) are untouched. */
.btn:not(.btn--ghost),.btn:not(.btn--ghost):hover,.cta .btn,.cta .btn:hover{color:#7F4B2E}
/* 404 page (404.html): single-column dark hero + topic pills. */
.phero.solo{grid-template-columns:1fr;min-height:72svh}
.phero.solo .copy{padding-top:clamp(140px,18vw,200px)}
.p404{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px;max-width:64ch}
.p404 a{display:inline-block;text-decoration:none;font-family:var(--f-caps);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase}

.top-right{display:flex;align-items:center;gap:8px}

/* Telefone no topo (22/10): para quem não usa WhatsApp. Número oficial da clínica (o mesmo do site oficial). */
.tel-top{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;background:rgba(11,10,9,.55);color:var(--creme);text-decoration:none;font-family:var(--f-text);font-size:.8rem;letter-spacing:.06em;font-variant-numeric:tabular-nums;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px -10px rgba(0,0,0,.7)}
.tel-top svg{width:16px;height:16px;fill:currentColor;flex:none}
.tel-top:focus-visible{outline-offset:3px;border-radius:999px}
@media (max-width:860px){.tel-top{width:42px;padding:0;justify-content:center}.tel-top .tel-lbl{display:none}}
.wa-top{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;background:rgba(11,10,9,.55);color:var(--creme);text-decoration:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px -10px rgba(0,0,0,.7)}
.wa-top svg{width:17px;height:17px;fill:currentColor}
.wa-top:focus-visible{outline-offset:3px;border-radius:999px}
@media (max-width:560px){.top{padding-left:16px;padding-right:16px}.top-right{gap:6px}.tel-top,.wa-top{width:40px;height:40px}.lang{padding:6px 6px}}

/* D8-A (22/10, revisão com o Rafael): o link "Ou chame direto no WhatsApp →" do fim das páginas internas quebrava em duas
   linhas com um sublinhado por linha; como bloco em linha, o sublinhado passa a ser um só. (Versão do CSS: ?v=20261022d.) */
#wa-direct{display:inline-block;line-height:1.9}

/* ---------- Pacote 2 (23/10, aprovado pela Camila): itens 13–19 ---------- */
/* 13 · Celular: o botão "Comece a planejar" do topo sobe para logo abaixo do título (fica na primeira tela a 390 px).
   A ordem no HTML não muda; só a ordem visual, na coluna do hero. No desktop fica como estava. */
@media (max-width:860px){
  .phero.has-cta .fig{height:38svh;min-height:0} /* altura fixa: antes a foto ditava a altura (até 585 px) e empurrava o botão para fora da tela */
  .phero.has-cta .copy{padding-top:20px}
  .phero.has-cta h1{font-size:clamp(1.9rem,1.2rem + 3.4vw,3.4rem);margin-bottom:16px}
  .phero.has-cta .copy > .caps{order:-3}
  .phero.has-cta .copy > h1{order:-2}
  .phero.has-cta .copy > .btn{order:-1;margin:0 0 24px}
}
/* 13 · Barra fixa no rodapé do celular (≤760 px), com o mesmo botão. O JS da página a mostra depois que o botão do hero
   sai da tela e a esconde enquanto o formulário (#escreva) está visível, para nunca cobrir o formulário. */
.cta-bar{display:none}
@media (max-width:760px){
  .cta-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:48;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
    background:rgba(11,10,9,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 -8px 18px -10px rgba(0,0,0,.6);
    transition:transform .35s ease,opacity .35s ease}
  .cta-bar[hidden]{display:block;transform:translateY(110%);opacity:0;pointer-events:none}
  .cta-bar .btn{display:block;text-align:center;margin:0;padding:14px 20px;white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){.cta-bar{transition:none}}
/* 14 · Formulário no celular: o campo focado não fica debaixo da barra do topo (74 px) ao rolar; rótulos mais escuros.
   --tinta puro dá 4,3:1 sobre o terracota; a mistura com --preto (60/40 = #1E1813) chega a 4,8:1. */
.f input,.f textarea,#escreva{scroll-margin-top:96px}
.f label{color:var(--tinta);color:color-mix(in srgb,var(--tinta) 60%,var(--preto));opacity:1}
/* 15 · Tela "Obrigada." depois do envio (mesmo padrão do index.html). */
.caps-lg{font-family:var(--f-caps);font-weight:400;letter-spacing:.2em;text-transform:uppercase;font-size:clamp(1.1rem,.9rem + 1.2vw,1.9rem);line-height:1.25}
.ok{display:none}
.ok p{max-width:40ch}
.ok b{font-family:var(--f-caps);letter-spacing:.2em;font-weight:400}
/* 16 · Celular: nenhum texto abaixo de 12 px. Dois degraus para manter a hierarquia: 12 px (.75rem) para os menores
   (etiquetas, rótulos, legendas) e 12,5 px (.78rem) para rótulos de seção, botões e links em caixa alta. */
@media (max-width:760px){
  .skip,.top .home,.day .k,.f label,.tag,.p404 a,.phero .tag{font-size:.75rem}
  .caps,.btn,.lang{font-size:.78rem}
  html{--fs-xs:.78rem} /* links com estilo inline (font-size:var(--fs-xs,.7rem)): "O que fazer em Aracaju", "Ou chame direto no WhatsApp" */
}
/* 18 · Celular: botões PT/EN com 40 px de altura (área de toque), mantendo a pílula na altura dos ícones ao lado. */
@media (max-width:760px){
  .lang{padding:0 4px}
  .lang button{min-height:40px;padding:0 12px}
}

/* 23/10: âncoras das tecnologias (faixa das máquinas) ficam abaixo da barra flutuante */
.tools li[id]{scroll-margin-top:110px}
