@import url("https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700;800;900&display=swap");
 :root{
  color-scheme: light;
  --font-sans: Raleway, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --bg: #f4f7fb;
  --bg-elev: rgba(255,255,255,0.94);
  --bg-soft: #ffffff;
  --text: #102033;
  --muted: #5d6d83;
  --line: #d6dfeb;
  --line-strong: #bcc9d9;
  --bar: #0d1521;
  --bar-2: #152131;
  --bar-line: #243245;
  --bar-text: #f7fbff;
  --brand-blue: #243f90;
  --brand-gold: #f2c64f;
  --brand-red: #d62b30;
  --accent: #215fbe;
  --accent-2: #163f83;
  --union-accent-primary: var(--accent);
  --union-accent-primary-strong: var(--accent-2);
  --union-accent-gold: #c28a18;
  --union-accent-violet: #7c58cf;
  --union-accent-green: #1f9d73;
  --union-accent-slate: #5e738f;
  --union-accent-danger: #c04f4f;
  --union-accent-teal: #3d7a8c;
  --success: #0e8a4b;
  --warn: #b97a18;
  --danger: #ba2d2d;
  --radius: 18px;
  --shadow: 0 16px 48px rgba(10, 22, 40, 0.10);
  --nav-h: 72px;
  --hero-overlay-start: rgba(13, 18, 28, 0.52);
  --hero-overlay-end: rgba(13, 18, 28, 0.28);
  --hero-highlight: rgba(255, 170, 84, 0.05);
  --hero-panel-bg: rgba(255,255,255,0.15);
  --hero-panel-line: rgba(255,255,255,0.22);
  --hero-chip-bg: rgba(10,16,28,0.18);
  --hero-chip-line: rgba(255,255,255,0.22);
  --loader-bg-start: rgba(255,255,255,0.98);
  --loader-bg-mid: rgba(243,246,251,0.98);
  --loader-bg-end: rgba(255,255,255,1);
  --loader-ink: #111111;
  --loader-track: #dfe6ee;
  --loader-accent: #111111;
  --loader-glow: rgba(17,17,17,0.14);
  --accent-soft: rgba(33,95,190,.12);
  --text-soft: #364a63;
  --surface: rgba(255,255,255,.96);
  --panel: rgba(255,255,255,.94);
  --panel-soft: rgba(248,251,255,.92);
  --panel-2: #eef3f9;
  --border: #d6dfeb;
}

