:root{--navy:#172347;--orange:#ed8b24;--muted:#647082}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:#202b40;font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:10}.top{background:var(--navy);color:white;padding:9px 5%;display:flex;justify-content:space-between;font-size:11px}.top a{color:#ffc78e}header{padding:22px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e7ec}.logo{width:215px;display:block}nav{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:bold}.btn{display:inline-flex;justify-content:space-between;gap:24px;background:var(--orange);color:#172347;padding:17px 23px;border:0;border-radius:3px;font-size:14px;font-weight:bold;cursor:pointer}.btn:hover{background:#ffad52}.small{padding:12px 18px;font-size:12px}.menu{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:590px;overflow:hidden}.hero-copy{padding:75px 7% 55px 10%}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:1.7px;color:#687789}.eyebrow span,.status{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:7px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,4.6vw,72px);line-height:1.06;letter-spacing:-3px;margin:27px 0;color:var(--navy)}h1 em{font-style:normal;color:#df7d1c}p{color:var(--muted)}.hero-copy>p{max-width:480px;font-size:16px;line-height:1.8}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}.text-link{font-size:13px;font-weight:bold;border-bottom:1px solid #acb6c4;padding-bottom:5px}.hero-note{font-size:11px;color:#758094;margin-top:35px}.hero-art{background:#edf3f6;position:relative;min-height:490px;border-radius:0 0 0 70px;overflow:hidden}.hero-art>img{position:absolute;width:150%;height:100%;object-fit:cover;object-position:right;right:0;mix-blend-mode:multiply}.image-label{position:absolute;left:30px;bottom:65px;background:#fffffff0;padding:13px 17px;font-size:12px;border:1px solid #e2e7ec;border-radius:3px}.art-caption{position:absolute;bottom:30px;left:30px;font-size:9px;letter-spacing:2px;color:#657c92}.scope{background:var(--navy);color:white;display:flex;justify-content:space-between;align-items:center;padding:24px 5%;gap:16px;font-size:10px;letter-spacing:1.2px}.scope i{color:var(--orange);font-size:18px}.section{padding:85px 6%;max-width:1500px;margin:auto}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:40px}h2{font-size:clamp(30px,3.2vw,47px);line-height:1.15;letter-spacing:-1.7px;margin:18px 0 0;color:var(--navy)}.section-head>p{max-width:380px;font-size:14px;margin-bottom:3px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-grid article{padding:30px;border:1px solid #e0e5eb;position:relative;border-radius:4px;display:flex;flex-direction:column;min-height:275px}.service-grid article:hover{border-color:var(--orange)}.num{position:absolute;right:25px;top:22px;color:#b5bdc8;font-size:11px}.icon{color:#c77823;background:#fff3e5;border-radius:8px;font-size:27px;display:flex;justify-content:center;align-items:center;width:45px;height:45px;margin-bottom:21px}.service-grid h3{font-size:18px;line-height:1.3;margin-bottom:12px}.service-grid p{font-size:13px;line-height:1.75}.service-grid a{font-size:12px;font-weight:bold;margin-top:auto}.service-grid .repair{background:var(--navy);color:white}.repair p{color:#c6cddd}.repair a{color:#f7ad60}.repair .icon{background:#ffffff13;color:#f7ad60}.approach{background:#f4f6f7;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:90px}.approach>div{max-width:500px}.approach p{font-size:14px;margin-top:22px}.approach ol{padding:0;margin:0;list-style:none}.approach li{display:flex;gap:25px;border-bottom:1px solid #d9dfe6;padding:22px 0}.approach li:first-child{padding-top:0}.approach li>span{color:#cc7a21;font-size:12px}.approach h3{font-size:18px;margin:0}.approach li p{margin:7px 0 0;font-size:13px}.property{text-align:center}.property-tags{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}.property-tags span{border:1px solid #e2e6eb;border-radius:30px;padding:8px 17px;font-size:12px}.contact{background:var(--navy);color:white;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{color:white}.contact .eyebrow{color:#e5a35d}.contact p{color:#bec8da;margin-top:22px;font-size:14px}.phone{display:block;font-size:30px;color:#ffb367;font-weight:bold;letter-spacing:-1px;margin:27px 0 5px}.email{font-size:15px;border-bottom:1px solid #8893aa}.contact-meta{display:grid;gap:3px;margin-top:25px;font-size:12px;color:#c5cee0}.contact-meta strong{color:white}.contact-meta>span:last-child{margin-top:13px}form{background:white;color:#202b40;padding:34px;border-radius:5px}form h3{margin:0;font-size:23px}form .form-intro{font-size:12px;color:#657082;margin:8px 0 20px}label{display:block;font-size:11px;font-weight:bold;margin-bottom:14px}input,select,textarea{display:block;width:100%;border:1px solid #dce1e8;border-radius:3px;padding:11px;margin-top:6px;background:#fcfdfe;color:#25314a;font-size:13px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form .btn{width:100%}form .form-note{font-size:10px;line-height:1.6;color:#69778b;margin:12px 0 0}footer{padding:45px 6% 20px;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}footer img{width:200px}footer p{font-size:12px;margin:10px 0}footer>div:nth-child(2){display:flex;gap:25px;font-size:12px;align-items:center}.footer-bottom{display:flex;width:100%;justify-content:space-between;border-top:1px solid #e7eaef;padding-top:18px;font-size:10px;color:#7b8596;margin-top:15px}@media(max-width:900px){.hero-copy{padding:45px 7%}h1{letter-spacing:-2px}.hero-art>img{width:185%}.service-grid{grid-template-columns:repeat(2,1fr)}.approach,.contact{gap:40px}nav{gap:18px}.logo{width:180px}.section{padding:65px 5%}.phone{font-size:25px}}@media(max-width:650px){.top>span{display:none}.top a{margin-left:auto}header{padding:17px 5%;position:relative}.menu{display:block;border:1px solid #dce1e8;background:white;padding:5px 12px;font-size:22px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;z-index:3;padding:20px 5%;box-shadow:0 12px 18px #17234712}nav.open{display:flex;flex-direction:column;align-items:stretch}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 6%}.hero h1{font-size:48px}.hero-art{min-height:320px;border-radius:30px 0 0 0;margin-left:6%}.hero-art>img{width:130%}.image-label{bottom:45px}.art-caption{bottom:19px}.scope{flex-wrap:wrap;justify-content:center;font-size:9px;padding:18px}.scope i{display:none}.scope span{width:44%;text-align:center}.section-head{display:block}.section-head>p{margin-top:22px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:245px}.approach,.contact{grid-template-columns:1fr;gap:35px}.contact form{padding:25px}.form-row{grid-template-columns:1fr;gap:0}.phone{font-size:29px}footer>div:nth-child(2){flex-wrap:wrap;gap:20px}.footer-bottom{flex-direction:column;gap:8px}.section{padding:55px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.water-animation{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.water-toggle{position:absolute;right:18px;bottom:18px;border:1px solid #cad9e4;border-radius:20px;padding:7px 11px;background:#ffffffe8;color:#314b65;font-size:10px;cursor:pointer;z-index:2}.water-toggle:hover{background:white}.image-label,.art-caption{z-index:1}@media(max-width:650px){.water-toggle{bottom:auto;top:14px;right:14px}}
.about-section{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;background:#fff}.about-section p{font-size:14px;max-width:580px;margin-top:22px}.experience{background:#f2f5f8;border-left:4px solid var(--orange);padding:40px}.experience>span{font-size:100px;line-height:1.1;letter-spacing:-6px;font-weight:bold;color:var(--navy)}.experience h3{font-size:20px;margin:12px 0}.experience p{font-size:13px}.experience>div{font-size:9px;letter-spacing:1.7px;color:#7c899c;margin-top:25px}.gallery-section{background:#fafbfc;max-width:none}.gallery-pending{border:1px dashed #bdcad8;border-radius:6px;background:white;text-align:center;padding:45px 25px}.gallery-symbol{font-size:42px;color:#a1b5c7}.gallery-pending h3{font-size:21px;margin:10px 0}.gallery-pending p{font-size:14px}.careers-section{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center}.careers-section p{font-size:14px;margin-top:23px;max-width:520px}.career-note{font-size:12px!important}.career-card{border:1px solid #dce2ea;border-radius:5px;padding:35px}.career-icon{font-size:35px;color:var(--orange)}.career-card h3{font-size:23px;margin:10px 0}.career-card p{margin:12px 0 23px}.career-email{display:block;font-size:12px;margin-top:15px;color:#647082}nav{gap:21px}footer>div:nth-child(2){flex-wrap:wrap}@media(max-width:1000px){nav{gap:13px;font-size:12px}.logo{width:170px}.small{padding:10px 12px}.about-section,.careers-section{gap:35px}}@media(max-width:760px){header{position:relative}.menu{display:block;border:1px solid #dce1e8;background:white;padding:5px 12px;font-size:22px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;z-index:3;padding:20px 5%}nav.open{display:flex;flex-direction:column;align-items:stretch}.about-section,.careers-section{grid-template-columns:1fr}.experience{padding:30px}.experience>span{font-size:85px}}
/* Dark cinematic direction inspired by the supplied reference. */
body{background:#101114;color:#f1f2f4}.top{display:none}header{position:absolute;inset:0 0 auto;z-index:5;background:linear-gradient(#101114d9,transparent);border:0;padding:27px 6%;height:105px}.logo{width:210px;background:white;padding:7px 10px;border-radius:3px}nav{color:#b9b9bd;text-transform:uppercase;font-size:11px;gap:25px}nav a:hover{color:white}nav .small{border:1px solid #f0803d;border-radius:30px;background:transparent;color:white;padding:12px 22px}.hero{position:relative;display:block;min-height:720px;background:#101114}.hero-copy{position:relative;z-index:2;padding:210px 6% 100px;max-width:1150px;pointer-events:none}.hero-copy a{pointer-events:auto}.hero .eyebrow{color:#e69b6a}.hero h1{font-size:clamp(42px,4.7vw,70px);line-height:1.08;letter-spacing:-2.1px;color:#fff;max-width:1000px;margin:25px 0 33px}.hero h1 em{color:#fff}.hero-copy>p{font-size:17px;line-height:1.5;max-width:590px;color:#c2c2c6}.hero .actions{margin-top:32px}.hero .actions>.btn{background:none;padding:0;color:white;font-size:16px;gap:18px}.hero .actions>.btn b{font-size:34px;color:#e57b40;font-weight:normal}.hero .text-link{color:#e6aa80;border-color:#5a4437}.hero-note{color:#a9a9af;margin-top:28px}.hero-art{position:absolute;inset:0;min-height:100%;border-radius:0;background:radial-gradient(ellipse at 90% 55%,#472a1c55,transparent 65%);overflow:hidden}.hero-art>img{width:70%;height:100%;right:-8%;opacity:.22;object-fit:cover;object-position:right;mix-blend-mode:luminosity;filter:contrast(1.1)}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101114dd 0%,#10111488 44%,transparent 85%);pointer-events:none}.water-animation{display:none}.image-label,.art-caption{display:none}.water-toggle{z-index:4;background:#171717a8;border-color:#68503d;color:#c4b4a4;bottom:20px}.scope{background:#17181c;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12;color:#a9a9b2}.section{background:#101114}h2{color:#f4f4f5}p{color:#a4a5af}.service-grid article{border-color:#313237;background:#18191d}.service-grid article:hover{border-color:#a5673d}.service-grid a{color:#eaa36f}.icon{background:#322419;color:#e89c61}.num{color:#696b75}.service-grid .repair{background:#282018;border-color:#65442b}.approach{background:#17181d}.approach li{border-color:#34353c}.property-tags span{border-color:#393b44;color:#c6c7cd}.contact{background:#17181d}.contact form{background:#222329;color:#f1f1f4}.contact form .form-intro,.contact form .form-note{color:#b0b1bb}input,select,textarea{background:#17181d;border-color:#41424b;color:#fff}.experience{background:#1b1c22}.experience>span{color:#e28e53}.gallery-section{background:#17181d}.gallery-pending{background:#1e1f25;border-color:#444650}.career-card{border-color:#353741}.career-email{color:#aaaeb9}footer{background:#0b0c0f}.footer-bottom{border-color:#303137}.footer-bottom,footer p{color:#92949e}.hero-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.skip:focus{color:#111}@media(max-width:1000px){nav{gap:14px;font-size:10px}.hero-copy{padding-top:190px}.hero h1{font-size:55px}}@media(max-width:760px){header{height:90px;padding:18px 6%}.logo{width:170px}.menu{color:white;border-color:#68503d;background:#1b1b1b}nav{background:#17181d;box-shadow:0 10px 20px #0008}nav.open{color:white}.hero{min-height:760px}.hero-copy{padding:165px 6% 90px}.hero h1{font-size:43px;letter-spacing:-1.4px}.hero-copy>p{font-size:16px;max-width:470px}.hero-art{margin:0;border-radius:0}.hero-art>img{width:130%;right:-50%;opacity:.15}.hero .actions{gap:25px}.water-toggle{top:auto;bottom:18px}.hero-art:after{background:linear-gradient(90deg,#101114cc,transparent)}.hero-note{max-width:270px}.section-head>p{color:#a4a5af}}
/* Keep the GSS water-and-fire animation within the dark reference layout. */
.hero-art>img{opacity:.82;mix-blend-mode:normal;filter:none;object-fit:cover;object-position:right;mask-image:linear-gradient(90deg,transparent 0%,#000 33%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 33%)}.hero-art:after{z-index:2;background:linear-gradient(90deg,#101114 0%,#101114ed 34%,#10111477 61%,#10111408 100%);mix-blend-mode:multiply}.water-animation{display:block;z-index:1}.hero-art{background:#101114}.hero-art>img{width:100%;right:0}.hero-copy{z-index:3}.water-toggle{z-index:4}@media(max-width:760px){.hero-art>img{width:140%;right:-40%;opacity:.48}.hero-art:after{background:linear-gradient(90deg,#101114ee,#10111455)}.hero-art{min-height:100%}}
/* Soft firelight gives the static flame a gentle flicker without affecting text. */
.hero-art:before{content:'';position:absolute;right:0;bottom:0;width:28%;height:28%;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 80% 85%,#ff7b1733,transparent 70%);animation:firelight 2.7s ease-in-out infinite alternate;mix-blend-mode:screen}@keyframes firelight{0%{opacity:.35;transform:scale(.95)}37%{opacity:.8}68%{opacity:.45}100%{opacity:.9;transform:scale(1.05)}}.hero-art:has(.water-toggle[aria-pressed="true"]):before{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.hero-art:before{animation:none}}
/* Supplied light-lettering logo for the dark theme. */
.logo{background:transparent;padding:0;border-radius:0;width:230px}footer img{width:230px;background:transparent}@media(max-width:1000px){.logo{width:185px}}@media(max-width:760px){.logo{width:180px}}
/* Readability pass: stronger contrast, comfortable body copy and clear forms. */
body{font-size:17px;line-height:1.7;color:#f4f5f7}p{color:#c5c8d1}.eyebrow{font-size:12px;letter-spacing:1.4px;color:#bfc5d1}nav{font-size:13px;color:#e0e1e6}nav a{line-height:1.5}.hero .eyebrow{color:#ffc28e}.hero-copy>p{font-size:18px;line-height:1.7;color:#e0e1e6;max-width:590px}.hero-note{font-size:13px;color:#ccd0da;line-height:1.7}.hero .text-link{font-size:15px;color:#ffc28e}.hero .actions>.btn{font-size:17px}.scope{font-size:12px;line-height:1.7;letter-spacing:.8px;color:#d9dbe2}.section-head>p,.about-section p,.approach p,.careers-section p,.contact p{font-size:16px;line-height:1.8;color:#c9ccd6}.service-grid h3{font-size:20px;line-height:1.4}.service-grid p,.approach li p,.experience p,.gallery-pending p,.career-card p{font-size:15px;line-height:1.8;color:#c9ccd6}.service-grid a,.text-link{font-size:14px;line-height:1.6}.num{font-size:13px;color:#aeb4c1}.approach li>span{font-size:14px;color:#ffb778}.property-tags span{font-size:14px;color:#e0e2e9}.experience>div{font-size:11px;letter-spacing:1px;color:#b7becd}.career-note{font-size:14px!important;color:#c9ccd6}.career-email,.email{font-size:15px;color:#e6e8ef;overflow-wrap:anywhere}.contact-meta{font-size:15px;line-height:1.8;color:#d4d8e2}.contact-meta>span:last-child{margin-top:0}.contact form .form-intro{font-size:14px;line-height:1.7;color:#d2d5df}label{font-size:14px;line-height:1.5;color:#f5f6f8;margin-bottom:18px}input,select,textarea{font-size:16px;line-height:1.6;padding:12px;border-color:#656b7a;color:#fff;background:#16181e;min-height:49px}input::placeholder,textarea::placeholder{color:#b1b7c5;opacity:1}.form-row{grid-template-columns:1fr;gap:0}textarea{min-height:130px}input:focus,select:focus,textarea:focus{outline:2px solid #ffb36c;outline-offset:2px}form .form-note{font-size:13px;line-height:1.8;color:#c3c9d6}.btn{font-size:15px;line-height:1.5;min-height:46px}.small{font-size:12px}.gallery-pending h3,.career-card h3{line-height:1.4}footer p,footer>div:nth-child(2){font-size:14px;color:#c5c9d3}.footer-bottom{font-size:12px;line-height:1.8;color:#b1b8c7}.water-toggle{font-size:12px;color:#e8e1db;background:#16181ee8;border-color:#9a8069;min-height:38px}.hero-art:after{background:linear-gradient(90deg,#101114 0%,#101114f5 37%,#101114b3 60%,#1011140d 100%)}@media(min-width:761px) and (max-width:1150px){header{height:auto;gap:20px;align-items:flex-start}nav{gap:13px;flex-wrap:wrap;justify-content:flex-end;font-size:12px}.hero-copy{padding-top:210px}}@media(max-width:760px){.hero h1{font-size:clamp(34px,7.5vw,48px);line-height:1.14}.hero-copy>p{font-size:17px}.hero-note{max-width:100%;font-size:13px}.hero-art:after{background:linear-gradient(90deg,#101114f2,#1011149c)}.scope{font-size:11px}.section-head>p{color:#c9ccd6}h2{line-height:1.2}.contact form{padding:24px}.phone{font-size:clamp(24px,6vw,32px)}nav.open{gap:18px;font-size:15px}.hero-copy{padding-bottom:95px}.water-toggle{bottom:15px}.footer-bottom{font-size:12px}}
.popup-section{display:none}.section-dialog{width:min(1120px,94vw);max-height:90vh;padding:0;border:1px solid #494b56;border-radius:12px;background:#101114;color:#f4f5f7;box-shadow:0 30px 100px #0009;overflow:auto}.section-dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}.dialog-close{position:sticky;top:14px;margin:14px 18px 0 auto;display:block;z-index:5;background:#2b2d35;color:#fff;border:1px solid #666b7b;padding:9px 16px;border-radius:25px;cursor:pointer;font-size:14px}.dialog-close:hover{background:#444753}.section-dialog .popup-section{display:block}.section-dialog .approach,.section-dialog .about-section,.section-dialog .careers-section,.section-dialog .contact{display:grid}.section-dialog .section{padding:35px 5% 50px}.section-dialog .contact{gap:40px}.section-dialog .section-head{gap:30px}.dialog-open{overflow:hidden}header{position:relative;background:#101114;height:auto;min-height:105px}.hero-copy{padding-top:105px}.hero{min-height:620px}footer{margin-top:0}@media(max-width:760px){.section-dialog{width:96vw;max-height:94vh}.section-dialog .section{padding:25px 6% 35px}.section-dialog .contact,.section-dialog .about-section,.section-dialog .careers-section{grid-template-columns:1fr}.dialog-close{top:9px;margin-top:9px}.hero-copy{padding-top:75px}.hero{min-height:680px}header{min-height:90px}}

/* Normal in-page section views, with no dialog controls. */
[hidden]{display:none!important}header nav a[aria-current="page"]{color:#ffc28e;border-bottom:2px solid #ed8b24}main>.section{min-height:65vh}.hero-copy{padding-top:90px}html{scroll-behavior:smooth}@media(max-width:760px){.hero-copy{padding-top:65px}}
/* Shared water imagery across each independently selected section. */
main>.section{position:relative;isolation:isolate;background-color:#101114;background-image:linear-gradient(90deg,rgba(16,17,20,.95) 0%,rgba(16,17,20,.91) 48%,rgba(16,17,20,.79) 100%),url('assets/sprinkler.png');background-size:cover;background-position:center right;background-repeat:no-repeat}main>.section> *{position:relative;z-index:1}.service-grid article{background:#18191df2}.service-grid .repair{background:#282018f2}.experience,.career-card{background-color:#1b1c22ed}.gallery-pending{background:#1e1f25ed}.contact form{background:#222329f5}.property-tags span{background:#17181dc9}@media(max-width:760px){main>.section{background-image:linear-gradient(rgba(16,17,20,.92),rgba(16,17,20,.88)),url('assets/sprinkler.png');background-position:70% center}}
/* Compact footer with no trailing empty viewport area. */
html{min-height:100%}body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}footer{padding:25px 6% 16px;gap:15px;align-items:center}footer img{width:190px}footer p{margin:6px 0 0;font-size:13px}.footer-bottom{margin-top:4px;padding-top:12px}main>.section{min-height:0}@media(max-width:760px){footer{padding:24px 6% 16px;gap:18px}.footer-bottom{gap:5px}}
/* Content-driven page height: do not push the footer down with flexible space. */
body{display:block;min-height:0}main{flex:none}footer{margin-top:0}main>.section{min-height:0}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-card{background:#1b1d23ed;border:1px solid #3a3d46;border-radius:7px;overflow:hidden}.project-card>img{display:block;width:100%;height:210px;object-fit:cover;background:#e9edf1}.project-card:first-child>img{object-fit:contain;background:#fff;padding:20px}.project-card>div{padding:23px}.project-location{font-size:12px;color:#ffc28e;letter-spacing:.3px}.project-card h3{font-size:21px;line-height:1.35;margin:12px 0}.project-card p{font-size:15px;line-height:1.8;color:#c9ccd6;margin:0}.project-cta{margin-top:30px}@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.project-grid{grid-template-columns:1fr}.project-card>img{height:220px}}
/* Consistent vector icons: no platform-dependent emoji arrows. */
.ui-arrow{display:inline-block;width:19px;height:19px;vertical-align:middle;flex-shrink:0;margin-left:5px}.icon svg{width:27px;height:27px}.icon .ui-arrow{margin:0}.career-icon .ui-arrow{width:35px;height:35px}.hero .actions>.btn b{display:inline-flex;align-items:center}.hero .actions>.btn b .ui-arrow{width:30px;height:30px}.phone .ui-arrow{width:25px;height:25px}.btn{align-items:center}.menu{line-height:1;align-items:center;justify-content:center}nav a .ui-arrow{width:15px;height:15px}
/* Plain text actions with predictable sizing. */
.btn,nav .small{gap:0;justify-content:center;white-space:normal;height:auto;min-height:46px;padding:13px 22px}.btn svg.ui-arrow,.phone svg.ui-arrow,.text-link svg.ui-arrow{display:none!important}.hero .actions>.btn{padding:12px 0;min-height:44px}.contact form .btn{height:auto;min-height:49px;display:block;text-align:center;padding:14px 20px}.phone{line-height:1.4}nav .small{white-space:nowrap;flex-shrink:0}.service-grid .icon:empty{display:none}header nav{align-items:center}
.project-card>.project-photos{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#101114}.project-photos img{display:block;width:100%;height:210px;object-fit:cover}.rmh-project{grid-column:span 2}.rmh-project .project-photos img{height:260px}@media(max-width:650px){.rmh-project{grid-column:auto}.rmh-project .project-photos{grid-template-columns:1fr}.rmh-project .project-photos img{height:auto;max-height:280px;object-fit:cover}}
.experience .project-milestone{margin-top:24px;padding-top:22px;border-top:1px solid #424650;display:flex;flex-direction:column;gap:6px;letter-spacing:normal}.project-milestone strong{font-size:48px;line-height:1.1;color:#ffc28e}.project-milestone span{font-size:15px;color:#e1e4eb;line-height:1.6}
.ashlu-project{grid-column:span 2}.ashlu-project .project-photos img{height:260px}@media(max-width:650px){.ashlu-project{grid-column:auto}.ashlu-project .project-photos{grid-template-columns:1fr}.ashlu-project .project-photos img{height:auto;max-height:300px;object-fit:cover}}
.lofts-project{grid-column:span 2}.lofts-project .project-photos img{height:260px}@media(max-width:650px){.lofts-project{grid-column:auto}.lofts-project .project-photos{grid-template-columns:1fr}.lofts-project .project-photos img{height:auto;max-height:300px;object-fit:cover}}
.residential-project{grid-column:span 2}.residential-project .project-photos img{height:260px}@media(max-width:650px){.residential-project{grid-column:auto}.residential-project .project-photos{grid-template-columns:1fr}.residential-project .project-photos img{height:auto;max-height:300px;object-fit:cover}}
.chateau-project{grid-column:span 2}.chateau-project .project-photos img{height:260px}@media(max-width:650px){.chateau-project{grid-column:auto}.chateau-project .project-photos{grid-template-columns:1fr}.chateau-project .project-photos img{height:auto;max-height:300px;object-fit:cover}}
.seaborne-project{grid-column:span 2}.seaborne-project .project-photos img{height:260px}@media(max-width:650px){.seaborne-project{grid-column:auto}.seaborne-project .project-photos{grid-template-columns:1fr}.seaborne-project .project-photos img{height:auto;max-height:300px;object-fit:cover}}
.service-photo{display:block;width:100%;height:190px;object-fit:cover;border-radius:4px;margin:0 0 20px;background:#000}.service-grid article:has(.service-photo)>.icon{display:none}.service-grid article:has(.service-photo)>.num{background:#101114cc;color:#fff;padding:2px 7px;border-radius:3px;z-index:1}@media(max-width:650px){.service-photo{height:auto;max-height:250px}}
.service-photo.emergency-service-photo{object-fit:contain;background:white;padding:8px}
.footer-address{font-style:normal;font-size:14px;line-height:1.7;color:#c5c9d3;margin-top:8px}
/* Keep the sprinkler head and flame in view on wide monitors. */
.hero-art>img{width:min(100%,1200px);height:100%;right:0;top:0;object-fit:contain;object-position:right top}.hero-art{background:#101114}.hero{min-height:650px}.hero-copy{max-width:1250px}.hero h1{max-width:1000px}@media(min-width:1800px){.hero-art>img{width:65%;max-width:1500px}.hero{min-height:720px}.hero-copy{max-width:1400px}}@media(max-width:760px){.hero-art>img{width:140%;max-width:none;right:-40%;object-fit:contain;object-position:right top}.hero{min-height:680px}}
/* Unified responsive layout: bounded desktop composition, stacked mobile artwork. */
html,body{width:100%;overflow-x:clip}header{padding:24px max(5%,calc((100vw - 1560px)/2));min-height:104px;gap:25px}header .logo{width:220px;max-width:30vw}nav{flex-wrap:nowrap;gap:22px}.hero{width:100%;max-width:1680px;margin:0 auto;min-height:650px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-copy{width:67%;max-width:none;padding:72px 0 72px 5%;position:relative;z-index:3}.hero h1{font-size:clamp(42px,3.7vw,64px);max-width:960px;line-height:1.12;letter-spacing:-1.8px;margin:0 0 30px}.hero-copy>p{max-width:590px;font-size:18px;line-height:1.8}.hero .actions{margin-top:27px;gap:25px}.hero-note{margin-top:27px;font-size:13px}.hero-art{position:absolute;inset:0;min-height:0;margin:0;border-radius:0;background:#101114}.hero-art>img{position:absolute;top:0;right:0;width:auto!important;max-width:none!important;height:100%;object-fit:contain;object-position:right top;opacity:.82;mask-image:linear-gradient(90deg,transparent,#000 32%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 32%)}.hero-art:after{background:linear-gradient(90deg,#101114 0%,#101114ec 33%,#10111491 55%,transparent 85%)}.section{max-width:1560px;padding:65px 5%;margin:auto}footer{padding:26px max(5%,calc((100vw - 1560px)/2)) 18px;column-gap:35px;row-gap:15px}footer>div:first-child{flex:1 1 300px}footer>div:nth-child(2){justify-content:flex-end;flex:1 1 400px;gap:22px}.footer-bottom{flex-basis:100%}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid>.project-card{grid-column:span 2}.project-grid>.project-card:not(:has(.project-photos)){grid-column:span 1}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-grid article{min-width:0}.contact{gap:50px}.section h2{font-size:clamp(30px,3vw,46px)}@media(min-width:2000px){.hero{min-height:720px}.hero h1{font-size:66px}.hero-copy{width:69%}.hero-copy>p{max-width:640px}}@media(max-width:1100px){header{padding:20px 5%}nav{gap:14px;font-size:12px}header .logo{width:185px}.hero{min-height:620px}.hero-copy{width:73%;padding:65px 5%}.hero h1{font-size:46px}.hero-copy>p{max-width:510px;font-size:17px}.hero-art:after{background:linear-gradient(90deg,#101114fa,#101114b0 60%,#10111422)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact,.approach,.about-section,.careers-section{gap:35px}}@media(max-width:850px){header{min-height:90px;align-items:center}.menu{display:flex;border:1px solid #68503d;color:white;background:#17181d;padding:10px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#17181d;padding:24px 5%;z-index:6}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:20px;font-size:15px}header .logo{max-width:none;width:185px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero-copy{width:100%;padding:48px 6% 35px}.hero h1{font-size:clamp(34px,5.8vw,48px);max-width:700px;letter-spacing:-1px}.hero-copy>p{max-width:650px;font-size:17px}.hero-art{position:relative;inset:auto;height:330px;flex:none;width:100%;background:#101114}.hero-art>img{right:0;height:100%;opacity:.9;mask-image:linear-gradient(90deg,transparent,#000 20%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%)}.hero-art:after{background:linear-gradient(90deg,#101114aa,transparent 70%)}.hero-note{max-width:none;margin-top:22px}.contact,.approach,.about-section,.careers-section{grid-template-columns:1fr}.section{padding:48px 6%}.section-head{display:block}.section-head>p{margin-top:20px}.contact form{width:100%;min-width:0}.form-row{grid-template-columns:1fr}footer>div:nth-child(2){justify-content:flex-start;flex-basis:100%}.footer-bottom{flex-direction:column;gap:6px}}@media(max-width:550px){.hero-copy{padding-top:36px}.hero h1{font-size:35px;line-height:1.16}.hero-copy>p{font-size:16px;line-height:1.8}.hero .actions{gap:18px}.hero-art{height:270px}.service-grid,.project-grid{grid-template-columns:1fr}.project-grid>.project-card,.project-grid>.project-card:not(:has(.project-photos)){grid-column:auto}.project-card .project-photos{grid-template-columns:1fr}.project-card .project-photos img{height:auto;max-height:none;width:100%}.service-photo{height:auto;max-height:280px}.contact form{padding:23px}.email,.career-email{overflow-wrap:anywhere}.phone{font-size:27px}.footer-address{font-size:13px}footer{padding:24px 6% 16px}.footer-bottom{font-size:11px}}
/* Structured footer inspired by the supplied reference. */
footer.site-footer{display:block;padding:42px max(5%,calc((100vw - 1560px)/2)) 20px;background:#101114;border-top:1px solid #62646b;margin:0}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .85fr 1.35fr;gap:40px;align-items:start}.site-footer .footer-brand img{width:250px;max-width:100%;height:auto}.site-footer .footer-brand p{font-size:14px;max-width:280px;margin-top:18px;color:#bfc3cd}.site-footer .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:17px;font-size:16px;flex:none}.site-footer .footer-links a{color:#c5c8d1}.site-footer a:hover{color:#ffb778}.footer-contact{display:flex;flex-direction:column;gap:9px;min-width:0;color:#c5c8d1;font-size:15px}.footer-contact h3{font-size:22px;line-height:1.4;color:white;margin:0 0 6px}.footer-contact a{overflow-wrap:anywhere}.footer-contact>span{font-size:13px;color:#ffc28e}.footer-contact address{font-style:normal;line-height:1.7;margin-top:7px}.site-footer .footer-bottom{margin-top:35px;padding-top:17px;border-top:1px solid #32343b;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#aeb5c3}@media(max-width:1000px){.footer-grid{grid-template-columns:1.2fr .8fr;gap:35px}.footer-contact{grid-column:2;grid-row:1 / span 2}.site-footer .footer-brand{grid-column:1}.site-footer .footer-links{grid-column:1}}@media(max-width:600px){footer.site-footer{padding:30px 6% 20px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.site-footer .footer-brand{grid-column:1 / -1}.site-footer .footer-brand img{width:220px}.site-footer .footer-links{grid-column:auto;font-size:15px;gap:14px}.footer-contact{grid-column:1 / -1;grid-row:auto}.site-footer .footer-bottom{flex-direction:column;margin-top:28px;font-size:11px}}
/* Cinematic, image-led feature navigation. Uses supplied project photographs. */
.hero{max-width:none;min-height:760px;background:#101114}.hero-copy{padding:100px max(5%,calc((100vw - 1480px)/2));width:100%;pointer-events:none}.hero-copy a{pointer-events:auto}.hero h1{font-size:clamp(40px,4.3vw,72px);max-width:900px;letter-spacing:-2px}.hero-copy>p{max-width:570px;text-shadow:0 2px 12px #000}.hero-art{inset:0;height:100%;position:absolute;perspective:1200px}.hero-art>img{width:100%!important;max-width:none!important;height:100%;object-fit:cover;object-position:center;opacity:.72;mask-image:none;-webkit-mask-image:none;transition:opacity .35s,transform 1s;transform:scale(1.025)}.hero-art:after{background:linear-gradient(90deg,#090b10f5 0%,#090b10c9 30%,#090b1066 60%,#090b1033),linear-gradient(0deg,#090b10e6,transparent 45%);z-index:1}.hero-art:before{display:none}.hero-art[data-scene="detail"]>img{object-fit:contain;object-position:right;background:#101114;width:auto!important;min-width:60%;opacity:.9}.hero-art:not([data-scene="detail"]) .water-animation{display:none}.showcase-caption{position:absolute;right:5%;bottom:115px;width:320px;z-index:4;padding:20px 23px;border:1px solid #ffffff3b;background:#111722b8;backdrop-filter:blur(15px);border-radius:8px;box-shadow:0 20px 55px #0005;pointer-events:none}.showcase-caption>span{font-size:9px;letter-spacing:1.6px;color:#ffbd83}.showcase-caption strong{display:block;font-size:20px;line-height:1.35;margin:10px 0;color:#fff}.showcase-caption p{font-size:12px;line-height:1.7;color:#d7dce6;margin:0}.scene-tabs{position:absolute;z-index:5;bottom:32px;right:5%;display:flex;padding:5px;background:#12161de8;backdrop-filter:blur(15px);border:1px solid #ffffff33;border-radius:40px;gap:4px}.scene-tabs button{border:0;background:transparent;color:#e3e7ee;padding:12px 19px;border-radius:30px;font-size:13px;cursor:pointer;white-space:nowrap}.scene-tabs button[aria-selected="true"]{color:#142039;background:#ffc28e}.scene-tabs button:focus-visible{outline:2px solid white;outline-offset:2px}.scene-changing>img{opacity:.15;transform:scale(1.045)}main>.section:not([hidden]){animation:sectionReveal .48s ease both}@keyframes sectionReveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hero-copy{padding-bottom:155px}header{border-bottom:1px solid #ffffff12}.service-grid article,.project-card{transition:transform .25s,box-shadow .25s}.service-grid article:hover,.project-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px #0003}@media(min-width:1800px){.hero{min-height:820px}.showcase-caption{right:max(5%,calc((100vw - 1480px)/2))}.scene-tabs{right:max(5%,calc((100vw - 1480px)/2))}}@media(max-width:1000px){.hero{min-height:790px}.hero-copy{padding-top:75px;padding-bottom:260px}.hero h1{max-width:700px;font-size:52px}.showcase-caption{bottom:106px;width:285px}.hero-copy>p{max-width:520px}}@media(max-width:850px){.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:45px 6% 35px;position:relative;background:#101114}.hero h1{font-size:clamp(35px,6vw,48px);letter-spacing:-1px}.hero-art{position:relative;inset:auto;height:480px;width:100%}.hero-art>img{width:100%!important;height:100%;right:0;object-fit:cover;opacity:.9}.hero-art:after{background:linear-gradient(0deg,#0b1018ef,transparent 85%)}.showcase-caption{left:6%;right:6%;bottom:100px;width:auto;max-width:380px}.scene-tabs{left:6%;right:6%;bottom:24px;justify-content:center}.scene-tabs button{flex:1;padding:11px 8px;font-size:12px}.hero-art[data-scene="detail"]>img{width:100%!important;min-width:0;object-fit:contain}.hero-note{margin-bottom:0}}@media(prefers-reduced-motion:reduce){main>.section:not([hidden]){animation:none}.hero-art>img,.service-grid article,.project-card{transition:none;transform:none}}
/* Refined editorial art direction. */
body{background:#0d1117}.hero{min-height:780px;border-bottom:1px solid #ffffff15}.hero-copy{padding-top:85px;padding-bottom:120px}.hero-kicker{font-size:11px;color:#f2be91;letter-spacing:2.5px;margin-bottom:27px;font-weight:600}.hero h1{font-size:clamp(44px,4.6vw,78px);font-weight:600;line-height:1.08;letter-spacing:-2.9px;max-width:1050px;margin-bottom:29px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#f8c49d;font-style:italic;letter-spacing:-2.5px}.hero-copy>p{max-width:520px;font-size:16px;line-height:1.9;color:#d4d8df}.hero .actions>.btn{background:#f5bd91;color:#18212c;padding:14px 25px;min-height:49px;border-radius:30px;font-size:14px;box-shadow:0 8px 28px #0003}.hero .actions>.btn:hover{background:#ffcfab}.hero-proof{display:flex;gap:0;margin-top:43px;max-width:530px}.hero-proof>div{display:flex;flex-direction:column;padding:0 28px;border-left:1px solid #ffffff30}.hero-proof>div:first-child{padding-left:0;border:0}.hero-proof strong{font-size:29px;font-weight:500;line-height:1.2;letter-spacing:-1px;color:#fff}.hero-proof span{font-size:11px;line-height:1.6;color:#b9c3cf;margin-top:7px}.hero-art>img{opacity:.83}.hero-art:after{background:linear-gradient(90deg,#0d1117f5,#0d1117cf 25%,#0d11176b 55%,#0d111711),linear-gradient(0deg,#0d1117bd,transparent 50%)}.showcase-caption{background:#101923c9;border:1px solid #dce6f030;padding:24px 25px;border-radius:14px;box-shadow:0 25px 70px #0004;bottom:127px;width:330px}.showcase-caption strong{font-weight:500;font-size:24px;letter-spacing:-.5px}.showcase-caption p{font-size:13px;color:#cbd4df}.showcase-caption>span{font-size:9px;letter-spacing:1.8px}.scene-tabs{border-radius:12px;padding:6px;bottom:40px;background:#111923e8;border-color:#cbd8e82e;box-shadow:0 15px 40px #0004}.scene-tabs button{border-radius:8px;padding:13px 20px;font-size:12px}.scene-tabs button[aria-selected="true"]{background:#f5bd91}.hero-art{background:#0d1117}header{background:#0d1117;padding-top:22px;padding-bottom:22px}.logo{filter:drop-shadow(0 3px 8px #0003)}header nav a{letter-spacing:.5px;font-weight:500;font-size:11px}nav .small{border-color:#b58c6b;color:#f7cfac;font-size:11px}.service-grid article{border-radius:12px}.service-photo{border-radius:7px}.section-head h2,.about-section h2,.careers-section h2{font-weight:500;letter-spacing:-1.3px}.site-footer{background:#0d1117!important}.project-card{border-radius:12px}@media(min-width:1800px){.hero{min-height:820px}.hero h1{font-size:80px}.hero-copy{padding-top:95px}}@media(max-width:1100px){.hero h1{font-size:56px}.hero-proof>div{padding:0 18px}.hero-copy{padding-bottom:180px}.showcase-caption{width:280px}.hero-copy>p{max-width:470px}}@media(max-width:850px){.hero{min-height:0}.hero-copy{padding:42px 6% 38px;background:#0d1117}.hero h1{font-size:clamp(39px,6.5vw,55px);letter-spacing:-1.6px}.hero h1 em{letter-spacing:-1.5px}.hero-kicker{font-size:10px;letter-spacing:1.7px;margin-bottom:22px}.hero-copy>p{max-width:100%;font-size:16px}.hero-proof{margin-top:30px}.hero-proof strong{font-size:26px}.hero-proof span{font-size:10px}.hero-art{height:450px}.showcase-caption{bottom:115px;width:auto;max-width:360px}.scene-tabs{bottom:25px}.showcase-caption strong{font-size:22px}}@media(max-width:450px){.hero h1{font-size:39px}.hero-proof>div{padding:0 13px}.hero-proof span{font-size:10px}.hero-proof strong{font-size:25px}.showcase-caption{padding:19px}.hero-art{height:420px}.scene-tabs button{padding:12px 7px;font-size:11px}}
/* Rotating photographic feature. */
.hero-art[data-scene="slideshow"]>img{object-fit:cover;object-position:center;opacity:.85;transform:scale(1);transition:opacity .5s ease,transform 7s linear}.hero-art[data-scene="slideshow"].slide-enter>img{transform:scale(1.045)}.hero-art[data-scene="slideshow"].scene-changing>img{opacity:.12}.hero-art[data-scene="slideshow"] .water-animation{display:none}.slideshow-controls{position:absolute;right:max(5%,calc((100vw - 1480px)/2));bottom:40px;display:flex;align-items:center;gap:18px;z-index:5;padding:12px 17px;border:1px solid #ffffff30;border-radius:40px;background:#101722d9;backdrop-filter:blur(12px)}.slide-dots{display:flex;gap:5px;align-items:center}.slide-dots button{width:28px;height:28px;background:none;border:0;position:relative;cursor:pointer;padding:0}.slide-dots button:after{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#b3becb;margin:auto;transition:background .2s,width .2s}.slide-dots button.selected:after{background:#f5bd91;width:20px;border-radius:5px}.slide-pause{background:none;border:0;border-left:1px solid #ffffff30;padding:5px 0 5px 17px;color:#e1e7ee;font-size:12px;cursor:pointer}.slide-dots button:focus-visible,.slide-pause:focus-visible{outline:2px solid #f5bd91;outline-offset:3px}.hero-art[data-slide="1"]>img,.hero-art[data-slide="3"]>img{object-position:right center}.hero-art[data-slide="5"]>img,.hero-art[data-slide="7"]>img{object-fit:contain;object-position:right center;background:#101114}.hero-art .showcase-caption{bottom:125px}@media(max-width:850px){.slideshow-controls{left:6%;right:auto;bottom:22px;max-width:88%;gap:8px;padding:8px 12px}.slide-dots{gap:2px}.slide-dots button{width:26px}.hero-art .showcase-caption{bottom:100px}.hero-art[data-scene="slideshow"]>img{transform:none}.hero-art[data-scene="slideshow"].slide-enter>img{transform:scale(1.025)}}@media(prefers-reduced-motion:reduce){.hero-art[data-scene="slideshow"]>img{transition:none;transform:none!important}}
/* Clear image presentation: full images, restrained shading, no zoom or blur. */
.hero-art[data-scene="slideshow"]{background:#0b1017}.hero-art[data-scene="slideshow"]>img,.hero-art[data-scene="slideshow"].slide-enter>img{width:64%!important;height:100%;right:0;object-fit:contain;object-position:center;opacity:1;filter:none;transform:none;mask-image:none;-webkit-mask-image:none;transition:opacity .4s ease}.hero-art[data-scene="slideshow"].scene-changing>img{opacity:0}.hero-art:after{background:linear-gradient(90deg,#0d1117 0%,#0d1117 34%,#0d1117ed 39%,#0d111744 55%,transparent 68%);pointer-events:none}.hero-copy{width:55%;padding-left:max(5%,calc((100vw - 1480px)/2));padding-right:0;pointer-events:none}.hero h1{font-size:clamp(40px,4vw,66px);max-width:780px}.hero-copy>p{max-width:480px}.showcase-caption{background:#101923f2;backdrop-filter:none;bottom:120px}.slideshow-controls{backdrop-filter:none;background:#101722f5}.project-photos img,.project-card>img,.service-photo{filter:none;opacity:1;image-rendering:auto}.project-card .project-photos img{object-fit:contain;background:#101114}.service-photo{object-fit:contain;background:#11151c}@media(max-width:1100px){.hero-copy{width:58%;padding-left:5%}.hero h1{font-size:48px}.hero-copy>p{max-width:420px}.hero-art[data-scene="slideshow"]>img{width:65%!important}}@media(max-width:850px){.hero-copy{width:100%;padding:42px 6% 38px}.hero h1{font-size:clamp(38px,6vw,52px)}.hero-copy>p{max-width:100%}.hero-art[data-scene="slideshow"]>img,.hero-art[data-scene="slideshow"].slide-enter>img{width:100%!important;height:285px;top:0;right:0;object-fit:contain;opacity:1;transform:none}.hero-art[data-scene="slideshow"]{height:490px}.hero-art:after{display:none}.hero-art .showcase-caption{bottom:83px;left:6%;right:6%;max-width:none;padding:15px 19px;background:#101923;border-color:#ffffff20}.showcase-caption strong{font-size:20px;margin:6px 0}.showcase-caption>span{font-size:8px}.showcase-caption p{font-size:12px}.slideshow-controls{bottom:15px}.project-card .project-photos img{height:auto;max-height:none}.service-photo{max-height:none;height:auto;aspect-ratio:16/10}}
.slide-spray{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.showcase-caption{z-index:4}.slideshow-controls{z-index:5}
/* Automatic showcase without visible slideshow controls. */
.slideshow-controls{display:none!important}.hero-art .showcase-caption{bottom:40px}@media(max-width:850px){.hero-art .showcase-caption{bottom:24px}.hero-art[data-scene="slideshow"]{height:440px}}
/* Seamless banner-to-footer transition. */
.hero{border-bottom:0!important}footer.site-footer{border-top:0!important}
/* Brief GSS arrival sequence, independent of actual page-loading progress. */
.gss-intro{position:fixed;inset:0;z-index:1000;background:#05080c;overflow:hidden;opacity:1;transition:opacity .65s ease,visibility .65s}.gss-intro[hidden]{display:none!important}.intro-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.47;animation:introScene 2.6s ease-out both}.intro-shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,#05080c33,#05080cbb 78%),linear-gradient(0deg,#05080c,transparent 80%)}.intro-brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,75vw);text-align:center;animation:introBrand .9s ease-out both}.intro-brand>img{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 25px #000)}.intro-brand p{color:#f4c29b;font-size:15px;letter-spacing:2.5px;margin:28px 0}.intro-progress{display:block;width:95px;height:2px;background:#f2bc8e;margin:25px auto 0;transform-origin:left;animation:introLine 2s ease-out both}.intro-skip{position:absolute;right:25px;bottom:25px;border:1px solid #ffffff50;background:#101722b8;color:#e6eaf1;border-radius:25px;padding:10px 18px;font-size:12px;cursor:pointer;z-index:2}.intro-droplets{position:absolute;inset:0;pointer-events:none}.intro-droplets i{position:absolute;left:38%;top:44%;width:3px;height:3px;background:#d8efff;border-radius:50%;opacity:0;animation:introDroplet 1.3s linear infinite;animation-delay:var(--delay);box-shadow:0 0 5px #a6dfff66}.gss-intro.leaving{opacity:0;visibility:hidden;pointer-events:none}.intro-showing{overflow:hidden}@keyframes introBrand{from{opacity:0;filter:blur(6px);margin-top:15px}to{opacity:1;filter:none;margin-top:0}}@keyframes introLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes introScene{from{transform:scale(1.03);opacity:.15}to{transform:scale(1);opacity:.47}}@keyframes introDroplet{0%{opacity:0;transform:translate(0,0)}15%{opacity:.6}100%{opacity:0;transform:translate(var(--dx),var(--dy))}}@media(max-width:600px){.intro-brand p{font-size:12px;letter-spacing:1.7px}.intro-scene{object-fit:cover;opacity:.3}.intro-skip{right:18px;bottom:22px}}@media(prefers-reduced-motion:reduce){.gss-intro{transition:none}.intro-brand,.intro-scene,.intro-progress,.intro-droplets i{animation:none}}
/* Borderless slideshow captions. */
.showcase-caption,.hero-art .showcase-caption{border:0!important}
.clean-image-pair{display:none;position:absolute;right:0;top:0;width:64%;height:100%;align-items:center;pointer-events:none}.hero-art[data-slide="7"]>.clean-image-pair{display:flex}.hero-art[data-slide="7"]>img{visibility:hidden}.clean-image-pair>div{position:relative;overflow:hidden;width:50%;aspect-ratio:689/625;background:#101114}.clean-image-pair>div>img{position:absolute;width:203.2%;max-width:none;height:102.5%;top:-1.25%;object-fit:fill;left:-1.02%;display:block}.clean-image-pair>div:nth-child(2)>img{left:-102.18%}.scene-changing .clean-image-pair{opacity:0}.clean-image-pair{transition:opacity .4s}@media(max-width:1100px){.clean-image-pair{width:65%}}@media(max-width:850px){.clean-image-pair{width:100%;height:285px;top:0}.clean-image-pair>div{max-height:285px}}
/* Seamless header and banner. */
header{border-bottom:0!important;box-shadow:none!important}
/* Consistent pure-black shell around the slideshow. */
html,body,header,footer.site-footer,.hero,.hero-art,.hero-copy{background-color:#000!important}header{background:#000!important}footer.site-footer{background:#000!important}.hero-art:after{background:linear-gradient(90deg,#000 0%,#000 34%,#000ed 39%,#00044 55%,transparent 68%)}.hero-art[data-scene="slideshow"]{background:#000}.clean-image-pair>div{background:#000}@media(max-width:850px){.hero-copy{background:#000!important}nav.open{background:#000!important}}
/* Dedicated image area prevents text shading from concealing the pictures. */
.hero{display:grid;grid-template-columns:minmax(0,43fr) minmax(0,57fr);align-items:stretch;min-height:650px}.hero-copy{grid-column:1;position:relative;width:100%;padding:65px 7% 65px max(30px,calc((100vw - 1480px)/2));z-index:3;display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:clamp(38px,3.6vw,62px);max-width:100%;letter-spacing:-1.5px}.hero-copy>p{max-width:100%}.hero-art{grid-column:2;position:relative;inset:auto;width:100%;height:auto;min-height:650px;overflow:hidden}.hero-art:after{display:none!important}.hero-art[data-scene="slideshow"]>img,.hero-art[data-scene="slideshow"].slide-enter>img{width:100%!important;height:100%!important;max-height:none;top:0;right:0;object-fit:contain!important;object-position:center!important;transform:none!important;opacity:1;mask-image:none;-webkit-mask-image:none}.hero-art .showcase-caption{position:relative;left:auto;right:auto;bottom:auto;width:auto;max-width:none;margin:0 25px 20px;align-self:end}.hero-art{display:grid;grid-template-rows:1fr auto}.hero-art .showcase-caption{grid-row:2;z-index:4}.hero-art[data-scene="slideshow"]>img{height:calc(100% - 145px)!important}.clean-image-pair,.hero-art[data-slide="7"]>.clean-image-pair{width:100%;height:calc(100% - 145px);align-items:center}.hero-proof{flex-wrap:wrap;row-gap:20px}.hero-proof>div{padding:0 16px}.hero-proof>div:first-child{padding-left:0}@media(min-width:1800px){.hero{max-width:1700px;margin:auto}.hero-copy{padding-left:40px}.hero-art{min-height:720px}}@media(max-width:1100px){.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:45px 7%}.hero h1{font-size:42px}.hero-art{min-height:680px}.hero-proof strong{font-size:24px}.hero-proof span{font-size:10px}.hero-proof>div{padding:0 10px}}@media(max-width:850px){.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:38px 6%;width:100%}.hero h1{font-size:clamp(37px,6vw,50px)}.hero-art,.hero-art[data-scene="slideshow"]{height:460px;min-height:0;display:grid;grid-template-rows:300px auto}.hero-art[data-scene="slideshow"]>img,.hero-art[data-scene="slideshow"].slide-enter>img{height:300px!important;width:100%!important}.hero-art .showcase-caption{margin:8px 6% 20px;padding:15px 19px}.clean-image-pair,.hero-art[data-slide="7"]>.clean-image-pair{width:100%;height:300px}.clean-image-pair>div{max-height:none}.hero-proof{margin-top:27px}}
/* Full-width slideshow, with contained imagery and readable overlay copy. */
.hero{display:block!important;position:relative;width:100%;max-width:none!important;min-height:760px;margin:0;background:#000}.hero-art,.hero-art[data-scene="slideshow"]{position:absolute!important;inset:0!important;display:block!important;width:100%;height:100%!important;min-height:0;overflow:hidden;background:#000}.hero-art[data-scene="slideshow"]>img,.hero-art[data-scene="slideshow"].slide-enter>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;max-height:none;opacity:1;transform:none!important}.hero-copy{position:relative;z-index:3;width:min(650px,48%);min-height:760px;padding:70px 35px 65px max(30px,5vw);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#000ed 0%,#000c9 80%,#00000)!important;pointer-events:none}.hero-copy a{pointer-events:auto}.hero h1{font-size:clamp(39px,3.8vw,66px);color:#fff;text-shadow:0 2px 18px #000;line-height:1.12}.hero h1 em{color:#ffd0aa}.hero-copy>p{color:#f1f3f7;font-size:17px;line-height:1.85;text-shadow:0 2px 9px #000}.hero-kicker{color:#ffd0aa}.hero-proof span{color:#e0e5ee}.hero-art .showcase-caption{position:absolute!important;right:4%;left:auto;bottom:30px;max-width:330px;width:30%;margin:0;background:#07101bea;box-shadow:0 12px 35px #0005}.clean-image-pair,.hero-art[data-slide="7"]>.clean-image-pair{width:min(100%,1750px)!important;height:100%!important;left:50%;right:auto;transform:translateX(-50%);align-items:center}.hero-art:after{display:none!important}@media(min-width:1800px){.hero{min-height:850px}.hero-copy{min-height:850px;padding-left:max(5vw,calc((100vw - 1600px)/2));width:48%;max-width:1050px}.hero h1{max-width:700px}.hero-copy>p{max-width:540px}.hero-art .showcase-caption{right:5%}}@media(max-width:850px){.hero{min-height:1000px}.hero-copy{width:100%;min-height:0;padding:35px 6% 30px;background:linear-gradient(#000f2,#000cf)!important;justify-content:flex-start}.hero h1{font-size:clamp(35px,6vw,48px)}.hero-copy>p{font-size:16px}.hero-art,.hero-art[data-scene="slideshow"]{height:100%!important}.hero-art[data-scene="slideshow"]>img,.hero-art[data-scene="slideshow"].slide-enter>img{height:420px!important;top:auto;bottom:130px;object-fit:contain!important}.hero-art .showcase-caption{left:6%;right:6%;bottom:18px;width:auto;max-width:none;padding:14px 18px}.clean-image-pair,.hero-art[data-slide="7"]>.clean-image-pair{height:420px!important;top:auto;bottom:130px}.hero-proof{margin-top:24px}.hero-art .showcase-caption strong{font-size:20px}}@media(max-width:450px){.hero{min-height:1050px}.hero-art[data-scene="slideshow"]>img,.hero-art[data-scene="slideshow"].slide-enter>img{height:330px!important}.clean-image-pair,.hero-art[data-slide="7"]>.clean-image-pair{height:330px!important}}
/* Remove the opaque half-banner panel; retain legible text with local shadows. */
.hero-copy{background:transparent!important}.hero-art:after{display:none!important}.hero h1,.hero-kicker,.hero-copy>p,.hero-proof strong,.hero-proof span{text-shadow:0 2px 5px #000,0 0 18px #000,0 0 35px #000}.hero-copy>p{color:#fff}.hero-proof span{color:#fff}.hero-art[data-scene="slideshow"]>img{opacity:1!important;mask-image:none!important;-webkit-mask-image:none!important}.hero-art[data-scene="slideshow"].scene-changing>img{opacity:.25!important}
/* Caption text sits directly over the slideshow. */
.showcase-caption,.hero-art .showcase-caption{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
/* Keep all slideshow copy legible without a caption panel. */
.hero-copy h1,.hero-kicker,.hero-copy>p,.hero-proof strong,.hero-proof span,.showcase-caption span,.showcase-caption strong,.showcase-caption p{text-shadow:0 1px 2px #000,0 2px 5px #000,0 0 10px #000,0 0 20px #000!important}
.hero-art .showcase-caption{color:#fff;overflow-wrap:break-word;max-width:min(330px,calc(100% - 40px));box-sizing:border-box}
.hero-art .showcase-caption strong,.hero-art .showcase-caption p{color:#fff!important;opacity:1;line-height:1.5}
.hero-art .showcase-caption span{color:#ffd0aa!important;opacity:1}
.hero-copy,.hero-copy h1,.hero-copy>p{overflow-wrap:break-word;min-width:0}
@media(max-width:850px){.hero-art .showcase-caption{max-width:none;width:auto;left:6%;right:6%}.hero-art .showcase-caption p{font-size:14px}.hero-art .showcase-caption span{font-size:10px}}
/* Mobile slideshow fills the hero behind the copy. */
@media(max-width:850px){
.hero{min-height:calc(100svh - 90px)!important;padding-bottom:140px}
.hero-copy{min-height:0!important;padding-top:35px;padding-bottom:35px}
.hero-art[data-scene="slideshow"]>img,.hero-art[data-scene="slideshow"].slide-enter>img{inset:0!important;height:100%!important;width:100%!important;object-fit:cover!important;object-position:center!important}
.clean-image-pair,.hero-art[data-slide="7"]>.clean-image-pair{top:0!important;bottom:0!important;height:100%!important}
.hero-art .showcase-caption{bottom:20px!important}
}
/* Final device sizing and safe text wrapping. */
header{position:relative;z-index:10}img{max-width:100%}main,.section,.footer-grid>*{min-width:0}p,h1,h2,h3,a,address{overflow-wrap:break-word}
.hero .showcase-caption{right:5%;max-width:330px;padding:16px 0}
.hero-kicker{line-height:1.6}.hero-proof{gap:0;row-gap:16px}.hero-proof span{line-height:1.5}
@media(min-width:851px){.hero-copy{width:53%;max-width:850px;padding-left:5vw;padding-right:24px}.hero h1{font-size:clamp(38px,3.8vw,66px)}.hero-art .showcase-caption{width:29%;bottom:28px}}
@media(min-width:851px) and (max-width:1100px){header .logo{width:170px}nav{gap:12px;font-size:11px}nav .small{padding:10px 13px}.hero-copy{width:60%}.hero-art .showcase-caption{width:29%;font-size:14px}}
@media(max-width:850px){header{padding:18px 6%;min-height:86px}header .logo{width:180px;max-width:65vw}.menu{min-width:44px;min-height:44px;align-items:center;justify-content:center}nav.open{max-height:calc(100svh - 86px);overflow-y:auto}.hero{padding-bottom:170px;min-height:calc(100svh - 86px)!important}.hero-copy{width:100%;max-width:none;padding:35px 6% 28px}.hero h1{font-size:clamp(32px,5.8vw,48px);letter-spacing:-1px;line-height:1.13}.hero-copy>p{font-size:16px;line-height:1.8}.hero-art .showcase-caption{left:6%;right:6%;width:auto;max-width:none;bottom:20px!important}.hero-proof strong{font-size:27px}.hero-proof span{font-size:11px}.hero-proof>div{padding:0 12px}.hero .actions .btn{min-height:48px}.section-head>p{max-width:100%}}
@media(max-width:360px){.hero h1{font-size:30px}.hero-kicker{font-size:10px;letter-spacing:1.5px}.hero-proof>div{padding:0 9px}.hero-proof strong{font-size:25px}.hero-proof span{font-size:10px}.contact form{padding:20px}.phone{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Phone composition: show the full artwork without zooming or cutting off sprinklers. */
@media(max-width:600px){
.hero{min-height:calc(100svh - 86px)!important;padding-bottom:150px}
.hero-copy{padding:28px 6% 28px}
.hero h1{font-size:clamp(30px,7.6vw,42px);margin-bottom:24px!important}
.hero-copy>p{font-size:15px;line-height:1.8}
.hero .actions{margin-top:20px}.hero-proof{margin-top:26px}
.hero-art[data-scene="slideshow"]>img,.hero-art[data-scene="slideshow"].slide-enter>img{object-fit:contain!important;object-position:center 58%!important;inset:0!important;width:100%!important;height:100%!important;opacity:.68!important}
.hero-art[data-scene="slideshow"].scene-changing>img{opacity:.2!important}
.clean-image-pair,.hero-art[data-slide="7"]>.clean-image-pair{opacity:.68;width:100%!important;height:100%!important}
.hero-art .showcase-caption{bottom:20px!important;padding:10px 0;max-width:none}
.hero-art .showcase-caption strong{font-size:21px;line-height:1.35}.hero-art .showcase-caption p{font-size:13px;margin-bottom:0}
.hero-copy h1,.hero-kicker,.hero-copy>p,.hero-proof strong,.hero-proof span,.showcase-caption span,.showcase-caption strong,.showcase-caption p{text-shadow:0 1px 3px #000,0 0 6px #000,0 0 12px #000!important}
}
/* Automatic layouts follow available screen width, including rotation and browser zoom. */
@media(min-width:601px) and (max-width:850px){
.hero{min-height:800px!important;padding-bottom:160px}.hero-copy{width:78%;max-width:670px;padding:42px 6%}.hero h1{font-size:clamp(38px,5.6vw,48px)}
.hero-art[data-scene="slideshow"]>img,.hero-art[data-scene="slideshow"].slide-enter>img{object-fit:contain!important;object-position:center!important;opacity:.72!important}
.hero-art[data-scene="slideshow"].scene-changing>img{opacity:.2!important}
.hero-art .showcase-caption{left:6%;right:6%;max-width:440px}
}
@media(min-width:1800px){
.hero{min-height:clamp(850px,calc(100svh - 130px),1200px)!important;display:flex!important;align-items:center}
.hero-copy{width:52%;max-width:1050px;min-height:0;padding:80px 4vw 100px max(5vw,calc((100vw - 2200px)/2))}
.hero h1{font-size:clamp(66px,3.1vw,96px);max-width:100%}.hero-copy>p{font-size:clamp(18px,.85vw,24px);max-width:720px;line-height:1.8}
.hero-kicker{font-size:clamp(12px,.52vw,17px)}.hero-proof strong{font-size:clamp(30px,1.35vw,44px)}.hero-proof span{font-size:clamp(12px,.55vw,17px)}
.hero-art .showcase-caption{right:5%;bottom:40px;max-width:440px;width:25%}.hero-art .showcase-caption strong{font-size:clamp(24px,1vw,34px)}.hero-art .showcase-caption p{font-size:clamp(14px,.65vw,20px)}
}
@media(pointer:coarse){nav a,.footer-links a{min-height:44px;display:flex;align-items:center}input,select,textarea{font-size:16px!important}}
/* Hidden pages must override hero layout rules at every screen size. */
main>.hero[hidden],main>.section[hidden]{display:none!important}
/* Borderless service and About presentation. */
#services .service-grid article,#services .service-grid article:hover,#services .service-grid .repair{border:0!important;box-shadow:none!important}
#about,#about .experience,#about .project-milestone{border:0!important;box-shadow:none!important}
#services .service-grid article{border-radius:10px;transition:background-color .2s ease}
#services .service-grid article:hover{background-color:#202126}
#about .experience{border-radius:10px}
/* Match Projects to the borderless Services and About sections. */
#gallery .project-card,#gallery .project-card:hover,#gallery .project-photos{border:0!important;box-shadow:none!important}
/* Borderless Careers card. */
#careers .career-card{border:0!important;box-shadow:none!important}
/* About statistics display directly on the section background. */
#about .experience,#about .experience .project-milestone{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;border-radius:0}
/* Careers contact content sits directly on the section background. */
#careers .career-card{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;border-radius:0}
/* Estimate form without an outer card background. */
#estimate #estimate-form{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;border-radius:0}
/* Selected estimate design: simple fields, spacious layout and soft orange action. */
#estimate{background-image:linear-gradient(90deg,#080a0eef,#080a0ed9),url('assets/sprinkler.png')}
#estimate-form{padding:38px!important}
#estimate-form h3{font-size:30px;letter-spacing:-.7px}
#estimate-form .form-intro{margin:12px 0 32px;color:#c8cbd2}
#estimate-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
#estimate-form label{font-size:12px;font-weight:400;letter-spacing:.2px;margin-bottom:24px;color:#eceef3}
#estimate-form input,#estimate-form select,#estimate-form textarea{background:#0b0e13d9;border:0;border-bottom:1px solid #626975;border-radius:0;padding:13px 14px;margin-top:9px;font-weight:400}
#estimate-form textarea{min-height:110px}
#estimate-form .btn{border-radius:28px;background:#fac28f;color:#111;min-height:52px}
#estimate-form .btn:hover{background:#ffd3ac}
#estimate-form .form-note{font-size:11px;line-height:1.8;color:#b9c0ca;margin-top:18px}
@media(max-width:600px){#estimate-form{padding:20px 0!important}#estimate-form .form-row{grid-template-columns:1fr;gap:0}#estimate-form h3{font-size:27px}#estimate-form input,#estimate-form select,#estimate-form textarea{font-size:16px}}
