.topbar nav a.active{color:var(--teal);box-shadow:inset 0 -2px 0 var(--gold)}
.topbar a:focus-visible,.topbar button:focus-visible,.actions a:focus-visible,.path:focus-visible,.overview-grid a:focus-visible,.page-next a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.page-hero{min-height:390px;padding:5.5rem max(7vw,1.5rem);background:linear-gradient(120deg,var(--navy) 0 66%,#164d57 66%);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}
.page-hero h1{font:700 clamp(3rem,6vw,5.8rem)/.94 'Newsreader',serif;margin:0;letter-spacing:-.04em;max-width:900px}
.page-hero>p{max-width:620px;margin:0;color:#d6e8e7;font-size:1.15rem}
.home-overview{background:var(--sky)}
.overview-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}
.overview-heading h2{font:700 clamp(2rem,4vw,3.5rem)/1.05 'Newsreader',serif;margin:.6rem 0 1rem}
.overview-heading>p{font-size:1.05rem}
.overview-grid{display:grid;grid-template-columns:repeat(5,1fr);margin-top:2.5rem;border-top:1px solid #afcfca;border-left:1px solid #afcfca}
.overview-grid a{display:flex;min-height:235px;padding:1.35rem;flex-direction:column;color:var(--ink);text-decoration:none;background:rgba(255,255,255,.55);border-right:1px solid #afcfca;border-bottom:1px solid #afcfca;transition:.2s}
.overview-grid a:hover{background:#fff;transform:translateY(-4px)}
.overview-grid span{font:700 1.35rem 'Newsreader',serif;color:var(--navy)}
.overview-grid p{font-size:.91rem;color:#53666c}
.overview-grid b{margin-top:auto;font-size:.85rem;color:var(--teal)}
.emergency-note{margin-top:2rem;padding:1.25rem 1.4rem;background:#fff;border-left:4px solid var(--gold)}
.understand-basics{background:var(--paper)}
.daily-page{padding-top:4.5rem!important}
.practical-section{background:#fff}
.appointment-page-content{min-height:520px;align-items:start}
.appointment-page-content .checklist h2{font:700 1.7rem 'Newsreader',serif;margin:0 0 .5rem}
.resources-page{padding-top:3.5rem!important}
.resources-intro{max-width:820px;margin:0;font-size:1.08rem;color:#53666c}
.footer-meta{grid-column:1/-1;display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid #31515a;color:#91abad}
.footer-meta small{font-size:.76rem;line-height:1.5}
.page-next{display:flex;justify-content:space-between;align-items:center;padding:1.2rem max(7vw,1.5rem);background:var(--gold);color:var(--ink)}
.page-next span{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.page-next a{color:var(--ink);font-weight:700;text-decoration:none}

@media(max-width:1100px){.overview-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.topbar nav a.active{box-shadow:none}.page-hero,.overview-heading{grid-template-columns:1fr}.page-hero{min-height:auto;padding-top:4rem;padding-bottom:4rem;background:var(--navy);gap:1.5rem}.page-hero h1{font-size:clamp(2.8rem,12vw,4.3rem)}.overview-grid{grid-template-columns:1fr 1fr}.footer-meta{flex-direction:column}}
@media(max-width:540px){.overview-grid{grid-template-columns:1fr}.overview-grid a{min-height:auto}.page-next{padding-top:1rem;padding-bottom:1rem}}
@media print{.appointments-page .topbar,.appointments-page .page-hero,.appointments-page footer,.appointments-page .appointment>div:first-child,.appointments-page .checklist button,.appointments-page .page-next{display:none!important}.appointments-page .appointment{display:block!important;background:#fff!important;padding:1rem!important;color:#000!important}.appointments-page .checklist{display:block!important;padding:0!important}.appointments-page .checklist:before{content:none!important}.appointments-page .checklist label{display:flex!important;padding:1rem 0!important}}
