/* Job 03 · Carolina Kaplan. Local assets, measured warm palette.
   Interaction states are supplied by main.js (Job 04).
   The actual portrait is 1152 × 2048: preserve it, not the reference crop. */
@font-face{font-family:Inter;src:url('/assets/fonts/inter-var.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Fraunces;src:url('/assets/fonts/fraunces-var.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Fraunces;src:url('/assets/fonts/fraunces-italic-var.woff2') format('woff2');font-style:italic;font-weight:100 900;font-display:swap}
:root{
  --fundo:#2B1F21;--fundo-profundo:#241B1C;--superficie:#35272A;--superficie-alta:#3A2B2B;
  --titulo:#F2EAE3;--corpo:#D6C5B8;--acento:#CCBBAE;--rose:#CD9A84;--linha:#7F6351;--linha-forte:#CCBBAE;--botao-texto:#241B1C;
  --grad-hero:linear-gradient(130deg,#35272A 0%,#2B1F21 46%,#241B1C 100%);
  --grad-soft:linear-gradient(130deg,#2B1F21 0%,#35272A 46%,#3A2B2B 100%);
  --grad-dark:linear-gradient(165deg,#35272A 0%,#2B1F21 45%,#241B1C 100%);
  --grad-metal:linear-gradient(115deg,#CCBBAE 0%,#D6C5B8 38%,#F2EAE3 68%,#D6C5B8 100%);
  --grad-accent:linear-gradient(115deg,#CD9A84 0%,#CCBBAE 45%,#F2EAE3 85%);
  --grad-line:linear-gradient(90deg,transparent 0%,#7F6351 18%,#CCBBAE 55%,transparent 100%);
  --serif:Fraunces,Georgia,serif;--sans:Inter,system-ui,sans-serif;
  --gutter:24px;--header-h:88px;--cookie-h:110px;--fixed-gap:24px;
  --shadow:0 18px 44px #160f1033;--radius:16px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px);scroll-padding-bottom:calc(var(--cookie-h) + 32px);font-size:clamp(16px,1vw,18px)}
body{margin:0;background:var(--grad-dark);color:var(--corpo);font-family:var(--sans);font-size:clamp(1rem,.96rem + .16vw,1.0625rem);line-height:1.7;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
.cookie-bar[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
svg{display:block;flex-shrink:0}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{font-family:inherit;font-size:clamp(.875rem,.85rem + .12vw,1rem);line-height:1.4;color:inherit;cursor:pointer}
button:disabled{cursor:default;opacity:.45}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{color:var(--titulo)}
a,button,summary{outline-offset:4px}
:focus-visible{outline:2px solid var(--linha-forte)}
::selection{background:var(--acento);color:var(--fundo-profundo)}
h1,h2,h3,h4,p,figure,blockquote{margin:0}
h1,h2,h3,h4{color:var(--titulo);font-family:var(--serif);font-weight:450;line-height:1.15;text-wrap:balance}
h1{font-size:clamp(2.5rem,4.45vw,4rem)}
h2{font-size:clamp(2rem,3.25vw,3.25rem)}
h3{font-size:clamp(1.4rem,1.8vw,1.875rem)}
h4{font-size:clamp(1.125rem,1.3vw,1.35rem)}
p+p{margin-top:1.15em}
em{color:var(--acento);font-weight:inherit}
.display em{background:var(--grad-metal);background-clip:text;-webkit-background-clip:text;color:transparent}
small,.small,figcaption{font-size:clamp(.75rem,.72rem + .2vw,.875rem)}
figcaption{padding-top:14px;line-height:1.6}
address{font-style:normal}
ul,ol{padding:0;margin:0}
.container{width:min(1200px,calc(100% - var(--gutter)*2));margin-inline:auto;min-width:0}
.container>*{min-width:0}
.section{position:relative;isolation:isolate;padding-block:clamp(72px,11svh,128px);background:var(--grad-hero);scroll-margin-top:24px}
.bg-grad-soft{background:var(--grad-soft)}
.section::after{content:"";position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--grad-line);opacity:.38;pointer-events:none}
.section-num{position:absolute;top:24px;right:var(--gutter);font-family:var(--serif);font-size:clamp(.875rem,1.15vw,1.125rem);letter-spacing:.12em;color:var(--acento)}
.section-head{max-width:780px;text-align:center;margin:0 auto clamp(32px,5svh,56px)}
.section-head .display{margin-bottom:24px}
.section-head--left{text-align:left;margin:0}
.eyebrow{font-size:clamp(.6875rem,.65rem + .25vw,.8125rem);font-weight:600;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;color:var(--acento);margin-bottom:20px}
.lead{font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem);line-height:1.7}
.tnum{font-variant-numeric:tabular-nums}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;max-width:100%;padding:13px 24px;border:1px solid transparent;border-radius:7px;font-family:var(--sans);font-size:clamp(.8125rem,.77rem + .2vw,.9375rem);font-weight:600;line-height:1.5;text-align:center;text-decoration:none;transition:transform .25s,box-shadow .25s,background-position .3s,border-color .25s}
.btn-primary{background:var(--grad-accent);background-size:160% 100%;color:var(--botao-texto);box-shadow:0 8px 24px #160f102b,inset 0 1px 0 #f2eae373}
.btn-primary:hover{color:var(--botao-texto);background-position:100% 50%;box-shadow:0 12px 28px #160f1055;transform:translateY(-2px)}
.btn-outline,.btn-ghost{border-color:var(--linha-forte);background:linear-gradient(130deg,#35272a55,#241b1c55);color:var(--titulo)}
.btn-outline:hover,.btn-ghost:hover{background:var(--grad-soft);border-color:var(--titulo);transform:translateY(-2px)}
.btn-lg{min-height:54px;padding:16px 28px}
.btn-sm{min-height:44px;padding:9px 16px;font-size:clamp(.75rem,.73rem + .1vw,.8125rem)}
.link-quiet,.link-inline{font-size:clamp(.875rem,.85rem + .1vw,1rem)}
.section-cta,.agendar-acoes{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:36px}
.split-copy>.display{margin-bottom:26px}
.split-copy>.btn,.aco-copy>.btn{margin-top:28px}
.skip{position:fixed;z-index:200;top:12px;left:12px;padding:12px 20px;background:var(--grad-accent);color:var(--botao-texto);transform:translateY(-180%)}
.skip:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Header remains available whenever the menu is expanded. */
/* Keep the sticky header footprint stable: shrinking its inner row must not
   trigger scroll anchoring and invert the JS direction detector. */
.site-header{min-height:var(--header-h);position:sticky;top:0;z-index:70;background:linear-gradient(165deg,#35272af5,#2b1f21f5 45%,#241b1cf5);border-bottom:1px solid #ccbbae33;transition:transform .3s,box-shadow .3s;backdrop-filter:blur(18px)}
.header-inner{display:flex;align-items:center;gap:24px;min-height:var(--header-h);transition:min-height .3s}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.brand-text{display:grid;gap:2px}
.brand-name{font-family:var(--serif);font-size:clamp(1rem,1.3vw,1.3rem);color:var(--titulo);line-height:1.3}
.brand-sub{font-size:clamp(.625rem,.6rem + .12vw,.75rem);letter-spacing:.035em}
.brand-mark svg text,.footer-mark text{font-size:clamp(26px,2vw,26px)}
.main-nav{display:flex;align-items:center;justify-content:center;gap:22px;margin-left:auto}
.main-nav a{font-size:clamp(.75rem,.72rem + .13vw,.875rem);text-decoration:none;padding-block:14px;position:relative}
.main-nav a::after{content:"";position:absolute;bottom:8px;left:0;width:100%;height:1px;background:var(--grad-line);transform:scaleX(0);transition:transform .25s}
.main-nav a:hover::after,.main-nav a:focus-visible::after{transform:scaleX(1)}
.header-cta{min-height:44px;padding:10px 20px}
.site-header.is-scrolled{box-shadow:0 8px 28px #160f1033}
.site-header.is-scrolled .header-inner{min-height:72px}
.site-header.is-hidden{transform:translateY(-110%)}
body.menu-open .site-header,body.nav-open .site-header,.site-header:has(.nav-toggle[aria-expanded="true"]),body:has(.mobile-menu[aria-hidden="false"]) .site-header{transform:none}
.nav-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;border:1px solid var(--linha-forte);border-radius:7px;background:var(--grad-dark);margin-left:auto}
.nav-toggle span{height:1px;width:20px;background:var(--titulo);transition:transform .25s,opacity .25s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;z-index:65;inset:var(--header-h) 0 0;padding:24px var(--gutter) max(32px,env(safe-area-inset-bottom));background:var(--grad-dark);max-height:calc(100svh - var(--header-h));overflow-y:auto;overscroll-behavior:contain}
.mobile-menu[aria-hidden="false"],.mobile-menu.is-open{display:block}
.mobile-menu nav{display:grid;margin-bottom:24px}
.mobile-menu nav a{font-family:var(--serif);font-size:clamp(1.375rem,3vw,1.875rem);padding:9px 0;min-height:44px;text-decoration:none;border-bottom:1px solid #7f635155}
/* Two glows only. The blurred photographic glow also softens the join. */
.hero{min-height:100vh;min-height:100svh;padding-block:clamp(40px,6svh,72px);background:var(--grad-hero)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:64px}
.hero-copy{position:relative;isolation:isolate}
.hero-copy::before{content:"";position:absolute;z-index:-1;inset:-30px -12px;pointer-events:none;background:radial-gradient(ellipse 380px 240px at 24% 40%,rgba(205,154,132,.18) 0%,rgba(205,154,132,0) 70%)}
.hero .display{font-size:clamp(2.5rem,4.45vw,4rem);line-height:1.06;letter-spacing:-.035em;margin-bottom:26px}
.hero-sub{font-family:var(--sans);font-size:clamp(.9375rem,.87rem + .27vw,1.125rem);line-height:1.6;font-weight:500;color:var(--corpo);margin-bottom:18px;text-wrap:pretty}
.hero .lead{max-width:52ch;color:var(--corpo)}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}
.hero-selo{display:flex;align-items:center;flex-wrap:wrap;gap:7px;width:fit-content;padding:12px 16px;margin-top:28px!important;border:1px solid #ccbbae70;border-radius:10px;background:linear-gradient(165deg,#35272ac7,#2b1f21c7 45%,#241b1cc7);backdrop-filter:blur(12px);font-size:clamp(.6875rem,.64rem + .2vw,.8125rem);box-shadow:var(--shadow)}
.hero-selo strong{font-family:var(--serif);font-size:clamp(1.25rem,1.8vw,1.5rem);color:var(--titulo)}
.hero-selo-star{color:var(--acento);font-size:clamp(1rem,1.3vw,1.25rem)}
.hero-fone{margin-top:16px!important;font-size:clamp(.75rem,.72rem + .14vw,.875rem)}
.hero-figure{position:relative;isolation:isolate;width:min(100%,400px);justify-self:center}
.hero-figure::before{content:"";position:absolute;z-index:-1;inset:-24px -16px;pointer-events:none;background:radial-gradient(ellipse at 50% 44%,rgba(205,154,132,.22) 0%,rgba(205,154,132,0) 70%);filter:blur(48px)}
.portrait-frame{position:relative;background:var(--grad-soft);border-radius:48% 48% 10px 10px;padding:1px;box-shadow:0 0 0 1px #ccbbae36,0 24px 64px #160f1044}
.portrait-frame img{width:100%;height:auto;aspect-ratio:1152/2048;object-fit:contain;border-radius:inherit}
.portrait-caption{display:grid;gap:2px;text-align:center;color:var(--acento)}
.portrait-caption>span{font-family:var(--serif);font-size:clamp(1rem,1.4vw,1.25rem);color:var(--titulo)}
.scroll-hint{display:flex;justify-content:center;align-items:center;width:44px;height:44px;margin:24px auto 0}
.scroll-hint span{width:12px;height:12px;border-right:1px solid var(--acento);border-bottom:1px solid var(--acento);transform:rotate(45deg)}
.grain{position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23ccbbae' opacity='.24' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.marquee{overflow:hidden;padding-block:18px;background:var(--grad-dark);border-block:1px solid #ccbbae33}
.marquee-track{display:flex;width:max-content;animation:marquee 65s linear infinite}
.marquee-track>span{flex:none;white-space:nowrap;font-size:clamp(.6875rem,.65rem + .17vw,.8125rem);letter-spacing:.12em;text-transform:uppercase}
.marquee i{font-style:normal;color:var(--rose);margin-inline:28px}
@keyframes marquee{to{transform:translateX(-50%)}}
/* Editorial layouts */
.aco-wrap,.split,.cursos-grid,.processo-grid,.sobre-grid,.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,6vw,88px);align-items:center}
.aco-wrap,.faq-grid{align-items:start}
.split--rev{grid-template-columns:1fr;max-width:880px}
.split-det{display:grid;gap:36px;justify-items:center;text-align:center;padding:clamp(32px,6vw,72px);min-height:34svh;background:var(--grad-dark);border:1px solid #ccbbae33;border-radius:50% 50% 12px 12px}
.det-frase{font-family:var(--serif);font-size:clamp(1.875rem,3vw,2.875rem);font-style:italic;line-height:1.3;color:var(--acento)}
.det-line{width:65%;height:1px;background:var(--grad-line)}
.split-quote{padding:28px 32px;margin-block:28px;border-left:2px solid var(--acento);background:var(--grad-soft);border-radius:0 12px 12px 0}
.split-quote p{font-family:var(--serif);font-size:clamp(1.375rem,2vw,1.875rem);line-height:1.45;color:var(--titulo)}
.split-quote footer{margin-top:18px;font-size:clamp(.75rem,.72rem + .16vw,.875rem)}
.metodo-passos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;gap:20px}
.metodo-passos li{padding:28px 22px;background:var(--grad-soft);border:1px solid #ccbbae33;border-radius:12px}
.metodo-num{display:block;font-family:var(--serif);font-size:clamp(2.5rem,3.5vw,3.5rem);color:var(--acento);line-height:1;margin-bottom:28px}
.metodo-passos h3{font-size:clamp(1.125rem,1.5vw,1.5rem);margin-bottom:16px}
.metodo-passos p{font-size:clamp(.875rem,.84rem + .17vw,1rem)}
.metodo-figure{margin:40px auto 0;max-width:880px}
.metodo-figure img,.cursos-figure img,.sobre-figure img,.cons-figure img{width:100%;height:auto;border-radius:12px;box-shadow:var(--shadow)}
.cursos-figure{max-width:520px;justify-self:center}
.pele-lista,.processo-lista{list-style:none;counter-reset:step}
.pele-lista li,.processo-lista li{display:grid;gap:8px;padding:24px 0 24px 48px;border-bottom:1px solid #ccbbae40;position:relative;counter-increment:step}
.pele-lista li::before,.processo-lista li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:28px;font-family:var(--serif);font-size:clamp(1rem,1.4vw,1.25rem);color:var(--acento)}
.pele-lista strong,.processo-lista strong{font-family:var(--serif);font-size:clamp(1.25rem,1.6vw,1.625rem);font-weight:450;color:var(--titulo)}
.pele-lista span,.processo-lista span{font-size:clamp(.875rem,.83rem + .2vw,1rem)}
.cons-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.cons-endereco{text-align:center;margin-top:36px}
.faq details{background:var(--grad-dark);border:1px solid #ccbbae40;border-radius:10px;margin-bottom:12px}
.faq summary{position:relative;cursor:pointer;padding:22px 56px 22px 24px;list-style:none;font-family:var(--serif);font-size:clamp(1.125rem,1.5vw,1.5rem);line-height:1.4;color:var(--titulo);border-radius:10px;min-height:56px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:22px;top:22px;color:var(--acento)}
.faq details[open] summary::after{content:"−"}
.faq-body{padding:0 24px 24px}
.agendar{min-height:65svh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 55%,#cd9a841f,transparent 65%),var(--grad-dark)}
.agendar-wrap{max-width:800px;text-align:center}
.agendar .display{margin-bottom:28px}
/* Shelf: generous overflow-visible stage, no internal scrolling or overlay. */
.shelf-section{background:var(--grad-dark);overflow:visible;padding-bottom:clamp(100px,16svh,170px)}
.shelf,.shelf-stage,.shelf-row{overflow:visible;min-width:0}
.shelf-stage{padding:32px 24px 40px;border-bottom:4px solid #7f6351;box-shadow:0 15px 18px -18px #ccbbae80;scroll-margin-block:16px 16px}
.shelf-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;align-items:start}
.book-card{display:block;position:relative;width:100%;min-width:0;border:0;padding:0;background:none;text-align:left;perspective:1200px;border-radius:3px;scroll-margin-block:110px 180px}
.book-3d{display:block;position:relative;width:100%;height:300px;transform-style:preserve-3d;transform:rotateY(-10deg);transition:transform .6s}
.book-card:hover .book-3d{transform:translateY(-8px) rotateY(-6deg)}
.book-shadow{position:absolute;inset:10px -5px -12px 5px;background:linear-gradient(165deg,#241b1c00,#160f1066);filter:blur(12px);transform:translateZ(-15px)}
.book-back,.page-block,.front-cover,.page-fan,.book-spine{position:absolute;inset:0;border-radius:2px 6px 6px 2px;transform-style:preserve-3d}
.book-back{background:var(--grad-dark);transform:translateZ(-8px);border:1px solid var(--linha)}
.page-block{inset:3px 2px 3px 7px;background:repeating-linear-gradient(90deg,#ccbbae 0px,#f2eae3 1px,#d6c5b8 2px);transform:translateZ(2px);box-shadow:inset -3px 0 8px #7f635166}
.book-spine{right:auto;width:16px;background:linear-gradient(90deg,#241b1c,#7f6351 45%,#35272a);transform-origin:left;transform:rotateY(90deg) translateX(-8px)}
.front-cover{display:flex;flex-direction:column;gap:14px;padding:20px 12px 16px 16px;transform-origin:left center;transform:translateZ(18px);transition:transform .6s;backface-visibility:hidden;background-image:linear-gradient(165deg,#241b1cdb,#2b1f21de 48%,#35272af5),var(--cover-img);background-size:cover;background-position:center;border:1px solid #ccbbae60;box-shadow:inset 5px 0 8px #160f1077,2px 4px 8px #160f1055}
.cover-kicker{font-size:clamp(.625rem,.59rem + .13vw,.75rem);letter-spacing:.13em;text-transform:uppercase;color:var(--acento)}
.cover-title{font-family:var(--serif);font-size:clamp(1.0625rem,1.42vw,1.5rem);line-height:1.14;color:var(--titulo);overflow-wrap:anywhere}
.cover-sub{font-size:clamp(.6875rem,.66rem + .1vw,.8125rem);line-height:1.5;color:var(--corpo)}
.cover-foot{font-size:clamp(.5625rem,.53rem + .13vw,.6875rem);line-height:1.5;color:var(--acento);margin-top:auto;border-top:1px solid #ccbbae50;padding-top:12px}
.cover-badge{align-self:start;border:1px solid #ccbbae66;padding:3px 9px;border-radius:20px;font-size:clamp(.5625rem,.53rem + .12vw,.6875rem);color:var(--titulo)}
.page-fan{pointer-events:none;transform:translateZ(4px)}
.page-fan i{position:absolute;inset:4px 3px 4px 0;transform-origin:left center;opacity:0;background:var(--grad-metal);border:1px solid #7f635180;border-radius:1px 5px 5px 1px;transition:transform .6s,opacity .4s}
.book-panel{display:none;position:relative;min-width:0;padding:28px;background:var(--grad-soft);border:1px solid #ccbbae66;border-radius:12px;overflow:visible;align-self:center}
.bp-close{display:grid;place-items:center;width:44px;height:44px;margin-left:auto;margin-bottom:4px;border:1px solid #ccbbae80;background:var(--grad-dark);border-radius:50%;font-size:clamp(1.5rem,2vw,1.875rem);line-height:1}
.book-panel .eyebrow{margin-bottom:10px}
.book-panel .display{font-size:clamp(1.625rem,2.5vw,2.5rem);overflow-wrap:anywhere;margin-bottom:16px}
#bp-desc{font-size:clamp(1rem,.98rem + .1vw,1.0625rem);line-height:1.6}
.book-panel .btn{margin-top:22px}
.bp-note{font-size:clamp(.8125rem,.78rem + .15vw,.875rem);line-height:1.5;margin-top:16px}
#estante[data-mode="detail"] .shelf-stage{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:48px;align-items:center}
#estante[data-mode="detail"] .shelf-row{display:grid;grid-template-columns:1fr;padding:16px}
#estante[data-mode="detail"] .book-card:not(.is-selected){display:none}
#estante[data-mode="detail"] .book-card.is-selected .book-3d{transform:none;height:340px}
#estante[data-mode="detail"] .is-selected .front-cover{transform:translateZ(18px) rotateY(-29deg)}
#estante[data-mode="detail"] .is-selected .page-fan i{opacity:1}
#estante[data-mode="detail"] .is-selected .page-fan i:nth-child(1){transform:rotateY(-4deg)}
#estante[data-mode="detail"] .is-selected .page-fan i:nth-child(2){transform:rotateY(-8deg)}
#estante[data-mode="detail"] .is-selected .page-fan i:nth-child(3){transform:rotateY(-12deg)}
#estante[data-mode="detail"] .is-selected .page-fan i:nth-child(4){transform:rotateY(-16deg)}
#estante[data-mode="detail"] .book-panel{display:block}
#estante[data-mode="detail"] .cover-title{font-size:clamp(1.25rem,2vw,1.875rem)}
/* Reviews: the viewport, not the entire document, owns horizontal scrolling. */
.depo-placar{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.depo-nota{display:flex;gap:10px;align-items:center;font-size:clamp(.8125rem,.77rem + .2vw,.9375rem)}
.depo-nota strong{font-family:var(--serif);font-size:clamp(2.25rem,3vw,3rem);line-height:1;color:var(--titulo)}
.depo-estrela{color:var(--acento);font-size:clamp(1.25rem,2vw,1.75rem)}
.depo-google{font-size:clamp(.8125rem,.77rem + .2vw,.9375rem);padding-block:10px}
.testi,.testi-viewport{min-width:0}
.testi-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--acento) var(--fundo-profundo);padding-bottom:14px}
.testi-track{display:flex;gap:16px;align-items:stretch}
.testi-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;padding:28px;background:var(--grad-dark);border:1px solid #ccbbae55;border-radius:12px}
.depo-stars{color:var(--acento);letter-spacing:.14em;font-size:clamp(.875rem,1.1vw,1rem);margin-bottom:24px}
.testi-slide blockquote{font-family:var(--serif);font-size:clamp(1.125rem,1.35vw,1.375rem);line-height:1.65;color:var(--titulo);margin-bottom:28px}
.testi-slide figcaption{display:grid;gap:4px;margin-top:auto;border-top:1px solid #ccbbae33;padding-top:18px}
.testi-slide figcaption strong{font-weight:600;color:var(--titulo);font-size:clamp(.8125rem,.78rem + .15vw,.9375rem)}
.testi-controles{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px}
.testi-seta{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--linha-forte);border-radius:50%;background:var(--grad-dark);font-size:clamp(1.25rem,1.6vw,1.625rem);transition:background .2s,transform .2s}
.testi-seta:hover:not(:disabled){background:var(--grad-soft);transform:translateY(-2px)}
.testi-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:0}
.testi-dots button{display:grid;place-items:center;min-width:44px;width:48px;height:48px;padding:0;border:0;background:transparent;border-radius:50%}
.testi-dots button::before{content:"";width:8px;height:8px;border:1px solid var(--acento);border-radius:50%;transition:transform .2s,background .2s}
.testi-dots button[aria-current="true"]::before,.testi-dots button.is-active::before{background:var(--acento);transform:scale(1.3)}
/* Footer and fixed utilities */
.site-footer{padding:64px 0 110px;background:var(--grad-dark)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:32px}
.footer-mark{margin-bottom:20px}
.footer-brand p{font-size:clamp(.8125rem,.77rem + .2vw,.9375rem)}
.footer-col{display:flex;flex-direction:column;align-items:start;gap:12px;min-width:0}
.footer-col h4{margin-bottom:10px}
.footer-col a,.footer-endereco{font-size:clamp(.75rem,.71rem + .18vw,.875rem);overflow-wrap:anywhere}
.footer-col a{text-decoration:none}
.footer-col a:hover{text-decoration:underline}
.footer-base{margin-top:48px;padding-top:24px;border-top:1px solid #ccbbae40;display:flex;justify-content:space-between;gap:24px}
.footer-base p{font-size:clamp(.6875rem,.65rem + .16vw,.8125rem);margin:0}
.cookie-bar{position:fixed;z-index:90;bottom:16px;left:24px;width:min(680px,calc(100% - 48px));display:flex;align-items:center;gap:16px;padding:16px 56px 16px 20px;background:linear-gradient(165deg,#35272afc,#2b1f21fc 45%,#241b1cfc);color:var(--corpo);border:1px solid #ccbbae80;border-radius:12px;box-shadow:0 10px 48px #160f1055;backdrop-filter:blur(16px)}
.cookie-texto{font-size:clamp(.6875rem,.66rem + .12vw,.8125rem);line-height:1.55;min-width:0;margin:0}
.cookie-link{color:var(--titulo)}
.cookie-acoes{display:flex;gap:8px;flex-shrink:0}
.cookie-fechar{position:absolute;top:6px;right:6px;width:44px;height:44px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--titulo);font-size:clamp(1.375rem,1.8vw,1.75rem)}
.cookie-fechar:hover{background:var(--grad-soft)}
.wa-fab{position:fixed;z-index:60;right:24px;bottom:max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:10px;min-width:56px;height:56px;padding:0 18px;border:1px solid #f2eae380;border-radius:32px;background:var(--grad-accent);color:var(--botao-texto);box-shadow:var(--shadow);text-decoration:none;transition:transform .25s,box-shadow .25s}
.wa-fab:hover{color:var(--botao-texto);transform:translateY(-3px);box-shadow:0 12px 32px #160f1066}
.wa-fab-label{font-size:clamp(.75rem,.72rem + .12vw,.875rem);font-weight:600}
/* Replace the HTML's generic chat lines with the recognizable WhatsApp SVG mark. */
.wa-fab-icone{display:none}
.wa-fab::before{content:"";display:block;width:28px;height:28px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.52 3.48A11.89 11.89 0 0 0 12.05 0C5.45 0 .08 5.37.08 11.97c0 2.11.55 4.17 1.6 5.99L0 24l6.2-1.63a11.95 11.95 0 0 0 5.85 1.49h.01c6.6 0 11.97-5.37 11.97-11.97 0-3.2-1.25-6.21-3.51-8.41ZM12.05 21.84a9.93 9.93 0 0 1-5.06-1.39l-.36-.21-3.68.97.98-3.59-.24-.37a9.91 9.91 0 0 1-1.52-5.28c0-5.49 4.47-9.96 9.97-9.96 2.66 0 5.16 1.04 7.04 2.92a9.9 9.9 0 0 1 2.91 7.05c0 5.5-4.47 9.96-9.96 9.96Zm5.46-7.46c-.3-.15-1.77-.87-2.05-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.95 1.17-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.49-.89-.79-1.49-1.77-1.66-2.07-.18-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.18.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.62-.92-2.22-.24-.59-.49-.51-.67-.52h-.57c-.2 0-.52.08-.8.38-.27.3-1.05 1.02-1.05 2.49s1.07 2.89 1.22 3.09c.15.2 2.11 3.22 5.11 4.52.72.31 1.28.5 1.72.64.72.23 1.38.2 1.9.12.58-.09 1.77-.72 2.02-1.42.25-.69.25-1.29.17-1.42-.07-.12-.27-.2-.57-.35Z'/%3E%3C/svg%3E") center/contain no-repeat}
.to-top{position:fixed;z-index:59;right:28px;bottom:96px;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--linha-forte);border-radius:50%;background:var(--grad-dark);font-size:clamp(1.25rem,1.7vw,1.5rem);visibility:hidden;opacity:0;transition:opacity .25s}
.to-top.is-visible,.to-top.is-show{visibility:visible;opacity:1}
body:has(#estante[data-mode="detail"]) .wa-fab,body:has(#estante[data-mode="detail"]) .to-top,body:has(.mobile-menu[aria-hidden="false"]) .wa-fab{display:none}
body:has(.cookie-bar:not([hidden])) .site-footer{padding-bottom:190px}
/* Reveal content is visible without JavaScript; opt-in observation only. */
.reveal{opacity:1;transform:none}
.reveal.is-visible{animation:reveal-in .7s both}
.d1{--delay:.08s}.d2{--delay:.16s}.d3{--delay:.24s}.d4{--delay:.32s}
.reveal.is-visible{animation-delay:var(--delay,0s)}
@keyframes reveal-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* Width breakpoints deliberately follow layout needs, not device names. */
@media(min-width:1600px){
  :root{--gutter:48px}
  .container{width:min(1280px,calc(100% - var(--gutter)*2))}
  .hero-figure{width:min(100%,430px)}
  .hero-grid{gap:88px}
}
@media(max-width:1279px){
  .main-nav{gap:14px}.header-inner{gap:16px}
  .shelf-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
  .book-card{max-width:240px;justify-self:center}
  .hero-grid{gap:40px}
}
@media(min-width:1024px){
  .testi-track{gap:24px}
  .testi-slide{flex-basis:calc((100% - 48px)/3)}
}
@media(max-width:1023px){
  .main-nav{display:none}.header-cta{margin-left:auto}.nav-toggle{display:flex;margin-left:0}
  .hero-grid{grid-template-columns:1.1fr .9fr;gap:32px}
  .hero .display{font-size:clamp(2.5rem,5.1vw,3.5rem)}
  .hero-actions{gap:16px}
  .metodo-passos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
  .aco-wrap,.split,.cursos-grid,.processo-grid,.sobre-grid,.faq-grid{gap:32px}
  .split--rev{grid-template-columns:1fr}
  .wa-fab-label{display:none}.wa-fab{width:56px;padding:0}
  body:has(.cookie-bar:not([hidden])) .wa-fab{bottom:calc(var(--cookie-h) + 32px + env(safe-area-inset-bottom))}
  body:has(.cookie-bar:not([hidden])) .to-top{bottom:calc(var(--cookie-h) + 100px + env(safe-area-inset-bottom))}
}
@media(max-width:767px){
  :root{--header-h:76px;--cookie-h:150px}
  .header-inner{min-height:76px}.site-header.is-scrolled .header-inner{min-height:68px}
  .hero{padding-top:40px;padding-bottom:40px;background:linear-gradient(165deg,#35272A 0%,#2B1F21 46%,#241B1C 100%)}
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero .display{font-size:clamp(2.5rem,7.2vw,3.5rem);line-height:1.1}
  .hero-copy::before{inset:0;background:radial-gradient(ellipse 260px 180px at 50% 35%,rgba(205,154,132,.18),rgba(205,154,132,0) 70%)}
  .hero-figure{width:min(76%,340px)}
  .hero-figure::before{inset:-16px;filter:blur(32px)}
  .hero-selo{gap:6px;padding:10px 12px}
  .section{padding-block:clamp(64px,9svh,88px)}
  .hero.section{padding-block:40px}
  .aco-wrap,.split,.cursos-grid,.processo-grid,.sobre-grid,.faq-grid{grid-template-columns:1fr;gap:36px}
  .section-head{margin-bottom:32px}.section-head--left{margin-bottom:0}
  .split-det{min-height:25svh;border-radius:12px;padding:36px;gap:24px}
  .sobre-figure{order:2}
  .shelf-stage{padding:24px 12px 32px}
  .shelf-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}
  .book-3d{height:280px}
  #estante[data-mode="detail"] .shelf-stage{grid-template-columns:minmax(0,1fr);gap:16px;padding:12px 0 24px}
  #estante[data-mode="detail"] .shelf-row{padding:4px 16px}
  #estante[data-mode="detail"] .book-card{width:200px;max-width:100%;justify-self:center}
  #estante[data-mode="detail"] .book-card.is-selected .book-3d{height:180px}
  #estante[data-mode="detail"] .front-cover{padding:10px 12px;gap:7px}
  #estante[data-mode="detail"] .cover-title{font-size:clamp(1.0625rem,3.6vw,1.375rem)}
  #estante[data-mode="detail"] .cover-sub{font-size:clamp(.6875rem,2vw,.8125rem)}
  #estante[data-mode="detail"] .cover-foot{padding-top:5px}
  #estante[data-mode="detail"] .cover-badge{position:absolute;right:10px;top:8px}
  .book-panel{padding:16px;display:none}
  .bp-close{float:right;margin:0 0 8px 8px}
  .book-panel .eyebrow{min-height:44px;display:flex;align-items:center;font-size:clamp(.625rem,2vw,.75rem);margin-bottom:8px}
  .book-panel .display{clear:both;font-size:clamp(1.5rem,5.5vw,2rem);margin-bottom:12px}
  #bp-desc{line-height:1.5}
  .book-panel .btn{margin-top:16px;width:100%;min-height:44px;padding:10px 14px}
  .bp-note{margin-top:12px}
  .shelf-section{padding-bottom:calc(var(--cookie-h) + 56px)}
  .cons-grid{grid-template-columns:1fr;gap:32px}
  .cookie-bar{left:16px;width:min(680px,calc(100% - 32px));padding:12px 52px 12px 16px;gap:8px;flex-wrap:wrap}
  .cookie-texto{flex:1 1 100%;font-size:clamp(.6875rem,2.65vw,.75rem);line-height:1.45}
  .cookie-acoes{width:100%;gap:8px}
  .cookie-acoes .btn{padding:8px 16px;min-height:44px}
  .footer-base{display:grid;gap:16px}
  .agendar{min-height:70svh}
}
@media(max-width:479px){
  .header-cta{display:none}.nav-toggle{margin-left:auto}
  .brand{gap:8px}.brand-mark svg{width:38px;height:38px}
  .brand-name{font-size:clamp(.9375rem,4.1vw,1.125rem)}
  .brand-sub{font-size:clamp(.5625rem,2.4vw,.6875rem)}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:18px}
  .hero-actions .btn{width:100%}
  .hero-selo{font-size:clamp(.625rem,2.7vw,.75rem)}
  .hero-figure{width:82%}
  .metodo-passos{grid-template-columns:1fr;gap:16px}
  .metodo-passos li{padding:24px}.metodo-num{margin-bottom:16px}
  .split-quote{padding:24px}
  .shelf-row{gap:28px 20px}
  .book-3d{height:286px}
  .front-cover{padding:16px 10px 14px 12px}
  .cover-title{font-size:clamp(1rem,4.1vw,1.25rem)}
  .testi-slide{padding:24px}
  .testi-controles{gap:4px;flex-wrap:wrap}
  .testi-dots{order:3;flex-basis:100%}
  .testi-seta{margin-inline:4px}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .footer-brand{max-width:38ch}
  .section-cta,.agendar-acoes{flex-direction:column;align-items:stretch}
  .wa-fab{right:16px}.to-top{right:22px}
}
@media(max-width:359px){
  :root{--gutter:18px}
  .brand-sub{letter-spacing:0}.header-inner{gap:8px}
  .hero .display{font-size:clamp(2.125rem,10vw,2.5rem)}
  .hero-selo{padding:10px;gap:4px}
  .shelf-stage{padding-inline:6px}.shelf-row{gap:24px 16px}
  .front-cover{padding-inline:9px}.cover-title{font-size:clamp(.9375rem,4vw,1.0625rem)}
  .cookie-bar{padding-left:12px;padding-right:48px}
  .cookie-texto{font-size:clamp(.625rem,3vw,.6875rem)}
}
@media(max-height:700px) and (min-width:768px){
  .hero{padding-block:32px;min-height:100svh}
  .hero-figure{width:min(100%,300px)}
  .mobile-menu nav a{padding-block:6px}
}
@media(prefers-reduced-motion:reduce){
  html,.testi-viewport{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.reveal.is-visible,.portrait-frame[data-parallax]{opacity:1;transform:none!important}
  .marquee-track{transform:none}
}
@media(forced-colors:active){
  .display em{background:none;color:CanvasText}
  .btn,.book-panel,.front-cover,.testi-slide{border:1px solid ButtonText}
  .wa-fab::before{background:ButtonText}
  .testi-dots button[aria-current="true"]::before{background:Highlight}
}


/* HERO CUTOUT: sem arco, sujeito sobre o fundo do site (fundo unico) */
.portrait-frame{background:none;border-radius:0;padding:0;box-shadow:none;display:flex;align-items:flex-end;justify-content:center}
.portrait-frame img, .portrait-frame img.hero-cutout{border-radius:0;aspect-ratio:auto;width:100%;height:auto;
  max-height:min(72vh,660px);object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 32px 48px rgba(0,0,0,.6)) drop-shadow(0 0 40px rgba(205,154,132,.12))}
@media (max-width:640px){
  /* HERO MOBILE: compactar texto o suficiente para a foto entrar na primeira dobra */
  .hero-figure{margin-top:6px}
  .portrait-frame img, .portrait-frame img.hero-cutout{max-height:min(50vh,380px)}
  #inicio .hero{padding-top:76px;padding-bottom:24px}
  #h1{font-size:clamp(1.75rem,7.6vw,2.3rem);line-height:1.12}
  #inicio .hero-sub{font-size:.98rem;margin-top:6px}
  #inicio .lead{font-size:.94rem;line-height:1.42;margin-top:8px}
  #inicio .hero-actions{margin-top:12px;gap:8px}
  #inicio .hero-selo{margin-top:12px;font-size:.86rem}
  .hero-eyebrow, .eyebrow-hero{font-size:.72rem}
  /* selo desce para depois da foto no mobile (nao empurra a imagem) */
  #inicio .hero{align-content:start}
}


/* HERO MOBILE v2: foto logo abaixo do titulo (ordem editorial de landing premium) */
@media (max-width:640px){
  #inicio .hero{display:flex;flex-direction:column;gap:0}
  #inicio .hero-copy{display:contents}
  #h1{order:1}
  #inicio .hero-sub{order:2}
  #inicio .hero-figure{order:3;margin:14px 0 6px}
  #inicio .lead{order:4}
  #inicio .hero-actions{order:5;margin-top:12px}
  #inicio .hero-selo{order:6;margin-top:12px}
  .portrait-frame img, .portrait-frame img.hero-cutout{max-height:min(46vh,340px)}
}


/* HERO MOBILE v3: ganhar altura para a foto caber inteira na primeira dobra */
@media (max-width:640px){
  #inicio .hero{padding-top:48px;padding-bottom:20px}
  #h1{font-size:clamp(1.6rem,7vw,2.05rem);line-height:1.1;margin-top:4px}
  #inicio .hero-sub{font-size:.92rem;margin-top:4px}
  #inicio .hero-figure{margin:10px 0 4px}
  .portrait-frame img, .portrait-frame img.hero-cutout{max-height:min(44vh,320px)}
}
