/* =====================================================================
   Prof. Rogério Fagundes Filho | folha de estilo
   Paleta: papel creme · verde naturista · dourado
   Tipografia: Cormorant Garamond (display) · Inter (texto) · JetBrains Mono (eyebrow)
   ===================================================================== */

/* ---------- TOKENS ---------- */
:root{
  --ink:#1C1A14;
  --ink-soft:#3A362B;
  --ink-mute:#6E6A5C;
  --paper:#F6F2E8;
  --paper-2:#FBF8F1;
  --paper-3:#EFE9DA;
  --green:#20623E;
  --green-deep:#123A25;
  --green-soft:#2E7A4F;
  --gold:#7E5F2A;
  --gold-light:#A07D3E;
  --gold-pale:#D9C295;
  --cream:#F3EADA;
  --rule:rgba(28,26,20,.14);
  --rule-light:rgba(246,242,232,.18);

  --serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono:'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  --wrap:1200px;
  --gut:clamp(20px, 5vw, 48px);
  --sec:clamp(72px, 9vw, 132px);
  --r:14px;
  --r-lg:22px;
  --shadow:0 18px 48px -24px rgba(28,26,20,.38);
  --shadow-lg:0 34px 80px -34px rgba(28,26,20,.55);
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
html:focus-within{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  font-size:clamp(15.5px,.55vw + 14px,17px);
  line-height:1.72;
  color:var(--ink-soft);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,picture,svg,iframe{display:block;max-width:100%;}
img{height:auto;}
h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl{margin:0;}
ul[class]{list-style:none;padding:0;}
a{color:var(--green);text-decoration-color:rgba(32,98,62,.32);text-underline-offset:3px;}
a:hover{text-decoration-color:currentColor;}
button,input,select,textarea{font:inherit;color:inherit;}
::selection{background:var(--gold-pale);color:var(--ink);}

h1,h2,h3{
  font-family:var(--serif);
  color:var(--ink);
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.012em;
}
h1{font-size:clamp(2.5rem,5.6vw,4.5rem);}
h2{font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.14;}
h3{font-size:clamp(1.25rem,1.6vw,1.6rem);line-height:1.22;}
h4{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);margin:0 0 1rem;}
em{font-style:italic;}
strong{color:var(--ink);font-weight:600;}

/* ---------- LAYOUT ---------- */
.container{width:min(100% - var(--gut)*2, var(--wrap));margin-inline:auto;}
.section{padding-block:var(--sec);}
.section__head{max-width:720px;margin-bottom:clamp(40px,5vw,64px);}
.section__lede{font-size:1.06rem;color:var(--ink-soft);margin-top:1rem;max-width:62ch;}

.eyebrow{
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--gold-light);
  margin:0 0 .9rem;
}
.eyebrow--light{color:var(--gold-pale);}

.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--green);color:#fff;padding:.8rem 1.2rem;border-radius:0 0 var(--r) 0;
}
.skip:focus{left:0;}

:where(a,button,input,select,textarea,details,summary):focus-visible{
  outline:2px solid var(--gold-light);outline-offset:3px;border-radius:4px;
}

