/* Public pages only. DVIC continues to use the original styles.css. */
:root {
  --shell:1120px; --radius:16px;
  --ink:#183450; --paper:#f3f7fc; --surface:#fff; --muted:#596f83; --line:#dce5ee;
  --accent:#f39b37; --accent-soft:#fff0dd; --secondary:#1460a1; --secondary-soft:#e8f2fb;
  --dark:#0b2343; --dark-surface:#102f56;
}
body { font-size:16px; line-height:1.65; }
body[data-page] { background:var(--paper); }
body[data-page]{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}body[data-page]>#main{flex:1 0 auto}body[data-page]>.site-header,body[data-page]>.site-footer{flex:none}body[data-page]>.site-footer{margin-top:auto}
::selection { background:#c6e4f4; color:#102b3a; text-shadow:none; }
a { text-underline-offset:3px; }
a:focus-visible,button:focus-visible { outline:3px solid var(--secondary); outline-offset:4px; }
.shell { width:min(calc(100% - 48px),var(--shell)); }
.header-inner { min-height:68px; gap:20px; }
.brand { gap:9px; font-size:.95rem; font-weight:750; letter-spacing:-.015em; }
.brand-mark { width:35px; height:34px; }
.primary-nav { gap:23px; }
.primary-nav a { position:relative; font-weight:650; font-size:.88rem; padding:20px 0; }
.primary-nav a[aria-current="page"]::after { content:""; position:absolute; height:2px; border-radius:2px; background:var(--accent); left:0; right:0; bottom:14px; }
.eyebrow { margin:0 0 12px; font-size:.7rem; font-weight:800; letter-spacing:.13em; }
h1,h2,h3 { line-height:1.25; letter-spacing:-.025em; text-wrap:balance; overflow-wrap:break-word; }
h1 { margin-bottom:16px; font-size:clamp(2rem,3.6vw,2.8rem); }
h2 { font-size:clamp(1.4rem,2.3vw,1.8rem); margin-bottom:14px; }
h3 { font-size:1.16rem; line-height:1.35; }
.lead { max-width:700px; font-size:1rem; line-height:1.7; color:var(--muted); margin-bottom:0; }
.home-description { white-space:pre-line; text-wrap:initial; }
.section { padding:44px 0; }
.section-heading { max-width:760px; margin-bottom:24px; }
.section-heading h2 { margin-bottom:0; }
.section-heading-light .eyebrow { color:#a7cddc; }
.button { min-height:44px; padding:9px 17px; border-radius:10px; line-height:1.4; font-size:.9rem; font-weight:750; background:var(--accent); color:var(--dark); }
.button-quiet { background:transparent; color:var(--ink); }
.button-light { background:var(--surface); color:var(--ink); border-color:var(--surface); }
.compact-actions { gap:10px; margin-top:22px; }
.site-icon { width:23px; height:23px; flex:none; display:block; }
.icon-tile { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:var(--secondary); background:var(--secondary-soft); }
.icon-tile .site-icon { width:21px; height:21px; }
.text-link { display:inline-flex; align-items:center; gap:6px; color:var(--ink); font-size:.9rem; font-weight:750; text-decoration:none; }
.text-link:hover { color:var(--secondary); }
.text-link .site-icon { width:17px; height:17px; }
/* Compact versions of each existing homepage layout. */
.logo-stage { width:min(280px,70vw); }
.logo-stage.template-panel { width:min(280px,70vw); border-radius:24px; box-shadow:0 16px 40px color-mix(in srgb,var(--ink) 9%,transparent); }
.compact-hero { padding:44px 0; }
.compact-hero-grid { min-height:300px; gap:48px; }
.compact-copy::before,.station-home-heading::before,.photo-home-copy::before,.editorial-copy::before { width:42px; height:4px; margin-bottom:20px; }
.compact-copy h1 { font-size:clamp(2.8rem,5vw,3.6rem); }
.compact-logo { min-height:270px; }
.home-nav-section { padding:30px 0 36px; }
.home-card-grid { gap:14px; }
.home-card { min-height:204px; padding:22px; border-radius:16px; }
.home-card-index { margin-bottom:18px; width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:var(--secondary-soft); color:var(--secondary); }
.home-card-index .site-icon { width:21px; height:21px; }
.home-card h2 { font-size:1.13rem; line-height:1.35; margin-bottom:9px; text-wrap:initial; }
.home-card p { font-size:.88rem; line-height:1.6; margin-bottom:16px; }
.home-card-link { font-size:.82rem; font-weight:750; }
.proof-row { margin-top:24px; }
.proof-row div { padding:15px 18px; }
.proof-row strong { font-size:1.2rem; line-height:1.3; }
.station-home { min-height:0; padding:42px 0; }
.station-home-heading { max-width:700px; margin-bottom:26px; }
.station-home-heading h1 { font-size:clamp(2rem,3.8vw,2.8rem); }
.station-home-grid { gap:18px; }
.station-home-card { min-height:230px; padding:25px; border-radius:16px; }
.station-home-card strong { font-size:2.65rem; line-height:1.25; margin:20px 0 5px; letter-spacing:-.035em; }
.station-home-card h2 { font-size:1.3rem; }
.station-home-card p { font-size:.92rem; }
.station-home-card > span:last-child { font-size:.9rem; }
.station-kind { padding:4px 9px; font-size:.65rem; letter-spacing:.08em; line-height:1.5; }
.mini-links { gap:20px; margin-top:24px; font-size:.9rem; }
/* Homepage: three independent areas, with natural image proportions. */
.photo-home { background:linear-gradient(115deg,var(--dark) 0%,var(--dark-surface) 100%); }
.photo-home-frame { min-height:360px; display:block; overflow:hidden; }
.photo-home-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,250px) minmax(0,1fr); align-items:center; gap:32px; width:min(calc(100% - 64px),1360px); padding:50px 0; margin-inline:auto; position:relative; }
.photo-home-copy { width:auto; max-width:none; min-width:0; color:#fff; text-align:var(--hero-align,left); transform:translate(var(--hero-content-x),var(--hero-content-y)); }
.photo-home-copy::before { margin-left:var(--hero-margin-left,0); margin-right:var(--hero-margin-right,auto); margin-bottom:18px; }
.photo-home-copy h1 { font-size:clamp(2rem,2.8vw,2.65rem); line-height:1.25; max-width:22ch; margin:0 0 18px; margin-left:var(--hero-margin-left,0); margin-right:var(--hero-margin-right,auto); }
.photo-home-copy p:not(.eyebrow) { max-width:none; font-size:.92rem; line-height:1.8; color:#d6e5ec; margin-bottom:0; }
.photo-home-copy .eyebrow { color:#a8cbdc; }
.photo-home-copy .compact-actions { justify-content:var(--hero-justify,flex-start); margin-top:24px; }
.hero-center-logo,.hero-fleet { display:flex; align-items:center; justify-content:center; min-width:0; }
.hero-fleet { justify-content:flex-end; }
.hero-center-logo img { display:block; width:100%; max-width:250px; height:auto; filter:invert(1); opacity:.92; }
.hero-fleet img { display:block; width:100%; height:auto; max-width:420px; }
.editorial-home { min-height:0; padding:44px 0; }
.editorial-grid { min-height:310px; gap:48px; }
.editorial-copy h1 { font-size:clamp(2rem,3.8vw,2.8rem); max-width:19ch; }
/* About: text, standards, and small location links. */
.page-hero { padding:44px 0 36px; }
.page-hero-simple { padding-bottom:32px; }
.page-hero h1,.page-hero-simple h1 { font-size:clamp(2rem,3.6vw,2.8rem); line-height:1.25; max-width:25ch; }
.about-intro { max-width:var(--shell); }
.about-station-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.about-station-links a { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); padding:7px 11px; border-radius:8px; background:var(--surface); font-size:.83rem; text-decoration:none; }
.about-station-links .site-icon { width:16px; height:16px; color:var(--secondary); }
.about-station-links a:hover { border-color:var(--secondary); }
.statement-grid { gap:18px; }
.statement-grid article { padding:24px; border-radius:16px; }
.statement-grid h2 { margin:0 0 10px; font-size:1.25rem; line-height:1.3; }
.statement-grid p { margin:0; font-size:.96rem; line-height:1.7; color:var(--muted); }
.statement-top { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.statement-top h2 { margin:0; }
.values-grid { gap:12px; }
.value-card { min-height:0; padding:20px 17px; border-radius:14px; }
.value-card .icon-tile { background:rgba(123,192,216,.1); color:#a7cddc; width:34px; height:34px; }
.value-card h3 { margin:16px 0 9px; font-size:1rem; letter-spacing:-.015em; }
.value-card p { margin:0; color:#d0dfe7; font-size:.87rem; line-height:1.65; }
.safety-note { display:flex; align-items:flex-start; gap:12px; margin-top:22px; padding-top:20px; border-top:1px solid rgba(255,255,255,.14); }
.safety-note .site-icon { color:#a7cddc; width:20px; height:20px; margin-top:3px; }
.safety-note p { margin:0; max-width:960px; font-size:.9rem; color:#d0dfe7; }
/* Locations: two concise cards. */
.location-section { padding-top:12px; }
.location-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.location-card { border:1px solid var(--line); border-radius:18px; overflow:hidden; background:var(--surface); scroll-margin-top:92px; }
.location-top { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; padding:24px; background:var(--paper); border-bottom:1px solid var(--line); }
.location-top h2 { font-size:1.65rem; line-height:1.25; margin:7px 0 0; }
.location-code { display:block; font-size:.77rem; font-weight:800; letter-spacing:.08em; color:var(--secondary); }
.location-top .icon-tile { width:43px; height:43px; }
.location-body { padding:24px; }
.location-address { display:flex; align-items:flex-start; gap:9px; margin:0 0 21px; font-size:.94rem; }
.location-address .site-icon { width:18px; height:18px; color:var(--secondary); margin-top:4px; }
.location-facts { margin:0; }
.location-facts div { padding:15px 0; border-top:1px solid var(--line); }
.location-facts dt { font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--secondary); margin-bottom:6px; }
.location-facts dd { margin:0; font-size:.93rem; color:var(--muted); line-height:1.65; }
.location-actions { display:flex; flex-wrap:wrap; gap:20px; padding-top:17px; margin-top:2px; border-top:1px solid var(--line); }
/* Jobs and resources. */
.jobs-section { padding-top:10px; }
.role-groups { gap:32px; }
.role-group { scroll-margin-top:94px; }
.role-group-heading { gap:12px; margin-bottom:16px; }
.role-group-heading h2 { font-size:1.4rem; }
.role-grid { gap:16px; }
.role-card { min-height:270px; padding:23px; border-radius:16px; }
.role-meta { font-size:.66rem; letter-spacing:.05em; margin-bottom:12px; }
.role-card h3 { font-size:1.16rem; line-height:1.4; margin-bottom:12px; }
.role-card p:not(.role-meta) { font-size:.92rem; line-height:1.65; }
.role-card .button { margin-top:auto; }
.jobs-contact { margin:26px 0 0; font-size:.9rem; color:var(--muted); }
.jobs-contact a { color:var(--ink); font-weight:650; overflow-wrap:anywhere; }
.referral-callout-section { padding:0 0 32px; }
.referral-callout { display:flex; align-items:center; gap:18px; padding:22px 24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.referral-callout-copy { flex:1; min-width:0; }
.referral-callout h2 { margin:0 0 5px; font-size:1.15rem; line-height:1.4; }
.referral-callout p { margin:0; color:var(--muted); font-size:.9rem; }
.referral-callout .button { flex:none; gap:10px; }
.referral-callout .button .site-icon { width:17px; height:17px; }
.resources-section { padding-top:10px; }
.resource-feature { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; padding:26px; border:1px solid var(--line); border-radius:16px; background:var(--paper); margin-bottom:28px; }
.resource-feature .icon-tile { width:50px; height:50px; }
.resource-feature h2 { font-size:1.3rem; margin-bottom:7px; }
.resource-feature p { max-width:650px; font-size:.94rem; margin:0; color:var(--muted); }
.resource-feature .resource-label { font-size:.68rem; margin-bottom:7px; font-weight:800; letter-spacing:.1em; color:var(--secondary); text-transform:uppercase; }
.resource-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.resource-card { min-height:0; padding:23px; border-radius:16px; background:var(--surface); border:1px solid var(--line); }
.resource-card > span { color:var(--secondary); }
.resource-card h2 { font-size:1.12rem; margin:16px 0 9px; }
.resource-card p { color:var(--muted); font-size:.9rem; margin-bottom:14px; }
.resource-card em { margin:0; border-color:var(--line); color:var(--muted); font-size:.7rem; padding:3px 8px; }
.site-footer { padding:28px 0; }
.footer-grid { grid-template-columns:105px 1fr; gap:28px; align-items:center; }
.footer-logo { width:98px; }
.footer-content { align-items:center; gap:28px; }
.footer-content p { font-size:.88rem; }
.footer-email { font-size:.82rem; margin-top:5px; }
.footer-disclaimer { max-width:470px; font-size:.75rem!important; line-height:1.65; }
@media (max-width:980px) {
  .home-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-card { min-height:185px; }
  .values-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .value-card:last-child { grid-column:auto; min-height:0; }
  .role-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .resource-feature { grid-template-columns:auto 1fr; }
  .resource-feature > .button { grid-column:2; justify-self:start; }
}
@media (max-width:800px) {
  .header-inner { min-height:62px; }
  .primary-nav { gap:0; padding:10px 24px; align-items:stretch; }
  .primary-nav a { padding:10px 0; }
  .primary-nav a[aria-current="page"]::after { display:none; }
  .compact-hero-grid,.editorial-grid { grid-template-columns:1fr; gap:24px; min-height:0; }
  .compact-logo,.editorial-logo { order:0; min-height:0; }
  .compact-hero-grid.logo-left .compact-logo,.editorial-grid.logo-left .editorial-logo { order:0; }
  .compact-hero-grid.logo-left .compact-copy,.editorial-grid.logo-left .editorial-copy { order:initial; }
  .logo-stage,.logo-stage.template-panel { width:230px; }
  .station-home-grid,.statement-grid,.location-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:84px 1fr; gap:20px; }
  .footer-logo { width:80px; }
  .footer-content { gap:15px; align-items:flex-start; }
  .footer-disclaimer { text-align:left; }
}
@media (max-width:560px) {
  .shell { width:calc(100% - 32px); }
  .section { padding:32px 0; }
  .page-hero { padding:32px 0 26px; }
  h1,.page-hero h1,.page-hero-simple h1 { font-size:2rem; }
  .home-nav-section { padding:22px 0 26px; }
  .home-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .home-card { min-height:0; padding:18px 15px; }
  .home-card h2 { font-size:1rem; }
  .home-card p { font-size:.83rem; }
  .home-card-index { margin-bottom:13px; }
  .home-card-link { font-size:.78rem; }
  .compact-copy h1 { font-size:2.8rem; }
  .compact-actions { flex-direction:row; }
  .compact-actions .button { width:auto; }
  .values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .value-card:last-child { grid-column:1/-1; }
  .value-card { padding:18px 15px; }
  .statement-grid article { padding:21px; }
  .location-section,.jobs-section,.resources-section { padding-top:8px; }
  .location-top,.location-body { padding:21px; }
  .role-grid,.resource-grid { grid-template-columns:1fr; }
  .role-card { min-height:0; padding:22px; }
  .role-card .button { margin-top:8px; }
  .referral-callout-section { padding-bottom:26px; }
  .referral-callout { flex-wrap:wrap; gap:14px; padding:21px; }
  .referral-callout > .icon-tile { display:none; }
  .referral-callout-copy { flex-basis:100%; }
  .resource-feature { grid-template-columns:1fr; gap:14px; padding:22px; }
  .resource-feature > .button { grid-column:auto; justify-self:start; }
  .resource-feature .icon-tile { width:38px; height:38px; }
  .resource-card { padding:22px; }
  .footer-grid { grid-template-columns:1fr; gap:18px; }
  .footer-content { flex-direction:column; }
  .site-footer { padding:26px 0; }
}
@media (max-width:360px) {
  .home-card-grid,.values-grid { grid-template-columns:1fr; }
  .value-card:last-child { grid-column:auto; }
  .about-station-links { flex-direction:column; align-items:flex-start; }
}

:root[data-theme="monochrome"] .button:not(.button-quiet):not(.button-light) { color:#fff; }
@media (min-width:801px) {
  .single-role { grid-template-columns:1fr; }
  .single-role .role-card { display:grid; grid-template-columns:1fr auto; column-gap:30px; min-height:0; }
  .single-role .role-meta,.single-role h3,.single-role .role-card > p:not(.role-meta) { grid-column:1; }
  .single-role .role-card > p:not(.role-meta) { margin-bottom:0; }
  .single-role .role-card .button { grid-column:2; grid-row:1/4; align-self:center; margin:0; }
}

.primary-nav a:hover,.primary-nav a[aria-current="page"] { color:var(--ink); }
.page-hero .eyebrow,.location-code,.location-facts dt,.role-meta,.resource-feature .resource-label { color:color-mix(in srgb,var(--secondary) 78%,black); }

@media (max-width:1100px) {
  .hero-three-part .photo-home-content { display:block; width:min(calc(100% - 48px),700px); padding:38px 0; }
  .hero-three-part .hero-center-logo,.hero-three-part .hero-fleet { display:none; }
  .photo-home-frame.hero-three-part { min-height:0; }
  .hero-three-part .photo-home-copy { width:100%; transform:none!important; text-align:left!important; padding:0!important; }
  .hero-three-part .photo-home-copy h1 { font-size:clamp(2rem,5vw,2.6rem); max-width:23ch; margin-left:0; }
  .hero-three-part .photo-home-copy p.home-description { white-space:normal!important; line-height:1.75; }
  .hero-three-part .photo-home-copy .compact-actions { justify-content:flex-start; }
}
@media (max-width:560px) {
  .hero-three-part .photo-home-content { width:calc(100% - 40px); padding:32px 0 36px; }
  .hero-three-part .photo-home-copy h1 { font-size:clamp(1.85rem,7.8vw,2.25rem); line-height:1.25; margin-bottom:16px; }
  .hero-three-part .photo-home-copy .eyebrow { font-size:.62rem; letter-spacing:.08em; line-height:1.7; }
  .hero-three-part .photo-home-copy p:not(.eyebrow) { font-size:.94rem; }
  .hero-three-part .photo-home-copy .compact-actions { gap:10px; margin-top:22px; flex-wrap:wrap; }
}

@media(max-width:1100px) {
  .hero-three-part .photo-home-copy [data-h6-editable] { left:auto!important; top:auto!important; position:static!important; }
  .hero-three-part .photo-home-copy h1 { font-size:min(var(--h6-edited-font-size,2.6rem),clamp(2rem,5vw,2.6rem))!important; margin-left:0; margin-right:auto; }
}
@media(max-width:560px) {
  .hero-three-part .photo-home-copy h1 { font-size:min(var(--h6-edited-font-size,2.25rem),clamp(1.85rem,7.8vw,2.25rem))!important; }
}

/* Navy, blue and orange shared with the bonus calculator. */
body[data-page] .site-header { background:var(--dark); color:#f9fcff; border-bottom:3px solid var(--accent); backdrop-filter:none; }
body[data-page] .site-header .brand-mark { filter:brightness(0) invert(1); }
body[data-page] .primary-nav a { color:#d6e4f0; }
body[data-page] .primary-nav a:hover,body[data-page] .primary-nav a[aria-current="page"] { color:#fff; }
body[data-page] .primary-nav a:hover { text-decoration:underline; }
body[data-page] .menu-toggle { border-color:#6384a2; background:transparent; color:#fff; }
body[data-page] .site-header .h6-menu-placeholder,body[data-page] .site-header .h6-login,body[data-page] .site-header .h6-staff-menu>summary { background:#102f56; border-color:#6384a2; color:#fff; }
body[data-page] .site-header .h6-menu-placeholder:hover,body[data-page] .site-header .h6-login:hover,body[data-page] .site-header .h6-staff-menu>summary:hover { background:#164875; }
body[data-page] .site-header :is(a,button,summary):focus-visible { outline-color:#ffbc6a; }
body[data-page] .photo-home { background:linear-gradient(118deg,#0b2343 0%,#102f56 55%,#164875 100%); }
body[data-page] .photo-home-copy::before { content:none; }
body[data-page="about"] .core-values { background:var(--dark-surface); }
body[data-page] .text-link,body[data-page] .home-card-link,body[data-page] .footer-email { color:var(--secondary); }
body[data-page] .text-link:hover,body[data-page] .home-card:hover .home-card-link { text-decoration:underline; }
body[data-page] .site-footer { background:var(--dark); }
body[data-page] .footer-email { color:#b8d7ee; }
body[data-page] .footer-email:hover { text-decoration:underline; }
body[data-page] .footer-disclaimer { color:#adbed0!important; }
body[data-page] .resource-feature { background:var(--surface); margin-bottom:18px; }
.resource-availability { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 17px; color:#596f83; background:#edf3fa; border:1px solid var(--line); border-radius:10px; font-size:.9rem; font-weight:650; text-decoration:none; white-space:nowrap; }
.resource-availability:hover { color:var(--secondary); border-color:var(--secondary); }
.bonus-coming-soon { padding-block:64px; }
.bonus-soon-card { max-width:640px; margin-inline:auto; padding:clamp(26px,5vw,44px); border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 18px 48px #112a4d0a; }
.bonus-soon-card>.icon-tile { margin-bottom:24px; }
.bonus-soon-card h1 { font-size:clamp(1.8rem,5vw,2.4rem); }
.bonus-soon-card .eyebrow { margin-bottom:9px; }
.bonus-soon-label { color:var(--secondary); font-size:1.15rem; margin-bottom:28px; }
@media(max-width:980px) {
  body[data-page] .menu-toggle { display:block; margin-left:auto; }
  body[data-page] .primary-nav { position:absolute; top:calc(100% + 1px); left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:12px 24px; background:var(--dark); border-bottom:1px solid #6384a2; }
  body[data-page] .primary-nav.is-open { display:flex; }
  body[data-page] .primary-nav a { padding:11px 0; }
  body[data-page] .primary-nav a[aria-current="page"]::after { display:none; }
  .resource-feature>.resource-availability { grid-column:2; justify-self:start; }
}
@media(max-width:560px) {
  .resource-feature>.resource-availability { grid-column:auto; justify-self:start; }
  .bonus-coming-soon { padding-block:32px; }
}
