/* =========================================================
   AUNORA — Landing Page — Fase 1 — v2 (redesign)
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,450;0,9..144,560;0,9..144,650;1,9..144,450&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --petrol-950:#052326;
  --petrol-900:#083237;
  --petrol-850:#0a3a3f;
  --petrol-800:#0c4348;
  --petrol-700:#0f545a;
  --petrol-600:#146a71;
  --petrol-500:#167F86;
  --petrol-400:#2a9ca3;
  --petrol-300:#5cc0c6;
  --petrol-200:#a7dfe2;

  --orange-500:#FFB21C;
  --orange-600:#ED8500;
  --orange-glow:#ffcf6b;

  --rose-500:#C95A78;
  --rose-400:#dd7f97;

  --cream:#FBF7EF;
  --cream-dim:#EFE7D8;
  --ink:#052326;
  --white-06: rgba(255,255,255,.06);
  --white-08: rgba(255,255,255,.08);
  --white-12: rgba(255,255,255,.12);
  --white-18: rgba(255,255,255,.18);
  --white-24: rgba(255,255,255,.24);
  --white-60: rgba(255,255,255,.62);
  --white-80: rgba(255,255,255,.84);

  --font-display:'Fraunces', ui-serif, Georgia, serif;
  --font-body:'Manrope', ui-sans-serif, system-ui, sans-serif;

  --container: 1240px;
  --radius-xl: 40px;
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 12px;

  --shadow-deep: 0 30px 80px -20px rgba(2,20,22,.55);
  --shadow-soft: 0 14px 40px -14px rgba(2,20,22,.4);
  --shadow-chip: 0 12px 28px -10px rgba(2,20,22,.5), inset 0 1px 0 rgba(255,255,255,.06);
  --ease: cubic-bezier(.22,.68,.1,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

body{
  margin:0;
  font-family:var(--font-body);
  background:var(--petrol-900);
  color:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer; background:none; border:none; color:inherit;}
ul{margin:0; padding:0; list-style:none;}
h1,h2,h3,h4{font-family:var(--font-display); margin:0; font-weight:560; letter-spacing:-.01em;}
p{margin:0;}
svg{display:block;}

.wrap{max-width:var(--container); margin:0 auto; padding:0 32px;}
@media(max-width:640px){.wrap{padding:0 20px;}}

/* ---------- Ícones ---------- */
.ico{width:20px; height:20px; flex-shrink:0;}
.ico-badge{
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  border-radius:14px; position:relative;
}
.ico-badge svg{color:#241000; fill:none; width:18px; height:18px;}
.tone-orange{background:linear-gradient(150deg,var(--orange-500),var(--orange-600));}
.tone-teal{background:linear-gradient(150deg,var(--petrol-300),var(--petrol-500));}
.tone-rose{background:linear-gradient(150deg,var(--rose-400),var(--rose-500));}
.tone-glass{background:var(--white-12); border:1px solid var(--white-18);}
.tone-glass svg{color:var(--cream);}
.tone-teal svg{color:#04262a;}
.tone-rose svg{color:#2a0812;}

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-body); font-weight:700; font-size:12.5px;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--orange-500);
}
.eyebrow .dot{width:6px; height:6px; border-radius:50%; background:var(--orange-500); box-shadow:0 0 12px var(--orange-500);}

