/* ==========================================================================
   Dra. Juliana Favaro Izidoro · Dermatologista · Jundiaí/SP
   Padrão PROMPT-NOVO v2 · paleta medida do logo dourado e do retrato (matiz 20-26°)
   ========================================================================== */

:root{
  --paper:#FAF6F0;
  --paper-2:#F2E8DE;
  --creme:#F0DCD2;
  --caramelo:#C8A082;
  --oiro:#B4926A;
  --dourado:#BE9F7B;
  --terracota:#A06E5A;
  --terracota-2:#966450;
  --carvao:#221B16;
  --carvao-2:#2E251E;
  --tinta:#2A211C;
  --marfim:#FBF6F0;
  --linha:rgba(180,146,106,.30);

  /* gradientes: ESTILO fixo do padrão, CORES da paleta do hero */
  --grad-hero:linear-gradient(165deg,#1A1410 0%,#221B16 46%,#2E251E 100%);
  --grad-dark:linear-gradient(165deg,#221B16 0%,#2A211B 52%,#382C23 100%);
  --grad-soft:linear-gradient(130deg,oklch(0.968 0.014 72) 0%,oklch(0.948 0.020 66) 52%,oklch(0.922 0.028 60) 100%);
  --grad-paper:linear-gradient(130deg,oklch(0.975 0.010 74) 0%,oklch(0.958 0.016 68) 60%,oklch(0.940 0.022 62) 100%);
  --grad-accent:linear-gradient(115deg,#966450 0%,#B4926A 46%,#C8A082 100%);
  --grad-btn:linear-gradient(115deg,#6E4634 0%,#8A5C42 48%,#9C6E50 100%);
  --grad-metal:linear-gradient(115deg,#B4926A 0%,#DCC0A0 38%,#8A6448 72%,#C8A082 100%);
  --grad-line:linear-gradient(90deg,rgba(180,146,106,0) 0%,rgba(180,146,106,.55) 50%,rgba(180,146,106,0) 100%);

  --shadow-1:0 1px 2px rgba(34,27,22,.06),0 6px 18px rgba(34,27,22,.06);
  --shadow-2:0 18px 44px rgba(34,27,22,.16);
  --shadow-photo:0 30px 70px rgba(24,18,14,.40);

  --r-sm:10px;
  --r-md:16px;
  --r-lg:26px;

  --wrap:1180px;
  --header-h:78px;
  --cookie-h:0px;

  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  font-size:clamp(1rem,.96rem + .2vw,1.075rem);
  line-height:1.68;
  color:var(--tinta);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:-.01em;margin:0}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
[hidden]{display:none !important}
:focus-visible{outline:2px solid var(--oiro);outline-offset:3px;border-radius:4px}

.skip-link{position:absolute;left:-999px;top:0;z-index:200;background:var(--carvao);color:var(--marfim);padding:.7rem 1.1rem;border-radius:0 0 var(--r-sm) 0}
.skip-link:focus{left:0}
.wrap{width:min(var(--wrap),92vw);margin-inline:auto}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  min-height:52px;padding:.85rem 1.5rem;
  font-family:var(--sans);font-size:.94rem;font-weight:500;letter-spacing:.02em;
  border:1px solid transparent;border-radius:999px;
  text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease;
}
.btn--lg{min-height:58px;padding:1rem 2rem;font-size:1rem}
.btn--primary{background:var(--grad-btn);color:#FFFAF4;box-shadow:var(--shadow-1)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.btn--ghost{background:transparent;border-color:var(--linha);color:var(--terracota-2)}
.btn--ghost:hover{background:rgba(180,146,106,.1)}
.bg-grad-main .btn--ghost,.bg-dark .btn--ghost{color:var(--dourado);border-color:rgba(200,160,130,.5)}
.bg-grad-main .btn--ghost:hover,.bg-dark .btn--ghost:hover{background:rgba(200,160,130,.16);color:var(--marfim);border-color:rgba(200,160,130,.7)}
.btn--outline{background:transparent;border-color:var(--oiro);color:var(--terracota-2)}
.btn--outline:hover{background:var(--oiro);color:#FFFAF4}

.ico-wa{width:1.05em;height:1.05em;flex:0 0 auto;background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.46 1.32 4.96L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91C21.95 6.45 17.5 2 12.04 2zm5.79 14.02c-.24.68-1.4 1.3-1.94 1.35-.54.05-1.04.24-3.5-.73-2.96-1.17-4.8-4.23-4.95-4.43-.15-.2-1.17-1.55-1.17-2.96 0-1.41.73-2.1 1-2.39.26-.29.57-.36.76-.36.19 0 .39 0 .55.01.18.01.42-.07.65.5.24.58.81 1.99.88 2.13.07.15.12.32.02.51-.1.2-.15.32-.29.49-.15.17-.31.39-.44.52-.15.15-.3.31-.13.6.17.29.76 1.25 1.63 2.03 1.12 1 2.06 1.31 2.35 1.46.29.15.46.12.63-.07.17-.2.73-.85.92-1.14.19-.29.39-.24.65-.15.26.1 1.67.79 1.96.93.29.15.48.22.55.34.07.12.07.7-.17 1.38z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.46 1.32 4.96L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91C21.95 6.45 17.5 2 12.04 2zm5.79 14.02c-.24.68-1.4 1.3-1.94 1.35-.54.05-1.04.24-3.5-.73-2.96-1.17-4.8-4.23-4.95-4.43-.15-.2-1.17-1.55-1.17-2.96 0-1.41.73-2.1 1-2.39.26-.29.57-.36.76-.36.19 0 .39 0 .55.01.18.01.42-.07.65.5.24.58.81 1.99.88 2.13.07.15.12.32.02.51-.1.2-.15.32-.29.49-.15.17-.31.39-.44.52-.15.15-.3.31-.13.6.17.29.76 1.25 1.63 2.03 1.12 1 2.06 1.31 2.35 1.46.29.15.46.12.63-.07.17-.2.73-.85.92-1.14.19-.29.39-.24.65-.15.26.1 1.67.79 1.96.93.29.15.48.22.55.34.07.12.07.7-.17 1.38z'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- Header ---------- */
.site-header-wrap{position:sticky;top:0;z-index:90}
.site-header{
  background:rgba(26,20,16,.84);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(180,146,106,.22);
  transition:transform .4s ease,background-color .4s ease;
}
.site-header.is-hidden,.site-header.is-scrolled.is-hidden{transform:translateY(-102%)}
.site-header.is-scrolled{background:rgba(26,20,16,.95);box-shadow:0 10px 30px rgba(24,18,14,.26)}
.header-inner{width:min(var(--wrap),94vw);margin-inline:auto;min-height:var(--header-h);display:flex;align-items:center;gap:1.2rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--marfim);flex:0 0 auto}
.brand-mark{color:var(--caramelo);display:grid;place-items:center}
.brand-text{display:flex;flex-direction:column;line-height:1.12}
.brand-text strong{font-family:var(--serif);font-size:1.2rem;font-weight:500;letter-spacing:.01em}
.brand-text small{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--caramelo);opacity:.92}

.main-nav{margin-left:auto}
.main-nav ul{display:flex;align-items:center;gap:1.1rem}
.main-nav a{text-decoration:none;color:rgba(251,246,240,.84);font-size:.89rem;white-space:nowrap;padding:.4rem .1rem;position:relative;transition:color .2s ease}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--grad-metal);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.main-nav a:hover{color:var(--marfim)}
.main-nav a:hover::after{transform:scaleX(1)}

.header-cta{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:.45rem;
  min-height:44px;padding:.6rem 1.25rem;border-radius:999px;
  background:var(--grad-btn);color:#FFFAF4;font-size:.88rem;font-weight:500;
  text-decoration:none;white-space:nowrap;box-shadow:var(--shadow-1);
}
.nav-toggle{display:none;flex:0 0 auto;width:46px;height:46px;background:transparent;border:1px solid rgba(180,146,106,.35);border-radius:12px;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.nav-toggle-bar{display:block;width:20px;height:2px;background:var(--marfim);transition:transform .3s ease,opacity .25s ease}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{background:var(--grad-dark);border-top:1px solid rgba(180,146,106,.2);padding:1rem 0 1.4rem}
.mobile-menu ul{width:min(var(--wrap),92vw);margin-inline:auto;display:grid;gap:.2rem}
.mobile-menu a{display:block;padding:.85rem .2rem;min-height:48px;color:rgba(251,246,240,.9);text-decoration:none;font-size:1.02rem;border-bottom:1px solid rgba(180,146,106,.14)}
.mobile-cta{margin-top:.9rem;background:var(--grad-btn);color:#FFFAF4 !important;border-radius:999px;text-align:center;border-bottom:0 !important;font-weight:500}

/* ---------- Sistema de seção ---------- */
.section{position:relative;padding:clamp(4.2rem,8.5svh,7.4rem) 0}
.bg-paper{background:var(--grad-paper)}
.bg-grad-soft{background:var(--grad-soft)}
.bg-dark{background:var(--grad-dark)}
.bg-grad-main{background:var(--grad-hero)}
.section::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--grad-line)}
.section-head{position:relative;max-width:52rem;margin-bottom:clamp(2rem,4.5svh,3.2rem)}
.section-num{position:absolute;top:-.55em;left:-.06em;z-index:-1;font-family:var(--serif);font-size:clamp(4.6rem,11vw,8.4rem);line-height:1;color:var(--oiro);opacity:.13;pointer-events:none;user-select:none}
.section-kicker{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:#7A5240;font-weight:600;margin:0 0 .75rem}
.section-title{font-size:clamp(1.85rem,1.3rem + 2.4vw,3.05rem);color:var(--tinta)}
.bg-dark .section-title,.bg-grad-main .section-title,.section--cta .section-title{color:var(--marfim)}
.bg-dark .section-kicker,.bg-grad-main .section-kicker,.section--cta .section-kicker{color:var(--caramelo)}
.bg-dark .section-num,.bg-grad-main .section-num{color:var(--caramelo);opacity:.16}
.section-lead{margin-top:1rem;color:#574F46;max-width:44rem}
.bg-dark .section-lead,.bg-grad-main .section-lead{color:rgba(240,220,210,.82)}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-in{opacity:1;transform:none}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(3.4rem,7svh,5.6rem) 0 0;color:var(--creme)}
.ghost-mark{position:absolute;bottom:4%;left:-3%;z-index:0;font-family:var(--serif);font-style:italic;font-size:clamp(5.5rem,14vw,13rem);line-height:1;color:rgba(200,160,130,.05);pointer-events:none;user-select:none}
.ghost-mark--center{top:auto;bottom:-12%;right:auto;left:50%;transform:translateX(-50%);font-size:clamp(8rem,22vw,18rem)}
.grain{position:absolute;inset:0;z-index:1;opacity:.34;pointer-events:none;
  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='.42'/%3E%3C/svg%3E");
  animation:grainShift 9s steps(6) infinite}
.glow{position:absolute;z-index:0;pointer-events:none;border-radius:50%;filter:blur(60px)}
.glow--text{top:6%;left:-8%;width:44vw;height:44vw;background:radial-gradient(circle,rgba(180,146,106,.34) 0%,rgba(180,146,106,0) 68%)}
.glow--photo{bottom:-8%;right:2%;width:38vw;height:38vw;background:radial-gradient(circle,rgba(200,160,130,.22) 0%,rgba(200,160,130,0) 70%)}

.hero-inner{position:relative;z-index:2;width:min(var(--wrap),92vw);margin-inline:auto;display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(2rem,5vw,4.4rem);align-items:center;padding-bottom:clamp(2.6rem,6svh,4rem)}
.hero-kicker{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--caramelo);margin:0 0 1.1rem}
.hero-title{font-size:clamp(2.3rem,1.35rem + 4vw,4.1rem);color:var(--marfim)}
.hero-title em{font-style:italic;color:var(--dourado)}
.hero-sub{margin-top:1.25rem;max-width:34rem;color:rgba(240,220,210,.87);font-weight:300}
.hero-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.6rem 0 0}
.hero-chips li{padding:.42rem 1rem;border:1px solid rgba(180,146,106,.4);border-radius:999px;font-size:.82rem;color:var(--caramelo);background:rgba(180,146,106,.07)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.9rem}
.hero-tel{margin-top:1.3rem;font-size:.94rem;color:rgba(240,220,210,.74)}
.hero-tel a{color:var(--caramelo);text-decoration:none;border-bottom:1px solid rgba(180,146,106,.5)}

.hero-photo{position:relative;display:flex;flex-direction:column;align-items:center}
.portrait-frame{
  position:relative;width:min(100%,400px);aspect-ratio:4/5;
  border-radius:50% 50% 22px 22px / 32% 32% 22px 22px;
  overflow:hidden;border:1px solid rgba(180,146,106,.42);
  box-shadow:var(--shadow-photo);background:var(--grad-dark);
}
.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 26%}
.portrait-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,27,22,0) 54%,rgba(34,27,22,.52) 100%)}
.hero-proof{position:relative;margin-top:1.15rem;text-align:center;font-size:.86rem;color:rgba(240,220,210,.84)}
.hero-proof strong{color:var(--marfim)}
.proof-stars{color:var(--caramelo);letter-spacing:.14em;margin-right:.35rem}
.proof-sep{margin:0 .45rem;opacity:.5}

