:root { --ink:#0b2a4a; --muted:#526b7d; --paper:#f7f5f0; --line:#c9d4d7; --teal:#00a6a6; --teal-deep:#007579; --accent:#f5a623; --dark:#0b2a4a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.skip-link { background:var(--ink); color:#fff; left:1rem; padding:.7rem 1rem; position:fixed; top:-5rem; z-index:5; }
.skip-link:focus { top:1rem; }
.site-header { align-items:center; border-bottom:1px solid var(--line); display:flex; height:76px; justify-content:space-between; padding:0 clamp(1.25rem,5vw,5.5rem); position:relative; }
.brand-logo { display:inline-flex; }
.brand-logo img { display:block; height:35px; width:auto; }
nav { display:flex; gap:1.8rem; }
nav a,.eyebrow,.categories,.number,.process,.pill-list,.contact-note,footer { font-family:"DM Mono",monospace; font-size:.7rem; letter-spacing:.045em; text-transform:uppercase; }
nav a { color:var(--muted); transition:color .2s; } nav a:hover,nav a:focus { color:var(--accent); }
.menu-toggle { display:none; }
.section { border-bottom:1px solid var(--line); padding:clamp(4.6rem,9vw,9rem) clamp(1.25rem,5vw,5.5rem); }
.hero { min-height:calc(100vh - 76px); padding-top:clamp(4rem,13vh,11rem); display:flex; flex-direction:column; }
.eyebrow { color:var(--teal-deep); margin:0 0 2.8rem; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-weight:500; letter-spacing:-.065em; line-height:.98; }
h1 { font-size:clamp(3.5rem,8.2vw,8.3rem); margin:0; max-width:1000px; }
h2 { font-size:clamp(2.15rem,4.75vw,5rem); margin-bottom:0; }
h2 em { color:var(--muted); font-style:normal; }
.hero-bottom { align-items:end; display:flex; gap:3rem; justify-content:space-between; margin:clamp(3.5rem,9vw,8rem) 0 2.4rem auto; max-width:780px; width:75%; }
.hero-bottom p,.body-copy { color:#405b70; font-size:1rem; max-width:470px; }
.text-link { border-bottom:1px solid var(--ink); flex:none; font-size:.84rem; font-weight:700; padding-bottom:.35rem; } .text-link span { color:var(--accent); font-size:1.2rem; margin-left:.6rem; }
.categories { border-top:1px solid var(--line); color:var(--muted); margin:0; padding-top:1.25rem; } .categories span { color:var(--accent); padding:0 .55rem; }
.section-grid,.labs-grid { display:grid; gap:3rem; grid-template-columns:minmax(0,1.75fr) minmax(230px,.75fr); }
.body-copy p { margin-bottom:1.25rem; }
.formula { align-items:center; background:var(--dark); color:#e9eee8; display:flex; flex-wrap:wrap; gap:1rem 1.4rem; justify-content:center; margin-top:clamp(3rem,7vw,7rem); min-height:240px; padding:2rem; text-align:center; }
.formula span,.formula strong { font-size:clamp(1.1rem,2vw,1.7rem); font-weight:500; letter-spacing:-.04em; }.formula b { color:#71ced0; font-size:1.35rem; font-weight:400; }.formula i { color:var(--accent); font-size:1.8rem; font-style:normal; width:100%; }.formula strong { color:#fff; }
.solutions h2 { margin-bottom:clamp(3rem,7vw,6rem); }
.solution-list { border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); }
.solution-list article { border-right:1px solid var(--line); min-height:360px; padding:1.25rem 1.4rem 1rem 0; }.solution-list article:not(:first-child) { padding-left:1.4rem; }.solution-list article:last-child { border-right:0; }
.number { color:var(--teal-deep); }.solution-list h3 { font-size:1.22rem; letter-spacing:-.04em; line-height:1.15; margin:4rem 0 1.2rem; }.solution-list article > p:last-child { color:var(--muted); font-size:.87rem; }
.approach { background:#e5f2f1; }.principle { align-self:end; color:var(--teal-deep); font-size:1.1rem; font-weight:600; }
.process { counter-reset:process; display:grid; grid-template-columns:repeat(5,1fr); list-style:none; margin:clamp(4rem,9vw,8rem) 0 0; padding:0; }.process li { border-top:1px solid #9ca8a0; color:var(--muted); counter-increment:process; padding:1.5rem 1rem 0 0; position:relative; }.process li::before { color:var(--ink); content:"0" counter(process); display:block; font-size:.65rem; margin-bottom:3rem; }.process li:not(:last-child)::after { color:var(--accent); content:"↓"; font-size:1.2rem; position:absolute; right:.5rem; top:1rem; }.process li span { color:var(--accent); }
.emphasis { color:var(--ink); font-weight:700; }.pill-list { display:flex; flex-wrap:wrap; gap:.55rem; list-style:none; margin:2rem 0 0; padding:0; }.pill-list li { border:1px solid var(--line); border-radius:100px; color:var(--ink); padding:.5rem .72rem; text-transform:none; }
.labs { background:var(--dark); color:#edf2eb; }.labs .eyebrow { color:#75d3d2; }.labs h2 em { color:#75d3d2; }.labs .body-copy { color:#d5e1e6; }
.aspiration { border-top:1px solid var(--line); color:var(--accent); font-size:clamp(1.65rem,3vw,3rem); letter-spacing:-.055em; line-height:1.1; margin:clamp(4rem,8vw,8rem) 0 0; padding-top:1.15rem; }
.contact { background:var(--dark); color:var(--paper); padding:clamp(4.6rem,9vw,9rem) clamp(1.25rem,5vw,5.5rem); }.contact .eyebrow { color:#75d3d2; }.contact h2 { font-size:clamp(3.2rem,7vw,7rem); }.contact > p:not(.eyebrow) { font-size:1rem; max-width:500px; }.contact-email { border-bottom:1px solid #75d3d2; color:#fff; display:inline-block; font-size:clamp(1.1rem,2vw,1.55rem); font-weight:600; margin-top:3.5rem; padding-bottom:.45rem; }.contact-email span { color:#75d3d2; margin-left:.5rem; }
footer { align-items:center; display:flex; justify-content:space-between; padding:1.4rem clamp(1.25rem,5vw,5.5rem); } footer .brand-logo img { height:23px; } footer p { margin:0; }
.sr-only { height:1px; margin:-1px; overflow:hidden; position:absolute; width:1px; }
@media (max-width:800px) {
  .site-header { height:66px; }.menu-toggle { background:transparent; border:0; display:grid; gap:5px; padding:.75rem 0 .75rem .75rem; }.menu-toggle > span:not(.sr-only) { background:var(--ink); display:block; height:1px; transition:transform .2s; width:24px; } nav { background:var(--paper); display:none; flex-direction:column; gap:1.4rem; left:0; padding:2rem 1.25rem; position:absolute; right:0; top:65px; z-index:2; } .menu-open nav { border-bottom:1px solid var(--line); display:flex; }.menu-open .menu-toggle > span:nth-child(2) { transform:translateY(3px) rotate(45deg); }.menu-open .menu-toggle > span:nth-child(3) { transform:translateY(-3px) rotate(-45deg); }
  .hero { min-height:680px; }.hero-bottom { align-items:start; flex-direction:column; margin:3.5rem 0 2.5rem; width:100%; }.section-grid,.labs-grid { grid-template-columns:1fr; }.body-copy { max-width:620px; }.formula { gap:.7rem 1rem; }.solution-list { grid-template-columns:1fr 1fr; }.solution-list article { border-bottom:1px solid var(--line); min-height:270px; }.solution-list article:nth-child(2) { border-right:0; }.solution-list article:nth-child(3) { padding-left:0; }.process { grid-template-columns:1fr; }.process li { min-height:105px; padding:1rem 2rem 1rem 0; }.process li::before { display:inline; margin-right:1rem; }.process li:not(:last-child)::after { right:.2rem; top:1rem; }
}
@media (max-width:480px) { h1 { font-size:3.15rem; }.categories { line-height:2; }.solution-list { grid-template-columns:1fr; }.solution-list article,.solution-list article:not(:first-child) { border-right:0; min-height:auto; padding:1.2rem 0 2rem; }.solution-list h3 { margin:2.5rem 0 1rem; }.formula { flex-direction:column; }.formula i { width:auto; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; } }
