@font-face{font-family:"Adventure Island";src:url("assets/fonts/AdventureIsland-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Almarose";src:url("assets/fonts/Almarose-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Almarose";src:url("assets/fonts/Almarose-Semibold.otf") format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Almarose";src:url("assets/fonts/Almarose-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Almarose";src:url("assets/fonts/Almarose-Black.otf") format("opentype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:"Almarose";src:url("assets/fonts/Almarose-Black.otf") format("opentype");font-weight:900;font-style:normal;font-display:swap}:root{--font-title:"Adventure Island",sans-serif;--font-body:"Almarose",sans-serif;--berry:#AF3B52;--mustard:#D3A746;--brown:#322B21;--terracotta:#A34B3F;--green:#00532F;--green-2:#003D24;--lime:#D3A746;--gold:#D3A746;--cream:#F6EEDD;--ink:#322B21;--muted:#6B5E52;--white:#fff;--surface:#FBF6EC;--surface-2:#F1E6D2;--shadow:0 24px 60px rgba(50,43,33,.16);--radius:28px}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:fixed;top:0;left:0;right:0;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;z-index:30;background:rgba(0,61,36,.78);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.12)}.brand img{width:145px;display:block}.main-nav{display:flex;align-items:center;gap:16px}.main-nav a{color:#fff;text-decoration:none;font-weight:800;font-size:.82rem;white-space:nowrap}.menu-toggle{display:none;background:none;border:0;color:white;font-size:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;background:linear-gradient(135deg,var(--mustard),#B8922F);color:var(--brown);border:0;text-decoration:none;font-weight:900;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;box-shadow:0 12px 25px rgba(211,167,70,.25);transition:.25s transform,.25s box-shadow}.button:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(211,167,70,.32)}.button-sm{min-height:42px;padding:0 20px}.button-outline{background:rgba(255,255,255,.08);color:white;border:1px solid rgba(255,255,255,.5);box-shadow:none}.button-outline-dark{background:transparent;color:var(--green);border:1px solid rgba(11,90,53,.3);box-shadow:none}.button-outline-light{background:transparent;color:white;border:1px solid rgba(255,255,255,.35);box-shadow:none}.button-light{background:white;color:var(--green)}.button-gold{background:linear-gradient(135deg,var(--mustard),#B8922F);color:var(--brown)}.button-block{width:100%}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--surface);overflow-x:hidden}h1,h2,h3{font-family:var(--font-title);font-weight:700;line-height:1.03;margin:0}h2{font-size:clamp(2.25rem,5vw,4.4rem)}p{line-height:1.7}.section{padding:110px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:75px}.align-center{align-items:center}.video-card{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);cursor:pointer}.video-card img{width:100%;height:520px;object-fit:cover;display:block}.video-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.6))}.play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:white;color:var(--green);font-size:1.7rem;box-shadow:0 20px 40px rgba(0,0,0,.25)}.video-caption{position:absolute;z-index:2;left:28px;bottom:24px;color:white;font-weight:900;font-size:1.2rem}.kicker{text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--terracotta);font-size:.78rem;margin:0 0 18px}.section-copy p{color:var(--muted);font-size:1.05rem}.section-heading{max-width:780px;margin:0 auto 55px;text-align:center}.section-heading p{color:var(--muted)}.schedule-table{margin-bottom:36px;overflow-x:auto;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.schedule-table table{width:100%;border-collapse:collapse;min-width:720px}.schedule-table th,.schedule-table td{padding:18px 20px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.1)}.schedule-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mustard)}.schedule-table td{color:rgba(255,255,255,.88);font-size:.95rem}.schedule-table td small{display:block;margin-top:6px;color:rgba(255,255,255,.62)}.schedule-table tbody tr:last-child td{border-bottom:0}.story-art img{width:100%;height:620px;object-fit:cover;border-radius:36px;box-shadow:var(--shadow)}.agenda-section{background:var(--green);color:white}.agenda-section .section-heading p{color:rgba(255,255,255,.72)}.agenda-section .kicker{color:var(--mustard)}.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.filters select{width:100%;height:52px;border-radius:14px;border:1px solid #D9CBB4;padding:0 16px;font:inherit;background:white}.sessions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.session-card{display:grid;grid-template-columns:92px 1fr;background:white;color:var(--ink);border-radius:24px;overflow:hidden;min-height:380px}.session-date{background:rgba(211,167,70,.28);padding:24px 14px;text-align:center}.session-date strong{display:block;font-family:var(--font-title);font-size:3rem;line-height:1}.session-date span{font-size:.8rem;font-weight:900}.session-content{padding:27px}.status{display:inline-block;padding:8px 11px;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase}.status-open{background:rgba(0,83,47,.12);color:var(--green)}.status-soon{background:rgba(0,83,47,.1);color:var(--green)}.session-content h3{font-size:1.6rem;margin:17px 0 8px}.session-content p,.session-content li{color:var(--muted)}.session-content ul{padding-left:18px}.cast-section{overflow:hidden}.cast-feature{position:relative;background:linear-gradient(130deg,var(--green),var(--green-2));min-height:610px;border-radius:36px;overflow:hidden}.cast-feature>img{position:absolute;width:70%;left:-1%;bottom:-5%}.cast-panel{margin-left:auto;width:39%;height:100%;min-height:610px;background:rgba(255,255,255,.95);padding:55px 38px;display:flex;flex-direction:column;justify-content:center;gap:35px}.cast-panel h3{font-size:2rem}.cast-panel p{color:var(--muted)}.cast-panel small{font-weight:800;color:var(--terracotta)}.light{color:white}.hire-section{background:#fff}.tag-list{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}.tag-list span{padding:10px 13px;border-radius:999px;background:rgba(211,167,70,.18);color:var(--green);font-weight:800;font-size:.84rem}.technical-card{background:var(--surface-2);padding:38px;border-radius:28px}.technical-card h3{font-size:2rem}.technical-card dl div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #D6C7AF}.technical-card dt{font-weight:800}.technical-card dd{margin:0;color:var(--muted)}.sponsor-section{background:var(--brown);color:white}.sponsor-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:55px}.sponsor-section .section-copy p{color:rgba(255,255,255,.72)}.tag-list.gold span{background:rgba(244,188,65,.15);color:var(--mustard);border:1px solid rgba(244,188,65,.22)}.sponsor-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:28px;padding:38px}.sponsor-card h3{font-size:2rem}.sponsor-card li{padding:9px 0;color:rgba(255,255,255,.8)}.faq-list{max-width:880px;margin:auto}.faq-list details{background:white;border:1px solid #E5D9C4;border-radius:16px;padding:0 20px;margin-bottom:10px}.faq-list summary{padding:20px 0;font-weight:900;cursor:pointer}.faq-list p{color:var(--muted);padding-bottom:16px}.footer{background:var(--brown);color:white;padding:60px 0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:35px}.footer img{width:180px}.footer p,.footer a{color:rgba(255,255,255,.67);text-decoration:none}.mobile-cta{display:none}.modal{border:0;border-radius:24px;padding:0;max-width:760px;width:calc(100% - 30px);box-shadow:0 30px 90px rgba(0,0,0,.45)}.modal::backdrop{background:rgba(50,43,33,.8);backdrop-filter:blur(8px)}.modal-close{position:absolute;right:14px;top:10px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;font-size:1.5rem;background:white;cursor:pointer}.video-placeholder{min-height:430px;background:var(--brown);color:white;display:grid;place-items:center;text-align:center;padding:50px}.video-placeholder span{font-size:4rem}.form-shell{padding:42px}.form-shell h2{font-size:2.4rem}.form-shell form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-shell input,.form-shell select,.form-shell textarea{width:100%;border:1px solid #D9CBB4;border-radius:12px;padding:14px;font:inherit}.form-shell textarea,.form-shell .full,.form-shell button{grid-column:span 2}.reveal{opacity:0;transform:translateY(24px);transition:.75s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}@media(max-width:980px){.site-header{padding:0 20px}.menu-toggle{display:block}.main-nav{position:absolute;top:78px;left:16px;right:16px;display:none;flex-direction:column;align-items:stretch;background:var(--green-2);border-radius:18px;padding:20px}.main-nav.open{display:flex}.two-col,.sponsor-grid{grid-template-columns:1fr}.sessions-grid{grid-template-columns:1fr}.cast-feature>img{width:80%;left:-10%}.cast-panel{width:48%}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.shell{width:min(100% - 24px,1180px)}.site-header{height:68px}.brand img{width:125px}.main-nav{top:68px}.section{padding:75px 0}.two-col{gap:35px}.video-card img{height:330px}.story-art img{height:420px}.filters{grid-template-columns:1fr}.session-card{grid-template-columns:75px 1fr}.cast-feature{min-height:800px}.cast-feature>img{width:135%;left:-25%;top:-2%;bottom:auto}.cast-panel{position:absolute;left:12px;right:12px;bottom:12px;width:auto;min-height:0;padding:26px}.cast-panel article:nth-child(2){display:none}.form-shell form{grid-template-columns:1fr}.form-shell textarea,.form-shell .full,.form-shell button{grid-column:span 1}.footer-grid{grid-template-columns:1fr}.mobile-cta{display:block;position:fixed;z-index:40;left:12px;right:12px;bottom:10px;background:linear-gradient(135deg,var(--mustard),#B8922F);color:var(--brown);text-align:center;text-decoration:none;font-weight:900;text-transform:uppercase;padding:15px;border-radius:999px;box-shadow:0 14px 35px rgba(0,0,0,.25)}body{padding-bottom:74px}}


/* =========================================================
   HERO — bloco único. Não criar overrides fora daqui.
   ========================================================= */
.skip-link{
  position:absolute;left:16px;top:12px;z-index:100;
  transform:translateY(-160%);
  background:var(--mustard);color:var(--brown);
  padding:12px 18px;border-radius:999px;font-weight:900;text-decoration:none;
}

/* Escala mais compacta para os títulos principais das seções. */
main > section:not(.hero) h2{
  font-size:clamp(1.55rem,2.8vw,2.5rem);
}
.skip-link:focus{transform:translateY(0)}
:where(a,button,[tabindex]):focus-visible{
  outline:3px solid var(--mustard);
  outline-offset:3px;
  border-radius:6px;
}

.hero{
  --hero-h:100svh;
  --hero-top:78px;
  --hero-veil-1:rgba(0,61,36,.94);
  --hero-veil-2:rgba(0,61,36,.62);
  --hero-veil-3:rgba(0,61,36,.10);
  --hero-ink:#FBF6EC;
  --hero-ink-soft:rgba(251,246,236,.82);
  --hero-accent:var(--mustard);
  --hero-gap:clamp(16px,2.2vw,28px);
  position:relative;
  isolation:isolate;
  min-height:var(--hero-h);
  padding-top:var(--hero-top);
  display:grid;
  align-items:center;
  background:var(--green-2);
  overflow:clip;
  color:var(--hero-ink);
}
.hero:after{content:none;display:none}

.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--green-2);will-change:transform}
.hero-media picture{position:absolute;inset:0;display:block}
.hero-poster,
.hero-video{
  position:absolute;inset:0;width:100%;height:100%;
  display:block;object-fit:cover;object-position:60% center;
}
.hero-poster{z-index:0;transition:opacity .55s ease}
.hero-video{z-index:1;opacity:0;transition:opacity .55s ease;pointer-events:none}
.hero.is-video-ready .hero-video{opacity:1}
.hero.is-video-ready .hero-poster,
.hero-poster.is-hidden{opacity:0;pointer-events:none}
.hero.is-static .hero-video{opacity:0;visibility:hidden}
.hero.is-static .hero-poster{opacity:1;pointer-events:none}

.hero-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(100deg,var(--hero-veil-1) 0%,var(--hero-veil-1) 22%,var(--hero-veil-2) 44%,var(--hero-veil-3) 68%,rgba(0,61,36,.22) 100%),
    linear-gradient(180deg,rgba(50,43,33,.42) 0%,transparent 22%,transparent 72%,rgba(0,61,36,.55) 100%);
}

