:root{--c-bg:#F7F8FA;--c-surface:#FFFFFF;--c-text:#111111;--c-primary:#111111;--c-secondary:#2D7FF0;--c-accent:#062959;--c-dark-bg:#0B0C0E;--c-dark-text:#EEF2F8;--c-link:#1A5CC4;--c-blue-light:#7FB2FF;--c-line:#E3E8EF;--c-line-strong:#D8DEE7;--ff-display:'Bricolage Grotesque','Segoe UI',system-ui,-apple-system,sans-serif;--ff-body:'Instrument Sans','Segoe UI',system-ui,-apple-system,sans-serif;--sp-1:0.25rem;--sp-2:0.5rem;--sp-3:0.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--sp-8:4rem;--sp-9:6rem;--sp-10:8rem;--gutter:clamp(1.25rem, 0.9rem + 2vw, 3rem);--maxw:1200px;--maxw-narrow:820px;--measure:62ch;--radius-sm:2px;--radius:6px;--radius-lg:10px;--header-h:76px;--mo-dur:420ms;--mo-ease:cubic-bezier(0.16, 0.84, 0.44, 1);--mo-dist:18px;--mo-stagger:70ms;--shadow-sm:0 1px 2px rgba(17,17,17,.06);--shadow:0 10px 30px rgba(6,41,89,.10)}
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{overflow-x:hidden;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}
body{overflow-x:hidden;background:var(--c-bg);color:var(--c-text);font-family:var(--ff-body);font-size:1.0625rem;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100%}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
input,button,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--ff-display);font-weight:800;letter-spacing:-0.02em;line-height:1.14;text-wrap:balance}
h1{font-size:clamp(2.375rem, 1.7rem + 2.6vw, 4rem)}
h2{font-size:clamp(1.75rem, 1.25rem + 1.9vw, 2.5rem);line-height:1.16}
h3{font-size:clamp(1.25rem, 1.05rem + 0.7vw, 1.5rem);font-weight:700;line-height:1.25}
h4{font-size:1.0625rem;font-weight:700;font-family:var(--ff-body);letter-spacing:0}
p,li{max-width:var(--measure)}
p + p{margin-top:var(--sp-4)}
strong{font-weight:600}
small,.meta{font-size:0.9375rem;font-weight:500;line-height:1.6}
a{color:var(--c-link);text-decoration:underline;text-underline-offset:0.18em;text-decoration-thickness:1px}
a:hover{color:var(--c-accent)}
:focus-visible{outline:3px solid var(--c-secondary);outline-offset:2px;border-radius:2px}
ul,ol{padding-left:1.15rem}
hr{border:0;border-top:1px solid var(--c-line);margin:var(--sp-6) 0}
::selection{background:var(--c-secondary);color:#fff}
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:var(--maxw-narrow)}
.section{padding-block:clamp(3.5rem, 2.5rem + 4vw, 7rem)}
.section > .container,.section-inner{padding-inline:var(--gutter);width:100%;max-width:var(--maxw);margin-inline:auto}
.section--tight{padding-block:clamp(2.5rem, 2rem + 2.5vw, 4rem)}
.section--surface{background:var(--c-surface)}
.section--dark{background:var(--c-dark-bg);color:var(--c-dark-text)}
.section--navy{background:var(--c-accent);color:#fff}
.section--dark h1,.section--dark h2,.section--dark h3,.section--navy h1,.section--navy h2,.section--navy h3{color:inherit}
.section--dark a,.section--navy a{color:var(--c-blue-light)}
.section--dark a:hover,.section--navy a:hover{color:#fff}
.stack > * + *{margin-top:var(--sp-4)}
.stack-lg > * + *{margin-top:var(--sp-6)}
.lede{font-size:clamp(1.0625rem, 1rem + 0.35vw, 1.1875rem);line-height:1.6}
.eyebrow{font-size:0.75rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase}
.text-center{text-align:center}
.text-center p,.text-center h2,.text-center h3{margin-inline:auto}
.mw-narrow{max-width:var(--maxw-narrow)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--gutter);top:-120px;z-index:200;background:var(--c-accent);color:#fff;padding:0.75rem 1.25rem;border-radius:var(--radius);text-decoration:none;font-weight:600;transition:top 180ms var(--mo-ease)}
.skip-link:focus{top:0.5rem;color:#fff}
[id]{scroll-margin-top:calc(var(--header-h) + 1rem)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;min-height:48px;padding:0.75rem 1.5rem;border:1px solid transparent;border-radius:var(--radius);font-family:var(--ff-body);font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;text-align:center;transition:transform var(--mo-dur) var(--mo-ease),background-color 200ms var(--mo-ease),color 200ms var(--mo-ease),border-color 200ms var(--mo-ease),opacity var(--mo-dur) var(--mo-ease)}
.btn--primary{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.btn--primary:hover,.btn--primary:focus-visible{background:var(--c-accent);border-color:var(--c-accent);color:#fff}
.btn--navy{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}
.btn--navy:hover,.btn--navy:focus-visible{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.btn--ghost{background:transparent;color:var(--c-text);border-color:var(--c-line-strong)}
.btn--ghost:hover,.btn--ghost:focus-visible{border-color:var(--c-secondary);color:var(--c-accent)}
.section--dark .btn--ghost,.section--navy .btn--ghost{color:var(--c-dark-text);border-color:rgba(238,242,248,.35)}
.section--dark .btn--ghost:hover,.section--navy .btn--ghost:hover{border-color:var(--c-secondary);color:#fff}
.section--dark .btn--primary,.section--navy .btn--primary{background:var(--c-surface);color:var(--c-text);border-color:var(--c-surface)}
.section--dark .btn--primary:hover,.section--navy .btn--primary:hover{background:var(--c-secondary);color:var(--c-text);border-color:var(--c-secondary)}
.btn--lg{min-height:54px;padding:0.9rem 1.9rem;font-size:1.0625rem}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:center}
.lanyard-kicker{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-family:var(--ff-body);font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.14em;color:var(--c-accent);max-width:none}
.lanyard-kicker::before{content:"";flex:0 0 auto;width:24px;height:3px;background:var(--c-secondary)}
.section--dark .lanyard-kicker,.section--navy .lanyard-kicker,.lanyard-kicker--dark{color:var(--c-blue-light)}
.blue-stop{color:var(--c-secondary)}
.door-bracket{position:relative;background:var(--c-surface);border:1px solid var(--c-line);border-left:4px solid var(--c-accent);border-radius:var(--radius-sm);padding:var(--sp-5) var(--sp-5) var(--sp-5) 24px;transition:transform 200ms var(--mo-ease),border-color 200ms var(--mo-ease),box-shadow 200ms var(--mo-ease)}
.door-bracket:hover,.door-bracket:focus-within{border-left-color:var(--c-secondary);box-shadow:inset 2px 0 0 rgba(45,127,240,.45),var(--shadow)}
.section--dark .door-bracket,.section--navy .door-bracket,.door-bracket--dark{background:rgba(238,242,248,.06);border-color:rgba(238,242,248,.16);border-left-color:var(--c-blue-light);color:var(--c-dark-text)}
.section--dark .door-bracket:hover,.section--navy .door-bracket:hover,.door-bracket--dark:hover{border-left-color:var(--c-secondary)}
.numbered-index{list-style:none;padding-left:0;margin:0;display:grid;gap:var(--sp-6)}
.numbered-index > li{max-width:none}
.index-head{display:flex;align-items:center;gap:var(--sp-4)}
.index-num{font-family:var(--ff-display);font-weight:700;font-size:1.75rem;line-height:1;color:var(--c-accent)}
.index-rule{flex:1 1 auto;height:1px;background:var(--c-line-strong);transform-origin:left center}
.section--dark .index-num,.section--navy .index-num{color:var(--c-blue-light)}
.section--dark .index-rule,.section--navy .index-rule{background:rgba(238,242,248,.28)}
.index-body{margin-top:var(--sp-3)}
.threshold-rule{display:flex;align-items:center;width:100%;height:3px;border:0;margin:0;padding:0;background:linear-gradient(to right,var(--c-secondary) 0,var(--c-secondary) 96px,var(--c-accent) 96px,var(--c-accent) 100%);border-radius:2px}
.section--dark .threshold-rule,.section--navy .threshold-rule{background:linear-gradient(to right,var(--c-secondary) 0,var(--c-secondary) 96px,rgba(238,242,248,.35) 96px,rgba(238,242,248,.35) 100%)}
.card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--radius);padding:var(--sp-5);transition:transform var(--mo-dur) var(--mo-ease),box-shadow 200ms var(--mo-ease),border-color 200ms var(--mo-ease)}
.card:hover,.card:focus-within{border-color:var(--c-line-strong);box-shadow:var(--shadow)}
.card--dark{background:rgba(238,242,248,.06);border-color:rgba(238,242,248,.16);color:var(--c-dark-text)}
.grid{display:grid;gap:var(--sp-5)}
.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
@media (min-width:768px){.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.split{display:grid;gap:clamp(1.75rem, 1.25rem + 2.5vw, 3.5rem);align-items:center;grid-template-columns:1fr}
@media (min-width:900px){.split{grid-template-columns:repeat(2,minmax(0,1fr))}}
.img-treated{filter:contrast(1.08) saturate(1.04) brightness(0.98);background:var(--c-dark-bg);border-radius:var(--radius-sm)}
.img-treated--bleed{border-radius:0}
.media{position:relative;overflow:hidden;background:var(--c-dark-bg);border-radius:var(--radius)}
.media img{width:100%;height:100%;object-fit:cover}
.media-zoom{overflow:hidden;position:relative}
.media-zoom img{transition:transform calc(var(--mo-dur) * 2) var(--mo-ease);will-change:transform}
.fact{display:block}
.fact__num{display:block;font-family:var(--ff-display);font-weight:800;font-size:clamp(2rem, 1.5rem + 2vw, 3rem);line-height:1;letter-spacing:-0.02em;color:var(--c-accent)}
.section--dark .fact__num,.section--navy .fact__num{color:var(--c-blue-light)}
.fact__label{display:block;margin-top:var(--sp-2);font-size:0.9375rem;font-weight:500}
.link-draw{position:relative;display:inline-block;text-decoration:none;font-weight:600}
.link-draw::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform var(--mo-dur) var(--mo-ease)}
.link-draw:hover::after,.link-draw:focus-visible::after{transform:scaleX(1)}
.logo-chip{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:var(--radius);padding:14px}
.reveal{opacity:0;transform:translateY(var(--mo-dist))}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion: no-preference){.reveal{transition:opacity var(--mo-dur) var(--mo-ease),transform var(--mo-dur) var(--mo-ease);transition-delay:var(--reveal-delay,0ms)}.media-zoom:hover img,.media-zoom:focus-within img{transform:scale(1.03)}.btn:hover,.btn:focus-visible{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.card:hover,.card:focus-within{transform:translateY(-3px)}.door-bracket:hover,.door-bracket:focus-within{transform:translateY(-3px)}.nav-desktop ul a:hover,.nav-desktop ul a:focus-visible{transform:translateY(-1px)}.ken-burns{animation:kenburns 13s var(--mo-ease) infinite alternate;will-change:transform}@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.04)}}}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}.ken-burns{animation:none}.media-zoom img{transition:none}.btn,.card,.door-bracket{transition:none}*{scroll-behavior:auto}}
.header{position:sticky;top:0;z-index:100;background:var(--c-surface);border-bottom:1px solid var(--c-line)}
.header__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);padding-block:0.7rem;min-height:var(--header-h)}
.identity{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--c-text);flex:0 1 auto;min-width:0}
.identity img{height:34px;width:auto;flex:0 0 auto}
@media (min-width:900px){.identity img{height:44px}}
.identity__rule{display:none;width:1px;align-self:stretch;background:var(--c-line-strong);margin-inline:4px}
@media (min-width:560px){.identity__rule{display:block}}
.identity__text{display:none;flex-direction:column;line-height:1;min-width:0}
@media (min-width:560px){.identity__text{display:flex}}
.identity__name{font-family:var(--ff-display);font-weight:800;font-size:1.0625rem;letter-spacing:-0.02em;text-transform:uppercase;color:var(--c-text);white-space:nowrap}
.identity__sub{margin-top:4px;font-family:var(--ff-body);font-weight:600;font-size:0.5625rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--c-secondary);white-space:nowrap}
.nav-desktop{display:none}
.nav-desktop ul{display:flex;align-items:center;gap:clamp(1rem, 0.5rem + 1.2vw, 2rem);list-style:none;margin:0;padding:0}
.nav-desktop ul li{max-width:none}
.nav-desktop ul a{display:inline-block;padding:0.4rem 0;color:var(--c-text);font-weight:500;font-size:1rem;text-decoration:none;transition:color 200ms var(--mo-ease),transform 200ms var(--mo-ease)}
.nav-desktop ul a:hover,.nav-desktop ul a:focus-visible{color:var(--c-accent)}
.nav-desktop ul a[aria-current="page"]{font-weight:600;box-shadow:inset 0 -2px 0 var(--c-secondary)}
.nav-toggle{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.nav-toggle-label{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:46px;height:46px;flex:0 0 auto;cursor:pointer;border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-surface);transition:border-color 200ms var(--mo-ease),transform 200ms var(--mo-ease)}
.nav-toggle-label:hover{border-color:var(--c-secondary)}
.nav-toggle-label span{display:block;width:20px;height:2px;background:var(--c-text);border-radius:2px}
.nav-toggle:focus-visible + .nav-toggle-label{outline:3px solid var(--c-secondary);outline-offset:2px}
.nav-panel{display:none;position:fixed;left:0;right:0;top:var(--header-h);height:calc(100dvh - var(--header-h));overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--c-surface);border-top:1px solid var(--c-line);padding:var(--sp-5) var(--gutter) var(--sp-8);z-index:99}
.nav-toggle:checked ~ .nav-panel{display:block}
.nav-panel ul{list-style:none;margin:0;padding:0}
.nav-panel li{max-width:none;border-bottom:1px solid var(--c-line)}
.nav-panel a{display:flex;align-items:center;min-height:52px;padding:0.5rem 0;color:var(--c-text);font-family:var(--ff-display);font-weight:700;font-size:1.25rem;letter-spacing:-0.02em;text-decoration:none}
.nav-panel a:hover{color:var(--c-accent)}
.nav-panel .btn{width:100%;margin-top:var(--sp-5)}
.nav-panel__contact{margin-top:var(--sp-5);font-size:0.9375rem;font-weight:500}
.nav-panel__contact a{display:inline;min-height:0;font-family:var(--ff-body);font-size:0.9375rem;font-weight:600;color:var(--c-link);letter-spacing:0}
.nav-close{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.5rem 1rem;margin-top:var(--sp-5);border:1px solid var(--c-line-strong);border-radius:var(--radius);font-size:0.9375rem;font-weight:600;cursor:pointer;background:var(--c-bg)}
.nav-close:hover{border-color:var(--c-secondary)}
@media (min-width:900px){.nav-toggle-label{display:none}.nav-panel,.nav-toggle:checked ~ .nav-panel{display:none}.nav-desktop{display:flex;align-items:center;gap:clamp(1rem, 0.5rem + 1.2vw, 2rem)}}
.footer{background:var(--c-accent);color:#fff;margin-top:0;padding-block:clamp(3rem, 2.25rem + 3vw, 5rem)}
.footer__inner{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.footer a{color:#fff;text-decoration:none}
.footer a:hover{color:var(--c-blue-light)}
.footer__grid{display:grid;gap:var(--sp-6);grid-template-columns:1fr}
@media (min-width:720px){.footer__grid{grid-template-columns:1.4fr 1fr 1.2fr}}
.footer__identity{display:block;text-decoration:none}
.footer__wordmark{font-family:var(--ff-display);font-weight:800;font-size:1.5rem;letter-spacing:-0.02em;text-transform:uppercase;color:#fff;line-height:1.05}
.footer__lock{margin-top:6px;font-family:var(--ff-body);font-weight:600;font-size:0.6875rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--c-blue-light)}
.footer__division{margin-top:var(--sp-4);font-weight:500;font-size:0.9375rem;color:rgba(255,255,255,.86)}
.footer__blurb{margin-top:var(--sp-3);font-size:0.9375rem;line-height:1.6;color:rgba(255,255,255,.78);max-width:38ch}
.footer__heading{font-family:var(--ff-body);font-size:0.75rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--c-blue-light);margin-bottom:var(--sp-3)}
.footer__links{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}
.footer__links li{max-width:none}
.footer__links a{display:inline-flex;align-items:center;min-height:36px;font-weight:500}
.footer__contact{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2);font-size:0.9375rem}
.footer__contact li{max-width:none}
.footer__contact a{display:inline-flex;align-items:center;min-height:36px;font-weight:600}
.footer__area{margin-top:var(--sp-3);font-size:0.875rem;line-height:1.6;color:rgba(255,255,255,.75);max-width:40ch}
.footer__bottom{margin-top:clamp(2rem, 1.5rem + 2vw, 3rem);padding-top:var(--sp-5);border-top:1px solid rgba(255,255,255,.2);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-4);font-size:0.875rem;color:rgba(255,255,255,.8)}
.footer__legal{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4)}
.footer__legal a{font-weight:500}
.footer__by a{font-weight:600}

