/* Academy Creator. Fundo quase preto nunca puro, dourado de marmore e tocha como acento, tirado das tres obras reais mantidas: Acropole, Escola de Atenas, Morte de Socrates. */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Spectral:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root{
  --canvas:#14100b;
  --panel:#1f1911;
  --panel-2:#2a2116;
  --accent:#c9902f;
  --accent-hover:#e0ac4f;
  --accent-muted:rgba(201,144,47,.35);
  --text-primary:#f2e8d5;
  --text-secondary:#b7a688;
  --line:rgba(201,144,47,.28);
  --tshadow:0 1px 3px rgba(5,5,10,.98),0 2px 8px rgba(5,5,10,.9),0 6px 26px rgba(5,5,10,.85),0 14px 50px rgba(5,5,10,.7);
  --ease:cubic-bezier(.16,.8,.24,1);
  --ease-soft:cubic-bezier(.3,.7,.4,1);
}

*{box-sizing:border-box}
html,body{overflow-x:clip}
html{overflow-x:hidden}
body{
  margin:0;
  background:var(--canvas);
  color:var(--text-primary);
  font-family:'Spectral',Georgia,'Times New Roman',serif;
  font-size:1.0625rem;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,.display{
  font-family:'Cinzel',Georgia,serif;
  font-weight:600;
  letter-spacing:.01em;
  line-height:1.15;
  margin:0;
}

.mono{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  letter-spacing:.09em;
  text-transform:uppercase;
}

a{color:inherit}
img{max-width:100%;display:block}

.skip-link{
  position:absolute;left:1rem;top:-4rem;z-index:1000;
  background:var(--panel);color:var(--text-primary);
  padding:.75rem 1.25rem;border-radius:6px;border:1px solid var(--line);
  transition:top .2s var(--ease);
}
.skip-link:focus{top:1rem}

/* ---------- nav ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem clamp(1.25rem,4vw,3rem);
  background:linear-gradient(rgba(10,8,5,.55),transparent);
  transition:background .3s var(--ease-soft),backdrop-filter .3s var(--ease-soft);
}
.nav.scrolled{background:rgba(16,13,9,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .word{font-family:'Cinzel';font-size:1rem;font-weight:600;letter-spacing:.12em;white-space:nowrap}
.nav .word span{color:var(--accent)}
.nav .btn{font-size:.8rem;padding:.6rem 1.1rem;white-space:nowrap}
@media (max-width:480px){
  .nav{padding:.85rem 1rem;gap:.5rem}
  .nav .word{font-size:.72rem;letter-spacing:.08em}
  .nav .btn{font-size:.66rem;padding:.55rem .7rem}
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:'IBM Plex Mono';font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;
  padding:.9rem 1.7rem;border-radius:3px;border:1px solid transparent;
  cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease),color .25s var(--ease);
  text-shadow:none;
}
.btn-primary{background:var(--accent);color:#181209}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px)}
.btn-ghost{background:rgba(20,16,11,.35);color:var(--text-primary);border-color:rgba(242,232,213,.35);backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
@media (pointer:coarse){.btn{min-height:44px}}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---------- backdrop (pinned, cinematic mode only): so as tres obras mantidas ---------- */
#backdrop{
  position:fixed;inset:0;z-index:0;overflow:hidden;
  will-change:transform;
}
.bg-layer{
  position:absolute;inset:-6% -6%;
  background-size:cover;background-repeat:no-repeat;
  opacity:0;
  will-change:opacity,transform;
  transform:scale(1.02);
}
.bg-layer[data-ch="grandeza"]{background-image:url('bg-acropole.jpg');background-position:50% 62%}
.bg-layer[data-ch="academia"]{background-image:url('bg-academia.jpg');background-position:50% 38%;filter:brightness(.62) saturate(.85)}
.bg-layer[data-ch="socrates"]{background-image:url('bg-socrates.jpg');background-position:58% 45%}

.scrim-global{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 120% 90% at 50% 45%,rgba(10,8,5,0) 30%,rgba(10,8,5,.58) 100%);
}

/* static fallback: mobile / reduced motion, plain per-section background, no fixed pin */
body.simple-bg #backdrop,
body.simple-bg .scrim-global{display:none}
body.simple-bg .chapter{background-size:cover;background-position:center;position:relative}
body.simple-bg .chapter::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(rgba(10,8,5,.35),rgba(10,8,5,.75));
}
body.simple-bg .chapter[data-ch="grandeza"]{background-image:url('bg-acropole.jpg')}
body.simple-bg .chapter[data-ch="academia"]{background-image:url('bg-academia.jpg');background-position:50% 30%}
body.simple-bg .chapter[data-ch="socrates"]{background-image:url('bg-socrates.jpg')}
body.simple-bg .chapter-noise::before{display:none}
body.simple-bg .chapter-quiet::before{display:none}
body.simple-bg .chapter-inner{position:relative;z-index:1}