.hero-fireflies{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;opacity:0;transition:opacity 1s ease .5s}
.hero.is-video-ready .hero-fireflies,
.hero.is-ready .hero-fireflies{opacity:1}

.hero-inner{
  position:relative;z-index:4;
  width:min(1180px,calc(100% - 40px));
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  align-items:end;
  gap:var(--hero-gap);
  padding-block:clamp(28px,5vh,56px) clamp(52px,8vh,96px);
}
.hero-content{position:relative;z-index:4;max-width:560px;padding-bottom:24px}
.hero-eyebrow{
  margin:0 0 10px;
  font-size:.72rem;font-weight:900;letter-spacing:.04em;line-height:1.4;
  color:var(--hero-ink-soft);text-transform:none;
}
.hero-title{margin:0}
.hero-logo{
  width:min(400px,100%);height:auto;display:block;margin:4px 0 12px;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.28));
}
.hero-lead{
  margin:0;
  font-family:var(--font-body);
  font-size:clamp(1.15rem,2vw,1.55rem);
  font-weight:400;line-height:1.32;
  max-width:34ch;
  color:var(--hero-ink);
  text-shadow:0 2px 18px rgba(0,40,22,.55);
}
.hero-next{
  margin:clamp(16px,3vh,24px) 0 0;
  padding-left:16px;
  border-left:3px solid var(--hero-accent);
  font-size:clamp(.95rem,1.15vw,1.05rem);
  font-weight:600;line-height:1.45;
  color:var(--hero-ink);
  text-shadow:0 2px 14px rgba(0,40,22,.5);
}
.hero-next__label{
  display:block;
  font-family:var(--font-title);
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--hero-accent);margin-bottom:4px;
}
.hero-next time{font-weight:800}
.hero-next__sep{opacity:.45;margin-inline:8px}
.hero-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;
  margin-top:clamp(18px,3vh,26px);
}
.button-lg{min-height:56px;padding-inline:30px;font-size:.92rem}
.hero .button-ghost,
button.button-ghost{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:0 26px;
  margin:0;
  border-radius:999px;
  border:1px solid rgba(251,246,236,.55);
  background:transparent;
  background-color:transparent;
  box-shadow:none;
  color:var(--hero-ink);
  font:inherit;
  font-size:.92rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.hero .button-ghost:hover,
button.button-ghost:hover{
  background:rgba(251,246,236,.12);
  border-color:var(--mustard);
  border-bottom-color:var(--mustard);
  transform:translateY(-1px);
}
.hero .button-ghost:focus-visible,
button.button-ghost:focus-visible{
  outline:3px solid var(--mustard);
  outline-offset:3px;
}
.form-consent,
.form-consent-check{
  grid-column:span 2;
  margin:4px 0 0;
  font-size:.82rem;
  line-height:1.45;
  color:var(--muted);
}
.form-consent-check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--ink);
  font-weight:600;
}
.form-consent-check input{margin-top:3px;flex:0 0 auto}
.section-heading p + p{margin-top:12px}
.hero-hire{
  display:inline-block;margin-top:18px;
  color:var(--hero-ink);font-weight:800;
  text-decoration:underline;text-underline-offset:5px;
  text-decoration-color:rgba(251,246,236,.45);
}
.hero-hire:hover{text-decoration-color:var(--mustard)}
.hero :where(a,button):focus-visible{
  outline-color:var(--cream);
  box-shadow:0 0 0 6px rgba(211,167,70,.35);
}

.hero-art{
  position:relative;z-index:3;
  align-self:end;justify-self:end;
  width:min(100%,680px);
  margin:0 0 -8px;
  pointer-events:none;
}
.hero-art picture,
.hero-art img{
  display:block;width:100%;height:auto;
  max-height:min(78vh,720px);object-fit:contain;object-position:bottom right;
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.4));
}
.hero-bottom{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:-1px;
  height:clamp(72px, 9vw, 110px);
  pointer-events:none;
  color:var(--surface-2);
  background:transparent;
  clip-path:none;
  line-height:0;
  overflow:visible;
}
.hero-bottom__scene,
.hero-bottom__leaves{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
}
.hero-bottom__scene{filter:drop-shadow(0 -6px 14px rgba(50,43,33,.1))}
.hero-bottom__fill{fill:currentColor}
.hero-bottom__leaves{pointer-events:none}
.hero-content,
.hero-art{z-index:4}
@media (max-width:640px){
  .hero-bottom{height:clamp(56px, 16vw, 84px)}
}

/* FOUC-safe: só esconde quando JS confirmou animação */
.hero-anim .hero [data-hero-el]{opacity:0}
.hero-anim .hero.is-ready [data-hero-el],
.hero.is-static [data-hero-el]{opacity:1}

/* Vaga-lumes (10) */
.firefly{
  --x:0px;--y:0px;--size:5px;--dur:7s;--delay:0s;--glow:10px;
  position:absolute;left:var(--left,50%);top:var(--top,40%);
  width:var(--size);height:var(--size);border-radius:50%;
  background:radial-gradient(circle,#FFF4C8 0%,var(--mustard) 42%,rgba(211,167,70,0) 72%);
  box-shadow:0 0 calc(var(--glow)*.55) 1px rgba(255,236,140,.9),0 0 var(--glow) 4px rgba(211,167,70,.45);
  opacity:0;will-change:transform,opacity;
  animation:fireflyFly var(--dur) ease-in-out var(--delay) infinite,
            fireflyBlink calc(var(--dur)*.55) ease-in-out var(--delay) infinite;
}
.firefly:nth-child(1){--left:58%;--top:22%;--x:24px;--y:-32px;--size:4px;--dur:6.2s;--delay:.2s}
.firefly:nth-child(2){--left:72%;--top:18%;--x:-28px;--y:36px;--size:6px;--dur:7.4s;--delay:1.1s;--glow:12px}
.firefly:nth-child(3){--left:84%;--top:28%;--x:18px;--y:-40px;--size:5px;--dur:8.1s;--delay:.6s}
.firefly:nth-child(4){--left:66%;--top:38%;--x:-34px;--y:-18px;--size:7px;--dur:6.8s;--delay:2s;--glow:13px}
.firefly:nth-child(5){--left:78%;--top:48%;--x:30px;--y:24px;--size:4px;--dur:7.9s;--delay:.9s}
.firefly:nth-child(6){--left:90%;--top:42%;--x:-22px;--y:-34px;--size:5px;--dur:8.6s;--delay:1.7s}
.firefly:nth-child(7){--left:54%;--top:52%;--x:36px;--y:-22px;--size:3px;--dur:5.8s;--delay:2.4s;--glow:8px}
.firefly:nth-child(8){--left:70%;--top:62%;--x:-26px;--y:20px;--size:6px;--dur:9s;--delay:.4s;--glow:12px}
.firefly:nth-child(9){--left:82%;--top:58%;--x:16px;--y:-36px;--size:4px;--dur:6.5s;--delay:3.1s}
.firefly:nth-child(10){--left:62%;--top:14%;--x:22px;--y:18px;--size:5px;--dur:8.3s;--delay:2.8s}
@keyframes fireflyFly{
  0%{transform:translate3d(0,0,0) scale(.75)}
  25%{transform:translate3d(calc(var(--x)*.55),calc(var(--y)*.7),0) scale(1.05)}
  50%{transform:translate3d(var(--x),var(--y),0) scale(1.12)}
  75%{transform:translate3d(calc(var(--x)*-.25),calc(var(--y)*.35),0) scale(.95)}
  100%{transform:translate3d(0,0,0) scale(.75)}
}
@keyframes fireflyBlink{
  0%,100%{opacity:0}
  12%{opacity:.3}
  28%{opacity:.9}
  46%{opacity:.4}
  62%{opacity:1}
  80%{opacity:.22}
}

@media (max-width:980px){
  .hero{--hero-h:auto;--hero-top:78px;min-height:0;padding:calc(var(--hero-top) + 20px) 0 0}
  .hero-inner{grid-template-columns:1fr;align-items:center;gap:12px;padding-bottom:0;width:min(1180px,calc(100% - 32px))}
  .hero-content{max-width:100%;padding-bottom:8px;text-align:left}
  .hero-art{position:relative;right:auto;bottom:auto;justify-self:center;width:min(100%,480px);margin:0 auto -28px}
  .hero-art img{max-width:100%;width:100%;max-height:min(52vh,480px);object-position:center bottom;margin:0 auto}
  .hero-overlay{background:linear-gradient(180deg,rgba(0,61,36,.9) 0%,rgba(0,61,36,.72) 38%,rgba(0,61,36,.42) 68%,rgba(0,61,36,.78) 100%)}
  .firefly:nth-child(n+8){display:none}
}
@media (max-width:640px){
  .hero{--hero-top:68px;padding-top:calc(var(--hero-top) + 12px)}
  .hero-logo{width:min(320px,92%);margin-left:0;margin-right:0}
  .hero-lead{font-size:1.15rem;max-width:none}
  .hero-actions{flex-direction:column;align-items:stretch;justify-content:flex-start}
  .hero-actions .button,
  .hero-actions .button-ghost{width:100%}
  .hero-art{width:min(100%,380px);margin:0 auto -20px}
  .hero-art img{max-width:100%;width:100%;max-height:42vh}
  .hero-fireflies{display:none}
  .hero-video{display:none!important}
  .hero-poster{object-position:62% center;opacity:1!important}
}
@media (prefers-reduced-motion:reduce){
  .hero-fireflies{display:none!important}
  .hero-video{display:none!important}
  .hero-poster{opacity:1!important}
  .hero [data-hero-el]{opacity:1!important}
}

/* Movimento reduzido — site inteiro */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  .reveal{
    opacity:1;
    transform:none;
  }
  .journey-step--encontro:hover .journey-step__visual img,
  .button:hover{
    transform:none;
  }
}

