:root{--ink:#122840;--muted:#53647a;--blue:#087eaf;--navy:#10253e;--line:#dce4eb;--paper:#f7f9fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:white;
font:17px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:#126d9b;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}
a:focus-visible,summary:focus-visible{outline:3px solid #0ca6df;outline-offset:5px}
.top{max-width:1200px;margin:auto;padding:18px 36px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.logo{display:block;width:176px;height:auto}.top nav,footer nav{display:flex;gap:26px;flex-wrap:wrap}
.top nav a{font-size:15px;color:var(--ink);text-decoration:none;font-weight:600}
.skip{position:absolute;top:-90px;left:16px;background:white;padding:12px;z-index:5}.skip:focus{top:8px}
.hero{background:var(--navy);color:white;padding:84px max(36px,calc((100vw - 1128px)/2));}
.eyebrow{font-size:12px;letter-spacing:2px;font-weight:750;color:var(--blue);margin:0 0 18px}
.hero .eyebrow{color:#68cef2}.hero h1{font-size:clamp(36px,4.3vw,62px);line-height:1.16;letter-spacing:-1.8px;
font-weight:650;max-width:980px;margin:0 0 28px}.lead{font-size:21px;line-height:1.65;max-width:780px}
.hero .lead{color:#d7e2ee}.button{display:inline-block;margin-top:22px;padding:14px 24px;background:#e9f6fc;
color:#163d5c;border-radius:5px;font-weight:650;text-decoration:none;font-size:15px}
.button:hover{background:#ccecf9}.text-link{margin-left:26px;color:white}
.section{max-width:1200px;margin:auto;padding:72px 36px}h2{font-size:32px;line-height:1.3;font-weight:650;letter-spacing:-.5px}
h3{font-size:20px;line-height:1.4}p{max-width:850px}.capabilities{display:grid;grid-template-columns:repeat(2,1fr);gap:0 54px}
.capabilities article{padding:24px 0;border-top:1px solid var(--line)}.capabilities span{color:var(--blue);font-size:13px}
.capabilities p,.columns p{color:var(--muted)}.project{background:var(--paper);display:grid;grid-template-columns:2fr 1fr;
gap:56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:none;
padding-left:max(36px,calc((100vw - 1128px)/2));padding-right:max(36px,calc((100vw - 1128px)/2))}
.project h2{font-size:48px;margin-top:14px}.project .button{background:var(--navy);color:white}
.project-note{border-left:2px solid #0ba7df;padding:22px 0 22px 30px;align-self:center;font-size:16px;color:var(--muted)}
.project-note strong{color:var(--ink)}.product{background:#56285f}.product .eyebrow{color:#ffc58a}
.product .button{background:#ff8a36;color:#24182b}.product .lead{color:#eee0f0}
.columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:32px 0}.columns article{border-top:1px solid var(--line)}
.note{font-size:14px;color:var(--muted);max-width:900px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
align-items:start}.gallery figure{margin:0;min-width:0}.gallery img{display:block;width:100%;height:auto;
border:1px solid #d4dbe1;border-radius:18px;box-shadow:0 12px 30px #10253e12}
.gallery figcaption{margin-top:14px;font-size:14px;font-weight:600}.prose{max-width:920px;min-height:70vh}
.prose h1{font-size:clamp(34px,5vw,48px);line-height:1.15}.prose h2{font-size:25px;margin-top:40px}
details{border-bottom:1px solid var(--line);padding:21px 0}summary{cursor:pointer;font-size:18px;font-weight:650}
details p{color:var(--muted);margin-bottom:0}footer{border-top:1px solid var(--line);padding:35px max(36px,
calc((100vw - 1128px)/2));background:var(--paper);font-size:14px;color:var(--muted)}footer nav{gap:18px}
footer a{color:var(--muted)}@media(max-width:800px){.top{padding:16px 24px;align-items:flex-start}.logo{width:140px}
.top nav{gap:10px 18px;max-width:220px;justify-content:flex-end}.top nav a{font-size:13px}.hero{padding:56px 24px}
.section{padding:48px 24px}.project{grid-template-columns:1fr;gap:20px}.gallery{grid-template-columns:repeat(2,1fr)}
.project-note{padding:12px 0 12px 24px}.lead{font-size:19px}.hero h1{letter-spacing:-.8px}.prose h1{font-size:38px}}
@media(max-width:480px){.top{display:block}.logo{width:150px}.top nav{max-width:none;justify-content:flex-start;margin-top:18px}
.capabilities,.columns{grid-template-columns:1fr;gap:8px}.hero h1{font-size:36px}.text-link{display:block;margin:20px 0 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