.marquee{position:relative;z-index:2;overflow:hidden;border-top:1px solid rgba(180,146,106,.22);padding:.85rem 0;background:rgba(0,0,0,.18)}
.marquee-track{display:flex;gap:1.5rem;white-space:nowrap;width:max-content;animation:marquee 38s linear infinite}
.marquee-track span{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(200,160,130,.86)}

/* ---------- A médica ---------- */
.about-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:clamp(2rem,4.5vw,3.6rem);align-items:start}
.about-body .lead{font-size:1.14rem;color:var(--tinta)}
.about-body p{color:#4E463D}
.creds{display:grid;gap:.6rem;margin:1.6rem 0}
.creds li{position:relative;padding-left:1.6rem;font-size:.96rem;color:#443C34}
.creds li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--grad-accent)}
.about-quote{margin:1.8rem 0;padding:1.4rem 1.6rem;border-left:2px solid var(--oiro);background:rgba(180,146,106,.08);border-radius:0 var(--r-md) var(--r-md) 0}
.about-quote p{font-family:var(--serif);font-style:italic;font-size:1.36rem;color:var(--tinta);margin:0}
.about-quote cite{display:block;margin-top:.5rem;font-style:normal;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terracota-2)}
.about-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.about-side{display:grid;gap:1.1rem}
.side-photo{width:100%;aspect-ratio:6/7;object-fit:cover;object-position:50% 45%;border-radius:var(--r-lg);border:1px solid var(--linha);box-shadow:var(--shadow-2)}
.side-card{background:var(--grad-dark);color:var(--creme);padding:1.8rem 1.6rem;border-radius:var(--r-lg);box-shadow:var(--shadow-2)}
.side-title{font-family:var(--serif);font-size:1.35rem;color:var(--marfim);margin-bottom:1rem}
.side-list{display:grid;gap:.7rem}
.side-list li{padding-left:1.5rem;position:relative;font-size:.94rem;color:rgba(240,220,210,.87)}
.side-list li::before{content:"";position:absolute;left:0;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--caramelo)}
.side-note{margin:1.2rem 0 0;font-size:.84rem;color:rgba(200,160,130,.84)}