/* ---------- BOTÕES ---------- */
.btn{
  --btn-bg:transparent;--btn-fg:var(--ink);--btn-bd:var(--rule);
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.86rem 1.6rem;
  font-size:.88rem;font-weight:600;letter-spacing:.01em;
  text-decoration:none;text-align:center;
  background:var(--btn-bg);color:var(--btn-fg);
  border:1px solid var(--btn-bd);border-radius:999px;
  cursor:pointer;
  transition:transform .35s var(--ease), background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), box-shadow .35s var(--ease);
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.btn:active{transform:translateY(0);}
.btn--primary{--btn-bg:var(--green);--btn-fg:#F6F2E8;--btn-bd:var(--green);}
.btn--primary:hover{--btn-bg:var(--green-deep);--btn-bd:var(--green-deep);}
.btn--ghost{--btn-bg:transparent;--btn-fg:var(--ink);--btn-bd:rgba(28,26,20,.26);}
.btn--ghost:hover{--btn-bg:var(--ink);--btn-fg:var(--paper);--btn-bd:var(--ink);}
.btn--gold{--btn-bg:var(--gold-light);--btn-fg:#1C1A14;--btn-bd:var(--gold-light);}
.btn--gold:hover{--btn-bg:var(--gold-pale);--btn-bd:var(--gold-pale);}
.btn--xl{padding:1.05rem 2.1rem;font-size:.95rem;}

.link-arrow{
  display:inline-block;margin-top:1.1rem;
  font-size:.88rem;font-weight:600;color:var(--green);
  text-decoration:none;
  transition:color .3s var(--ease), transform .3s var(--ease);
}
.link-arrow:hover{color:var(--gold);transform:translateX(3px);}

/* ---------- NAV ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:90;
  background:rgba(246,242,232,.82);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .4s var(--ease), background-color .4s var(--ease), box-shadow .4s var(--ease);
}
.nav.is-stuck{border-bottom-color:var(--rule);box-shadow:0 10px 30px -24px rgba(28,26,20,.6);}
.nav__wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:78px;}
.brand{flex:0 0 auto;line-height:0;}
.brand__img{width:clamp(150px,15vw,206px);height:auto;}
.nav__links{display:flex;align-items:center;gap:clamp(.9rem,1.7vw,1.9rem);}
.nav__links a{
  font-size:.86rem;font-weight:500;color:var(--ink-soft);text-decoration:none;
  position:relative;padding-block:.35rem;white-space:nowrap;
  transition:color .3s var(--ease);
}
.nav__links a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;
  background:var(--gold-light);transition:width .35s var(--ease);
}
.nav__links a:hover{color:var(--ink);}
.nav__links a:hover::after{width:100%;}
.nav__cta{flex:0 0 auto;padding:.72rem 1.35rem;font-size:.83rem;}

.nav__burger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;padding:0 10px;
  background:none;border:0;cursor:pointer;
}
.nav__burger span{display:block;height:1.6px;background:var(--ink);border-radius:2px;transition:transform .35s var(--ease), opacity .25s var(--ease);}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.6px) rotate(45deg);}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg);}

.nav__mobile{
  display:none;flex-direction:column;gap:.25rem;
  padding:0 var(--gut) 0;
  background:var(--paper-2);border-top:1px solid var(--rule);
  max-height:0;overflow:hidden;
  transition:max-height .45s var(--ease), padding .45s var(--ease);
}
.nav__mobile.is-open{max-height:520px;padding:1rem var(--gut) 1.6rem;}
.nav__mobile a{
  font-size:1rem;font-weight:500;color:var(--ink);text-decoration:none;
  padding:.7rem 0;border-bottom:1px solid var(--rule);
}
.nav__mobile a:last-child{border:0;margin-top:.9rem;justify-content:center;}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  display:grid;grid-template-columns:1.05fr .95fr;align-items:center;
  gap:clamp(32px,5vw,72px);
  width:min(100% - var(--gut)*2, var(--wrap));
  margin-inline:auto;
  padding-block:clamp(130px,14vw,188px) clamp(60px,7vw,96px);
}
.hero::before{
  content:"";position:absolute;z-index:-1;
  inset:-20% -50vw auto -50vw;height:min(120%,980px);
  background:
    radial-gradient(60% 70% at 22% 26%, rgba(217,194,149,.30), transparent 68%),
    radial-gradient(50% 60% at 86% 12%, rgba(32,98,62,.12), transparent 70%),
    linear-gradient(180deg, var(--paper-2), var(--paper));
  pointer-events:none;
}
.hero__watermark{
  position:absolute;right:-40px;top:88px;width:clamp(140px,18vw,260px);height:auto;
  opacity:.07;z-index:-1;pointer-events:none;
}
.hero h1{margin:.35rem 0 1.35rem;}
.hero__em{color:var(--green);font-style:italic;}
.hero__sub{font-size:1.06rem;max-width:56ch;}
.hero__cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem;}
.hero__quote{
  margin-top:2.2rem;padding-left:1.1rem;
  border-left:2px solid var(--gold-pale);
  font-family:var(--serif);font-size:1.2rem;font-style:italic;color:var(--gold);
}
.hero__media{position:relative;}
.hero__media img{
  width:100%;border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);
  aspect-ratio:3/2;object-fit:cover;
}
.hero__badge{
  position:absolute;left:-14px;bottom:22px;
  background:var(--paper-2);color:var(--gold);
  font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  padding:.7rem 1.1rem;border-radius:999px;
  border:1px solid var(--rule);box-shadow:var(--shadow);
}

/* ---------- TRUST STRIP ---------- */
.trust{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--rule);
  border-block:1px solid var(--rule);
}
.trust__item{
  display:flex;flex-direction:column;gap:.3rem;
  background:var(--paper-2);
  padding:clamp(22px,2.6vw,34px) clamp(18px,2.4vw,32px);
}
.trust__item strong{font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--green);line-height:1;}
.trust__item span{font-size:.83rem;color:var(--ink-mute);line-height:1.5;}

/* ---------- SOBRE ---------- */
.sobre__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(34px,5.5vw,84px);align-items:start;}
.sobre__media{position:sticky;top:108px;}
.sobre__media img{width:100%;border-radius:var(--r-lg);box-shadow:var(--shadow);aspect-ratio:3/2;object-fit:cover;}
.sobre__cap{
  margin-top:.9rem;font-family:var(--mono);font-size:.66rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);
}
.sobre__copy h2{margin-bottom:1.4rem;}
.sobre__copy p{margin-bottom:1.05rem;}

/* ---------- STATS ---------- */
.stats{padding-block:clamp(48px,6vw,76px);background:var(--paper-3);border-block:1px solid var(--rule);}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px);text-align:center;}
.stat{display:flex;flex-direction:column;gap:.5rem;}
.stat__num{
  font-family:var(--serif);font-size:clamp(2.4rem,4.4vw,3.6rem);font-weight:600;
  color:var(--gold);line-height:1;font-variant-numeric:tabular-nums;
}
.stat__label{font-size:.83rem;color:var(--ink-mute);line-height:1.45;}

