/* ============================================================
   DR. LUCAS PEIXOTO · style.css
   Carvao quente + ambar · Fraunces + Inter locais
   ============================================================ */

/* ---------- Fontes locais (sem CDN) ---------- */
@font-face{font-family:"Fraunces";src:url("../assets/fonts/Fraunces-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url("../assets/fonts/Fraunces-500.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url("../assets/fonts/Fraunces-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url("../assets/fonts/Fraunces-Italic400.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url("../assets/fonts/Inter-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../assets/fonts/Inter-500.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../assets/fonts/Inter-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}

/* ---------- Tokens (valores medidos em estudo/paleta.md) ---------- */
:root{
  --noite:#0B0F10;
  --noite-2:#14191B;
  --grafite:#1E2528;
  --grafite-2:#2A3236;
  --branco-clinico:#F4F5F2;
  --cinza:#CACBC3;
  --areia:#B1AFA2;
  --tinta:#10141A;
  --texto-claro:#F2F4F2;
  --ambar:#C89A54;
  --ambar-claro:#E3BE7E;
  --ambar-esc:#8E6A32;

  /* Hero premium (receita aprovada): carvao quente + marfim */
  --carvao-q1:#241F1C;
  --carvao-q2:#1A1815;
  --carvao-q3:#141311;
  --marfim:#F7F2EC;
  --corpo-hero:#C7B8AD;
  --selo-bg:rgba(41,37,38,.6);
  --selo-borda:#65544B;
  --selo-acento:#E6C49E;
  --cta-tinta:#2E2823;

  --grad-hero:linear-gradient(130deg,var(--noite) 0%,var(--noite-2) 52%,var(--grafite) 100%);
  --glow-hero:radial-gradient(closest-side,rgba(200,154,84,.30),transparent 70%);
  --glow-cta:radial-gradient(ellipse at 24% 68%,rgba(200,154,84,.30) 0%,rgba(200,154,84,0) 70%);
  --grad-dark:linear-gradient(165deg,var(--noite) 0%,var(--noite-2) 48%,var(--grafite) 100%);
  --grad-metal:linear-gradient(115deg,var(--branco-clinico) 0%,var(--cinza) 48%,var(--areia) 100%);
  --grad-accent:linear-gradient(130deg,var(--ambar) 0%,var(--ambar-claro) 100%);
  --grad-cta:linear-gradient(115deg,#C89A54 0%,#E3BE7E 45%,#F1E2D3 85%);
  --grad-line:linear-gradient(90deg,rgba(200,154,84,0) 0%,var(--ambar) 50%,rgba(200,154,84,0) 100%);
  --grad-soft:linear-gradient(130deg,var(--branco-clinico) 0%,var(--cinza) 100%);

  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius:18px;
  --radius-pill:999px;
  --ease:cubic-bezier(.22,.8,.28,1);
  --erro:#D98A72;
  --header-h:84px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--noite);scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 8px);overflow-x:hidden}
body{margin:0;overflow-x:hidden;font-family:var(--font-body);font-size:16px;line-height:1.65;background:var(--noite);color:var(--texto-claro);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
[hidden]{display:none!important}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
blockquote{margin:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
a{color:var(--ambar-claro);text-underline-offset:3px}
::selection{background:var(--ambar);color:var(--tinta)}
:focus-visible{outline:2px solid var(--ambar-claro);outline-offset:3px;border-radius:6px}

.container{max-width:1180px;margin-inline:auto;padding-inline:clamp(20px,4.5vw,48px)}
.skip{position:fixed;top:-64px;left:16px;z-index:120;padding:10px 18px;border-radius:10px;background:var(--grad-accent);background-color:var(--ambar);color:var(--tinta);font-weight:600;text-decoration:none;transition:top .3s var(--ease)}
.skip:focus{top:12px}

/* ---------- Tipografia ---------- */
.display{font-family:var(--font-display);font-weight:600;line-height:1.08;letter-spacing:-.015em;color:var(--texto-claro);margin:0 0 18px;text-wrap:balance}
h1.display{font-size:clamp(2.55rem,1.5rem + 4.6vw,4.6rem)}
h2.display{font-size:clamp(1.9rem,1.35rem + 2.5vw,3.15rem)}
h3.display{font-size:clamp(1.45rem,1.15rem + 1.4vw,2.1rem)}
.display em{font-style:italic;color:var(--ambar-claro)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .section .display,.cta-final .display{background-image:var(--grad-metal);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
  .section .display em,.cta-final .display em{background-image:var(--grad-accent);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
}
.eyebrow{margin:0 0 14px;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ambar);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";flex:none;width:30px;height:1px;background:linear-gradient(90deg,transparent,var(--ambar))}
.lead{font-size:clamp(1.05rem,.98rem + .55vw,1.28rem);line-height:1.6;color:var(--cinza);margin:0}
.prose{max-width:70ch;display:grid;gap:18px;font-size:clamp(1rem,.96rem + .3vw,1.12rem);line-height:1.78;color:var(--cinza)}
.prose p{margin:0}
.prose a,.lead a{color:var(--ambar-claro)}
.section-head{max-width:780px;margin-bottom:clamp(34px,5vh,56px)}
.small{font-size:.85rem;color:var(--areia)}
.tnum{font-variant-numeric:tabular-nums;letter-spacing:.02em}

/* ---------- Botoes ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:var(--radius-pill);font-weight:600;font-size:.98rem;line-height:1;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s,color .3s,border-color .3s}
.btn:active{transform:translateY(1px)}
.btn-primary{color:var(--tinta);background-color:var(--ambar);background-image:var(--grad-cta);box-shadow:0 16px 36px -14px rgba(200,154,84,.55)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 22px 44px -14px rgba(200,154,84,.65)}
.btn-outline{color:var(--ambar-claro);border-color:rgba(200,154,84,.5);background:rgba(30,37,40,.4)}
.btn-outline:hover{border-color:var(--ambar);background:rgba(200,154,84,.12);transform:translateY(-2px)}
.btn-ghost{color:var(--cinza);border-color:rgba(202,203,195,.25);background:transparent}
.btn-ghost:hover{color:var(--texto-claro);border-color:rgba(202,203,195,.5)}
.btn-lg{padding:17px 32px;font-size:1.05rem}
.btn-sm{padding:11px 18px;font-size:.88rem}
.link-quiet{color:var(--cinza);text-decoration:none;font-weight:500;font-size:.95rem;border-bottom:1px solid rgba(202,203,195,.35);padding-bottom:2px;transition:color .3s,border-color .3s}
.link-quiet:hover{color:var(--ambar-claro);border-color:var(--ambar-claro)}

/* ---------- Reveal (JS adiciona .is-visible / .in-view) ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-visible,.reveal.in-view,.reveal.is-in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.17s}.d3{transition-delay:.28s}.d4{transition-delay:.4s}
@media (scripting:none){
  .reveal{opacity:1;transform:none}
}

/* ---------- Header fixo: recolhe ao descer (.is-hidden), volta ao subir ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:80;transform:translateY(0);transition:transform .3s var(--ease),background-color .3s,box-shadow .3s;background-color:rgba(11,15,16,.82);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);border-bottom:1px solid rgba(200,154,84,.16)}
.site-header.is-scrolled{background-color:rgba(11,15,16,.94);box-shadow:0 18px 40px -22px rgba(0,0,0,.75)}
.site-header.is-hidden{transform:translateY(-100%)}
body:has(.mobile-menu.is-open) .site-header{transform:none}
.header-inner{display:flex;align-items:center;gap:clamp(16px,2.4vw,34px);min-height:var(--header-h);padding-block:10px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--texto-claro);flex:none}
.brand-mark{flex:none;display:block;filter:drop-shadow(0 6px 16px rgba(200,154,84,.35))}
.brand-text{display:grid;line-height:1.2}
.brand-name{font-family:var(--font-display);font-weight:600;font-size:1.12rem;letter-spacing:.01em}
.brand-sub{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--areia)}
.main-nav{display:flex;gap:clamp(14px,1.8vw,26px);margin-left:auto}
.main-nav a{position:relative;color:var(--cinza);text-decoration:none;font-size:.9rem;font-weight:500;padding:6px 0;transition:color .3s}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--grad-line);transform:scaleX(0);transition:transform .3s var(--ease)}
.main-nav a:hover{color:var(--ambar-claro)}
.main-nav a:hover::after{transform:scaleX(1)}
.header-cta{flex:none;padding:12px 22px}
.nav-toggle{display:none;flex:none;width:46px;height:46px;border-radius:12px;border:1px solid rgba(200,154,84,.3);place-items:center;position:relative}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--ambar-claro);border-radius:2px;margin:2.5px auto;transition:transform .35s var(--ease),opacity .25s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Menu mobile ---------- */
.mobile-menu{position:fixed;inset:0;z-index:79;min-height:100svh;padding:calc(var(--header-h) + 20px) clamp(24px,7vw,60px) 40px;background:linear-gradient(165deg,rgba(11,15,16,.97) 0%,rgba(20,25,27,.98) 55%,rgba(30,37,40,.97) 100%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-14px);pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s .35s;overflow-y:auto}
.mobile-menu.is-open{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .35s var(--ease),transform .35s var(--ease)}
.mobile-menu nav{display:grid;gap:4px}
.mobile-menu a{display:block;padding:13px 0;font-family:var(--font-display);font-size:clamp(1.5rem,1.2rem + 2.4vw,2.1rem);color:var(--texto-claro);text-decoration:none;border-bottom:1px solid rgba(200,154,84,.12);opacity:0;transform:translateY(14px);transition:opacity .4s var(--ease),transform .4s var(--ease),color .3s}
.mobile-menu a:hover{color:var(--ambar-claro)}
.mobile-menu .btn{margin-top:22px;border-bottom:0;justify-content:center}
.mobile-menu.is-open a{opacity:1;transform:none;transition-delay:calc(var(--i,0) * 45ms)}

/* ---------- Hero premium ---------- */
.hero{position:relative;overflow:hidden;min-height:100svh;display:flex;align-items:center;padding:calc(var(--header-h) + clamp(40px,7vh,84px)) 0 clamp(70px,9vh,110px);color:var(--texto-claro);background-color:var(--carvao-q3);background-image:radial-gradient(ellipse 48% 55% at 20% 55%,#33291F 0%,#241E19 38%,transparent 72%),radial-gradient(ellipse 42% 70% at 82% 45%,rgba(200,154,84,.22) 0%,transparent 70%),linear-gradient(102deg,#241F1C 0%,#1A1815 24%,#141311 38%,#141311 100%)}
.hero-glow{position:absolute;top:12%;right:2%;width:min(46vw,560px);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(200,154,84,.30),transparent 70%);filter:blur(20px);opacity:.55;pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,80px);align-items:center}
.hero-copy .eyebrow{color:var(--ambar-claro)}
.hero .display{color:var(--marfim);font-size:clamp(2.6rem,1.5rem + 4.8vw,4.75rem);letter-spacing:-.02em}
.hero .display em{color:var(--ambar-claro)}
.hero .lead{color:var(--corpo-hero);max-width:52ch;margin-top:6px}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:30px 0 26px}
.rating-badge{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;padding:11px 18px;border-radius:14px;background:var(--selo-bg);border:1px solid var(--selo-borda);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.88rem;color:var(--corpo-hero)}
.rating-badge strong{font-family:var(--font-display);font-size:1.15rem;color:var(--selo-acento);font-weight:600}
.rating-badge a{color:var(--ambar-claro)}
.hero-figure{position:relative}
.portrait-media{position:relative;aspect-ratio:4/5;border-radius:26px;overflow:hidden;border:1px solid rgba(200,154,84,.3);box-shadow:0 46px 90px -34px rgba(0,0,0,.75),0 0 0 1px rgba(200,154,84,.08)}
.portrait-media::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 118% 100% at 58% 30%,transparent 54%,rgba(11,15,16,.38) 100%),linear-gradient(rgba(11,15,16,.08),rgba(11,15,16,.08)),linear-gradient(180deg,rgba(11,15,16,.16) 0%,transparent 26%,transparent 60%,rgba(11,15,16,.58) 100%);pointer-events:none}
.portrait-media img{width:100%;height:100%;object-fit:cover;object-position:62% 20%}
.portrait-caption{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:14px;font-size:.9rem;color:var(--texto-claro)}
.portrait-caption small{color:var(--areia)}

/* ---------- Secoes: gradiente regua + glow radial ---------- */
.section{position:relative;padding:clamp(76px,10vh,132px) 0;background-color:var(--noite);background-image:radial-gradient(ellipse 56% 46% at 88% 0%,rgba(200,154,84,.08),transparent 70%),linear-gradient(165deg,var(--noite) 0%,var(--noite-2) 52%,var(--grafite) 135%)}
.section:nth-of-type(even){background-image:radial-gradient(ellipse 52% 44% at 6% 100%,rgba(200,154,84,.07),transparent 70%),linear-gradient(165deg,#0D1214 0%,var(--noite-2) 52%,var(--grafite) 140%)}
.secao-dor,.secao-24h{background-image:radial-gradient(ellipse 48% 58% at 12% 32%,rgba(200,154,84,.14),transparent 70%),linear-gradient(165deg,var(--noite) 0%,var(--noite-2) 55%,var(--grafite) 135%)}
.secao-micro{background-image:radial-gradient(ellipse 58% 50% at 78% 20%,rgba(200,154,84,.12),transparent 70%),linear-gradient(165deg,var(--noite) 0%,var(--noite-2) 55%,var(--grafite) 140%)}
.secao-estante,.secao-depo{background-image:radial-gradient(ellipse 60% 45% at 50% 0%,rgba(200,154,84,.1),transparent 72%),linear-gradient(165deg,var(--noite) 0%,var(--noite-2) 52%,var(--grafite) 138%)}
.secao-perguntas{background-image:radial-gradient(ellipse 50% 40% at 90% 10%,rgba(200,154,84,.07),transparent 70%),linear-gradient(165deg,var(--noite) 0%,var(--noite-2) 60%,var(--grafite) 140%)}
.section-num{position:absolute;top:clamp(28px,5vh,56px);right:clamp(14px,3vw,48px);font-family:var(--font-display);font-weight:600;font-size:clamp(4.2rem,11vw,9.5rem);line-height:1;color:rgba(200,154,84,.07);pointer-events:none;user-select:none}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .section-num{background-image:var(--grad-metal);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;opacity:.16}
}

/* ---------- Dor / 24h ---------- */
.dor-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,5vw,72px);align-items:center}
.dor-copy p{max-width:56ch;color:var(--cinza);margin:0 0 14px;line-height:1.75}
.dor-cta{display:grid;gap:16px;justify-items:start;padding:clamp(24px,3vw,38px);border-radius:20px;background:rgba(41,37,38,.55);border:1px solid rgba(200,154,84,.28);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.dor-fone{margin:0;font-size:.92rem;color:var(--areia)}
.dor-fone a{color:var(--ambar-claro);text-decoration:none;font-weight:600}

/* ---------- Passos ---------- */
.passos{list-style:none;counter-reset:passo;padding:0;margin:clamp(30px,4vh,46px) 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px}
.passos li{counter-increment:passo;position:relative;padding:24px 22px;border-radius:16px;background:rgba(42,50,54,.42);border:1px solid rgba(200,154,84,.16);transition:border-color .3s,transform .3s var(--ease)}
.passos li:hover{border-color:rgba(200,154,84,.4);transform:translateY(-3px)}
.passos li::before{content:counter(passo,decimal-leading-zero);display:block;font-family:var(--font-display);font-size:1.5rem;color:var(--ambar);margin-bottom:10px}
.passos strong{display:block;color:var(--texto-claro);margin-bottom:6px;font-weight:600}
.passos p{margin:0;font-size:.9rem;line-height:1.6;color:var(--areia)}

.depo-inline{margin:clamp(32px,5vh,50px) 0 0;padding:clamp(22px,3vw,34px);max-width:72ch;border-left:3px solid var(--ambar);border-radius:0 16px 16px 0;background:rgba(30,37,40,.55)}
.depo-inline p{margin:0;font-family:var(--font-display);font-style:italic;font-size:clamp(1.05rem,1rem + .5vw,1.28rem);line-height:1.55;color:var(--texto-claro)}
.depo-inline footer{margin-top:14px;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--areia)}

/* ---------- Cena 3D ---------- */
.cena3d-wrap{position:relative;contain:layout;height:clamp(320px,54svh,560px);margin:clamp(28px,4vh,44px) 0 0;border-radius:22px;overflow:hidden;border:1px solid rgba(200,154,84,.22);background:radial-gradient(ellipse 62% 78% at 50% 42%,rgba(200,154,84,.14),transparent 65%),var(--grad-dark);box-shadow:0 40px 80px -36px rgba(0,0,0,.7)}
#cena3d{position:absolute;inset:0;width:100%;height:100%;display:block}
.cena3d-fallback{position:absolute;inset:0;background:radial-gradient(ellipse 55% 72% at 44% 44%,rgba(200,154,84,.26),transparent 62%),radial-gradient(ellipse 40% 50% at 72% 60%,rgba(227,190,126,.12),transparent 70%),linear-gradient(150deg,var(--grafite) 0%,var(--noite) 72%)}
.cena3d-fallback::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(244,245,242,.06) 48%,transparent 62%)}
.cena3d-alt{margin:16px 0 0;font-size:.88rem;line-height:1.6;color:var(--areia);max-width:76ch}

/* ---------- Docencia / Sobre ---------- */
.sobre-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(36px,5vw,80px);align-items:center}
.sobre-figure figcaption{margin-top:12px;font-size:.85rem;color:var(--areia)}
.frame-58,.frame-169{position:relative;overflow:hidden;border:1px solid rgba(200,154,84,.28);box-shadow:0 36px 70px -30px rgba(0,0,0,.7)}
.frame-58{aspect-ratio:5/8;border-radius:22px}
.frame-169{aspect-ratio:16/9;border-radius:18px;margin-top:clamp(30px,4vh,48px)}
.frame-58 img,.frame-169 img{width:100%;height:100%;object-fit:cover}
.frame-58 img{object-position:58% 30%}
.frame-169 img{object-position:50% 42%}
.aula-figure figcaption{margin-top:12px;font-size:.85rem;color:var(--areia)}
.sobre-copy p{color:var(--cinza);line-height:1.75;margin:0 0 14px}
.trust{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.trust li{position:relative;padding-left:30px;color:var(--texto-claro);font-size:.98rem}
.trust li::before{content:"";position:absolute;left:0;top:.62em;width:18px;height:2px;background:var(--ambar)}

/* ---------- Pesquisa ---------- */
.pesq-grid{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pesq-grid li{padding:24px 22px;border-radius:16px;background:rgba(42,50,54,.42);border:1px solid rgba(200,154,84,.16);transition:border-color .3s,transform .3s var(--ease)}
.pesq-grid li:hover{border-color:rgba(200,154,84,.4);transform:translateY(-3px)}
.pesq-grid strong{display:block;font-family:var(--font-display);font-size:1.15rem;color:var(--ambar-claro);margin-bottom:8px}
.pesq-grid p{margin:0;font-size:.9rem;line-height:1.6;color:var(--areia)}

/* ============================================================
   ESTANTE 3D (padrao Zanetti) - #shelf
   ============================================================ */
.shelf{position:relative;perspective:1600px;width:100%;margin-top:clamp(24px,3vh,40px);scroll-margin-bottom:190px}
/* modo leitura: FAB e voltar-ao-topo saem de cena enquanto o painel esta aberto */
body:has(#shelf[data-mode="detail"]) .wa-fab,body:has(#shelf[data-mode="book"]) .wa-fab,
body:has(#shelf[data-mode="detail"]) .to-top,body:has(#shelf[data-mode="book"]) .to-top{display:none}
.shelf-stage{display:block;width:100%;position:relative}
.shelf-row{display:flex;justify-content:center;align-items:flex-end;gap:clamp(16px,2.4vw,30px);flex-wrap:wrap;padding:34px 8px 46px;position:relative}
.shelf-row::after{content:"";position:absolute;left:5%;right:5%;bottom:16px;height:1px;background:var(--grad-line);opacity:.55}
.book-card{--r:0deg;--ry:0deg;--o:50% 50%;--hover-y:0px;position:relative;width:clamp(128px,10.5vw,160px);aspect-ratio:3/4;padding:0;transform:rotate(var(--r)) translateY(var(--hover-y));transform-style:preserve-3d;transition:transform .55s var(--ease);z-index:1;text-align:left;border-radius:8px}
/* url() relativa resolve contra a pasta do css: arte aplicada por volume na .front-cover */
.book-card{--scrim:linear-gradient(180deg,rgba(11,15,16,.82) 0%,rgba(11,15,16,.52) 24%,rgba(11,15,16,.12) 46%,rgba(11,15,16,.14) 56%,rgba(11,15,16,.62) 80%,rgba(11,15,16,.93) 100%),linear-gradient(90deg,rgba(0,0,0,.32) 0%,rgba(0,0,0,0) 15%,rgba(0,0,0,0) 85%,rgba(0,0,0,.22) 100%)}
.book-card[data-book="canal"] .front-cover{background-image:var(--scrim),url('../assets/img/capas/arte/arte-01.jpg')}
.book-card[data-book="retratamento"] .front-cover{background-image:var(--scrim),url('../assets/img/capas/arte/arte-02.jpg')}
.book-card[data-book="urgencia"] .front-cover{background-image:var(--scrim),url('../assets/img/capas/arte/arte-03.jpg')}
.book-card[data-book="microscopia"] .front-cover{background-image:var(--scrim),url('../assets/img/capas/arte/arte-04.jpg')}
.book-card[data-book="diagnostico"] .front-cover{background-image:var(--scrim),url('../assets/img/capas/arte/arte-05.jpg')}
.book-card[data-book="docencia"] .front-cover{background-image:var(--scrim),url('../assets/img/capas/arte/arte-06.jpg')}
.shelf[data-mode="shelf"] .book-card:nth-child(1){--r:-3.5deg;--ry:-29deg;--o:18% 50%}
.shelf[data-mode="shelf"] .book-card:nth-child(2){--r:-2deg;--ry:-18deg;--o:20% 50%}
.shelf[data-mode="shelf"] .book-card:nth-child(3){--r:-.5deg;--ry:-8deg;--o:30% 50%}
.shelf[data-mode="shelf"] .book-card:nth-child(4){--r:.5deg;--ry:8deg;--o:70% 50%}
.shelf[data-mode="shelf"] .book-card:nth-child(5){--r:2deg;--ry:18deg;--o:80% 50%}
.shelf[data-mode="shelf"] .book-card:nth-child(6){--r:3.5deg;--ry:29deg;--o:82% 50%}
.book-card:hover,.book-card:focus-visible{--hover-y:-18px;--ry:0deg;z-index:6}
.book{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(var(--ry));transform-origin:var(--o);transition:transform .6s var(--ease)}
.book>span{position:absolute;inset:0;border-radius:4px 9px 9px 4px}
.book-shadow{transform:translate3d(10px,16px,-30px);background:rgba(0,0,0,.4);filter:blur(14px);border-radius:10px}
.book-back{background:var(--cover-color,var(--grafite));filter:brightness(.65);transform:translateZ(-14px)}
.page-block{inset:1.5% 1% 1.5% 3%;background:linear-gradient(90deg,#D8D2C4 0%,#EFEAE0 32%,#E4DDCF 100%);transform:translateZ(-6px);transition:transform .6s var(--ease),inset .6s var(--ease)}
.page-fan{inset:2% 2% 2% 4%;pointer-events:none}
.page-fan i{position:absolute;inset:0;background:#EFEAE0;border-radius:2px 7px 7px 2px;transform-origin:1.5% center;transform:rotateY(0deg);opacity:0;transition:transform .7s var(--ease),opacity .4s}
.front-cover{background-color:var(--cover-color,var(--grafite));background-image:var(--scrim),var(--cover-img,none);background-size:100% 100%,100% 100%,cover;background-position:center;transform-origin:1.5% center;transform:translateZ(1px);transition:transform .7s var(--ease),box-shadow .7s var(--ease);box-shadow:0 0 0 1px rgba(200,154,84,.28) inset,2px 4px 14px -8px rgba(0,0,0,.6);display:flex;flex-direction:column;padding:12% 10% 10%;color:var(--texto-claro);overflow:hidden}
.front-cover::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6%;background:linear-gradient(90deg,rgba(0,0,0,.4),transparent);pointer-events:none}
.front-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(244,245,242,.15) 50%,transparent 60%);transform:translateX(-130%);pointer-events:none}
.book-card:hover .front-cover::after,.book-card:focus-visible .front-cover::after{animation:shine-sweep .9s var(--ease)}
@keyframes shine-sweep{to{transform:translateX(130%)}}
.front-cover>*{position:relative;z-index:2}
.cover-kicker{font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ambar-claro);font-weight:700;margin-bottom:auto;text-shadow:0 1px 2px rgba(0,0,0,.7)}
.cover-title{display:inline-block;max-width:100%;font-family:var(--font-display);font-size:clamp(.92rem,.7rem + .75vw,1.22rem);line-height:1.08;font-weight:600;letter-spacing:-.015em;color:var(--branco-clinico);padding:.26em .5em .3em;margin-inline:-.2em;border-left:3px solid var(--ambar);border-radius:3px;background:rgba(11,15,16,.6);box-shadow:0 6px 18px rgba(0,0,0,.28);text-shadow:0 1px 0 rgba(0,0,0,.6),0 2px 10px rgba(0,0,0,.6);text-wrap:balance;overflow-wrap:break-word;hyphens:auto}
.cover-sub{font-size:.58rem;margin-top:7px;color:rgba(242,244,242,.95);line-height:1.3;text-shadow:0 1px 2px rgba(0,0,0,.8)}
.cover-foot{font-size:.5rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(227,190,126,.95);margin-top:auto;text-shadow:0 1px 2px rgba(0,0,0,.8)}
.cover-foot::before{content:"";display:block;width:32px;height:2px;margin-bottom:.55em;background:var(--ambar);opacity:.9}
.cover-badge{position:absolute;right:8%;top:8%;font-size:.55rem;letter-spacing:.14em;padding:4px 8px;border:1px solid rgba(200,154,84,.6);border-radius:var(--radius-pill);color:var(--ambar-claro);opacity:0;transform:translateY(-4px);transition:opacity .4s,transform .4s}
.book-card:hover .cover-badge,.book-card:focus-visible .cover-badge{opacity:1;transform:none}

/* modo detalhe: os outros livros SOMEM; o escolhido assenta a -29deg AO LADO do painel */
#shelf[data-mode="detail"] .shelf-stage,#shelf[data-mode="book"] .shelf-stage{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:clamp(34px,5vw,80px);align-items:center}
#shelf[data-mode="detail"] .shelf-row,#shelf[data-mode="book"] .shelf-row{display:block;padding:0}
#shelf[data-mode="detail"] .shelf-row::after,#shelf[data-mode="book"] .shelf-row::after{display:none}
#shelf[data-mode="detail"] .book-card:not(.is-selected):not(.selected):not([aria-expanded="true"]),
#shelf[data-mode="book"] .book-card:not(.is-selected):not(.selected):not([aria-expanded="true"]){display:none}
#shelf[data-mode="detail"] .book-card.is-selected,#shelf[data-mode="detail"] .book-card.selected,#shelf[data-mode="detail"] .book-card[aria-expanded="true"],
#shelf[data-mode="book"] .book-card.is-selected,#shelf[data-mode="book"] .book-card.selected,#shelf[data-mode="book"] .book-card[aria-expanded="true"]{--r:0deg;--ry:0deg;--hover-y:0px;width:100%;max-width:300px;display:block;z-index:3}
#shelf[data-mode="detail"] .book-card.is-selected .book,#shelf[data-mode="detail"] .book-card[aria-expanded="true"] .book,
#shelf[data-mode="book"] .book-card.is-selected .book,#shelf[data-mode="book"] .book-card[aria-expanded="true"] .book{transform:rotateY(0deg)}
#shelf[data-mode="detail"] .book-card.is-selected .front-cover,#shelf[data-mode="detail"] .book-card[aria-expanded="true"] .front-cover,
#shelf[data-mode="book"] .book-card.is-selected .front-cover,#shelf[data-mode="book"] .book-card[aria-expanded="true"] .front-cover{transform:translate3d(0,0,18px) rotateY(-29deg);box-shadow:26px 28px 46px rgba(0,0,0,.5),0 0 0 1px rgba(200,154,84,.4) inset,inset -6px 0 12px -8px rgba(0,0,0,.4)}
#shelf[data-mode="detail"] .book-card.is-selected .page-block,#shelf[data-mode="detail"] .book-card[aria-expanded="true"] .page-block,
#shelf[data-mode="book"] .book-card.is-selected .page-block,#shelf[data-mode="book"] .book-card[aria-expanded="true"] .page-block{inset:1.9% 1.5% 1.9% 4.4%;transform:translate3d(6px,1px,-10px)}
#shelf[data-mode="detail"] .book-card.is-selected .page-fan i,#shelf[data-mode="detail"] .book-card[aria-expanded="true"] .page-fan i,
#shelf[data-mode="book"] .book-card.is-selected .page-fan i,#shelf[data-mode="book"] .book-card[aria-expanded="true"] .page-fan i{opacity:1}
#shelf[data-mode="detail"] .book-card.is-selected .page-fan i:nth-child(1),#shelf[data-mode="detail"] .book-card[aria-expanded="true"] .page-fan i:nth-child(1),
#shelf[data-mode="book"] .book-card.is-selected .page-fan i:nth-child(1),#shelf[data-mode="book"] .book-card[aria-expanded="true"] .page-fan i:nth-child(1){transform:rotateY(-4deg)}
#shelf[data-mode="detail"] .book-card.is-selected .page-fan i:nth-child(2),#shelf[data-mode="detail"] .book-card[aria-expanded="true"] .page-fan i:nth-child(2),
#shelf[data-mode="book"] .book-card.is-selected .page-fan i:nth-child(2),#shelf[data-mode="book"] .book-card[aria-expanded="true"] .page-fan i:nth-child(2){transform:rotateY(-8deg)}
#shelf[data-mode="detail"] .book-card.is-selected .page-fan i:nth-child(3),#shelf[data-mode="detail"] .book-card[aria-expanded="true"] .page-fan i:nth-child(3),
#shelf[data-mode="book"] .book-card.is-selected .page-fan i:nth-child(3),#shelf[data-mode="book"] .book-card[aria-expanded="true"] .page-fan i:nth-child(3){transform:rotateY(-12deg)}
#shelf[data-mode="detail"] .book-card.is-selected .page-fan i:nth-child(4),#shelf[data-mode="detail"] .book-card[aria-expanded="true"] .page-fan i:nth-child(4),
#shelf[data-mode="book"] .book-card.is-selected .page-fan i:nth-child(4),#shelf[data-mode="book"] .book-card[aria-expanded="true"] .page-fan i:nth-child(4){transform:rotateY(-16deg)}
#shelf[data-mode="detail"] .book-card.is-selected .cover-badge,#shelf[data-mode="detail"] .book-card[aria-expanded="true"] .cover-badge,
#shelf[data-mode="book"] .book-card.is-selected .cover-badge,#shelf[data-mode="book"] .book-card[aria-expanded="true"] .cover-badge{opacity:0}

.book-panel{display:none;position:relative;background:rgba(30,37,40,.72);-webkit-backdrop-filter:blur(14px) saturate(1.05);backdrop-filter:blur(14px) saturate(1.05);border:1px solid rgba(200,154,84,.28);border-radius:20px;padding:clamp(26px,3.4vw,44px);box-shadow:0 34px 70px -30px rgba(0,0,0,.7);opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
#shelf[data-mode="detail"] .book-panel,#shelf[data-mode="book"] .book-panel{display:block}
.book-panel.is-in,.book-panel.is-open{opacity:1;transform:none}
.bp-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;font-size:1.55rem;line-height:1;color:var(--cinza);border:1px solid rgba(200,154,84,.3);background:rgba(11,15,16,.5);transition:background .3s,color .3s,border-color .3s;display:grid;place-items:center}
.bp-close:hover{color:var(--tinta);background:var(--ambar);border-color:var(--ambar)}
.book-panel .eyebrow{margin-bottom:8px}
.book-panel h3{margin:0 0 12px;padding-right:44px}
.book-panel p{color:var(--cinza);margin:0 0 14px;line-height:1.7}
.bp-list{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:10px}
.bp-list li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--cinza)}
.bp-list li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--ambar);margin-top:9px}
.bp-note{font-size:.8rem;color:var(--areia);margin:14px 0 0}
.books-data{display:none}
.shelf-static{list-style:none;padding:0;display:grid;gap:10px;color:var(--cinza)}
.shelf-static strong{color:var(--ambar-claro)}

