@font-face{font-family:Poppins;src:url('/site/fonts/poppins-400-latin.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url('/site/fonts/poppins-600-latin.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Anton;src:url('/site/fonts/anton-400-latin.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--pink:#ff00ff;--bg:#0b0b0c;--surface:#18181c;--ink:#f4f4f4;--soft:#b4b4ba;--sw:#e23a2e;--radius:14px;--gutter:clamp(20px,5vw,80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 Poppins,sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--pink);outline-offset:4px}img{display:block;max-width:100%}.wrap{width:min(1280px,calc(100% - var(--gutter)*2));margin-inline:auto}.top{display:flex;align-items:center;justify-content:space-between;padding-block:24px}.logo{width:125px;height:auto}.top p{font-size:14px;margin:0;color:var(--soft)}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:clamp(32px,5vw,80px);align-items:center;padding-block:22px 64px}.hero-copy h1{font:400 clamp(64px,8.1vw,116px)/1.03 Anton,sans-serif;letter-spacing:-.015em;margin:0 0 22px}.hero-copy h1 span{display:block;color:var(--pink)}.intro{font-size:18px;max-width:520px;margin:0 0 26px}.date{display:flex;align-items:center;gap:15px;margin:0 0 25px}.date strong{font:400 44px/1 Anton,sans-serif;color:var(--pink)}.date span{max-width:180px;font-size:14px;line-height:1.5}.hero-photo{width:100%;height:224px;object-fit:cover;object-position:center 46%;border-radius:var(--radius)}.form-shell{background:var(--surface);padding:clamp(24px,3vw,40px);border-radius:var(--radius)}.form-shell h2{font-size:25px;line-height:1.25;margin:0 0 8px}.form-intro{font-size:15px;color:var(--soft);margin:0 0 22px}.field{display:block;margin-bottom:16px}.field span{display:block;font-size:14px;font-weight:600;margin-bottom:6px}input:not([type=checkbox]),select{width:100%;background:#0f0f11;color:var(--ink);border:1px solid #56565f;border-radius:8px;min-height:49px;padding:11px 13px;font-size:16px}input::placeholder{color:#9999a1}select{padding-right:30px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.55;margin:4px 0 19px}.consent input{width:19px;height:19px;accent-color:var(--pink);flex-shrink:0;margin:3px 0 0}.primary{display:flex;justify-content:center;align-items:center;width:100%;min-height:54px;background:var(--pink);color:var(--bg);border:0;border-radius:8px;padding:13px 19px;font-weight:600;text-decoration:none;line-height:1.4}.primary:hover{background:#ff45ff}.privacy-note{font-size:12px;color:var(--soft);margin:14px 0 0}.privacy-button{color:var(--soft);background:none;padding:0;border:0;text-decoration:underline;font-size:inherit}.status{font-size:14px;margin:12px 0 0;min-height:0}.status:not(:empty){padding:12px;background:#3a1324;color:#ffccd8;border-radius:8px}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.modalities{padding-block:56px 68px}.section-heading{display:flex;gap:40px;justify-content:space-between;align-items:flex-end;margin-bottom:30px}.section-heading h2{font:400 clamp(36px,4vw,52px)/1.15 Anton,sans-serif;margin:0;max-width:540px}.section-heading p{color:var(--soft);max-width:380px;margin:0}.modality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.modality img{height:200px;width:100%;object-fit:cover;border-radius:var(--radius)}.modality h3{font-size:21px;margin:16px 0 7px}.modality p{color:var(--soft);font-size:14px;margin:0 0 16px}.modality button{border:0;padding:0;background:none;color:var(--pink);font-weight:600;font-size:14px;min-height:35px}.modality.soul button{color:#ff7166}.closing{padding:48px var(--gutter);background:var(--pink);color:var(--bg);text-align:center}.closing h2{font:400 clamp(38px,5vw,64px)/1.1 Anton,sans-serif;margin:0 0 14px}.closing p{margin:0 0 24px}.closing .primary{width:max-content;max-width:100%;margin:auto;background:var(--bg);color:var(--ink);padding-inline:32px}.footer{padding-block:24px;font-size:12px;color:var(--soft);display:flex;justify-content:space-between;gap:20px}.footer p{margin:0}dialog{padding:36px;background:var(--surface);color:var(--ink);border:0;border-radius:var(--radius);width:min(520px,calc(100% - 32px));max-height:85dvh;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.78)}dialog h2{font:400 43px/1.15 Anton,sans-serif;margin:14px 0 18px}dialog p{color:var(--soft);margin:0 0 22px}.close-dialog{display:block;margin-left:auto;background:none;border:0;color:var(--ink);min-width:44px;min-height:44px;font-size:24px;line-height:1}.decline{display:block;margin:14px auto 0;padding:8px;border:0;color:var(--soft);background:none;font-size:13px}.privacy-dialog h2{font:600 25px/1.3 Poppins,sans-serif}.privacy-dialog p{font-size:14px}.thanks-layout{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding-block:48px}.thanks-photo{width:100%;height:660px;max-height:82svh;object-fit:cover;border-radius:var(--radius)}.thanks h1{font:400 clamp(48px,6vw,76px)/1.12 Anton,sans-serif;margin:30px 0 22px}.thanks h1 span{color:var(--pink)}.thanks p{max-width:540px}.countdown{font-size:14px;color:var(--soft)}.countdown button{display:block;padding:8px 0;color:var(--soft);border:0;background:none;text-decoration:underline}.thanks small{display:block;color:var(--soft);margin-top:24px}.thanks .primary{margin-top:28px}.thanks .logo{margin-bottom:35px}
@media(max-width:900px){.hero{gap:30px;grid-template-columns:1fr 1fr}.hero-copy h1{font-size:76px}.form-shell{padding:24px}.modality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{display:block}.section-heading p{margin-top:16px}.thanks-layout{gap:30px}.thanks-photo{height:540px}}
@media(max-width:640px){.top{padding-block:18px}.logo{width:105px}.top p{font-size:12px}.hero{display:flex;flex-direction:column;gap:24px;padding-block:12px 32px;align-items:stretch}.hero-copy h1{font-size:clamp(52px,15vw,72px);margin:0 0 12px}.hero-copy h1 span{display:inline}.intro{font-size:15px;margin:0 0 10px}.date{margin:0}.date strong{font-size:31px}.date span{font-size:12px;max-width:none}.hero-photo{display:none}.form-shell{padding:23px}.form-shell h2{font-size:23px}.form-intro{font-size:13px;margin-bottom:17px}.field{margin-bottom:12px}.field span{font-size:13px}.consent{font-size:12px;margin-bottom:16px}.privacy-note{font-size:11px}.modalities{padding-block:32px 45px}.section-heading{margin-bottom:26px}.section-heading h2{font-size:36px}.section-heading p{font-size:15px}.modality-grid{gap:26px 16px}.modality img{height:170px}.modality h3{font-size:18px}.modality p{font-size:13px}.modality button{font-size:13px}.closing{padding-block:37px}.closing h2{font-size:39px}.footer{display:block}.footer p+p{margin-top:8px}.thanks-layout{display:block;padding-block:40px}.thanks-photo{display:none}.thanks h1{font-size:58px}.thanks .logo{margin-bottom:48px}dialog{padding:22px}dialog h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Leitura e contraste conforme o design MFIT. */
.modality p{font-size:16px}.form-intro{font-size:16px}.privacy-note,.footer,.consent,.date span{font-size:13px}@media(max-width:640px){.intro{font-size:16px}.form-intro{font-size:14px}.modality p{font-size:15px}.privacy-note,.consent,.top p{font-size:13px}}

/* Fotos e movimento acompanham a identidade MFIT, sem bloquear o cadastro. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
.form-shell{position:relative;overflow:hidden}
.form-shell::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--pink);transform:scaleX(.16);transform-origin:left;transition:transform 350ms var(--ease-out)}
.form-shell:focus-within::before{transform:scaleX(1)}
.primary{transition:transform 180ms var(--ease-out),background-color 180ms ease}
.primary:active{transform:scale(.98)}
.modality-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:32px 24px}
.modality{grid-column:span 3;min-width:0}
.modality:nth-child(-n+3){grid-column:span 4}
.modality-photo{overflow:hidden;border-radius:var(--radius);background:var(--surface)}
.modality-photo img{border-radius:0;object-position:center 35%;transition:transform 500ms var(--ease-out)}
.modality.soul img{object-position:center 38%}
.modality h3{font-size:20px;line-height:1.35}
.modality h3 small{display:block;font:400 14px/1.5 Poppins,sans-serif;color:var(--soft);margin-top:3px}
.modality p{font-size:15px}
.modality button{min-height:44px;text-align:left;line-height:1.5;transition:color 180ms ease,transform 180ms var(--ease-out)}
.modality button:active{transform:translateX(3px)}
@media(hover:hover) and (pointer:fine){.primary:hover{transform:translateY(-2px)}.modality:hover .modality-photo img{transform:scale(1.04)}.modality button:hover{color:var(--ink);transform:translateX(3px)}}
@media(max-width:900px){.modality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modality,.modality:nth-child(-n+3){grid-column:auto}.modality:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:24px}.modality:last-child img{height:100%;min-height:220px}.modality:last-child h3{margin-top:0}}
@media(max-width:640px){
 .modality-grid{grid-template-columns:1fr;gap:18px}
 .modality,.modality:last-child{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto auto auto;gap:0 18px;padding:16px;background:var(--surface);border-radius:var(--radius)}
 .modality-copy{display:contents}
 .modality-photo{grid-column:1;grid-row:1/3;border-radius:8px}
 .modality-photo img,.modality:last-child img{height:158px;min-height:0;object-position:center 38%}
 .modality h3,.modality:last-child h3{grid-column:2;grid-row:1;margin:0 0 8px;align-self:end;font-size:19px}
 .modality h3 small{font-size:14px}
 .modality button{grid-column:2;grid-row:2;align-self:start;font-size:14px;padding-block:5px;min-height:44px}
 .modality p{grid-column:1/-1;grid-row:3;margin:16px 0 0;font-size:15px;line-height:1.6}
 .closing h2{font-size:clamp(30px,8.7vw,39px)}
}
@media(prefers-reduced-motion:no-preference){dialog[open]{animation:dialog-enter 250ms var(--ease-out)}dialog[open]::backdrop{animation:backdrop-enter 200ms ease}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.primary:hover,.primary:active,.modality:hover .modality-photo img,.modality button:hover,.modality button:active{transform:none}}
.modality.soul:has([data-choose="kids-meninos"]) img{object-position:center 75%}

/* Convite opcional depois do cadastro, mantendo o grupo como ação principal. */
[hidden]{display:none!important}
.thanks-invite{align-items:start;min-height:100svh;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);padding-block:48px 64px}
.invite-panel{min-width:0;background:var(--surface);padding:clamp(22px,3vw,36px);border-radius:var(--radius)}
.invite-panel h2{font:400 clamp(32px,3.5vw,44px)/1.15 Anton,sans-serif;margin:0 0 16px}
.invite-panel>p,.story-panel>p{font-size:15px;color:var(--soft)}
.invite-field{margin:24px 0 12px}.invite-field input{font-size:14px;text-overflow:ellipsis}
.secondary{min-height:48px;padding:12px 18px;border:0;border-radius:8px;background:#303036;color:var(--ink);font-weight:600;line-height:1.5;transition:background-color 180ms ease,transform 180ms var(--ease-out)}
.secondary:hover{background:#414148}.secondary:active{transform:scale(.98)}
#copy-invite{width:100%}#invite-status{font-size:14px;color:var(--ink);min-height:0;margin:12px 0 0}
.story-panel{margin-top:36px}.story-panel h3{font-size:21px;line-height:1.4;margin:0 0 8px}.story-panel>p{margin:0 0 20px}
#story-preview{width:min(100%,300px);height:auto;margin:0 auto 20px;border-radius:8px}
.story-actions{display:flex;flex-wrap:wrap;gap:12px}.story-actions button{flex:1}.story-panel .share-tip{font-size:13px;margin:18px 0 0}
@media(max-width:640px){.thanks-invite{display:block;padding-block:30px 40px}.thanks-invite .thanks h1{font-size:clamp(40px,11.5vw,58px);margin-top:24px}.thanks-invite .thanks .logo{margin-bottom:24px}.invite-panel{margin-top:36px;padding:22px}.invite-panel h2{font-size:34px}.story-panel h3{font-size:20px}.story-actions{flex-direction:column}.thanks-invite .thanks small{font-size:13px}}
@media(prefers-reduced-motion:reduce){.secondary:active{transform:none}}

/* Contagem até a abertura de 01/11/2026 às 9h de Cáceres. */
.vip-countdown{margin:24px 0;max-width:420px}.countdown-label{font-size:14px;line-height:1.6;margin:0 0 14px}.countdown-digits{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.countdown-digits>div{padding:12px 8px;background:var(--surface);border-radius:8px;text-align:center}.countdown-digits strong{display:block;font:400 42px/1.1 Anton,sans-serif;font-variant-numeric:tabular-nums}.countdown-digits span{display:block;font-size:13px;color:var(--soft);margin-top:6px}.countdown-timezone{font-size:13px;color:var(--soft);margin:10px 0 0}@media(max-width:640px){.vip-countdown{margin:18px 0 0;max-width:none}.countdown-label{font-size:13px;margin-bottom:10px}.countdown-digits{gap:8px}.countdown-digits>div{padding:10px 6px}.countdown-digits strong{font-size:34px}.countdown-digits span{font-size:13px;margin-top:4px}.countdown-timezone{font-size:13px;margin-top:8px}}