/* ---------- Estante (padrão Zanetti) ---------- */
.shelf-stage{position:relative;margin-top:.5rem}
.shelf-row{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(.7rem,1.5vw,1.15rem);align-items:end;perspective:1600px}
.book-card{position:relative;aspect-ratio:3/4;cursor:pointer;border:0;background:none;padding:0;transition:transform .5s cubic-bezier(.2,.7,.3,1),opacity .45s ease,filter .45s ease;transform-origin:bottom center}
.book-card:focus-visible{outline:2px solid var(--oiro);outline-offset:4px;border-radius:8px}
.book-3d{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(-29deg);transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.book-card:hover .book-3d{transform:rotateY(-16deg) translateY(-8px)}
.book-spine{position:absolute;left:0;top:0;bottom:0;width:12px;transform:translateX(-11px) rotateY(90deg);transform-origin:right center;background:var(--grad-accent)}
.front-cover{
  position:absolute;inset:0;width:100%;height:100%;
  border-radius:4px 8px 8px 4px;overflow:hidden;
  background-color:var(--cover-color,#221B16);
  background-image:var(--cover-img);background-size:cover;background-position:center;
  box-shadow:0 14px 30px rgba(24,18,14,.36),inset 0 0 0 1px rgba(251,246,240,.12);
  display:flex;flex-direction:column;justify-content:flex-end;padding:1rem .85rem .9rem;
}
.front-cover::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,20,16,.18) 0%,rgba(26,20,16,.62) 58%,rgba(26,20,16,.88) 100%)}
.front-cover>*{position:relative;z-index:1}
.cover-kicker{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--caramelo);margin-bottom:.3rem}
.cover-title{font-family:var(--serif);font-size:clamp(.9rem,.58rem + .72vw,1.2rem);line-height:1.16;color:var(--marfim)}
.cover-sub{display:block;margin-top:.35rem;font-size:.65rem;letter-spacing:.05em;color:rgba(240,220,210,.74)}
.cover-foot{margin-top:.6rem;font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(200,160,130,.8)}