/* ============================================================
   CARROSSEL DE DEPOIMENTOS (.testi)
   ============================================================ */
.testi{max-width:1080px;margin:0 auto;position:relative}
.testi-viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:var(--radius)}
.testi-viewport::-webkit-scrollbar{display:none}
.testi-track{display:flex;gap:20px}
.testi-slide{flex:0 0 100%;scroll-snap-align:start;margin:0;padding:clamp(24px,3vw,36px) clamp(20px,2.6vw,32px);background:rgba(42,50,54,.45);border:1px solid rgba(200,154,84,.2);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:250px}
.testi-slide blockquote{margin:0;font-family:var(--font-display);font-style:italic;font-size:clamp(1rem,.94rem + .45vw,1.2rem);line-height:1.55;color:var(--texto-claro)}
.testi-slide figcaption{display:grid;gap:3px}
.testi-slide figcaption strong{font-size:.95rem;letter-spacing:.03em;color:var(--ambar-claro);font-weight:600}
.testi-slide figcaption span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--areia)}
.testi-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;flex-wrap:wrap}
.testi-controls>button{flex:none;width:46px;height:46px;min-width:44px;min-height:44px;border-radius:50%;border:1px solid rgba(200,154,84,.45);color:var(--ambar-claro);background:rgba(30,37,40,.6);font-size:1.55rem;line-height:1;display:grid;place-items:center;transition:background .3s,color .3s,border-color .3s,opacity .3s}
.testi-controls>button:hover:not(:disabled){background:var(--ambar);color:var(--tinta);border-color:var(--ambar)}
.testi-controls>button:disabled{opacity:.32;cursor:default}
.testi-dots{display:flex;gap:4px;align-items:center;justify-content:center}
.testi-dots button{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;padding:0}
.testi-dots button::after{content:"";width:10px;height:10px;border-radius:50%;background:rgba(202,203,195,.32);transition:background .3s,transform .3s}
.testi-dots button:hover::after{background:rgba(227,190,126,.6)}
.testi-dots button.is-ativo::after,.testi-dots button[aria-current="true"]::after,.testi-dots button[aria-selected="true"]::after{background:var(--ambar);transform:scale(1.3)}
.testi-contador{font-size:.82rem;color:var(--areia);font-variant-numeric:tabular-nums;letter-spacing:.06em;min-width:48px;text-align:center}

