/* User's reference palette: white, navy, light blue, gray, muted teal. */
/* Small, quiet guides; shared by top and recruitment pages. */
.audience-grid.audience-grid-single{grid-template-columns:minmax(0,1fr)}
.recruit-summary{padding:36px 0}
.recruit-summary>.container{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-right:240px}
.recruit-summary h2{font-size:1.6rem;margin:6px 0}
.recruit-summary p{margin:0;font-size:.9rem}
.recruit-summary .page-cta{flex:none}
@media(max-width:1000px){.recruit-summary>.container{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.recruit-summary>.container{padding-right:0}}
.staff-role{background:#fff;padding:24px;border:1px solid #dedbd7;border-radius:18px;min-width:0}
.staff-role summary{font-size:1.2rem;font-weight:700;cursor:pointer;min-height:44px}
.staff-role a{color:#213352;text-underline-offset:4px}
.staff-contact-choices{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
@media(max-width:760px){.staff-contact-choices{grid-template-columns:1fr}}
.audience-section{padding:40px 0 32px;background:#fff}
.bear-welcome{display:flex;align-items:center;gap:20px;margin-bottom:24px}
.bear-guide{width:120px;height:120px;object-fit:contain;flex:none;transform-origin:50% 90%}
.bear-guide.bear-visible{animation:bearHello 2s ease-in-out 2}
.bear-guide.bear-walking{animation:none}
.bear-welcome h2{font-size:clamp(1.4rem,3vw,2rem);margin:0;text-wrap:balance}
.bear-welcome p{margin:0 0 8px}
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.audience-card{display:block;border:1px solid #adc9cc;border-radius:16px;padding:28px;color:#213352;text-decoration:none;background:#edf5f5;transition:box-shadow .2s}
.audience-card:hover{box-shadow:0 6px 20px #21335218}
.audience-careers{background:#f4f0e8;border-color:#dedbd7}
.audience-card>span{font-size:.8rem;font-weight:700;color:#427d7b}
.audience-card h3{font-size:1.45rem;margin:10px 0}
.audience-card p{font-size:.9rem;margin:0 0 18px}
.audience-card b{font-size:.9rem}
.recruit-fixed .recruit-fixed-photo,.recruit-fixed .recruit-fixed-label,.recruit-fixed .recruit-fixed-copy{display:none}
@keyframes bearHello{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-5px) rotate(-3deg)}70%{transform:translateY(-2px) rotate(3deg)}}
@media(max-width:760px){.audience-grid{grid-template-columns:1fr}.audience-card{padding:22px}.bear-welcome{gap:10px}.bear-guide{width:86px;height:86px}.bear-welcome .kicker{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.bear-guide.bear-visible{animation:none}}
@media(max-width:760px){.subpage-hero:has(.bear-guide) h1{font-size:clamp(1.6rem,6vw,2.3rem)}}
:root {
  --ink: #213352;
  --muted: #566375;
  --blue: #b9ddeb;
  --paper: #ffffff;
  --sand: #f4f0e8;
  --accent: #54918f;
  --line: #dedbd7;
  --brand-gray: #b8b5b5;
}
html { scroll-padding-top: 100px; }
.access-map { margin-top: 40px; }
.access-map iframe { display: block; width: 100%; height: 380px; border: 0; background: #fff; }
.access-map > a { display: inline-block; margin-top: 12px; color: #183d43; text-underline-offset: 4px; }
.contact-status a { color: inherit; text-decoration: none; }
.details a { color: inherit; text-underline-offset: 4px; }
.blog-link { color: var(--ink); text-underline-offset: 5px; }
.nav { gap: .85rem; }
@media (min-width: 901px) and (max-width: 1100px) {
  .header { padding-left: 20px; padding-right: 20px; }
  .nav { gap: .6rem; }
  .nav a { font-size: .78rem; }
  .brand { font-size: 1rem; }
}
.header { background: #ffffff; }
.hero-overlay { background: linear-gradient(90deg,rgba(33,51,82,.8),rgba(33,51,82,.4) 55%,rgba(33,51,82,.12)); }
.kicker { color: #427d7b; }
.contact { background: #213352; color: #ffffff; }
.contact .kicker { color: #b9ddeb; }
.contact-status { background: transparent; gap: 12px; }
.contact-status > div, .contact-status small { background: rgba(185,221,235,.1); }
.contact-status > div { border: 1px solid rgba(185,221,235,.4); }
.team-note { border-left-color: #54918f; }
.recruit-note { border-left-color: #54918f; }
/* Preserve the section colors approved in screenshots 2–4. */
#services, #access {
  --ink: #183d43;
  --muted: #587176;
  background: #dfecef;
  color: #183d43;
}
#services .kicker, #access .kicker { color: #759da2; }
#professionals .pro-box { background: #183d43; }
#professionals .kicker { color: #aed0d3; }
#services .team-note { border-left-color: #779fa4; }
body { padding-right: 0; }
.recruit-fixed {
  position: fixed; right: 16px; bottom: 16px; z-index: 40;
  width: 224px; overflow: hidden; border: 1px solid #e6e2d8;
  border-radius: 20px; background: #ffffff; color: #213352;
  box-shadow: 0 12px 36px rgba(33,51,82,.16);
}
.recruit-fixed-photo { display: block; width: 100%; height: 80px; object-fit: cover; }
.recruit-fixed-body { padding: 12px; }
.recruit-fixed-label { margin: 0 0 6px; font-family: Georgia,serif; font-style: italic; font-size: 20px; color: #2e7dae; }
.recruit-fixed-copy { margin: 0 0 10px; font-family: 'Zen Old Mincho',serif; font-size: 15px; line-height: 1.7; }
.recruit-fixed-button { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 8px; background: #06c755; color: #fff; border-radius: 12px; text-decoration: none; font-size: 16px; font-weight: 700; }
.recruit-fixed-button span { font-size: 12px; }
.recruit-fixed-button:hover { background: #049b43; }
.recruit-fixed-note { display: block; margin-top: 6px; text-align: center; color: #566375; font-size: 12px; }
a:focus-visible,button:focus-visible { outline: 3px solid #54918f; outline-offset: 4px; }
@media (min-width: 1200px) {
  .nav { gap: .7rem; }
  .nav a { font-size: .875rem; }
}
@media (max-width: 760px) {
  body { padding-bottom: 88px; }
  .recruit-fixed { left: 0; right: 0; bottom: 0; width: 100%; border-radius: 0; border: 0; border-top: 1px solid #e6e2d8; }
  .recruit-fixed-photo,.recruit-fixed-label,.recruit-fixed-copy { display: none; }
  .recruit-fixed-body { padding: 8px 20px max(7px,env(safe-area-inset-bottom)); }
  .recruit-fixed-button { padding: 9px; max-width: 640px; margin: auto; }
  .recruit-fixed-note { margin-top: 2px; line-height: 1.5; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