.section-head{max-width:680px; margin-bottom:56px;}
.section-head h2{font-size:clamp(30px,4vw,46px); line-height:1.14; color:var(--cream); margin-top:14px;}
.section-head p.lead{margin-top:18px; font-size:17.5px; line-height:1.6; color:var(--white-60); max-width:560px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

section{position:relative;}

/* ---------- Botões ---------- */
.btn{
  position:relative; display:inline-flex; align-items:center; gap:10px;
  padding:16px 30px; border-radius:100px; font-weight:700; font-size:15.5px;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), background .3s;
  white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(135deg,var(--orange-500),var(--orange-600));
  color:#241000;
  box-shadow:0 10px 30px -8px rgba(237,133,0,.55), inset 0 1px 0 rgba(255,255,255,.35);
}
.btn-primary:hover{transform:translateY(-3px); box-shadow:0 18px 40px -10px rgba(237,133,0,.7), inset 0 1px 0 rgba(255,255,255,.4);}
.btn-primary .ico{transition:transform .4s var(--ease); width:17px; height:17px; color:#241000;}
.btn-primary:hover .ico{transform:translateX(4px);}

.btn-ghost{
  background:var(--white-08);
  color:var(--cream);
  border:1px solid var(--white-18);
  backdrop-filter:blur(10px);
}
.btn-ghost:hover{background:var(--white-12); transform:translateY(-3px);}

.btn-sm{padding:12px 22px; font-size:14px;}

/* ---------- NAVBAR (pílula flutuante) ---------- */
.nav{
  position:fixed; top:18px; left:0; right:0; z-index:100;
  display:flex; justify-content:center;
  padding:0 20px;
}
.nav .wrap{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  max-width:1080px; width:100%; padding:10px 12px 10px 24px;
  border-radius:100px;
  background:rgba(9,55,60,.5);
  border:1px solid var(--white-12);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  box-shadow:0 20px 50px -24px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.06);
  transition:background .4s var(--ease), box-shadow .4s var(--ease), padding .4s var(--ease), border-color .4s var(--ease);
}
.nav.scrolled .wrap{
  background:rgba(9,55,60,.82);
  border-color:var(--white-18);
  box-shadow:0 24px 60px -20px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.08);
}
.brand{display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:650; font-size:21px; color:var(--cream);}
.brand svg{width:32px; height:32px;}
.nav-links{display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; color:var(--white-80);}
.nav-links a{position:relative; padding:6px 0; transition:color .3s;}
.nav-links a::after{content:'';position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--orange-500); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease);}
.nav-links a:hover{color:var(--cream);}
.nav-links a:hover::after{transform:scaleX(1);}
.nav-actions{display:flex; align-items:center; gap:16px;}
.nav-enter{font-weight:700; font-size:14px; color:var(--white-80); transition:color .3s;}
.nav-enter:hover{color:var(--cream);}

@media(max-width:980px){.nav-links{display:none;} .nav{top:14px;}}

/* ---------- HERO ---------- */
.hero{
  position:relative; padding:168px 0 120px;
  background:
    radial-gradient(1100px 640px at 82% -8%, rgba(255,178,28,.15), transparent 60%),
    radial-gradient(900px 700px at -10% 30%, rgba(201,90,120,.14), transparent 60%),
    linear-gradient(180deg, var(--petrol-950) 0%, var(--petrol-900) 45%, var(--petrol-850) 100%);
  overflow:hidden;
}
.blob{position:absolute; border-radius:50%; filter:blur(100px); opacity:.5; pointer-events:none;}
.blob-orange{width:520px; height:520px; background:radial-gradient(circle, var(--orange-500), transparent 70%); top:-160px; right:-140px; animation:float-slow 16s ease-in-out infinite;}
.blob-rose{width:420px; height:420px; background:radial-gradient(circle, var(--rose-500), transparent 70%); bottom:-180px; left:-120px; animation:float-slow 20s ease-in-out infinite reverse;}
@keyframes float-slow{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(26px,-20px) scale(1.05);}}

.hero-paw-mark{
  position:absolute; top:8%; left:34%; width:640px; height:640px; opacity:.05;
  color:var(--cream); pointer-events:none; transform:rotate(-14deg);
  z-index:1; animation:paw-mark-drift 30s ease-in-out infinite;
}
@keyframes paw-mark-drift{0%,100%{transform:rotate(-14deg) translateY(0);}50%{transform:rotate(-10deg) translateY(-18px);}}

.hero .wrap{display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; position:relative; z-index:2;}