/* ---------- QUOTE BAND ---------- */
.quoteband{position:relative;isolation:isolate;padding-block:clamp(90px,12vw,160px);overflow:hidden;}
.quoteband__bg{position:absolute;inset:0;z-index:-2;}
.quoteband__bg img{width:100%;height:100%;object-fit:cover;object-position:center 32%;}
.quoteband::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg, rgba(18,58,37,.86), rgba(18,58,37,.74));
}
.quoteband__inner{
  width:min(100% - var(--gut)*2, 900px);margin-inline:auto;text-align:center;
}
.quoteband__lotus{margin:0 auto 1.6rem;width:56px;height:56px;opacity:.9;filter:brightness(0) invert(1) opacity(.85);}
.quoteband blockquote{
  font-family:var(--serif);
  font-size:clamp(1.7rem,4vw,3rem);line-height:1.2;font-weight:500;
  color:var(--cream);
}
.quoteband__em{color:var(--gold-pale);font-style:italic;}
.quoteband cite{
  display:block;margin-top:1.7rem;
  font-family:var(--mono);font-style:normal;font-size:.7rem;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(243,234,218,.72);
}

/* ---------- CARDS GENÉRICOS ---------- */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,28px);}
.card,.course{
  display:flex;flex-direction:column;
  padding:clamp(26px,3vw,38px);
  background:var(--paper-2);
  border:1px solid var(--rule);border-radius:var(--r-lg);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
}
.card:hover,.course:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(126,95,42,.34);}
.card__icon{
  display:flex;align-items:center;justify-content:center;
  width:50px;height:50px;margin-bottom:1.2rem;
  font-size:1.35rem;color:var(--gold);
  background:var(--cream);border-radius:50%;
}
.card h3,.course h3{margin-bottom:.7rem;}
.card p,.course p{font-size:.96rem;flex:1;}
.card .link-arrow{align-self:flex-start;}

/* ---------- DIVIDER ---------- */
.divider{display:flex;align-items:center;gap:1.4rem;width:min(100% - var(--gut)*2, 620px);margin:0 auto;}
.divider span{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--rule),transparent);}
.divider img{width:34px;height:34px;opacity:.55;}

/* ---------- OS 4 ELEMENTOS ---------- */
.elementos{position:relative;isolation:isolate;padding-block:clamp(84px,10vw,140px);overflow:hidden;}
.elementos__bg{position:absolute;inset:0;z-index:-2;}
.elementos__bg img{width:100%;height:100%;object-fit:cover;}
.elementos::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(160deg, rgba(18,58,37,.94), rgba(12,32,22,.90));
}
.elementos__inner{text-align:center;}
.elementos h2{color:var(--cream);margin-bottom:1.3rem;}
.elementos__lede{max-width:70ch;margin:0 auto;color:rgba(243,234,218,.82);font-size:1.05rem;}
.elementos__grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,2.2vw,26px);
  margin:clamp(44px,5vw,68px) 0 clamp(34px,4vw,48px);
}
.elem{
  --cor:var(--gold-pale);
  --cor-forte:var(--gold-light);
  position:relative;isolation:isolate;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:clamp(30px,3.2vw,40px) clamp(16px,1.8vw,22px) clamp(24px,2.6vw,32px);
  background:linear-gradient(170deg, rgba(246,242,232,.085), rgba(246,242,232,.03));
  border:1px solid var(--rule-light);border-radius:var(--r-lg);
  transition:transform .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease);
}
/* aura da cor do elemento */
.elem::before{
  content:"";position:absolute;z-index:-1;
  left:50%;top:-46%;width:150%;aspect-ratio:1;transform:translateX(-50%);
  background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--cor) 34%, transparent), transparent 62%);
  opacity:.5;transition:opacity .6s var(--ease), transform .6s var(--ease);
  pointer-events:none;
}
/* fio de luz no topo */
.elem::after{
  content:"";position:absolute;left:18%;right:18%;top:0;height:1px;
  background:linear-gradient(90deg, transparent, var(--cor), transparent);
  opacity:.7;
}
.elem:hover{
  transform:translateY(-6px);
  border-color:color-mix(in srgb, var(--cor) 46%, transparent);
  box-shadow:0 26px 58px -30px color-mix(in srgb, var(--cor) 60%, transparent);
}
.elem:hover::before{opacity:.85;transform:translateX(-50%) scale(1.08);}

/* símbolo alquímico como marca d'água */
.elem__glyph{
  position:absolute;right:-20px;bottom:-34px;z-index:-1;
  font-size:9rem;line-height:1;color:var(--cor);
  opacity:.075;pointer-events:none;user-select:none;
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}
.elem:hover .elem__glyph{opacity:.16;transform:translateY(-4px) rotate(-4deg);}

/* ícone desenhado de cada elemento */
.elem__icon{
  display:flex;align-items:center;justify-content:center;
  width:82px;height:82px;margin-bottom:1.25rem;
  color:var(--cor);
  border-radius:50%;
  background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--cor) 20%, transparent), rgba(246,242,232,.045));
  border:1px solid color-mix(in srgb, var(--cor) 38%, transparent);
  box-shadow:inset 0 0 26px -10px color-mix(in srgb, var(--cor) 70%, transparent);
  transition:transform .55s var(--ease), box-shadow .55s var(--ease), border-color .55s var(--ease);
}
.elem__icon svg{width:42px;height:42px;}
.elem:hover .elem__icon{
  transform:scale(1.06);
  border-color:color-mix(in srgb, var(--cor) 62%, transparent);
  box-shadow:inset 0 0 30px -8px color-mix(in srgb, var(--cor) 85%, transparent), 0 0 26px -12px var(--cor);
}

