:root {
  --ink:#15383f; --paper:#f7f3e9; --surface:#fffdf8; --muted:#66767a; --line:#d6dfdd;
  --accent:#ef744d; --accent-soft:#f9d9ca; --secondary:#4f9698; --secondary-soft:#dceeed;
  --dark:#10383e; --dark-surface:#17464d; --shell:1120px; --radius:26px;
  --body-font:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --heading-font:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --photo-overlay:.78; --photo-x:50%; --photo-y:50%; --hero-content-x:0px; --hero-content-y:0px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--surface); font-family:var(--body-font); line-height:1.55; }
img { max-width:100%; display:block; }
a { color:inherit; }
.shell { width:min(calc(100% - 44px), var(--shell)); margin-inline:auto; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:16px; top:16px; z-index:500; background:#fff; padding:10px 14px; }
.site-header { position:sticky; top:0; z-index:100; background:color-mix(in srgb, var(--surface) 94%, transparent); backdrop-filter:blur(16px); border-bottom:1px solid var(--line); }
.header-inner { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-weight:850; letter-spacing:-.02em; }
.brand-mark { width:42px; height:38px; object-fit:contain; }
.brand-name { white-space:nowrap; }
.primary-nav { display:flex; align-items:center; gap:25px; }
.primary-nav a { text-decoration:none; font-weight:700; font-size:.92rem; color:color-mix(in srgb,var(--ink) 85%,white); }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color:var(--accent); }
.menu-toggle { display:none; border:1px solid var(--line); background:var(--surface); border-radius:999px; padding:8px 12px; color:var(--ink); font:inherit; font-weight:750; }
.eyebrow { margin:0 0 18px; color:var(--secondary); font-weight:850; font-size:.78rem; text-transform:uppercase; letter-spacing:.16em; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--heading-font); overflow-wrap:anywhere; }
h1 { margin-bottom:24px; font-size:clamp(3.1rem,7vw,6.4rem); line-height:.92; letter-spacing:-.065em; }
h2 { font-size:clamp(2rem,4vw,3.8rem); line-height:1.02; letter-spacing:-.045em; }
h3 { font-size:1.45rem; line-height:1.12; letter-spacing:-.025em; }
.lead { max-width:660px; font-size:clamp(1.05rem,1.7vw,1.3rem); color:color-mix(in srgb,var(--ink) 74%,white); }
.section { padding:104px 0; }
.section-dark { background:var(--dark); color:#fff; }
.section-heading { max-width:760px; margin-bottom:48px; }
.section-heading-light .eyebrow { color:#8ec7c8; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:50px; padding:0 22px; border-radius:999px; border:1px solid var(--accent); background:var(--accent); color:#fff; text-decoration:none; font-weight:800; transition:.15s ease; }
.button:hover { transform:translateY(-1px); filter:brightness(.95); }
.button-quiet { background:transparent; color:var(--ink); border-color:color-mix(in srgb,var(--ink) 28%,transparent); }
.button-light { background:#fff; color:#17383f; border-color:#fff; }
.compact-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }

/* Reusable logo treatment */
.logo-stage { --local-logo-scale:1; width:min(410px,90vw); aspect-ratio:1/1; position:relative; display:grid; place-items:center; transform:scale(var(--local-logo-scale)); transform-origin:center; }
.logo-stage .hero-mark { width:65%; height:65%; object-fit:contain; position:relative; z-index:4; }
.logo-stage .logo-core { position:absolute; inset:18%; border-radius:50%; z-index:2; }
.logo-stage .orbit { position:absolute; border:1px solid color-mix(in srgb,var(--secondary) 43%,transparent); border-radius:50%; z-index:1; }
.logo-stage .orbit-a { width:112%; height:45%; transform:rotate(-13deg); }
.logo-stage .orbit-b { width:66%; height:116%; transform:rotate(-17deg); }
.logo-stage.template-orbit .logo-core { background:var(--paper); border:1px solid color-mix(in srgb,var(--ink) 10%,transparent); }
.logo-stage.template-orbit::after { content:""; position:absolute; width:24%; aspect-ratio:1; border-radius:50%; background:var(--accent-soft); right:5%; top:13%; }
.logo-stage.template-panel { width:min(390px,88vw); aspect-ratio:1.12/1; border-radius:34px; background:linear-gradient(145deg,var(--secondary-soft),var(--paper)); box-shadow:0 24px 64px color-mix(in srgb,var(--ink) 12%,transparent); }
.logo-stage.template-panel .orbit,.logo-stage.template-panel .logo-core { display:none; }
.logo-stage.template-panel .hero-mark { width:62%; height:62%; }
.logo-stage.template-clean .orbit,.logo-stage.template-clean .logo-core { display:none; }
.logo-stage.template-clean .hero-mark { width:80%; height:80%; }

/* Homepage preset: compact hub */
.compact-hero { background:radial-gradient(circle at 88% 20%,var(--secondary-soft) 0 15%,transparent 38%),linear-gradient(120deg,var(--surface),var(--paper)); padding:66px 0 56px; }
.compact-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:center; min-height:470px; }
.compact-copy::before,.station-home-heading::before,.photo-home-copy::before,.editorial-copy::before { content:""; width:62px; height:7px; display:block; border-radius:999px; background:var(--accent); margin-bottom:28px; }
.no-accent::before { display:none !important; }
.compact-copy h1 { font-size:clamp(4.1rem,9vw,7rem); margin-bottom:20px; }
.compact-hero-grid.logo-left .compact-copy { order:2; }
.compact-hero-grid.logo-left .compact-logo { order:1; }
.compact-logo { display:grid; place-items:center; min-height:390px; }
.home-nav-section { padding:64px 0 78px; background:var(--paper); }
.home-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.home-card { min-height:260px; padding:26px; border-radius:22px; background:var(--surface); border:1px solid var(--line); text-decoration:none; display:flex; flex-direction:column; transition:.16s ease; }
.home-card:hover { transform:translateY(-3px); border-color:var(--secondary); box-shadow:0 18px 40px color-mix(in srgb,var(--ink) 8%,transparent); }
.home-card-index { font-weight:850; color:var(--accent); margin-bottom:36px; }
.home-card h2 { font-size:1.55rem; margin-bottom:12px; }
.home-card p { color:var(--muted); font-size:.95rem; }
.home-card-link::after { content:" →"; }
.home-card-link { margin-top:auto; font-weight:800; font-size:.9rem; }
.proof-row { margin-top:28px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.proof-row div { padding:22px 20px; display:flex; align-items:baseline; gap:12px; border-right:1px solid var(--line); }
.proof-row div:last-child { border-right:0; }
.proof-row strong { font-size:1.65rem; letter-spacing:-.04em; }
.proof-row span { color:var(--muted); font-size:.83rem; }

/* Homepage preset: station first */
.station-home { min-height:calc(100vh - 74px); padding:76px 0 70px; background:linear-gradient(145deg,var(--surface),var(--paper)); }
.station-home-heading { max-width:860px; margin-bottom:44px; }
.station-home-heading h1 { font-size:clamp(3.5rem,7vw,6.6rem); }
.station-home-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.station-home-card { min-height:310px; padding:30px; border-radius:26px; text-decoration:none; background:var(--dark-surface); color:#fff; border:1px solid color-mix(in srgb,#fff 12%,transparent); display:flex; flex-direction:column; }
.station-home-card strong { font-size:clamp(3.8rem,7vw,6.2rem); line-height:.85; letter-spacing:-.07em; margin:44px 0 10px; }
.station-home-card h2 { font-size:1.55rem; margin-bottom:12px; }
.station-home-card p { color:#c3d8d9; max-width:46ch; }
.station-home-card > span:last-child { margin-top:auto; font-weight:800; }
.station-kind { width:max-content; border:1px solid rgba(255,255,255,.23); border-radius:999px; padding:5px 10px; font-size:.72rem; font-weight:850; letter-spacing:.1em; }
.mini-links { display:flex; flex-wrap:wrap; gap:22px; margin-top:28px; }
.mini-links a { font-weight:800; text-decoration:none; border-bottom:2px solid var(--accent); }

/* Homepage preset: photo forward */
.photo-home { position:relative; background:#152c32; }
.photo-home-frame { min-height:var(--hero-image-height,660px); position:relative; display:grid; align-items:end; overflow:hidden; }
.photo-home-image { position:absolute; inset:0 0 auto; margin-inline:auto; width:var(--hero-image-width,100%); height:var(--hero-image-height,100%); overflow:hidden; }
.photo-home-image img,.photo-shade { position:absolute; inset:0; width:100%; height:100%; }
.photo-shade { pointer-events:none; }
.photo-home-image img { object-fit:cover; object-position:var(--photo-x) var(--photo-y); }
.photo-shade { background:linear-gradient(90deg,rgba(9,35,42,var(--photo-overlay)) 0 38%,rgba(9,35,42,calc(var(--photo-overlay) * .48)) 72%,rgba(9,35,42,calc(var(--photo-overlay) * .20))); }
.photo-home-content { position:relative; z-index:2; padding-bottom:72px; width:min(calc(100% - 72px),1500px); margin-left:clamp(28px,4vw,72px); margin-right:auto; }
.photo-home-copy { max-width:700px; color:#fff; transform:translate(var(--hero-content-x),var(--hero-content-y)); }
.photo-home-copy .eyebrow { color:#a7d7d5; }
.photo-home-copy h1 { font-size:clamp(3rem,5.2vw,4.5rem); }
.photo-home-copy p:not(.eyebrow) { max-width:58ch; font-size:1.15rem; color:#e4eeee; }

/* Homepage preset: editorial */
.editorial-home { padding:72px 0; min-height:650px; background:radial-gradient(circle at 82% 30%,var(--secondary-soft) 0 16%,transparent 41%),linear-gradient(118deg,var(--surface) 0 62%,var(--paper) 100%); }
.editorial-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; min-height:520px; }
.editorial-grid.logo-left .editorial-copy { order:2; }
.editorial-grid.logo-left .editorial-logo { order:1; }
.editorial-copy h1 { font-size:clamp(3.5rem,7vw,6.1rem); max-width:11ch; }
.editorial-logo { display:grid; place-items:center; }

/* Interior pages */
.page-hero { padding:78px 0 72px; background:linear-gradient(130deg,var(--surface),var(--paper)); }
.page-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:72px; align-items:center; }
.page-hero h1 { max-width:11ch; }
.page-hero-simple { padding-bottom:86px; }
.page-hero-simple h1 { max-width:none; font-size:clamp(4rem,9vw,7.2rem); }
.page-photo { margin:0; border-radius:var(--radius); overflow:hidden; position:relative; min-height:420px; background:var(--secondary-soft); }
.page-photo img { width:100%; height:460px; object-fit:cover; }
.page-photo figcaption { position:absolute; left:16px; bottom:16px; background:rgba(8,28,33,.78); color:#fff; padding:7px 10px; border-radius:999px; font-size:.69rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.statement-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.statement-grid article { padding:36px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); }
.statement-grid h2 { font-size:clamp(1.65rem,3vw,2.65rem); margin:0; }
.values-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.value-card { padding:26px 22px; min-height:310px; background:var(--dark-surface); border:1px solid rgba(255,255,255,.11); border-radius:22px; }
.value-card > span { color:#83b6b8; font-weight:850; }
.value-card h3 { margin-top:60px; color:#fff; }
.value-card p { color:#c2d5d6; font-size:.93rem; }
.safety-callout { max-width:900px; }
.safety-callout h2 { margin:0; font-size:clamp(2rem,4.4vw,4rem); }
.operation-stack { display:grid; gap:22px; }
.operation-card { display:grid; grid-template-columns:.72fr 1.28fr; gap:55px; padding:42px; border-radius:28px; background:var(--dark-surface); border:1px solid rgba(255,255,255,.11); scroll-margin-top:100px; }
.operation-title strong { display:block; font-size:clamp(4.7rem,9vw,8rem); line-height:.82; letter-spacing:-.075em; margin:68px 0 14px; }
.operation-title h2 { font-size:1.75rem; }
.operation-info { display:grid; grid-template-columns:1fr 1fr; gap:0 34px; align-content:start; }
.operation-info div { border-top:1px solid rgba(255,255,255,.14); padding:22px 0; }
.operation-info span { color:#89afb1; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; font-weight:850; }
.operation-info p { margin:7px 0 0; color:#f1f6f6; }
.role-groups { display:grid; gap:72px; }
.role-group-heading { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.role-group-heading h2 { margin:0; font-size:2.5rem; }
.dark-kind { color:var(--ink); border-color:var(--line); }
.role-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.role-card { min-height:330px; padding:28px; border:1px solid var(--line); border-radius:22px; background:var(--paper); display:flex; flex-direction:column; }
.role-meta { color:var(--secondary); font-size:.75rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.role-card h3 { font-size:1.7rem; }
.role-card p:not(.role-meta) { color:var(--muted); }
.role-card .button { margin-top:auto; width:max-content; }
.resource-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.resource-card { min-height:310px; padding:28px; border-radius:22px; background:var(--dark-surface); border:1px solid rgba(255,255,255,.11); }
.resource-card > span { color:#88b7b9; font-weight:850; }
.resource-card h2 { font-size:1.7rem; margin-top:62px; }
.resource-card p { color:#c3d7d8; }
.resource-card em { display:inline-block; margin-top:18px; color:#fff; font-size:.78rem; font-style:normal; font-weight:850; border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:5px 9px; }

.site-footer { background:color-mix(in srgb,var(--dark) 92%,black); color:#fff; padding:52px 0; }
.footer-grid { display:grid; grid-template-columns:150px 1fr; gap:50px; align-items:end; }
.footer-logo { width:135px; filter:brightness(0) invert(1); }
.footer-content { display:flex; justify-content:space-between; align-items:end; gap:40px; }
.footer-content p { margin:0; color:#d7e5e5; }
.footer-email { overflow-wrap:anywhere; display:inline-block; margin-top:8px; color:#a8c9ca; font-size:.9rem; text-decoration:none; }
.footer-disclaimer { max-width:590px; text-align:right; color:#8da9aa !important; font-size:.8rem; }

@media (max-width:980px) {
  .home-card-grid { grid-template-columns:1fr 1fr; }
  .values-grid { grid-template-columns:1fr 1fr; }
  .value-card:last-child { grid-column:1/-1; min-height:220px; }
  .role-grid { grid-template-columns:1fr 1fr; }
  .resource-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:800px) {
  .header-inner { min-height:68px; }
  .menu-toggle { display:block; }
  .primary-nav { position:absolute; top:calc(100% + 1px); left:0; right:0; padding:18px 22px 24px; background:var(--surface); border-bottom:1px solid var(--line); display:none; flex-direction:column; align-items:flex-start; }
  .primary-nav.is-open { display:flex; }
  .compact-hero-grid,.editorial-grid,.page-hero-grid,.operation-card { grid-template-columns:1fr; }
  .compact-logo,.editorial-logo { order:-1; min-height:300px; }
  .compact-hero-grid.logo-left .compact-copy { order:initial; }
  .compact-hero-grid.logo-left .compact-logo { order:-1; }
  .editorial-grid.logo-left .editorial-copy,.editorial-grid.logo-left .editorial-logo { order:initial; }
  .editorial-grid.logo-left .editorial-logo { order:-1; }
  .station-home-grid,.statement-grid { grid-template-columns:1fr; }
  .operation-info { grid-template-columns:1fr; }
  .operation-title strong { margin-top:35px; }
  .footer-grid { grid-template-columns:1fr; gap:26px; }
  .footer-content { flex-direction:column; align-items:flex-start; }
  .footer-disclaimer { text-align:left; }
  .photo-home-frame { min-height:var(--hero-image-height,700px); }
  .photo-home-content { width:min(calc(100% - 36px),var(--shell)); margin-inline:auto; padding-bottom:52px; }
  .photo-home-copy { transform:none; max-width:100%; }
  .photo-home-copy h1 { font-size:clamp(2.65rem,10.5vw,3.75rem); }
  .photo-shade { background:linear-gradient(0deg,rgba(9,35,42,.94) 0 48%,rgba(9,35,42,.18) 88%); }
}
@media (max-width:560px) {
  .shell { width:min(calc(100% - 28px),var(--shell)); }
  .section { padding:74px 0; }
  .compact-hero { padding-top:44px; }
  .compact-hero-grid { gap:18px; }
  .compact-copy h1 { font-size:clamp(3.6rem,17vw,5.2rem); }
  .home-card-grid,.values-grid,.role-grid,.resource-grid { grid-template-columns:1fr; }
  .value-card:last-child { grid-column:auto; }
  .home-card { min-height:220px; }
  .proof-row { grid-template-columns:1fr; }
  .proof-row div { border-right:0; border-bottom:1px solid var(--line); }
  .proof-row div:last-child { border-bottom:0; }
  .compact-actions { flex-direction:column; }
  .compact-actions .button { width:100%; }
  .page-photo,.page-photo img { min-height:330px; height:330px; }
  .operation-card { padding:28px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }

/* Driver resource links. */
.resource-tool-link { display:inline-block; margin-top:18px; padding:9px 13px; border:1px solid #a4c6d5; border-radius:9px; font-size:.9rem; font-weight:750; color:#fff; text-decoration:none; }
.resource-tool-link:hover { background:rgba(255,255,255,.1); }