/* =========================================================
   PROJECT INTRO — manifesto de abertura (abaixo da hero)
   ========================================================= */
.project-intro{
  position:relative;
  padding:clamp(52px,7vw,88px) 0 clamp(48px,6vw,72px);
  background:
    radial-gradient(ellipse 70% 80% at 92% 18%, rgba(211,167,70,.1), transparent 55%),
    linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);
  overflow:hidden;
  color:var(--brown);
}
.project-intro__layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(480px,1.05fr);
  gap:clamp(36px,5vw,64px);
  align-items:center;
}
.project-intro__kicker{
  margin:0 0 14px;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--terracotta);
}
.project-intro__copy h2{
  margin:0;
  max-width:16ch;
  font-size:clamp(1.85rem,3.4vw,2.85rem);
  line-height:1.12;
  color:var(--green-2);
  text-wrap:balance;
}
.project-intro__lead{
  margin:18px 0 0;
  max-width:38ch;
  font-size:1.05rem;
  line-height:1.7;
  color:var(--muted);
}
.project-intro__facts{
  margin:0;
  padding:4px 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid rgba(50,43,33,.12);
  border-bottom:1px solid rgba(50,43,33,.12);
}
.project-intro__fact{
  position:relative;
  margin:0;
  padding:28px 22px 28px;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.project-intro__fact + .project-intro__fact::before{
  content:"";
  position:absolute;
  left:0;
  top:22%;
  bottom:22%;
  width:1px;
  background:rgba(50,43,33,.1);
}
.project-intro__fact dt{
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  min-height:4.6rem;
}
.project-intro__num{
  display:block;
  font-family:var(--font-title);
  font-size:clamp(2rem,2.8vw,2.45rem);
  line-height:1;
  color:var(--mustard);
  font-weight:700;
}
.project-intro__label{
  display:block;
  font-family:var(--font-body);
  font-size:.9rem;
  font-weight:800;
  letter-spacing:.03em;
  line-height:1.2;
  color:var(--brown);
  text-transform:lowercase;
}
.project-intro__fact dd{
  margin:0;
  font-size:.92rem;
  line-height:1.55;
  color:var(--muted);
  max-width:none;
  text-wrap:pretty;
}
.project-intro__decoration{
  position:absolute;
  right:clamp(8px,3vw,40px);
  bottom:clamp(8px,2vw,28px);
  width:min(280px,34vw);
  color:var(--green);
  pointer-events:none;
  opacity:.85;
  z-index:0;
}
.project-intro__decoration svg{
  display:block;
  width:100%;
  height:auto;
}

@media (max-width:980px){
  .project-intro{
    padding:48px 0 44px;
  }
  .project-intro__layout{
    grid-template-columns:1fr;
    gap:36px;
  }
  .project-intro__copy h2{
    max-width:22ch;
  }
  .project-intro__lead{
    max-width:48ch;
  }
  .project-intro__facts{
    grid-template-columns:1fr;
    border-top:0;
    border-bottom:0;
    padding:0;
  }
  .project-intro__fact{
    padding:20px 0;
    border-top:1px solid rgba(50,43,33,.12);
  }
  .project-intro__fact + .project-intro__fact::before{
    content:none;
  }
  .project-intro__fact:last-child{
    border-bottom:1px solid rgba(50,43,33,.12);
  }
  .project-intro__fact dt{
    min-height:0;
    flex-direction:row;
    align-items:baseline;
    gap:10px;
  }
  .project-intro__decoration{
    width:min(200px,42vw);
    opacity:.55;
  }
}

@media (max-width:640px){
  .project-intro{
    padding:40px 0 36px;
  }
  .project-intro__copy h2{
    font-size:clamp(1.7rem,7.2vw,2.15rem);
    max-width:none;
  }
  .project-intro__lead{
    font-size:1rem;
  }
  .project-intro__fact{
    padding:16px 0;
  }
  .project-intro__decoration{
    width:150px;
    right:4px;
    bottom:4px;
    opacity:.4;
  }
}

@media (prefers-reduced-motion:reduce){
  .project-intro .reveal{
    opacity:1;
    transform:none;
  }
}

/* Brand extras (seções abaixo) */
.experience-section{background:linear-gradient(180deg,var(--surface-2),var(--cream))}
.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* ===== Trailer — momento audiovisual ===== */
.trailer-section{
  position:relative;
  padding-top:clamp(96px,12vw,140px);
  padding-bottom:clamp(96px,11vw,130px);
  background:
    radial-gradient(ellipse 80% 55% at 12% 18%, rgba(0,83,47,.07), transparent 58%),
    radial-gradient(ellipse 70% 50% at 92% 78%, rgba(211,167,70,.12), transparent 55%),
    linear-gradient(180deg, var(--cream) 0%, var(--surface) 42%, var(--surface-2) 100%);
  overflow:visible;
}
.trailer-section::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(0,83,47,.18), rgba(211,167,70,.28), rgba(0,83,47,.12), transparent);
  pointer-events:none;
}
.trailer-layout{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
  gap:clamp(36px,5vw,64px);
  align-items:center;
}
.trailer-stage{min-width:0}
.trailer-frame{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  display:block;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:18px;
  overflow:hidden;
  background:var(--green-2);
  cursor:pointer;
  text-align:left;
  font:inherit;
  color:inherit;
  aspect-ratio:16 / 9;
  box-shadow:
    0 0 0 1px rgba(0,61,36,.12),
    0 28px 56px rgba(50,43,33,.18);
  transition:transform .35s ease, box-shadow .35s ease;
}
.trailer-frame:hover,
.trailer-frame:focus-visible{
  transform:translateY(-3px);
  box-shadow:
    0 0 0 1px rgba(211,167,70,.35),
    0 32px 64px rgba(50,43,33,.22);
}
.trailer-frame:disabled,
.trailer-frame[aria-disabled="true"]{
  cursor:default;
  transform:none;
}
.trailer-frame:disabled .trailer-play__core,
.trailer-frame[aria-disabled="true"] .trailer-play__core{
  opacity:.9;
}
.trailer-frame:disabled:hover,
.trailer-frame[aria-disabled="true"]:hover{
  transform:none;
  box-shadow:
    0 0 0 1px rgba(0,61,36,.12),
    0 28px 56px rgba(50,43,33,.18);
}
.trailer-frame__media{
  position:absolute;
  inset:0;
  display:block;
}
.trailer-frame__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
  display:block;
  transform:scale(1.02);
  transition:transform .7s ease;
}
.trailer-frame:hover .trailer-frame__media img,
.trailer-frame:focus-visible .trailer-frame__media img{
  transform:scale(1.06);
}
.trailer-frame:disabled:hover .trailer-frame__media img,
.trailer-frame[aria-disabled="true"]:hover .trailer-frame__media img{
  transform:scale(1.02);
}
.trailer-frame__veil{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(0,61,36,.28) 0%, transparent 38%, transparent 52%, rgba(50,43,33,.72) 100%),
    linear-gradient(90deg, rgba(0,61,36,.18) 0%, transparent 40%);
  pointer-events:none;
}
.trailer-frame__badge{
  position:absolute;
  z-index:3;
  top:18px;
  left:18px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(50,43,33,.55);
  border:1px solid rgba(251,246,236,.22);
  color:var(--cream);
  font-family:var(--font-body);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.trailer-play{
  position:absolute;
  z-index:3;
  left:50%;
  top:48%;
  transform:translate(-50%,-50%);
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  pointer-events:none;
}
.trailer-play__ring{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1.5px solid rgba(251,246,236,.45);
  opacity:.9;
  transition:transform .35s ease, opacity .35s ease;
}
.trailer-frame:hover .trailer-play__ring,
.trailer-frame:focus-visible .trailer-play__ring{
  transform:scale(1.12);
  opacity:1;
}
.trailer-play__core{
  position:relative;
  z-index:1;
  width:72px;
  height:72px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(251,246,236,.96);
  color:var(--green-2);
  box-shadow:0 14px 32px rgba(0,0,0,.28);
  transition:transform .3s ease, background .3s ease;
}
.trailer-frame:hover .trailer-play__core,
.trailer-frame:focus-visible .trailer-play__core{
  transform:scale(1.05);
  background:#fff;
}
.trailer-play__icon{
  display:block;
  font-size:1.35rem;
  line-height:1;
  margin-left:4px;
}
.trailer-play__label{
  position:absolute;
  left:50%;
  bottom:-28px;
  transform:translateX(-50%);
  white-space:nowrap;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(50,43,33,.55);
  border:1px solid rgba(251,246,236,.22);
  color:var(--cream);
  font-family:var(--font-body);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.trailer-frame__caption{
  position:absolute;
  z-index:3;
  left:22px;
  right:22px;
  bottom:18px;
  color:#fff;
  font-family:var(--font-body);
  font-weight:800;
  font-size:clamp(.95rem,1.6vw,1.15rem);
  letter-spacing:.01em;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.trailer-copy{
  min-width:0;
  max-width:32rem;
}
.trailer-copy h2{
  color:var(--green-2);
  font-size:clamp(1.95rem,3.5vw,3.15rem);
  margin:0 0 18px;
  text-wrap:balance;
  overflow:visible;
  line-height:1.08;
}
.trailer-copy > p{
  color:var(--muted);
  font-size:1.05rem;
  margin:0 0 14px;
}
.trailer-copy .kicker{
  color:var(--terracotta);
  margin:0 0 18px;
}
.trailer-meta{
  margin:22px 0 0 !important;
  padding-top:16px;
  border-top:1px solid rgba(50,43,33,.12);
  color:var(--brown) !important;
  font-size:.88rem !important;
  font-weight:700;
  letter-spacing:.02em;
}
.trailer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.trailer-actions .button{
  background:linear-gradient(135deg,var(--mustard),#B8922F);
  color:var(--brown);
}
.trailer-actions .button-outline-dark{
  background:transparent;
  color:var(--green);
  border:1px solid rgba(11,90,53,.3);
  box-shadow:none;
}
.trailer-actions .button:disabled,
.trailer-actions .button[aria-disabled="true"]{
  opacity:.55;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
  background:linear-gradient(135deg,var(--mustard),#B8922F);
  color:var(--brown);
}
.video-placeholder{
  gap:10px;
  align-content:center;
}
.video-placeholder__mark{
  font-size:3.2rem;
  opacity:.85;
}
.video-placeholder p{
  margin:0;
  max-width:28ch;
}
.video-placeholder p + p{
  color:rgba(255,255,255,.72);
  font-weight:500;
  font-size:1rem;
  line-height:1.55;
}

@media (max-width:980px){
  .trailer-layout{
    grid-template-columns:1fr;
    gap:32px;
  }
  .trailer-copy{
    max-width:none;
  }
  .trailer-frame{
    border-radius:16px;
  }
}
@media (max-width:640px){
  .trailer-section{
    padding-top:72px;
    padding-bottom:72px;
  }
  .trailer-play{
    width:76px;
    height:76px;
  }
  .trailer-play__core{
    width:62px;
    height:62px;
  }
  .trailer-play__icon{
    font-size:1.15rem;
  }
  .trailer-play__label{
    bottom:-26px;
    font-size:.58rem;
  }
  .trailer-frame__badge{
    top:14px;
    left:14px;
    padding:7px 10px;
    font-size:.66rem;
  }
  .trailer-frame__caption{
    left:16px;
    right:16px;
    bottom:14px;
  }
  .trailer-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .trailer-actions .button{
    width:100%;
  }
}

.video-card{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  padding:0;
  margin:0;
  font:inherit;
  color:inherit;
  text-align:left;
  width:100%;
  cursor:pointer;
}
.video-card .video-caption{display:block}
body{background:var(--surface);color:var(--ink)}
.site-header{background:rgba(0,61,36,.88);border-bottom-color:rgba(211,167,70,.22)}
.button{background:linear-gradient(135deg,var(--mustard),#B8922F);color:var(--brown);box-shadow:0 12px 25px rgba(211,167,70,.28)}
.button:hover{box-shadow:0 16px 30px rgba(211,167,70,.36)}
.kicker{color:var(--terracotta)}
.agenda-section{background:linear-gradient(160deg,var(--green) 0%,var(--green-2) 100%)}
.agenda-section .kicker{color:var(--mustard)}
.sponsor-section{background:linear-gradient(160deg,var(--brown),#1F1A15)}
.section{padding:64px 0}
@media (max-width:640px){
  .section{padding:48px 0}
}
/* ===== Atividades — jornada em três movimentos ===== */
.experience-section{
  background:
    radial-gradient(ellipse 60% 40% at 8% 12%, rgba(211,167,70,.08), transparent 55%),
    linear-gradient(180deg, var(--surface-2) 0%, var(--cream) 48%, var(--surface) 100%);
  padding-bottom:24px;
}
.experience-heading{
  max-width:720px;
  margin-left:0;
  margin-right:auto;
  text-align:left;
}
.experience-heading h2{
  color:var(--green-2);
}
.experience-heading p{
  color:var(--muted);
  font-size:1.08rem;
}

.journey{
  list-style:none;
  margin:48px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px 24px;
  position:relative;
}
.journey::before{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  top:calc(50% - 1px);
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(0,83,47,.18), rgba(211,167,70,.35), rgba(0,83,47,.18), transparent);
  pointer-events:none;
  display:none;
}

.journey-step{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:0;
  margin:0;
  min-width:0;
  background:transparent;
  border:0;
  box-shadow:none;
  border-radius:4px 32px 4px 32px;
}
.journey-step--formacao::after{
  content:"";
  position:absolute;
  top:3.4rem;
  right:-18px;
  width:36px;
  height:1px;
  background:linear-gradient(90deg, rgba(163,75,63,.35), rgba(0,83,47,.35));
  pointer-events:none;
  z-index:1;
}
.journey-step--cuidado::before{
  content:"";
  position:absolute;
  top:3.25rem;
  left:-10px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--mustard);
  box-shadow:0 0 0 3px rgba(211,167,70,.25);
  pointer-events:none;
  z-index:1;
}
.journey-step--cuidado::after{
  content:"";
  position:absolute;
  top:3.4rem;
  right:-16px;
  width:32px;
  height:1px;
  background:linear-gradient(90deg,rgba(0,83,47,.35),rgba(163,75,63,.35));
  pointer-events:none;
  z-index:1;
}
.journey-step--encontro::before{
  content:"";
  position:absolute;
  top:3.25rem;
  left:-8px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--mustard);
  box-shadow:0 0 0 3px rgba(211,167,70,.25);
  pointer-events:none;
  z-index:2;
}
.journey-step__mark{
  position:relative;
  height:9.5rem;
  border-radius:4px 28px 4px 28px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:18px 22px;
  overflow:hidden;
}
.journey-step--formacao .journey-step__mark{
  background:
    radial-gradient(circle at 18% 20%,rgba(255,255,255,.32),transparent 42%),
    linear-gradient(135deg,var(--mustard) 0%,#B8922F 55%,var(--terracotta) 100%);
}
.journey-step--cuidado .journey-step__mark{
  background:
    radial-gradient(circle at 82% 18%,rgba(211,167,70,.32),transparent 42%),
    linear-gradient(160deg,var(--green) 0%,var(--green-2) 100%);
}
.journey-step__num{
  font-family:var(--font-title);
  font-size:clamp(2.6rem,4vw,3.4rem);
  line-height:1;
  color:rgba(255,255,255,.94);
  text-shadow:0 6px 16px rgba(0,0,0,.22);
}
.journey-step__content{
  padding:22px 4px 8px;
}
.journey-step__cat{
  margin:0 0 8px;
  font-family:var(--font-body);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--terracotta);
}
.journey-step__content h3{
  margin:0 0 12px;
  font-size:clamp(1.55rem,2.2vw,1.95rem);
  color:var(--brown);
}
.journey-step__content p:not(.journey-step__cat){
  margin:0;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.65;
  max-width:42ch;
}

/* 03 — desfecho da jornada */
.journey-step--encontro{
  grid-column:auto;
  display:flex;
  flex-direction:column;
  gap:0;
  margin-top:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
  border:0;
}
.journey-step__visual{
  position:relative;
  width:100%;
  height:9.5rem;
  min-height:9.5rem;
  overflow:visible;
  background:
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.18),transparent 42%),
    linear-gradient(135deg,var(--berry) 0%,var(--terracotta) 58%,var(--brown) 100%);
  border:1px solid rgba(50,43,33,.14);
  border-radius:4px 28px 4px 28px;
}
.journey-step__visual .journey-sticker{
  position:absolute;
  z-index:2;
  right:0;
  bottom:0;
  width:min(84%,320px);
  height:auto;
  display:block;
  filter:drop-shadow(0 12px 14px rgba(50,43,33,.24));
  transform:none;
  transform-origin:right bottom;
  transition:filter .35s ease;
  pointer-events:none;
}
.journey-step--encontro:hover .journey-step__visual .journey-sticker{
  filter:drop-shadow(0 16px 18px rgba(50,43,33,.3));
  transform:none;
}
.journey-step__visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:none;
  pointer-events:none;
}
.journey-step__visual .journey-step__num{
  position:absolute;
  z-index:3;
  left:22px;
  bottom:18px;
}
.journey-step--encontro .journey-step__content{
  display:block;
  padding:22px 4px 8px;
  background:transparent;
}
.journey-step--encontro .journey-step__content p:not(.journey-step__cat){
  max-width:42ch;
}

.journey-coda{
  margin:40px 0 0;
  max-width:52ch;
  padding-top:22px;
  border-top:1px solid rgba(50,43,33,.12);
  color:var(--brown);
  font-size:1.08rem;
  font-weight:700;
  line-height:1.55;
}

@media (max-width:980px){
  .journey{
    grid-template-columns:1fr;
    gap:28px;
  }
  .journey-step--formacao::after,
  .journey-step--cuidado::before,
  .journey-step--cuidado::after,
  .journey-step--encontro::before{
    display:none;
  }
  .journey-step--encontro{
    margin-top:0;
    border-radius:0;
  }
  .journey-step__mark{
    height:6.5rem;
  }
  .journey-step__visual{
    height:6.5rem;
    min-height:6.5rem;
    border-radius:4px 28px 4px 28px;
  }
  .journey-step__visual .journey-sticker{
    transform:none;
  }
  .journey-step--encontro:hover .journey-step__visual .journey-sticker{
    transform:none;
  }
  .journey-step--encontro .journey-step__content{
    padding:22px 2px 8px;
  }
  .journey-step__content p:not(.journey-step__cat),
  .journey-step--encontro .journey-step__content p:not(.journey-step__cat){
    max-width:none;
  }
  .experience-heading{
    max-width:none;
  }
  .journey-coda{
    margin-top:32px;
  }
}

@media (max-width:640px){
  .journey-step__visual .journey-sticker,
  .journey-step--encontro:hover .journey-step__visual .journey-sticker{
    transform:none;
  }
  .journey-step__content{
    padding:18px 2px 4px;
  }
  .journey-step__visual .journey-step__num,
  .journey-step__mark .journey-step__num{
    font-size:2.4rem;
  }
}
/* ===== Personagens — apresentação editorial ===== */
.cast-section{
  overflow:visible;
  background:
    radial-gradient(ellipse 50% 40% at 90% 8%, rgba(211,167,70,.1), transparent 55%),
    linear-gradient(180deg, var(--surface) 0%, #fff 50%, var(--surface-2) 100%);
}
.cast-heading{
  max-width:720px;
  margin-left:0;
  margin-right:auto;
  text-align:left;
}
.cast-heading h2{color:var(--green-2)}
.cast-heading p{color:var(--muted)}

.cast-hero{
  margin:36px 0 0;
  position:relative;
}
.cast-hero picture,
.cast-hero img{
  display:block;
  width:100%;
}
.cast-hero img{
  height:auto;
  max-height:min(520px,58vw);
  object-fit:cover;
  object-position:center 28%;
  border-radius:8px 36px 8px 36px;
  background:linear-gradient(130deg,var(--green),var(--green-2));
  box-shadow:
    0 0 0 1px rgba(0,61,36,.08),
    0 20px 44px rgba(50,43,33,.12);
}
.cast-hero__caption{
  margin:14px 4px 0;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
}

.cast-groups{
  margin-top:52px;
  display:grid;
  gap:48px;
}
.cast-group__title{
  margin:0 0 18px;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--terracotta);
  display:flex;
  align-items:center;
  gap:14px;
}
.cast-group__title::after{
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(90deg,rgba(50,43,33,.18),transparent);
}
.cast-roster{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.cast-roster--3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.cast-roster--popout{
  padding-top:78px;
}
.cast-char{
  margin:0;
  padding:0;
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(50,43,33,.1);
  border-radius:8px 26px 8px 26px;
  box-shadow:0 16px 36px rgba(50,43,33,.08);
  transition:transform .3s ease,box-shadow .3s ease;
}
.cast-char:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 44px rgba(50,43,33,.13);
}
.cast-char__media{
  position:relative;
  isolation:isolate;
  height:clamp(230px,24vw,310px);
  overflow:hidden;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 78% 18%,rgba(255,255,255,.3),transparent 34%),
    linear-gradient(145deg,rgba(211,167,70,.92),rgba(163,75,63,.92));
}
.cast-group:nth-child(2) .cast-char__media{
  background:
    radial-gradient(circle at 78% 18%,rgba(211,167,70,.24),transparent 36%),
    linear-gradient(145deg,var(--green),var(--green-2));
}
.cast-group--guard .cast-char__media{
  background:
    radial-gradient(circle at 78% 18%,rgba(255,255,255,.2),transparent 36%),
    linear-gradient(145deg,var(--berry),var(--terracotta));
}
.cast-char__media::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px dashed rgba(255,255,255,.34);
  border-radius:6px 20px 6px 20px;
}
.cast-char__media img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
}
.cast-char--photo{
  overflow:visible;
}
.cast-char--photo .cast-char__media{
  overflow:visible;
  border-radius:8px 26px 0 0;
}
.cast-char--photo .cast-char__media img{
  position:absolute;
  z-index:2;
  right:4%;
  bottom:0;
  width:auto;
  height:calc(100% + 78px);
  max-width:92%;
  object-fit:contain;
  object-position:right bottom;
  filter:drop-shadow(0 14px 18px rgba(50,43,33,.22));
  pointer-events:none;
}
.cast-char--photo-wide .cast-char__media img{
  right:1%;
  width:96%;
  height:calc(100% + 64px);
  max-width:none;
}
.cast-char--photo .cast-char__body{
  position:relative;
  z-index:4;
  background:rgba(255,255,255,.96);
  border-radius:0 0 8px 26px;
}
.cast-char__initials{
  position:relative;
  z-index:1;
  font-family:var(--font-title);
  font-size:clamp(4.5rem,8vw,7rem);
  line-height:1;
  color:rgba(255,255,255,.18);
  text-shadow:0 10px 24px rgba(50,43,33,.12);
}
.cast-char__media-label{
  position:absolute;
  z-index:3;
  left:18px;
  bottom:16px;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:var(--brown);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.cast-char__body{
  flex:1;
  padding:24px 24px 26px;
}
.cast-char h4{
  margin:0 0 8px;
  font-family:var(--font-title);
  font-size:clamp(1.45rem,2.2vw,1.85rem);
  font-weight:700;
  color:var(--brown);
  line-height:1.05;
}
.cast-char p{
  margin:0;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.6;
  max-width:36ch;
}
.cast-group--guard .cast-roster{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.cast-char--featured{
  max-width:none;
}
.cast-char--featured p{max-width:36ch}

/* Neutraliza layout antigo (caso classes reapareçam) */
.cast-feature,
.cast-panel,
.cast-grid{display:none}

@media (max-width:980px){
  .cast-roster,
  .cast-roster--3{
    grid-template-columns:1fr 1fr;
  }
  .cast-group--guard .cast-roster{
    grid-template-columns:1fr 1fr;
  }
  .cast-hero img{
    max-height:min(440px,70vw);
    object-position:center 30%;
  }
}
@media (max-width:640px){
  .cast-heading{max-width:none}
  .cast-roster,
  .cast-roster--3{
    grid-template-columns:1fr;
    gap:0;
  }
  .cast-group--guard .cast-roster{
    grid-template-columns:1fr;
  }
  .cast-roster{gap:18px}
  .cast-roster--popout{row-gap:88px}
  .cast-char__media{height:260px}
  .cast-char__body{padding:22px 20px 24px}
  .cast-hero img{
    max-height:320px;
    border-radius:8px 24px 8px 24px;
    object-position:center 22%;
  }
  .cast-groups{gap:28px;margin-top:32px}
  .cast-char p{max-width:none}
  .cast-panel article:nth-child(2){display:revert}
}
.footer{background:var(--brown)}


.mobile-cta{background:linear-gradient(135deg,var(--mustard),#B8922F);color:var(--brown)}
body.hero-inview .mobile-cta{opacity:0;pointer-events:none;transform:translateY(12px)}
.mobile-cta{transition:opacity .25s ease,transform .25s ease}

/* Agenda: destaque + lista + cronograma */
.agenda-heading{
  max-width:720px;
  margin-left:0;
  margin-right:auto;
  text-align:left;
}
.agenda-heading h2{color:#fff}
.agenda-heading p{color:rgba(255,255,255,.78)}
.agenda-note{
  margin-top:16px !important;
  color:var(--mustard) !important;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.82rem !important;
}
.agenda-cat{
  margin:0 0 6px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--mustard);
}
.agenda-next{
  margin-top:42px;
  padding:28px 28px 30px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px 28px 8px 28px;
  background:rgba(255,255,255,.08);
}
.agenda-next__eyebrow{
  margin:0 0 18px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.agenda-next__layout{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:28px;
  align-items:start;
}
.agenda-next__date{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:5.5rem;
  color:var(--mustard);
}
.agenda-next__date strong{
  font-family:var(--font-title);
  font-size:clamp(3.4rem,6vw,4.6rem);
  line-height:.9;
}
.agenda-next__date span{
  font-weight:900;
  letter-spacing:.12em;
  font-size:.95rem;
}
.agenda-next__date em{
  margin-top:8px;
  font-style:normal;
  font-size:.82rem;
  font-weight:700;
  color:rgba(255,255,255,.72);
}
.agenda-next__body h3{
  margin:0 0 10px;
  font-size:clamp(1.7rem,3vw,2.35rem);
  color:#fff;
}
.agenda-next__meta{
  margin:0 0 12px;
  color:rgba(255,255,255,.82);
  font-weight:700;
}
.agenda-next__desc{
  margin:0 0 22px;
  color:rgba(255,255,255,.72);
  max-width:42ch;
}
.agenda-list-wrap{margin-top:48px}
.agenda-list-title,
.agenda-schedule__title{
  margin:0 0 18px;
  font-size:clamp(1.45rem,2.4vw,1.85rem);
  color:#fff;
}
.agenda-list{
  list-style:none;
  margin:0;
  padding:0;
  border-top:1px solid rgba(255,255,255,.14);
}
.agenda-row{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.agenda-row__date{
  color:var(--mustard);
  line-height:1;
}
.agenda-row__date strong{
  display:block;
  font-family:var(--font-title);
  font-size:2rem;
}
.agenda-row__date span{
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.1em;
}
.agenda-row__place{
  margin:0 0 4px;
  color:#fff;
  font-weight:800;
  font-size:1.08rem;
}
.agenda-row__meta{
  margin:0;
  color:rgba(255,255,255,.7);
  font-size:.95rem;
}
.agenda-row .button{
  white-space:nowrap;
}
.agenda-oficinas{
  margin-top:48px;
  padding:28px;
  border-radius:var(--radius-lg);
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.12);
}
.agenda-oficinas__lead{
  margin:0 0 20px;
  color:rgba(255,255,255,.75);
  max-width:58ch;
}
.agenda-oficinas__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}
.agenda-oficinas__list li{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 18px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.agenda-oficinas__list li:last-child{
  border-bottom:0;
}
.agenda-oficinas__list span{
  color:rgba(255,255,255,.78);
  font-size:.95rem;
}
.agenda-oficinas__cta{
  margin:22px 0 0;
}
.agenda-section .button-outline-light{
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.4);
  box-shadow:none;
}
.agenda-section .button-outline-light:hover{
  background:rgba(255,255,255,.08);
  transform:translateY(-1px);
}
.agenda-schedule{
  margin-top:56px;
  padding-top:36px;
  border-top:1px solid rgba(255,255,255,.14);
}
.agenda-schedule__lead{
  margin:0 0 28px;
  color:rgba(255,255,255,.72);
}
.schedule-desktop{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.schedule-city{
  padding:22px 22px 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(0,0,0,.12);
}
.schedule-city h4{
  margin:0 0 14px;
  font-size:1.45rem;
  color:var(--mustard);
}
.schedule-city dl{
  margin:0;
  display:grid;
  gap:12px;
}
.schedule-city dl div{
  display:grid;
  gap:4px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.1);
}
.schedule-city dl div:first-child{border-top:0;padding-top:0}
.schedule-city dt{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}
.schedule-city dd{
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:.95rem;
  line-height:1.5;
}
.schedule-city dd span,
.schedule-city dd em,
.schedule-fold span{
  color:rgba(255,255,255,.62);
  font-style:normal;
  font-size:.88rem;
}
.schedule-mobile{display:none}
.schedule-fold{
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  margin-bottom:10px;
  background:rgba(0,0,0,.12);
  overflow:hidden;
}
.schedule-fold summary{
  cursor:pointer;
  list-style:none;
  padding:16px 18px;
  font-weight:800;
  color:#fff;
  font-size:1.05rem;
}
.schedule-fold summary::-webkit-details-marker{display:none}
.schedule-fold summary::after{
  content:"+";
  float:right;
  color:var(--mustard);
  font-weight:900;
}
.schedule-fold[open] summary::after{content:"–"}
.schedule-fold ul{
  margin:0;
  padding:0 18px 16px;
  list-style:none;
}
.schedule-fold li{
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.88);
  line-height:1.5;
}
.schedule-fold li strong{color:#fff}

@media (max-width:980px){
  .agenda-next__layout{
    grid-template-columns:1fr;
    gap:16px;
  }
  .agenda-row{
    grid-template-columns:64px 1fr;
    gap:14px;
  }
  .agenda-row .button{
    grid-column:2;
    justify-self:start;
    margin-top:4px;
  }
  .schedule-desktop{
    grid-template-columns:1fr;
  }
}
@media (max-width:720px){
  .schedule-desktop{display:none}
  .schedule-mobile{display:block}
  .agenda-next{padding:22px 18px}
  .agenda-row__place{font-size:1rem}
}
@media (max-width:640px){
  .agenda-heading{max-width:none}
  .agenda-row .button,
  .agenda-next .button{
    width:100%;
    min-height:48px;
  }
  .agenda-row .button{grid-column:1 / -1}
}

/* Rota ilustrada — nova seção preservando o cronograma original */
.route-section{
  overflow:hidden;
  padding:0 0 clamp(52px,7vw,88px);
  background:var(--green);
  content-visibility:auto;
  contain-intrinsic-size:900px;
}
.route-map{
  width:min(1320px,calc(100% - 32px));
  margin-inline:auto;
}
.route-map__canvas{
  position:relative;
  isolation:isolate;
  aspect-ratio:842 / 596;
  overflow:hidden;
  border-radius:28px;
  background-color:#d9ae58;
  background-image:url("assets/agenda/mapa-1600.webp");
  background-image:image-set(
    url("assets/agenda/mapa-1600.webp") 1x,
    url("assets/agenda/mapa-2400.webp") 2x,
    url("assets/agenda/mapa-3200.webp") 3x
  );
  background-size:cover;
  background-position:center;
  box-shadow:0 28px 64px rgba(20,42,28,.28);
}
.route-map__canvas::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:8;
  border:1px solid rgba(255,255,255,.18);
  border-radius:inherit;
  pointer-events:none;
}

/* Desktop: mapa preenche a seção inteira (mobile intacto) */
@media (min-width: 1021px){
  .route-section{
    padding:0;
    background:#143d27;
  }
  .route-map{
    width:100%;
    max-width:none;
    margin:0;
  }
  .route-map__canvas{
    aspect-ratio:1024 / 545;
    width:100%;
    border-radius:0;
    box-shadow:none;
    background-size:cover;
    background-position:center center;
  }
  .route-map__canvas::after{
    border:0;
    border-radius:0;
  }
  .route-map__title{
    left:22%;
    top:16%;
  }
  .route-map__logo{
    top:4%;
    width:14%;
  }
}
.route-map__track{
  position:absolute;
  z-index:1;
  left:5.31%;
  top:19.43%;
  width:94.44%;
  height:auto;
  pointer-events:none;
  user-select:none;
}
.route-map__logo{
  position:absolute;
  z-index:2;
  left:50%;
  top:5.5%;
  width:18.5%;
  height:auto;
  transform:translateX(-50%);
  filter:drop-shadow(0 8px 10px rgba(73,47,18,.2));
  pointer-events:none;
}
.route-map__title{
  position:absolute;
  z-index:3;
  left:9.6%;
  top:20.8%;
  margin:0;
  color:#c82f37;
  font-size:clamp(1.55rem,3.15vw,3.25rem);
  line-height:.88;
  text-align:center;
  text-transform:uppercase;
  text-shadow:0 2px 0 rgba(255,239,190,.35);
  transform:rotate(-1.5deg);
}
.route-map__title span{display:block}
.route-map__stops{
  position:absolute;
  z-index:3;
  inset:0;
  margin:0;
  padding:0;
  list-style:none;
}
.route-stop{
  position:absolute;
  color:var(--green-2);
  font-size:clamp(.68rem,.82vw,.84rem);
  line-height:1.28;
}
.route-stop--tucuma{left:12.1%;top:57.4%;width:18.3%}
.route-stop--ourilandia{left:42.4%;top:24.1%;width:19.4%}
.route-stop--curionopolis{left:44.2%;top:64.1%;width:19.1%}
.route-stop--canaa{left:68.9%;top:9.3%;width:19.6%}
.route-stop--extra{left:72.7%;top:57.2%;width:18.4%}
.route-stop__header{
  margin:0 0 clamp(5px,.55vw,9px);
  text-align:center;
}
.route-stop__header h3{
  margin:0;
  color:#245e39;
  font-size:clamp(.92rem,1.35vw,1.42rem);
  line-height:1;
  text-transform:uppercase;
  text-shadow:0 1px 0 rgba(255,255,255,.34);
}
.route-stop__header p{
  margin:4px 0 0;
  color:#d34235;
  font-family:var(--font-title);
  font-size:.82em;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.route-stop__header .route-stop__place{
  margin-top:5px;
  color:#245e39;
  font-family:var(--font-body);
  font-size:.76em;
  font-weight:800;
  line-height:1.15;
}
.route-stop__place span{display:block;color:#d34235}
.route-stop__card{
  padding:clamp(8px,.85vw,14px);
  border:clamp(2px,.2vw,3px) solid #fff;
  border-radius:clamp(9px,.8vw,14px);
  background:rgba(45,91,50,.97);
  color:#fff;
  text-align:center;
  box-shadow:0 10px 20px rgba(57,41,17,.2);
}
.route-stop__card dl{margin:0}
.route-stop__card dl div + div{
  margin-top:.62em;
  padding-top:.62em;
  border-top:1px solid rgba(255,255,255,.18);
}
.route-stop__card dt{
  font-weight:800;
  font-style:italic;
  letter-spacing:.01em;
}
.route-stop__card dd{
  margin:.25em 0 0;
  font-weight:700;
}
.route-stop__card dd span{
  display:block;
  margin-top:.15em;
  font-size:.88em;
  font-weight:500;
  line-height:1.2;
}
.route-stop--canaa{font-size:clamp(.64rem,.74vw,.78rem)}
.route-stop--extra .route-stop__card{padding-block:clamp(9px,.9vw,14px)}

@media (max-width:1020px){
  .route-section{padding-bottom:56px}
  .route-map{width:min(760px,calc(100% - 24px))}
  .route-map__canvas{
    aspect-ratio:auto;
    padding:42px 20px 34px;
    background-position:center top;
  }
  .route-map__canvas::before{
    content:"";
    position:absolute;
    z-index:1;
    inset:0;
    background:rgba(246,238,221,.54);
    pointer-events:none;
  }
  .route-map__track{display:none}
  .route-map__logo{
    position:relative;
    z-index:2;
    left:auto;
    top:auto;
    display:block;
    width:min(220px,50vw);
    margin:0 auto 14px;
    transform:none;
  }
  .route-map__title{
    position:relative;
    z-index:2;
    left:auto;
    top:auto;
    font-size:clamp(2.1rem,8vw,3.25rem);
    line-height:.92;
    transform:none;
  }
  .route-map__title span{display:inline}
  .route-map__stops{
    position:relative;
    z-index:3;
    inset:auto;
    display:grid;
    gap:18px;
    width:min(100%,620px);
    margin:30px auto 0;
    padding:0 0 0 50px;
  }
  .route-map__stops::before{
    content:"";
    position:absolute;
    left:17px;
    top:22px;
    bottom:22px;
    width:8px;
    border-radius:999px;
    background:repeating-linear-gradient(to bottom,#b12f50 0 13px,transparent 13px 21px);
    box-shadow:inset 2px 0 rgba(255,255,255,.28),inset -2px 0 rgba(0,0,0,.08);
  }
  .route-stop,
  .route-stop--canaa{
    position:relative;
    left:auto;
    top:auto;
    width:auto;
    color:var(--green-2);
    font-size:.94rem;
  }
  .route-stop::before{
    content:"";
    position:absolute;
    left:-48px;
    top:18px;
    width:30px;
    height:30px;
    border:4px solid #fff;
    border-radius:50%;
    background:#315f39;
    box-shadow:0 5px 12px rgba(39,55,35,.2);
  }
  .route-stop::after{
    content:"";
    position:absolute;
    left:-37px;
    top:29px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--mustard);
  }
  .route-stop__header{text-align:left;margin-bottom:8px}
  .route-stop__header h3{font-size:1.35rem}
  .route-stop__header p{font-size:.75rem}
  .route-stop__header .route-stop__place{font-size:.76rem}
  .route-stop__place span{display:inline}
  .route-stop__card{
    padding:18px;
    border-width:3px;
    border-radius:14px;
    text-align:left;
  }
  .route-stop__card dl div{
    display:grid;
    grid-template-columns:minmax(116px,.42fr) 1fr;
    gap:12px;
    align-items:start;
  }
  .route-stop__card dl div + div{margin-top:10px;padding-top:10px}
  .route-stop__card dd{margin:0}
}

@media (max-width:560px){
  .route-map__canvas{padding:32px 12px 24px;border-radius:20px}
  .route-map__stops{padding-left:42px;gap:14px}
  .route-map__stops::before{left:14px;width:7px}
  .route-stop::before{left:-40px;width:26px;height:26px;border-width:3px}
  .route-stop::after{left:-31px;top:27px;width:8px;height:8px}
  .route-stop__card{padding:15px}
  .route-stop__card dl div{grid-template-columns:1fr;gap:3px}
  .route-stop__card dd{margin:0}
}

/* Legacy agenda helpers (unused structure kept inert) */
.session-content .button{
  margin-top:auto;
}
.filters{
  position:relative;
}
.filters-note{
  grid-column:1 / -1;
  margin:0 0 4px;
  color:rgba(255,255,255,.72);
  font-size:.9rem;
  font-weight:600;
}
.sessions-empty{
  margin:28px 0 0;
  padding:28px 22px;
  text-align:center;
  border-radius:20px;
  background:rgba(255,255,255,.08);
  border:1px dashed rgba(255,255,255,.28);
  color:rgba(255,255,255,.88);
  font-weight:700;
}
.sessions-empty[hidden]{display:none}
.session-card[hidden]{display:none}

noscript .reveal{
  opacity:1;
  transform:none;
}

/* ===== A história — sinopse comercial ===== */
.story-section{
  position:relative;
  padding-top:24px;
  padding-bottom:64px;
  background:
    radial-gradient(ellipse 55% 45% at 88% 20%, rgba(0,83,47,.06), transparent 60%),
    linear-gradient(180deg, var(--surface) 0%, #fff 55%, var(--surface-2) 100%);
}
.story-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:clamp(32px,5vw,64px);
  align-items:start;
}
.story-art{
  position:relative;
  margin:0;
  min-width:0;
}
.story-art picture,
.story-art img{
  display:block;
  width:100%;
}
.story-art img{
  height:auto;
  aspect-ratio:4 / 5;
  object-fit:contain;
  object-position:center bottom;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.story-copy{
  max-width:34rem;
  min-width:0;
  padding-top:24px;
}
.story-copy h2{
  color:var(--green-2);
  font-size:clamp(1.95rem,3.6vw,3.1rem);
  line-height:1.08;
  margin:0 0 20px;
  text-wrap:balance;
}
.story-copy > p{
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.65;
  margin:0 0 14px;
}
.story-promise{
  margin:22px 0 28px !important;
  padding-top:18px;
  border-top:1px solid rgba(50,43,33,.12);
  color:var(--brown) !important;
  font-size:1.05rem !important;
  font-weight:700;
  line-height:1.55 !important;
}
.story-copy .button{
  margin-top:4px;
}

@media (max-width:980px){
  .story-layout{
    grid-template-columns:1fr;
    gap:28px;
  }
  .story-art img{
    aspect-ratio:16 / 11;
    object-position:center 22%;
    border-radius:0;
    max-height:420px;
  }
  .story-copy{
    max-width:none;
    padding-top:0;
  }
}
@media (max-width:640px){
  .story-section{
    padding-top:24px;
    padding-bottom:48px;
  }
  .story-art img{
    max-height:340px;
  }
  .story-copy h2{
    font-size:clamp(1.85rem,7vw,2.35rem);
  }
}

/* ===== Availability — encerramento da jornada do público ===== */
.availability{
  position:relative;
  padding:clamp(56px,7vw,84px) 0;
  overflow:hidden;
  background:
    radial-gradient(ellipse 55% 70% at 92% 20%, rgba(255,255,255,.18), transparent 55%),
    linear-gradient(125deg, var(--mustard) 0%, #E0BC62 55%, #C9A048 100%);
  color:var(--brown);
}
.availability__layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(28px,4vw,48px);
  align-items:center;
}
.availability__copy{
  max-width:36rem;
}
.availability__kicker{
  color:var(--green-2);
  margin:0 0 14px;
}
.availability__copy h2{
  margin:0 0 14px;
  color:var(--brown);
  font-size:clamp(2rem,3.8vw,3.2rem);
  line-height:1.06;
  text-wrap:balance;
  max-width:14ch;
}
.availability__text{
  margin:0 0 16px;
  color:rgba(50,43,33,.86);
  font-size:1.08rem;
  line-height:1.65;
  max-width:42ch;
}
.availability__meta{
  margin:0;
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.02em;
  color:var(--green-2);
}
.availability__action{
  display:flex;
  align-items:center;
}
.availability__button{
  background:var(--green-2);
  color:var(--cream);
  box-shadow:0 12px 28px rgba(0,61,36,.22);
  white-space:nowrap;
}
.availability__button:hover{
  background:var(--green);
  color:var(--cream);
  box-shadow:0 16px 32px rgba(0,61,36,.28);
  transform:translateY(-2px);
}
.availability__decoration{
  position:absolute;
  right:clamp(12px,4vw,48px);
  bottom:10px;
  width:min(220px,28vw);
  color:var(--green-2);
  pointer-events:none;
  z-index:0;
  opacity:.9;
}
.availability__decoration svg{
  display:block;
  width:100%;
  height:auto;
}

@media (max-width:980px){
  .availability__layout{
    grid-template-columns:1fr;
    gap:24px;
    align-items:start;
  }
  .availability__copy h2{
    max-width:none;
  }
  .availability__decoration{
    right:16px;
    bottom:6px;
    width:160px;
    opacity:.55;
  }
}
@media (max-width:640px){
  .availability{
    padding:52px 0;
  }
  .availability__copy h2{
    font-size:clamp(1.85rem,7vw,2.4rem);
  }
  .availability__button{
    width:100%;
    white-space:normal;
    text-align:center;
  }
  .availability__action{
    width:100%;
  }
  .availability__meta{
    line-height:1.55;
  }
  .availability__decoration{
    display:none;
  }
}

/* —— Contratação (#contratacao) —— */
.hire-section{
  background:#fff;
}
.hire-layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:clamp(36px,5vw,72px);
  align-items:start;
}
.hire-copy > p{
  max-width:46ch;
  line-height:1.65;
  color:rgba(50,43,33,.88);
}
.hire-copy > p + p{
  margin-top:14px;
}
.hire-copy h2{
  margin:0 0 18px;
  max-width:16ch;
  line-height:1.08;
  text-wrap:balance;
}
.hire-groups{
  display:grid;
  gap:22px;
  margin:28px 0 22px;
  max-width:48ch;
}
.hire-group__title{
  margin:0 0 10px;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--green-2);
}
.hire-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.hire-list li{
  position:relative;
  padding:0 0 0 1.05em;
  font-size:1rem;
  font-weight:600;
  line-height:1.45;
  color:var(--ink);
}
.hire-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--mustard);
}
.hire-note{
  margin:10px 0 0;
  font-size:.9rem;
  line-height:1.5;
  color:var(--muted);
  max-width:42ch;
}
.hire-followup{
  margin:0 0 22px;
  max-width:44ch;
  font-size:.98rem;
  line-height:1.6;
  color:rgba(50,43,33,.82);
}
.hire-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.hire-section .hire-card{
  background:var(--surface-2);
  padding:clamp(28px,3vw,38px);
  border-radius:28px;
  box-shadow:none;
}
.hire-section .hire-card h3{
  margin:0 0 8px;
  font-size:clamp(1.55rem,2.4vw,2rem);
  line-height:1.15;
  color:var(--brown);
}
.hire-section .hire-card dl{
  margin:0;
}
.hire-section .hire-card dl div{
  display:grid;
  grid-template-columns:minmax(7.5rem,38%) minmax(0,1fr);
  gap:12px 18px;
  align-items:start;
  padding:16px 0;
  border-bottom:1px solid #D6C7AF;
}
.hire-section .hire-card dl div:first-child,
.hire-section .hire-card dl div:nth-child(2){
  padding-top:18px;
}
.hire-section .hire-card dl div:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.hire-section .hire-card dt{
  margin:0;
  font-weight:800;
  color:var(--ink);
  line-height:1.35;
}
.hire-section .hire-card dd{
  margin:0;
  color:var(--muted);
  line-height:1.5;
  text-align:left;
}
.hire-section .hire-card dl div:nth-child(-n+2) dd{
  color:var(--ink);
  font-weight:700;
}

.form-shell .form-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.form-shell .form-field span{
  font-size:.82rem;
  font-weight:800;
  color:var(--ink);
}
.form-shell .form-field-label{
  display:flex;
  align-items:center;
  gap:7px;
}
.form-shell .field-icon{
  width:15px;
  height:15px;
  flex:0 0 15px;
  color:var(--terracotta);
  stroke:currentColor;
  stroke-width:1.8;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.form-shell .form-field.full,
.form-shell .form-consent-check.full{
  grid-column:span 2;
}
.modal:has(.form-shell){
  max-height:min(92vh,900px);
  overflow-x:hidden;
  overflow-y:auto;
}
body:has(dialog[open]){
  overflow:hidden;
}
.form-shell{
  width:100%;
  padding:38px 42px 34px;
}
.form-shell form{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}
.form-shell .form-consent-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  width:100%;
  min-width:0;
  margin:4px 0 2px;
  color:var(--muted);
  font-size:.82rem;
  font-weight:600;
  line-height:1.45;
}
.form-shell .form-consent-check input[type="checkbox"]{
  appearance:auto;
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin:1px 0 0;
  padding:0;
  border:0;
  border-radius:4px;
}
.form-shell button[type="submit"]{
  width:100%;
  margin-top:4px;
}
.form-shell__note{
  margin:16px 0 0;
  font-size:.9rem;
  line-height:1.5;
  color:var(--muted);
}
.form-shell__note a{
  color:var(--green-2);
  font-weight:700;
}
.form-error{
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid rgba(175,59,82,.25);
  border-radius:12px;
  background:rgba(175,59,82,.08);
  color:var(--berry);
  font-size:.9rem;
  line-height:1.45;
}
.form-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
}

@media (max-width:1024px){
  .hire-layout{
    grid-template-columns:1fr;
    gap:36px;
  }
  .hire-copy h2{
    max-width:none;
  }
}
@media (max-width:640px){
  .modal:has(.form-shell){
    width:calc(100% - 20px);
    max-height:94vh;
    border-radius:20px;
  }
  .form-shell{
    padding:30px 20px 24px;
  }
  .form-shell h2{
    padding-right:28px;
    font-size:clamp(1.8rem,9vw,2.25rem);
  }
  .hire-actions .button{
    width:100%;
    text-align:center;
  }
  .hire-section .hire-card dl div{
    grid-template-columns:1fr;
    gap:4px;
  }
  .form-shell form{
    grid-template-columns:1fr;
  }
  .form-shell .form-field.full,
  .form-shell .form-consent-check.full,
  .form-shell textarea,
  .form-shell .full,
  .form-shell button{
    grid-column:span 1;
  }
}
@media (prefers-reduced-motion:reduce){
  .hire-section .reveal{
    transition:none;
  }
}

/* —— Patrocínio (#patrocinio) —— */
.sponsor-section{
  background:linear-gradient(160deg,var(--brown),#1F1A15);
  color:#fff;
}
.sponsor-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.85fr);
  gap:clamp(36px,5vw,55px);
  align-items:start;
}
.sponsor-copy .kicker{
  color:var(--mustard);
}
.sponsor-copy h2{
  margin:0 0 18px;
  max-width:18ch;
  color:#fff;
  font-size:clamp(2rem,3.6vw,3.15rem);
  line-height:1.08;
  text-wrap:balance;
}
.sponsor-copy > p{
  margin:0;
  max-width:48ch;
  color:rgba(255,255,255,.74);
  font-size:1.05rem;
  line-height:1.65;
}
.sponsor-copy > p + p{
  margin-top:14px;
}
.sponsor-diff{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.14);
  font-size:.98rem;
  color:rgba(255,255,255,.7);
}
.sponsor-territories{
  display:grid;
  gap:0;
  margin:28px 0 22px;
  max-width:48ch;
}
.sponsor-territory{
  padding:16px 0;
  border-top:1px solid rgba(255,255,255,.12);
}
.sponsor-territory:last-child{
  border-bottom:1px solid rgba(255,255,255,.12);
}
.sponsor-territory__title{
  margin:0 0 6px;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--mustard);
}
.sponsor-territory p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:1rem;
  line-height:1.5;
}
.sponsor-eval{
  margin:0 0 22px;
  max-width:46ch;
  font-size:.95rem;
  line-height:1.55;
  color:rgba(255,255,255,.68);
}
.sponsor-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.sponsor-section .sponsor-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);
  border-radius:28px;
  padding:clamp(26px,3vw,38px);
}
.sponsor-section .sponsor-card h3{
  margin:0 0 8px;
  font-size:clamp(1.55rem,2.4vw,2rem);
  line-height:1.15;
  color:#fff;
}
.sponsor-card__lead{
  margin:0 0 8px;
  font-size:.9rem;
  line-height:1.5;
  color:rgba(255,255,255,.62);
}
.sponsor-bucket{
  padding:16px 0;
  border-top:1px solid rgba(255,255,255,.12);
}
.sponsor-bucket:last-child{
  padding-bottom:0;
}
.sponsor-bucket__title{
  margin:0 0 8px;
  font-family:var(--font-body);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--mustard);
}
.sponsor-bucket ul{
  margin:0;
  padding:0;
  list-style:none;
}
.sponsor-bucket li{
  position:relative;
  padding:7px 0 7px 1em;
  color:rgba(255,255,255,.8);
  line-height:1.45;
}
.sponsor-bucket li::before{
  content:"";
  position:absolute;
  left:0;
  top:.85em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(244,188,65,.75);
}