html[data-theme="dark"]{
  color-scheme: dark;
  --bg: #0f1217;
  --bg-elev: rgba(18, 22, 28, 0.96);
  --bg-soft: #171c23;
  --text: #edf1f5;
  --muted: #9aa4b2;
  --line: #2a3340;
  --line-strong: #45515f;
  --bar: #0a0d11;
  --bar-2: #12171d;
  --bar-line: #242c36;
  --bar-text: #f7fbff;
  --accent: #89a8d1;
  --accent-2: #6f8fb7;
  --union-accent-gold: #f0c65b;
  --union-accent-violet: #b49cff;
  --union-accent-green: #69c8a0;
  --union-accent-slate: #bfd0e2;
  --union-accent-danger: #ee8f8f;
  --union-accent-teal: #8bc8d8;
  --shadow: 0 18px 48px rgba(0, 0, 0, 0.42);
  --hero-overlay-start: rgba(9, 11, 15, 0.72);
  --hero-overlay-end: rgba(12, 15, 20, 0.44);
  --hero-highlight: rgba(246, 180, 104, 0.06);
  --hero-panel-bg: rgba(20,24,31,0.40);
  --hero-panel-line: rgba(255,255,255,0.12);
  --hero-chip-bg: rgba(12,15,20,0.32);
  --hero-chip-line: rgba(255,255,255,0.14);
  --loader-bg-start: rgba(18,22,28,0.98);
  --loader-bg-mid: rgba(14,17,22,0.98);
  --loader-bg-end: rgba(10,12,16,0.99);
  --loader-ink: #f0f3f6;
  --loader-track: rgba(137,168,209,0.14);
  --loader-accent: #f0f3f6;
  --loader-glow: rgba(137,168,209,0.14);
  --accent-soft: rgba(137,168,209,.18);
  --text-soft: #cbd8e7;
  --surface: rgba(23,28,35,.96);
  --panel: rgba(23,28,35,.94);
  --panel-soft: rgba(255,255,255,.04);
  --border: #2a3340;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.page-preload-active:not(.is-page-ready){overflow:hidden}
body.page-preload-active .page-shell{opacity:0;transform:translateY(8px);transition:opacity .7s ease,transform .7s ease}
body.page-preload-active.is-page-ready .page-shell{opacity:1;transform:translateY(0)}
.site-preloader{
  position:fixed;inset:0;display:grid;place-items:center;z-index:120;padding:24px;opacity:1;transform:translateY(0);
  background:radial-gradient(circle at 50% 45%,var(--loader-bg-start) 0%,var(--loader-bg-mid) 56%,var(--loader-bg-end) 100%);
  transition:opacity .65s ease,transform .65s ease,visibility .65s ease
}
.site-preloader.is-hidden{opacity:0;transform:translateY(-6px);visibility:hidden;pointer-events:none}
.site-preloader__inner{position:relative;display:grid;justify-items:center;gap:14px;padding:28px 22px;min-width:min(290px,88vw)}
.site-preloader__ring{
  position:absolute;width:170px;height:170px;border-radius:999px;
  background:conic-gradient(from 0deg,rgba(0,0,0,0),color-mix(in srgb, var(--loader-ink) 34%, transparent),rgba(0,0,0,0));
  -webkit-mask:radial-gradient(farthest-side,transparent 68%,#000 69%);
  mask:radial-gradient(farthest-side,transparent 68%,#000 69%);
  animation:siteLoaderSpin 1.15s linear infinite
}
.site-preloader__sparks{position:absolute;width:240px;height:240px;pointer-events:none}
.site-preloader__sparks i{position:absolute;width:56px;height:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb, var(--loader-ink) 62%, transparent),transparent);opacity:0;animation:siteLoaderSpark 1.25s ease-in-out infinite}
.site-preloader__sparks i:nth-child(1){top:24px;left:92px;transform:rotate(12deg);animation-delay:0ms}
.site-preloader__sparks i:nth-child(2){top:60px;right:18px;transform:rotate(64deg);animation-delay:160ms}
.site-preloader__sparks i:nth-child(3){bottom:56px;right:28px;transform:rotate(118deg);animation-delay:310ms}
.site-preloader__sparks i:nth-child(4){bottom:22px;left:86px;transform:rotate(172deg);animation-delay:470ms}
.site-preloader__sparks i:nth-child(5){bottom:70px;left:12px;transform:rotate(228deg);animation-delay:640ms}
.site-preloader__sparks i:nth-child(6){top:72px;left:22px;transform:rotate(302deg);animation-delay:820ms}
.site-preloader__bolt{position:relative;color:var(--loader-accent);filter:drop-shadow(0 10px 24px var(--loader-glow));transform:translateZ(0)}
.site-preloader__bolt svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linejoin:round}
.site-preloader__bar{width:min(260px,66vw);height:4px;border-radius:999px;background:var(--loader-track);overflow:hidden}
.site-preloader__bar span{display:block;height:100%;width:44%;border-radius:999px;background:var(--loader-accent);animation:siteLoaderBar 1.05s ease-in-out infinite}
.site-preloader__text{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--loader-ink) 68%, transparent);font-weight:800}
.notice{padding:13px 15px;border-radius:14px;border:1px solid var(--line);background:rgba(36,63,144,.08)}
.notice.warn{background:rgba(194,128,23,.10);border-color:rgba(194,128,23,.25)}
.notice.ok{background:rgba(14,138,75,.10);border-color:rgba(14,138,75,.22)}
.notice.error{background:rgba(186,45,45,.10);border-color:rgba(186,45,45,.22)}
.notice--rich{display:grid;gap:10px}
.notice__head{display:flex;gap:12px;align-items:flex-start}
.notice__icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;flex:0 0 30px;color:var(--brand-blue);background:rgba(36,63,144,.12)}
.notice__icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.notice__copy{display:grid;gap:2px;min-width:0}
.notice__title{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:var(--muted)}
.notice__text{color:inherit;line-height:1.5;word-break:break-word}
.notice__meter{position:relative;height:4px;border-radius:999px;background:rgba(36,63,144,.10);overflow:hidden}
.notice__meter::after{content:"";position:absolute;inset:0 auto 0 0;width:38%;border-radius:inherit;background:linear-gradient(90deg,transparent,currentColor,transparent);animation:noticeMeter 1.1s ease-in-out infinite;opacity:.92}
.notice.loading,.notice--loading{background:rgba(36,63,144,.10);border-color:rgba(36,63,144,.20);color:var(--text)}
.notice.loading .notice__icon,.notice--loading .notice__icon{color:var(--accent);background:rgba(36,63,144,.12)}
.notice.loading .notice__icon::after,.notice--loading .notice__icon::after{content:"";position:absolute;inset:-4px;border-radius:999px;border:1px solid rgba(36,63,144,.24);border-top-color:rgba(36,63,144,.62);animation:noticeSpin .9s linear infinite}
.notice.warn .notice__icon{color:var(--warn);background:rgba(194,128,23,.12)}
.notice.ok .notice__icon{color:var(--success);background:rgba(14,138,75,.12)}
.notice.ok .notice__meter{background:rgba(14,138,75,.14)}
.notice.ok .notice__meter::after{animation-duration:1.45s}
.notice.error .notice__icon{color:var(--danger);background:rgba(186,45,45,.12)}
html[data-theme="dark"] .notice__title{color:#b8c9de}
html[data-theme="dark"] .notice__icon{background:rgba(120,175,255,.12);color:#cfe0ff}
html[data-theme="dark"] .notice__meter{background:rgba(120,175,255,.14)}
.body-scroll-locked{overflow:hidden}
.skip-link{position:fixed;left:16px;top:10px;z-index:120;padding:10px 14px;border-radius:12px;background:#fff;color:#102033;border:1px solid #dbe4ef;box-shadow:0 10px 24px rgba(16,32,51,.12);transform:translateY(-180%);transition:transform .16s ease}
.skip-link:focus{transform:translateY(0)}
html[data-theme="dark"] .skip-link{background:#101722;color:#eef5ff;border-color:rgba(255,255,255,.14)}
@keyframes siteLoaderSpin{to{transform:rotate(360deg)}}
@keyframes siteLoaderSpark{0%,100%{opacity:0;transform:translateY(0) scaleX(.9)}35%{opacity:.85}55%{opacity:0;transform:translateY(-2px) scaleX(1.05)}}
@keyframes siteLoaderBar{0%{transform:translateX(-120%)}55%{transform:translateX(60%)}100%{transform:translateX(240%)}}
@keyframes noticeMeter{0%{transform:translateX(-120%)}55%{transform:translateX(78%)}100%{transform:translateX(240%)}}
@keyframes noticeSpin{to{transform:rotate(360deg)}}

body{
  min-height:100vh;
  background:
    radial-gradient(circle at top left, rgba(36,63,144,0.08), transparent 32rem),
    radial-gradient(circle at top right, rgba(214,43,48,0.06), transparent 28rem),
    var(--bg);
  color:var(--text);
  font:16px/1.6 var(--font-sans);
}
body:not(.home-page){padding-top:var(--nav-h)}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{max-width:1200px;margin:0 auto;padding:0 18px}
.section{padding:48px 0}
.section-tight{padding:30px 0}
.card{
  background:var(--bg-elev);
  backdrop-filter: blur(10px);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card-pad{padding:24px}
.card-flat{background:var(--bg-soft)}
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 12px;border-radius:999px;
  background:rgba(36,63,144,0.12);
  color:var(--brand-blue);font-size:.82rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;
}
html[data-theme="dark"] .kicker{background:rgba(110,168,255,0.12);color:#bcd7ff}
.eyebrow{font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;color:var(--muted)}
.title-xl{font-size:clamp(2.4rem,4vw,4.6rem);line-height:1.05;margin:.25rem 0 1rem;font-weight:900;letter-spacing:-.03em}
.title-lg{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12;margin:.2rem 0 .7rem;font-weight:850;letter-spacing:-.02em}
.title-md{font-size:clamp(1.2rem,2.5vw,1.45rem);line-height:1.2;margin:0 0 .45rem;font-weight:800}
.text-muted{color:var(--muted)}
.text-small{font-size:.92rem}
.list-reset{margin:0;padding:0;list-style:none}
.button,.button-ghost,.button-soft{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  min-height:48px;padding:0 18px;border-radius:14px;border:1px solid transparent;
  font-weight:800;text-decoration:none;transition:.18s ease;
}
.button{
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#fff;box-shadow:0 10px 30px rgba(36,63,144,0.22)
}
@media (hover:hover) and (pointer:fine){.button:hover{filter:brightness(1.05);transform:translateY(-1px);text-decoration:none}}
.button-ghost{
  background:transparent;border-color:var(--line-strong);color:var(--text)
}
.button-soft{
  background:rgba(36,63,144,0.08);color:var(--brand-blue);border-color:rgba(36,63,144,0.14)
}
html[data-theme="dark"] .button-soft{background:rgba(110,168,255,0.12);color:#d8e8ff}
.button[disabled],.button-ghost[disabled],.button-soft[disabled],input[type="submit"][disabled]{opacity:.72;cursor:wait;transform:none;filter:none}
.theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:48px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(12px);
  box-shadow:0 12px 28px rgba(0,0,0,.12);transition:.18s ease;
}
@media (hover:hover) and (pointer:fine){.theme-toggle:hover{background:rgba(255,255,255,.12);text-decoration:none;transform:translateY(-1px)}}
.theme-toggle__visual{display:inline-flex;align-items:center;gap:8px}
.theme-toggle__copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}
.theme-toggle__label{font-size:.70rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;opacity:.8}
.theme-toggle__state{font-size:.92rem;font-weight:800;min-width:3.5rem}
.theme-toggle__track{
  position:relative;display:inline-flex;align-items:center;width:44px;height:24px;border-radius:999px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16)
}
.theme-toggle__thumb{
  position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:999px;
  background:linear-gradient(135deg,#fff7d6,#ffd36d);box-shadow:0 2px 10px rgba(0,0,0,.18);transition:transform .22s ease, background .22s ease;
}
html[data-theme="dark"] .theme-toggle__thumb{transform:translateX(20px);background:linear-gradient(135deg,#cfdcff,#7daaff)}
.theme-icon{display:inline-flex;align-items:center;justify-content:center;opacity:.86}
.theme-icon--sun{color:#ffd770}
.theme-icon--moon{color:#d7e3ff}
.theme-toggle--compact{padding:0 12px}
.theme-toggle--compact .theme-toggle__copy{display:none}
.theme-toggle--hero,.theme-toggle--footer{justify-content:flex-start}
.theme-toggle--footer,.footer-theme-toggle{color:#eef5ff;border-color:rgba(255,255,255,.16)}
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:70;
  height:var(--nav-h);background:rgba(15,20,28,0.94);
  border-bottom:1px solid var(--bar-line);backdrop-filter: blur(14px);
}

html[data-theme="light"] .site-header{
  background:rgba(251,252,254,0.94);
  border-bottom:1px solid #dbe4ef;
  box-shadow:0 12px 28px rgba(16,32,51,0.06);
}
html[data-theme="light"] .brand,
html[data-theme="light"] .nav a,
html[data-theme="light"] .nav button.nav-btn,
html[data-theme="light"] .mobile-menu-btn{color:#102033}
html[data-theme="light"] .brand__text small{color:#5d6d83}
html[data-theme="light"] .nav a:hover,
html[data-theme="light"] .nav button.nav-btn:hover,
html[data-theme="light"] .site-header .nav a[aria-current="page"]{
  background:rgba(16,32,51,0.06);
}
html[data-theme="light"] .mobile-menu-btn{
  border-color:#d3dde9;
  background:rgba(255,255,255,0.86);
}
html[data-theme="light"] .mobile-menu{
  background:rgba(251,252,254,0.98);
  border-top:1px solid #dbe4ef;
  box-shadow:0 16px 36px rgba(16,32,51,0.08);
}
html[data-theme="light"] .mobile-menu a{color:#102033}
html[data-theme="light"] .site-footer{
  background:linear-gradient(180deg,#fbfcfe,#f2f6fb);
  color:#102033;
  border-top:1px solid #dbe4ef;
}
html[data-theme="light"] .footer-wordmark--dark{display:none}
html[data-theme="light"] .footer-wordmark--light{display:block}
html[data-theme="dark"] .footer-wordmark--light{display:none}
html[data-theme="light"] .footer-tagline,
html[data-theme="light"] .footer-address,
html[data-theme="light"] .footer-link,
html[data-theme="light"] .footer-powered,
html[data-theme="light"] .footer-note,
html[data-theme="light"] .footer-bottom{color:#415471}
html[data-theme="light"] .footer-link:hover,
html[data-theme="light"] .footer-powered a{color:#102033}
html[data-theme="light"] .footer-theme-toggle,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle{
  color:#102746;
  border-color:#9eb3d3;
  background:linear-gradient(180deg,#ffffff 0%,#edf3fb 100%);
  box-shadow:0 10px 22px rgba(16,32,51,0.07), inset 0 1px 0 rgba(255,255,255,.88);
}
html[data-theme="light"] .footer-theme-toggle:hover,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle:hover{
  background:linear-gradient(180deg,#ffffff 0%,#e7effa 100%);
  border-color:#7f98c0;
  box-shadow:0 12px 26px rgba(16,32,51,0.10), inset 0 1px 0 rgba(255,255,255,.92);
}
html[data-theme="light"] .footer-theme-toggle:focus-visible,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle:focus-visible{
  outline:2px solid rgba(33,94,190,.38);
  outline-offset:2px;
}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__track,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__track{
  background:linear-gradient(180deg,#d9e4f4 0%,#c8d7ec 100%);
  border-color:#96aed1;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.55), inset 0 -1px 2px rgba(53,81,128,.08);
}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__thumb,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__thumb{
  background:linear-gradient(135deg,#fff2b5,#f7bc32);
  box-shadow:0 2px 8px rgba(122,86,11,.28), inset 0 1px 0 rgba(255,255,255,.58);
}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__label,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__label{
  color:#526b92;
  opacity:1;
}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__state,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__state{color:#102746}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__copy,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__copy{min-width:5.25rem}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__visual,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__visual{gap:10px}
html[data-theme="light"] .footer-theme-toggle .theme-icon--sun,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-icon--sun{color:#b87500}
html[data-theme="light"] .footer-theme-toggle .theme-icon--moon,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-icon--moon{color:#45679c}
html[data-theme="light"] .footer-bottom,
html[data-theme="light"] .footer-powered{border-top:1px solid #dbe4ef}
.site-header__inner{
  height:100%;display:flex;align-items:center;justify-content:space-between;gap:18px
}
.brand{
  display:flex;align-items:center;gap:14px;color:var(--bar-text);text-decoration:none;font-weight:800
}
.brand:hover{text-decoration:none}
.brand img{width:46px;height:46px;object-fit:contain}
.brand__text{display:flex;flex-direction:column;line-height:1.05}
.brand__text small{font-size:.76rem;color:#c7d2df;font-weight:700}
.header-icons{display:flex;align-items:center;gap:8px;color:#b8c7da}
.header-icon{
  width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;border:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.04)
}
.nav{display:flex;align-items:center;gap:8px}
.nav a,.nav button.nav-btn{
  color:var(--bar-text);padding:11px 14px;border-radius:12px;font-weight:700;background:transparent;border:0
}
.nav a:hover,.nav button.nav-btn:hover{background:rgba(255,255,255,0.08);text-decoration:none}
.mobile-menu-btn{
  display:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);
  color:#fff;border-radius:12px;padding:10px 12px
}
.mobile-menu{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;pointer-events:none;padding:0 18px;background:var(--bar);border-top:1px solid var(--bar-line);transition:grid-template-rows .22s ease,opacity .18s ease,visibility .18s ease;max-height:calc(100vh - var(--nav-h));overflow:auto;-webkit-overflow-scrolling:touch}
.mobile-menu__inner{overflow:hidden}
.mobile-menu a,.mobile-menu .nav-btn{display:block;padding:12px 0;color:#fff;font-weight:700}
@media (max-width:920px){
  .nav{display:none}
  .mobile-menu-btn{display:inline-flex}
  .mobile-menu.is-open{grid-template-rows:1fr;opacity:1;visibility:visible;pointer-events:auto;padding:12px 18px 18px}
}
.hero-home{
  position:relative;
  min-height:100vh;
  padding:42px 0 34px;
  background:
    linear-gradient(90deg, rgba(8,12,20,.16) 0%, rgba(8,12,20,.08) 42%, rgba(8,12,20,.20) 100%),
    linear-gradient(145deg, var(--hero-overlay-start), var(--hero-overlay-end)),
    radial-gradient(circle at 16% 48%, var(--hero-highlight), transparent 32%),
    url("/assets/img/header-main-bg.webp") center/cover no-repeat;
  color:#f8fbff;
  overflow:hidden;
}
.hero-home > *{position:relative;z-index:1}
.hero-sunset-bloom,
.hero-water-shimmer,
.hero-lightning-flash{position:absolute;inset:0;pointer-events:none;z-index:0}
.hero-sunset-bloom{
  background:
    radial-gradient(circle at 18% 74%, rgba(255,181,92,.12) 0%, rgba(255,146,76,.08) 18%, rgba(255,116,62,.03) 36%, transparent 58%),
    radial-gradient(circle at 28% 60%, rgba(255,221,162,.055) 0%, rgba(255,200,126,.025) 22%, transparent 46%),
    linear-gradient(180deg, rgba(255,186,84,.012), rgba(255,152,71,.038) 62%, transparent 100%);
  mix-blend-mode:screen;
  opacity:.34;
  filter:blur(10px) saturate(.98);
  animation:heroSunsetPulse 22s ease-in-out infinite alternate;
}
.hero-water-shimmer{
  inset:auto 0 0 0;
  height:28%;
  background:
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,213,142,.016) 46%, rgba(255,221,176,.048) 100%),
    radial-gradient(120% 85% at 18% 100%, rgba(255,219,162,.07) 0%, rgba(255,219,162,0) 46%),
    radial-gradient(95% 70% at 82% 100%, rgba(255,244,224,.05) 0%, rgba(255,244,224,0) 40%);
  background-size:100% 100%, 100% 100%, 100% 100%;
  background-position:0 0, 0 0, 0 0;
  opacity:.18;
  mix-blend-mode:screen;
  filter:blur(4px);
  transform:translate3d(0,0,0) scale(1.01);
  mask-image:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.10) 28%, rgba(0,0,0,.72) 72%, rgba(0,0,0,.94) 100%);
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.10) 28%, rgba(0,0,0,.72) 72%, rgba(0,0,0,.94) 100%);
  animation:heroShimmerSweep 24s ease-in-out infinite, heroShimmerPulse 10s ease-in-out infinite alternate;
}
.hero-water-shimmer::before,
.hero-water-shimmer::after{content:"";position:absolute;inset:0;pointer-events:none}
.hero-water-shimmer::before{
  background:linear-gradient(102deg, transparent 12%, rgba(255,255,255,.008) 34%, rgba(255,235,196,.055) 48%, rgba(255,255,255,.016) 62%, transparent 84%);
  mix-blend-mode:screen;
  filter:blur(6px);
  opacity:.22;
  transform:translate3d(-24%,0,0) skewX(-10deg);
  animation:heroShimmerGlide 18s ease-in-out infinite;
}
.hero-water-shimmer::after{
  background:radial-gradient(circle at 28% 78%, rgba(255,214,144,.05) 0%, rgba(255,214,144,0) 22%), radial-gradient(circle at 68% 88%, rgba(255,255,255,.028) 0%, rgba(255,255,255,0) 18%);
  mix-blend-mode:screen;
  opacity:.24;
  animation:heroShimmerPulse 12s ease-in-out infinite alternate;
}
.hero-lightning-flash{
  opacity:0;
  background:
    radial-gradient(circle at 76% 40%, rgba(250,244,255,var(--flash-strength,0.055)) 0%, rgba(214,194,255,calc(var(--flash-strength,0.055) * .82)) 12%, rgba(156,120,255,0) 28%),
    radial-gradient(circle at 80% 54%, rgba(235,226,255,calc(var(--flash-strength,0.055) * .55)) 0%, rgba(170,142,255,0) 26%),
    linear-gradient(115deg, transparent 0 63%, rgba(236,228,255,calc(var(--flash-strength,0.055) * .6)) 72%, transparent 82%);
  mix-blend-mode:screen;
  filter:blur(6px);
}
.hero-home.is-flashing .hero-lightning-flash{animation:heroLightningFlash .9s ease-out 1}
.hero-home::before{
  content:"";position:absolute;inset:auto auto -14rem -10rem;width:26rem;height:26rem;border-radius:50%;
  background:radial-gradient(circle, rgba(242,198,79,0.12), transparent 70%);
}
.hero-home::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 20% 54%, rgba(10,14,22,.16), transparent 26%),
    radial-gradient(circle at 82% 46%, rgba(10,14,22,.20), transparent 24%),
    linear-gradient(180deg, rgba(5,8,14,.08), rgba(5,8,14,.16));
}
.hero-home__top{
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:42px
}
.home-localbar{
  display:flex;flex-direction:column;gap:8px;padding:10px 12px;min-width:238px;max-width:260px;
  border-radius:16px;border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(8,16,30,.34), rgba(8,16,30,.24));backdrop-filter:blur(12px);box-shadow:0 12px 28px rgba(0,0,0,.14);
}
.home-localbar__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.home-localbar__label{
  font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,244,226,.82)
}
.home-localbar__status{display:inline-flex;align-items:center;gap:6px;padding:3px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);font-size:.57rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.home-localbar__status-dot{width:7px;height:7px;border-radius:50%;background:#d95050;box-shadow:0 0 0 3px rgba(217,80,80,.16)}
.home-localbar__status.is-open{color:#daf6df;background:rgba(42,112,64,.18);border-color:rgba(88,196,120,.24)}
.home-localbar__status.is-open .home-localbar__status-dot{background:#56c66c;box-shadow:0 0 0 3px rgba(86,198,108,.16)}
.home-localbar__status.is-closed{color:#ffd9d9;background:rgba(117,34,34,.18);border-color:rgba(217,80,80,.26)}
.home-localbar__ops{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.home-localbar__metric{display:flex;flex-direction:column;gap:4px;padding:7px 8px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.home-localbar__metric-label{font-size:.56rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(232,239,246,.66)}
.home-localbar__time,.home-localbar__temp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;line-height:1}
.home-localbar__time{font-size:.98rem;font-weight:800;letter-spacing:-.02em;color:#fff}
.home-localbar__temp{font-size:.92rem;font-weight:800;color:#f7e8d2}
.home-localbar__hours{font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(232,239,246,.70)}
html[data-theme="light"] .home-localbar{background:linear-gradient(180deg, rgba(14,26,48,.16), rgba(14,26,48,.10));border-color:rgba(255,255,255,.24)}
html[data-theme="light"] .home-localbar__label{color:rgba(255,248,236,.92)}
html[data-theme="light"] .home-localbar__status{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.28)}
html[data-theme="light"] .home-localbar__metric{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.28)}
html[data-theme="light"] .home-localbar__metric-label{color:rgba(240,245,250,.72)}
html[data-theme="light"] .home-localbar__hours{color:rgba(240,245,250,.78)}
.hero-home__socials{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hero-home__utility{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;width:auto}
.hero-home__lead{color:#e4edf7;font-size:1.05rem}
.hero-home__welcome{margin-top:28px}
.hero-home__welcome-panel{max-width:360px}
.hero-home__welcome-copy{color:#dfe9f5}
.hero-home .kicker{background:rgba(255,206,132,.20);border:1px solid rgba(255,235,204,.32);color:#fff7ec;box-shadow:0 10px 28px rgba(0,0,0,.12)}
html[data-theme="dark"] .hero-home .kicker{background:rgba(255,196,116,.14);border-color:rgba(255,222,176,.22);color:#fff2dd}
html[data-theme="dark"] .hero-sunset-bloom{opacity:.28;filter:blur(12px) saturate(.94)}
html[data-theme="dark"] .hero-water-shimmer{opacity:.13}
.hero-home__socials a{
  width:42px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--hero-chip-bg);border:1px solid var(--hero-chip-line);color:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.14)
}
.hero-home__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:24px;align-items:center}
@media (prefers-reduced-motion:reduce){.hero-sunset-bloom,.hero-water-shimmer,.hero-lightning-flash{animation:none !important}}
html[data-save-data="true"] .hero-sunset-bloom{animation:none;filter:none;opacity:.18}
html[data-save-data="true"] .hero-water-shimmer,
html[data-save-data="true"] .hero-lightning-flash{display:none}
html[data-save-data="true"] .hero-home::after{background:linear-gradient(180deg, rgba(5,8,14,.08), rgba(5,8,14,.14))}
@media (max-width:900px){.hero-home__grid{grid-template-columns:1fr}}
@media (hover:none), (pointer:coarse), (max-width:900px){
  .hero-water-shimmer{display:none}
  .hero-sunset-bloom{opacity:.26;filter:blur(8px) saturate(.96)}
  .hero-lightning-flash{filter:blur(4px)}
}
.hero-logo-wrap{display:flex;align-items:center;gap:20px}
.hero-logo{width:min(270px,52vw);filter:drop-shadow(0 14px 36px rgba(0,0,0,.28))}
.hero-panel{padding:28px;border-radius:28px;background:var(--hero-panel-bg);border:1px solid var(--hero-panel-line);backdrop-filter: blur(18px) saturate(115%);box-shadow:0 18px 44px rgba(0,0,0,.16)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.hero-body{max-width:720px}
.hero-body .title-xl,.hero-panel .title-md,.announcement .title-lg{text-shadow:0 2px 18px rgba(0,0,0,.18)}
.hero-home .text-muted{color:rgba(243,247,252,.90)}
.hero-home .eyebrow,.hero-home .kicker{text-shadow:0 1px 10px rgba(0,0,0,.16)}
.announcement{
  display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:center
}
.announcement img{
  border-radius:20px;background:#fff;padding:10px;border:1px solid rgba(0,0,0,.08)
}
@media (max-width:760px){.announcement{grid-template-columns:1fr}}
@keyframes heroSunsetPulse{
  0%{opacity:.22;transform:translate3d(-1%, 1%, 0) scale(1);filter:blur(10px) saturate(.96)}
  50%{opacity:.32;transform:translate3d(.75%, -.5%, 0) scale(1.02);filter:blur(11px) saturate(1)}
  100%{opacity:.28;transform:translate3d(1.5%, 0, 0) scale(1.03);filter:blur(12px) saturate(1.02)}
}
@keyframes heroShimmerSweep{
  0%{background-position:0 0, 0 0, 0 0;transform:translate3d(0,0,0) scale(1.01)}
  50%{background-position:0 0, 1.5% -1%, -1.5% 0;transform:translate3d(0,-.35%,0) scale(1.015)}
  100%{background-position:0 0, 0 0, 0 0;transform:translate3d(0,0,0) scale(1.01)}
}
@keyframes heroShimmerPulse{
  0%{opacity:.12}
  50%{opacity:.22}
  100%{opacity:.16}
}
@keyframes heroShimmerGlide{
  0%{opacity:.10;transform:translate3d(-30%,0,0) skewX(-10deg)}
  38%{opacity:.22}
  58%{opacity:.28;transform:translate3d(4%,0,0) skewX(-10deg)}
  100%{opacity:.08;transform:translate3d(24%,0,0) skewX(-10deg)}
}
@keyframes heroLightningFlash{
  0%{opacity:0}
  9%{opacity:.30}
  16%{opacity:.10}
  26%{opacity:.22}
  38%{opacity:.06}
  100%{opacity:0}
}


.nav-modal-title{margin-bottom:0}
@media (max-width:980px){
  .hero-home{min-height:auto;padding:36px 0 28px}
  .hero-sunset-bloom{opacity:.34;filter:blur(8px) saturate(.96)}
  .hero-water-shimmer{display:none}
  .hero-home__top{margin-bottom:30px}
  .hero-home__grid{grid-template-columns:1fr;gap:20px}
  .hero-body{max-width:none}
  .hero-logo{width:min(220px,44vw)}
}
@media (max-width:820px){
  .hero-home__top{flex-direction:column;align-items:stretch;gap:16px}
  .hero-home__utility{justify-content:flex-start}
  .hero-logo-wrap{flex-direction:column;align-items:stretch;gap:16px}
  .hero-logo{margin-inline:auto}
  .hero-home__welcome-panel{max-width:none;width:100%}
}
@media (max-width:640px){
  .hero-home{padding:24px 0 20px}
  .hero-home__top{gap:12px;margin-bottom:18px}
  .hero-home__top .brand{gap:12px}
  .hero-home__top .brand img{width:40px;height:40px}
  .hero-home__top .brand__text span{font-size:1rem}
  .hero-home__top .brand__text small{font-size:.72rem}
  .hero-home__utility{gap:10px}
  .hero-home__socials{width:100%;justify-content:flex-start}
  .hero-home__socials a{width:40px;height:40px}
  .hero-panel{padding:20px;border-radius:22px}
  .hero-logo{width:min(168px,46vw)}
  .hero-home__lead{font-size:.98rem}
  .announcement{grid-template-columns:1fr;gap:14px}
  .announcement img{max-width:148px;margin-inline:auto}
  .hero-actions{gap:10px}
}
@media (max-width:480px){
  .hero-home__socials{gap:8px}
  .hero-actions > *{width:100%}
  .hero-body .title-xl{font-size:clamp(2.1rem,11vw,3rem)}
  .container{padding:0 14px}
}

.site-footer{
  margin-top:56px;
  padding:34px 0 18px;
  background:linear-gradient(180deg,var(--bar-2),var(--bar));
  color:var(--bar-text);
  border-top:1px solid var(--bar-line)
}
body.home-page .site-footer{margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.2fr .95fr .9fr .95fr;gap:24px}
.footer-grid--refined{align-items:start}
@media (max-width:1080px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.footer-grid{grid-template-columns:1fr}}
.footer-block{display:grid;gap:10px}
.footer-wordmark{max-width:340px;width:100%}
.footer-wordmark--light{display:none}
.footer-tagline{margin:2px 0 0;color:#dbe6f5;max-width:36ch}
.footer-address{color:#dbe6f5;line-height:1.7}
.footer-contact-list{display:grid;gap:2px}
.footer-link{display:block;color:#d7e2f0;padding:5px 0}
.footer-link:hover{color:#fff;text-decoration:none}
.footer-link--icon{display:flex;align-items:center;gap:10px}
.footer-note{margin:8px 0 0;color:#9fb4cd;font-size:.92rem;line-height:1.6}
.footer-subheading{margin-top:10px}
.footer-theme-row{margin-top:6px}
.footer-theme-toggle{justify-content:flex-start;color:#eef5ff;border-color:rgba(255,255,255,.16)}
.footer-theme-toggle:hover,.theme-toggle--footer.footer-theme-toggle:hover{background:rgba(255,255,255,.06)}
.footer-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);color:#9fb4cd;font-size:.88rem}
.footer-powered{padding-top:12px;padding-bottom:6px;color:#c7d5e8;font-size:.9rem;text-align:right;border-top:1px solid rgba(255,255,255,.08);margin-top:10px}
.footer-powered a{color:#fff;font-weight:700}
.footer-powered a:hover{text-decoration:underline}
@media (max-width:700px){.footer-powered{text-align:left}}
.footer-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.site-footer .footer-bottom,
.site-footer .footer-powered{
  padding-right:calc(76px + env(safe-area-inset-right));
}
@media (max-width:700px){
  .site-footer .footer-bottom,
  .site-footer .footer-powered{
    padding-right:0;
  }
  .site-footer .footer-bottom{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .site-footer{
    padding-bottom:calc(34px + env(safe-area-inset-bottom));
  }
}
.back-to-top{
  position:fixed;
  right:max(16px, env(safe-area-inset-right));
  bottom:max(16px, env(safe-area-inset-bottom));
  z-index:92;
  width:52px;
  height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
  background:linear-gradient(180deg,color-mix(in srgb, var(--accent) 12%, var(--bg)), color-mix(in srgb, var(--accent) 5%, var(--bg-soft)));
  color:var(--text);
  box-shadow:0 14px 28px rgba(15,23,42,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(14px) scale(.96);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.back-to-top:hover{
  border-color:color-mix(in srgb, var(--accent) 36%, var(--line));
  box-shadow:0 18px 34px rgba(15,23,42,.24);
}
.back-to-top__icon,
.back-to-top__icon svg{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.back-to-top__icon svg{
  width:20px;
  height:20px;
  stroke:currentColor;
  fill:none;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}
html[data-theme="light"] .back-to-top{
  background:linear-gradient(180deg,#ffffff 0%,#edf4ff 100%);
  border-color:#9bb4d3;
  color:#15365e;
  box-shadow:0 16px 30px rgba(16,32,51,.16);
}
html[data-theme="light"] .back-to-top:hover{
  border-color:#6488bb;
  box-shadow:0 18px 34px rgba(32,82,158,.18);
}
@media (max-width:760px){
  .back-to-top{
    right:max(14px, env(safe-area-inset-right));
    bottom:max(14px, env(safe-area-inset-bottom));
    width:48px;
    height:48px;
  }
}
.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.05)}
.page-hero{padding:34px 0 18px}
.section-stack > * + *{margin-top:18px}
.staff-card img,.thumb{
  aspect-ratio:1/1;object-fit:cover;border-radius:18px;background:#fff;border:1px solid var(--line)
}
.resource-card,.staff-card,.info-card{height:100%}
.inline-list{display:flex;flex-wrap:wrap;gap:10px}
.info-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.info-list li{display:flex;gap:10px;align-items:flex-start}
.info-list strong{min-width:84px}
.field{display:grid;gap:8px}
.field > span:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:700}
.field-required{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:999px;background:color-mix(in srgb, var(--accent) 10%, var(--bg-soft));border:1px solid color-mix(in srgb, var(--accent) 24%, var(--line));color:var(--accent);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;font-weight:900;line-height:1}
.field-hint{font-size:.82rem;color:var(--muted);line-height:1.45}
.field-error{display:none;font-size:.83rem;line-height:1.4;color:var(--danger);font-weight:700}
.field.is-invalid .field-error{display:block}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:color-mix(in srgb, var(--danger) 55%, var(--line-strong));box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 14%, transparent)}
.field.is-valid input,.field.is-valid select,.field.is-valid textarea{border-color:color-mix(in srgb, var(--success) 38%, var(--line-strong))}
.checkbox-row.is-invalid{outline:2px solid color-mix(in srgb, var(--danger) 22%, transparent);outline-offset:2px;border-radius:12px}
.field-note{font-size:.86rem;color:var(--muted);line-height:1.45}
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="date"],select,textarea,input[type="file"]{
  width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line-strong);
  background:var(--bg-soft);color:var(--text);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease
}
input[type="text"]:hover,input[type="email"]:hover,input[type="tel"]:hover,input[type="url"]:hover,input[type="date"]:hover,select:hover,textarea:hover,input[type="file"]:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line-strong))}
input[type="file"]{padding:12px 14px}
input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--muted) 82%, transparent)}
textarea{min-height:140px;resize:vertical}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-grid .full{grid-column:1/-1}
.form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.form-actions .button,.form-actions .button-ghost,.form-actions .button-soft{min-width:min(260px,100%)}
.form-status-anchor{scroll-margin-top:calc(var(--nav-h) + 18px)}
#eventsSection,
#linksSection,
#downloadsSection,
#galleriesSection,
#staffSection,
#officeDetails,
#faqSection,
#bookSigningSection,
#jobsOverviewSection{
  scroll-margin-top:calc(var(--nav-h) + 18px);
}
.file-selected-list{display:grid;gap:8px}
.file-selected-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--bg-soft);font-size:.82rem;font-weight:800}
.file-selected-chip__name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-selected-chip__meta{color:var(--muted);font-weight:700}
.form-is-submitting .button[type="submit"],.form-is-submitting input[type="submit"]{pointer-events:none}
@media (max-width:760px){.form-grid{grid-template-columns:1fr}.form-actions .button,.form-actions .button-ghost,.form-actions .button-soft{width:100%;min-width:0}}
.accordion-item{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--bg-elev)}
.accordion-head{width:100%;text-align:left;padding:16px 18px;background:transparent;border:0;color:var(--text);font-weight:800}
.accordion-body{padding:0 18px 18px;color:var(--muted);display:none}
.accordion-item.is-open .accordion-body{display:block}
.filter-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.filter-row > *{min-width:170px}
.modal{
  position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(4,8,14,.74);backdrop-filter: blur(8px);z-index:95;padding:18px;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease
}
.modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.modal-card{
  width:min(1080px,100%);max-height:90vh;overflow:auto;border-radius:26px;
  background:var(--bg-soft);border:1px solid var(--line);box-shadow:var(--shadow);padding:24px;transform:translateY(10px) scale(.985);transition:transform .22s ease,opacity .22s ease;opacity:.96
}
.modal.is-open .modal-card{transform:translateY(0) scale(1);opacity:1}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.close-btn{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:12px;padding:10px 12px}
.nav-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:760px){.nav-modal-grid{grid-template-columns:1fr}}
.nav-card{padding:22px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(180deg, rgba(36,63,144,0.06), transparent), var(--bg-elev)}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:.84rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
pre.json-block{
  white-space:pre-wrap;word-break:break-word;margin:0;padding:16px;
  border-radius:16px;background:rgba(2,8,23,.88);color:#d7e2f0;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace
}
.hidden{display:none!important}
.sr-only{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip:rect(0,0,0,0)
}


body{letter-spacing:.005em}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(46,111,211,.34);outline-offset:2px;box-shadow:0 0 0 4px rgba(46,111,211,.12)}
html[data-theme="dark"] a:focus-visible,html[data-theme="dark"] button:focus-visible,html[data-theme="dark"] input:focus-visible,html[data-theme="dark"] select:focus-visible,html[data-theme="dark"] textarea:focus-visible{outline-color:rgba(125,170,255,.52);box-shadow:0 0 0 4px rgba(125,170,255,.16)}
.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.icon-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff}
.theme-icons{display:flex;align-items:center;gap:8px}
.theme-icon,.mini-icon{display:inline-flex;align-items:center;justify-content:center}
.theme-icon svg,.mini-icon svg,.hero-home__socials svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle__state,.theme-toggle__label{pointer-events:none}
.site-header .nav a[aria-current="page"],.mobile-menu a[aria-current="page"]{background:rgba(255,255,255,.11)}
.mobile-menu__inner{padding-top:6px;padding-bottom:8px}
.hero-home__socials a svg{width:20px;height:20px}
.footer-link--icon,.contact-social-card{display:flex;align-items:center;gap:10px}
.contact-social-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.contact-social-card{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg-soft);color:var(--text);text-decoration:none}
.contact-social-card:hover{text-decoration:none;transform:translateY(-1px)}
@media (max-width:760px){.contact-social-list{grid-template-columns:1fr}}
.accordion-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.accordion-head::after{content:"+";font-size:1.1rem;color:var(--muted)}
.accordion-item.is-open .accordion-head::after{content:"−"}
.info-list li small{display:block}
.notice[aria-live]{margin-top:4px}

.site-header [data-theme-toggle],
.mobile-menu [data-theme-toggle],
.header-actions .theme-toggle,
.header-actions .icon-toggle{
  display:none !important;
}

@media (max-width:760px){
  .hero-home__top{align-items:stretch;gap:14px;margin-bottom:30px}
  .home-localbar{display:none}
}


.page-hero__lead{max-width:760px}
.section-gap-xs{margin-top:12px}
.section-gap-sm{margin-top:22px}
.page-center-card{max-width:760px;margin:0 auto;text-align:center}
.page-center-actions{justify-content:center}
.resource-section-inner{padding:0}
.modal-title-tight{margin-bottom:0}
#galleryModal .modal-card{width:min(1020px,100%)}
#galleryModalBody{display:grid;gap:16px}
#eventRsvpModal .modal-card{width:min(760px,100%)}
#eventRsvpModalBody{display:grid;gap:16px}
.event-rsvp-sheet{display:grid;gap:18px}
.event-rsvp-summary{
  display:grid;
  gap:8px;
  padding:18px 20px;
  border-radius:22px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(36,63,144,.07), transparent), var(--bg-elev);
}
.event-rsvp-summary .title-md{margin:0}
.event-rsvp-summary__meta{
  color:color-mix(in srgb, var(--text-soft) 82%, var(--text));
  font-weight:700;
}
.event-rsvp-form{display:grid;gap:16px}
.event-rsvp-form__actions{justify-content:flex-start}
.event-rsvp-status,.event-rsvp-success{display:grid;gap:12px}
.event-rsvp-summary--success span{
  color:color-mix(in srgb, var(--text-soft) 82%, var(--text));
  font-weight:700;
}
.gallery-viewer{display:grid;gap:16px}
.gallery-viewer__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:flex-start}
.gallery-viewer__description{max-width:68ch}
.gallery-viewer__meta{font-size:.84rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.gallery-stage{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.gallery-stage__frame{margin:0;display:grid;place-items:center;min-height:min(62vh,720px);padding:14px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg, rgba(36,63,144,0.05), transparent), var(--bg-soft)}
.gallery-stage__frame img{max-height:min(58vh,660px);width:auto;max-width:100%;object-fit:contain;border-radius:16px}
.gallery-stage__nav{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;border:1px solid var(--line-strong);background:var(--bg-elev);color:var(--text);font-size:1.7rem;line-height:1;box-shadow:var(--shadow);transition:transform .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease}
.gallery-stage__nav[disabled]{opacity:.42;cursor:not-allowed;transform:none}
.gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px}
.gallery-thumb{display:grid;gap:8px;padding:8px;border-radius:16px;border:1px solid var(--line);background:var(--bg-soft);color:var(--text);text-align:left;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.gallery-thumb img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;background:var(--bg)}
.gallery-thumb span{font-size:.78rem;font-weight:800;color:var(--muted)}
.gallery-thumb.is-active{border-color:color-mix(in srgb, var(--accent) 52%, var(--line-strong));background:linear-gradient(180deg, rgba(36,63,144,0.07), transparent), var(--bg-elev);box-shadow:var(--shadow)}
.gallery-viewer-empty{display:grid;gap:8px;padding:8px 0}
@media (hover:hover) and (pointer:fine){
  .gallery-stage__nav:not([disabled]):hover{transform:translateY(-1px)}
  .gallery-thumb:hover{transform:translateY(-1px);border-color:color-mix(in srgb, var(--accent) 40%, var(--line-strong));box-shadow:var(--shadow)}
}
@media (max-width:760px){
  #galleryModal .modal-card{padding:18px}
  .gallery-stage{grid-template-columns:1fr;gap:10px}
  .gallery-stage__frame{min-height:0;padding:10px}
  .gallery-stage__frame img{max-height:52vh}
  .gallery-stage__nav{width:100%;height:44px;border-radius:14px;font-size:1.2rem}
  .gallery-thumbs{grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}
}
.jobs-layout{align-items:start}
.contact-card-section{margin-top:16px}
.contact-button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.contact-map{margin-top:14px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--bg-soft)}
.contact-map__frame{display:block;width:100%;min-height:320px;border:0}
@media (max-width:760px){.contact-map__frame{min-height:280px}}

@media (max-width:760px){
  .home-page #navModal{
    align-items:flex-start;
    padding:calc(env(safe-area-inset-top, 0px) + 10px) 10px calc(env(safe-area-inset-bottom, 0px) + 10px);
  }
  .home-page #navModal .modal-card{
    width:100%;
    max-height:calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 20px);
    padding:14px;
    border-radius:22px;
    overflow:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .home-page #navModal .modal-head{
    align-items:flex-start;
    gap:10px;
    margin-bottom:12px;
  }
  .home-page #navModal .modal-head .eyebrow{
    font-size:.72rem;
    letter-spacing:.07em;
  }
  .home-page #navModal .nav-modal-title{
    font-size:clamp(1.9rem, 8.2vw, 2.7rem);
    line-height:.95;
    max-width:6ch;
  }
  .home-page #navModal .close-btn{
    padding:8px 12px;
    min-width:88px;
    border-radius:18px;
    font-size:1rem;
  }
  .home-page #navModal .nav-modal-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .home-page #navModal .nav-card{
    padding:14px;
    border-radius:18px;
    min-height:0;
  }
  .home-page #navModal .nav-card .eyebrow{
    display:none;
  }
  .home-page #navModal .nav-card .title-md{
    font-size:1.18rem;
    line-height:1.05;
    margin-bottom:8px;
  }
  .home-page #navModal .nav-card p{
    margin:0;
    font-size:.95rem;
    line-height:1.35;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
}

