:root { --verde:#1B7F70; --verde-osc:#14625A; --fondo:#F1F5F6; --texto:#16252D; --panel:#fff; --col:#E6EDEF; --mute:#587079; --line:#D7E0E3; --suave:#E3F2EF;
  --fh:'Bricolage Grotesque',system-ui,sans-serif; --fb:'Source Sans 3',system-ui,sans-serif; }
@media (prefers-color-scheme: dark) { :root { --verde:#3FB5A2; --verde-osc:#6FD0C0; --fondo:#0F1A20; --texto:#E6EEF1; --panel:#16252D; --col:#1B2D36; --mute:#93A9B1; --line:#2A3F49; --suave:#12302E; } }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--fondo); color:var(--texto); font-family:var(--fb); font-size:18px; line-height:1.55; }
h1,h2,h3 { font-family:var(--fh); line-height:1.15; margin:0 0 .5em; }
h1 { font-size:clamp(34px,6vw,56px); letter-spacing:-.02em; }
h2 { font-size:clamp(26px,4vw,38px); letter-spacing:-.01em; }
h3 { font-size:21px; }
a { color:var(--verde-osc); }
.cont { max-width:1080px; margin:0 auto; padding:0 20px; }
header.top { position:sticky; top:0; z-index:5; background:color-mix(in srgb, var(--fondo) 92%, transparent); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
header.top .cont { display:flex; align-items:center; justify-content:space-between; gap:16px; height:64px; }
.marca { display:flex; align-items:center; gap:10px; font-family:var(--fh); font-weight:700; font-size:22px; color:var(--texto); text-decoration:none; }
.marca img { width:32px; height:32px; border-radius:8px; }
nav.menu { display:flex; align-items:center; gap:22px; }
nav.menu a.enl { color:var(--texto); text-decoration:none; font-size:16px; }
nav.menu a.enl:hover { color:var(--verde-osc); }
.btn { display:inline-block; background:var(--verde); color:#fff; padding:12px 22px; border-radius:10px; font-size:17px; font-weight:600; text-decoration:none; border:2px solid var(--verde); }
.btn:hover { background:var(--verde-osc); border-color:var(--verde-osc); }
.btn.sec { background:transparent; color:var(--verde-osc); }
.btn.sec:hover { background:var(--suave); }
.btn.sm { padding:8px 16px; font-size:15px; }
section { padding:72px 0; }
section.alt { background:var(--panel); border-block:1px solid var(--line); }
.hero { padding:88px 0 72px; }
.hero p.sub { font-size:clamp(19px,2.4vw,23px); color:var(--mute); max-width:680px; margin:0 0 28px; }
.hero .acc { display:flex; gap:12px; flex-wrap:wrap; }
.etq { display:inline-block; background:var(--suave); color:var(--verde-osc); border-radius:999px; padding:4px 14px; font-size:15px; font-weight:600; margin-bottom:18px; }
.intro { max-width:660px; color:var(--mute); margin:0 0 36px; }
.rejilla { display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.caja { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:24px; }
section.alt .caja { background:var(--fondo); }
.caja p { margin:0; color:var(--mute); font-size:17px; }
.caja .ico { font-size:28px; margin-bottom:10px; display:block; }
.pasos { counter-reset:p; display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.pasos .caja::before { counter-increment:p; content:counter(p); display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--verde); color:#fff; font-family:var(--fh); font-weight:700; margin-bottom:12px; }
.planes { display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); align-items:stretch; }
.plan { background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:28px; display:flex; flex-direction:column; position:relative; }
.plan.rec { border:2px solid var(--verde); }
.plan .rec-t { position:absolute; top:-14px; left:24px; background:var(--verde); color:#fff; font-size:14px; font-weight:700; border-radius:999px; padding:2px 14px; }
.plan .precio { font-family:var(--fh); font-size:44px; font-weight:700; line-height:1; margin:10px 0 2px; }
.plan .precio small { font-family:var(--fb); font-size:17px; font-weight:400; color:var(--mute); }
.plan .mat { color:var(--mute); font-size:16px; margin:0 0 18px; }
.plan ul { list-style:none; padding:0; margin:0 0 24px; display:grid; gap:9px; flex:1; align-content:start; font-size:17px; }
.plan li { padding-left:26px; position:relative; }
.plan li::before { content:'✓'; position:absolute; left:0; color:var(--verde); font-weight:700; }
.plan li.no { color:var(--mute); }
.plan li.no::before { content:'–'; color:var(--mute); }
.nota { color:var(--mute); font-size:15px; margin-top:20px; }
.contacto { text-align:center; }
.contacto .acc { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:20px; }
.contacto p { max-width:560px; margin:0 auto; color:var(--mute); }
footer { border-top:1px solid var(--line); padding:32px 0; color:var(--mute); font-size:15px; }
footer .cont { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
footer a { color:var(--mute); margin-left:18px; }
footer a:first-child { margin-left:0; }
.legal { padding:56px 0 72px; max-width:760px; }
.legal h2 { margin-top:1.6em; font-size:24px; }
.legal p, .legal li { color:var(--texto); }
[hidden] { display:none !important; }
@media (max-width:720px) { nav.menu a.enl { display:none; } section { padding:52px 0; } .hero { padding:56px 0 48px; } body { font-size:17px; } }
