.header{background:var(--navy);padding:28px 5%;text-align:center}
.header-label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:8px;font-weight:500}
.header h1{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,4vw,2.4rem);color:var(--white);font-weight:500;line-height:1.25}
.header h1 em{color:var(--gold2);font-style:italic}
.header-sub{color:rgba(255,255,255,.55);font-size:.9rem;margin-top:10px;max-width:560px;margin-left:auto;margin-right:auto}
.container{max-width:960px;margin:0 auto;padding:40px 5%}
.section-card{background:var(--white);border-radius:10px;padding:32px;margin-bottom:24px;border:1px solid var(--lightgray)}
.section-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--navy);font-weight:500;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.section-title .icon{font-size:1.3rem}
.section-subtitle{font-size:.82rem;color:var(--gray);margin-bottom:20px}
.member-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:600px){.member-grid{grid-template-columns:1fr}}
.member-card{background:var(--cream);border-radius:8px;padding:22px}
.member-card.adult{background:#eef4f7}
.member-name{font-weight:600;font-size:.93rem;color:var(--navy);margin-bottom:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.badge{font-size:.58rem;padding:3px 8px;border-radius:100px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--white)}
.badge-teal{background:var(--teal)}.badge-gold{background:var(--gold)}.badge-navy{background:var(--navy)}
.field{margin-bottom:12px}
.field label{display:block;font-size:.72rem;font-weight:500;color:var(--gray);letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px}
.field input[type="number"]{width:100%;padding:9px 12px;border:1.5px solid var(--lightgray);border-radius:5px;font-family:'DM Sans',sans-serif;font-size:.92rem;color:var(--navy);background:var(--white);outline:none;transition:border-color .18s}
.field input[type="number"]:focus{border-color:var(--teal)}
.field .hint{font-size:.72rem;color:var(--gray);margin-top:4px;font-style:italic}
.toggle-row{display:flex;align-items:center;gap:10px;margin-top:4px}
.toggle{position:relative;width:42px;height:24px;flex-shrink:0}
.toggle input{opacity:0;width:0;height:0}
.tslider{position:absolute;inset:0;background:#ccd8e8;border-radius:100px;cursor:pointer;transition:background .2s}
.tslider::before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:var(--white);border-radius:50%;transition:transform .2s}
.toggle input:checked+.tslider{background:var(--teal)}
.toggle input:checked+.tslider::before{transform:translateX(18px)}
.toggle-label{font-size:.84rem;color:var(--navy)}
.assumptions{background:var(--white);border-radius:10px;padding:32px;margin-bottom:24px;border:1px solid var(--lightgray)}
.assumptions h2{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--navy);font-weight:500;margin-bottom:6px}
.assumptions-note{font-size:.82rem;color:var(--gray);margin-bottom:20px}
.fee-label{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);border-bottom:1px solid var(--lightgray);padding-bottom:6px;margin-bottom:14px;margin-top:20px}
.assumptions-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.assumptions-grid{grid-template-columns:1fr}}
.results{background:var(--navy);border-radius:10px;padding:32px;margin-bottom:24px}
.results-title{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--white);font-weight:500;margin-bottom:24px}
.result-total{text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(61,188,184,.3);border-radius:8px;padding:28px;margin-bottom:24px}
.result-total-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px}
.result-total-value{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,6vw,3.8rem);color:var(--teal2);line-height:1}
.result-total-sub{font-size:.82rem;color:rgba(255,255,255,.45);margin-top:8px}
.result-grid-4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;margin-bottom:18px}
@media(max-width:700px){.result-grid-4{grid-template-columns:1fr 1fr}}
.result-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
.result-card{background:rgba(255,255,255,.06);border-radius:8px;padding:16px}
.result-card-label{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:6px}
.result-card-value{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--white);line-height:1}
.result-card-value.gold{color:var(--gold2)}.result-card-value.teal{color:var(--teal2)}
.result-card-sub{font-size:.72rem;color:rgba(255,255,255,.38);margin-top:4px}
.breakdown{margin-top:20px}
.breakdown-title{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:12px}
.year-row{display:grid;grid-template-columns:60px 1fr 90px;align-items:center;gap:10px;margin-bottom:8px}
.year-label{font-size:.78rem;color:rgba(255,255,255,.5);font-weight:500}
.year-bar-wrap{background:rgba(255,255,255,.08);border-radius:100px;height:8px;overflow:hidden}
.year-bar{height:100%;background:linear-gradient(90deg,var(--teal),var(--teal2));border-radius:100px;transition:width .5s ease}
.year-value{font-size:.83rem;color:var(--white);text-align:right;font-weight:500}
.multiplier{background:var(--white);border-radius:10px;padding:32px;margin-bottom:24px;border:1px solid var(--lightgray)}
.multiplier h2{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--navy);font-weight:500;margin-bottom:6px}
.multiplier-note{font-size:.82rem;color:var(--gray);margin-bottom:20px}
.families-slider{width:100%;margin:12px 0;accent-color:var(--teal)}
.families-value{font-family:'Cormorant Garamond',serif;font-size:2.6rem;color:var(--navy);text-align:center;margin-bottom:4px}
.families-label{font-size:.78rem;color:var(--gray);text-align:center;margin-bottom:20px}
.multiplier-result{background:var(--cream);border-radius:8px;padding:22px;text-align:center}
.multiplier-result-value{font-family:'Cormorant Garamond',serif;font-size:2.2rem;color:var(--green);margin-bottom:4px}
.multiplier-result-label{font-size:.82rem;color:var(--gray)}
.footer-note{text-align:center;font-size:.78rem;color:var(--gray);padding:20px 5% 40px;line-height:1.7;max-width:640px;margin:0 auto}