@media (max-width:400px){
  .home-page #navModal .nav-card{
    padding:12px;
  }
  .home-page #navModal .nav-card .title-md{
    font-size:1.08rem;
  }
  .home-page #navModal .nav-card p{
    font-size:.9rem;
    line-height:1.3;
    -webkit-line-clamp:2;
  }
}


.button,.button-soft,.mobile-menu-btn,.close-btn,.contact-social-card,.nav-card,.card,.footer-link,.brand,.hero-home__socials a,.theme-toggle{transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,opacity .18s ease}
@media (hover:hover) and (pointer:fine){
  .button:hover,.button-soft:hover,.close-btn:hover,.mobile-menu-btn:hover{transform:translateY(-1px);text-decoration:none}
  .card:hover,.nav-card:hover,.contact-social-card:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(10,22,40,.12)}
  html[data-theme="dark"] .card:hover,html[data-theme="dark"] .nav-card:hover,html[data-theme="dark"] .contact-social-card:hover{box-shadow:0 18px 46px rgba(0,0,0,.38)}
  .footer-link:hover,.brand:hover,.hero-home__socials a:hover{text-decoration:none;opacity:1}
  .hero-home__socials a:hover{transform:translateY(-1px)}
}
.nav-card:focus-visible,.contact-social-card:focus-visible,.footer-link:focus-visible,.brand:focus-visible,.close-btn:focus-visible,.mobile-menu-btn:focus-visible{outline:3px solid rgba(46,111,211,.22);outline-offset:3px;text-decoration:none}
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .38s ease,transform .38s ease;transition-delay:var(--reveal-delay,0ms)}
[data-reveal].is-revealed{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1;transform:none;transition:none !important}.mobile-menu,.modal,.modal-card,.button,.button-soft,.mobile-menu-btn,.close-btn,.contact-social-card,.nav-card,.card,.footer-link,.brand,.hero-home__socials a,.theme-toggle,.skip-link,.gallery-thumb,.gallery-stage__nav{transition:none !important}}
@media (prefers-reduced-motion: reduce){.site-preloader,.page-shell,.site-preloader__ring,.site-preloader__sparks i,.site-preloader__bar span,.notice__meter::after,.notice__icon::after{transition:none!important;animation:none!important}}


