/* ============================================================
   Dra. Bianca Araújo · Harmonização Orofacial
   style.css · paleta medida no hero (matiz 22 a 26 graus)
   Regua de cor: GRADIENTES_PADRAO_BELELI (nenhuma superficie chapada)
   ============================================================ */

:root{
  /* ---- paleta medida (estudo/paleta.md) ---- */
  --ink:#1E150E;
  --ink-2:#160F09;
  --marfim:#F7F1EA;
  --corpo:#CFBFB2;
  --sand:#BDACA0;
  --bege:#AC9A8D;
  --camel:#AC8872;
  --amber:#976D51;
  --brick:#7A5238;
  --paper:#F3ECE4;

  /* ---- derivados de apoio ---- */
  --paper-2:#EDE4DA;
  --paper-3:#E5D9CC;
  --ink-soft:rgba(22,15,9,.72);
  --on-dark:#F7F1EA;
  --on-dark-2:#CFBFB2;

  --line:rgba(151,109,81,.28);
  --line-strong:rgba(151,109,81,.52);
  --glass:rgba(247,241,234,.06);
  --glass-strong:rgba(247,241,234,.09);

  /* ---- gradientes assinatura ---- */
  --grad-hero:linear-gradient(102deg,#1E150E 0%,#241A12 55%,#160F09 100%);
  --grad-dark:linear-gradient(165deg,#241A12 0%,#1E150E 45%,#140D07 100%);
  --grad-footer:linear-gradient(180deg,#1E150E 0%,#120C07 100%);
  --grad-soft:linear-gradient(130deg,var(--marfim) 0%,oklch(0.972 0.010 78) 46%,oklch(0.934 0.018 74) 100%);
  --grad-soft-b:linear-gradient(115deg,oklch(0.978 0.008 80) 0%,var(--paper) 55%,var(--paper-2) 100%);
  --grad-soft-c:linear-gradient(155deg,var(--marfim) 0%,oklch(0.958 0.014 76) 58%,var(--paper-3) 100%);
  --grad-accent:linear-gradient(115deg,#7A5238 0%,#976D51 45%,#AC8872 85%);
  --grad-btn:linear-gradient(135deg,#A87A5C 0%,#976D51 100%);
  --grad-metal:linear-gradient(115deg,#7A5238 0%,#976D51 38%,#C9A57F 68%,#976D51 100%);
  --grad-line:linear-gradient(90deg,transparent,rgba(151,109,81,.35) 18%,rgba(151,109,81,.6) 55%,transparent);
  --grad-cover-scrim:linear-gradient(180deg,rgba(22,15,9,.45) 0%,rgba(22,15,9,.16) 36%,rgba(22,15,9,.30) 62%,rgba(22,15,9,.60) 100%);

  /* ---- glows e sombra de contato ---- */
  --glow-text:radial-gradient(circle at 18% 30%,rgba(151,109,81,.22),transparent 58%);
  --glow-photo:radial-gradient(circle at 80% 40%,rgba(189,172,160,.16),transparent 60%);
  --glow-bridge:radial-gradient(circle at 62% 42%,rgba(151,109,81,.28),transparent 62%);
  --glow-cta:radial-gradient(circle at 50% 26%,rgba(151,109,81,.30),transparent 70%);
  --contact-shadow:radial-gradient(ellipse at center,rgba(0,0,0,.45),transparent 70%);

  --font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-body:"DM Sans",system-ui,-apple-system,Segoe UI,sans-serif;

  --ease:cubic-bezier(.22,1,.36,1);
  --space:clamp(72px,9vh,118px);
  --radius:20px;
  --container:1200px;
  --cookie-h:0px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px;-webkit-text-size-adjust:100%}
html,body{overflow-x:hidden}
body{
  margin:0;
  background:var(--paper);
  background-image:linear-gradient(180deg,#F4EDE5 0%,#EDE3D8 100%);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:clamp(0.95rem,0.92rem + 0.22vw,1.0625rem);
  line-height:1.6;
  font-weight:400;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}
input,textarea,select{font:inherit;color:inherit}
ul,ol{margin:0}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:6px}
::selection{background:rgba(151,109,81,.28);color:var(--ink)}

.skip{position:absolute;left:-9999px;top:10px;z-index:200;background:var(--grad-accent);color:var(--marfim);padding:10px 16px;border-radius:10px;font-size:.85rem}
.skip:focus{left:10px}

.container{width:min(var(--container),100% - clamp(36px,6vw,84px));margin-inline:auto}

/* ============================================================
   TIPOGRAFIA
   ============================================================ */
h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:-.015em;line-height:1.08;text-wrap:balance;margin:0 0 .5em}
h1{font-size:clamp(2.05rem,1.35rem + 3.1vw,3.9rem);line-height:1.1}
h2{font-size:clamp(1.7rem,1.2rem + 2.2vw,2.9rem)}
h3{font-size:clamp(1.1rem,1rem + .7vw,1.5rem)}
h1 em,h2 em,h3 em{
  font-style:italic;
  font-weight:500;
  color:var(--amber);
}
p{margin:0 0 1em;text-wrap:pretty;max-width:64ch}
.lead{font-size:clamp(1rem,.96rem + .32vw,1.22rem);color:var(--corpo);line-height:1.65}
.bg-paper p,.bg-grad-soft p,.bg-grad-main:nth-of-type(odd) p{color:var(--ink-soft)}
.eyebrow{
  display:flex;align-items:center;gap:12px;
  margin:0 0 14px;
  font-size:clamp(.62rem,.58rem + .12vw,.7rem);
  letter-spacing:.26em;text-transform:uppercase;font-weight:600;
  color:var(--brick);
}
.eyebrow::before{content:"";width:36px;height:1px;background:var(--grad-line);flex:none}
.bg-dark .eyebrow,.final-cta .eyebrow,.hero .eyebrow{color:var(--camel)}
.section-heading{max-width:780px;margin:0 auto clamp(30px,4.4vh,52px);text-align:center}
.section-heading .eyebrow{justify-content:center}
.section-heading p:not(.eyebrow){color:var(--ink-soft);margin-inline:auto}
.section-heading-left{text-align:left;margin:0}
.section-heading-left .eyebrow{justify-content:flex-start}
.section-heading-left p:not(.eyebrow){margin-inline:0}
.bg-dark .section-heading p:not(.eyebrow){color:var(--on-dark-2)}

/* ============================================================
   BOTOES E LINKS
   ============================================================ */
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 26px;border-radius:999px;
  background-image:var(--grad-btn);
  color:var(--ink);
  font-weight:600;font-size:.9rem;letter-spacing:.015em;
  white-space:nowrap;position:relative;overflow:hidden;
  box-shadow:0 10px 24px -14px rgba(122,82,56,.75);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),filter .35s var(--ease);
}
.button::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 28%,rgba(247,241,234,.28) 50%,transparent 72%);
  transform:translateX(-120%);
  transition:transform .85s var(--ease);
}
.button:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 18px 32px -16px rgba(122,82,56,.85)}
.button:hover::after{transform:translateX(120%)}
.button-small{min-height:44px;padding:0 20px;font-size:.84rem}
.button-outline{
  background-image:none;background-color:transparent;
  border:1.5px solid var(--line-strong);
  color:var(--brick);
  box-shadow:none;
}
.button-outline::after{display:none}
.button-outline:hover{background-color:rgba(151,109,81,.1);border-color:var(--amber);filter:none;transform:translateY(-2px)}
.bg-dark .button-outline{border-color:rgba(207,191,178,.42);color:var(--marfim)}
.bg-dark .button-outline:hover{background-color:rgba(247,241,234,.08);border-color:var(--camel)}
.quiet-link{
  font-weight:500;color:var(--corpo);
  border-bottom:1px solid var(--line-strong);padding-bottom:3px;
  transition:color .3s,border-color .3s;
}
.quiet-link:hover{color:var(--marfim);border-color:var(--camel)}
.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}

/* ============================================================
   HEADER (no fluxo normal, nunca fixo)
   ============================================================ */