.elem h3{
  color:var(--cream);font-size:1.55rem;margin-bottom:.45rem;
  letter-spacing:.01em;
}
.elem p{font-size:.9rem;color:rgba(243,234,218,.74);line-height:1.58;max-width:26ch;}
.elem__note{
  margin-top:1.1rem;padding-top:.95rem;
  border-top:1px solid var(--rule-light);
  width:100%;
  font-family:var(--mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;
  text-wrap:balance;line-height:1.75;
  color:color-mix(in srgb, var(--cor) 82%, #F3EADA) !important;
}

/* paleta por elemento */
.elem--terra{--cor:#C09A5E;}
.elem--agua{--cor:#6FB8C4;}
.elem--fogo{--cor:#D98243;}
.elem--ar{--cor:#AFC4C0;}

/* animações discretas de cada ícone */
@media (prefers-reduced-motion:no-preference){
  .elem--agua .elem__icon svg path:last-child{animation:onda 4.5s var(--ease) infinite;}
  @keyframes onda{0%,100%{transform:translateX(0);}50%{transform:translateX(2px);}}
  .elem--fogo .elem__icon svg{animation:chama 3.6s ease-in-out infinite;transform-origin:50% 80%;}
  @keyframes chama{0%,100%{transform:scale(1);}50%{transform:scale(1.045);}}
  .elem--ar .elem__icon svg{animation:sopro 5s ease-in-out infinite;}
  @keyframes sopro{0%,100%{transform:translateX(0);}50%{transform:translateX(2.5px);}}
  .elem--terra .elem__icon svg{animation:broto 6s ease-in-out infinite;transform-origin:50% 85%;}
  @keyframes broto{0%,100%{transform:rotate(0deg);}50%{transform:rotate(1.4deg);}}
}

/* fallback para navegador sem color-mix */
@supports not (color: color-mix(in srgb, red, blue)){
  .elem::before{background:radial-gradient(circle at 50% 50%, rgba(217,194,149,.3), transparent 62%);}
  .elem__icon{border-color:var(--rule-light);}
  .elem__note{color:var(--gold-pale) !important;}
}

/* ---------- CURSOS ---------- */
.course__tag{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-light);margin-bottom:1rem;
}
.course .btn{margin-top:1.5rem;align-self:flex-start;}
.course--feature{background:var(--green-deep);border-color:var(--green-deep);}
.course--feature .course__tag{color:var(--gold-pale);}
.course--feature h3{color:var(--cream);font-size:1.5rem;}
.course--feature p{color:rgba(243,234,218,.78);}
.course--feature .btn--primary{--btn-bg:var(--gold-light);--btn-fg:#12301F;--btn-bd:var(--gold-light);}
.course--feature .btn--primary:hover{--btn-bg:var(--gold-pale);--btn-bd:var(--gold-pale);}
.cursos__note{margin-top:2rem;font-size:.9rem;color:var(--ink-mute);text-align:center;}

/* ---------- LIVRO ---------- */
.livro{background:var(--paper-3);border-block:1px solid var(--rule);}
.livro__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(34px,5.5vw,80px);align-items:center;}
.livro__media img{
  width:100%;max-width:360px;margin-inline:auto;
  border-radius:8px;box-shadow:var(--shadow-lg);
  transform:rotate(-1.6deg);
  transition:transform .6s var(--ease);
}
.livro__media img:hover{transform:rotate(0) translateY(-5px);}
.livro__copy h2{font-size:clamp(2.2rem,4.4vw,3.4rem);margin-bottom:.25rem;}
.livro__sub{font-family:var(--serif);font-size:1.25rem;color:var(--gold);margin-bottom:1.3rem;}
.livro__perks{display:flex;flex-direction:column;gap:.55rem;margin:1.6rem 0 0;}
.livro__perks li{position:relative;padding-left:1.6rem;font-size:.95rem;}
.livro__perks li::before{content:"❧";position:absolute;left:0;top:-.05em;color:var(--gold-light);}
.livro__buy{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;margin-top:2rem;}
.livro__price{font-family:var(--serif);font-size:2.3rem;font-weight:600;color:var(--green);line-height:1;}

/* ---------- BIBLIOGRAFIA ---------- */
.biblio{margin-top:clamp(64px,8vw,104px);padding-top:clamp(44px,5vw,64px);border-top:1px solid var(--rule);}
.biblio__title{text-align:center;margin-bottom:clamp(30px,4vw,48px);}
.biblio__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,30px);}
.biblio__item{
  display:flex;flex-direction:column;
  padding:clamp(20px,2.4vw,28px);
  background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r);
  text-align:center;
}
.biblio__cover{
  width:100%;max-width:150px;margin:0 auto 1.1rem;
  border-radius:5px;box-shadow:var(--shadow);
}
.biblio__name{font-family:var(--serif);font-size:1.22rem;font-weight:600;color:var(--ink);margin-bottom:.3rem;}
.biblio__desc{font-size:.83rem;color:var(--ink-mute);line-height:1.5;flex:1;}
.biblio__price{margin-top:1rem;font-weight:600;font-size:.95rem;color:var(--green);}
.biblio__price span{display:block;font-weight:400;font-size:.76rem;color:var(--ink-mute);}
.biblio__item--soon{background:transparent;border-style:dashed;justify-content:center;}
.biblio__item--soon .biblio__price span{color:var(--gold-light);font-weight:600;font-size:.82rem;}
.biblio__cta{margin-top:2rem;text-align:center;font-size:.9rem;color:var(--ink-mute);}

/* ---------- SABERES / CHIPS ---------- */
.saberes .section__head{margin-inline:auto;text-align:center;}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;}
.chips li{
  padding:.6rem 1.3rem;
  font-size:.87rem;font-weight:500;color:var(--ink-soft);
  background:var(--paper-2);
  border:1px solid var(--rule);border-radius:999px;
  transition:border-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
}
.chips li:hover{border-color:var(--gold-light);color:var(--gold);transform:translateY(-2px);}

/* ---------- FAQ ---------- */
.faq{background:var(--paper-3);border-block:1px solid var(--rule);}
.faq__grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(32px,5vw,76px);align-items:start;}
.faq__head{position:sticky;top:110px;}
.faq__list details{
  border-bottom:1px solid var(--rule);
}
.faq__list details summary{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.25rem 0;
  font-family:var(--serif);font-size:1.22rem;font-weight:600;color:var(--ink);
  cursor:pointer;list-style:none;
}
.faq__list summary::-webkit-details-marker{display:none;}
.faq__list summary::after{
  content:"+";flex:0 0 auto;
  font-family:var(--sans);font-size:1.35rem;font-weight:400;color:var(--gold-light);
  transition:transform .35s var(--ease);
}
.faq__list details[open] summary::after{transform:rotate(45deg);}
.faq__list details p{padding:0 0 1.4rem;font-size:.96rem;max-width:64ch;}

