@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--forest:#153c2e;--forest2:#0b281e;--lime:#d9ec66;--safety:#ff9b32;--cream:#f1eddc;--ink:#10231c;--white:#fff;--line:rgba(16,35,28,.18);--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,textarea{font:inherit}.page{overflow:hidden}.container{width:min(1440px,calc(100% - 64px));margin:auto}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:700}.display{font-family:'Archivo Black',sans-serif;text-transform:uppercase;letter-spacing:-.055em;line-height:.88;margin:0}.section{padding:120px 0}.section-head{display:grid;grid-template-columns:.4fr 1.3fr;gap:56px;align-items:start;margin-bottom:64px}.section-head h2{font-size:clamp(46px,7vw,112px)}.lead{font-size:clamp(20px,2vw,30px);line-height:1.3;max-width:780px}.muted{opacity:.68}.pill{display:inline-flex;align-items:center;gap:10px;padding:11px 16px;border:1px solid currentColor;border-radius:99px;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:17px 24px;border-radius:99px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:12px;transition:.25s;border:1px solid transparent}.btn-dark{background:var(--forest2);color:white}.btn-dark:hover{background:var(--safety);color:var(--forest2)}.btn-accent{background:var(--safety);color:var(--forest2)}.btn-accent:hover{transform:translateY(-3px)}.btn-light{background:var(--cream)}
.topbar{height:38px;background:var(--safety);display:flex;align-items:center;justify-content:center;font-weight:800;text-transform:uppercase;letter-spacing:.09em;font-size:11px}.site-header{position:fixed;z-index:60;top:38px;left:0;width:100%;padding:18px 0;mix-blend-mode:normal;transition:.3s}.site-header.scrolled{background:rgba(241,237,220,.92);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--line)}.nav{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-weight:900}.brand-mark{width:46px;height:46px;border-radius:50%;background:var(--forest2);position:relative}.brand-mark:before,.brand-mark:after{content:'';position:absolute;background:var(--lime);border-radius:100% 0}.brand-mark:before{width:16px;height:28px;left:14px;top:8px;transform:rotate(-25deg)}.brand-mark:after{width:12px;height:20px;left:25px;top:15px;transform:rotate(30deg);background:var(--safety)}.brand-copy{line-height:.9}.brand-copy b{font-family:'Archivo Black';font-size:18px;letter-spacing:-.04em}.brand-copy small{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;margin-top:5px}.navlinks{display:flex;gap:26px;align-items:center;font-weight:700;font-size:13px}.navlinks a:not(.btn){position:relative}.navlinks a:not(.btn):after{content:'';position:absolute;height:2px;width:0;left:0;bottom:-5px;background:var(--safety);transition:.25s}.navlinks a:hover:after,.navlinks a.active:after{width:100%}.menu-btn{display:none;border:0;background:none;font-weight:800}
.hero{min-height:100svh;background:var(--forest);color:var(--cream);display:flex;align-items:flex-end;position:relative;padding:185px 0 60px}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,40,30,.95) 0%,rgba(11,40,30,.4) 50%,rgba(11,40,30,.2) 100%),url('https://www.joshuatreeexperts.com/hubfs/JoshuaTree_042621-0188%20%282%29.jpg') center/cover;filter:saturate(.86)}.hero-inner{position:relative;z-index:2}.hero h1{font-size:clamp(46px,7vw,110px);max-width:1200px}.hero .orange{color:var(--safety)}.hero-bottom{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-top:40px}.hero-copy{font-size:clamp(18px,1.8vw,26px);max-width:690px;line-height:1.35}.hero-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.3);margin-top:55px}.stat{padding:24px 20px 4px 0}.stat strong{display:block;font-size:27px}.stat small{opacity:.7;text-transform:uppercase;letter-spacing:.11em}
.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}.intro h2{font-size:clamp(56px,8vw,120px)}.image-stack{height:720px;position:relative}.image-stack .big{position:absolute;right:0;top:0;width:78%;height:80%;border-radius:var(--radius);overflow:hidden}.image-stack .small{position:absolute;left:0;bottom:0;width:48%;height:42%;border:12px solid var(--cream);border-radius:var(--radius);overflow:hidden}.ring{width:110px;height:110px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;text-transform:uppercase;font-size:11px;position:absolute;right:6%;bottom:10%;z-index:3;transform:rotate(8deg)}
.horizontal-wrap{background:var(--forest2);color:var(--cream);position:relative}.horizontal-heading{padding:90px 0 25px}.horizontal-heading h2{font-size:clamp(54px,7.5vw,116px)}.horizontal-stage{height:100svh;display:flex;align-items:center;overflow:hidden}.horizontal-track{display:flex;gap:28px;padding:0 max(32px,calc((100vw - 1440px)/2));width:max-content}.service-card{width:min(70vw,780px);height:70vh;min-height:500px;border-radius:36px;overflow:hidden;position:relative;background:#244}.service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(5,24,17,.9) 100%)}.service-card img{transition:transform .8s}.service-card:hover img{transform:scale(1.04)}.service-info{position:absolute;z-index:3;bottom:0;padding:38px}.service-no{font-size:12px;letter-spacing:.15em}.service-info h3{font-family:'Archivo Black';font-size:clamp(34px,4vw,68px);text-transform:uppercase;line-height:.92;letter-spacing:-.045em;margin:10px 0 16px}.service-info p{max-width:520px;font-size:16px;opacity:.9}.service-info .pill{margin-top:12px}
.why{background:var(--lime)}.why-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.why h2{font-size:clamp(58px,8vw,126px);position:sticky;top:130px}.why-list{border-top:2px solid var(--forest2)}.why-item{display:grid;grid-template-columns:70px 1fr;gap:22px;padding:34px 0;border-bottom:1px solid rgba(11,40,30,.35)}.why-item span{font-family:'Archivo Black';font-size:28px}.why-item h3{font-size:30px;margin:0 0 8px}.why-item p{margin:0;font-size:17px;line-height:1.55;opacity:.75}
.project-strip{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.project-img{height:700px;border-radius:var(--radius);overflow:hidden}.project-copy{background:var(--safety);border-radius:var(--radius);padding:52px;display:flex;flex-direction:column;justify-content:space-between}.project-copy h2{font-size:clamp(50px,6vw,90px)}.project-copy p{font-size:20px;line-height:1.4}.project-copy .btn{align-self:flex-start}
.testimonials{background:#d9d3bd}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.quote{background:var(--cream);border-radius:24px;padding:34px;min-height:330px;display:flex;flex-direction:column;justify-content:space-between}.stars{letter-spacing:.2em}.quote p{font-size:22px;line-height:1.35}.quote small{font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.process{background:var(--cream)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.step{padding:28px;border-top:2px solid var(--forest2);min-height:260px}.step b{font-family:'Archivo Black';font-size:44px;color:var(--safety)}.step h3{font-size:24px;margin:42px 0 10px}.step p{opacity:.72;line-height:1.55}
.cta{background:var(--forest);color:white;padding:130px 0}.cta-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end}.cta h2{font-size:clamp(62px,9vw,142px)}.cta-side p{font-size:22px;line-height:1.4}.cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.footer{background:#071a13;color:#dfe7df;padding:70px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,.7fr);gap:60px}.footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--safety)}.footer a,.footer p{display:block;opacity:.82;margin:9px 0;font-size:14px}.footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:50px;padding-top:22px;display:flex;justify-content:space-between;font-size:12px;opacity:.65}
.page-hero{padding:210px 0 90px;background:var(--forest);color:var(--cream);min-height:68vh;display:flex;align-items:flex-end;position:relative}.page-hero h1{font-size:clamp(72px,11vw,174px)}.page-hero .kicker{max-width:760px;font-size:23px;line-height:1.4;margin:30px 0 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split-img{height:620px;border-radius:var(--radius);overflow:hidden}.copy h2{font-size:clamp(48px,6vw,92px)}.copy p{font-size:18px;line-height:1.65}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.service-detail{padding:36px;border:1px solid var(--line);border-radius:22px}.service-detail h3{font-size:29px;margin:14px 0}.service-detail p{line-height:1.55;opacity:.72}.service-detail:nth-child(1){background:var(--lime)}.service-detail:nth-child(4){background:var(--safety)}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:130px;gap:18px}.gallery figure{margin:0;overflow:hidden;border-radius:24px;position:relative}.gallery figure:nth-child(1){grid-column:span 7;grid-row:span 4}.gallery figure:nth-child(2){grid-column:span 5;grid-row:span 2}.gallery figure:nth-child(3){grid-column:span 5;grid-row:span 3}.gallery figure:nth-child(4){grid-column:span 7;grid-row:span 3}.gallery figure:nth-child(5){grid-column:span 5;grid-row:span 3}.gallery figure:after{content:attr(data-label);position:absolute;left:18px;bottom:18px;background:rgba(241,237,220,.9);padding:8px 12px;border-radius:99px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.video-frame{aspect-ratio:16/9;background:var(--forest2);border-radius:28px;overflow:hidden;position:relative}.video-frame img{opacity:.7}.play{position:absolute;inset:0;margin:auto;width:110px;height:110px;border-radius:50%;background:var(--safety);display:grid;place-items:center;font-weight:900}.play:after{content:'▶';font-size:28px;margin-left:5px}.area-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px}.map-card{min-height:560px;border-radius:var(--radius);background:radial-gradient(circle at 50% 50%,rgba(217,236,102,.35) 0 23%,transparent 24%),repeating-radial-gradient(circle at 50% 50%,transparent 0 55px,rgba(217,236,102,.22) 56px 57px),var(--forest2);position:relative;color:white;display:grid;place-items:center;text-align:center;padding:40px}.map-card strong{font-family:'Archivo Black';font-size:74px}.area-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.area-list span{padding:20px;border:1px solid var(--line);border-radius:14px;font-weight:700}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-info{background:var(--forest2);color:white;border-radius:var(--radius);padding:45px}.contact-info h3{font-size:32px}.contact-info a{font-size:20px;margin:14px 0;display:block}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.field input,.field textarea,.field select{background:transparent;border:1px solid var(--line);border-radius:14px;padding:17px;outline:none}.field textarea{min-height:150px;resize:vertical}
.reveal{opacity:0;transform:translateY(40px) scale(.96)}
@media(max-width:980px){.container{width:min(100% - 36px,1440px)}.navlinks{display:none}.menu-btn{display:block}.navlinks.open{display:flex;position:fixed;inset:0;background:var(--cream);z-index:-1;padding:130px 24px 30px;flex-direction:column;align-items:flex-start;font-size:34px}.hero{padding-top:150px}.hero-bottom,.intro-grid,.why-grid,.project-strip,.cta-inner,.split,.area-grid,.contact-grid{grid-template-columns:1fr}.hero-actions{justify-content:flex-start}.stat-row{grid-template-columns:1fr 1fr}.section{padding:90px 0}.section-head{grid-template-columns:1fr;gap:20px}.image-stack{height:560px}.horizontal-heading{padding-bottom:50px}.horizontal-stage{height:auto;overflow:visible}.horizontal-track{display:grid;width:auto;padding:0 18px 80px;grid-template-columns:1fr}.service-card{width:100%;height:65vh}.why h2{position:static}.why-grid{gap:40px}.project-img{height:520px}.quote-grid,.process-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:380px}.gallery figure:nth-child(n){grid-column:auto;grid-row:auto}.service-list{grid-template-columns:1fr}}
@media(max-width:600px){.container{width:calc(100% - 28px)}.site-header{top:34px}.topbar{height:34px;font-size:9px}.brand-copy small{display:none}.hero{min-height:92svh}.hero h1{font-size:clamp(58px,18vw,86px)}.hero-bottom{gap:24px}.stat-row{grid-template-columns:1fr 1fr}.stat strong{font-size:22px}.intro-grid{gap:30px}.image-stack{height:430px}.service-card{height:68vh;min-height:500px}.service-info{padding:25px}.quote-grid,.process-grid{grid-template-columns:1fr}.project-copy{padding:34px}.project-img{height:420px}.cta{padding:90px 0}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.page-hero{padding-top:170px;min-height:60vh}.page-hero h1{font-size:clamp(58px,17vw,100px)}.split-img{height:430px}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.area-list{grid-template-columns:1fr}.gallery{grid-auto-rows:300px}}

/* INDEX refinements - Aug 31, 2026 */
.topbar{position:fixed;top:0;left:0;width:100%;z-index:70}
.site-header,.site-header.scrolled{position:fixed;top:38px;left:0;width:100%;z-index:69;background:rgba(7,26,19,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(255,255,255,.08);padding:16px 0}
.site-header .brand,.site-header .navlinks a:not(.btn),.site-header .menu-btn{color:#fff}
.site-header .brand-copy small{color:rgba(255,255,255,.72)}
.site-header .brand-mark{background:#fff}
.site-header .navlinks .btn-dark{background:var(--safety);color:var(--forest2)}
.site-header .navlinks .btn-dark:hover{background:var(--lime);color:var(--forest2)}

.hero-video{background:var(--forest2);isolation:isolate;overflow:hidden}
.hero-video:before{display:none}
.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}
.hero-video-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,28,20,.92) 0%,rgba(5,28,20,.62) 42%,rgba(5,28,20,.28) 72%,rgba(5,28,20,.38) 100%),linear-gradient(0deg,rgba(5,28,20,.55) 0%,transparent 42%)}
.hero-video .hero-inner{z-index:2}

.image-stack .big,.image-stack .small,.project-img{background:var(--forest2)}
.image-stack img,.service-card img,.project-img img{object-position:center center}
.parallax img{height:116%;margin-top:-8%;transform-origin:center center}
.project-img.parallax img{height:112%;margin-top:-6%;object-position:center 42%}

/* Background photography on selected home sections */
.why{position:relative;isolation:isolate;background:var(--lime);overflow:hidden}
.why:before{content:"";position:absolute;inset:0;z-index:-2;background:url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=2000&q=82') center/cover no-repeat}
.why:after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(217,236,102,.90)}
.testimonials{position:relative;isolation:isolate;overflow:hidden;background:#d9d3bd}
.testimonials:before{content:"";position:absolute;inset:0;z-index:-2;background:url('https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=2000&q=82') center/cover no-repeat}
.testimonials:after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(217,211,189,.88)}
.process{position:relative;isolation:isolate;overflow:hidden;background:var(--cream)}
.process:before{content:"";position:absolute;inset:0;z-index:-2;background:url('https://images.unsplash.com/photo-1448375240586-882707db888b?auto=format&fit=crop&w=2000&q=82') center/cover no-repeat}
.process:after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(241,237,220,.93)}
.cta{position:relative;isolation:isolate;overflow:hidden;background:var(--forest)}
.cta:before{content:"";position:absolute;inset:0;z-index:-2;background:url('https://images.unsplash.com/photo-1511497584788-876760111969?auto=format&fit=crop&w=2000&q=84') center/cover no-repeat}
.cta:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,26,19,.94),rgba(7,26,19,.76))}