.site-header{
  position:relative;z-index:30;
  height:84px;display:flex;align-items:center;
  background-image:linear-gradient(115deg,#F5EFE7 0%,#EFE5DA 52%,#E7DBCE 100%);
  border-bottom:1px solid var(--line);
  transition:box-shadow .4s var(--ease);
}
.site-header.is-scrolled{box-shadow:0 14px 30px -24px rgba(30,21,14,.55)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;height:84px}
.brand{display:flex;align-items:center;gap:13px;flex:none}
.brand-mark{
  display:grid;place-items:center;width:46px;height:46px;border-radius:50%;
  background-image:var(--grad-accent);
  color:var(--marfim);
  font-family:var(--font-display);font-size:1.05rem;font-weight:600;letter-spacing:.02em;
  box-shadow:0 0 0 1px rgba(151,109,81,.35),0 8px 18px -10px rgba(122,82,56,.8);
}
.brand strong{display:block;font-family:var(--font-display);font-size:1.3rem;font-weight:600;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
.brand small{display:block;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brick);white-space:nowrap;margin-top:2px}
.main-nav{display:flex;align-items:center;gap:clamp(14px,1.5vw,24px);flex-wrap:nowrap}
.main-nav a{
  white-space:nowrap;font-size:.85rem;font-weight:500;color:var(--ink);
  padding:8px 0;position:relative;opacity:.82;transition:opacity .3s;
}
.main-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;
  background-image:var(--grad-line);
  transform:scaleX(0);transform-origin:left;
  transition:transform .45s var(--ease);
}
.main-nav a:hover,.main-nav a.is-active{opacity:1}
.main-nav a:hover::after,.main-nav a.is-active::after{transform:scaleX(1)}
.site-header .button-small{min-height:44px;padding:0 20px;font-size:.84rem}

.menu-toggle{
  display:none;width:46px;height:46px;flex:none;
  flex-direction:column;justify-content:center;align-items:center;gap:5px;
  border-radius:50%;border:1px solid var(--line);
  transition:background-color .3s,border-color .3s;
}
.menu-toggle:hover{border-color:var(--line-strong)}
.menu-toggle span{display:block;width:22px;height:1.7px;background:var(--ink);border-radius:2px;transition:transform .38s var(--ease),opacity .28s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.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(-6.7px) rotate(-45deg)}

.mobile-menu{
  position:fixed;inset:0;z-index:80;
  height:100vh;height:100svh;
  background-image:var(--grad-dark);
  color:var(--marfim);
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(84px,14vh,128px) clamp(26px,7vw,64px) 52px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .42s var(--ease),visibility .42s;
}
.mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}
.mobile-menu nav{display:flex;flex-direction:column;gap:4px;margin-bottom:30px;width:100%}
.mobile-menu nav a{
  font-family:var(--font-display);font-size:clamp(1.55rem,5.6vw,2.3rem);font-weight:500;
  min-height:48px;display:flex;align-items:center;
  opacity:0;transform:translateY(14px);
  transition:opacity .5s var(--ease),transform .5s var(--ease),color .3s;
}
.mobile-menu.is-open nav a{opacity:1;transform:none;transition-delay:calc(var(--i,0) * 45ms)}
.mobile-menu nav a:hover{color:var(--camel)}
.mobile-menu .menu-close{
  position:absolute;top:18px;right:clamp(18px,5vw,42px);
  width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(207,191,178,.34);
  font-size:1.7rem;line-height:1;color:var(--marfim);
  transition:background-color .3s,color .3s;
}
.mobile-menu .menu-close:hover{background-color:var(--marfim);color:var(--ink)}
body.menu-open{overflow:hidden}
body.menu-open .site-header{position:relative;z-index:90}

/* ============================================================
   SECOES (secao = uma tela)
   ============================================================ */
.section,.hero{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  padding:var(--space) 0;
  overflow:hidden;
  background-attachment:scroll;
  background-repeat:no-repeat;
}
.section::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background-image:var(--grad-line);opacity:.9;pointer-events:none;
}
.section-num{
  position:absolute;top:clamp(24px,4vh,42px);left:clamp(18px,3.4vw,46px);
  font-family:var(--font-display);font-size:clamp(2.6rem,5.2vw,5rem);
  line-height:1;font-weight:400;color:var(--amber);opacity:.2;
  pointer-events:none;user-select:none;
}
.bg-dark .section-num{color:var(--camel);opacity:.28}
.final-cta .section-num,.hero .section-num{display:none}

/* faixas de fundo: toda secao recebe gradiente, direcao alternando */
.bg-paper{background-image:linear-gradient(180deg,#F4EDE5 0%,#EDE3D8 100%)}
#a-medica{background-image:linear-gradient(186deg,#F5EFE7 0%,#EDE3D8 100%)}
#o-cuidado{background-image:linear-gradient(165deg,#F3ECE4 0%,#EADFD3 100%)}
#perguntas{background-image:linear-gradient(200deg,#F5EFE7 0%,#EBE1D5 100%)}
#contato{background-image:linear-gradient(146deg,#F6F0E8 0%,#ECE2D6 100%)}
.bg-grad-soft{background-image:var(--grad-soft)}
#especialidades{background-image:linear-gradient(130deg,oklch(0.978 0.008 80) 0%,var(--paper) 52%,var(--paper-3) 100%)}
#intervencionista{background-image:linear-gradient(115deg,oklch(0.976 0.010 78) 0%,var(--paper-2) 58%,var(--paper-3) 100%)}
#onde-atendo{background-image:var(--grad-soft-c)}
.bg-grad-main{background-image:var(--grad-hero)}
.bg-dark{background-image:var(--grad-dark);color:var(--on-dark)}
.final-cta{background-image:var(--grad-dark)}

/* grao */
.grain{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.bg-dark .grain,.hero .grain{mix-blend-mode:overlay;opacity:.09}

/* marca fantasma */
.ghost-mark{
  position:absolute;right:-8%;top:50%;transform:translateY(-50%);
  width:min(52vw,600px);aspect-ratio:1;
  display:grid;place-items:center;
  font-family:var(--font-display);font-weight:600;
  font-size:min(40vw,420px);line-height:1;
  color:var(--amber);opacity:.06;
  pointer-events:none;user-select:none;z-index:0;
}
.hero .ghost-mark{color:var(--camel);opacity:.07}
.ghost-mark-center{left:50%;right:auto;top:50%;transform:translate(-50%,-50%);width:min(70vw,680px);opacity:.05}
.final-cta .ghost-mark-center{color:var(--camel);opacity:.07}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  min-height:100vh;
  min-height:100svh;
  justify-content:center;
  padding:clamp(88px,12vh,140px) 0 clamp(56px,8vh,96px);
  isolation:isolate;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--glow-text);
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--glow-photo);
}
.hero-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.06fr .94fr;
  gap:clamp(30px,5vw,76px);align-items:center;
}
.hero-copy .eyebrow{color:var(--camel)}
.hero-copy h1{color:var(--marfim);margin-bottom:.42em;text-wrap:balance}
.hero-copy .lead{color:var(--corpo);margin:0 0 14px}
.hero-support{
  color:var(--bege);font-size:clamp(.82rem,.8rem + .2vw,.95rem);
  letter-spacing:.06em;text-transform:uppercase;margin:0 0 30px;
}
.hero .actions{margin-bottom:34px}
.hero .quiet-link{color:var(--bege)}
.hero .quiet-link:hover{color:var(--marfim)}
.trust-list{
  list-style:none;padding:0;margin:0 0 16px;
  display:flex;flex-wrap:wrap;gap:10px 24px;
  font-size:.8rem;font-weight:500;color:var(--bege);
}
.trust-list li{display:flex;align-items:center;gap:9px;letter-spacing:.04em}
.trust-list li::before{content:"";width:5px;height:5px;border-radius:50%;background-image:var(--grad-accent);flex:none}
.phone{font-size:.8rem;letter-spacing:.05em;color:var(--corpo);margin:0;max-width:none}