.hero-copy h1{font-size:clamp(40px,5.6vw,64px); line-height:1.05; color:var(--cream); font-weight:560; margin-top:22px;}
.hero-copy h1 em{font-style:italic; font-weight:450; background:linear-gradient(120deg,var(--orange-500),var(--orange-glow)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.hero-copy .sub{margin-top:24px; font-size:18px; line-height:1.65; color:var(--white-60); max-width:520px;}
.hero-actions{display:flex; align-items:center; gap:16px; margin-top:38px; flex-wrap:wrap;}
.hero-trust{display:flex; align-items:center; gap:16px; margin-top:48px; color:var(--white-60); font-size:13.5px;}
.hero-trust .stack{display:flex;}
.hero-trust .stack .ico-badge{width:32px; height:32px; border-radius:50%; margin-left:-10px; border:2px solid var(--petrol-900);}
.hero-trust .stack .ico-badge:first-child{margin-left:0;}
.hero-trust .stack svg{width:15px; height:15px;}

/* --- Composição visual hero: blob orgânico + foto que sangra o grid --- */
.hero-visual{position:relative; height:600px;}
.hv-accent{
  position:absolute; top:-4%; right:-8%; width:88%; height:82%;
  background:linear-gradient(150deg, var(--orange-500), var(--rose-500) 70%);
  opacity:.92;
  border-radius:63% 37% 54% 46% / 43% 53% 47% 57%;
  animation:blob-morph 16s ease-in-out infinite;
}
@keyframes blob-morph{
  0%,100%{border-radius:63% 37% 54% 46% / 43% 53% 47% 57%;}
  50%{border-radius:42% 58% 39% 61% / 58% 44% 56% 42%;}
}
.hv-photo{
  position:absolute; left:-6%; bottom:0; width:80%; height:86%;
  border-radius:var(--radius-xl);
  overflow:hidden; box-shadow:var(--shadow-deep);
  border:1px solid var(--white-12);
}
.hv-photo img{width:100%; height:100%; object-fit:cover;}
.hv-photo::after{content:'';position:absolute; inset:0; background:linear-gradient(200deg, rgba(5,35,38,0) 45%, rgba(5,35,38,.5) 100%);}

.chip{
  position:absolute; display:flex; align-items:center; gap:11px;
  padding:12px 16px 12px 12px; border-radius:16px;
  background:rgba(9,55,60,.68);
  border:1px solid var(--white-18);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  box-shadow:var(--shadow-chip);
  font-size:13.5px; font-weight:700; color:var(--cream);
  animation:chip-float 6.5s ease-in-out infinite;
  z-index:3;
}
.chip .ico-badge{width:34px; height:34px; border-radius:11px;}
.chip .ico-badge svg{width:17px; height:17px;}
.chip small{display:block; font-weight:600; color:var(--white-60); font-size:11px; margin-top:1px; letter-spacing:.01em;}

.chip-checkin{top:6%; left:-6%; animation-delay:.1s;}
.chip-count{bottom:16%; left:-9%; animation-delay:1.6s;}
.chip-rating{bottom:5%; right:2%; animation-delay:.9s;}
@keyframes chip-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}

.scroll-cue{position:absolute; left:50%; bottom:26px; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--white-60); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; z-index:2;}
.scroll-cue .line{width:1px; height:34px; background:linear-gradient(var(--orange-500), transparent); animation:cue-move 2s ease-in-out infinite;}
@keyframes cue-move{0%{opacity:0; transform:scaleY(.3);}50%{opacity:1; transform:scaleY(1);}100%{opacity:0; transform:scaleY(.3) translateY(10px);}}

@media(max-width:980px){
  .hero .wrap{grid-template-columns:1fr;}
  .hero-visual{height:440px; margin-top:8px;}
}
@media(max-width:640px){
  .hero{padding-top:128px;}
  .hero-visual{height:380px;}
  .chip{padding:10px 13px 10px 10px; font-size:12px; gap:9px;}
  .chip .ico-badge{width:28px; height:28px;}
  .chip .ico-badge svg{width:14px; height:14px;}
  .chip-checkin{left:-3%;}
  .chip-count{left:-4%;}
}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal-stagger > *{opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal-stagger.in > *{opacity:1; transform:translateY(0);}
.reveal-stagger.in > *:nth-child(1){transition-delay:.02s;}
.reveal-stagger.in > *:nth-child(2){transition-delay:.1s;}
.reveal-stagger.in > *:nth-child(3){transition-delay:.18s;}
.reveal-stagger.in > *:nth-child(4){transition-delay:.26s;}
.reveal-stagger.in > *:nth-child(5){transition-delay:.34s;}
.reveal-stagger.in > *:nth-child(6){transition-delay:.42s;}

/* ---------- CARROSSEL DE RECURSOS ---------- */
.showcase{padding:130px 0 110px; background:var(--petrol-900);}
.showcase-head{margin-bottom:48px;}
.showcase-hint{display:flex; align-items:center; gap:8px; margin-top:14px; font-size:13px; color:var(--white-60); font-weight:600;}
.showcase-hint .ico{width:16px; height:16px; color:var(--white-60);}

.track-viewport{overflow:hidden; margin:0 -4px;}
.track{display:flex; gap:22px; cursor:grab; user-select:none; scroll-snap-type:x proximity; overflow-x:auto; scrollbar-width:none; padding:2px;}
.track::-webkit-scrollbar{display:none;}
.track:active{cursor:grabbing;}
.slide{
  scroll-snap-align:start;
  flex:0 0 auto; width:min(72vw,330px); border-radius:var(--radius-lg);
  background:linear-gradient(165deg, var(--petrol-800), var(--petrol-900));
  border:1px solid var(--white-08);
  overflow:hidden; position:relative;
  box-shadow:var(--shadow-soft);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.slide:hover{transform:perspective(900px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg)) translateY(-8px); box-shadow:var(--shadow-deep);}
.slide-media{height:200px; position:relative; overflow:hidden;}
.slide-media img{width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); pointer-events:none;}
.slide:hover .slide-media img{transform:scale(1.06);}
.slide-media::after{content:'';position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,40,44,0) 55%, var(--petrol-900) 100%);}
.slide-num{position:absolute; top:14px; left:14px; font-family:var(--font-body); font-size:11.5px; font-weight:800; letter-spacing:.06em; color:var(--white-80); background:rgba(5,35,38,.5); padding:5px 10px; border-radius:100px; backdrop-filter:blur(8px); border:1px solid var(--white-18);}
.slide-body{padding:24px 24px 28px;}
.slide-body .ico-badge{width:42px; height:42px; margin-bottom:16px;}
.slide-body .ico-badge svg{width:20px; height:20px;}
.slide-body h3{font-size:19px; color:var(--cream); margin-bottom:9px;}
.slide-body p{font-size:14px; line-height:1.58; color:var(--white-60);}

