/* Mworking — tokens del sistema de diseño */
:root{
  --bg:#ffffff;--surface:#f5f5f5;--surface-raised:#ebebeb;--ink:#0a0a0a;--ink-muted:#595959;
  --line:#e0e0e0;--line-strong:#8a8a8a;--primary:#000000;--on-primary:#ffffff;--focus:#000000;
  --font-display:"Quicksand","Varela Round",system-ui,sans-serif;--font-label:"Josefin Sans","Montserrat",system-ui,sans-serif;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;
  --radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-pill:999px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-display);font-weight:500;font-size:16px;line-height:26px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 var(--space-4)}
@media(min-width:720px){.wrap{padding:0 var(--space-8)}}
.skip{position:absolute;left:-999px}.skip:focus{left:var(--space-4);top:var(--space-4);background:var(--primary);color:var(--on-primary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);z-index:10}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

.eyebrow,.label,.tagline{font-family:var(--font-label);font-weight:600;font-size:12px;line-height:16px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 var(--space-3)}
.tagline{font-weight:300;font-size:14px;letter-spacing:.12em;margin:0}
h1,h2,h3{font-weight:700;margin:0}
h1{font-size:clamp(34px,6vw,52px);line-height:1.1;letter-spacing:-.01em}
h2{font-size:clamp(26px,4vw,34px);line-height:1.2;margin-bottom:var(--space-8)}
h3{font-size:20px;line-height:28px}
.lead{font-size:18px;line-height:30px;color:var(--ink-muted);max-width:34em}
.link{text-decoration:underline;text-underline-offset:3px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);border:1.5px solid var(--primary);background:var(--primary);color:var(--on-primary);font-family:var(--font-label);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;min-height:44px}
.btn:hover{opacity:.86}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-secondary:hover{background:var(--surface-raised);opacity:1}
.btn-sm{min-height:36px;padding:var(--space-2) var(--space-4)}
.btn[disabled]{background:var(--surface-raised);border-color:var(--surface-raised);color:var(--ink-muted);cursor:not-allowed}
.tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface-raised);font-family:var(--font-label);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.tag-solid{background:var(--primary);color:var(--on-primary)}

.site-header{position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:5}
.header-in{display:flex;align-items:center;justify-content:space-between;height:72px;gap:var(--space-4)}
.brand img{width:150px}
.nav{display:flex;align-items:center;gap:var(--space-6)}
.nav a:not(.btn){text-decoration:none;font-weight:600;font-size:15px}
.nav a:not(.btn):hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:820px){.nav a:not(.btn){display:none}}

.hero{padding:var(--space-12) 0 var(--space-16);overflow:hidden}
.hero-in{display:grid;gap:var(--space-8);align-items:center}
@media(min-width:900px){.hero-in{grid-template-columns:1.15fr .85fr}.hero{padding:var(--space-16) 0 96px}}
.hero h1{margin-bottom:var(--space-6)}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-8) 0 var(--space-6)}
.hero-art{display:flex;justify-content:center}
.sun{width:min(320px,70vw)}
@media(max-width:899px){.hero-art{display:none}}

.section{padding:var(--space-12) 0}
@media(min-width:720px){.section{padding:96px 0}}
.section-alt{background:var(--surface)}
.two-col{display:grid;gap:var(--space-8)}
@media(min-width:860px){.two-col{grid-template-columns:1fr 1fr;align-items:start}}
.note{color:var(--ink-muted);font-size:14px;line-height:22px;margin-top:var(--space-6);max-width:48em}

.plans{display:grid;gap:var(--space-6)}
@media(min-width:760px){.plans{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}
.plan{border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4);background:var(--bg)}
.plan.featured{border-color:var(--ink);border-width:1.5px}
.plan .price{font-size:44px;line-height:1;font-weight:700}
.plan .price small{font-size:15px;font-weight:600;color:var(--ink-muted)}
.plan p{margin:0;color:var(--ink-muted)}
.plan .btn{margin-top:auto;align-self:flex-start}
.plan-loading{color:var(--ink-muted)}

.checks{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.checks li{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) 0;border-bottom:1px solid var(--line)}
.checks li::before{content:"";flex:none;width:18px;height:6px;border-radius:var(--radius-pill);background:var(--ink);margin-top:10px}
.extras{margin-top:var(--space-12)}
.extras h3{margin-bottom:var(--space-2)}
.extras p{color:var(--ink-muted);margin:0}

.steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-6)}
@media(min-width:760px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps li{border-top:1.5px solid var(--ink);padding-top:var(--space-4)}
.steps .n{font-family:var(--font-label);font-weight:600;font-size:12px;letter-spacing:.14em;color:var(--ink-muted)}
.steps h3{margin:var(--space-2) 0}
.steps p{margin:0;color:var(--ink-muted)}

address{font-style:normal;font-size:20px;line-height:30px;font-weight:600;margin-bottom:var(--space-4)}
.facts{margin:0;display:grid;gap:var(--space-4)}
.facts div{padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}
.facts dt{font-family:var(--font-label);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}
.facts dd{margin:var(--space-1) 0 0;font-weight:600}

.form-wrap{display:grid;gap:var(--space-8)}
@media(min-width:900px){.form-wrap{grid-template-columns:.8fr 1.2fr}}
.form{display:grid;gap:var(--space-4);background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-6)}
@media(min-width:720px){.form{padding:var(--space-8)}}
fieldset{border:0;margin:0;padding:0}
.form label{display:grid;gap:var(--space-1);font-weight:600;font-size:14px}
.form input,.form select,.form textarea{font:inherit;font-weight:500;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:10px 12px;min-height:44px;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--focus);outline-offset:1px}
.grid2{display:grid;gap:var(--space-4)}
@media(min-width:560px){.grid2{grid-template-columns:1fr 1fr}}
.radios{display:grid;gap:var(--space-2)}
.radio{display:flex!important;grid-auto-flow:column;align-items:center;gap:var(--space-3)!important;background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);cursor:pointer}
.radio input{width:auto;min-height:0}
.radio:has(input:checked){border-color:var(--ink);border-width:1.5px}
.radio .r-price{margin-left:auto;color:var(--ink-muted)}
.check{display:flex!important;gap:var(--space-3)!important;align-items:flex-start;font-weight:500!important}
.check input{width:20px;min-height:20px;margin-top:3px}
.hp{position:absolute;left:-9999px}
.form-msg{margin:0;font-weight:600;min-height:26px}
.form .btn{justify-self:start}

.faq{display:grid;gap:0;max-width:760px}
.faq details{border-bottom:1px solid var(--line);padding:var(--space-4) 0}
.faq summary{cursor:pointer;font-weight:700;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:var(--space-4)}
.faq summary::after{content:"+";font-weight:500}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--ink-muted);margin:var(--space-3) 0 0}

.site-footer{background:var(--primary);color:var(--on-primary);padding:var(--space-12) 0}
.footer-in{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6)}
.footer-name{font-weight:700;letter-spacing:.32em;margin:0;font-size:20px}
.site-footer .tagline{color:#cfcfcf}
.footer-links{margin:0 0 0 auto;font-size:14px;color:#cfcfcf}
.footer-links a{color:#fff}

/* Páginas legales y admin */
.doc{max-width:760px;margin:0 auto;padding:var(--space-12) var(--space-4)}
.doc h1{font-size:34px;margin-bottom:var(--space-6)}
.doc h2{font-size:22px;margin:var(--space-8) 0 var(--space-3)}
.doc p,.doc li{color:var(--ink)}