/* ---------- Consultorio ---------- */
.onde-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,4vw,60px);align-items:stretch}
.onde-endereco{font-style:normal;font-family:var(--font-display);font-size:clamp(1.2rem,1.05rem + .9vw,1.55rem);line-height:1.5;color:var(--texto-claro)}
.onde-lista{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}
.onde-lista li{position:relative;padding-left:28px;color:var(--cinza);font-size:.95rem;line-height:1.6}
.onde-lista li::before{content:"";position:absolute;left:0;top:.6em;width:16px;height:2px;background:var(--ambar)}
.onde-lista strong{color:var(--ambar-claro);font-weight:600}
.loc-actions{display:flex;gap:12px;flex-wrap:wrap}
.map-wrap{position:relative;min-height:clamp(300px,42vh,430px);border-radius:20px;overflow:hidden;border:1px solid rgba(200,154,84,.24);background:var(--grad-dark)}
.map-consent{position:absolute;inset:0;display:grid;place-content:center;gap:12px;text-align:center;padding:32px;background:radial-gradient(ellipse 60% 62% at 50% 50%,rgba(200,154,84,.12),transparent 72%)}
.map-consent-end{margin:0;font-weight:600;color:var(--texto-claro)}
.map-consent-aviso{margin:0;font-size:.85rem;color:var(--areia);max-width:40ch;justify-self:center}
.map-frame{position:absolute;inset:0}
.map-frame iframe{width:100%;height:100%;border:0;display:block}

