/* Site repairs: stable branding, unobstructed illustration, accessible navigation. */
.nav-wrap{min-height:96px;gap:18px}
.brand{min-width:0;gap:10px;flex-shrink:0}
.brand-logo{width:76px;height:76px;max-width:76px;max-height:76px;border-radius:10px;object-fit:contain}
.brand-name{display:flex;flex-direction:column;line-height:1.2}
.brand-name strong{font:500 1.32rem Georgia,serif;color:var(--teal2)}
.brand-name small{font-size:.61rem;margin-top:5px;color:var(--muted)}
.main-nav{gap:22px}
section[id],main[id]{scroll-margin-top:112px}
.hero-visual{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:44px}
.home-scene{position:relative;right:auto;top:auto;width:100%;height:auto;grid-column:1/-1;grid-row:1;border-radius:32px}
.home-scene svg{height:auto;padding:18px 24px 0;aspect-ratio:560/480}
.scene-label{position:static;margin:0 20px 20px;padding:13px 14px}
.scene-icon{flex-shrink:0}
.discipline-chip{position:relative;inset:auto;grid-row:2;flex-direction:column;gap:6px;text-align:center;padding:12px 7px;border-radius:15px;box-shadow:0 8px 20px rgba(10,56,65,.07)}
.discipline-chip span{display:block;font-size:.7rem;line-height:1.4}
.hero-orbit{pointer-events:none}
.hero-grid>*,.coverage-heading>*{min-width:0}
.coverage-heading{display:flex;gap:50px;align-items:center;justify-content:space-between;margin-bottom:34px}
.coverage-heading h2{color:#fff;max-width:680px}
.coverage-heading p:not(.eyebrow){color:#cfe1e3;max-width:630px}
.coverage-heading .button{white-space:nowrap;margin:0}
.coverage-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.coverage-card{margin:0;background:#fff;color:var(--ink);border-radius:22px;overflow:hidden;border:1px solid var(--line)}
.coverage-card>a{display:block;text-decoration:none}
.coverage-card img{width:100%;height:auto;aspect-ratio:1832/1600;object-fit:contain;display:block;background:#fff}
.coverage-card-body{padding:22px;border-top:1px solid var(--line)}
.coverage-card h3{font:500 1.6rem Georgia,serif;color:var(--ink2);margin:0 0 8px}
.coverage-card p{font-size:.9rem;color:var(--muted);margin:0}
.coverage-card .map-open{display:inline-block;margin-top:14px;color:var(--teal2);font-weight:800;font-size:.9rem}
.coverage-card>a:hover .map-open{text-decoration:underline;text-underline-offset:4px}
.coverage-note{font-size:.88rem;color:#cfe1e3;margin:24px 0 0;max-width:850px}
.coverage-note a{text-underline-offset:3px}
.map-main{background:var(--soft);padding:48px 0 64px;min-height:70vh}
.map-heading h1{font:500 clamp(2rem,4vw,3.5rem)/1.1 Georgia,serif;letter-spacing:-.03em;margin:8px 0 14px}
.map-heading>p{color:var(--muted);max-width:800px}
.map-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 22px}
.map-tabs a{border:1px solid var(--line);border-radius:999px;padding:10px 18px;text-decoration:none;font-weight:750;background:#fff;min-height:44px}
.map-tabs a[aria-current=page]{background:var(--teal2);color:#fff;border-color:var(--teal2)}
.map-panel{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}
.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--line)}
.map-zoom{display:flex;align-items:center;gap:8px}
.map-zoom[hidden]{display:none}
.map-zoom button{border:1px solid #bfd5d5;background:#fff;color:var(--ink);border-radius:9px;min-width:44px;min-height:44px;padding:8px 12px;font:700 .95rem inherit;cursor:pointer}
.map-zoom button:disabled{opacity:.4;cursor:default}
.map-zoom output{min-width:42px;text-align:center;font-size:.85rem}
.map-toolbar a{font-weight:750;color:var(--teal2);text-underline-offset:3px;padding:8px 0}
.map-viewport{max-height:75vh;overflow:auto;overscroll-behavior:contain;background:#fff}
.map-image{display:block;width:100%;max-width:none;height:auto}
.map-instructions{font-size:.88rem;color:var(--muted)}
.map-footer-note{border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:24px;background:#fff}
.map-footer-note p{margin:0 0 8px}
.map-footer-note a{color:var(--teal2);font-weight:750;overflow-wrap:anywhere}
@media(max-width:1100px){.main-nav{gap:16px}.main-nav a{font-size:.83rem}.brand-name strong{font-size:1.15rem}.brand-name small{font-size:.55rem}}
@media(max-width:1020px){.hero-visual{max-width:500px}.coverage-heading{display:block}.coverage-heading .button{margin-top:8px}.coverage-cards{gap:14px}.coverage-card-body{padding:18px}.coverage-card h3{font-size:1.35rem}}
@media(max-width:820px){.main-nav{top:100%;visibility:hidden}.main-nav.open{visibility:visible}.main-nav a{font-size:.95rem;min-height:44px}.coverage-cards{grid-template-columns:1fr}.coverage-card>a{display:grid;grid-template-columns:1fr 1fr;align-items:center}.coverage-card-body{border-top:0}.map-tabs a{flex:1;text-align:center}}
@media(max-width:680px){.nav-wrap{min-height:82px}.brand{gap:7px}.brand-logo{width:64px;height:64px;max-width:64px;max-height:64px}.brand-name strong{font-size:1.1rem}.brand-name small{font-size:.52rem;max-width:150px}.menu-toggle{flex-shrink:0}.hero{padding-top:54px}.hero-visual{gap:8px;padding-bottom:30px}.home-scene{width:100%;right:auto;top:auto;height:auto;border-radius:25px}.home-scene svg{padding:8px 14px 0}.scene-label{margin:0 12px 14px;padding:11px;gap:9px}.scene-label strong{font-size:.8rem}.scene-label small{font-size:.64rem}.discipline-chip{inset:auto;padding:10px 5px}.discipline-chip span{display:block;font-size:.65rem}.coverage-card>a{display:block}.coverage-card-body{border-top:1px solid var(--line);padding:22px}.coverage-card h3{font-size:1.6rem}.coverage-heading .button{white-space:normal}.map-main{padding:28px 0 44px}.map-tabs{gap:8px}.map-tabs a{padding:10px 8px;font-size:.82rem}.map-toolbar{padding:12px}.map-zoom{gap:5px}.map-viewport{max-height:65vh}.privacy-nav a{font-size:.8rem}.privacy-page .brand-name small{display:none}.privacy-page .brand-name strong{font-size:1rem}}
@media(max-width:360px){.brand-name small{max-width:125px}.brand-name strong{font-size:1rem}.brand-logo{width:56px;height:56px;max-width:56px;max-height:56px}.privacy-page .brand-name{display:none}}
@media(max-width:400px){.values-bento{grid-template-columns:minmax(0,1fr)}.value-card,.value-featured{min-width:0;flex-direction:column;padding:24px}.value-card>div{min-width:0}}