.hero-figure{
  margin:0;position:relative;
  display:flex;flex-direction:column;align-items:center;gap:16px;
}
.hero-figure::before{
  content:"";position:absolute;left:-6%;top:2%;width:112%;height:86%;
  background-image:var(--glow-bridge);
  filter:blur(64px);z-index:0;pointer-events:none;
}
.hero-figure::after{
  content:"";position:absolute;left:2%;right:2%;bottom:-4%;height:70px;
  background-image:var(--contact-shadow);
  filter:blur(6px);z-index:1;pointer-events:none;
}
.portrait-frame{
  position:relative;z-index:2;
  width:min(100%,430px);
  aspect-ratio:5 / 6;
  border-radius:50% 50% 20px 20px / 44% 44% 20px 20px;
  overflow:hidden;
  background-image:linear-gradient(165deg,#241A12 0%,#1E150E 60%,#160F09 100%);
  box-shadow:
    0 42px 74px -40px rgba(0,0,0,.85),
    0 0 0 1px rgba(172,154,141,.22),
    inset 0 0 0 1px rgba(247,241,234,.06);
  will-change:transform;
}
.portrait-frame::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background-image:linear-gradient(180deg,transparent 58%,rgba(22,15,9,.34) 100%);
}
.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 24%;filter:saturate(1.03) contrast(1.02)}
.hero-figure figcaption{
  position:relative;z-index:2;
  font-family:var(--font-display);font-size:1.05rem;letter-spacing:.02em;
  color:var(--sand);
}
.hero-figure figcaption::before{
  content:"";display:block;width:44px;height:1px;margin:0 auto 12px;
  background-image:var(--grad-line);
}

/* ============================================================
   MARQUEE
   ============================================================ */
.marquee{
  display:flex;overflow:hidden;white-space:nowrap;
  padding:15px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background-image:linear-gradient(115deg,#EFE5DA 0%,#F5EFE7 48%,#E7DBCE 100%);
}
.marquee > div{
  flex:0 0 auto;padding-right:0;
  font-family:var(--font-display);font-size:clamp(1rem,.94rem + .4vw,1.3rem);
  color:var(--brick);letter-spacing:.02em;
  animation:marquee 42s linear infinite;
}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}

/* ============================================================
   01 · A MEDICA
   ============================================================ */
