:root{--navy:#081e35;--blue:#0c4f91;--ice:#eaf2fa;--white:#fff;--ink:#11283f;--muted:#42586b;--line:#d1dde8;--display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;--body:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:400 16px/1.65 var(--body)}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid currentColor;outline-offset:5px}img{display:block;width:100%;height:auto;object-fit:cover}figure,p,h1,h2,h3{margin:0}.shell{width:min(1260px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;top:1rem;left:1rem;transform:translateY(-200%);background:white;color:var(--navy);padding:.5rem 1rem;z-index:2}.skip:focus{transform:none}.masthead{background:var(--navy);color:var(--white);border-bottom:1px solid #24405a}.header,.footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.header{min-height:84px}.brand img{width:101px;height:auto}.header nav{display:flex;gap:2.4rem}.header nav a,.header-link{font-weight:600;font-size:.9rem}.header a:hover{color:#a5d6ff}.header-link{border:1px solid #6585a1;padding:.5rem .9rem}.header-link span{margin-left:.25rem}
.hero{background:var(--navy);color:var(--white);display:grid;grid-template-columns:minmax(330px,.87fr) minmax(0,1.13fr);align-items:center;max-width:1800px;margin:auto}.hero-copy{padding:52px clamp(32px,5vw,84px) 62px max(48px,calc((100vw - 1260px)/2))}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;color:var(--blue);margin-bottom:.75rem}.hero .eyebrow,.contact .eyebrow{color:#9bd1ff}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1}.hero h1{font-size:clamp(62px,8vw,126px);letter-spacing:-.025em}.lede{max-width:37ch;color:#e1ebf5;margin-top:1.45rem;font-size:1.05rem}.button{display:inline-flex;align-items:center;gap:1.7rem;margin-top:1.75rem;background:#b8dcff;color:#071e34;padding:.8rem 1.1rem;font-weight:700;font-size:.9rem}.button:hover{background:white}.hero-image{position:relative;height:100%;min-height:455px}.hero-image img{position:absolute;inset:0;height:100%;object-position:center}.hero-image figcaption{position:absolute;bottom:16px;right:16px;padding:.3rem .6rem;color:white;background:var(--navy);font-size:.72rem}
.section{padding-block:65px 72px}h2{font-size:clamp(46px,6vw,79px);letter-spacing:-.015em}h3{font-size:clamp(27px,3vw,40px)}.services{display:grid;grid-template-columns:repeat(3,1fr);column-gap:24px;margin-top:32px}.services article{border-top:2px solid var(--line);padding:20px 0 24px}.services p,.studies p,.about>p{color:var(--muted);margin-top:.65rem}.portfolio{background:var(--ice)}.studies{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:28px}.studies img{aspect-ratio:1.65}.studies article:nth-child(2) img{object-position:center 40%}.studies h3{margin-top:1rem}.about,.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.about>p{max-width:45ch}.contact{background:var(--navy);color:white}.contact p:not(.eyebrow){margin-top:1rem;color:#e1ebf5}.contact address{font-style:normal;display:grid;gap:.4rem;justify-items:start}.contact address a{border-bottom:1px solid #7293b4}.contact address a:hover{color:#a5d6ff}.footer{padding-block:20px;font-size:.84rem;color:var(--muted)}
@media(max-width:960px){.shell{width:calc(100% - 56px)}.hero-copy{padding-inline:28px}.services{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.shell{width:calc(100% - 36px)}.header{min-height:68px;gap:.6rem}.brand img{width:75px}.header nav{gap:.7rem}.header nav a,.header-link{font-size:.78rem}.header-link{padding:.28rem .36rem}.header-link span{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 18px}.hero-image{min-height:270px;aspect-ratio:1.4}.section{padding-block:43px 47px}.studies,.about,.contact-inner{grid-template-columns:1fr}.services{column-gap:16px}.services h3{font-size:25px}.studies{gap:26px}}
@media(max-width:360px){.header nav a:last-child{display:none}.services{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
