html{-webkit-text-size-adjust:100%}body{margin:0}img{max-width:100%}[hidden]{display:none!important}
/* Layout concept: a navigator's chart in the company's navy, green and silver. */
:root{
  --bg:#F3F5F7; --surface:#FFFFFF; --ink:#0E2340; --muted:#4A5A6E; --line:#CBD3DC;
  --accent:#2C7539; --band:#0B2C5A; --band-ink:#EEF3F8; --band-muted:#B3C2D3; --band-accent:#7CC888; --band-line:#2B4B78;
  --display:"Montserrat","Segoe UI",system-ui,sans-serif;
  --body:"Figtree","Segoe UI",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0A1626; --surface:#11233A; --ink:#E8EEF5; --muted:#A8B7C8; --line:#2A3F58;
  --accent:#7CC888; --band:#071B38; --band-ink:#E8EEF5; --band-muted:#A8B7C8; --band-accent:#7CC888; --band-line:#2A3F58; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0A1626; --surface:#11233A; --ink:#E8EEF5; --muted:#A8B7C8; --line:#2A3F58;
  --accent:#7CC888; --band:#071B38; --band-ink:#E8EEF5; --band-muted:#A8B7C8; --band-accent:#7CC888; --band-line:#2A3F58; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--body)}
.wrap{max-width:68rem;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
a{color:inherit}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3,p,ul,ol{margin:0}
h1,h2{font-family:var(--display);font-weight:600;letter-spacing:-.018em;text-wrap:balance}
h2{font-size:clamp(1.65rem,3.4vw,2.35rem);line-height:1.16}
h3{font-size:1.0625rem;font-weight:600;line-height:1.35}
.label{font:400 .78rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}
section{padding-block:clamp(3.25rem,7vw,5.5rem)}

.bar{background:var(--band);color:var(--band-ink);border-bottom:1px solid var(--band-line)}
.bar-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1.5rem;padding-block:.7rem}
.logo{display:block}
.logo img{display:block;width:52px;height:auto}
.bar nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.bar nav a{text-decoration:none;font-weight:500;font-size:.98rem;padding-block:.25rem;border-bottom:2px solid transparent}
.bar nav a:hover{border-bottom-color:var(--band-muted)}
.bar nav a[aria-current="page"]{border-bottom-color:var(--band-accent)}
.bar a:focus-visible,.hero a:focus-visible,.page-hero a:focus-visible,.cta-band a:focus-visible,footer a:focus-visible{outline-color:var(--band-accent)}

.hero,.page-hero,.cta-band{background:var(--band);color:var(--band-ink)}
.hero{padding-block:clamp(2.75rem,6vw,4.5rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.hero-grid>*{min-width:0}
h1{font-size:clamp(2.2rem,5.2vw,3.9rem);line-height:1.06}
.lede{margin-top:1.4rem;max-width:36rem;font-size:1.2rem;line-height:1.5}
.page-hero{padding-block:clamp(2.75rem,6vw,4.25rem)}
.page-hero .label{display:block;color:var(--band-accent);margin-bottom:.8rem}
.page-hero h1{font-size:clamp(2rem,4.4vw,3.2rem);max-width:44rem}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2rem}
.cta{display:inline-block;padding:.85rem 1.35rem;background:var(--band-accent);color:#0B2C5A;border-radius:3px;font-weight:600;text-decoration:none}
.cta:hover{filter:brightness(1.08)}
.ghost{text-underline-offset:4px;font-weight:500}
.chart{width:100%;height:auto;display:block}
.chart text{font-family:var(--mono);font-size:11px;fill:var(--band-muted)}
.chart .place{fill:var(--band-ink);font-size:12px}
.chart .grid{stroke:var(--band-line);stroke-width:1}
.chart .route{stroke:var(--band-accent);stroke-width:1.6;stroke-dasharray:6 5;fill:none}
.chart .pt{fill:var(--band);stroke:var(--band-accent);stroke-width:1.6}
.chart .home{fill:var(--band-accent)}

.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem);margin-top:2.5rem}
.three>*{min-width:0}
.three .label{display:block;color:var(--accent);margin-bottom:.6rem}
.three h3{font:600 1.2rem/1.25 var(--display);margin-bottom:.6rem}
.three p{color:var(--muted)}

.soft{background:var(--surface);border-block:1px solid var(--line)}
.intro{max-width:38rem;margin-top:1rem;color:var(--muted)}
.intro.after{margin-top:2rem}
.more{margin-top:1.25rem;font-weight:600}
.more a{color:var(--accent);text-underline-offset:4px}
.prose{display:grid;gap:1rem;max-width:40rem}
.steps{list-style:none;padding:0;margin-top:2.75rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.75rem;border-top:1px dashed var(--accent)}
.steps li{position:relative;padding-top:1.4rem;min-width:0}
.steps li::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}
.steps .label{display:block;color:var(--accent);margin-bottom:.45rem}
.steps p{margin-top:.4rem;color:var(--muted);font-size:1rem}

.groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem clamp(2rem,5vw,4rem)}
.groups>*{min-width:0;border-top:2px solid var(--ink);padding-top:1rem}
.groups h3{font:600 1.25rem/1.3 var(--display)}
.groups .for{color:var(--accent);font-size:.95rem;margin-top:.2rem}
.groups .desc{color:var(--muted);margin-top:.75rem}
.groups ul{margin-top:.85rem;padding-left:1.1rem;display:grid;gap:.4rem}

.side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(1.5rem,5vw,4rem)}
.side>*{min-width:0}
.side.top{margin-top:clamp(3rem,6vw,4.5rem)}
.top-sm{margin-top:2.25rem}
.rows{list-style:none;padding:0}
.rows li{display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr);gap:.35rem 1.5rem;padding-block:1rem;border-top:1px solid var(--line)}
.rows li:last-child{border-bottom:1px solid var(--line)}
.rows p{color:var(--muted)}
.rows.wide li{grid-template-columns:minmax(0,20rem) minmax(0,1fr);padding-block:1.25rem}
.rows.wide h3{font:600 1.15rem/1.3 var(--display)}

.leaders,.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem clamp(2rem,5vw,4rem);margin-top:2rem}
.leaders>div,.people>div{min-width:0;border-top:2px solid var(--ink);padding-top:1rem}
.people{margin-top:0}
.leaders h3,.people h3{font:600 1.25rem/1.25 var(--display)}
.leaders p,.role{color:var(--muted);margin-top:.15rem}
.line{margin-top:.6rem;overflow-wrap:anywhere}
.line a{text-underline-offset:3px}

.notice{padding-bottom:clamp(3rem,7vw,5rem)}
.notice p{max-width:46rem;font-size:.95rem;color:var(--muted)}
.notice strong{color:var(--ink);font-weight:600}
.contact-sec+.notice{padding-top:0}

.cta-band p{margin-block:1rem 1.75rem;max-width:34rem;color:var(--band-muted)}
footer{background:var(--band);color:var(--band-muted);border-top:1px solid var(--band-line);padding-block:1.25rem;font-size:.9rem}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem}
.foot nav{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem}
.foot a{text-underline-offset:3px}

@media (max-width:820px){
  .hero-grid,.side,.three,.groups,.people,.leaders{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:minmax(0,1fr);border-top:0;border-left:1px dashed var(--accent);padding-left:1.25rem}
  .steps li{padding-top:0}
  .steps li::before{top:.25rem;left:calc(-1.25rem - 6px)}
  .rows li,.rows.wide li{grid-template-columns:minmax(0,1fr)}
}

.company-mail{margin-bottom:2.5rem}
.company-mail .label{display:block;color:var(--accent);margin-bottom:.35rem}
.company-mail p{font:600 clamp(1.15rem,2.6vw,1.5rem)/1.3 var(--display);overflow-wrap:anywhere}
.company-mail a{text-underline-offset:4px}
