@font-face{font-family:Questrial;src:url('./brand/questrial.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('./brand/poppins.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}

:root{font-family:Questrial,Arial,sans-serif;color:#15243a;background:#f3f6fa;font-size:16px;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-width:320px}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
:focus-visible{outline:3px solid #62b8f3;outline-offset:2px}
.app-shell{max-width:1440px;margin:auto;padding:0 44px}
.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dbe3ec}
.brand{display:flex;align-items:center;gap:10px;font:800 1.25rem/1 Poppins,sans-serif;letter-spacing:.075em;color:#102b4a}
.private-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #d4e0eb;border-radius:99px;background:#fff;padding:8px 13px;color:#496078;font-size:.85rem;font-weight:700}
.page-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin:40px 0 36px}
.eyebrow{margin:0 0 11px;color:#2b71a6;text-transform:uppercase;font-size:.77rem;font-weight:800;letter-spacing:.13em}
h1,h2,p{margin-top:0}
h1,h2{font-family:Poppins,sans-serif}
h1{font-size:clamp(2rem,3.1vw,3rem);letter-spacing:-.055em;line-height:1.12;margin-bottom:12px;color:#102b4a}
.intro{max-width:640px;color:#586e85;line-height:1.5;margin:0}
.season-note{display:flex;align-items:center;gap:13px;background:#112d4d;color:#fff;border-radius:16px;padding:17px 21px;min-width:310px;box-shadow:0 12px 26px rgba(13,44,79,.12)}
.season-note strong,.season-note span{display:block}.season-note strong{font:.8rem Poppins,sans-serif;letter-spacing:.02em}.season-note div span{margin-top:5px;font-size:.78rem;color:#c2d4e6}.note-spark{font-size:1.5rem;color:#ff973d}
.workspace,.comparison{background:#fff;border:1px solid #dfe7ef;border-radius:22px;box-shadow:0 10px 30px rgba(16,43,74,.04)}
.workspace{padding:27px}
.workspace-head,.comparison-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
h2{font-size:1.26rem;letter-spacing:-.035em;color:#14314f;margin:0 0 3px}
.workspace-head p,.comparison-head p{color:#708299;margin:0;font-size:.86rem}
.button{border:0;border-radius:11px;padding:12px 17px;font-weight:700;font-size:.9rem;white-space:nowrap}
.button-primary{background:#f4772c;color:#fff;box-shadow:0 4px 12px rgba(244,119,44,.18)}
.button-primary:hover:not(:disabled){background:#dd641d}
.button span{font-size:1.1rem;line-height:0;margin-right:4px}
.scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.scenario-card{border:1px solid #dce6ef;border-radius:17px;background:#fff;padding:21px;min-width:0;transition:border-color .2s,box-shadow .2s}
.scenario-card:focus-within{border-color:#9cc9ed;box-shadow:0 0 0 3px #e6f4ff}
.card-top{display:flex;align-items:center;gap:11px;margin-bottom:20px}
.scenario-index{font:.8rem Poppins,sans-serif;font-weight:800;color:#f4772c;background:#fff0e6;border-radius:9px;padding:8px}
.scenario-name{border:0;background:transparent;color:#173551;font:800 1.06rem Poppins,sans-serif;min-width:0;max-width:100%;flex:1;padding:5px 3px}
.scenario-name:focus{background:#f2f8fd;border-radius:5px}
.remove-button{border:0;background:#f1f5f9;color:#708399;border-radius:8px;width:29px;height:29px;font-size:1.35rem;line-height:1;display:grid;place-items:center}
.remove-button:hover{background:#ffece3;color:#ad4c1c}
.scenario-card:only-child .remove-button{visibility:hidden}
.field{display:flex;flex-direction:column;gap:8px;min-width:0;margin-bottom:16px}
.field label{font-weight:700;font-size:.86rem;color:#344a61}
.label-muted{font-weight:500;color:#8896a7}
.field select,.field input{height:43px;min-width:0;width:100%;border:1px solid #d7e1eb;border-radius:9px;background:#f9fbfd;color:#152d48;padding:0 12px;outline:0}
.field select:focus,.field input:focus{border-color:#5cabe5;box-shadow:0 0 0 3px #e5f4ff}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.input-wrap{display:flex;align-items:center;position:relative}
.input-wrap input{padding-left:12px;padding-right:52px}
.input-wrap span:first-child:not(:last-child){position:absolute;left:12px;color:#8492a4;font-size:.83rem;font-weight:700;pointer-events:none}
.input-wrap span:first-child:not(:last-child)+input{padding-left:52px;padding-right:12px}
.input-wrap span:last-child:not(:first-child){position:absolute;right:12px;color:#8492a4;font-size:.83rem;font-weight:700;pointer-events:none}
.input-wrap input::placeholder{color:#9aa8b7}
.secondary-fields{border-top:1px dashed #e2e9f0;padding-top:17px}
.quote-result{border-radius:13px;background:#f2f7fc;padding:18px 19px;min-height:159px}
.result-caption{font-size:.8rem;color:#607a95;font-weight:700}
.result-main{font:800 1.83rem/1.3 Poppins,sans-serif;color:#112f50;letter-spacing:-.045em;margin:2px 0}

.breakdown{border-top:1px solid #dae5ef;margin-top:13px;padding-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:7px 15px}
.breakdown span{display:flex;justify-content:space-between;gap:6px;font-size:.76rem;color:#647991}.breakdown b{color:#2a465f;white-space:nowrap}
.tax-hint{font-size:.75rem;color:#7a6071;line-height:1.35;margin:11px 0 0}
.validation{color:#9e4119;font-size:.88rem;line-height:1.5;display:flex;align-items:center;min-height:115px}
.comparison{margin-top:22px;padding:28px}
.comparison-head{margin-bottom:21px}



.table-scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:610px;text-align:left}
th,td{padding:16px 13px;border-bottom:1px solid #e8eef4;font-size:.84rem;white-space:nowrap}thead th{background:#f5f8fb;color:#6c8298;font-size:.73rem;text-transform:uppercase;letter-spacing:.06em}thead th:first-child{border-radius:9px 0 0 0}thead th:last-child{border-radius:0 9px 0 0}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}tbody th{font-weight:700;color:#24425e}tbody th small,td small{display:block;color:#8293a5;font-size:.74rem;font-weight:500;margin-top:4px}td{color:#526a80}.table-total{color:#102f52;font-weight:800;font-size:.96rem}.pending{color:#a26d4b}.not-applicable{color:#9e4119}
.rules{margin-top:23px;padding:25px 29px;background:#e8f0f7;border-radius:17px;border:1px solid #d9e6f1}
.rules-top{display:flex;align-items:flex-start;gap:12px}.rules-top h2{font-size:1.04rem}.rules-top p{margin:2px 0 0;color:#678099;font-size:.82rem}.rules-icon{border-radius:50%;width:21px;height:21px;display:grid;place-items:center;background:#47799e;color:#fff;font-weight:800;font-size:.75rem;flex:none}
.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px;margin:21px 0 0 33px}.rules-grid strong{color:#183c5d;font-size:.85rem}.rules-grid p{font-size:.8rem;line-height:1.5;color:#647e96;margin:6px 0 0}
footer{color:#8090a3;font-size:.76rem;padding:27px 0 34px;text-align:center}
@media(max-width:1050px){.rules-grid{gap:17px}.app-shell{padding:0 25px}}
@media(max-width:760px){.app-shell{padding:0 16px}.topbar{height:68px}.brand{font-size:1.02rem}.private-pill{font-size:.73rem;padding:7px 10px}.page-heading{display:block;margin:31px 0 25px}.season-note{margin-top:22px;min-width:0;max-width:400px}.workspace,.comparison{padding:18px;border-radius:17px}.workspace-head{align-items:flex-start}.scenario-grid{grid-template-columns:1fr}.rules-grid{grid-template-columns:1fr;gap:17px}.rules{padding:20px}.rules-grid{margin-left:33px}}
@media(max-width:480px){.workspace-head{display:block}.button-primary{width:100%;margin-top:17px}.scenario-card{padding:17px}.field-row{gap:10px}.result-main{font-size:1.55rem}.breakdown{grid-template-columns:1fr}.intro{font-size:.91rem}.season-note{padding:14px}.private-pill .lock-icon{display:none}}


/* Portal de AstroBox: paleta, tipografía e ilustración compartidas. */
:root{--navy:#0e1b4d;--blue:#4770db;--violet:#211534;--cyan:#69f3ff;--muted:#4e5877;--line:#dce2f0;--shadow:0 8px 24px #0e1b4d0b;color:var(--navy);background:#eff0f5;font-synthesis:weight}
.app-shell,.topbar{max-width:1240px;padding-inline:32px}
.site-header{background:var(--violet);border-bottom:1px solid #37274b}
.topbar{margin:auto;height:auto;min-height:80px;padding-block:13px;border:0;gap:12px}
.brand img{display:block;width:174px;max-width:100%;height:auto}
.private-pill{background:#3a2b54;border-color:transparent;color:var(--cyan);white-space:nowrap}
.page-heading{position:relative;isolation:isolate;display:grid;align-items:center;min-height:285px;margin:34px 0 23px;padding:32px clamp(24px,4vw,54px);border-radius:24px;overflow:hidden;background:radial-gradient(ellipse at 75% 67%,#482065 0%,#211534 48%,#10091d 91%)}
.page-heading::before{content:'';position:absolute;inset:0;opacity:.46;pointer-events:none;background:radial-gradient(circle at 7% 22%,#e3d5fb 0 1px,transparent 2px),radial-gradient(circle at 19% 80%,#e3d5fb 0 1px,transparent 2px),radial-gradient(circle at 34% 13%,#9d9adc 0 1px,transparent 2px),radial-gradient(circle at 47% 71%,#e3d5fb 0 1px,transparent 2px),radial-gradient(circle at 56% 31%,#9d9adc 0 1px,transparent 2px),radial-gradient(circle at 61% 86%,#9d9adc 0 1px,transparent 2px)}
.heading-copy{position:relative;z-index:1;max-width:66%}
.heading-art{position:absolute;inset:0 0 0 auto;width:clamp(220px,29vw,350px);overflow:hidden;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000 12%),linear-gradient(to bottom,transparent,#000 11%,#000 91%,transparent);mask-composite:intersect}
.heading-art img{position:absolute;right:0;top:50%;width:340.4255%;max-width:none;transform:translateY(-54%)}
.eyebrow,.note-spark{color:var(--cyan)}
h1{color:white;font-weight:600}
.intro{color:#eae4f7}
.season-note{display:inline-flex;margin-top:20px;min-width:0;max-width:100%;background:#3a2b54;border:1px solid #655082;box-shadow:none}
.season-note strong{font-weight:600}
.season-note div span{color:#e8e2f6}
h2,.scenario-name,.result-main{color:var(--navy);font-weight:600}
.workspace,.comparison,.scenario-card{border-color:var(--line);border-radius:15px;box-shadow:var(--shadow)}
.workspace-head p,.comparison-head p,footer,.result-caption,.rules-top p,.rules-grid p{color:var(--muted)}
.button{font-family:Poppins,Arial,sans-serif;font-weight:600}
.button-primary{background:#385fc7;color:white;box-shadow:none}
.button-primary:hover:not(:disabled){background:#294ba8}
:focus-visible{outline-color:#527cf5}
.scenario-card:focus-within{border-color:#afc4f6;box-shadow:0 0 0 3px #ebf2ff}
.scenario-index{color:#25468b;background:#eaf1ff}
.field select,.field input{border-color:#cbd8ea;background:white}
.field select:focus,.field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #e8efff}
.quote-result,.rules{background:#e9f0ff;border-color:#dce7ff}
.rules-icon{background:#385fc7;color:white}
.table-total{color:#1844bd}
.insurance-option{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:.85rem;line-height:1.45;margin:0 0 17px;cursor:pointer}
.insurance-option input{width:18px;height:18px;flex:0 0 auto;accent-color:#385fc7}
.carrier-hint{font-size:.76rem;line-height:1.42;color:#314874;margin:10px 0 0}
@media(min-width:761px){.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.app-shell,.topbar{padding-inline:14px}.topbar{min-height:66px}.brand img{width:137px}.page-heading{min-height:0;margin:19px 0 23px;padding:25px 21px 0;border-radius:18px}.heading-copy{max-width:100%}.heading-art{position:relative;inset:auto;justify-self:end;width:175px;height:122px;margin:-3px 0 0;mask-image:linear-gradient(to right,transparent,#000 10%),linear-gradient(to bottom,transparent,#000 12%,#000 86%,transparent)}}