/* Mobile polish: contact + resources */
#officeDetails .info-list li,
body[data-page="contact"] .info-list li{
  display:grid;
  grid-template-columns:minmax(112px,148px) minmax(0,1fr);
  gap:12px;
  align-items:start;
}
#officeDetails .info-list strong,
body[data-page="contact"] .info-list strong{
  min-width:0;
}
#officeDetails .info-list span,
body[data-page="contact"] .info-list span{
  min-width:0;
  overflow-wrap:anywhere;
}
body[data-page="contact"] .contact-button-row > *{
  flex:1 1 220px;
}
body[data-page="contact"] #faqList .accordion-head{
  align-items:flex-start;
}
body[data-page="contact"] .card-pad{
  padding:22px;
}
body[data-page="resources"] .filter-row{
  align-items:end;
}
body[data-page="resources"] .filter-row > .field{
  flex:1 1 220px;
  min-width:0;
  width:100%;
  max-width:100%;
}
body[data-page="resources"] .filter-row > .field span{
  min-width:0;
}
body[data-page="resources"] .filter-row input[type="date"],
body[data-page="resources"] .filter-row select,
body[data-page="resources"] #eventDateFromFilter,
body[data-page="resources"] #eventDateToFilter,
body[data-page="resources"] #eventTypeFilter{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  inline-size:100%;
  max-inline-size:100%;
}
@media (max-width:760px){
  body[data-page="contact"] .page-hero__lead,
  body[data-page="resources"] .page-hero__lead{
    max-width:32rem;
  }
  #officeDetails .info-list li,
  body[data-page="contact"] .info-list li{
    grid-template-columns:1fr;
    gap:5px;
  }
  body[data-page="contact"] .card-pad{
    padding:18px;
  }
  body[data-page="contact"] .contact-button-row,
  body[data-page="contact"] .form-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  body[data-page="contact"] .contact-button-row > *,
  body[data-page="contact"] .form-actions > *{
    width:100%;
    min-width:0;
  }
  body[data-page="contact"] .contact-map__frame{
    min-height:240px;
  }
  body[data-page="contact"] #faqList .accordion-head{
    padding:14px 16px;
    line-height:1.35;
  }
  body[data-page="contact"] #faqList .accordion-body{
    padding:0 16px 16px;
  }
  body[data-page="resources"] .filter-row{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  body[data-page="resources"] .filter-row > .field{
    min-width:0;
    width:100%;
    max-width:100%;
  }
  body[data-page="resources"] .filter-row > .field span{
    display:block;
    margin-bottom:6px;
  }
  body[data-page="resources"] .filter-row input[type="date"],
  body[data-page="resources"] .filter-row select,
  body[data-page="resources"] #eventDateFromFilter,
  body[data-page="resources"] #eventDateToFilter,
  body[data-page="resources"] #eventTypeFilter{
    width:100%;
    max-width:100%;
  }
}
@media (max-width:480px){
  body[data-page="contact"] .title-lg,
  body[data-page="resources"] .title-lg{
    line-height:1.02;
  }
  body[data-page="contact"] .page-hero.section-tight,
  body[data-page="resources"] .page-hero.section-tight{
    padding-top:22px;
  }
  body[data-page="contact"] .contact-social-card{
    padding:11px 12px;
  }
  body[data-page="resources"] .filter-row{
    margin-bottom:14px;
  }
}



.jobs-overview-card{display:grid;gap:16px}
.jobs-overview-card__head{display:grid;gap:14px}
.jobs-overview-card__actions{align-items:flex-start}
.jobs-overview-card__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.jobs-overview-card__foot{margin:0}
.jobs-intake-layout{grid-template-columns:minmax(0,1fr);align-items:start;max-width:980px;margin-inline:auto}
.jobs-intake-card{display:grid;gap:18px}
.jobs-footer-panels{display:grid;gap:14px}
.jobs-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.jobs-path-card{display:grid;gap:6px;text-align:left;padding:16px;border-radius:18px;border:1px solid var(--line-strong);background:var(--bg-soft);color:var(--text);cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.jobs-path-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb, var(--accent) 40%, var(--line-strong));box-shadow:var(--shadow)}
.jobs-path-card.is-active{border-color:color-mix(in srgb, var(--accent) 58%, var(--line-strong));background:linear-gradient(180deg, rgba(36,63,144,.06), transparent), var(--bg-elev);box-shadow:var(--shadow)}
.jobs-path-card__eyebrow{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:900}
.jobs-path-card strong{font-size:1rem}
.jobs-path-card span:last-child{color:var(--muted);line-height:1.45;font-size:.94rem}
.jobs-doc-block{display:grid;gap:16px}
.jobs-upload-summary--warn{border-color:color-mix(in srgb, #b7791f 45%, var(--line-strong));background:color-mix(in srgb, #fff7e6 72%, var(--bg-soft))}
.jobs-upload-summary--error{border-color:color-mix(in srgb, #c53030 48%, var(--line-strong));background:color-mix(in srgb, #fff1f1 78%, var(--bg-soft))}
html[data-theme="dark"] .jobs-upload-summary--warn{background:rgba(120,82,24,.22)}
html[data-theme="dark"] .jobs-upload-summary--error{background:rgba(120,34,34,.24)}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid var(--line-strong);background:var(--bg-soft)}
.checkbox-row input[type="checkbox"]{margin-top:3px;flex:0 0 auto}
.jobs-check-field{gap:10px}
.jobs-check-field .checkbox-row + .field-note{margin-top:2px}
.jobs-selection-shell{display:grid;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid color-mix(in srgb, var(--accent) 20%, var(--line-strong));background:linear-gradient(180deg, rgba(36,63,144,.04), transparent), var(--bg-elev)}
.jobs-selection-shell__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.jobs-selection-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:color-mix(in srgb, var(--accent) 10%, var(--bg-soft));border:1px solid color-mix(in srgb, var(--accent) 24%, var(--line-strong));font-size:.76rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.jobs-selection-meta{font-size:.8rem;color:var(--muted);font-weight:800}
.jobs-selection-shell__copy{display:grid;gap:6px}
.jobs-selection-shell__copy strong{font-size:1rem}
.jobs-readiness-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.jobs-readiness-list li{display:grid;gap:4px;padding:11px 12px;border-radius:14px;border:1px solid var(--line);background:var(--bg-soft)}
.jobs-readiness-list li strong{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.jobs-readiness-list li span{font-size:.9rem;line-height:1.42}
.jobs-readiness-list li.is-ready{border-color:rgba(22,101,52,.22);background:rgba(22,101,52,.06)}
.jobs-readiness-list li.is-pending{border-color:rgba(183,121,31,.24);background:rgba(183,121,31,.08)}
.jobs-readiness-list li.is-neutral{background:var(--bg-soft)}
.jobs-step-heading{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin:4px 0 -4px}
.jobs-step-heading__number{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:color-mix(in srgb, var(--accent) 12%, var(--bg-soft));border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));font-weight:900;font-size:.86rem}
.jobs-step-heading p{margin:2px 0 0}
.jobs-optional-panel{display:grid;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--bg-soft)}
.jobs-optional-panel > summary,.jobs-links-panel summary{cursor:pointer;font-weight:800;list-style:none}
.jobs-optional-panel > summary::-webkit-details-marker,.jobs-links-panel summary::-webkit-details-marker{display:none}
.jobs-help-card .info-list li strong{min-width:1.6rem;text-align:center}
.jobs-links-panel[open]{display:grid;gap:12px}
@media (max-width:980px){
  .jobs-overview-card__grid,.jobs-path-grid,.jobs-readiness-list{grid-template-columns:1fr}
}



.jobs-overview-card--compact .jobs-overview-card__grid,.jobs-overview-card--compact .jobs-overview-card__foot{display:none}
.jobs-overview-card__notice{margin-top:4px}
.jobs-intake-shell{max-width:860px;margin-inline:auto}
.jobs-intake-card--single{display:grid;gap:18px}
.jobs-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.jobs-mode-card{display:grid;gap:6px;text-align:left;padding:18px;border-radius:18px;border:1px solid var(--line-strong);background:var(--bg-soft);color:var(--text);cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.jobs-mode-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb, var(--accent) 40%, var(--line-strong));box-shadow:var(--shadow)}
.jobs-mode-card.is-active{border-color:color-mix(in srgb, var(--accent) 58%, var(--line-strong));background:linear-gradient(180deg, rgba(36,63,144,.06), transparent), var(--bg-elev);box-shadow:var(--shadow)}
.jobs-mode-card__eyebrow{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:900}
.jobs-book-chooser{display:grid;gap:10px;padding:4px 0 0;border:none;background:transparent}
.jobs-path-grid--books{grid-template-columns:repeat(2,minmax(0,1fr))}
.jobs-help-drawer{display:block;border:1px solid var(--line);border-radius:18px;background:var(--bg-soft)}
.jobs-help-drawer>summary{cursor:pointer;list-style:none;font-weight:800;padding:14px 16px}
.jobs-help-drawer>summary::-webkit-details-marker{display:none}
.jobs-help-drawer[open]{padding-bottom:14px}
.jobs-help-drawer[open]>*:not(summary){padding-inline:16px}
.jobs-links-panel{margin-top:12px;padding:0;border:none;background:transparent}
.jobs-links-panel>summary{padding:0;font-weight:800}
.jobs-intake-card--single #bookFormSection,.jobs-intake-card--single #applicationFormSection{border-top:1px solid var(--line);padding-top:8px}
.jobs-selection-shell--compact{padding:12px 14px}
.jobs-readiness-list--compact{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:720px){
  .jobs-mode-grid,.jobs-path-grid--books,.jobs-readiness-list--compact{grid-template-columns:1fr}
}