.dots{display:flex; gap:8px; justify-content:center; margin-top:36px;}
.dots span{width:8px; height:8px; border-radius:50%; background:var(--white-18); transition:all .35s var(--ease); cursor:pointer;}
.dots span.active{width:26px; background:var(--orange-500);}

/* ---------- PROBLEMA / SOLUÇÃO ---------- */
.chaos{padding:130px 0; background:var(--petrol-850); position:relative; overflow:hidden;}
.chaos-grid{display:grid; grid-template-columns:.92fr 1.08fr; gap:70px; align-items:center;}
.chaos-visual{position:relative; height:auto; display:flex; flex-direction:column; gap:16px;}
.note{
  display:flex; align-items:flex-start; gap:14px; padding:16px 18px; border-radius:16px; width:88%;
  background:var(--white-06); border:1px solid var(--white-08);
  box-shadow:var(--shadow-soft); backdrop-filter:blur(10px);
}
.note .ico-badge{width:36px; height:36px; border-radius:11px;}
.note .ico-badge svg{width:17px; height:17px;}
.note .tag{display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.09em; color:var(--white-60); font-weight:800; margin-bottom:5px;}
.note p{font-size:14px; color:var(--white-80); line-height:1.45; font-weight:600;}
.note.n1{align-self:flex-start; transform:rotate(-1.2deg);}
.note.n2{align-self:flex-end; transform:rotate(1.4deg);}
.note.n3{align-self:flex-start; margin-left:6%; transform:rotate(-0.8deg);}
.note-arrow{align-self:center; display:flex; align-items:center; gap:10px; color:var(--white-60); font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:2px 0;}
.note-arrow .ico{width:16px; height:16px; color:var(--orange-500);}
.note.solution{
  width:100%; background:linear-gradient(120deg, rgba(255,178,28,.16), rgba(201,90,120,.12));
  border:1px solid var(--white-18); transform:none;
}
.note.solution p{color:var(--cream); font-size:15px;}
.note.solution strong{color:var(--orange-500); font-family:var(--font-display); font-weight:600; font-size:16.5px;}

.chaos-copy .section-head{margin-bottom:26px;}
.chaos-list{display:flex; flex-direction:column; gap:0; margin-top:8px;}
.chaos-list li{display:flex; align-items:center; gap:16px; font-size:15.5px; color:var(--white-80); padding:15px 0; border-bottom:1px solid var(--white-08);}
.chaos-list li:last-child{border:none;}
.chaos-list .ico-badge{width:38px; height:38px; border-radius:11px;}
.chaos-list .ico-badge svg{width:18px; height:18px;}

@media(max-width:900px){
  .chaos-grid{grid-template-columns:1fr;}
  .chaos-visual{order:2; margin-top:44px;}
  .note{width:100%;}
  .note.n3{margin-left:0;}
}

