/* The single site-wide shell. Identical at every route and breakpoint.
   !important intentionally isolates the shell from older page-specific CSS. */
body[data-page]{font-size:16px;line-height:1.8;color:#172635}
body .site-header{position:relative!important;top:auto!important;background:#fff!important;border-bottom:1px solid #dfebe8!important;z-index:50;isolation:isolate}
body .site-header .header-leaf{display:none!important}
body .site-header .header-inner{display:flex!important;align-items:center!important;max-width:1200px!important;min-height:90px!important;padding:14px 32px!important;margin:0 auto!important;gap:22px!important}
body .site-header .brand{display:inline-flex;flex:none;text-decoration:none;gap:0}
body .site-header .brand-word{font:800 38px/1.05 Arial,sans-serif!important;letter-spacing:-.04em!important}
body .site-header .brand-sub{font-size:16px!important;line-height:1.5!important;letter-spacing:-.025em!important;margin-top:3px!important;font-weight:600;white-space:nowrap;color:#3c4c54}
body .site-header .header-nav{display:flex!important;position:static!important;align-items:center!important;flex-direction:row!important;gap:22px!important;margin-left:auto!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;white-space:nowrap}
body .site-header .header-nav>a{font-size:16px!important;line-height:1.6!important;font-weight:700;padding:12px 0!important;min-height:46px;border-bottom:2px solid transparent}
body .site-header .header-nav>a[aria-current],body .site-header .header-nav>a:hover{border-color:#005d53;color:#005d53}
body .site-header .header-action{display:flex!important;gap:8px!important;margin:0!important}
body .site-header .header-action .btn{font-size:16px!important;line-height:1.5!important;min-height:46px!important;padding:11px 15px!important;gap:7px!important;border-radius:7px!important;white-space:nowrap}
body .site-header .header-action .btn.orange,body .site-footer .btn.orange,body .mobile-cta .btn.orange{background:#ff6800!important;border-color:#ff6800!important}
body .site-header .header-action .icon{display:block!important;width:20px!important;height:20px!important}
body .site-header .header-action .button-arrow{display:none!important}
body .site-header .menu-toggle{display:none!important;width:46px!important;height:46px!important;border:1px solid #d4e5e2;border-radius:7px;background:#edf8f5;color:#005d53;flex:none}
.site-breadcrumb{background:#f7faf9;border-bottom:1px solid #e3ece9;color:#52656a}
.breadcrumb-inner{max-width:1200px;margin:0 auto;padding:13px 32px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-height:48px;font-size:16px;line-height:1.6}
.breadcrumb-inner a{text-decoration:underline;text-underline-offset:4px;color:#38655f}
.breadcrumb-inner [aria-current]{color:#334b48}
body .site-footer{background:#005d53!important;color:#fff;padding:38px 0 24px!important}
body .site-footer>.wrap{width:100%!important;max-width:1200px!important;padding-inline:32px!important}
body .site-footer .footer-grid{display:grid!important;grid-template-columns:320px repeat(4,minmax(0,1fr))!important;gap:28px 22px!important;align-items:start}
body .site-footer .footer-grid>div{grid-column:auto!important;min-width:0}
body .site-footer .footer-brand{gap:12px;align-items:center;width:100%;max-width:360px}
body .site-footer .footer-brand>.brand-block{min-width:0}
body .site-footer .footer-symbol{width:76px!important;height:92px!important;object-fit:contain;flex:none}
body .site-footer .brand-word{font:800 48px/1.1 Arial,sans-serif!important;letter-spacing:-.04em}
body .site-footer .brand-sub{font-size:16px!important;line-height:1.6!important;white-space:normal;letter-spacing:-.04em;margin-top:5px;color:#fff}
body .site-footer .footer-nav{font-size:16px!important;line-height:1.8!important}
body .site-footer .footer-nav h3{font-size:16px!important;margin:0 0 10px!important;color:#fff}
body .site-footer .footer-nav a{display:block;font-size:16px!important;line-height:1.65!important;margin:0!important;padding:5px 0!important;color:#e7f4f0}
body .site-footer .footer-nav a:hover{text-decoration:underline;text-underline-offset:4px}
body .site-footer .footer-grid .footer-actions{grid-column:1/-1!important;display:flex!important;justify-content:flex-end;gap:12px}
body .site-footer .footer-actions .btn{font-size:16px!important;min-height:46px!important;padding:10px 24px!important;border-radius:7px!important;min-width:170px}
body .site-footer .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:16px!important;line-height:1.7!important;margin-top:24px;padding-top:20px;border-top:1px solid #ffffff40}
body .mobile-cta{display:none!important}
/* Controls remain comfortably readable; small captions are raised in source CSS. */
body input:not([type=checkbox]):not([type=radio]),body select,body textarea{font-size:16px!important}
.school-choice-lead{font-size:20px!important;line-height:1.7;color:#005d53;font-weight:700;margin-top:18px}
@media(max-width:1100px){
 body .site-header .header-inner{min-height:82px!important;padding:12px 24px!important;gap:16px!important}
 body .site-header .header-nav{display:none!important;position:absolute!important;top:100%!important;left:0;right:0;margin:0!important;padding:12px 24px 24px!important;background:#fff!important;border-bottom:1px solid #d4e5e2!important;box-shadow:0 12px 18px #005d5312!important}
 body .site-header .header-nav.open{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
 body .site-header .header-nav>a{font-size:16px!important;padding:14px 0!important}
 body .site-header .header-action{margin-left:auto!important}
 body .site-header .menu-toggle{display:grid!important;place-items:center;margin-left:0!important}
 body .site-footer .footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 body .site-footer .footer-grid>div:first-child{grid-column:1/-1!important}
 body .site-footer .footer-brand .brand-sub{white-space:normal}
 .breadcrumb-inner{padding-inline:24px}
}
@media(max-width:760px){
 body .site-header .header-inner{padding:12px 18px!important;min-height:80px!important;gap:12px!important}
 body .site-header .brand-word{font-size:32px!important}
 body .site-header .brand-sub{font-size:16px!important;letter-spacing:-.045em!important}
 body .site-header .header-action{display:none!important}
 body .site-header .menu-toggle{margin-left:auto!important}
 .breadcrumb-inner{padding:12px 18px;gap:6px 9px}
 body .site-footer{padding:30px 0 112px!important}
 body .site-footer>.wrap{padding-inline:20px!important}
 body .site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 20px!important}
 body .site-footer .footer-brand{max-width:320px}
 body .site-footer .footer-symbol{width:66px!important;height:80px!important}
 body .site-footer .brand-word{font-size:42px!important}
 body .site-footer .footer-nav a{padding:7px 0!important}
 body .site-footer .footer-grid .footer-actions{display:none!important}
 body .site-footer .footer-bottom{display:block}
 body .site-footer .footer-bottom a{display:block;margin-top:10px}
 body .mobile-cta{display:grid!important;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffffff7;border-top:1px solid #d4e5e2;z-index:45}
 body .mobile-cta .btn{font-size:16px!important;line-height:1.5!important;min-height:48px!important;padding:11px 8px!important;gap:7px!important;border-radius:7px!important}
 body .mobile-cta .button-arrow{display:none}
 body .mobile-cta .icon{width:20px;height:20px}
 .shared-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 0;position:static}
 .shared-tabs a{white-space:normal;font-size:16px;line-height:1.5}
 .shared-tabs a:nth-child(3){border-right:0}
 .shared-small,.micro,.note,figcaption{line-height:1.8}
 .hero-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}
 .photo-info{height:auto;min-height:112px}
 .school-info-note{flex-wrap:wrap}.school-info-note>details{max-width:100%}
 .detail-price-panel select{height:auto;min-height:46px}
 .school-choice-lead{font-size:18px!important}
}

/* Small copy keeps its full line height and may wrap after enlargement. */
body .site-footer .footer-brand .brand-sub{font-size:16px!important;line-height:1.65!important}
body small{font-size:16px}