.shelf-row.has-selection{grid-template-columns:1fr;justify-items:center}
.shelf-row.has-selection .book-card{grid-column:1;grid-row:1}
.shelf-row.has-selection .book-card.is-selected{width:min(320px,58%);z-index:2}
.shelf-row.has-selection .book-card:not(.is-selected){opacity:0;transform:translateY(26px) scale(.9);pointer-events:none}
.shelf-row .book-card.is-selected .book-3d{transform:rotateY(-6deg) translateY(-12px)}
.shelf-row .book-card.is-selected{opacity:1}

.book-panel{position:relative;margin-top:2rem;padding:clamp(1.6rem,3.5vw,2.6rem);background:var(--grad-dark);color:var(--creme);border-radius:var(--r-lg);box-shadow:var(--shadow-2);border:1px solid rgba(180,146,106,.24);animation:fadeUp .45s ease both}
.book-panel-close{position:absolute;top:.85rem;right:.85rem;width:44px;height:44px;background:transparent;border:1px solid rgba(180,146,106,.4);border-radius:50%;color:var(--creme);font-size:1.4rem;line-height:1;display:grid;place-items:center}
.bp-kicker{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--caramelo);margin:0 0 .55rem}
.bp-title{font-family:var(--serif);font-size:clamp(1.5rem,1.1rem + 1.3vw,2.15rem);color:var(--marfim)}
.bp-desc{margin:1rem 0 1.2rem;color:rgba(240,220,210,.87);max-width:46rem}
.bp-list{display:grid;gap:.6rem;margin-bottom:1.2rem}
.bp-list li{padding-left:1.5rem;position:relative;font-size:.95rem;color:rgba(240,220,210,.85)}
.bp-list li::before{content:"";position:absolute;left:0;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--caramelo)}
.bp-note{margin:0 0 1.5rem;font-size:.85rem;color:rgba(200,160,130,.82);max-width:46rem;padding-left:1rem;border-left:2px solid rgba(180,146,106,.34)}

