@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--forest:#041D36;--forest2:#021426;--lime:#F2B80A;--safety:#F2B80A;--cream:#ffffff;--ink:#041D36;--white:#fff;--line:rgba(23,23,23,.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(0,0,0,.95) 0%,rgba(20,20,20,.4) 50%,rgba(35,35,35,.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:#242424}.service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.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(20,20,20,.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:#f7f7f7}.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:#021426;color:#eeeeec;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(216,161,45,.35) 0 23%,transparent 24%),repeating-radial-gradient(circle at 50% 50%,transparent 0 55px,rgba(216,161,45,.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(0,0,0,.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(0,0,0,.92) 0%,rgba(18,18,18,.62) 42%,rgba(28,28,28,.28) 72%,rgba(18,18,18,.38) 100%),linear-gradient(0deg,rgba(0,0,0,.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(234,217,176,.90)}
.testimonials{position:relative;isolation:isolate;overflow:hidden;background:#f7f7f7}
.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(0,0,0,.94),rgba(18,18,18,.76))}

@media(max-width:980px){
  .site-header .navlinks.open{background:rgba(0,0,0,.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(0,0,0,.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(0,0,0,.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(0,0,0,.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(0,0,0,.94) 0%,rgba(18,18,18,.74) 46%,rgba(35,35,35,.42) 100%),linear-gradient(0deg,rgba(20,20,20,.35),rgba(20,20,20,.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(0,0,0,.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(0,0,0,.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(0,0,0,.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(0,0,0,.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(0,0,0,.13)}

@media(max-width:980px){
  .site-header .navlinks.open{background:rgba(0,0,0,.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(0,0,0,.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:#F2B80A;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(0,0,0,.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(0,0,0,.28),0 0 0 0 rgba(216,161,45,.5)}50%{box-shadow:0 12px 30px rgba(0,0,0,.28),0 0 0 10px rgba(216,161,45,0)}}
@media(max-width:600px){.floating-actions{right:14px;bottom:14px;gap:10px}.fab{width:48px;height:48px;font-size:20px}}


/* Master Quality Roofing INC brand/content adaptation - structure and motion preserved */
:root{
  --forest:#050505;
  --forest2:#000000;
  --lime:#f0c14d;
  --safety:#F2B80A;
  --cream:#f6f1e8;
  --ink:#151515;
  --line:rgba(21,21,21,.16);
  --header-bg:rgba(0,0,0,.90);
  --gold-gradient:linear-gradient(90deg,rgba(185,122,5,1) 0%,rgba(216,161,45,1) 50%,rgba(240,193,77,1) 100%);
}
body{background:var(--cream);color:var(--ink)}
.topbar{background:#B97A05;background:var(--gold-gradient);color:#050505;gap:8px}
.topbar:before{background:#050505}
.site-header,.site-header.scrolled{background:var(--header-bg)!important}
.brand{min-width:124px}
.brand-logo{display:block;width:118px;height:74px;object-fit:contain;object-position:left center;filter:none}
.footer-logo{width:148px;height:112px}
.site-header .navlinks .btn-dark,.btn-accent{background:#B97A05;background:var(--gold-gradient);color:#050505}
.site-header .navlinks .btn-dark:hover,.btn-accent:hover{background:#F0C14D;color:#050505}
.btn-dark{background:#050505;color:#fff}
.btn-dark:hover{background:#B97A05;background:var(--gold-gradient);color:#050505}
.hero-video{background:#000}
.hero-video-overlay{background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.70) 44%,rgba(0,0,0,.34) 75%,rgba(0,0,0,.48) 100%),linear-gradient(0deg,rgba(0,0,0,.64) 0%,transparent 46%)}
.hero .orange{background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat strong i{font-size:.82em;margin-right:8px;color:#f0c14d}
.marquee{background:#050505;color:#fff}
.marquee-set span:after{color:#e2ad38}
.ring,.why,.project-copy,.coming-icon{background:#B97A05;background:var(--gold-gradient);color:#050505}
.horizontal-wrap,.cta,.footer{background:#050505;color:#fff}
.service-card{background:#111}
.service-card:after{background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.94) 100%)}
.service-info h3 i{font-size:.55em;color:#f0c14d;margin-right:10px;vertical-align:.12em}
.why-list{border-top-color:#111}
.why-item{border-bottom-color:rgba(0,0,0,.28)}
.why-item span i{font-size:30px}
.testimonials{background:#dfd5c3}
.stars{color:#9a6500;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.stars i{margin-right:8px}
.step b{background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.contact-info,.map-badge{background:#050505;color:#fff}
.map-badge span,.contact-line i,.footer h4{color:#f0c14d}
.area-list span i{color:#b97a05;margin-right:9px}
.zoom-icon{background:rgba(0,0,0,.88)}
.lightbox{background:rgba(0,0,0,.95)}
.lightbox-close{background:#B97A05;background:var(--gold-gradient);color:#050505}
.fab-top{background:#050505;color:#fff}
.fab-top:hover{background:#B97A05;background:var(--gold-gradient);color:#050505}
.footer-social a:hover{background:#B97A05;background:var(--gold-gradient);border-color:#F2B80A}
.page-hero{background:#050505}
.page-hero:after{background:linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.76) 46%,rgba(0,0,0,.42) 100%),linear-gradient(0deg,rgba(0,0,0,.42),rgba(0,0,0,.12))}
.hero-about:before{background-image:url('https://images.unsplash.com/photo-1726589004565-bedfba94d3a2?auto=format&fit=crop&w=2000&q=88')}
.hero-location:before{background-image:url('https://images.unsplash.com/photo-1755114203680-d39d95efa82c?auto=format&fit=crop&w=2000&q=88')}
.hero-services:before{background-image:url('https://images.unsplash.com/photo-1763665814485-a0a1b6f51ed7?auto=format&fit=crop&w=2000&q=88')}
.hero-portfolio:before{background-image:url('https://images.unsplash.com/photo-1763665814605-a6489a3bf2a0?auto=format&fit=crop&w=2000&q=88')}
.hero-video-page:before{background-image:url('https://images.unsplash.com/photo-1763665814538-8ba04597286c?auto=format&fit=crop&w=2000&q=88')}
.hero-contact:before{background-image:url('https://images.unsplash.com/photo-1773432114061-2ae201208630?auto=format&fit=crop&w=2000&q=88')}
.service-detail:nth-child(1),.service-detail:nth-child(4){background:#fff}
.service-detail-body .eyebrow i{color:#b97a05;margin-right:8px}
.page-hero .eyebrow,.horizontal-heading .eyebrow,.cta .eyebrow{color:#f0c14d}
.footer{background:#000}
.footer-indent{padding-left:21px}
.form button i,.btn i{font-size:1em}
@media(max-width:980px){
  .site-header .navlinks.open{background:rgba(0,0,0,.98);color:#fff;z-index:-1}
  .brand-logo{width:108px;height:68px}
}
@media(max-width:600px){
  .brand{min-width:auto}
  .brand-logo{width:88px;height:58px}
  .topbar{white-space:nowrap;overflow:hidden;padding:0 8px}
}

.why .step b{background:none;color:#050505;-webkit-text-fill-color:#050505}

/* --------------------------------------------------------------------------
   Master Quality Roofing - responsive gold / beige refinement
   Requested revision: neutralize green tones, transparent non-sticky header,
   diagonal home marquee, mission/vision + FAQ, richer button motion.
   -------------------------------------------------------------------------- */
:root{
  --forest:#041D36;
  --forest2:#021426;
  --lime:#F2B80A;
  --safety:#F2B80A;
  --cream:#f5f0e7;
  --ink:#041D36;
  --white:#fff;
  --soft-gray:#eeeeec;
  --mid-gray:#cfcfc9;
  --charcoal:#242424;
  --line:rgba(23,23,23,.16);
  --gold-gradient:linear-gradient(90deg,#b97a05 0%,#F2B80A 50%,#f0c14d 100%);
}

/* Remove residual green cast from the original template palette. */
.hero-video-overlay{background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.72) 44%,rgba(0,0,0,.34) 75%,rgba(0,0,0,.48) 100%),linear-gradient(0deg,rgba(0,0,0,.66) 0%,transparent 46%)}
.service-card{background:#242424}
.service-card:after{background:linear-gradient(180deg,transparent 28%,rgba(0,0,0,.94) 100%)}
.testimonials{background:#ded8ce}
.process{background:var(--cream)}
.why{background:#e9d7a7}
.why:after{background:rgba(234,217,176,.91)}
.testimonials:after{background:rgba(222,216,206,.91)}
.process:after{background:rgba(245,240,231,.94)}
.cta:after{background:linear-gradient(90deg,rgba(0,0,0,.95),rgba(26,26,26,.78))}
.page-hero:after{background:linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(18,18,18,.76) 46%,rgba(35,35,35,.43) 100%),linear-gradient(0deg,rgba(0,0,0,.42),rgba(0,0,0,.12))}
.map-card{background:radial-gradient(circle at 50% 50%,rgba(216,161,45,.34) 0 23%,transparent 24%),repeating-radial-gradient(circle at 50% 50%,transparent 0 55px,rgba(216,161,45,.20) 56px 57px),#121212}
.map-embed,.contact-map,.contact-info{box-shadow:0 25px 70px rgba(0,0,0,.14)}
.service-detail-rich{box-shadow:0 12px 35px rgba(0,0,0,.07)}
.service-detail:hover,.quote:hover,.step:hover,.area-list span:hover{box-shadow:0 18px 48px rgba(0,0,0,.13)}
.image-stack .big:hover,.image-stack .small:hover,.project-img:hover{box-shadow:0 24px 60px rgba(0,0,0,.17)}

/* Header belongs to the hero: transparent, never sticky, scrolls away naturally. */
.topbar{position:absolute!important;top:0!important;left:0;width:100%;z-index:71}
.site-header,.site-header.scrolled{
  position:absolute!important;
  top:38px!important;
  left:0!important;
  width:100%;
  z-index:70;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
  padding:16px 0;
  transition:none!important;
  transform:none!important;
}
.site-header .navlinks a:not(.btn),.site-header .menu-btn{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.site-header .navlinks a:not(.btn){display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.site-header .navlinks a:not(.btn) i{font-size:.78em;color:#f0c14d;transition:transform .3s ease,color .3s ease}
.site-header .navlinks a:not(.btn):hover i,.site-header .navlinks a.active i{transform:translateY(-2px) scale(1.15);color:#fff}
.menu-btn{color:#fff;display:none;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.08em}

/* More expressive button hover while keeping the established pill shape. */
.btn{position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0);box-shadow:0 8px 22px rgba(0,0,0,.08)}
.btn:before{content:"";position:absolute;inset:-40% -70%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.58) 48%,transparent 61%);transform:translateX(-70%) rotate(8deg);transition:transform .75s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.btn i{transition:transform .42s cubic-bezier(.2,.8,.2,1)}
@media(hover:hover){
  .btn:hover{transform:translateY(-6px) scale(1.035);box-shadow:0 18px 36px rgba(0,0,0,.22)}
  .btn:hover:before{transform:translateX(70%) rotate(8deg)}
  .btn:hover i{transform:translateX(3px) rotate(-7deg) scale(1.12)}
  .btn-dark:hover,.site-header .navlinks .btn-dark:hover{background:var(--gold-gradient);color:#050505}
  .btn-accent:hover{background:linear-gradient(90deg,#f0c14d 0%,#F2B80A 48%,#b97a05 100%);color:#050505}
  .btn-light:hover{background:#fff;color:#050505!important}
}

/* Home marquee: diagonal band and larger typography. */
.hero-video + .marquee{
  position:relative;
  z-index:8;
  width:104vw;
  margin:-4px 0 10px -2vw;
  padding:22px 0;
  transform:rotate(-2.15deg);
  transform-origin:center;
  box-shadow:0 14px 28px rgba(0,0,0,.14);
}
.hero-video + .marquee .marquee-set{gap:62px;padding-right:62px}
.hero-video + .marquee .marquee-set span{font-size:clamp(24px,2.25vw,36px);gap:62px;letter-spacing:-.025em}
.hero-video + .marquee .marquee-set span:after{font-size:18px}

/* Internal title banners: intentionally smaller and more adaptable. */
.page-hero{padding:190px 0 78px;min-height:62vh}
.page-hero h1{font-size:clamp(54px,8.2vw,128px);line-height:.9;max-width:1180px}
.page-hero .kicker{font-size:clamp(17px,1.55vw,22px);max-width:720px}
.display{overflow-wrap:normal;word-break:normal}
.title-word{white-space:nowrap}

/* Mission + Vision */
.mission-vision-section{background:var(--soft-gray);position:relative;overflow:hidden}
.mission-vision-section:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-140px;top:-160px;background:var(--gold-gradient);opacity:.12;filter:blur(2px)}
.mission-head .eyebrow i,.faq-intro .eyebrow i{color:#b97a05;margin-right:8px}
.mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.mission-card{position:relative;min-height:390px;padding:48px;border-radius:28px;background:#fff;border:1px solid rgba(23,23,23,.1);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,.06);transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease}
.mission-card:before{content:"";position:absolute;inset:auto -15% -45% 28%;height:210px;background:var(--gold-gradient);transform:rotate(-8deg);opacity:.12;border-radius:60px}
.mission-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--gold-gradient);color:#021426;font-size:27px;margin-bottom:auto;box-shadow:0 10px 30px rgba(185,122,5,.2)}
.mission-card .eyebrow{color:#8c620d;margin:24px 0 10px}
.mission-card h3{font-family:'Archivo Black',sans-serif;text-transform:uppercase;font-size:clamp(27px,2.6vw,42px);line-height:1.02;letter-spacing:-.04em;margin:0 0 16px;max-width:720px}
.mission-card p{font-size:17px;line-height:1.65;margin:0;max-width:650px;position:relative;z-index:1}
@media(hover:hover){.mission-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(0,0,0,.12);border-color:rgba(185,122,5,.36)}.mission-card:hover .mission-icon{transform:rotate(8deg) scale(1.06)}}
.mission-icon{transition:transform .4s ease}

/* FAQ */
.faq-section{background:#f7f4ee}
.faq-layout{display:grid;grid-template-columns:.76fr 1.24fr;gap:76px;align-items:start}
.faq-intro{position:sticky;top:30px}
.faq-intro h2{font-size:clamp(46px,6.2vw,92px);margin:14px 0 24px}
.faq-intro p{font-size:18px;line-height:1.65;max-width:520px;margin:0 0 28px;color:#4a4a47}
.faq-list{border-top:1px solid rgba(23,23,23,.16)}
.faq-item{border-bottom:1px solid rgba(23,23,23,.16);padding:0}
.faq-item summary,.faq-question-row{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 6px;font-size:clamp(18px,1.7vw,24px);font-weight:800;line-height:1.3}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary span,.faq-question-row span{display:flex;align-items:center;gap:14px}
.faq-item summary span>i,.faq-question-row span>i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#F2B80A;color:#041D36;font-size:14px;flex:0 0 34px}
.faq-plus{font-size:15px;transition:transform .35s ease,color .35s ease;color:#8c620d}
.faq-item[open] .faq-plus{transform:rotate(45deg);color:#041D36}
.faq-answer{padding:0 54px 28px}
.faq-answer p{margin:0;font-size:17px;line-height:1.65;color:#55524d}

/* Keep the floating WhatsApp action within the neutral/gold palette. */
.fab-whatsapp{background:var(--gold-gradient);color:#021426;animation:fabPulseGold 2.6s ease-in-out infinite}
.fab-whatsapp:hover{box-shadow:0 16px 38px rgba(0,0,0,.30)}
@keyframes fabPulseGold{0%,100%{box-shadow:0 12px 30px rgba(0,0,0,.22),0 0 0 0 rgba(216,161,45,.5)}50%{box-shadow:0 12px 30px rgba(0,0,0,.22),0 0 0 10px rgba(216,161,45,0)}}

/* Responsive system: large desktop -> laptop -> tablet -> mobile -> small mobile. */
@media(max-width:1280px){
  .container{width:min(1200px,calc(100% - 54px))}
  .navlinks{gap:17px;font-size:12px}
  .brand-logo{width:104px;height:66px}
  .hero{padding:168px 0 52px;min-height:92svh}
  .hero h1{font-size:clamp(52px,7.2vw,92px)}
  .hero-bottom{gap:34px}
  .section{padding:104px 0}
  .section-head{gap:40px;margin-bottom:54px}
  .service-card{width:min(72vw,700px)}
  .page-hero{padding:176px 0 72px}
}
@media(max-width:1100px){
  .navlinks{gap:12px;font-size:11px}
  .site-header .navlinks .btn{padding:14px 17px;font-size:10px}
  .brand-logo{width:96px;height:62px}
  .hero-bottom{grid-template-columns:1fr 1fr}
  .hero-copy{font-size:19px}
  .mission-card{padding:38px;min-height:365px}
  .faq-layout{gap:48px}
}
@media(max-width:980px){
  .container{width:min(100% - 36px,900px)}
  .menu-btn{display:inline-flex!important;font-size:13px}
  .site-header .navlinks.open{position:fixed;inset:0;display:flex;background:rgba(12,12,12,.985)!important;color:#fff;z-index:-1;padding:128px 28px 38px;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:20px;font-size:clamp(25px,5vw,36px);overflow-y:auto}
  .site-header .navlinks.open a:not(.btn){gap:12px}
  .site-header .navlinks.open a:not(.btn) i{font-size:.64em;width:28px;text-align:center}
  .site-header .navlinks.open .btn{margin-top:8px;font-size:12px}
  .hero{min-height:auto;padding:178px 0 74px}
  .hero h1{font-size:clamp(52px,10.5vw,86px)}
  .hero-bottom{grid-template-columns:1fr;gap:26px;margin-top:30px}
  .hero-actions{justify-content:flex-start}
  .section{padding:82px 0}
  .section-head h2{font-size:clamp(44px,9vw,78px)}
  .intro h2,.horizontal-heading h2,.why h2,.project-copy h2,.cta h2{font-size:clamp(48px,10vw,82px)}
  .image-stack{height:520px}
  .service-card{height:min(680px,72svh);min-height:460px}
  .project-img{height:500px}
  .page-hero{padding:164px 0 66px;min-height:56vh}
  .page-hero h1{font-size:clamp(50px,10vw,84px)}
  .mission-grid{grid-template-columns:1fr}
  .mission-card{min-height:330px}
  .faq-layout{grid-template-columns:1fr;gap:42px}
  .faq-intro{position:static}
  .faq-intro h2{font-size:clamp(46px,10vw,80px)}
  .footer-grid{gap:36px}
}
@media(max-width:768px){
  .container{width:calc(100% - 32px)}
  .section{padding:72px 0}
  .hero{padding:164px 0 66px}
  .hero h1{font-size:clamp(46px,12vw,76px)}
  .hero-copy{font-size:18px}
  .hero-actions{display:grid;grid-template-columns:1fr;width:100%}
  .hero-actions .btn{width:100%}
  .hero-video + .marquee{transform:rotate(-1.5deg);padding:18px 0;margin-top:-2px}
  .hero-video + .marquee .marquee-set{gap:44px;padding-right:44px}
  .hero-video + .marquee .marquee-set span{font-size:22px;gap:44px}
  .section-head{margin-bottom:40px}
  .split-img{height:420px}
  .image-stack{height:450px}
  .project-img{height:430px}
  .page-hero{padding:150px 0 56px;min-height:52vh}
  .page-hero h1{font-size:clamp(46px,11.6vw,72px)}
  .page-hero .kicker{font-size:17px;margin-top:22px}
  .mission-card{padding:32px;min-height:310px}
  .mission-icon{width:62px;height:62px;font-size:23px}
  .faq-item summary,.faq-question-row{padding:24px 2px;font-size:19px}
  .faq-answer{padding:0 48px 24px}
  .service-detail-body{padding:34px 28px}
  .contact-info{padding:34px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .container{width:calc(100% - 26px)}
  .topbar{height:34px;font-size:8.5px;letter-spacing:.05em;padding:0 7px;gap:6px}
  .site-header,.site-header.scrolled{top:34px!important;padding:10px 0}
  .brand-logo{width:82px;height:54px}
  .menu-btn{font-size:11px}
  .hero{padding:142px 0 56px;min-height:86svh}
  .hero .pill{font-size:9px;padding:9px 11px;line-height:1.35}
  .hero h1{font-size:clamp(43px,13.2vw,66px);line-height:.91;margin-top:16px}
  .hero-copy{font-size:16px;line-height:1.5;margin:0}
  .btn{padding:15px 18px;font-size:10px;line-height:1.25;min-height:48px;text-align:center}
  .section{padding:62px 0}
  .section-head{gap:14px;margin-bottom:34px}
  .section-head h2,.intro h2,.horizontal-heading h2,.why h2,.project-copy h2,.cta h2,.copy h2{font-size:clamp(38px,11.8vw,58px);line-height:.94}
  .lead{font-size:18px}
  .image-stack{height:390px}
  .image-stack .big{width:86%;height:76%}
  .image-stack .small{width:54%;height:40%;border-width:8px}
  .ring{width:88px;height:88px;font-size:9px}
  .horizontal-heading{padding-top:62px}
  .service-card{height:60svh;min-height:430px;border-radius:24px}
  .service-info{padding:24px 20px}
  .service-info h3{font-size:clamp(30px,10vw,48px)}
  .service-info p{font-size:14px}
  .project-copy{padding:28px 24px}
  .project-copy p{font-size:17px}
  .project-img{height:360px}
  .quote{padding:28px;min-height:280px}
  .quote p{font-size:19px}
  .step{padding:24px 16px;min-height:220px}
  .step h3{margin-top:26px}
  .cta{padding:70px 0}
  .cta-side p{font-size:18px}
  .page-hero{padding:134px 0 50px;min-height:48vh}
  .page-hero h1{font-size:clamp(42px,12vw,60px);line-height:.93}
  .page-hero .eyebrow{font-size:10px}
  .split-img{height:350px}
  .service-detail-img{min-height:270px}
  .service-detail-body h3{font-size:clamp(30px,9vw,42px)}
  .gallery{grid-auto-rows:250px;gap:12px}
  .mission-card{padding:26px 22px;min-height:300px;border-radius:22px}
  .mission-card h3{font-size:clamp(26px,8.5vw,38px)}
  .mission-card p{font-size:15.5px}
  .mission-icon{width:56px;height:56px;font-size:21px}
  .faq-intro h2{font-size:clamp(40px,11.5vw,58px)}
  .faq-intro p{font-size:16px}
  .faq-item summary,.faq-question-row{font-size:17px;padding:20px 0;gap:14px}
  .faq-item summary span,.faq-question-row span{gap:10px}
  .faq-item summary span>i,.faq-question-row span>i{width:30px;height:30px;flex-basis:30px;font-size:12px}
  .faq-answer{padding:0 0 20px 40px}
  .faq-answer p{font-size:15px}
  .contact-info{padding:28px 22px}
  .contact-info a{font-size:17px}
  .form{gap:13px}
  .field input,.field textarea,.field select{padding:15px}
  .footer-grid{grid-template-columns:1fr}
  .footer-logo{width:126px;height:96px}
  .hero-video + .marquee .marquee-set span{font-size:19px}
}
@media(max-width:430px){
  .container{width:calc(100% - 22px)}
  .topbar{font-size:7.5px;letter-spacing:.025em}
  .topbar i{display:none}
  .brand-logo{width:74px;height:50px}
  .hero{padding-top:132px}
  .hero h1{font-size:clamp(40px,12.9vw,55px)}
  .hero .pill{max-width:100%;white-space:normal}
  .page-hero{padding-top:126px;min-height:44vh}
  .page-hero h1{font-size:clamp(38px,11.4vw,52px)}
  .page-hero .kicker{font-size:15px}
  .image-stack{height:330px}
  .service-card{min-height:400px}
  .service-info h3{font-size:34px}
  .project-img{height:310px}
  .mission-card{min-height:280px}
  .faq-item summary,.faq-question-row{font-size:16px}
  .faq-answer{padding-left:0}
  .footer-bottom{font-size:11px}
}
@media(max-width:360px){
  .topbar{font-size:7px}
  .hero h1{font-size:39px}
  .page-hero h1{font-size:37px}
  .btn{font-size:9px;padding:14px 12px}
  .mission-card{padding:22px 18px}
  .contact-info{padding:24px 18px}
}
@media(max-height:700px) and (min-width:769px){
  .hero{min-height:760px;padding-bottom:50px}
  .page-hero{min-height:520px}
  .service-card{height:560px}
}
@media(prefers-reduced-motion:reduce){
  .btn,.btn:before,.btn i,.mission-card,.mission-icon,.faq-plus{transition:none!important}
}

/* Final floating-icon alignment refinement */
.fab-whatsapp i{transform:none}


/* ================= ROUND 4 REFINEMENTS - SEP 21 2026 ================= */
/* New hero video title rotation and larger display. */
.hero-rotating-title{font-size:clamp(68px,9.25vw,148px)!important;max-width:1320px!important;min-height:2.7em;display:flex;align-items:flex-end;overflow:visible!important}
.hero-title-phrase{display:block;will-change:transform,opacity}
.hero-title-phrase .orange{color:#f0c14d}
.intro-extra{font-size:17px;line-height:1.65;max-width:700px;margin:20px 0 28px;color:#4f4b43}

/* Internal title banner image - one consistent roofing visual on every internal page. */
.page-hero:before{background-image:url('https://assets.cdn.filesafe.space/n5QJkyeid4AMprmrVBvC/media/6ab14d2dde8ed1c29fa77d75.jpg')!important;background-position:center 46%!important}

/* Keep header transparent and attached to the hero instead of following the page. */
.site-header,.site-header.scrolled{position:absolute!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}

/* Link color interaction. */
a:not(.btn){transition:color .28s ease,opacity .28s ease,transform .28s ease}
@media(hover:hover){a:not(.btn):hover{color:#F2B80A}.footer a:not(.btn):hover{color:#f0c14d;opacity:1}.contact-info a:not(.btn):hover{color:#F2B80A}}

/* Details Covered: hover + click/focus interaction. */
.interactive-why{position:relative;overflow:hidden}
.interactive-why .why-list{overflow:hidden;border-top-color:rgba(0,0,0,.55)}
.interactive-why .why-item{position:relative;cursor:pointer;transition:transform .42s cubic-bezier(.2,.75,.2,1),padding .42s ease,background .42s ease,border-color .42s ease,box-shadow .42s ease}
.interactive-why .why-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold-gradient);transform:scaleY(0);transform-origin:bottom;transition:transform .42s ease}
.interactive-why .why-item>span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.4);transition:transform .42s ease,background .42s ease,box-shadow .42s ease}
.interactive-why .why-item h3{transition:transform .42s ease,color .42s ease}
.interactive-why .why-item p{transition:opacity .42s ease,transform .42s ease}
@media(hover:hover){.interactive-why .why-item:hover{transform:translateX(12px);padding-left:22px;padding-right:20px;background:rgba(255,255,255,.42);box-shadow:0 18px 50px rgba(0,0,0,.08)}.interactive-why .why-item:hover:before{transform:scaleY(1)}.interactive-why .why-item:hover>span{transform:rotate(-8deg) scale(1.09);background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.1)}.interactive-why .why-item:hover h3{transform:translateX(5px)}.interactive-why .why-item:hover p{opacity:1;transform:translateX(5px)}}
.interactive-why .why-item.active,.interactive-why .why-item:focus-visible{padding-left:22px;background:rgba(255,255,255,.48);outline:none;box-shadow:0 18px 50px rgba(0,0,0,.08)}
.interactive-why .why-item.active:before,.interactive-why .why-item:focus-visible:before{transform:scaleY(1)}
.interactive-why .why-item.active>span,.interactive-why .why-item:focus-visible>span{transform:rotate(-8deg) scale(1.07);background:#fff}

/* Floating controls: back-to-top above centered WhatsApp. */
.floating-actions{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}
.fab{display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}
.fab i{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;line-height:1!important;margin:0!important;transform:none!important;position:static!important}
.fab-whatsapp i{font-size:26px!important}
.fab-top{order:1}.fab-whatsapp{order:2}

/* Footer cleanup and mobile alignment. */
.footer-grid>div:nth-child(2) a{text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.footer-grid>div:nth-child(3) p,.footer-grid>div:nth-child(3) a{padding-left:0}
.footer-grid>div:nth-child(3) p .footer-indent{padding-left:0}

/* About hero service marquee: only service names, diagonal, oversized type. */
.about-service-marquee{position:relative;z-index:8;width:104vw;margin:-4px 0 18px -2vw;padding:23px 0;transform:rotate(-2.15deg);transform-origin:center;box-shadow:0 14px 28px rgba(0,0,0,.14);background:#050505}
.about-service-marquee .marquee-set{gap:68px;padding-right:68px}
.about-service-marquee .marquee-set span{font-size:clamp(28px,2.8vw,44px);gap:68px;letter-spacing:-.03em}
.about-service-marquee .marquee-set span:after{font-size:18px}

/* About process + service area. */
.about-process-section{background:#f6f3ed}
.about-process-section .section-head .eyebrow i,.about-service-area .eyebrow i{color:#b97a05;margin-right:8px}
.about-process-grid .step{background:#fff;border:1px solid rgba(23,23,23,.1);border-top:4px solid #F2B80A;border-radius:22px;box-shadow:0 12px 34px rgba(0,0,0,.05);transition:transform .35s ease,box-shadow .35s ease}
@media(hover:hover){.about-process-grid .step:hover{transform:translateY(-8px);box-shadow:0 22px 48px rgba(0,0,0,.11)}}
.about-service-area{background:#111;color:#fff;overflow:hidden;position:relative}
.about-service-area:before{content:"";position:absolute;inset:auto -10% -48% 45%;height:520px;background:var(--gold-gradient);opacity:.11;filter:blur(50px);transform:rotate(-8deg)}
.service-area-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;position:relative;z-index:2}
.service-area-copy h2{font-size:clamp(52px,6.5vw,102px);margin:16px 0 26px}
.service-area-copy p{font-size:19px;line-height:1.65;color:rgba(255,255,255,.78);max-width:640px;margin-bottom:30px}
.service-area-copy .btn-dark{background:var(--gold-gradient);color:#021426}
.service-radius-card{position:relative;min-height:570px;border:1px solid rgba(255,255,255,.16);border-radius:34px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(216,161,45,.18),transparent 38%),linear-gradient(135deg,#041D36,#021426);box-shadow:0 28px 70px rgba(0,0,0,.3)}
.radius-ring{position:absolute;border:1px solid rgba(240,193,77,.36);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.radius-ring-one{width:290px;height:290px}.radius-ring-two{width:440px;height:440px;border-style:dashed}
.radius-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:156px;height:156px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--gold-gradient);color:#021426;box-shadow:0 0 0 18px rgba(216,161,45,.08),0 18px 50px rgba(0,0,0,.3)}
.radius-center i{font-size:27px;margin-bottom:8px}.radius-center strong{font-family:'Archivo Black';text-transform:uppercase;font-size:18px;line-height:1}.radius-center span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-top:5px}
.radius-badge{position:absolute;right:34px;top:34px;display:flex;align-items:center;gap:12px}.radius-badge strong{font-family:'Archivo Black';font-size:58px;color:#f0c14d;line-height:1}.radius-badge span{font-size:11px;font-weight:800;letter-spacing:.11em;line-height:1.2}
.area-tags{position:absolute;left:28px;bottom:28px;right:28px;display:flex;gap:10px;flex-wrap:wrap}.area-tags span{border:1px solid rgba(255,255,255,.2);padding:11px 14px;border-radius:99px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.area-tags i{color:#f0c14d;margin-right:7px}

/* LeadConnector form embed: no card/background around the iframe. */
.lc-form-wrap{width:100%;min-height:748px;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;overflow:visible}
.lc-form-wrap iframe{display:block;width:100%!important;min-height:748px;height:748px!important;background:transparent!important;border:0!important}

/* Home services: manual control carousel on tablet/mobile, while desktop keeps scroll-pin animation. */
.mobile-service-controls{display:none}
@media(max-width:980px){
  .horizontal-stage{display:block!important;height:auto!important;overflow:hidden!important;padding:0 18px 72px}
  .horizontal-track{display:flex!important;gap:0!important;width:100%!important;padding:0!important;transition:transform .62s cubic-bezier(.22,.75,.22,1)!important;will-change:transform}
  .horizontal-track .service-card{flex:0 0 100%!important;width:100%!important;max-width:none!important;margin:0!important}
  .mobile-service-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}
  .service-carousel-btn{width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;display:grid;place-items:center;font-size:17px;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease}
  .service-carousel-btn:active{transform:scale(.94)}
  .service-carousel-btn:hover{background:var(--gold-gradient);color:#021426}
  .service-counter{font-family:'Archivo Black';font-size:14px;letter-spacing:.08em;min-width:70px;text-align:center;color:#f0c14d}
  .service-area-layout{grid-template-columns:1fr;gap:42px}
  .service-radius-card{min-height:500px}
}

@media(max-width:600px){
  .hero-rotating-title{font-size:clamp(50px,15vw,72px)!important;min-height:2.72em;margin-top:6px}
  .hero-bottom{margin-top:20px}
  .intro-extra{font-size:15.5px;margin:16px 0 24px}
  .about-service-marquee{transform:rotate(-1.45deg);padding:18px 0}
  .about-service-marquee .marquee-set{gap:44px;padding-right:44px}
  .about-service-marquee .marquee-set span{font-size:22px;gap:44px}
  .service-radius-card{min-height:400px;border-radius:26px}
  .radius-ring-one{width:210px;height:210px}.radius-ring-two{width:320px;height:320px}
  .radius-center{width:128px;height:128px}.radius-center strong{font-size:15px}.radius-badge{right:20px;top:20px}.radius-badge strong{font-size:44px}
  .area-tags{left:18px;right:18px;bottom:18px}.area-tags span{font-size:9px}
  .lc-form-wrap,.lc-form-wrap iframe{min-height:780px;height:780px!important}
  .footer{text-align:center}
  .footer-grid{justify-items:center;text-align:center}
  .footer-grid>div{width:100%;display:flex;flex-direction:column;align-items:center}
  .footer .brand,.footer .footer-brand{justify-content:center}
  .footer-about{margin-left:auto!important;margin-right:auto!important}
  .footer-social{justify-content:center}
  .footer a,.footer p{text-align:center}
  .footer-bottom{align-items:center;text-align:center;justify-content:center}
  .floating-actions{right:16px;bottom:16px;gap:10px}
  .fab{width:54px;height:54px}
}


/* ===== Requested visual refinements - preserve existing structure/animation ===== */
/* Clear hero: no dark filter; keep only a light text/content shadow for readability. */
.hero-video-overlay{background:transparent!important}
.hero-video .hero-inner{filter:drop-shadow(0 4px 12px rgba(0,0,0,.22))}
.hero-video .hero-copy,.hero-video .display,.hero-video .hero-actions{text-shadow:0 2px 9px rgba(0,0,0,.28)}

/* Requested header/footer logo and size. */
.brand-logo{width:230px!important;height:auto!important;max-height:none!important;object-fit:contain!important}
.footer-logo{width:230px!important;height:auto!important;max-height:none!important}
.navlinks>a{text-transform:uppercase!important}

/* Diagonal button treatment without changing button content. */
.btn{border-radius:8px!important;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.btn-light{background:linear-gradient(135deg,#f3f3f3 0%,#cfcfcf 100%)!important;color:#111!important;border-color:#d6d6d6!important}
.btn-light:hover{background:linear-gradient(135deg,#dedede 0%,#bdbdbd 100%)!important;color:#111!important}

/* Section headings now begin on the same left edge as their eyebrow/subtitle. */
.section-head{display:block!important;text-align:left!important}
.section-head>.eyebrow{display:inline-flex;margin-bottom:18px}
.section-head h2{max-width:1100px}

/* Bold + regular italic type play with two brand colors. */
.display{color:#151515}
.display .title-word:nth-child(2n){font-family:'DM Sans',sans-serif;font-style:italic;font-weight:500;color:#b97a05}
.hero .display .title-word:nth-child(2n),.page-hero .display .title-word:nth-child(2n),.cta .display .title-word:nth-child(2n),.interactive-why .display .title-word:nth-child(2n),.mission-vision-section .display .title-word:nth-child(2n){color:#f0c14d}

/* Mission & Vision requested parallax background and more movement. */
.mission-vision-section{background-image:linear-gradient(rgba(12,12,12,.58),rgba(12,12,12,.58)),url('https://assets.cdn.filesafe.space/n5QJkyeid4AMprmrVBvC/media/6ab1572ec3c92dff4d191c16.jpg')!important;background-size:cover!important;background-position:center 40%!important;background-attachment:fixed!important;color:#fff!important}
.mission-vision-section:before{content:''!important;position:absolute!important;inset:-18%!important;width:auto!important;height:auto!important;border-radius:0!important;background:radial-gradient(circle at 18% 28%,rgba(240,193,77,.20),transparent 30%),radial-gradient(circle at 82% 68%,rgba(255,255,255,.10),transparent 26%)!important;opacity:1!important;filter:none!important;animation:mqrMissionFloat 10s ease-in-out infinite alternate!important;pointer-events:none}
.mission-vision-section .container{position:relative;z-index:2}
.mission-vision-section .display,.mission-vision-section .mission-card h3,.mission-vision-section .mission-card p{color:#fff!important}
.mission-vision-section .mission-card{background:rgba(0,0,0,.38)!important;border-color:rgba(255,255,255,.18)!important;backdrop-filter:blur(7px)}
@keyframes mqrMissionFloat{from{transform:translate3d(-1.5%,0,0)}to{transform:translate3d(1.5%,3%,0)}}

/* Requested section background swaps. */
.interactive-why:before{background-image:url('https://assets.cdn.filesafe.space/n5QJkyeid4AMprmrVBvC/media/6ab1572eff484614db800e01.jpg')!important;background-position:center!important;background-size:cover!important}
.interactive-why:after{background:rgba(234,217,176,.80)!important}
.cta:before{background-image:url('https://assets.cdn.filesafe.space/n5QJkyeid4AMprmrVBvC/media/6ab14d2dde8ed1c29fa77d75.jpg')!important;background-position:center!important;background-size:cover!important}

/* BUILT FROM THE DECK UP: true full-bleed with no outside gap. */
.deck-fullbleed{padding:0!important}
.deck-fullbleed>.container{width:100vw!important;max-width:none!important;margin:0!important}
.deck-fullbleed .project-strip{gap:0!important}
.deck-fullbleed .project-img,.deck-fullbleed .project-copy{border-radius:0!important}

/* Home process: desktop horizontal scroll timeline, mobile manual controls. */
.home-process-timeline{overflow:hidden}
.process-timeline-viewport{overflow:hidden;width:100%;padding:12px 0 46px}
.process-timeline-track{display:flex;gap:22px;width:max-content;will-change:transform}
.timeline-step{flex:0 0 min(520px,72vw);min-height:330px;padding:38px 34px;border-top:4px solid #F2B80A;background:#fff;border-radius:24px;box-shadow:0 16px 42px rgba(0,0,0,.08)}
.timeline-step b{display:block;font-family:'Archivo Black';font-size:54px;background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.timeline-step h3{font-size:30px;margin:40px 0 12px}
.timeline-step p{font-size:17px;line-height:1.6;opacity:.72}
.timeline-mobile-controls{display:none;align-items:center;justify-content:center;gap:18px;margin-top:20px}
.timeline-control{width:52px;height:52px;border:1px solid #F2B80A;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;cursor:pointer}
.timeline-counter{font-family:'Archivo Black';font-size:14px;letter-spacing:.08em;color:#b97a05;min-width:72px;text-align:center}

/* Full-width portfolio carousel: edge to edge across the screen. */
.home-portfolio-full{padding:100px 0 0!important;background:#0b0b0b;color:#fff;overflow:hidden}
.home-portfolio-full .home-portfolio-heading{padding-bottom:48px}
.home-portfolio-full .display{font-size:clamp(52px,7vw,112px);color:#fff}
.home-portfolio-shell{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;overflow:hidden!important}
.home-portfolio-track{display:flex;gap:0;width:max-content;animation:mqrPortfolioMove 32s linear infinite}
.home-portfolio-item{margin:0;flex:0 0 min(42vw,680px);height:560px;overflow:hidden;position:relative}
.home-portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.home-portfolio-item:hover img{transform:scale(1.04)}
@keyframes mqrPortfolioMove{to{transform:translateX(-50%)}}

@media(max-width:980px){
  .brand-logo,.footer-logo{width:190px!important}
  .mission-vision-section{background-attachment:scroll!important}
  .process-timeline-viewport{overflow:hidden}
  .process-timeline-track{gap:0;transition:transform .5s ease}
  .timeline-step{flex:0 0 100%;min-width:100%;max-width:none}
  .timeline-mobile-controls{display:flex}
  .home-portfolio-item{flex-basis:78vw;height:460px}
}
@media(max-width:600px){
  .brand-logo,.footer-logo{width:160px!important}
  .home-portfolio-full{padding-top:70px!important}
  .home-portfolio-full .home-portfolio-heading{padding-bottom:32px}
  .home-portfolio-item{flex-basis:88vw;height:360px}
  .timeline-step{padding:30px 24px;min-height:300px}
  .timeline-step h3{font-size:24px;margin-top:28px}
}

/* ========================================================================
   PRECISE REQUESTED REFINEMENTS - SEP 21 2026
   Targeted overrides only; existing structure and animations are retained.
   ======================================================================== */
:root{
  --silver-gradient:linear-gradient(90deg,rgba(121,121,123,1) 0%,rgba(161,161,162,1) 20%,rgba(236,236,237,1) 50%,rgba(161,161,162,1) 80%,rgba(121,121,123,1) 100%);
}

/* Hero rotating title: white + gold only. */
.hero-rotating-title,.hero-rotating-title .hero-title-phrase{color:#fff!important}
.hero-rotating-title .orange{color:#f0c14d!important;background:none!important;-webkit-text-fill-color:#f0c14d!important}

/* More visible active navigation state while preserving the transparent header. */
.site-header .navlinks a.active:not(.btn){
  color:#021426!important;
  background:var(--gold-gradient)!important;
  box-shadow:0 10px 28px rgba(185,122,5,.32),inset 0 0 0 1px rgba(255,255,255,.28);
  padding:11px 16px;
  border-radius:7px;
  clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
  transform:translateY(-2px);
  text-shadow:none!important;
}
.site-header .navlinks a.active:not(.btn) i{color:#021426!important;transform:scale(1.12)!important}
.site-header .navlinks a.active:not(.btn):after{display:none!important}

/* QUALITY ABOVE. PROTECTION BELOW. - black/gold with italic counterpoint. */
.intro .copy>.display{color:#041D36!important}
.intro .copy>.display .title-word:nth-child(odd){font-family:'Archivo Black',sans-serif!important;font-style:normal!important;color:#041D36!important}
.intro .copy>.display .title-word:nth-child(even){font-family:'DM Sans',sans-serif!important;font-style:italic!important;font-weight:600!important;color:#b97a05!important}

/* Black filter over the requested Why Choose background. */
.interactive-why{color:#fff!important}
.interactive-why:after{background:rgba(0,0,0,.76)!important}
.interactive-why .why-grid{position:relative;z-index:2}
.interactive-why .display,.interactive-why h3,.interactive-why p{color:#fff!important}
.interactive-why .why-list{border-top-color:rgba(255,255,255,.34)!important}
.interactive-why .why-item{border-bottom-color:rgba(255,255,255,.22)!important}
.interactive-why .why-item>span{background:var(--gold-gradient)!important;color:#021426!important}
@media(hover:hover){
  .interactive-why .why-item:hover{background:rgba(255,255,255,.10)!important;box-shadow:0 18px 50px rgba(0,0,0,.28)!important}
  .interactive-why .why-item:hover>span{background:var(--gold-gradient)!important}
}
.interactive-why .why-item.active,.interactive-why .why-item:focus-visible{background:rgba(255,255,255,.12)!important;box-shadow:0 18px 50px rgba(0,0,0,.28)!important}
.interactive-why .why-item.active>span,.interactive-why .why-item:focus-visible>span{background:var(--gold-gradient)!important}

/* FAQ background details without changing FAQ structure. */
.faq-section{position:relative;overflow:hidden;isolation:isolate;background:#f7f4ee!important}
.faq-section:before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(circle at 11% 18%,rgba(216,161,45,.18) 0 3px,transparent 4px),
    radial-gradient(circle at 88% 76%,rgba(185,122,5,.12) 0 2px,transparent 3px),
    linear-gradient(135deg,transparent 0 47%,rgba(185,122,5,.055) 47.5% 48%,transparent 48.5% 100%);
  background-size:110px 110px,86px 86px,48px 48px;
}
.faq-section:after{
  content:"";position:absolute;width:520px;height:520px;right:-230px;top:-210px;z-index:-1;border-radius:50%;
  border:1px solid rgba(185,122,5,.16);box-shadow:0 0 0 52px rgba(216,161,45,.045),0 0 0 104px rgba(216,161,45,.025);
}

/* Home process: edge-to-edge, spaced cards, animated wave. */
.home-process-timeline{padding:110px 0!important;overflow:hidden!important;background:linear-gradient(135deg,#f7f2e9 0%,#ece8df 100%)!important}
.home-process-timeline>.container{width:100%!important;max-width:none!important;margin:0!important}
.home-process-timeline .section-head{padding:0 max(5vw,44px);margin-bottom:34px!important;max-width:1180px}
.home-process-timeline .process-timeline-viewport{width:100vw!important;overflow:hidden!important;padding:54px 0 76px!important}
.home-process-timeline .process-timeline-track{
  position:relative!important;display:flex!important;align-items:center!important;gap:92px!important;width:max-content!important;
  padding:72px max(6vw,70px)!important;isolation:isolate;
}
.process-wave{position:absolute;left:0;top:50%;width:100%;height:260px;transform:translateY(-50%);z-index:0;overflow:visible;pointer-events:none;filter:drop-shadow(0 7px 10px rgba(185,122,5,.18))}
.process-wave-path{stroke:#F2B80A;stroke-width:5;stroke-linecap:round;stroke-dasharray:20 15;stroke-dashoffset:0;opacity:.92;vector-effect:non-scaling-stroke}
.home-process-timeline .timeline-step{
  position:relative;z-index:2;flex:0 0 min(520px,68vw)!important;min-height:350px!important;padding:40px 36px!important;
  border:1px solid rgba(255,255,255,.11)!important;border-top:0!important;border-radius:28px!important;
  background:linear-gradient(145deg,#151515 0%,#050505 100%)!important;color:#fff!important;
  box-shadow:0 24px 60px rgba(0,0,0,.16)!important;
}
.home-process-timeline .timeline-step:nth-of-type(even){transform:translateY(54px)}
.home-process-timeline .timeline-step b{display:inline-flex!important;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:var(--gold-gradient)!important;color:#021426!important;-webkit-text-fill-color:#021426!important;font-size:28px!important}
.home-process-timeline .timeline-step h3{color:#fff!important;font-size:31px!important;margin:44px 0 14px!important}
.home-process-timeline .timeline-step p{color:rgba(255,255,255,.72)!important;font-size:17px!important;line-height:1.65!important}
.home-process-timeline .timeline-mobile-controls{position:relative;z-index:3}

/* Deck section: remove the oversized title-to-copy gap. */
.deck-fullbleed .project-copy{justify-content:center!important;gap:28px!important}
.deck-fullbleed .project-copy>div{margin:0!important}
.deck-fullbleed .project-copy h2{margin-bottom:0!important}
.deck-fullbleed .project-copy p{margin:0 0 22px!important}

/* Exact requested silver gradient for white buttons. */
.btn-light{
  background:#79797B!important;
  background:linear-gradient(90deg,rgba(121,121,123,1) 0%,rgba(161,161,162,1) 20%,rgba(236,236,237,1) 50%,rgba(161,161,162,1) 80%,rgba(121,121,123,1) 100%)!important;
  color:#021426!important;border-color:rgba(255,255,255,.16)!important;
}
.btn-light:hover{background:linear-gradient(90deg,rgba(121,121,123,1) 0%,rgba(161,161,162,1) 20%,rgba(236,236,237,1) 50%,rgba(161,161,162,1) 80%,rgba(121,121,123,1) 100%)!important;color:#021426!important}

/* Any display text sitting on a black/dark surface uses silver/gold instead of black. */
.horizontal-wrap .display,.interactive-why .display,.cta .display,.about-service-area .display,.services-scroll-section .display{
  background:var(--silver-gradient);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;
}
.horizontal-wrap .display .title-word:nth-child(even),.interactive-why .display .title-word:nth-child(even),.cta .display .title-word:nth-child(even),.about-service-area .display .title-word:nth-child(even),.services-scroll-section .display .title-word:nth-child(even){
  background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;
}

/* Internal banners: more breathing room above the title content. */
.page-hero{padding-top:235px!important}

/* Diagonal marquees move a little slower. */
.marquee-track{animation-duration:34s!important}
.matched-about-marquee{position:relative;z-index:8;width:104vw;margin:-4px 0 18px -2vw;padding:23px 0;transform:rotate(-2.15deg);transform-origin:center;box-shadow:0 14px 28px rgba(0,0,0,.14);background:#050505}
.matched-about-marquee .marquee-set{gap:68px;padding-right:68px}
.matched-about-marquee .marquee-set span{font-size:clamp(28px,2.8vw,44px);gap:68px;letter-spacing:-.03em}
.matched-about-marquee .marquee-set span:after{font-size:18px}

/* Home portfolio: two edge-to-edge image-only rows, opposite directions. */
.home-portfolio-full.portfolio-two-rows{padding:0!important;background:#050505!important;overflow:hidden!important}
.home-portfolio-full.portfolio-two-rows .home-portfolio-shell{width:100vw!important;margin:0!important;max-width:none!important;overflow:hidden!important}
.home-portfolio-full.portfolio-two-rows .home-portfolio-shell+.home-portfolio-shell{margin-top:4px!important}
.home-portfolio-full.portfolio-two-rows .home-portfolio-track{display:flex!important;gap:4px!important;width:max-content!important;animation:mqrPortfolioLeft 42s linear infinite!important;will-change:transform}
.home-portfolio-full.portfolio-two-rows .portfolio-row-right .home-portfolio-track{animation-name:mqrPortfolioRight!important}
.home-portfolio-full.portfolio-two-rows .home-portfolio-item{
  position:relative;flex:0 0 min(36vw,590px)!important;height:420px!important;margin:0!important;overflow:hidden!important;border-radius:0!important;cursor:zoom-in;background:#111;
}
.home-portfolio-full.portfolio-two-rows .home-portfolio-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease}
.home-portfolio-hover{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,rgba(185,122,5,.15),rgba(240,193,77,.58));opacity:0;transition:opacity .4s ease;pointer-events:none}
.home-portfolio-hover i{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#050505;color:#f0c14d;font-size:23px;transform:scale(.7) rotate(-8deg);transition:transform .42s cubic-bezier(.2,.8,.2,1);box-shadow:0 18px 45px rgba(0,0,0,.3)}
@media(hover:hover){
  .home-portfolio-item:hover img{transform:scale(1.075);filter:saturate(1.2) contrast(1.04)}
  .home-portfolio-item:hover .home-portfolio-hover{opacity:1}
  .home-portfolio-item:hover .home-portfolio-hover i{transform:scale(1) rotate(0)}
}
@keyframes mqrPortfolioLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mqrPortfolioRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* Contact-form heading added directly above the transparent LeadConnector iframe. */
.contact-form-intro{margin:0 0 26px;padding:0 4px}
.contact-form-intro .eyebrow{color:#b97a05}
.contact-form-intro h2{font-size:clamp(38px,4.8vw,70px)!important;line-height:.94;margin:10px 0 18px;max-width:780px}
.contact-form-intro p{font-size:17px;line-height:1.65;max-width:760px;color:#57534d}
.lc-form-wrap{background:transparent!important}

/* ------------------------------------------------------------------------
   SERVICES TAB: sticky service replacement showcase inspired by reference.
   ------------------------------------------------------------------------ */
.services-scroll-section{position:relative;background:#0a0a08;color:#fff;overflow:hidden}
.services-sticky-stage{position:relative;min-height:100svh;padding:64px 0;display:flex;flex-direction:column;justify-content:center;background:
  radial-gradient(circle at 14% 18%,rgba(216,161,45,.10),transparent 26%),
  repeating-linear-gradient(135deg,transparent 0 54px,rgba(255,255,255,.018) 55px 56px),#0a0a08}
.services-showcase-inner{width:min(1420px,calc(100% - 80px));height:min(780px,78svh);min-height:620px;margin:0 auto;display:grid;grid-template-columns:minmax(390px,.86fr) 1.14fr;gap:80px;align-items:stretch}
.services-media-stack,.services-copy-stack{position:relative;min-width:0;min-height:0}
.services-showcase-media{position:absolute;inset:0;margin:0;border-radius:34px;overflow:hidden;opacity:0;transform:translateY(34px) scale(.985);transition:opacity .55s ease,transform .72s cubic-bezier(.2,.75,.2,1);pointer-events:none;box-shadow:0 30px 80px rgba(0,0,0,.38)}
.services-showcase-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.70) 100%)}
.services-showcase-media.is-active{opacity:1;transform:none;z-index:2}
.services-showcase-media.is-before{transform:translateY(-34px) scale(1.01)}
.services-showcase-media img{width:100%;height:100%;object-fit:cover}
.services-current-label{position:absolute;left:32px;right:32px;bottom:28px;z-index:3;display:grid;gap:5px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.services-current-label span{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#f0c14d}
.services-current-label strong{font-size:clamp(28px,3vw,48px);line-height:1;font-weight:700;letter-spacing:-.04em}
.services-showcase-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(80px);transition:opacity .45s ease,transform .68s cubic-bezier(.2,.75,.2,1);pointer-events:none}
.services-showcase-copy.is-active{opacity:1;transform:translateY(0);pointer-events:auto;z-index:3}
.services-showcase-copy.is-before{transform:translateY(-80px)}
.services-copy-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}
.services-showcase-number{font-family:'DM Sans',sans-serif;font-style:italic;color:#aaa59c;font-size:18px;letter-spacing:.08em}
.services-showcase-icon{width:58px;height:58px;border:1px solid rgba(255,255,255,.26);border-radius:50%;display:grid;place-items:center;color:#f0c14d;font-size:19px}
.services-showcase-copy h2{font-size:clamp(52px,6vw,104px)!important;line-height:.88!important;max-width:850px;margin:0 0 24px!important}
.services-showcase-desc{font-size:17px;line-height:1.65;color:rgba(255,255,255,.68);max-width:760px;margin:0 0 22px}
.services-showcase-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;list-style:none;margin:0 0 28px;padding:0;max-width:760px;color:rgba(255,255,255,.84)}
.services-showcase-list li{font-size:14px}
.services-showcase-list i{color:#F2B80A;margin-right:7px}
.services-showcase-link{display:inline-flex;align-items:center;gap:12px;width:max-content;color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding-bottom:7px;border-bottom:1px solid #F2B80A}
.services-showcase-link i{transition:transform .3s ease}
.services-showcase-link:hover{color:#f0c14d}.services-showcase-link:hover i{transform:translateX(5px)}
.services-showcase-controls{display:none;align-items:center;justify-content:center;gap:18px;margin:24px auto 0}
.services-showcase-btn{width:54px;height:54px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;transition:.25s}
.services-showcase-btn:hover{background:var(--gold-gradient);color:#021426;border-color:transparent}
.services-showcase-counter{font-family:'Archivo Black',sans-serif;color:#f0c14d;font-size:14px;letter-spacing:.08em;min-width:74px;text-align:center}

@media(max-width:980px){
  .page-hero{padding-top:200px!important}
  .home-process-timeline{padding:86px 0!important}
  .home-process-timeline .section-head{padding:0 24px}
  .home-process-timeline .process-timeline-viewport{padding:22px 0 28px!important}
  .home-process-timeline .process-timeline-track{gap:0!important;padding:0!important;width:100vw!important;align-items:stretch!important}
  .home-process-timeline .timeline-step{flex:0 0 100vw!important;min-width:100vw!important;max-width:100vw!important;min-height:390px!important;border-radius:0!important;padding:42px 34px!important;transform:none!important}
  .process-wave{display:none}
  .home-process-timeline .timeline-mobile-controls{display:flex!important;margin-top:24px}
  .home-portfolio-full.portfolio-two-rows .home-portfolio-item{flex-basis:70vw!important;height:380px!important}

  .services-sticky-stage{min-height:auto;padding:64px 18px 48px}
  .services-showcase-inner{width:100%;height:auto;min-height:0;display:grid;grid-template-columns:1fr;gap:26px}
  .services-media-stack{height:470px}
  .services-copy-stack{min-height:570px}
  .services-showcase-media{border-radius:28px}
  .services-showcase-copy{justify-content:flex-start;padding:20px 4px 0}
  .services-showcase-copy h2{font-size:clamp(44px,10vw,72px)!important}
  .services-showcase-controls{display:flex}
}

@media(max-width:600px){
  .page-hero{padding-top:170px!important}
  .site-header .navlinks.open a.active:not(.btn){width:100%;padding:12px 16px}
  .home-process-timeline{padding:70px 0!important}
  .home-process-timeline .section-head{padding:0 16px}
  .home-process-timeline .timeline-step{min-height:370px!important;padding:36px 24px!important}
  .home-process-timeline .timeline-step h3{font-size:27px!important;margin-top:32px!important}
  .home-portfolio-full.portfolio-two-rows .home-portfolio-item{flex-basis:84vw!important;height:330px!important}
  .home-portfolio-hover i{width:58px;height:58px;font-size:20px}
  .matched-about-marquee{transform:rotate(-1.45deg);padding:18px 0}
  .matched-about-marquee .marquee-set{gap:44px;padding-right:44px}
  .matched-about-marquee .marquee-set span{font-size:22px;gap:44px}
  .contact-form-intro h2{font-size:clamp(36px,11vw,54px)!important}
  .services-sticky-stage{padding:44px 13px 36px}
  .services-media-stack{height:390px}
  .services-copy-stack{min-height:610px}
  .services-current-label{left:22px;right:22px;bottom:20px}
  .services-current-label strong{font-size:30px}
  .services-showcase-copy h2{font-size:clamp(38px,11vw,56px)!important}
  .services-showcase-desc{font-size:15.5px}
  .services-showcase-list{grid-template-columns:1fr;gap:8px;margin-bottom:24px}
  .services-copy-top{margin-bottom:24px}
}

/* Ensure wrapped dark-background title words render with the silver/gold gradients too. */
.horizontal-wrap .display .title-word:nth-child(odd),
.interactive-why .display .title-word:nth-child(odd),
.cta .display .title-word:nth-child(odd),
.about-service-area .display .title-word:nth-child(odd),
.services-scroll-section .display .title-word:nth-child(odd){
  background:var(--silver-gradient);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent!important;
}
.horizontal-wrap .display .title-word:nth-child(even),
.interactive-why .display .title-word:nth-child(even),
.cta .display .title-word:nth-child(even),
.about-service-area .display .title-word:nth-child(even),
.services-scroll-section .display .title-word:nth-child(even){
  background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent!important;
}

/* BR tags sit between title words, so alternate by span type rather than raw child index. */
.intro .copy>.display .title-word:nth-of-type(odd){font-family:'Archivo Black',sans-serif!important;font-style:normal!important;color:#041D36!important;background:none!important;-webkit-text-fill-color:#041D36!important}
.intro .copy>.display .title-word:nth-of-type(even){font-family:'DM Sans',sans-serif!important;font-style:italic!important;font-weight:600!important;color:#b97a05!important;background:none!important;-webkit-text-fill-color:#b97a05!important}
.horizontal-wrap .display .title-word:nth-of-type(odd),
.interactive-why .display .title-word:nth-of-type(odd),
.cta .display .title-word:nth-of-type(odd),
.about-service-area .display .title-word:nth-of-type(odd),
.services-scroll-section .display .title-word:nth-of-type(odd){background:var(--silver-gradient)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
.horizontal-wrap .display .title-word:nth-of-type(even),
.interactive-why .display .title-word:nth-of-type(even),
.cta .display .title-word:nth-of-type(even),
.about-service-area .display .title-word:nth-of-type(even),
.services-scroll-section .display .title-word:nth-of-type(even){background:var(--gold-gradient)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}


/* ===== Final round refinements ===== */
body{overflow-x:hidden;}
.display,.display .title-word{line-height:.95;overflow:visible;word-break:normal;hyphens:none;}
.display .title-word{padding-bottom:.06em;}
.page-hero{padding-top:264px!important;padding-bottom:88px!important;min-height:64vh;overflow:visible;}
.page-hero .container{padding-top:18px;}
.page-hero .display{max-width:1180px;}
.page-hero .display .title-word:nth-of-type(odd){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;}
.page-hero .display .title-word:nth-of-type(even){background:var(--gold-gradient)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;}
.page-hero .kicker{max-width:760px;}

.page-services .services-scroll-section{background:#EDE9E1!important;color:#111;position:relative;isolation:isolate;}
.page-services .services-scroll-section:before,.page-services .services-scroll-section:after{content:"";position:absolute;inset:0;pointer-events:none;}
.page-services .services-scroll-section:before{background:radial-gradient(circle at 12% 20%,rgba(240,193,77,.18),transparent 24%),radial-gradient(circle at 86% 16%,rgba(0,0,0,.05),transparent 22%),radial-gradient(circle at 82% 82%,rgba(240,193,77,.13),transparent 24%),repeating-linear-gradient(135deg,rgba(0,0,0,.028) 0 2px,transparent 2px 26px);opacity:1;}
.page-services .services-scroll-section:after{background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 32%,rgba(0,0,0,.02) 100%);}
.page-services .services-scroll-section .section-head .eyebrow,.page-services .services-showcase-number,.page-services .services-showcase-counter{color:#b97a05;}
.page-services .services-scroll-section .display .title-word:nth-of-type(odd){color:#111!important;-webkit-text-fill-color:#111!important;background:none!important;}
.page-services .services-scroll-section .display .title-word:nth-of-type(even){background:var(--gold-gradient)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;}
.page-services .services-showcase-copy{color:#141414;}
.page-services .services-showcase-desc{color:rgba(0,0,0,.72);}
.page-services .services-showcase-list li{color:#1d1d1d;border-color:rgba(0,0,0,.09);}
.page-services .services-showcase-link{color:#111;border-bottom-color:rgba(0,0,0,.2);}
.page-services .services-showcase-icon,.page-services .services-showcase-btn{background:#111;color:#fff;box-shadow:0 18px 40px rgba(0,0,0,.12);}
.page-services .services-showcase-btn:hover{transform:translateY(-2px);}
.page-services .services-current-label{background:rgba(10,10,10,.78);backdrop-filter:blur(8px);}
.page-services .services-showcase-media img{box-shadow:0 28px 60px rgba(0,0,0,.16);}

.footer{position:relative;overflow:hidden;background:#060606!important;}
.footer:before,.footer:after{content:"";position:absolute;pointer-events:none;}
.footer:before{inset:0;background:radial-gradient(circle at 15% 18%,rgba(240,193,77,.12),transparent 26%),radial-gradient(circle at 85% 84%,rgba(255,255,255,.06),transparent 22%),repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 24px);opacity:1;}
.footer:after{top:-90px;right:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(240,193,77,.18),transparent 68%);filter:blur(18px);}
.footer .container,.footer .footer-grid,.footer .footer-bottom{position:relative;z-index:2;}
.footer-grid>div{position:relative;}
.footer-grid>div h4{margin-bottom:18px;}
.footer-grid>div a,.footer-grid>div p{position:relative;z-index:2;}

.map-badge{animation:floatBadge 3.6s ease-in-out infinite;box-shadow:0 18px 42px rgba(0,0,0,.24);}
@keyframes floatBadge{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.location-services-box{margin-top:28px;padding:24px;border:1px solid rgba(0,0,0,.09);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.68));box-shadow:0 18px 45px rgba(0,0,0,.06);}
.location-services-box .eyebrow{display:block;margin-bottom:16px;}
.service-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));}

.coming-soon{position:relative;overflow:hidden;background:#0b0b0b;}
.coming-soon:before,.coming-soon:after{content:"";position:absolute;inset:0;pointer-events:none;}
.coming-soon:before{background:radial-gradient(circle at 20% 20%,rgba(240,193,77,.18),transparent 22%),radial-gradient(circle at 82% 76%,rgba(255,255,255,.08),transparent 22%),repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 1px,transparent 1px 28px);}
.coming-soon:after{inset:22px;border:1px solid rgba(240,193,77,.12);border-radius:36px;}
.coming-soon-inner{position:relative;z-index:2;padding:70px 52px;border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015));box-shadow:0 28px 70px rgba(0,0,0,.28);}
.coming-soon-inner .display .title-word:nth-of-type(odd){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;}
.coming-soon-inner .display .title-word:nth-of-type(even){background:var(--gold-gradient)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;}
.coming-icon{animation:pulseIcon 3s ease-in-out infinite;box-shadow:0 20px 44px rgba(0,0,0,.22);}
@keyframes pulseIcon{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-8px) scale(1.04);}}

.contact-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0 26px;}
.contact-feature-card{padding:18px 16px;border-radius:18px;border:1px solid rgba(0,0,0,.08);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,241,233,.94));box-shadow:0 14px 34px rgba(0,0,0,.07);display:flex;flex-direction:column;gap:8px;}
.contact-feature-card i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--gold-gradient);color:#111;font-size:18px;box-shadow:0 14px 28px rgba(185,122,5,.18);}
.contact-feature-card strong{font-size:15px;letter-spacing:.03em;}
.contact-feature-card span{font-size:13px;line-height:1.5;color:rgba(0,0,0,.7);}
.contact-info{position:relative;overflow:hidden;}
.contact-info:before{content:"";position:absolute;inset:auto -80px -110px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(240,193,77,.22),transparent 70%);pointer-events:none;}
.contact-info>*{position:relative;z-index:2;}

.btn-light{background:#79797B;background:linear-gradient(90deg,rgba(121,121,123,1) 0%,rgba(161,161,162,1) 20%,rgba(236,236,237,1) 50%,rgba(161,161,162,1) 80%,rgba(121,121,123,1) 100%)!important;color:#111!important;border-color:transparent!important;box-shadow:0 18px 40px rgba(0,0,0,.18);}
.btn-light:hover{filter:brightness(1.04);transform:translateY(-2px);}

@media(max-width:980px){
  .page-hero{padding-top:196px!important;padding-bottom:74px!important;}
  .contact-feature-grid{grid-template-columns:1fr;}
  .service-list-grid{grid-template-columns:1fr;}
  .coming-soon-inner{padding:52px 28px;}
}
@media(max-width:640px){
  .page-hero{padding-top:156px!important;padding-bottom:58px!important;min-height:50vh;}
  .page-hero .container{padding-top:10px;}
  .page-hero .display,.display,.display .title-word{line-height:.98;}
  .footer-grid{gap:28px;}
  .location-services-box{padding:20px 18px;}
  .coming-soon-inner{padding:44px 22px;border-radius:24px;}
}


/* --- Master Quality Roofing INC final refinement pass --- */
:root{--silver-gradient:linear-gradient(135deg,#ffffff 0%,#e7e7e7 35%,#bdbdbd 68%,#fbfbfb 100%);--soft-panel:#f7f3eb}
.display,.display .title-word{line-height:1.02!important}
.page-hero .display,.hero .display,.interactive-why .display,.services-showcase-copy .display,.project-copy .display{overflow:visible;word-break:normal}
.page-home .interactive-why .display{font-size:clamp(56px,7vw,118px)!important;max-width:680px}
.page-home .interactive-why .why-grid{align-items:start}
.page-home .interactive-why .why-item{padding:28px 0}
.services-showcase-copy .display{font-size:clamp(34px,4.8vw,72px)!important;line-height:1.02!important;max-width:12ch}
.services-showcase-desc{font-size:18px;line-height:1.65}
.page-services .services-scroll-section:before,.page-services .services-scroll-section:after{display:none!important}
.page-services .services-scroll-section,.page-services .services-sticky-stage{background:#EDE9E1!important}
.page-services .services-showcase-inner{background:transparent}
.page-services .services-showcase-copy{color:#141414}
.page-services .services-showcase-list{color:rgba(20,20,20,.84)!important}
.page-services .services-showcase-link{color:#111;border-bottom-color:#b97a05}
.page-services .services-showcase-btn{border-color:rgba(0,0,0,.18);color:#111}
.page-services .services-current-label{background:linear-gradient(180deg,transparent,rgba(0,0,0,.75));padding-top:48px;border-radius:0 0 28px 28px}
.more-than-section{position:relative;background:#060606!important;color:#fff;overflow:hidden;isolation:isolate}
.more-than-section:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.78) 46%,rgba(0,0,0,.65) 100%),url('https://assets.cdn.filesafe.space/n5QJkyeid4AMprmrVBvC/media/6ab15d03c3c92dff4d19d0d5.png') center/cover fixed no-repeat;z-index:-2}
.more-than-section:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(216,161,45,.24),transparent 24%),radial-gradient(circle at 84% 78%,rgba(216,161,45,.18),transparent 26%);z-index:-1}
.more-than-shell{min-height:640px;display:flex;align-items:center;padding:28px 0}
.more-than-copy{max-width:720px}
.more-than-copy p{font-size:19px;line-height:1.7;color:rgba(255,255,255,.8)}
.more-than-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;list-style:none;padding:0;margin:34px 0}
.more-than-service-list li{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);backdrop-filter:blur(8px);border-radius:18px;font-weight:700;letter-spacing:.02em}
.more-than-service-list i{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--gold-gradient);color:#111;flex:0 0 36px}
.more-than-actions{display:flex;gap:12px;flex-wrap:wrap}
.more-than-actions .btn-light{background:#fff;color:#111}
.about-split-updated{align-items:stretch}
.about-visual-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;min-height:620px}
.about-visual-card{margin:0;border-radius:28px;overflow:hidden;box-shadow:0 24px 54px rgba(0,0,0,.14);background:#111;min-height:620px}
.about-visual-card img{width:100%;height:100%;object-fit:cover}
.process-bg-roof{background:#f1ede4!important;position:relative;isolation:isolate}
.process-bg-roof:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(241,237,228,.92),rgba(241,237,228,.88)),url('https://assets.cdn.filesafe.space/n5QJkyeid4AMprmrVBvC/media/6ab15d0a8e91b745dfb70e5f.png') center/cover no-repeat;z-index:-2}
.service-area-layout-map{display:grid;grid-template-columns:.82fr 1.18fr;gap:44px;align-items:center}
.service-area-map-wrap{position:relative}
.service-area-map{border-radius:28px;overflow:hidden;box-shadow:0 26px 65px rgba(0,0,0,.12);min-height:480px;background:#111}
.service-area-map iframe{width:100%;height:480px;border:0}
.map-radius-badge{position:absolute;right:26px;bottom:26px;z-index:2}
.dark-tags{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.dark-tags span{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:#111;color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.dark-tags i{color:#f0c14d}
.page-home .deck-fullbleed .display .title-word:nth-of-type(odd),.page-home .deck-fullbleed .display .title-word:nth-of-type(even){background:var(--silver-gradient)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
.home-process-timeline.process-bg-roof,.page-home .home-process-timeline{background:#f4efe6!important}
.page-home .home-process-timeline:before{background:linear-gradient(180deg,rgba(244,239,230,.88),rgba(244,239,230,.88)),url('https://assets.cdn.filesafe.space/n5QJkyeid4AMprmrVBvC/media/6ab15d0a8e91b745dfb70e5f.png') center/cover no-repeat!important}
.page-home .home-process-timeline .section-head .display,.page-about .home-process-timeline .section-head .display{max-width:14ch}
.page-location .location-contact-box .service-list-grid{grid-template-columns:1fr 1fr}
.page-location .location-contact-box .service-list-grid span{justify-content:flex-start;align-items:flex-start}
.page-portfolio .portfolio-gallery-updated{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:250px;gap:18px}
.page-portfolio .portfolio-gallery-updated figure:nth-child(n){grid-column:auto;grid-row:auto}
.page-portfolio .portfolio-gallery-updated figure:nth-child(5n+1){grid-column:span 2;grid-row:span 2}
.page-portfolio .portfolio-gallery-updated figure:nth-child(7n+3){grid-row:span 2}
.page-portfolio .portfolio-gallery-updated figure:after{display:none!important;content:none!important}
.page-portfolio .gallery figure{box-shadow:0 18px 44px rgba(0,0,0,.1)}
.page-video .coming-soon{background:#EDE9E1!important}
.page-video .coming-soon-inner{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(248,244,236,.96));border:1px solid rgba(0,0,0,.06);box-shadow:0 26px 56px rgba(0,0,0,.09);border-radius:28px;color:#041D36}
.page-video .coming-soon-inner .display .title-word:nth-of-type(odd){color:#111!important;-webkit-text-fill-color:#111!important;background:none!important}
.page-video .coming-soon-inner .display .title-word:nth-of-type(even){background:var(--gold-gradient)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
.contact-page-enhanced{background:linear-gradient(180deg,#f3eee5 0%,#ece7dd 100%)}
.contact-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:30px}
.contact-mini-card{padding:22px 20px;border-radius:22px;background:rgba(255,255,255,.82);border:1px solid rgba(0,0,0,.06);box-shadow:0 18px 42px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:10px;min-height:180px}
.contact-mini-card i{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--gold-gradient);color:#111;font-size:20px;box-shadow:0 14px 30px rgba(185,122,5,.22)}
.contact-mini-card strong{font-size:20px}
.contact-mini-card span{line-height:1.55;color:rgba(23,23,23,.72)}
.contact-showcase-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:28px;align-items:start}
.contact-spotlight{padding:36px;border-radius:28px;background:#021426;color:#fff;box-shadow:0 30px 70px rgba(0,0,0,.2);position:sticky;top:140px}
.contact-spotlight h3{font-size:clamp(36px,3vw,54px);margin:10px 0 14px;font-family:'Archivo Black',sans-serif;line-height:.95;text-transform:uppercase}
.contact-spotlight-copy{font-size:17px;line-height:1.7;color:rgba(255,255,255,.78)}
.contact-spotlight .contact-feature-grid{margin-top:26px}
.contact-spotlight .contact-feature-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);box-shadow:none;color:#fff}
.contact-spotlight .contact-feature-card span{color:rgba(255,255,255,.74)}
.contact-action-stack{display:grid;gap:12px;margin:28px 0 18px}
.spotlight-line{display:flex;align-items:center;gap:14px;padding:15px 18px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.spotlight-line i{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(240,193,77,.18);color:#f0c14d}
.contact-badges{display:flex;gap:10px;flex-wrap:wrap}
.contact-badges span{display:inline-flex;align-items:center;gap:10px;padding:11px 14px;border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.contact-form-panel{padding:34px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(249,245,238,.96));border:1px solid rgba(0,0,0,.06);box-shadow:0 26px 56px rgba(0,0,0,.08)}
.contact-form-panel iframe{min-height:748px;background:#fff;border-radius:18px}
@media(max-width:1100px){
  .service-area-layout-map,.contact-showcase-grid{grid-template-columns:1fr}
  .contact-spotlight{position:relative;top:auto}
  .contact-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .about-visual-pair,.page-location .location-contact-box .service-list-grid,.more-than-service-list{grid-template-columns:1fr}
  .page-portfolio .portfolio-gallery-updated{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:230px}
  .page-portfolio .portfolio-gallery-updated figure:nth-child(5n+1){grid-column:auto;grid-row:span 2}
}
@media(max-width:700px){
  .contact-mini-grid,.contact-feature-grid{grid-template-columns:1fr!important}
  .page-portfolio .portfolio-gallery-updated{grid-template-columns:1fr;grid-auto-rows:280px}
  .page-portfolio .portfolio-gallery-updated figure:nth-child(n){grid-column:auto!important;grid-row:auto!important}
  .more-than-shell{min-height:auto}
  .contact-form-panel,.contact-spotlight{padding:26px}
  .about-visual-card,.about-visual-pair{min-height:auto}
  .about-visual-card{height:320px}
}


/* ===== Mobile/UI correction pass v7 ===== */
/* Prevent title collisions caused by very tight line heights on large animated headings. */
.display,.display .title-word{line-height:1.06!important}
.page-home .interactive-why .display,.page-about .why .display,.page-about .about-service-area .display,.page-services .services-showcase-copy .display,.page-contact .contact-map-section .display{line-height:1.08!important;letter-spacing:-.045em!important}
.page-home .interactive-why .display{font-size:clamp(48px,6.2vw,94px)!important;max-width:620px!important}
.page-about .about-service-area .display{font-size:clamp(44px,5.6vw,84px)!important;max-width:720px}
.page-about .why .display{font-size:clamp(46px,6vw,90px)!important}

/* Home deck title: black regular words + silver/gray italic words. */
.page-home .deck-fullbleed .project-copy{background:#f0c14d!important;color:#111!important}
.page-home .deck-fullbleed .project-copy .display .title-word:nth-of-type(odd){font-family:'Archivo Black',sans-serif!important;font-style:normal!important;color:#111!important;-webkit-text-fill-color:#111!important;background:none!important}
.page-home .deck-fullbleed .project-copy .display .title-word:nth-of-type(even){font-family:'DM Sans',sans-serif!important;font-style:italic!important;font-weight:600!important;background:linear-gradient(90deg,#69696b 0%,#a1a1a2 25%,#ececed 50%,#a1a1a2 75%,#69696b 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}

/* About collage: large overlapping two-image composition. */
.page-about .about-visual-pair{position:relative;display:block!important;min-height:720px!important}
.page-about .about-visual-card{position:absolute;margin:0;overflow:hidden;border-radius:30px;background:#111;box-shadow:0 28px 62px rgba(0,0,0,.18)}
.page-about .about-visual-card:first-child{left:0;top:0;width:74%;height:82%;z-index:1}
.page-about .about-visual-card:last-child{right:0;bottom:0;width:58%;height:58%;z-index:2;border:10px solid #ffffff}
.page-about .about-visual-card img{width:100%;height:100%;object-fit:cover}

/* About Details Matter section background image. */
.page-about .why{position:relative;isolation:isolate;background:#090909!important;color:#fff!important;overflow:hidden}
.page-about .why:before{content:"";position:absolute;inset:0;z-index:-2;background:url('https://assets.cdn.filesafe.space/n5QJkyeid4AMprmrVBvC/media/6ab15d0a8e91b745dfb70e5f.png') center/cover no-repeat!important}
.page-about .why:after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.72)!important}
.page-about .why .eyebrow,.page-about .why h2,.page-about .why h3,.page-about .why p{color:#fff!important}
.page-about .why .step{border-top-color:rgba(240,193,77,.6)!important;background:rgba(255,255,255,.04);border-radius:18px;padding:30px}

/* Services: flat beige background, subtle line/circle details, no image content gradient. */
.page-services .services-scroll-section,.page-services .services-sticky-stage{background:#EDE9E1!important}
.page-services .services-scroll-section{position:relative;isolation:isolate}
.page-services .services-scroll-section:before{display:block!important;content:"";position:absolute;z-index:0;width:520px;height:520px;border:1px solid rgba(185,122,5,.13);border-radius:50%;left:-180px;top:12%;pointer-events:none;background:none!important}
.page-services .services-scroll-section:after{display:block!important;content:"";position:absolute;z-index:0;width:360px;height:360px;border:1px solid rgba(0,0,0,.07);border-radius:50%;right:-100px;bottom:10%;pointer-events:none;background:none!important}
.page-services .services-sticky-stage,.page-services .services-showcase-inner{position:relative;z-index:1}
.page-services .services-current-label{background:transparent!important;padding-top:0!important;text-shadow:0 3px 14px rgba(0,0,0,.68),0 1px 3px rgba(0,0,0,.9)!important}
.page-services .services-showcase-media:after{display:none!important;background:none!important}
.page-services .services-showcase-media img{filter:none!important}
.page-services .services-showcase-media strong,.page-services .services-current-label span{text-shadow:0 3px 14px rgba(0,0,0,.75),0 1px 3px rgba(0,0,0,.9)!important}
.page-services .services-showcase-copy .display{font-size:clamp(38px,4.8vw,74px)!important;max-width:13ch!important}
.page-services .more-than-copy .display{font-size:clamp(60px,8.5vw,132px)!important;line-height:.98!important;max-width:8ch}

/* Contact map spacing and safe separation from embedded form. */
.page-contact .contact-form-panel iframe{display:block!important;min-height:780px!important;height:780px!important}
.page-contact .contact-map-section{clear:both!important;padding:150px 0 120px!important;margin-top:70px!important;position:relative;z-index:1;background:#ffffff}
.page-contact .contact-map-section .section-head{margin-bottom:46px!important}
.page-contact .contact-map-section .display{font-size:clamp(50px,7vw,104px)!important}

/* More engaging mobile menu button and menu panel. */
@media(max-width:980px){
  .menu-btn{display:inline-flex!important;align-items:center!important;gap:9px!important;padding:12px 16px!important;border-radius:16px!important;background:linear-gradient(90deg,#b97a05 0%,#F2B80A 50%,#f0c14d 100%)!important;color:#021426!important;box-shadow:0 12px 28px rgba(0,0,0,.24)!important;font-size:11px!important;font-weight:900!important;border:1px solid rgba(255,255,255,.22)!important}
  .menu-btn i{font-size:15px!important}
  .site-header .navlinks.open{padding:165px 26px 38px!important;gap:13px!important;font-size:20px!important;line-height:1.15!important}
  .site-header .navlinks.open a:not(.btn){padding:9px 4px!important;font-size:20px!important;width:auto!important}
  .site-header .navlinks.open a:first-child{margin-top:18px!important}
  .site-header .navlinks.open .btn{font-size:11px!important;margin-top:8px!important}

  /* More vertical breathing room in mobile hero/title banners. */
  .hero{padding-top:210px!important;min-height:92svh!important}
  .page-hero{padding-top:230px!important;padding-bottom:78px!important;min-height:64vh!important}
  .page-hero .container{padding-top:32px!important}
  .page-hero h1{font-size:clamp(52px,13vw,84px)!important;line-height:1.05!important}

  /* Home/About process: no scroll pin on mobile; controlled carousel with compact height. */
  .home-process-timeline{padding:72px 0 78px!important;overflow:hidden!important}
  .home-process-timeline .process-timeline-viewport{padding:18px 0 20px!important;overflow:hidden!important}
  .home-process-timeline .process-timeline-track{display:flex!important;gap:0!important;width:100%!important;padding:0!important;transition:transform .55s cubic-bezier(.2,.7,.2,1)!important;will-change:transform}
  .home-process-timeline .timeline-step{flex:0 0 100%!important;min-width:100%!important;max-width:100%!important;min-height:330px!important;border-radius:24px!important;margin:0!important;padding:34px 26px!important;transform:none!important}
  .home-process-timeline .timeline-mobile-controls{display:flex!important;margin-top:18px!important}
  .home-process-timeline .process-wave{display:none!important}

  /* Home portfolio: automatic + buttons, no scroll-driven layout and with image spacing. */
  .home-portfolio-full.portfolio-two-rows{padding:12px 0 26px!important;overflow:hidden!important}
  .home-portfolio-full.portfolio-two-rows .home-portfolio-shell{width:100%!important;margin:0!important;overflow:hidden!important;padding:0 14px!important}
  .home-portfolio-full.portfolio-two-rows .home-portfolio-shell+.home-portfolio-shell{margin-top:14px!important}
  .home-portfolio-full.portfolio-two-rows .home-portfolio-track{display:flex!important;gap:14px!important;width:100%!important;animation:none!important;transition:transform .55s cubic-bezier(.2,.7,.2,1)!important;will-change:transform}
  .home-portfolio-full.portfolio-two-rows .home-portfolio-item{flex:0 0 calc(82vw - 28px)!important;height:330px!important;border-radius:20px!important}
  .home-portfolio-mobile-controls{display:flex!important;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding-bottom:6px}
  .home-portfolio-btn{width:52px;height:52px;border-radius:50%;border:1px solid rgba(240,193,77,.45);background:#111;color:#f0c14d;display:grid;place-items:center;font-size:18px}
  .home-portfolio-counter{color:#fff;font-size:12px;font-weight:800;letter-spacing:.12em}

  /* Services tab: mobile is button-controlled only, with gold controls. */
  .page-services .services-scroll-section{min-height:auto!important;overflow:hidden!important}
  .page-services .services-sticky-stage{position:relative!important;top:auto!important;min-height:auto!important;height:auto!important;padding:56px 18px 68px!important;transform:none!important}
  .page-services .services-showcase-inner{height:auto!important;min-height:690px!important}
  .page-services .services-showcase-media{height:340px!important}
  .page-services .services-showcase-copy{min-height:340px!important;justify-content:flex-start!important;padding-top:10px!important}
  .page-services .services-showcase-controls{display:flex!important}
  .page-services .services-showcase-btn{width:54px!important;height:54px!important;border-color:#b97a05!important;color:#F2B80A!important;background:#111!important}
  .page-services .services-showcase-btn i{color:#f0c14d!important}
  .page-services .services-showcase-counter{color:#8a620b!important}

  /* Contact mobile: prevent map/form overlap. */
  .page-contact .contact-showcase-grid{display:block!important}
  .page-contact .contact-spotlight{position:relative!important;top:auto!important;margin-bottom:28px!important}
  .page-contact .contact-form-panel{position:relative!important;z-index:1!important;padding:24px 18px!important;overflow:visible!important}
  .page-contact .contact-form-panel iframe{height:820px!important;min-height:820px!important;position:relative!important;display:block!important}
  .page-contact .contact-map-section{margin-top:90px!important;padding:115px 0 90px!important;clear:both!important;position:relative!important;z-index:0!important}
  .page-contact .contact-map-section .section-head{padding-top:20px!important}
  .page-contact .contact-map-section .display{font-size:clamp(44px,12vw,68px)!important;line-height:1.06!important}

  /* About collage remains large but mobile-friendly. */
  .page-about .about-visual-pair{min-height:600px!important}
  .page-about .about-visual-card:first-child{width:82%!important;height:72%!important}
  .page-about .about-visual-card:last-child{width:68%!important;height:48%!important;border-width:7px!important}

  /* CTA compact spacing on mobile. */
  .page-home .cta{padding:72px 0!important}
  .page-home .cta-inner{gap:24px!important}
  .page-home .cta .display{margin-bottom:0!important;font-size:clamp(48px,13vw,76px)!important;line-height:1.04!important}
  .page-home .cta-side{margin-top:0!important}
}

@media(max-width:640px){
  .hero{padding-top:225px!important}
  .page-hero{padding-top:245px!important;min-height:66vh!important}
  .page-hero .container{padding-top:40px!important}
  .site-header .navlinks.open{padding-top:172px!important;font-size:19px!important}
  .site-header .navlinks.open a:not(.btn){font-size:19px!important}
  .page-home .interactive-why .display{font-size:clamp(42px,12vw,62px)!important;line-height:1.08!important}
  .page-about .about-service-area .display,.page-about .why .display{font-size:clamp(40px,11vw,60px)!important;line-height:1.08!important}
  .page-services .more-than-copy .display{font-size:clamp(54px,15vw,80px)!important}
  .page-contact .contact-map-section{padding-top:125px!important;margin-top:110px!important}
  .page-contact .contact-map-section .display{font-size:clamp(40px,11vw,58px)!important}
  .page-portfolio .portfolio-gallery-updated{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:190px!important;gap:10px!important}
  .page-portfolio .portfolio-gallery-updated figure:nth-child(n){grid-column:auto!important;grid-row:auto!important;border-radius:16px!important}
  .home-portfolio-full.portfolio-two-rows .home-portfolio-item{flex-basis:78vw!important;height:290px!important}
  .home-process-timeline .timeline-step{min-height:310px!important}
}

@media(min-width:981px){.home-portfolio-mobile-controls{display:none!important}}

/* Coming Soon title motion without affecting layout. */
.page-video .coming-soon-inner .display{animation:comingTitleGlow 3.2s ease-in-out infinite;transform-origin:left center}
@keyframes comingTitleGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(185,122,5,0));letter-spacing:-.055em}50%{filter:drop-shadow(0 8px 18px rgba(185,122,5,.18));letter-spacing:-.035em}}


/* ===== v8 targeted fixes ===== */
/* Stabilize the headings that were visually colliding with transformed word layers. */
.stable-title{position:relative!important;top:auto!important;overflow:visible!important;transform:none!important}
.stable-title .title-word{transform:none!important;opacity:1!important;will-change:auto!important;animation:none!important}
.page-home .interactive-why h2{position:relative!important;top:auto!important;max-width:640px!important;font-size:clamp(54px,5.9vw,92px)!important;line-height:1.08!important}
.page-home .interactive-why .why-grid{grid-template-columns:minmax(420px,.82fr) minmax(0,1.18fr)!important;gap:78px!important}
.page-home .interactive-why .display .title-word{transform:none!important;opacity:1!important;will-change:auto!important}

/* About service area: keep all copy in normal flow instead of letting base absolute tag styles collide. */
.page-about .about-service-area{padding:110px 0!important}
.page-about .service-area-layout-map{grid-template-columns:minmax(420px,.82fr) minmax(0,1.18fr)!important;gap:62px!important;align-items:center!important}
.page-about .service-area-copy{min-width:0!important;position:relative!important;z-index:2!important}
.page-about .service-area-copy .display{font-size:clamp(54px,5.2vw,84px)!important;line-height:1.08!important;max-width:520px!important;margin:14px 0 22px!important}
.page-about .service-area-copy p{max-width:560px!important;margin:0 0 24px!important}
.page-about .dark-tags{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;margin:22px 0 26px!important;display:flex!important;gap:10px!important;flex-wrap:wrap!important}
.page-about .dark-tags span{position:static!important;white-space:nowrap!important}
.page-about .service-area-map-wrap{min-width:0!important}
.page-about .service-area-map{min-height:460px!important}
.page-about .service-area-map iframe{height:460px!important}

/* Details Matter: requested white filter over supplied image. */
.page-about .why{background:#f5f1e9!important;color:#111!important}
.page-about .why:before{background:url('https://assets.cdn.filesafe.space/n5QJkyeid4AMprmrVBvC/media/6ab15d0a8e91b745dfb70e5f.png') center/cover no-repeat!important}
.page-about .why:after{background:rgba(255,255,255,.82)!important}
.page-about .why .eyebrow,.page-about .why h2,.page-about .why h3,.page-about .why p{color:#111!important}
.page-about .why h2{position:relative!important;top:auto!important}
.page-about .why .step{background:rgba(255,255,255,.78)!important;border-top-color:rgba(185,122,5,.68)!important;box-shadow:0 16px 38px rgba(0,0,0,.06)!important}
.page-about .why .step p{color:rgba(17,17,17,.72)!important}
.page-about .why .display .title-word:nth-of-type(odd){color:#111!important;-webkit-text-fill-color:#111!important;background:none!important}
.page-about .why .display .title-word:nth-of-type(even){background:var(--gold-gradient)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}

/* Services stay one solid beige; decorative details are line art only, not color gradients. */
.page-services .services-scroll-section,
.page-services .services-sticky-stage{background-color:#EDE9E1!important;background-image:none!important}
.page-services .services-sticky-stage:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath d='M0 20h120M0 100h120M20 0v120M100 0v120' stroke='%23b97a05' stroke-opacity='.12' stroke-width='1' fill='none'/%3E%3Ccircle cx='20' cy='20' r='2' fill='%23111111' fill-opacity='.12'/%3E%3Ccircle cx='100' cy='100' r='2' fill='%23b97a05' fill-opacity='.18'/%3E%3C/svg%3E")!important;background-repeat:repeat!important;z-index:0}
.page-services .services-scroll-section:before{width:480px!important;height:480px!important;left:-160px!important;top:9%!important;border-color:rgba(185,122,5,.18)!important}
.page-services .services-scroll-section:after{width:420px!important;height:420px!important;right:-125px!important;bottom:5%!important;border-color:rgba(0,0,0,.09)!important}
.page-services .services-showcase-media:after{display:none!important}
.page-services .services-current-label{background:transparent!important;text-shadow:0 3px 12px rgba(0,0,0,.82),0 1px 2px rgba(0,0,0,.95)!important}
.page-services .services-current-label strong,.page-services .services-current-label span{filter:drop-shadow(0 3px 5px rgba(0,0,0,.48))}

/* More Than the Roof Surface: wider content and gray/silver regular words. */
.page-services .more-than-shell{min-height:660px!important;align-items:center!important}
.page-services .more-than-copy{max-width:1040px!important;width:min(1040px,100%)!important}
.page-services .more-than-copy .display{font-size:clamp(70px,8vw,134px)!important;line-height:1!important;max-width:11ch!important;margin-bottom:24px!important}
.page-services .more-than-copy .display .title-word:nth-of-type(odd){background:linear-gradient(90deg,#707072 0%,#a6a6a7 25%,#f0f0f1 50%,#a6a6a7 75%,#707072 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
.page-services .more-than-copy .display .title-word:nth-of-type(even){background:var(--gold-gradient)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
.page-services .more-than-copy p{max-width:860px!important}
.page-services .more-than-service-list{max-width:940px!important}

/* Portfolio zoom should display the image only, without a label/caption. */
.lightbox-caption{display:none!important}

/* Coming Soon remains animated, but uses a more controlled title size. */
.page-video .coming-soon h2,.page-video .coming-soon-inner .display{font-size:clamp(64px,10vw,142px)!important;line-height:1!important}

/* Contact: remove the oversized gap between the form/information and the map. */
.page-contact .contact-form-panel iframe{height:748px!important;min-height:748px!important}
.page-contact .contact-map-section{margin-top:0!important;padding:72px 0 92px!important}
.page-contact .contact-map-section .section-head{margin-bottom:34px!important;padding-top:0!important}
.page-contact .contact-showcase-grid{margin-bottom:0!important}
.page-contact .contact-page-enhanced{padding-bottom:72px!important}

@media(max-width:1100px){
  .page-home .interactive-why .why-grid{grid-template-columns:1fr!important;gap:38px!important}
  .page-home .interactive-why .display{max-width:760px!important}
  .page-about .service-area-layout-map{grid-template-columns:1fr!important;gap:38px!important}
  .page-about .service-area-copy .display{max-width:720px!important}
}

@media(max-width:980px){
  .page-home .interactive-why h2{font-size:clamp(46px,10vw,68px)!important;line-height:1.08!important;margin-bottom:12px!important}
  .page-home .interactive-why .why-grid{gap:30px!important}

  .page-about .about-service-area{padding:76px 0!important}
  .page-about .service-area-copy .display{font-size:clamp(44px,10vw,66px)!important;line-height:1.08!important;max-width:100%!important}
  .page-about .dark-tags{margin:18px 0 22px!important}
  .page-about .service-area-map,.page-about .service-area-map iframe{height:390px!important;min-height:390px!important}

  /* Mobile Services: control-only layout with no pinned/scroll spacer and no empty tail. */
  .page-services .services-scroll-section{min-height:0!important;height:auto!important;overflow:hidden!important;padding:0!important}
  .page-services .services-sticky-stage{position:relative!important;inset:auto!important;transform:none!important;min-height:0!important;height:auto!important;padding:42px 16px 34px!important;justify-content:flex-start!important}
  .page-services .services-showcase-inner{height:auto!important;min-height:0!important;grid-template-rows:300px 500px!important;gap:18px!important}
  .page-services .services-media-stack{height:300px!important;min-height:300px!important}
  .page-services .services-copy-stack{height:500px!important;min-height:500px!important}
  .page-services .services-showcase-media{height:300px!important;min-height:300px!important}
  .page-services .services-showcase-copy{height:500px!important;min-height:500px!important;padding:8px 2px 0!important;overflow:auto!important;overscroll-behavior:contain}
  .page-services .services-showcase-controls{margin:16px auto 0!important}
  .page-services .services-showcase-btn{color:#f0c14d!important;border-color:#b97a05!important;background:#111!important}
  .page-services .services-showcase-btn i{color:#f0c14d!important}

  .page-services .more-than-copy{max-width:100%!important}
  .page-services .more-than-copy .display{font-size:clamp(54px,13vw,78px)!important;max-width:100%!important}

  .page-video .coming-soon h2,.page-video .coming-soon-inner .display{font-size:clamp(54px,13vw,86px)!important}

  .page-contact .contact-page-enhanced{padding-bottom:48px!important}
  .page-contact .contact-form-panel iframe{height:748px!important;min-height:748px!important}
  .page-contact .contact-map-section{margin-top:0!important;padding:54px 0 78px!important}
  .page-contact .contact-map-section .section-head{margin-bottom:28px!important}
}

@media(max-width:640px){
  .page-home .interactive-why h2{font-size:clamp(40px,11vw,58px)!important;line-height:1.1!important}
  .page-about .service-area-copy .display{font-size:clamp(38px,11vw,56px)!important;line-height:1.1!important}
  .page-about .dark-tags span{font-size:9px!important;padding:10px 12px!important}
  .page-about .service-area-map,.page-about .service-area-map iframe{height:340px!important;min-height:340px!important}
  .page-services .services-showcase-inner{grid-template-rows:270px 485px!important}
  .page-services .services-media-stack,.page-services .services-showcase-media{height:270px!important;min-height:270px!important}
  .page-services .services-copy-stack,.page-services .services-showcase-copy{height:485px!important;min-height:485px!important}
  .page-contact .contact-map-section{padding-top:46px!important}
}


/* ===== v9 requested refinements ===== */
/* Contact map section: apply the provided roof image with a warm 80% #F2EDDC overlay. */
.page-contact .contact-map-section{position:relative;isolation:isolate;overflow:hidden;background:#f2eddc!important}
.page-contact .contact-map-section:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(rgba(242,237,220,.80),rgba(242,237,220,.80)),url('https://assets.cdn.filesafe.space/n5QJkyeid4AMprmrVBvC/media/6ab15d02c3c92dff4d19d0c9.png') center/cover no-repeat!important}
.page-contact .contact-map-section .section-head,.page-contact .contact-map{position:relative;z-index:1}
.page-contact .contact-map{margin-top:8px!important}

/* Mobile CTA cards: tighten the space beneath the large title. */
@media(max-width:980px){
  .page-about .cta,.page-portfolio .cta{padding:64px 0!important}
  .page-about .cta-inner,.page-portfolio .cta-inner{gap:16px!important;align-items:start!important}
  .page-about .cta .display,.page-portfolio .cta .display{margin:0!important;font-size:clamp(46px,12vw,72px)!important;line-height:1.03!important}
  .page-about .cta-side,.page-portfolio .cta-side{margin-top:0!important}

  /* Services page mobile: show the full active service content with no internal scrollbar. */
  .page-services .services-scroll-section{overflow:visible!important}
  .page-services .services-sticky-stage{overflow:visible!important}
  .page-services .services-showcase-inner{width:min(100%,calc(100% - 8px))!important;grid-template-rows:300px auto!important;height:auto!important;min-height:0!important;gap:20px!important}
  .page-services .services-media-stack{position:relative!important;height:300px!important;min-height:300px!important}
  .page-services .services-showcase-media{position:relative!important;inset:auto!important;height:100%!important;display:none!important;opacity:1!important;transform:none!important;pointer-events:auto!important}
  .page-services .services-showcase-media.is-active{display:block!important}
  .page-services .services-copy-stack{position:relative!important;height:auto!important;min-height:0!important}
  .page-services .services-showcase-copy{position:relative!important;inset:auto!important;display:none!important;height:auto!important;min-height:0!important;opacity:1!important;transform:none!important;pointer-events:auto!important;overflow:visible!important;padding:20px 4px 0!important}
  .page-services .services-showcase-copy.is-active{display:flex!important}
  .page-services .services-showcase-desc,.page-services .services-showcase-list{overflow:visible!important}

  /* Home services on mobile: add a little visual breathing room around each service card. */
  .page-home .horizontal-stage{padding:0 14px 72px!important}
  .page-home .horizontal-track .service-card{box-shadow:0 18px 44px rgba(0,0,0,.16)!important;border:1px solid rgba(255,255,255,.08)!important;margin-bottom:12px!important}
}

@media(max-width:640px){
  .page-contact .contact-map-section{padding-top:72px!important}
  .page-contact .contact-map-section .section-head{margin-bottom:24px!important}
  .page-contact .contact-map{margin-top:2px!important}

  .page-about .cta,.page-portfolio .cta{padding:56px 0!important}
  .page-about .cta-inner,.page-portfolio .cta-inner{gap:12px!important}
  .page-about .cta .display,.page-portfolio .cta .display{font-size:clamp(42px,12vw,62px)!important}

  .page-services .services-showcase-inner{grid-template-rows:270px auto!important}
  .page-services .services-media-stack{height:270px!important;min-height:270px!important}
  .page-home .horizontal-stage{padding:0 10px 62px!important}
}

/* Accessibility/content refinements: stable SEO heading and non-action informational items. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.faq-question-row{cursor:default}
.page-home .interactive-why .why-item{cursor:default}


/* ===== v10 requested mobile stability + contact separation ===== */
@media(max-width:980px){
  /* Process sections must be immediately visible on mobile. Desktop scroll/pin behavior is untouched. */
  .home-process-timeline .timeline-step.reveal,
  .home-process-timeline .section-head.reveal,
  .home-process-timeline .reveal{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
  .home-process-timeline .section-head .display .title-word{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }

  /* Keep the embedded contact form and map as clearly separated mobile sections. */
  .page-contact .contact-form-panel{
    margin-bottom:110px!important;
  }
  .page-contact .contact-form-panel iframe{
    min-height:820px!important;
    height:820px!important;
  }
  .page-contact .contact-map-section{
    clear:both!important;
    margin-top:0!important;
    padding-top:72px!important;
  }
}

@media(max-width:640px){
  .page-contact .contact-form-panel{
    margin-bottom:120px!important;
  }
  .page-contact .contact-form-panel iframe{
    min-height:860px!important;
    height:860px!important;
  }
}

/* ===== v11 compact responsive scale for small phones =====
   Size/spacing refinements only. Existing structure and animations are preserved. */
@media(max-width:480px){
  .container{width:calc(100% - 24px)!important}
  .section{padding:50px 0!important}
  .section-head{margin-bottom:28px!important;gap:10px!important}
  .eyebrow{font-size:9px!important;letter-spacing:.13em!important}

  /* Compact fixed header without changing navigation behavior. */
  .topbar{height:30px!important;font-size:7.5px!important;line-height:1.2!important;padding:0 6px!important;white-space:nowrap!important;overflow:hidden!important}
  .site-header,.site-header.scrolled{top:30px!important;padding:7px 0!important}
  .brand-logo{width:132px!important;height:auto!important;max-height:52px!important}
  .menu-btn{font-size:10px!important;padding:8px 4px!important}
  .site-header .navlinks.open{padding:112px 20px 28px!important;gap:15px!important;font-size:17px!important}
  .site-header .navlinks.open a:not(.btn){font-size:17px!important}

  /* Home hero. */
  .hero{padding:148px 0 48px!important;min-height:78svh!important}
  .hero-rotating-title{font-size:clamp(38px,11.5vw,50px)!important;min-height:2.5em!important;line-height:.98!important;margin-top:4px!important}
  .hero h1{font-size:clamp(38px,11.5vw,50px)!important;line-height:.98!important}
  .hero-copy{font-size:14px!important;line-height:1.48!important}
  .hero-bottom{gap:18px!important;margin-top:18px!important}
  .hero-actions{gap:8px!important}
  .hero .pill{font-size:8px!important;padding:7px 9px!important}
  .stat-row{margin-top:34px!important}
  .stat{padding:16px 10px 2px 0!important}
  .stat strong{font-size:19px!important}
  .stat small{font-size:9px!important}

  /* Internal page banners. */
  .page-hero{padding:145px 0 42px!important;min-height:46vh!important}
  .page-hero .container{padding-top:8px!important}
  .page-hero h1,.page-hero .display{font-size:clamp(34px,10.8vw,44px)!important;line-height:1.02!important}
  .page-hero .kicker{font-size:14px!important;line-height:1.45!important;margin-top:16px!important}

  /* Shared typography and actions. */
  .section-head h2,.intro h2,.horizontal-heading h2,.why h2,.project-copy h2,.cta h2,.copy h2,
  .page-home .interactive-why h2,.page-home .interactive-why .display,
  .page-about .about-service-area .display,.page-about .why .display,
  .page-about .service-area-copy .display,.page-contact .contact-map-section .display{
    font-size:clamp(32px,9.8vw,43px)!important;line-height:1.06!important
  }
  .lead{font-size:15.5px!important;line-height:1.5!important}
  .copy p,.intro-extra,.project-copy p,.cta-side p,.more-than-copy p,.contact-spotlight-copy,.contact-form-intro p{font-size:14px!important;line-height:1.55!important}
  .btn{padding:11px 14px!important;font-size:9px!important;min-height:40px!important;gap:8px!important}
  .pill{padding:8px 11px!important;font-size:9px!important;gap:7px!important}

  /* General imagery/cards. */
  .image-stack{height:285px!important}
  .image-stack .big{width:84%!important;height:74%!important}
  .image-stack .small{width:52%!important;height:39%!important;border-width:6px!important}
  .ring{width:72px!important;height:72px!important;font-size:7.5px!important}
  .split-img{height:290px!important}
  .project-img{height:285px!important}
  .project-copy{padding:22px 18px!important}
  .service-card{height:54svh!important;min-height:350px!important;border-radius:20px!important}
  .service-info{padding:20px 16px!important}
  .service-info h3{font-size:clamp(25px,8vw,32px)!important;line-height:1!important;margin:8px 0 10px!important}
  .service-info p{font-size:13px!important;line-height:1.45!important}
  .gallery{grid-auto-rows:220px!important;gap:10px!important}
  .service-detail-img{min-height:225px!important}
  .service-detail-body{padding:24px 18px!important}
  .service-detail-body h3{font-size:clamp(26px,8vw,34px)!important;margin:10px 0 14px!important}
  .service-detail-body p{font-size:14px!important;line-height:1.55!important}

  /* Process keeps the same manual/mobile behavior; only scale is reduced. */
  .home-process-timeline{padding:52px 0!important}
  .home-process-timeline .section-head{padding:0 14px!important}
  .home-process-timeline .process-timeline-viewport{padding:12px 0 18px!important}
  .home-process-timeline .timeline-step{min-height:275px!important;padding:25px 20px!important}
  .home-process-timeline .timeline-step b{width:58px!important;height:58px!important;font-size:21px!important}
  .home-process-timeline .timeline-step h3{font-size:21px!important;margin:22px 0 9px!important}
  .home-process-timeline .timeline-step p{font-size:14px!important;line-height:1.5!important}
  .timeline-mobile-controls,.mobile-service-controls{gap:12px!important;margin-top:16px!important}
  .timeline-control,.service-carousel-btn{width:44px!important;height:44px!important;font-size:14px!important}
  .timeline-counter,.service-counter{font-size:11px!important;min-width:60px!important}

  /* Home portfolio mobile carousel. */
  .home-portfolio-full{padding-top:62px!important}
  .home-portfolio-full .home-portfolio-heading{padding-bottom:30px!important}
  .home-portfolio-full.portfolio-two-rows .home-portfolio-shell{padding:0 10px!important}
  .home-portfolio-full.portfolio-two-rows .home-portfolio-item{flex-basis:76vw!important;height:235px!important;border-radius:16px!important}
  .home-portfolio-btn{width:44px!important;height:44px!important;font-size:14px!important}
  .home-portfolio-counter{font-size:10px!important}

  /* About. */
  .page-about .about-intro-rebuild{padding-top:52px!important}
  .page-about .about-visual-pair{min-height:430px!important}
  .page-about .about-visual-card:first-child{width:84%!important;height:70%!important}
  .page-about .about-visual-card:last-child{width:66%!important;height:45%!important;border-width:5px!important}
  .mission-card{padding:20px 17px!important;min-height:0!important;border-radius:18px!important}
  .mission-card h3{font-size:25px!important}
  .mission-card p{font-size:14px!important;line-height:1.5!important}
  .mission-icon{width:46px!important;height:46px!important;font-size:17px!important}
  .page-about .about-service-area{padding:52px 0!important}
  .page-about .service-area-map,.page-about .service-area-map iframe{height:285px!important;min-height:285px!important}
  .page-about .dark-tags span{font-size:8px!important;padding:8px 9px!important}
  .page-about .why .step{padding:20px 15px!important;min-height:0!important}
  .page-about .why .step b{font-size:34px!important}
  .page-about .why .step h3{font-size:20px!important;margin:20px 0 8px!important}
  .page-about .why .step p{font-size:14px!important}

  /* Services: same card switching/controls, scaled for narrow screens. */
  .page-services .services-sticky-stage{padding:34px 10px 30px!important}
  .page-services .services-showcase-inner{grid-template-rows:225px auto!important;gap:14px!important}
  .page-services .services-media-stack,.page-services .services-showcase-media{height:225px!important;min-height:225px!important;border-radius:20px!important}
  .page-services .services-showcase-copy{padding:14px 2px 0!important}
  .page-services .services-copy-top{margin-bottom:14px!important}
  .page-services .services-showcase-icon{width:44px!important;height:44px!important;font-size:15px!important}
  .page-services .services-showcase-number{font-size:14px!important}
  .page-services .services-showcase-copy h2,.page-services .services-showcase-copy .display{font-size:clamp(28px,9vw,38px)!important;line-height:1.04!important;margin-bottom:14px!important}
  .page-services .services-showcase-desc{font-size:13.5px!important;line-height:1.5!important;margin-bottom:15px!important}
  .page-services .services-showcase-list{gap:6px!important;margin-bottom:18px!important}
  .page-services .services-showcase-list li{font-size:12.5px!important}
  .page-services .services-current-label{left:15px!important;right:15px!important;bottom:14px!important}
  .page-services .services-current-label strong{font-size:24px!important}
  .page-services .services-current-label span{font-size:9px!important}
  .page-services .services-showcase-btn{width:44px!important;height:44px!important;font-size:14px!important}
  .page-services .services-showcase-counter{font-size:11px!important;min-width:60px!important}
  .page-services .more-than-shell{min-height:520px!important;padding:44px 0!important}
  .page-services .more-than-copy .display{font-size:clamp(36px,11vw,48px)!important;line-height:1.03!important;margin-bottom:16px!important}
  .page-services .more-than-service-list{grid-template-columns:1fr!important;gap:10px!important}

  /* Portfolio. */
  .page-portfolio .portfolio-gallery-updated{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:150px!important;gap:8px!important}
  .page-portfolio .portfolio-gallery-updated figure:nth-child(n){border-radius:12px!important}
  .zoom-icon{width:36px!important;height:36px!important;right:10px!important;top:10px!important;font-size:13px!important}

  /* Video. */
  .coming-soon{min-height:52vh!important}
  .coming-soon-inner{padding:32px 16px!important;border-radius:18px!important}
  .page-video .coming-soon h2,.page-video .coming-soon-inner .display{font-size:clamp(38px,11vw,48px)!important;line-height:1.02!important}
  .coming-icon{width:58px!important;height:58px!important;font-size:20px!important;margin-bottom:18px!important}

  /* Contact. Keep the form/map separated; scale only surrounding UI. */
  .page-contact .contact-page-enhanced{padding-bottom:38px!important}
  .page-contact .contact-spotlight{padding:22px 17px!important;border-radius:20px!important;margin-bottom:20px!important}
  .contact-spotlight h3{font-size:clamp(28px,8vw,36px)!important}
  .contact-feature-grid{gap:10px!important;margin:18px 0 20px!important}
  .contact-feature-card{padding:14px 12px!important;border-radius:14px!important}
  .contact-feature-card i{width:38px!important;height:38px!important;font-size:14px!important}
  .contact-feature-card strong{font-size:13px!important}
  .contact-feature-card span{font-size:11.5px!important}
  .page-contact .contact-form-panel{padding:16px 12px!important;border-radius:20px!important;margin-bottom:90px!important}
  .contact-form-intro{margin-bottom:18px!important}
  .contact-form-intro h2{font-size:clamp(29px,9vw,38px)!important;margin:8px 0 12px!important}
  .page-contact .contact-map-section{padding:58px 0 62px!important;margin-top:0!important}
  .page-contact .contact-map-section .section-head{margin-bottom:18px!important;padding-top:0!important}
  .contact-map{height:295px!important;min-height:295px!important;border-radius:18px!important}

  /* FAQ and footer. */
  .faq-layout{gap:30px!important}
  .faq-intro h2{font-size:clamp(32px,9.8vw,43px)!important}
  .faq-intro p{font-size:14px!important;line-height:1.55!important}
  .faq-item summary,.faq-question-row{font-size:14.5px!important;padding:16px 0!important;gap:10px!important}
  .faq-item summary span>i,.faq-question-row span>i{width:27px!important;height:27px!important;flex-basis:27px!important;font-size:10px!important}
  .faq-answer p{font-size:13.5px!important;line-height:1.55!important}
  .footer{padding:48px 0 24px!important}
  .footer-grid{gap:24px!important}
  .footer-logo{width:145px!important;height:auto!important}
  .footer a,.footer p{font-size:12.5px!important;line-height:1.45!important}
  .footer h4{font-size:10px!important}
  .footer-bottom{font-size:10px!important;margin-top:32px!important;padding-top:16px!important}
  .floating-actions{right:10px!important;bottom:10px!important;gap:8px!important}
  .fab{width:44px!important;height:44px!important;font-size:17px!important}
}

@media(max-width:370px){
  .container{width:calc(100% - 20px)!important}
  .brand-logo{width:118px!important;max-height:46px!important}
  .hero{padding-top:138px!important}
  .hero-rotating-title,.hero h1{font-size:36px!important}
  .page-hero{padding-top:136px!important;padding-bottom:36px!important}
  .page-hero h1,.page-hero .display{font-size:32px!important}
  .section{padding:44px 0!important}
  .section-head h2,.intro h2,.horizontal-heading h2,.why h2,.project-copy h2,.cta h2,.copy h2,
  .page-home .interactive-why h2,.page-home .interactive-why .display,
  .page-about .about-service-area .display,.page-about .why .display,
  .page-about .service-area-copy .display,.page-contact .contact-map-section .display{font-size:30px!important}
  .btn{padding:10px 12px!important;font-size:8.5px!important;min-height:38px!important}
  .service-card{min-height:325px!important}
  .home-process-timeline .timeline-step{min-height:255px!important;padding:22px 17px!important}
  .home-portfolio-full.portfolio-two-rows .home-portfolio-item{height:215px!important}
  .page-about .about-visual-pair{min-height:390px!important}
  .page-services .services-showcase-inner{grid-template-rows:205px auto!important}
  .page-services .services-media-stack,.page-services .services-showcase-media{height:205px!important;min-height:205px!important}
  .page-portfolio .portfolio-gallery-updated{grid-auto-rows:138px!important}
  .contact-map{height:270px!important;min-height:270px!important}
}

/* Hero title size refinement - structure and animations preserved */
.hero-rotating-title{
  font-size:clamp(56px,7.6vw,118px)!important;
}
@media(max-width:980px){
  .hero-rotating-title{font-size:clamp(44px,11.5vw,62px)!important;}
}
@media(max-width:600px){
  .hero-rotating-title{font-size:clamp(38px,10.5vw,50px)!important;}
}
@media(max-width:480px){
  .hero-rotating-title{font-size:clamp(34px,9.8vw,44px)!important;}
}
@media(max-width:370px){
  .hero-rotating-title{font-size:32px!important;}
}

/* ===== v12 responsive title scale: ~60px desktop / ~45px tablet / ~30px phone =====
   Typography and spacing only. Structure and motion behavior remain unchanged. */
body[class] .page .display,
body[class] .page h1.display,
body[class] .page h2.display{
  font-size:clamp(58px,4.15vw,64px)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
body[class] .page .display .title-word,
body[class] .page .hero-title-phrase{
  line-height:inherit!important;
}

/* Keep the home hero balanced at wide desktop widths without changing its animation. */
body.page-home .page .hero-rotating-title{
  font-size:clamp(58px,4.25vw,66px)!important;
  line-height:1.02!important;
  max-width:min(100%,1120px)!important;
}

/* Fluid desktop gutters and vertical rhythm improve behavior at browser zoom levels. */
.container{width:min(1440px,calc(100% - clamp(32px,4.5vw,72px)))!important}
.section{padding:clamp(82px,7vw,118px) 0}
.section-head{gap:clamp(26px,4vw,56px);margin-bottom:clamp(38px,4vw,64px)}
.btn{padding:clamp(13px,1vw,17px) clamp(18px,1.6vw,24px)}

/* Medium screens / tablets / desktop browser zoom. */
@media(max-width:1199px){
  body[class] .page .display,
  body[class] .page h1.display,
  body[class] .page h2.display{
    font-size:clamp(41px,4.7vw,48px)!important;
    line-height:1.05!important;
  }
  body.page-home .page .hero-rotating-title{
    font-size:clamp(43px,5vw,50px)!important;
    line-height:1.03!important;
  }
  .container{width:calc(100% - clamp(28px,4vw,48px))!important}
  .section{padding:clamp(64px,7vw,88px) 0!important}
  .section-head{gap:24px!important;margin-bottom:38px!important}
  .lead{font-size:clamp(17px,2vw,22px)!important}
  .btn{padding:13px 18px!important;font-size:11px!important}
}

/* Narrow tablets and phones: titles stay near the requested 30px scale and never clip. */
@media(max-width:640px){
  body[class] .page .display,
  body[class] .page h1.display,
  body[class] .page h2.display{
    font-size:clamp(28px,7.8vw,32px)!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
  }
  body.page-home .page .hero-rotating-title{
    font-size:clamp(30px,8.2vw,34px)!important;
    line-height:1.06!important;
    min-height:2.45em!important;
  }
  .container{width:calc(100% - 24px)!important}
  .section{padding:clamp(46px,12vw,62px) 0!important}
  .section-head{gap:12px!important;margin-bottom:28px!important}
  .lead{font-size:15px!important;line-height:1.5!important}
  .btn{padding:11px 14px!important;font-size:9px!important;min-height:40px!important}
  .pill{padding:8px 11px!important;font-size:9px!important}
  img,video,iframe{max-width:100%}
}

/* Very small phones and heavy browser zoom. */
@media(max-width:380px){
  body[class] .page .display,
  body[class] .page h1.display,
  body[class] .page h2.display{
    font-size:28px!important;
    line-height:1.1!important;
  }
  body.page-home .page .hero-rotating-title{
    font-size:30px!important;
  }
  .container{width:calc(100% - 20px)!important}
  .btn{padding:10px 12px!important;font-size:8.5px!important}
}

/* ===== v13 fluid large-screen typography =====
   Enlarges typography progressively on wide displays while keeping the
   existing tablet/phone breakpoints, structure, motion and interactions intact.
   Browser zoom naturally reduces the CSS viewport, so these clamp() values and
   media queries scale back without introducing horizontal overflow. */
@media(min-width:1200px){
  body[class] .page .display,
  body[class] .page h1.display,
  body[class] .page h2.display{
    font-size:clamp(64px,4.45vw,92px)!important;
    line-height:1.01!important;
    letter-spacing:-.047em!important;
  }

  /* Home hero can carry a little more visual weight on wide screens. */
  body.page-home .page .hero-rotating-title{
    font-size:clamp(68px,4.9vw,102px)!important;
    line-height:.99!important;
    max-width:min(100%,1240px)!important;
  }

  /* Supporting copy grows more gently than headings. */
  .hero-copy{font-size:clamp(19px,1.2vw,25px)!important}
  .page-hero .kicker{font-size:clamp(20px,1.2vw,25px)!important}
  .lead{font-size:clamp(19px,1.45vw,27px)!important}
  .copy p{font-size:clamp(17px,1.02vw,20px)!important}
  .service-info p,.project-copy p,.cta-side p{font-size:clamp(17px,1.08vw,22px)!important}

  /* Buttons remain proportional without becoming oversized. */
  .btn{
    font-size:clamp(11px,.68vw,13px)!important;
    padding:clamp(14px,.92vw,18px) clamp(20px,1.45vw,28px)!important;
  }
}

@media(min-width:1800px){
  body[class] .page .display,
  body[class] .page h1.display,
  body[class] .page h2.display{
    font-size:clamp(82px,4.25vw,104px)!important;
  }
  body.page-home .page .hero-rotating-title{
    font-size:clamp(92px,4.8vw,118px)!important;
    max-width:min(100%,1360px)!important;
  }
  .container{width:min(1560px,calc(100% - clamp(64px,5vw,120px)))!important}
}

/* Extra-wide monitors: cap growth so typography does not overpower layouts. */
@media(min-width:2400px){
  body[class] .page .display,
  body[class] .page h1.display,
  body[class] .page h2.display{font-size:108px!important}
  body.page-home .page .hero-rotating-title{font-size:122px!important}
  .container{width:min(1680px,calc(100% - 144px))!important}
}

/* JP Solutions LLC brand and requested contact form overrides */
.hero-services:before{background-image:url("https://images.pexels.com/photos/257736/pexels-photo-257736.jpeg?auto=compress&cs=tinysrgb&w=1600")!important}.hero-portfolio:before{background-image:url("https://images.pexels.com/photos/21812143/pexels-photo-21812143.jpeg?auto=compress&cs=tinysrgb&w=1600")!important}.hero-video-page:before{background-image:url("https://images.pexels.com/photos/17842832/pexels-photo-17842832.jpeg?auto=compress&cs=tinysrgb&w=1600")!important}.hero-contact:before{background-image:url("https://images.pexels.com/photos/9679179/pexels-photo-9679179.jpeg?auto=compress&cs=tinysrgb&w=1600")!important}.page-contact .contact-form-panel{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}.page-contact .contact-form-panel iframe{background:transparent!important;border-radius:4px!important}.video-showcase{max-width:1100px;margin:0 auto}.footer-social{display:flex;gap:10px;flex-wrap:wrap}.footer-social a{display:inline-flex!important;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;align-items:center;justify-content:center}


/* JP Solutions requested blue/gold refinement - Sep 25 2026 */
:root{--forest:#041D36!important;--forest2:#041D36!important;--ink:#041D36!important;--charcoal:#041D36!important;--header-bg:rgba(4,29,54,.92)!important}

/* Replace black/dark surfaces, cards and dark filters with brand blue. */
.horizontal-wrap,.cta,.footer,.marquee,.about-service-marquee,.about-service-area,.home-portfolio-full{background:#041D36!important}
.service-card,.contact-info,.map-badge,.timeline-control,.fab-top{background:#041D36!important}
.service-card:after{background:linear-gradient(180deg,transparent 24%,rgba(4,29,54,.94) 100%)!important}
.hero-video-overlay{background:linear-gradient(90deg,rgba(4,29,54,.94) 0%,rgba(4,29,54,.72) 44%,rgba(4,29,54,.34) 75%,rgba(4,29,54,.48) 100%),linear-gradient(0deg,rgba(4,29,54,.66) 0%,transparent 46%)!important}
.interactive-why:after{background:rgba(4,29,54,.76)!important}
.cta:after{background:linear-gradient(90deg,rgba(4,29,54,.95),rgba(4,29,54,.78))!important}
.home-process-timeline .timeline-step{background:linear-gradient(145deg,#0b3154 0%,#041D36 100%)!important}
.lightbox{background:rgba(4,29,54,.96)!important}
.zoom-icon{background:rgba(4,29,54,.9)!important}
.map-card{background:radial-gradient(circle at 50% 50%,rgba(242,184,10,.34) 0 23%,transparent 24%),repeating-radial-gradient(circle at 50% 50%,transparent 0 55px,rgba(242,184,10,.20) 56px 57px),#041D36!important}
@media(max-width:980px){.site-header .navlinks.open{background:rgba(4,29,54,.985)!important}}

/* Internal title banners: new image + white gradient instead of black. */
.page-hero:before{background-image:url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab69d7f3dbd5f2bbbcea90d.jpg')!important;background-position:center!important;background-size:cover!important}
.page-hero:after{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.80) 46%,rgba(255,255,255,.38) 100%),linear-gradient(0deg,rgba(255,255,255,.30),rgba(255,255,255,.05))!important}
.page-hero{color:#041D36!important}
.page-hero .display,.page-hero .kicker{color:#041D36!important}
.page-hero .eyebrow{color:#F2B80A!important}

/* Dark/black title text becomes brand blue; italic title accents stay gold. */
.display,.copy h2,.section-head h2,.intro .copy>.display,.project-copy h2,.why h2,.faq-intro h2,.mission-card h3,.service-detail-body h3,.coming-soon h2{color:#041D36!important}
.display em,.display i,.display .italic,.display .accent,.copy h2 em,.copy h2 i,.section-head h2 em,.section-head h2 i,.intro .copy>.display .title-word:nth-child(even){color:#F2B80A!important;-webkit-text-fill-color:#F2B80A!important}
.horizontal-wrap .display,.horizontal-wrap h2,.horizontal-wrap h3,.cta .display,.cta h2,.footer h4,.home-portfolio-full .display,.home-process-timeline .timeline-step h3,.interactive-why .display,.interactive-why h3{color:#fff!important}

/* Video page: remove heading/card treatment and enlarge the video. */
.video-clean-section{padding:72px 0 110px!important;background:#fff!important;text-align:left!important}
.video-clean-section .coming-soon-inner{max-width:1240px!important;width:min(1240px,calc(100% - 64px))!important}
.video-clean-section .video-showcase{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
.video-clean-section video{width:100%!important;max-height:76vh!important;aspect-ratio:16/9!important;object-fit:cover!important;border-radius:18px!important;background:#041D36!important;box-shadow:0 20px 55px rgba(4,29,54,.18)!important}

/* Embedded service-area map fills the existing map frame. */
.contact-map iframe{display:block;width:100%!important;height:100%!important;border:0!important}
@media(max-width:600px){.video-clean-section{padding:48px 0 72px!important}.video-clean-section .coming-soon-inner{width:calc(100% - 26px)!important}.video-clean-section video{border-radius:12px!important}}


/* --------------------------------------------------------------------------
   Final JP Solutions blue refresh requested on 2026-09-25
   -------------------------------------------------------------------------- */
:root{
  --jp-blue:#041D36;
  --jp-blue-deep:#041d36;
  --jp-blue-mid:#0d3769;
  --jp-blue-soft:#eaf3ff;
  --jp-gold:#d5a12c;
}

/* Remove dark gradients / swap black surfaces for blue */
.hero-video-overlay{background:none!important}
.horizontal-wrap,
.cta,
.footer,
.more-than-section,
.home-process-timeline .timeline-control,
.fab-top,
.contact-info,
.map-badge,
.coming-icon{background:var(--jp-blue-deep)!important;color:#fff!important}
.service-card,
.services-showcase-copy,
.more-detail-card,
.page-services .services-sticky-stage,
.page-services .services-showcase-controls,
.page-services .services-showcase-btn{
  background:var(--jp-blue-deep)!important;
  color:#fff!important;
}
.service-card:after{background:linear-gradient(180deg,transparent 24%,rgba(4,29,54,.96) 100%)!important}
.interactive-why:after{background:rgba(4,29,54,.78)!important}
.more-than-section:before{background:linear-gradient(100deg,rgba(4,29,54,.92) 0%,rgba(4,29,54,.80) 48%,rgba(4,29,54,.86) 100%),url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6a63d1f3be2be1bb3174e.png') center/cover no-repeat!important}
.more-than-section:after{background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.12),transparent 24%),radial-gradient(circle at 82% 78%,rgba(213,161,44,.22),transparent 28%)!important}
.interactive-why:before{background-image:url('https://storage.googleapis.com/msgsndr/CSgaLcUd1lBYgMYb9Z8w/media/665f3cb578295e6619f3dad7.webp')!important;background-position:center!important;background-size:cover!important}
.deck-fullbleed .project-copy{background:linear-gradient(180deg,#041D36 0%,#041d36 100%)!important;color:#fff!important}
.footer:before{background:radial-gradient(circle at 12% 12%,rgba(4,29,54,.25),transparent 26%),radial-gradient(circle at 82% 76%,rgba(213,161,44,.18),transparent 28%)!important}

/* Internal banners: no dark fade, new shared image */
.page-hero:after{background:none!important}
.hero-about:before,
.hero-location:before,
.hero-services:before,
.hero-portfolio:before,
.hero-video-page:before,
.hero-contact:before{background-image:url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab69d7f3dbd5f2bbbcea90d.jpg')!important;background-position:center!important;background-size:cover!important}
.page-hero .display,
.page-hero h1,
.page-services .services-showcase-copy .display,
.page-services .services-showcase-copy h2,
.more-than-copy .display,
.contact-map-section .display,
.contact-form-intro .display,
.video-clean-section .display{color:var(--jp-blue)!important}
.page-hero .display .title-word:nth-of-type(odd),
.page-services .services-showcase-copy .display .title-word:nth-of-type(odd),
.more-than-copy .display .title-word:nth-of-type(odd){color:var(--jp-blue)!important;-webkit-text-fill-color:var(--jp-blue)!important;background:none!important}
.page-hero .display .title-word:nth-of-type(even),
.page-services .services-showcase-copy .display .title-word:nth-of-type(even),
.more-than-copy .display .title-word:nth-of-type(even){color:var(--jp-gold)!important;-webkit-text-fill-color:var(--jp-gold)!important;background:none!important}
.page-hero .kicker,.page-hero .eyebrow{color:#0d3769!important;text-shadow:none!important}

/* Services page image label without blur background */
.page-services .services-current-label{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;padding:0!important}
.page-services .services-current-label span{color:#fff!important}
.page-services .services-current-label strong{color:#fff!important}

/* Home sections requested image swaps */
.deck-fullbleed .project-img img{object-position:center center}

/* Why / built for safety section requested image and blue tone */
.interactive-why{background:#06294f!important;color:#fff!important}
.interactive-why .display,.interactive-why h3,.interactive-why p,.interactive-why .eyebrow{color:#fff!important}
.interactive-why .why-item{border-bottom-color:rgba(255,255,255,.18)!important}
.interactive-why .why-item>span{background:linear-gradient(180deg,#ffffff 0%,#dbe9ff 100%)!important;color:var(--jp-blue-deep)!important}
.interactive-why .display .title-word:nth-of-type(odd){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
.interactive-why .display .title-word:nth-of-type(even){color:var(--jp-gold)!important;-webkit-text-fill-color:var(--jp-gold)!important;background:none!important}

/* Power/Safety section titles blue in light areas */
.copy h2,.intro .display,.section-head .display,.contact-form-intro .display,.contact-map-section .display{color:var(--jp-blue)!important}
.copy h2 .title-word:nth-of-type(even),.intro .display .title-word:nth-of-type(even),.section-head .display .title-word:nth-of-type(even),.contact-form-intro .display .title-word:nth-of-type(even),.contact-map-section .display .title-word:nth-of-type(even){color:var(--jp-gold)!important;-webkit-text-fill-color:var(--jp-gold)!important;background:none!important}
.copy h2 .title-word:nth-of-type(odd),.intro .display .title-word:nth-of-type(odd),.section-head .display .title-word:nth-of-type(odd),.contact-form-intro .display .title-word:nth-of-type(odd),.contact-map-section .display .title-word:nth-of-type(odd){color:var(--jp-blue)!important;-webkit-text-fill-color:var(--jp-blue)!important;background:none!important}

/* Video tab: larger video, no card treatment */
.video-clean-section{padding-top:76px!important}
.video-clean-section .coming-soon-inner{max-width:1320px!important}
.video-clean-section .video-showcase{max-width:1280px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
.video-clean-section video{width:100%!important;min-height:0!important;border-radius:18px!important;box-shadow:0 22px 56px rgba(4,29,54,.24)!important}

/* Services section accent title color on Home cards */
.service-info h3{color:#fff!important}
.service-info .pill{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.28)!important;color:#fff!important}

/* More ways section centered with expandable descriptions */
.more-than-shell{justify-content:center!important}
.more-than-copy{max-width:1120px!important;width:100%!important;text-align:center!important;margin:0 auto!important}
.more-than-copy p{max-width:860px!important;margin:0 auto!important}
.more-than-service-list{max-width:980px!important;margin:34px auto 0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 18px!important}
.more-than-service-list li{padding:0!important;border:0!important;background:none!important;backdrop-filter:none!important}
.details-reset, .more-detail-card{margin:0!important}
.more-detail-card{border:1px solid rgba(255,255,255,.18)!important;border-radius:18px!important;overflow:hidden!important;background:rgba(255,255,255,.07)!important;box-shadow:0 12px 34px rgba(0,0,0,.14)!important}
.more-detail-card summary{list-style:none;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;font-weight:800;color:#fff}
.more-detail-card summary::-webkit-details-marker{display:none}
.more-detail-card summary i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#ffffff 0%,#dbe9ff 100%);color:var(--jp-blue-deep)}
.more-detail-title{display:block;text-align:left}
.more-detail-toggle{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.more-detail-desc{margin:0;padding:0 18px 18px 66px;text-align:left;color:rgba(255,255,255,.84);font-size:15px;line-height:1.6}
.more-detail-card[open] summary i:before{content:'\f068'}
.more-than-actions{justify-content:center!important}

/* Process section with more color details */
.home-process-timeline.process{position:relative;overflow:hidden;background:linear-gradient(180deg,#f8fbff 0%,#edf5ff 100%)!important}
.home-process-timeline.process:before{content:"";position:absolute;inset:-10% auto auto -8%;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(4,29,54,.14),transparent 65%);pointer-events:none}
.home-process-timeline.process:after{content:"";position:absolute;inset:auto -6% -18% auto;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(213,161,44,.18),transparent 68%);pointer-events:none}
.home-process-timeline .timeline-step{background:rgba(255,255,255,.84)!important;border:1px solid rgba(4,29,54,.14)!important;box-shadow:0 18px 42px rgba(4,29,54,.08)!important}
.home-process-timeline .timeline-step h3{color:var(--jp-blue)!important}
.home-process-timeline .timeline-step p{color:#26425f!important}
.home-process-timeline .process-wave-path{stroke:var(--jp-blue)!important}
.home-process-timeline .section-head .display{color:var(--jp-blue)!important}

/* Mobile tweaks */
@media(max-width:980px){
  .more-than-service-list{grid-template-columns:1fr!important}
  .video-clean-section .coming-soon-inner,.video-clean-section .video-showcase{max-width:100%!important}
}

/* Final contrast refinements */
.page-services .services-showcase-copy .display,
.page-services .services-showcase-copy h2,
.more-than-copy .display{color:#fff!important}
.page-services .services-showcase-copy .display .title-word:nth-of-type(odd),
.more-than-copy .display .title-word:nth-of-type(odd){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
.page-services .services-showcase-copy .display .title-word:nth-of-type(even),
.more-than-copy .display .title-word:nth-of-type(even){color:var(--jp-gold)!important;-webkit-text-fill-color:var(--jp-gold)!important;background:none!important}
.more-detail-card[open] summary i:before{content:'\f068';font-family:'Font Awesome 6 Free';font-weight:900}

/* --------------------------------------------------------------------------
   JP Solutions final refinements - 2026-09-25
   -------------------------------------------------------------------------- */

/* Internal title banners: white text + subtle shadow */
.page-hero .display,
.page-hero h1,
.page-hero .kicker,
.page-hero .eyebrow{
  text-shadow:0 4px 18px rgba(4,29,54,.22)!important;
}
.page-hero .display,
.page-hero h1{
  color:#fff!important;
}
.page-hero .display .title-word:nth-of-type(odd),
.page-hero h1 .title-word:nth-of-type(odd){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:none!important;
}
.page-hero .display .title-word:nth-of-type(even),
.page-hero h1 .title-word:nth-of-type(even){
  color:#F2B80A!important;
  -webkit-text-fill-color:#F2B80A!important;
  background:none!important;
}
.page-hero .kicker{color:#fff!important}
.page-hero .eyebrow{color:#F2B80A!important}

/* CTA background image swap */
.cta{position:relative;overflow:hidden;background:#041D36!important}
.cta:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,29,54,.90),rgba(4,29,54,.76)),url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6b1d43dbd5f2bbbd0daa9.png') center/cover no-repeat!important;z-index:0}
.cta > *{position:relative;z-index:1}

/* FAQ functional styles */
.faq-item{background:transparent!important}
.faq-item summary{cursor:pointer!important}
.faq-answer{display:block!important}
.faq-item .faq-plus{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#041D36;flex:0 0 34px}
.faq-item[open] .faq-plus{transform:rotate(45deg);color:#041D36!important}

/* Process section: blue background while preserving decorative details */
.home-process-timeline.process{background:linear-gradient(180deg,#041D36 0%,#041D36 100%)!important}
.home-process-timeline.process:before{background:radial-gradient(circle,rgba(255,255,255,.12),transparent 65%)!important}
.home-process-timeline.process:after{background:radial-gradient(circle,rgba(242,184,10,.18),transparent 68%)!important}
.home-process-timeline .section-head .display,
.home-process-timeline .section-head h2{color:#fff!important}
.home-process-timeline .section-head .display .title-word:nth-of-type(odd),
.home-process-timeline .section-head h2 .title-word:nth-of-type(odd){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
.home-process-timeline .section-head .display .title-word:nth-of-type(even),
.home-process-timeline .section-head h2 .title-word:nth-of-type(even){color:#F2B80A!important;-webkit-text-fill-color:#F2B80A!important;background:none!important}
.home-process-timeline .section-head .eyebrow,.home-process-timeline .timeline-counter{color:#fff!important}
.home-process-timeline .timeline-control{background:rgba(255,255,255,.14)!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important}
.home-process-timeline .process-wave-path{stroke:#fff!important}

/* Built from the deck up: blue text and button */
.deck-fullbleed .project-copy{background:linear-gradient(180deg,#F7F4EE 0%,#fff 100%)!important;color:#041D36!important}
.deck-fullbleed .project-copy .eyebrow,
.deck-fullbleed .project-copy h2,
.deck-fullbleed .project-copy p{color:#041D36!important}
.deck-fullbleed .project-copy h2 .title-word:nth-of-type(odd){color:#041D36!important;-webkit-text-fill-color:#041D36!important;background:none!important}
.deck-fullbleed .project-copy h2 .title-word:nth-of-type(even){color:#041D36!important;-webkit-text-fill-color:#041D36!important;background:none!important}
.deck-fullbleed .project-copy .btn,
.deck-fullbleed .project-copy .btn-dark{background:#041D36!important;color:#fff!important;border-color:#041D36!important}
.deck-fullbleed .project-copy .btn i{color:#fff!important}

/* Electrical service with the details covered: white/gold text */
.interactive-why:before{background-image:url('https://storage.googleapis.com/msgsndr/CSgaLcUd1lBYgMYb9Z8w/media/665f3cb578295e6619f3dad7.webp')!important}
.interactive-why:after{background:rgba(4,29,54,.80)!important}
.interactive-why .display,
.interactive-why .stable-title{color:#fff!important}
.interactive-why .display .title-word:nth-of-type(odd),
.interactive-why .stable-title .title-word:nth-of-type(odd){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
.interactive-why .display .title-word:nth-of-type(even),
.interactive-why .stable-title .title-word:nth-of-type(even){color:#F2B80A!important;-webkit-text-fill-color:#F2B80A!important;background:none!important}
.interactive-why .eyebrow{color:#F2B80A!important}

/* Built for safety: use provided background with blue filter and white/gold title */
.mission-vision-section{position:relative;overflow:hidden;background:#041D36!important;isolation:isolate}
.mission-vision-section:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,29,54,.82),rgba(4,29,54,.74)),url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6a63d1f3be2be1bb3174e.png') center/cover no-repeat;z-index:-2}
.mission-vision-section:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 18%,rgba(255,255,255,.10),transparent 26%),radial-gradient(circle at 82% 78%,rgba(242,184,10,.18),transparent 28%);z-index:-1}
.mission-vision-section .mission-head .display{color:#fff!important}
.mission-vision-section .mission-head .display .title-word:nth-of-type(odd){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
.mission-vision-section .mission-head .display .title-word:nth-of-type(even){color:#F2B80A!important;-webkit-text-fill-color:#F2B80A!important;background:none!important}
.mission-vision-section .mission-head .eyebrow{color:#F2B80A!important}

/* Services tab main showcase: cream background with blue details */
.services-scroll-section{position:relative;overflow:hidden;background:#F2EDE4!important;isolation:isolate}
.services-scroll-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 12%,rgba(4,29,54,.09),transparent 22%),radial-gradient(circle at 88% 20%,rgba(4,29,54,.08),transparent 24%),radial-gradient(circle at 78% 86%,rgba(4,29,54,.10),transparent 22%);z-index:0}
.services-scroll-section .container{position:relative;z-index:1}
.page-services .services-sticky-stage,
.page-services .services-showcase-controls,
.page-services .services-showcase-btn,
.services-showcase-copy{background:transparent!important;box-shadow:none!important}
.page-services .services-showcase-copy,
.page-services .services-showcase-copy p,
.page-services .services-showcase-copy .eyebrow{color:#041D36!important}
.page-services .services-showcase-copy .display,
.page-services .services-showcase-copy h2{color:#041D36!important}
.page-services .services-showcase-copy .display .title-word:nth-of-type(odd),
.page-services .services-showcase-copy h2 .title-word:nth-of-type(odd){color:#041D36!important;-webkit-text-fill-color:#041D36!important;background:none!important}
.page-services .services-showcase-copy .display .title-word:nth-of-type(even),
.page-services .services-showcase-copy h2 .title-word:nth-of-type(even){color:#041D36!important;-webkit-text-fill-color:#041D36!important;background:none!important}
.page-services .services-showcase-btn{border:1px solid rgba(4,29,54,.12)!important;color:#041D36!important;background:#fff!important}
.page-services .services-showcase-counter,.page-services .services-current-label span,.page-services .services-current-label strong{color:#041D36!important}

/* More ways section: stable single-column expandable cards */
.more-than-copy .display{color:#fff!important}
.more-than-copy .display .title-word:nth-of-type(odd){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
.more-than-copy .display .title-word:nth-of-type(even){color:#F2B80A!important;-webkit-text-fill-color:#F2B80A!important;background:none!important}
.more-than-service-list{grid-template-columns:1fr!important;max-width:860px!important}
.more-detail-card{display:block!important}
.more-detail-card summary{grid-template-columns:36px 1fr 36px!important;align-items:center!important}
.more-detail-card summary .more-detail-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#041D36!important}
.more-detail-card summary .more-detail-toggle i{color:#041D36!important}
.more-detail-card summary .more-detail-toggle::before{display:none!important}
.more-detail-card[open] summary .more-detail-toggle i{transform:rotate(180deg)}
.more-detail-card .more-detail-toggle{font-size:14px!important;letter-spacing:normal!important;text-transform:none!important}
.more-detail-card summary i:first-child{background:#fff!important;color:#041D36!important}
.more-detail-desc{padding-right:18px!important}
.more-than-actions .btn-light{background:#fff!important;color:#041D36!important;border-color:#fff!important}
.more-than-actions .btn-light i{color:#041D36!important}
.more-than-actions .btn-accent{background:#fff!important;color:#041D36!important;border-color:#fff!important}
.more-than-actions .btn-accent i{color:#041D36!important}

/* Contact map section background image and heading colors */
.contact-map-section{position:relative;overflow:hidden;background:#041D36!important;isolation:isolate;padding:90px 0 110px!important}
.contact-map-section:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,29,54,.88),rgba(4,29,54,.74)),url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6a63c53ee44f56b3790eb.png') center/cover no-repeat;z-index:0}
.contact-map-section .container{position:relative;z-index:1}
.contact-map-section .display,.contact-map-section .stable-title{color:#fff!important}
.contact-map-section .display .title-word:nth-of-type(odd),.contact-map-section .stable-title .title-word:nth-of-type(odd){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
.contact-map-section .display .title-word:nth-of-type(even),.contact-map-section .stable-title .title-word:nth-of-type(even){color:#F2B80A!important;-webkit-text-fill-color:#F2B80A!important;background:none!important}
.contact-map-section .eyebrow{color:#F2B80A!important}
.contact-map{position:relative;z-index:1;border-radius:24px;overflow:hidden;box-shadow:0 24px 58px rgba(0,0,0,.24)}

/* Portfolio gallery replacement images */
.portfolio-gallery-updated figure img{object-fit:cover!important}


/* --------------------------------------------------------------------------
   JP Solutions requested visual refinements - 2026-09-25 late pass
   -------------------------------------------------------------------------- */

:root{--jp-blue-text:#041D36;--jp-gold:#F2B80A}

/* Internal title banners */
.hero-about:before,
.hero-location:before,
.hero-services:before,
.hero-portfolio:before,
.hero-video-page:before,
.hero-contact:before{
  background-image:url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6c8a26407f2cbe4db9831.jpg')!important;
  background-position:center!important;
  background-size:cover!important;
}
.page-hero .display,
.page-hero h1,
.page-hero .kicker,
.page-hero .eyebrow{text-shadow:0 6px 20px rgba(0,0,0,.18)!important}

/* Video section cleanup */
.video-clean-section,
.video-clean-section .coming-soon-inner,
.video-clean-section .video-showcase{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.video-clean-section .coming-soon-inner{padding:0!important}
.video-clean-section video{display:block;width:100%;box-shadow:0 22px 60px rgba(4,29,54,.22)!important}

/* Home hero title */
.hero-rotating-title,
.hero-rotating-title .hero-title-phrase{color:var(--jp-blue-text)!important}
.hero-rotating-title .orange{color:var(--jp-gold)!important}
.hero-rotating-title{text-shadow:0 6px 18px rgba(255,255,255,.22),0 2px 8px rgba(0,0,0,.16)!important}

/* Contact map section */
.contact-map-section:before{background:linear-gradient(90deg,rgba(4,29,54,.88),rgba(4,29,54,.76)),url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6a63c53ee44f56b3790eb.png') center/cover no-repeat!important}
.contact-map-section .display,
.contact-map-section .stable-title{color:#fff!important}
.contact-map-section .display .title-word:nth-of-type(odd),
.contact-map-section .stable-title .title-word:nth-of-type(odd){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
.contact-map-section .display .title-word:nth-of-type(even),
.contact-map-section .stable-title .title-word:nth-of-type(even){color:var(--jp-gold)!important;-webkit-text-fill-color:var(--jp-gold)!important;background:none!important}
.contact-map-section .eyebrow{color:var(--jp-gold)!important}

/* Text over service imagery */
.service-info h3,
.service-info p,
.page-services .services-current-label,
.page-services .services-current-label span,
.page-services .services-current-label strong,
.services-showcase-media .eyebrow,
.services-showcase-media .display,
.services-showcase-media .display .title-word,
.services-showcase-media .display .title-word:nth-of-type(odd),
.services-showcase-media .display .title-word:nth-of-type(even){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}

/* Services tab accent gold */
.page-services .services-showcase-copy .display .title-word:nth-of-type(even),
.page-services .services-showcase-copy h2 .title-word:nth-of-type(even),
.page-services .services-showcase-copy .eyebrow,
.page-services .services-showcase-link,
.page-services .services-showcase-copy .btn i,
.page-services .services-showcase-btn i,
.page-services .services-showcase-copy a i{color:var(--jp-gold)!important;-webkit-text-fill-color:var(--jp-gold)!important}
.page-services .services-showcase-btn:hover{background:#041D36!important;color:#fff!important}
.page-services .services-showcase-btn:hover i{color:#fff!important}

/* More ways section layout */
.more-than-copy{max-width:1240px!important}
.more-than-copy .display,
.more-than-copy .display .title-word,
.more-than-copy .display .title-word:nth-of-type(odd),
.more-than-copy .display .title-word:nth-of-type(even){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
.more-than-service-list{max-width:1240px!important;width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 22px!important;align-items:start!important}
.more-than-service-list>li{width:100%!important;min-width:0!important}
.more-detail-card,.more-detail-card summary{width:100%!important}
.more-detail-card{min-height:84px!important}
.more-detail-title{color:#fff!important}
.more-detail-card summary{grid-template-columns:36px 1fr 36px!important}
.more-detail-card summary .more-detail-toggle{background:#fff!important;color:#041D36!important}
.more-detail-card summary .more-detail-toggle i{color:#041D36!important}
.more-than-actions{margin-top:28px!important;padding-top:10px!important}
.more-than-actions .btn{margin-top:8px!important}

/* Built for safety section */
.mission-vision-section{background:linear-gradient(90deg,rgba(4,29,54,.80),rgba(4,29,54,.72)),url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6a63d1f3be2be1bb3174e.png') center/cover no-repeat!important;background-attachment:fixed!important}
.mission-vision-section:before{background:none!important}
.mission-vision-section .mission-head .display,
.mission-vision-section .mission-head .display .title-word:nth-of-type(odd){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
.mission-vision-section .mission-head .display .title-word:nth-of-type(even){color:var(--jp-gold)!important;-webkit-text-fill-color:var(--jp-gold)!important;background:none!important}

/* Built from the deck up title */
.deck-fullbleed .project-copy h2 .title-word:nth-of-type(odd){color:var(--jp-blue-text)!important;-webkit-text-fill-color:var(--jp-blue-text)!important;background:none!important}
.deck-fullbleed .project-copy h2 .title-word:nth-of-type(even){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;text-shadow:0 2px 10px rgba(4,29,54,.28)!important}

/* Estimate to final review background */
.home-process-timeline.process{background:linear-gradient(90deg,rgba(4,29,54,.90),rgba(4,29,54,.80)),url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6a63f3ae3da26fb646e53.png') center/cover no-repeat!important;background-attachment:fixed!important}
.home-process-timeline.process:before{background:radial-gradient(circle,rgba(255,255,255,.10),transparent 65%)!important}
.home-process-timeline.process:after{background:radial-gradient(circle,rgba(242,184,10,.18),transparent 68%)!important}
.home-process-timeline .timeline-step{background:rgba(255,255,255,.88)!important}

/* Portfolio carousel images */
.home-portfolio-item img{object-fit:cover!important;object-position:center!important}

/* Gold pill accent */
.service-info .pill{background:rgba(242,184,10,.18)!important;border-color:rgba(242,184,10,.42)!important;color:#fff!important}

@media (max-width:980px){
  .more-than-service-list{grid-template-columns:1fr!important}
  .mission-vision-section,.home-process-timeline.process{background-attachment:scroll!important}
}

/* --------------------------------------------------------------------------
   JP Solutions final requested tweaks - hero / banners / titles
   -------------------------------------------------------------------------- */

:root{
  --jp-blue:#041D36 !important;
  --jp-blue-text:#041D36 !important;
}

/* Hero title fully white */
.hero-rotating-title,
.hero-rotating-title .hero-title-phrase,
.hero-rotating-title .title-word,
.hero.hero-video .display,
.hero.hero-video .display .title-word{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:none !important;
  text-shadow:0 6px 18px rgba(0,0,0,.18) !important;
}
.hero-rotating-title .orange{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Built from the deck up: blue main words + white accent words, no gray gradient */
.deck-fullbleed .project-copy h2,
.deck-fullbleed .project-copy .display{
  color:#041D36 !important;
}
.deck-fullbleed .project-copy h2 .title-word,
.deck-fullbleed .project-copy .display .title-word{
  background:none !important;
}
.deck-fullbleed .project-copy h2 .title-word:nth-of-type(odd),
.deck-fullbleed .project-copy .display .title-word:nth-of-type(odd){
  color:#041D36 !important;
  -webkit-text-fill-color:#041D36 !important;
}
.deck-fullbleed .project-copy h2 .title-word:nth-of-type(even),
.deck-fullbleed .project-copy .display .title-word:nth-of-type(even){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:0 2px 10px rgba(4,29,54,.22) !important;
}

/* More ways title fully white, no gradient */
.more-than-copy .display,
.more-than-copy .display .title-word,
.more-than-copy .display .title-word:nth-of-type(odd),
.more-than-copy .display .title-word:nth-of-type(even){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:none !important;
}

/* Internal title banners: new background image */
.hero-about:before,
.hero-location:before,
.hero-services:before,
.hero-portfolio:before,
.hero-video-page:before,
.hero-contact:before,
.page-hero:before{
  background-image:url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6ced615ef56c94e4d6133.jpg') !important;
  background-position:center !important;
  background-size:cover !important;
}

/* Replace visible medium blue with deep blue */
.page-services .services-showcase-copy .display .title-word:nth-of-type(even),
.page-services .services-showcase-copy h2 .title-word:nth-of-type(even),
.page-services .services-showcase-copy .display,
.page-services .services-showcase-copy h2,
.deck-fullbleed .project-copy .btn,
.deck-fullbleed .project-copy .btn-dark,
.page-services .services-showcase-btn:hover,
.page-services .services-showcase-btn.is-active,
.copy h2,
.intro .display,
.section-head .display,
.contact-form-intro .display,
.contact-map-section .display{
  color:#041D36 !important;
}
.deck-fullbleed .project-copy .btn,
.deck-fullbleed .project-copy .btn-dark,
.page-services .services-showcase-btn:hover,
.page-services .services-showcase-btn.is-active{
  background:#041D36 !important;
  border-color:#041D36 !important;
}

/* Serving DC section: new bg image + blue filter, keep white/gold text */
.contact-map-section:before{
  background:
    linear-gradient(90deg,rgba(4,29,54,.90),rgba(4,29,54,.76)),
    url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6a63d1f3be2be1bb3174e.png') center/cover no-repeat !important;
}
.contact-map-section .display,
.contact-map-section .stable-title,
.contact-map-section .display .title-word:nth-of-type(odd),
.contact-map-section .stable-title .title-word:nth-of-type(odd){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:none !important;
}
.contact-map-section .display .title-word:nth-of-type(even),
.contact-map-section .stable-title .title-word:nth-of-type(even),
.contact-map-section .eyebrow{
  color:#F2B80A !important;
  -webkit-text-fill-color:#F2B80A !important;
  background:none !important;
}

/* ========================================================================== 
   FINAL CORRECTIONS + COMPLETE RESPONSIVE PASS
   Requested: Serving DC, More Ways, Built From the Deck Up, plus full
   desktop/laptop/tablet/mobile/zoom resilience without redesigning the site.
   ========================================================================== */

:root{
  --jp-deep:#041D36;
  --jp-gold:#F2B80A;
  --jp-cream:#F2EDE4;
}

/* ---------- Requested color normalization ---------- */
body{color:var(--jp-deep)}

/* ---------- Internal title banners ---------- */
.page-hero:before,
.hero-services:before,
.hero-portfolio:before,
.hero-video-page:before,
.hero-contact:before,
.hero-about:before,
.hero-location:before{
  background-image:url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6ced615ef56c94e4d6133.jpg')!important;
  background-position:center!important;
  background-size:cover!important;
}
.page-hero:after{background:rgba(4,29,54,.28)!important}
.page-hero .container{position:relative;z-index:2;text-shadow:0 5px 18px rgba(0,0,0,.34)}
.page-hero .display,.page-hero h1,.page-hero .kicker{color:#fff!important;-webkit-text-fill-color:#fff!important}
.page-hero .eyebrow{color:var(--jp-gold)!important;-webkit-text-fill-color:var(--jp-gold)!important}

/* ---------- Home hero title ---------- */
.hero-rotating-title,
.hero-rotating-title .hero-title-phrase,
.hero-rotating-title .orange,
.hero.hero-video .display,
.hero.hero-video .display .title-word{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:none!important;
}

/* ---------- BUILT FROM THE DECK UP ---------- */
.deck-fullbleed .project-copy{
  background:#fff!important;
  background-image:none!important;
  color:var(--jp-deep)!important;
}
.deck-fullbleed .project-copy:before,
.deck-fullbleed .project-copy:after{display:none!important}
.deck-fullbleed .project-copy .eyebrow,
.deck-fullbleed .project-copy .deck-title,
.deck-fullbleed .project-copy h2,
.deck-fullbleed .project-copy p{
  color:var(--jp-deep)!important;
  -webkit-text-fill-color:var(--jp-deep)!important;
  background:none!important;
  text-shadow:none!important;
}
.deck-fullbleed .project-copy .btn,
.deck-fullbleed .project-copy .btn-dark{
  background:var(--jp-deep)!important;
  border-color:var(--jp-deep)!important;
  color:#fff!important;
}
.deck-fullbleed .project-copy .btn i{color:#fff!important}

/* ---------- MORE WAYS TO SUPPORT YOUR PROPERTY ---------- */
.more-than-copy{max-width:1280px!important;width:100%!important;margin-inline:auto!important}
.more-than-copy .more-than-title,
.more-than-copy .display,
.more-than-copy .display .title-word{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:none!important;
  text-shadow:none!important;
}
.more-than-copy>p{max-width:980px!important;margin-left:auto!important;margin-right:auto!important;color:rgba(255,255,255,.88)!important}
.more-than-service-list{
  width:100%!important;
  max-width:1180px!important;
  margin:38px auto 0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px 22px!important;
  align-items:stretch!important;
}
.more-than-service-list>li{width:100%!important;min-width:0!important;height:100%!important}
.more-detail-card{
  width:100%!important;
  min-height:82px!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  backdrop-filter:none!important;
}
.more-detail-card summary{
  width:100%!important;
  min-height:82px!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) 38px!important;
  align-items:center!important;
  gap:14px!important;
  padding:16px 18px!important;
}
.more-detail-title{color:#fff!important;line-height:1.28!important;min-width:0!important}
.more-detail-card summary>i:first-child,
.more-detail-card .more-detail-toggle{
  width:38px!important;height:38px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  background:#fff!important;color:var(--jp-deep)!important;
  flex:none!important;
}
.more-detail-card summary>i:first-child{color:var(--jp-deep)!important}
.more-detail-card .more-detail-toggle i{color:var(--jp-deep)!important;transition:transform .25s ease}
.more-detail-card[open] .more-detail-toggle i{transform:rotate(180deg)}
.more-detail-desc{padding:0 18px 20px 70px!important;margin:0!important;color:rgba(255,255,255,.86)!important;text-align:left!important}
.more-than-actions{margin-top:34px!important;padding-top:12px!important;justify-content:center!important;gap:16px!important}
.more-than-actions .btn{margin:0!important}

/* ---------- SERVING DC, MARYLAND & VIRGINIA ---------- */
.contact-map-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:var(--jp-deep)!important;
}
.contact-map-section:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:
    linear-gradient(90deg,rgba(4,29,54,.92),rgba(4,29,54,.78)),
    url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6a63d1f3be2be1bb3174e.png') center/cover no-repeat!important;
}
.contact-map-section:after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(circle at 12% 16%,rgba(242,184,10,.14),transparent 26%);
}
.contact-map-section .container{position:relative!important;z-index:2!important}
.contact-map-section .compact-head{text-shadow:0 5px 18px rgba(0,0,0,.32)}
.contact-map-section .serving-title{color:#fff!important;-webkit-text-fill-color:#fff!important}
.contact-map-section .serving-white{color:#fff!important;-webkit-text-fill-color:#fff!important}
.contact-map-section .serving-gold{color:var(--jp-gold)!important;-webkit-text-fill-color:var(--jp-gold)!important}
.contact-map-section .eyebrow{color:var(--jp-gold)!important}

/* ---------- Global media containment ---------- */
img,video,iframe,svg{max-width:100%}
video,iframe{display:block}
.contact-map iframe,.lc-form-wrap iframe{width:100%!important;max-width:100%!important}

/* ---------- Header/Nav: switch before collisions ---------- */
@media(max-width:1180px){
  .site-header .navlinks{display:none!important}
  .site-header .menu-btn{display:inline-flex!important}
  .site-header .navlinks.open{
    display:flex!important;
    position:fixed!important;
    inset:0!important;
    padding:clamp(116px,16vh,150px) clamp(22px,5vw,48px) 42px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:clamp(14px,2.3vh,22px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    background:rgba(4,29,54,.985)!important;
    color:#fff!important;
    z-index:-1!important;
  }
  .site-header .navlinks.open a:not(.btn){font-size:clamp(22px,3.3vw,34px)!important;color:#fff!important}
  .brand-logo{width:clamp(88px,11vw,108px)!important;height:auto!important;max-height:68px!important}
}

/* ---------- Large desktop ---------- */
@media(min-width:1441px){
  .container{width:min(1560px,calc(100% - 96px))!important}
  .section{padding-top:clamp(100px,6.5vw,132px)!important;padding-bottom:clamp(100px,6.5vw,132px)!important}
  .page-hero .display{font-size:clamp(74px,5.4vw,112px)!important}
  .hero-rotating-title{font-size:clamp(76px,5vw,112px)!important}
  .more-than-copy .display{font-size:clamp(64px,5.4vw,108px)!important}
}

/* ---------- Laptop / smaller desktop ---------- */
@media(min-width:1025px) and (max-width:1440px){
  .container{width:min(1320px,calc(100% - 54px))!important}
  .section{padding-top:clamp(82px,7vw,110px)!important;padding-bottom:clamp(82px,7vw,110px)!important}
  .hero{padding-top:clamp(160px,14vh,205px)!important}
  .hero-rotating-title{font-size:clamp(58px,6.8vw,92px)!important}
  .page-hero{padding-top:clamp(182px,18vh,228px)!important}
  .page-hero .display{font-size:clamp(54px,7.5vw,92px)!important}
  .section-head{gap:clamp(24px,4vw,48px)!important}
  .project-copy{padding:clamp(32px,4vw,50px)!important}
  .more-than-copy .display{font-size:clamp(52px,6.8vw,92px)!important}
}

/* ---------- Tablet landscape / small laptop ---------- */
@media(min-width:900px) and (max-width:1180px){
  .container{width:calc(100% - 44px)!important}
  .section{padding:76px 0!important}
  .site-header{padding:13px 0!important}
  .hero{min-height:auto!important;padding:170px 0 68px!important}
  .hero-rotating-title{font-size:clamp(50px,7.2vw,76px)!important;line-height:.96!important}
  .hero-bottom{gap:28px!important}
  .page-hero{min-height:52vh!important;padding:174px 0 64px!important}
  .page-hero .display{font-size:clamp(48px,7vw,72px)!important;line-height:.96!important}
  .intro-grid{gap:48px!important}
  .image-stack{height:520px!important}
  .mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
  .mission-card{padding:32px!important;min-height:330px!important}
  .why-grid{grid-template-columns:.9fr 1.1fr!important;gap:44px!important}
  .project-strip{grid-template-columns:1.05fr .95fr!important}
  .project-img{height:520px!important}
  .project-copy{padding:34px!important}
  .footer-grid{grid-template-columns:1.1fr 1fr 1fr!important;gap:28px!important}
  .footer-grid>div:nth-child(4){grid-column:2/4!important}
  .contact-showcase-grid{gap:34px!important}
  .more-than-service-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ---------- Tablet portrait / intermediate ---------- */
@media(min-width:768px) and (max-width:899px){
  .container{width:calc(100% - 38px)!important}
  .section{padding:68px 0!important}
  .hero{min-height:auto!important;padding:164px 0 64px!important}
  .hero-rotating-title{font-size:clamp(48px,9vw,70px)!important}
  .hero-bottom{grid-template-columns:1fr!important;gap:24px!important}
  .hero-actions{justify-content:flex-start!important}
  .page-hero{min-height:50vh!important;padding:160px 0 58px!important}
  .page-hero .display{font-size:clamp(44px,9vw,66px)!important}
  .intro-grid,.why-grid,.project-strip,.cta-inner,.faq-layout,.contact-showcase-grid{grid-template-columns:1fr!important}
  .image-stack{height:500px!important}
  .mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .mission-card{padding:28px!important;min-height:320px!important}
  .project-img{height:470px!important}
  .project-copy{padding:32px!important}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:30px!important}
  .contact-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .more-than-service-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ---------- Small tablet / large mobile ---------- */
@media(min-width:600px) and (max-width:767px){
  .container{width:calc(100% - 32px)!important}
  .section{padding:62px 0!important}
  .hero{padding:154px 0 58px!important}
  .hero-rotating-title{font-size:clamp(42px,10vw,60px)!important}
  .hero-bottom,.intro-grid,.why-grid,.project-strip,.cta-inner,.faq-layout,.contact-showcase-grid{grid-template-columns:1fr!important}
  .hero-actions{display:flex!important;justify-content:flex-start!important}
  .page-hero{padding:150px 0 52px!important;min-height:46vh!important}
  .page-hero .display{font-size:clamp(40px,9.5vw,56px)!important}
  .mission-grid{grid-template-columns:1fr!important}
  .mission-card{min-height:290px!important;padding:28px!important}
  .image-stack{height:450px!important}
  .project-img{height:420px!important}
  .project-copy{padding:30px!important}
  .contact-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .more-than-service-list{grid-template-columns:1fr!important}
}

/* ---------- Mobile ---------- */
@media(max-width:599px){
  .container{width:calc(100% - 28px)!important}
  .section{padding:54px 0!important}
  .topbar{height:34px!important;font-size:8.5px!important;padding-inline:8px!important;overflow:hidden!important;white-space:nowrap!important}
  .site-header,.site-header.scrolled{top:34px!important;padding:10px 0!important}
  .brand-logo{width:84px!important;max-height:54px!important}
  .menu-btn{font-size:12px!important;padding:8px 0!important}
  .site-header .navlinks.open{padding-top:110px!important;gap:16px!important}
  .site-header .navlinks.open a:not(.btn){font-size:clamp(22px,7vw,30px)!important}
  .hero{min-height:auto!important;padding:146px 0 52px!important}
  .hero-rotating-title{font-size:clamp(38px,12vw,54px)!important;line-height:.98!important;letter-spacing:-.045em!important}
  .hero-copy{font-size:15px!important;line-height:1.55!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .hero-actions .btn{width:100%!important;min-height:48px!important}
  .page-hero{min-height:auto!important;padding:142px 0 46px!important}
  .page-hero .display{font-size:clamp(34px,10vw,46px)!important;line-height:1!important}
  .page-hero .kicker{font-size:14px!important;line-height:1.5!important;margin-top:15px!important}
  .intro-grid,.why-grid,.project-strip,.cta-inner,.faq-layout,.contact-showcase-grid,.footer-grid{grid-template-columns:1fr!important}
  .section-head{grid-template-columns:1fr!important;gap:16px!important;margin-bottom:32px!important}
  .section-head h2,.intro h2,.why h2,.project-copy h2,.cta h2,.faq-intro h2{font-size:clamp(32px,10.5vw,46px)!important;line-height:1.02!important}
  .lead{font-size:17px!important}
  .image-stack{height:390px!important}
  .image-stack .big{width:84%!important;height:77%!important}
  .image-stack .small{width:54%!important;height:40%!important;border-width:8px!important}
  .mission-grid{grid-template-columns:1fr!important}
  .mission-card{min-height:270px!important;padding:24px!important}
  .project-img{height:340px!important;border-radius:20px!important}
  .project-copy{padding:26px!important}
  .process-timeline-viewport{width:100%!important;overflow:hidden!important}
  .timeline-step{min-width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important}
  .faq-item summary{font-size:14.5px!important;padding:16px 0!important}
  .contact-mini-grid{grid-template-columns:1fr!important}
  .contact-map{height:390px!important;min-height:390px!important}
  .lc-form-wrap,.contact-form-panel{width:100%!important;min-width:0!important}
  .lc-form-wrap iframe{width:100%!important;min-width:0!important}
  .gallery{grid-template-columns:1fr!important;grid-auto-rows:280px!important}
  .gallery figure:nth-child(n){grid-column:auto!important;grid-row:auto!important}
  .more-than-copy{text-align:center!important}
  .more-than-copy .display{font-size:clamp(34px,10vw,46px)!important;line-height:1.02!important}
  .more-than-service-list{grid-template-columns:1fr!important;gap:12px!important;margin-top:26px!important}
  .more-detail-card{min-height:74px!important}
  .more-detail-card summary{min-height:74px!important;padding:13px 14px!important;grid-template-columns:34px minmax(0,1fr) 34px!important;gap:10px!important}
  .more-detail-card summary>i:first-child,.more-detail-card .more-detail-toggle{width:34px!important;height:34px!important}
  .more-detail-title{font-size:14px!important}
  .more-detail-desc{padding:0 14px 16px 58px!important;font-size:13.5px!important}
  .more-than-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:10px!important}
  .more-than-actions .btn{width:100%!important}
  .footer{padding-top:54px!important}
  .footer-logo{width:132px!important;height:auto!important}
  .footer-bottom{gap:8px!important}
}

/* ---------- Very small mobile ---------- */
@media(max-width:359px){
  .container{width:calc(100% - 22px)!important}
  .brand-logo{width:76px!important}
  .hero{padding-top:136px!important}
  .hero-rotating-title{font-size:clamp(34px,11.5vw,42px)!important}
  .page-hero{padding-top:134px!important}
  .page-hero .display{font-size:32px!important}
  .btn{padding:13px 16px!important;font-size:10px!important}
  .project-copy{padding:22px!important}
  .contact-map{height:340px!important;min-height:340px!important}
}

/* ---------- Short landscape viewports / high zoom ---------- */
@media(max-height:720px) and (min-width:600px){
  .hero{min-height:auto!important;padding-top:145px!important;padding-bottom:48px!important}
  .page-hero{min-height:auto!important;padding-top:150px!important;padding-bottom:48px!important}
  .hero-rotating-title{font-size:clamp(44px,8vh,70px)!important}
  .site-header .navlinks.open{padding-top:100px!important}
  .service-card{min-height:390px!important;height:68vh!important}
}

/* Prevent actual layout-caused overflow while keeping intended carousels clipped locally. */
html,body{max-width:100%;overflow-x:clip}
.page,.section,.container,main,header,footer{max-width:100%}

/* ===== Final requested refinements ===== */
:root{
  --jp-deep-blue:#041D36;
  --jp-deeper-blue:#021426;
  --jp-gold:#F2B80A;
}

/* Title banners: new background image, no dark gradient, and stronger text shadow. */
.hero-about:before,
.hero-services:before,
.hero-portfolio:before,
.hero-video-page:before,
.hero-contact:before{
  background-image:url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6d9eb15ef56c94e4e7ea1.png')!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.page-hero:after{
  background:linear-gradient(90deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.10) 42%,rgba(255,255,255,.04) 100%),linear-gradient(0deg,rgba(4,29,54,.10),rgba(4,29,54,.05))!important;
}
.page-hero .container,
.page-hero .eyebrow,
.page-hero .display,
.page-hero .kicker{
  text-shadow:0 4px 18px rgba(0,0,0,.24)!important;
}

/* Contact map banner / SERVING DC section: blue filter + requested image. */
.page-contact .contact-map-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#f2eddc!important;
}
.page-contact .contact-map-section:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background:
    linear-gradient(rgba(4,29,54,.74),rgba(4,29,54,.74)),
    url('https://assets.cdn.filesafe.space/CSgaLcUd1lBYgMYb9Z8w/media/6ab6a63d1f3be2be1bb3174e.png') center/cover no-repeat!important;
}
.page-contact .contact-map-section .eyebrow,
.page-contact .contact-map-section p,
.page-contact .contact-map-section .serving-white,
.page-contact .contact-map-section .contact-map + *{
  color:#fff!important;
}
.page-contact .contact-map-section .serving-gold,
.page-contact .contact-map-section .eyebrow{
  color:var(--jp-gold)!important;
}
.page-contact .contact-map-section .section-head,
.page-contact .contact-map-section .display,
.page-contact .contact-map-section .serving-title{
  text-shadow:0 4px 18px rgba(0,0,0,.30)!important;
}
.page-contact .contact-map-section .contact-map{
  box-shadow:0 24px 56px rgba(0,0,0,.22)!important;
}

/* More ways section: remove gray gradient title and keep a cleaner two-column accordion layout. */
.page-services .more-than-copy{
  max-width:1180px!important;
  width:min(1180px,100%)!important;
}
.page-services .more-than-copy .display,
.page-services .more-than-copy .display .title-word,
.page-services .more-than-title,
.page-services .more-than-title .title-word{
  background:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.page-services .more-than-service-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px 22px!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:1080px!important;
  margin:34px 0 0!important;
}
.page-services .more-detail-item,
.page-services .more-detail-card{
  width:100%!important;
}
.page-services .more-detail-card{
  min-height:100%!important;
}
.page-services .more-detail-card summary{
  min-height:74px!important;
  width:100%!important;
}
.page-services .more-detail-title,
.page-services .more-detail-desc,
.page-services .more-detail-card summary,
.page-services .more-detail-card summary > i:first-child,
.page-services .more-detail-card .more-detail-toggle,
.page-services .more-detail-card[open] .more-detail-desc,
.page-services .more-detail-card p{
  color:#fff!important;
}
.page-services .more-detail-card summary > i:first-child,
.page-services .more-detail-card .more-detail-toggle{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.22)!important;
}

/* Built from the deck up: no white spacing above/below, and blue/white title treatment. */
.page-home .deck-fullbleed.section{
  padding-top:0!important;
  padding-bottom:0!important;
  margin:0!important;
}
.page-home .deck-fullbleed .project-strip{
  margin-top:0!important;
  margin-bottom:0!important;
  gap:0!important;
}
.page-home .deck-fullbleed + .section,
.page-home .section + .deck-fullbleed{
  margin-top:0!important;
}
.page-home .deck-fullbleed .project-img,
.page-home .deck-fullbleed .project-copy{
  margin:0!important;
}
.page-home .deck-fullbleed .project-copy .display .title-word:nth-of-type(odd){
  color:var(--jp-deep-blue)!important;
  background:none!important;
  -webkit-text-fill-color:var(--jp-deep-blue)!important;
}
.page-home .deck-fullbleed .project-copy .display .title-word:nth-of-type(even){
  color:#fff!important;
  background:none!important;
  -webkit-text-fill-color:#fff!important;
}
.page-home .deck-fullbleed .project-copy .btn,
.page-home .deck-fullbleed .project-copy .btn i{
  color:var(--jp-deep-blue)!important;
}
.page-home .deck-fullbleed .project-copy .btn{
  background:#fff!important;
  border-color:#fff!important;
}

/* Video page: remove white frame/panel around the video. */
.page-video .coming-soon,
.page-video .video-clean-section,
.page-video .video-clean-section .coming-soon-inner,
.page-video .video-clean-section .video-showcase{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.page-video .video-clean-section .coming-soon-inner{
  padding:0!important;
}
.page-video .video-clean-section video{
  display:block!important;
  width:100%!important;
  background:transparent!important;
}

/* Mobile-specific adjustments requested by the user. */
@media(max-width:767px){
  /* Mobile menu button: icon only, smaller text sizing overall. */
  .menu-btn{
    gap:0!important;
    padding:10px 10px!important;
    min-width:46px!important;
    justify-content:center!important;
    font-size:11px!important;
  }
  .menu-btn span{display:none!important}
  .menu-btn i{font-size:19px!important;margin:0!important}
  .site-header .navlinks.open{
    padding-top:118px!important;
    padding-left:24px!important;
    padding-right:24px!important;
    gap:14px!important;
  }
  .site-header .navlinks.open a:not(.btn){
    font-size:clamp(18px,6vw,24px)!important;
    line-height:1.15!important;
  }

  /* Larger mobile header logo. */
  .brand-logo{
    width:112px!important;
    max-height:70px!important;
    height:auto!important;
  }

  /* Home hero split in two stacked sections on mobile: video on top, blue content below. */
  .hero.hero-video{
    display:grid!important;
    grid-template-rows:minmax(250px,42vh) auto!important;
    align-items:stretch!important;
    min-height:auto!important;
    padding:0!important;
    background:var(--jp-deep-blue)!important;
  }
  .hero.hero-video .hero-bg-video{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:100%!important;
    min-height:250px!important;
    z-index:0!important;
    grid-row:1!important;
    object-fit:cover!important;
  }
  .hero.hero-video .hero-video-overlay{
    display:none!important;
  }
  .hero.hero-video .hero-inner{
    grid-row:2!important;
    width:100%!important;
    background:var(--jp-deep-blue)!important;
    padding-top:28px!important;
    padding-bottom:34px!important;
    position:relative!important;
    z-index:1!important;
  }
  .hero.hero-video .hero-rotating-title,
  .hero.hero-video .hero-rotating-title .hero-title-phrase,
  .hero.hero-video .display,
  .hero.hero-video .display .title-word,
  .hero.hero-video h1{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    text-shadow:none!important;
  }
  .hero.hero-video .hero-bottom{
    grid-template-columns:1fr!important;
    gap:18px!important;
    margin-top:18px!important;
  }

  /* Portfolio carousel background blue on mobile. */
  .home-portfolio-full.portfolio-two-rows{
    background:var(--jp-deep-blue)!important;
  }

  /* Contact page: extra top breathing room for TELL US WHAT YOUR PROPERTY NEEDS. */
  .page-contact .contact-form-panel{
    padding-top:18px!important;
  }
  .page-contact .contact-form-intro{
    padding-top:10px!important;
  }

  /* Footer logo centered and larger on mobile. */
  .footer-brand-col,
  .footer .footer-brand,
  .footer .footer-about,
  .footer .footer-social{
    text-align:center!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .footer .footer-brand{display:flex!important;justify-content:center!important}
  .footer-logo{
    width:188px!important;
    max-width:100%!important;
    height:auto!important;
  }

  /* Built from the deck up: keep it flush vertically on mobile too. */
  .page-home .deck-fullbleed.section{
    padding-top:0!important;
    padding-bottom:0!important;
  }
  .page-home .deck-fullbleed .project-img{
    border-radius:0!important;
  }

  /* More ways section remains balanced on smaller screens. */
  .page-services .more-than-copy{text-align:center!important}
  .page-services .more-than-service-list{grid-template-columns:1fr!important;max-width:none!important}
}

@media(max-width:599px){
  .home-portfolio-full.portfolio-two-rows{
    padding-top:24px!important;
    padding-bottom:28px!important;
  }
  .page-hero{padding-top:150px!important}
  .page-contact .page-hero{padding-top:158px!important}
}

/* ===== Mobile polish requested ===== */
@media(max-width:767px){
  /* Footer logo centered and larger on mobile. */
  .footer .footer-brand-col{
    text-align:center!important;
  }
  .footer .footer-brand{
    display:flex!important;
    width:100%!important;
    justify-content:center!important;
    align-items:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .footer .footer-brand .footer-logo,
  .footer .footer-logo{
    display:block!important;
    width:188px!important;
    max-width:82vw!important;
    height:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Mobile menu: light gray panel when opened. */
  .site-header .navlinks.open{
    background:#ededed!important;
    color:#041D36!important;
  }
  .site-header .navlinks.open a,
  .site-header .navlinks.open a:not(.btn),
  .site-header .navlinks.open a i{
    color:#041D36!important;
    text-shadow:none!important;
  }
  .site-header .navlinks.open .btn{
    color:#fff!important;
    background:#041D36!important;
    border-color:#041D36!important;
  }
  .site-header .navlinks.open .btn i{color:#fff!important}

  /* Center Services content on mobile while preserving the existing interaction. */
  .page-services .services-showcase-copy{
    text-align:center!important;
    align-items:center!important;
  }
  .page-services .services-copy-top{
    justify-content:center!important;
  }
  .page-services .services-showcase-copy .display,
  .page-services .services-showcase-desc{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .page-services .services-showcase-list{
    width:min(100%,520px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:left!important;
  }
  .page-services .services-showcase-link{
    align-self:center!important;
  }
  .page-services .services-showcase-controls{
    justify-content:center!important;
  }

  /* Add breathing room around Home hero content on mobile. */
  .page-home .hero.hero-video .hero-inner{
    width:calc(100% - 28px)!important;
    margin:14px auto 18px!important;
    padding:30px 18px 36px!important;
    border-radius:20px!important;
  }
}

@media(max-width:359px){
  .page-home .hero.hero-video .hero-inner{
    width:calc(100% - 20px)!important;
    margin:10px auto 16px!important;
    padding:26px 14px 30px!important;
  }
}


/* ===== Sep 25 2026 content-safety refinements =====
   Keep the existing design/animations while guaranteeing header/logo clearance. */
@media(min-width:768px){
  .page-home .hero.hero-video{
    align-items:flex-start!important;
    padding-top:230px!important;
  }
  .page-home .hero.hero-video .hero-inner{
    margin-top:0!important;
  }
}
@media(min-width:768px) and (max-width:1180px){
  .page-home .hero.hero-video{padding-top:180px!important;}
}
@media(min-width:1441px){
  .page-home .hero.hero-video{padding-top:245px!important;}
}
.page-video .video-page-actions{
  display:flex;
  justify-content:center;
  padding-top:30px;
}
@media(max-width:767px){
  .page-video .video-page-actions{padding-top:22px;}
}


/* ===== Sep 30 2026 floating controls position ===== */
.floating-actions{left:22px!important;right:auto!important;}
@media(max-width:600px){.floating-actions{left:14px!important;right:auto!important;}}
@media(max-width:767px){.floating-actions{left:10px!important;right:auto!important;}}

/* ===== Oct 6 2026 Vimeo videos ===== */
.page-video .vimeo-video-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin-top:30px;
}
.page-video .vimeo-video-item{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/9;
  border-radius:18px;
  background:#041D36;
  box-shadow:0 22px 56px rgba(4,29,54,.18);
}
.page-video .vimeo-video-item:first-child{
  grid-column:1/-1;
}
.page-video .vimeo-video-item iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
@media(max-width:767px){
  .page-video .vimeo-video-grid{grid-template-columns:1fr;gap:16px;margin-top:18px;}
  .page-video .vimeo-video-item:first-child{grid-column:auto;}
  .page-video .vimeo-video-item{border-radius:12px;}
}
