/* ============================================================
   Aerolito — Qual é o seu arquétipo de IA?
   Design system: fundo escuro, Manrope, serif itálica no corpo,
   gradiente rosa→azul→roxo→verde, geometria do poliedro da marca.
   ============================================================ */

:root{
  --black: #000000;
  --panel: #0a0a0c;
  --gray: #8A8A8A;
  --white: #FFFFFF;

  --pink-sat: #EF1CDB;
  --pink-neu: #ED50C7;
  --pink-uns: #FF8CC6;

  --blue-sat: #18A4FF;
  --blue-uns: #18C4FE;
  --cyan: #18E4FF;

  --purple-sat: #674BFE;
  --purple-neu: #4E3AC4;
  --purple-uns: #32237C;

  --green-sat: #3BFFDD;
  --green-neu: #2BB9A0;
  --green-uns: #1C7869;

  --font-display: 'Manrope', sans-serif;
  --font-body: 'Times New Roman', Georgia, serif;

  --ease: cubic-bezier(.16,.84,.44,1);
}

*{ box-sizing: border-box; }
html,body{ height:100%; }
body{
  margin:0;
  background: var(--black);
  color: var(--white);
  font-family: var(--font-display);
  font-weight: 300;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

a{ color: inherit; }

/* subtle grain so flat black never looks dead */
.noise-overlay{
  position: fixed; inset: 0; pointer-events: none; z-index: 2000;
  opacity: .035; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%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");
}

/* ---------- topbar ---------- */
.topbar{
  position: fixed; top:0; left:0; right:0; z-index: 500;
  display:flex; align-items:center; justify-content:space-between;
  padding: 22px clamp(20px, 5vw, 56px);
}
.topbar__logo{ height: 40px; width:auto; display:block; cursor:default; }
.topbar__logo img{ height:100%; width:auto; display:block; }

.btn-share{
  display:inline-flex; align-items:center; justify-content:center;
  width: 40px; height: 40px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.18);
  color: var(--white);
  border-radius: 999px;
  cursor:pointer; backdrop-filter: blur(6px);
  transition: border-color .25s var(--ease), background .25s var(--ease), transform .25s var(--ease);
}
.btn-share:hover{ border-color: var(--white); background: rgba(255,255,255,.12); transform: translateY(-1px); }
.btn-share svg{ color: var(--white); }

/* ---------- screens ---------- */
.screen{ display:none; min-height:100vh; width:100%; position:relative; }
.screen.is-active{ display:block; }

/* ---------- intro ---------- */
.screen--intro{ overflow:hidden; }
.intro-video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit: cover; z-index:0; filter: saturate(.75) brightness(.55);
}
.intro-scrim{
  position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(120% 90% at 12% 18%, rgba(0,0,0,.35), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.78) 58%, #000 100%);
}

.intro-content{
  position:relative; z-index:2;
  max-width: 1100px;
  padding: 140px clamp(20px, 6vw, 64px) 90px;
  margin: 0 auto;
}
.intro-grid{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap: 56px;
}
.intro-text{ max-width: 620px; flex: 1 1 420px; }

.intro-video-card{ flex: 0 0 260px; width: 260px; }
.intro-video-frame{
  position:relative; aspect-ratio: 9 / 16; width:100%;
  border-radius: 20px; overflow:hidden;
  box-shadow: 0 30px 60px -24px rgba(0,0,0,.7);
}
.intro-video-frame video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
  background: #050506;
}
.eyebrow{
  font-family: var(--font-display); text-transform: uppercase;
  font-size: 11px; letter-spacing: .2em; font-weight: 600;
  color: var(--cyan); margin: 0 0 18px;
}
.intro-title{
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(30px, 4.8vw, 54px); line-height: 1.08; letter-spacing: -.02em;
  margin: 0 0 28px;
  animation: riseIn .9s var(--ease) both;
}
.grad-text{ color: var(--cyan); }
.intro-copy{
  font-family: var(--font-body); font-style: italic;
  font-size: clamp(13px, 1.4vw, 15px); line-height: 1.6;
  color: rgba(255,255,255,.82);
  max-width: 62ch; margin: 0 0 20px;
  animation: riseIn 1s var(--ease) .1s both;
}
.intro-copy strong{ color: var(--white); font-weight: 700; }
.intro-copy em{ color: var(--pink-uns); }

.archetype-chips{ height: 4px; }

