/* Calculadora del datáfono — acotado a .calc. Tarjetas blancas sobre hueso, sin bordes grises ni sombras. */
.calc{--navy-2:#16213A;--ink:#0B1220;--muted:#4A5468;--muted-on-navy:#B9C0CF;--ok:#1F6B4A;--warn:#8A6100;--bad:#A3362A;--ok-bg:#E3EFE8;--warn-bg:#F6ECD2;--bad-bg:#F5E1DD;--display:var(--serif,"Playfair Display",Georgia,serif);--body:var(--sans,"Inter",system-ui,sans-serif);--top:88px;background:var(--bone);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;overflow-x:clip;text-align:center}
.calc [hidden]{display:none!important}
.calc h1,.calc h2,.calc h3{font-family:var(--display);font-weight:500;text-wrap:balance;margin:0}
.calc .eyebrow{font-family:var(--body);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.calc button,.calc input,.calc select,.calc textarea{font:inherit;color:inherit}
.calc :focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.calc .num{font-variant-numeric:tabular-nums}

/* Cabecera */
.calc .c-hero{padding-top:64px;padding-bottom:32px}
.calc .c-hero .eyebrow{color:var(--muted);font-size:15.6px}
.calc .c-hero h1{font-size:48px;line-height:1.15;margin:12px auto 0}
.calc .modes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.calc .mode{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:24px;background:transparent;color:var(--navy);border:3px solid var(--navy);cursor:pointer;border-radius:0;min-height:44px}
.calc .mode:hover{background:rgba(11,18,32,.05)}
.calc .mode .t{font-family:var(--display);font-size:31px}
.calc .mode .s{color:var(--muted);font-size:18px}
.calc .mode .need{font-size:17px;margin:6px auto 0;max-width:48ch}
.calc .mode:disabled{opacity:.5;cursor:wait}
.calc .mode[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.calc .mode[aria-pressed="true"] .s{color:var(--navy)}
.calc .load-err{margin-top:16px;color:var(--muted);font-size:14px}
@media (max-width:640px){.calc .modes{grid-template-columns:1fr;gap:12px}.calc .c-hero h1{font-size:38px}.calc .c-hero{padding-top:40px;padding-bottom:24px}.calc .mode{padding:18px 16px}}

/* Columnas */
.calc .work{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:32px;align-items:start;padding-top:8px;padding-bottom:48px}
.calc .col-main{min-width:0}
.calc .col-side{position:sticky;top:var(--top);min-width:0;max-height:calc(100vh - var(--top) - 16px);overflow-y:auto;scrollbar-width:thin}
@media (max-width:1099px){.calc .work{grid-template-columns:minmax(0,1fr);gap:24px}.calc .col-side{position:static;max-height:none;overflow:visible}}

/* Preguntas */
.calc .panel > .q:first-child{margin-top:0}
.calc .q{background:var(--white);padding:24px;margin-top:12px}
.calc .q-head{display:flex;flex-direction:column;align-items:center;gap:4px}
.calc .q h3{font-size:22px;line-height:1.3}
.calc .q h3:focus{outline:none}
.calc .q .n{color:var(--muted);font-size:14px;white-space:nowrap;order:-1}
.calc .q .hint{color:var(--muted);font-size:14px;margin:6px 0 0}
.calc .prog{height:6px;background:var(--bone);margin:0 0 20px;overflow:hidden}
.calc .prog span{display:block;height:100%;background:var(--gold);transition:width .25s ease}
.calc .chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px 0 0;padding:0;overflow:visible}
.calc .chip{flex:0 1 auto;max-width:100%;min-height:44px;background:var(--white);color:var(--navy);border:1px solid var(--navy);padding:10px 16px;cursor:pointer;border-radius:0;font:400 15px/1.3 var(--body);white-space:normal;text-align:center}
.calc .chip:hover{background:var(--bone)}
.calc .chip[aria-pressed="true"]{background:var(--navy);color:var(--white)}
.calc .back{display:inline-flex;align-items:center;min-height:44px;margin-top:16px;padding:8px 4px;background:none;border:0;color:var(--navy);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.calc .field{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;align-items:center;padding:8px 0}
.calc .field label{font-size:15px;text-align:left}
.calc .field .in{display:flex;align-items:center;background:var(--bone)}
.calc .field .in:focus-within{outline:2px solid var(--navy);outline-offset:0}
.calc .field input,.calc .field select{width:100%;min-width:0;min-height:46px;border:0;background:transparent;padding:10px 12px;font-size:16px;text-align:right;border-radius:0}
.calc .field input:focus,.calc .field select:focus{outline:none}
.calc .field select{text-align:left}
.calc .field .u{padding-right:12px;color:var(--muted);font-size:14px}
.calc .sel{width:100%;min-height:48px;border:0;background:var(--bone);padding:11px 12px;font-size:16px;margin-top:12px;border-radius:0}
.calc .sel:focus{outline:2px solid var(--navy);outline-offset:0}
@media (max-width:520px){.calc .field{grid-template-columns:minmax(0,1fr);gap:6px}.calc .q{padding:20px 16px}}
.calc .more{margin-top:12px;background:var(--white);padding:0 24px}
.calc .more summary{cursor:pointer;font-weight:500;min-height:48px;display:flex;align-items:center;justify-content:center;padding:8px 0}
.calc .more[open]{padding-bottom:16px}
.calc .actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center}
.calc .actions .btn{width:auto}
.calc .btn:disabled{opacity:.45;cursor:not-allowed}
.calc .note{color:var(--muted);font-size:14px}

/* Resultado */
.calc .result{background:var(--navy);color:var(--white);padding:32px;scroll-margin-top:var(--top)}
.calc .result.empty p{color:var(--muted-on-navy);margin:10px 0 0}
.calc .result .eyebrow{color:var(--gold)}
.calc .result h2{font-size:28px;line-height:1.22;margin:12px auto 0}
.calc .result.load h2{margin-top:0}
.calc .stats{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px}
.calc .stat{background:var(--navy-2);padding:16px 18px;display:grid;justify-items:center;gap:2px}
.calc .stat .k{font-size:13px;color:var(--muted-on-navy);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.calc .stat .v{font-family:var(--display);font-size:30px;line-height:1.25;color:var(--gold)}
.calc .stat .x{font-size:14px;color:var(--muted-on-navy);margin-top:4px}
.calc .warns{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.calc .warns li{background:var(--navy-2);padding:12px 16px;font-size:15px}
.calc .check{margin-top:20px;padding:12px 16px;font-size:15px}
.calc .check.ok{background:var(--ok-bg);color:var(--ok)}.calc .check.warn{background:var(--warn-bg);color:var(--warn)}.calc .check.bad{background:var(--bad-bg);color:var(--bad)}
.calc .result .cta{margin-top:24px;background:var(--navy-2);padding:20px}
.calc .result .cta h3{font-size:22px;color:var(--white)}
.calc .result .cta p{color:var(--muted-on-navy);margin:8px 0 16px;font-size:15px}
.calc .result .cta .btn{width:auto;max-width:100%;white-space:normal;text-decoration:none}
.calc .result .cta .fine{font-size:13px;margin:14px 0 0}
.calc .result .switch{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:var(--white);font-size:15px}
.calc .result .switch:hover{color:var(--gold)}
.calc .load .bar{height:6px;background:var(--navy-2);margin-top:24px;overflow:hidden}
.calc .load .bar span{display:block;height:100%;width:30%;background:var(--gold);animation:calc-slide 1.1s ease-in-out infinite}
@keyframes calc-slide{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}
@media (prefers-reduced-motion:reduce){.calc .load .bar span{animation:none;width:100%}}
@media (prefers-reduced-motion:no-preference){.calc #res{animation:calc-in .35s ease-out}@keyframes calc-in{from{opacity:.4}to{opacity:1}}}
@media (max-width:640px){.calc .result{padding:24px 20px}.calc .result h2{font-size:25px}}

/* Contacto */
.calc .contact{padding-bottom:48px}
.calc .contact-in{max-width:620px;margin:0 auto;background:var(--white);padding:32px}
.calc .contact h2{font-size:30px}
.calc .contact-lead{color:var(--muted);margin:8px 0 20px}
.calc .obs-visit-form{display:flex;flex-direction:column;gap:18px;text-align:left}
.calc .obs-vf{display:flex;flex-direction:column;gap:8px}
.calc .obs-vf label{font-weight:600;font-size:14px}
.calc .obs-vf input,.calc .obs-vf textarea{width:100%;min-height:48px;padding:12px 14px;border:0;border-radius:0;background:var(--bone);font-size:16px}
.calc .obs-vf textarea{resize:vertical}
.calc .obs-vf input:focus,.calc .obs-vf textarea:focus{outline:2px solid var(--navy);outline-offset:0}
.calc .obs-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.calc .obs-consent{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;font-size:15px;cursor:pointer}
.calc .obs-consent input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--navy)}
.calc .obs-visit-btn{width:100%}
.calc .obs-visit-btn[disabled]{opacity:.6;cursor:wait}
.calc .obs-visit-err{font-size:15px;background:var(--bad-bg);color:var(--bad);padding:12px 14px}
.calc .obs-visit-ok{font:500 22px/1.4 var(--display);background:var(--bone);padding:32px 24px;margin:0}
.calc .obs-visit-ok:focus{outline:none}
@media (max-width:520px){.calc .contact-in{padding:24px 16px}}

/* Quién está detrás */
.calc .about{padding-top:16px;padding-bottom:8px}
.calc .about-in{display:flex;gap:24px;align-items:center;background:var(--white);padding:24px;max-width:760px;margin:0 auto;text-align:left}
.calc .about img{width:96px;height:96px;flex:none;object-fit:cover;object-position:center 20%}
.calc .about h3{font-size:24px;margin-top:4px}
.calc .about .eyebrow{color:var(--muted)}
.calc .about p{margin:6px 0 4px;color:var(--muted)}
.calc .about a{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);font-weight:600}
@media (max-width:520px){.calc .about-in{flex-direction:column;text-align:center}}

.calc .legal{padding-top:24px;padding-bottom:48px;color:var(--muted);font-size:14px}
.calc .legal p + p{margin-top:6px}

/* Pasos de la precisa */
.calc .qnav{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:20px}
.calc .qnav .back{margin-top:0}
.calc .qnav .btn{width:auto;min-height:48px}
.calc .qnav .btn:disabled{opacity:.45;cursor:not-allowed}
