
:root{
  --navy:#082f55;--green:#0b4f3c;--green2:#11644c;--red:#a51c1c;--gold:#d8a63a;
  --cream:#fbfaf5;--soft:#eef5f1;--ink:#18302b;--muted:#637772;--line:#d8e3de;--white:#fff;
  --shadow:0 18px 50px rgba(8,47,85,.10)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--cream)}
a{text-decoration:none;color:inherit}.topbar{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:rgba(251,250,245,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(11,79,60,.08)}
.wordmark{display:flex;flex-direction:column;line-height:1}.wordmark strong{font-family:Montserrat,sans-serif;color:var(--navy);font-size:16px;letter-spacing:.08em}.wordmark span{font-size:11px;color:var(--green);margin-top:5px;letter-spacing:.12em;text-transform:uppercase}
nav{display:flex;gap:28px;align-items:center;font-size:14px;font-weight:700}nav a:hover{color:var(--green2)}.nav-cta{background:var(--green);color:white!important;padding:12px 18px;border-radius:999px}
.hero{min-height:700px;padding:84px 5vw 64px;display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center;background:radial-gradient(circle at 85% 20%,rgba(216,166,58,.16),transparent 32%),linear-gradient(180deg,#fffdfa 0%,#f7f4eb 100%)}
.hero-copy{max-width:760px}.eyebrow,.kicker,.mini-label{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--green)}.hero h1{font-family:Montserrat,sans-serif;font-size:clamp(46px,6vw,86px);line-height:.98;letter-spacing:-.045em;margin:22px 0 24px;color:var(--navy)}.hero h1 span{color:var(--green)}.hero p{font-size:19px;line-height:1.7;color:#526864;max-width:720px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:15px 22px;font-weight:800;cursor:pointer;font-family:inherit}.btn-primary{background:var(--green);color:white}.btn-light{background:white;color:var(--navy);border:1px solid var(--line)}.btn-gold{background:var(--gold);color:#2d2410}.btn-small{padding:10px 14px;background:white;border:1px solid var(--line);color:var(--navy)}.full-btn{width:100%;margin:8px 0 16px}
.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px}.hero-proof div{padding:18px;border-radius:16px;background:rgba(255,255,255,.74);border:1px solid #e8e2d5}.hero-proof strong{display:block;color:var(--navy);font-size:24px}.hero-proof span{font-size:12px;color:var(--muted)}
.hero-identity{display:flex;flex-direction:column;align-items:center}.event-logo-frame{width:min(100%,520px);background:white;border-radius:32px;padding:18px;box-shadow:var(--shadow);border:1px solid #eee7d7}.event-logo-frame img{display:block;width:100%;border-radius:20px}
.impact-band{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;padding:22px 5vw;background:var(--green);color:white;text-align:center}.impact-band strong{color:#f6cf70}
.section{padding:86px 5vw}.soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:34px}.section-head.centered{display:block;text-align:center;max-width:860px;margin:0 auto 34px}.section-head h2{font-family:Montserrat,sans-serif;font-size:clamp(32px,4vw,52px);line-height:1.08;color:var(--navy);margin:10px 0}.section-head p{max-width:560px;color:var(--muted);line-height:1.65}
.smart-card{background:linear-gradient(135deg,#0a4a38,#0e5c46);color:white;border-radius:30px;padding:28px;display:grid;grid-template-columns:1fr 2fr;gap:26px;box-shadow:var(--shadow)}.smart-main{padding:10px 0}.date-pill{display:inline-block;background:#e0ad42;color:#102f2a;padding:9px 13px;border-radius:999px;font-weight:900;font-size:13px}.smart-main h3{font-family:Montserrat,sans-serif;font-size:38px;margin:14px 0 4px}.smart-main p{margin:0;color:#d6ebe5}.smart-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.smart-stats div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:25px}.smart-stats span,.smart-stats small{display:block;color:#d6ebe5}.smart-stats strong{display:block;font-size:28px;margin:5px 0}
.vacancy-shell{display:grid;grid-template-columns:1fr 1fr;gap:24px}.vacancy-group{background:white;border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:0 8px 30px rgba(8,47,85,.05)}.vacancy-group-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.vacancy-group h3{font-size:30px;margin:4px 0}.mode-total{text-align:right}.mode-total span{display:block;color:var(--muted);font-size:12px}.mode-total strong{font-size:28px;color:var(--navy)}.vacancy-grid{display:grid;gap:12px}.vacancy-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fcfdfc}.vacancy-card-top{display:flex;justify-content:space-between;gap:15px}.vacancy-card-top span{font-weight:800}.vacancy-card-top i{font-style:normal;font-size:11px;font-weight:800;text-transform:uppercase;color:var(--green)}.vacancy-card>strong{display:block;font-family:Montserrat,sans-serif;font-size:38px;color:var(--navy);margin:10px 0 0}.vacancy-card small{color:var(--muted)}.vacancy-card.low{border-color:#e0ad42;background:#fff9ea}.vacancy-card.low .vacancy-card-top i{color:#b57c00}.vacancy-card.soldout{opacity:.65;background:#f4f4f2}.vacancy-card.soldout .vacancy-card-top i{color:var(--red)}
.future-grid,.collection-grid,.steps-grid,.contact-grid{display:grid;gap:16px}.future-grid{grid-template-columns:repeat(3,1fr)}.future-grid article,.collection-grid article,.steps-grid article{background:white;border:1px solid var(--line);border-radius:22px;padding:24px}.future-grid article>span,.steps-grid article>span,.collection-grid article>span{display:inline-flex;width:42px;height:42px;border-radius:12px;align-items:center;justify-content:center;background:#edf4f1;color:var(--green);font-weight:900}.future-grid h3,.collection-grid h3,.steps-grid h3{color:var(--navy);margin:16px 0 8px}.future-grid p,.collection-grid p,.steps-grid p{color:var(--muted);margin:0;line-height:1.5}
.campaign-section{background:var(--navy);color:white;display:grid;grid-template-columns:1.35fr .65fr;gap:56px;align-items:center}.campaign-section .kicker{color:#f5cb68}.campaign-copy h2{font-family:Montserrat,sans-serif;font-size:clamp(34px,5vw,58px);line-height:1.05;margin:12px 0}.campaign-copy p{font-size:18px;line-height:1.75;color:#d9e5ed}.campaign-logo{display:flex;justify-content:center}.campaign-logo img{width:min(100%,360px);border-radius:50%;background:white;padding:8px;box-shadow:0 18px 50px rgba(0,0,0,.2)}
.collection-grid{grid-template-columns:repeat(4,1fr)}.collection-grid small{display:block;margin-top:14px;color:var(--green);font-weight:700}
.steps-grid{grid-template-columns:repeat(4,1fr)}
.registration-section{background:linear-gradient(135deg,#0b4f3c 0%,#083d31 100%)}.registration-shell{display:grid;grid-template-columns:.8fr 1.2fr;max-width:1280px;margin:auto;background:white;border-radius:30px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.18)}.reg-side{background:#083d31;color:white;padding:42px}.reg-side .kicker{color:#f5cb68}.reg-side h2{font-family:Montserrat,sans-serif;font-size:50px;margin:12px 0}.reg-side p{line-height:1.65;color:#d8ebe5}.reg-mini{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:18px;border-radius:18px;margin-top:20px}.reg-mini strong,.reg-mini span,.reg-mini small{display:block}.reg-mini span{margin:6px 0;font-weight:800}.reg-mini small{color:#cce0da}.security-note{font-size:12px;line-height:1.6;color:#c9ddd7;border-top:1px solid rgba(255,255,255,.12);margin-top:18px;padding-top:18px}
.reg-form{padding:38px}.form-section-title{font-family:Montserrat,sans-serif;color:var(--navy);font-weight:800;margin:10px 0 14px}.fixed-event-card{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#f3f7f5;padding:15px;border-radius:16px;margin-bottom:22px}.fixed-event-card span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase}.fixed-event-card strong{font-size:13px;color:var(--navy)}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.full{grid-column:1/-1}label{font-size:13px;font-weight:800;color:#344a45}input,select{width:100%;margin-top:7px;padding:14px 15px;border:1px solid #cfdad5;border-radius:12px;background:white;font:inherit;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(11,79,60,.08)}.availability-box{display:flex;align-items:center;justify-content:space-between;background:#eff7f3;border-radius:14px;padding:14px}.availability-box span{color:var(--muted)}.availability-box strong{color:var(--green);font-size:18px}
.amount-chooser{display:grid;grid-template-columns:repeat(4,auto) 1fr;gap:8px}.amount-chooser button{border:1px solid var(--line);background:white;border-radius:12px;padding:12px;font-weight:800;cursor:pointer}.amount-chooser button.active{background:var(--green);color:white}.amount-chooser label{min-width:150px}
.payment-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px 0 14px}.payment-tab{border:1px solid var(--line);background:white;border-radius:12px;padding:13px;font-weight:800;cursor:pointer}.payment-tab.active{background:var(--navy);color:white}.payment-panel{display:none}.payment-panel.active{display:block}.pix-instructions{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#f4f7f6;border:1px solid var(--line);border-radius:16px;padding:16px}.pix-instructions strong,.pix-instructions small{display:block}.pix-instructions small{color:var(--muted);margin-top:4px}.nubank-link{display:inline-block;margin:12px 0;color:var(--green);font-weight:800}.helper{font-size:13px;color:var(--muted);line-height:1.55}.upload-zone{display:block;border:2px dashed #b8cbc3;border-radius:18px;text-align:center;padding:26px;cursor:pointer;background:#fafcfb}.upload-zone input{display:none}.upload-zone strong,.upload-zone span,.upload-zone em{display:block}.upload-zone span{color:var(--muted);font-size:12px}.upload-zone em{font-size:12px;color:var(--green);margin-top:8px}.upload-zone.dragover{border-color:var(--green);background:#eef8f3}.upload-icon{font-size:28px;color:var(--green)}.card-info{padding:18px;border-radius:16px;background:#f3f6f9}.card-info p{color:var(--muted);margin-bottom:0}.consent{display:flex;gap:12px;margin:20px 0;font-weight:500;line-height:1.5}.consent input{width:auto;margin:3px 0 0}.btn-submit{width:100%;font-size:16px}.form-message{margin-top:12px;font-size:13px}.form-message.success{color:var(--green)}.form-message.error{color:var(--red)}
.contact-grid{grid-template-columns:repeat(4,1fr)}.contact-card{background:white;border:1px solid var(--line);border-radius:20px;padding:20px;transition:.2s}.contact-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.contact-card strong,.contact-card span,.contact-card em{display:block}.contact-card strong{color:var(--navy);font-size:18px}.contact-card span{margin:7px 0;color:var(--muted)}.contact-card em{font-style:normal;color:var(--green);font-weight:800;font-size:12px}
footer{background:#071e33;color:white;padding:28px 5vw;display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-brand strong,.footer-brand span,.footer-meta span{display:block}.footer-brand span,.footer-meta{font-size:12px;color:#b9cad7}.footer-meta{text-align:right}.footer-meta span+span{margin-top:5px}
@media(max-width:980px){
  nav a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;padding-top:60px}.hero-identity{max-width:620px;margin:auto}.hero-proof{grid-template-columns:1fr}.support-signature{grid-template-columns:1fr;text-align:center}.support-signature img{margin:auto}.section-head{display:block}.smart-card,.registration-shell,.campaign-section,.vacancy-shell{grid-template-columns:1fr}.smart-stats,.future-grid,.collection-grid,.steps-grid,.contact-grid{grid-template-columns:1fr 1fr}.registration-shell{border-radius:22px}
}
@media(max-width:640px){
  .topbar{height:68px}.wordmark strong{font-size:13px}.hero{padding:52px 20px}.hero h1{font-size:46px}.section{padding:64px 20px}.smart-card{padding:20px}.smart-stats,.future-grid,.collection-grid,.steps-grid,.contact-grid,.fixed-event-card,.form-grid.two,.payment-tabs{grid-template-columns:1fr}.reg-side,.reg-form{padding:26px}.amount-chooser{grid-template-columns:1fr 1fr}.amount-chooser label{grid-column:1/-1}.pix-instructions{align-items:flex-start;flex-direction:column}footer{flex-direction:column;align-items:flex-start}.footer-meta{text-align:left}
}


.gallery-section{background:#fff}
.gallery-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#f7f3e8;border:1px solid #ead8a9;border-radius:18px;padding:18px 22px;margin-bottom:22px}
.gallery-intro strong{color:var(--navy);font-size:18px}.gallery-intro span{color:var(--muted);font-size:13px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.photo-placeholder{min-height:240px;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,#f4f7f5,#edf2ef);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px}
.photo-placeholder div{width:74px;height:74px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:white;color:var(--green);font-weight:900;border:1px solid var(--line);margin-bottom:14px}
.photo-placeholder span{font-weight:800;color:var(--navy)}
.gallery-note{margin-top:24px;padding:20px 22px;border-left:4px solid var(--gold);background:#fbf8ef;border-radius:12px}
.gallery-note strong{color:var(--navy)}.gallery-note p{margin:6px 0 0;color:var(--muted);line-height:1.6}
@media(max-width:980px){.gallery-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.gallery-intro{display:block}.gallery-intro span{display:block;margin-top:6px}.gallery-grid{grid-template-columns:1fr}}

.stages-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.stage-card{border-radius:26px;padding:26px;border:1px solid var(--line);background:#fff;box-shadow:0 10px 30px rgba(8,47,85,.05)}
.stage-card.confirmed{background:linear-gradient(135deg,#0a4a38,#0e5c46);color:white;border-color:transparent}
.stage-card.upcoming{background:#fff}
.stage-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.stage-date{display:inline-block;background:#e0ad42;color:#102f2a;padding:8px 12px;border-radius:999px;font-weight:900;font-size:12px}
.stage-status{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#dff2eb}
.stage-status.muted{color:var(--muted)}
.stage-card h3{font-family:Montserrat,sans-serif;font-size:30px;margin:0 0 5px;color:var(--navy)}
.stage-card.confirmed h3{color:white}
.stage-card>p{margin:0 0 18px;color:var(--muted)}
.stage-card.confirmed>p{color:#d6ebe5}
.stage-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.stage-stats div{border-radius:15px;padding:14px;background:#f3f7f5;border:1px solid var(--line)}
.stage-card.confirmed .stage-stats div{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.14)}
.stage-stats span,.stage-stats small,.stage-stats strong{display:block}
.stage-stats span{font-size:11px;color:var(--muted)}
.stage-card.confirmed .stage-stats span,.stage-card.confirmed .stage-stats small{color:#d6ebe5}
.stage-stats strong{font-size:20px;color:var(--navy);margin:3px 0}
.stage-card.confirmed .stage-stats strong{color:white}
.stage-stats small{font-size:11px;color:var(--muted)}
.stage-cta{width:100%;margin-top:6px}
.stage-cta:disabled{opacity:.6;cursor:not-allowed}
.stage-note{margin-top:20px;padding:18px 20px;border-radius:18px;background:#f7f3e8;border:1px solid #ead8a9}
.stage-note strong,.stage-note span{display:block}.stage-note strong{color:var(--navy);margin-bottom:5px}.stage-note span{color:var(--muted);line-height:1.55}
@media(max-width:980px){.stages-grid{grid-template-columns:1fr}.stage-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.stage-stats{grid-template-columns:1fr}}

/* Ajuste da nova logo oficial horizontal do Circuito Solidário */
.event-logo-frame{
  width:min(100%,760px);
  padding:16px 20px;
}
.event-logo-frame img{
  width:100%;
  height:auto;
  object-fit:contain;
  border-radius:14px;
}
@media(max-width:980px){
  .event-logo-frame{width:min(100%,720px)}
}


/* ===== Rodapé revisado ===== */
.site-footer{
  background:#071e33;
  color:#fff;
  padding:30px 5vw;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer-left,
.footer-right{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.footer-left{
  align-items:flex-start;
}
.footer-right{
  align-items:flex-end;
  text-align:right;
}
.footer-left strong{
  font-size:15px;
  color:#fff;
  line-height:1.35;
}
.footer-left span,
.footer-right span,
.footer-right a{
  font-size:12px;
  line-height:1.5;
  color:#b9cad7;
}
.footer-right strong{
  color:#fff;
}
.footer-right a{
  color:#f1c75b;
  font-weight:800;
  transition:.2s ease;
}
.footer-right a:hover{
  color:#fff;
}
@media(max-width:760px){
  .site-footer{
    grid-template-columns:1fr;
    gap:18px;
    padding:26px 20px;
  }
  .footer-right{
    align-items:flex-start;
    text-align:left;
  }
}

/* Hero refinado: identidade principal sem repetição visual */
.hero-identity{
  display:flex;
  align-items:center;
  justify-content:center;
}
.event-logo-frame{
  width:min(100%,760px);
  background:#fff;
  border-radius:30px;
  padding:20px 24px;
  box-shadow:0 22px 60px rgba(8,47,85,.10);
  border:1px solid rgba(8,47,85,.06);
}
.event-logo-frame img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}

.beneficiary-line{
  display:flex;
  align-items:center;
  gap:10px;
  margin:18px 0 0;
  color:var(--muted);
  font-size:13px;
}
.beneficiary-line span{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  font-size:10px;
}
.beneficiary-line strong{
  color:var(--green);
  font-size:13px;
}
@media(max-width:640px){
  .beneficiary-line{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}


/* ===== Hero mais carinhoso, chamativo e divertido ===== */
.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(216,166,58,.18), rgba(11,79,60,.08));
  color:var(--green);
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
  margin:18px 0 18px;
  border:1px solid rgba(216,166,58,.28);
}
.hero h1{
  max-width:820px;
}
.hero h1 span{
  display:block;
  margin-top:10px;
  font-size:.74em;
  line-height:1.04;
}
.hero-highlight{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:22px 0 0;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(135deg,#fff 0%,#f7f2e5 100%);
  border:1px solid #ead8a9;
  box-shadow:0 10px 26px rgba(8,47,85,.05);
  max-width:640px;
}
.hero-highlight strong{
  color:var(--navy);
  font-size:18px;
}
.hero-highlight span{
  color:#516865;
  line-height:1.5;
}
.hero-proof div{
  position:relative;
  overflow:hidden;
}
.hero-proof div::after{
  content:'';
  position:absolute;
  inset:auto -25px -25px auto;
  width:72px;
  height:72px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(216,166,58,.18), transparent 70%);
}
@media(max-width:640px){
  .hero-badge{
    font-size:12px;
    line-height:1.35;
  }
  .hero-highlight strong{
    font-size:16px;
  }
}


/* ===== LIBERAÇÃO URGENTE: botão de envio e confirmação ===== */
.btn-submit{
  pointer-events:auto !important;
  opacity:1 !important;
  cursor:pointer !important;
}
.btn-submit:disabled{
  opacity:.72 !important;
  cursor:wait !important;
}
.success-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(4,28,24,.72);
  backdrop-filter:blur(8px);
}
.success-modal.show{display:flex}
.success-card{
  width:min(100%,520px);
  background:#fffdf7;
  border-radius:30px;
  padding:38px 32px;
  text-align:center;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
  border:1px solid rgba(216,166,58,.35);
}
.success-icon{
  width:76px;
  height:76px;
  margin:0 auto 16px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#0b4f3c,#12664e);
  color:#fff;
  font-size:34px;
}
.success-kicker{
  display:block;
  color:#a51c1c;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  margin-bottom:8px;
}
.success-card h2{
  margin:0 0 12px;
  font-family:Montserrat,sans-serif;
  color:#082f55;
  font-size:34px;
}
.success-card p{
  margin:0 auto 18px;
  color:#38534d;
  font-size:18px;
  line-height:1.55;
}
.success-protocol{
  margin:18px 0 24px;
  padding:14px;
  border-radius:14px;
  background:#eef5f1;
  color:#47635c;
  font-size:13px;
  line-height:1.5;
}

/* Ajuste de horários da raqueteira */
.fixed-event-card strong{
  line-height:1.35;
}
.stage-stats small{
  line-height:1.35;
}