.reveal{opacity:0;transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1));transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1}
.reveal-stagger>*{opacity:0;transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1));transition-delay:var(--reveal-delay,0ms)}
.reveal-stagger.is-visible>*,.reveal-stagger>.is-visible{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .reveal{transform:translateY(14px);transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1)),transform var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1))}
  .reveal.is-visible{transform:none}
  .reveal-stagger>*{transform:translateY(14px);transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1)),transform var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1))}
  .reveal-stagger.is-visible>*,.reveal-stagger>.is-visible{transform:none}
}
@media (prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{opacity:1;transform:none;transition:none}}
/* nn:mobile-floor */
@media (max-width:899px){
.site-header{position:sticky}
.header__bar{flex-wrap:nowrap}
.nav-panel{position:absolute;top:100%;left:0;right:0;width:100%;max-height:calc(100dvh - var(--header-h,64px));overflow-y:auto;-webkit-overflow-scrolling:touch}
}
input,select,textarea{min-width:0;box-sizing:border-box;max-width:100%}
input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"],input[type="week"]{-webkit-appearance:none;appearance:none;width:100%}
input[type="date"]::-webkit-date-and-time-value{text-align:left;margin:0}
input[type="date"]::-webkit-calendar-picker-indicator{margin-inline-start:auto}