.about-grid{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);
  gap:clamp(32px,5vw,76px);align-items:center;
}
#a-medica .button-outline{margin-top:6px}
.credential-row{
  display:flex;flex-wrap:wrap;gap:10px 12px;
  margin:26px 0 26px;
}
.credential-row strong,.credential-row span{
  display:inline-flex;align-items:center;
  padding:8px 15px;border-radius:999px;
  border:1px solid var(--line);
  background-image:linear-gradient(135deg,rgba(247,241,234,.85),rgba(233,223,212,.7));
  font-size:.76rem;letter-spacing:.06em;color:var(--brick);
}
.credential-row strong{font-weight:600;border-color:var(--line-strong);background-image:var(--grad-btn);color:var(--ink)}
.about-art{
  position:relative;
  display:flex;flex-direction:column;justify-content:center;gap:14px;
  min-height:clamp(300px,42vh,460px);
  padding:clamp(28px,4vw,48px);
  border-radius:var(--radius);
  border:1px solid var(--line);
  background-image:linear-gradient(150deg,rgba(247,241,234,.9) 0%,rgba(233,223,212,.75) 100%);
  box-shadow:0 34px 60px -46px rgba(30,21,14,.6);
  overflow:hidden;
}
.about-art::after{
  content:"";position:absolute;right:-30%;bottom:-40%;width:80%;aspect-ratio:1;
  border-radius:50%;background-image:var(--glow-text);pointer-events:none;
}
.about-art span{
  font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--brick);font-weight:600;position:relative;z-index:1;
}
.about-art strong{
  position:relative;z-index:1;
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(2.4rem,2rem + 3.6vw,4.4rem);line-height:1.02;
  letter-spacing:-.03em;
  background-image:var(--grad-metal);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.about-art i{
  display:block;height:1px;width:64%;
  background-image:var(--grad-line);position:relative;z-index:1;
}

/* ============================================================
   02 · ESTANTE (padrao Zanetti)
   ============================================================ */
.shelf{position:relative;perspective:1800px;width:100%}
.shelf-stage{display:block;width:100%;position:relative}
.shelf-row{
  display:flex;justify-content:center;align-items:flex-end;
  gap:clamp(10px,1.8vw,26px);
  flex-wrap:wrap;padding:18px 0 46px;position:relative;
}
.shelf-row::after{
  content:"";position:absolute;left:3%;right:3%;bottom:18px;height:1px;
  background-image:var(--grad-line);opacity:.85;
}
.book-card{
  position:relative;
  width:clamp(122px,10.6vw,162px);
  aspect-ratio:3 / 4;
  padding:0;border-radius:8px;
  overflow:hidden;
  text-align:left;
  transform-style:preserve-3d;
  transform:rotate(var(--r,0deg)) translateY(var(--lift,0px));
  transition:transform .55s var(--ease),box-shadow .55s var(--ease),z-index 0s;
  z-index:1;
  box-shadow:0 22px 34px -26px rgba(30,21,14,.85);
}
.book-card:nth-child(1){--r:-3.6deg}
.book-card:nth-child(2){--r:-2deg}
.book-card:nth-child(3){--r:-.6deg}
.book-card:nth-child(4){--r:1deg}
.book-card:nth-child(5){--r:2.4deg}
.book-card:nth-child(6){--r:3.8deg}
.book-card:nth-child(1){--cover-color:#7A5238}
.book-card:nth-child(2){--cover-color:#4A2F1E}
.book-card:nth-child(3){--cover-color:#8A6248}
.book-card:nth-child(4){--cover-color:#241A12}
.book-card:nth-child(5){--cover-color:#6B4A33}
.book-card:nth-child(6){--cover-color:#976D51}
.book-card:hover,.book-card:focus-visible{--lift:-18px;z-index:6;box-shadow:0 34px 46px -26px rgba(30,21,14,.9)}
.book{position:absolute;inset:0;display:block;transform-style:preserve-3d;border-radius:8px}
.book::before{
  content:"";position:absolute;inset:0;border-radius:8px;
  background-image:linear-gradient(160deg,rgba(0,0,0,.5),rgba(0,0,0,.12));
  transform:translate3d(9px,11px,-26px);
  filter:blur(11px);opacity:.85;
}
.book::after{
  content:"";position:absolute;top:1.5%;right:1.5%;bottom:1.5%;left:4%;
  border-radius:2px 8px 8px 2px;
  background-image:linear-gradient(90deg,#D8C9B8 0%,#F3ECE4 32%,#E6D9CA 100%);
  transform:translateZ(-5px);
  transition:transform .6s var(--ease),inset .6s var(--ease);
}
.front-cover{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;
  padding:11% 10% 10%;
  border-radius:8px;
  color:var(--marfim);
  overflow:hidden;
  transform-origin:2% center;
  transform:translateZ(2px);
  background-color:var(--cover-color,#4A2F1E);
  background-image:var(--grad-cover-scrim),var(--cover-img,linear-gradient(150deg,#4A2F1E,#241A12));
  background-size:100% 100%,cover;
  background-position:center,center;
  background-repeat:no-repeat;
  box-shadow:
    inset 0 0 0 1px rgba(201,165,127,.22),
    3px 6px 18px -10px rgba(0,0,0,.75);
  transition:transform .7s var(--ease),box-shadow .7s var(--ease);
}
.front-cover::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:7%;
  background-image:linear-gradient(90deg,rgba(0,0,0,.4),transparent);
  pointer-events:none;
}
.front-cover::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(108deg,transparent 26%,rgba(247,241,234,.16) 46%,transparent 66%);
  transform:translateX(-130%);
  transition:transform 1s var(--ease);
}
.book-card:hover .front-cover::after,.book-card:focus-visible .front-cover::after{transform:translateX(130%)}
.front-cover small{
  display:block;position:relative;z-index:2;
  font-size:clamp(.46rem,.42rem + .12vw,.56rem);
  letter-spacing:.22em;text-transform:uppercase;font-weight:600;
  color:#C9A57F;margin-bottom:auto;
}
.front-cover strong{
  display:block;position:relative;z-index:2;
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(.98rem,.76rem + .95vw,1.42rem);
  line-height:1.05;letter-spacing:-.01em;color:#FBF7F2;
  text-shadow:0 2px 12px rgba(0,0,0,.7),0 1px 2px rgba(0,0,0,.6);
  text-wrap:balance;
}
.front-cover em{
  display:block;position:relative;z-index:2;
  font-style:italic;font-size:clamp(.55rem,.5rem + .18vw,.68rem);
  margin-top:7px;color:rgba(247,241,234,.9);
  text-shadow:0 1px 8px rgba(0,0,0,.75);
}
.front-cover b{
  display:inline-flex;align-items:center;align-self:flex-start;
  position:relative;z-index:2;margin-top:auto;
  padding:5px 12px;border-radius:999px;
  border:1px solid rgba(201,165,127,.55);
  background-color:rgba(22,15,9,.45);
  font-size:clamp(.48rem,.44rem + .12vw,.58rem);
  letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  color:#E8D6BF;
  opacity:0;transform:translateY(-6px);
  transition:opacity .4s var(--ease),transform .4s var(--ease),background-color .3s;
}
.book-card:hover .front-cover b,.book-card:focus-visible .front-cover b,.book-card.is-selected .front-cover b{opacity:1;transform:none}
.book-card[aria-expanded="true"] .front-cover b{opacity:0}

/* modo detalhe: o escolhido cresce e roda, os outros somem */
.shelf[data-mode="detail"] .shelf-stage{
  display:grid;
  grid-template-columns:minmax(260px,320px) minmax(0,1fr);
  gap:clamp(34px,5vw,76px);
  align-items:center;
}
.shelf[data-mode="detail"] .shelf-row{display:block;padding:0;perspective:1400px}
.shelf[data-mode="detail"] .shelf-row::after{display:none}
.shelf[data-mode="detail"] .book-card:not(.is-selected):not([aria-expanded="true"]){
  display:none;
  width:0;height:0;
}
.shelf[data-mode="detail"] .book-card.is-selected,
.shelf[data-mode="detail"] .book-card[aria-expanded="true"]{
  --r:0deg;--lift:0px;
  display:block;
  width:100%;max-width:320px;
  aspect-ratio:3 / 4;
  overflow:visible;
  z-index:4;
  box-shadow:0 46px 64px -40px rgba(30,21,14,.85);
}
.shelf[data-mode="detail"] .book-card.is-selected .front-cover{
  transform:translate3d(0,0,26px) rotateY(-29deg);
  box-shadow:
    30px 30px 54px rgba(30,21,14,.45),
    inset 0 0 0 1px rgba(201,165,127,.4),
    inset -8px 0 14px -8px rgba(0,0,0,.5);
}
.shelf[data-mode="detail"] .book-card.is-selected .book::after{
  inset:2% 2% 2% 5%;
  transform:translate3d(7px,1px,-9px);
}
.shelf[data-mode="detail"] .book-card.is-selected .front-cover::before{
  width:5%;
  background-image:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.05));
}

.book-panel{
  display:none;position:relative;
  min-width:0;
  padding:clamp(26px,3.4vw,44px) clamp(26px,3.6vw,48px) clamp(26px,3.4vw,40px);
  border-radius:var(--radius);
  border:1px solid var(--line);
  background-image:linear-gradient(150deg,rgba(247,241,234,.94) 0%,rgba(233,223,212,.82) 100%);
  box-shadow:0 40px 70px -50px rgba(30,21,14,.7);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  opacity:0;transform:translateY(14px);
  transition:opacity .5s var(--ease),transform .5s var(--ease);
}
.shelf[data-mode="detail"] .book-panel{display:block;width:100%;min-width:min(100%,680px)}
.book-panel.is-in,.book-panel.is-open{opacity:1;transform:none}
.book-panel::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background-image:var(--grad-line);border-radius:var(--radius) var(--radius) 0 0;
}
.book-panel .eyebrow{margin-bottom:10px}
.book-panel h3{color:var(--ink);margin:0 0 14px}
.book-panel p{color:var(--ink-soft);max-width:58ch}
.book-panel ul{list-style:none;padding:0;margin:20px 0 26px;display:grid;gap:11px}
.book-panel ul li{display:flex;gap:11px;align-items:flex-start;font-size:.94rem;color:var(--ink-soft)}
.book-panel ul li::before{
  content:"";flex:none;width:7px;height:7px;border-radius:50%;margin-top:9px;
  background-image:var(--grad-accent);
}
.book-panel small{display:block;margin-top:16px;font-size:.76rem;color:var(--brick);letter-spacing:.03em}
.panel-close{
  position:absolute;top:14px;right:14px;
  width:46px;height:46px;border-radius:50%;
  border:1px solid var(--line);
  background-image:linear-gradient(150deg,rgba(247,241,234,.95),rgba(233,223,212,.8));
  font-size:1.6rem;line-height:1;color:var(--brick);
  transition:background-color .3s,color .3s,transform .3s var(--ease);
  z-index:2;
}
.panel-close:hover{background-image:var(--grad-accent);color:var(--marfim);transform:rotate(90deg)}
.disclaimer{
  text-align:center;font-size:.82rem;color:var(--brick);
  max-width:74ch;margin:26px auto 0;
}

/* ============================================================
   03 · CADERNO
   ============================================================ */
.caderno-host{
  position:relative;width:min(100%,980px);margin:0 auto;
  min-height:380px;max-height:none;overflow:visible;
  border-radius:var(--radius);
}
.caderno-host iframe,.caderno-host .caderno-frame{
  display:block;width:100%;height:600px;
  border:0;border-radius:var(--radius);
  background-color:transparent;
  opacity:0;transition:opacity .6s var(--ease);
}
.caderno-host[data-state="ready"] iframe,.caderno-host[data-state="ready"] .caderno-frame,
.caderno-host.is-ready iframe{opacity:1}
.caderno-host[data-state="loading"]::after,.caderno-host[data-state="idle"]::after{
  content:"";position:absolute;inset:0;border-radius:var(--radius);
  background-image:linear-gradient(135deg,rgba(151,109,81,.12),rgba(189,172,160,.14));
  animation:cadernoPulse 1.5s ease-in-out infinite alternate;
  pointer-events:none;
}
@keyframes cadernoPulse{from{opacity:.35}to{opacity:.85}}
.caderno-host[data-state="error"] iframe{display:none}
.caderno-host[data-state="error"]::before{
  content:"O caderno não carregou. Leia as quatro etapas abaixo.";
  display:flex;align-items:center;justify-content:center;
  min-height:220px;padding:26px;text-align:center;
  font-family:var(--font-display);font-size:1.15rem;color:var(--brick);
}
.caderno-status{font-family:var(--font-display);color:var(--brick);opacity:.75}
.caderno-host[data-state="loading"] .caderno-status::before{content:"Abrindo o caderno "}
.notebook-cover{
  display:flex;flex-direction:column;justify-content:flex-end;gap:10px;
  position:relative;overflow:hidden;
  padding:clamp(24px,4vw,44px);
  margin-bottom:26px;
  border-radius:var(--radius);
  border:1px solid rgba(172,154,141,.3);
  background-image:linear-gradient(165deg,#3A2416 0%,#241A12 52%,#140D07 100%);
  color:var(--marfim);
  box-shadow:0 34px 56px -44px rgba(30,21,14,.9);
}
.notebook-cover::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle at 82% 22%,rgba(151,109,81,.3),transparent 62%);
}
.notebook-cover span{
  position:relative;z-index:1;
  font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--camel);font-weight:600;
}
.notebook-cover strong{
  position:relative;z-index:1;
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(1.3rem,1.05rem + 1.4vw,2.1rem);line-height:1.15;letter-spacing:-.02em;
}
.steps{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,26px);
}
.steps li{
  position:relative;
  padding:26px 22px 24px;
  border-radius:16px;
  border:1px solid var(--line);
  background-image:linear-gradient(160deg,rgba(247,241,234,.86),rgba(233,223,212,.62));
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
}
.steps li:hover{transform:translateY(-5px);box-shadow:0 26px 40px -34px rgba(30,21,14,.8)}
.steps li strong{
  display:block;
  font-family:var(--font-display);font-size:1.5rem;font-weight:500;line-height:1;
  background-image:var(--grad-metal);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  margin-bottom:14px;
}
.steps li h3{margin:0 0 8px;font-size:1.08rem;color:var(--ink)}
.steps li p{margin:0;font-size:.9rem;color:var(--ink-soft);max-width:none}
.steps-fallback{
  width:min(100%,780px);margin:26px auto 0;
  border-top:1px solid var(--line);padding-top:14px;
}
.steps-fallback summary{
  cursor:pointer;list-style:none;
  min-height:44px;display:flex;align-items:center;
  font-weight:600;font-size:.88rem;letter-spacing:.06em;color:var(--brick);
}
.steps-fallback summary::-webkit-details-marker{display:none}
.steps-fallback summary::after{content:"+";margin-left:auto;font-size:1.1rem;color:var(--amber)}
.steps-fallback[open] summary::after{content:"–"}
.steps-fallback ol{margin:12px 0 0;padding-left:20px;display:grid;gap:9px;color:var(--ink-soft);font-size:.92rem}
.steps-fallback strong{color:var(--brick)}

/* ============================================================
   04 · A ABORDAGEM
   ============================================================ */
.feature-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.88fr);
  gap:clamp(32px,5vw,82px);align-items:center;
}
.criteria{
  list-style:none;padding:0;margin:0;display:grid;gap:14px;counter-reset:c;
}
.criteria li{
  display:grid;gap:6px;
  padding:20px 24px;
  border-radius:16px;
  border:1px solid var(--line);
  background-image:linear-gradient(140deg,rgba(247,241,234,.9),rgba(233,223,212,.68));
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  transition:transform .4s var(--ease),border-color .4s,box-shadow .4s;
}
.criteria li:hover{transform:translateX(7px);border-color:var(--line-strong);box-shadow:0 24px 36px -32px rgba(30,21,14,.75)}
.criteria strong{
  font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--brick);
  display:flex;align-items:center;gap:11px;
}
.criteria strong::before{
  counter-increment:c;content:counter(c,decimal-leading-zero);
  font-size:.7rem;letter-spacing:.16em;color:var(--amber);
  border-bottom:1px solid var(--line);
}
.criteria span{font-size:.92rem;color:var(--ink-soft)}

