
:root{--ink:#0b2e3f;--ink2:#123f55;--paper:#f3f5f6;--card:#ffffff;--text:#16242d;--muted:#566873;--line:#cfd8dd;--amber:#e59a00;--on-ink:#eef3f5;
--hd:"Barlow Condensed","Arial Narrow",Arial,sans-serif;--bd:"IBM Plex Sans",Arial,sans-serif;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#0a1a22;--card:#0f2530;--text:#e6edf0;--muted:#93a6b0;--line:#25404d;--ink:#071720;--ink2:#0f2c3a}}
:root[data-theme="dark"]{--paper:#0a1a22;--card:#0f2530;--text:#e6edf0;--muted:#93a6b0;--line:#25404d;--ink:#071720;--ink2:#0f2c3a}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--paper);color:var(--text);font:400 17px/1.65 var(--bd)}
h1,h2,h3{font-family:var(--hd);font-weight:600;line-height:1.05;margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--ink);color:var(--on-ink)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--ink);z-index:21}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
nav a{color:var(--on-ink);text-decoration:none;margin-left:26px;font-size:15px;opacity:.85}
nav a:hover,nav a:focus-visible{opacity:1;text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--amber)}
a:focus-visible,button:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.hero{background:var(--ink);color:var(--on-ink);position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-top:88px;padding-bottom:96px}
.hero h1{font-size:clamp(46px,7vw,92px);font-weight:700;letter-spacing:-.005em}
.hero p{max-width:34em;color:#b9cad2;margin:24px 0 32px;font-size:19px}
.btn{display:inline-block;background:var(--amber);color:#1a1200;font-weight:500;text-decoration:none;padding:14px 26px;border-radius:2px}
.btn.alt{background:transparent;color:var(--on-ink);border:1px solid #4a6a7a;margin-left:12px}
.btn:hover{filter:brightness(1.08)}
.pid{width:100%;height:auto}
.pid .p{stroke:#6f93a5;stroke-width:2;fill:none}
.pid .a{stroke:var(--amber);stroke-width:2.5;fill:none;stroke-dasharray:10 8;animation:flow 1.4s linear infinite}
.pid text{fill:#8fb0c0;font:12px var(--bd)}
@keyframes flow{to{stroke-dashoffset:-36}}
@media (prefers-reduced-motion:reduce){.pid .a{animation:none}html{scroll-behavior:auto}}
section{padding:88px 0}
section h2{font-size:clamp(34px,4.5vw,52px);margin-bottom:18px}
.lead{max-width:44em;color:var(--muted);font-size:19px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:40px}
.pillars article{background:var(--card);padding:32px}
.pillars h3{font-size:28px;margin-bottom:10px}
.pillars ul{margin:0;padding-left:18px;color:var(--muted)}
.pillars li{margin:6px 0}
.life{background:var(--ink);color:var(--on-ink)}
.life .lead{color:#b9cad2}
.stages{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;position:relative}
.stages::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:#3d5c6c}
.stage{padding:36px 20px 0 0;position:relative}
.stage::before{content:"";position:absolute;top:0;left:0;width:20px;height:20px;background:var(--amber)}
.stage h3{font-size:26px;margin-bottom:8px}
.stage p{margin:0;color:#b9cad2;font-size:16px}
.vm{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}
.vm div{background:var(--card);border-left:4px solid var(--amber);padding:32px}
.vm h3{font-size:30px;margin-bottom:12px}
.vm p{margin:0;color:var(--muted)}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.values div{border-top:2px solid var(--ink2);padding-top:14px}
.values h3{font-size:24px;margin-bottom:6px}
.values p{margin:0;color:var(--muted);font-size:16px}
.figs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:40px 0 20px}
.figs figure{margin:0;border:1px solid var(--line);overflow:hidden}.figs svg{display:block;width:100%;height:auto}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.tile{background:var(--card);padding:26px 26px 30px;border-top:3px solid var(--amber)}
.tile h3{font-size:26px;margin-bottom:8px}.tile p{margin:0;color:var(--muted);font-size:16px}
.svc{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px}
.svc article{background:var(--card);border:1px solid var(--line)}
.svc svg{display:block;width:100%;height:auto}
.svc .tx{padding:28px 30px 32px;border-top:4px solid var(--amber)}
.svc h3{font-size:32px;margin-bottom:10px}
.svc p{margin:0 0 12px;color:var(--muted)}
.svc ul{margin:0;padding-left:18px;color:var(--muted)}
footer{background:var(--ink);color:#b9cad2;padding:56px 0 40px}
footer h2{color:var(--on-ink);margin-bottom:12px}
footer .row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:end}
footer a.ct{color:var(--on-ink);text-underline-offset:4px;text-decoration-color:var(--amber)}
.field{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.field figure{margin:0}.field img{display:block;width:100%;height:auto;border-bottom:4px solid var(--amber)}
.field figcaption{font-size:14px;color:var(--muted);margin-top:10px}
footer small{display:block;margin-top:40px;border-top:1px solid #29495a;padding-top:20px}
@media (max-width:860px){.hero .wrap,.two,.vm,.svc,.figs,.tiles,.field{grid-template-columns:1fr}.stages{grid-template-columns:1fr 1fr;row-gap:36px}.stages::before{display:none}.pillars,.values{grid-template-columns:1fr}.btn.alt{margin:12px 0 0}}

[hidden]{display:none!important}
nav a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--amber)}
.ph{background:var(--ink);color:var(--on-ink);padding:64px 0 56px}.ph h1{font-size:clamp(40px,6vw,68px);font-weight:700}.ph p{color:#b9cad2;max-width:36em;margin:14px 0 0;font-size:19px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:40px}
.cards div{background:var(--card);padding:32px;border-top:3px solid var(--amber)}.cards h3{font-size:28px;margin-bottom:8px}.cards p{margin:0;color:var(--muted)}.cards a{color:var(--text);text-underline-offset:4px;text-decoration-color:var(--amber)}
.teaser{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
@media (max-width:860px){nav a{margin-left:14px;font-size:14px}.cards{grid-template-columns:1fr}}
@media (max-width:480px){.logo .wm{display:none}.wrap{padding:0 16px}}

.subhead{font-size:30px;margin:44px 0 18px}
.tiles.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.tiles.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.tiles.four{grid-template-columns:1fr}}

.logo .wm{display:flex;flex-direction:column;align-items:center;gap:3px}
.logo .wm small{font:600 10.5px/1 var(--hd);letter-spacing:.09em;text-transform:uppercase;color:#4198ce;white-space:nowrap}
.ft-name{font:600 15px/1 var(--hd);letter-spacing:.1em;text-transform:uppercase;color:#4198ce;margin:8px 0 20px}