/* ---------- Caderno 3D / etapas ---------- */
.caderno-host{height:clamp(210px,32svh,330px);margin-bottom:2.4rem;border-radius:var(--r-lg);background:var(--grad-soft);border:1px solid var(--linha);display:grid;place-items:center;overflow:hidden;position:relative}
.caderno-host canvas{max-height:100%}
.etapas{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.9rem,2vw,1.4rem)}
.etapa{position:relative;background:var(--grad-paper);border:1px solid var(--linha);border-radius:var(--r-md);padding:1.7rem 1.35rem 1.5rem;box-shadow:var(--shadow-1)}
.etapa-num{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--grad-btn);color:#FFFAF4;font-family:var(--serif);font-size:1.15rem;margin-bottom:.95rem}
.etapa h3{font-size:1.14rem;color:var(--tinta);margin-bottom:.5rem}
.etapa p{font-size:.92rem;color:#574F46;margin:0}

/* ---------- O consultório ---------- */
.espaco-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.8rem,1.6vw,1.2rem)}
.espaco-item{position:relative;margin:0;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--linha);box-shadow:var(--shadow-1);background:var(--grad-soft)}
.espaco-item--wide{grid-column:span 2}
.espaco-item img{width:100%;height:100%;aspect-ratio:6/5;object-fit:cover;object-position:50% 45%;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.espaco-item--wide img{aspect-ratio:16/10}
.espaco-item:hover img{transform:scale(1.03)}
.espaco-item figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:1.6rem .95rem .8rem;
  font-size:.8rem;letter-spacing:.04em;color:rgba(251,246,240,.94);
  background:linear-gradient(180deg,rgba(26,20,16,0) 0%,rgba(26,20,16,.82) 100%);
}

