
/* ══ TOKENS ══ */
:root{
  --paper:#FBF7F2; --paper-2:#F5EDE7;
  --rose-100:#F5E6EA; --rose-200:#EDD5DD;
  --lilac-100:#EFE4F0; --lilac-300:#C7A3CC; --lilac-500:#A97FAE;
  --gold-300:#E8C88F; --gold-400:#DDB475; --gold-500:#C9A35F; --gold-600:#A9884C; --gold-700:#8A6A3B;
  --grad-gold:linear-gradient(115deg,#8A6A3B 0%,#C9A35F 38%,#E8C88F 68%,#C9A35F 100%);
  --grad-accent:linear-gradient(115deg,#722B49 0%,#8E3A5C 45%,#B05574 85%);
  --grad-gold-text:linear-gradient(115deg,#E8C88F 0%,#C9A35F 45%,#F2D9A8 80%);
  --marsala-300:#C97A94; --marsala-400:#B05574; --marsala-500:#8E3A5C; --marsala-600:#722B49;
  --wine-950:#2A1120; --wine-900:#331625; --wine-800:#3E1C2E; --wine-700:#4C2439;
  --ink:#3A2530; --ink-2:#6E5560;
  --text-hi:#F7EDE8; --text-mid:#D4B6BC;
  --line-gold:rgba(201,163,95,.28); --line-soft:rgba(142,58,92,.16);
  --hero-a:oklch(0.933 0.028 348);
  --grad-hero:linear-gradient(130deg,var(--hero-a) 0%,oklch(0.985 0.005 80) 46%,oklch(0.944 0.024 88) 100%);
  --grad-soft:linear-gradient(130deg,oklch(0.985 0.005 80) 0%,oklch(0.938 0.02 340) 100%);
  --grad-dark:linear-gradient(165deg,#331625 0%,#3E1C2E 45%,#2A1120 100%);
  --font-serif:'Cormorant Garamond',Georgia,serif;
  --font-sans:'DM Sans',system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --header-h:76px;
}

/* ══ BASE ══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:16px;overflow-x:hidden}
body{font-family:var(--font-sans);background:var(--paper);color:var(--ink);line-height:1.65;font-size:1.02rem;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--marsala-500);text-decoration:none}
a:hover{color:var(--marsala-600)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--rose-200);color:var(--marsala-600)}
:focus-visible{outline:2px solid var(--gold-600);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;left:-999px;top:8px;z-index:200;background:var(--wine-800);color:var(--text-hi);padding:.6rem 1.1rem;border-radius:8px}
.skip-link:focus{left:8px}
.wrap{width:min(1200px,92vw);margin-inline:auto}
.wrap--narrow{width:min(880px,92vw)}
.ic{width:1.15em;height:1.15em;fill:currentColor;flex:none}
body::after{content:"";position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.05;mix-blend-mode:multiply;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='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}

/* tipografia */
h1,h2,h3{font-family:var(--font-serif);font-weight:600;line-height:1.12;letter-spacing:-.015em;text-wrap:balance;color:var(--ink)}
h1{font-size:clamp(2.5rem,5.2vw,4.3rem)}
h2{font-size:clamp(2rem,3.6vw,3rem)}
h1 em,h2 em{font-style:italic;background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
h2 em.gold{background:var(--grad-gold-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
p{text-wrap:pretty;max-width:62ch}
strong{color:var(--marsala-500);font-weight:600}

/* eyebrow + cabeçalho de seção */
.eyebrow{display:flex;align-items:center;gap:.9rem;text-transform:uppercase;letter-spacing:.22em;font-size:.74rem;font-weight:700;color:var(--marsala-500)}
.eyebrow-line{width:44px;height:1px;background:var(--grad-gold)}
.eyebrow--dark{color:var(--gold-400)}
.sec-head{position:relative;padding-top:2.2rem;margin-bottom:clamp(2rem,4vh,3.2rem)}
.sec-num{position:absolute;top:-.4rem;left:-.4rem;font-family:var(--font-serif);font-style:italic;font-size:clamp(3.4rem,6vw,5.2rem);color:transparent;-webkit-text-stroke:1px var(--line-gold);pointer-events:none}
.sec-head h2{margin-top:.8rem}
.sec-intro{margin-top:.9rem;color:var(--ink-2)}
.sec-head--split{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}

/* seções full-screen */
.section{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(64px,9vh,110px);overflow:hidden}
.sec-white{background:var(--paper)}
.sec-soft{background:var(--grad-soft)}
.sec-dark{background:var(--grad-dark);color:var(--text-hi)}
.sec-dark h2{color:var(--text-hi)}

/* botões */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.9rem;border-radius:999px;font-weight:700;font-size:.95rem;letter-spacing:.02em;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s;will-change:transform}
.btn--gold{background:var(--grad-gold);color:var(--wine-950);box-shadow:0 10px 28px -10px rgba(138,106,59,.55)}
.btn--gold:hover{color:var(--wine-950);box-shadow:0 16px 34px -10px rgba(138,106,59,.65);transform:translateY(-2px)}
.btn--ghost{border:1px solid var(--line-gold);color:var(--marsala-500);background:rgba(255,255,255,.5)}
.btn--ghost:hover{border-color:var(--gold-500);color:var(--marsala-600)}
.btn--sm{padding:.68rem 1.35rem;font-size:.86rem}
.btn--lg{padding:1.15rem 2.5rem;font-size:1.05rem}
.link-more{font-weight:700;color:var(--marsala-500);border-bottom:1px solid var(--line-gold);padding-bottom:2px;transition:border-color .3s}
.link-more:hover{border-color:var(--gold-500)}

/* reveals */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}

/* ══ HEADER (no fluxo — nunca fixo) ══ */
.site-header{position:relative;z-index:60;height:var(--header-h);display:flex;align-items:center;background:var(--hero-a)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:1.4rem}
.brand{display:flex;align-items:center;gap:.75rem;color:var(--ink)}
.brand-mono{width:42px;height:42px;flex:none}
.brand-name{font-family:var(--font-serif);font-weight:700;font-size:1.22rem;line-height:1.05;white-space:nowrap}
.brand-name small{display:block;font-family:var(--font-sans);font-weight:700;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--marsala-500);margin-top:2px}
.main-nav{display:flex;align-items:center;gap:clamp(.9rem,1.6vw,1.6rem)}
.main-nav a{font-size:.83rem;font-weight:500;letter-spacing:.04em;color:var(--ink);white-space:nowrap;padding:.35rem 0;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.main-nav a:hover{color:var(--marsala-500)}
.main-nav a.is-active{color:var(--marsala-500);border-bottom-color:var(--gold-500)}
.header-cta{white-space:nowrap}
.menu-toggle{display:none;flex-direction:column;gap:5px;padding:10px}
.menu-toggle span{width:24px;height:2px;background:var(--marsala-600);transition:.3s var(--ease)}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu-overlay{position:fixed;inset:0;z-index:100;background:var(--grad-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.4rem;padding:2rem}
.menu-overlay[hidden]{display:none}
.menu-overlay nav{display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.menu-overlay nav a{font-family:var(--font-serif);font-size:clamp(1.7rem,6vw,2.4rem);color:var(--text-hi);opacity:0;transform:translateY(14px);animation:menuIn .6s var(--ease) forwards}
.menu-overlay nav a:nth-child(2){animation-delay:.06s}.menu-overlay nav a:nth-child(3){animation-delay:.12s}.menu-overlay nav a:nth-child(4){animation-delay:.18s}.menu-overlay nav a:nth-child(5){animation-delay:.24s}.menu-overlay nav a:nth-child(6){animation-delay:.3s}.menu-overlay nav a:nth-child(7){animation-delay:.36s}.menu-overlay nav a:nth-child(8){animation-delay:.42s}
.menu-overlay nav a:hover{color:var(--gold-300)}
@keyframes menuIn{to{opacity:1;transform:none}}
body.menu-open{overflow:hidden}
@media (max-width:1060px){.main-nav,.header-cta{display:none}.menu-toggle{display:flex}}

/* ══ HERO ══ */
.hero{position:relative;min-height:calc(100vh - var(--header-h));min-height:calc(100svh - var(--header-h));display:flex;flex-direction:column;justify-content:center;background:var(--grad-hero);overflow:hidden;padding-block:clamp(3rem,7vh,5.5rem)}
#hero-particles,#hero-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.hero-glow{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(42% 46% at 78% 24%,rgba(201,163,95,.20),transparent 70%),radial-gradient(38% 42% at 12% 78%,rgba(169,127,174,.18),transparent 70%),radial-gradient(26% 30% at 55% 55%,rgba(240,220,227,.35),transparent 70%)}
.hero--static .hero-glow{background:radial-gradient(46% 50% at 76% 22%,rgba(201,163,95,.30),transparent 70%),radial-gradient(40% 44% at 10% 80%,rgba(169,127,174,.28),transparent 70%),radial-gradient(30% 34% at 50% 50%,rgba(240,220,227,.5),transparent 70%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(2rem,5vw,4.6rem);align-items:center}
.hero-sub{margin-top:1.3rem;color:var(--ink-2);font-size:1.08rem}
.hero-cta{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.8rem}
.hero-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem;list-style:none}
.hero-chips li{font-size:.78rem;font-weight:500;letter-spacing:.03em;color:var(--marsala-600);background:rgba(255,255,255,.55);border:1px solid var(--line-gold);border-radius:999px;padding:.42rem .95rem;backdrop-filter:blur(4px)}
.hero-photo{text-align:center}
.arch-frame{position:relative;margin-inline:auto;max-width:400px;padding:10px;border:1px solid var(--line-gold);border-radius:999px 999px 22px 22px;background:rgba(255,255,255,.4);box-shadow:0 34px 70px -30px rgba(94,47,72,.35)}
.arch-frame::after{content:"";position:absolute;inset:-9px;border:1px solid rgba(201,163,95,.35);border-radius:999px 999px 28px 28px;pointer-events:none}
.arch-frame img{border-radius:999px 999px 16px 16px;width:100%;aspect-ratio:1/1.04;object-fit:cover;object-position:50% 32%}
.hero-photo figcaption{margin-top:1rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.scroll-cue{position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);z-index:1;width:26px;height:44px;border:1.5px solid var(--marsala-400);border-radius:999px;display:flex;justify-content:center;padding-top:8px}
.scroll-cue span{width:3px;height:9px;border-radius:3px;background:var(--marsala-500);animation:cue 1.9s var(--ease) infinite}
@keyframes cue{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;text-align:center}
  .hero-cta,.hero-chips{justify-content:center}
  .eyebrow{justify-content:center}
  .hero-sub{margin-inline:auto}
  .hero-photo{order:-1}
  .arch-frame{max-width:290px}
  .scroll-cue{display:none}
}

/* ══ MARQUEE ══ */
.marquee{background:var(--wine-800);border-block:1px solid var(--line-gold);overflow:hidden;padding:.85rem 0}
.marquee-track{display:flex;width:max-content;animation:marquee 34s linear infinite}
.marquee-track span{font-family:var(--font-serif);font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mid);white-space:nowrap;padding-right:.6rem}
.marquee-track i{color:var(--gold-400);font-style:normal;padding-inline:.7rem}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ══ 01 · SOBRE ══ */
.sobre-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,4.5vw,4rem);align-items:start}
.boiserie-frame{position:relative;padding:12px;border:1px solid var(--line-gold);border-radius:200px 200px 20px 20px;background:#fff;box-shadow:0 30px 60px -28px rgba(94,47,72,.3)}
.boiserie-frame::before{content:"";position:absolute;inset:22px;border:1px solid rgba(201,163,95,.3);border-radius:180px 180px 14px 14px;pointer-events:none}
/* FIX: object-position ancora a imagem no topo — o crop do cover acontece
   só na parte inferior (colete/colo); a cabeça aparece sempre inteira */
.boiserie-frame img{border-radius:190px 190px 12px 12px;width:100%;aspect-ratio:4/4.4;object-fit:cover;object-position:center top}
.boiserie-frame--wide{border-radius:24px;padding:12px}
.boiserie-frame--wide::before{border-radius:16px;inset:22px}
.boiserie-frame--wide img{border-radius:16px;aspect-ratio:4/3}
.sobre-photo figcaption,.consultorio-photo figcaption{margin-top:.9rem;font-size:.8rem;color:var(--ink-2);letter-spacing:.05em}
.sobre-copy p+p{margin-top:1rem}
.sobre-quote{margin:1.5rem 0;padding:1.1rem 1.4rem;border-left:2px solid;border-image:var(--grad-gold) 1;background:rgba(245,230,234,.5);border-radius:0 14px 14px 0}
.sobre-quote p{font-family:var(--font-serif);font-style:italic;font-size:1.28rem;color:var(--marsala-600);max-width:none}
.sobre-values{list-style:none;display:grid;gap:.9rem;margin-top:1.4rem}
.sobre-values li{display:grid;grid-template-columns:auto 1fr;gap:.2rem .9rem;align-items:baseline;padding-left:1.1rem;position:relative}
.sobre-values li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--grad-gold)}
.sobre-values strong{color:var(--marsala-600);font-weight:700}
.sobre-values span{color:var(--ink-2);font-size:.94rem}
.sobre-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:18px;overflow:hidden;margin-top:.6rem}
.stat{background:rgba(255,255,255,.72);padding:1.5rem 1.2rem;text-align:center}
.stat-n{display:block;font-family:var(--font-serif);font-weight:600;font-size:clamp(1.9rem,3vw,2.6rem);color:var(--marsala-500);font-variant-numeric:tabular-nums}
.stat-l{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
@media (max-width:920px){.sobre-grid{grid-template-columns:1fr}.sobre-photo{max-width:430px;margin-inline:auto}.sobre-stats{grid-template-columns:repeat(2,1fr)}}

/* ══ 02 · ESTANTE DE LIVROS ══ */
.shelf-stage{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1.4rem,3vw,2.4rem);perspective:1700px;padding-block:1.4rem}
.book-card{--r:0deg;position:relative;width:clamp(150px,15vw,202px);aspect-ratio:2/3;transform:rotate(var(--r));transform-style:preserve-3d;transition:transform .55s var(--ease),opacity .4s;text-align:left;border-radius:6px}
.book-card:nth-child(1){--r:-4deg}.book-card:nth-child(2){--r:-2.2deg}.book-card:nth-child(3){--r:-1deg}.book-card:nth-child(4){--r:1deg}
.book-card:nth-child(5){--r:2.4deg}.book-card:nth-child(6){--r:4deg}.book-card:nth-child(7){--r:-3deg}.book-card:nth-child(8){--r:1.6deg}
.book-card:hover{transform:rotate(var(--r)) translateY(-16px);z-index:5}
.book{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .6s var(--ease)}
.book-shadow{position:absolute;inset:6% -8% -9% 10%;background:rgba(59,22,44,.34);filter:blur(18px);transform:translateZ(-46px);border-radius:8px}
.book-back{position:absolute;inset:0;background:var(--cover-color);border-radius:3px 8px 8px 3px;transform:translateZ(-13px)}
.page-block{position:absolute;inset:1.6% 2.2% 1.6% 6%;background:linear-gradient(90deg,#E7DCCB,#F8F2E7 18%,#EFE6D3 55%,#F8F2E7);border-radius:2px 6px 6px 2px;transform:translateZ(-5px);transition:inset .6s var(--ease),transform .6s var(--ease)}
.page-fan{position:absolute;inset:2% 3% 2% 7%;transform:translateZ(-9px)}
.page-fan i{position:absolute;inset:0;background:#F4ECDD;border-radius:2px 6px 6px 2px;transform-origin:left center;opacity:0;transition:transform .6s var(--ease),opacity .6s}
.front-cover{position:absolute;inset:0;border-radius:3px 8px 8px 3px;background:var(--cover-color);transform-origin:1.5% center;transform:translateZ(9px);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(232,200,143,.22),inset 5px 0 12px rgba(0,0,0,.3);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.front-cover::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.26),transparent 42%);pointer-events:none}
.front-cover::after{content:"";position:absolute;top:0;bottom:0;left:5%;width:2px;background:linear-gradient(rgba(232,200,143,.0),rgba(232,200,143,.4),rgba(232,200,143,0))}
.cover-art{position:absolute;inset:0;background-size:cover;background-position:center}
.cover-badge{position:absolute;right:.6rem;bottom:.6rem;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#F7EDE8;background:rgba(42,17,32,.55);border:1px solid rgba(232,200,143,.4);padding:.32rem .7rem;border-radius:999px;backdrop-filter:blur(3px)}
/* modo detalhe — livro fica visível e abre ao lado do painel */
.shelf[data-mode="detail"] .shelf-stage{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.shelf[data-mode="detail"] .book-card:not(.selected){display:none}
.book-card.selected{--r:0deg;width:min(300px,64vw);justify-self:center;transform:none;cursor:default}
.book-card.selected .front-cover{transform:translate3d(0,0,18px) rotateY(-29deg);box-shadow:25px 26px 44px rgba(42,17,32,.35),inset 0 0 0 1px rgba(232,200,143,.35),inset 5px 0 12px rgba(0,0,0,.25)}
.book-card.selected .page-block{inset:1.9% 1.5% 1.9% 4.4%;transform:translate3d(6px,1px,-10px)}
.book-card.selected .page-fan i{opacity:1}
.book-card.selected .page-fan i:nth-child(1){transform:rotateY(-4deg)}
.book-card.selected .page-fan i:nth-child(2){transform:rotateY(-8deg)}
.book-card.selected .page-fan i:nth-child(3){transform:rotateY(-12deg)}
.book-card.selected .page-fan i:nth-child(4){transform:rotateY(-16deg)}
.book-card.selected .book{transform:rotateX(var(--detail-pitch,0deg)) rotateY(var(--detail-yaw,0deg))}
.book-card.selected .cover-badge{opacity:0}
.book-panel{position:relative;background:rgba(255,255,255,.82);border:1px solid var(--line-gold);border-radius:20px;padding:clamp(1.6rem,3vw,2.6rem);backdrop-filter:blur(8px);box-shadow:0 26px 60px -30px rgba(94,47,72,.3)}
.book-panel[hidden]{display:none}
.bp-close{position:absolute;top:.9rem;right:.9rem;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-gold);color:var(--marsala-600);font-size:1.3rem;line-height:1;transition:background .3s}
.bp-close:hover{background:var(--rose-100)}
.bp-kicker{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-600)}
.bp-title{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:.5rem 0 .8rem}
.bp-desc{color:var(--ink-2)}
.bp-list{list-style:none;margin:1.1rem 0 1.4rem;display:grid;gap:.55rem}
.bp-list li{position:relative;padding-left:1.3rem;font-size:.95rem}
.bp-list li::before{content:"✦";position:absolute;left:0;color:var(--gold-500);font-size:.8rem;top:.15em}
.bp-note{margin-top:1rem;font-size:.8rem;color:var(--ink-2);font-style:italic}
.shelf-index{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:2.2rem}
.shelf-index button{font-size:.8rem;font-weight:500;color:var(--ink-2);border:1px solid var(--line-soft);border-radius:999px;padding:.45rem .95rem;transition:.3s;background:rgba(255,255,255,.5)}
.shelf-index button:hover{color:var(--marsala-600);border-color:var(--gold-500)}
.shelf-index b{font-family:var(--font-serif);font-style:italic;color:var(--gold-600);font-weight:600;margin-right:.3rem}
.shelf-disclaimer{margin-top:1.2rem;text-align:center;font-size:.84rem;color:var(--ink-2);font-style:italic}
@media (max-width:900px){
  .shelf-stage{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;padding:1.4rem .4rem 1.8rem;-webkit-overflow-scrolling:touch}
  .book-card{flex:0 0 auto;scroll-snap-align:center}
  .shelf[data-mode="detail"] .shelf-stage{display:grid;grid-template-columns:1fr;overflow:visible;scroll-snap-type:none}
  .book-card.selected{width:min(230px,64vw)}
  .book-panel{max-height:none}
}

/* ══ 03 · CONSULTÓRIO ══ */
.consultorio-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4.5vw,4rem);align-items:center}
.consultorio-copy p+p{margin-top:1rem}
.consultorio-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem;margin:1.4rem 0 1.2rem}
.consultorio-chips li{font-size:.78rem;font-weight:500;color:var(--marsala-600);background:rgba(255,255,255,.6);border:1px solid var(--line-gold);border-radius:999px;padding:.42rem .95rem}
@media (max-width:920px){.consultorio-grid{grid-template-columns:1fr}}