/* ---------- FAQ ---------- */
.faq-list{display:grid;gap:12px;max-width:880px}
.faq-item{background:rgba(30,37,40,.55);border:1px solid rgba(200,154,84,.16);border-radius:14px;overflow:hidden;transition:border-color .3s}
.faq-item[open]{border-color:rgba(200,154,84,.4)}
.faq-item summary{cursor:pointer;list-style:none;padding:20px 58px 20px 22px;position:relative;font-weight:600;color:var(--texto-claro);font-size:1.02rem;transition:color .3s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:""}
.faq-item summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-size:1.6rem;line-height:1;color:var(--ambar);transition:transform .3s var(--ease)}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-item summary:hover{color:var(--ambar-claro)}
.faq-body{padding:0 22px 22px;color:var(--cinza);line-height:1.72;font-size:.97rem}
.faq-body p{margin:0;max-width:72ch}

/* ---------- CTA final / Agendar ---------- */
.cta-final{position:relative;margin-top:clamp(52px,8vh,92px);border-radius:26px;padding:clamp(38px,6vw,72px) clamp(24px,5vw,72px);color:var(--texto-claro);background-color:var(--noite);background-image:var(--glow-cta),var(--grad-dark);border:1px solid rgba(200,154,84,.3);overflow:hidden;box-shadow:0 46px 96px -44px rgba(0,0,0,.85)}
.agendar-inner{position:relative}
.contact-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(30px,4vw,64px);margin-top:clamp(24px,3vh,38px)}
.contact-form{display:grid;gap:18px}
.field{display:grid;gap:8px}
.field>label{font-size:.84rem;font-weight:600;letter-spacing:.05em;color:var(--cinza)}
.field input:not([type="checkbox"]):not([type="radio"]),.field select,.field textarea{width:100%;padding:14px 16px;background:rgba(11,15,16,.62);border:1px solid rgba(200,154,84,.28);border-radius:12px;color:var(--texto-claro);transition:border-color .3s,box-shadow .3s}
.field input::placeholder,.field textarea::placeholder{color:rgba(177,175,162,.6)}
.field input:not([type="checkbox"]):not([type="radio"]):focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ambar);box-shadow:0 0 0 3px rgba(200,154,84,.18)}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea,.field input.is-invalid,.field select.is-invalid,.field textarea.is-invalid{border-color:var(--erro);box-shadow:0 0 0 3px rgba(217,138,114,.16)}
.select-wrap{position:relative}
.select-wrap::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;border-right:2px solid var(--ambar-claro);border-bottom:2px solid var(--ambar-claro);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.select-wrap select{appearance:none;-webkit-appearance:none;padding-right:44px}
.field-consent{display:flex;gap:12px;align-items:flex-start}
.field-check{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--ambar)}
.field-consent .field-consent-label{font-size:.85rem;font-weight:400;letter-spacing:0;color:var(--cinza);line-height:1.55}
.field-consent-link{color:var(--ambar-claro)}
.lgpd{margin:0;font-size:.78rem;line-height:1.6;color:var(--areia)}
.contact-cards{display:grid;gap:14px;align-content:start}
.ccard{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;padding:18px 20px;background:rgba(30,37,40,.55);border:1px solid rgba(200,154,84,.22);border-radius:16px;color:inherit;text-decoration:none;transition:border-color .3s,transform .3s var(--ease)}
a.ccard:hover{border-color:rgba(200,154,84,.55);transform:translateY(-2px)}
.ccard svg{grid-row:1/3;width:34px;height:34px;color:var(--ambar)}
.ccard-label{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--areia)}
.ccard-value{font-weight:600;color:var(--texto-claro);font-size:.98rem}