/* ---------- Intervencionista ---------- */
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.9rem,2vw,1.5rem)}
.feature{background:var(--grad-paper);border:1px solid var(--linha);border-radius:var(--r-md);padding:1.7rem 1.5rem;box-shadow:var(--shadow-1);position:relative;overflow:hidden}
.feature::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad-metal)}
.feature h3{font-size:1.2rem;color:var(--tinta);margin-bottom:.55rem}
.feature p{font-size:.94rem;color:#574F46;margin:0}
.disclaimer{margin:1.7rem 0 0;font-size:.86rem;color:#615A51;max-width:52rem;padding-left:1.1rem;border-left:2px solid var(--linha)}

/* ---------- Depoimentos ---------- */
.testi{position:relative;--testi-gap:28px;padding:0 56px}
.testi-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:48px;height:48px;border-radius:50%;border:1px solid rgba(180,146,106,.4);
  background:rgba(34,27,22,.74);color:var(--creme);font-size:1.5rem;line-height:1;
  display:grid;place-items:center;backdrop-filter:blur(6px);
}
.testi-nav--prev{left:0}
.testi-nav--next{right:0}
.testi-track{display:flex;gap:var(--testi-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.5rem}
.testi-track::-webkit-scrollbar{display:none}
.testi-slide{
  flex:0 0 100%;scroll-snap-align:start;
  background:linear-gradient(165deg,rgba(240,220,210,.09) 0%,rgba(240,220,210,.045) 100%);
  border:1px solid rgba(180,146,106,.28);border-radius:var(--r-md);
  padding:1.7rem 1.5rem;display:flex;flex-direction:column;gap:.85rem;min-height:250px;
}
.testi-stars{color:var(--caramelo);letter-spacing:.16em;font-size:.95rem}
.testi-text{margin:0;flex:1}
.testi-text p{margin:0;font-family:var(--serif);font-size:1.12rem;line-height:1.52;color:var(--creme)}
.testi-foot cite{font-style:normal;font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;color:var(--caramelo)}
.testi-bottom{margin-top:1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;justify-content:space-between}
.testi-dots{display:flex;gap:.4rem;flex-wrap:wrap}
.testi-dots button{width:44px;height:44px;border:0;background:transparent;display:grid;place-items:center;padding:0}
.testi-dots button::before{content:"";width:9px;height:9px;border-radius:50%;background:rgba(200,160,130,.32);transition:background-color .25s ease,transform .25s ease}
.testi-dots button.is-on::before{background:var(--caramelo);transform:scale(1.35)}
.testi-seal{font-size:.86rem;color:rgba(240,220,210,.8);margin:0}
.testi-seal span{color:var(--caramelo);letter-spacing:.12em;margin-right:.3rem}
.testi-seal a{color:var(--caramelo);text-decoration:none;border-bottom:1px solid rgba(180,146,106,.5);margin-left:.4rem}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;align-items:start}
.faq-item{background:var(--grad-paper);border:1px solid var(--linha);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-1)}
.faq-item summary{cursor:pointer;list-style:none;padding:1.15rem 3rem 1.15rem 1.35rem;font-family:var(--serif);font-size:1.08rem;color:var(--tinta);position:relative;min-height:56px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:1.15rem;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--terracota-2);transition:transform .3s ease}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-body{padding:0 1.35rem 1.25rem}
.faq-body p{margin:0;font-size:.94rem;color:#574F46}

/* ---------- Onde atendo ---------- */
.where-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,3.5vw,3rem);align-items:start}
.where-addr{font-size:1.02rem;color:#443C34;line-height:1.7}
.where-addr strong{font-family:var(--serif);font-size:1.22rem;color:var(--tinta)}
.where-ref{color:#574F46;font-size:.95rem;max-width:32rem}
.atend-info{display:grid;gap:.25rem;margin:1.4rem 0 1.6rem;max-width:28rem}
.atend-info li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--linha);font-size:.94rem}
.atend-info li span:last-child{color:var(--terracota-2);font-weight:500;text-align:right}
.where-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.copy-ok{margin-top:.9rem;font-size:.9rem;color:var(--terracota-2)}
.where-map{display:grid;gap:1rem}
.where-photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 42%;border-radius:var(--r-md);border:1px solid var(--linha);box-shadow:var(--shadow-1)}
.map-frame{position:relative;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--linha);min-height:clamp(260px,38svh,360px);display:grid;place-items:center;background:var(--grad-soft);box-shadow:var(--shadow-1)}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-consent{padding:2rem 1.6rem;text-align:center;max-width:26rem}
.map-consent p{font-size:.92rem;color:#574F46;margin-bottom:1.2rem}

/* ---------- Contato ---------- */
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.4rem;max-width:52rem}
.field{display:flex;flex-direction:column;gap:.45rem}
.field--full{grid-column:1 / -1}
.field label{font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:#615A51;font-weight:500}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--tinta);background:#FFFCF8;border:1px solid var(--linha);border-radius:var(--r-sm);padding:.85rem 1rem;min-height:52px;transition:border-color .2s ease,box-shadow .2s ease}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--oiro);box-shadow:0 0 0 3px rgba(180,146,106,.2)}
.field--check{flex-direction:row;align-items:flex-start;gap:.7rem}
.field--check input{width:22px;height:22px;min-height:22px;margin-top:.3rem;accent-color:var(--oiro);flex:0 0 auto}
.field--check label{text-transform:none;letter-spacing:0;font-size:.9rem;color:#574F46;line-height:1.6}
.field--check a{color:var(--terracota-2)}
.form-actions{align-items:flex-start}
.form-hint{font-size:.84rem;color:#6E675E;margin:.6rem 0 0}
.form-erro{margin:.4rem 0 0;font-size:.92rem;color:#9A3B2C}

/* ---------- CTA final ---------- */
.section--cta{text-align:center;color:var(--creme);overflow:hidden}
.section--cta .wrap{position:relative;z-index:2}
.cta-kicker{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--caramelo);margin:0 0 1rem}
.cta-title{font-size:clamp(2rem,1.3rem + 3vw,3.4rem);color:var(--marfim)}
.cta-sub{margin:1.2rem auto 0;max-width:40rem;color:rgba(240,220,210,.86)}
.cta-actions{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;margin-top:2rem}
.cta-info{display:flex;flex-wrap:wrap;gap:.7rem 1.8rem;justify-content:center;margin-top:2rem;font-size:.9rem;color:rgba(200,160,130,.88)}
.cta-info li{position:relative;padding-left:1.1rem}
.cta-info li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--caramelo)}
.cta-help{margin-top:1.8rem;font-size:.84rem;color:rgba(240,220,210,.62)}
.cta-help strong{color:var(--caramelo)}

/* ---------- Rodapé ---------- */
.site-footer{background:var(--grad-dark);color:rgba(240,220,210,.84);padding-top:clamp(3rem,6svh,4.4rem)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:clamp(1.6rem,3.5vw,2.8rem)}
.footer-brand{font-family:var(--serif);font-size:1.32rem;color:var(--marfim);margin:0 0 .8rem}
.footer-about{font-size:.92rem;color:rgba(240,220,210,.74)}
.footer-cnpj{font-size:.8rem;letter-spacing:.08em;color:rgba(200,160,130,.82);margin:1rem 0 0}
.footer-title{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--caramelo);margin:0 0 1rem}
.footer-col ul{display:grid;gap:.55rem}
.footer-col li,.footer-col a{font-size:.92rem;color:rgba(240,220,210,.8);text-decoration:none}
.footer-col a:hover{color:var(--marfim)}
.footer-base{margin-top:clamp(2.4rem,5svh,3.4rem);border-top:1px solid rgba(180,146,106,.2);padding:1.4rem 0 calc(1.4rem + var(--cookie-h))}
.footer-base-inner{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;align-items:center;justify-content:space-between}
.footer-base p{margin:0;font-size:.82rem;color:rgba(240,220,210,.62)}
.footer-links{display:flex;gap:1.1rem}
.footer-links a{color:rgba(240,220,210,.72);text-decoration:none}
.footer-links a:hover{color:var(--marfim)}
.footer-credit{letter-spacing:.06em}