/* ---------- COMO FUNCIONA ---------- */
.flow{padding:130px 0; background:var(--petrol-900); position:relative;}
.flow-line{position:absolute; left:50%; top:0; bottom:0; width:2px; background:var(--white-08); transform:translateX(-50%); border-radius:2px;}
.flow-line-fill{position:absolute; top:0; left:0; width:100%; height:0%; background:linear-gradient(var(--orange-500), var(--rose-500)); transition:height .1s linear; border-radius:2px;}
.flow-steps{display:flex; flex-direction:column; gap:70px; position:relative; max-width:920px; margin:0 auto; padding-top:8px;}
.flow-step{display:grid; grid-template-columns:1fr 92px 1fr; align-items:center; gap:24px;}
.flow-step:nth-child(even) .flow-text{grid-column:3; text-align:left;}
.flow-step:nth-child(odd) .flow-text{grid-column:1; text-align:right;}
.flow-step:nth-child(even) .flow-spacer{grid-column:1;}
.flow-step:nth-child(odd) .flow-spacer{grid-column:3;}
.flow-num{
  grid-column:2; width:80px; height:80px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:27px; font-weight:650; color:var(--cream);
  background:linear-gradient(150deg, var(--petrol-700), var(--petrol-850));
  border:1px solid var(--white-18); box-shadow:var(--shadow-soft); position:relative; z-index:2;
}
.flow-text h3{font-size:21px; color:var(--cream); margin-bottom:9px;}
.flow-text p{font-size:14.5px; color:var(--white-60); line-height:1.6; max-width:320px;}
.flow-step:nth-child(odd) .flow-text p{margin-left:auto;}
.flow-step:nth-child(even) .flow-text p{margin-right:auto;}

@media(max-width:760px){
  .flow-line{left:26px;}
  .flow-step{grid-template-columns:60px 1fr !important;}
  .flow-step .flow-text{grid-column:2 !important; text-align:left !important;}
  .flow-step .flow-num{grid-column:1 !important; width:56px; height:56px; font-size:19px;}
  .flow-step .flow-text p{margin:0 !important;}
  .flow-spacer{display:none;}
}

/* ---------- PARA QUEM É (seção clara — quebra de ritmo) ---------- */
.audience{padding:140px 0; background:var(--cream); color:var(--ink); overflow:hidden; position:relative;}
.audience::before, .audience::after{
  content:''; position:absolute; border-radius:50%; filter:blur(110px); pointer-events:none;
}
.audience::before{width:480px; height:480px; background:radial-gradient(circle, var(--rose-500), transparent 70%); opacity:.16; top:-140px; left:-100px;}
.audience::after{width:440px; height:440px; background:radial-gradient(circle, var(--orange-500), transparent 70%); opacity:.18; bottom:-160px; right:-100px;}
.audience .eyebrow{color:var(--orange-600);}
.audience .section-head h2{color:var(--ink);}
.audience-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; position:relative; z-index:2;}
.a-card{
  position:relative; border-radius:var(--radius-lg); overflow:hidden; height:400px;
  box-shadow:0 24px 50px -22px rgba(5,35,38,.28); transition:transform .55s var(--ease), box-shadow .55s var(--ease);
  border:1px solid rgba(5,35,38,.08);
}
.a-card img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease);}
.a-card:hover{transform:translateY(-10px); box-shadow:0 34px 70px -22px rgba(5,35,38,.4);}
.a-card:hover img{transform:scale(1.08);}
.a-card-overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(5,35,38,.02) 34%, rgba(4,26,29,.94) 90%); display:flex; flex-direction:column; justify-content:flex-end; padding:24px; }
.a-card .ico-badge{width:44px; height:44px; border-radius:13px; margin-bottom:14px;}
.a-card .ico-badge svg{width:21px; height:21px;}
.a-card h3{font-size:18.5px; color:var(--cream); margin-bottom:8px;}
.a-card p{font-size:13.5px; color:var(--white-60); line-height:1.5; max-height:0; opacity:0; overflow:hidden; transition:max-height .5s var(--ease), opacity .4s var(--ease);}
.a-card:hover p{max-height:80px; opacity:1;}

@media(max-width:980px){.audience-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.audience-grid{grid-template-columns:1fr;} .a-card{height:280px;}}

/* ---------- BENEFÍCIOS (bento assimétrico) ---------- */
.benefits{padding:130px 0; background:var(--petrol-900);}
.benefits-grid{
  display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:190px; gap:20px;
}
.b-card{
  padding:30px 24px; border-radius:var(--radius-md); background:var(--white-06); border:1px solid var(--white-08);
  transition:transform .5s var(--ease), background .4s var(--ease), border-color .4s;
  display:flex; flex-direction:column; justify-content:flex-end;
}
.b-card:hover{transform:perspective(900px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg)) translateY(-6px); background:var(--white-12); border-color:var(--white-18);}
.b-card .ico-badge{width:52px; height:52px; border-radius:16px; margin-bottom:22px;}
.b-card .ico-badge svg{width:24px; height:24px;}
.b-card h3{font-size:17px; color:var(--cream); margin-bottom:10px; line-height:1.3;}
.b-card p{font-size:13.5px; color:var(--white-60); line-height:1.55;}

