:root { --ink:#172126; --muted:#58686f; --line:#e4eaed; --soft:#f6f8f9; --teal:#118f98; --violet:#716dd7; --pink:#ed4d8b; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font:18px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { width:min(1200px,calc(100% - 48px)); min-height:82px; margin:auto; display:flex; align-items:center; gap:40px; }
.brand { margin-right:auto; font-size:22px; font-weight:800; letter-spacing:-.04em; }
.brand span { color:var(--teal); }
nav,.header-actions { display:flex; align-items:center; gap:28px; font-size:16px; font-weight:600; }
.button { display:inline-flex; align-items:center; justify-content:center; min-width:174px; min-height:54px; padding:0 25px; border:0; border-radius:12px; color:#fff; background:var(--teal); font-family:inherit; font-size:17px; font-weight:700; cursor:pointer; }
.button:disabled { cursor:wait; opacity:.72; }
.button-small { min-height:44px; padding:0 18px; font-size:16px; }
.hero { padding:90px max(24px,calc((100% - 1120px)/2)) 100px; background:linear-gradient(180deg,#fafbfc 0%,#fff 100%); }
.hero-copy { max-width:900px; text-align:center; margin:0 auto 60px; }
.eyebrow { margin:0 0 12px; color:var(--teal); font-size:15px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:28px; font-size:clamp(44px,6vw,68px); line-height:1.05; letter-spacing:-.055em; }
h1 span { background:linear-gradient(90deg,#328cc6,var(--violet),var(--pink)); background-clip:text; -webkit-background-clip:text; color:transparent; }
.hero-copy>p:last-child { max-width:790px; margin:0 auto; color:var(--muted); font-size:20px; }
.analyzer { max-width:920px; margin:auto; padding:44px; border:1px solid var(--line); border-radius:26px; background:#fff; box-shadow:0 22px 60px rgba(27,48,57,.09); }
.analyzer h2,.section h2,.final-cta h2 { margin-bottom:14px; font-size:clamp(34px,4vw,44px); line-height:1.15; letter-spacing:-.04em; }
.analyzer>p:not(.eyebrow):not(.trust-note) { color:var(--muted); }
.analyzer-form { display:grid; grid-template-columns:1fr auto; gap:12px; margin-top:26px; }
.analyzer-form input { min-width:0; min-height:56px; padding:0 17px; border:1px solid #ced8dc; border-radius:12px; color:var(--ink); font:18px inherit; }
.analyzer-form input:focus { outline:3px solid rgba(17,143,152,.15); border-color:var(--teal); }
.trust-note,.form-error { margin:12px 0 0; font-size:16px; }
.trust-note { color:var(--muted); }.form-error { color:#a53346; }
.analysis-result { min-height:250px; margin-top:28px; padding:28px; border-radius:18px; background:#f0f9f8; border:1px solid #d8ecea; }
.analysis-result h3 { margin-bottom:12px; font-size:26px; }.analysis-result p { margin-bottom:8px; }.result-age { color:#08747c; font-size:21px; font-weight:750; }
.result-placeholder,.analysis-progress { color:var(--muted); }
.text-link { display:inline-block; margin-top:10px; color:#08747c; font-weight:750; }
.section { width:min(1120px,calc(100% - 48px)); margin:auto; padding:100px 0; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:38px; margin-top:46px; }
.steps article span { display:grid; place-items:center; width:48px; height:48px; margin-bottom:22px; border-radius:14px; color:#fff; background:linear-gradient(135deg,var(--teal),var(--violet)); font-weight:800; }
.steps h3 { margin-bottom:8px; font-size:24px; line-height:1.3; }.steps p,.included li,.confidence li { color:var(--muted); font-size:17px; }
.included { display:grid; grid-template-columns:1fr 1fr; gap:80px; border-top:1px solid var(--line); }
.included ul,.confidence ul { margin:0; padding:0; list-style:none; display:grid; gap:16px; }
.included li,.confidence li { padding-left:30px; position:relative; }.included li::before,.confidence li::before { content:"✓"; position:absolute; left:0; color:var(--teal); font-weight:800; }
.confidence { border-top:1px solid var(--line); }.confidence h2 { max-width:700px; }.confidence ul { max-width:760px; margin-top:35px; }
.final-cta { padding:90px 24px; text-align:center; background:var(--soft); }.final-cta .button { margin-top:18px; }
footer { padding:30px 24px; text-align:center; color:var(--muted); font-size:16px; border-top:1px solid var(--line); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:800px) { .site-header { width:min(100% - 32px,1200px); flex-wrap:wrap; padding:18px 0; gap:18px; }.site-header nav { order:3; width:100%; justify-content:center; }.header-actions>a:first-child { display:none; }.hero { padding:60px 20px 72px; }.analyzer { padding:28px 22px; }.analyzer-form { grid-template-columns:1fr; }.analyzer-form .button { width:100%; }.analysis-result { min-height:220px; }.steps,.included { grid-template-columns:1fr; gap:34px; }.section { width:calc(100% - 40px); padding:72px 0; } }
/* Planes: catálogo público y selector autenticado. */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:32px 0}.pricing-card{border:1px solid #dce3e1;border-radius:16px;padding:24px;background:#fff;display:grid;gap:10px}.pricing-card.selected{border:2px solid #0b6b57}.pricing-card strong{font-size:1.5rem}.pricing-card small{color:#60706b}