.btn-primary{
  margin-top: 18px;
  font-family: var(--font-display); font-weight: 700; font-size: 14px;
  color: var(--black);
  background: var(--cyan);
  border: none; border-radius: 999px;
  padding: 18px 34px;
  cursor: pointer;
  box-shadow: 0 18px 40px -16px rgba(24,228,255,.45);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), filter .3s var(--ease);
  animation: riseIn 1.1s var(--ease) .2s both;
}
.btn-primary:hover{ transform: translateY(-2px) scale(1.015); filter: brightness(1.08); box-shadow: 0 22px 48px -14px rgba(24,228,255,.6); }
.btn-primary:active{ transform: translateY(0) scale(.99); }

.btn-secondary{
  font-family: var(--font-display); font-weight: 600; font-size: 14px;
  color: var(--white); background: transparent;
  border: 1px solid rgba(255,255,255,.3); border-radius: 999px;
  padding: 13px 24px; cursor:pointer;
  transition: border-color .25s var(--ease), background .25s var(--ease);
}
.btn-secondary:hover{ border-color: var(--green-sat); background: rgba(59,255,221,.08); }

.btn-ghost{
  font-family: var(--font-display); font-weight: 500; font-size: 14px;
  color: rgba(255,255,255,.6); background: none; border: none;
  cursor: pointer; padding: 10px 4px;
  transition: color .2s var(--ease);
}
.btn-ghost:hover{ color: var(--white); }

@keyframes riseIn{
  from{ opacity:0; transform: translateY(18px); }
  to{ opacity:1; transform: translateY(0); }
}

/* ---------- live banner ---------- */
.live-banner{
  position: relative; z-index: 2;
  background: linear-gradient(135deg, rgba(239,28,219,.08), rgba(24,164,255,.06) 50%, rgba(59,255,221,.06)), var(--panel);
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 48px clamp(20px, 6vw, 64px);
}
.live-banner__inner{
  position:relative; width:100%; margin: 0 auto;
  text-align: center;
}
.live-banner__tag{
  display:inline-block; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  color: var(--black); background: var(--green-sat);
  padding: 6px 12px; border-radius: 999px; margin-bottom: 16px;
}
.live-banner__title{
  font-family: var(--font-display); font-weight: 700; font-size: 20px;
  margin: 0 0 8px; letter-spacing: -.01em;
}
.live-banner__meta{
  font-family: var(--font-display); font-weight: 600; font-size: 13px;
  color: var(--cyan); margin: 0 0 16px;
}
.live-banner__desc{
  font-family: var(--font-body); font-style: italic; color: rgba(255,255,255,.78);
  font-size: 13px; line-height: 1.6; margin: 0 auto 22px;
}

/* ---------- quiz ---------- */
.screen--quiz{ display:none; }
.screen--quiz.is-active{ display:flex; align-items:center; justify-content:center; }
.quiz-shell{
  width: 100%; max-width: 640px; margin: 0 auto;
  padding: 140px 24px 80px;
}
.quiz-progress{
  height: 3px; width:100%; background: rgba(255,255,255,.1);
  border-radius: 999px; overflow:hidden; margin-bottom: 20px;
}
.quiz-progress__bar{
  height:100%; width: 16.6%;
  background: linear-gradient(90deg, var(--pink-sat), var(--blue-sat), var(--green-sat));
  transition: width .5s var(--ease);
}
.quiz-step{
  font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600;
  color: var(--gray); margin: 0 0 14px;
}
.quiz-question{
  font-family: var(--font-display); font-weight: 700; font-size: clamp(19px, 2.6vw, 25px);
  line-height: 1.3; margin: 0 0 32px;
}
.quiz-options{ display:flex; flex-direction:column; gap: 12px; margin-bottom: 28px; }
.quiz-option{
  text-align:left;
  font-family: var(--font-body); font-style: italic; font-size: 14px; line-height: 1.5;
  color: rgba(255,255,255,.88);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  padding: 18px 20px;
  cursor:pointer;
  transition: border-color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
}
.quiz-option:hover{
  border-color: var(--pink-neu);
  background: rgba(237,80,199,.08);
  transform: translateX(3px);
}
.quiz-option.is-selected{
  border-color: var(--cyan);
  background: rgba(24,228,255,.1);
}