/* ============================================================
   05 · DEPOIMENTOS (bloco escuro)
   ============================================================ */
#depoimentos{isolation:isolate}
#depoimentos .grain{z-index:0}
#depoimentos .container{position:relative;z-index:2}
.rating{
  display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  color:var(--bege);font-size:.88rem;
}
.rating span{color:#C9A57F;font-size:1.05rem;letter-spacing:.1em}
.rating a{color:var(--camel);border-bottom:1px solid rgba(201,165,127,.5);padding-bottom:2px}
.rating a:hover{color:var(--marfim)}
.testimonials{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,1.8vw,22px);
  max-width:940px;margin:0 auto;
  padding:4px;
}
.testi-card{
  display:flex;flex-direction:column;justify-content:center;gap:6px;
  padding:clamp(20px,2.4vw,30px);
  border-radius:16px;
  border:1px solid rgba(201,165,127,.22);
  background-image:linear-gradient(150deg,rgba(247,241,234,.09),rgba(247,241,234,.04));
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(247,241,234,.08);
  transition:transform .45s var(--ease),border-color .4s;
}
.testi-card:hover{transform:translateY(-4px);border-color:rgba(201,165,127,.45)}
.testi-card strong{
  font-family:var(--font-display);font-size:1.6rem;font-weight:600;
  color:var(--marfim);line-height:1;
}
.testi-card span{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bege)}
.review-note{
  text-align:center;font-size:.8rem;color:var(--bege);
  max-width:70ch;margin:26px auto 0;
}
/* trilho com snap (usado quando o JS monta o carrossel) */
.testi{position:relative;max-width:960px;margin:0 auto}
.testi-viewport{overflow:hidden;border-radius:var(--radius)}
.testi-track{display:flex;transition:transform .7s var(--ease)}
.testi-slide{
  flex:0 0 100%;margin:0;padding:clamp(24px,4vw,44px);
  border-radius:var(--radius);
  border:1px solid rgba(201,165,127,.2);
  background-image:linear-gradient(150deg,rgba(247,241,234,.08),rgba(247,241,234,.03));
  text-align:center;
}
.testi-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}
.testi-controls button{
  width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(201,165,127,.4);
  color:var(--camel);font-size:1.5rem;line-height:1;
  transition:background-color .3s,color .3s;
}
.testi-controls button:hover{background-image:var(--grad-accent);color:var(--marfim)}
.testi-dots{display:flex;gap:6px}
.testi-dots button,.testi-dot{
  width:46px;height:46px;min-width:46px;padding:0;border:0;background:none;
  display:grid;place-items:center;position:relative;
}
.testi-dots button::after,.testi-dot::after{
  content:"";width:10px;height:10px;border-radius:50%;
  background-color:rgba(201,165,127,.35);
  transition:background-color .3s,transform .3s;
}
.testi-dots button[aria-selected="true"]::after,.testi-dot.is-active::after{
  background-image:var(--grad-accent);transform:scale(1.25);
}
@media (max-width:900px){
  .testimonials{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:14px;
    padding:6px 4px 18px;
    scrollbar-width:none;
    scroll-padding-inline:6px;
  }
  .testimonials::-webkit-scrollbar{display:none}
  .testi-card{flex:0 0 86%;scroll-snap-align:center}
}

/* ============================================================
   06 · PERGUNTAS
   ============================================================ */
.faq-grid{
  display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);
  gap:clamp(28px,5vw,82px);align-items:start;
}
.faq-list{display:block}
.faq-body{border-bottom:1px solid var(--line)}
.faq-body:first-child{border-top:1px solid var(--line)}
.faq-body summary{
  list-style:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  min-height:48px;padding:18px 0;
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(1.02rem,.96rem + .36vw,1.28rem);
  color:var(--ink);
  transition:color .3s;
}
.faq-body summary::-webkit-details-marker{display:none}
.faq-body summary:hover{color:var(--brick)}
.faq-body summary::after{
  content:"+";flex:none;
  width:32px;height:32px;border-radius:50%;
  border:1px solid var(--line-strong);
  display:grid;place-items:center;
  font-family:var(--font-body);font-size:1rem;color:var(--brick);
  transition:transform .4s var(--ease),background-color .3s,color .3s,border-color .3s;
}
.faq-body[open] summary::after{
  content:"+";transform:rotate(45deg);
  background-image:var(--grad-accent);color:var(--marfim);border-color:transparent;
}
.faq-body p{
  padding:0 0 20px;margin:0;
  color:var(--ink-soft);font-size:.94rem;max-width:62ch;
}
@supports (interpolate-size: allow-keywords){
  .faq-body{interpolate-size:allow-keywords}
  .faq-body::details-content{block-size:0;overflow:hidden;transition:block-size .45s var(--ease),content-visibility .45s allow-discrete}
  .faq-body[open]::details-content{block-size:auto}
}

/* ============================================================
   07 · ONDE ATENDO
   ============================================================ */