/* ---------- Rodape ---------- */
.site-footer{background:linear-gradient(180deg,var(--noite) 0%,#070A0B 100%);border-top:1px solid rgba(200,154,84,.16);padding-top:clamp(50px,7vh,82px)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:clamp(28px,4vw,52px);padding-bottom:52px}
.footer-brand p{margin:0 0 10px;color:var(--cinza);font-size:.95rem;line-height:1.65}
.footer-nome{font-family:var(--font-display);font-size:1.35rem;color:var(--texto-claro)}
.footer-col{display:grid;gap:10px;align-content:start}
.footer-col h4{margin:0 0 8px;font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ambar)}
.footer-col a{color:var(--cinza);text-decoration:none;font-size:.92rem;transition:color .3s}
.footer-col a:hover{color:var(--ambar-claro)}
.footer-horarios{color:var(--areia);font-size:.88rem}
.footer-base{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid rgba(200,154,84,.12);padding-block:24px;font-size:.82rem;color:var(--areia)}
.footer-base p{margin:0}
body:has(.cookie-bar:not([hidden])) .site-footer{padding-bottom:130px}

/* ---------- Cookie bar: cartao fixo no rodape ---------- */
.cookie-bar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);
  z-index:90;width:min(680px,calc(100% - 24px));
  display:flex;align-items:center;gap:14px;padding:14px 16px 14px 20px;
  border-radius:16px;background:var(--grad-dark);color:var(--texto-claro);
  border:1px solid rgba(200,154,84,.3);box-shadow:0 24px 50px -18px rgba(0,0,0,.7)}