/* ---------- lead ---------- */
.screen--lead.is-active{ display:flex; align-items:center; justify-content:center; }
.lead-shell{ width:100%; max-width: 480px; margin:0 auto; padding: 140px 24px 80px; }
.lead-title{ font-family: var(--font-display); font-weight: 700; font-size: clamp(19px,2.4vw,24px); margin: 8px 0 14px; }
.lead-copy{ font-family: var(--font-body); font-style: italic; font-size: 14px; color: rgba(255,255,255,.75); line-height:1.6; margin: 0 0 30px; }
.lead-form{ display:flex; flex-direction:column; gap: 16px; }
.field{ display:flex; flex-direction:column; gap:8px; }
.field span{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color: var(--gray); font-weight:600; }
.field input{
  font-family: var(--font-display); font-size: 14px; color: var(--white);
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.2);
  border-radius: 10px; padding: 14px 16px; outline:none;
  transition: border-color .2s var(--ease);
}
.field input:focus{ border-color: var(--cyan); }
.lead-form .btn-primary{ margin-top: 6px; width: 100%; }

/* ---------- result ---------- */
.screen--result.is-active{ display:flex; align-items:flex-start; justify-content:center; }
.result-shell{ width:100%; max-width: 640px; margin:0 auto; padding: 140px 24px 100px; text-align:center; }
.result-symbol{ width: 92px; height: 92px; margin: 10px auto 26px; }
.result-symbol svg{ width:100%; height:100%; }
.result-name{
  font-family: var(--font-display); font-weight: 800; font-size: clamp(26px, 3.6vw, 36px);
  margin: 0 0 10px; letter-spacing:-.02em;
}
.result-tagline{
  font-family: var(--font-body); font-style: italic; font-size: 15px;
  color: rgba(255,255,255,.75); margin: 0 0 44px;
}
.result-block{
  text-align:left; border-top: 1px solid rgba(255,255,255,.12);
  padding: 26px 0;
}
.result-block h3{
  font-family: var(--font-display); font-size: 13px; letter-spacing:.14em; text-transform:uppercase;
  color: var(--cyan); margin: 0 0 12px;
}
.result-block p{
  font-family: var(--font-body); font-style: italic; font-size: 14px; line-height:1.65;
  color: rgba(255,255,255,.88); margin:0;
}
.result-block ul{ margin:0; padding-left: 20px; font-family: var(--font-body); font-style: italic; font-size: 14px; line-height: 1.8; color: rgba(255,255,255,.88); }
.result-block--watch p{ color: var(--pink-uns); }

.result-actions{ display:flex; gap: 14px; justify-content:center; margin-top: 40px; flex-wrap: wrap; }
.btn-share--result{ background: rgba(255,255,255,.06); }

/* ---------- footer ---------- */
.site-footer{
  position: relative; z-index: 2;
  background: var(--black);
  border-top: 1px solid rgba(255,255,255,.1);
  padding: 32px 20px 36px;
  text-align: center;
}
.site-footer__brand{
  font-family: var(--font-display); font-weight: 600; font-size: 13px;
  color: rgba(255,255,255,.75); margin: 0 0 8px;
}
.site-footer__email{
  display:inline-block; font-family: var(--font-display); font-weight: 600; font-size: 13px;
  color: var(--cyan); text-decoration: none; margin: 0 0 10px;
}
.site-footer__email:hover{ text-decoration: underline; }
.site-footer__legal{
  font-family: var(--font-display); font-size: 11px;
  color: rgba(255,255,255,.4); margin: 0;
}

/* ---------- toast ---------- */
.toast{
  position: fixed; bottom: 28px; left:50%; transform: translateX(-50%) translateY(20px);
  background: var(--white); color: var(--black);
  font-family: var(--font-display); font-weight: 600; font-size: 14px;
  padding: 12px 20px; border-radius: 999px;
  opacity:0; pointer-events:none; z-index: 3000;
  transition: opacity .3s var(--ease), transform .3s var(--ease);
}
.toast.is-visible{ opacity:1; transform: translateX(-50%) translateY(0); }

/* ---------- responsive ---------- */
@media (max-width: 900px){
  .intro-grid{ flex-direction: column-reverse; align-items: center; gap: 36px; }
  .intro-text{ width: 100%; max-width: 620px; }
  .intro-video-card{ width: 220px; flex-basis: auto; }
}

@media (max-width: 640px){
  .topbar{ padding: 12px 18px; }
  .topbar__logo{ height: 30px; }
  .btn-share span{ display:none; }
  .btn-share{ padding: 10px; }
  .intro-content{ padding-top: 110px; }
  .quiz-shell, .lead-shell, .result-shell{ padding-top: 100px; }
  .result-actions{ flex-direction: column; align-items: stretch; }
}