@media (max-width:1024px){
  .sponsor-grid{
    grid-template-columns:1fr;
    gap:36px;
  }
  .sponsor-copy h2{
    max-width:none;
  }
}
@media (max-width:640px){
  .sponsor-actions .button{
    width:100%;
    text-align:center;
  }
  .sponsor-section .sponsor-card{
    padding:24px 20px;
  }
}
@media (prefers-reduced-motion:reduce){
  .sponsor-section .reveal{
    transition:none;
  }
}

/* —— FAQ (#faq) —— */
.faq-section{
  background:var(--surface);
}
.faq-layout{
  display:grid;
  grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);
  gap:clamp(32px,5vw,64px);
  align-items:start;
}
.faq-intro{
  max-width:28ch;
}
.faq-intro h2{
  margin:0 0 16px;
  color:var(--brown);
  font-size:clamp(2rem,3.4vw,3rem);
  line-height:1.08;
  text-wrap:balance;
}
.faq-intro > p{
  margin:0;
  color:rgba(50,43,33,.82);
  font-size:1.05rem;
  line-height:1.65;
}
.faq-section .faq-list{
  max-width:none;
  margin:0;
  border-top:1px solid #E5D9C4;
}
.faq-section .faq-list details{
  background:transparent;
  border:0;
  border-bottom:1px solid #E5D9C4;
  border-radius:0;
  margin:0;
  padding:0;
}
.faq-section .faq-list summary{
  position:relative;
  list-style:none;
  display:block;
  padding:18px 40px 18px 0;
  font-weight:800;
  font-size:1.05rem;
  line-height:1.35;
  color:var(--ink);
  cursor:pointer;
}
.faq-section .faq-list summary::-webkit-details-marker{
  display:none;
}
.faq-section .faq-list summary::after{
  content:"";
  position:absolute;
  right:4px;
  top:50%;
  width:10px;
  height:10px;
  border-right:2px solid var(--brown);
  border-bottom:2px solid var(--brown);
  transform:translateY(-65%) rotate(45deg);
  transition:transform .2s ease;
}
.faq-section .faq-list details[open] summary{
  color:var(--brown);
}
.faq-section .faq-list details[open] summary::after{
  transform:translateY(-20%) rotate(225deg);
}
.faq-section .faq-list details[open]{
  background:rgba(255,255,255,.55);
}
.faq-section .faq-list p{
  margin:0;
  padding:0 40px 18px 0;
  color:var(--muted);
  font-size:1rem;
  line-height:1.6;
  max-width:58ch;
}
.faq-section .faq-list .faq-link-wrap{
  padding-top:4px;
  padding-bottom:20px;
}
.faq-link{
  color:var(--green-2);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-color:rgba(0,61,36,.35);
}
.faq-link:hover{
  text-decoration-color:var(--mustard);
}
.faq-section .faq-list summary:focus-visible,
.faq-link:focus-visible{
  outline:3px solid var(--mustard);
  outline-offset:3px;
}

