@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-bold.ttf') format('truetype');font-style:normal;font-weight:600 800;font-display:swap}
:root{--green:#244636;--dark:#122b20;--cream:#f5f4ed;--sand:#ddcfab;--ink:#203e2f;--line:#d4d7cc}
body{font-family:Manrope,Arial,sans-serif}
.wrap{width:min(1184px,calc(100% - 96px))}
.utility-bar{background:var(--dark);color:#e3e7dc;font-size:11px;letter-spacing:.055em}
.utility-bar .wrap{display:flex;justify-content:space-between;align-items:center;height:34px}
.utility-bar a{display:flex;gap:15px;align-items:center}
.utility-bar b{font-size:12px;letter-spacing:.02em;color:#fff}
.header{border-bottom:1px solid var(--line);background:var(--cream)}
.header-row{height:84px}.brand{width:242px}.nav{gap:30px;font-size:13px}
.button{font-size:13px;min-height:49px;padding:13px 23px;gap:20px;border-radius:1px}
.button span{font-size:20px}
.hero.hero-editorial{height:auto;background:var(--cream);color:var(--ink);overflow:hidden}
.hero-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;align-items:center;padding-top:51px;padding-bottom:64px}
.hero-editorial .hero-copy{max-width:none;padding:0}
.hero-editorial .eyebrow{font-size:10px;color:#6d785e;display:flex;align-items:center;gap:11px;letter-spacing:.14em;margin-bottom:23px}
.eyebrow-line{display:inline-block;width:23px;height:1px;background:#ad935e}
.hero-editorial h1{font-size:clamp(45px,4.35vw,63px);line-height:1.07;letter-spacing:-.065em;font-weight:700;margin-bottom:25px}
.hero-editorial .hero-description{font-size:17px;line-height:1.75;color:#64705d;max-width:400px}
.hero-editorial .hero-actions{margin-top:28px;gap:23px}
.hero-editorial .text-link{font-size:12px;border:0;font-weight:700;gap:15px}
.hero-footnote{border-top:1px solid var(--line);display:flex;gap:20px;margin-top:37px;padding-top:20px;font-size:10px;letter-spacing:.015em;color:#76816d}
.hero-footnote span+span{border-left:1px solid #b8c0ac;padding-left:20px}
.hero-composition{position:relative;margin-right:17px;padding-bottom:12px}
.hero-main-photo{position:relative;height:455px}
.hero-main-photo>img{height:100%;object-fit:cover;object-position:50% 52%}
.hero-main-photo>figcaption{position:absolute;bottom:22px;left:-27px;background:#fff;display:flex;align-items:center;gap:17px;padding:18px 21px;min-width:295px;box-shadow:0 12px 30px #132b2112}
.hero-main-photo>figcaption .image-index{font-size:11px;color:#8c987d}
.hero-main-photo>figcaption strong{display:block;font-size:13px;font-weight:700}
.hero-main-photo>figcaption div>span{display:block;font-size:10px;color:#7c8773;margin-top:3px}
.hero-main-photo>figcaption a{font-size:22px;margin-left:13px}
.hero-inset{position:absolute;bottom:-22px;right:17px;width:151px;padding:7px;background:var(--cream);box-shadow:0 12px 28px #122b2020}
.hero-inset img{height:117px;object-fit:cover}
.hero-inset figcaption{font-size:8px;padding:8px 2px 2px;text-align:center;color:#6c765f}
.side-label{position:absolute;writing-mode:vertical-rl;right:-26px;top:0;text-transform:uppercase;letter-spacing:.17em;font-size:8px;color:#6f7d63}
.capability-strip{background:#ebece3;border-block:1px solid #d5d8ca}
.capability-nav{display:grid;grid-template-columns:repeat(4,1fr)}
.capability-nav>a{display:flex;align-items:center;gap:14px;padding:23px 20px;border-right:1px solid #d1d6c5}
.capability-nav>a:first-child{padding-left:0}.capability-nav>a:last-child{padding-right:0;border:0}
.capability-nav>a>span{font-size:10px;color:#869178;align-self:flex-start;margin-top:3px}
.capability-nav strong{display:block;font-size:14px;letter-spacing:-.02em}
.capability-nav small{display:block;font-size:10px;color:#7a846e;margin-top:3px}
.capability-nav b{margin-left:auto;font-size:16px;font-weight:400;color:#6c7b5e}
.capability-nav a:hover{background:#dfe4d4}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.brand{width:224px}.hero-layout{gap:32px;grid-template-columns:.92fr 1.08fr}.hero-editorial h1{font-size:51px}.hero-main-photo{height:428px}.hero-main-photo>figcaption{min-width:260px;left:-20px;padding:16px}.hero-inset{right:10px;width:133px;bottom:-24px}.hero-inset img{height:100px}.hero-footnote{font-size:9px;gap:12px}.hero-footnote span+span{padding-left:12px}.capability-nav>a{gap:10px;padding-inline:14px}.hero-editorial .hero-actions{gap:16px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.utility-bar{font-size:8px}.utility-bar .wrap{height:29px}.utility-bar a{gap:0}.utility-bar a b{font-size:10px}.utility-bar a{font-size:0}.header-row{height:74px}.brand{width:195px}.header-cta{font-size:11px;padding:9px 12px;min-height:40px;gap:12px}.hero-layout{grid-template-columns:1fr;gap:30px;padding-block:34px 54px}.hero-editorial .eyebrow{font-size:9px;margin-bottom:16px}.hero-editorial h1{font-size:49px;letter-spacing:-.06em;margin-bottom:18px}.hero-editorial .hero-description{font-size:16px;line-height:1.65}.desktop-break{display:none}.hero-editorial .hero-actions{gap:23px;margin-top:23px}.hero-editorial .hero-actions .button{font-size:11px;padding:12px 14px;min-height:46px;gap:12px}.hero-editorial .text-link{font-size:11px;gap:12px}.hero-footnote{margin-top:23px;padding-top:15px;font-size:9px;justify-content:flex-start}.hero-composition{margin-right:14px;margin-left:8px}.hero-main-photo{height:328px}.hero-main-photo>figcaption{left:-8px;bottom:15px;min-width:224px;padding:14px;gap:12px}.hero-main-photo>figcaption strong{font-size:11px}.hero-main-photo>figcaption div>span{font-size:9px}.hero-main-photo>figcaption a{display:none}.hero-inset{width:103px;right:8px;bottom:-28px;padding:5px}.hero-inset img{height:86px}.hero-inset figcaption{font-size:7px;padding-top:6px}.side-label{right:-20px;font-size:7px}.capability-nav{grid-template-columns:1fr 1fr}.capability-nav>a{padding:17px 12px!important;border-bottom:1px solid #d1d6c5}.capability-nav>a:nth-child(even){border-right:0}.capability-nav>a:nth-child(n+3){border-bottom:0}.capability-nav strong{font-size:13px}.capability-nav small{font-size:9px}.capability-nav>a>span{font-size:9px}}
@media(max-width:370px){.brand{width:170px}.hero-editorial h1{font-size:44px}.hero-footnote{font-size:8px}}

/* Service stories and the project gallery use different compositions. */
.marine-refined,.work-refined{padding-block:76px}
.editorial-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:36px}
.editorial-heading .eyebrow{font-size:10px;letter-spacing:.16em;color:#828b6d;margin-bottom:16px}
.editorial-heading h2,.civil-refined h2,.project-start h2{font-size:39px;line-height:1.15;letter-spacing:-.05em;font-weight:700}
.editorial-heading>p{width:350px;max-width:40%;font-size:14px;line-height:1.85;color:#6b7463}
.editorial-heading>.text-link{font-size:12px;white-space:nowrap;margin-bottom:4px}
.marine-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:64px;align-items:stretch}
.marine-feature{position:relative;min-height:389px;overflow:hidden;background:#dbe0d2}
.marine-feature>img{height:100%;position:absolute;object-position:50% 61%}
.marine-feature:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#10281ed9);pointer-events:none}
.marine-feature figcaption{position:absolute;z-index:1;bottom:26px;left:27px;color:#fff}
.marine-feature figcaption span{display:block;font-size:17px;letter-spacing:-.02em;font-weight:700}
.marine-feature figcaption small{display:block;font-size:10px;letter-spacing:.02em;margin-top:5px;color:#e0e6d8}
.marine-services article{display:flex;gap:20px;border-top:1px solid var(--line);padding:24px 0}
.marine-services article:first-child{padding-top:19px}.marine-services article:last-child{padding-bottom:0}
.service-number{font-size:10px;color:#8a977b;padding-top:4px;flex-shrink:0;letter-spacing:.03em}
.marine-services h3{font-size:20px;line-height:1.3;letter-spacing:-.035em;margin-bottom:9px}
.marine-services p{font-size:13px;line-height:1.8;color:#6b7463;max-width:425px}
.marine-services .text-link{font-size:11px;margin-top:13px;border-color:#b2bba5}
.civil-refined{background:var(--green);color:var(--cream);padding:66px 0 70px}
.civil-refined-layout{display:grid;grid-template-columns:1fr 1fr;gap:83px;align-items:center}
.civil-refined-visual{position:relative;padding-left:26px}
.civil-refined-visual figure{position:relative;height:473px;overflow:hidden}
.civil-refined-visual img{height:100%;object-position:48% 45%}
.civil-refined-visual figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#193727e8;padding:16px 20px;backdrop-filter:blur(8px)}
.civil-refined-visual figcaption span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#c0cbb7}
.civil-refined-visual figcaption b{font-size:11px;font-weight:400;color:#eff2e8}
.civil-margin-note{position:absolute;writing-mode:vertical-rl;transform:rotate(180deg);left:0;bottom:0;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#c1cbb6}
.civil-refined-copy .eyebrow{font-size:10px;letter-spacing:.15em;color:#c9c5a3;margin-bottom:17px}
.civil-refined h2{font-size:38px;margin-bottom:19px}
.civil-refined-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;color:#c5d0bf;max-width:410px}
.civil-accordions{margin:26px 0 22px;border-bottom:1px solid #ffffff2b}
.civil-accordions details{border-top:1px solid #ffffff2b}
.civil-accordions summary{padding:15px 0;display:flex;justify-content:space-between;align-items:center;list-style:none;font-size:14px;font-weight:700;cursor:pointer}
.civil-accordions summary::-webkit-details-marker{display:none}
.civil-accordions summary span{position:relative;width:12px;height:12px;flex-shrink:0;margin-left:16px}
.civil-accordions summary span:before,.civil-accordions summary span:after{content:"";position:absolute;top:5px;left:0;width:12px;height:1px;background:#c1cfb7}
.civil-accordions summary span:after{transform:rotate(90deg)}
.civil-accordions details[open] summary span:after{display:none}
.civil-accordions details p{font-size:12px;line-height:1.8;color:#c5d0bf;padding:0 28px 18px 0}
.civil-accordions summary:focus-visible{outline:2px solid var(--sand);outline-offset:4px}
.civil-refined .text-link{font-size:12px;border-color:#98ab8a}.civil-refined .text-link:hover{color:#e2d7b8}
.work-refined .editorial-heading{margin-bottom:32px}
.work-mosaic{display:grid;grid-template-columns:1.15fr .58fr .58fr;grid-template-rows:242px 242px;gap:18px}
.work-photo{position:relative;display:block;width:100%;border:0;padding:0;overflow:hidden;background:#c5ceba;text-align:left;color:#fff}
.work-photo-main{grid-row:1/3}.work-photo-wide{grid-column:2/4}
.work-photo img{height:100%;object-position:50% 55%;transition:transform .5s}
.work-photo:hover img{transform:scale(1.025)}
.work-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0b221bcc);pointer-events:none}
.work-photo>span{position:absolute;z-index:1;bottom:22px;left:23px;right:23px;padding-right:25px}
.work-photo small{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:8px;color:#e2e8da;margin-bottom:6px}
.work-photo strong{display:block;font-weight:700;font-size:15px;letter-spacing:-.02em}
.work-photo b{position:absolute;right:0;bottom:-1px;font-size:22px;font-weight:400}
.work-photo-main strong{font-size:21px}.work-photo-main>span{bottom:26px;left:27px}
.work-photo:nth-child(3) img{object-position:50% 65%}.work-photo:nth-child(4) img{object-position:48% 59%}
.work-footnote{display:flex;justify-content:space-between;font-size:10px;color:#7c8770;margin-top:18px;gap:20px}
.work-footnote b{font-size:13px;margin-left:9px;font-weight:400}
.project-start{background:#e9e7da;border-top:1px solid #d4d7c8;padding-block:65px}
.project-start-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center}
.project-start .eyebrow{font-size:9px;letter-spacing:.15em;color:#7e8569;margin-bottom:18px}
.project-start h2{font-size:48px;line-height:1.1}
.project-start-layout>div>p:not(.eyebrow){max-width:340px;font-size:13px;line-height:1.85;color:#6d755f;margin-top:18px}
.contact-panel{border-top:1px solid #aeb79e;padding-top:21px}
.contact-kicker{font-size:10px;letter-spacing:.045em;color:#788269}
.contact-phone{display:flex;justify-content:space-between;align-items:center;font-size:30px;font-weight:700;letter-spacing:-.04em;margin:13px 0 16px}
.contact-phone>span{font-size:29px;font-weight:400}
.contact-email{display:flex;justify-content:space-between;gap:15px;font-size:13px;padding-bottom:25px;border-bottom:1px solid #bdc5ae}
.contact-phone:hover,.contact-email:hover{color:#687447}
.contact-note{display:flex;align-items:center;gap:14px;padding-top:22px}
.location-marker{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border:1px solid #b8c2aa;border-radius:50%;font-size:20px;color:#647650}
.contact-note p{font-size:10px;color:#7c866d;line-height:1.8}.contact-note strong{font-weight:400;color:#4c6040}
.footer-refined-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr auto;gap:40px;padding:47px 0 38px}
.footer-identity>p{font-size:11px;line-height:1.85;color:#acbda5;margin-top:18px}
.footer-column h3{font-size:10px;font-weight:400;color:#93a68b;letter-spacing:.04em;margin-bottom:15px}
.footer-column>a{display:block;font-size:11px;color:#d0dbca;margin-top:9px}
.footer-column>a:hover{text-decoration:underline}
.back-top{align-self:end;display:flex;flex-direction:column;gap:9px;align-items:center;font-size:8px;color:#a7b79e}
.back-top span{display:flex;align-items:center;justify-content:center;border:1px solid #607157;width:37px;height:37px;border-radius:50%;font-size:19px;color:#e0e7d9}
.footer-bottom{font-size:9px;padding-block:19px}
@media(max-width:1100px){.marine-layout{gap:36px;grid-template-columns:.9fr 1.1fr}.civil-refined-layout{gap:42px}.civil-refined h2{font-size:33px}.civil-refined-visual figure{height:471px}.marine-services h3{font-size:18px}.marine-services article{gap:15px}.project-start-layout{gap:50px}.contact-phone{font-size:27px}.work-photo>span{left:17px;right:17px;bottom:18px}.work-photo strong{font-size:13px}.work-photo-main strong{font-size:20px}}
@media(max-width:760px){.marine-refined,.work-refined{padding-block:44px}.editorial-heading{display:block;margin-bottom:25px}.editorial-heading .eyebrow{font-size:9px;margin-bottom:12px}.editorial-heading h2{font-size:31px}.editorial-heading>p{width:auto;max-width:100%;font-size:13px;margin-top:19px;line-height:1.75}.editorial-heading>.text-link{font-size:10px;margin-top:18px}.marine-layout{grid-template-columns:1fr;gap:27px}.marine-feature{min-height:310px}.marine-feature figcaption{left:21px;bottom:21px}.marine-feature figcaption span{font-size:16px}.marine-services article{padding:20px 0;gap:17px}.marine-services h3{font-size:18px}.marine-services p{font-size:13px}.marine-services .text-link{font-size:11px}.civil-refined{padding:40px 0}.civil-refined-layout{display:flex;flex-direction:column-reverse;gap:30px}.civil-refined h2{font-size:32px}.civil-refined-copy{width:100%}.civil-refined-copy .eyebrow{font-size:9px;margin-bottom:13px}.civil-refined-copy>p:not(.eyebrow){font-size:13px}.civil-accordions{margin:22px 0}.civil-accordions summary{font-size:14px}.civil-refined-visual{width:100%;padding-left:19px}.civil-refined-visual figure{height:337px}.civil-refined-visual figcaption{padding:13px 16px}.civil-refined-visual figcaption b{font-size:10px}.civil-margin-note{font-size:7px}.work-refined .editorial-heading{margin-bottom:25px}.work-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:340px 245px 202px;gap:12px}.work-photo-main{grid-column:1/3;grid-row:1}.work-photo-wide{grid-column:1/3;grid-row:2}.work-photo>span{bottom:15px;left:15px;right:15px;padding-right:17px}.work-photo strong{font-size:11px}.work-photo small{font-size:7px;letter-spacing:.08em;margin-bottom:5px}.work-photo b{font-size:17px}.work-photo-main strong{font-size:20px}.work-photo-main>span{left:21px;bottom:22px}.work-photo-main small{font-size:8px}.work-photo-wide strong{font-size:16px}.work-photo-wide img{object-position:50% 51%}.work-footnote{font-size:8px;gap:12px;align-items:center}.work-footnote>span{max-width:50%}.work-footnote>span:last-child{text-align:right}.project-start{padding:40px 0}.project-start-layout{grid-template-columns:1fr;gap:29px}.project-start h2{font-size:39px}.project-start-layout>div>p:not(.eyebrow){font-size:13px;max-width:325px}.contact-phone{font-size:29px}.contact-email{font-size:12px}.footer-refined-grid{grid-template-columns:1fr 1fr;gap:29px 25px;padding-block:34px}.footer-identity{grid-column:1/-1}.footer-brand{width:212px}.footer-identity>p{margin-top:14px}.back-top{display:none}.footer-column h3{margin-bottom:12px}.footer-bottom{font-size:8px;gap:15px;align-items:flex-start}.footer-bottom>span:last-child{text-align:right;max-width:47%}}

/* A closer waterfront opening, tighter section rhythm, and scroll entrances. */
.hero-layout{grid-template-columns:.84fr 1.16fr;gap:34px;padding-block:28px 32px}
.hero-editorial h1{font-size:clamp(46px,4.1vw,59px);margin-bottom:19px}
.hero-editorial .eyebrow{margin-bottom:18px;font-size:12px;letter-spacing:.09em}
.hero-editorial .hero-description{font-size:17px;line-height:1.65}
.hero-editorial .hero-actions{margin-top:23px;gap:23px}
.hero-editorial .text-link{font-size:13px}
.hero-footnote{margin-top:24px;padding-top:16px;font-size:12px;gap:16px;flex-wrap:wrap}
.hero-footnote span+span{padding-left:16px}
.hero-composition{margin:0;padding:0}
.hero-main-photo{height:412px;overflow:hidden}
.hero-main-photo>img{object-position:center 75%}
.hero-main-photo>figcaption{bottom:0;left:0;right:0;min-width:0;box-shadow:none;background:linear-gradient(0deg,#0c261ee8,#0c261e00);padding:46px 23px 20px;gap:16px;color:#fff}
.hero-main-photo>figcaption .image-index{display:none}
.hero-main-photo>figcaption strong{font-size:17px;letter-spacing:-.02em}
.hero-main-photo>figcaption div>span{font-size:12px;color:#e0e7d9;margin-top:2px}
.hero-main-photo>figcaption a{margin-left:auto;display:block;color:#fff}
.utility-bar{font-size:12px;letter-spacing:0}
.nav{font-size:14px}
.capability-nav>a{padding-block:18px}
.capability-nav small{font-size:12px;color:#637157}
.capability-nav>a>span{font-size:12px}
.marine-refined,.work-refined{padding-block:48px}
.editorial-heading{margin-bottom:26px;gap:30px}
.editorial-heading h2{font-size:36px}
.editorial-heading .eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:12px;color:#647554}
.editorial-heading>p{font-size:16px;line-height:1.65;max-width:44%;width:390px}
.editorial-heading>.text-link{font-size:14px}
.marine-layout{gap:42px;grid-template-columns:.95fr 1.05fr}
.marine-feature{min-height:382px}
.marine-feature figcaption small{font-size:12px}
.service-number{font-size:12px}
.marine-services article{padding:19px 0;gap:17px}
.marine-services article:first-child{padding-top:17px}
.marine-services p{font-size:15px;line-height:1.65}
.marine-services .text-link{font-size:13px;margin-top:10px}
.civil-refined{padding-block:42px}
.civil-refined-layout{gap:52px}
.civil-refined-visual figure{height:452px}
.civil-refined-copy .eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:13px}
.civil-refined h2{font-size:36px;margin-bottom:15px}
.civil-refined-copy>p:not(.eyebrow){font-size:15px;line-height:1.7}
.civil-accordions{margin:20px 0 18px}
.civil-accordions summary{font-size:16px;padding:13px 0}
.civil-accordions details p{font-size:14px;line-height:1.65;padding-bottom:14px}
.civil-refined .text-link{font-size:14px}
.civil-refined-visual figcaption span,.civil-refined-visual figcaption b{font-size:12px}
.work-refined .editorial-heading{margin-bottom:25px}
.work-mosaic{grid-template-rows:225px 225px;gap:15px}
.work-photo small{font-size:12px;letter-spacing:.06em}
.work-photo strong{font-size:16px}
.work-photo-main strong{font-size:22px}
.work-footnote{font-size:12px;margin-top:14px}
.project-start{padding-block:42px}
.project-start .eyebrow{font-size:12px;letter-spacing:.08em;margin-bottom:13px}
.project-start h2{font-size:44px}
.project-start-layout>div>p:not(.eyebrow){font-size:15px;line-height:1.7;margin-top:14px;max-width:375px}
.project-start-layout{gap:65px}
.contact-kicker{font-size:13px}
.contact-email{font-size:14px;padding-bottom:19px}
.contact-note{padding-top:17px}
.contact-note p{font-size:13px}
.footer-refined-grid{padding-block:33px 28px}
.footer-identity>p,.footer-column>a{font-size:13px}
.footer-column h3{font-size:12px}
.footer-bottom{font-size:12px;padding-block:15px}
.reveal-pending{opacity:0}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1!important;transform:none!important}}
@media(max-width:1100px){.hero-layout{grid-template-columns:.95fr 1.05fr;gap:27px}.hero-editorial h1{font-size:48px}.hero-footnote{font-size:11px;gap:9px}.hero-footnote span+span{padding-left:9px}.hero-main-photo{height:396px}.marine-layout{gap:29px}.civil-refined-layout{gap:32px}.civil-refined h2{font-size:32px}.work-photo strong{font-size:14px}.work-photo small{font-size:11px}.hero-editorial .hero-actions{gap:16px}.hero-editorial .hero-actions .button{padding-inline:16px;font-size:12px}.hero-editorial .text-link{font-size:12px}.project-start-layout{gap:40px}}
@media(max-width:760px){.hero-layout{grid-template-columns:1fr;padding-block:26px 20px;gap:21px}.hero-editorial h1{font-size:47px;margin-bottom:15px}.hero-editorial .eyebrow{font-size:11px;margin-bottom:14px}.hero-editorial .hero-description{font-size:16px}.hero-editorial .hero-actions{margin-top:18px;gap:20px}.hero-editorial .hero-actions .button{font-size:12px;min-height:44px}.hero-editorial .text-link{font-size:12px}.hero-footnote{margin-top:17px;padding-top:12px;font-size:10px;gap:12px}.hero-footnote span+span{padding-left:12px}.hero-composition{margin:0}.hero-main-photo{height:295px}.hero-main-photo>img{object-position:center 75%}.hero-main-photo>figcaption{padding:38px 17px 16px}.hero-main-photo>figcaption strong{font-size:16px}.hero-main-photo>figcaption div>span{font-size:12px}.hero-main-photo>figcaption a{font-size:24px}.utility-bar{font-size:10px}.capability-nav>a{padding-block:14px!important;gap:10px}.capability-nav small{font-size:11px}.capability-nav>a>span{font-size:11px}.marine-refined,.work-refined{padding-block:32px}.editorial-heading h2{font-size:30px}.editorial-heading .eyebrow{font-size:11px;margin-bottom:10px}.editorial-heading>p{font-size:15px;line-height:1.65;max-width:100%;width:auto;margin-top:13px}.editorial-heading>.text-link{font-size:13px;margin-top:13px}.editorial-heading{margin-bottom:21px}.marine-layout{grid-template-columns:1fr;gap:20px}.marine-feature{min-height:265px}.marine-services article{padding-block:17px}.marine-services h3{font-size:19px}.marine-services p{font-size:15px}.marine-services .text-link{font-size:13px}.civil-refined{padding-block:31px}.civil-refined-layout{gap:23px}.civil-refined h2{font-size:30px}.civil-refined-copy>p:not(.eyebrow){font-size:15px}.civil-refined-copy .eyebrow{font-size:11px}.civil-accordions details p{font-size:14px}.civil-refined-visual figure{height:295px}.civil-refined-visual figcaption span,.civil-refined-visual figcaption b{font-size:11px}.work-mosaic{grid-template-rows:295px 205px 187px;gap:11px}.work-refined .editorial-heading{margin-bottom:21px}.work-photo small{font-size:10px}.work-photo strong{font-size:12px}.work-photo-main strong{font-size:20px}.work-photo-wide strong{font-size:16px}.work-footnote{font-size:10px;gap:14px}.project-start{padding-block:31px}.project-start h2{font-size:37px}.project-start .eyebrow{font-size:11px}.project-start-layout{gap:24px}.project-start-layout>div>p:not(.eyebrow){font-size:15px}.contact-email{font-size:13px}.footer-refined-grid{padding-block:28px;gap:22px}.footer-bottom{font-size:10px}.footer-identity>p{font-size:12px}.footer-column>a{font-size:13px}}

/* Final composition: a continuous waterfront image anchors the opening. */
.logo-preparing .brand .logo-front{opacity:0}
.gator-profile{opacity:1;transform-box:fill-box;transform-origin:50% 50%;overflow:hidden}
.logo-front{transform-box:fill-box;transform-origin:50% 50%}
.header{border-bottom:1px solid #cdd4c6}
.header-row{height:79px}
.hero.hero-editorial{background:#edf0e7}
.hero-layout{position:relative;grid-template-columns:.86fr 1.14fr;min-height:441px;padding-block:28px;gap:34px}
.hero-editorial .hero-copy{padding:16px 0;z-index:1}
.hero-editorial h1{font-size:clamp(46px,4.05vw,58px);letter-spacing:-.055em}
.hero-editorial .hero-description{font-size:17px;max-width:390px;line-height:1.65}
.hero-editorial .hero-actions{margin-top:22px}
.hero-footnote{border-color:#c7cfbd;color:#617355}
.hero-composition{height:100%;position:relative;align-self:stretch;margin-top:-28px;margin-bottom:-28px}
.hero-main-photo{height:calc(100% + 56px);min-height:441px;margin-right:calc((min(1184px,100vw - 96px) - 100vw)/2)}
.hero-main-photo>img{object-position:50% 75%;height:100%;position:absolute;inset:0}
.hero-main-photo>figcaption{padding:50px 29px 22px;background:linear-gradient(0deg,#102a20c9,transparent);right:calc((min(1184px,100vw - 96px) - 100vw)/2)}
.hero-main-photo>figcaption a{width:37px;height:37px;border:1px solid #fff7;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px}
.hero-main-photo>figcaption a:hover{background:#fff;color:var(--green)}
.capability-strip{background:#254637;color:#f4f5ee;border-color:#254637}
.capability-nav>a{padding-block:18px;border-color:#ffffff25}
.capability-nav>a>span,.capability-nav small,.capability-nav b{color:#c7d4bd}
.capability-nav a:hover{background:#345640}
.capability-nav strong{font-size:15px}
.marine-refined{padding-top:46px;padding-bottom:48px}
.marine-feature{min-height:397px}
.marine-feature>img{object-position:50% 64%}
.marine-services p,.civil-refined-copy>p:not(.eyebrow),.project-start-layout>div>p:not(.eyebrow){font-size:16px;line-height:1.65}
.marine-services h3{font-size:21px}
.marine-services article{padding-block:18px}
.marine-services article:first-child{padding-top:17px}
.marine-services .text-link{font-size:14px}
.service-number{color:#657854}
.civil-refined{background:#193c2b}
.civil-refined h2{font-size:37px}
.civil-refined-visual{padding-left:0}
.civil-margin-note{display:none}
.civil-refined-visual figure{height:451px}
.work-mosaic{grid-template-columns:1.1fr .6fr .6fr;grid-template-rows:232px 232px;gap:14px}
.work-photo>span{bottom:18px;left:20px;right:20px}
.work-photo:after{inset:50% 0 0;background:linear-gradient(transparent,#0b221bb8)}
.work-photo strong{font-size:15px}
.work-photo-main strong{font-size:21px}
.project-start{background:#dde5d4}
.project-start-layout{grid-template-columns:1fr 1fr;gap:90px}
.project-start h2{font-size:43px}
.contact-panel{border:1px solid #b9c7ab;padding:25px 28px;background:#eef1e660}
.contact-phone{margin-block:13px;font-size:31px}
.contact-note{padding-top:16px}
.footer-bottom{color:#b9c8b0}
.text-link span,.capability-nav b{transition:transform .22s}
.text-link:hover span,.capability-nav a:hover b{transform:translate(2px,-2px)}
body.photo-open{overflow:hidden}
@media(max-width:1100px){.hero-layout{grid-template-columns:.95fr 1.05fr;gap:25px;min-height:429px}.hero-main-photo{margin-right:-32px;min-height:429px}.hero-main-photo>figcaption{right:-32px;padding-inline:22px}.hero-editorial h1{font-size:48px}.hero-editorial .hero-description{font-size:16px}.hero-editorial .hero-copy{padding-block:12px}.hero-footnote{font-size:11px;gap:8px}.hero-footnote span+span{padding-left:8px}.marine-services h3{font-size:20px}.project-start-layout{gap:40px}.contact-panel{padding:22px}.contact-phone{font-size:27px}.contact-email{font-size:13px}}
@media(max-width:760px){.header-row{height:72px}.hero-layout{display:flex;flex-direction:column;gap:0;padding:25px 0 0;min-height:0}.hero-editorial .hero-copy{width:100%;padding:0}.hero-editorial h1{font-size:46px;line-height:1.06;letter-spacing:-.055em}.hero-editorial .hero-description{max-width:335px;font-size:16px}.hero-editorial .hero-actions{margin-top:19px}.hero-footnote{font-size:11px;margin-top:20px;padding-top:12px;gap:12px}.hero-footnote span+span{padding-left:12px}.hero-composition{width:100%;height:auto;align-self:auto;margin:20px 0 0}.hero-main-photo{height:294px;min-height:0;margin:0 -20px}.hero-main-photo>img{object-position:50% 71%}.hero-main-photo>figcaption{left:-20px;right:-20px;padding:46px 20px 17px}.hero-main-photo>figcaption strong{font-size:16px}.hero-main-photo>figcaption a{width:33px;height:33px}.capability-nav>a{padding:15px 12px!important;border-color:#ffffff25}.capability-nav small{font-size:11px}.capability-nav strong{font-size:14px}.marine-refined{padding-block:32px}.marine-feature{min-height:275px}.marine-services article{padding-block:17px}.marine-services h3{font-size:20px}.marine-services p,.civil-refined-copy>p:not(.eyebrow),.project-start-layout>div>p:not(.eyebrow){font-size:16px}.civil-refined h2{font-size:31px}.civil-refined-visual figure{height:305px}.work-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:295px 205px 187px;gap:11px}.work-photo>span{left:15px;right:15px;bottom:15px}.work-photo strong{font-size:12px}.work-photo-main strong{font-size:20px}.work-photo-wide strong{font-size:16px}.project-start-layout{grid-template-columns:1fr;gap:24px}.project-start h2{font-size:37px}.contact-panel{padding:20px}.contact-phone{font-size:27px}.contact-email{font-size:12px;gap:9px}.contact-note p{font-size:12px}}
@media(max-width:370px){.hero-editorial h1{font-size:42px}.hero-footnote{font-size:10px}.header-row{gap:10px}.brand{width:162px}.header-cta{padding-inline:9px;font-size:10px}.hero-editorial .hero-actions{gap:15px}.hero-editorial .hero-actions .button{padding-inline:12px;font-size:11px}.contact-panel{padding:16px}.contact-phone{font-size:24px}.contact-email{font-size:11px}}

.hero-main-photo>figcaption{left:0;right:0}
