@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#081D33;--deep:#07131F;--orange:#F04A23;--off:#F4F1EA;--white:#fff;--gray:#73777A;--text:#0b1724;--pad:clamp(24px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;font-family:Manrope,Arial,sans-serif;background:var(--off);color:var(--text);overflow-x:hidden}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}.container{width:min(1480px,100%);margin:auto;padding-inline:var(--pad)}
body.menu-open{overflow:hidden}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:800;text-transform:uppercase}.display{font-size:clamp(46px,6vw,100px);line-height:.9;letter-spacing:-.055em;margin:.25em 0}.copy{font-size:clamp(17px,1.35vw,21px);line-height:1.6;max-width:760px}.btn{display:inline-flex;align-items:center;gap:16px;padding:17px 24px;border:1px solid currentColor;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:.35s}.btn.primary{background:var(--orange);border-color:var(--orange);color:#fff}.btn:hover{transform:translateY(-2px)}.btn span{transition:.3s}.btn:hover span{transform:translateX(5px)}
.site-mark{position:fixed;z-index:100;left:28px;top:24px;color:white;font-weight:800;letter-spacing:-.04em;font-size:20px;mix-blend-mode:difference}.top-actions{position:fixed;z-index:100;top:18px;right:26px;display:flex;gap:10px;align-items:center;color:#fff}.top-actions .phone{font-size:13px;padding:14px 16px;background:rgba(7,19,31,.55);backdrop-filter:blur(10px)}.side-nav{position:fixed;z-index:99;right:28px;top:50%;transform:translateY(-50%);display:grid;gap:13px;color:#fff;text-align:right}.side-nav a{font-size:11px;font-weight:700;letter-spacing:.12em;opacity:.45;position:relative;padding-right:20px;transition:.3s}.side-nav a:after{content:'';position:absolute;right:0;top:50%;height:6px;width:6px;border-radius:50%;background:var(--orange);transform:scale(0);transition:.3s}.side-nav a:hover,.side-nav a.active{opacity:1}.side-nav a.active:after{transform:scale(1)}
.mobile-header,.mobile-menu{display:none}.hero{min-height:100vh;position:relative;color:#fff;display:flex;align-items:end;overflow:hidden;background:#0c1c2c}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,19,31,.82),rgba(7,19,31,.26) 60%,rgba(7,19,31,.45))}.hero-content{position:relative;z-index:2;padding:150px var(--pad) 70px;width:min(1500px,100%);margin:auto}.hero h1{font-size:clamp(66px,9vw,150px);line-height:.78;letter-spacing:-.075em;margin:22px 0 30px;max-width:1050px}.hero .hero-bottom{display:flex;justify-content:space-between;gap:40px;align-items:end;max-width:1150px}.hero .hero-bottom .copy{max-width:650px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.trust-line{margin-top:24px;font-size:13px;letter-spacing:.05em;opacity:.85}
section{position:relative}.intro{padding:140px 0 120px;background:var(--off)}.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:center}.intro-art{position:relative;min-height:620px}.intro-art img{width:86%;height:620px;object-fit:cover;margin-left:auto}.intro-art:after{content:'';position:absolute;width:220px;height:220px;border:26px solid var(--orange);border-radius:50%;left:-30px;bottom:40px;mix-blend-mode:multiply}
.metrics{padding:90px 0 120px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #b9b5ad}.metric{padding:32px 20px 20px 0;border-right:1px solid #b9b5ad}.metric:last-child{border-right:0}.metric strong{display:block;font-size:clamp(52px,6vw,96px);letter-spacing:-.06em}.metric span{font-size:12px;letter-spacing:.14em;font-weight:800}
.horizontal-shell{background:var(--deep);color:#fff;overflow:hidden}.services-track{display:flex;width:500vw}.service-panel{width:100vw;min-height:100vh;flex:0 0 100vw;padding:clamp(90px,9vw,140px) var(--pad);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw;position:relative}.service-panel .num{position:absolute;top:50px;left:var(--pad);font-size:clamp(90px,18vw,300px);line-height:.75;color:rgba(255,255,255,.05);font-weight:800}.service-panel img{width:100%;height:min(72vh,760px);object-fit:cover}.service-panel h3{font-size:clamp(48px,6vw,96px);line-height:.9;letter-spacing:-.055em;margin:18px 0}.service-panel .service-name{color:var(--orange);font-size:12px;font-weight:800;letter-spacing:.14em}.service-panel.circle img{aspect-ratio:1;border-radius:50%;height:auto}.service-panel.reverse .visual{order:2}.service-panel.storm{background:linear-gradient(135deg,#07131F 30%,#172a3c)}.service-panel.storm .visual{transform:rotate(-2deg)}.service-panel:nth-child(4){background:#101a22}.service-panel:nth-child(5){background:#0b2338}.service-progress{position:absolute;z-index:3;left:50%;bottom:25px;transform:translateX(-50%);display:flex;gap:24px;font-size:11px;letter-spacing:.1em}.service-progress span{opacity:.4}.service-progress span.active{opacity:1;color:var(--orange)}
.before-after{padding:130px 0}.transform-grid{display:grid;gap:70px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compare img{width:100%;height:520px;object-fit:cover}.compare-label{position:absolute;background:var(--deep);color:#fff;padding:10px 13px;font-size:11px;font-weight:800;letter-spacing:.1em}.compare .frame{position:relative}.compare .frame:nth-child(2) .compare-label{background:var(--orange)}
.why{background:var(--navy);color:#fff;padding:130px 0}.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.benefit{padding:28px 0;border-bottom:1px solid rgba(255,255,255,.2);display:grid;grid-template-columns:48px 1fr}.benefit b{font-size:13px;color:var(--orange)}.benefit h4{margin:0 0 8px;font-size:24px}.benefit p{margin:0;color:#c8d0d6;line-height:1.6}
.parallax{height:95vh;overflow:hidden;color:#fff;display:flex;align-items:center}.parallax img{position:absolute;inset:-10%;width:120%;height:120%;object-fit:cover}.parallax:after{content:'';position:absolute;inset:0;background:rgba(7,19,31,.5)}.parallax .container{position:relative;z-index:2}.parallax .display{font-size:clamp(62px,8vw,132px);max-width:1050px}
.mission{padding:140px 0}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #bbb7ae}.mission-block{padding:70px 7vw 50px 0}.mission-block+ .mission-block{border-left:1px solid #bbb7ae;padding-left:7vw;padding-right:0}
.reviews{padding:130px 0;background:#fff}.review-stage{max-width:1100px;margin-top:70px}.stars{font-size:28px;letter-spacing:.2em;color:var(--orange)}.review-quote{font-size:clamp(30px,4vw,60px);line-height:1.16;letter-spacing:-.035em;margin:28px 0}.review-meta{display:flex;justify-content:space-between;border-top:1px solid #ddd;padding-top:20px}
.projects{padding:130px 0}.masonry{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;margin-top:60px}.masonry .col{display:grid;gap:22px}.project{position:relative;overflow:hidden;cursor:pointer}.project img{width:100%;height:100%;object-fit:cover;transition:.6s}.project.tall{height:720px}.project.mid{height:470px}.project.small{height:360px}.project-overlay{position:absolute;inset:0;background:linear-gradient(transparent,rgba(7,19,31,.85));color:#fff;display:flex;align-items:end;padding:28px;opacity:0;transition:.4s}.project:hover img{transform:scale(1.04)}.project:hover .project-overlay{opacity:1}
.process{padding:130px 0;background:#fff}.process-wrap{max-width:950px;margin-left:auto}.step{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:32px 0;border-bottom:1px solid #ddd}.step strong{font-size:13px;color:var(--orange)}.step h4{font-size:26px;margin:0 0 8px}.step p{margin:0;color:#656a70}
.area{padding:130px 0;background:var(--off)}.map{margin-top:50px;width:100%;height:520px;border:0;filter:grayscale(1) contrast(.9)}
.storm-cta,.final-cta{min-height:72vh;padding:100px var(--pad);display:flex;align-items:center;color:#fff;background-size:cover;background-position:center}.storm-cta{background-image:linear-gradient(rgba(7,19,31,.75),rgba(7,19,31,.75)),url('https://images.unsplash.com/photo-1522771739844-6a9f6d5f14af?auto=format&fit=crop&w=2000&q=85')}.final-cta{background:var(--deep)}
.footer{background:#030b12;color:#fff;padding:90px var(--pad) 28px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:50px}.footer h4{font-size:14px;letter-spacing:.1em}.footer a,.footer p{color:#bfc7ce;font-size:14px;line-height:1.9}.footer-brand{font-size:34px;font-weight:800;letter-spacing:-.04em}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #26323d;margin-top:70px;padding-top:25px;color:#a9b2ba;font-size:12px}.floating{position:fixed;z-index:120;right:24px;bottom:22px;width:58px;height:58px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:23px;box-shadow:0 8px 28px rgba(0,0,0,.25);animation:pulse 2.4s infinite}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(240,74,35,.35)}50%{box-shadow:0 0 0 15px rgba(240,74,35,0)}}
.page-hero{min-height:68vh;display:flex;align-items:end;color:#fff;background-size:cover;background-position:center;position:relative;padding:150px var(--pad) 65px}.page-hero:after{content:'';position:absolute;inset:0;background:rgba(7,19,31,.62)}.page-hero>*{position:relative;z-index:1}.page-hero h1{font-size:clamp(58px,8vw,126px);line-height:.83;letter-spacing:-.065em;margin:0;max-width:1100px}.content-section{padding:120px 0}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:80px 0;border-bottom:1px solid #c8c4bb}.service-detail:nth-child(even) .service-img{order:2}.service-detail img{width:100%;height:560px;object-fit:cover}.service-detail ul{padding-left:18px;line-height:2}.portfolio-filters{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.filter-btn{border:1px solid #a9aaa8;background:transparent;padding:11px 15px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.filter-btn.active{background:var(--orange);color:white;border-color:var(--orange)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.contact-list{display:grid;gap:18px;margin-top:35px}.contact-list div{border-bottom:1px solid #ccc;padding-bottom:18px}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form .full{grid-column:1/-1}.form input,.form select,.form textarea{width:100%;padding:16px;border:1px solid #b9b9b9;background:transparent;font:inherit}.form textarea{min-height:150px}.coming{min-height:50vh;display:grid;place-items:center;text-align:center}.coming h2{font-size:clamp(60px,10vw,160px);margin:0;letter-spacing:-.06em}
.lightbox{position:fixed;z-index:999;inset:0;background:rgba(3,11,18,.96);display:none;align-items:center;justify-content:center;padding:40px}.lightbox.open{display:flex}.lightbox img{max-height:82vh;max-width:85vw}.lightbox .close{position:absolute;top:24px;right:30px;color:#fff;font-size:34px;cursor:pointer}
@media(max-width:900px){.site-mark,.top-actions,.side-nav{display:none}.mobile-header{display:flex;position:fixed;z-index:150;top:0;left:0;right:0;padding:18px 20px;justify-content:space-between;align-items:center;color:white;background:linear-gradient(rgba(7,19,31,.7),transparent)}.mobile-logo{font-weight:800}.hamb{width:42px;height:42px;border:1px solid rgba(255,255,255,.5);background:rgba(7,19,31,.35);color:white}.mobile-menu{position:fixed;z-index:140;inset:0;background:var(--deep);color:#fff;padding:110px 30px 30px;display:flex;flex-direction:column;gap:18px;transform:translateY(-105%);transition:.5s}.mobile-menu.open{transform:translateY(0)}.mobile-menu a{font-size:clamp(32px,9vw,60px);font-weight:800;line-height:1}.hero-content{padding-top:120px}.hero .hero-bottom{display:block}.intro-grid,.why-grid,.mission-grid,.contact-grid{grid-template-columns:1fr}.intro-art{min-height:460px}.intro-art img{height:460px}.metrics-grid{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.services-track{display:block;width:auto}.service-panel{width:auto;min-height:auto;grid-template-columns:1fr;padding:95px 22px}.service-panel .visual,.service-panel.reverse .visual{order:0}.service-panel img{height:430px}.service-panel.circle img{height:auto}.service-progress{display:none}.compare{grid-template-columns:1fr}.compare img{height:380px}.mission-block+ .mission-block{border-left:0;border-top:1px solid #bbb7ae;padding-left:0}.masonry{grid-template-columns:1fr}.project.tall,.project.mid,.project.small{height:430px}.footer-grid{grid-template-columns:1fr 1fr}.service-detail,.service-detail:nth-child(even){grid-template-columns:1fr}.service-detail:nth-child(even) .service-img{order:0}.service-detail img{height:420px}.form{grid-template-columns:1fr}.form .full{grid-column:auto}}
@media(max-width:560px){:root{--pad:20px}.hero h1{font-size:clamp(58px,19vw,92px)}.display{font-size:clamp(44px,13vw,72px)}.metrics-grid{grid-template-columns:1fr}.metric{border-right:0}.service-panel h3{font-size:clamp(44px,13vw,70px)}.service-panel img{height:330px}.compare img{height:280px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block;line-height:2}.page-hero{min-height:58vh}.page-hero h1{font-size:clamp(48px,15vw,80px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ===== Horizontal storytelling hardening ===== */
.word-mask{display:inline-block;overflow:hidden;vertical-align:top;margin-right:.14em;margin-bottom:-.08em}.word-inner{display:inline-block;will-change:transform,opacity}
.horizontal-shell{position:relative;height:100vh;min-height:720px;overflow:hidden;isolation:isolate}
.services-track{height:100%;will-change:transform}
.service-panel{height:100vh;min-height:720px;overflow:hidden}
.service-panel .visual{will-change:transform;overflow:hidden}
.service-panel .visual img{transform:scale(1.015);transition:filter .45s ease}
.service-panel:not(.is-active) .visual img{filter:saturate(.78) brightness(.88)}
.service-panel.is-active .visual img{filter:saturate(1) brightness(1)}
.horizontal-shell.hero-active .service-progress{opacity:0;visibility:hidden;pointer-events:none}
.service-progress{transition:opacity .3s ease;position:absolute;left:50%;right:auto;bottom:26px;top:auto;transform:translateX(-50%);z-index:12;padding:10px 16px;border:1px solid rgba(255,255,255,.14);background:rgba(7,19,31,.45);backdrop-filter:blur(8px)}
.service-progress span{position:relative;transition:opacity .25s ease,color .25s ease,transform .25s ease}.service-progress span:after{content:'';position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--orange);transition:right .3s ease}.service-progress span.active{transform:translateY(-2px)}.service-progress span.active:after{right:0}
@media(max-width:900px){.horizontal-shell{height:auto;min-height:0;overflow:visible}.services-track{height:auto}.service-panel{height:auto;min-height:auto}.word-mask{margin-right:.11em}}

/* ===== 2026-08-31 reference navigation + horizontal-from-first-slide ===== */
:root{--rail:128px;--content-vw:calc(100vw - var(--rail))}
html,body{background:#07131F}
body{overflow-x:hidden}
body.menu-open{overflow:hidden}
main{margin-left:var(--rail);width:var(--content-vw);background:var(--off)}

/* Fixed left rail inspired by the supplied reference */
.left-rail{position:fixed;z-index:300;inset:0 auto 0 0;width:var(--rail);background:#050505;color:#fff;border-right:1px solid rgba(255,255,255,.08)}
.rail-hamb{position:absolute;top:0;left:0;width:var(--rail);height:112px;border:0;border-bottom:1px solid rgba(255,255,255,.09);background:#050505;color:#fff;cursor:pointer;display:grid;place-content:center;gap:10px}
.hamb span{display:block;width:44px;height:3px;background:currentColor;border-radius:10px;transition:transform .45s cubic-bezier(.76,0,.24,1),width .35s ease}
.hamb span+span{width:44px}
.hamb.is-open span:first-child{transform:translateY(6.5px) rotate(45deg)}
.hamb.is-open span:last-child{transform:translateY(-6.5px) rotate(-45deg)}
.rail-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:104px;color:#fff;text-align:center;text-decoration:none;line-height:.9}
.rail-logo strong{display:block;font-size:17px;letter-spacing:-.055em;font-weight:800}
.rail-logo span{display:block;margin-top:7px;font-size:8px;letter-spacing:.42em;padding-left:.42em;font-weight:700}
.rail-cta{position:absolute;left:18px;right:18px;bottom:28px;min-height:92px;border:1px solid rgba(255,255,255,.7);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:14px;color:#fff;text-decoration:none;transition:background .3s,color .3s,border-color .3s}
.rail-cta span{font-size:9px;letter-spacing:.22em;opacity:.72}.rail-cta strong{font-size:16px;line-height:1;margin-top:4px}.rail-cta i{position:absolute;right:11px;bottom:11px;font-size:10px;color:var(--orange)}
.rail-cta:hover{background:var(--orange);border-color:var(--orange)}.rail-cta:hover i{color:#fff}
.site-mark,.top-actions,.side-nav{display:none!important}

/* Full-screen menu opens from the rail */
.menu-overlay{display:flex!important;position:fixed;z-index:250;left:var(--rail);right:0;top:0;bottom:0;background:#07131F;color:#fff;padding:clamp(70px,8vw,120px) clamp(42px,7vw,120px);transform:translateX(-105%);transition:transform .75s cubic-bezier(.76,0,.24,1);visibility:hidden;pointer-events:none}
.menu-overlay.open{transform:translateX(0);visibility:visible;pointer-events:auto}
.menu-overlay-inner{width:100%;max-width:1300px;margin:auto;display:grid;grid-template-columns:1fr .55fr;grid-template-rows:auto 1fr auto;column-gap:7vw;height:min(760px,88vh)}
.menu-kicker{grid-column:1/-1;color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.18em}
.menu-links{align-self:center;display:grid}.menu-links a{font-size:clamp(42px,5.6vw,92px);font-weight:700;line-height:.91;letter-spacing:-.055em;color:#fff;text-decoration:none;display:flex;align-items:flex-start;gap:18px;padding:5px 0;opacity:.5;transition:opacity .25s,transform .25s}.menu-links a span{font-size:9px;letter-spacing:.12em;color:var(--orange);margin-top:.55em}.menu-links a:hover,.menu-links a.active{opacity:1;transform:translateX(8px)}
.menu-meta{align-self:end;display:grid;gap:12px;font-size:13px;color:rgba(255,255,255,.62)}.menu-meta a{color:#fff}.menu-meta i{color:var(--orange);margin-right:7px}
.mobile-header{display:none}

/* The horizontal story starts at page load */
.horizontal-shell{width:100%;height:100vh;min-height:680px;background:var(--deep);overflow:hidden;position:relative;isolation:isolate}
.services-track{display:flex;width:max-content;height:100%;will-change:transform}
.horizontal-panel{width:var(--content-vw);flex:0 0 var(--content-vw);height:100vh;min-height:680px}
.hero-slide{position:relative;display:flex;align-items:end;padding:0;overflow:hidden;background:#07131F}
.hero-slide .hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.95) contrast(1.02)}
.hero-slide:after{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(4,10,15,.79),rgba(4,10,15,.24) 63%,rgba(4,10,15,.42)),linear-gradient(0deg,rgba(4,10,15,.48),transparent 58%)}
.hero-slide .hero-content{position:relative;z-index:2;width:100%;max-width:none;margin:0;padding:clamp(110px,12vh,160px) clamp(42px,6vw,105px) clamp(58px,7vh,88px)}
.hero-slide h1{max-width:1000px}
.service-panel{width:var(--content-vw);flex:0 0 var(--content-vw);height:100vh;min-height:680px}
.service-progress{left:50%;bottom:24px;white-space:nowrap}
.service-progress span:first-child{font-size:9px;letter-spacing:.16em}

/* The vertical sections resume only after the full horizontal track ends. */
.intro{padding-top:130px}

@media(max-width:900px){
  :root{--rail:0px;--content-vw:100vw}
  main{margin-left:0;width:100%}
  .left-rail{display:none}
  .mobile-header{display:flex;position:fixed;z-index:310;top:0;left:0;right:0;padding:16px 18px;justify-content:space-between;align-items:center;color:#fff;background:linear-gradient(rgba(5,5,5,.78),rgba(5,5,5,0));pointer-events:none}
  .mobile-logo,.mobile-hamb{pointer-events:auto}.mobile-logo{font-weight:800;font-size:14px;letter-spacing:-.04em}.mobile-logo span{font-size:8px;letter-spacing:.23em;margin-left:4px}
  .mobile-hamb{width:58px;height:58px;border:1px solid rgba(255,255,255,.55);background:rgba(5,5,5,.45);display:grid;place-content:center;gap:8px;color:#fff}.mobile-hamb span{width:28px;height:2px}.mobile-hamb span+span{width:28px}
  .menu-overlay{left:0;padding:95px 24px 34px;transform:translateY(-105%)}.menu-overlay.open{transform:translateY(0)}
  .menu-overlay-inner{display:flex;flex-direction:column;height:100%;max-width:none}.menu-kicker{margin-bottom:30px}.menu-links{margin:auto 0}.menu-links a{font-size:clamp(37px,11vw,58px);gap:12px}.menu-meta{margin-top:auto}
  .horizontal-shell{height:auto;min-height:0;overflow:visible}
  .services-track{display:block;width:100%;height:auto;transform:none!important}
  .horizontal-panel,.hero-slide,.service-panel{width:100%;height:auto;min-height:0;flex:none}
  .hero-slide{min-height:100svh}
  .hero-slide .hero-content{padding:120px 22px 50px}
  .service-progress{display:none}
}

/* ===== Footer correction + global icon treatment ===== */
.footer{
  margin-left:var(--rail);
  width:var(--content-vw);
  padding:clamp(72px,8vw,110px) clamp(34px,5vw,82px) 26px;
  overflow:hidden;
}
.footer-grid{
  width:100%;
  max-width:1500px;
  margin:0 auto;
  grid-template-columns:minmax(250px,1.35fr) repeat(3,minmax(160px,1fr));
  gap:clamp(28px,4vw,64px);
  align-items:start;
}
.footer-col{min-width:0}.footer-col h4{display:flex;align-items:center;gap:10px;margin:0 0 24px;color:#fff}.footer-col h4 i{color:var(--orange);width:18px;text-align:center}
.footer-brand{display:inline-block;color:#fff;font-size:clamp(27px,2.5vw,38px);font-weight:800;letter-spacing:-.055em;line-height:.92}.footer-brand span{font-size:.78em;letter-spacing:-.025em}.footer-tagline{margin:18px 0 24px!important;letter-spacing:.09em;font-size:11px!important;color:#fff!important;font-weight:800}
.footer-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.footer-list li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;color:#bfc7ce;font-size:13px;line-height:1.5}.footer-list i{color:var(--orange);margin-top:3px;text-align:center;font-size:12px}.footer-list a{font-size:13px;line-height:1.5;overflow-wrap:anywhere;transition:color .25s,transform .25s}.footer-list a:hover{color:#fff}.footer-links li i{font-size:9px;margin-top:6px}.footer-links li:hover i{transform:translateX(3px)}
.footer-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.footer-social a{width:40px;height:40px;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;color:#fff;border-radius:50%;transition:.3s}.footer-social a:hover{background:var(--orange);border-color:var(--orange);transform:translateY(-3px)}
.footer-bottom{max-width:1500px;margin:64px auto 0;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}.footer-bottom span:nth-child(2){text-align:center}.footer-bottom i{color:var(--orange);margin-right:7px}.footer-bottom a{color:#a9b2ba;font-size:12px}.footer-bottom a:hover{color:#fff}
.page-hero{background-color:#07131F;background-repeat:no-repeat;background-size:cover;background-position:center 42%}.page-hero:after{background:linear-gradient(90deg,rgba(4,10,15,.78),rgba(4,10,15,.32) 65%,rgba(4,10,15,.55))}
.service-detail .service-img{overflow:hidden}.service-detail .service-img img{transition:transform .7s ease;object-position:center}.service-detail:hover .service-img img{transform:scale(1.025)}
@media(max-width:1100px) and (min-width:901px){.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-col:last-child{grid-column:2/4}.footer-bottom{grid-template-columns:1fr 1fr}.footer-bottom span:nth-child(2){text-align:right}.footer-bottom a{grid-column:1/-1}}
@media(max-width:900px){.footer{margin-left:0;width:100%;padding:70px 24px 24px}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{grid-template-columns:1fr;gap:12px}.footer-bottom span:nth-child(2){text-align:left}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}.footer-col:last-child{grid-column:auto}.footer-bottom{margin-top:48px}}


/* ===== 2026-08-31 typography, responsive and homepage refinements ===== */
/* Desktop title scale: major titles never exceed 100px. */
.display{font-size:clamp(46px,6vw,100px);max-width:100%}
.hero h1,.hero-slide h1{font-size:clamp(64px,7.2vw,100px);max-width:1000px}
.page-hero h1{font-size:clamp(56px,6.5vw,100px);max-width:1050px}
.service-panel h3{font-size:clamp(48px,5.7vw,90px)}
.parallax .display{font-size:clamp(54px,6vw,100px);max-width:980px}

/* Mission / Vision intentionally smaller than general section headings. */
.mission-block .display{font-size:clamp(44px,4.5vw,72px);line-height:.94;letter-spacing:-.05em}
.mission-block .copy{max-width:620px}

/* Before / After: stronger roofing imagery presentation. */
.compare .frame{overflow:hidden;background:#0d1720}
.compare img{height:clamp(360px,38vw,560px);object-fit:cover;object-position:center;transition:transform .7s ease}
.compare .frame:hover img{transform:scale(1.025)}
.transform-grid .compare:first-child .frame:first-child img{object-position:center 42%}
.transform-grid .compare:first-child .frame:nth-child(2) img{object-position:center 55%}
.transform-grid .compare:nth-child(2) .frame:first-child img{object-position:center 35%}
.transform-grid .compare:nth-child(2) .frame:nth-child(2) img{object-position:center 55%}

/* Full-bleed parallax band. It intentionally escapes the content column so
   the photograph reaches the right viewport edge while the fixed rail stays left. */
.parallax{width:100vw;margin-left:calc(-1 * var(--rail));min-height:80vh;height:92vh;padding-left:var(--rail);overflow:hidden;background:#07131F}
.parallax img{inset:0;width:100%;height:118%;max-width:none;object-fit:cover;object-position:center;transform-origin:center}
.parallax .container{width:100%;max-width:none;margin:0;padding-left:clamp(42px,6vw,105px);padding-right:clamp(42px,6vw,105px)}

/* Prevent animated word wrappers from creating accidental overflow. */
.display,.page-hero h1,.hero h1,.hero-slide h1,.service-panel h3{overflow-wrap:normal;word-break:normal}
.word-mask{max-width:100%}

@media(max-width:900px){
  /* Mobile type is intentionally much smaller so no heading escapes viewport. */
  .display{font-size:clamp(36px,10.8vw,58px);line-height:.94;letter-spacing:-.045em}
  .hero h1,.hero-slide h1{font-size:clamp(46px,13vw,68px);line-height:.84;letter-spacing:-.06em}
  .page-hero h1{font-size:clamp(42px,11.8vw,64px);line-height:.88}
  .service-panel h3{font-size:clamp(38px,10.5vw,56px);line-height:.92}
  .parallax{width:100%;margin-left:0;padding-left:0;height:78svh;min-height:560px}
  .parallax .container{padding-inline:22px}
  .parallax .display{font-size:clamp(38px,10.5vw,58px);max-width:92%}
  .mission-block .display{font-size:clamp(34px,9.5vw,50px);line-height:.96}
  .copy{font-size:clamp(16px,4.4vw,19px);line-height:1.55}
  .review-quote{font-size:clamp(26px,7.5vw,42px)}
  .benefit h4,.step h4{font-size:clamp(20px,5.8vw,25px)}
  .compare img{height:clamp(260px,72vw,380px)}
  .word-mask{margin-right:.09em;max-width:100%}
}

@media(max-width:560px){
  .display{font-size:clamp(34px,10.2vw,50px)}
  .hero h1,.hero-slide h1{font-size:clamp(44px,12.6vw,62px)}
  .page-hero h1{font-size:clamp(40px,11vw,56px)}
  .service-panel h3{font-size:clamp(36px,10vw,50px)}
  .mission-block .display{font-size:clamp(32px,9vw,44px)}
  .parallax .display{font-size:clamp(36px,9.8vw,50px)}
  .hero-actions{width:100%}.hero-actions .btn{max-width:100%;white-space:normal;text-align:left}
  .footer-brand{max-width:100%}
}


/* ===== 2026-08-31 menu/footer fit refinements ===== */
/* Desktop overlay: smaller editorial navigation so all seven items remain visible. */
.menu-overlay-inner{height:min(720px,90vh)}
.menu-links a{
  font-size:clamp(36px,4.4vw,68px);
  line-height:.94;
  padding:3px 0;
}
.menu-links a span{font-size:8px;margin-top:.62em}

/* Contact metadata must never inherit the large menu-link scale. */
.menu-meta{min-width:0;max-width:100%;overflow:hidden}
.menu-meta a,.menu-meta span,.menu-meta p{
  font-size:13px;
  line-height:1.45;
  overflow-wrap:anywhere;
  word-break:break-word;
  max-width:100%;
}

/* Keep the fixed rail CTA fully inside its outlined box. */
.rail-cta{left:12px;right:12px;padding:12px 10px;min-width:0}
.rail-cta span{font-size:8px;letter-spacing:.16em}
.rail-cta strong{
  font-size:12px;
  letter-spacing:-.025em;
  max-width:100%;
  white-space:nowrap;
}
.rail-cta i{right:8px;bottom:8px;font-size:9px}

/* Privacy link removed: footer bottom now uses two balanced columns. */
.footer-bottom{grid-template-columns:auto 1fr}
.footer-bottom span:nth-child(2){text-align:right}

@media(max-width:1100px) and (min-width:901px){
  .menu-links a{font-size:clamp(34px,4.2vw,54px)}
  .footer-bottom{grid-template-columns:auto 1fr}
  .footer-bottom span:nth-child(2){text-align:right}
}

@media(max-width:900px){
  .menu-overlay{padding:88px 20px 24px}
  .menu-overlay-inner{height:100%;overflow-y:auto;overflow-x:hidden}
  .menu-kicker{font-size:10px;margin-bottom:22px}
  .menu-links{margin:18px 0 28px;gap:0}
  .menu-links a{
    font-size:clamp(28px,8.6vw,40px);
    line-height:1.02;
    letter-spacing:-.045em;
    gap:10px;
    padding:4px 0;
    max-width:100%;
  }
  .menu-links a span{font-size:7px;margin-top:.55em;flex:0 0 auto}
  .menu-meta{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);gap:8px;width:100%}
  .menu-meta a,.menu-meta span,.menu-meta p{
    font-size:clamp(12px,3.6vw,15px)!important;
    line-height:1.4!important;
    font-weight:600;
    letter-spacing:-.015em;
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .footer-bottom{grid-template-columns:1fr}
  .footer-bottom span:nth-child(2){text-align:left}
}

@media(max-width:430px){
  .menu-overlay{padding:82px 18px 20px}
  .menu-links a{font-size:clamp(26px,8.2vw,34px)}
  .menu-meta a,.menu-meta span,.menu-meta p{font-size:12px!important}
  .mobile-logo{font-size:12px}.mobile-logo span{font-size:7px}
}


/* ===== DD Concrete LLC redesign ===== */
:root{--navy:#00023F;--deep:#1D2D4A;--orange:#6C9CB9;--off:#F2F4F5;--white:#fff;--gray:#828F96;--text:#1D2D4A}
html,body{background:#1D2D4A}.left-rail{background:#00023F}.rail-hamb{background:#00023F}.menu-overlay{background:#00023F}.hero-slide{background:#00023F}.hero-slide:after{background:linear-gradient(90deg,rgba(0,2,63,.88),rgba(29,45,74,.35) 64%,rgba(0,2,63,.52)),linear-gradient(0deg,rgba(0,2,63,.52),transparent 58%)}
.service-panel.storm{background:linear-gradient(135deg,#00023F 25%,#1D2D4A)}.service-panel:nth-child(4){background:#182743}.service-panel:nth-child(5){background:#223a56}.why{background:#00023F}.final-cta{background:#1D2D4A}.footer{background:#00023F}.page-hero{background-color:#1D2D4A}.page-hero:after{background:linear-gradient(90deg,rgba(0,2,63,.83),rgba(29,45,74,.35) 65%,rgba(0,2,63,.58))}
.intro-art:after{border-color:#6C9CB9}.btn.primary{background:#6C9CB9;border-color:#6C9CB9}.filter-btn.active{background:#6C9CB9;border-color:#6C9CB9}.service-name,.menu-kicker,.menu-links a span,.menu-meta i,.footer-col h4 i,.footer-list i,.footer-bottom i{color:#6C9CB9!important}.rail-cta i{color:#6C9CB9}.rail-cta:hover,.footer-social a:hover{background:#6C9CB9;border-color:#6C9CB9}.stars{color:#6C9CB9}.service-progress span.active{color:#6C9CB9}
.project-overlay{background:linear-gradient(transparent,rgba(0,2,63,.85));align-items:center;justify-content:center;font-size:28px}.project-overlay i{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#00023F;transform:scale(.85);transition:.35s}.project:hover .project-overlay i{transform:scale(1)}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:54px}.portfolio-card{height:330px;background:#1D2D4A}.portfolio-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.04);transition:transform .6s ease,filter .4s ease}.portfolio-card:hover img{filter:saturate(1) contrast(1.02);transform:scale(1.055)}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:58px}.video-card{background:#00023F;color:#fff;border:1px solid rgba(108,156,185,.35);overflow:hidden}.video-card video{width:100%;aspect-ratio:16/9;background:#111;object-fit:cover}.video-badge{padding:16px 18px;font-size:12px;letter-spacing:.12em;font-weight:800;color:#fff}.video-badge i{color:#6C9CB9;margin-right:10px}
.location-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:50px}.location-card{padding:28px 22px;background:#fff;border-top:4px solid #6C9CB9;min-height:220px}.location-card i{color:#6C9CB9;font-size:24px}.location-card h3{font-size:22px;margin:18px 0 10px}.location-card p{color:#66737d;line-height:1.55;margin:0}
.whatsapp-float{right:24px;bottom:24px;background:#25D366}.back-to-top{position:fixed;z-index:119;right:31px;bottom:94px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#00023F;color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:.3s;box-shadow:0 8px 22px rgba(0,0,0,.2)}.back-to-top.show{opacity:1;visibility:visible;transform:none}.back-to-top:hover{background:#6C9CB9}
.contact-list i{color:#6C9CB9;width:24px}.map{filter:grayscale(.75) contrast(.95)}
@media(max-width:1100px){.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portfolio-card{height:260px}.video-grid{grid-template-columns:1fr}.location-grid{grid-template-columns:1fr 1fr}.service-name i{margin-right:7px}}
@media(max-width:560px){.portfolio-card{height:210px}.location-grid{grid-template-columns:1fr}.location-card{min-height:0}.back-to-top{right:31px;bottom:92px}}

/* === DD Concrete visual refinement - 2026-09-09 === */
:root{
  --navy:#00023F;
  --deep:#1D2D4A;
  --steel:#6C9CB9;
  --gray:#828F96;
  --off:#F4F5F5;
  --light-header:#E5E7E8;
  --orange:#6C9CB9;
}
body{font-weight:400}
strong,b,.eyebrow,.btn,.menu-links a,.footer h4{font-weight:800}
.copy,.footer p,.footer a,.location-card p{font-weight:400}

/* light-gray header / rail */
.left-rail{background:var(--light-header);color:var(--navy);border-right:1px solid rgba(0,2,63,.12)}
.rail-hamb{background:transparent;color:var(--navy);border-color:rgba(0,2,63,.25)}
.rail-hamb span{background:var(--navy)!important}
.rail-logo{width:200px;max-width:200px;color:var(--navy)}
.rail-logo img{width:200px;height:auto;display:block;max-width:none}
.rail-cta{background:var(--navy)!important;color:#fff!important}
.rail-cta:hover{background:var(--steel)!important;color:var(--navy)!important}
.mobile-header{background:var(--light-header)!important;color:var(--navy)!important;box-shadow:0 8px 28px rgba(0,2,63,.08)}
.mobile-header .mobile-logo img{width:200px;max-width:52vw;height:auto}
.mobile-header .hamb{border-color:rgba(0,2,63,.25);background:rgba(255,255,255,.4);color:var(--navy)}
.mobile-header .hamb span{background:var(--navy)!important}
.menu-kicker img{width:200px;max-width:55vw;height:auto}

/* Typography: bold/regular/italic + two-color accents */
.word-inner{font-weight:800}
.hero h1 .word-mask:last-child .word-inner,
.page-hero h1 .word-mask:last-child .word-inner,
.display .word-mask:last-child .word-inner{color:var(--steel);font-style:italic;font-weight:600}
.hero h1 .word-mask:nth-last-child(2) .word-inner{color:#fff;font-weight:400}
.accent-title em{font-style:italic;color:var(--steel);font-weight:500}
.accent-title span{color:var(--navy);font-weight:800}
.mission-block h3{font-size:clamp(30px,3vw,50px);line-height:1;letter-spacing:-.04em;margin:16px 0 14px}

/* Uiverse-inspired industrial CTA: sliding steel plate + directional icon */
.btn{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(0,2,63,.3);background:transparent;color:inherit;box-shadow:inset 0 0 0 0 var(--steel);transition:transform .28s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease}
.btn::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--steel);transform:translateX(-102%);transition:transform .38s cubic-bezier(.22,.9,.24,1)}
.btn:hover{transform:translateY(-3px);color:#fff;border-color:var(--steel);box-shadow:0 12px 28px rgba(0,2,63,.18)}
.btn:hover::before{transform:translateX(0)}
.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.primary::before{background:var(--steel)}
.btn i{font-size:.95em;transition:transform .3s ease}.btn:hover i{transform:translateX(4px)}

/* Link hover treatment */
a:not(.btn):not(.floating):not(.footer-social a):not(.rail-logo):not(.mobile-logo){transition:color .25s ease,opacity .25s ease}
.footer a:hover,.menu-meta a:hover,.trust-line a:hover,.contact-list a:hover{color:var(--steel)}
.menu-links a:hover{color:var(--steel)}
.menu-links a i{font-size:.42em;width:1.35em;text-align:center;color:var(--steel);opacity:.9}
.footer-list i{color:var(--steel)}

/* hero video */
.hero video.hero-media{width:100%;height:100%;object-fit:cover}

/* unique service image geometry on home */
.service-panel .visual{position:relative;isolation:isolate}
.service-panel .visual::before{content:"";position:absolute;z-index:-1;inset:18px -18px -18px 18px;border:1px solid rgba(108,156,185,.65)}
.service-panel:nth-of-type(2) .visual img{clip-path:polygon(0 0,93% 0,100% 12%,100% 100%,0 100%)}
.service-panel:nth-of-type(3) .visual img{clip-path:polygon(8% 0,100% 0,100% 92%,92% 100%,0 100%,0 8%)}
.service-panel:nth-of-type(4) .visual img{clip-path:polygon(0 0,100% 7%,96% 100%,4% 94%)}
.service-panel:nth-of-type(5) .visual img{clip-path:polygon(0 8%,8% 0,100% 0,100% 100%,0 92%)}
.service-panel:nth-of-type(6) .visual img{clip-path:polygon(0 0,95% 0,100% 50%,95% 100%,0 100%,5% 50%)}

/* mission + vision */
.home-mission,.mission{background:#f4f5f5}
.mission-head{max-width:1050px;margin-bottom:48px}
.mission-grid{border-top:1px solid rgba(0,2,63,.2)}
.mission-block{position:relative}
.mission-icon{width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(0,2,63,.18);background:#fff;color:var(--steel);font-size:22px;margin-bottom:22px}

/* diagonal service marquee */
.service-marquee{position:relative;z-index:3;background:transparent;padding:58px 0 72px;overflow:hidden}
.service-marquee::before{content:"";position:absolute;left:-8%;right:-8%;top:50%;height:94px;background:var(--navy);transform:translateY(-50%) rotate(-2deg);box-shadow:0 20px 48px rgba(0,2,63,.24);z-index:-1}
.service-marquee-track{display:flex;align-items:center;gap:32px;width:max-content;white-space:nowrap;color:#fff;font-size:clamp(28px,4.4vw,74px);font-weight:800;letter-spacing:-.045em;animation:ddMarquee 24s linear infinite;transform:rotate(-2deg)}
.service-marquee-track span:nth-of-type(even){color:var(--steel);font-style:italic;font-weight:500}
.service-marquee-track i{font-size:.22em;color:var(--steel)}
@keyframes ddMarquee{to{transform:translateX(-45%) rotate(-2deg)}}

/* larger portfolio masonry */
.portfolio-masonry{display:block!important;column-count:3;column-gap:22px;margin-top:60px}
.portfolio-masonry .masonry-item{display:block;width:100%;height:auto!important;break-inside:avoid;margin:0 0 22px;position:relative;overflow:hidden;background:var(--deep);cursor:pointer}
.portfolio-masonry .masonry-item img{width:100%;height:auto;min-height:360px;max-height:720px;object-fit:cover;display:block;filter:saturate(.78) contrast(1.04);transition:transform .55s ease,filter .4s ease}
.portfolio-masonry .masonry-0 img,.portfolio-masonry .masonry-3 img{aspect-ratio:4/5}
.portfolio-masonry .masonry-1 img{aspect-ratio:1/1}
.portfolio-masonry .masonry-2 img,.portfolio-masonry .masonry-4 img{aspect-ratio:5/4}
.portfolio-masonry .masonry-item:hover img{transform:scale(1.045);filter:saturate(1) contrast(1.02)}
.portfolio-masonry .project-overlay{align-items:center;justify-content:center;background:rgba(0,2,63,.48);font-size:30px;padding:0}

/* vertical, unlabeled videos */
.video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.video-card.video-vertical{background:transparent;border:0;overflow:visible}
.video-card.video-vertical video{width:100%;aspect-ratio:9/16;height:auto;max-height:760px;object-fit:cover;background:#000;border-radius:2px;box-shadow:0 18px 45px rgba(0,2,63,.16)}

/* full color maps */
.map{filter:none!important}

/* banner consistency */
.page-hero{background-position:center;background-size:cover}
.page-hero:after{background:linear-gradient(90deg,rgba(0,2,63,.84),rgba(29,45,74,.4) 62%,rgba(0,2,63,.55))}

/* lead form */
.lead-form-wrap{min-height:681px;background:#fff;border:1px solid rgba(0,2,63,.12);box-shadow:0 20px 50px rgba(0,2,63,.08)}
.lead-form-wrap iframe{display:block;width:100%;height:681px}

/* entrance feel for buttons not handled directly by old reveal hooks */
.btn{animation:ddButtonIn .65s cubic-bezier(.2,.85,.25,1) both}
@keyframes ddButtonIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* mobile service slideshow controls */
.mobile-service-controls{display:none}

@media(max-width:1100px){
  .portfolio-masonry{column-count:2}
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  .rail-logo{width:200px}
  .menu-overlay{background:var(--navy)}
  .menu-kicker{display:block!important;margin-bottom:22px}
  .menu-kicker img{width:190px;max-width:62vw}

  /* Home services are button-controlled on mobile */
  .horizontal-shell{padding-bottom:90px}
  .services-track{display:block!important;width:auto!important}
  .service-panel{display:none!important;min-height:auto;padding:68px 22px 36px}
  .service-panel.mobile-service-active{display:grid!important}
  .service-panel .num{top:24px}
  .service-panel .visual::before{inset:12px -10px -10px 10px}
  .service-panel .visual img{clip-path:none!important;height:420px}
  .mobile-service-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;z-index:8;padding:0 22px;color:#fff}
  .mobile-service-controls button{border:1px solid rgba(255,255,255,.32);background:transparent;color:#fff;padding:14px 18px;display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;font:700 11px/1 Manrope,sans-serif;letter-spacing:.12em;cursor:pointer;transition:.3s}
  .mobile-service-controls button:hover{background:var(--steel);border-color:var(--steel)}
  .service-counter{display:flex;align-items:baseline;gap:6px}.service-counter strong{font-size:28px}.service-counter span{opacity:.55;font-size:12px}

  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .portfolio-masonry{column-count:2;column-gap:12px}
  .portfolio-masonry .masonry-item{margin-bottom:12px}
  .portfolio-masonry .masonry-item img{min-height:280px}

  .footer{padding-top:64px}
  .footer-grid{grid-template-columns:1fr;text-align:center!important}
  .footer-col{display:flex;flex-direction:column;align-items:center;text-align:center}
  .footer-brand img{width:250px;max-width:78vw;margin:0 auto 18px}
  .footer-list{padding-left:0;list-style:none}
  .footer-list li{justify-content:center!important;text-align:center}
  .footer-social{justify-content:center}
  .footer-bottom{display:flex!important;flex-direction:column;align-items:center;text-align:center!important}
  .footer-bottom span:nth-child(2){text-align:center!important}

  .metrics-grid{justify-items:center;text-align:center}
  .metric{width:100%;padding-right:0!important;border-right:0!important}
  .metric strong,.metric span{display:block;text-align:center}
}

@media(max-width:560px){
  .mobile-header .mobile-logo img{width:165px;max-width:58vw}
  .menu-kicker img{width:170px}
  .service-panel .visual img{height:320px}
  .service-panel h3{font-size:clamp(38px,11.4vw,56px)}
  .portfolio-masonry{column-count:1}
  .portfolio-masonry .masonry-item img{min-height:0;max-height:none}
  .video-grid{grid-template-columns:1fr}
  .video-card.video-vertical video{max-height:none}
  .service-marquee{padding:42px 0 54px}.service-marquee::before{height:74px}
  .service-marquee-track{font-size:32px;gap:22px}
}
@media(min-width:901px){:root{--rail:200px;--content-vw:calc(100vw - var(--rail))}.rail-hamb{width:200px}.left-rail{width:200px}.menu-overlay{left:200px}.rail-logo{width:200px}.rail-logo img{width:200px}}

/* === DD Concrete refinement patch - 2026-09-09 second pass === */
/* Ensure horizontal service track fits hero + 5 services fully */
.home-page .services-track{width:600vw!important}

/* Buttons: single icon only */
.btn{gap:12px}
.btn span{display:none!important}

/* Header logo spacing without resizing */
.rail-logo{display:block;margin:8px auto 0!important;padding:0!important}
.mobile-logo{display:block;margin-left:8px}

/* Mobile header transparent and above hero */
@media(max-width:900px){
  .mobile-header{background:transparent!important;box-shadow:none!important;position:absolute!important;top:0;left:0;right:0}
  .mobile-header .hamb{background:rgba(0,2,63,.18)!important;border-color:rgba(255,255,255,.55)!important;color:#fff!important;backdrop-filter:blur(6px)}
  .mobile-header .hamb span{background:#fff!important}
  .mobile-header .mobile-logo img{filter:none}
}

/* Remove logo from opened menu */
.menu-kicker{display:none!important}

/* Slightly larger hero title */
.hero h1{font-size:clamp(78px,10vw,168px)!important;max-width:1180px}

/* All home service images: same structure/position */
.service-panel .visual{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center}
.service-panel .visual::before{content:"";position:absolute;z-index:-1;inset:20px -18px -18px 18px;border:1px solid rgba(108,156,185,.58)}
.service-panel .visual img,
.service-panel:nth-of-type(2) .visual img,
.service-panel:nth-of-type(3) .visual img,
.service-panel:nth-of-type(4) .visual img,
.service-panel:nth-of-type(5) .visual img,
.service-panel:nth-of-type(6) .visual img{
  width:100%;height:min(74vh,760px);object-fit:cover;object-position:center;clip-path:polygon(2% 0,100% 0,100% 94%,0 100%,0 6%)!important;
}
.service-panel .visual{transform:none!important}

/* Intro section: shorter title + larger image */
.intro{padding:132px 0 100px}
.intro-grid{grid-template-columns:1fr .92fr;gap:5vw}
.intro-art{min-height:720px}
.intro-art img{width:100%!important;height:720px!important;object-fit:cover;object-position:center}
.intro-art:after{width:260px;height:260px;left:-42px;bottom:36px}

/* Diagonal services banner: keep text fully inside colored background */
.service-marquee{padding:34px 0 44px!important;overflow:hidden}
.service-marquee::before{display:none!important}
.service-marquee-track{
  display:inline-flex!important;align-items:center;gap:28px;white-space:nowrap;
  background:var(--navy);color:#fff;padding:18px 34px;line-height:1;
  transform:rotate(-2deg) translateX(-4%);
  box-shadow:0 16px 44px rgba(0,2,63,.22)
}
.service-marquee-track span{display:inline-block;line-height:.95}
@keyframes ddMarquee{to{transform:rotate(-2deg) translateX(-49%)}}

/* Why section remove extra lower space */
.why{padding:110px 0 86px!important;margin-bottom:0!important}
.parallax{margin-top:0!important}

/* Service area section uses video background */
.parallax{height:88vh;min-height:680px;overflow:hidden;position:relative}
.parallax img{display:none!important}
.parallax .parallax-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.parallax:after{background:linear-gradient(90deg,rgba(0,2,63,.78),rgba(0,2,63,.28) 60%,rgba(0,2,63,.56))!important}
.parallax .display{max-width:1100px}

/* Featured work images larger masonry on home */
.projects{padding:122px 0}
.projects .masonry{grid-template-columns:1fr 1fr!important;gap:24px;margin-top:50px}
.projects .masonry .col{gap:24px}
.projects .project.tall{height:820px}
.projects .project.mid{height:560px}
.projects .project.small{height:430px}
.projects .project img{filter:saturate(.8) contrast(1.03)}

/* Final CTA parallax background */
.final-cta.parallax-cta{
  min-height:78vh!important;
  background-image:linear-gradient(rgba(0,2,63,.74),rgba(29,45,74,.52)),url('https://storage.googleapis.com/msgsndr/Z7QOKxtZ9afghmzxzhgq/media/684aec879927423d3f1bf49b.webp')!important;
  background-size:cover!important;background-position:center!important;background-attachment:fixed;
}

/* Footer logo size */
.footer-brand img{width:200px!important;max-width:200px!important;height:auto}

/* Buttons/links hover */
.btn:hover{border-color:var(--steel)}
a:hover{color:var(--steel)}

/* Mobile refinements */
@media(max-width:900px){
  .services-track{width:auto!important}
  .service-panel{padding:58px 22px 30px!important}
  .service-panel .visual img{height:360px!important}
  .mobile-service-controls{padding:0 22px 18px}
  .intro-art{min-height:520px}
  .intro-art img{height:520px!important}
  .metrics-grid{justify-items:center;text-align:center}
  .metric{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
  .footer-grid,.footer-col,.footer-bottom{text-align:center!important}
  .projects .masonry{grid-template-columns:1fr!important}
  .projects .project.tall,.projects .project.mid,.projects .project.small{height:420px!important}
  .final-cta.parallax-cta{background-attachment:scroll}
}
@media(max-width:560px){
  .hero h1{font-size:clamp(64px,16vw,92px)!important}
  .intro-art img{height:420px!important}
}

/* === DD Concrete refinement patch - 2026-09-09 third pass === */

/* Home service panels: full width, edge-to-edge image, number behind content */
.home-page .horizontal-shell{overflow:hidden;background:var(--deep)}
.home-page .service-panel{
  width:100vw;min-height:100vh;padding:0!important;gap:0!important;
  grid-template-columns:minmax(54%,1.2fr) minmax(46%,.8fr);
  align-items:stretch!important;background:var(--deep);position:relative;overflow:hidden
}
.home-page .service-panel.reverse{grid-template-columns:minmax(46%,.8fr) minmax(54%,1.2fr)}
.home-page .service-panel .visual,
.home-page .service-panel.reverse .visual{order:0;min-height:100vh}
.home-page .service-panel .visual img,
.home-page .service-panel.reverse .visual img{
  width:100%;height:100%;min-height:100vh;object-fit:cover;object-position:center;
  clip-path:none!important;border-radius:0!important
}
.home-page .service-panel .visual::before{display:none!important}
.home-page .service-panel > [data-reveal]{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,5.5vw,110px);position:relative;z-index:2}
.home-page .service-panel .num{
  top:20px;left:auto;right:clamp(28px,4vw,70px);z-index:0;pointer-events:none;
  font-size:clamp(160px,22vw,340px);line-height:.78;color:rgba(255,255,255,.07)
}
.home-page .service-panel.reverse .num{left:clamp(28px,4vw,70px);right:auto}
.home-page .service-panel .service-name,
.home-page .service-panel h3,
.home-page .service-panel .copy,
.home-page .service-panel .btn{position:relative;z-index:2}

/* Intro section with purple details */
.intro-purple{position:relative;overflow:hidden}
.intro-purple::before,
.intro-purple::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.intro-purple::before{width:340px;height:340px;right:-80px;top:60px;background:radial-gradient(circle,rgba(135,98,255,.20),rgba(135,98,255,0) 68%)}
.intro-purple::after{width:240px;height:240px;left:-60px;bottom:40px;background:radial-gradient(circle,rgba(142,102,255,.14),rgba(142,102,255,0) 70%)}
.intro-purple .container{position:relative;z-index:1}
.intro-purple .eyebrow{color:var(--steel)}

/* Wider diagonal banner */
.service-marquee{padding:30px 0 52px!important}
.service-marquee-track{min-width:140%;padding:20px 56px!important;justify-content:flex-start}

/* FAQ section */
.faq-home{padding:120px 0;background:#fff}
.faq-list{margin-top:48px;display:grid;gap:16px}
.faq-item{background:#f5f7fa;border:1px solid rgba(0,2,63,.10);padding:0 24px;transition:.3s}
.faq-item[open]{background:#fff;box-shadow:0 14px 36px rgba(0,2,63,.08)}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 0;cursor:pointer;font-weight:800;font-size:18px;color:var(--navy)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item p{margin:0 0 24px;color:#435061;line-height:1.75;max-width:900px}
.faq-item i{color:var(--steel);transition:transform .25s ease}
.faq-item[open] i{transform:rotate(45deg)}

/* Service scroll stack in Services tab */
.services-page .content-section{overflow:hidden}
.services-page .service-scroll-stack{position:relative;margin-top:60px}
.services-page .service-detail{position:sticky;top:0;min-height:100vh;background:var(--off);margin:0;padding:0;border-bottom:0;display:grid;grid-template-columns:1.02fr .98fr;align-items:stretch;overflow:hidden}
.services-page .service-detail:nth-child(even){grid-template-columns:.98fr 1.02fr}
.services-page .service-detail .service-img,
.services-page .service-detail:nth-child(even) .service-img{order:0}
.services-page .service-detail img{height:100%;min-height:100vh;object-fit:cover}
.services-page .service-detail > div:last-child{display:flex;flex-direction:column;justify-content:center;padding:clamp(44px,5vw,88px);position:relative;z-index:2}
.services-page .service-detail::before{content:attr(data-num);position:absolute;right:clamp(28px,4vw,72px);top:18px;font-size:clamp(180px,22vw,320px);line-height:.78;font-weight:800;color:rgba(0,2,63,.06);z-index:0}
.services-page .service-detail:nth-child(even)::before{left:clamp(28px,4vw,72px);right:auto}
.services-page .service-detail .display{font-size:clamp(44px,5vw,76px)}

/* videos grid, centered last row */
.videos-page .video-grid.center-last-two{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}
.videos-page .video-grid.center-last-two .video-card{grid-column:span 2}
.videos-page .video-grid.center-last-two .video-card:nth-child(7){grid-column:2 / span 2}
.videos-page .video-grid.center-last-two .video-card:nth-child(8){grid-column:4 / span 2}

/* Contact facts block */
.contact-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}
.contact-fact{display:flex;align-items:flex-start;gap:14px;padding:18px;background:#f5f7fa;border:1px solid rgba(0,2,63,.08)}
.contact-fact i{font-size:20px;color:var(--steel);margin-top:2px}
.contact-fact strong{display:block;font-size:15px;color:var(--navy)}
.contact-fact span{display:block;font-size:13px;color:#566273;line-height:1.55}

/* Home projects mobile: 2x2 layout */
@media(max-width:900px){
  .home-page .projects .masonry{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .home-page .projects .masonry .col{display:contents!important}
  .home-page .projects .project{height:260px!important}

  .home-page .intro-grid{grid-template-columns:1fr!important}
  .home-page .intro-grid > [data-reveal]:first-child{order:2}
  .home-page .intro-grid .intro-art{order:1;min-height:0}
  .home-page .intro-grid .intro-art img{height:420px!important}

  .home-page .service-panel{grid-template-columns:1fr!important;min-height:auto!important}
  .home-page .service-panel .visual{min-height:auto!important}
  .home-page .service-panel .visual img{height:420px!important;min-height:0!important}
  .home-page .service-panel .num{right:18px!important;left:auto!important;top:12px!important;font-size:150px!important}
  .home-page .service-panel.reverse .num{left:18px!important;right:auto!important}
  .service-marquee-track{min-width:185%;padding:18px 40px!important}

  .videos-page .video-grid.center-last-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .videos-page .video-grid.center-last-two .video-card,
  .videos-page .video-grid.center-last-two .video-card:nth-child(7),
  .videos-page .video-grid.center-last-two .video-card:nth-child(8){grid-column:auto}

  .portfolio-page .portfolio-masonry{column-count:2!important;column-gap:12px!important}
  .portfolio-page .portfolio-masonry .masonry-item{margin-bottom:12px!important}

  .services-page .service-detail,
  .services-page .service-detail:nth-child(even){position:relative;top:auto;min-height:auto;grid-template-columns:1fr!important}
  .services-page .service-detail::before{font-size:120px;right:16px;top:6px}
  .services-page .service-detail:nth-child(even)::before{left:16px;right:auto}
  .services-page .service-detail img{min-height:0;height:380px}
  .contact-facts-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .home-page .projects .masonry{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-page .projects .project{height:180px!important}
  .portfolio-page .portfolio-masonry{column-count:2!important}
  .portfolio-page .portfolio-masonry .masonry-item img{aspect-ratio:1/1!important;min-height:150px!important;max-height:unset!important}
  .videos-page .video-grid.center-last-two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .videos-page .video-card.video-vertical video{aspect-ratio:9/16;width:100%;max-height:none}
  .home-page .intro-grid .intro-art img{height:320px!important}
}

/* ===== 2026-09-09 final requested refinements ===== */
.home-page .services-track{align-items:stretch}
.home-page .service-panel,
.home-page .service-panel.reverse{
  grid-template-columns:minmax(54%,1.08fr) minmax(46%,.92fr)!important;
  gap:0!important;
  padding:0!important;
  align-items:stretch!important;
}
.home-page .service-panel .visual,
.home-page .service-panel.reverse .visual{
  min-height:100vh!important;
  height:100vh!important;
  overflow:hidden;
}
.home-page .service-panel .visual img,
.home-page .service-panel.reverse .visual img{
  width:100%!important;
  height:100vh!important;
  min-height:100vh!important;
  object-fit:cover!important;
}
.home-page .service-panel > [data-reveal]{
  min-height:100vh;
  padding:clamp(52px,5.6vw,112px) clamp(34px,4.5vw,90px)!important;
  background:#222;
  background:
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0) 35%),
    linear-gradient(135deg,#162243 0%,#1d294e 52%,#121d39 100%);
  justify-content:center;
  overflow:hidden;
}
.home-page .service-panel > [data-reveal]::before{
  content:"";
  position:absolute;
  inset:22px;
  border:1px solid rgba(108,156,185,.14);
  pointer-events:none;
}
.home-page .service-panel .num{
  top:18px!important;
  right:clamp(24px,4.2vw,62px)!important;
  left:auto!important;
  z-index:1!important;
  color:rgba(255,255,255,.08)!important;
  line-height:.82;
}
.home-page .service-panel.reverse .num{
  right:clamp(24px,4.2vw,62px)!important;
  left:auto!important;
}
.home-page .service-panel .service-name,
.home-page .service-panel h3,
.home-page .service-panel .copy,
.home-page .service-panel .btn{position:relative;z-index:2}
.home-page .service-panel .copy{max-width:640px}
.home-page .service-panel .btn{margin-top:10px}
.home-page .service-panel:nth-of-type(6) > [data-reveal]{padding-right:clamp(34px,4.2vw,76px)!important}

/* Purple detail treatment for home intro */
.home-page .intro-purple{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 11% 14%, rgba(78,58,130,.22) 0 110px, transparent 112px),
    radial-gradient(circle at 88% 18%, rgba(48,34,92,.16) 0 95px, transparent 98px),
    linear-gradient(180deg, rgba(234,229,246,.55), rgba(244,241,234,1) 52%);
}
.home-page .intro-purple::before,
.home-page .intro-purple::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.home-page .intro-purple::before{
  width:440px;height:440px;right:-110px;top:34px;border-radius:50%;
  border:1px solid rgba(71,53,120,.18);
  box-shadow:0 0 0 38px rgba(71,53,120,.05),0 0 0 76px rgba(71,53,120,.03);
}
.home-page .intro-purple::after{
  inset:0;
  background-image:
    linear-gradient(rgba(71,53,120,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(71,53,120,.06) 1px, transparent 1px);
  background-size:34px 34px;
  opacity:.22;
  mask-image:linear-gradient(120deg, transparent 0 14%, rgba(0,0,0,.9) 34% 70%, transparent 92%);
}
.home-page .intro-purple .container{position:relative;z-index:1}
.home-page .intro-purple .intro-art::before{
  content:"";
  position:absolute;
  left:12px;top:36px;width:145px;height:145px;
  border-radius:28px 0 28px 0;
  background:linear-gradient(135deg, rgba(61,41,108,.9), rgba(104,74,178,.28));
  filter:blur(1px);
}
.home-page .intro-purple .eyebrow{color:#4d3a85}

/* Home contact information banner */
.home-contact-band{
  background:linear-gradient(135deg,#3f3169 0%,#564182 48%,#2d2349 100%);
  color:#fff;
  padding:64px 0;
  overflow:hidden;
}
.home-contact-band::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.12);
  pointer-events:none;
}
.home-contact-band .band-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}
.home-contact-band .display{font-size:clamp(40px,5vw,78px);margin-bottom:14px}
.home-contact-band .copy{color:rgba(255,255,255,.82);max-width:700px}
.home-contact-band .band-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home-contact-band .band-card{display:flex;gap:14px;align-items:flex-start;padding:20px 18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);backdrop-filter:blur(6px)}
.home-contact-band .band-card i{color:#c9b8ff;font-size:20px;margin-top:3px}
.home-contact-band .band-card strong{display:block;font-size:15px;line-height:1.35}
.home-contact-band .band-card span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:6px}

/* Wider home diagonal banner */
.service-marquee{padding:42px 0 58px!important}
.service-marquee::before{
  left:-18%!important;
  right:-18%!important;
  height:118px!important;
  display:block!important;
  transform:translateY(-50%) rotate(-1.9deg)!important;
}
.service-marquee-track{
  min-width:230%!important;
  padding:20px 64px!important;
  font-size:clamp(28px,4vw,70px)!important;
  animation-duration:22s!important;
}

/* About section background parallax */
.about-page .about-why-parallax{
  position:relative;
  overflow:hidden;
  background:url('https://storage.googleapis.com/msgsndr/Z7QOKxtZ9afghmzxzhgq/media/684aec879927423d3f1bf49b.webp') center/cover fixed!important;
}
.about-page .about-why-parallax::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,2,63,.84), rgba(0,2,63,.5) 58%, rgba(0,2,63,.72));
}
.about-page .about-why-parallax .container{position:relative;z-index:1}
.about-page .about-why-parallax .benefit{border-bottom-color:rgba(255,255,255,.18)}
.about-page .about-why-parallax .benefit p{color:rgba(255,255,255,.76)}

/* Services tab scroll flow */
.services-page .service-scroll-stack{margin-top:52px;display:grid;gap:14vh}
.services-page .service-detail{
  position:sticky;
  top:0;
  min-height:100vh;
  padding:clamp(44px,6vw,78px);
  background:linear-gradient(145deg, #f7f3ea 0%, #efeae0 100%);
  border:1px solid rgba(0,2,63,.08);
  box-shadow:0 24px 56px rgba(0,2,63,.08);
  overflow:hidden;
}
.services-page .service-detail::before{
  content:attr(data-num);
  position:absolute;
  right:clamp(18px,3vw,40px);
  top:12px;
  font-size:clamp(82px,14vw,220px);
  line-height:.82;
  font-weight:800;
  color:rgba(0,2,63,.06);
  pointer-events:none;
}
.services-page .service-detail.is-current{box-shadow:0 28px 64px rgba(0,2,63,.12)}
.services-page .service-detail .service-img{overflow:hidden}
.services-page .service-detail .service-img img{height:min(76vh,720px);width:100%;object-fit:cover}
.services-page .service-detail h2.display{max-width:12ch}
.services-page .service-detail:nth-child(even){background:linear-gradient(145deg,#ece8df 0%, #f6f2ea 100%)}
.services-page .service-detail:last-child{margin-bottom:0}

/* Contact facts separate section */
.contact-page .content-section{padding-bottom:72px}
.contact-facts-section{padding:0 0 34px;background:var(--off)}
.contact-facts-head{max-width:880px;margin-bottom:34px}
.contact-facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.contact-fact{display:flex;gap:14px;align-items:flex-start;padding:22px 18px;background:#fff;border:1px solid rgba(0,2,63,.09);box-shadow:0 16px 40px rgba(0,2,63,.05)}
.contact-fact i{color:#564182;font-size:20px;margin-top:2px}
.contact-fact strong{display:block;font-size:15px;line-height:1.35}
.contact-fact span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#5b6174;margin-top:6px}
.contact-map-section{padding:0 0 120px}
.contact-map-wrap .map{margin-top:0}

/* Mobile ordering and 2-up layouts */
@media(max-width:900px){
  .hero-slide:after,
  .page-hero:after,
  .parallax:after{
    background:linear-gradient(0deg, rgba(0,2,63,.84) 0%, rgba(0,2,63,.52) 42%, rgba(0,2,63,.12) 100%)!important;
  }
  .final-cta.parallax-cta{
    background-image:linear-gradient(0deg, rgba(0,2,63,.86), rgba(0,2,63,.48) 45%, rgba(0,2,63,.12) 100%),url('https://storage.googleapis.com/msgsndr/Z7QOKxtZ9afghmzxzhgq/media/684aec879927423d3f1bf49b.webp')!important;
    background-position:center!important;
  }
  .about-page .intro-grid,
  .home-page .intro-grid{grid-template-columns:1fr!important}
  .about-page .intro-grid > div:first-child,
  .home-page .intro-grid > div:first-child{order:2}
  .about-page .intro-grid .intro-art,
  .home-page .intro-grid .intro-art{order:1;min-height:0}
  .about-page .intro-grid .intro-art img,
  .home-page .intro-grid .intro-art img{height:420px!important}
  .home-contact-band .band-grid,
  .home-contact-band .band-cards{grid-template-columns:1fr}
  .services-page .service-scroll-stack{gap:22px}
  .services-page .service-detail{position:relative;top:auto;min-height:auto;padding:28px 22px}
  .services-page .service-detail .service-img img{height:420px}
  .contact-facts-grid{grid-template-columns:1fr 1fr}
  .home-page .projects .masonry{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .portfolio-page .portfolio-masonry{column-count:2!important;column-gap:12px!important}
  .videos-page .video-grid,
  .videos-page .video-grid.center-last-two{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .videos-page .video-grid.center-last-two .video-card,
  .videos-page .video-grid.center-last-two .video-card:nth-child(7),
  .videos-page .video-grid.center-last-two .video-card:nth-child(8){grid-column:auto!important}
}
@media(max-width:560px){
  .home-page .service-panel,
  .home-page .service-panel.reverse{grid-template-columns:1fr!important}
  .home-page .service-panel .visual,
  .home-page .service-panel .visual img{min-height:0!important;height:360px!important}
  .home-page .service-panel > [data-reveal]{min-height:auto;padding:40px 22px 28px!important}
  .home-page .service-panel .num,
  .home-page .service-panel.reverse .num{right:18px!important;left:auto!important;top:10px!important;font-size:142px!important}
  .service-marquee::before{left:-24%!important;right:-24%!important;height:88px!important}
  .service-marquee-track{min-width:270%!important;padding:18px 36px!important;font-size:30px!important}
  .about-page .about-why-parallax{background-attachment:scroll!important}
  .contact-facts-grid{grid-template-columns:1fr}
  .portfolio-page .portfolio-masonry{column-count:2!important}
  .videos-page .video-grid,
  .videos-page .video-grid.center-last-two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ===== 2026-09-09 refinements: scroll services + process ===== */
.rail-logo,.rail-logo img{width:180px!important;max-width:180px!important}
@media(max-width:900px){.mobile-header .mobile-logo img{width:160px!important;max-width:58vw!important}}

/* Home horizontal story ends exactly at service 05 */
.home-page .services-track{width:max-content!important}
.home-page .horizontal-panel{flex:0 0 var(--content-vw)}
.home-page .service-panel > [data-reveal]::after{content:attr(data-bgnum);position:absolute;top:20px;right:clamp(26px,4vw,66px);font-size:clamp(150px,20vw,320px);line-height:.8;font-weight:800;color:rgba(255,255,255,.075);z-index:0;pointer-events:none}
.home-page .service-panel .num{display:none!important}

/* Replace intro decoration with architectural / concrete-inspired geometry */
.home-page .intro-purple{background:linear-gradient(135deg,rgba(73,52,126,.08) 0 22%,transparent 22% 78%,rgba(73,52,126,.07) 78% 100%),linear-gradient(180deg,#f5f2f7 0%,#f4f1ea 100%)!important}
.home-page .intro-purple::before{width:420px!important;height:420px!important;right:-110px!important;top:54px!important;border-radius:0!important;border:0!important;box-shadow:none!important;background:linear-gradient(90deg,rgba(76,55,128,.18) 1px,transparent 1px),linear-gradient(rgba(76,55,128,.18) 1px,transparent 1px);background-size:36px 36px;transform:rotate(8deg);opacity:.36}
.home-page .intro-purple::after{width:360px!important;height:110px!important;left:-80px!important;bottom:76px!important;inset:auto!important;background:linear-gradient(90deg,#4e3a82 0 38%,transparent 38% 44%,#6c9cb9 44% 68%,transparent 68% 74%,#1d2d4a 74% 100%)!important;opacity:.18!important;transform:skewX(-28deg);mask-image:none!important}
.home-page .intro-purple .intro-art::before{left:-24px!important;top:-24px!important;width:120px!important;height:120px!important;border-radius:0!important;background:transparent!important;border-left:4px solid #4e3a82;border-top:4px solid #4e3a82;filter:none!important}
.home-page .intro-purple .intro-art::after{content:"";position:absolute;right:-26px;bottom:-26px;width:122px;height:122px;border-right:4px solid #6c9cb9;border-bottom:4px solid #6c9cb9;pointer-events:none}

/* Soft borders / blend for key details band */
.home-contact-band{position:relative;border:0!important;box-shadow:none!important;padding-top:70px;padding-bottom:70px}
.home-contact-band::before{inset:0!important;border:0!important;background:linear-gradient(180deg,rgba(255,255,255,.10),transparent 24%,transparent 76%,rgba(0,0,0,.10));filter:blur(18px);opacity:.6}
.home-contact-band::after{content:"";position:absolute;left:0;right:0;top:-32px;height:66px;background:linear-gradient(180deg,rgba(244,241,234,0),rgba(86,65,130,.52));filter:blur(18px);pointer-events:none}
.home-contact-band .container{position:relative;z-index:2}

/* Diagonal banner vertically centered and moved up */
.service-marquee{padding:18px 0 42px!important;min-height:150px;display:flex;align-items:center}
.service-marquee::before{top:48%!important;height:124px!important}
.service-marquee-track{position:relative;top:-3px;align-items:center;line-height:.92}

/* Services page: pinned one-service-at-a-time scroll transition */
.services-page .service-scroll-stack{position:relative!important;height:100vh!important;min-height:720px!important;margin-top:64px!important;display:block!important;overflow:hidden!important;background:#eef0f3}
.services-page .service-detail,.services-page .service-detail:nth-child(even){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:clamp(42px,5vw,80px)!important;display:grid!important;grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr)!important;gap:clamp(36px,6vw,90px)!important;align-items:center!important;background:linear-gradient(145deg,#f6f3ec 0%,#e8edf3 100%)!important;border:0!important;box-shadow:none!important;opacity:0;visibility:hidden;transform:translateY(100%);z-index:1}
.services-page .service-detail:first-child{opacity:1;visibility:visible;transform:translateY(0);z-index:2}
.services-page .service-detail::before{content:attr(data-num)!important;position:absolute!important;right:clamp(28px,4vw,72px)!important;top:20px!important;left:auto!important;font-size:clamp(150px,18vw,280px)!important;line-height:.8!important;font-weight:800!important;color:rgba(0,2,63,.055)!important;pointer-events:none!important}
.services-page .service-detail .service-img,.services-page .service-detail:nth-child(even) .service-img{order:0!important;align-self:center;overflow:hidden}
.services-page .service-detail .service-img img{width:min(100%,620px)!important;aspect-ratio:1/1!important;height:auto!important;min-height:0!important;object-fit:cover!important;margin:auto}
.services-page .service-detail > div:last-child{padding:0!important;justify-content:center!important;position:relative;z-index:2}
.services-page .service-detail h2.display{font-size:clamp(46px,5vw,82px)!important;max-width:11ch;line-height:.9}
.services-page .service-more{font-size:clamp(15px,1.1vw,18px);line-height:1.65;max-width:680px;margin-top:12px}
.services-page .service-includes{list-style:none;padding:0!important;margin:20px 0 24px!important;display:grid;gap:10px;line-height:1.4!important}
.services-page .service-includes li{display:flex;align-items:flex-start;gap:10px;font-weight:700;color:#1d2d4a}
.services-page .service-includes i{color:#6c9cb9;margin-top:3px}
.services-page .service-detail .btn{align-self:flex-start}

/* About process based on supplied structural reference */
.about-process{height:400vh;background:linear-gradient(135deg,#1d2d4a 0%,#2c4f76 55%,#325f8d 100%);color:#fff;position:relative}
.about-process .process-pin{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}
.about-process .process-layout{width:min(1460px,100%)}
.process-top{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:end;margin-bottom:42px}
.process-top .display{font-size:clamp(50px,6vw,92px);max-width:900px;margin:.2em 0 0}
.process-top .copy{color:rgba(255,255,255,.78);max-width:650px}
.process-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:14px;margin:26px 0 36px}
.process-dot{width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#c6d2df;font:800 16px/1 Manrope,sans-serif;display:grid;place-items:center;transition:.35s;cursor:pointer}
.process-dot.active{background:#fff;color:#1d2d4a;transform:scale(1.05)}
.process-line{height:3px;background:rgba(255,255,255,.18);overflow:hidden}.process-line span{display:block;height:100%;width:0;background:#fff;transition:width .35s ease}.process-line.complete span{width:100%}
.process-card{width:min(780px,70%);margin:0 auto;padding:54px 62px;border:1px solid rgba(255,255,255,.26);border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.07));backdrop-filter:blur(14px);box-shadow:0 24px 70px rgba(0,0,0,.12);display:grid;grid-template-columns:100px 1fr;grid-template-areas:"num copy" "icon copy";column-gap:30px;align-items:start;position:relative;overflow:hidden}
.process-card::after{content:"";position:absolute;right:-100px;bottom:-130px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(108,156,185,.35),transparent 65%);filter:blur(8px)}
.process-card-number{grid-area:num;font-size:54px;font-weight:800;line-height:1}.process-card-icon{grid-area:icon;width:76px;height:76px;border-radius:20px;background:#fff;color:#2f69a4;display:grid;place-items:center;font-size:30px;margin-top:12px}.process-card-copy{grid-area:copy;position:relative;z-index:2}.process-tag{display:inline-flex;padding:8px 14px;border-radius:999px;background:rgba(108,156,185,.45);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}.process-card h3{font-size:clamp(34px,3.4vw,54px);line-height:1;margin:0 0 14px;letter-spacing:-.04em}.process-card p{font-size:18px;line-height:1.65;color:rgba(255,255,255,.82);margin:0;max-width:620px}

@media(max-width:900px){
  .services-page .service-scroll-stack{height:auto!important;min-height:0!important;overflow:visible!important;background:transparent}
  .services-page .service-detail,.services-page .service-detail:nth-child(even){position:relative!important;inset:auto!important;height:auto!important;min-height:0!important;opacity:1!important;visibility:visible!important;transform:none!important;margin-bottom:24px!important;grid-template-columns:1fr!important;padding:26px 20px 34px!important}
  .services-page .service-detail .service-img img{width:100%!important;max-width:520px;aspect-ratio:1/1!important}
  .about-process{height:auto;padding:90px 0;background:linear-gradient(160deg,#1d2d4a,#315d88)}
  .about-process .process-pin{position:relative;height:auto;display:block}
  .process-top{grid-template-columns:1fr;gap:18px}.process-progress{gap:8px}.process-dot{width:44px;height:44px;font-size:13px}
  .process-card{width:100%;padding:34px 24px;grid-template-columns:72px 1fr;column-gap:18px;border-radius:20px}.process-card-number{font-size:40px}.process-card-icon{width:58px;height:58px;border-radius:15px;font-size:22px}.process-card p{font-size:16px}
}
@media(max-width:560px){.process-progress{grid-template-columns:auto 1fr auto 1fr auto 1fr auto}.process-dot{width:38px;height:38px}.process-card{grid-template-columns:1fr;grid-template-areas:"num" "icon" "copy";gap:12px}.process-card-icon{margin:0 0 6px}}

/* Services tab: list text legible on the dark horizontal panels; square service imagery on both tabs */
.services-page .service-includes li{color:#fff}
.horizontal-shell .visual{display:flex!important;align-items:center;justify-content:center;min-height:0!important;height:100%!important}
.horizontal-shell .visual img{width:min(92%,640px)!important;height:auto!important;aspect-ratio:1/1!important;object-fit:cover!important;object-position:center!important;clip-path:none!important;margin:auto;min-height:0!important}
.horizontal-shell .visual::before{display:none!important}
@media(max-width:900px){
  .horizontal-shell .visual img{width:min(88%,420px)!important;height:auto!important}
}

/* Hero: keep the four-line headline from overflowing the 100vh slide at in-between window widths */
@media(min-width:901px) and (max-width:1300px){
  .hero-slide h1{font-size:clamp(38px,5.6vw,64px)!important}
  .hero-slide .hero-content{padding:clamp(70px,9vh,110px) clamp(30px,4vw,70px) clamp(28px,5vh,54px)!important}
}

/* ===== DD Concrete v5 refinement ===== */
/* New background elements for Concrete Solutions */
.home-page .intro-purple{
  background:
    linear-gradient(180deg,#f7f5f8 0%,#f4f1ea 48%,#f4f1ea 100%)!important;
  isolation:isolate;
}
.home-page .intro-purple::before,
.home-page .intro-purple::after,
.home-page .intro-purple .intro-art::before,
.home-page .intro-purple .intro-art::after{display:none!important}
.home-page .intro-decor-v5{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.home-page .intro-decor-v5 .intro-watermark{
  position:absolute;left:-28px;top:50%;transform:translateY(-55%);
  font-size:clamp(180px,25vw,430px);font-weight:800;line-height:.75;letter-spacing:-.09em;
  color:rgba(61,43,104,.045);white-space:nowrap
}
.home-page .intro-decor-v5 .intro-ring{
  position:absolute;right:-125px;top:-120px;width:430px;height:430px;border-radius:50%;
  border:44px solid rgba(108,156,185,.09);box-shadow:0 0 0 2px rgba(61,43,104,.08),0 0 0 86px rgba(61,43,104,.025)
}
.home-page .intro-decor-v5 .intro-slab{position:absolute;height:18px;border-radius:999px;transform:rotate(-28deg);filter:blur(.1px)}
.home-page .intro-decor-v5 .slab-a{width:320px;right:18%;bottom:92px;background:linear-gradient(90deg,transparent,rgba(75,52,129,.22),transparent)}
.home-page .intro-decor-v5 .slab-b{width:210px;right:7%;bottom:155px;background:linear-gradient(90deg,transparent,rgba(108,156,185,.30),transparent)}
.home-page .intro-decor-v5 .slab-c{width:150px;left:32%;top:72px;background:linear-gradient(90deg,transparent,rgba(29,45,74,.14),transparent)}
.home-page .intro-purple .container{position:relative;z-index:2}

/* Home lateral marquee now matches the About marquee behavior and positioning */
.home-page .service-marquee.about-marquee{
  min-height:132px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  background:transparent!important;
}
.home-page .service-marquee.about-marquee::before{
  content:""!important;display:block!important;position:absolute!important;
  left:-10%!important;right:-10%!important;top:50%!important;height:106px!important;
  transform:translateY(-50%) rotate(-2deg)!important;
  background:var(--navy)!important;box-shadow:0 18px 42px rgba(0,2,63,.20)!important;z-index:-1!important
}
.home-page .service-marquee.about-marquee .service-marquee-track{
  top:0!important;min-width:max-content!important;width:max-content!important;
  padding:0 38px!important;gap:30px!important;line-height:.95!important;
  font-size:clamp(28px,3.8vw,66px)!important;transform:rotate(-2deg)!important;
  animation:ddMarquee 24s linear infinite!important
}

/* Purple pulse for WhatsApp while keeping the WhatsApp button green */
.whatsapp-float{animation:whatsappPurplePulse 2.25s ease-in-out infinite!important}
@keyframes whatsappPurplePulse{
  0%,100%{box-shadow:0 8px 28px rgba(0,0,0,.24),0 0 0 0 rgba(116,76,181,.52)}
  50%{box-shadow:0 8px 28px rgba(0,0,0,.24),0 0 0 17px rgba(116,76,181,0)}
}

/* Modern gradient contact band with soft section blending */
.home-contact-band{
  position:relative!important;
  padding:92px 0!important;
  background:
    radial-gradient(circle at 18% 30%,rgba(133,98,196,.26),transparent 30%),
    radial-gradient(circle at 84% 72%,rgba(108,156,185,.18),transparent 30%),
    linear-gradient(135deg,#30224f 0%,#574180 48%,#332653 100%)!important;
  overflow:hidden!important;
  isolation:isolate;
}
.home-contact-band::before{
  content:""!important;position:absolute!important;display:block!important;inset:0!important;
  border:0!important;filter:none!important;opacity:1!important;
  background:linear-gradient(180deg,#f4f1ea 0%,rgba(244,241,234,0) 13%,rgba(244,241,234,0) 86%,#f4f5f5 100%)!important;
  z-index:0!important;pointer-events:none
}
.home-contact-band::after{
  content:"";position:absolute;inset:20px 3.5%;border-radius:32px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.018));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 22px 70px rgba(18,10,40,.12);
  backdrop-filter:blur(7px);z-index:1;pointer-events:none
}
.home-contact-band .container{position:relative;z-index:2!important}
.home-contact-band .band-grid{gap:clamp(38px,6vw,82px)!important}
.home-contact-band .band-intro{padding:18px 0 18px 22px}
.home-contact-band .band-intro .eyebrow{color:#d6c7ff}
.home-contact-band .band-cards{gap:12px!important}
.home-contact-band .band-card{
  position:relative;padding:22px 20px!important;border:0!important;border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.045))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
  overflow:hidden
}
.home-contact-band .band-card::after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,#9fc2d7,transparent);opacity:.65}
.home-contact-band .band-card i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.10);color:#d9cbff!important;flex:0 0 44px}

@media(max-width:900px){
  .home-page .intro-decor-v5 .intro-watermark{left:-45px;top:44%;font-size:220px}
  .home-page .intro-decor-v5 .intro-ring{width:280px;height:280px;right:-120px;top:20px;border-width:28px}
  .home-page .intro-decor-v5 .slab-a{right:-30px;bottom:62px;width:230px}
  .home-page .intro-decor-v5 .slab-b{right:12px;bottom:105px;width:150px}
  .home-contact-band{padding:78px 0!important}
  .home-contact-band::after{inset:18px 18px;border-radius:24px}
  .home-contact-band .band-intro{padding:10px 4px}
  .home-page .service-marquee.about-marquee{min-height:112px!important}
  .home-page .service-marquee.about-marquee::before{height:88px!important;left:-18%!important;right:-18%!important}
  .home-page .service-marquee.about-marquee .service-marquee-track{font-size:31px!important;gap:22px!important}
}

/* ===== DD Concrete v6 fixes ===== */
/* New concrete-inspired background elements */
.home-page .intro-purple{position:relative;overflow:hidden;background:linear-gradient(180deg,#f7f5f8 0%,#f4f1ea 100%)!important;isolation:isolate}
.home-page .intro-decor-v5{display:none!important}
.home-page .intro-decor-v6{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.home-page .intro-decor-v6 .concrete-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(64,43,111,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(64,43,111,.06) 1px,transparent 1px);background-size:48px 48px;opacity:.28;mask-image:linear-gradient(120deg,transparent 0 12%,#000 32% 72%,transparent 94%)}
.home-page .intro-decor-v6 .concrete-line{position:absolute;height:2px;background:linear-gradient(90deg,transparent,rgba(72,52,120,.28),transparent);transform-origin:center}
.home-page .intro-decor-v6 .line-one{width:44vw;right:-8vw;top:18%;transform:rotate(-24deg)}
.home-page .intro-decor-v6 .line-two{width:34vw;left:-8vw;bottom:18%;transform:rotate(-24deg)}
.home-page .intro-decor-v6 .concrete-block{position:absolute;border:1px solid rgba(72,52,120,.14);background:linear-gradient(135deg,rgba(72,52,120,.08),rgba(108,156,185,.04));transform:rotate(8deg)}
.home-page .intro-decor-v6 .block-one{width:190px;height:190px;right:7%;top:14%}
.home-page .intro-decor-v6 .block-two{width:112px;height:112px;left:7%;bottom:16%;transform:rotate(28deg)}
.home-page .intro-decor-v6 .concrete-dot{position:absolute;border-radius:50%;background:#6C9CB9;box-shadow:0 0 0 10px rgba(108,156,185,.10)}
.home-page .intro-decor-v6 .dot-one{width:12px;height:12px;right:24%;bottom:18%}
.home-page .intro-decor-v6 .dot-two{width:8px;height:8px;left:20%;top:18%;background:#574180}
.home-page .intro-decor-v6 .concrete-label{position:absolute;right:6%;bottom:8%;font-size:clamp(46px,8vw,120px);font-weight:800;letter-spacing:-.06em;color:rgba(0,2,63,.045)}
.home-page .intro-purple .container{position:relative;z-index:2}

/* Home diagonal marquee: centered vertically and actually moving */
.home-page .service-marquee.about-marquee{min-height:132px!important;padding:0!important;display:flex!important;align-items:center!important;overflow:hidden!important;background:transparent!important}
.home-page .service-marquee.about-marquee::before{content:""!important;display:block!important;position:absolute!important;left:-18%!important;right:-18%!important;top:50%!important;height:104px!important;transform:translateY(-50%) rotate(-2deg)!important;background:var(--navy)!important;box-shadow:0 16px 40px rgba(0,2,63,.2)!important;z-index:-1!important}
.home-page .service-marquee.about-marquee .service-marquee-track{position:relative!important;top:0!important;display:flex!important;align-items:center!important;width:max-content!important;min-width:max-content!important;gap:30px!important;padding:0 48px!important;line-height:1!important;font-size:clamp(28px,3.8vw,66px)!important;transform:rotate(-2deg)!important;animation:homeMarqueeV6 22s linear infinite!important;will-change:transform}
@keyframes homeMarqueeV6{from{transform:translateX(0) rotate(-2deg)}to{transform:translateX(-48%) rotate(-2deg)}}

/* Footer headings larger */
.footer-col h4{font-size:16px!important;letter-spacing:.11em!important}

/* Social/icon hover visibility */
.footer-social a:hover{background:#6C9CB9!important;color:#fff!important;border-color:#6C9CB9!important}
.footer-social a:hover i,.footer-social a:hover svg{color:#fff!important;opacity:1!important}
.footer-links li:hover i,.menu-links a:hover i{color:#6C9CB9!important;opacity:1!important}

/* Mobile global overflow protection */
@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden!important}
  main,.container,section,.page-hero,.hero-slide,.hero-content,.content-section{max-width:100%!important;overflow-x:hidden}
  .hero-slide .hero-content{padding:118px 20px 46px!important}
  .hero-slide h1{font-size:clamp(48px,14vw,74px)!important;line-height:.88!important;max-width:100%!important;overflow-wrap:anywhere}
  .hero-slide .copy{font-size:16px!important;line-height:1.55!important;max-width:100%!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .hero-actions .btn{width:100%!important;justify-content:flex-start!important;white-space:normal!important}
  .trust-line{font-size:12px!important;line-height:1.55!important;overflow-wrap:anywhere}
  .display,.page-hero h1,.service-panel h3{max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .copy{max-width:100%!important}

  /* Menu options lower and cleaner */
  .menu-overlay{padding:118px 24px 30px!important}
  .menu-overlay-inner{justify-content:flex-start!important}
  .menu-links{margin-top:72px!important;margin-bottom:auto!important}
  .menu-links a{font-size:clamp(32px,9.5vw,50px)!important;line-height:.98!important;padding:6px 0!important}
  .menu-meta{margin-top:34px!important}

  /* Services tab cards are scroll-driven and square */
  .services-page .service-scroll-stack{height:auto!important;min-height:0!important;overflow:visible!important;display:block!important;margin-top:32px!important}
  .services-page .service-detail,.services-page .service-detail:nth-child(even){position:relative!important;inset:auto!important;opacity:1!important;visibility:visible!important;transform:none!important;height:auto!important;min-height:0!important;grid-template-columns:1fr!important;margin:0 0 24px!important;padding:22px 18px 30px!important}
  .services-page .service-detail .service-img img{width:100%!important;max-width:none!important;aspect-ratio:1/1!important;height:auto!important;object-fit:cover!important}
}

@media(max-width:560px){
  .hero-slide .hero-content{padding:112px 18px 38px!important}
  .hero-slide h1{font-size:clamp(44px,13vw,62px)!important}
  .page-hero{padding:120px 18px 42px!important}
  .page-hero h1{font-size:clamp(42px,12vw,64px)!important}
  .menu-overlay{padding:116px 20px 24px!important}
  .menu-links{margin-top:84px!important}
  .menu-links a{font-size:clamp(30px,9vw,44px)!important}
  .home-page .service-panel .visual img,.services-page .service-detail .service-img img{aspect-ratio:1/1!important}
  .home-page .service-marquee.about-marquee{min-height:104px!important}
  .home-page .service-marquee.about-marquee::before{height:82px!important;left:-26%!important;right:-26%!important}
  .home-page .service-marquee.about-marquee .service-marquee-track{font-size:28px!important;gap:20px!important;padding:0 28px!important}
  .footer-col h4{font-size:15px!important}
}

/* === V7 requested cleanup === */
/* Plain background: no decorative elements around the Home intro section. */
.home-page .intro-purple{
  background:#F4F1EA!important;
  background-image:none!important;
}
.home-page .intro-purple::before,
.home-page .intro-purple::after,
.home-page .intro-purple .intro-art::before,
.home-page .intro-purple .intro-art::after{
  content:none!important;
  display:none!important;
}

/* Home diagonal marquee: shown below the intro section, matching the About tab. */

/* Services page overlay-by-scroll presentation. */
@media(min-width:901px){
  .services-page .service-scroll-stack{
    position:relative!important;
    height:100vh!important;
    min-height:720px!important;
    margin-top:64px!important;
    overflow:hidden!important;
    display:block!important;
    background:#eef0f3!important;
  }
  .services-page .service-detail,
  .services-page .service-detail:nth-child(even){
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:clamp(42px,5vw,80px)!important;
    display:grid!important;
    grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr)!important;
    gap:clamp(36px,6vw,90px)!important;
    align-items:center!important;
    background:linear-gradient(145deg,#f6f3ec 0%,#e8edf3 100%)!important;
    border:0!important;
    box-shadow:none!important;
    visibility:visible!important;
    opacity:1!important;
    overflow:hidden!important;
  }
  .services-page .service-detail:nth-child(even){background:linear-gradient(145deg,#edf1f5 0%,#f7f3eb 100%)!important}
  .services-page .service-detail .service-img,
  .services-page .service-detail:nth-child(even) .service-img{order:0!important;overflow:hidden!important}
  .services-page .service-detail .service-img img{
    width:min(100%,620px)!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    min-height:0!important;
    object-fit:cover!important;
    margin:auto!important;
  }
  .services-page .service-detail > div:last-child{padding:0!important;justify-content:center!important;position:relative;z-index:2}
}


/* === Requested fixes: mobile proportions, hero fit, marquee sync, full-width services === */
/* Services page now uses the same edge-to-edge visual system as Home services. */
.services-page .horizontal-shell .services-track{align-items:stretch}
.services-page .horizontal-shell .service-panel,
.services-page .horizontal-shell .service-panel.reverse{
  grid-template-columns:minmax(54%,1.08fr) minmax(46%,.92fr)!important;
  gap:0!important;
  padding:0!important;
  align-items:stretch!important;
}
.services-page .horizontal-shell .service-panel .visual,
.services-page .horizontal-shell .service-panel.reverse .visual{
  min-height:100vh!important;
  height:100vh!important;
  overflow:hidden!important;
  order:0!important;
}
.services-page .horizontal-shell .service-panel .visual img,
.services-page .horizontal-shell .service-panel.reverse .visual img{
  width:100%!important;
  height:100vh!important;
  min-height:100vh!important;
  max-width:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  margin:0!important;
}
.services-page .horizontal-shell .service-panel > [data-reveal]{
  min-height:100vh!important;
  padding:clamp(48px,5vw,92px) clamp(32px,4.2vw,78px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  background:linear-gradient(135deg,#162243 0%,#1d294e 52%,#121d39 100%)!important;
  overflow:hidden!important;
}
.services-page .horizontal-shell .service-panel .num{display:none!important}
.services-page .horizontal-shell .service-includes{margin:18px 0 24px!important}

/* Home marquee uses the exact same animation behavior as the About marquee. */
.home-page .service-marquee.about-marquee .service-marquee-track{
  animation:ddMarquee 24s linear infinite!important;
  transform:rotate(-2deg)!important;
}

@media(max-width:900px){
  /* Keep all service photography square on phones/tablets. */
  .home-page .horizontal-shell .service-panel,
  .home-page .horizontal-shell .service-panel.reverse,
  .services-page .horizontal-shell .service-panel,
  .services-page .horizontal-shell .service-panel.reverse{
    grid-template-columns:1fr!important;
  }
  .home-page .horizontal-shell .service-panel .visual,
  .home-page .horizontal-shell .service-panel.reverse .visual,
  .services-page .horizontal-shell .service-panel .visual,
  .services-page .horizontal-shell .service-panel.reverse .visual{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1/1!important;
  }
  .home-page .horizontal-shell .service-panel .visual img,
  .home-page .horizontal-shell .service-panel.reverse .visual img,
  .services-page .horizontal-shell .service-panel .visual img,
  .services-page .horizontal-shell .service-panel.reverse .visual img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-width:none!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
    margin:0!important;
  }
  .services-page .horizontal-shell .service-panel > [data-reveal]{
    min-height:0!important;
    padding:38px 22px 30px!important;
  }

  /* Hero content stays inside the mobile viewport at every common width. */
  .home-page .hero-slide{min-height:100svh!important;height:auto!important;overflow:hidden!important}
  .home-page .hero-slide .hero-content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:108px 18px 34px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .home-page .hero-slide .eyebrow,
  .home-page .hero-slide h1,
  .home-page .hero-slide .hero-bottom,
  .home-page .hero-slide .copy,
  .home-page .hero-slide .hero-actions,
  .home-page .hero-slide .trust-line{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .home-page .hero-slide h1{
    font-size:clamp(42px,11.8vw,62px)!important;
    line-height:.91!important;
    letter-spacing:-.055em!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:none!important;
    margin:16px 0 22px!important;
  }
  .home-page .hero-actions .btn{max-width:100%!important;box-sizing:border-box!important}
}

@media(max-width:430px){
  .home-page .hero-slide .hero-content{padding:102px 16px 30px!important}
  .home-page .hero-slide h1{font-size:clamp(39px,11.4vw,52px)!important}
  .home-page .hero-slide .copy{font-size:14px!important;line-height:1.48!important}
  .home-page .hero-actions{margin-top:18px!important}
  .home-page .hero-actions .btn{padding:13px 14px!important;font-size:10px!important}
  .home-page .trust-line{margin-top:16px!important;font-size:11px!important}
}

/* === 2026-09-09 precision fixes: final service edge, marquee motion, mobile hero === */
@media(min-width:901px){
  /* Every horizontal slide must match the shell's real content width, not 100vw.
     This removes the phantom space after the final Services slide. */
  .services-page .horizontal-shell .horizontal-panel,
  .home-page .horizontal-shell .horizontal-panel{
    width:var(--content-vw)!important;
    flex:0 0 var(--content-vw)!important;
    max-width:var(--content-vw)!important;
  }
  .services-page .horizontal-shell .services-track,
  .home-page .horizontal-shell .services-track{
    width:max-content!important;
  }
}

/* Reliable diagonal marquee: two identical halves travel continuously. */
.home-page .service-marquee.about-marquee{
  overflow:hidden!important;
  padding-inline:0!important;
}
.home-page .service-marquee.about-marquee .service-marquee-track{
  display:flex!important;
  width:max-content!important;
  min-width:max-content!important;
  padding:0!important;
  gap:0!important;
  animation:ddHomeMarqueeLoop 22s linear infinite!important;
  transform:none!important;
}
.home-page .service-marquee.about-marquee .marquee-set{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:30px;
  padding:0 30px;
  white-space:nowrap;
  transform:rotate(-2deg);
}
@keyframes ddHomeMarqueeLoop{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

@media(max-width:900px){
  /* Hero text/buttons always stay inside the phone viewport. */
  .home-page .hero-slide,
  .home-page .hero-slide .hero-content,
  .home-page .hero-slide .hero-bottom,
  .home-page .hero-slide .hero-bottom > div{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .home-page .hero-slide .hero-content{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .home-page .hero-slide h1{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(36px,10.4vw,54px)!important;
    line-height:.94!important;
    letter-spacing:-.045em!important;
    overflow:visible!important;
    white-space:normal!important;
  }
  .home-page .hero-slide h1 .word-mask{
    max-width:100%!important;
    white-space:normal!important;
  }
  .home-page .hero-slide .copy,
  .home-page .hero-slide .trust-line,
  .home-page .hero-slide .eyebrow{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .home-page .hero-actions{width:100%!important;max-width:100%!important}
  .home-page .hero-actions .btn{width:100%!important;max-width:100%!important;min-width:0!important}

  /* More breathing room between the service card and mobile controls. */
  .horizontal-shell .mobile-service-controls{
    margin-top:28px!important;
    padding-top:8px!important;
  }

  .home-page .service-marquee.about-marquee .marquee-set{
    gap:20px;
    padding:0 20px;
  }
}

@media(max-width:430px){
  .home-page .hero-slide .hero-content{padding-left:16px!important;padding-right:16px!important}
  .home-page .hero-slide h1{font-size:clamp(34px,10vw,46px)!important;line-height:.96!important}
}


/* === 2026-09-09 V4 definitive fixes: mobile hero + Home diagonal marquee === */
.home-page .home-diagonal-marquee{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  min-height:156px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  background:transparent!important;
}
.home-page .home-diagonal-marquee::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:-1!important;
  left:-6%!important;
  right:-6%!important;
  top:50%!important;
  height:112px!important;
  background:var(--navy)!important;
  transform:translateY(-50%) rotate(-2deg)!important;
  transform-origin:center!important;
  box-shadow:0 18px 42px rgba(0,2,63,.20)!important;
}
.home-page .home-diagonal-marquee .service-marquee-track{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  display:flex!important;
  align-items:center!important;
  width:max-content!important;
  min-width:max-content!important;
  flex:none!important;
  gap:0!important;
  padding:0!important;
  margin:0!important;
  white-space:nowrap!important;
  color:#fff!important;
  font-size:clamp(30px,4.2vw,68px)!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
  line-height:1!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  animation:ddHomeMarqueeV4 22s linear infinite!important;
  will-change:transform!important;
}
.home-page .home-diagonal-marquee .marquee-set{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:30px!important;
  padding:0 15px!important;
  white-space:nowrap!important;
  transform:rotate(-2deg)!important;
  transform-origin:center!important;
}
.home-page .home-diagonal-marquee .marquee-set span{
  display:block!important;
  flex:none!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.home-page .home-diagonal-marquee .marquee-set span:nth-of-type(even){
  color:var(--steel)!important;
  font-style:italic!important;
  font-weight:500!important;
}
.home-page .home-diagonal-marquee .marquee-set i{
  display:block!important;
  flex:none!important;
  font-size:.22em!important;
  color:var(--steel)!important;
}
@keyframes ddHomeMarqueeV4{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

@media(max-width:900px){
  .home-page .hero-slide{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:100svh!important;
    overflow:hidden!important;
  }
  .home-page .hero-slide .hero-content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:108px 18px 34px!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .home-page .hero-slide h1{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:16px 0 20px!important;
    padding:0!important;
    font-size:clamp(32px,9vw,44px)!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .home-page .hero-slide .hero-bottom,
  .home-page .hero-slide .hero-bottom>div,
  .home-page .hero-slide .copy,
  .home-page .hero-actions,
  .home-page .trust-line,
  .home-page .hero-slide .eyebrow{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .home-page .hero-slide .copy{
    font-size:14px!important;
    line-height:1.5!important;
    overflow-wrap:break-word!important;
  }
  .home-page .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:18px!important;
  }
  .home-page .hero-actions .btn{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:14px 14px!important;
    font-size:10px!important;
    white-space:normal!important;
  }
  .home-page .trust-line{
    font-size:10.5px!important;
    line-height:1.45!important;
    letter-spacing:.015em!important;
    overflow-wrap:break-word!important;
  }
  .home-page .hero-slide .eyebrow{
    font-size:10px!important;
    line-height:1.4!important;
    letter-spacing:.12em!important;
    overflow-wrap:break-word!important;
  }
  .home-page .home-diagonal-marquee{min-height:122px!important}
  .home-page .home-diagonal-marquee::before{height:88px!important;left:-12%!important;right:-12%!important}
  .home-page .home-diagonal-marquee .service-marquee-track{font-size:30px!important}
  .home-page .home-diagonal-marquee .marquee-set{gap:20px!important;padding:0 10px!important}
}
@media(max-width:430px){
  .home-page .hero-slide .hero-content{padding:102px 16px 30px!important}
  .home-page .hero-slide h1{font-size:clamp(30px,8.7vw,39px)!important;line-height:1.04!important}
}

/* === V5 clean fix: Home marquee EXACTLY follows About + hard mobile hero containment === */
/* Remove all Home-only marquee behavior by restoring the shared About marquee rules. */
.home-page .service-marquee.about-marquee{
  position:relative!important;
  z-index:3!important;
  background:transparent!important;
  padding:58px 0 72px!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
}
.home-page .service-marquee.about-marquee::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:-8%!important;
  right:-8%!important;
  top:50%!important;
  height:94px!important;
  background:var(--navy)!important;
  transform:translateY(-50%) rotate(-2deg)!important;
  box-shadow:0 20px 48px rgba(0,2,63,.24)!important;
  z-index:-1!important;
}
.home-page .service-marquee.about-marquee .service-marquee-track{
  display:flex!important;
  align-items:center!important;
  gap:32px!important;
  width:max-content!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  white-space:nowrap!important;
  color:#fff!important;
  font-size:clamp(28px,4.4vw,74px)!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
  line-height:1!important;
  animation:ddMarquee 24s linear infinite!important;
  transform:rotate(-2deg)!important;
  will-change:transform!important;
}
.home-page .service-marquee.about-marquee .service-marquee-track span:nth-of-type(even){
  color:var(--steel)!important;
  font-style:italic!important;
  font-weight:500!important;
}
.home-page .service-marquee.about-marquee .service-marquee-track i{
  font-size:.22em!important;
  color:var(--steel)!important;
  flex:none!important;
}

@media(max-width:900px){
  /* The hero is a normal 100vw block on mobile, independent of desktop horizontal sizing. */
  .home-page .horizontal-shell,
  .home-page .services-track,
  .home-page .hero-slide{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    transform:none!important;
  }
  .home-page .hero-slide{
    min-height:100svh!important;
    height:auto!important;
    overflow:hidden!important;
  }
  .home-page .hero-slide .hero-content{
    width:calc(100vw - 32px)!important;
    max-width:calc(100vw - 32px)!important;
    min-width:0!important;
    margin:0 16px!important;
    padding:106px 0 34px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  .home-page .hero-slide .eyebrow,
  .home-page .hero-slide h1,
  .home-page .hero-slide .hero-bottom,
  .home-page .hero-slide .hero-bottom>div,
  .home-page .hero-slide .copy,
  .home-page .hero-actions,
  .home-page .trust-line{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .home-page .hero-slide h1{
    display:block!important;
    margin:16px 0 20px!important;
    padding:0!important;
    font-size:clamp(30px,8.6vw,40px)!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:none!important;
    overflow:visible!important;
  }
  .home-page .hero-slide .copy{
    font-size:14px!important;
    line-height:1.48!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .home-page .hero-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    margin-top:18px!important;
  }
  .home-page .hero-actions .btn{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:14px 14px!important;
    font-size:10px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .home-page .trust-line{
    font-size:10.5px!important;
    line-height:1.45!important;
    letter-spacing:.01em!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .home-page .service-marquee.about-marquee{padding:42px 0 54px!important}
  .home-page .service-marquee.about-marquee::before{height:74px!important}
  .home-page .service-marquee.about-marquee .service-marquee-track{font-size:32px!important;gap:22px!important}
}

@media(max-width:430px){
  .home-page .hero-slide .hero-content{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    margin:0 14px!important;
    padding-top:100px!important;
  }
  .home-page .hero-slide h1{font-size:clamp(28px,8.2vw,36px)!important;line-height:1.07!important}
}
/* V5 hero line control: explicit safe line groups, desktop stays visually continuous. */
.home-page .hero-slide h1>span{display:inline}
.home-page .hero-slide h1>span+span::before{content:" ";}
@media(max-width:900px){
  .home-page .hero-slide h1>span{display:block!important;width:100%!important;max-width:100%!important;white-space:normal!important}
  .home-page .hero-slide h1>span+span::before{content:none!important}
}


/* V6 service image treatment: keep the existing structure/animation, remove shape cuts, and fill each media area with cover. */
.home-page .horizontal-shell .service-panel .visual,
.services-page .horizontal-shell .service-panel .visual{
  overflow:hidden!important;
}
.home-page .horizontal-shell .service-panel .visual img,
.home-page .horizontal-shell .service-panel.reverse .visual img,
.services-page .horizontal-shell .service-panel .visual img,
.services-page .horizontal-shell .service-panel.reverse .visual img{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  clip-path:none!important;
  margin:0!important;
}
@media(max-width:900px){
  .home-page .horizontal-shell .service-panel .visual img,
  .home-page .horizontal-shell .service-panel.reverse .visual img,
  .services-page .horizontal-shell .service-panel .visual img,
  .services-page .horizontal-shell .service-panel.reverse .visual img{
    height:360px!important;
    min-height:360px!important;
  }
}

/* === Requested adjustments - 2026-09-10 revision === */
/* General titles: 55px desktop, responsive without changing layout/animations. */
.display,
.page-hero h1,
.service-panel h3,
.services-page .service-detail .display{
  font-size:clamp(36px,4.6vw,55px)!important;
  line-height:1.06!important;
}

/* Home hero title: slightly larger as requested. */
.home-page .hero-slide h1{
  font-size:clamp(50px,6.4vw,80px)!important;
  line-height:.98!important;
}

/* Keep the requested clean hero video treatment: no purple filter, readable content shadow. */
.home-page .hero-slide:after{
  background:rgba(0,0,0,.10)!important;
}
.home-page .hero-slide .hero-content,
.home-page .hero-slide .hero-content h1,
.home-page .hero-slide .hero-content .eyebrow,
.home-page .hero-slide .hero-content .copy,
.home-page .hero-slide .hero-content .trust-line{
  text-shadow:0 3px 14px rgba(0,0,0,.78),0 1px 3px rgba(0,0,0,.9);
}

/* Keep menu typography smaller as previously requested. */
.menu-links a{
  font-size:clamp(30px,3.6vw,48px)!important;
  line-height:1!important;
}

@media(max-width:900px){
  .display,
  .page-hero h1,
  .service-panel h3,
  .services-page .service-detail .display{
    font-size:clamp(34px,7vw,48px)!important;
  }
  .home-page .hero-slide h1{
    font-size:clamp(42px,11vw,64px)!important;
  }
  .menu-links a{font-size:clamp(26px,7.8vw,36px)!important}
}

@media(max-width:560px){
  .display,
  .page-hero h1,
  .service-panel h3,
  .services-page .service-detail .display{
    font-size:clamp(31px,8.5vw,42px)!important;
  }
  .home-page .hero-slide h1{
    font-size:clamp(38px,11vw,56px)!important;
  }
  .menu-overlay{padding-left:18px!important;padding-right:18px!important}
  .menu-links a{font-size:clamp(24px,7.5vw,32px)!important;gap:10px!important}
  .menu-meta{font-size:11px!important;overflow-wrap:anywhere}
  .btn{max-width:100%;white-space:normal}
}


/* === 2026-09-10 targeted correction: preserve original Process scroll + independent Home marquee === */
/* Title banners: slightly larger than the 55px section titles. */
.page-hero h1{
  font-size:clamp(48px,5.6vw,68px)!important;
  line-height:.86!important;
}

/* Restore the About Process section's original scroll-driven/sticky behavior. */
.about-process{
  height:400vh!important;
  position:relative!important;
}
.about-process .process-pin{
  position:sticky!important;
  top:0!important;
  height:100vh!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
}
.process-dot,.process-line span,.process-card{
  transition-property:transform,opacity,width,background,color!important;
}

/* Home diagonal carousel gets its own animation so it cannot conflict with About. */
.home-page .service-marquee.home-independent-marquee{
  min-height:132px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  background:transparent!important;
  position:relative!important;
}
.home-page .service-marquee.home-independent-marquee::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:-10%!important;
  right:-10%!important;
  top:50%!important;
  height:106px!important;
  transform:translateY(-50%) rotate(-2deg)!important;
  background:var(--navy)!important;
  box-shadow:0 18px 42px rgba(0,2,63,.20)!important;
  z-index:-1!important;
}
.home-page .home-marquee-track{
  display:flex!important;
  width:max-content!important;
  min-width:max-content!important;
  padding:0!important;
  gap:0!important;
  white-space:nowrap!important;
  color:#fff!important;
  font-size:clamp(28px,3.8vw,66px)!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
  line-height:.95!important;
  transform:rotate(-2deg)!important;
  will-change:transform!important;
  animation:homeServiceMarquee 20s linear infinite!important;
}
.home-page .home-marquee-set{
  display:flex!important;
  align-items:center!important;
  flex:none!important;
  gap:30px!important;
  padding:0 15px!important;
}
.home-page .home-marquee-set span:nth-of-type(even){
  color:var(--steel)!important;
  font-style:italic!important;
  font-weight:500!important;
}
.home-page .home-marquee-set i{
  font-size:.22em!important;
  color:var(--steel)!important;
  flex:none!important;
}
@keyframes homeServiceMarquee{
  from{transform:translate3d(0,0,0) rotate(-2deg)}
  to{transform:translate3d(-50%,0,0) rotate(-2deg)}
}

@media(max-width:900px){
  .page-hero h1{font-size:clamp(42px,8.6vw,58px)!important}
  .about-process{height:auto!important;padding:90px 0!important}
  .about-process .process-pin{position:relative!important;height:auto!important;display:block!important;overflow:visible!important}
  .home-page .service-marquee.home-independent-marquee{min-height:112px!important}
  .home-page .service-marquee.home-independent-marquee::before{height:88px!important;left:-18%!important;right:-18%!important}
  .home-page .home-marquee-track{font-size:31px!important}
  .home-page .home-marquee-set{gap:22px!important}
}
@media(max-width:560px){
  .page-hero h1{font-size:clamp(38px,10.6vw,52px)!important}
}


/* === 2026-09-18 home service showcase + statewide coverage update === */
.home-standalone-hero{width:100%!important;max-width:100%!important;min-height:100vh!important;height:100vh!important}
.home-services-scroll{
  --service-accent:#6C9CB9;
  position:relative;
  height:500vh;
  background:#05070d;
  color:#fff;
  isolation:isolate;
}
.home-services-stage{
  position:sticky;
  top:0;
  height:100vh;
  min-height:680px;
  display:grid;
  grid-template-columns:minmax(380px,43%) minmax(0,57%);
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(29,45,74,.28),transparent 42%),
    #05070d;
}
.home-services-stage::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background:repeating-linear-gradient(135deg,transparent 0 28px,rgba(108,156,185,.055) 29px 30px);
}
.home-services-media{
  position:relative;
  z-index:2;
  margin:clamp(18px,2.2vw,34px) 0 clamp(18px,2.2vw,34px) clamp(18px,2.2vw,34px);
  overflow:hidden;
  border-radius:34px;
  background:#101723;
  min-width:0;
}
.home-service-image{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  transform:scale(1.045);
  transition:opacity .65s ease,transform .9s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}
.home-service-image.is-active{opacity:1;transform:scale(1);pointer-events:auto}
.home-service-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-services-media::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,2,20,.86));pointer-events:none}
.home-service-image-caption{position:absolute;z-index:4;left:clamp(24px,3vw,50px);right:24px;bottom:clamp(24px,3vw,48px);display:grid;gap:7px}
.home-service-image-caption span{font-size:10px;font-weight:800;letter-spacing:.18em;color:#dce7ee}
.home-service-image-caption strong{font-size:clamp(28px,3vw,48px);line-height:.98;letter-spacing:-.055em;color:#fff}
.home-services-content{position:relative;z-index:3;min-width:0;padding:clamp(70px,7vh,110px) clamp(42px,6vw,105px)}
.home-services-step{position:absolute;top:clamp(34px,5vh,66px);left:clamp(42px,6vw,105px);font-size:16px;font-style:italic;font-weight:700;color:rgba(255,255,255,.48);letter-spacing:.08em}
.home-services-copy-stack{position:relative;width:100%;height:100%}
.home-service-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;opacity:0;transform:translateY(72px);transition:opacity .55s ease,transform .75s cubic-bezier(.22,1,.36,1);pointer-events:none}
.home-service-copy.is-before{transform:translateY(-72px)}
.home-service-copy.is-after{transform:translateY(72px)}
.home-service-copy.is-active{opacity:1;transform:translateY(0);pointer-events:auto}
.home-service-icon{width:58px;height:58px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center;margin-bottom:28px;color:#fff;font-size:20px;transition:transform .4s ease,border-color .4s ease,background .4s ease}
.home-service-copy.is-active .home-service-icon{animation:homeServiceIconIn .65s ease both}
@keyframes homeServiceIconIn{0%{transform:scale(.72) rotate(-15deg);opacity:.2}100%{transform:scale(1) rotate(0);opacity:1}}
.home-service-kicker{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--service-accent);margin-bottom:18px}
.home-service-copy h2{max-width:820px;margin:0 0 22px;font-size:clamp(46px,5.4vw,78px);line-height:.9;letter-spacing:-.06em;text-transform:uppercase;color:#fff}
.home-service-copy p{max-width:690px;margin:0;color:#bfc8d2;font-size:clamp(16px,1.35vw,20px);line-height:1.62}
.home-service-link{display:inline-flex;align-items:center;gap:14px;margin-top:30px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.45);font-size:11px;font-weight:800;letter-spacing:.12em;color:#fff;transition:color .3s,border-color .3s,gap .3s}
.home-service-link:hover{color:var(--service-accent);border-color:var(--service-accent);gap:20px}
.home-service-dots{position:absolute;right:clamp(30px,4vw,66px);bottom:clamp(28px,4vh,52px);display:flex;gap:9px;z-index:5}
.home-service-dot{width:42px;height:42px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.02);color:rgba(255,255,255,.42);font:700 10px/1 Manrope,sans-serif;cursor:pointer;transition:.3s}
.home-service-dot:hover,.home-service-dot.is-active{color:#fff;border-color:var(--service-accent);background:rgba(108,156,185,.16);transform:translateY(-2px)}
.home-service-click-controls{display:none}

/* Facebook follows the existing social-button styling automatically. */
.contact-list a[href*="facebook.com"]{display:inline-flex;align-items:center}

@media(max-width:1100px) and (min-width:901px){
  .home-services-stage{grid-template-columns:46% 54%}
  .home-service-copy h2{font-size:clamp(42px,5vw,60px)}
  .home-services-content{padding-inline:48px}
  .home-services-step{left:48px}
}

@media(max-width:900px){
  .home-standalone-hero{height:auto!important;min-height:100svh!important}
  .home-services-scroll{height:auto!important;min-height:0;background:#05070d;padding:82px 20px 32px}
  .home-services-stage{position:relative;top:auto;height:auto;min-height:0;display:grid;grid-template-columns:1fr;overflow:visible;background:transparent}
  .home-services-stage::after{display:none}
  .home-services-media{height:auto;aspect-ratio:4/5;margin:0;border-radius:24px}
  .home-service-image-caption{left:24px;right:20px;bottom:24px}
  .home-service-image-caption strong{font-size:clamp(28px,8vw,42px)}
  .home-services-content{padding:42px 0 4px;min-height:0}
  .home-services-step{position:static;margin-bottom:24px;font-size:13px}
  .home-services-copy-stack{height:auto;min-height:0}
  .home-service-copy,.home-service-copy.is-before,.home-service-copy.is-after{display:none;position:relative;inset:auto;opacity:0;transform:translateY(22px);transition:none}
  .home-service-copy.is-active{display:flex;opacity:1;transform:none;animation:homeServiceMobileIn .45s ease both}
  @keyframes homeServiceMobileIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
  .home-service-icon{width:52px;height:52px;margin-bottom:22px}
  .home-service-copy h2{font-size:clamp(38px,10.6vw,56px);line-height:.94;margin-bottom:18px}
  .home-service-copy p{font-size:15px;line-height:1.58}
  .home-service-link{margin-top:24px}
  .home-service-dots{display:none}
  .home-service-click-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;color:#fff}
  .home-service-click-controls button{border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;padding:14px 16px;display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;font:700 10px/1 Manrope,sans-serif;letter-spacing:.1em;cursor:pointer;transition:.3s}
  .home-service-click-controls button:disabled{opacity:.3;cursor:not-allowed}
  .home-service-click-controls button:not(:disabled):hover{background:var(--service-accent);border-color:var(--service-accent)}
  .home-service-counter{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.home-service-counter strong{font-size:24px}.home-service-counter span{font-size:11px;opacity:.55}
}

@media(max-width:520px){
  .home-services-scroll{padding:72px 16px 28px}
  .home-services-media{aspect-ratio:5/6;border-radius:20px}
  .home-service-image-caption{left:20px;bottom:20px}
  .home-service-copy h2{font-size:clamp(34px,10vw,48px)}
  .home-service-click-controls button{padding:13px 11px}.home-service-click-controls button span{display:none}
}


/* === 2026-09-18 requested home services placement + purple/deep gradient === */
.home-services-scroll{
  background:linear-gradient(135deg,#4E3A82 0%,#352F64 46%,#1D2C4A 100%)!important;
}
.home-services-stage{
  background:
    radial-gradient(circle at 84% 16%,rgba(108,156,185,.18) 0,rgba(108,156,185,0) 24%),
    radial-gradient(circle at 12% 88%,rgba(255,255,255,.07) 0,rgba(255,255,255,0) 24%),
    linear-gradient(135deg,#4E3A82 0%,#352F64 46%,#1D2C4A 100%)!important;
}
.home-services-stage::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.42;
  background:
    radial-gradient(circle at 78% 18%,transparent 0 86px,rgba(255,255,255,.11) 87px 88px,transparent 89px),
    radial-gradient(circle at 78% 18%,transparent 0 145px,rgba(108,156,185,.10) 146px 147px,transparent 148px),
    linear-gradient(115deg,transparent 0 68%,rgba(255,255,255,.035) 68% 68.15%,transparent 68.15% 100%);
}
.home-services-stage::after{
  z-index:1;
  opacity:.34;
  background:repeating-linear-gradient(135deg,transparent 0 28px,rgba(255,255,255,.045) 29px 30px)!important;
}
@media(max-width:900px){
  .home-services-scroll{
    background:
      radial-gradient(circle at 88% 8%,rgba(108,156,185,.18),transparent 24%),
      linear-gradient(145deg,#4E3A82 0%,#352F64 48%,#1D2C4A 100%)!important;
  }
  .home-services-stage{background:transparent!important;}
  .home-services-stage::before{
    display:block;
    opacity:.28;
    background:repeating-linear-gradient(135deg,transparent 0 25px,rgba(255,255,255,.045) 26px 27px);
  }
}


/* === 2026-09-18 About company section: wide content + horizontal image below === */
.about-page .about-company .intro-grid{
  display:flex!important;
  flex-direction:column;
  align-items:stretch;
  gap:46px;
}
.about-page .about-company .intro-grid > div:first-child{
  width:100%;
  max-width:1280px;
  order:1!important;
}
.about-page .about-company .display{
  max-width:1180px;
}
.about-page .about-company .copy{
  max-width:1120px;
}
.about-page .about-company .intro-art{
  width:100%;
  min-height:0!important;
  order:2!important;
  position:relative;
}
.about-page .about-company .intro-art img{
  width:100%!important;
  height:clamp(390px,42vw,590px)!important;
  object-fit:cover;
  object-position:center;
  margin:0!important;
}
.about-page .about-company .intro-art:after{
  width:190px;
  height:190px;
  left:auto;
  right:-28px;
  bottom:-30px;
  border-width:20px;
}
@media(max-width:900px){
  .about-page .about-company{padding:82px 0!important}
  .about-page .about-company .intro-grid{gap:30px}
  .about-page .about-company .intro-grid > div:first-child{order:1!important}
  .about-page .about-company .intro-art{order:2!important;min-height:0!important}
  .about-page .about-company .intro-art img{height:clamp(280px,58vw,430px)!important}
  .about-page .about-company .intro-art:after{width:110px;height:110px;right:-16px;bottom:-18px;border-width:12px}
}
@media(max-width:560px){
  .about-page .about-company .intro-art img{height:280px!important}
  .about-page .about-company .copy{max-width:100%}
}