.where-grid{
  display:grid;grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr);
  gap:clamp(24px,4vw,58px);align-items:stretch;
}
.address-card{
  display:flex;flex-direction:column;gap:18px;
  padding:clamp(26px,3.4vw,40px);
  border-radius:var(--radius);
  border:1px solid var(--line);
  background-image:linear-gradient(150deg,rgba(247,241,234,.92),rgba(233,223,212,.72));
  box-shadow:0 32px 54px -46px rgba(30,21,14,.7);
}
.address-card address{
  font-style:normal;
  font-family:var(--font-display);font-size:clamp(1.1rem,1rem + .5vw,1.42rem);
  line-height:1.45;color:var(--ink);
}
.address-card p{margin:0;font-size:.9rem;color:var(--brick)}
.address-card .actions{margin-top:auto}
.space-photos{display:grid;grid-template-columns:1fr;grid-auto-rows:1fr;gap:clamp(14px,2vw,20px)}
.space-photos figure{
  margin:0;position:relative;overflow:hidden;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background-image:linear-gradient(165deg,#E6DACE,#D9CABB);
  box-shadow:0 26px 44px -38px rgba(30,21,14,.8);
}
.space-photos figure::after{
  content:"";position:absolute;left:6%;right:6%;bottom:-8px;height:34px;
  background-image:var(--contact-shadow);pointer-events:none;
}
.space-photos img{width:100%;height:100%;object-fit:cover;aspect-ratio:16 / 10;transition:transform .8s var(--ease)}
.space-photos figure:hover img{transform:scale(1.03)}
.map-consent{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin-top:26px;padding:20px 24px;
  border-radius:16px;
  border:1px dashed var(--line-strong);
  background-image:linear-gradient(140deg,rgba(247,241,234,.8),rgba(233,223,212,.55));
}
.map-consent p{margin:0;font-size:.9rem;color:var(--brick)}
.map-wrap{
  margin-top:20px;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);min-height:380px;
  background-image:linear-gradient(165deg,#E6DACE,#D6C7B8);
  box-shadow:0 30px 54px -44px rgba(30,21,14,.8);
}
.map-wrap[hidden]{display:none}
.map-wrap iframe{width:100%;height:100%;min-height:380px;border:0;filter:saturate(.9) contrast(1.02)}

/* ============================================================
   08 · CONTATO
   ============================================================ */
.contact-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.94fr);
  gap:clamp(28px,5vw,76px);align-items:start;
}
.contact-form{
  display:grid;gap:18px;
  padding:clamp(24px,3.4vw,38px);
  border-radius:var(--radius);
  border:1px solid var(--line);
  background-image:linear-gradient(150deg,rgba(247,241,234,.94),rgba(233,223,212,.76));
  box-shadow:0 34px 58px -48px rgba(30,21,14,.72);
}
.contact-form label{
  display:grid;gap:8px;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:600;color:var(--brick);
}
.contact-form input[type="text"],
.contact-form input[type="tel"],
.contact-form textarea{
  width:100%;min-height:52px;padding:0 16px;
  border:1px solid var(--line-strong);border-radius:12px;
  background-image:linear-gradient(160deg,rgba(255,252,248,.95),rgba(243,236,228,.95));
  color:var(--ink);font-size:.95rem;letter-spacing:normal;text-transform:none;
  transition:border-color .3s,box-shadow .3s;
}
.contact-form textarea{min-height:130px;padding:14px 16px;resize:vertical;line-height:1.55}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--bege)}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{
  outline:none;border-color:var(--amber);
  box-shadow:0 0 0 3px rgba(151,109,81,.24);
}
.contact-form .consent{
  display:flex;gap:13px;align-items:flex-start;
  font-size:.8rem;letter-spacing:normal;text-transform:none;
  font-weight:400;color:var(--ink-soft);line-height:1.5;
}
.contact-form .consent input{
  flex:none;width:22px;height:22px;margin-top:1px;
  accent-color:var(--amber);
}
.contact-form .consent a{color:var(--brick);border-bottom:1px solid var(--line-strong)}
.contact-form .button{justify-self:start;margin-top:4px}

/* ============================================================
   CTA FINAL
   ============================================================ */
.final-cta{text-align:center;background-image:var(--grad-dark)}
.final-cta::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--glow-cta);
}
.final-cta .container{position:relative;z-index:2}
.final-cta .eyebrow{justify-content:center}
.final-cta h2{color:var(--marfim);max-width:22ch;margin-inline:auto}
.final-cta p{color:var(--corpo);margin-inline:auto}

/* ============================================================
   RODAPE
   ============================================================ */
.site-footer{
  position:relative;
  background-image:var(--grad-footer);
  color:var(--on-dark-2);
  padding:clamp(56px,7vh,86px) 0 30px;
}
.site-footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background-image:var(--grad-line);
}
.site-footer::after{
  content:"";position:absolute;left:-10%;top:-30%;width:60%;height:80%;
  background-image:radial-gradient(circle at 30% 40%,rgba(151,109,81,.2),transparent 62%);
  pointer-events:none;
}
.footer-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.3fr 1fr 1.1fr;
  gap:clamp(28px,4vw,58px);
  padding-bottom:36px;
  border-bottom:1px solid rgba(201,165,127,.16);
}
.footer-mark{
  display:grid;place-items:center;width:54px;height:54px;border-radius:50%;
  background-image:var(--grad-accent);color:var(--marfim);
  font-family:var(--font-display);font-size:1.15rem;font-weight:600;
  margin-bottom:16px;
  box-shadow:0 0 0 1px rgba(201,165,127,.28),0 10px 22px -12px rgba(0,0,0,.7);
}
.footer-grid h2{
  font-size:clamp(1.3rem,1.1rem + .8vw,1.75rem);
  color:var(--marfim);margin:0 0 8px;
}
.footer-grid h3{
  font-family:var(--font-body);font-size:.72rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--camel);
  margin:0 0 14px;
}
.footer-grid p{margin:0 0 8px;font-size:.9rem;max-width:36ch}
.footer-grid nav{display:flex;flex-direction:column;gap:4px}
.footer-grid nav a{
  font-size:.9rem;padding:5px 0;min-height:32px;
  display:inline-flex;align-items:center;
  transition:color .3s,transform .3s var(--ease);
}
.footer-grid nav a:hover{color:var(--camel);transform:translateX(4px)}
.footer-grid a{color:inherit}
.footer-bottom{
  position:relative;z-index:1;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 26px;
  padding-top:22px;font-size:.78rem;color:var(--bege);
}
.footer-bottom p{margin:0;max-width:none}
.footer-bottom a{color:var(--camel);border-bottom:1px solid rgba(201,165,127,.35)}
.footer-bottom a:hover{color:var(--marfim)}

/* ============================================================
   MODAL DE INFORMACOES PROFISSIONAIS
   ============================================================ */
