:root{--blue:#10477e;--navy:#112b43;--muted:#5f7180;--paper:#fbfcfd;--pale:#eef4f8;--line:#dbe5ec;--sans:Arial,'Helvetica Neue',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;font:16px/1.75 var(--sans);color:var(--navy);background:var(--paper);-webkit-font-smoothing:antialiased}h1,h2,p{margin:0}h1,h2{font-weight:600;line-height:1.12;letter-spacing:-1.7px}h1{font-size:clamp(44px,4.6vw,65px)}h2{font-size:clamp(32px,3vw,42px);letter-spacing:-1.2px}p{color:var(--muted)}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #c58e40;outline-offset:5px}img{display:block;max-width:100%}.wrap{width:min(1140px,calc(100% - 80px));margin:0 auto}.skip{position:fixed;z-index:10;top:-100px;left:15px;padding:10px 20px;background:var(--blue);color:white}.skip:focus{top:10px}.topbar{background:var(--blue);color:#edf5fc;font-size:12px}.topbar>.wrap{min-height:35px;display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar span{font-size:9px;letter-spacing:1.7px}.topbar a:hover{text-decoration:underline}.header{display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:131px;border-bottom:1px solid var(--line);padding:20px 0}.brand{display:block;width:240px;flex-shrink:0}.brand img{width:100%;height:auto;border-radius:2px}.header nav{display:flex;align-items:center;gap:30px;font-size:13px}.header nav>a:not(.nav-contact){padding:8px 0}.header nav>a:not(.nav-contact):hover{text-decoration:underline;text-underline-offset:6px}.nav-contact{display:flex;align-items:center;justify-content:space-between;gap:26px;border:1px solid #b9cddd;padding:10px 17px;border-radius:3px}.nav-contact:hover{background:var(--pale)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;color:var(--blue);line-height:1.6}.hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:65px;padding:65px 0 69px}.hero .eyebrow{margin-bottom:23px}.hero h1>span{color:var(--blue)}.hero-description{font-size:17px;line-height:1.85;max-width:490px;margin-top:25px}.actions{display:flex;gap:13px;align-items:center;margin-top:30px;flex-wrap:wrap}.button{font-size:13px;display:inline-flex;justify-content:center;align-items:center;gap:24px;line-height:1.5;min-height:50px;padding:13px 18px;border:1px solid var(--blue);border-radius:3px;transition:background .15s,color .15s}.button>span{font-size:18px}.primary{background:var(--blue);color:#fff}.primary:hover{background:#0c365f}.secondary{background:transparent;color:var(--blue);border-color:#b4cadb}.secondary:hover{background:#e5eef5}.hero-email{margin-top:16px;font-size:13px}.hero-email a:hover{text-decoration:underline;text-underline-offset:4px}.history{background:var(--blue);border-radius:4px;color:white;padding:34px 31px 25px;box-shadow:10px 10px 0 #e8eff5}.history>p{color:#c4d8e8;font-size:8px;letter-spacing:1.8px}.since{display:block;font-size:21px;color:#d4e3ee;margin-top:25px;line-height:1.3}.history>strong{display:block;font-size:clamp(88px,9.5vw,130px);letter-spacing:-6px;font-weight:500;line-height:1.1}.history-footer{border-top:1px solid #ffffff35;padding-top:21px;margin-top:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;line-height:1.6;color:#d9e6f0}.history-arrow{font-size:34px;font-weight:300}.facts{background:var(--pale);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facts-inner{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;padding-top:24px;padding-bottom:24px}.facts p{font-size:15px;color:var(--navy);line-height:1.6}.facts p>span{display:block;font-size:8px;letter-spacing:1.4px;color:#7c8e9d;margin-bottom:5px}.section{padding-top:76px;padding-bottom:76px}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px}.section .eyebrow{margin-bottom:17px}.about-copy p{font-size:15px;line-height:1.85}.about-copy p+p{margin-top:16px}.text-link{display:inline-flex;align-items:center;gap:25px;padding:7px 0;color:var(--blue);font-size:13px;margin-top:20px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.projects-band{background:var(--pale);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.projects{display:flex;align-items:center;justify-content:space-between;gap:55px;padding-top:38px;padding-bottom:38px}.projects .eyebrow{margin-bottom:12px}.projects h2{font-size:32px;letter-spacing:-.9px}.projects p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:12px;max-width:470px}.projects>.button{flex-shrink:0}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.contact-heading h2{font-size:52px;letter-spacing:-1.9px}.contact-heading>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:20px}.contact-heading .person{color:var(--navy);font-size:15px!important;margin-top:27px!important}.person span{font-size:13px;color:var(--muted)}.contact-card{border:1px solid var(--line);border-radius:4px;padding:6px 27px 0;background:white;align-self:start}.contact-row{position:relative;display:block;padding:20px 25px 21px 0;border-bottom:1px solid var(--line)}.contact-label{display:block;font-size:8px;letter-spacing:1.6px;color:#7c8c9a;line-height:1.6}.contact-row strong{font-size:23px;color:var(--blue);font-weight:500;line-height:1.6;overflow-wrap:anywhere}.row-arrow{position:absolute;right:0;top:39px;font-size:21px;color:#819db3}.contact-row:hover strong{text-decoration:underline;text-underline-offset:5px}.contact-location{padding:20px 0 24px;display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.contact-location p{font-size:14px;line-height:1.7;color:var(--navy);text-align:right}.contact-location p span{font-size:12px;color:var(--muted)}footer{border-top:1px solid var(--line)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:27px;padding-bottom:29px}.footer-inner p strong{display:block;color:var(--blue);font-weight:500;font-size:14px}.footer-inner p span{font-size:11px}.footer-inner>a{font-size:12px;color:#6b7d8b}.footer-inner>a:hover{text-decoration:underline;text-underline-offset:4px}.back-top{margin-left:auto}
@media(max-width:1000px){.wrap{width:calc(100% - 60px)}.hero{gap:40px}.hero h1{font-size:clamp(42px,4.8vw,54px)}.hero-description{font-size:16px}.history{padding:28px 25px 24px}.history>strong{font-size:104px}.button{font-size:12px;gap:16px}.header nav{gap:23px;font-size:12px}.about{gap:50px}.contact{gap:50px}.contact-row strong{font-size:21px}.history-footer{font-size:12px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{padding:18px 0;gap:23px}.brand{width:215px}.header nav{font-size:11px;gap:16px;flex-wrap:wrap;justify-content:flex-end}.nav-contact{padding:8px 12px;gap:18px}.hero{grid-template-columns:1fr;gap:35px;padding:42px 0 45px}.hero-copy{max-width:630px}.hero h1{font-size:clamp(43px,7.5vw,59px);letter-spacing:-1.9px}.hero .eyebrow{font-size:9px;margin-bottom:18px}.hero-description{max-width:530px;font-size:16px;margin-top:22px}.actions{margin-top:25px}.button{font-size:13px}.history{display:grid;grid-template-columns:1fr auto;align-items:center;padding:24px 25px;box-shadow:6px 6px 0 #e8eff5;margin-right:6px}.history>p{grid-column:1/-1;font-size:8px}.since{font-size:17px;margin-top:16px;align-self:end}.history>strong{grid-column:1;grid-row:3;font-size:80px;letter-spacing:-4px}.history-footer{grid-column:2;grid-row:2/4;border:0;margin:0;padding:0;max-width:190px;font-size:12px;gap:25px}.history-arrow{font-size:29px}.facts-inner{gap:20px;padding-top:21px;padding-bottom:21px}.facts p{font-size:12px}.facts p>span{font-size:7px;letter-spacing:1px}.section{padding-top:50px;padding-bottom:50px}.about{grid-template-columns:1fr;gap:25px}.about h2{font-size:36px}.about-copy p{font-size:15px}.section .eyebrow{font-size:9px;margin-bottom:13px}.about-copy{max-width:620px}.text-link{font-size:13px;margin-top:17px}.projects{align-items:flex-start;flex-direction:column;gap:23px;padding:33px 0}.projects h2{font-size:32px}.projects p:not(.eyebrow){font-size:14px}.projects .eyebrow{font-size:9px}.contact{grid-template-columns:1fr;gap:28px}.contact-heading h2{font-size:43px}.contact-heading h2 br{display:none}.contact-heading>p:not(.eyebrow){font-size:15px;margin-top:17px}.contact-heading .person{margin-top:22px!important}.contact-card{padding:4px 23px 0;max-width:600px;width:100%}.contact-row strong{font-size:25px}.contact-location p{font-size:14px}.footer-inner{gap:25px}.footer-inner p strong{font-size:13px}.footer-inner>a{font-size:11px}}
@media(max-width:480px){.topbar>.wrap{min-height:32px}.topbar span{font-size:7px;letter-spacing:1.1px}.topbar a{font-size:11px}.header{flex-direction:column;gap:17px;align-items:flex-start;padding:18px 0 14px}.brand{width:223px}.header nav{width:100%;justify-content:space-between;flex-wrap:nowrap;gap:14px;font-size:11px;border-top:1px solid var(--line);padding-top:13px}.nav-contact{padding:7px 10px;font-size:10px;gap:10px}.hero{padding-top:33px;padding-bottom:35px;gap:29px}.hero h1{font-size:clamp(35px,9.6vw,46px);letter-spacing:-1.4px;line-height:1.15}.hero-description{font-size:15px;line-height:1.9;margin-top:20px}.actions{gap:10px;margin-top:23px}.button{font-size:11px;padding:12px 13px;gap:13px;min-height:46px}.button>span{font-size:16px}.hero-email{font-size:12px;margin-top:14px}.history{padding:20px;grid-template-columns:1fr 1fr}.history>p{font-size:7px;letter-spacing:1.4px}.since{font-size:15px;margin-top:14px}.history>strong{font-size:69px;letter-spacing:-3.5px}.history-footer{font-size:10px;gap:12px;max-width:150px}.history-arrow{font-size:24px}.facts-inner{grid-template-columns:1fr;gap:0;padding-top:5px;padding-bottom:5px}.facts p{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:13px 0;font-size:13px}.facts p:not(:last-child){border-bottom:1px solid var(--line)}.facts p>span{margin:0;font-size:7px;white-space:nowrap}.section{padding:40px 0}.about h2{font-size:31px;letter-spacing:-1px}.about-copy p{font-size:14px}.projects{padding:30px 0;gap:20px}.projects h2{font-size:29px}.projects p:not(.eyebrow){font-size:13px}.projects>.button{font-size:12px;padding:12px 16px}.contact-heading h2{font-size:39px}.contact-heading>p:not(.eyebrow){font-size:14px}.contact-card{padding:3px 18px 0}.contact-row{padding-top:17px;padding-bottom:18px}.contact-row strong{font-size:clamp(17px,5.4vw,24px)}.contact-label{font-size:7px}.row-arrow{top:32px;font-size:19px}.contact-location{padding:18px 0 19px;gap:20px}.contact-location p{font-size:13px}.contact-location p span{font-size:11px}.footer-inner{flex-wrap:wrap;gap:17px;padding:24px 0}.footer-inner p{flex-basis:100%}.footer-inner p strong{font-size:14px}.footer-inner p span{font-size:11px}.footer-inner>a{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Selected project photographs. */
.project-gallery-section{padding-top:48px;padding-bottom:45px}.project-gallery-section .projects{padding:0 0 29px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 22px}.project-photo{margin:0;min-width:0}.project-photo>a{display:block;border:1px solid #d3dfe8;border-radius:3px;overflow:hidden;background:#dce5eb;outline-offset:5px}.project-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;transition:transform .2s}.project-photo>a:hover img{transform:scale(1.015)}.project-photo figcaption{display:flex;align-items:baseline;gap:9px;line-height:1.6;font-size:12px;color:var(--navy);padding:11px 1px 0}.photo-number{font-size:8px;color:#8799a7;letter-spacing:.7px;flex-shrink:0}.photo-arrow{color:var(--blue);margin-left:auto;font-size:16px;line-height:1}
@media(max-width:1000px){.project-grid{gap:23px 18px}.project-photo figcaption{font-size:11px;gap:7px}}
@media(max-width:760px){.project-gallery-section{padding-top:36px;padding-bottom:36px}.project-gallery-section .projects{padding:0 0 24px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.project-photo figcaption{font-size:12px}}
@media(max-width:480px){.project-gallery-section{padding:32px 0}.project-gallery-section .projects{padding:0 0 24px}.project-gallery-section h2{font-size:29px}.project-grid{grid-template-columns:1fr;gap:25px}.project-photo figcaption{font-size:13px;padding-top:10px;gap:10px}.photo-number{font-size:9px}}
@media(prefers-reduced-motion:reduce){.project-photo img{transition:none}}