/* ══ 04 · COMO FUNCIONA ══ */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;counter-reset:step}
.step{position:relative;background:rgba(255,255,255,.78);border:1px solid var(--line-gold);border-radius:18px;padding:1.7rem 1.4rem;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.step:hover{transform:translateY(-6px);box-shadow:0 24px 44px -24px rgba(94,47,72,.35)}
.step-n{font-family:var(--font-serif);font-style:italic;font-size:2.3rem;background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.step h3{font-size:1.28rem;margin:.7rem 0 .5rem}
.step p{font-size:.92rem;color:var(--ink-2)}
.steps-note{margin-top:1.6rem;text-align:center;color:var(--ink-2)}
@media (max-width:980px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* ══ 05 · DEPOIMENTOS ══ */
.sec-dark .sec-num{-webkit-text-stroke-color:rgba(201,163,95,.4)}
.gseal{display:flex;align-items:center;gap:.9rem;border:1px solid var(--line-gold);border-radius:16px;padding:.9rem 1.3rem;background:rgba(255,255,255,.04);color:var(--text-hi);transition:border-color .3s,transform .35s var(--ease)}
.gseal:hover{border-color:var(--gold-400);transform:translateY(-3px);color:var(--text-hi)}
.gseal-stars{display:flex;gap:2px;color:var(--gold-400)}
.gseal-n{font-family:var(--font-serif);font-size:2.1rem;font-weight:600;color:var(--gold-300)}
.gseal-t{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mid);line-height:1.4}
.slider{margin-top:1rem}
.slides{display:flex;transition:transform .7s var(--ease);align-items:stretch;touch-action:pan-y}
.slide{min-width:100%;padding:clamp(1.6rem,4vw,3rem);background:rgba(255,255,255,.045);border:1px solid rgba(201,163,95,.22);border-radius:22px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:1.1rem}
.slide-stars{display:flex;justify-content:center;gap:3px;color:var(--gold-400)}
.slide p{font-family:var(--font-serif);font-size:clamp(1.15rem,2.1vw,1.5rem);font-style:italic;line-height:1.5;color:var(--text-hi);max-width:44ch;margin-inline:auto}
.slide cite{font-style:normal;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-300)}
.slide cite span{color:var(--text-mid);text-transform:none;letter-spacing:.03em}
.slider-nav{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-top:1.6rem}
.slider-nav .prev,.slider-nav .next{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-gold);color:var(--gold-300);display:flex;align-items:center;justify-content:center;transition:.3s}
.slider-nav .prev:hover,.slider-nav .next:hover{background:rgba(201,163,95,.14)}
.dots{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.dot{width:9px;height:9px;border-radius:50%;background:rgba(212,182,188,.35);transition:.3s}
.dot.is-active{background:var(--gold-400);transform:scale(1.35)}

/* ══ 06 · FAQ ══ */
.faq-list{display:grid;gap:.8rem}
.faq-item{background:rgba(255,255,255,.85);border:1px solid var(--line-gold);border-radius:16px;overflow:hidden}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.4rem;cursor:pointer;font-weight:700;font-size:1.02rem;color:var(--ink);transition:color .3s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--marsala-500)}
.faq-ic{position:relative;width:20px;height:20px;flex:none}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;inset:0;margin:auto;background:var(--gold-600);transition:transform .35s var(--ease)}
.faq-ic::before{width:14px;height:2px}
.faq-ic::after{width:2px;height:14px}
.faq-item[open] .faq-ic::after{transform:rotate(90deg) scaleY(0)}
.faq-body{padding:0 1.4rem 1.3rem;color:var(--ink-2)}
.faq-body a{font-weight:700}

