:root{--navy:#103e52;--deep:#082c3b;--green:#a8df25;--cream:#f4f6f0;--ink:#143443;--muted:#59707a;--line:#d9e1de}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:var(--cream);line-height:1.5}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.07;letter-spacing:-.045em}h1{font-size:clamp(3.5rem,6.2vw,7.4rem);font-weight:700}h2{font-size:clamp(2.5rem,4.5vw,5.1rem)}h3{font-size:clamp(1.6rem,2.1vw,2.2rem)}p{font-size:1.03rem}.skip{position:absolute;left:-10000px;top:1rem;z-index:20;background:white;padding:1rem}.skip:focus{left:1rem}.topline{height:31px;background:var(--deep);color:#e9f4e4;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;font-size:.65rem;letter-spacing:.15em;font-weight:700}.top-phone{letter-spacing:.02em}.header{height:92px;display:flex;align-items:center;gap:2rem;padding:0 4.5vw;background:#fff;position:relative;z-index:5}.brand img{width:175px;height:auto}.nav{display:flex;gap:2.3rem;margin-left:auto}.nav a{font-size:.84rem;font-weight:700}.nav a:hover,.footer a:hover,.text-link:hover{text-decoration:underline}.header-call{background:var(--green);padding:14px 24px;font-weight:700;font-size:.86rem}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:51% 49%;min-height:700px;background:var(--navy);color:white}.hero-copy{padding:clamp(4rem,7vw,8rem) 4.5vw 4rem;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:.7rem;letter-spacing:.19em;font-weight:800;margin-bottom:1.7rem;color:#7baf16}.hero .eyebrow,.contact .eyebrow{color:var(--green)}.hero h1{max-width:780px;margin-bottom:1.8rem}.hero-lead{font-size:1.2rem;max-width:540px;color:#d2e2e5}.hero-actions,.contact-actions,.dialog-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.8rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:51px;padding:0 25px;font-size:.88rem;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-lime{background:var(--green);color:#0c2f3c}.button-outline{border:1px solid #a9c5ca;color:white}.button-light{background:white;color:var(--ink)}.button-dark{background:var(--navy);color:white}.hero-meta{margin-top:auto;padding-top:3rem;display:flex;gap:1.5rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#b4cdd0}.hero-meta span+span{border-left:1px solid #7594a0;padding-left:1.5rem}.hero-image{position:relative;min-height:500px;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover}.image-caption{position:absolute;right:0;bottom:0;background:var(--green);color:var(--ink);padding:24px 30px;min-width:270px;display:flex;flex-direction:column;gap:.35rem}.image-caption span{font-size:.66rem;letter-spacing:.14em}.image-caption strong{font-size:1.05rem}.section-pad{padding:90px 4.5vw}.intro{display:grid;grid-template-columns:1.3fr .7fr;gap:6vw;align-items:end;background:#fff}.intro h2{max-width:850px;margin-bottom:0}.intro>p{max-width:400px;color:var(--muted)}.services{padding-top:0;background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{background:#fff;display:flex;flex-direction:column}.card-media{aspect-ratio:1.45;overflow:hidden;background:#dce8e9}.card-media img,.dialog-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.service-card:hover .card-media img{transform:scale(1.035)}.card-body{padding:27px 27px 30px;display:flex;flex-direction:column;flex:1}.card-meta{display:flex;justify-content:space-between;gap:1rem;color:#5a7a78;font-size:.65rem;letter-spacing:.13em;font-weight:700;margin-bottom:21px}.card-body h3{margin-bottom:14px}.card-body p{color:var(--muted);font-size:.92rem;max-width:340px}.card-link{border:0;background:none;padding:0;text-align:left;color:var(--navy);font-size:.83rem;font-weight:800;text-decoration:underline;text-underline-offset:4px;margin-top:auto}.service-graphic{height:100%;background:radial-gradient(circle at 75% 25%,#b4e548 0 12%,transparent 13%),linear-gradient(135deg,#16475a,#0a2f40);color:#b7e64b;display:flex;align-items:end;justify-content:space-between;padding:25px;overflow:hidden}.service-graphic span{font-size:5rem;font-weight:700;line-height:1}.service-graphic i{display:block;width:45%;height:80%;border:16px solid #87b929;border-radius:50% 50% 20% 20%;transform:rotate(-25deg) translate(30px,50px);opacity:.75}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:#eaf0e7}.split-visual{min-height:550px;background:var(--deep);color:white;padding:37px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.visual-label{font-size:.7rem;letter-spacing:.16em;font-weight:700;position:relative;z-index:1}.split-visual p{position:relative;z-index:1;font-size:clamp(3.5rem,6vw,7rem);font-weight:700;line-height:.98;letter-spacing:-.06em;margin:0}.split-visual em{font-style:normal;color:var(--green)}.orb{position:absolute;width:480px;height:480px;border:65px solid #298899;border-radius:50%;right:-150px;top:-120px;box-shadow:0 0 0 80px #16475a}.split-copy{max-width:590px}.split-copy p:not(.eyebrow){color:var(--muted)}.text-link{display:inline-block;border-bottom:2px solid var(--navy);padding-bottom:5px;font-size:.9rem;font-weight:700;margin-top:1rem}.areas{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.areas>div:nth-child(2){max-width:510px;align-self:end}.areas p{color:var(--muted)}.address-mini{border-top:1px solid var(--line);padding-top:20px;font-size:.87rem;font-weight:700}.contact{background:var(--navy);color:white;text-align:center;display:flex;align-items:center;flex-direction:column}.contact h2{max-width:900px}.contact>p:not(.eyebrow){color:#d0e3e5}.email{margin-top:1.5rem;color:#c7dfe2;font-size:.88rem;overflow-wrap:anywhere}.footer{background:var(--deep);color:#d3e4e5;padding:70px 4.5vw 25px;display:grid;grid-template-columns:1.4fr .6fr 1fr;gap:5vw}.footer img{width:155px}.footer h3{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:white}.footer p{font-size:.84rem;line-height:1.7}.footer a{display:block;font-size:.84rem;margin-bottom:.6rem}.footer-bottom{grid-column:1/-1;border-top:1px solid #40606b;padding-top:22px;margin-top:35px;font-size:.74rem;display:flex;justify-content:space-between;gap:1rem}.footer-bottom a{margin:0}.mobile-call{display:none}dialog{border:0;padding:0;max-width:850px;width:calc(100% - 32px);max-height:calc(100% - 32px);box-shadow:0 25px 80px #001e2a66;overflow:auto}dialog::backdrop{background:#061f2bd9}.dialog-close{position:absolute;top:16px;right:16px;z-index:2;border:0;background:#fff;color:var(--ink);padding:9px 15px;font-size:.8rem;font-weight:700}.dialog-media{height:300px;overflow:hidden}.dialog-copy{padding:40px}.dialog-copy h2{font-size:clamp(2.2rem,4vw,4rem)}.dialog-copy>p:not(.eyebrow){color:var(--muted);max-width:670px}.dialog-actions{margin-top:2rem}a:focus-visible,button:focus-visible{outline:3px solid #46a9d1;outline-offset:3px}@media(max-width:900px){.header{height:76px}.brand img{width:150px}.menu-toggle{display:block;margin-left:auto;border:1px solid var(--line);background:white;padding:10px 15px;font-weight:700}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;box-shadow:0 12px 20px #082c3b20;padding:20px 4.5vw;flex-direction:column;gap:1.2rem}.nav.open{display:flex}.header-call{display:none}.hero{grid-template-columns:1fr}.hero-copy{min-height:580px}.hero-image{height:430px;min-height:0}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{gap:4vw}.split-visual{min-height:450px}.orb{width:340px;height:340px}.footer{grid-template-columns:1fr 1fr}.footer>div:first-child{grid-column:1/-1}}@media(max-width:620px){body{padding-bottom:60px}.topline{padding:0 5vw}.top-phone{font-size:.67rem}.header{padding:0 5vw}.hero-copy{padding:65px 5vw 35px;min-height:590px}.hero h1{font-size:clamp(3.25rem,14vw,5rem)}.hero-lead{font-size:1.07rem}.hero-meta{font-size:.62rem;gap:.7rem}.hero-meta span+span{padding-left:.7rem}.hero-image{height:310px}.image-caption{min-width:210px;padding:15px 20px}.section-pad{padding:70px 5vw}.intro,.split,.areas{grid-template-columns:1fr;gap:30px}.intro>p{margin:0}.services{padding-top:0}.service-grid{grid-template-columns:1fr}.card-media{aspect-ratio:1.65}.split-visual{min-height:360px}.split-visual p{font-size:3.7rem}.areas>div:nth-child(2){align-self:start}.contact-actions{width:100%;justify-content:center}.contact-actions .button{flex:1}.footer{grid-template-columns:1fr;gap:25px;padding:60px 5vw 25px}.footer>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;margin-top:10px}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;z-index:6;background:var(--green);text-align:center;font-weight:800;padding:17px}.dialog-media{height:230px}.dialog-copy{padding:25px}.dialog-actions .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
:root{--header-cut:90px}
.header{height:106px;padding:0 4.5vw 0 0;background:#fff;box-shadow:0 10px 25px #082c3b0d}
.brand-panel{height:100%;width:36%;min-width:390px;background:var(--deep);clip-path:polygon(0 0,100% 0,calc(100% - var(--header-cut)) 100%,0 100%);display:flex;align-items:center;padding-left:4.5vw;animation:header-enter .7s ease-out both}
.brand{display:block}
.brand img{width:190px;max-height:84px;object-fit:contain}
.nav{gap:clamp(1.5rem,3vw,3.2rem)}
.nav a{position:relative;transition:color .25s}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:#76b72b;transition:right .3s ease}
.nav a:hover::after,.nav a:focus-visible::after{right:0}
.header-call{display:none}
.service-card-wide{grid-column:1/-1;display:grid;grid-template-columns:1.05fr 1.95fr;min-height:360px}
.service-card-wide .card-media{aspect-ratio:auto;height:100%;min-height:360px}
.service-card-wide .card-body{justify-content:center;padding:clamp(30px,5vw,80px)}
.service-card-wide .card-body h3{font-size:clamp(2.3rem,3.6vw,4.2rem);max-width:650px}
.service-card-wide .card-body p{max-width:540px}
.service-card-wide .card-meta{max-width:580px;width:100%}
.service-card-wide .card-link{margin-top:24px}
.split{grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);gap:clamp(45px,5vw,100px)}
.split-visual{isolation:isolate;background:var(--deep)}
.split-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.split-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#082c3b88 0%,#082c3b18 35%,#082c3be6 100%);z-index:-1}
.split-visual p{font-size:clamp(3.3rem,5vw,6.5rem)}
.split-visual em{color:var(--green)}
.split-copy{min-width:0}
.split-copy h2{font-size:clamp(2.5rem,3.5vw,4.5rem);overflow-wrap:normal}
.reveal-ready{opacity:0;transform:translateY(25px)}
.reveal-ready.is-visible{animation:heading-in .75s cubic-bezier(.2,.7,.2,1) both}
.hero h1{animation:heading-in .9s .12s both}
.hero-lead{animation:heading-in .9s .25s both}
@keyframes heading-in{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes header-enter{from{transform:translateX(-50px);opacity:.5}to{transform:translateX(0);opacity:1}}
@media(max-width:900px){.header{height:82px;padding-right:5vw}.brand-panel{width:50%;min-width:280px;padding-left:5vw}.brand img{width:158px}.nav{top:82px}.service-card-wide{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr 1fr;gap:35px}.split-visual{min-height:430px}.split-visual p{font-size:clamp(2.8rem,5.2vw,4.5rem)}.split-copy h2{font-size:clamp(2.1rem,3.8vw,3.5rem)}}
@media(max-width:620px){:root{--header-cut:48px}.header{height:75px}.brand-panel{min-width:220px;width:62%;padding-left:5vw}.brand img{width:135px}.nav{top:75px}.service-card-wide{grid-template-columns:1fr;min-height:0}.service-card-wide .card-media{height:auto;min-height:0;aspect-ratio:1.65}.service-card-wide .card-body{padding:27px 27px 30px}.service-card-wide .card-body h3{font-size:clamp(1.6rem,2.1vw,2.2rem)}.split{grid-template-columns:1fr}.split-visual{min-height:390px}.split-visual p{font-size:3.4rem}.split-copy h2{font-size:clamp(2.5rem,11vw,3.8rem)}}
@media(prefers-reduced-motion:reduce){.brand-panel,.hero h1,.hero-lead,.reveal-ready.is-visible{animation:none!important}.reveal-ready{opacity:1;transform:none}}
.footer{grid-template-columns:1.2fr .55fr 1fr;column-gap:clamp(45px,7vw,140px);row-gap:42px;align-items:start;padding-top:58px;padding-bottom:26px}
.footer-brand p{max-width:240px;margin-top:8px}
.footer-company p{max-width:440px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:8px}
.copyright{display:inline-block;white-space:normal}
.nav a:hover,.nav a:focus-visible{text-decoration:none}
.intro{grid-template-columns:1fr}
.intro h2{max-width:950px}
.text-link:hover,.text-link:focus-visible{text-decoration:none}
@media(max-width:900px){.menu-toggle{border:0;border-bottom:3px solid var(--green);background:transparent;padding:8px 0 5px;border-radius:0;line-height:1.2}}
@media(max-width:900px){.footer{grid-template-columns:1fr 1fr;gap:34px}.footer-brand{grid-column:1/-1}}
@media(max-width:620px){.footer{grid-template-columns:1fr 1fr;gap:28px;padding-top:52px}.footer-brand{grid-column:1/-1}.footer-company{grid-column:1/-1}.footer-bottom{grid-column:1/-1;flex-direction:row;align-items:flex-start;font-size:.72rem}}