/* ---------- CONTATO ---------- */
.contato{background:var(--green-deep);color:rgba(243,234,218,.84);}
.contato h2,.contato h4{color:var(--cream);}
.contato .eyebrow{color:var(--gold-pale);}
.contato a{color:var(--gold-pale);}
.contato strong{color:var(--cream);}
.contato__grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(36px,5vw,72px);align-items:start;}
.contato__info h2{margin-bottom:1.1rem;}
.contato__list{display:flex;flex-direction:column;gap:1.1rem;margin:2rem 0;}
.contato__list li{display:flex;flex-direction:column;gap:.22rem;padding-bottom:1.1rem;border-bottom:1px solid var(--rule-light);}
.contato__list li:last-child{border:0;padding-bottom:0;}
.contato__k{font-family:var(--mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-pale);}
.contato__v{font-size:.98rem;color:var(--cream);line-height:1.55;}
.contato__map{margin-top:1.8rem;border-radius:var(--r);overflow:hidden;border:1px solid var(--rule-light);}
.contato__map iframe{width:100%;height:250px;border:0;filter:grayscale(.35) contrast(1.05);}

.social{display:flex;gap:.7rem;margin-top:1.4rem;}
.social a{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;
  border:1px solid var(--rule-light);color:var(--cream);
  transition:background-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
}
.social a:hover{background:var(--gold-light);color:var(--green-deep);transform:translateY(-2px);}
.social svg{width:17px;height:17px;}

/* ---------- FORMULÁRIO ---------- */
.form{
  display:flex;flex-direction:column;gap:1.05rem;
  padding:clamp(26px,3.4vw,44px);
  background:var(--paper-2);border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);
  color:var(--ink-soft);
}
.form label{display:flex;flex-direction:column;gap:.42rem;font-size:.82rem;font-weight:600;color:var(--ink);}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.05rem;}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{
  width:100%;padding:.86rem 1rem;
  font-size:.95rem;font-weight:400;color:var(--ink);
  background:var(--paper);
  border:1px solid var(--rule);border-radius:10px;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.form input::placeholder,.form textarea::placeholder{color:#A39D8C;}
.form input:focus,.form select:focus,.form textarea:focus{
  outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(32,98,62,.12);
}
.form textarea{resize:vertical;min-height:112px;}
.form__lgpd{flex-direction:row;align-items:flex-start;gap:.6rem;font-size:.8rem;font-weight:400;color:var(--ink-soft);line-height:1.55;}
.form__lgpd input{margin-top:.28rem;width:16px;height:16px;accent-color:var(--green);flex:0 0 auto;}
.form .btn{margin-top:.4rem;}
.form__hint{font-size:.78rem;color:var(--ink-mute);text-align:center;}
@media (min-width:1081px){.form{position:sticky;top:108px;}}

/* ---------- FOOTER ---------- */
.footer{background:var(--ink);color:rgba(243,234,218,.68);}
.footer a{color:rgba(243,234,218,.8);text-decoration:none;}
.footer a:hover{color:var(--gold-pale);}
.footer__grid{
  display:grid;grid-template-columns:1.5fr .8fr 1.1fr;gap:clamp(32px,4.5vw,64px);
  padding-block:clamp(56px,7vw,88px);
}
.brand--footer{display:inline-block;margin-bottom:1.2rem;}
.footer__tag{font-size:.9rem;line-height:1.7;max-width:44ch;}
.footer__nav{display:flex;flex-direction:column;gap:.55rem;}
.footer__nav a{font-size:.9rem;}
.footer__contact p{font-size:.9rem;margin-bottom:.6rem;line-height:1.6;}
.footer__social{margin-top:1.2rem;}
.footer__bar{border-top:1px solid rgba(243,234,218,.12);}
.footer__bar-wrap{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;
  padding-block:1.5rem;
}
.footer__copy{font-size:.78rem;color:rgba(243,234,218,.5);}
@media (min-width:561px){.footer__bar-wrap{padding-right:200px;}}
.footer__impero{display:inline-flex;align-items:center;gap:.6rem;opacity:.72;transition:opacity .3s var(--ease);}
.footer__impero:hover{opacity:1;}
.footer__impero span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,234,218,.5);}
.footer__impero img{width:104px;height:auto;}
.footer__impero-fone{font-size:.68rem;letter-spacing:.06em;color:rgba(243,234,218,.62);border-left:1px solid rgba(243,234,218,.2);padding-left:.6rem;white-space:nowrap;}
@media (max-width:560px){.footer__impero{flex-wrap:wrap;justify-content:center;}.footer__impero-fone{border-left:0;padding-left:0;width:100%;text-align:center;}}