@media (max-width:980px){
  .faq-layout{
    grid-template-columns:1fr;
    gap:28px;
  }
  .faq-intro{
    max-width:none;
  }
}
@media (max-width:640px){
  .faq-section .faq-list summary{
    padding:16px 36px 16px 0;
    font-size:1rem;
  }
  .faq-section .faq-list p,
  .faq-section .faq-list .faq-link-wrap{
    padding-right:0;
  }
}
@media (prefers-reduced-motion:reduce){
  .faq-section .faq-list summary::after{
    transition:none;
  }
}

/* —— Rodapé —— */
.footer{
  background:var(--brown);
  color:#fff;
  padding:64px 0 28px;
}
.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1.1fr);
  gap:clamp(28px,4vw,48px);
  align-items:start;
}
.footer-logo{
  display:inline-block;
  line-height:0;
}
.footer-logo img{
  width:min(180px,56vw);
  height:auto;
  display:block;
}
.footer-brand__company{
  margin:18px 0 6px;
  font-weight:800;
  font-size:1rem;
  line-height:1.4;
  color:rgba(255,255,255,.92);
}
.footer-brand__project{
  margin:0;
  font-size:.95rem;
  line-height:1.5;
  color:rgba(255,255,255,.72);
}
.footer-heading{
  margin:0 0 14px;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--mustard);
}
.footer-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.footer-list a,
.footer-address a,
.footer-top-link{
  color:rgba(255,255,255,.82);
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-color:rgba(255,255,255,.28);
  font-weight:600;
  line-height:1.45;
  transition:color .2s ease,text-decoration-color .2s ease;
}
.footer-list a:hover,
.footer-address a:hover,
.footer-top-link:hover{
  color:#fff;
  text-decoration-color:var(--mustard);
}
.footer-list a:focus-visible,
.footer-address a:focus-visible,
.footer-top-link:focus-visible,
.footer-logo:focus-visible{
  outline:3px solid var(--mustard);
  outline-offset:3px;
}
.footer-address{
  margin:0;
  font-style:normal;
  display:grid;
  gap:10px;
}
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px 24px;
  margin-top:36px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.14);
}
.footer-top-link{
  font-size:.9rem;
  font-weight:800;
}

@media (max-width:980px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
  .footer-brand{
    grid-column:1 / -1;
  }
}
@media (max-width:640px){
  .footer{
    padding:52px 0 calc(28px + 72px);
  }
  .footer-grid{
    grid-template-columns:1fr;
    gap:0;
  }
  .footer-brand,
  .footer-nav,
  .footer-contact{
    padding:20px 0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .footer-brand{
    grid-column:auto;
    padding-top:0;
  }
  .footer-contact{
    border-bottom:0;
    padding-bottom:8px;
  }
  .footer-bottom{
    margin-top:20px;
    flex-direction:column;
    align-items:flex-start;
  }
  .footer-list a,
  .footer-address a,
  .footer-top-link{
    display:inline-flex;
    align-items:center;
    padding:4px 0;
    min-height:44px;
  }
}
