:root{--blue:#06264b;--gold:#f4c343;--ink:#142b45;--muted:#536273;--line:#d9e0e7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:17px/1.7 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:#fff}a{color:inherit}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #bd8700;outline-offset:5px}.skip{position:absolute;left:20px;top:-80px;z-index:20;background:white;padding:10px}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:15px;font-weight:800;line-height:1.4;letter-spacing:.07em}.brand img{width:52px;height:52px;border-radius:50%}.brand small{display:block;font-size:12px;letter-spacing:.1em}nav{display:flex;align-items:center;gap:28px}nav a{text-decoration:none;font-size:14px;font-weight:650}nav a:hover{color:#866108}.nav-cta{background:var(--blue);color:white;padding:10px 22px}.menu{display:none}.hero{background:var(--blue);color:white;padding:75px 7% 30px}.hero-inner{max-width:1280px;margin:auto}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:750;margin:0 0 22px;color:#657487}.hero .eyebrow,.contact .eyebrow,.history .eyebrow{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(42px,5.8vw,84px);font-weight:400;line-height:1.13;letter-spacing:-.04em;margin-bottom:30px}em{font-weight:400;color:var(--gold)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:55px}.hero-bottom p{color:#d8e2ed;margin:0;font-size:18px}.button{display:inline-block;text-decoration:none;padding:14px 25px;font-size:15px;font-weight:700}.gold{background:var(--gold);color:var(--blue)}.gold:hover{background:#ffe08a}.hero-rule{display:flex;justify-content:space-between;border-top:1px solid #52657d;padding-top:19px;font-size:12px;letter-spacing:.16em}.banner{background:var(--blue);padding:0 5% 40px}.banner img{display:block;width:100%;max-width:1280px;margin:auto;height:auto}.section{padding:90px 7%;scroll-margin-top:20px}.intro,.people{display:grid;grid-template-columns:1fr 1fr;gap:8%}h2{font:400 clamp(32px,3.4vw,51px)/1.16 Georgia,serif;letter-spacing:-.025em;margin-bottom:28px}.intro p,.people p{color:var(--muted)}.text-link{font-size:14px;font-weight:700;text-underline-offset:6px}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:0 7%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;gap:24px}.stats strong{display:block;font:400 54px/1.3 Georgia,serif}.stats span{font-size:13px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading h2{margin:0}.section-heading>p{font-size:15px;color:var(--muted);margin-bottom:0}.projects{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px}.project{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;position:relative;background:#f5f7fa}.featured{background:var(--blue);color:white;border-color:var(--blue)}.tag{font-size:11px;letter-spacing:.1em;font-weight:700;position:relative;z-index:1}.project-number{font:80px/1 Georgia,serif;color:#d8e0e9;margin:25px 0}.featured .project-number{color:#517092}.project h3{font:32px/1.15 Georgia,serif;margin-bottom:20px}.project p{font-size:15px;color:var(--muted)}.featured p{color:#dbe4ed}.project button,.news button{border:0;background:none;color:inherit;padding:0;text-align:left;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:6px;margin-top:auto}.project button{padding-top:25px}.project-facts{display:flex;gap:25px;border-top:1px solid #49617a;padding-top:20px;font-size:12px}.project-facts b{font:32px Georgia,serif;display:block;color:var(--gold)}.history{background:var(--blue);color:white;display:grid;grid-template-columns:1fr 1.25fr;gap:10%}.history-title p:last-child{max-width:320px;color:#bdccdd}.history h2{font-size:64px}.timeline{border-left:1px solid #577087;padding-left:35px}.timeline article{position:relative;padding:0 0 30px}.timeline article:last-child{padding-bottom:0}.timeline article:before{content:'';width:9px;height:9px;background:var(--gold);position:absolute;left:-40px;top:9px;border-radius:50%}.timeline span{color:var(--gold);font-size:13px;font-weight:750;letter-spacing:.08em}.timeline h3{font-size:21px;margin:8px 0}.timeline p{font-size:15px;color:#ccd7e3;margin-bottom:0}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px}.filters button{background:white;border:1px solid var(--line);padding:8px 20px;border-radius:30px;font-size:14px}.filters .active{background:var(--blue);color:white;border-color:var(--blue)}.news{display:grid;grid-template-columns:repeat(3,1fr);gap:0 35px}.news article{padding:28px 0;border-top:1px solid var(--line);display:flex;flex-direction:column}.news article[hidden]{display:none}.news time{color:#66717e;font-size:11px;letter-spacing:.08em;font-weight:700}.news h3{font:27px/1.2 Georgia,serif;margin:15px 0}.news p{font-size:15px;color:var(--muted)}.news a{font-size:14px;font-weight:700;margin-top:auto;text-underline-offset:6px}.people{background:#f0f4f8}.people h3{font:29px Georgia,serif;margin-bottom:8px}.role{font-size:14px}.people .leo{margin-top:35px;font-size:24px}.contact{background:var(--blue);color:white;text-align:center}.contact h2{font-size:clamp(40px,4.5vw,68px)}.contact>p:not(.eyebrow){max-width:660px;margin:0 auto 26px;color:#cbd8e6}.contact-actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin:35px 0}.outline{border:1px solid #8fa2b7;color:white}.email{font-size:20px;text-underline-offset:5px}.contact .location{font-size:13px;margin-top:20px!important}footer{padding:40px 7%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:12px}footer p{margin:5px 0;color:var(--muted)}footer>div:nth-child(2){display:flex;flex-direction:column;gap:7px}footer button{border:0;background:none;padding:0;text-align:left;color:inherit;font-size:12px;text-decoration:underline}footer small{width:100%;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:12px}dialog{border:0;padding:45px;max-width:720px;width:calc(100% - 32px);max-height:85vh;overflow:auto;color:var(--ink);box-shadow:0 20px 100px #0005}dialog::backdrop{background:#031a35bb}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px}dialog h2{font-size:38px}dialog p{font-size:17px}dialog a{word-break:break-word}dialog .eyebrow{color:#7d641d}@media(min-width:1600px){.section,header,.hero,.banner{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}}@media(max-width:950px){nav{gap:15px}.projects{grid-template-columns:1fr 1fr}.featured{grid-column:1/-1}.project-number{font-size:60px}.news{grid-template-columns:1fr 1fr}.intro,.people{gap:35px}.history{gap:40px}.history h2{font-size:50px}}@media(max-width:650px){header{padding:15px 6%}.menu{display:block;background:none;border:1px solid var(--line);padding:8px 14px;font-size:14px}nav{display:none;position:absolute;top:83px;left:0;right:0;background:white;padding:25px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{padding:50px 6% 25px}.hero-bottom{display:block;margin-bottom:35px}.hero-bottom p{font-size:16px;margin-bottom:25px}h1{font-size:43px}.hero-rule{font-size:10px;letter-spacing:.08em}.banner{padding:0 0 0}.section{padding:60px 6%}.intro,.people,.history{grid-template-columns:1fr;gap:25px}.stats{grid-template-columns:1fr 1fr;margin:0 6%}.stats strong{font-size:45px}.projects,.news{grid-template-columns:1fr}.featured{grid-column:auto}.section-heading{display:block}.section-heading>p,.section-heading>.text-link{display:block;margin-top:22px}.history h2{font-size:46px}.history-title p:last-child{max-width:none}.project{padding:25px}.contact-actions{flex-direction:column}.email{font-size:17px}dialog{padding:40px 24px}.brand small{font-size:10px}.brand{font-size:13px}.brand img{width:43px;height:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