.b-card:nth-child(1){
  grid-column:span 2; grid-row:span 2; justify-content:flex-end;
  background:linear-gradient(155deg, rgba(255,178,28,.14), rgba(201,90,120,.1));
  border-color:var(--white-12);
}
.b-card:nth-child(1) .ico-badge{width:64px; height:64px; border-radius:19px;}
.b-card:nth-child(1) .ico-badge svg{width:30px; height:30px;}
.b-card:nth-child(1) h3{font-size:23px; font-family:var(--font-display); font-weight:600;}
.b-card:nth-child(1) p{font-size:14.5px; max-width:320px;}
.b-card:nth-child(2){grid-column:3; grid-row:1;}
.b-card:nth-child(3){grid-column:4; grid-row:1;}
.b-card:nth-child(4){grid-column:3; grid-row:2;}
.b-card:nth-child(5){grid-column:4; grid-row:2;}

@media(max-width:980px){
  .benefits-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:auto;}
  .b-card:nth-child(1){grid-column:span 2; grid-row:auto;}
  .b-card:nth-child(2),.b-card:nth-child(3),.b-card:nth-child(4),.b-card:nth-child(5){grid-column:auto; grid-row:auto;}
}
@media(max-width:560px){
  .benefits-grid{grid-template-columns:1fr;}
  .b-card:nth-child(1){grid-column:auto;}
}

