@font-face{font-family:Archivo;src:url('../assets/fonts/archivo-variable-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url('inter-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Permanent Marker';src:url('../assets/fonts/permanent-marker-latin.woff2') format('woff2');font-display:swap}
:root{--navy:#0b1e4b;--blue:#14336d;--green:#c6fc39;--pale:#edf4fb;--line:#bfd2e7;--ink:#11254b;--muted:#66717f;--whatsapp:#44d983}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Arial,sans-serif;overflow-x:hidden}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
svg{display:block;width:20px;height:20px}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.skip-link{position:absolute;z-index:100;left:12px;top:-70px;padding:10px;background:var(--green)}
.skip-link:focus{top:10px}

.header{position:sticky;z-index:30;top:0;height:78px;border-top:5px solid var(--green);background:var(--navy);color:white;box-shadow:0 8px 20px rgba(7,23,58,.12)}
.header-inner{display:flex;align-items:center;justify-content:space-between;width:min(calc(100% - 40px),1168px);height:73px;margin:auto;gap:30px}
.brand{display:inline-flex;align-items:center;gap:7px;flex:none;line-height:1}
.brand img{width:80px;height:auto}
.brand strong{color:white;font-family:Archivo,Arial,sans-serif;font-size:37px;font-weight:900;letter-spacing:-.075em}
.desktop-nav{display:flex;align-items:center;gap:clamp(16px,2vw,28px);height:100%;white-space:nowrap}
.desktop-nav a{position:relative;color:#bfc9db;font-family:Archivo,Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--green)}
.desktop-nav a[aria-current]:after{content:'';position:absolute;left:0;right:0;bottom:-13px;height:2px;background:var(--green)}
.menu-button,.mobile-nav{display:none}

.hero{background:var(--navy);color:white}
.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;gap:32px;width:min(calc(100% - 40px),1168px);margin:auto;padding:55px 0 56px}
.countdown{display:inline-block;margin:0 0 24px;padding:13px 20px;border:1px solid rgba(198,252,57,.58);border-radius:999px;color:var(--green);font-family:Archivo,Arial,sans-serif;font-size:13px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.countdown b{padding-inline:3px}
.eyebrow{margin:0;color:var(--green);font-family:Archivo,Arial,sans-serif;font-size:13px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
.hero h1{margin:17px 0 23px;font-family:Archivo,Arial,sans-serif;font-size:clamp(46px,4.5vw,58px);font-weight:900;letter-spacing:-.045em;line-height:.92;text-transform:uppercase}
.hero-copy>p:last-child{max-width:590px;margin:0;color:#c4cad5;font-size:17px;line-height:1.8}
.hero-candidate{display:grid;grid-template-columns:minmax(0,1fr) 31%;height:254px;border-left:7px solid var(--green);background:#173469;overflow:hidden}
.hero-candidate-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:28px 30px}
.hero-candidate-copy span{color:var(--green);font-family:Archivo,Arial,sans-serif;font-size:13px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
.hero-candidate-copy strong{margin:12px 0 6px;color:white;font-family:Archivo,Arial,sans-serif;font-size:34px;font-weight:900;letter-spacing:-.045em;line-height:1;text-transform:uppercase}
.hero-candidate-copy b{color:var(--green);font-family:Archivo,Arial,sans-serif;font-size:60px;font-weight:900;letter-spacing:-.05em;line-height:1}
.hero-candidate img{width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.hero-bottom{display:grid;place-items:center;min-height:56px;padding:12px 20px;background:var(--green);color:var(--navy);font-family:Archivo,Arial,sans-serif;font-size:14px;font-weight:900;text-align:center;text-transform:uppercase}

.builder{padding:64px 0;background:var(--pale)}
.builder-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:start;gap:56px;width:min(calc(100% - 40px),1168px);margin:auto}
.form-panel,.preview-panel{min-width:0}
.form-heading{margin-bottom:24px}
.builder h2,.quick-info h2{margin:0;font-family:Archivo,Arial,sans-serif;font-weight:900;letter-spacing:-.045em;text-transform:uppercase}
.builder h2{color:var(--navy);font-size:36px;line-height:1}
.form-heading p{max-width:580px;margin:14px 0 0;color:#5f6977;font-size:15px;line-height:1.6}
.vote-row{margin-bottom:12px;padding:20px;border:1px solid var(--line);background:#fff}
.vote-main{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vote-main label{color:var(--navy);font-family:Archivo,Arial,sans-serif;font-size:14px;font-weight:850;text-transform:uppercase}
.vote-main>span{color:#89919a;font-size:12px;white-space:nowrap}
.vote-control{display:flex;gap:8px;margin-top:12px}
.vote-control input[type=text]{width:100%;min-width:0;height:48px;padding:0 16px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--navy);font-family:Archivo,Arial,sans-serif;font-size:20px;font-weight:700;outline:0}
.vote-control input[type=text]::placeholder{color:#a9b4c2;opacity:1}
.vote-control input[type=text]:focus{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.vote-control input[type=text]:disabled{background:#eef2f7;color:#7a8594}
.null-toggle{position:relative;display:grid;place-items:center;flex:none;width:66px;height:48px;border:1px solid var(--line);border-radius:9px;background:white;box-shadow:0 2px 4px rgba(5,26,67,.11);color:var(--navy);font-size:13px;font-weight:750;cursor:pointer}
.null-toggle input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.null-toggle:has(input:checked){background:var(--green);border-color:var(--green)}
.null-toggle:has(input:focus-visible){outline:3px solid var(--green);outline-offset:3px}
.candidate-status{display:flex;align-items:center;gap:14px;min-height:52px;margin-top:12px;padding:9px;background:var(--pale);color:var(--navy);font-family:Archivo,Arial,sans-serif;font-size:14px;font-weight:850;text-transform:uppercase}
.candidate-status .result-photo{width:96px;height:120px;flex:none;object-fit:cover;object-position:center 25%}
.candidate-status .result-copy{display:flex;flex-direction:column;gap:4px}
.candidate-status small{color:#7a8594;font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:500;text-transform:none}
.candidate-status.is-caution{color:#713f12}
.vote-neto{display:flex;align-items:center;gap:16px;min-height:112px;border-left:5px solid var(--green);background:var(--navy);color:white;padding:16px}
.vote-neto-photo{width:64px;height:80px;flex:none;object-fit:cover;object-position:center 24%}
.vote-neto .vote-main{display:flex;flex:1;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}
.vote-neto .vote-main>span{color:var(--green);font-family:Archivo,Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.vote-neto .vote-main strong{color:white;font-family:Archivo,Arial,sans-serif;font-size:21px;font-weight:900;line-height:1.1;text-transform:uppercase}
.vote-neto .vote-main small{color:#bdc6d7;font-size:13px}
.vote-neto>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.fixed-confirm{display:grid;place-items:center;min-width:128px;height:44px;border-radius:8px;background:var(--green);box-shadow:0 4px 0 #86b826;color:var(--navy);font-family:Archivo,Arial,sans-serif;font-size:15px;font-weight:900;letter-spacing:.07em}
.clear-btn{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;border:0;background:none;color:var(--navy);font-size:13px;font-weight:650}
.clear-btn svg{width:17px;height:17px}
.form-warning{padding:12px;background:#fff0c8;color:#6d3e08;font-size:13px;font-weight:750}
.data-note{margin:20px 0 0;color:#697380;font-size:12px;line-height:1.7}
.data-note a{text-decoration:underline;text-underline-offset:2px}

.preview-panel{position:sticky;top:110px;align-self:start}
.preview-panel h2{margin-bottom:20px}
.format-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--line);background:white}
.format-tabs button{height:40px;border:0;background:white;color:var(--navy);font-family:Archivo,Arial,sans-serif;font-size:13px;font-weight:900}
.format-tabs button.is-active{background:var(--navy);color:white}
.canvas-shell{display:flex;justify-content:center;margin-top:20px}
.canvas-shell canvas{display:block;width:min(100%,400px);height:auto;aspect-ratio:3/4;border:1px solid var(--line);box-shadow:0 12px 26px rgba(9,31,76,.14)}
.canvas-shell.is-story canvas{aspect-ratio:9/16}
.preview-actions{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.preview-actions button,.preview-actions a{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:11px 14px;border:1px solid var(--navy);background:#fff;color:var(--navy);font-family:Archivo,Arial,sans-serif;font-size:15px;font-weight:900;letter-spacing:.02em;text-align:center;text-transform:uppercase;transition:filter .2s,transform .2s}
.preview-actions button:hover,.preview-actions a:hover{filter:brightness(.95);transform:translateY(-2px)}
.preview-actions button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.preview-actions svg{width:18px;height:18px;flex:none}
.preview-actions .download-btn{min-height:52px;border-color:var(--green);background:var(--green);clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}
.preview-actions .share-btn{min-height:52px;border-color:var(--whatsapp);background:var(--whatsapp);clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}
.preview-actions .secondary-btn{min-height:48px}

.quick-info{padding:64px 0;background:#fff}
.info-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;width:min(calc(100% - 40px),1168px);margin:auto}
.quick-info h2{color:var(--navy);font-size:20px;line-height:1.25}
.quick-info p{margin:16px 0 0;color:#5f6977;font-size:16px;line-height:1.6}
.join-band{display:grid;place-items:center;min-height:100px;background:#153269}
.join-band a{display:grid;place-items:center;min-width:255px;min-height:46px;padding:10px 25px;background:var(--green);clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);color:var(--navy);font-family:Archivo,Arial,sans-serif;font-size:14px;font-weight:900;letter-spacing:.06em}
.footer{background:var(--navy);color:#b4c0d4}
.footer-main{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:52px;width:min(calc(100% - 40px),1168px);margin:auto;padding:78px 0}
.footer-brand .brand img{width:82px}
.footer-brand .brand strong{font-size:48px}
.footer-brand p{max-width:305px;margin:22px 0 0;font-size:15px;line-height:1.6}
.footer-main h2{margin:0 0 20px;color:var(--green);font-family:Archivo,Arial,sans-serif;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.footer-main nav,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.footer-main nav h2,.footer-contact h2{margin-bottom:5px}
.footer-main a:not(.brand){font-size:15px}
.footer-main a:not(.brand):hover{text-decoration:underline}
.footer-marker{margin:5px 0 0;color:var(--green);font-family:'Permanent Marker',cursive;font-size:32px;transform:rotate(-6deg)}
.footer-bottom{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:24px max(20px,calc((100vw - 1168px)/2));border-top:1px solid rgba(255,255,255,.1);font-size:11px;line-height:1.5}
.footer-bottom>p,.disclosure p{margin:0}
.disclosure strong{color:white;font-family:Archivo,Arial,sans-serif;font-size:11px;letter-spacing:.1em}
.floating-whatsapp{position:fixed;z-index:25;right:16px;bottom:16px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 16px;background:var(--whatsapp);clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);color:#07351c;font-family:Archivo,Arial,sans-serif;font-size:14px;font-weight:800;box-shadow:0 10px 24px rgba(5,28,68,.25)}
.floating-whatsapp svg{width:23px;height:23px}

.simulator{width:min(94vw,460px);max-height:90vh;padding:16px;border:0;background:var(--navy);color:white;overflow:auto;box-shadow:0 30px 90px rgba(0,0,0,.5)}
.simulator::backdrop{background:rgba(7,20,54,.82)}
.sim-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.sim-header strong{color:var(--green);font-family:Archivo,Arial,sans-serif;font-size:14px;font-weight:900}
.sim-header button{border:0;background:none;color:white;font-size:14px}
.sim-screen{height:285px;padding:14px 16px;border:4px solid #788dad;background:#e9e9e5;color:#252525}
.sim-screen>p:first-child{margin:0;border-bottom:1px solid #b7b7b7;font-size:12px;font-weight:700;letter-spacing:.06em;text-align:center}
.sim-screen h2{margin:10px 0 14px;font-family:Archivo,Arial,sans-serif;font-size:22px;font-weight:900;text-align:center;text-transform:uppercase}
.sim-number{display:flex;align-items:center;gap:7px;font-size:14px}
.sim-display{display:flex;gap:4px}
.sim-display span{display:grid;place-items:center;width:31px;height:39px;border:2px solid #747474;background:white;font-family:Archivo,Arial,sans-serif;font-size:25px;font-weight:850}
.sim-message{font-size:13px;font-weight:700}
.sim-instruction{margin:16px 0;padding:13px;background:#152f66;color:#c9d6ef;font-size:13px}
.sim-keypad{padding:0;background:transparent}
.sim-digits{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.sim-digits button{height:47px;border:0;background:#282828;box-shadow:0 3px 0 #0d0d0d;color:white;font-family:Archivo,Arial,sans-serif;font-size:20px;font-weight:850}
.sim-commands{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px}
.sim-commands button{min-height:44px;border:0;font-family:Archivo,Arial,sans-serif;font-size:12px;font-weight:900}
.sim-commands button:first-child{background:#fff}.sim-commands button:nth-child(2){background:#ee9851}.sim-commands button:nth-child(3){background:#63bd85}
.sim-disclaimer{margin:12px 0 0;color:#afbdd5;font-size:11px}

@media(max-width:1100px){.desktop-nav{display:none}.menu-button{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;background:rgba(255,255,255,.1);color:white}.mobile-nav{position:absolute;top:73px;left:0;right:0;display:flex;flex-direction:column;gap:0;max-height:calc(100vh - 73px);padding:34px 20px 44px;background:var(--navy);overflow:auto}.mobile-nav a{display:block;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12);font-family:Archivo,Arial,sans-serif;font-size:21px;font-weight:850;text-transform:uppercase}.mobile-nav a[aria-current]{color:var(--green)}.mobile-nav .mobile-nav-cta{margin-top:28px;padding:15px;background:var(--green);color:var(--navy);font-size:14px;text-align:center}}
@media(max-width:767px){.header-inner{width:calc(100% - 40px)}.hero-inner{display:block;padding:40px 0 45px}.countdown{margin-bottom:32px;padding:12px 19px;font-size:12px}.hero h1{margin:19px 0 22px;font-size:32px;line-height:.9;letter-spacing:-.045em}.hero-copy>p:last-child{font-size:16px;line-height:1.7}.hero-candidate{height:185px;margin-top:34px;grid-template-columns:minmax(0,1fr) 33%}.hero-candidate-copy{padding:17px 20px}.hero-candidate-copy span{font-size:11px}.hero-candidate-copy strong{max-width:160px;margin:12px 0 7px;font-size:23px;line-height:1.05}.hero-candidate-copy b{font-size:48px}.hero-bottom{min-height:72px;font-size:13px;line-height:1.3}.builder{padding:64px 0}.builder-grid{display:block}.builder h2{font-size:24px}.form-heading{margin-bottom:26px}.form-heading p{margin-top:15px;font-size:15px;line-height:1.55}.vote-row{padding:16px;margin-bottom:12px}.vote-neto{padding:16px;min-height:108px}.vote-neto-photo{width:64px;height:78px}.vote-neto .vote-main strong{font-size:18px}.fixed-confirm{display:none}.preview-panel{position:static;margin-top:42px}.preview-panel h2{margin-bottom:20px}.canvas-shell canvas{width:100%;max-width:400px}.quick-info{padding:48px 0}.info-inner{display:block}.quick-info .info-inner>div+div{margin-top:34px}.quick-info h2{font-size:18px}.quick-info p{font-size:15px}.footer-main{display:block;padding:52px 0}.footer-main nav,.footer-contact{margin-top:40px}.footer-bottom{display:block;padding:23px 20px}.disclosure{margin-top:18px}.floating-whatsapp{width:54px;height:54px;padding:10px}.floating-whatsapp span{display:none}}
@media(max-width:390px){.hero-candidate-copy span{font-size:10px}.hero-candidate-copy strong{font-size:22px}.hero-candidate-copy b{font-size:46px}.vote-main label{font-size:13px}.preview-actions button,.preview-actions a{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media print{.header,.hero,.hero-bottom,.form-panel,.preview-panel h2,.format-tabs,.preview-actions,.quick-info,.join-band,.footer,.floating-whatsapp,.simulator{display:none!important}.builder{padding:0;background:white}.builder-grid{display:block;width:100%}.preview-panel{position:static;margin:0}.canvas-shell{margin:0}.canvas-shell canvas,.canvas-shell.is-story canvas{width:100%;max-width:180mm;max-height:260mm;border:0;box-shadow:none}@page{size:A4;margin:10mm}}