@media(max-width:980px){
  .site-header .navlinks.open{background:rgba(7,26,19,.98);color:#fff;z-index:-1}
  .site-header .navlinks.open a{color:#fff}
  .site-header .navlinks.open .btn-dark{color:var(--forest2)}
}
@media(max-width:600px){.site-header,.site-header.scrolled{top:34px}}

/* Global refinement pass - Aug 31, 2026 */
:root{--header-bg:rgba(7,26,19,.9)}

/* Header remains fixed and does not shift or restyle while scrolling */
.topbar{position:fixed!important;top:0;left:0;width:100%;z-index:101}
.site-header,.site-header.scrolled{position:fixed!important;top:38px!important;left:0!important;width:100%;z-index:100;background:var(--header-bg)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.1);padding:16px 0;transition:none!important;transform:none!important;will-change:auto!important}
.site-header .brand,.site-header .navlinks a:not(.btn),.site-header .menu-btn{color:#fff}
.site-header .brand-copy small{color:rgba(255,255,255,.72)}
.site-header .brand-mark{background:#fff}
.site-header .navlinks .btn-dark{background:var(--safety);color:var(--forest2)}
.site-header .navlinks .btn-dark:hover{background:var(--lime);color:var(--forest2)}

/* Hero button contrast fix */
.hero .btn-light,.cta .btn-light{background:var(--cream);color:var(--forest2)!important;border-color:var(--cream)}
.hero .btn-light:hover,.cta .btn-light:hover{background:var(--lime);color:var(--forest2)!important}

/* Word-by-word title animation */
.display{overflow:visible}
.title-word{display:inline-block;will-change:transform,opacity}
.orange .title-word{color:var(--safety)}

/* Rich interaction / hover system */
a,button,.btn,.pill,.service-detail,.quote,.step,.area-list span,.gallery figure,.contact-info,.footer-social a{transition:transform .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,opacity .3s ease}
.btn:hover,.pill:hover{transform:translateY(-4px)}
.pill:hover{background:var(--forest2);color:#fff;border-color:var(--forest2)}
.service-detail:hover,.quote:hover,.step:hover,.area-list span:hover{transform:translateY(-7px);box-shadow:0 18px 48px rgba(16,35,28,.12)}
.service-card:hover{transform:translateY(-4px)}
.service-card,.project-strip,.image-stack .big,.image-stack .small{transition:transform .45s ease,box-shadow .45s ease}
.image-stack .big:hover,.image-stack .small:hover,.project-img:hover{box-shadow:0 24px 60px rgba(7,26,19,.16)}
.footer a:hover{opacity:1;color:var(--safety)}

/* Footer logo + icons */
.footer a.footer-brand{display:flex;align-items:center;gap:12px;margin:0}
.footer .footer-brand{color:#fff}
.footer .footer-brand .brand-mark{background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.footer .footer-brand .brand-copy b{color:#fff}
.footer .footer-brand .brand-copy small{color:rgba(255,255,255,.66)}
.footer-about{max-width:340px;margin-top:24px!important}
.footer i{width:18px;color:var(--safety);margin-right:5px}
.footer-indent{padding-left:28px}
.footer-social{display:flex;gap:10px;margin-top:22px}
.footer-social a{width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center!important;margin:0!important;opacity:1!important}
.footer-social a i{width:auto;margin:0;color:#fff}
.footer-social a:hover{background:var(--safety);border-color:var(--safety);transform:translateY(-4px)}
.footer-social a:hover i{color:var(--forest2)}

/* Image backgrounds for internal page title banners */
.page-hero{isolation:isolate;overflow:hidden;background:var(--forest2)}
.page-hero:before,.page-hero:after{content:"";position:absolute;inset:0;pointer-events:none}
.page-hero:before{z-index:-2;background-position:center;background-size:cover;background-repeat:no-repeat;transform:scale(1.03)}
.page-hero:after{z-index:-1;background:linear-gradient(90deg,rgba(5,26,19,.94) 0%,rgba(5,26,19,.74) 46%,rgba(5,26,19,.42) 100%),linear-gradient(0deg,rgba(5,26,19,.35),rgba(5,26,19,.12))}
.page-hero .container{position:relative;z-index:2}
.hero-about:before{background-image:url('https://images.unsplash.com/photo-1511497584788-876760111969?auto=format&fit=crop&w=2000&q=88')}
.hero-location:before{background-image:url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=2000&q=88')}
.hero-services:before{background-image:url('https://images.unsplash.com/photo-1523712999610-f77fbcfc3843?auto=format&fit=crop&w=2000&q=88')}
.hero-portfolio:before{background-image:url('https://images.unsplash.com/photo-1497250681960-ef046c08a56e?auto=format&fit=crop&w=2000&q=88')}
.hero-video-page:before{background-image:url('https://images.unsplash.com/photo-1448375240586-882707db888b?auto=format&fit=crop&w=2000&q=88')}
.hero-contact:before{background-image:url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2000&q=88')}

/* Location map */
.map-embed{min-height:580px;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--forest2);box-shadow:0 25px 70px rgba(7,26,19,.13)}
.map-embed iframe,.contact-map iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.8) contrast(.95)}
.map-badge{position:absolute;left:28px;bottom:28px;background:var(--forest2);color:#fff;padding:20px 24px;border-radius:18px;box-shadow:0 15px 40px rgba(0,0,0,.22)}
.map-badge span{display:block;color:var(--safety);margin-bottom:7px}
.map-badge strong{font-family:'Archivo Black';font-size:25px}

/* Expanded services */
.service-list-rich{grid-template-columns:1fr;gap:30px}
.service-detail-rich{padding:0;display:grid;grid-template-columns:minmax(320px,.86fr) 1.14fr;overflow:hidden;background:#fff!important;min-height:470px;border:0;box-shadow:0 12px 35px rgba(16,35,28,.07)}
.service-detail-rich:nth-child(even){grid-template-columns:1.14fr minmax(320px,.86fr)}
.service-detail-rich:nth-child(even) .service-detail-img{order:2}
.service-detail-img{min-height:470px;overflow:hidden}
.service-detail-img img{transition:transform .8s ease}
.service-detail-rich:hover .service-detail-img img{transform:scale(1.055)}
.service-detail-body{padding:48px;display:flex;flex-direction:column;justify-content:center}
.service-detail-body h3{font-family:'Archivo Black';text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(34px,4vw,62px);line-height:.98;margin:13px 0 20px}
.service-detail-body p{font-size:17px;line-height:1.65;margin:0 0 16px}
.service-detail-body ul{padding-left:20px;margin:0 0 25px;display:grid;gap:9px;line-height:1.45}
.service-detail-body .pill{align-self:flex-start}

/* Portfolio click zoom */
.gallery .zoomable{cursor:zoom-in}
.gallery .zoomable img{transition:transform .7s ease,filter .5s ease}
.gallery .zoomable:hover img{transform:scale(1.055);filter:saturate(1.08)}
.zoom-icon{position:absolute;right:18px;top:18px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(7,26,19,.88);color:#fff;z-index:3;transform:scale(.85);opacity:0;transition:.3s}
.gallery .zoomable:hover .zoom-icon{opacity:1;transform:scale(1)}
.lightbox{position:fixed;inset:0;z-index:999;background:rgba(4,15,11,.94);display:flex;align-items:center;justify-content:center;padding:50px;opacity:0;visibility:hidden;transition:.35s}
.lightbox.open{opacity:1;visibility:visible}
.lightbox img{width:auto;height:auto;max-width:min(1400px,92vw);max-height:82vh;border-radius:20px;object-fit:contain;box-shadow:0 30px 100px rgba(0,0,0,.45)}
.lightbox-close{position:absolute;right:28px;top:26px;border:0;background:var(--safety);color:var(--forest2);width:50px;height:50px;border-radius:50%;font-size:22px;cursor:pointer}
.lightbox-caption{position:absolute;bottom:24px;color:#fff;text-transform:uppercase;font-weight:800;letter-spacing:.12em;font-size:12px}
body.lightbox-open{overflow:hidden}

/* Video coming soon */
.coming-soon{min-height:62vh;display:flex;align-items:center;text-align:center}
.coming-soon-inner{max-width:940px}
.coming-soon h2{font-size:clamp(80px,13vw,190px);color:var(--forest2);margin:16px 0 25px}
.coming-soon .lead{margin:0 auto 32px}
.coming-icon{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:var(--safety);font-size:28px;margin:0 auto 28px}

/* Contact icons + map */
.contact-info hr{border:0;border-top:1px solid rgba(255,255,255,.2);margin:30px 0}
.contact-line{display:flex!important;gap:12px;align-items:flex-start}
.contact-line i{color:var(--safety);width:22px;margin-top:5px;text-align:center}
.contact-info .btn i{color:var(--forest2);margin-top:0;width:auto}
.contact-map-section{padding:0 0 120px}
.compact-head{margin-bottom:45px}
.contact-map{height:560px;border-radius:var(--radius);overflow:hidden;box-shadow:0 25px 70px rgba(7,26,19,.13)}

@media(max-width:980px){
  .site-header .navlinks.open{background:rgba(7,26,19,.98);color:#fff;z-index:-1}
  .site-header .navlinks.open a{color:#fff}
  .service-detail-rich,.service-detail-rich:nth-child(even){grid-template-columns:1fr}
  .service-detail-rich:nth-child(even) .service-detail-img{order:0}
  .service-detail-img{min-height:430px}
  .contact-map-section{padding-bottom:90px}
}
@media(max-width:600px){
  .site-header,.site-header.scrolled{top:34px!important}
  .service-detail-body{padding:30px 24px}
  .service-detail-img{min-height:310px}
  .map-embed,.contact-map{min-height:420px;height:420px}
  .map-badge{left:14px;bottom:14px;padding:15px 18px}
  .lightbox{padding:20px}
  .lightbox-close{right:14px;top:14px}
}

/* Motion pass - Aug 31, 2026 */
.has-custom-cursor,.has-custom-cursor *{cursor:none!important}
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%;transition:opacity .2s}
.cursor-dot{width:8px;height:8px;background:#fff;mix-blend-mode:difference}
.cursor-ring{width:38px;height:38px;border:1.5px solid #fff;mix-blend-mode:difference;transition:width .25s ease,height .25s ease,background-color .25s ease,opacity .2s}
body.cursor-hover .cursor-ring{width:66px;height:66px;background:rgba(255,255,255,.14)}
body.cursor-down .cursor-ring{width:26px;height:26px}
@media(max-width:980px){.cursor-dot,.cursor-ring{display:none!important}.has-custom-cursor,.has-custom-cursor *{cursor:auto!important}}

.marquee{background:var(--forest2);color:var(--cream);overflow:hidden;padding:18px 0}
.marquee-track{display:flex;width:max-content;animation:marqueeScroll 24s linear infinite}
.marquee-set{display:flex;gap:52px;padding-right:52px;flex-shrink:0}
.marquee-set span{font-family:'Archivo Black',sans-serif;text-transform:uppercase;font-size:20px;letter-spacing:-.01em;white-space:nowrap;display:inline-flex;align-items:center;gap:52px}
.marquee-set span:after{content:'\2726';color:var(--safety);font-size:14px}
@keyframes marqueeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

.topbar{gap:9px}
.topbar:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--forest2);animation:pulseDot 1.7s ease-in-out infinite}
@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(1.7)}}

.ring{animation:floatRing 4.2s ease-in-out infinite}
@keyframes floatRing{0%,100%{transform:rotate(8deg) translateY(0)}50%{transform:rotate(8deg) translateY(-10px)}}

.brand-mark{transition:transform .4s ease}
.brand:hover .brand-mark{transform:rotate(14deg) scale(1.1)}
.navlinks a:not(.btn){transition:transform .25s ease,color .25s ease}
.navlinks a:not(.btn):hover{transform:translateY(-2px)}

@media(max-width:980px){
  .navlinks.open a{opacity:0;transform:translateY(16px);animation:navLinkIn .5s ease forwards}
  .navlinks.open a:nth-child(1){animation-delay:.04s}
  .navlinks.open a:nth-child(2){animation-delay:.09s}
  .navlinks.open a:nth-child(3){animation-delay:.14s}
  .navlinks.open a:nth-child(4){animation-delay:.19s}
  .navlinks.open a:nth-child(5){animation-delay:.24s}
  .navlinks.open a:nth-child(6){animation-delay:.29s}
  .navlinks.open a:nth-child(7){animation-delay:.34s}
  .navlinks.open a:nth-child(8){animation-delay:.39s}
  @keyframes navLinkIn{to{opacity:1;transform:none}}
}

.service-detail:hover,.quote:hover,.step:hover,.area-list span:hover{transform:translateY(-9px) rotate(-.3deg)}

/* Floating actions - WhatsApp + back to top */
.floating-actions{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;flex-direction:column;gap:14px;align-items:center}
.fab{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:24px;line-height:1;box-shadow:0 12px 30px rgba(7,26,19,.28);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease;border:0;cursor:pointer}
.fab i{display:block;line-height:1}
.fab-whatsapp i{transform:translateY(16px)}
.fab-whatsapp{background:#25d366;color:#fff;animation:fabPulse 2.6s ease-in-out infinite}
.fab-whatsapp:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 16px 38px rgba(7,26,19,.34)}
.fab-top{background:var(--forest2);color:#fff;opacity:0;pointer-events:none;transform:translateY(12px) scale(.85)}
.fab-top.visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.fab-top:hover{background:var(--safety);color:var(--forest2);transform:translateY(-4px) scale(1.06)}
@keyframes fabPulse{0%,100%{box-shadow:0 12px 30px rgba(7,26,19,.28),0 0 0 0 rgba(37,211,102,.5)}50%{box-shadow:0 12px 30px rgba(7,26,19,.28),0 0 0 10px rgba(37,211,102,0)}}
@media(max-width:600px){.floating-actions{right:14px;bottom:14px;gap:10px}.fab{width:48px;height:48px;font-size:20px}}


/* ===== P & H Tree Service and Landscaping LLC adaptation ===== */
:root{--forest:#325B1A;--forest2:#244313;--safety:#F0C402;--orange:#F0C402;--accent:#F0C402}
body{font-family:"DM Sans",Arial,sans-serif}
.topbar{background:#325B1A;color:#fff}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px}
.topbar a{color:inherit;text-decoration:none}.topbar-social{display:flex;gap:16px;font-size:16px}
.site-header{background:transparent!important;position:absolute!important;top:38px;left:0;right:0;z-index:60;box-shadow:none!important}
.site-header .nav{min-height:112px}
.site-logo,.footer-logo{width:250px;max-width:250px;height:auto;display:block;object-fit:contain}
.footer-logo{filter:none}
.navlinks a{font-weight:700}.navlinks .active{color:#F0C402}
.hero-video{padding-top:150px}.hero-video-overlay{background:linear-gradient(90deg,rgba(10,34,18,.78),rgba(10,34,18,.32) 62%,rgba(10,34,18,.18))}
.orange,.stars,.review-stars,.featured-review .fa-star{color:#F0C402!important}
.eyebrow{font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.display{font-size:clamp(3rem,6.4vw,7rem)!important;line-height:.92;letter-spacing:-.045em;text-transform:none!important;font-weight:800}
.page-hero .display{font-size:clamp(3.4rem,7.2vw,7.7rem)!important;max-width:1050px}
.display .title-word{font-weight:800}.section-desc{max-width:780px;font-size:1.08rem;line-height:1.75;margin:18px 0 30px;color:inherit;opacity:.78}
.horizontal-heading .section-desc,.why .section-desc{max-width:650px}
.page-hero{background-image:linear-gradient(90deg,rgba(10,34,18,.82),rgba(10,34,18,.42)),url('https://assets.cdn.filesafe.space/GXwwZPSowCjKDzM8I62K/media/6a5a82ae9c9b37b5fda1b03c.jpg')!important;background-size:cover!important;background-position:center!important;min-height:72vh}
.page-hero .container{padding-top:150px}.page-hero .kicker{max-width:720px;font-size:1.15rem}
.footer{background:#13260d}.footer h4 i{color:#F0C402;margin-right:7px}.footer p i,.footer a i{min-width:18px;color:#F0C402}.footer-social a i{color:inherit}
.footer-brand{display:inline-flex}.footer-brand-col{align-items:flex-start}.footer-about{max-width:390px}
.footer-grid{grid-template-columns:1.35fr 1fr 1.1fr 1.2fr}
.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease}
.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 25%,rgba(255,255,255,.35) 48%,transparent 70%);transform:translateX(-130%);transition:transform .55s ease;z-index:-1}
.btn:hover:before{transform:translateX(130%)}.btn:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 14px 0 rgba(20,46,12,.18)}.btn:active{transform:translateY(1px) scale(.99)}
.service-card,.step,.quote,.platform-card,.featured-review,.service-detail{transition:transform .35s cubic-bezier(.2,.85,.2,1),box-shadow .35s ease,border-color .35s ease}
.service-card:hover,.step:hover,.quote:hover,.platform-card:hover,.featured-review:hover,.service-detail:hover{transform:translateY(-10px) rotate(-.15deg);box-shadow:0 22px 48px rgba(26,62,14,.18);border-color:#F0C402}
.service-card:after,.step:after,.quote:after,.platform-card:after{content:"";position:absolute;inset:auto -35% -55% auto;width:160px;height:160px;border-radius:50%;background:rgba(240,196,2,.16);transition:transform .45s ease;pointer-events:none}
.service-card:hover:after,.step:hover:after,.quote:hover:after,.platform-card:hover:after{transform:scale(2.4)}
.step,.quote,.platform-card{position:relative;overflow:hidden}
.tag-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.faq-section{background:#f5f3e8}.faq-list{display:grid;gap:14px;max-width:980px}.faq-item{background:#fff;border:1px solid rgba(50,91,26,.16);padding:0 24px;box-shadow:0 12px 28px rgba(50,91,26,.07)}.faq-item summary{cursor:pointer;font-weight:800;font-size:1.08rem;padding:22px 34px 22px 0;position:relative;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:0;top:14px;font-size:2rem;color:#325B1A}.faq-item[open] summary:after{content:"–";color:#F0C402}.faq-item p{padding:0 0 22px;margin:0;line-height:1.7}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}.gallery figure{aspect-ratio:4/3}.gallery figure img{transition:filter .35s ease,transform .45s ease}.gallery figure:hover img{filter:saturate(.6) contrast(1.05) brightness(.72);transform:scale(1.06)}.zoom-icon{opacity:0;transform:scale(.6) rotate(-10deg);transition:.3s ease}.gallery figure:hover .zoom-icon{opacity:1;transform:scale(1) rotate(0deg)}
.video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.video-card{background:#10230b;padding:10px;box-shadow:0 18px 35px rgba(16,35,11,.16)}.video-frame{position:relative;aspect-ratio:9/16;overflow:hidden;background:#000}.video-frame video{width:100%;height:100%;display:block;object-fit:cover}.video-number{position:absolute;left:12px;top:12px;background:#F0C402;color:#18300e;font-weight:900;padding:6px 9px;font-size:.75rem}
.review-feature{background:linear-gradient(145deg,#f7f3dc,#fff)}.featured-review{max-width:980px;margin:0 auto;background:#325B1A;color:#fff;padding:clamp(34px,6vw,74px);position:relative;overflow:hidden;border:2px solid transparent}.review-stars{display:flex;gap:10px;font-size:clamp(1.6rem,3vw,2.5rem);margin-bottom:28px}.review-stars i{animation:starPulse 1.8s ease-in-out infinite}.review-stars i:nth-child(2){animation-delay:.12s}.review-stars i:nth-child(3){animation-delay:.24s}.review-stars i:nth-child(4){animation-delay:.36s}.review-stars i:nth-child(5){animation-delay:.48s}@keyframes starPulse{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.12);filter:drop-shadow(0 7px 8px rgba(240,196,2,.35))}}.review-quote-mark{position:absolute;right:34px;top:-20px;font-size:11rem;line-height:1;color:rgba(240,196,2,.16);font-family:Georgia,serif}.featured-review blockquote{font-size:clamp(1.5rem,3.2vw,2.65rem);font-weight:700;line-height:1.35;margin:0 0 32px;max-width:850px}.reviewer{display:flex;flex-direction:column;gap:6px}.reviewer strong{font-size:1.1rem}.reviewer span{opacity:.8}
.platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.platform-card{display:block;text-decoration:none;color:inherit;padding:38px;border:1px solid rgba(50,91,26,.16);background:#fff}.platform-card>i{font-size:2.2rem;color:#325B1A}.platform-card h3{font-size:1.45rem;margin:20px 0 8px}
.contact-info .contact-line{align-items:flex-start}.contact-info .contact-line i{color:#F0C402}
@media(max-width:1100px){.navlinks{gap:13px}.navlinks a{font-size:.86rem}.site-logo{width:210px;max-width:210px}.video-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.site-header{top:38px}.site-header .nav{min-height:98px}.navlinks{background:#15310e}.navlinks.open{padding-top:120px}.site-logo{width:190px;max-width:190px;position:relative;z-index:80}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}.video-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.topbar{font-size:.72rem}.topbar-inner{min-height:42px}.topbar-inner>span:first-child{max-width:72%}.site-header{top:42px}.site-logo{width:165px;max-width:165px}.hero-video{padding-top:125px}.display,.page-hero .display{font-size:clamp(2.55rem,13vw,4.1rem)!important}.page-hero{min-height:68vh}.page-hero .container{padding-top:130px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.gallery figure{aspect-ratio:1/1}.video-grid{grid-template-columns:1fr 1fr;gap:10px}.video-card{padding:5px}.platform-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-logo{width:230px;max-width:100%}}


/* ==========================================================
   P & H refinement pass - Sep 04, 2026
   ========================================================== */
:root{--ph-green:#325B1A;--ph-yellow:#F0C402;--ph-banner:url("https://assets.cdn.filesafe.space/GXwwZPSowCjKDzM8I62K/media/6a5a82b01a0f048050283be0.jpg");--ph-prefooter:url("https://assets.cdn.filesafe.space/GXwwZPSowCjKDzM8I62K/media/6a5a82ae9b1e72b796b076db.jpg");--ph-mission:url("https://assets.cdn.filesafe.space/GXwwZPSowCjKDzM8I62K/media/6a5a82ae9b1e72b796b076e1.jpg")}

/* 1, 2, 6, 16: transparent header, uppercase icon nav, topbar hides on scroll */
.topbar{position:fixed!important;top:0!important;left:0!important;width:100%!important;z-index:120!important;transition:transform .38s ease,opacity .3s ease!important;will-change:transform}
body.topbar-hidden .topbar{transform:translateY(-110%)!important;opacity:0!important;pointer-events:none!important}
.site-header,.site-header.scrolled{position:fixed!important;top:38px!important;left:0!important;width:100%!important;z-index:110!important;background:transparent!important;background-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;border:0!important;transition:top .38s ease!important;padding:16px 0!important}
body.topbar-hidden .site-header{top:0!important}
.site-header .navlinks a{text-transform:uppercase!important;letter-spacing:.08em!important;text-shadow:0 2px 12px rgba(0,0,0,.85)}
.site-header .navlinks a i{margin-right:7px;color:var(--ph-yellow)}
.site-header .navlinks .btn-dark{text-shadow:none!important}
.site-header .menu-btn{text-shadow:0 2px 10px rgba(0,0,0,.8)}
.hero-video-overlay{display:none!important;background:none!important}
.hero-video .hero-inner,.page-hero .container{text-shadow:0 3px 16px rgba(0,0,0,.82),0 1px 3px rgba(0,0,0,.92)}
.hero-spacious .hero-inner{padding-top:54px}

/* 4: only section titles become a little smaller; hero/banner display sizes stay untouched */
main section:not(.hero):not(.page-hero) h2.display{font-size:clamp(40px,5.2vw,78px)!important;line-height:.94!important}
.horizontal-heading h2.display{font-size:clamp(42px,5.6vw,82px)!important}
.cta h2.display{font-size:clamp(48px,6.4vw,96px)!important}
.hero h1.display{font-size:clamp(46px,7vw,110px)!important}
.page-hero h1.display,.page-hero .display{font-size:clamp(3.4rem,7.2vw,7.7rem)!important}

/* 5: button icons */
.btn i,.pill i{font-size:.95em;transition:transform .25s ease}
.btn:hover i,.pill:hover i{transform:translateX(3px) rotate(-3deg)}

/* 8 + 16: title banners use requested image with zero dark filter/overlay; decorative accents on right */
.page-hero{background:var(--forest2)!important;isolation:isolate!important}
.page-hero:before{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:-2!important;background-image:var(--ph-banner)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;filter:none!important;opacity:1!important;transform:none!important}
.page-hero:after{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important;background:
 radial-gradient(circle at 88% 30%,rgba(240,196,2,.9) 0 5px,transparent 6px),
 radial-gradient(circle at 93% 52%,rgba(255,255,255,.78) 0 3px,transparent 4px),
 radial-gradient(circle at 84% 72%,rgba(50,91,26,.88) 0 8px,transparent 9px),
 linear-gradient(115deg,transparent 0 76%,rgba(240,196,2,.16) 76% 77%,transparent 77% 82%,rgba(255,255,255,.13) 82% 82.6%,transparent 82.6%)!important}
.page-hero .eyebrow{color:#fff!important}
.page-hero .display,.page-hero .kicker{color:#fff!important}

/* 9: all final content sections immediately above footer */
.pre-footer-bg{position:relative!important;isolation:isolate!important;background-image:var(--ph-prefooter)!important;background-size:cover!important;background-position:center!important;color:#fff!important}
.pre-footer-bg:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,32,13,.86),rgba(8,32,13,.48))}
.pre-footer-bg .eyebrow,.pre-footer-bg h2,.pre-footer-bg p{text-shadow:0 2px 12px rgba(0,0,0,.78)}
.pre-footer-bg .btn{text-shadow:none}

/* 10: mission and vision photography */
.mission-vision-bg{position:relative!important;isolation:isolate!important;background-image:var(--ph-mission)!important;background-size:cover!important;background-position:center!important}
.mission-vision-bg:before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(241,237,220,.68)}
.mission-vision-bg:after{display:none!important}
.mission-vision-bg .section-head{text-shadow:0 2px 8px rgba(255,255,255,.45)}

/* 7: home portfolio scroll-swap */
.portfolio-swap-section{min-height:520vh!important;padding:0!important;position:relative!important}
.portfolio-swap-section .project-strip{height:100vh;min-height:720px;align-items:stretch;padding:90px 0;position:relative}
.portfolio-swap-media{height:auto!important;min-height:0!important;position:relative!important;overflow:hidden!important;background:#0d2410!important}
.portfolio-swap-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:0!important;transform:scale(1.045)!important;transition:opacity .55s ease,transform .85s ease!important;margin:0!important}
.portfolio-swap-image.is-active{opacity:1!important;transform:scale(1)!important}
.portfolio-swap-counter{position:absolute;left:24px;bottom:24px;z-index:8;background:var(--ph-yellow);color:#13260d;font-weight:900;letter-spacing:.08em;padding:9px 13px;border-radius:999px;text-shadow:none}

/* 11: services become edge-to-edge sticky panels that replace one another */
.services-scroll-section{padding:90px 0 0!important;background:var(--cream)!important}
.services-scroll-section > .container{padding-bottom:70px}
.sticky-service-list{display:block!important;width:100vw!important;max-width:none!important;margin:0!important;padding:0!important;gap:0!important}
.service-panel{position:sticky!important;top:0!important;width:100vw!important;height:100svh!important;min-height:680px!important;border:0!important;border-radius:0!important;margin:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;overflow:hidden!important;box-shadow:0 -10px 36px rgba(0,0,0,.12)!important;background:#fff!important;z-index:calc(10 + var(--panel-index))!important}
.service-panel:nth-child(even){grid-template-columns:1fr 1fr!important}
.service-panel:nth-child(even) .service-detail-img{order:2!important}
.service-panel .service-detail-img{height:100%!important;min-height:100%!important;border-radius:0!important}
.service-panel .service-detail-img img{width:100%!important;height:100%!important;object-fit:cover!important}
.service-panel .service-detail-body{padding:clamp(34px,6vw,90px)!important;justify-content:center!important;background:linear-gradient(135deg,#fff 0%,#f7f3df 100%)}
.service-panel .service-detail-body h3{font-size:clamp(42px,5vw,78px)!important}
.service-panel .service-detail-body:after{content:"";width:90px;height:6px;background:var(--ph-yellow);display:block;margin-top:28px}

/* 13: flush vertical videos, no numbering */
.video-gallery-section{padding-bottom:0!important}
.video-gallery-section > .container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.video-gallery-section .section-head{width:min(1440px,calc(100% - 64px));margin-left:auto;margin-right:auto}
.video-grid-flush{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;margin:0!important;padding:0!important;width:100%!important}
.video-grid-flush .video-card{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#000!important}
.video-grid-flush .video-frame{border-radius:0!important}
.video-number{display:none!important}

/* 14: hard reset portfolio masonry so nothing overlaps or shrinks unexpectedly */
.portfolio-grid-fixed{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-rows:auto!important;gap:18px!important;align-items:stretch!important}
.portfolio-grid-fixed > figure.portfolio-grid-item{grid-column:auto!important;grid-row:auto!important;position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-width:0!important;aspect-ratio:4/3!important;margin:0!important;border-radius:24px!important;overflow:hidden!important}
.portfolio-grid-fixed > figure.portfolio-grid-item img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important}

/* 15: LeadConnector form */
.ghl-form-wrap{min-height:748px;height:748px;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 18px 50px rgba(16,35,28,.1)}
.ghl-form-wrap iframe{width:100%!important;height:100%!important;min-height:748px!important;display:block!important}

@media(max-width:980px){
 .site-header,.site-header.scrolled{top:38px!important}
 body.topbar-hidden .site-header{top:0!important}
 .site-header .navlinks.open{background:rgba(8,32,13,.97)!important;backdrop-filter:none!important}
 .portfolio-swap-section{min-height:auto!important;padding:80px 0!important}
 .portfolio-swap-section .project-strip{height:auto!important;min-height:0!important;padding:0!important}
 .portfolio-swap-media{height:560px!important}
 .service-panel,.service-panel:nth-child(even){position:relative!important;top:auto!important;height:auto!important;min-height:0!important;grid-template-columns:1fr!important}
 .service-panel:nth-child(even) .service-detail-img{order:0!important}
 .service-panel .service-detail-img{height:58svh!important;min-height:420px!important}
 .video-grid-flush{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .portfolio-grid-fixed{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
 .site-header,.site-header.scrolled{top:42px!important}
 body.topbar-hidden .site-header{top:0!important}
 .hero-spacious .hero-inner{padding-top:74px}
 main section:not(.hero):not(.page-hero) h2.display{font-size:clamp(2.25rem,10vw,3.6rem)!important}
 .hero h1.display,.page-hero h1.display,.page-hero .display{font-size:clamp(2.55rem,13vw,4.1rem)!important}
 .video-gallery-section .section-head{width:calc(100% - 28px)}
 .video-grid-flush{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .portfolio-grid-fixed{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .portfolio-grid-fixed > figure.portfolio-grid-item{aspect-ratio:1/1!important;border-radius:16px!important}
 .portfolio-swap-media{height:430px!important}
 .service-panel .service-detail-img{min-height:330px!important;height:48svh!important}
 .service-panel .service-detail-body{padding:34px 22px 48px!important}
}


/* Final refinement - Sep 04 2026 */
/* Keep button icons exactly the same color as their label. */
.btn i,
.navlinks .btn i,
.hero-actions .btn i { color: inherit !important; }

/* Hero CTA labels and icons should remain crisp over video, without text shadow. */
.hero-actions .btn,
.hero-actions .btn *,
.hero-actions .btn i { text-shadow: none !important; }

/* Header is visible only at the top of the page, then leaves with the hero. */
.site-header {
  transition: opacity .28s ease, transform .28s ease, visibility .28s ease !important;
}
body.page-scrolled .site-header {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-115%) !important;
}

/* Portfolio pinning must be fully contained inside its own section. */
.portfolio-swap-section {
  position: relative;
  z-index: 1;
  overflow: clip;
}
.portfolio-swap-section .project-strip {
  position: relative;
  z-index: 2;
}

/* Final home-header and portfolio refinements - Sep 04 2026 */
/* Slightly larger header logo while preserving responsive proportions. */
.site-header .site-logo{
  width:285px !important;
  max-width:285px !important;
}

/* The navigation gets a readable rounded surface only while it sits over the hero. */
.site-header .navlinks{
  background:rgba(8,32,13,.72);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:10px 12px 10px 18px;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.site-header .navlinks .btn{
  border-radius:999px;
}

/* Home portfolio: native sticky containment, no GSAP pinning. This prevents it from
   being promoted over the Services section or appearing before its own section. */
.portfolio-swap-section{
  min-height:500vh !important;
  padding:0 !important;
  position:relative !important;
  z-index:1 !important;
  overflow:visible !important;
  isolation:isolate;
  contain:layout paint;
}
.portfolio-swap-section .project-strip{
  position:sticky !important;
  top:0 !important;
  height:100vh !important;
  min-height:720px !important;
  padding:90px 0 !important;
  z-index:1 !important;
  align-items:stretch;
}

@media(max-width:1100px){
  .site-header .site-logo{width:235px !important;max-width:235px !important}
  .site-header .navlinks{padding:9px 10px 9px 14px}
}
@media(max-width:980px){
  .site-header .site-logo{width:205px !important;max-width:205px !important}
  .site-header .navlinks{border-radius:0;padding:120px 24px 30px;background:rgba(8,32,13,.98)}
  .portfolio-swap-section{min-height:auto !important;padding:80px 0 !important;contain:none}
  .portfolio-swap-section .project-strip{position:relative !important;top:auto !important;height:auto !important;min-height:0 !important;padding:0 !important}
}
@media(max-width:650px){
  .site-header .site-logo{width:180px !important;max-width:180px !important}
}

/* ==========================================================
   Refinement pass v4 - requested alignment, scroll stages, media layout
   ========================================================== */

/* Green treatment on title banners while keeping photography visible. */
.page-hero:after{
  background:
    linear-gradient(90deg,rgba(26,72,15,.78) 0%,rgba(50,91,26,.58) 48%,rgba(50,91,26,.34) 74%,rgba(36,67,19,.44) 100%),
    radial-gradient(circle at 88% 30%,rgba(240,196,2,.94) 0 5px,transparent 6px),
    radial-gradient(circle at 93% 52%,rgba(255,255,255,.78) 0 3px,transparent 4px),
    linear-gradient(115deg,transparent 0 76%,rgba(240,196,2,.18) 76% 77%,transparent 77% 82%,rgba(255,255,255,.14) 82% 82.6%,transparent 82.6%) !important;
}
/* Rounded nav background is only for the home hero, never internal title banners. */
.inner-page .site-header .navlinks{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

/* Left-aligned section heading system. */
.section-head.section-head-left{
  display:block !important;
  max-width:1050px;
  margin-left:0 !important;
  margin-right:auto !important;
}
.section-head.section-head-left .eyebrow{display:block;margin-bottom:16px}
.section-head.section-head-left h2{max-width:1000px;margin-left:0 !important}
.section-head.section-head-left .section-desc{max-width:800px;margin-left:0 !important}

/* Why Choose Us: description stays directly below title and gets more editorial weight. */
.why-grid{align-items:start}
.why-grid > div:first-child{position:sticky;top:110px}
.why h2{position:static !important;top:auto !important}
.why .section-desc{margin-top:26px;max-width:640px;font-size:1.15rem;line-height:1.8}
.why-item{grid-template-columns:108px 1fr !important;align-items:start}
.why-item > span{font-size:clamp(58px,6vw,92px) !important;line-height:.82;letter-spacing:-.07em;color:var(--ph-green)}

/* Mission / Vision / Promise titles are intentionally larger. */
.mission-vision-bg .quote h3{
  font-family:'Archivo Black',sans-serif;
  font-size:clamp(34px,3.2vw,52px) !important;
  line-height:.95;
  letter-spacing:-.04em;
  margin:24px 0 16px;
}

/* Process numbers are oversized and graphic. */
.process .step b{
  display:block;
  font-size:clamp(72px,7vw,112px) !important;
  line-height:.8;
  letter-spacing:-.07em;
  color:var(--ph-yellow);
}
.process .step h3{margin-top:32px}

/* FAQ: questions on left, photography on right. */
.faq-content-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:46px;align-items:stretch}
.faq-content-grid .faq-list{max-width:none !important;align-content:start}
.faq-side-image{min-height:610px;border-radius:30px;overflow:hidden;position:sticky;top:70px;align-self:start}
.faq-side-image img{width:100%;height:100%;min-height:610px;object-fit:cover}

/* HOME portfolio: the visual stage is pinned by ScrollTrigger only. */
.portfolio-swap-section{
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  overflow:visible !important;
  contain:none !important;
  isolation:isolate;
}
.portfolio-swap-section .project-strip{
  position:relative !important;
  top:auto !important;
  height:100vh !important;
  min-height:720px !important;
  padding:90px 0 !important;
  z-index:2 !important;
  will-change:transform;
}

/* SERVICES: one fixed full-width scene, with each service replacing the previous one. */
.services-scroll-section{padding:90px 0 0 !important;overflow:visible !important}
.sticky-service-list{
  position:relative !important;
  width:100vw !important;
  height:100vh !important;
  min-height:700px !important;
  overflow:hidden !important;
  background:#f7f3df !important;
}
.service-panel,.service-panel:nth-child(even){
  position:absolute !important;
  inset:0 !important;
  top:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  grid-template-columns:1fr 1fr !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:1 !important;
  transform:none !important;
  box-shadow:none !important;
}
.service-panel.is-service-active{opacity:1;visibility:visible;pointer-events:auto;z-index:3 !important}
.service-panel .service-detail-body{order:1 !important}
.service-panel .service-detail-img,.service-panel:nth-child(even) .service-detail-img{order:2 !important}
.service-panel .service-detail-body,.service-panel .service-detail-img{will-change:transform,opacity}

/* Videos: centered vertical cards with breathing room, never edge-to-edge. */
.video-gallery-section{padding-bottom:110px !important}
.video-gallery-section > .container{
  width:min(1280px,calc(100% - 64px)) !important;
  max-width:1280px !important;
  margin:0 auto !important;
  padding:0 !important;
}
.video-gallery-section .section-head{width:100% !important;margin-left:0 !important;margin-right:auto !important}
.video-grid-flush{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  width:100% !important;
}
.video-grid-flush .video-card{
  padding:10px !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:#10230b !important;
  box-shadow:0 18px 36px rgba(16,35,11,.16) !important;
}
.video-grid-flush .video-frame{border-radius:17px !important;overflow:hidden}

/* Contact form gets its own eyebrow/title/description above the embed. */
.form-column{min-width:0}
.form-intro{margin:0 0 26px;max-width:760px}
.form-title{font-family:'Archivo Black',sans-serif;font-size:clamp(34px,4vw,58px);line-height:.98;letter-spacing:-.045em;margin:14px 0 14px;text-transform:none}
.form-intro .section-desc{margin-bottom:0}

/* Map section intentionally has no photographic background or overlay. */
.contact-map-plain{padding:110px 0;background:var(--cream) !important;color:var(--ink) !important;position:relative !important}
.contact-map-plain:before,.contact-map-plain:after{display:none !important;content:none !important}
.contact-map-plain .eyebrow,.contact-map-plain h2,.contact-map-plain p{text-shadow:none !important;color:inherit !important}

@media(max-width:980px){
  .why-grid > div:first-child{position:static}
  .faq-content-grid{grid-template-columns:1fr}
  .faq-side-image{position:relative;top:auto;min-height:480px}
  .faq-side-image img{min-height:480px}
  .portfolio-swap-section .project-strip{height:auto !important;min-height:0 !important;padding:0 !important}
  .sticky-service-list{height:auto !important;min-height:0 !important;overflow:visible !important}
  .service-panel,.service-panel:nth-child(even){position:relative !important;inset:auto !important;height:auto !important;grid-template-columns:1fr !important;opacity:1 !important;visibility:visible !important;pointer-events:auto !important}
  .service-panel .service-detail-img,.service-panel:nth-child(even) .service-detail-img{order:1 !important;height:52svh !important;min-height:390px !important}
  .service-panel .service-detail-body{order:2 !important}
  .video-grid-flush{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:650px){
  .why-item{grid-template-columns:78px 1fr !important}
  .why-item > span{font-size:58px !important}
  .process .step b{font-size:76px !important}
  .faq-side-image,.faq-side-image img{min-height:360px}
  .video-gallery-section > .container{width:calc(100% - 28px) !important}
  .video-grid-flush{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important}
  .video-grid-flush .video-card{padding:5px !important;border-radius:14px !important}
  .video-grid-flush .video-frame{border-radius:10px !important}
}


/* ==========================================================
   Refinement pass v5 - Sep 04, 2026
   ========================================================== */
:root{
  --ph-banner:url("https://assets.cdn.filesafe.space/GXwwZPSowCjKDzM8I62K/media/6a5a82b2ed46ccaaaa51383d.jpg");
  --ph-review-bg:url("https://assets.cdn.filesafe.space/GXwwZPSowCjKDzM8I62K/media/6a5a82b01a0f048050283be0.jpg");
}

/* Title banners use the requested image with a green-tinted overlay. */
.page-hero:before{
  background-image:var(--ph-banner) !important;
}
.page-hero:after{
  background:
    linear-gradient(90deg,rgba(16,56,22,.76) 0%,rgba(40,90,38,.62) 42%,rgba(40,90,38,.46) 72%,rgba(23,53,23,.56) 100%),
    radial-gradient(circle at 88% 30%,rgba(240,196,2,.94) 0 5px,transparent 6px),
    radial-gradient(circle at 93% 52%,rgba(255,255,255,.72) 0 3px,transparent 4px),
    linear-gradient(115deg,transparent 0 76%,rgba(240,196,2,.18) 76% 77%,transparent 77% 82%,rgba(255,255,255,.14) 82% 82.6%,transparent 82.6%) !important;
}

/* Mobile menu button becomes an icon button. */
.menu-btn{
  display:none;
}
.menu-btn i{pointer-events:none}

/* Left alignment for requested heading blocks. */
.about-page .section-head,
.about-values .section-head,
.about-mission .section-head,
.section-head.section-head-left,
.why .section-head,
.mission-vision-bg .section-head{
  text-align:left !important;
  justify-items:start !important;
}
.why .section-head,
.mission-vision-bg .section-head,
.about-page .section-head{
  display:block !important;
  max-width:1000px;
  margin-left:0 !important;
  margin-right:auto !important;
}

/* Home portfolio pinned stage: reduced trailing space, fully contained. */
.portfolio-swap-section{
  min-height:calc((var(--swap-count, 5) * 78svh) + 22svh) !important;
  padding:0 !important;
  margin:0 !important;
}
.portfolio-swap-section .project-strip{
  position:sticky !important;
  top:0 !important;
  min-height:100svh !important;
  height:100svh !important;
  padding:72px 0 !important;
}
.portfolio-swap-section + .section,
.portfolio-swap-section + section{
  margin-top:0 !important;
}

/* Services sticky cards keep content at left and image at right. */
.service-panel{
  grid-template-columns:1fr 1fr !important;
}
.service-panel .service-detail-body{order:1 !important}
.service-panel .service-detail-img{order:2 !important}
.service-panel .service-detail-body,
.service-panel .service-detail-img{opacity:1}
.service-panel .service-detail-body{
  background:linear-gradient(135deg,#fff 0%,#f7f2df 100%) !important;
}

/* Review feature background image requested by client. */
.review-feature{
  position:relative;
  isolation:isolate;
  background-image:linear-gradient(120deg,rgba(22,56,24,.92),rgba(22,56,24,.72)),var(--ph-review-bg) !important;
  background-size:cover !important;
  background-position:center !important;
}
.review-feature .featured-review{
  background:rgba(50,91,26,.88) !important;
  backdrop-filter:blur(2px);
}
.review-feature .section-head .eyebrow,
.review-feature .section-head h2,
.review-feature .section-head p{
  color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}

/* Footer mobile centering. */
@media(max-width:980px){
  .menu-btn{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    color:#fff;
    border:1px solid rgba(255,255,255,.28);
    font-size:1.2rem;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }
  .site-header .navlinks{
    position:fixed !important;
    inset:0 !important;
    z-index:72 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:18px !important;
    padding:150px 30px 40px !important;
    transform:translateX(-105%) !important;
    transition:transform .32s ease !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow-y:auto;
  }
  .site-header .navlinks.open{
    transform:translateX(0) !important;
    background:#e4e6de !important;
    border:none !important;
  }
  .site-header .navlinks a{
    color:#13260d !important;
    text-shadow:none !important;
    font-size:1.08rem !important;
  }
  .site-header .navlinks .btn{
    margin-top:10px;
    color:#13260d !important;
  }
  body.menu-open .site-header,
  body.menu-open .site-header.scrolled{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
  }
  body.menu-open .menu-btn{
    position:relative;
    z-index:75;
    background:#13260d;
    color:#fff;
    border-color:#13260d;
  }
  .site-header .site-logo{
    width:170px !important;
    max-width:170px !important;
    position:relative;
    z-index:75;
  }
  .portfolio-swap-section{
    min-height:calc((var(--swap-count, 5) * 72svh) + 24svh) !important;
  }
  .service-panel,
  .service-panel:nth-child(even){
    grid-template-columns:1fr !important;
  }
  .service-panel .service-detail-img,
  .service-panel:nth-child(even) .service-detail-img{
    order:0 !important;
  }
}
@media(max-width:650px){
  .hero{
    padding:210px 0 98px !important;
    min-height:100svh !important;
  }
  .hero-spacious .hero-inner{
    padding-top:34px !important;
    padding-bottom:18px !important;
  }
  .hero-bottom{gap:24px !important}
  .site-header .site-logo{
    width:150px !important;
    max-width:150px !important;
  }
  .footer .container,
  .footer-grid,
  .footer-bottom,
  .footer-brand-col,
  .footer-brand,
  .footer-social{
    text-align:center !important;
    justify-content:center !important;
    align-items:center !important;
  }
  .footer-grid > div{
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .footer-bottom{
    flex-direction:column !important;
    gap:8px;
  }
  .footer a,.footer p{width:100%}
}

/* ==========================================================
   Refinement pass v6 - services pinned replacement + banner fade
   ========================================================== */
/* Title banner filter only affects the lower portion so logo/header area stays clear. */
.page-hero:after{
  background:
    linear-gradient(to bottom,
      rgba(21,60,46,0) 0%,
      rgba(21,60,46,0) 34%,
      rgba(33,83,29,.16) 48%,
      rgba(33,83,29,.48) 68%,
      rgba(22,67,24,.72) 100%
    ),
    radial-gradient(circle at 88% 68%,rgba(240,196,2,.90) 0 5px,transparent 6px),
    radial-gradient(circle at 93% 78%,rgba(255,255,255,.68) 0 3px,transparent 4px) !important;
}

/* Services desktop stage: only one service is visible while the section remains pinned. */
@media(min-width:981px){
  .services-scroll-section{padding-bottom:0 !important}
  .sticky-service-list{
    position:relative !important;
    width:100vw !important;
    height:100svh !important;
    overflow:hidden !important;
    isolation:isolate;
  }
  .sticky-service-list .service-panel{
    position:absolute !important;
    inset:0 !important;
    top:0 !important;
    left:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    margin:0 !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    z-index:1 !important;
    transform:none !important;
  }
  .sticky-service-list .service-panel.is-service-active{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    z-index:3 !important;
  }
}

/* Featured review section: solid green background/filter treatment. */
.review-feature{
  background:#325B1A !important;
}
.review-feature:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(135deg,rgba(50,91,26,.96),rgba(21,60,46,.92)) !important;
}
.review-feature .featured-review{
  background:rgba(20,60,25,.82) !important;
}


/* ==========================================================
   Refinement pass v7 - robust sticky service stack + nav parity
   ========================================================== */

/* Same rounded navigation surface on Home and all internal title banners. */
.inner-page .site-header .navlinks,
.site-header .navlinks{
  background:rgba(8,32,13,.72) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:999px !important;
  padding:10px 12px 10px 18px !important;
  box-shadow:0 10px 30px rgba(0,0,0,.18) !important;
}

/* Featured review: restore the previous photo with a rich green treatment. */
.review-feature{
  position:relative !important;
  isolation:isolate !important;
  background-image:
    linear-gradient(120deg,rgba(35,85,28,.92),rgba(18,61,27,.78)),
    url("https://assets.cdn.filesafe.space/GXwwZPSowCjKDzM8I62K/media/6a5a82b01a0f048050283be0.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.review-feature:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  background:linear-gradient(180deg,rgba(50,91,26,.20),rgba(20,62,28,.45)) !important;
}
.review-feature .featured-review{
  background:rgba(24,72,29,.84) !important;
}

/* Services: dependable CSS-only sticky replacement stack.
   Every service occupies one viewport of scroll. The current panel stays fixed
   while the next panel naturally slides over it. No JS/GSAP pinning involved. */
@media(min-width:981px){
  .services-scroll-section{
    padding:90px 0 0 !important;
    overflow:visible !important;
    position:relative !important;
    z-index:1 !important;
  }
  .services-scroll-section > .container{
    padding-bottom:54px !important;
  }
  .sticky-service-list{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    overflow:visible !important;
    position:relative !important;
    isolation:isolate !important;
    margin:0 !important;
    padding:0 !important;
  }
  .sticky-service-list .service-panel{
    position:sticky !important;
    top:0 !important;
    inset:auto !important;
    width:100% !important;
    min-height:100svh !important;
    height:100svh !important;
    margin:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.08fr) !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    overflow:hidden !important;
    transform:none !important;
    box-shadow:0 -18px 42px rgba(0,0,0,.14) !important;
    z-index:calc(10 + var(--panel-index)) !important;
    background:#fff !important;
  }
  .sticky-service-list .service-panel + .service-panel{
    margin-top:0 !important;
  }
  .sticky-service-list .service-panel .service-detail-body{
    order:1 !important;
    min-width:0 !important;
    padding:clamp(42px,6vw,92px) !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    background:linear-gradient(135deg,#fff 0%,#f6f0da 100%) !important;
    transition:background .3s ease !important;
  }
  .sticky-service-list .service-panel .service-detail-img{
    order:2 !important;
    min-width:0 !important;
    height:100% !important;
    min-height:100% !important;
    overflow:hidden !important;
  }
  .sticky-service-list .service-panel .service-detail-img img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    transform:scale(1.015) !important;
    transition:transform .55s ease !important;
  }
  .sticky-service-list .service-panel.is-service-active .service-detail-img img{
    transform:scale(1) !important;
  }
  .sticky-service-list .service-panel.is-service-active .service-detail-body{
    background:linear-gradient(135deg,#fff 0%,#f5edcf 100%) !important;
  }
  .sticky-service-list .service-panel:last-child{
    margin-bottom:0 !important;
  }
  .services-scroll-section + .cta{
    position:relative !important;
    z-index:30 !important;
    margin-top:0 !important;
  }
}

@media(max-width:980px){
  .inner-page .site-header .navlinks,
  .site-header .navlinks{
    border-radius:0 !important;
    border:0 !important;
    box-shadow:none !important;
    padding:150px 30px 40px !important;
  }
  .site-header .navlinks.open,
  .inner-page .site-header .navlinks.open{
    background:#e4e6de !important;
  }
  .sticky-service-list .service-panel{
    position:relative !important;
    top:auto !important;
    height:auto !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    opacity:1 !important;
    visibility:visible !important;
  }
  .sticky-service-list .service-panel .service-detail-img{order:0 !important}
  .sticky-service-list .service-panel .service-detail-body{order:1 !important}
}


/* ==========================================================
   Refinement pass v8 - automatic home portfolio + fixed service sequence
   ========================================================== */
/* Home portfolio is now a normal section with automatic image rotation. */
.portfolio-swap-section{
  min-height:0 !important;
  height:auto !important;
  padding:110px 0 !important;
  overflow:hidden !important;
  contain:none !important;
}
.portfolio-swap-section .project-strip{
  position:relative !important;
  top:auto !important;
  height:auto !important;
  min-height:680px !important;
  padding:0 !important;
}
.portfolio-swap-media{min-height:680px !important;height:680px !important}
.portfolio-swap-image{transition:opacity .8s ease,transform 1.2s ease !important}

/* FAQ image slightly smaller so the questions remain the visual focus. */
.faq-content-grid{grid-template-columns:minmax(0,1.18fr) minmax(260px,.72fr) !important;align-items:start !important}
.faq-side-image{min-height:0 !important;height:470px !important;max-width:470px !important;justify-self:end !important}
.faq-side-image img{min-height:0 !important;height:470px !important;object-fit:cover !important}

/* Services: one full-screen stage; only the active service is visible. */
.services-scroll-section{padding-bottom:0 !important}
.sticky-service-list{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  height:100svh !important;
  min-height:680px !important;
  margin:0 !important;
  overflow:hidden !important;
  background:#f7f2df !important;
  isolation:isolate !important;
}
.sticky-service-list .service-panel,
.sticky-service-list .service-panel:nth-child(even){
  position:absolute !important;
  inset:0 !important;
  top:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  z-index:1 !important;
  box-shadow:none !important;
  transform:none !important;
}
.sticky-service-list .service-panel.is-service-active{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  z-index:3 !important;
}
.sticky-service-list .service-panel .service-detail-body{order:1 !important;height:100% !important}
.sticky-service-list .service-panel .service-detail-img,
.sticky-service-list .service-panel:nth-child(even) .service-detail-img{order:2 !important;height:100% !important;min-height:100% !important}
.sticky-service-list .service-panel .service-detail-img img{height:100% !important;width:100% !important;object-fit:cover !important}
.service-mobile-controls{display:none}

@media(max-width:980px){
  .portfolio-swap-section{padding:80px 0 !important}
  .portfolio-swap-section .project-strip{min-height:0 !important}
  .portfolio-swap-media{height:500px !important;min-height:500px !important}
  .faq-content-grid{grid-template-columns:1fr !important}
  .faq-side-image{position:relative !important;top:auto !important;width:100% !important;max-width:420px !important;height:360px !important;justify-self:center !important}
  .faq-side-image img{height:360px !important}

  .sticky-service-list{
    height:auto !important;
    min-height:0 !important;
    padding-bottom:92px !important;
    overflow:hidden !important;
  }
  .sticky-service-list .service-panel,
  .sticky-service-list .service-panel:nth-child(even){
    position:relative !important;
    inset:auto !important;
    display:none !important;
    grid-template-columns:1fr !important;
    height:auto !important;
    min-height:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  .sticky-service-list .service-panel.is-service-active{display:grid !important}
  .sticky-service-list .service-panel .service-detail-img,
  .sticky-service-list .service-panel:nth-child(even) .service-detail-img{
    order:1 !important;
    height:48svh !important;
    min-height:330px !important;
  }
  .sticky-service-list .service-panel .service-detail-body{order:2 !important;height:auto !important;padding:34px 22px 48px !important}
  .service-mobile-controls{
    display:flex !important;
    position:absolute;
    left:50%;
    bottom:22px;
    transform:translateX(-50%);
    align-items:center;
    justify-content:center;
    gap:18px;
    z-index:20;
  }
  .service-arrow{
    width:48px;
    height:48px;
    border-radius:50%;
    border:0;
    background:var(--ph-yellow);
    color:#17320f;
    display:grid;
    place-items:center;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(0,0,0,.14);
  }
  .service-arrow:disabled{opacity:.35;cursor:not-allowed}
  .service-mobile-count{font-weight:900;letter-spacing:.08em;color:#17320f}
}


/* ===== Final refinement patch v9 ===== */
body.home-page .hero .pill{display:none!important}

/* Stronger section-title visibility */
main section:not(.hero):not(.page-hero) .display,
main section:not(.hero):not(.page-hero) h2.display{position:relative;z-index:2;color:var(--forest2)!important;text-shadow:none!important;line-height:.96!important}
.horizontal-wrap .display,
.pre-footer-bg .display,
.mission-vision-bg .display,
.review-feature .display,
.page-hero .display,
.page-hero h1.display{color:#fff!important}
.horizontal-wrap .section-desc,
.pre-footer-bg .section-desc,
.mission-vision-bg .section-desc,
.review-feature .section-desc,
.pre-footer-bg p{color:inherit}

/* Mobile menu lower so it clears the logo */
@media (max-width:980px){
  .navlinks.open{
    padding:158px 24px 34px!important;
    gap:16px!important;
    align-items:flex-start!important;
  }
}
@media (max-width:650px){
  .navlinks.open{padding:168px 22px 30px!important}
}

/* Home service cards: stronger readable overlay */
.horizontal-wrap .service-card{position:relative;isolation:isolate}
.horizontal-wrap .service-card::after{
  background:linear-gradient(180deg,rgba(4,17,12,.12) 0%,rgba(4,17,12,.34) 42%,rgba(4,17,12,.94) 100%)!important;
}
.horizontal-wrap .service-info{
  width:100%;
  text-shadow:0 2px 12px rgba(0,0,0,.72);
}
.horizontal-wrap .service-info p,
.horizontal-wrap .service-info h3,
.horizontal-wrap .service-info .pill{color:#fff!important}
.horizontal-wrap .service-info .pill{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.3)!important;
  backdrop-filter:blur(6px);
}

/* Home portfolio section: no scroll-pinning, images rotate automatically */
.portfolio-swap-section{
  min-height:auto!important;
  height:auto!important;
  padding:110px 0!important;
  contain:none!important;
}
.portfolio-swap-section .project-strip{
  position:relative!important;
  top:auto!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  align-items:stretch!important;
}
.portfolio-swap-media{height:620px!important;min-height:620px!important}
.portfolio-swap-section + .section,
.portfolio-swap-section + section{margin-top:0!important}
@media (max-width:980px){
  .portfolio-swap-section{padding:90px 0!important}
  .portfolio-swap-media{height:520px!important;min-height:520px!important}
}
@media (max-width:650px){
  .portfolio-swap-media{height:420px!important;min-height:420px!important}
}

/* FAQ image square and a bit smaller */
.faq-content-grid{align-items:start}
.faq-side-image{
  aspect-ratio:1 / 1!important;
  width:min(100%,470px)!important;
  max-width:470px!important;
  justify-self:end;
  border-radius:28px!important;
  overflow:hidden!important;
}
.faq-side-image img{width:100%;height:100%;object-fit:cover}
@media (max-width:980px){
  .faq-side-image{justify-self:center;width:min(100%,440px)!important;max-width:440px!important}
}

/* About page values: bigger, more striking numbers */
.about-page .about-values .process-grid{gap:24px}
.about-page .about-values .step{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.52);
  border:1px solid rgba(9,39,23,.12);
  box-shadow:0 18px 42px rgba(10,39,23,.1);
}
.about-page .about-values .step b{
  display:block!important;
  font-family:'Archivo Black',sans-serif!important;
  font-size:clamp(4rem,8vw,6.7rem)!important;
  line-height:.82!important;
  letter-spacing:-.08em!important;
  color:var(--ph-yellow)!important;
  text-shadow:0 8px 18px rgba(7,26,19,.18);
  margin-bottom:14px!important;
}
.about-page .about-values .step h3{font-size:clamp(1.45rem,2vw,2rem)!important}

/* Reviews featured section: background image */
.review-feature{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(245,240,214,.94),rgba(255,255,255,.98))!important;
}
.review-feature::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(120deg,rgba(10,34,18,.72),rgba(10,34,18,.28)),url('https://assets.cdn.filesafe.space/GXwwZPSowCjKDzM8I62K/media/6a5a82af1097b81195eac815.jpg');
  background-size:cover;
  background-position:center;
  opacity:.16;
  pointer-events:none;
}
.review-feature .container{position:relative;z-index:1}
.featured-review{
  backdrop-filter:blur(2px);
  box-shadow:0 25px 60px rgba(10,28,18,.22)!important;
}

/* Services sticky sequence desktop */
.services-page .services-scroll-section{
  padding-top:100px!important;
  padding-bottom:0!important;
}
.services-page .sticky-service-list{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
}
.services-page .service-panel{
  position:sticky!important;
  top:0!important;
  width:100%!important;
  min-height:100svh!important;
  height:100svh!important;
  margin:0!important;
  border-radius:0!important;
  border:0!important;
  display:grid!important;
  grid-template-columns:minmax(360px,.96fr) 1.04fr!important;
  align-items:stretch!important;
  overflow:hidden!important;
  box-shadow:none!important;
  z-index:1!important;
}
.services-page .service-panel + .service-panel{margin-top:0!important}
.services-page .service-detail-img,
.services-page .service-detail-body{min-height:100%}
.services-page .service-detail-img{position:relative}
.services-page .service-detail-img::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(7,26,19,.05),rgba(7,26,19,.32));
  pointer-events:none;
}
.services-page .service-detail-body{
  padding:clamp(32px,5vw,66px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.services-page .service-detail-body h3{font-size:clamp(2.4rem,4vw,4.7rem)!important}
.services-page .service-detail-body ul{margin:20px 0 24px!important}
.services-page .service-mobile-controls{display:none!important}

/* Services mobile click/arrow mode */
@media (max-width:980px){
  .services-page .services-scroll-section{padding-bottom:90px!important}
  .services-page .sticky-service-list{
    position:relative!important;
    min-height:auto!important;
    padding-bottom:0!important;
  }
  .services-page .service-panel{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:0!important;
    display:none!important;
    grid-template-columns:1fr!important;
    border-radius:30px!important;
    margin:0!important;
    box-shadow:0 18px 42px rgba(9,31,19,.16)!important;
  }
  .services-page .service-panel.is-service-active{display:grid!important}
  .services-page .service-detail-img,
  .services-page .service-detail-img img{min-height:300px!important;height:300px!important}
  .services-page .service-detail-img::after{background:linear-gradient(180deg,rgba(7,26,19,.06),rgba(7,26,19,.28))}
  .services-page .service-mobile-controls{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:20px auto 0;
    width:min(100%,420px);
    position:static!important;
  }
  .services-page .service-arrow{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:50%;
    border:0;
    background:var(--ph-yellow);
    color:#13260d;
    font-size:1.05rem;
    box-shadow:0 12px 30px rgba(7,26,19,.18);
  }
  .services-page .service-arrow[disabled]{opacity:.38;cursor:not-allowed;box-shadow:none}
  .services-page .service-mobile-count{
    flex:1;
    text-align:center;
    font-family:'Archivo Black',sans-serif;
    font-size:1rem;
    letter-spacing:.18em;
    color:var(--forest2);
  }
}

/* Slightly smoother text animation fallback when words wrap */
.title-word{display:inline-block;will-change:transform,opacity}

/* ===== Visibility and services-flow fix v10 ===== */
/* Titles remain visible even if animation libraries are delayed or blocked. */
.display .title-word{
  opacity:1;
  visibility:visible;
}

/* Keep Home section headings above background overlays. */
.home-page main section:not(.hero) .display,
.home-page .horizontal-heading .display,
.home-page .project-copy .display{
  position:relative;
  z-index:5;
}

/* Home services: reinforce contrast over every photograph. */
.home-page .horizontal-wrap .service-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(4,17,12,.10) 0%,rgba(4,17,12,.36) 42%,rgba(4,17,12,.96) 100%)!important;
  pointer-events:none;
}
.home-page .horizontal-wrap .service-info{z-index:3!important}

/* Services desktop: pure CSS sticky sequence. No pin spacer, no empty gap. */
@media (min-width:981px){
  .services-page .services-scroll-section{
    padding:96px 0 0!important;
    overflow:visible!important;
  }
  .services-page .sticky-service-list{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    margin:0!important;
    padding:0!important;
    background:#f7f2df!important;
  }
  .services-page .sticky-service-list .service-panel,
  .services-page .sticky-service-list .service-panel:nth-child(even){
    position:sticky!important;
    top:0!important;
    left:auto!important;
    inset:auto!important;
    width:100%!important;
    height:100svh!important;
    min-height:680px!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:minmax(360px,.96fr) 1.04fr!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    z-index:calc(20 + var(--panel-index))!important;
    transform:none!important;
    box-shadow:none!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .services-page .sticky-service-list .service-detail-body{
    order:1!important;
    height:100%!important;
    min-height:100%!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .services-page .sticky-service-list .service-detail-img,
  .services-page .sticky-service-list .service-panel:nth-child(even) .service-detail-img{
    order:2!important;
    height:100%!important;
    min-height:100%!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .services-page .sticky-service-list .service-detail-img img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .services-page .service-mobile-controls{display:none!important}
}

/* Mobile still uses click arrows and only shows one service at a time. */
@media (max-width:980px){
  .services-page .sticky-service-list{
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .services-page .sticky-service-list .service-panel,
  .services-page .sticky-service-list .service-panel:nth-child(even){
    opacity:1!important;
    visibility:visible!important;
  }
  .services-page .sticky-service-list .service-panel:not(.is-service-active){
    display:none!important;
    pointer-events:none!important;
  }
  .services-page .sticky-service-list .service-panel.is-service-active{
    display:grid!important;
    pointer-events:auto!important;
  }
}
/* Sticky services need an unclipped ancestor; keep horizontal overflow clipped at body level. */
.services-page .page{overflow:visible!important}
.services-page{overflow-x:clip!important}


/* ===== v11: visibility + service sequence + review background ===== */

/* Home service section heading must always be visible. */
.home-page .horizontal-heading,
.home-page .horizontal-heading *{visibility:visible!important}
.home-page .horizontal-heading .display,
.home-page .horizontal-heading .display .title-word{
  opacity:1;
  visibility:visible;
  color:#fff!important;
  text-shadow:none!important;
}
.home-page .horizontal-heading .eyebrow,
.home-page .horizontal-heading .section-desc{color:#fff!important;opacity:1!important}

/* Remove the small pill/bubble from service cards and use a green image filter. */
.home-page .horizontal-wrap .service-info .pill{display:none!important}
.home-page .horizontal-wrap .service-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    linear-gradient(180deg,rgba(30,86,22,.30) 0%,rgba(28,78,20,.54) 46%,rgba(7,30,14,.92) 100%)!important;
  pointer-events:none!important;
}
.home-page .horizontal-wrap .service-card img{filter:saturate(.82) contrast(1.02)!important}
.home-page .horizontal-wrap .service-info{z-index:3!important}

/* Auto portfolio should behave like a normal section, never sticky or pinned. */
.home-page .portfolio-swap-section{
  min-height:auto!important;
  height:auto!important;
  padding:110px 0!important;
  overflow:visible!important;
}
.home-page .portfolio-swap-section .project-strip{
  position:relative!important;
  top:auto!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
}

/* Make featured review background image clearly visible beneath a green veil. */
.reviews-page .review-feature{
  position:relative!important;
  isolation:isolate!important;
  background-image:
    linear-gradient(90deg,rgba(21,71,19,.88),rgba(34,94,25,.72)),
    url('https://assets.cdn.filesafe.space/GXwwZPSowCjKDzM8I62K/media/6a5a82b01a0f048050283be0.jpg')!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.reviews-page .review-feature::before{display:none!important;content:none!important}
.reviews-page .review-feature .section-head .eyebrow,
.reviews-page .review-feature .section-head .display,
.reviews-page .review-feature .section-head .section-desc{color:#fff!important;opacity:1!important}
.reviews-page .featured-review{background:rgba(35,92,26,.84)!important}

/* Services: one pinned viewport, panels swap in place. */
.services-page .page{overflow:visible!important}
.services-page .services-scroll-section{
  position:relative!important;
  padding:100px 0 0!important;
  margin:0!important;
  overflow:visible!important;
}
.services-page .services-scroll-section > .container{padding-bottom:60px!important}
.services-page .sticky-service-list{
  position:relative!important;
  width:100%!important;
  height:100svh!important;
  min-height:680px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
.services-page .sticky-service-list .service-panel,
.services-page .sticky-service-list .service-panel:nth-child(even){
  position:absolute!important;
  inset:0!important;
  top:0!important;
  left:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:minmax(360px,.92fr) 1.08fr!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:none!important;
  z-index:1!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.services-page .sticky-service-list .service-panel.is-service-active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:3!important;
}
.services-page .sticky-service-list .service-detail-body{order:1!important;height:100%!important;min-height:100%!important}
.services-page .sticky-service-list .service-detail-img,
.services-page .sticky-service-list .service-panel:nth-child(even) .service-detail-img{
  order:2!important;
  height:100%!important;
  min-height:100%!important;
}
.services-page .sticky-service-list .service-detail-img img{width:100%!important;height:100%!important;object-fit:cover!important}
.services-page .service-mobile-controls{display:none!important}

@media(max-width:980px){
  .services-page .page{overflow:hidden!important}
  .services-page .services-scroll-section{padding-bottom:80px!important}
  .services-page .sticky-service-list{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    width:min(100% - 28px,760px)!important;
    margin:0 auto!important;
    background:transparent!important;
  }
  .services-page .sticky-service-list .service-panel,
  .services-page .sticky-service-list .service-panel:nth-child(even){
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    display:none!important;
    grid-template-columns:1fr!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    border-radius:28px!important;
    overflow:hidden!important;
    box-shadow:0 18px 42px rgba(9,31,19,.16)!important;
  }
  .services-page .sticky-service-list .service-panel.is-service-active{display:grid!important}
  .services-page .sticky-service-list .service-detail-img,
  .services-page .sticky-service-list .service-panel:nth-child(even) .service-detail-img{
    order:1!important;
    height:330px!important;
    min-height:330px!important;
  }
  .services-page .sticky-service-list .service-detail-body{order:2!important;height:auto!important;min-height:0!important}
  .services-page .service-mobile-controls{
    display:flex!important;
    position:static!important;
    transform:none!important;
    width:min(100%,420px)!important;
    margin:22px auto 0!important;
    justify-content:space-between!important;
    align-items:center!important;
  }
}


/* ==========================================================
   v12 final interaction fixes
   ========================================================== */

/* HOME SERVICES: no circular/bubble decoration; one green readability filter only. */
.home-page .horizontal-wrap .service-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  right:0!important;
  bottom:0!important;
  border-radius:0!important;
  transform:none!important;
  z-index:2!important;
  background:linear-gradient(
    180deg,
    rgba(23,75,22,.42) 0%,
    rgba(18,63,19,.54) 42%,
    rgba(6,27,13,.94) 100%
  )!important;
  pointer-events:none!important;
}
.home-page .horizontal-wrap .service-card:hover::after{transform:none!important}
.home-page .horizontal-wrap .service-card img{
  filter:saturate(.76) brightness(.82) contrast(1.04)!important;
}
.home-page .horizontal-wrap .service-info{
  z-index:3!important;
  color:#fff!important;
  text-shadow:0 2px 13px rgba(0,0,0,.72)!important;
}
.home-page .horizontal-wrap .service-info .pill{display:none!important}
.home-page .horizontal-wrap .service-info h3,
.home-page .horizontal-wrap .service-info p{color:#fff!important;opacity:1!important}

/* Home service heading must be clearly visible before the cards begin. */
.home-page .horizontal-heading{
  position:relative!important;
  z-index:8!important;
  padding-top:100px!important;
  padding-bottom:42px!important;
}
.home-page .horizontal-heading .eyebrow,
.home-page .horizontal-heading .display,
.home-page .horizontal-heading .display .title-word,
.home-page .horizontal-heading .section-desc{
  color:#fff!important;
  visibility:visible!important;
}
.home-page .horizontal-heading .display{opacity:1!important}

/* All home titles stay renderable; GSAP may animate transforms/opacity inline. */
.home-page main .display,
.home-page main .display .title-word{
  visibility:visible!important;
}

/* SERVICES PRESENTATION: each next service slides upward and covers the previous one. */
@media (min-width:981px){
  .services-page .page{overflow:visible!important}
  .services-page .services-scroll-section{
    position:relative!important;
    overflow:visible!important;
    padding:96px 0 0!important;
    margin:0!important;
  }
  .services-page .services-scroll-section > .container{
    padding-bottom:52px!important;
  }
  .services-page .sticky-service-list{
    position:relative!important;
    width:100vw!important;
    max-width:none!important;
    height:100svh!important;
    min-height:680px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .services-page .sticky-service-list .service-panel,
  .services-page .sticky-service-list .service-panel:nth-child(even){
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:minmax(360px,.92fr) 1.08fr!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none;
    background:#fff!important;
  }
  .services-page .sticky-service-list .service-panel .service-detail-body{
    order:1!important;
    height:100%!important;
    min-height:100%!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .services-page .sticky-service-list .service-panel .service-detail-img,
  .services-page .sticky-service-list .service-panel:nth-child(even) .service-detail-img{
    order:2!important;
    height:100%!important;
    min-height:100%!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .services-page .sticky-service-list .service-detail-img img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .services-page .service-mobile-controls{display:none!important}
}

/* Mobile remains a one-service-at-a-time click presentation. */
@media (max-width:980px){
  .services-page .sticky-service-list{
    width:min(100% - 28px,760px)!important;
    height:auto!important;
    min-height:0!important;
    margin:0 auto!important;
    overflow:visible!important;
    background:transparent!important;
  }
  .services-page .sticky-service-list .service-panel,
  .services-page .sticky-service-list .service-panel:nth-child(even){
    position:relative!important;
    inset:auto!important;
    display:none!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    grid-template-columns:1fr!important;
    border-radius:28px!important;
    overflow:hidden!important;
  }
  .services-page .sticky-service-list .service-panel.is-service-active{display:grid!important}
}


/* ==========================================================
   v13 - Services desktop logic rebuilt as a pure sticky stack
   Each next service naturally rises and covers the previous one.
   No GSAP pinning is used on desktop, avoiding transform conflicts.
   ========================================================== */
@media (min-width:981px){
  .services-page,
  .services-page body{overflow-x:clip!important}
  .services-page .page{overflow:visible!important}
  .services-page .services-scroll-section{
    position:relative!important;
    overflow:visible!important;
    padding:96px 0 0!important;
    margin:0!important;
  }
  .services-page .services-scroll-section > .container{
    padding-bottom:52px!important;
  }
  .services-page .sticky-service-list{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
  }
  .services-page .sticky-service-list .service-panel,
  .services-page .sticky-service-list .service-panel:nth-child(even){
    position:sticky!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    inset:auto!important;
    width:100%!important;
    height:100svh!important;
    min-height:680px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:minmax(360px,.92fr) 1.08fr!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:0 -12px 30px rgba(0,0,0,.10)!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    background:#fff!important;
    z-index:calc(100 + var(--panel-index))!important;
  }
  .services-page .sticky-service-list .service-panel .service-detail-body{
    order:1!important;
    height:100%!important;
    min-height:100%!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .services-page .sticky-service-list .service-panel .service-detail-img,
  .services-page .sticky-service-list .service-panel:nth-child(even) .service-detail-img{
    order:2!important;
    height:100%!important;
    min-height:100%!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .services-page .sticky-service-list .service-detail-img img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .services-page .service-mobile-controls{display:none!important}
}


/* ===== Content + responsive refinement v14 ===== */
.service-global-note{display:flex;align-items:center;gap:10px;max-width:900px;margin:18px 0 0;font-weight:700;line-height:1.55}
.service-global-note i{color:var(--ph-yellow)}
.services-page .service-detail-body .pill{margin-top:14px}
.footer-grid p{overflow-wrap:anywhere}
.contact-line span{min-width:0;overflow-wrap:anywhere}
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe{max-width:100%}
@media(max-width:1200px){
  .navlinks{gap:15px!important}
  .site-header .navlinks a{font-size:11px!important}
  .site-header .navlinks .btn{padding-left:16px!important;padding-right:16px!important}
  .footer-grid{gap:34px!important}
}
@media(max-width:980px){
  .service-global-note{margin-top:14px}
  .services-page .service-detail-body{padding:32px 24px!important}
  .services-page .service-detail-body h3{font-size:clamp(2rem,8vw,3.5rem)!important}
  .contact-grid,.footer-grid,.faq-content-grid{min-width:0}
}
@media(max-width:650px){
  .section-head,.copy,.service-detail-body,.project-copy,.contact-info,.form-column{min-width:0}
  .section-desc,.lead,.kicker,.footer p,.footer a{overflow-wrap:anywhere}
  .service-global-note{font-size:.95rem}
  .faq-item summary{line-height:1.3}
}

/* ==========================================================
   Client update: brighter imagery / no dark-green filters
   ========================================================== */

/* Home service cards: show the original photography without the green/dark image treatment. */
.home-page .horizontal-wrap .service-card::after{
  background:none!important;
  opacity:0!important;
}
.home-page .horizontal-wrap .service-card:hover::after{
  background:none!important;
  opacity:0!important;
}
.home-page .horizontal-wrap .service-card img{
  filter:none!important;
  opacity:1!important;
}
.home-page .horizontal-wrap .service-info{
  color:#fff!important;
  text-shadow:0 3px 16px rgba(0,0,0,.92),0 1px 4px rgba(0,0,0,.98)!important;
}
.home-page .horizontal-wrap .service-info h3,
.home-page .horizontal-wrap .service-info p{
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 3px 16px rgba(0,0,0,.95),0 1px 5px rgba(0,0,0,1)!important;
}

/* Image CTAs: keep the background photo clear and make the copy carry the contrast instead. */
.pre-footer-bg::before,
.pre-footer-bg::after{
  background:transparent!important;
  opacity:0!important;
}
.pre-footer-bg .display,
.pre-footer-bg h2{
  color:#fff!important;
  text-shadow:0 4px 20px rgba(0,0,0,.98),0 2px 7px rgba(0,0,0,1)!important;
}
.pre-footer-bg .eyebrow,
.pre-footer-bg p{
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 3px 14px rgba(0,0,0,.95),0 1px 4px rgba(0,0,0,1)!important;
}

/* ===== v12: slight dark filter on image CTA sections + white titles ===== */
.pre-footer-bg::before{
  background:linear-gradient(90deg,rgba(7,26,19,.24),rgba(7,26,19,.14))!important;
  opacity:1!important;
}
.pre-footer-bg::after{
  background:transparent!important;
  opacity:0!important;
}
.pre-footer-bg .display,
.pre-footer-bg h2{
  color:#fff!important;
  text-shadow:0 4px 18px rgba(0,0,0,.72),0 2px 6px rgba(0,0,0,.64)!important;
}
.pre-footer-bg .eyebrow,
.pre-footer-bg p,
.pre-footer-bg .cta-side p{
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 3px 12px rgba(0,0,0,.58),0 1px 4px rgba(0,0,0,.5)!important;
}

/* ===== v13: force CTA titles white on every page ===== */
body .cta.pre-footer-bg .container .cta-inner h2.display,
body .cta.pre-footer-bg h2.display,
body .pre-footer-bg .display{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 4px 18px rgba(0,0,0,.72),0 2px 6px rgba(0,0,0,.64)!important;
}