/* ---------- EXPERIÊNCIA DO TUTOR ---------- */
.tutor{padding:140px 0; position:relative; overflow:hidden;
  background:
    radial-gradient(800px 500px at 15% 10%, rgba(201,90,120,.16), transparent 60%),
    radial-gradient(700px 600px at 90% 90%, rgba(255,178,28,.13), transparent 60%),
    linear-gradient(180deg,var(--petrol-950),var(--petrol-900));
}
.tutor-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:64px; align-items:center;}
.phone-stage{position:relative; height:600px; display:flex; align-items:center; justify-content:center;}
.phone{
  width:284px; height:576px; border-radius:44px; background:var(--petrol-950);
  border:8px solid #06181a; box-shadow:0 40px 90px -20px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,.06);
  position:relative; overflow:hidden; z-index:2;
}
.phone::before{content:'';position:absolute; top:14px; left:50%; transform:translateX(-50%); width:88px; height:20px; background:#06181a; border-radius:20px; z-index:5;}
.phone-photo{width:100%; height:50%; object-fit:cover;}
.phone-body{padding:16px 18px; position:relative; z-index:2; background:linear-gradient(180deg, var(--petrol-950), var(--petrol-900));}
.phone-status{font-family:var(--font-display); font-size:16px; color:var(--cream); margin-bottom:14px;}
.phone-row{display:flex; align-items:center; gap:11px; padding:9px 0; border-bottom:1px solid var(--white-08); font-size:12.5px; font-weight:700; color:var(--white-80);}
.phone-row:last-child{border:none;}
.phone-row .ico-badge{width:28px; height:28px; border-radius:9px;}
.phone-row .ico-badge svg{width:14px; height:14px;}
.phone-row .check{margin-left:auto; width:16px; height:16px; color:var(--orange-500);}

.phone-chip{
  position:absolute; padding:10px 15px; border-radius:15px; z-index:3;
  background:rgba(9,55,60,.72); border:1px solid var(--white-18); backdrop-filter:blur(14px);
  font-size:12px; font-weight:700; color:var(--cream); box-shadow:var(--shadow-chip);
  display:flex; align-items:center; gap:9px; animation:chip-float 7s ease-in-out infinite;
}
.phone-chip .ico-badge{width:26px; height:26px; border-radius:8px;}
.phone-chip .ico-badge svg{width:13px; height:13px;}
.pc-top{top:6%; left:2%; animation-delay:.2s;}
.pc-bottom{bottom:4%; right:0; animation-delay:1.4s;}

.tutor-copy .section-head{margin-bottom:34px;}
.tutor-points{display:flex; flex-direction:column; gap:22px;}
.tutor-points li{display:flex; gap:16px; align-items:flex-start;}
.tutor-points .ico-badge{width:38px; height:38px; border-radius:11px;}
.tutor-points .ico-badge svg{width:18px; height:18px;}
.tutor-points h4{font-size:16.5px; color:var(--cream); margin-bottom:4px;}
.tutor-points p{font-size:14px; color:var(--white-60); line-height:1.5;}

@media(max-width:980px){.tutor-grid{grid-template-columns:1fr;} .phone-stage{height:540px;} .phone{width:250px; height:508px;}}
@media(max-width:640px){.phone-stage{height:500px;} .pc-top{left:-4%;} .pc-bottom{right:-4%;}}

/* ---------- DEPOIMENTOS ---------- */
.testi{padding:120px 0; background:var(--petrol-850);}
.testi-track{display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x proximity; padding-bottom:8px; scrollbar-width:none; cursor:grab;}
.testi-track:active{cursor:grabbing;}
.testi-track::-webkit-scrollbar{display:none;}
.t-card{
  scroll-snap-align:start; flex:0 0 auto; width:min(82vw,370px); padding:30px 28px; border-radius:var(--radius-lg);
  background:var(--white-06); border:1px solid var(--white-08);
}
.t-stars{display:flex; gap:3px; color:var(--orange-500); margin-bottom:16px;}
.t-stars svg{width:15px; height:15px; fill:var(--orange-500); stroke:none;}
.t-quote{font-size:15px; line-height:1.65; color:var(--white-80); margin-bottom:24px; min-height:110px;}
.t-person{display:flex; align-items:center; gap:12px;}
.t-avatar{width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; color:#241000; flex-shrink:0;}
.t-name{font-weight:700; font-size:14px; color:var(--cream);}
.t-role{font-size:12.5px; color:var(--white-60);}
.testi-note{margin-top:22px; font-size:12.5px; color:var(--white-60); text-align:center;}

/* ---------- CTA FINAL ---------- */
.cta-final{
  padding:150px 0; text-align:center; position:relative; overflow:hidden;
  background:
    radial-gradient(900px 500px at 20% 0%, rgba(255,178,28,.2), transparent 60%),
    radial-gradient(900px 600px at 85% 100%, rgba(201,90,120,.22), transparent 60%),
    linear-gradient(180deg, var(--petrol-950), var(--petrol-900) 60%, var(--petrol-950));
}
.cta-final h2{font-size:clamp(32px,5vw,54px); line-height:1.12; color:var(--cream); max-width:820px; margin:20px auto 0;}
.cta-final p.lead{max-width:520px; margin:22px auto 0; font-size:17px; color:var(--white-60); line-height:1.6;}
.cta-final .hero-actions{justify-content:center; margin-top:42px;}
.cta-final .btn{font-size:17px; padding:19px 36px;}

/* ---------- FOOTER ---------- */
footer{background:var(--petrol-950); padding:80px 0 32px; border-top:1px solid var(--white-08);}
.foot-grid{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; padding-bottom:56px; border-bottom:1px solid var(--white-08);}
.foot-brand p{margin-top:16px; font-size:14px; color:var(--white-60); line-height:1.6; max-width:280px;}
.foot-col h5{font-size:12.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--white-60); margin-bottom:18px; font-weight:800;}
.foot-col ul{display:flex; flex-direction:column; gap:12px;}
.foot-col a{font-size:14.5px; color:var(--white-80); transition:color .3s;}
.foot-col a:hover{color:var(--orange-500);}
.foot-social{display:flex; gap:10px; margin-top:18px;}
.foot-social a{width:38px; height:38px; border-radius:50%; background:var(--white-08); border:1px solid var(--white-18); display:flex; align-items:center; justify-content:center; transition:background .3s, border-color .3s;}
.foot-social a:hover{background:var(--white-12); border-color:var(--orange-500);}
.foot-social svg{width:16px; height:16px; color:var(--cream);}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:28px; font-size:13px; color:var(--white-60); flex-wrap:wrap; gap:12px;}

@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr; gap:36px 24px;}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr;}}

a:focus-visible, button:focus-visible{outline:2px solid var(--orange-500); outline-offset:3px; border-radius:8px;}

/* =========================================================
   V3 — Refinamentos premium
   ========================================================= */