/* pass 2 streamlining */
.jobs-overview-drawer{display:block;border:1px solid var(--line);border-radius:18px;background:var(--bg-soft)}
.jobs-overview-drawer>summary{cursor:pointer;list-style:none;font-weight:800;padding:14px 16px}
.jobs-overview-drawer>summary::-webkit-details-marker{display:none}
.jobs-overview-drawer[open]{padding-bottom:14px}
.jobs-overview-drawer[open]>*:not(summary){padding-inline:16px}
.jobs-overview-drawer .jobs-overview-card__head{padding-top:4px}
.jobs-selection-shell{gap:8px}
.jobs-selection-shell .jobs-readiness-list{display:none}
#jobsReadinessText{margin:0;color:var(--muted)}
.jobs-help-drawer .info-list strong{min-width:18px}
@media (max-width:760px){
  .jobs-overview-drawer[open]>*:not(summary){padding-inline:14px}
}

.jobs-inline-guide{margin:0}
.jobs-inline-note{padding:12px 14px;border-radius:16px;border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line));background:color-mix(in srgb, var(--accent) 4%, var(--bg-soft))}
.jobs-selection-shell{gap:8px;border-style:dashed;background:color-mix(in srgb, var(--accent) 3%, var(--bg-elev))}
.jobs-selection-shell__copy p{margin:0}
.form-actions--compact .button{min-width:min(320px,100%)}
.jobs-help-drawer .title-md{margin-top:2px}
.jobs-help-drawer .info-list{margin-bottom:0}
.jobs-overview-drawer .jobs-overview-card__actions{padding-top:4px}
@media (max-width:760px){
  .form-actions--compact .button{width:100%;min-width:0}
}


/* pass 5 jobs polish + icons */
.jobs-intake-shell{max-width:780px}
.jobs-intake-card--single{gap:16px}
.jobs-mode-grid{gap:10px}
.jobs-card-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.jobs-card-copy{display:grid;gap:4px;min-width:0}
.jobs-card-icon,.jobs-inline-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.jobs-card-icon{width:42px;height:42px;border-radius:14px;border:1px solid color-mix(in srgb, var(--accent) 24%, var(--line));background:color-mix(in srgb, var(--accent) 8%, var(--bg-soft));color:var(--accent)}
.jobs-card-icon svg,.jobs-inline-icon svg{width:20px;height:20px;fill:currentColor}
.jobs-inline-icon{width:28px;height:28px;border-radius:999px;border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line));background:color-mix(in srgb, var(--accent) 6%, var(--bg-soft));color:var(--accent)}
.jobs-mode-card,.jobs-path-card{padding:16px}
.jobs-mode-card strong,.jobs-path-card strong{display:block;font-size:1rem;line-height:1.22}
.jobs-mode-card span:last-child,.jobs-path-card span:last-child{color:var(--muted);font-size:.92rem;line-height:1.42}
.jobs-path-card--compact{padding:14px 15px}
.jobs-path-card--compact .jobs-card-icon{width:38px;height:38px;border-radius:12px}
.jobs-path-card--compact .jobs-card-icon svg{width:18px;height:18px}
.jobs-book-chooser{gap:8px;padding-top:2px}
.jobs-inline-guide{font-size:.9rem}
.jobs-selection-shell{padding:11px 13px;border-style:solid;border-color:color-mix(in srgb, var(--accent) 14%, var(--line));background:color-mix(in srgb, var(--accent) 2%, var(--bg-elev))}
.jobs-selection-shell__top{gap:6px}
.jobs-selection-badge{padding:6px 10px}
.jobs-inline-note{display:grid;gap:4px;padding:10px 12px}
.jobs-step-heading{margin:2px 0 -6px}
.jobs-step-heading__number{width:30px;height:30px}
.jobs-help-drawer,.jobs-overview-drawer,.jobs-optional-panel{border-radius:16px}
.jobs-summary-line{display:inline-flex;align-items:center;gap:10px}
.jobs-help-drawer>summary,.jobs-overview-drawer>summary,.jobs-optional-panel>summary,.jobs-links-panel>summary{display:flex;align-items:center;justify-content:flex-start}
.jobs-links-panel>summary{padding:2px 0}
.jobs-help-drawer>summary,.jobs-overview-drawer>summary{padding:13px 15px}
.jobs-optional-panel{padding:12px 14px}
#bookFormHeading,#applicationFormHeading{margin-bottom:4px}
#bookFormIntro{max-width:52ch}
#bookRequirementsNotice strong{font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}
#bookRequirementsNotice span{line-height:1.45}
.form-actions--compact .button{min-width:min(280px,100%)}
#jobsOverviewSection{padding-top:14px}
.jobs-overview-card__actions .button,.jobs-overview-card__actions .button-ghost{min-height:44px}
@media (max-width:720px){
  .jobs-intake-shell{max-width:100%}
  .jobs-card-icon{width:40px;height:40px}
  .jobs-mode-card,.jobs-path-card{padding:14px}
}


/* progressive jobs flow + icon audit */
.jobs-flow-stage{display:grid;gap:14px}
.jobs-flow-stage.hidden{display:none!important}
.jobs-flow-stage + .jobs-flow-stage{padding-top:6px;border-top:1px solid color-mix(in srgb, var(--line) 86%, transparent)}
.jobs-mode-grid,.jobs-path-grid--books{align-items:stretch}
.jobs-mode-card,.jobs-path-card{min-height:100%;text-align:left}
.jobs-mode-card .jobs-card-copy strong,.jobs-path-card .jobs-card-copy strong{margin-bottom:2px}
.jobs-selection-shell__top{align-items:center}
.jobs-selection-meta{font-size:.84rem}
.jobs-help-drawer[open],.jobs-overview-drawer[open]{box-shadow:0 8px 28px rgba(0,0,0,.12)}
.jobs-card-icon{width:40px;height:40px;border-radius:13px}
.jobs-card-icon svg{width:18px;height:18px}
.jobs-inline-icon{width:24px;height:24px}
.jobs-inline-icon svg{width:14px;height:14px}
.jobs-summary-line{font-size:.96rem}
.jobs-inline-guide{max-width:60ch}
@media (max-width:720px){
  .jobs-intake-card--single{gap:14px}
  .jobs-card-row{gap:10px}
  .jobs-card-icon{width:36px;height:36px;border-radius:12px}
  .jobs-card-icon svg{width:16px;height:16px}
  .jobs-inline-icon{width:22px;height:22px}
  .jobs-inline-icon svg{width:13px;height:13px}
  .jobs-summary-line{gap:8px;font-size:.93rem}
}
@media (max-width:480px){
  .jobs-mode-card,.jobs-path-card{padding:13px}
  .jobs-card-copy{gap:3px}
  .jobs-card-copy strong{font-size:.97rem}
  .jobs-mode-card span:last-child,.jobs-path-card span:last-child{font-size:.89rem}
}


.about-story-grid{align-items:stretch}
.about-story-card{height:100%}
.about-featured-list{display:grid;gap:20px}
.about-featured-card{display:grid;gap:18px}
.about-featured-card__intro{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-start}
.about-featured-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.95fr);gap:14px}
.about-featured-grid figure{margin:0;position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--panel-2)}
.about-featured-grid img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
.about-featured-grid__lead img{aspect-ratio:16/11;min-height:320px}
.about-featured-grid__stack{display:grid;gap:14px}
.about-featured-grid figcaption{padding:10px 12px;font-size:.9rem;color:#fff;background:linear-gradient(180deg,rgba(10,15,20,0) 0%, rgba(10,15,20,.72) 100%);position:absolute;left:0;right:0;bottom:0}
.mobile-menu-btn{border-radius:16px;padding:11px 13px;min-width:48px;min-height:48px;border:1px solid var(--line);background:rgba(255,255,255,.04)}
.mobile-menu{padding:0 14px}
.mobile-menu.is-open{padding:10px 14px 16px}
.mobile-menu__inner{display:grid;gap:6px}
.mobile-menu a,.mobile-menu .nav-btn{padding:12px 14px;border:1px solid transparent;border-radius:14px;background:rgba(255,255,255,.03)}
.mobile-menu a[aria-current="page"],.mobile-menu .nav-btn.is-active{border-color:var(--line);background:rgba(255,255,255,.08)}
html[data-theme="light"] .mobile-menu a,html[data-theme="light"] .mobile-menu .nav-btn{color:#102033;background:rgba(6,24,48,.03)}
html[data-theme="light"] .mobile-menu a[aria-current="page"],html[data-theme="light"] .mobile-menu .nav-btn.is-active{background:rgba(19,84,167,.08)}
@media (max-width: 900px){.about-featured-grid{grid-template-columns:1fr}.about-featured-grid__lead img{min-height:0}.about-featured-grid__stack{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
@media (max-width: 640px){.mobile-menu-btn{padding:10px 12px;border-radius:14px}.mobile-menu a{padding:11px 12px}.about-featured-card__intro .button-soft{width:100%}}


/* responsive audit pass 2026-04-02 */
@media (max-width:900px){
  .site-header__inner{gap:12px}
  .brand{gap:10px;min-width:0}
  .brand__text{min-width:0}
  .brand__text small{display:none}
  .mobile-menu{padding:0 12px}
  .mobile-menu.is-open{padding:10px 12px 14px}
  .mobile-menu__inner{gap:8px}
  .mobile-menu a,.mobile-menu .nav-btn{display:flex;align-items:center;min-height:46px;padding:12px 14px;border-radius:14px}
}
@media (max-width:760px){
  :root{--nav-h:68px}
  .container{padding:0 16px}
  .page-hero{padding:26px 0 14px}
  .page-hero__lead{font-size:.98rem;line-height:1.55}
  .card.card-pad{padding:18px}
  .jobs-intake-shell .card.card-pad{padding:16px}
}
@media (max-width:640px){
  .brand img{width:40px;height:40px}
  .mobile-menu-btn{min-width:46px;min-height:46px}
  .jobs-selection-shell__top{align-items:flex-start}
  .jobs-selection-badge{font-size:.72rem}
  .jobs-inline-note{font-size:.92rem}
  .jobs-step-heading{grid-template-columns:1fr;gap:8px}
  .jobs-step-heading__number{width:28px;height:28px}
}
@media (max-width:420px){
  .container{padding:0 14px}
  .page-hero .container{padding-inline:14px}
  .title-lg{line-height:1.08}
  .jobs-help-drawer>summary,.jobs-overview-drawer>summary{padding:12px 13px}
  .jobs-optional-panel{padding:11px 12px}
  .jobs-inline-note{padding:9px 11px}
}
@media (max-width:900px) and (orientation:landscape), (max-height:520px){
  :root{--nav-h:64px}
  body:not(.home-page){padding-top:var(--nav-h)}
  .site-header__inner{gap:10px}
  .brand img{width:38px;height:38px}
  .mobile-menu-btn{padding:9px 11px;min-height:42px}
  .hero-home{min-height:auto;padding:18px 0 22px}
  .hero-home__top{margin-bottom:18px}
  .hero-body .title-xl{font-size:clamp(1.9rem,7vw,2.7rem)}
  .hero-logo{width:min(156px,24vw)}
  .hero-home__grid{gap:18px}
  .page-hero{padding:18px 0 10px}
  .page-hero__lead{max-width:44rem}
}


.jobs-choice-step{display:grid;gap:12px}
.jobs-choice-step.hidden{display:none!important}
.jobs-step-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.jobs-step-actions.hidden{display:none!important}
.jobs-step-action{min-height:42px}
.jobs-help-drawer--mini{grid-column:1 / -1;margin-top:2px}
.jobs-help-drawer--mini>summary{padding:12px 14px;font-size:.95rem}
.jobs-help-drawer--mini[open]{padding-bottom:12px}
.jobs-help-drawer--mini[open]>*:not(summary){padding-inline:14px}
.jobs-check-field--drawer{padding-top:2px}
.jobs-check-field--drawer .field-note{display:block;margin-top:6px}
.jobs-help-drawer--narrow{max-width:640px;width:100%;margin:4px auto 0 0}
@media (max-width:720px){
  .jobs-step-actions{display:grid;grid-template-columns:1fr}
  .jobs-help-drawer--narrow{max-width:100%}
}


/* 2026-04-02 visual + flow refinement */
.jobs-choice-step,
.jobs-book-chooser,
#bookFormSection,
#applicationFormSection,
.jobs-help-drawer,
.jobs-overview-drawer,
#jobsSelectionSummary{
  scroll-margin-top:calc(var(--nav-h) + 18px);
}
.jobs-intake-card--single{
  max-width:740px;
  margin-inline:auto;
}
.jobs-choice-step,
.jobs-book-chooser,
#bookFormSection,
#applicationFormSection{
  contain:layout;
}
.jobs-help-drawer--narrow{
  max-width:560px;
}
.jobs-help-drawer--narrow > summary{
  padding-right:18px;
}
html[data-theme="light"] .card,
html[data-theme="light"] .jobs-path-card,
html[data-theme="light"] .jobs-mode-card,
html[data-theme="light"] .jobs-help-drawer,
html[data-theme="light"] .jobs-overview-drawer,
html[data-theme="light"] .jobs-optional-panel{
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}
html[data-theme="light"] .notice,
html[data-theme="light"] .jobs-selection-shell{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.96));
}
html[data-theme="light"] .button-soft{
  background:#f2f6fb;
  border-color:#c9d6e5;
}
html[data-theme="light"] .button-soft:hover{
  background:#e8eff8;
}
html[data-theme="light"] .theme-toggle{
  background:rgba(255,255,255,.74);
  border-color:rgba(16,39,70,.14);
}
html[data-theme="light"] .theme-toggle:hover{
  background:#fff;
}


