.serpe-oh{--navy:#0b3157;--navy2:#174875;--red:#ed1238;--ink:#172b3d;--muted:#647486;--line:#dce4eb;--paper:#f5f7f9;--soft:#edf3f8;max-width:1040px;margin:28px auto;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}.serpe-oh *{box-sizing:border-box}.soh-header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:18px 18px 0 0}.soh-logo{width:170px;height:auto;max-height:68px;object-fit:contain}.soh-brandline{display:flex;align-items:center;gap:12px;color:var(--navy)}.soh-brandline b{display:block;font-size:17px}.soh-brandline small{display:block;color:var(--muted);font-size:12px}.soh-mark{width:42px;height:42px;border:1px solid #d9e2eb;border-radius:12px;display:grid;place-items:center}.soh-mark svg{width:29px;fill:none;stroke:var(--red);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.soh-main{background:#fff;border:1px solid var(--line);border-top:0;padding:clamp(20px,4vw,44px);min-height:540px}.soh-footer{padding:14px 20px;background:var(--paper);border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;color:var(--muted);font-size:12px;text-align:center}.soh-kicker{color:var(--navy2);font-weight:700;font-size:12px;letter-spacing:.09em;text-transform:uppercase}.soh-title{font-size:clamp(28px,4vw,43px);line-height:1.12;letter-spacing:-.035em;color:var(--navy);margin:10px 0 14px}.soh-lead{font-size:17px;color:var(--muted);max-width:720px}.soh-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.soh-hero-art{min-height:280px;border-radius:18px;background:linear-gradient(145deg,#eaf1f6,#f8f4ef);display:grid;place-items:center;overflow:hidden}.soh-house{width:75%;max-width:330px}.soh-house path{stroke:var(--navy2);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;fill:none}.soh-house .accent{stroke:var(--red)}.soh-points{display:flex;flex-wrap:wrap;gap:12px 20px;margin:24px 0;color:var(--navy2);font-size:14px}.soh-points span{display:flex;gap:8px;align-items:center}.soh-dot{width:8px;height:8px;background:var(--red);border-radius:50%}.soh-btn{appearance:none;border:0;border-radius:10px;background:var(--navy);color:#fff;padding:13px 21px;font-weight:700;font-size:15px;cursor:pointer;transition:.15s}.soh-btn:hover{background:var(--navy2);transform:translateY(-1px)}.soh-btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.soh-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.soh-actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.soh-progress{height:6px;background:#e8edf1;border-radius:20px;overflow:hidden;margin:12px 0 28px}.soh-progress span{display:block;height:100%;background:var(--red);border-radius:20px;transition:width .2s}.soh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:20px 0}.soh-choice{display:flex;align-items:flex-start;gap:13px;text-align:left;width:100%;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;min-height:92px}.soh-choice:hover,.soh-choice.selected{border-color:var(--navy2);background:#f3f7fa;box-shadow:0 0 0 2px #17487512}.soh-choice.selected{border-width:2px;padding:17px}.soh-choice-icon{width:42px;height:42px;border-radius:12px;background:var(--soft);display:grid;place-items:center;color:var(--navy);font-size:21px;flex:none}.soh-choice strong{display:block;color:var(--navy);font-size:15px}.soh-choice small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.soh-field{margin:17px 0}.soh-field label,.soh-label{display:block;font-weight:700;color:var(--navy);margin-bottom:7px}.soh-field input,.soh-field select,.soh-field textarea{width:100%;border:1px solid #cbd6df;border-radius:9px;padding:12px 13px;font:inherit;color:var(--ink);background:#fff;min-height:46px}.soh-field textarea{min-height:100px}.soh-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.soh-hint{background:#f3f6f8;border-left:3px solid var(--navy2);padding:12px 14px;border-radius:7px;color:var(--muted);font-size:13px;margin:18px 0}.soh-note{font-size:12px;color:var(--muted);margin-top:14px}.soh-pill{display:inline-block;padding:5px 9px;border-radius:20px;background:#edf3f8;color:var(--navy2);font-size:12px;font-weight:700}.soh-section{padding:18px;border:1px solid var(--line);border-radius:13px;margin:14px 0}.soh-section h3{margin:0 0 8px;color:var(--navy);font-size:17px}.soh-options{display:flex;flex-wrap:wrap;gap:10px}.soh-options label{display:flex;gap:7px;align-items:center;font-size:14px;color:var(--ink)}.soh-total{padding:22px;border-radius:15px;background:var(--soft);margin:18px 0}.soh-total strong{display:block;font-size:30px;color:var(--navy)}.soh-status{font-size:13px;color:var(--muted)}.soh-success{text-align:center;padding:50px 15px}.soh-success .check{font-size:48px;color:#24734d}.soh-error{color:#a32438;font-size:13px;margin-top:12px}.soh-loading{color:var(--muted);padding:30px;text-align:center}
@media(max-width:700px){.serpe-oh{margin:8px auto;font-size:15px}.soh-header{padding:13px;align-items:flex-start;flex-direction:column}.soh-logo{width:145px}.soh-main{padding:22px 16px;min-height:0}.soh-hero{grid-template-columns:1fr;gap:18px}.soh-hero-art{min-height:170px;grid-row:1}.soh-grid{grid-template-columns:1fr}.soh-row{grid-template-columns:1fr}.soh-actions{position:sticky;bottom:0;background:#fff;padding:12px 0 0}.soh-btn{padding:12px 15px}.soh-title{font-size:31px}}
.soh-reconstruction{margin:18px 0;padding:17px 19px;border:1px solid #e8c6ce;border-left:4px solid var(--red);border-radius:12px;background:#fff8f9;color:var(--ink)}.soh-reconstruction strong{display:block;color:var(--navy);font-size:16px;margin-bottom:5px}.soh-reconstruction p{margin:0;color:#455668;font-size:14px}.soh-conditional{padding:2px 0 4px;animation:sohReveal .2s ease-out}@keyframes sohReveal{from{opacity:.4;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}

/* v0.3.0: detalle transparente del cálculo */
.serpe-oh .soh-method{margin:18px 0;padding:16px 18px;border:1px solid #d9e4e4;border-radius:12px;background:#f8fbfa;}
.serpe-oh .soh-method summary{font-weight:700;cursor:pointer;color:#1b5552;}
.serpe-oh .soh-method p,.serpe-oh .soh-method li{line-height:1.55;}
.serpe-oh .soh-options label{min-width:90px;text-align:center;}

/* v0.3.1: información contextual sobre garantías */
.soh-guarantee-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.soh-guarantee-heading .soh-label{margin:0}.soh-info-toggle{border:1px solid #cbd6df;border-radius:8px;background:#fff;color:#174875;font:inherit;font-size:13px;padding:6px 10px;cursor:pointer}.soh-guarantee-info{background:#f3f7fa;border-left:3px solid #174875;padding:12px 14px;border-radius:6px;margin:12px 0;font-size:14px}.soh-guarantee-info p{margin:7px 0}.soh-guarantee-info small{color:#647486}.soh-guarantee-field{padding-bottom:15px;border-bottom:1px solid #e6ebef}.soh-guarantee-field:last-child{border-bottom:0}.soh-info-request{display:flex!important;align-items:center;gap:8px;font-size:13px;font-weight:500!important;margin-top:12px!important}.soh-info-request input{width:auto!important;min-height:0!important}.soh-info-summary ul{padding-left:22px}.soh-info-summary li{margin:4px 0}

/* v0.3.2 ayuda visual de equipamiento */
.soh-equipment-help{margin:18px 0}.soh-equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.soh-equipment-card{display:flex;flex-direction:column;text-align:left;gap:7px;border:1px solid #cbd6df;border-radius:12px;background:#fff;padding:9px;cursor:pointer;color:#172b3d}.soh-equipment-card.selected{border:2px solid #174875;background:#f3f7fa;padding:8px}.soh-equipment-card img{width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:7px}.soh-equipment-card b{color:#0b3157}.soh-equipment-card span{font-size:12px;color:#647486}.soh-equipment-card:hover{border-color:#174875}@media(max-width:620px){.soh-equipment-grid{grid-template-columns:1fr}.soh-equipment-card{display:grid;grid-template-columns:110px 1fr;align-items:center}.soh-equipment-card img{grid-row:span 2}.soh-equipment-card span{grid-column:2}}

/* v0.3.7: primera propuesta visual Serpe. Solo presentación; motores conservados. */
.serpe-oh{--navy:#0b3157;--navy2:#0879b8;--green:#42a51d;--green-dark:#2d8513;--red:#42a51d;--ink:#18354d;--muted:#5b7184;--line:#dce8ee;--paper:#f1f8fc;--soft:#edf7fc;max-width:1150px;background:#fff;border-radius:24px;box-shadow:0 18px 55px #0b315710;overflow:hidden}
.serpe-oh .soh-header{border:0;border-bottom:1px solid #e1edf2;border-radius:0;padding:20px 35px;background:linear-gradient(110deg,#fff,#f8fcff)}
.serpe-oh .soh-logo{width:175px;max-height:75px}
.serpe-oh .soh-mark{background:#eaf7e6;border:0}
.serpe-oh .soh-mark svg{stroke:var(--green)}
.serpe-oh .soh-main{border:0;padding:clamp(24px,4vw,48px);background:linear-gradient(180deg,#fff 0%,#fff 90%,#fbfdff 100%)}
.serpe-oh .soh-footer{border:0;border-top:1px solid #e3edf1;background:#f7fbfd}
.serpe-oh .soh-title{color:var(--navy);letter-spacing:-.03em}
.serpe-oh .soh-kicker{color:var(--green-dark)}
.serpe-oh .soh-lead{color:#45627a;line-height:1.7}
.serpe-oh .soh-btn{background:linear-gradient(120deg,#51b921,#329b15);border-radius:28px;padding:14px 27px;box-shadow:0 6px 14px #31961522}
.serpe-oh .soh-btn:hover{background:#2e8b13}
.serpe-oh .soh-btn.secondary{background:#fff;color:#0b3157;border:1px solid #bbd4e1;box-shadow:none}
.serpe-oh .soh-progress{height:10px;background:#e9f0f4;margin:12px 0 30px}
.serpe-oh .soh-progress span{background:linear-gradient(90deg,#0b83bc,#49ae20)}
.serpe-oh .soh-hero{gap:42px}
.serpe-oh .soh-hero-art{min-height:310px;background:radial-gradient(circle at 60% 40%,#c9e8f8 0%,#edf9ff 55%,#f3fbea 100%);border-radius:48% 24% 34% 18%}
.serpe-oh .soh-house path{stroke:#0b6eab}
.serpe-oh .soh-house .accent{stroke:#4bae1c}
.serpe-oh .soh-dot{background:#45ad20}
.serpe-oh .soh-welcome-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:35px 0 18px}
.serpe-oh .soh-welcome-benefits>div{border-radius:20px;background:linear-gradient(140deg,#eff8fc,#f9fcff);padding:19px;display:grid;grid-template-columns:42px 1fr;gap:2px 12px;align-items:center}
.serpe-oh .soh-welcome-benefits span{grid-row:span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e2f4d9;color:#358f16;font-size:25px;font-weight:bold}
.serpe-oh .soh-welcome-benefits strong{color:#0b3157;font-size:15px}
.serpe-oh .soh-welcome-benefits small{color:#607a8d}
.serpe-oh .soh-section{border:1px solid #dbe9ef;border-radius:20px;padding:23px;background:#fff;box-shadow:0 5px 19px #0b315709;margin:20px 0}
.serpe-oh .soh-choice{border-radius:17px;box-shadow:0 3px 12px #0b315708}
.serpe-oh .soh-choice.selected,.serpe-oh .soh-equipment-card.selected{border-color:#3ba21c;background:#f5fcf1;box-shadow:0 0 0 2px #49b3221a}
.serpe-oh .soh-choice-icon{background:#e8f5e4;color:#2c8912}
.serpe-oh .soh-equipment-grid{gap:17px}
.serpe-oh .soh-equipment-card{border-radius:18px;padding:12px;box-shadow:0 6px 18px #0b31570a}
.serpe-oh .soh-equipment-card.selected{padding:11px}
.serpe-oh .soh-equipment-card img{border-radius:12px}
.serpe-oh .soh-hint{background:#f0f8fd;border-left-color:#1788c2;border-radius:12px}
.serpe-oh .soh-total{background:linear-gradient(120deg,#ecf8ff,#f2fbea);border-radius:20px;padding:25px}
.serpe-oh .soh-reconstruction{background:#f5faf3;border:1px solid #dcebd8;border-left:4px solid #44a821;border-radius:15px}
.serpe-oh .soh-microhelp{margin:-8px 0 14px;border:1px solid #dce9ef;border-radius:10px;background:#f7fbfd;padding:8px 12px;font-size:13px}
.serpe-oh .soh-microhelp summary{cursor:pointer;color:#0879b8;font-weight:700}
.serpe-oh .soh-microhelp p{color:#4e6677;margin:8px 0 3px;line-height:1.5}
.serpe-oh .soh-special-values{margin-top:14px}
@media(max-width:720px){.serpe-oh{border-radius:0;margin:0}.serpe-oh .soh-header{padding:14px 18px}.serpe-oh .soh-main{padding:22px 17px}.serpe-oh .soh-welcome-benefits{grid-template-columns:1fr;gap:9px}.serpe-oh .soh-hero-art{min-height:180px}.serpe-oh .soh-section{padding:17px}.serpe-oh .soh-equipment-grid{gap:10px}}

/* 0.3.8: portada legible en pantalla e impresión */
.soh-report-cover{padding:32px;background:linear-gradient(130deg,#f1f8fc,#fff 62%,#f1f8ec);border-top:6px solid #0b75b5;border-radius:16px;margin-bottom:24px}.soh-cover-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px}.soh-cover-logo{width:165px;max-height:72px;object-fit:contain}.soh-cover-top span{color:#174875;font-size:12px;font-weight:700}.soh-cover-house{width:210px;margin-left:auto}.soh-cover-house svg{width:100%;height:auto}.soh-report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}.soh-report-summary>div{padding:15px;border:1px solid #dbe9ef;background:#fff;border-radius:10px;min-width:0}.soh-report-summary small,.soh-report-summary strong,.soh-report-summary span{display:block}.soh-report-summary strong{font-size:19px;color:#0b3157;overflow-wrap:anywhere}.soh-report-cover h1{color:#0b3157;font-size:30px}.soh-report-cover-note{padding:15px;background:#f4faf2;border-left:4px solid #49a925}.soh-report-eyebrow{font-size:12px;color:#237c36;font-weight:700}@media(max-width:700px){.soh-report-summary{grid-template-columns:1fr}.soh-cover-top{flex-wrap:wrap}.soh-cover-house{width:150px}}

/* Ilustraciones animadas aprobadas: solo presentación, sin cambios funcionales */
.serpe-oh .soh-svg-house{width:min(82%,360px);max-width:360px;display:block}
.serpe-oh .soh-svg-house svg{display:block;width:100%;height:auto}
.serpe-oh .soh-step-illustration{width:min(100%,220px);margin:0 auto 14px;pointer-events:none}
.serpe-oh .soh-step-illustration svg{width:100%;height:auto;display:block}

/* Ajuste visual limitado a las dos pantallas con ilustración: sin cambios funcionales. */
@media (min-width: 760px) {
 .serpe-oh .soh-main:has(.soh-step-illustration){position:relative}
 .serpe-oh .soh-main:has(.soh-step-illustration)>.soh-title,
 .serpe-oh .soh-main:has(.soh-step-illustration)>.soh-lead{max-width:calc(100% - 250px)}
 .serpe-oh .soh-step-illustration{position:absolute;top:105px;right:clamp(20px,4vw,44px);width:205px;margin:0}
 .serpe-oh .soh-main:has(.soh-step-illustration) .soh-grid{margin-top:36px;gap:18px}
 .serpe-oh .soh-main:has(.soh-step-illustration) .soh-choice{padding:22px;min-height:108px;gap:16px}
 .serpe-oh .soh-main:has(.soh-step-illustration) .soh-choice.selected{padding:21px}
 .serpe-oh .soh-main:has(.soh-step-illustration) .soh-choice strong{font-size:17px}
 .serpe-oh .soh-main:has(.soh-step-illustration) .soh-choice small{font-size:13px}
}