/* ---------- FAB / to-top ---------- */
.fab-wa{
  position:fixed;right:18px;bottom:calc(18px + var(--cookie-h));z-index:70;
  display:inline-flex;align-items:center;gap:.5rem;
  min-height:54px;padding:.8rem 1.15rem;border-radius:999px;
  background:var(--grad-btn);color:#FFFAF4;text-decoration:none;font-size:.9rem;font-weight:500;
  box-shadow:0 12px 30px rgba(34,27,22,.32);transition:transform .25s ease;
}
.fab-wa:hover{transform:translateY(-3px)}
.fab-wa .ico-wa{width:1.3em;height:1.3em}
.to-top{position:fixed;left:18px;bottom:calc(18px + var(--cookie-h));z-index:70;width:48px;height:48px;border-radius:50%;border:1px solid var(--linha);background:rgba(34,27,22,.84);color:var(--creme);font-size:1.2rem;display:grid;place-items:center;backdrop-filter:blur(6px)}

/* ---------- Cookie bar ---------- */
.cookie-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:95;
  background:var(--grad-dark);color:var(--creme);
  border-top:1px solid rgba(180,146,106,.3);
  padding:.85rem clamp(1rem,4vw,1.5rem);
  display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.4rem;justify-content:center;
  box-shadow:0 -10px 30px rgba(34,27,22,.3);
}
.cookie-bar[hidden]{display:none !important}
.cookie-bar p{margin:0;font-size:.88rem;color:rgba(240,220,210,.88)}
.cookie-btns{display:flex;gap:.55rem;align-items:center}
.cookie-btns button{min-height:44px;padding:.55rem 1.15rem;border-radius:999px;font-size:.88rem;font-weight:500;border:1px solid rgba(180,146,106,.5);background:transparent;color:var(--creme)}
.cookie-btns button[data-cookie="aceitar"]{background:var(--grad-btn);border-color:transparent;color:#FFFAF4}
.cookie-btns button[data-cookie="fechar"]{width:44px;padding:0;font-size:1.2rem}

/* ---------- CV modal ---------- */
.cv-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1rem;background:rgba(18,13,10,.74);backdrop-filter:blur(4px)}
.cv-card{position:relative;width:min(720px,94vw);max-height:88svh;overflow-y:auto;background:var(--grad-paper);border-radius:var(--r-lg);padding:clamp(1.6rem,3.5vw,2.6rem);box-shadow:var(--shadow-2);animation:fadeUp .35s ease both}
.cv-close{position:absolute;top:.9rem;right:.9rem;width:44px;height:44px;border-radius:50%;border:1px solid var(--linha);background:transparent;color:var(--tinta);font-size:1.4rem;display:grid;place-items:center}
.cv-head h2{font-size:1.85rem;color:var(--tinta)}
.cv-head p{font-size:.86rem;letter-spacing:.12em;text-transform:uppercase;color:var(--terracota-2);margin:.4rem 0 0}
.cv-sec{margin-top:1.6rem}
.cv-sec h3{font-size:1.04rem;color:var(--tinta);margin-bottom:.4rem}
.cv-sec p,.cv-sec li{font-size:.95rem;color:#574F46}
.cv-sec ul{display:grid;gap:.4rem}
.cv-sec li{padding-left:1.3rem;position:relative}
.cv-sec li::before{content:"";position:absolute;left:0;top:.66em;width:6px;height:6px;border-radius:50%;background:var(--oiro)}
.cv-foot{margin-top:1.8rem;display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;justify-content:space-between}
.cv-foot-note{margin:0;font-size:.88rem;color:#615A51;max-width:22rem}

/* ---------- Animações ---------- */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes grainShift{
  0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-2%)}
  75%{transform:translate(-2%,-1%)}100%{transform:translate(0,0)}
}
@keyframes floatSoft{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes glowPulse{0%,100%{opacity:.72}50%{opacity:1}}
.glow--text{animation:glowPulse 9s ease-in-out infinite}
.glow--photo{animation:glowPulse 11s ease-in-out infinite;animation-delay:1.5s}
.portrait-frame{animation:floatSoft 8s ease-in-out infinite}

/* =========================== Responsivo =========================== */
@media (max-width:1100px){
  .main-nav ul{gap:.8rem}
  .main-nav a{font-size:.84rem}
  .shelf-row{grid-template-columns:repeat(3,1fr);gap:1.1rem}
  .espaco-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:900px){
  :root{--header-h:68px}
  .main-nav,.header-cta{display:none}
  .nav-toggle{display:flex}
  .hero-inner{grid-template-columns:1fr;gap:2.4rem}
  .hero-photo{order:-1}
  .portrait-frame{width:min(100%,330px)}
  .portrait-frame img{object-position:50% 24%}
  .about-grid,.where-grid,.feature-grid{grid-template-columns:1fr}
  .about-side{grid-template-columns:1fr 1fr;align-items:start}
  .etapas{grid-template-columns:repeat(2,1fr)}
  .faq-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .contact-form{grid-template-columns:1fr}
  .testi{padding:0}
  .testi-nav{width:42px;height:42px;opacity:.92}
  .testi-nav--prev{left:2px}
  .testi-nav--next{right:2px}
  .footer-col a,.footer-col li,.footer-links a,.mobile-menu a,.creds li,.side-list li,.bp-list li,.cta-info li,.atend-info li{min-height:44px;display:flex;align-items:center}
  .footer-col ul{gap:.1rem}
  .footer-links{gap:.4rem;flex-wrap:wrap}
  .atend-info li{justify-content:space-between}
  .cta-info li{padding-left:1.1rem}
}

@media (min-width:901px){
  .testi-slide{flex:0 0 calc((100% - 56px) / 3)}
}

@media (max-width:640px){
  .shelf-row{grid-template-columns:repeat(2,1fr);gap:.85rem}
  .book-3d{transform:rotateY(-14deg)}
  .book-card:hover .book-3d{transform:rotateY(-8deg) translateY(-5px)}
  .etapas{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .about-side{grid-template-columns:1fr}
  .espaco-grid{grid-template-columns:1fr}
  .espaco-item--wide{grid-column:span 1}
  .fab-label{display:none}
  .fab-wa{padding:.9rem;min-width:54px;justify-content:center}
  .cookie-bar{padding:.75rem 1rem;gap:.55rem}
  .cookie-bar p{font-size:.8rem;text-align:center;width:100%}
  .cookie-btns{width:100%;justify-content:center}
  .hero-actions .btn{width:100%}
}

@media (max-width:420px){
  .brand-text small{display:none}
  .cover-title{font-size:.84rem}
  .cover-sub{display:none}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
  .ghost-mark,.grain{display:none}
}

@media print{
  .site-header-wrap,.fab-wa,.to-top,.cookie-bar,.marquee,.cv-modal{display:none !important}
  body{background:#fff;color:#000}
}

/* ==========================================================================
   Ajustes medidos (bateria funcional 19/09): contraste do botão e alvos de toque
   ========================================================================== */

/* Botão primário: a parada mais clara do gradiente dava 4,25:1 com #FFFAF4.
   Escurecido para 5,46:1 (medido), mantendo o mesmo matiz terracota. */
:root{--grad-btn:linear-gradient(115deg,#5E3928 0%,#7A4E36 48%,#8A5C42 100%)}

/* Alvos de toque >=44px no mobile (medidos: brand 32, telefone 20, setas 42, selo 40, link LGPD 17) */
@media (max-width:900px){
  .brand{min-height:44px}
  .hero-tel a{display:inline-flex;align-items:center;min-height:44px;padding:2px 0}
  .testi-nav{width:46px;height:46px}
  .testi-seal a{display:inline-flex;align-items:center;min-height:44px}
  .field--check a{display:flex;align-items:center;min-height:44px}
  .field--check input{width:26px;height:26px;min-height:26px}
  .testi-seal{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .4rem}
}