/* 2026-04-02 pass: theme toggle tuning */
.theme-toggle__track{
  width:46px;
  height:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.10));
  border-color:rgba(255,255,255,.22);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.08), inset 0 -1px 2px rgba(0,0,0,.10);
}
.theme-toggle__thumb{
  top:1px;
  left:1px;
  width:22px;
  height:22px;
  background:linear-gradient(135deg,#fff2b3,#f6bf34);
  box-shadow:0 3px 10px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.55);
}
html[data-theme="dark"] .theme-toggle__thumb{
  transform:translateX(20px);
  background:linear-gradient(135deg,#d9e5ff,#86abff);
}
.theme-icon{
  opacity:.58;
  transition:opacity .18s ease, color .18s ease, transform .18s ease;
}
html[data-theme="light"] .theme-icon--sun,
html[data-theme="dark"] .theme-icon--moon{
  opacity:1;
  transform:scale(1.02);
}
html[data-theme="light"] .theme-icon--moon,
html[data-theme="dark"] .theme-icon--sun{
  opacity:.42;
}
html[data-theme="light"] .footer-theme-toggle,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle{
  border-color:#91a9cd;
  background:linear-gradient(180deg,#ffffff 0%,#eef3fb 100%);
  box-shadow:0 10px 22px rgba(16,32,51,0.08), inset 0 1px 0 rgba(255,255,255,.94);
}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__track,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__track,
html[data-theme="light"] .dashboard-footer__toggle .theme-toggle__track,
html[data-theme="light"] .dashboard-theme-toggle .theme-toggle__track{
  background:linear-gradient(180deg,#d9e4f4 0%,#c7d7ec 100%);
  border-color:#8ea7cb;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.75), inset 0 -1px 2px rgba(53,81,128,.10);
}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__thumb,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__thumb,
html[data-theme="light"] .dashboard-footer__toggle .theme-toggle__thumb,
html[data-theme="light"] .dashboard-theme-toggle .theme-toggle__thumb{
  background:linear-gradient(135deg,#fff3b2,#f5be33);
  box-shadow:0 3px 8px rgba(122,86,11,.24), inset 0 1px 0 rgba(255,255,255,.7);
}
html[data-theme="light"] .footer-theme-toggle .theme-icon--sun,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-icon--sun,
html[data-theme="light"] .dashboard-footer__toggle .theme-icon--sun,
html[data-theme="light"] .dashboard-theme-toggle .theme-icon--sun{
  color:#b87300;
  opacity:1;
}
html[data-theme="light"] .footer-theme-toggle .theme-icon--moon,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-icon--moon,
html[data-theme="light"] .dashboard-footer__toggle .theme-icon--moon,
html[data-theme="light"] .dashboard-theme-toggle .theme-icon--moon{
  color:#496ea7;
  opacity:.42;
}
html[data-theme="dark"] .footer-theme-toggle .theme-icon--moon,
html[data-theme="dark"] .theme-toggle--footer.footer-theme-toggle .theme-icon--moon,
html[data-theme="dark"] .dashboard-footer__toggle .theme-icon--moon,
html[data-theme="dark"] .dashboard-theme-toggle .theme-icon--moon{
  color:#d6e4ff;
  opacity:1;
}
html[data-theme="dark"] .footer-theme-toggle .theme-icon--sun,
html[data-theme="dark"] .theme-toggle--footer.footer-theme-toggle .theme-icon--sun,
html[data-theme="dark"] .dashboard-footer__toggle .theme-icon--sun,
html[data-theme="dark"] .dashboard-theme-toggle .theme-icon--sun{
  opacity:.36;
}


/* 2026-04-02 next pass: stronger footer/dashboard theme toggle */
html[data-theme="light"] .footer-theme-toggle,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle,
html[data-theme="light"] .dashboard-theme-toggle{
  border-color:#7f99bf;
  background:linear-gradient(180deg,#ffffff 0%,#eaf1fb 100%);
  box-shadow:0 12px 26px rgba(16,32,51,.10), inset 0 1px 0 rgba(255,255,255,.96);
}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__track,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__track,
html[data-theme="light"] .dashboard-footer__toggle .theme-toggle__track,
html[data-theme="light"] .dashboard-theme-toggle .theme-toggle__track{
  background:linear-gradient(180deg,#c4d5ec 0%,#aebfdd 100%);
  border-color:#7d97bf;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.82), inset 0 -1px 2px rgba(46,74,118,.16);
}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__thumb,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__thumb,
html[data-theme="light"] .dashboard-footer__toggle .theme-toggle__thumb,
html[data-theme="light"] .dashboard-theme-toggle .theme-toggle__thumb{
  background:linear-gradient(135deg,#fff4b8,#f2b61c);
  border:1px solid rgba(150,107,8,.16);
  box-shadow:0 4px 10px rgba(122,86,11,.28), inset 0 1px 0 rgba(255,255,255,.76);
}
html[data-theme="light"] .footer-theme-toggle .theme-icon--sun,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-icon--sun,
html[data-theme="light"] .dashboard-footer__toggle .theme-icon--sun,
html[data-theme="light"] .dashboard-theme-toggle .theme-icon--sun{
  color:#a86600;
  opacity:1;
}
html[data-theme="light"] .footer-theme-toggle .theme-icon--moon,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-icon--moon,
html[data-theme="light"] .dashboard-footer__toggle .theme-icon--moon,
html[data-theme="light"] .dashboard-theme-toggle .theme-icon--moon{
  color:#5477ae;
  opacity:.28;
}
html[data-theme="dark"] .footer-theme-toggle .theme-icon--sun,
html[data-theme="dark"] .theme-toggle--footer.footer-theme-toggle .theme-icon--sun,
html[data-theme="dark"] .dashboard-footer__toggle .theme-icon--sun,
html[data-theme="dark"] .dashboard-theme-toggle .theme-icon--sun{opacity:.26}
html[data-theme="dark"] .footer-theme-toggle .theme-icon--moon,
html[data-theme="dark"] .theme-toggle--footer.footer-theme-toggle .theme-icon--moon,
html[data-theme="dark"] .dashboard-footer__toggle .theme-icon--moon,
html[data-theme="dark"] .dashboard-theme-toggle .theme-icon--moon{opacity:1}

/* 2026-04-02 next pass: tighter footer/dashboard theme toggle contrast */
html[data-theme="light"] .footer-theme-toggle,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle,
html[data-theme="light"] .dashboard-theme-toggle{
  border-color:#6f89b1;
  background:linear-gradient(180deg,#ffffff 0%,#e6eef9 100%);
  box-shadow:0 10px 24px rgba(16,32,51,.12), inset 0 1px 0 rgba(255,255,255,.98);
}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__track,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__track,
html[data-theme="light"] .dashboard-footer__toggle .theme-toggle__track,
html[data-theme="light"] .dashboard-theme-toggle .theme-toggle__track{
  background:linear-gradient(180deg,#d9e5f5 0%,#c4d3ea 100%);
  border-color:#7a92b7;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.92), inset 0 -1px 2px rgba(46,74,118,.18);
}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__thumb,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__thumb,
html[data-theme="light"] .dashboard-footer__toggle .theme-toggle__thumb,
html[data-theme="light"] .dashboard-theme-toggle .theme-toggle__thumb{
  background:linear-gradient(135deg,#fff4ba,#f3b411);
  border:1px solid rgba(146,101,0,.2);
  box-shadow:0 5px 12px rgba(118,81,8,.28), inset 0 1px 0 rgba(255,255,255,.84);
}
html[data-theme="light"] .footer-theme-toggle .theme-icon--sun,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-icon--sun,
html[data-theme="light"] .dashboard-footer__toggle .theme-icon--sun,
html[data-theme="light"] .dashboard-theme-toggle .theme-icon--sun{
  color:#9a6200;
  opacity:1;
}
html[data-theme="light"] .footer-theme-toggle .theme-icon--moon,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-icon--moon,
html[data-theme="light"] .dashboard-footer__toggle .theme-icon--moon,
html[data-theme="light"] .dashboard-theme-toggle .theme-icon--moon{
  color:#5679b1;
  opacity:.18;
}
html[data-theme="dark"] .footer-theme-toggle,
html[data-theme="dark"] .theme-toggle--footer.footer-theme-toggle,
html[data-theme="dark"] .dashboard-theme-toggle{
  border-color:rgba(157,190,255,.22);
  background:linear-gradient(180deg,rgba(19,27,42,.96) 0%,rgba(12,18,30,.96) 100%);
  box-shadow:0 10px 22px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="dark"] .footer-theme-toggle .theme-toggle__track,
html[data-theme="dark"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__track,
html[data-theme="dark"] .dashboard-footer__toggle .theme-toggle__track,
html[data-theme="dark"] .dashboard-theme-toggle .theme-toggle__track{
  background:linear-gradient(180deg,#182336 0%,#101827 100%);
  border-color:rgba(129,159,212,.32);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.05), inset 0 -1px 2px rgba(0,0,0,.35);
}
html[data-theme="dark"] .footer-theme-toggle .theme-toggle__thumb,
html[data-theme="dark"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__thumb,
html[data-theme="dark"] .dashboard-footer__toggle .theme-toggle__thumb,
html[data-theme="dark"] .dashboard-theme-toggle .theme-toggle__thumb{
  box-shadow:0 5px 12px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.12);
}
html[data-theme="dark"] .footer-theme-toggle .theme-icon--sun,
html[data-theme="dark"] .theme-toggle--footer.footer-theme-toggle .theme-icon--sun,
html[data-theme="dark"] .dashboard-footer__toggle .theme-icon--sun,
html[data-theme="dark"] .dashboard-theme-toggle .theme-icon--sun{opacity:.18}
html[data-theme="dark"] .footer-theme-toggle .theme-icon--moon,
html[data-theme="dark"] .theme-toggle--footer.footer-theme-toggle .theme-icon--moon,
html[data-theme="dark"] .dashboard-footer__toggle .theme-icon--moon,
html[data-theme="dark"] .dashboard-theme-toggle .theme-icon--moon{opacity:1;color:#dbe7ff}


/* 2026-04-02 final polish pass */
html[data-theme="light"] body[data-page="jobs"]{
  background:#edf2f7;
}
html[data-theme="light"] body[data-page="jobs"] .card,
html[data-theme="light"] body[data-page="jobs"] .jobs-path-card,
html[data-theme="light"] body[data-page="jobs"] .jobs-mode-card,
html[data-theme="light"] body[data-page="jobs"] .jobs-help-drawer,
html[data-theme="light"] body[data-page="jobs"] .jobs-overview-drawer,
html[data-theme="light"] body[data-page="jobs"] .jobs-selection-shell,
html[data-theme="light"] body[data-page="jobs"] .jobs-optional-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border-color:#c9d4e1;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
}
html[data-theme="light"] body[data-page="jobs"] .text-muted{
  color:#55657d;
}
.jobs-intake-card--single{
  gap:12px;
}
.jobs-choice-step,
.jobs-book-chooser,
#bookFormSection,
#applicationFormSection{
  contain:none;
}
.jobs-help-drawer--narrow{
  max-width:500px;
  margin-top:0;
}
#jobsOverviewSection{
  padding-top:8px;
}
#jobsQuickAnswers{
  padding-top:10px;
}
#jobsOverviewSection .container,
#jobsQuickAnswers .container{
  max-width:860px;
}
.jobs-overview-drawer{
  max-width:860px;
  margin-inline:auto;
}
.jobs-overview-drawer .jobs-overview-card__head{
  gap:10px;
}
.theme-toggle__track{
  width:48px;
  height:27px;
}
.theme-toggle__thumb{
  width:23px;
  height:23px;
}
html[data-theme="dark"] .theme-toggle__thumb{
  transform:translateX(21px);
}
html[data-theme="light"] .footer-theme-toggle,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle,
html[data-theme="light"] .dashboard-footer__toggle,
html[data-theme="light"] .dashboard-theme-toggle{
  border-color:#7f9dc8;
  background:linear-gradient(180deg,#ffffff 0%,#e8eef8 100%);
  box-shadow:0 12px 26px rgba(16,32,51,.10), inset 0 1px 0 rgba(255,255,255,.96);
}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__track,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__track,
html[data-theme="light"] .dashboard-footer__toggle .theme-toggle__track,
html[data-theme="light"] .dashboard-theme-toggle .theme-toggle__track{
  background:linear-gradient(180deg,#d3def0 0%,#c0d1e8 100%);
  border-color:#7e9fc7;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.8), inset 0 -1px 2px rgba(53,81,128,.12);
}
html[data-theme="light"] .footer-theme-toggle .theme-toggle__thumb,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__thumb,
html[data-theme="light"] .dashboard-footer__toggle .theme-toggle__thumb,
html[data-theme="light"] .dashboard-theme-toggle .theme-toggle__thumb{
  background:linear-gradient(135deg,#fff2ad,#efb62a);
  box-shadow:0 4px 10px rgba(126,89,10,.28), inset 0 1px 0 rgba(255,255,255,.76);
}
html[data-theme="light"] .footer-theme-toggle .theme-icon--sun,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-icon--sun,
html[data-theme="light"] .dashboard-footer__toggle .theme-icon--sun,
html[data-theme="light"] .dashboard-theme-toggle .theme-icon--sun{
  color:#b47000;
  opacity:1;
}
html[data-theme="light"] .footer-theme-toggle .theme-icon--moon,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-icon--moon,
html[data-theme="light"] .dashboard-footer__toggle .theme-icon--moon,
html[data-theme="light"] .dashboard-theme-toggle .theme-icon--moon{
  color:#4b6ea7;
  opacity:.34;
}


/* 2026-04-02 post-polish usability pass */
.jobs-stage-intro{display:grid;gap:4px;margin-bottom:10px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent) 18%, var(--line));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%, var(--bg-soft)),var(--bg-soft));}
.jobs-stage-intro .title-sm{margin:0;}
.jobs-book-chooser .jobs-inline-guide{margin:0;}
.jobs-stage-flash{animation:jobsStageFlash .72s ease;}
@keyframes jobsStageFlash{0%{transform:translateY(8px);opacity:.45}100%{transform:translateY(0);opacity:1}}
.jobs-help-drawer--narrow{margin:0 auto;align-self:center;justify-self:center;}
.jobs-help-drawer--narrow>summary{justify-content:flex-start;}
#jobsOverviewSection{padding-top:4px;}
#jobsOverviewSection .container,#jobsQuickAnswers .container{max-width:820px;}
html[data-theme="light"] body[data-page="jobs"] .jobs-stage-intro{background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 100%);border-color:#c6d3e3;box-shadow:0 10px 20px rgba(15,23,42,.05);}
@media (max-width:720px){.jobs-stage-intro{padding:12px 14px;}}


/* 2026-04-02 cleanup pass */
.jobs-help-drawer--narrow{
  max-width:540px;
  width:min(100%, 540px);
  margin:4px auto 0;
}
.jobs-book-chooser{
  display:grid;
  gap:14px;
  max-width:740px;
  margin-inline:auto;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg,var(--bg-soft),color-mix(in srgb,var(--bg-soft) 78%, transparent));
}
.jobs-book-chooser.is-active{
  border-color:color-mix(in srgb,var(--accent) 30%, var(--line));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 14%, transparent),0 14px 30px rgba(15,23,42,.08);
}
.jobs-choice-step.is-complete{
  opacity:.82;
}
.jobs-stage-intro{
  display:grid;
  gap:6px;
  padding-bottom:2px;
}
.jobs-stage-intro .eyebrow{
  color:var(--accent);
}
#jobsOverviewSection .container,
#jobsQuickAnswers .container{
  max-width:940px;
}
@media (max-width:720px){
  .jobs-book-chooser{padding:12px 12px;border-radius:18px}
  .jobs-help-drawer--narrow{width:100%}
}


/* 2026-04-02 jobs support width normalization */
body[data-page="jobs"]{
  --jobs-support-max: 860px;
}
body[data-page="jobs"] .jobs-help-drawer--narrow,
body[data-page="jobs"] .jobs-overview-drawer,
body[data-page="jobs"] #jobsOverviewSection .container,
body[data-page="jobs"] #jobsQuickAnswers .container{
  width:min(100%, var(--jobs-support-max));
  max-width:var(--jobs-support-max);
  margin-inline:auto;
}
body[data-page="jobs"] .jobs-help-drawer--narrow,
body[data-page="jobs"] .jobs-overview-drawer{
  display:block;
}
body[data-page="jobs"] #jobsQuickAnswers .container > .card,
body[data-page="jobs"] #jobsOverviewSection .container > .jobs-overview-drawer{
  width:100%;
}
@media (max-width:720px){
  body[data-page="jobs"]{
    --jobs-support-max: 100%;
  }
}


/* 2026-04-02 usability pass: resources filter, toggle clarity, jobs/dashboard support */
body[data-page="resources"] .filter-row > *,
body[data-page="resources"] .filter-row > .field,
body[data-page="resources"] .filter-row > label{
  min-width:0;
}
body[data-page="resources"] .filter-row{
  align-items:end;
  overflow:visible;
}
body[data-page="resources"] #eventsSection .container{
  min-width:0;
}
body[data-page="resources"] #eventDateFromFilter,
body[data-page="resources"] #eventDateToFilter,
body[data-page="resources"] #eventTypeFilter,
body[data-page="resources"] .filter-row input[type="date"],
body[data-page="resources"] .filter-row select{
  min-width:0;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
body[data-page="resources"] .filter-row input[type="date"]::-webkit-date-and-time-value{
  text-align:left;
}
body[data-page="resources"] .filter-row input[type="date"]::-webkit-calendar-picker-indicator{
  margin-left:8px;
}
@media (max-width:760px){
  body[data-page="resources"] .filter-row,
  body[data-page="resources"] .filter-row > .field,
  body[data-page="resources"] .filter-row > *{
    min-width:0;
    width:100%;
  }
}

html[data-theme="light"] .theme-toggle .theme-icon--sun,
html[data-theme="light"] .footer-theme-toggle .theme-icon--sun,
html[data-theme="light"] .dashboard-theme-toggle .theme-icon--sun{
  color:#9a5f00 !important;
  opacity:1 !important;
  filter:drop-shadow(0 0 1px rgba(255,255,255,.55));
}
html[data-theme="light"] .theme-toggle .theme-icon--moon,
html[data-theme="light"] .footer-theme-toggle .theme-icon--moon,
html[data-theme="light"] .dashboard-theme-toggle .theme-icon--moon{
  color:#5778a8 !important;
  opacity:.55 !important;
}
html[data-theme="dark"] .theme-toggle .theme-icon--sun,
html[data-theme="dark"] .footer-theme-toggle .theme-icon--sun,
html[data-theme="dark"] .dashboard-theme-toggle .theme-icon--sun{
  color:#ffd56a !important;
  opacity:.72 !important;
}
html[data-theme="dark"] .theme-toggle .theme-icon--moon,
html[data-theme="dark"] .footer-theme-toggle .theme-icon--moon,
html[data-theme="dark"] .dashboard-theme-toggle .theme-icon--moon{
  color:#dbe7ff !important;
  opacity:1 !important;
}
html[data-theme="light"] .dashboard-theme-toggle .theme-toggle__track,
html[data-theme="light"] .footer-theme-toggle .theme-toggle__track,
html[data-theme="light"] .theme-toggle--footer.footer-theme-toggle .theme-toggle__track{
  background:linear-gradient(180deg,#f7d774,#d7e6ff) !important;
}


/* 2026-04-03 jobs intake clarity pass */
.jobs-selection-progress{display:grid;gap:8px}
.jobs-selection-progress__value{font-size:.82rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft)}
.jobs-selection-progress__meter{display:block;position:relative;height:8px;border-radius:999px;background:color-mix(in srgb, var(--accent) 10%, var(--bg-soft));border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line))}
.jobs-selection-progress__meter > span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb, var(--accent-2) 72%, #ffffff));box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 26%, transparent);transition:width .22s ease}
.jobs-selection-shell[data-readiness-state="complete"] .jobs-selection-progress__value{color:var(--success)}
.jobs-selection-shell[data-readiness-state="complete"] .jobs-selection-progress__meter{background:color-mix(in srgb, var(--success) 12%, var(--bg-soft));border-color:color-mix(in srgb, var(--success) 24%, var(--line))}
.jobs-selection-shell[data-readiness-state="complete"] .jobs-selection-progress__meter > span{background:linear-gradient(90deg,color-mix(in srgb, var(--success) 92%, #ffffff),color-mix(in srgb, var(--success) 72%, #dff7ea))}
.jobs-selection-shell[data-readiness-state="progress"] .jobs-selection-badge{background:color-mix(in srgb, var(--accent) 12%, var(--bg-soft));border-color:color-mix(in srgb, var(--accent) 28%, var(--line-strong))}
.jobs-selection-shell[data-readiness-state="complete"] .jobs-selection-badge{background:color-mix(in srgb, var(--success) 12%, var(--bg-soft));border-color:color-mix(in srgb, var(--success) 24%, var(--line-strong))}
.jobs-readiness-list--compact{margin-top:2px}
.jobs-readiness-list--compact li{position:relative;padding-left:42px;min-height:72px;align-content:start}
.jobs-readiness-list--compact li::before{content:"";position:absolute;left:12px;top:12px;width:18px;height:18px;border-radius:999px;border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));background:color-mix(in srgb, var(--accent) 8%, var(--bg-soft));box-shadow:inset 0 0 0 3px transparent}
.jobs-readiness-list--compact li.is-ready::before{border-color:color-mix(in srgb, var(--success) 38%, var(--line));background:color-mix(in srgb, var(--success) 18%, var(--bg-soft));box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--success) 86%, #ffffff)}
.jobs-readiness-list--compact li strong{display:block;margin-bottom:2px}
.jobs-readiness-list--compact li span{display:block}
body[data-page="jobs"] .jobs-flow-stage{scroll-margin-top:calc(var(--nav-h) + 22px)}
body[data-page="jobs"] .jobs-flow-stage .notice{line-height:1.55}
html[data-theme="light"] body[data-page="jobs"] .jobs-selection-progress__meter{background:#edf3fb;border-color:#c7d5e5}
html[data-theme="light"] body[data-page="jobs"] .jobs-readiness-list--compact li{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
html[data-theme="dark"] body[data-page="jobs"] .jobs-selection-progress__meter{background:rgba(255,255,255,.05)}
html[data-theme="dark"] body[data-page="jobs"] .jobs-readiness-list--compact li{background:rgba(255,255,255,.03)}
@media (max-width:720px){.jobs-readiness-list--compact li{min-height:0;padding-left:40px}}


/* 2026-04-04 site-wide polish pass */
:root{
  --shadow-soft: 0 10px 28px rgba(10,22,40,.08);
  --shadow-hover: 0 18px 42px rgba(10,22,40,.14);
}
.page-hero{
  position:relative;
}
.page-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 26%, var(--line)), transparent);
}
.page-hero .container{
  position:relative;
  display:grid;
  gap:10px;
  padding:22px 0 6px;
}
.page-hero .kicker{
  width:max-content;
}
.page-hero__lead{
  max-width:70ch;
  font-size:1.02rem;
}
.section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.section-heading > div{
  display:grid;
  gap:8px;
}
.section-heading .title-md,
.resource-section-inner > .title-md{
  margin-bottom:0;
}
.resource-section-inner{
  display:grid;
  gap:16px;
}
.resource-card,
.staff-card{
  display:flex;
  flex-direction:column;
}
.resource-card .thumb,
.staff-card img{
  border-radius:20px;
  box-shadow:0 6px 18px rgba(10,22,40,.08);
}
.resource-card__body,
.staff-card__body{
  display:grid;
  gap:10px;
  margin-top:14px;
  flex:1 1 auto;
  align-content:start;
}
.resource-card__meta{
  margin:0;
}
.resource-card .button-soft,
.staff-card .button-soft,
.resource-card .button,
.resource-card .button-ghost{
  margin-top:auto;
}
.resource-card .title-md,
.staff-card .title-md,
.about-featured-card .title-md{
  margin:0;
}
.staff-card__body .eyebrow,
.resource-card__body .eyebrow{
  color:color-mix(in srgb, var(--accent) 54%, var(--muted));
}
.field > span{
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.02em;
  color:var(--text-soft);
}
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="date"],select,textarea,input[type="file"]{
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg-soft) 96%, #ffffff), var(--bg-soft));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.56);
}
input[type="text"]:focus,input[type="email"]:focus,input[type="tel"]:focus,input[type="url"]:focus,input[type="date"]:focus,select:focus,textarea:focus,input[type="file"]:focus{
  border-color:color-mix(in srgb, var(--accent) 56%, var(--line-strong));
  background:var(--bg-soft);
}
.filter-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,220px));
  gap:14px;
  padding:16px;
  margin-bottom:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(36,63,144,.04), transparent), var(--bg-elev);
  box-shadow:var(--shadow-soft);
}
.filter-row > *{min-width:0}
.info-list li{
  padding:10px 12px;
  border-radius:14px;
  background:color-mix(in srgb, var(--panel-soft) 88%, transparent);
  border:1px solid color-mix(in srgb, var(--line) 88%, transparent);
}
.info-list strong{
  min-width:96px;
  color:var(--text);
}
.info-list--stacked li{flex-direction:column;gap:6px}
.accordion-item{
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.accordion-item:hover{
  border-color:color-mix(in srgb, var(--accent) 26%, var(--line));
}
.accordion-item.is-open{
  border-color:color-mix(in srgb, var(--accent) 32%, var(--line));
  box-shadow:var(--shadow-soft);
}
.accordion-head{
  min-height:60px;
}
.contact-social-card{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:10px;
}
.contact-social-card .mini-icon{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
  background:color-mix(in srgb, var(--accent) 8%, var(--bg-soft));
  color:var(--accent);
}
.contact-map,
.about-featured-grid figure,
.resource-card .thumb,
.staff-card img{
  overflow:hidden;
}
.button-ghost:hover,
.button-soft:hover,
.close-btn:hover{
  text-decoration:none;
  transform:translateY(-1px);
}
.site-header .nav a[aria-current="page"],
.mobile-menu a[aria-current="page"]{
  background:color-mix(in srgb, var(--accent) 18%, rgba(255,255,255,.08));
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent);
}
.home-localbar__status-text{
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.jobs-card-icon--books{color:#1f5fbf;background:rgba(33,95,190,.11);border-color:rgba(33,95,190,.24)}
.jobs-card-icon--apply{color:#0e8a4b;background:rgba(14,138,75,.10);border-color:rgba(14,138,75,.24)}
.jobs-card-icon--local{color:#7a4f00;background:rgba(242,198,79,.18);border-color:rgba(191,143,21,.30)}
.jobs-card-icon--traveler{color:#7c2f8c;background:rgba(124,47,140,.10);border-color:rgba(124,47,140,.24)}
.about-story-card,
.about-featured-card,
.resource-card,
.staff-card,
.nav-card,
.page-center-card{
  box-shadow:var(--shadow-soft);
}
@media (hover:hover) and (pointer:fine){
  .about-story-card:hover,
  .about-featured-card:hover,
  .resource-card:hover,
  .staff-card:hover,
  .nav-card:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-hover);
  }
}
html[data-theme="dark"] .filter-row,
html[data-theme="dark"] .accordion-item.is-open,
html[data-theme="dark"] .resource-card,
html[data-theme="dark"] .staff-card,
html[data-theme="dark"] .about-featured-card,
html[data-theme="dark"] .about-story-card{
  box-shadow:0 16px 38px rgba(0,0,0,.28);
}
html[data-theme="dark"] .info-list li{
  background:rgba(255,255,255,.025);
}
html[data-theme="dark"] .field > span{
  color:#d5e0ee;
}
html[data-theme="dark"] .contact-social-card .mini-icon{
  background:rgba(255,255,255,.04);
}
@media (max-width: 860px){
  .filter-row{grid-template-columns:1fr 1fr}
}
@media (max-width: 680px){
  .section-heading{align-items:start;flex-direction:column}
  .filter-row{grid-template-columns:1fr;padding:14px}
  .page-hero .container{padding-top:18px}
}

@media (max-width: 640px){
  .info-list li{flex-direction:column;gap:6px}
  .info-list strong{min-width:0}
}


/* 2026-04-08 public UX and theme pass */
.page-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--accent) 10%, transparent), transparent 32rem),
    linear-gradient(180deg, color-mix(in srgb, var(--bg-soft) 92%, white 8%), color-mix(in srgb, var(--bg) 88%, white 12%));
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 84% 16%, color-mix(in srgb, var(--brand-gold) 14%, transparent), transparent 18rem),
    linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 5%, transparent), transparent);
  opacity:.9;
}
html[data-theme="dark"] .page-hero{
  background:
    radial-gradient(circle at top left, rgba(148,184,255,.12), transparent 28rem),
    linear-gradient(180deg, rgba(22,28,36,.96), rgba(15,18,23,.98));
}
html[data-theme="dark"] .page-hero::before{
  background:
    radial-gradient(circle at 84% 16%, rgba(240,198,91,.10), transparent 18rem),
    linear-gradient(90deg, transparent, rgba(148,184,255,.06), transparent);
}
.page-hero .container{
  position:relative;
  z-index:1;
  gap:12px;
  padding:28px 18px 12px;
}
.page-hero .kicker{
  border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
  box-shadow:0 10px 22px rgba(10,22,40,.08);
}
.page-hero .title-lg{
  max-width:18ch;
}
.page-hero__lead{
  max-width:62ch;
  color:color-mix(in srgb, var(--text-soft) 88%, var(--text));
}