/* ---------- layout scaffolding ---------- */
.chapter{position:relative;z-index:2}
.chapter-inner{
  max-width:960px;margin:0 auto;padding:clamp(4rem,10vh,7rem) clamp(1.25rem,5vw,2rem);
  min-height:100vh;display:flex;flex-direction:column;justify-content:center;gap:1.5rem;
}
.chapter-inner.narrow{max-width:760px}
.chapter-inner.wide{max-width:1180px}

/* a academia e um capitulo so, alto, mas nao precisa forcar 100vh por sub-bloco */
.chapter[data-ch="academia"] .chapter-inner{min-height:auto;padding-top:clamp(5rem,14vh,8rem);padding-bottom:clamp(5rem,14vh,8rem)}
.chapter-quiet .chapter-inner{min-height:auto;padding-top:clamp(5rem,14vh,7rem);padding-bottom:clamp(5rem,14vh,7rem)}

/* canvas liso, sem imagem: resultados, aplicar */
.chapter-quiet{background:var(--canvas)}

.band{position:relative}
.band::before{
  content:"";position:absolute;inset:-8% -10%;pointer-events:none;z-index:-1;
  background:radial-gradient(ellipse 78% 68% at 50% 42%,rgba(4,3,1,var(--scrim,.6)) 0%,rgba(4,3,1,calc(var(--scrim,.6) * .68)) 44%,rgba(4,3,1,0) 78%);
}
.band-tight::before{inset:-10% -8%}
.band-plain{position:relative}

.kicker{
  color:var(--accent);font-size:.82rem;margin-bottom:.4rem;
}
.chapter h2{
  font-size:clamp(1.9rem,4.6vw,3.4rem);
  text-shadow:var(--tshadow);
  max-width:16ch;
}
.chapter h2.wide-measure{max-width:22ch}
.chapter p.lede{
  font-size:clamp(1.05rem,1.6vw,1.3rem);
  color:var(--text-primary);
  max-width:52ch;
  text-shadow:var(--tshadow);
}
.chapter p.body-text{
  max-width:58ch;color:var(--text-secondary);text-shadow:var(--tshadow);
}
.cta-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}