/* ══ 07 · ONDE ESTOU ══ */
.onde-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2rem,4vw,3.4rem);align-items:stretch}
.onde-info address{font-style:normal;font-size:1.15rem;line-height:1.7;padding:1.3rem 1.5rem;background:rgba(255,255,255,.75);border:1px solid var(--line-gold);border-radius:18px}
.onde-info address strong{font-family:var(--font-serif);font-size:1.35rem;color:var(--marsala-600)}
.onde-list{list-style:none;margin-top:1.2rem;display:grid;gap:.9rem}
.onde-list li{display:flex;gap:.8rem;align-items:flex-start;font-size:.92rem;color:var(--ink-2)}
.onde-list .ic{color:var(--gold-600);margin-top:.2em}
.onde-list strong{color:var(--marsala-500)}
.onde-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.onde-note{margin-top:1.2rem;font-size:.9rem;color:var(--ink-2);font-style:italic}
.onde-map iframe{width:100%;height:100%;min-height:340px;border:0;border-radius:20px;border:1px solid var(--line-gold);box-shadow:0 26px 50px -26px rgba(94,47,72,.3);filter:saturate(.9) sepia(.06)}
@media (max-width:920px){.onde-grid{grid-template-columns:1fr}.onde-map iframe{min-height:300px}}