.section-heading,
.resource-section-inner{
  position:relative;
}
.section-heading{
  margin-bottom:20px;
  padding-bottom:10px;
  border-bottom:1px solid color-mix(in srgb, var(--accent) 14%, var(--line));
}
.resource-section-inner{
  gap:18px;
  padding-top:4px;
}
.resource-section-inner > .title-md{
  padding-bottom:10px;
  border-bottom:1px solid color-mix(in srgb, var(--accent) 14%, var(--line));
}

#announcementMount .announcement,
.nav-card,
.resource-card,
.staff-card,
.about-story-card,
.about-featured-card,
#officeDetails.card{
  --public-card-accent:var(--accent);
  position:relative;
  overflow:hidden;
  border-color:color-mix(in srgb, var(--public-card-accent) 14%, var(--line));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--bg-elev) 92%, white 8%), color-mix(in srgb, var(--panel-soft) 92%, white 8%));
}
#announcementMount .announcement::before,
.nav-card::before,
.resource-card::before,
.staff-card::before,
.about-story-card::before,
.about-featured-card::before,
#officeDetails.card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:4px;
  background:var(--public-card-accent);
  opacity:.95;
}
.nav-card[data-nav-kind="shield"],
.about-story-card:first-child{--public-card-accent:#3468d6;}
.nav-card[data-nav-kind="briefcase"],
.resource-card[data-card-kind="event"]{--public-card-accent:#1f5fbf;}
.resource-card[data-card-kind="event"]{
  overflow:visible;
  z-index:1;
  background:
    linear-gradient(var(--public-card-accent), var(--public-card-accent)) top left / 100% 4px no-repeat,
    linear-gradient(180deg, color-mix(in srgb, var(--bg-elev) 92%, white 8%), color-mix(in srgb, var(--panel-soft) 92%, white 8%));
}
.resource-card[data-card-kind="event"]::before{
  content:none;
}
.resource-card[data-card-kind="event"]:has(.calendar-actions[open]){
  z-index:8;
}
.resource-card[data-card-kind="event"].is-calendar-open{
  z-index:8;
}
.nav-card[data-nav-kind="calendar"],
.resource-card[data-card-kind="gallery"]{--public-card-accent:#7c58cf;}
.nav-card[data-nav-kind="map-pin"],
#officeDetails.card{--public-card-accent:#c28a18;}
.resource-card[data-card-kind="download"]{--public-card-accent:#7c58cf;}
.resource-card[data-card-kind="link"],
.about-story-card:last-child{--public-card-accent:#5e738f;}
.staff-card[data-card-kind="staff"]{--public-card-accent:#1f9d73;}
.about-featured-card{--public-card-accent:#1f9d73;}

.nav-card{
  display:grid;
  gap:12px;
  align-content:start;
  min-height:100%;
  padding:22px 22px 20px;
}
.nav-card__icon,
.resource-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid color-mix(in srgb, var(--public-card-accent) 24%, var(--line));
  background:color-mix(in srgb, var(--public-card-accent) 10%, var(--bg-soft));
  color:var(--public-card-accent);
  box-shadow:0 8px 18px color-mix(in srgb, var(--public-card-accent) 10%, transparent);
}
.nav-card__icon svg,
.resource-card__icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nav-card .title-md{
  margin:0;
}
.nav-card .text-muted{
  color:color-mix(in srgb, var(--text-soft) 88%, var(--text));
}

.resource-card,
.staff-card{
  min-height:100%;
  padding-top:20px;
}
.resource-card__body,
.staff-card__body{
  gap:12px;
}
.resource-card__eyebrow-row,
.staff-card__eyebrow-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.resource-card__eyebrow-row .eyebrow,
.staff-card__eyebrow-row .eyebrow{
  margin:0;
}
.resource-card .button-soft,
.staff-card .button-soft,
.resource-card .button,
.resource-card .button-ghost{
  min-height:46px;
}
.resource-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:auto;
}
.resource-card__actions .button-soft,
.resource-card__actions .button,
.resource-card__actions .button-ghost{
  margin-top:0;
  flex:1 1 170px;
}
.calendar-actions{
  position:relative;
  flex:1 1 170px;
}
.calendar-actions > summary{
  list-style:none;
  cursor:pointer;
  width:100%;
}
.calendar-actions > summary::-webkit-details-marker{
  display:none;
}
.calendar-actions__menu{
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  top:calc(100% + 8px);
  display:grid;
  gap:4px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--bg-soft);
  box-shadow:var(--shadow);
}
.calendar-actions__menu a,
.calendar-actions__menu button{
  width:100%;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--text);
  font:inherit;
  text-align:left;
  text-decoration:none;
  padding:10px 12px;
  cursor:pointer;
}
.calendar-actions__menu a:hover,
.calendar-actions__menu button:hover{
  background:var(--bg-soft);
}
.resource-card__meta{
  display:flex;
  align-items:center;
  gap:8px;
  color:color-mix(in srgb, var(--text-soft) 84%, var(--text));
  font-weight:700;
}
.resource-card__footnote{margin:0}
.resource-card__meta::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--public-card-accent);
  flex:0 0 auto;
}

#announcementMount .announcement{
  gap:20px;
  padding:24px;
  box-shadow:0 18px 40px rgba(0,0,0,.14);
}
#announcementMount .announcement img{
  border-radius:22px;
  box-shadow:0 14px 30px rgba(10,22,40,.16);
}
#announcementMount .announcement .button{
  margin-top:8px;
}

