:root{--ink:#111112;--muted:#62636b;--line:#e2e2e5;--navy:#041e3d;--pale:#f6f7f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:white;font:18px/1.5 'DM Sans',Arial,sans-serif}a{color:inherit}p{margin:0 0 24px}h1,h2,h3{font-weight:500;letter-spacing:-.03em}h2{font-size:54px;line-height:1;margin:0 0 26px}h3{font-size:26px;line-height:1.2;margin:24px 0 17px}.announcement{padding:15px 35px;background:var(--ink);color:white;font-size:14px}.announcement>div{max-width:1220px;margin:auto}.announcement a{text-decoration:none;font-weight:700}.site-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:13px max(35px,calc((100vw - 1220px)/2));border-bottom:1px solid var(--line);position:relative;z-index:30}.brand{display:inline-flex;align-items:center}.brand img{display:block;width:123px;height:auto}.nav-list{display:flex;list-style:none;gap:28px;padding:0;margin:0;font-size:15px}.nav-list a{text-decoration:none}.nav-list a:hover{text-decoration:underline;text-underline-offset:5px}.header-button{background:var(--ink);color:white;text-decoration:none;font-size:14px;padding:17px 23px;white-space:nowrap}.nav-toggle{display:none}.hero{height:750px;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}.hero-images{display:grid;grid-template-columns:1fr 1fr;position:absolute;inset:0}.hero-images img{display:block;width:100%;height:100%;object-fit:cover;min-width:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(transparent,#0005,transparent)}h1{position:relative;z-index:1;font-size:88px;line-height:.97;text-align:center;color:white;margin:0 25px;font-weight:500;letter-spacing:-.03em;max-width:1050px;text-shadow:0 2px 15px #0003}.hero-down{position:absolute;bottom:52px;left:calc(50% - 26px);width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:white;color:var(--ink);font-size:26px;text-decoration:none}.container{max-width:1280px;margin:auto;padding:0 30px}.section{padding:104px 0}.intro{display:grid;grid-template-columns:390px 598px;justify-content:space-between;gap:70px}.intro>*{min-width:0}.lead{font-size:20px;line-height:1.5}.text-link{font-weight:500;text-decoration:none;font-size:17px;border-bottom:1px solid transparent;padding-bottom:5px;display:inline-block}.text-link:hover{border-color:currentColor}.work-section{background:var(--pale)}.project{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.project>*{min-width:0}.project-image img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover}.project-copy h2{max-width:430px}.eyebrow{font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:24px}.project-meta{font-size:14px;color:var(--muted);margin-bottom:30px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:65px}.section-top h2{margin:0;max-width:500px}.section-intro{max-width:330px;color:var(--muted);margin:0}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:45px}.services-grid>*{min-width:0}.service img{width:52px;height:52px;object-fit:contain}.service p{font-size:17px}.service ul{list-style:none;padding:0;border-top:1px solid var(--line);font-size:14px;line-height:1.8}.service li{padding-top:6px}.approach-section{background:var(--navy);color:white}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.approach-grid>*{min-width:0}.approach-grid h2{font-size:47px;line-height:1.1}.approach-grid p:not(.eyebrow){color:#dbe1e8}.approach-image img{display:block;width:100%;height:auto;max-height:650px;object-fit:cover}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;border-top:1px solid #566578;padding-top:35px;margin-top:65px}.values>*{min-width:0}.values p{margin:0;font-size:20px;line-height:1.4}footer{padding:55px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.footer-inner p{margin:8px 0;font-size:14px}.footer-inner .brand img{width:150px}.back-to-top{position:fixed;bottom:20px;right:20px;background:var(--ink);color:white;text-decoration:none;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;font-size:24px;opacity:0;pointer-events:none;z-index:20}.back-to-top.is-visible{opacity:1;pointer-events:auto}a:focus-visible,button:focus-visible{outline:3px solid #e5863c;outline-offset:5px}@media(max-width:1190px){.intro{grid-template-columns:1fr 1.25fr;gap:60px}.services-grid{gap:30px}.project,.approach-grid{gap:50px}.site-header{padding:15px 30px}.nav-list{gap:20px}.header-button{font-size:12px;padding:15px 18px}}@media(max-width:991px){.nav-toggle{display:block;background:transparent;border:1px solid var(--ink);padding:8px 15px;font:inherit;font-size:13px;margin-left:auto}#primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:25px 30px;border-bottom:1px solid var(--line)}#primary-nav.is-open{display:block}.header-button{display:none}.hero{height:650px}.hero-images{grid-template-columns:1fr}.hero-left{display:none!important}h1{font-size:70px;max-width:800px}.section{padding:76px 0}.services-grid{grid-template-columns:1fr 1fr;gap:45px}h2{font-size:44px}.project,.approach-grid{gap:40px}.approach-grid h2{font-size:38px}}@media(max-width:767px){.announcement{padding:13px 25px;font-size:12px}.site-header{padding:20px 25px}.hero{height:600px}h1{font-size:54px;line-height:1.05;max-width:450px;margin:0 25px}.container{padding:0 25px}.intro,.project,.approach-grid{grid-template-columns:1fr;gap:30px}.section{padding:65px 0}h2{font-size:40px;line-height:1.15}.lead{font-size:19px}.project-copy{padding-top:5px}.project-image img{max-height:550px}.section-top{display:block;margin-bottom:45px}.section-intro{max-width:none;margin-top:22px}.services-grid{gap:35px 25px}.service h3{font-size:24px}.service p{font-size:16px}.service ul{font-size:13px}.values{grid-template-columns:1fr;gap:25px;margin-top:40px}.footer-inner{flex-wrap:wrap;gap:25px}.footer-inner>div{width:100%}.nav-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.approach-grid h2{font-size:38px}.back-to-top{width:42px;height:42px;font-size:21px}}@media(max-width:420px){.services-grid{grid-template-columns:1fr}h1{font-size:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
