:root{--bg:#f4f1ea;--ink:#1d2a33;--mut:#5d6a72;--line:#d9d3c6;--card:#fffdf8;--acc:#c8602d;--accd:#a44d22}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.55 "General Sans",system-ui,sans-serif;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;background-attachment:fixed}
body::before{content:"";position:fixed;inset:0;background:var(--bg);opacity:.86;z-index:-1}
h1,h2{font-family:Zodiak,Georgia,serif;font-weight:500;line-height:1.1;margin:.2em 0 .4em}h1{font-size:clamp(2.2rem,5vw,3.8rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}
.demo{background:#7a1d1d;color:#fff;text-align:center;font-weight:600;padding:6px;font-size:14px;position:sticky;top:0;z-index:20}
.top{display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;gap:16px;flex-wrap:wrap}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);text-decoration:none}.brand span{display:flex;flex-direction:column;line-height:1.2}.brand small{color:var(--mut);font-size:13px}
nav{display:flex;gap:20px;align-items:center}nav a{color:var(--ink);text-decoration:none;font-weight:500}
main{padding:0 5vw}section{margin:0 auto 72px;max-width:1180px}
.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:var(--acc);font-weight:600;margin:0}
.lead{color:var(--mut);max-width:52ch;font-size:19px}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;padding-top:32px}.plan{width:100%;color:var(--ink)}
.btn{display:inline-block;background:var(--acc);color:#fff;border:0;border-radius:6px;padding:14px 26px;font:600 17px "General Sans",sans-serif;text-decoration:none;cursor:pointer}.btn:hover{background:var(--accd)}.btn.sm{padding:8px 16px;font-size:15px}.btn.full{width:100%;text-align:center;margin-top:10px}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px}
.quote{display:grid;grid-template-columns:1.4fr 1fr;overflow:hidden}form#f{padding:32px}
fieldset{border:0;padding:0;margin:0 0 22px}legend,label{font-weight:600;font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chips label{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:500;cursor:pointer;background:#fff;user-select:none}.chips input{position:absolute;opacity:0;pointer-events:none}.chips label:has(input:checked){background:var(--ink);color:#fff;border-color:var(--ink)}.chips label:has(input:focus-visible){outline:2px solid var(--acc)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}
input,select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fff}
.res{background:var(--ink);color:#f4f1ea;padding:32px;display:flex;flex-direction:column;justify-content:center}.res .kicker{color:#f0a070}.big{font-family:Zodiak,serif;font-size:clamp(1.6rem,3vw,2.4rem);margin:8px 0 4px;font-variant-numeric:tabular-nums}.usd,.m2{margin:2px 0;color:#c8cfd3}.legal{font-size:13px;color:#a5afb5;margin:18px 0 6px}
dialog{border:0;border-radius:10px;padding:28px;max-width:440px;width:92vw}dialog::backdrop{background:#1d2a33aa}dialog label{display:block;margin-bottom:12px}.chk{display:flex!important;gap:10px;font-weight:400;font-size:14px}.chk input{width:auto;margin:3px 0 0}.acts{display:flex;gap:10px;justify-content:flex-end}
#desg table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}#desg td{padding:5px 0;border-bottom:1px solid var(--line)}#desg td:last-child{text-align:right}
.split{display:grid;grid-template-columns:1fr 1.3fr;gap:48px}.steps{margin:0;padding:0;list-style:none;counter-reset:s}.steps li{counter-increment:s;padding:18px 0 18px 56px;border-top:1px solid var(--line);position:relative;color:var(--mut)}.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;font-family:Zodiak,serif;font-size:26px;color:var(--acc)}.steps b{display:block;color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:16px}.grid article{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}.grid .ph{aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#e8e2d5 0 10px,#efe9de 10px 20px);display:grid;place-items:center;color:var(--mut);font-size:13px}.grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.grid div.t{padding:16px}.grid h3{margin:0 0 4px;font-size:18px}.grid p{margin:0;color:var(--mut);font-size:15px}
.cta{background:var(--ink);color:#f4f1ea;border-radius:10px;padding:48px;text-align:center}
footer{padding:24px 5vw;color:var(--mut);font-size:14px;display:flex;justify-content:space-between}.link{background:none;border:0;color:var(--mut);text-decoration:underline;cursor:pointer;font:inherit}
@media(max-width:820px){.hero,.quote,.split{grid-template-columns:1fr}.plan{display:none}nav a:not(.btn){display:none}.row{grid-template-columns:1fr 1fr}}

/* Mejoras sobre la base: accesibilidad, tablet y estados. */
:root{--acc:#a84820;--accd:#853819;--mut:#52616a}
[hidden]{display:none!important}a{color:var(--acc)}button,input,select{min-height:44px}
:focus-visible{outline:3px solid #166fba;outline-offset:4px}.res :focus-visible{outline-color:#ffcb88}
.skip{position:absolute;left:16px;top:-90px;background:white;padding:12px;z-index:100}.skip:focus{top:12px}
.chips label{position:relative}.chips input{width:1px;height:1px;min-height:0;margin:0}
button:disabled{opacity:.65;cursor:not-allowed}dialog{max-height:90dvh;overflow:auto;color:var(--ink)}
#leadError{color:#9b2020}.brand, .res, .row label{min-width:0}.big{overflow-wrap:anywhere}
footer{gap:16px;flex-wrap:wrap}footer a{color:var(--mut)}.legal{line-height:1.6}
.feria{font-size:19px;padding-bottom:90px}.feria nav{display:none}.feria label,.feria legend{font-size:18px}
.feria .btn{font-size:19px;min-height:54px}.feria .chips label{padding:12px 18px}.feria input,.feria select{min-height:52px}
.feria-new{position:fixed;bottom:16px;right:5vw;z-index:30;box-shadow:0 4px 20px #0004}
.privacy{max-width:760px;margin:40px auto;background:var(--card);padding:30px;border-radius:10px}
@media(max-width:480px){form#f,.res{padding:22px}.top{padding:18px 5vw}.hero{padding-top:12px;gap:20px}section{margin-bottom:42px}.cta{padding:26px}.row{gap:10px}.acts{flex-wrap:wrap}.btn{padding:13px 18px}.grid{grid-template-columns:1fr}dialog{padding:22px}}

input,select,.chips label{border-color:#73818a}#desg th{text-align:left;font-weight:400;padding:5px 0;border-bottom:1px solid var(--line)}

.brand img{width:74px;height:82px;object-fit:contain;flex-shrink:0}.phone-help{font-size:14px;color:var(--mut);margin:0 0 16px}