/* ---------- FAB WHATSAPP ---------- */
.fab{
  position:fixed;right:clamp(16px,2.4vw,28px);bottom:clamp(16px,2.4vw,28px);z-index:80;
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.82rem 1.25rem;
  font-size:.86rem;font-weight:600;color:#fff;text-decoration:none;
  background:#1FA855;border-radius:999px;
  box-shadow:0 14px 34px -14px rgba(31,168,85,.75);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.fab:hover{transform:translateY(-3px);box-shadow:0 18px 42px -14px rgba(31,168,85,.9);color:#fff;}

/* ---------- COOKIE ---------- */
.cookie{
  position:fixed;left:clamp(16px,2.4vw,28px);bottom:clamp(16px,2.4vw,28px);z-index:85;
  display:flex;flex-direction:column;gap:.9rem;
  width:min(100% - 32px, 380px);
  padding:1.25rem 1.4rem;
  background:var(--paper-2);
  border:1px solid var(--rule);border-radius:var(--r);
  box-shadow:var(--shadow-lg);
}
.cookie[hidden]{display:none;}
.cookie p{font-size:.83rem;line-height:1.6;}
.cookie .btn{align-self:flex-start;padding:.6rem 1.25rem;font-size:.8rem;}

/* ---------- REVEAL ---------- */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.js .reveal.is-in{opacity:1;transform:none;}

/* ---------- RESPONSIVO ---------- */
@media (max-width:1080px){
  .nav__links{display:none;}
  .nav__cta{display:none;}
  .nav__burger{display:flex;}
  .nav__mobile{display:flex;}
  .hero{grid-template-columns:1fr;padding-block:clamp(110px,16vw,140px) clamp(48px,7vw,72px);}
  .hero__media{order:-1;}
  .hero__badge{left:auto;right:14px;bottom:-16px;}
  .hero__watermark{display:none;}
  .sobre__grid,.livro__grid,.faq__grid,.contato__grid{grid-template-columns:1fr;}
  .sobre__media,.faq__head{position:static;}
  .sobre__media img{max-width:520px;}
  .livro__media img{max-width:300px;}
  .footer__grid{grid-template-columns:1fr 1fr;}
  .footer__brand{grid-column:1 / -1;}
}
@media (max-width:900px){
  .cards-3{grid-template-columns:1fr;}
  .trust{grid-template-columns:1fr 1fr;}
  .stats__grid{grid-template-columns:1fr 1fr;gap:32px;}
  .elementos__grid{grid-template-columns:1fr 1fr;}
  .biblio__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .trust{grid-template-columns:1fr;}
  .elementos__grid{grid-template-columns:1fr;}
  .biblio__grid{grid-template-columns:1fr;}
  .biblio__cover{max-width:190px;}
  .form__row{grid-template-columns:1fr;}
  .hero__cta .btn{width:100%;}
  .livro__buy{gap:1rem;}
  .livro__buy .btn{width:100%;}
  .footer__grid{grid-template-columns:1fr;}
  .footer__bar-wrap{justify-content:center;text-align:center;}
  .fab span{display:none;}
  .fab{padding:.95rem;}
  .cookie{width:calc(100% - 32px);}
}

/* ---------- PREFERÊNCIAS ---------- */
@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  .js .reveal{opacity:1;transform:none;}
}

@media print{
  .nav,.fab,.cookie,.contato__map,.footer__impero{display:none !important;}
  body{background:#fff;color:#000;}
  .js .reveal{opacity:1;transform:none;}
}

/* =====================================================================
   PÁGINA DE LIVRO
   ===================================================================== */
.livropg{padding-block:clamp(112px,13vw,152px) 0;}
.livropg__voltar{
  display:inline-flex;align-items:center;gap:.45rem;
  font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);text-decoration:none;margin-bottom:2.2rem;
  transition:color .3s var(--ease), transform .3s var(--ease);
}
.livropg__voltar:hover{color:var(--ink);transform:translateX(-3px);}

.livropg__topo{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(34px,5.5vw,80px);align-items:center;}
.livropg__capa{position:relative;}
.livropg__capa img{
  width:100%;max-width:380px;margin-inline:auto;
  border-radius:8px;box-shadow:var(--shadow-lg);
  transform:rotate(-1.4deg);transition:transform .6s var(--ease);
}
.livropg__capa img:hover{transform:rotate(0) translateY(-6px);}
.livropg h1{font-size:clamp(2.4rem,5.2vw,3.8rem);margin:.3rem 0 .4rem;}
.livropg__sub{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.5rem);color:var(--gold);margin-bottom:1.5rem;}
.livropg__ficha{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.8rem;}
.livropg__ficha li{
  padding:.5rem 1.05rem;font-size:.8rem;color:var(--ink-soft);
  background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;
}
.livropg__compra{
  display:flex;flex-wrap:wrap;align-items:center;gap:1.3rem;
  padding:1.5rem;margin-top:.5rem;
  background:var(--paper-3);border:1px solid var(--rule);border-radius:var(--r-lg);
}
.livropg__preco{display:flex;flex-direction:column;line-height:1.15;}
.livropg__preco strong{font-family:var(--serif);font-size:2.4rem;font-weight:600;color:var(--green);}
.livropg__preco span{font-size:.78rem;color:var(--ink-mute);}