.cookie-bar[hidden]{display:none!important}
.cookie-texto{flex:1;margin:0;font-size:.85rem;line-height:1.5;color:var(--cinza)}
.cookie-link{color:var(--ambar-claro)}
.cookie-acoes{display:flex;gap:10px;flex:none}
.cookie-fechar{flex:none;width:38px;height:38px;min-width:38px;border-radius:50%;border:1px solid rgba(200,154,84,.3);background:transparent;color:var(--areia);font-size:1.25rem;line-height:1;display:grid;place-items:center;transition:color .3s,border-color .3s}
.cookie-fechar:hover{color:var(--ambar-claro);border-color:var(--ambar)}

/* ---------- FAB WhatsApp + voltar ao topo ---------- */
.wa-fab{position:fixed;right:20px;bottom:20px;z-index:85;display:flex;align-items:center;gap:10px;padding:15px 22px;border-radius:var(--radius-pill);background-color:var(--ambar);background-image:var(--grad-accent);color:var(--tinta);text-decoration:none;font-weight:600;font-size:.95rem;box-shadow:0 18px 42px -12px rgba(200,154,84,.55);transition:transform .3s var(--ease),box-shadow .3s}
.wa-fab:hover{transform:translateY(-3px);box-shadow:0 24px 50px -14px rgba(200,154,84,.65)}
.wa-fab-icone{width:22px;height:22px;flex:none}
.wa-fab-label{white-space:nowrap}
.to-top{position:fixed;left:20px;bottom:20px;z-index:85;width:46px;height:46px;border-radius:50%;background:rgba(30,37,40,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(200,154,84,.32);color:var(--ambar-claro);font-size:1.3rem;line-height:1;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .35s,transform .35s var(--ease),visibility 0s .35s}
.to-top.is-visible,.to-top.is-in,.to-top.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .35s,transform .35s var(--ease)}
@media (max-width:1024px){
  body:has(.cookie-bar:not([hidden])) .wa-fab,body:has(.cookie-bar:not([hidden])) .to-top{bottom:150px}
}
@media (max-width:640px){
  body:has(.cookie-bar:not([hidden])) .wa-fab,body:has(.cookie-bar:not([hidden])) .to-top{bottom:172px}
}

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (min-width:1500px){
  .container{max-width:1280px}
  .secao-estante .container{max-width:1320px}
  .hero .display{font-size:5rem}
}
@media (max-width:1180px){
  .main-nav{gap:14px}
  .footer-grid{grid-template-columns:1.3fr 1fr 1fr}
  .footer-brand{grid-column:1/-1;max-width:56ch}
}
@media (max-width:1024px){
  .main-nav{display:none}
  .nav-toggle{display:grid}
  .hero{min-height:auto;padding-top:calc(var(--header-h) + clamp(34px,6vh,60px))}
  .hero-grid{grid-template-columns:1fr;column-gap:40px;row-gap:0}
  .hero-copy{display:contents}
  .hero-copy .eyebrow{order:1}
  .hero-copy .display{order:2}
  .hero-figure{order:3;width:100%;max-width:480px;margin:26px 0 30px}
  .hero-copy .lead{order:4}
  .hero .hero-actions{order:5}
  .hero-copy .rating-badge{order:6}
  .dor-inner,.onde-grid,.contact-grid{grid-template-columns:1fr}
  .dor-cta{max-width:520px}
  #shelf[data-mode="detail"] .shelf-stage,#shelf[data-mode="book"] .shelf-stage{grid-template-columns:1fr;gap:30px;justify-items:center}
  #shelf[data-mode="detail"] .shelf-row,#shelf[data-mode="book"] .shelf-row{display:flex;justify-content:center}
  #shelf[data-mode="detail"] .book-card.is-selected,#shelf[data-mode="detail"] .book-card[aria-expanded="true"],
  #shelf[data-mode="book"] .book-card.is-selected,#shelf[data-mode="book"] .book-card[aria-expanded="true"]{flex:none;width:min(240px,58vw);max-width:240px}
  .book-panel{width:100%}
}
@media (min-width:768px){
  .testi-slide{flex-basis:calc((100% - 20px)/2)}
}
@media (min-width:1024px){
  .testi-slide{flex-basis:calc((100% - 40px)/3)}
}
@media (max-width:920px){
  .sobre-grid{grid-template-columns:1fr;gap:36px}
  .sobre-figure{max-width:420px}
  .pesq-grid{grid-template-columns:1fr 1fr}
  .passos{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  .section-num{font-size:4rem;opacity:.5}
  .cena3d-wrap{height:clamp(280px,42svh,420px)}
  .shelf-row{gap:14px;padding:30px 4px 42px}
  .book-card{width:clamp(112px,29vw,140px)}
  .header-cta{display:none}
}
@media (max-width:640px){
  :root{--header-h:72px}
  .hero{padding-top:calc(var(--header-h) + clamp(20px,3.8vh,40px))}
  .hero .eyebrow{margin-bottom:10px}
  .hero .display{font-size:2.15rem;margin-bottom:14px}
  .hero-figure{max-width:none;margin:18px 0 24px}
  .portrait-media{aspect-ratio:7/6;min-height:306px}
  .portrait-caption{margin-right:68px}
  .hero .lead{font-size:1rem;line-height:1.5;margin-top:0;margin-right:64px}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:16px;margin:24px 0 0}
  .hero-actions .btn{justify-content:center}
  .rating-badge{font-size:.82rem;margin-top:24px}
  .pesq-grid,.passos{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:26px;padding-bottom:40px}
  .footer-base{flex-direction:column}
  .portrait-caption{flex-direction:column;gap:2px}
  .cookie-bar{flex-wrap:wrap;gap:10px;padding:16px 46px 14px 18px}
  .cookie-texto{flex:1 1 100%;font-size:.82rem}
  .cookie-acoes{flex:1}
  .cookie-acoes .btn{flex:1;padding-inline:12px}
  .cookie-fechar{position:absolute;top:10px;right:10px;width:34px;height:34px;min-width:34px}
  .testi-controls{gap:10px}
  .testi-dots{order:3;flex-basis:100%;margin-top:6px}
  .loc-actions .btn{flex:1;justify-content:center}
  .wa-fab{right:14px;bottom:14px;padding:13px 18px}
  .to-top{left:14px;bottom:14px}
}
@media (max-width:480px){
  .brand-sub{display:none}
  .brand-name{font-size:1rem}
  .wa-fab-label{display:none}
  .wa-fab{padding:15px}
  .wa-fab-icone{width:24px;height:24px}
  .book-card{width:clamp(104px,30vw,130px)}
  .shelf-row{gap:12px}
  .testi-slide{padding:22px 18px;min-height:230px}
}

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .testi-viewport{scroll-behavior:auto}
  .site-header{transition:none}
  .reveal{opacity:1;transform:none}
  .book,.book-card,.front-cover,.page-fan i,.page-block{transition:none}
  .mobile-menu,.mobile-menu a{transition:none}
}


/* HERO CUTOUT (retrato recortado sobre o proprio fundo carvao: fundo unico) */
.portrait-media{aspect-ratio:auto;border:0;border-radius:0;overflow:visible;box-shadow:none;
  display:flex;align-items:flex-end;justify-content:center;position:relative}
.portrait-media::after{display:none}
.portrait-media img.hero-cutout{width:100%;height:auto;max-height:min(72vh,660px);object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 34px 52px rgba(0,0,0,.7)) drop-shadow(0 0 44px rgba(200,154,84,.13))}
.hero-figure::before{content:"";position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);
  width:118%;height:88%;border-radius:50%;pointer-events:none;z-index:-1;
  background:radial-gradient(ellipse at center,rgba(200,154,84,.16),rgba(200,154,84,.05) 45%,transparent 72%)}
@media (max-width:640px){
  .portrait-media img.hero-cutout{max-height:min(56vh,430px)}
}
