:root{--ink:#111615;--forest:#153b2a;--green:#2d713d;--lime:#9ecb4b;--red:#d8231d;--paper:#f3f2ed;--muted:#6d746e;--line:#d4d7cf;--display:'Barlow Condensed',sans-serif;--body:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-header{height:90px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:5;top:0;left:0;right:0;color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}.brand{width:112px;display:block}.brand img{width:100%;height:auto;filter:drop-shadow(0 3px 9px rgba(0,0,0,.35))}.main-nav{display:flex;align-items:center;gap:34px;margin-left:auto;margin-right:4vw}.nav-item{position:relative}.nav-trigger,.main-nav>a{color:#fff;background:transparent;border:0;padding:34px 0 31px;font:600 12px var(--body);letter-spacing:.11em;cursor:pointer}.nav-trigger span{font-size:16px;padding-left:6px;color:var(--lime)}.dropdown{display:none;position:absolute;top:72px;left:-18px;width:220px;padding:10px 0;background:var(--forest);box-shadow:0 15px 25px #07130e66}.dropdown-wide{width:285px}.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{display:flex;flex-direction:column}.dropdown a{padding:12px 18px;color:#fff;font-size:12px}.dropdown a:hover{background:#245f3a}.header-actions{display:flex;align-items:center;gap:20px}.request-btn{background:var(--red);padding:14px 18px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.request-btn span,.button span,.text-link span,.contact-chip span{margin-left:12px;font-size:15px}.phone-link{font:600 12px var(--body);letter-spacing:.05em}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:24px}.hero{height:min(800px,100vh);min-height:650px;position:relative;background:#183127;overflow:hidden;color:#fff}.hero-video{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,19,13,.86),rgba(8,30,18,.36) 60%,rgba(5,15,10,.2)),linear-gradient(0deg,rgba(5,18,11,.65),transparent 40%)}.hero-content{position:relative;z-index:1;padding:22vh 9vw 0;max-width:720px}.eyebrow{font:600 11px var(--body);letter-spacing:.19em;color:var(--lime);margin:0 0 24px}.hero h1,h2{font:600 clamp(3.7rem,7vw,7.6rem)/.86 var(--display);letter-spacing:.01em;margin:0;text-transform:uppercase}.hero h1 em,h2 em{font-style:normal;color:var(--lime)}.hero-copy{font-size:17px;line-height:1.7;max-width:445px;color:#e1e8df;margin:30px 0}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.button-red{background:var(--red);color:#fff}.button-outline{border:1px solid rgba(255,255,255,.6);color:#fff}.hero-footer{position:absolute;left:9vw;right:6vw;bottom:24px;display:flex;align-items:center;gap:35px;font-size:10px;letter-spacing:.16em;color:#cbd8c6}.hero-footer a{margin-left:auto;color:var(--lime);font-size:26px}.section-grid{padding:130px 9vw;display:grid;grid-template-columns:1fr 2fr 1.2fr;gap:40px}.section-label{font-size:10px;letter-spacing:.16em;color:var(--muted)}.section-label p{display:inline-block;margin:0 0 0 14px;vertical-align:middle}.red-line{display:inline-block;width:36px;height:2px;background:var(--red);vertical-align:middle}.section-grid h2,.services h2,.contact-band h2{font-size:clamp(3.3rem,5vw,6.2rem);color:var(--forest)}.lead{font-size:19px;line-height:1.65;max-width:545px;color:#4a554c;margin:34px 0}.text-link{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--red)}.why-list{border-top:1px solid var(--line);margin-top:10px}.why-list p{font-size:13px;line-height:1.4;border-bottom:1px solid var(--line);margin:0;padding:14px 0 14px 21px;position:relative}.why-list p:before{content:'';position:absolute;left:0;top:22px;width:7px;height:7px;background:var(--lime);border-radius:50%}.services{background:var(--forest);color:#fff;padding:120px 9vw 135px}.services-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px}.services h2{color:#fff}.services-heading>div:nth-child(2)>p{color:#b5c7b7;line-height:1.7;max-width:440px;margin:25px 0 0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:80px}.service-drop{min-height:300px;padding:42px 27px 25px;background:#e8e8df;color:var(--forest);display:flex;flex-direction:column;clip-path:polygon(50% 0,89% 14%,100% 51%,87% 83%,50% 100%,13% 83%,0 51%,11% 14%);transition:transform .25s,background .25s}.service-drop:nth-child(2){background:#c7d99a}.service-drop:nth-child(3){background:#f0d5c2}.service-drop:nth-child(4){background:#dce7d8}.service-drop:hover{transform:translateY(-10px);background:#fff}.drop-number{font-size:10px;letter-spacing:.12em}.drop-icon{font-size:40px;color:var(--red);margin:auto 0 12px}.service-drop h3{font:600 29px/.9 var(--display);text-transform:uppercase;margin:0}.drop-arrow{font-size:25px;text-align:right;margin-top:22px}.contact-band{padding:105px 9vw;background:#d7e3c4;display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-band h2{font-size:clamp(3rem,5.5vw,6rem)}.site-footer{background:#101c16;color:#fff;padding:55px 9vw 35px;display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:30px;align-items:end}.footer-brand img{width:90px;filter:grayscale(1) brightness(0) invert(1);opacity:.9}.footer-brand p{font:600 20px var(--display);letter-spacing:.08em;margin:10px 0 0}.footer-contact{display:flex;flex-direction:column;gap:11px;font-size:12px;color:#c8d2ca}.footer-end{text-align:right;color:#8e9d91;font-size:10px;line-height:1.8}.contact-chip{display:inline-block;padding:11px 15px;background:var(--red);color:#fff;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:700;margin-bottom:18px}.modal{display:none;position:fixed;inset:0;z-index:10;align-items:center;justify-content:center}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:#07140dce}.request-modal{position:relative;display:grid;grid-template-columns:1fr 1.2fr;width:min(900px,90vw);max-height:90vh;overflow:auto;background:var(--paper);box-shadow:0 25px 80px #0008}.modal-image img{display:block;width:100%;height:100%;object-fit:cover}.modal-form{padding:46px}.modal-form h2{font-size:56px;color:var(--forest);margin-bottom:13px}.modal-form>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:24px}.modal-close{position:absolute;right:14px;top:9px;border:0;background:none;font-size:30px;line-height:1;cursor:pointer;color:var(--forest)}form{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--forest)}label:nth-of-type(3),label:nth-of-type(4),form button{grid-column:1/-1}input,textarea{display:block;width:100%;border:1px solid var(--line);background:#fff;padding:11px;margin-top:6px;outline-color:var(--green);font-size:13px}textarea{resize:vertical}.modal-form .button{border:0;cursor:pointer;margin-top:2px}
.detail-hero{min-height:430px;padding:180px 9vw 70px;background:var(--forest);color:#fff;position:relative;overflow:hidden}.detail-hero:after{content:'';position:absolute;right:-8%;bottom:-65%;width:55vw;height:55vw;border:1px solid rgba(158,203,75,.35);border-radius:50%}.detail-inner{position:relative;z-index:1}.back-link{display:inline-block;color:#c4d2c3;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:70px}.detail-hero h1{font:600 clamp(4rem,8vw,8rem)/.85 var(--display);text-transform:uppercase;max-width:800px}.detail-content{padding:110px 9vw 140px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.detail-copy{max-width:650px}.detail-kicker{font:700 13px var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin:0 0 12px}.detail-lead{font-size:20px;line-height:1.65;color:#4d574f;margin:0 0 30px}.detail-copy ul{list-style:none;padding:0;margin:0 0 38px;border-top:1px solid var(--line)}.detail-copy li{padding:14px 0 14px 21px;border-bottom:1px solid var(--line);position:relative;font-size:15px}.detail-copy li:before{content:'';position:absolute;left:0;top:21px;width:7px;height:7px;border-radius:50%;background:var(--lime)}
@media(max-width:900px){.site-header.menu-open{background:var(--forest);height:auto;min-height:76px;align-items:flex-start}.site-header.menu-open .main-nav{display:flex;position:absolute;top:76px;left:0;right:0;padding:12px 8vw 22px;background:var(--forest);flex-direction:column;align-items:flex-start;gap:0}.site-header.menu-open .nav-trigger,.site-header.menu-open .main-nav>a{padding:14px 0}.site-header.menu-open .dropdown{position:static;box-shadow:none;width:auto;padding:0 0 5px 18px}.site-header.menu-open .nav-item:hover .dropdown{display:none}.site-header.menu-open .nav-item:focus-within .dropdown{display:flex}.detail-hero{padding:145px 8vw 70px}.detail-content{padding:75px 8vw 100px;grid-template-columns:1fr;gap:25px}}
@media(max-width:900px){.site-header{height:76px;padding:0 6vw}.main-nav,.header-actions{display:none}.menu-toggle{display:block}.brand{width:100px}.hero-content{padding:25vh 8vw 0}.hero{min-height:670px}.section-grid,.services-heading{grid-template-columns:1fr;gap:25px}.section-grid{padding:85px 8vw}.why-list{margin-top:15px}.services{padding:85px 8vw}.service-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:50px}.service-drop{min-height:270px}.contact-band{padding:75px 8vw;display:block}.contact-band .button{margin-top:35px}.site-footer{padding:45px 8vw;grid-template-columns:1fr 1fr}.footer-end{text-align:left;grid-column:1/-1}.request-modal{grid-template-columns:1fr;width:92vw}.modal-image{display:none}}
@media(max-width:540px){.hero h1{font-size:4.4rem}.hero-copy{font-size:15px}.hero-footer{left:8vw;right:8vw;gap:12px;font-size:8px}.hero-footer span:nth-child(2){display:none}.service-grid{grid-template-columns:1fr 1fr}.service-drop{min-height:230px;padding:38px 16px 20px}.service-drop h3{font-size:23px}.drop-icon{font-size:30px}.site-footer{grid-template-columns:1fr}.footer-end{grid-column:auto}.modal-form{padding:38px 24px}form{grid-template-columns:1fr}label:nth-of-type(3),label:nth-of-type(4),form button{grid-column:auto}}

/* Keep the brand prominent while preserving the existing header layout. */
.site-header{background:rgba(255,255,255,.72);backdrop-filter:blur(5px);color:var(--ink)}
.brand{width:clamp(150px,13vw,205px);align-self:flex-start;margin-top:14px;position:relative;z-index:2}
.brand img{display:block}
.nav-trigger,.main-nav>a{color:var(--ink)}
.nav-trigger span{color:var(--green)}
.phone-link{color:var(--ink)}
.hero-video{filter:saturate(1.02) brightness(1.12)}
.hero-shade{background:linear-gradient(90deg,rgba(4,19,13,.38),rgba(8,30,18,.12) 60%,rgba(8,30,18,.08))}

@media(max-width:900px){.site-header{background:rgba(255,255,255,.82)}.brand{width:145px;margin-top:10px}.menu-toggle{color:var(--ink)}.site-header.menu-open{background:rgba(255,255,255,.96)}.site-header.menu-open .main-nav{background:rgba(255,255,255,.96);color:var(--ink)}.site-header.menu-open .nav-trigger,.site-header.menu-open .main-nav>a{color:var(--ink)}}

@media(max-width:900px){
	.site-header{height:72px;padding:0 6vw}
	.brand{width:112px;margin-top:8px}
	.hero{height:min(800px,100svh);min-height:600px}
	.hero-video{object-position:center center}
	.hero-content{padding:clamp(145px,24vh,210px) 8vw 100px;max-width:560px}
	.hero h1{font-size:clamp(3.35rem,13vw,5.3rem);line-height:.86}
	.hero-copy{font-size:clamp(14px,3.8vw,17px);line-height:1.55;max-width:390px;margin:24px 0}
	.hero-buttons{gap:10px}
	.hero-footer{bottom:18px;left:8vw;right:8vw;gap:18px;font-size:8px}
}

@media(max-width:540px){
	.site-header{height:72px;padding:0 6vw}
	.brand{width:145px;margin-top:8px}
	.hero{height:min(800px,100svh);min-height:700px}
	.hero-content{padding:190px 6vw 100px;max-width:360px}
	.hero h1{max-width:285px;font-size:clamp(3.9rem,16vw,4.8rem);line-height:.82}
	.hero-copy{font-size:15px;line-height:1.55;max-width:330px;margin:28px 0}
	.hero-buttons .button{padding:13px 15px;font-size:10px}
	.hero-footer{bottom:18px}
}

/* Preserve the complete request image at every modal width. */
.request-modal{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center}
.modal-image{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;background:#e8e9e2;overflow:hidden}
.modal-image img{display:block;width:100%;height:auto;max-height:90vh;object-fit:contain}

@media(max-width:900px){
	.request-modal{grid-template-columns:1fr;width:min(92vw,560px);max-height:92vh}
	.modal-image{width:100%;min-height:0;max-height:38vh}
	.modal-image img{width:100%;height:auto;max-height:38vh}
}

/* Sharpen the header actions and present services as image-led cards. */
.nav-trigger,.main-nav>a{font-size:14px;font-weight:700}
.request-btn{padding:16px 21px;font-size:13px;font-weight:700}
.phone-link{display:inline-flex;align-items:center;border:2px solid var(--ink);padding:13px 16px;font-size:14px;font-weight:700;letter-spacing:.04em;background:rgba(255,255,255,.3)}
.header-actions{gap:14px}
.service-drop{min-height:0;padding:0;background:#fff!important;color:var(--forest);clip-path:none;border:1px solid rgba(255,255,255,.18);overflow:hidden;transition:transform .25s,box-shadow .25s}
.service-drop img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.service-drop h3{padding:19px 20px 22px;margin:0;font:600 clamp(1.45rem,2.2vw,2rem)/.95 var(--display);text-transform:uppercase}
.service-drop:hover{transform:translateY(-8px);background:#fff;box-shadow:0 18px 35px rgba(0,0,0,.2)}

@media(max-width:900px){
	.nav-trigger,.main-nav>a{font-size:13px}
	.request-btn{font-size:12px}
	.phone-link{font-size:13px}
	.service-drop h3{font-size:1.55rem;padding:16px 15px 19px}
}

@media(max-width:540px){
	.service-grid{grid-template-columns:1fr 1fr;gap:12px}
	.service-drop h3{font-size:1.35rem;padding:14px 12px 17px}
}

@media(min-width:901px){
	.hero-content{padding-top:17vh}
}

@media(min-width:901px) and (max-height:800px){
	.hero-footer span{display:none}
}

@media(max-width:900px){
	.hero-footer span{display:none}
}

.hero-copy{position:relative;z-index:2;line-height:1.75;text-shadow:none;background:rgba(4,19,13,.58);padding:6px 10px;width:max-content;max-width:100%}

@media(max-width:540px){
	.hero-copy{line-height:1.7;margin-top:24px}
}