.livropg__corpo{
  max-width:66ch;margin:clamp(58px,7vw,92px) auto 0;
  padding-top:clamp(40px,5vw,60px);border-top:1px solid var(--rule);
}
.livropg__corpo h2{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:1.4rem;}
.livropg__corpo p{margin-bottom:1.05rem;}
.livropg__nota{
  margin-top:2rem;padding:1.1rem 1.3rem;
  background:var(--paper-2);border-left:2px solid var(--gold-pale);border-radius:0 var(--r) var(--r) 0;
  font-size:.86rem;color:var(--ink-mute);
}
.livropg__fim{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;
  margin:clamp(52px,6vw,80px) auto clamp(72px,9vw,112px);
}
@media (max-width:900px){
  .livropg__topo{grid-template-columns:1fr;}
  .livropg__capa img{max-width:280px;}
  .livropg__compra{justify-content:center;text-align:center;}
  .livropg__fim .btn{width:100%;}
}

/* card de livro clicável na bibliografia */
.biblio__item:has(.biblio__link){
  padding:0;overflow:hidden;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
}
.biblio__item:has(.biblio__link:hover){
  transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(126,95,42,.34);
}
.biblio__link{
  display:flex;flex-direction:column;flex:1;
  padding:clamp(20px,2.4vw,28px);
  color:inherit;text-decoration:none;
}
.biblio__ver{
  display:block;margin-top:.9rem;
  font-size:.78rem;font-weight:600;color:var(--green);
  transition:color .3s var(--ease), transform .3s var(--ease);
}
.biblio__link:hover .biblio__ver{color:var(--gold);}
/* navegador sem :has ainda mostra o card certinho, só sem o realce */
@supports not selector(:has(a)){
  .biblio__link{padding:0;}
}

/* =====================================================================
   VÍDEOS: hub e página individual
   ===================================================================== */
.vhub{padding-block:clamp(122px,14vw,168px) 0;}
.vhub .section__head{margin-inline:auto;text-align:center;}
.vhub__acoes{display:flex;justify-content:center;gap:.8rem;margin-top:1.6rem;}

.vgrade{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,32px);margin-bottom:clamp(56px,7vw,88px);}
.vcard a{
  display:flex;flex-direction:column;height:100%;
  background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-lg);
  overflow:hidden;text-decoration:none;color:inherit;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease);
}
.vcard a:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(126,95,42,.34);}
.vcard__capa{position:relative;display:block;overflow:hidden;background:var(--ink);}
.vcard__capa img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .7s var(--ease), opacity .4s var(--ease);}
.vcard a:hover .vcard__capa img{transform:scale(1.05);opacity:.85;}
.vcard__play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;
  width:58px;height:58px;border-radius:50%;
  background:rgba(246,242,232,.92);color:var(--green-deep);
  box-shadow:0 12px 30px -12px rgba(0,0,0,.7);
  transition:transform .45s var(--ease), background-color .35s var(--ease);
}
.vcard a:hover .vcard__play{transform:translate(-50%,-50%) scale(1.1);background:var(--gold-pale);}
.vcard__play svg{width:26px;height:26px;margin-left:3px;}
.vcard__data{
  display:block;padding:1.1rem 1.2rem .25rem;
  font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);
}
.vcard__titulo{padding:0 1.2rem;font-size:1.3rem;line-height:1.2;}
.vcard__desc{padding:.5rem 1.2rem 0;font-size:.87rem;color:var(--ink-mute);line-height:1.55;flex:1;}
.vcard__ver{display:block;padding:1rem 1.2rem 1.3rem;font-size:.8rem;font-weight:600;color:var(--green);transition:color .3s var(--ease);}
.vcard a:hover .vcard__ver{color:var(--gold);}

