/* Family guide: site typography and snow/navy/red, no global redesign. */
.family-page #budget{background:var(--snow);color:var(--navy)}
.family-page .guide-photo-story img{aspect-ratio:3/2}
.family-modes button[aria-pressed=true] small,.family-total .eyebrow{color:var(--navy)}
.family-page .family-hero{position:relative;isolation:isolate;background:var(--navy);color:var(--snow);min-height:590px;overflow:hidden}
.family-hero-photo{position:absolute;inset:0;z-index:-2;margin:0}.family-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 58%;display:block}.family-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102631ef 0%,#102631d9 29%,#1026313d 64%,transparent)}
.family-hero-copy{padding:58px 0 68px;max-width:630px}.family-hero h1{font:700 clamp(72px,7.3vw,108px)/.95 var(--display);text-transform:uppercase;letter-spacing:-.01em;margin:26px 0}.family-hero h1 span{display:block}.family-hero .eyebrow{color:#d3e1e5}.family-hero .family-deck{font:italic 28px/1.3 var(--serif);margin:0 0 21px}.family-hero .family-answer{font:17px/1.7 var(--sans);margin:0 0 26px;max-width:570px}.family-hero .button.outline{color:#fff;border-color:#c5dce2}.family-credit{position:absolute;right:24px;bottom:14px;background:#142d39e6;padding:7px 10px;color:#fff;font:10px/1.5 var(--mono)}
.family-page .jumpnav{z-index:10}.family-page .jumpnav .shell{gap:26px}.family-plan{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--navy)}.family-controls{display:grid;grid-template-columns:.65fr 1.35fr;border-bottom:1px solid var(--line)}.family-controls>label{font:12px/1.6 var(--mono);padding:25px 30px;border-right:1px solid var(--line)}.family-controls select{width:100%;display:block;margin-top:12px;background:var(--snow);border:1px solid #78919c;border-radius:0;color:var(--navy);padding:12px;font:16px var(--sans);min-height:48px}.family-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.family-modes button{color:var(--navy);border:0;border-right:1px solid var(--line);border-bottom:4px solid transparent;background:none;padding:26px 20px;text-align:left;font:700 27px/1.15 var(--display);cursor:pointer}.family-modes button:last-child{border-right:0}.family-modes small{font:11px/1.6 var(--mono);display:block;margin-bottom:13px;color:var(--muted)}.family-modes button[aria-pressed=true]{background:var(--ice);border-bottom-color:var(--red)}.family-modes button:hover{background:#dce7e7}.family-plan-body .eyebrow,.family-schools .eyebrow{font:11px/1.6 var(--mono)}
.family-plan-body{display:grid;grid-template-columns:1fr 1.1fr;gap:55px;padding:38px 40px}.family-plan-body h3{font-size:37px;margin:15px 0 20px}.family-plan-body p{font:16px/1.75 var(--sans);margin:0 0 20px}.family-plan-body>div{min-width:0}.family-timeline{list-style:none;padding:0;margin:0;align-self:center}.family-timeline li{position:relative;border-left:1px solid #78919c;margin-left:6px;padding:0 0 24px 24px;font:15px/1.75 var(--sans)}.family-timeline li:last-child{padding-bottom:0;border-left-color:transparent}.family-timeline li:before{content:"";width:9px;height:9px;background:var(--navy);position:absolute;left:-5px;top:7px;border-radius:50%}.family-timeline li:last-child:before{background:var(--red)}.family-timeline strong{font:700 23px/1.2 var(--display);display:block;margin-bottom:8px}.family-timeline span{display:block}.family-plan-foot{padding:16px 40px;border-top:1px solid var(--line);font:12px/1.7 var(--sans);color:var(--muted)}
.family-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid var(--navy);margin:32px 0}.family-compare article{padding:25px 28px 0 0}.family-compare article+article{border-left:1px solid var(--line);padding-left:28px}.family-compare h3{font-size:33px}.family-compare dl{margin:0}.family-compare dt{font:11px/1.6 var(--mono);text-transform:uppercase;color:var(--muted);margin:22px 0 9px}.family-compare dd{font:15px/1.75 var(--sans);margin:0;min-height:85px}.family-checks{margin:0;padding-left:22px;font:16px/1.8 var(--sans)}.family-checks li{margin-bottom:12px}.family-checks strong{font-weight:700}.family-note{border-top:2px solid var(--red);background:var(--white);padding:28px;margin-top:32px}.family-note p{margin:0 0 12px}.family-note p:last-child{margin:0}
.family-schools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:35px 0}.family-schools article{border-top:2px solid var(--navy);padding:25px 0}.family-schools p{font:16px/1.8 var(--sans)}.family-schools .eyebrow{min-height:34px}.family-schools>a{font:700 13px var(--sans)}.family-price-list{border-top:2px solid var(--navy)}.family-price-row{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:24px;border-bottom:1px solid var(--line);padding:20px 0;align-items:center}.family-price-row strong{font:700 27px/1.2 var(--display)}.family-price-row span{font:15px/1.65 var(--sans)}.family-price-row small{font:11px/1.5 var(--mono);display:block;margin-top:4px;color:var(--muted)}
.family-activities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.family-activities article{border-top:1px solid #79929d;padding-top:24px}.family-activities h3{font-size:30px}.family-activities p{font:15px/1.8 var(--sans)}.family-activities a{color:inherit;font:700 13px var(--sans)}.family-page .dark-section .source-note{color:#cfdee2}.family-balance{font:italic 27px/1.5 var(--serif);padding-top:27px;border-top:1px solid #79929d;margin-top:32px;max-width:780px}
.family-budget{display:grid;grid-template-columns:1.3fr .7fr;gap:70px}.family-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.family-fields label{font:14px/1.6 var(--sans)}.family-fields input{display:block;width:100%;min-height:48px;min-width:0;border-radius:0;border:1px solid #78919c;background:var(--white);color:var(--navy);padding:12px;margin-top:8px;font:16px var(--sans)}.family-total{border-top:3px solid var(--navy);background:var(--ice);padding:30px;align-self:start}.family-total output{display:block;font:700 43px/1.15 var(--display);margin:22px 0;overflow-wrap:anywhere}.family-total .breakdown{font:13px/1.7 var(--mono);white-space:pre-line}.family-total p{font:14px/1.7 var(--sans)}.family-budget button{width:100%;min-height:48px;font:700 14px var(--sans);border:1px solid var(--navy);color:var(--navy);background:none;padding:12px;cursor:pointer}.family-budget button:hover{background:var(--white)}
.family-checklist{border-top:2px solid var(--navy);padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:14px 45px}.family-checklist label{display:flex;gap:12px;align-items:start;min-height:48px;font:16px/1.7 var(--sans);cursor:pointer;padding:8px 0}.family-checklist input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:var(--navy)}.family-checklist label:has(input:checked){color:var(--muted)}.family-progress{font:13px/1.7 var(--mono);margin-top:22px}
.family-page :is(button,input,select,a,summary):focus-visible{outline:3px solid var(--red);outline-offset:4px}.family-page [hidden]{display:none!important}.family-page .nojs-plans{margin-top:28px}.family-page .nojs-plans details{padding:20px 0}
@media(max-width:1050px){.family-hero-copy{max-width:540px}.family-hero h1{font-size:82px}.family-hero .family-answer{font-size:16px;max-width:470px}.family-plan-body{gap:28px;padding:30px}.family-controls{grid-template-columns:.65fr 1.35fr}.family-controls>label{padding:22px}.family-modes button{padding:22px 14px;font-size:24px}.family-compare article{padding-right:20px}.family-compare article+article{padding-left:20px}.family-activities{grid-template-columns:1fr 1fr;gap:30px}.family-budget{gap:35px}.family-total{padding:24px}}
@media(max-width:760px){.family-page .family-hero{min-height:0;background:var(--snow);color:var(--navy);overflow:visible}.family-hero:after{display:none}.family-hero-photo{position:relative;inset:auto;z-index:0;height:210px;overflow:hidden}.family-hero-photo img{object-position:70% 57%}.family-credit{font-size:9px;bottom:10px;right:10px;left:auto}.family-hero-copy{padding:24px 0 30px;max-width:none}.family-hero h1{font-size:62px;line-height:.98;margin:16px 0 18px}.family-hero .eyebrow{color:var(--muted);font-size:10px;letter-spacing:.02em}.family-hero .family-deck{font-size:23px;margin-bottom:15px}.family-hero .family-answer{font-size:15px;line-height:1.7;margin-bottom:20px;max-width:none}.family-hero .button.outline{color:var(--navy);border-color:var(--navy)}.family-hero .button{font-size:12px;padding:12px 14px;min-height:48px}.family-page .jumpnav .shell{gap:20px}.family-controls,.family-plan-body,.family-compare,.family-schools,.family-budget,.family-checklist{grid-template-columns:1fr}.family-controls>label{padding:22px;border-right:0;border-bottom:1px solid var(--line)}.family-modes button{padding:20px 12px;font-size:23px;min-height:108px}.family-modes small{font-size:9px;margin-bottom:9px}.family-plan-body{padding:25px;gap:20px}.family-plan-body h3{font-size:32px}.family-plan-body p{font-size:15px}.family-timeline{margin-top:10px}.family-plan-foot{padding:17px 25px}.family-compare{margin:25px 0;gap:32px;border-top:0}.family-compare article,.family-compare article+article{border-left:0;border-top:2px solid var(--navy);padding:22px 0 0}.family-compare h3{font-size:30px}.family-compare dl{display:grid;grid-template-columns:.43fr 1fr;gap:15px 18px}.family-compare dt{margin:0;font-size:10px}.family-compare dd{min-height:0;font-size:15px}.family-schools{gap:10px;margin:25px 0}.family-schools article{padding-top:22px}.family-schools .eyebrow{min-height:0}.family-price-row{grid-template-columns:1fr;gap:10px;padding:22px 0}.family-price-row strong{font-size:30px}.family-activities{grid-template-columns:1fr;gap:22px}.family-balance{font-size:23px}.family-fields{gap:18px;grid-template-columns:1fr}.family-budget{gap:28px}.family-total output{font-size:40px}.family-checklist{gap:7px}.family-note{padding:24px}.family-checks{font-size:15px}.family-page .faq-shell summary{font-size:17px}}
@media(max-width:360px){.family-hero-photo{height:185px}.family-hero h1{font-size:52px}.family-hero .family-deck{font-size:21px}.family-modes button{font-size:21px;padding:16px 9px}.family-modes small{font-size:9px}.family-plan-body{padding:22px}.family-compare dl{grid-template-columns:1fr;gap:6px}.family-compare dd{margin-bottom:14px}}
@media(prefers-reduced-motion:no-preference){.family-hero-copy{animation:family-arrive .5s ease-out both}.family-modes button,.family-budget button{transition:background .2s ease,border-color .2s ease}.family-plan-body.updated{animation:family-arrive .25s ease-out both}@keyframes family-arrive{from{opacity:.65;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.family-page{scroll-behavior:auto}html:has(.family-page){scroll-behavior:auto}.family-hero-copy,.family-plan-body{animation:none!important}}