/* reveal choreography: transform/opacity only, driven by JS toggling .in */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-scale{opacity:0;transform:scale(.92);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal-scale.in{opacity:1;transform:scale(1)}

/* ---------- capitulo do ruido (bloco 2), sem imagem, so cor fria e textura ---------- */
.chapter-noise{
  background:radial-gradient(ellipse 140% 100% at 50% 0%,#1c242c 0%,#11151a 55%,#0d1013 100%);
  overflow:hidden;
}
.noise-texture{
  position:absolute;inset:0;pointer-events:none;opacity:.22;mix-blend-mode:overlay;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.noise-scanlines{
  position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.35;
  background:repeating-linear-gradient(to bottom,rgba(180,200,220,.05) 0px,rgba(180,200,220,.05) 1px,transparent 1px,transparent 3px);
}
.noise-clarity{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(circle at 50% 55%,rgba(230,190,120,.55) 0%,rgba(201,144,47,.22) 30%,rgba(201,144,47,0) 62%);
  opacity:var(--hold,0);
  transition:opacity .1s linear;
}
.chapter-noise .chapter-inner{position:relative;z-index:1}
.chapter-noise h2,.chapter-noise p{color:#dfe6ec}
.chapter-noise .body-text{color:#a9b4bd}
.chapter-noise h2{text-shadow:0 2px 20px rgba(0,0,0,.6)}

/* a guarda grega da caverna, emprestada como moldura e textura pro ruido */
.noise-meander-field{
  position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cpath d='M0,20 H20 V52 H36 V20 H56 V52 H72' fill='none' stroke='%23c9902f' stroke-width='3'/%3E%3C/svg%3E");
  background-size:72px 72px;background-repeat:repeat;
  mix-blend-mode:overlay;
}
.noise-meander{
  position:absolute;left:0;right:0;height:22px;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='22'%3E%3Cpath d='M0,6 H10 V16 H20 V6 H30 V16 H40' fill='none' stroke='%23c9902f' stroke-width='2.5'/%3E%3C/svg%3E");
  background-repeat:repeat-x;background-size:40px 22px;
  opacity:.45;
}
.noise-meander-top{top:0}
.noise-meander-bottom{bottom:0}

/* ---------- momento interativo: atravesse o ruido ---------- */
.cave-hold-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;margin-top:1rem}
.hold-btn{
  position:relative;overflow:hidden;
  font-family:'IBM Plex Mono';font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;
  padding:1.1rem 1.9rem;border-radius:3px;border:1px solid rgba(180,200,220,.3);
  background:rgba(20,24,28,.5);color:#dfe6ec;cursor:pointer;
  backdrop-filter:blur(6px);
  -webkit-user-select:none;user-select:none;touch-action:none;
}
.hold-btn::before{
  content:"";position:absolute;inset:0;left:0;
  width:calc(var(--hold,0)*100%);
  background:var(--accent-muted);
  transition:width .05s linear;
  z-index:-1;
}
.hold-btn.done{border-color:var(--accent);color:var(--accent)}
.cave-caption{font-size:.85rem;color:#8a97a1;max-width:36ch}

/* ---------- academia: linguagem editorial unica pra personas, jornada e pilares ---------- */
.section-divider{
  height:1px;margin:3.5rem auto;max-width:220px;
  background:linear-gradient(to right,transparent,var(--line),transparent);
}
.editorial-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:1.25rem}
.editorial-row-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:820px){.editorial-row{grid-template-columns:1fr;gap:1.75rem}}
@media (max-width:900px){.editorial-row-4{grid-template-columns:repeat(2,1fr)}}
.editorial-item{
  border:1px solid rgba(10,8,5,.55);border-radius:8px;
  padding:1.4rem 1.3rem;background:rgba(10,8,5,.4);
}
.editorial-item .ed-label{
  display:block;font-family:'Cinzel';color:var(--accent-hover);font-size:1.08rem;margin-bottom:.6rem;
  text-shadow:0 1px 3px rgba(5,5,10,1),0 2px 10px rgba(5,5,10,.95);
}
.editorial-item p{margin:0;color:var(--text-primary);font-size:1rem;font-weight:500;text-shadow:0 1px 3px rgba(5,5,10,1),0 2px 10px rgba(5,5,10,.95)}

.index-list{margin-top:1.5rem;border-top:1px solid var(--line)}
.index-item{
  display:grid;grid-template-columns:4.5rem 1fr;gap:1.5rem;
  padding:1.7rem 0;border-bottom:1px solid var(--line);
  align-items:baseline;
}
.index-num{font-family:'Cinzel';color:var(--accent);font-size:1.3rem;text-shadow:var(--tshadow)}
.index-item h3{font-family:'Cinzel';font-size:1.1rem;margin-bottom:.4rem;text-shadow:var(--tshadow)}
.index-item p{margin:0;color:var(--text-secondary);max-width:58ch;text-shadow:var(--tshadow)}
.index-item-final .index-num{color:var(--accent-hover)}
.index-item-final h3{color:var(--accent-hover)}

/* ---------- resultados ---------- */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem 1.5rem;margin-top:1rem}
@media (max-width:820px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}
.stat .num{
  font-family:'Cinzel';font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--accent);
  display:block;
}
.stat .label{color:var(--text-secondary);font-size:.9rem;margin-top:.25rem}

/* ---------- eternidade ---------- */
.chapter[data-ch="socrates"] .chapter-inner{align-items:flex-start}
.chapter[data-ch="socrates"] h2{max-width:14ch}

/* ---------- application form ---------- */
.form-card{
  background:var(--panel);border:1px solid var(--line);border-radius:10px;
  padding:clamp(1.75rem,4vw,2.75rem);max-width:640px;
}
.form-card h3{font-size:1.3rem;margin-bottom:.4rem}
.form-card .sub{color:var(--text-secondary);font-size:.92rem;margin-bottom:1.4rem}
.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}
.field label{font-family:'IBM Plex Mono';font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.field input,.field textarea,.field select{
  background:var(--canvas);border:1px solid var(--line);border-radius:5px;
  padding:.8rem .9rem;color:var(--text-primary);font-family:'Spectral';font-size:1rem;
  transition:border-color .2s var(--ease);
}
.field select{appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23b7a688' d='M5 7l5 6 5-6z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem;
}
.field select option{background:var(--panel);color:var(--text-primary)}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none}
.form-success{display:none;text-align:center;padding:2rem 0}
.form-success.show{display:block}
.form-success .mono{color:var(--accent);display:block;margin-bottom:.5rem}

/* ---------- footer ---------- */
footer{
  background:var(--canvas);border-top:1px solid var(--line);
  padding:3rem clamp(1.25rem,5vw,3rem) 2.5rem;
  display:flex;flex-direction:column;gap:1.5rem;position:relative;z-index:2;
}
.footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}
.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap}
.footer-links a{color:var(--text-secondary);text-decoration:none;font-size:.9rem}
.footer-links a:hover{color:var(--accent)}
.footer-meander{height:14px;opacity:.5}
.footer-bottom{color:var(--text-secondary);font-size:.8rem}

/* ---------- fio de ouro (elemento assinatura, atravessa o site inteiro) ---------- */
#thread-svg{
  position:fixed;left:calc(50% - 1px);top:0;height:100%;width:2px;z-index:3;pointer-events:none;
  mix-blend-mode:screen;
}
#thread-svg line{stroke:var(--accent);stroke-width:2;opacity:.4}
body.simple-bg #thread-svg{display:none}

/* ---------- reduced motion, honrado por completo ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.2s!important;}
  .reveal,.reveal-scale{opacity:1!important;transform:none!important}
}
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}
