:root{--font-sans:"Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--color-bg:#faf9f6;--color-surface:#fff;--color-text:#1a1a1a;--color-text-muted:#3d3d3d;--color-primary:#0073bb;--color-primary-dark:#005a94;--color-primary-light:#e6f3fa;--color-secondary:#808285;--color-secondary-light:#f0f0f1;--color-accent:#b8860b;--color-border:#c8c4bc;--color-focus:#005fcc;--text-base:1.25rem;--text-sm:1.125rem;--text-lg:1.5rem;--text-xl:1.875rem;--text-2xl:2.25rem;--text-3xl:2.75rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1.25rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4.5rem;--radius:.5rem;--radius-lg:.75rem;--shadow:0 2px 8px #00000014;--max-width:72rem;--header-height:5.5rem;--touch-min:3rem}html[data-text-size=large]{--text-base:1.375rem;--text-sm:1.25rem;--text-lg:1.625rem;--text-xl:2rem;--text-2xl:2.5rem;--text-3xl:3rem}html[data-text-size=extra-large]{--text-base:1.5rem;--text-sm:1.375rem;--text-lg:1.75rem;--text-xl:2.25rem;--text-2xl:2.75rem;--text-3xl:3.25rem}html[data-contrast=high]{--color-bg:#fff;--color-surface:#fff;--color-text:#000;--color-text-muted:#000;--color-primary:navy;--color-primary-dark:#000060;--color-primary-light:#e0e0ff;--color-secondary:#006400;--color-border:#000;--color-focus:#00f}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-underline-offset:.2em}a:hover{color:var(--color-primary-dark)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.skip-link{top:-100%;left:var(--space-md);z-index:1000;padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:#fff;font-size:var(--text-base);border-radius:var(--radius);font-weight:600;text-decoration:none;position:absolute}.skip-link:focus{top:var(--space-md)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}.container{width:100%;max-width:var(--max-width);padding:0 var(--space-lg);margin:0 auto}.section{padding:var(--space-2xl) 0}.section--alt{background:var(--color-surface)}h1,h2,h3,h4{color:var(--color-text);margin-top:0;line-height:1.25}h1{font-size:var(--text-3xl);letter-spacing:-.02em;font-weight:700}h2{font-size:var(--text-2xl);margin-bottom:var(--space-md);font-weight:700}h3{font-size:var(--text-xl);margin-bottom:var(--space-sm);font-weight:600}p{margin:0 0 var(--space-md);color:var(--color-text-muted)}.lead{font-size:var(--text-lg);line-height:1.6}.btn{justify-content:center;align-items:center;gap:var(--space-xs);min-height:var(--touch-min);padding:var(--space-sm) var(--space-lg);font-family:inherit;font-size:var(--text-base);border-radius:var(--radius);cursor:pointer;border:2px solid #0000;font-weight:600;line-height:1.3;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn--primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff}.btn--secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}.btn--secondary:hover{background:var(--color-primary-light);color:var(--color-primary-dark)}.btn--phone{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary);font-size:var(--text-lg)}.btn--phone:hover{color:#fff;background:#6a6c6f;border-color:#6a6c6f}.btn--ghost{color:var(--color-text);border-color:var(--color-border);background:0 0}.btn--ghost:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.btn--ghost.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow)}.card-grid{gap:var(--space-lg);grid-template-columns:1fr;display:grid}@media (width>=640px){.card-grid--2{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.card-grid--3{grid-template-columns:repeat(3,1fr)}.card-grid--4{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.card-grid--4{grid-template-columns:repeat(4,1fr)}}.program-card{flex-direction:column;height:100%;display:flex}.program-card__icon{background:var(--color-primary-light);width:3.5rem;height:3.5rem;color:var(--color-primary);border-radius:var(--radius);margin-bottom:var(--space-md);justify-content:center;align-items:center;font-size:1.75rem;display:flex}.program-card__link{padding-top:var(--space-md);margin-top:auto}.logo-link{flex-shrink:0;text-decoration:none;display:inline-flex}.logo__image{object-fit:contain;width:auto;max-width:min(220px,45vw);height:4.25rem;display:block}.footer__logo .logo__image{filter:brightness(0)invert();max-width:240px;height:5rem;margin-bottom:var(--space-md)}.hero--with-image{min-height:28rem;padding:var(--space-2xl) 0;background:var(--color-primary-dark);align-items:center;display:flex;position:relative;overflow:hidden}.hero__image-wrap{position:absolute;inset:0}.hero__image{object-fit:cover;object-position:center 30%;width:100%;height:100%}.hero__overlay{background:linear-gradient(135deg,#005a94eb 0%,#0073bbc7 50%,#005a94d9 100%);position:absolute;inset:0}.hero__content{z-index:1;position:relative}.hero__senior-note{max-width:48rem;margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);color:#fff;font-size:var(--text-lg);background:#ffffff26;border:2px solid #ffffffbf;line-height:1.5}.hero__logo{width:auto;height:5.5rem;margin-bottom:var(--space-lg);filter:drop-shadow(0 2px 8px #00000040)}.program-feature{padding:var(--space-2xl) 0}.program-feature:nth-child(2n){background:var(--color-surface)}.program-feature__inner{gap:var(--space-xl);align-items:center;display:grid}@media (width>=900px){.program-feature__inner{gap:var(--space-2xl);grid-template-columns:1fr 1fr}.program-feature--reversed .program-feature__image-wrap{order:2}.program-feature--reversed .program-feature__content{order:1}}.program-feature__image-wrap{border-radius:var(--radius-lg);border:3px solid var(--color-border);box-shadow:var(--shadow);overflow:hidden}.program-feature__image{object-fit:cover;width:100%;height:100%;min-height:16rem;display:block}.program-feature__content h2{color:var(--color-primary-dark)}.program-card--with-image{padding:0;overflow:hidden}.program-card__image-wrap{aspect-ratio:16/10;overflow:hidden}.program-card__image-wrap--compact{aspect-ratio:16/9}.program-card__image{object-fit:cover;width:100%;height:100%;display:block}.program-card__body{padding:var(--space-lg);flex-direction:column;flex:1;display:flex}.program-card__title{font-size:var(--text-xl);margin-bottom:var(--space-sm)}.page-hero-image{align-items:flex-end;min-height:18rem;display:flex;position:relative;overflow:hidden}.page-hero-image__img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.page-hero-image__overlay{background:linear-gradient(#005a948c 0%,#003c64eb 100%);position:absolute;inset:0}.page-hero-image__content{z-index:1;padding:var(--space-xl) var(--space-lg) var(--space-2xl);color:#fff;position:relative}.page-hero-image__content h1,.page-hero-image__content p{color:#fff}.page-hero-image__actions{gap:var(--space-md);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.page-hero-image__actions .btn--secondary{color:var(--color-primary-dark);background:#fff;border-color:#fff}.page-hero-image__actions .btn--secondary:hover{background:var(--color-primary-light);color:var(--color-primary-dark)}.breadcrumb--light a{color:#cce8f7}.breadcrumb--light a:hover{color:#fff}.breadcrumb--light{color:#cce8f7}.two-col--image{align-items:center}.about-image-wrap{border-radius:var(--radius-lg);border:3px solid var(--color-border);box-shadow:var(--shadow);overflow:hidden}.about-image{object-fit:cover;width:100%;height:auto;display:block}.content-block p{font-size:var(--text-lg);line-height:1.75}.section-heading,.senior-intro__header{max-width:54rem;margin-bottom:var(--space-xl)}.eyebrow{margin-bottom:var(--space-xs);color:var(--color-primary-dark);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;font-weight:800}.senior-intro__cards{margin-top:var(--space-xl)}.module-grid{gap:var(--space-lg);grid-template-columns:1fr;display:grid}@media (width>=768px){.module-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.module-grid{grid-template-columns:repeat(3,1fr)}}.module-card{border-left:6px solid var(--color-primary)}.module-card__weeks,.timeline-item__weeks{margin-bottom:var(--space-xs);color:var(--color-primary-dark);font-weight:800}.center-actions{margin-top:var(--space-xl);justify-content:center;display:flex}.timeline{gap:var(--space-lg);display:grid}.timeline-item{gap:var(--space-md);display:grid}@media (width>=900px){.timeline-item{grid-template-columns:minmax(12rem,18rem) 1fr}}.hero{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;padding:var(--space-2xl) 0}.hero h1,.hero p{color:#fff}.hero__actions{gap:var(--space-md);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.hero .btn--secondary{color:#fff;background:0 0;border-color:#fff}.hero .btn--secondary:hover{color:#fff;background:#ffffff26}.page-header{background:var(--color-primary-light);border-bottom:3px solid var(--color-primary);padding:var(--space-xl) 0}.page-header h1{color:var(--color-primary-dark);margin-bottom:var(--space-sm)}.breadcrumb{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.breadcrumb a{color:var(--color-primary)}.check-list{margin:0 0 var(--space-lg);padding:0;list-style:none}.check-list li{margin-bottom:var(--space-sm);color:var(--color-text-muted);font-size:var(--text-base);padding-left:2rem;position:relative}.check-list li:before{content:"✓";color:var(--color-secondary);font-weight:700;font-size:var(--text-lg);position:absolute;left:0}.form-group{margin-bottom:var(--space-lg)}.form-label{font-size:var(--text-base);color:var(--color-text);margin-bottom:var(--space-xs);font-weight:600;display:block}.form-input,.form-textarea,.form-select{width:100%;min-height:var(--touch-min);padding:var(--space-sm) var(--space-md);font-family:inherit;font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #1a4d7c33}.form-textarea{resize:vertical;min-height:8rem}.form-hint{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-xs)}.contact-grid{gap:var(--space-xl);display:grid}@media (width>=768px){.contact-grid{grid-template-columns:1fr 1fr}}.contact-block{padding:var(--space-lg);background:var(--color-primary-light);border-radius:var(--radius-lg);border-left:5px solid var(--color-primary)}.contact-block h3{color:var(--color-primary-dark)}.contact-block a{font-size:var(--text-lg);font-weight:600}.info-box{background:var(--color-secondary-light);border:2px solid var(--color-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);margin:var(--space-lg) 0}.info-box p:last-child{margin-bottom:0}.two-col{gap:var(--space-xl);display:grid}@media (width>=768px){.two-col{grid-template-columns:1fr 1fr;align-items:start}}.resource-list{margin:0;padding:0;list-style:none}.resource-list li{margin-bottom:var(--space-md)}.resource-link{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--text-base);min-height:var(--touch-min);font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.resource-link:hover{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-dark)}.resource-link__arrow{font-size:var(--text-xl);color:var(--color-primary);margin-left:auto}.stats{gap:var(--space-lg);text-align:center;grid-template-columns:1fr;display:grid}@media (width>=640px){.stats{grid-template-columns:repeat(3,1fr)}.stats--4{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.stats--4{grid-template-columns:repeat(4,1fr)}}.stat{padding:var(--space-lg)}.stat__number{font-size:var(--text-3xl);color:var(--color-primary);margin-bottom:var(--space-xs);font-weight:700;line-height:1}.stat__label{font-size:var(--text-base);color:var(--color-text-muted);font-weight:600}.cta-band{background:var(--color-secondary);color:#fff;padding:var(--space-xl) 0;text-align:center}.cta-band h2,.cta-band p{color:#fff}.cta-band .btn--secondary{color:var(--color-secondary);background:#fff;border-color:#fff}.cta-band .btn--secondary:hover{background:var(--color-secondary-light)}.footer{background:var(--color-primary-dark);color:#fff;padding:var(--space-2xl) 0 var(--space-lg);margin-top:auto}.footer a{color:#cce0f0}.footer a:hover{color:#fff}.footer__grid{gap:var(--space-xl);margin-bottom:var(--space-xl);grid-template-columns:1fr;display:grid}@media (width>=640px){.footer__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.footer__grid{grid-template-columns:2fr 1fr 1fr}}.footer__brand-name{font-size:var(--text-xl);color:#fff;margin-bottom:var(--space-sm);font-weight:800}.footer__brand-desc{color:#cce0f0;font-size:var(--text-base);line-height:1.6}.footer__heading{font-size:var(--text-lg);color:#fff;margin-bottom:var(--space-md);font-weight:700}.footer__links{margin:0;padding:0;list-style:none}.footer__links li{margin-bottom:var(--space-sm)}.footer__links a{font-size:var(--text-base);text-decoration:none}.footer__links a:hover{text-decoration:underline}.footer__contact-item{align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-md);font-size:var(--text-base);color:#cce0f0;display:flex}.footer__contact-item a{font-weight:600;font-size:var(--text-lg)}.footer__bottom{padding-top:var(--space-lg);justify-content:space-between;gap:var(--space-md);font-size:var(--text-sm);color:#99bdd9;border-top:1px solid #fff3;flex-wrap:wrap;display:flex}.footer__back-to-top{color:#cce0f0;font-weight:600;text-decoration:none}.footer__back-to-top:hover{color:#fff;text-decoration:underline}.header__top-bar{background:var(--color-secondary);color:#fff;padding:var(--space-xs) 0;font-size:var(--text-sm)}.header__top-inner{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.header__phone-link{align-items:center;gap:var(--space-xs);color:#fff;font-weight:700;font-size:var(--text-base);text-decoration:none;display:inline-flex}.header__phone-link:hover{color:#fff;text-decoration:underline}.header__main{background:var(--color-surface);border-bottom:3px solid var(--color-primary);z-index:100;box-shadow:var(--shadow);position:sticky;top:0}.header__inner{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:var(--header-height);padding-top:var(--space-sm);padding-bottom:var(--space-sm);display:flex}.header__inner .logo__image{height:3.75rem}.header__nav-toggle{min-height:var(--touch-min);min-width:var(--touch-min);padding:var(--space-sm);background:var(--color-primary-light);border:2px solid var(--color-primary);border-radius:var(--radius);cursor:pointer;font-size:var(--text-xl);color:var(--color-primary);display:none}.header__nav{align-items:center;gap:var(--space-xs);display:flex}.header__nav-list{align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.header__nav-item{position:relative}.header__nav-link{min-height:var(--touch-min);padding:var(--space-xs) var(--space-md);font-size:var(--text-base);color:var(--color-text);border-radius:var(--radius);white-space:nowrap;border:2px solid #0000;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.header__nav-link:hover,.header__nav-link.is-active{background:var(--color-primary-light);color:var(--color-primary-dark)}.header__nav-link.is-active{border-color:var(--color-primary)}.header__dropdown{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);min-width:18rem;box-shadow:var(--shadow);padding:var(--space-sm);margin:var(--space-xs) 0 0;z-index:200;list-style:none;position:absolute;top:100%;left:0}.header__dropdown-link{padding:var(--space-sm) var(--space-md);border-radius:var(--radius);color:var(--color-text);text-decoration:none;display:block}.header__dropdown-link:hover{background:var(--color-primary-light)}.header__dropdown-label{font-weight:700;font-size:var(--text-base);color:var(--color-primary-dark)}.header__dropdown-desc{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:.15rem}.accessibility-toolbar{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.accessibility-toolbar__label{font-size:var(--text-sm);color:#ffffffe6;margin-right:var(--space-xs);font-weight:600}.accessibility-toolbar .btn{min-height:2.25rem;font-size:var(--text-sm);color:#fff;border-color:#fff9;padding:.25rem .75rem}.accessibility-toolbar .btn:hover{color:#fff;background:#ffffff26;border-color:#fff}.accessibility-toolbar .btn.is-active{color:var(--color-secondary);background:#fff;border-color:#fff}@media (width<=1024px){.header__nav-toggle{justify-content:center;align-items:center;display:flex}.header__nav{background:var(--color-surface);border-bottom:3px solid var(--color-primary);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow);display:none;position:absolute;top:100%;left:0;right:0}.header__nav.is-open{display:block}.header__nav-list{flex-direction:column;align-items:stretch}.header__nav-link{justify-content:flex-start;width:100%}.header__dropdown{box-shadow:none;padding-left:var(--space-md);border:none;margin-top:0;position:static}.header__main,.header__main .container{position:relative}}@media (width<=640px){.header__inner .logo__image{height:3rem}.accessibility-toolbar__label{display:none}}