/* ---------- Grão / textura global ---------- */
body::after{
  content:'';
  position:fixed; inset:0; z-index:998; pointer-events:none;
  opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Hero: revelação de linhas do headline ---------- */
.hero-copy h1 .lw{display:block; overflow:hidden; padding-bottom:.06em;}
.hero-copy h1 .lw > span{display:block; transform:translateY(112%); transition:transform 1.05s var(--ease);}
.hero-copy.reveal.in h1 .lw:nth-child(1) > span{transition-delay:.1s; transform:translateY(0);}
.hero-copy.reveal.in h1 .lw:nth-child(2) > span{transition-delay:.19s; transform:translateY(0);}
.hero-copy.reveal.in h1 .lw:nth-child(3) > span{transition-delay:.28s; transform:translateY(0);}

/* Camadas de profundidade da composição hero, ajustadas via parallax por JS */
.hv-accent, .hv-photo{ will-change:transform; }

/* ---------- Faixa de estatísticas ---------- */
.stats{ padding:64px 0 0; background:var(--petrol-900); position:relative; z-index:2;}
.stats-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--white-08); border:1px solid var(--white-08); border-radius:var(--radius-lg);
  overflow:hidden; box-shadow:var(--shadow-deep);
  backdrop-filter:blur(20px) saturate(140%); -webkit-backdrop-filter:blur(20px) saturate(140%);
}
.stat-item{
  background:rgba(9,55,60,.66); padding:32px 26px; display:flex; flex-direction:column; gap:10px;
}
.stat-num{
  font-family:var(--font-display); font-size:clamp(28px,3.4vw,40px); font-weight:600;
  background:linear-gradient(120deg,var(--orange-500),var(--orange-glow));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  line-height:1;
}
.stat-label{font-size:13px; color:var(--white-60); line-height:1.45; max-width:220px;}
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr);} .stats{padding-top:48px;}}
@media(max-width:560px){.stats-grid{grid-template-columns:1fr;}}

/* ---------- Marcador de patinha na timeline ---------- */
.flow-marker{
  position:absolute; left:50%; top:0; width:26px; height:26px; transform:translate(-50%,-50%) rotate(-18deg);
  color:var(--orange-500); filter:drop-shadow(0 0 10px rgba(255,178,28,.7));
  transition:top .1s linear; z-index:3;
}
.flow-marker svg{width:100%; height:100%;}
@media(max-width:760px){.flow-marker{left:26px;}}

/* ---------- Tilt + spotlight nos cards (JS liga --mx/--my/--rx/--ry) ---------- */
.slide, .b-card, .t-card{
  position:relative; transform-style:preserve-3d;
  transform:perspective(900px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg)) translateZ(0);
}
.slide::before, .b-card::before, .t-card::before{
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:1;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.12), transparent 62%);
  opacity:0; transition:opacity .5s var(--ease);
}
.slide:hover::before, .b-card:hover::before, .t-card:hover::before{opacity:1;}
.slide:hover, .b-card:hover, .t-card:hover{ box-shadow:var(--shadow-deep); }
.slide .slide-media, .slide .slide-body{position:relative; z-index:0;}
.b-card > *, .t-card > *{position:relative; z-index:0;}

/* ---------- Borda com brilho sutil (glass edge) ---------- */
.b-card, .t-card, .stat-item{position:relative;}
.b-card::after, .t-card::after{
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1px; pointer-events:none;
  background:linear-gradient(160deg, rgba(255,255,255,.16), rgba(255,255,255,0) 40%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
}

/* ---------- Ajuste fino dos chips no mobile (evitar overflow) ---------- */
@media(max-width:640px){
  .chip-checkin{left:-2%; top:4%;}
  .chip-count{left:-3%; bottom:14%;}
  .chip-rating{right:0%; bottom:3%;}
}

@media (prefers-reduced-motion: reduce){
  .hero-copy h1 .lw > span{transform:translateY(0) !important; transition:none !important;}
  .slide, .b-card, .t-card{transform:none !important;}
}

/* =========================================================
   V4 — Quebra de padrão / originalidade
   ========================================================= */

/* ---------- Divisores orgânicos entre seções ---------- */
.wave-divider{position:absolute; left:0; right:0; bottom:-1px; width:100%; height:84px; line-height:0; z-index:3; pointer-events:none; overflow:hidden;}
.wave-divider svg{width:100%; height:100%; display:block;}
@media(max-width:640px){.wave-divider{height:52px;}}

/* ---------- Glow seguindo o cursor (desktop) ---------- */
.cursor-glow{
  position:fixed; top:0; left:0; width:460px; height:460px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,178,28,.09), rgba(201,90,120,.05) 45%, transparent 72%);
  pointer-events:none; z-index:6; transform:translate(-50%,-50%); mix-blend-mode:screen;
  opacity:0; transition:opacity .5s var(--ease); will-change:transform;
}
.cursor-glow.on{opacity:1;}
@media(max-width:980px), (pointer:coarse){.cursor-glow{display:none;}}