/* ══ CTA FINAL ══ */
.cta-final{position:relative;min-height:82vh;min-height:82svh;display:flex;align-items:center;background:var(--grad-hero);overflow:hidden;text-align:center;padding-block:clamp(4rem,10vh,7rem)}
.cta-ghost{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-serif);font-style:italic;font-size:clamp(16rem,38vw,30rem);color:transparent;-webkit-text-stroke:1px rgba(142,58,92,.12);pointer-events:none;line-height:1}
.cta-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.3rem}
.cta-final h2{font-size:clamp(2.3rem,4.6vw,3.8rem);max-width:18ch}
.cta-final p{color:var(--ink-2)}

/* ══ 08 · CONTATO ══ */
.contato-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,4vw,3.4rem);align-items:stretch}
.cform{display:flex;flex-direction:column;gap:1.1rem;background:rgba(255,255,255,.8);border:1px solid var(--line-gold);border-radius:22px;padding:clamp(1.5rem,3vw,2.4rem)}
.field label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--marsala-500);margin-bottom:.45rem}
.field label small{text-transform:none;letter-spacing:0;color:var(--ink-2);font-weight:400}
.field input,.field select,.field textarea{width:100%;height:52px;padding:0 1.1rem;border:1px solid var(--line-soft);border-radius:12px;background:#fff;font:inherit;color:var(--ink);transition:border-color .3s,box-shadow .3s}
.field textarea{height:auto;padding:.9rem 1.1rem;resize:vertical;min-height:110px}
.field input::placeholder,.field textarea::placeholder{color:#A68F98}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(201,163,95,.22);outline:none}
.select-wrap{position:relative}
.select-wrap select{appearance:none;-webkit-appearance:none;padding-right:2.8rem}
.select-wrap::after{content:"";position:absolute;right:1.1rem;top:50%;width:9px;height:9px;border-right:2px solid var(--gold-600);border-bottom:2px solid var(--gold-600);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.form-note{font-size:.8rem;color:var(--ink-2)}
.contato-cards{display:grid;gap:.9rem;align-content:stretch}
.ccard{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.4rem;background:rgba(255,255,255,.8);border:1px solid var(--line-gold);border-radius:16px;color:var(--ink);transition:transform .35s var(--ease),border-color .3s}
a.ccard:hover{transform:translateX(6px);border-color:var(--gold-500);color:var(--ink)}
.ccard .ic{width:1.5em;height:1.5em;color:var(--gold-600)}
.ccard small{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--marsala-500);font-weight:700}
.ccard span{font-weight:500;line-height:1.45}
@media (max-width:920px){.contato-grid{grid-template-columns:1fr}}

/* ══ FOOTER ══ */
.site-footer{background:var(--grad-dark);color:var(--text-mid)}
.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:2.4rem;padding-block:clamp(3rem,6vh,4.5rem)}
.footer-name{font-family:var(--font-serif);font-size:1.6rem;font-weight:600;color:var(--text-hi)}
.footer-brand p{margin-top:.8rem;font-size:.92rem}
.footer-regs{color:var(--gold-400);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.footer-nav{display:flex;flex-direction:column;gap:.5rem}
.footer-nav a{color:var(--text-mid);font-size:.92rem}
.footer-nav a:hover{color:var(--gold-300)}
.footer-contact{display:flex;flex-direction:column;gap:.5rem;font-size:.92rem}
.footer-contact a{color:var(--text-mid)}
.footer-contact a:hover{color:var(--gold-300)}
.footer-base{border-top:1px solid rgba(201,163,95,.18);padding-block:1.2rem}
.footer-base-in{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem}
.footer-base a{color:var(--gold-400);font-weight:700}
.footer-base a:hover{color:var(--gold-300)}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr;gap:1.8rem}}

/* ══ FLUTUANTES ══ */
.wa-float{position:fixed;right:1.2rem;bottom:1.2rem;z-index:80;width:58px;height:58px;border-radius:50%;background:#2BB741;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px -8px rgba(20,90,40,.5);transition:transform .3s var(--ease)}
.wa-float:hover{transform:scale(1.08);color:#fff}
.wa-float::before{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(43,183,65,.5);animation:pulse 2.2s ease-out infinite}
.wa-float .ic{width:1.7em;height:1.7em}
@keyframes pulse{0%{transform:scale(.85);opacity:1}100%{transform:scale(1.35);opacity:0}}
.to-top{position:fixed;right:1.45rem;bottom:5.6rem;z-index:80;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-gold);background:rgba(255,255,255,.85);color:var(--marsala-600);font-size:1.1rem;opacity:0;pointer-events:none;transform:translateY(8px);transition:.4s var(--ease);backdrop-filter:blur(4px)}
.to-top.is-visible{opacity:1;pointer-events:auto;transform:none}

/* ══ REDUCED MOTION ══ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .marquee-track{animation:none}
  #hero-particles{display:none}
}