body[data-page="resources"] .filter-row,
body[data-page="contact"] .card.card-pad,
body[data-page="about"] .card.card-pad,
body[data-page="resources"] .card.card-pad{
  box-shadow:var(--shadow-soft);
}
body[data-page="resources"] .filter-row{
  border-color:color-mix(in srgb, var(--accent) 16%, var(--line));
}
body[data-page="contact"] .contact-button-row .button-soft{
  flex:1 1 220px;
  min-height:50px;
  justify-content:flex-start;
  padding-inline:16px;
}
body[data-page="contact"] .contact-map{
  box-shadow:0 10px 24px rgba(10,22,40,.08);
}
body[data-page="contact"] #faqList .accordion-item{
  background:linear-gradient(180deg, color-mix(in srgb, var(--bg-elev) 92%, white 8%), var(--bg-soft));
}
body[data-page="contact"] #faqList .accordion-head{
  font-size:.98rem;
}

html[data-theme="dark"] #announcementMount .announcement,
html[data-theme="dark"] .nav-card,
html[data-theme="dark"] .resource-card,
html[data-theme="dark"] .staff-card,
html[data-theme="dark"] .about-story-card,
html[data-theme="dark"] .about-featured-card,
html[data-theme="dark"] #officeDetails.card{
  background:linear-gradient(180deg, rgba(25,31,39,.98), rgba(18,23,30,.98));
  border-color:color-mix(in srgb, var(--public-card-accent) 14%, rgba(148,163,184,.28));
  box-shadow:0 18px 40px rgba(0,0,0,.28);
}
html[data-theme="dark"] .nav-card__icon,
html[data-theme="dark"] .resource-card__icon{
  background:color-mix(in srgb, var(--public-card-accent) 12%, rgba(255,255,255,.03));
  border-color:color-mix(in srgb, var(--public-card-accent) 26%, rgba(148,163,184,.24));
}
html[data-theme="dark"] .page-hero__lead,
html[data-theme="dark"] .nav-card .text-muted,
html[data-theme="dark"] .resource-card__meta{
  color:#ccd8e7;
}

@media (max-width:760px){
  .page-hero .title-lg{
    max-width:12ch;
  }
  .page-hero .container{
    padding-inline:16px;
  }
  .nav-card,
  .resource-card,
  .staff-card,
  #announcementMount .announcement{
    padding:18px;
  }
  .nav-card__icon,
  .resource-card__icon{
    width:40px;
    height:40px;
  }
}

/* 2026-04-08 shared accent coordination and home announcement refinement */
.nav-card[data-nav-kind="shield"],
.about-story-card:first-child{
  --public-card-accent:var(--union-accent-primary);
}
.nav-card[data-nav-kind="briefcase"],
.resource-card[data-card-kind="event"]{
  --public-card-accent:var(--union-accent-primary-strong);
}
.nav-card[data-nav-kind="calendar"],
.resource-card[data-card-kind="gallery"],
.resource-card[data-card-kind="download"]{
  --public-card-accent:var(--union-accent-violet);
}
.nav-card[data-nav-kind="map-pin"],
#officeDetails.card{
  --public-card-accent:var(--union-accent-gold);
}
.resource-card[data-card-kind="link"],
.about-story-card:last-child{
  --public-card-accent:var(--union-accent-slate);
}
.staff-card[data-card-kind="staff"],
.about-featured-card{
  --public-card-accent:var(--union-accent-green);
}

#announcementMount{
  width:100%;
  align-self:stretch;
}
#announcementMount .announcement{
  position:relative;
  --public-card-accent:rgba(255,255,255,.28);
  grid-template-columns:minmax(160px, 220px) minmax(0, 1fr);
  gap:18px;
  min-height:100%;
  padding:24px;
  border-radius:28px;
  border-color:var(--hero-panel-line);
  background:var(--hero-panel-bg);
  box-shadow:0 18px 44px rgba(0,0,0,.16);
  backdrop-filter:blur(18px) saturate(115%);
}
#announcementMount .announcement::before{
  content:none;
}
#announcementMount .announcement::after{
  content:none;
}
#announcementMount .announcement__media,
#announcementMount .announcement__content{
  position:relative;
  z-index:1;
}
#announcementMount .announcement__media{
  display:flex;
  align-items:stretch;
  padding:0;
}
#announcementMount .announcement__media img{
  display:block;
  width:100%;
  min-height:100%;
  max-height:240px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(246,249,253,.82));
  box-shadow:0 14px 28px rgba(10,22,40,.18);
  object-fit:contain;
  object-position:center;
}
#announcementMount .announcement--with-image .announcement__media img{
  padding:0;
  background:none;
  object-fit:cover;
}
#announcementMount .announcement__content{
  display:grid;
  align-content:center;
  gap:10px;
  padding:0;
}
#announcementMount .announcement__eyebrow{
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  color:rgba(255,244,226,.82);
  font-size:.78rem;
  letter-spacing:.08em;
  text-shadow:none;
}
#announcementMount .announcement .title-md{
  margin:0;
  max-width:18ch;
  font-size:clamp(1.4rem, 2.6vw, 1.85rem);
}
#announcementMount .announcement__body{
  margin:0;
  max-width:40ch;
  line-height:1.65;
  color:rgba(243,247,252,.90);
}
#announcementMount .announcement__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:2px;
}
#announcementMount .announcement .button{
  margin-top:0;
  min-height:46px;
  padding-inline:20px;
}

html[data-theme="light"] #announcementMount .announcement{
  background:var(--hero-panel-bg);
  border-color:var(--hero-panel-line);
  color:#f8fbff;
}
html[data-theme="light"] #announcementMount .announcement__eyebrow{
  color:rgba(255,244,226,.84);
}
html[data-theme="light"] #announcementMount .announcement .title-md{
  color:#f8fbff;
}
html[data-theme="light"] #announcementMount .announcement__body{
  color:rgba(243,247,252,.90);
}
html[data-theme="light"] #announcementMount .announcement__media img{
  background:linear-gradient(180deg, #ffffff, #f7f9fc);
}

html[data-theme="dark"] #announcementMount .announcement{
  background:var(--hero-panel-bg);
  border-color:var(--hero-panel-line);
}
html[data-theme="dark"] #announcementMount .announcement__eyebrow{
  color:#fff0d0;
}
html[data-theme="dark"] #announcementMount .announcement__body{
  color:#dbe6f2;
}
html[data-theme="dark"] #announcementMount .announcement__media img{
  background:linear-gradient(180deg, rgba(250,252,255,.94), rgba(231,238,247,.88));
}

@media (max-width:760px){
  #announcementMount .announcement{
    grid-template-columns:1fr;
  }
  #announcementMount .announcement__media{
    padding:18px 18px 0;
  }
  #announcementMount .announcement__content{
    padding:16px 18px 18px;
  }
  #announcementMount .announcement__media img{
    max-height:200px;
  }
}

/* 2026-04-08 responsive audit pass */
.filter-row{
  grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));
  align-items:end;
}
.filter-row .field{
  min-width:0;
}
body[data-page="resources"] .filter-row .field{
  overflow:hidden;
}
.filter-row .field > span{
  min-width:0;
}
.filter-row input[type="date"],
.filter-row select{
  min-width:0;
}
body[data-page="resources"] .filter-row input[type="date"]{
  min-width:0;
  max-width:100%;
  padding-inline:12px;
}
body[data-page="resources"] .filter-row input[type="date"]::-webkit-date-and-time-value,
body[data-page="resources"] .filter-row input[type="date"]::-webkit-datetime-edit{
  min-width:0;
}
.resource-card__actions{
  align-items:stretch;
}
.resource-card__actions .button-soft,
.resource-card__actions .button,
.resource-card__actions .button-ghost{
  justify-content:center;
}

@media (max-width:1100px){
  body[data-page="contact"] .section-tight > .container.grid.grid-2,
  body[data-page="about"] .about-story-grid{
    grid-template-columns:1fr;
  }
  body[data-page="contact"] .section-tight > .container.grid.grid-2{
    gap:18px;
  }
}

@media (max-width:980px){
  .home-localbar{
    min-width:0;
    width:min(100%,280px);
    max-width:100%;
  }
  #announcementMount .announcement{
    grid-template-columns:minmax(132px, 196px) minmax(0, 1fr);
    padding:22px;
  }
  #announcementMount .announcement__media img{
    max-height:220px;
  }
}

@media (max-width:900px){
  #announcementMount .announcement{
    grid-template-columns:1fr;
    gap:16px;
  }
  #announcementMount .announcement__media{
    justify-content:flex-start;
  }
  #announcementMount .announcement__media img{
    width:min(100%, 420px);
    max-height:220px;
  }
  #announcementMount .announcement .title-md{
    max-width:22ch;
  }
}

@media (max-width:760px){
  .modal{
    align-items:flex-start;
    padding:12px;
  }
  .modal-card{
    width:100%;
    max-height:calc(100dvh - 24px);
    padding:18px;
    border-radius:22px;
  }
  .modal-head{
    align-items:flex-start;
  }
  body[data-page="contact"] .contact-card-section{
    margin-top:14px;
  }
}

@media (max-width:680px){
  .modal-head{
    display:grid;
    grid-template-columns:1fr;
    justify-content:stretch;
  }
  .modal-head .close-btn{
    width:100%;
    justify-content:center;
  }
  .resource-card__actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .resource-card__actions .button-soft,
  .resource-card__actions .button,
  .resource-card__actions .button-ghost,
  body[data-page="contact"] .contact-button-row > *{
    width:100%;
    min-width:0;
  }
  body[data-page="resources"] .resource-section-inner{
    gap:14px;
  }
}

@media (max-width:560px){
  .filter-row{
    padding:14px;
    gap:12px;
  }
  body[data-page="resources"] .filter-row input[type="date"]{
    padding-inline:11px;
  }
  .section-heading{
    gap:14px;
    margin-bottom:16px;
  }
  #announcementMount .announcement{
    padding:18px;
    border-radius:22px;
  }
  #announcementMount .announcement__media{
    padding:0;
  }
  #announcementMount .announcement__content{
    gap:8px;
    padding:0;
  }
  #announcementMount .announcement .button{
    width:100%;
  }
}

/* 2026-04-14 resources mobile filter containment */
@media (max-width:640px){
  body[data-page="resources"] #eventsSection .container,
  body[data-page="resources"] .filter-row,
  body[data-page="resources"] .filter-row > .field{
    min-width:0;
    max-width:100%;
  }

  body[data-page="resources"] .filter-row{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:100%;
    overflow:hidden;
  }

  body[data-page="resources"] .filter-row > .field{
    width:100%;
    overflow:hidden;
  }

  body[data-page="resources"] #eventTypeFilter,
  body[data-page="resources"] #eventDateFromFilter,
  body[data-page="resources"] #eventDateToFilter{
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    inline-size:100%;
    max-inline-size:100%;
    box-sizing:border-box;
  }

  body[data-page="resources"] #eventDateFromFilter,
  body[data-page="resources"] #eventDateToFilter{
    -webkit-appearance:none;
    appearance:none;
  }

  body[data-page="resources"] .filter-row input[type="date"]::-webkit-date-and-time-value,
  body[data-page="resources"] .filter-row input[type="date"]::-webkit-datetime-edit{
    display:block;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    text-align:left;
  }
}
