:root{--ink:#161b1d;--secondary:#656b70;--fog:#969ba0;--paper:#fcfcfa;--panel:#f1f2f0;--max:1360px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;line-height:1.35;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;display:block}.container{width:min(86%,var(--max));margin-inline:auto}.skip{position:absolute;left:1rem;top:-100px;background:white;padding:.6rem;z-index:30}.skip:focus{top:1rem}.hero-shell{background-color:#dce1e0;background-image:linear-gradient(90deg,rgba(249,249,247,.97) 0%,rgba(249,249,247,.90) 27%,rgba(249,249,247,.50) 50%,rgba(249,249,247,.03) 77%),url("/assets/images/hero/coastal-seawall-perspective-1920.webp");background-position:center,center 53%;background-size:cover,cover;background-repeat:no-repeat,no-repeat}.site-header{position:relative;z-index:5;background:#fcfcfa;border-bottom:1px solid #e4e6e3}.site-header nav a{color:#242c2e;font-weight:400;text-shadow:none}.site-header nav a:hover,.site-header nav a:focus-visible{text-decoration:underline;text-underline-offset:5px}.site-header .top-cta{background:#161b1d;color:#fff}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.logo img{width:210px;height:auto;transform:none}.nav nav{display:flex;gap:2rem;align-items:center}.nav nav a{text-decoration:none;font-size:.83rem}.top-cta{background:#161b1d;color:white;text-decoration:none;padding:12px 18px;font-size:.81rem;font-weight:500;white-space:nowrap}.top-cta span,.btn span{margin-left:14px}.hero{min-height:540px;display:flex;align-items:center;padding-top:2rem;padding-bottom:4rem}.hero-inner{max-width:640px}.eyebrow{font-size:.72rem;font-weight:500;letter-spacing:.17em;margin:0 0 24px;line-height:1.4}.rule{display:inline-block;background:#c9c9c9;width:50px;height:1px;vertical-align:middle;margin-left:12px}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.052em;line-height:1.04;font-weight:400}h1{font-size:clamp(3rem,5vw,5.9rem);margin-bottom:16px}h1 span{color:#858b8c}.hero-inner>p:not(.eyebrow){font-size:1.03rem;line-height:1.32;max-width:470px;margin-bottom:21px}.btn{display:inline-block;text-decoration:none;padding:15px 24px;font-size:.88rem}.btn-dark{background:#171b1e;color:#fff}.section{padding-top:52px;padding-bottom:56px}h2{font-size:clamp(2.2rem,3.1vw,3.4rem)}.about{display:grid;grid-template-columns:1fr 1.13fr;gap:8%;align-items:center}.about-copy{max-width:570px}.about h2{margin-bottom:16px}.about p:not(.eyebrow){color:#5c6366;font-size:1.08rem;line-height:1.36}.about .lead{color:#343a3d!important;font-size:1.18rem!important}.about-photo img{height:310px;width:100%;object-fit:cover;object-position:center 55%}.panel{background:linear-gradient(115deg,#f1f0ed,#f7f7f5)}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;margin-bottom:27px}.section-intro p{max-width:610px;font-size:1.09rem;color:#5f6467;line-height:1.35;margin:5px 0 0}.three-up{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.three-up article{min-width:0}.numberline{height:78px;display:flex;align-items:center;gap:24px;border-bottom:1px solid #c7cac7;color:#777d7d}.numberline span{font-size:1.25rem}.numberline svg{height:44px;width:44px;fill:none;stroke:#171b1d;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}.three-up h3,.five-up h3{font-size:1.32rem;font-weight:500;line-height:1.1;margin:15px 0 7px}.three-up p,.five-up p{font-size:1rem;color:#5d6467;line-height:1.35}.opportunities{padding-bottom:57px}.five-up{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.five-up article{border-left:1px solid #cfd2d0;padding:0 18px 2px 20px}.five-up article:first-child{border-left:0;padding-left:0}.simple-icon{font-size:2.1rem;font-weight:200;height:50px;line-height:1}.five-up h3{font-size:1.2rem}.five-up p{font-size:.95rem}.leadership{background:#f5f5f3}.leader-grid{display:grid;grid-template-columns:1.12fr .73fr 1fr;align-items:center;gap:5%;min-height:325px}.leader-grid h2{font-size:clamp(2rem,2.9vw,3.15rem)} .portrait{height:275px;overflow:hidden;display:grid;place-items:center}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 17%}.leader-bio h3{font-size:1.5rem;letter-spacing:-.035em;font-weight:500;margin:0 0 2px}.leader-bio p{font-size:1rem;line-height:1.37;color:#4f565a;margin-bottom:.8rem}.leader-bio .leader-title{color:#7a7e7f;margin-bottom:15px}.contact-banner{color:#fff;min-height:320px;display:flex;align-items:center;background-color:#1a2327;background-image:linear-gradient(90deg,rgba(9,17,20,.94) 0%,rgba(9,17,20,.81) 37%,rgba(9,17,20,.35) 100%),url("/assets/images/hero/sailing-open-water-1920.webp");background-position:center,center 60%;background-size:cover,cover;background-repeat:no-repeat,no-repeat}.contact-banner>.container{width:min(86%,var(--max))}.contact-content{max-width:560px;padding:56px 0}.contact-banner h2{font-size:clamp(2.4rem,3.1vw,3.6rem);margin-bottom:14px}.contact-banner p:not(.eyebrow){font-size:1.07rem;line-height:1.35;margin-bottom:14px}.contact-banner .contact-pending{font-size:.88rem!important;color:#e3e7e8}.foot{min-height:82px;display:flex;align-items:center;gap:2rem;justify-content:space-between}.footer-brand img{width:160px;height:auto;transform:none}.foot p,.foot>a:not(.footer-brand){font-size:.76rem;color:#6d7375;margin:0;text-decoration:none}@media(max-width:1050px){.nav nav{gap:1rem}.nav nav a{font-size:.75rem}.top-cta{font-size:.75rem;padding:10px 12px}.five-up article{padding-left:12px;padding-right:12px}.leader-grid{grid-template-columns:1fr .8fr;gap:25px}.leader-bio{grid-column:1 / -1;max-width:680px}}@media(max-width:780px){.container{width:calc(100% - 44px)}.nav{height:auto;min-height:75px;flex-wrap:wrap;row-gap:0;padding:8px 0 12px}.nav nav{order:3;width:100%;justify-content:space-between;flex-wrap:wrap;gap:10px}.top-cta{font-size:.7rem}.logo img{width:175px}.hero{min-height:590px;align-items:flex-start;padding-top:68px}.hero-shell{background-position:center,65% center;background-image:linear-gradient(90deg,rgba(248,249,246,.9),rgba(248,249,246,.28)),url("/assets/images/hero/coastal-seawall-perspective-1280.webp")}.hero h1{font-size:clamp(3.3rem,9.1vw,5rem)}.about,.section-intro,.leader-grid{grid-template-columns:1fr}.section{padding-top:43px;padding-bottom:47px}.about-photo img{height:auto;max-height:390px}.three-up{gap:24px}.five-up{grid-template-columns:repeat(2,1fr);row-gap:27px}.five-up article:nth-child(odd){border-left:0;padding-left:0}.leader-bio{grid-column:auto}.portrait{width:min(100%,360px);aspect-ratio:1/1;height:auto;max-width:360px;overflow:hidden;display:block;margin:0 auto}.portrait img{display:block;width:100%;height:100%;max-height:none;aspect-ratio:1/1;object-fit:cover;object-position:center top}.contact-banner>.container{width:calc(100% - 44px)}}@media(max-width:520px){.nav nav a{font-size:.72rem}.top-cta{display:none}.hero{min-height:570px}.hero h1{font-size:clamp(2.55rem,11vw,4rem)}.hero-inner>p:not(.eyebrow){font-size:.98rem}.three-up{grid-template-columns:1fr;gap:18px}.numberline{height:58px}.three-up article{padding-bottom:14px;border-bottom:1px solid #dedede}.five-up{grid-template-columns:1fr 1fr}.five-up article{padding-left:12px;padding-right:8px}.five-up h3{font-size:1.07rem}.five-up p{font-size:.88rem}.foot{flex-wrap:wrap;padding:18px 0}.contact-banner h2{font-size:2.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Responsive, keyboard-accessible mobile navigation */
.mobile-nav-toggle{display:none}
@media(max-width:780px){
 .site-header .nav{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0;min-height:70px;padding:12px 0;position:relative}
 .site-header .logo{grid-column:1;grid-row:1}
 .mobile-nav-toggle{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:1px solid #d8dcda;border-radius:2px;background:#fcfcfa;color:#151b1d;cursor:pointer}
 .mobile-nav-toggle:focus-visible{outline:2px solid #333;outline-offset:3px}
 .hamburger-lines{width:22px;display:flex;flex-direction:column;gap:5px}
 .hamburger-lines span{display:block;width:22px;height:2px;background:currentColor;transition:transform .15s ease,opacity .15s ease}
 .site-header .nav nav{display:none;grid-column:1/-1;grid-row:2;order:initial;flex-direction:column;align-items:stretch;gap:0;width:100%;padding:12px 0 4px;border-top:1px solid #e4e6e3;margin-top:10px}
 .site-header.menu-open .nav nav{display:flex}
 .site-header .nav nav a{display:block;padding:13px 4px;font-size:1rem;font-weight:400;line-height:1.25;border-bottom:1px solid #eeefed;text-decoration:none}
 .site-header .nav .top-cta{display:none}
 .site-header.menu-open .hamburger-lines span:first-child{transform:translateY(7px) rotate(45deg)}
 .site-header.menu-open .hamburger-lines span:nth-child(2){opacity:0}
 .site-header.menu-open .hamburger-lines span:last-child{transform:translateY(-7px) rotate(-45deg)}
}
@media(prefers-reduced-motion:reduce){.hamburger-lines span{transition:none}}


/* Inquiry form: consistent with the minimal Cameron Group design */
.btn-light{display:inline-flex;align-items:center;gap:24px;margin-top:12px;background:#f8f8f6;color:#141a1c;padding:14px 18px;text-decoration:none;font-weight:500}
.btn-light:hover{background:#fff}
.inquiry-section{background:#fff}
.inquiry-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(34px,7vw,105px);align-items:start}
.inquiry-intro{max-width:390px}
.inquiry-intro h2{font-size:clamp(2.2rem,3.2vw,3.7rem);line-height:1.04;margin:20px 0}
.inquiry-intro>p:not(.eyebrow){line-height:1.5;color:#596164;font-size:1.05rem}
.inquiry-intro a{color:#1d2527;text-underline-offset:3px}
.inquiry-card{width:100%;max-width:650px}
#inquiry-form{display:flex;flex-direction:column;gap:19px}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field label{font-size:.87rem;font-weight:500;color:#273033}
.field label span{color:#737d80}
.field input,.field select,.field textarea{box-sizing:border-box;width:100%;min-height:48px;padding:12px 13px;background:#fbfbfa;color:#1d2426;border:1px solid #d0d5d3;border-radius:0;font:inherit;font-size:1rem;outline-offset:2px}
.field textarea{min-height:134px;resize:vertical;line-height:1.45}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid #263c44;outline-offset:1px}
.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#af3333}
.field select{appearance:auto}
.field textarea::placeholder{color:#6b7477}
.form-note{margin:0;color:#697276;font-size:.83rem;line-height:1.45}
.honey-field{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.inquiry-status:empty{display:none}
.inquiry-status{font-size:.95rem;line-height:1.4;color:#9b2929}
.inquiry-submit{align-self:flex-start;border:0;cursor:pointer;font:inherit;font-size:.95rem;display:inline-flex;align-items:center;gap:25px;padding:15px 20px}
.inquiry-submit:disabled{opacity:.6;cursor:wait}
.inquiry-confirmation{background:#f4f5f3;border-left:3px solid #364844;padding:26px}
.inquiry-confirmation h3{font-size:1.55rem;font-weight:500;margin:0 0 10px}
.inquiry-confirmation p{line-height:1.5;color:#4a5356}
.inquiry-reference{font-size:.83rem;word-break:break-word}
@media(max-width:780px){.inquiry-grid{grid-template-columns:1fr;gap:28px}.inquiry-intro{max-width:590px}.inquiry-intro h2{margin:12px 0}.inquiry-card{max-width:none}}
@media(max-width:520px){.form-pair{grid-template-columns:1fr;gap:19px}.inquiry-submit{width:100%;justify-content:space-between}.inquiry-section{padding-top:38px;padding-bottom:52px}}

/* Honor the hidden attribute even where the form uses a flex layout. */
#inquiry-form[hidden],#inquiry-confirmation[hidden]{display:none!important}