/* página do vídeo */
.vpg{padding-block:clamp(112px,13vw,152px) 0;}
.vpg__head{max-width:780px;margin-bottom:clamp(28px,3.4vw,42px);}
.vpg__head h1{font-size:clamp(2.2rem,5vw,3.5rem);margin:.3rem 0 .9rem;}
.vpg__lede{font-size:1.06rem;color:var(--ink-soft);max-width:62ch;}
.vplayer{
  position:relative;aspect-ratio:16/9;overflow:hidden;
  border-radius:var(--r-lg);box-shadow:var(--shadow-lg);background:var(--ink);
}
.vplayer iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.vpg__corpo{max-width:70ch;margin:clamp(44px,5vw,68px) auto 0;}
.vpg__corpo h2{font-size:clamp(1.6rem,2.8vw,2.1rem);margin-bottom:1.1rem;}
.vpontos{display:flex;flex-direction:column;gap:.7rem;margin-bottom:2rem;}
.vpontos li{position:relative;padding-left:1.7rem;font-size:1rem;color:var(--ink-soft);line-height:1.65;}
.vpontos li::before{content:"❧";position:absolute;left:0;top:-.05em;color:var(--gold-light);}
.vtags{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:2rem;}
.vtags li{
  padding:.35rem .8rem;font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;
  color:var(--gold);background:var(--cream);border-radius:999px;
}
.vpg__acoes{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.6rem;}
.vpg__redes{padding-top:1.8rem;border-top:1px solid var(--rule);text-align:center;}
.vpg__redes-rot{
  font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-mute);margin-bottom:.9rem;
}
.vrodape__redes{justify-content:center;}
.vpg__redes .social a{border-color:rgba(28,26,20,.18);color:var(--ink-soft);}
.vpg__redes .social a:hover{background:var(--green);color:var(--paper);border-color:var(--green);}
.vhub__redes{margin-bottom:clamp(60px,8vw,96px);}

.vnav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:clamp(52px,6vw,80px) auto clamp(72px,9vw,112px);max-width:900px;}
.vnav__item{
  display:flex;flex-direction:column;gap:.3rem;
  padding:1.2rem 1.4rem;text-decoration:none;
  background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r);
  transition:transform .4s var(--ease), border-color .4s var(--ease);
}
.vnav__item:hover{transform:translateY(-3px);border-color:rgba(126,95,42,.34);}
.vnav__item span{font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-light);}
.vnav__item strong{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--ink);line-height:1.2;}
.vnav__item--prox{text-align:right;}

/* faixa de vídeos na home */
.videoshome{background:var(--paper-3);border-block:1px solid var(--rule);}
.videoshome .section__head{margin-inline:auto;text-align:center;}
.videoshome__grade{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,30px);}
.videoshome__fim{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:clamp(36px,4vw,54px);}

@media (max-width:900px){
  .vgrade,.videoshome__grade{grid-template-columns:1fr 1fr;}
  .vnav{grid-template-columns:1fr;}
  .vnav__item--prox{text-align:left;}
}
@media (max-width:560px){
  .vgrade,.videoshome__grade{grid-template-columns:1fr;}
  .vpg__acoes .btn,.vhub__acoes .btn,.videoshome__fim .btn{width:100%;}
}

/* ---------- transcrição do vídeo ---------- */
.transcricao{max-width:70ch;margin:clamp(44px,5vw,68px) auto clamp(38px,4.5vw,58px);}
.transcricao__topo{margin-bottom:1.6rem;}
.transcricao__topo h2{font-size:clamp(1.6rem,2.8vw,2.1rem);margin-bottom:.4rem;}
.transcricao__meta{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-light);
}
.transcricao p{margin-bottom:1.1rem;font-size:1.02rem;line-height:1.8;}
.transcricao__topo + p::first-letter{
  float:left;font-family:var(--serif);font-size:3.4rem;line-height:.82;
  padding:.16em .12em 0 0;color:var(--gold);
}
.transcricao__mais{margin-top:.4rem;}
.transcricao__mais summary{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.7rem 1.4rem;margin-bottom:1.4rem;
  font-size:.85rem;font-weight:600;color:var(--green);
  background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;
  cursor:pointer;list-style:none;
  transition:background-color .3s var(--ease), border-color .3s var(--ease);
}
.transcricao__mais summary::-webkit-details-marker{display:none;}
.transcricao__mais summary::after{content:"↓";font-size:.9rem;}
.transcricao__mais summary:hover{background:var(--cream);border-color:var(--gold-light);}
.transcricao__fechar{display:none;}
.transcricao__mais[open] summary .transcricao__abrir{display:none;}
.transcricao__mais[open] summary .transcricao__fechar{display:inline;}
.transcricao__mais[open] summary::after{content:"↑";}
.transcricao__aviso{
  margin-top:1.8rem;padding:1rem 1.2rem;
  background:var(--paper-2);border-left:2px solid var(--gold-pale);border-radius:0 var(--r) var(--r) 0;
  font-size:.8rem !important;line-height:1.65 !important;color:var(--ink-mute);
}
.vpg__ficha{margin-top:1.3rem;}
