:root{--fuego:#FF3B00;--negro:#0A0A0A;--hueso:#FFF6EE;--blanco:#FFFFFF;--sello:#00D26A;--gris:#5C5652;--display:'Bricolage Grotesque','Archivo',Impact,sans-serif;--body:'Archivo',Helvetica,Arial,sans-serif;--mono:ui-monospace,Consolas,Menlo,monospace;--bw:4px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--hueso);color:var(--negro);font-family:var(--body);font-size:18px;line-height:1.5}
h1,h2,h3{font-family:var(--display);font-weight:800;margin:0;line-height:.92;letter-spacing:-.03em;font-variation-settings:'opsz' 96}
h1{font-size:clamp(3rem,10vw,8.5rem)}
h2{font-size:clamp(2.2rem,5.5vw,4.6rem);margin-bottom:28px}
h3{font-size:clamp(1.4rem,2.4vw,1.9rem);letter-spacing:-.02em;font-variation-settings:'opsz' 24}
p{margin:0 0 1rem;max-width:58ch}
a{color:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
section{padding:96px 0}
section.tight{padding-top:0}
.tiny{font-size:.92rem;color:var(--gris);font-weight:500}
.note{font-size:.9rem;color:var(--gris);font-weight:500}
.btn{display:inline-block;font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:-.01em;padding:18px 28px;text-decoration:none;border:var(--bw) solid var(--negro);background:var(--negro);color:var(--hueso);box-shadow:8px 8px 0 var(--fuego);transition:transform .12s,box-shadow .12s;cursor:pointer}
.btn:hover{transform:translate(4px,4px);box-shadow:4px 4px 0 var(--fuego)}
.btn:active{transform:translate(8px,8px);box-shadow:0 0 0 var(--fuego)}
.btn.fire{background:var(--fuego);color:var(--negro);box-shadow:8px 8px 0 var(--negro)}
.btn.fire:hover{box-shadow:4px 4px 0 var(--negro)}
.btn.line{background:transparent;color:inherit;box-shadow:none}
.btn.line:hover{transform:none;background:var(--negro);color:var(--hueso)}
.btn.small{font-size:.95rem;padding:10px 16px;box-shadow:4px 4px 0 var(--fuego)}
:focus-visible{outline:4px solid var(--fuego);outline-offset:4px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

header.site{background:var(--negro);color:var(--hueso);position:relative;z-index:5}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:16px}
.wordmark{font-family:var(--display);font-weight:800;font-size:1.7rem;letter-spacing:-.05em;text-decoration:none;line-height:1}
.wordmark i{font-style:normal;color:var(--fuego)}
.nav nav a{color:var(--hueso);text-decoration:none;margin-left:22px;font-weight:500;font-size:.98rem;border-bottom:3px solid transparent}
.nav nav a.on{border-color:var(--fuego)}
.nav nav a.go{background:var(--fuego);color:var(--negro);padding:10px 16px;font-family:var(--display);font-weight:800;border:0}
.burger{display:none;background:none;border:3px solid var(--hueso);color:var(--hueso);font-size:1.2rem;padding:6px 10px;cursor:pointer}
@media (max-width:900px){.burger{display:block}.nav nav{display:none;width:100%;flex-direction:column;gap:6px;padding:10px 0 6px}.nav nav.open{display:flex}.nav nav a{margin:0;padding:10px 0;border-bottom:3px solid #222}.nav{flex-wrap:wrap}}

.hero{background:var(--fuego);color:var(--negro);padding:64px 0 72px;position:relative;overflow:hidden}
.hero h1{max-width:12ch}
.hero .sub{font-size:clamp(1.15rem,2vw,1.5rem);font-weight:500;max-width:34ch;margin:34px 0 36px;line-height:1.3}
.hero .acts{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.hero .tiny{margin-top:22px;color:var(--negro)}
.sticker{position:absolute;right:4vw;top:52px;width:clamp(150px,18vw,240px);height:clamp(150px,18vw,240px);animation:spin 18s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.sticker text{font-family:var(--display);font-weight:800;font-size:15.5px;letter-spacing:.14em}
@media (max-width:900px){.sticker{position:static;margin:34px 0 0;animation-duration:24s}}
.hero.slim{padding:56px 0 64px}
.hero.slim h1{font-size:clamp(2.6rem,7vw,6rem)}
.hero.dark{background:var(--negro);color:var(--hueso)}
.hero.dark .tiny{color:#CFC8C0}

.ticker{background:var(--negro);color:var(--hueso);overflow:hidden;border-top:var(--bw) solid var(--negro);border-bottom:var(--bw) solid var(--negro);font-family:var(--display);font-weight:800;font-size:clamp(1.2rem,2.6vw,2rem);letter-spacing:-.02em;padding:16px 0;white-space:nowrap}
.ticker .t{display:inline-block;animation:slide 40s linear infinite}
.ticker span{margin:0 40px}
.ticker em{font-style:normal;color:var(--fuego)}
@keyframes slide{to{transform:translateX(-50%)}}

.count{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border:var(--bw) solid var(--negro);background:var(--blanco)}
.count div{padding:32px 28px;border-right:var(--bw) solid var(--negro)}
.count div:last-child{border-right:0}
.count b{font-family:var(--display);font-weight:800;font-size:clamp(3rem,7vw,5.5rem);line-height:.9;letter-spacing:-.04em;display:block}
.count span{font-weight:500;color:var(--gris)}
.count .fire b{color:var(--fuego)}
@media (max-width:760px){.count div{border-right:0;border-bottom:var(--bw) solid var(--negro)}.count div:last-child{border-bottom:0}}

.stmts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:36px}
.stmt h3{margin-bottom:12px}
.stmt h3::before{content:"";display:block;width:56px;height:12px;background:var(--fuego);margin-bottom:18px}

.dark{background:var(--negro);color:var(--hueso)}
.dark h2,.dark h3{color:var(--hueso)}
.dark .note,.dark .tiny{color:#CFC8C0}
.cols{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.cols.even{grid-template-columns:1fr 1fr;align-items:center}
@media (max-width:900px){.cols,.cols.even{grid-template-columns:1fr}}
.code{background:#161616;color:#FFF6EE;border:var(--bw) solid var(--hueso);padding:26px;font-family:var(--mono);font-size:.9rem;line-height:1.55;white-space:pre;overflow-x:auto;box-shadow:12px 12px 0 var(--fuego)}
.code .k{color:var(--fuego)}.code .s{color:var(--sello)}.code .c{color:#8A8580}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 30px}
.chips span{border:3px solid currentColor;padding:8px 14px;font-weight:700;font-size:.95rem}

table{border-collapse:collapse;width:100%;background:var(--blanco);border:var(--bw) solid var(--negro);font-size:.98rem}
th,td{text-align:left;padding:14px 16px;border-bottom:3px solid var(--negro);vertical-align:top}
thead th{font-family:var(--display);font-weight:800;font-size:1.1rem;background:var(--negro);color:var(--hueso);position:sticky;top:0}
tbody tr:last-child td{border-bottom:0}
td.us,th.us{background:#FFE9DE}
thead th.us{background:var(--fuego);color:var(--negro)}
td.us{font-weight:700}
td.dim{color:var(--gris)}
.tscroll{overflow-x:auto;border:0}
.cmp td:first-child{font-weight:700}
.cmp th{min-width:150px}

.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:28px}
.plan{border:var(--bw) solid var(--negro);background:var(--blanco);padding:30px 26px;box-shadow:10px 10px 0 var(--negro);display:flex;flex-direction:column}
.plan.hot{background:var(--fuego)}
.plan .who{color:var(--gris);font-weight:500;min-height:2.8em}
.plan.hot .who,.plan.hot .add{color:var(--negro)}
.plan .price{font-family:var(--display);font-weight:800;font-size:3rem;letter-spacing:-.04em;line-height:1;margin:22px 0 6px}
.plan .price small{font-family:var(--body);font-weight:500;font-size:1rem;letter-spacing:0}
.plan .add{font-weight:500;color:var(--gris);margin-bottom:18px;font-size:.98rem}
.plan ul{padding-left:1.1rem;margin:0 0 26px;flex:1}
.plan li{margin:.4rem 0}
.calc{margin-top:48px;border:var(--bw) solid var(--negro);background:var(--negro);color:var(--hueso);padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;box-shadow:12px 12px 0 var(--fuego)}
.calc label{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.02em;display:block;margin-bottom:16px}
.calc input[type=range]{width:100%;accent-color:var(--fuego)}
.calc .out{font-family:var(--display);font-weight:800;font-size:clamp(3rem,6vw,5rem);letter-spacing:-.04em;line-height:1}
.calc .out small{font-family:var(--body);font-weight:500;font-size:1.1rem;letter-spacing:0}
.calc .sub,.calc .tiers{margin-top:10px;color:#CFC8C0;font-size:.95rem}
@media (max-width:860px){.calc{grid-template-columns:1fr}}

.band{background:var(--blanco);border-top:var(--bw) solid var(--negro);border-bottom:var(--bw) solid var(--negro)}
.list{list-style:none;padding:0;margin:0}
.list li{padding:16px 0;border-bottom:3px solid var(--negro);font-weight:500}
.list li b{font-family:var(--display);font-weight:800;font-size:1.2rem;display:block;letter-spacing:-.02em}
.dark .list li{border-color:#333}

.road{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));border-top:var(--bw) solid var(--negro)}
.road div{padding:24px 24px 0 0;position:relative}
.road div::before{content:"";position:absolute;top:-12px;left:0;width:20px;height:20px;background:var(--hueso);border:var(--bw) solid var(--negro)}
.road div.on::before{background:var(--sello)}
.road b{font-family:var(--display);font-weight:800;font-size:1.3rem;display:block;letter-spacing:-.02em;margin-bottom:6px}
.road span{color:var(--gris);font-weight:500}

details{border-bottom:3px solid var(--negro);padding:18px 0}
summary{cursor:pointer;font-family:var(--display);font-weight:800;font-size:1.3rem;letter-spacing:-.02em;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--fuego);font-size:1.8rem;line-height:1}
details[open] summary::after{content:"–"}
details p{margin-top:12px}

.final{background:var(--fuego);padding:110px 0}
.final h2{max-width:14ch}
footer.site{background:var(--negro);color:#CFC8C0;padding:44px 0;font-size:.92rem}
footer.site .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer.site a{color:#CFC8C0;text-decoration:none;margin-right:18px}
footer.site .wordmark{color:var(--hueso)}

/* prose pages */
.prose{max-width:760px}
.prose h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:40px 0 14px}
.prose ul{padding-left:1.2rem}
.prose li{margin:.4rem 0}
.prose p{max-width:none}

/* modal */
.modal{position:fixed;inset:0;background:rgba(10,10,10,.75);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50;overflow:auto}
.modal[hidden]{display:none}
.modal-box{background:var(--hueso);border:var(--bw) solid var(--negro);box-shadow:12px 12px 0 var(--fuego);padding:32px;width:100%;max-width:620px;position:relative;max-height:calc(100vh - 40px);overflow:auto}
.modal .close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:2rem;cursor:pointer;line-height:1}
form label{display:block;font-weight:700;font-size:.95rem;margin:14px 0 0}
form input,form select,form textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border:3px solid var(--negro);background:var(--blanco);font:inherit;font-size:1rem}
form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:600px){form .two{grid-template-columns:1fr}}
form .chk{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:.9rem;margin:16px 0 20px}
form .chk input{width:auto;margin:4px 0 0}
form .hp{position:absolute;left:-9999px;top:-9999px}
.form-msg{margin:14px 0 0;font-weight:700;min-height:1.4em}
.form-msg.ok{color:var(--sello)}.form-msg.err{color:var(--fuego)}
form.sending button{opacity:.6;pointer-events:none}

/* inline form (contacto page) */
.inline-form{max-width:640px;border:var(--bw) solid var(--negro);background:var(--blanco);padding:32px;box-shadow:12px 12px 0 var(--fuego)}

/* cookies */
.cookies{position:fixed;left:16px;right:16px;bottom:16px;background:var(--negro);color:var(--hueso);border:var(--bw) solid var(--fuego);padding:18px 22px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;z-index:40;font-size:.95rem}
.cookies p{margin:0;max-width:60ch}
.cookies a{color:var(--fuego)}
.cookies div{display:flex;gap:10px}
.cookies[hidden]{display:none}
.cookies .btn.small{box-shadow:none}