.cv-modal{
  border:0;padding:0;background:transparent;
  width:min(560px,calc(100vw - 32px));
  max-width:560px;
  max-height:calc(100vh - 32px);
  max-height:calc(100svh - 32px);
  margin:auto;overflow:visible;
}
.cv-modal::backdrop{background-image:linear-gradient(160deg,rgba(22,15,9,.72),rgba(36,26,18,.66));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cv-modal[open]{animation:cvIn .55s var(--ease)}
@keyframes cvIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
.cv-modal > div{
  position:relative;overflow:hidden;
  padding:clamp(26px,4vw,44px);
  border-radius:22px;
  border:1px solid var(--line);
  background-image:linear-gradient(150deg,#F7F1EA 0%,#EBE1D5 100%);
  box-shadow:0 46px 90px -40px rgba(22,15,9,.8);
}
.cv-modal > div::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background-image:var(--grad-line);
}
.cv-modal h2{margin:6px 0 6px;color:var(--ink)}
.cv-modal p{color:var(--ink-soft);font-size:.92rem}
.cv-modal ul{
  list-style:none;padding:0;margin:18px 0 26px;
  display:grid;gap:10px;
}
.cv-modal ul li{
  display:flex;gap:11px;align-items:flex-start;
  font-size:.93rem;color:var(--ink-soft);
}
.cv-modal ul li::before{
  content:"";flex:none;width:7px;height:7px;border-radius:50%;margin-top:9px;
  background-image:var(--grad-accent);
}
.cv-modal .cv-close{
  position:absolute;top:14px;right:14px;z-index:2;
  width:46px;height:46px;border-radius:50%;
  border:1px solid var(--line);
  background-image:linear-gradient(150deg,rgba(247,241,234,.95),rgba(233,223,212,.8));
  font-size:1.7rem;line-height:1;color:var(--brick);
  transition:background-color .3s,color .3s,transform .3s var(--ease);
}
.cv-modal .cv-close:hover{background-image:var(--grad-accent);color:var(--marfim);transform:rotate(90deg)}
body.modal-open{overflow:hidden}

/* ============================================================
   FLUTUANTES (FAB, topo, barra de cookies)
   ============================================================ */
.wa-float,.fab{
  position:fixed;right:22px;bottom:calc(22px + var(--cookie-h,0px));
  width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;z-index:60;
  background-image:var(--grad-accent);
  color:var(--marfim);
  box-shadow:0 18px 34px -16px rgba(122,82,56,.85);
  transition:transform .35s var(--ease),bottom .4s var(--ease),filter .35s var(--ease);
}
.wa-float:hover,.fab:hover{transform:translateY(-3px) scale(1.04);filter:brightness(1.08)}
.wa-float svg,.fab svg{width:28px;height:28px}
.wa-float::after{
  content:"";position:absolute;inset:-7px;border-radius:50%;
  border:2px solid rgba(151,109,81,.55);
  animation:pulseRing 2.6s ease-out infinite;
}
@keyframes pulseRing{0%{transform:scale(.86);opacity:.9}100%{transform:scale(1.42);opacity:0}}
.to-top{
  position:fixed;right:28px;bottom:calc(96px + var(--cookie-h,0px));
  width:46px;height:46px;border-radius:50%;z-index:60;
  display:grid;place-items:center;
  border:1px solid var(--line-strong);
  background-image:linear-gradient(150deg,rgba(247,241,234,.96),rgba(233,223,212,.86));
  color:var(--brick);font-size:1.05rem;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .4s,transform .4s var(--ease),visibility .4s,bottom .4s var(--ease);
}
.to-top.is-visible{opacity:1;visibility:visible;transform:none}

.cookie-bar,.cookie-barra{
  position:fixed;left:50%;bottom:16px;transform:translateX(-50%);
  z-index:70;
  width:min(1080px,calc(100vw - 32px));
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  padding:16px 20px;
  border-radius:18px;
  border:1px solid rgba(201,165,127,.34);
  background-image:linear-gradient(150deg,rgba(36,26,18,.97),rgba(22,15,9,.97));
  color:var(--marfim);
  box-shadow:0 28px 54px -26px rgba(0,0,0,.85);
  animation:revealUp .6s var(--ease) both;
}
.cookie-bar[hidden],.cookie-barra[hidden],
.cookie-bar.is-hidden,.cookie-barra.is-hidden{display:none;height:0;padding:0;margin:0;border:0}
.cookie-text{flex:1 1 320px;margin:0;font-size:.82rem;color:var(--corpo);max-width:none}
.cookie-text a{color:var(--camel);border-bottom:1px solid rgba(201,165,127,.4)}
.cookie-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cookie-btn{
  min-height:44px;padding:0 20px;border-radius:999px;
  font-size:.82rem;font-weight:600;letter-spacing:.02em;
  border:1px solid rgba(207,191,178,.34);color:var(--marfim);
  transition:background-color .3s,color .3s,transform .3s var(--ease);
}
.cookie-btn:hover{background-color:rgba(247,241,234,.1);transform:translateY(-2px)}
.cookie-accept{background-image:var(--grad-accent);color:var(--marfim);border-color:transparent}
.cookie-close,.cookie-bar .cookie-dismiss{
  width:44px;height:44px;flex:none;border-radius:50%;
  border:1px solid rgba(207,191,178,.3);
  font-size:1.4rem;line-height:1;color:var(--marfim);
  transition:background-color .3s,color .3s;
}
.cookie-close:hover,.cookie-bar .cookie-dismiss:hover{background-color:var(--marfim);color:var(--ink)}

/* ============================================================
   REVEAL
   ============================================================ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.d1{transition-delay:.1s}
.reveal.d2{transition-delay:.2s}
.reveal.d3{transition-delay:.3s}
.reveal.d4{transition-delay:.4s}
.reveal.in,.reveal.is-visible,.reveal.in-view,.reveal.is-in{opacity:1;transform:none}
@keyframes revealUp{from{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes glowPulse{from{opacity:.72}to{opacity:1}}

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width:1180px){
  .main-nav{gap:14px}
  .main-nav a{font-size:.82rem}
  .book-card{width:clamp(118px,11vw,148px)}
}
@media (max-width:1040px){
  .hero-grid{grid-template-columns:1fr;gap:34px;text-align:center}
  .hero-copy .eyebrow,.hero .actions,.trust-list{justify-content:center}
  .hero-copy p{margin-inline:auto}
  .hero-figure{order:-1}
  .hero-figure::before{left:-14%;width:128%}
  .portrait-frame{width:min(68vw,340px)}
  .about-grid{grid-template-columns:1fr;gap:34px}
  .about-art{min-height:0}
  .feature-grid{grid-template-columns:1fr;gap:30px}
  .faq-grid{grid-template-columns:1fr;gap:24px}
  .where-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .map-wrap,.map-wrap iframe{min-height:340px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ghost-mark{right:-24%;opacity:.05}
}
@media (max-width:900px){
  .site-header{height:72px}
  .header-inner{height:72px;gap:14px}
  .site-header .button-small{display:none}
  .main-nav{display:none}
  .menu-toggle{display:flex}
  .shelf[data-mode="detail"] .shelf-stage{grid-template-columns:1fr;gap:30px;justify-items:center}
  .shelf[data-mode="detail"] .shelf-row{display:flex;justify-content:center;overflow:visible}
  .shelf[data-mode="detail"] .book-card.is-selected,
  .shelf[data-mode="detail"] .book-card[aria-expanded="true"]{
    width:min(250px,62vw);max-width:250px;
  }
  .shelf[data-mode="detail"] .book-panel{min-width:0;width:100%;max-width:100%}
  .shelf-row{
    flex-wrap:nowrap;justify-content:flex-start;
    overflow-x:auto;scroll-snap-type:x mandatory;
    padding:20px 6px 42px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .shelf-row::-webkit-scrollbar{display:none}
  .book-card{flex:0 0 clamp(138px,40vw,168px);width:auto;scroll-snap-align:center}
  .book-card:hover,.book-card:focus-visible{--lift:0px}
  .shelf[data-mode="detail"] .shelf-row{flex-wrap:nowrap;scroll-snap-type:none}
}
@media (max-width:860px){
  :root{--space:clamp(60px,7.5vh,92px)}
  .section,.hero{min-height:100vh;min-height:100svh}
  .testimonials{grid-template-columns:none}
}
@media (max-width:720px){
  .container{width:min(var(--container),100% - 40px)}
  .steps{grid-template-columns:1fr;gap:14px}
  .notebook-cover{padding:24px 20px}
  .caderno-host iframe,.caderno-host .caderno-frame{height:440px}
  .credentials-row,.credential-row{gap:8px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .map-consent{flex-direction:column;align-items:flex-start}
  .contact-form .button{justify-self:stretch;width:100%}
  .cookie-bar,.cookie-barra{bottom:12px;padding:14px 16px;gap:12px}
  .cookie-actions{width:100%}
  .cookie-btn{flex:1 1 auto;justify-content:center}
  .to-top{right:auto;left:22px;bottom:calc(20px + var(--cookie-h,0px))}
}
@media (max-width:480px){
  .brand small{display:none}
  .brand strong{font-size:1.15rem}
  .hero-support{letter-spacing:.04em}
  .section-num{font-size:2.4rem;opacity:.16}
  .ghost-mark{right:-40%;font-size:min(52vw,240px);opacity:.045}
  .book-card{flex:0 0 74vw}
  .shelf[data-mode="detail"] .book-card.is-selected,
  .shelf[data-mode="detail"] .book-card[aria-expanded="true"]{width:min(220px,64vw)}
  .panel-close{top:10px;right:10px}
}
@media (max-height:640px){
  .section,.hero{min-height:100vh;min-height:100svh;padding-top:clamp(52px,8vh,80px);padding-bottom:clamp(52px,8vh,80px)}
  .mobile-menu{justify-content:flex-start;overflow-y:auto}
}
@media (min-width:1041px){
  .hero{min-height:100vh;min-height:100svh}
  .hero-figure{position:relative;padding:0 0 10px}
}

/* ============================================================
   ACESSIBILIDADE E MOVIMENTO REDUZIDO
   ============================================================ */
@media (prefers-contrast:more){
  .front-cover{background-image:linear-gradient(180deg,rgba(10,7,4,.72),rgba(10,7,4,.72)),var(--cover-img,linear-gradient(150deg,#4A2F1E,#241A12))}
  .front-cover strong,.front-cover small,.front-cover em,.front-cover b{color:#FFFFFF}
  .main-nav a,.eyebrow{opacity:1}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms;
    animation-iteration-count:1;
    transition-duration:.001ms;
    scroll-behavior:auto;
  }
  .marquee > div{animation:none;transform:none}
  .wa-float::after{animation:none;opacity:.35}
  .cookie-bar,.cookie-barra,.cv-modal[open]{animation:none}
  .caderno-host[data-state="loading"]::after,.caderno-host[data-state="idle"]::after{animation:none;opacity:.5}
  .reveal{opacity:1;transform:none}
  .book-card:hover,.book-card:focus-visible{--lift:0px}
}

/* ===== utilitarios ===== */
[hidden]{display:none!important}
.cookie-barra[hidden],.book-panel[hidden],#mobile-menu[hidden]{display:none!important}

/* ===== CORRECOES CIRURGICAS 19/09 (aplicadas a mao, override no fim) ===== */
@media (max-width:900px){
  .section--hero{min-height:0;padding:78px 0 26px}
  .hero-grid{gap:14px}
  .hero-copy .eyebrow{font-size:.7rem;letter-spacing:.14em}
  .section--hero h1,.hero-copy h1{font-size:clamp(1.7rem,7.1vw,2.3rem);line-height:1.04;margin-bottom:.3em}
  .hero-lead,.hero-copy .lead{font-size:.92rem;line-height:1.45;margin:0 0 8px}
  .hero-support{font-size:.7rem;margin:0 0 10px}
  .hero-actions,.hero .actions{margin-bottom:8px;gap:10px}
  .hero-actions .button{padding:13px 20px;font-size:.86rem}
  .trust-list{font-size:.7rem;gap:6px 12px;margin:0 0 8px}
  .phone{font-size:.7rem}
  .hero-figure{gap:8px;margin:0}
  .portrait-frame{width:min(100%,330px);aspect-ratio:auto;height:46vh;min-height:46vh}
}
@media (max-width:900px){
  .section--hero{padding:74px 0 20px}
  .hero-copy{gap:6px}
  .hero-copy .eyebrow,.hero-copy .eyebrow.reveal{font-size:.64rem;margin-bottom:2px;line-height:1.2}
  .hero-copy .hero-sub{font-size:.82rem;line-height:1.35;margin:0 0 6px}
  .hero-copy .hero-lead{font-size:.86rem;line-height:1.4;margin:0 0 6px;max-width:34ch}
  .hero-copy .hero-actions{margin:4px 0 6px;gap:8px;flex-wrap:wrap}
  .hero-copy .hero-actions .button{padding:11px 16px;font-size:.8rem}
  .hero-copy .hero-chips{font-size:.68rem;gap:5px 10px;margin:0 0 4px}
  .hero-copy .hero-phone{font-size:.72rem;margin:0}
  .hero-figure,.hero-media{gap:6px}
  .portrait-frame{width:min(100%,300px);aspect-ratio:auto;height:40vh;min-height:40vh}
}
@media (max-width:900px){
  .section--hero{padding:66px 0 18px}
  .hero-grid{gap:10px}
  .portrait-frame{height:42vh;min-height:42vh}
}

/* numeral decorativo: sempre ATRAS do texto, nunca riscando as letras */
.section-head,.container{position:relative}
.section-num{z-index:0 !important;opacity:.14 !important;pointer-events:none !important;
  top:clamp(8px,1.6vh,20px) !important;left:clamp(4px,1.2vw,18px) !important;
  font-size:clamp(2.2rem,4.4vw,4rem) !important}
.section-head > *{position:relative;z-index:2}
@media (max-width:900px){.section-num{font-size:2rem !important;opacity:.12 !important;top:2px !important;left:0 !important}}

/* ===== COMPATIBILIDADE DE CLASSES (HTML v2 usa nav-toggle / mobile-menu) ===== */
.nav-toggle{
  display:none;width:46px;height:46px;flex:none;flex-direction:column;justify-content:center;align-items:center;
  gap:5px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;
  transition:background-color .3s,border-color .3s;
}
.nav-toggle-bar{display:block;width:20px;height:2px;border-radius:2px;background:var(--marfim);transition:transform .3s,opacity .3s}
.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)}
@media (max-width:900px){ .nav-toggle{display:flex} }
@media (min-width:901px){ .nav-toggle{display:none} }

/* folga >=16px entre o FAB do WhatsApp e a cookie bar (padrao) */
.wa-float,.fab,.fab-wa{bottom:calc(40px + var(--cookie-h,0px)) !important}
@media (max-width:900px){.wa-float,.fab,.fab-wa{bottom:calc(34px + var(--cookie-h,0px)) !important}}

/* ===== CONTRASTE DO HERO ESCURO (correcao medida: texto estava preto sobre carvao) ===== */
.section--hero .eyebrow,.section--hero .hero-sub,.section--hero .hero-lead,
.section--hero .hero-phone,.section--hero .hero-support,.section--hero .trust-list,
.section--hero .hero-chips,.section--hero .quiet-link{color:#EFE3D6 !important}
.section--hero .hero-copy .lead,.section--hero .hero-copy p{color:#E8DCCF !important}
.section--hero .hero-actions .btn:not(.btn-primary),.section--hero .hero-actions .button:not(.btn-primary){color:#F7F1EA !important;border-color:rgba(247,241,234,.45) !important}
.section--hero .btn-ghost,.section--hero .hero-actions .btn-ghost{
  color:#F7F1EA !important;border-color:rgba(247,241,234,.45) !important}
.section--hero .trust-list li::before{background-image:linear-gradient(115deg,#B98F72,#E0BC96) !important}
.section--hero .phone a,.section--hero .phone{color:#EFE3D6 !important}
.section--hero .eyebrow::after,.section--hero .eyebrow{opacity:1 !important}

/* ajustes finais de contraste do hero (medidos) */
.section--hero .link-quiet,.section--hero .hero-actions .link-quiet{color:#F2E7DB !important}
.section--hero .btn-primary{color:#1E150E !important;background-image:linear-gradient(115deg,#D8B893 0%,#E3C6A4 45%,#C9A57F 100%) !important}
.section--hero .btn-primary:hover{color:#1E150E !important;filter:brightness(1.04)}
.section--hero .hero-chips,.section--hero .chip{color:#F2E7DB !important}

/* caderno 3D: quando nao carrega (data-state=error), o host some e fica o fallback estatico
   (as 4 etapas em .steps-list) — padrao do prompt-novo: fallback elegante, nunca caixa vazia */
.caderno-host[data-state="error"]{display:none !important}
.caderno-host[data-state="loading"] .caderno-status{opacity:.85}
.caderno-host[data-state="error"] .caderno-status,.caderno-host .caderno-status[hidden]{display:none !important}
/* fallback: as quatro etapas ganham destaque de "caderno" */
.steps-fallback{background-image:var(--grad-soft);border:1px solid rgba(172,154,141,.26);border-radius:18px;padding:18px 20px;margin-top:8px}
.steps-fallback summary{cursor:pointer;font-weight:600;letter-spacing:.02em;color:var(--ink);list-style:none}
.steps-fallback summary::-webkit-details-marker{display:none}
.steps-fallback summary::before{content:"＋ ";color:var(--amber);font-weight:700}
.steps-fallback[open] summary::before{content:"− "}
.steps-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.steps-list li{counter-increment:passo}

/* cookie bar mais discreta (nao dominar a tela) */
.cookie-barra{max-width:760px;margin:0 auto;padding:12px 16px !important;gap:10px !important;border-radius:14px !important}
.cookie-barra .cookie-text{font-size:.76rem !important;line-height:1.35 !important;flex:1 1 240px !important}
.cookie-barra .cookie-btn{min-height:38px !important;padding:0 14px !important;font-size:.76rem !important}
.cookie-barra .cookie-x{width:34px !important;height:34px !important}
@media (max-width:900px){
  .cookie-barra{left:10px !important;right:10px !important;bottom:10px !important;padding:10px 12px !important;gap:8px !important}
  .cookie-barra .cookie-text{font-size:.72rem !important;flex:1 1 100% !important}
  .cookie-barra .cookie-actions{gap:8px !important}
  .wa-float,.fab,.fab-wa{bottom:calc(24px + var(--cookie-h,0px)) !important}
}
@media (max-width:900px){.wa-float,.fab,.fab-wa{bottom:calc(38px + var(--cookie-h,0px)) !important}}
