
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--orange:#FF6A00;--navy:#001C40;--gray:#808285;--cream:#f4f0e8;--ink:#07111d;--line:rgba(255,255,255,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#07111d;color:#fff;font-family:'DM Sans',sans-serif;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.cursor-dot{position:fixed;width:18px;height:18px;border:1px solid var(--orange);border-radius:50%;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;mix-blend-mode:difference}.site-header{position:fixed;top:0;left:0;width:100%;height:88px;z-index:1000;display:flex;align-items:center;padding:0 3.5vw;border-bottom:1px solid rgba(255,255,255,.11);backdrop-filter:blur(10px);background:linear-gradient(180deg,rgba(0,28,64,.78),rgba(0,28,64,.06));transition:.35s}.site-header.scrolled{height:72px;background:rgba(0,28,64,.94)}.brand{width:190px}.brand img{width:100%;height:54px;object-fit:contain}.desktop-nav{margin-left:auto;display:flex;gap:1.8vw;align-items:center}.nav-link{font-size:12px;text-transform:uppercase;letter-spacing:.12em;position:relative}.nav-link:after{content:'';position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--orange);transition:.3s}.nav-link:hover:after,.nav-link.active:after{width:100%}.header-cta{margin-left:2vw;background:var(--orange);padding:12px 17px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px}.menu-toggle span{display:block;width:24px;height:1px;background:#fff;margin:7px auto}.mobile-menu{position:fixed;inset:0;background:var(--navy);z-index:2000;transform:translateY(-100%);transition:.55s cubic-bezier(.77,0,.18,1);padding:8vh 8vw}.mobile-menu.open{transform:none}.menu-close{position:absolute;right:7vw;top:4vh;background:none;border:0;color:white;font-size:42px}.mobile-menu-links{display:grid;gap:12px;margin-top:8vh}.mobile-menu-links a{font:600 clamp(34px,10vw,64px)/1 'Playfair Display';border-bottom:1px solid rgba(255,255,255,.14);padding:10px 0}.mobile-menu-foot{position:absolute;bottom:6vh;display:flex;gap:24px;color:#b9c1cb}.hero{min-height:100vh;position:relative;background-image:var(--hero);background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:0 6vw 10vh;overflow:hidden}.hero-compact{min-height:78vh}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,28,64,.94) 0%,rgba(0,28,64,.55) 46%,rgba(0,0,0,.1) 100%)}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,10,18,.85),transparent 55%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to right,#000,transparent 70%)}.hero-content{position:relative;z-index:2;max-width:900px}.eyebrow,.section-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--orange);font-weight:700}.hero h1,.split-section h2,.stack-heading h2,.process-title h2,.cta-panel h2,.service-row h2,.location-grid h2,.radius h2,.coming-soon h2,.contact-info h2{font:600 clamp(50px,7vw,108px)/.94 'Playfair Display';letter-spacing:-.04em;margin:18px 0 24px}.hero h1 em,.split-section h2 em,.stack-heading h2 em,.process-title h2 em,.service-row h2 em,.location-grid h2 em,.radius h2 em,.coming-soon h2 em,.contact-info h2 em{color:var(--orange);font-weight:600}.hero-copy{max-width:650px;font-size:16px;line-height:1.7;color:#d8dde3}.hero-actions{display:flex;gap:12px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 20px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;border:1px solid transparent;transition:.25s}.btn-primary{background:var(--orange);color:white}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,106,0,.28)}.btn-ghost{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.05)}.scroll-cue{position:absolute;right:5vw;bottom:8vh;z-index:2;display:flex;align-items:center;gap:14px;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.scroll-cue i{height:58px;width:1px;background:linear-gradient(var(--orange),transparent);animation:scrollLine 1.5s infinite}@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}.hero-index{position:absolute;right:4vw;top:20vh;writing-mode:vertical-rl;z-index:2;font-size:9px;letter-spacing:.25em;color:#c8d0da}.hero-index b{color:var(--orange);margin-top:10px}.split-section{display:grid;grid-template-columns:1fr 2fr;gap:8vw;padding:13vh 6vw;background:#07111d}.split-section h2{font-size:clamp(42px,5.7vw,86px);max-width:900px}.split-section p{max-width:760px;color:#aeb8c4;line-height:1.8;font-size:17px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px;border-top:1px solid rgba(255,255,255,.12);padding-top:28px}.stat-row strong{display:block;font:600 48px 'Playfair Display';color:var(--orange)}.stat-row span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#9aa6b4}.stack-section{padding:12vh 6vw 4vh;background:#001226}.stack-heading{max-width:850px;margin-bottom:8vh}.stack-heading h2{font-size:clamp(44px,6vw,84px)}.stack-cards{max-width:1050px;margin:auto;padding-bottom:20vh}.stack-card{position:sticky;top:110px;display:grid;grid-template-columns:110px 1fr;gap:25px;min-height:290px;padding:48px;background:linear-gradient(145deg,#0a2444,#06182c);border:1px solid rgba(255,255,255,.1);border-radius:22px;margin-bottom:28px;box-shadow:0 24px 70px rgba(0,0,0,.35)}.stack-card:nth-child(2){top:128px}.stack-card:nth-child(3){top:146px}.stack-card:nth-child(4){top:164px}.stack-card>span{font:600 76px 'Playfair Display';color:rgba(255,106,0,.32)}.stack-card h3{font:600 clamp(32px,4vw,58px) 'Playfair Display';margin:8px 0 20px}.stack-card p{color:#aeb8c4;line-height:1.8;max-width:650px}.image-break{min-height:75vh;display:flex;align-items:end;padding:8vh 6vw;position:relative;background-image:linear-gradient(0deg,rgba(0,28,64,.86),rgba(0,0,0,.08)),var(--bg);background-size:cover;background-position:center}.image-break>div{max-width:840px;position:relative}.image-break p{color:var(--orange);text-transform:uppercase;letter-spacing:.18em;font-size:11px}.image-break h2{font:600 clamp(46px,6vw,90px)/1 'Playfair Display';margin:14px 0 25px}.image-break a{border-bottom:1px solid var(--orange);padding-bottom:5px}.process{padding:13vh 6vw;background:#f2eee6;color:var(--ink)}.process-title{display:grid;grid-template-columns:1.5fr .7fr;gap:6vw;align-items:end}.process-title h2{font-size:clamp(48px,6vw,88px)}.process-title p{line-height:1.7;color:#46505b}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid #c8c2b7}.process-grid article{padding:32px 22px;border-right:1px solid #c8c2b7}.process-grid b{color:var(--orange);font-size:12px}.process-grid h3{font:600 30px 'Playfair Display'}.process-grid p{color:#59616a;line-height:1.65}.cta-panel{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:10vh 6vw;background:var(--navy);border-top:1px solid rgba(255,255,255,.1)}.cta-panel h2{font-size:clamp(46px,6vw,90px);margin-bottom:0}.values{padding:0 6vw 12vh;display:grid;grid-template-columns:repeat(3,1fr);background:#07111d}.values article{padding:44px;border:1px solid rgba(255,255,255,.1)}.values span{color:var(--orange)}.values h3{font:600 38px 'Playfair Display'}.values p{color:#aab4c0;line-height:1.7}.service-list{padding:10vh 6vw;background:#f2eee6;color:var(--ink)}.service-row{display:grid;grid-template-columns:70px 1.3fr 1fr 50px;gap:25px;align-items:center;border-top:1px solid #c8c2b7;padding:32px 0}.service-row:last-child{border-bottom:1px solid #c8c2b7}.service-row>span{color:var(--orange);font-size:12px}.service-row h2{font-size:clamp(30px,3vw,48px);margin:0}.service-row p{color:#59616a;line-height:1.6}.service-row i{font-size:28px;color:var(--orange);transition:.3s}.service-row:hover i{transform:translate(8px,-8px)}.marquee{overflow:hidden;background:var(--orange);color:#fff;white-space:nowrap;padding:20px 0;font-weight:700;letter-spacing:.18em}.marquee div{display:inline-block;animation:marquee 25s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;padding:12vh 6vw;background:#f2eee6;color:var(--ink);align-items:center}.location-grid h2{font-size:clamp(46px,6vw,82px)}.location-grid p{color:#59616a;line-height:1.8}.map-card{height:520px;border-radius:22px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.18)}.map-card iframe{width:100%;height:100%;border:0}.radius{display:grid;grid-template-columns:1fr 1.2fr;gap:6vw;align-items:center;padding:12vh 10vw}.radius-ring{width:350px;height:350px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:grid;place-content:center;text-align:center;position:relative}.radius-ring:before,.radius-ring:after{content:'';position:absolute;inset:28px;border:1px dashed rgba(255,106,0,.5);border-radius:50%;animation:spin 18s linear infinite}.radius-ring:after{inset:62px;animation-direction:reverse}.radius-ring span{font:600 100px 'Playfair Display';color:var(--orange)}.radius-ring small{letter-spacing:.18em;text-transform:uppercase}@keyframes spin{to{transform:rotate(360deg)}}.radius h2{font-size:clamp(44px,5.4vw,78px)}.radius p{color:#aeb8c4;line-height:1.8}.portfolio-grid{padding:6vw;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;background:#f2eee6}.portfolio-item{position:relative;border:0;padding:0;background:#ddd;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}.portfolio-item:nth-child(3n+2){aspect-ratio:3/4}.portfolio-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.35) contrast(1.05);transition:.6s transform,.45s filter}.portfolio-hover{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,28,64,.15);opacity:0;transition:.35s}.portfolio-hover b{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--orange);font-size:26px;color:#fff;transform:scale(.6);transition:.35s}.portfolio-item:hover img{transform:scale(1.06);filter:saturate(1) contrast(1)}.portfolio-item:hover .portfolio-hover{opacity:1}.portfolio-item:hover .portfolio-hover b{transform:scale(1)}.lightbox{position:fixed;inset:0;background:rgba(0,10,25,.95);z-index:4000;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.3s;padding:5vw}.lightbox.open{opacity:1;visibility:visible}.lightbox img{max-height:88vh;max-width:90vw;object-fit:contain}.lightbox-close{position:absolute;top:3vh;right:3vw;background:var(--orange);color:#fff;border:0;border-radius:50%;width:48px;height:48px;font-size:28px}.coming-soon{min-height:70vh;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding:10vh 8vw;background:#f2eee6;color:var(--ink)}.video-orbit{width:min(420px,80vw);aspect-ratio:1;border:1px solid #c8c2b7;border-radius:50%;display:grid;place-items:center;position:relative}.video-orbit span{position:absolute;inset:20px;border:1px dashed var(--orange);border-radius:50%;animation:spin 12s linear infinite}.video-orbit b{font:600 54px/1 'Playfair Display';text-align:center}.coming-soon h2{font-size:clamp(46px,6vw,80px)}.coming-soon p{color:#59616a;line-height:1.8}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;padding:12vh 6vw;background:#f2eee6;color:var(--ink)}.contact-info h2{font-size:clamp(48px,5.6vw,78px)}.contact-info>a,.contact-info>div{display:block;padding:17px 0;border-top:1px solid #c8c2b7;font-size:20px}.contact-info small{display:block;color:var(--orange);font-size:10px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:6px}.contact-info p{margin:0}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:40px;background:#fff;border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.08)}.contact-form label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#606974}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #bfc4ca;background:transparent;padding:14px 0;font:inherit;color:var(--ink);outline:none}.contact-form textarea{resize:vertical}.contact-form .full{grid-column:1/-1}.form-note{font-size:11px;color:#808285;margin:0}.whatsapp,.backtop{position:fixed;right:22px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;z-index:900;border:0}.whatsapp{bottom:22px;background:#25D366;color:white;font-size:11px;font-weight:800}.backtop{bottom:78px;background:var(--orange);color:white;cursor:pointer}.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:1050px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:block;margin-left:auto}.brand{width:190px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.location-grid,.contact-layout{grid-template-columns:1fr}.map-card{height:440px}}
@media(max-width:700px){.cursor-dot{display:none}.site-header{height:72px;padding:0 5vw}.brand{width:190px}.hero,.hero-compact{min-height:88svh;padding:0 6vw 11vh;background-position:center}.hero h1{font-size:clamp(46px,14vw,72px)}.hero-copy{font-size:14px}.hero-actions{flex-wrap:wrap}.hero-index,.scroll-cue{display:none}.split-section{grid-template-columns:1fr;padding:10vh 6vw;gap:20px}.split-section h2{font-size:clamp(40px,12vw,58px)}.stat-row{grid-template-columns:1fr}.stack-section{padding:10vh 5vw 3vh}.stack-card{grid-template-columns:1fr;padding:28px;top:90px;min-height:300px}.stack-card:nth-child(n){top:90px}.stack-card>span{font-size:52px}.image-break{min-height:68vh}.process{padding:10vh 6vw}.process-title{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.process-grid article{border-right:0;border-bottom:1px solid #c8c2b7}.cta-panel{align-items:flex-start;flex-direction:column;padding:9vh 6vw}.values{grid-template-columns:1fr;padding:0 6vw 9vh}.service-row{grid-template-columns:44px 1fr 34px}.service-row p{grid-column:2/4}.service-row h2{font-size:34px}.location-grid{padding:9vh 6vw}.map-card{height:360px}.radius{grid-template-columns:1fr;padding:9vh 6vw}.radius-ring{width:280px;height:280px;margin:auto}.radius-ring span{font-size:78px}.portfolio-grid{grid-template-columns:repeat(2,1fr);padding:10px;gap:10px}.portfolio-item:nth-child(n){aspect-ratio:1/1}.coming-soon{grid-template-columns:1fr;padding:9vh 6vw}.contact-layout{padding:9vh 6vw}.contact-form{grid-template-columns:1fr;padding:25px}.contact-form .full{grid-column:auto}.contact-info>a{font-size:16px;word-break:break-word}.footer{grid-template-columns:1fr!important}.footer-bottom{grid-column:1!important;flex-direction:column;gap:8px}}
.footer{display:grid;grid-template-columns:1.3fr .7fr 1fr .8fr;gap:5vw;padding:9vh 6vw 4vh;background:#040b13;color:#aab4c0}.footer h4{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.16em}.footer a,.footer span{display:block;margin:10px 0;font-size:13px}.footer-logo{width:190px;margin-bottom:20px}.footer p{max-width:340px;line-height:1.7}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;margin-top:30px;display:flex;justify-content:space-between;color:#707b87}


/* 2026-09 immersive refinements */
.topbar{position:fixed;top:0;left:0;width:100%;height:34px;z-index:1100;display:flex;align-items:center;justify-content:space-between;padding:0 3.5vw;font-size:10px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid rgba(255,255,255,.14);color:#e5e8ec;background:transparent}.topbar>div{display:flex;gap:22px}.topbar a,.topbar span{display:flex;align-items:center;gap:7px}.topbar i{color:var(--orange)}
.site-header,.site-header.scrolled{top:34px;height:86px!important;background:transparent!important;background-image:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:none!important}.site-header.scrolled{transform:none}.desktop-nav .nav-link{display:flex;align-items:center;gap:6px}.desktop-nav .nav-link i{font-size:10px;color:var(--orange);opacity:.85}.header-cta{margin-left:2vw;background:transparent;padding:0;border-radius:0}
.btn-industrial{position:relative;isolation:isolate;display:inline-flex!important;align-items:center;justify-content:center;gap:13px;min-height:48px;padding:0 21px!important;border:1px solid currentColor!important;border-radius:0!important;overflow:hidden;font-weight:800;text-transform:uppercase;letter-spacing:.095em;transition:color .35s ease,transform .25s ease!important;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}.btn-industrial:before{content:'';position:absolute;z-index:-1;inset:0;background:var(--orange);transform:translateX(-103%);transition:transform .35s cubic-bezier(.77,0,.18,1)}.btn-industrial:hover:before{transform:none}.btn-industrial:hover{color:#fff!important;transform:translateY(-2px)}.btn-industrial i{transition:transform .3s}.btn-industrial:hover i{transform:translateX(4px)}.btn-primary.btn-industrial{background:var(--orange);border-color:var(--orange)!important}.btn-primary.btn-industrial:before{background:var(--navy)}.btn-ghost.btn-industrial:before{background:var(--orange)}
.hero-video{background:none!important}.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-video:before{z-index:1}.hero-video .hero-shade,.hero-video .hero-grid{z-index:1}.hero-video .hero-content,.hero-video .scroll-cue,.hero-video .hero-index{z-index:3}.hero h1,.hero-title{font-size:clamp(78px,8.4vw,152px)!important;line-height:.87;letter-spacing:-.055em;max-width:1100px}.hero h1 em{font-weight:600}.hero h1 strong{font-weight:800}.hero-copy{font-size:16px;max-width:720px}
.title-animate .char{display:inline-block;opacity:0;transform:translateY(.8em) rotate(3deg);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.title-animate.in .char{opacity:1;transform:none}.title-animate em{color:var(--orange);font-style:italic}.title-animate strong{font-weight:800;color:#fff}.welcome-copy strong,.home-services strong,.why-copy strong{color:var(--navy)}
.welcome-section{display:grid;grid-template-columns:1.05fr .95fr;min-height:78vh;background:#f2eee6;color:var(--ink);align-items:stretch}.welcome-media{min-height:640px;overflow:hidden}.welcome-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:transform 1s ease,filter .5s}.welcome-media:hover img{transform:scale(1.025);filter:saturate(1)}.welcome-copy{padding:10vh 7vw;display:flex;flex-direction:column;justify-content:center}.welcome-copy h2,.home-about h2,.faq-section h2,.why-choose h2,.about-map h2,.contact-map h2,.cities-section h2{font:600 clamp(48px,5.8vw,88px)/.98 'Playfair Display';margin:15px 0 25px;letter-spacing:-.035em}.welcome-copy p,.home-about p,.why-copy p,.cities-head p{color:#59616a;line-height:1.8;max-width:680px}.welcome-copy .btn{align-self:flex-start;margin-top:20px}.fact-rail{overflow:hidden;background:var(--orange);transform:rotate(-1.35deg);margin:-18px -2vw 0;padding:17px 0;position:relative;z-index:8}.fact-track{display:flex;width:max-content;gap:58px;align-items:center;animation:factRail 28s linear infinite;white-space:nowrap}.fact-track span{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.fact-track i{font-size:16px}.fact-track b{font-size:15px}@keyframes factRail{to{transform:translateX(-50%)}}
.home-services{padding:12vh 6vw;background:#081421}.service-image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:55px}.service-image-card{position:relative;min-height:560px;overflow:hidden;background:#10233a}.service-image-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.45) brightness(.55);transition:.65s}.service-image-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,28,64,.98),rgba(0,28,64,.1) 70%)}.service-image-card>div{position:absolute;inset:auto 0 0;z-index:2;padding:30px}.service-image-card span{position:absolute;right:26px;top:-70px;font:600 64px 'Playfair Display';color:rgba(255,255,255,.22)}.service-image-card i{font-size:28px;color:var(--orange);margin-bottom:18px}.service-image-card h3{font:600 31px/1.02 'Playfair Display';margin:0 0 12px}.service-image-card p{color:#c4cbd3;line-height:1.6;font-size:13px}.service-image-card:hover img{transform:scale(1.07);filter:saturate(1) brightness(.65)}.services-center{text-align:center;margin-top:42px}
.home-about{display:grid;grid-template-columns:1fr 1fr;background:#f2eee6;color:var(--ink);min-height:80vh}.home-about-copy{padding:11vh 7vw;display:flex;flex-direction:column;justify-content:center}.home-about-media{min-height:650px;background-image:var(--bg);background-size:cover;background-position:center}.mission-vision{display:grid;grid-template-columns:1fr 1fr;background:var(--navy)}.mission-vision article{padding:9vh 8vw;border-right:1px solid rgba(255,255,255,.12);position:relative;overflow:hidden}.mission-vision article:last-child{border-right:0}.mission-vision article:before{content:'';position:absolute;width:230px;height:230px;border:1px solid rgba(255,106,0,.18);border-radius:50%;right:-80px;top:-80px}.mission-vision i{font-size:32px;color:var(--orange);margin-bottom:28px}.mission-vision span{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--orange)}.mission-vision h3{font:600 clamp(34px,4vw,58px)/1 'Playfair Display';margin:16px 0}.mission-vision p{color:#abb6c2;line-height:1.75}
.faq-section{padding:12vh 8vw;background:#f2eee6;color:var(--ink);display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.faq-list{border-top:1px solid #c9c2b8}.faq-item{border-bottom:1px solid #c9c2b8}.faq-item button{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:none;border:0;padding:27px 0;font:700 20px 'DM Sans';color:var(--ink);cursor:pointer}.faq-item button i{color:var(--orange);transition:.3s}.faq-item p{max-height:0;overflow:hidden;margin:0;color:#59616a;line-height:1.7;transition:max-height .45s ease,padding .45s ease}.faq-item.open p{max-height:180px;padding:0 0 25px}.faq-item.open button i{transform:rotate(45deg)}
.why-choose{display:grid;grid-template-columns:1fr 1fr;background:#f2eee6;color:var(--ink);min-height:85vh}.why-image{background-image:var(--bg);background-size:cover;background-position:center}.why-copy{padding:10vh 7vw}.choose-list{margin-top:35px}.choose-list>div{display:grid;grid-template-columns:44px 1fr;gap:3px 14px;border-top:1px solid #c8c2b7;padding:19px 0}.choose-list i{grid-row:1/3;color:var(--orange);font-size:21px;padding-top:4px}.choose-list b{font-size:16px}.choose-list span{color:#66707a;font-size:13px}.about-process .process-grid article i{color:var(--orange);font-size:22px;margin-bottom:15px}.diagonal-marquee{overflow:hidden;background:var(--orange);color:#fff;white-space:nowrap;padding:20px 0;font-weight:800;letter-spacing:.16em;transform:rotate(-2deg);margin:15px -3vw 55px}.diagonal-marquee div{display:inline-block;animation:marquee 22s linear infinite}.about-map,.contact-map{display:grid;grid-template-columns:.85fr 1.15fr;gap:6vw;align-items:center;padding:11vh 6vw;background:#f2eee6;color:var(--ink)}.contact-map{background:#07111d;color:#fff}.contact-map p{color:#adb7c2}
.cities-section{padding:11vh 7vw;background:#f2eee6;color:var(--ink)}.cities-head{max-width:900px}.city-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c8c2b7;margin-top:45px}.city-grid span{padding:19px 12px;border-bottom:1px solid #c8c2b7;border-right:1px solid #c8c2b7;font-weight:700}.city-grid span:nth-child(4n){border-right:0}.city-grid span:first-child{color:var(--orange)}.cities-note{margin-top:24px;color:#68717b;font-size:13px}.cities-note i{color:var(--orange);margin-right:8px}
.contact-form-embed{height:780px;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.08)}.contact-form-embed iframe{min-height:748px}.contact-info>div p i{color:var(--orange);width:28px}.footer{grid-template-columns:1.15fr .65fr 1fr 1fr .8fr}.footer a i,.footer span i{width:18px;color:var(--orange)}.whatsapp,.backtop{font-size:18px}.lightbox-close{font-size:20px}
@media(max-width:1050px){.topbar{padding:0 5vw}.topbar>div:last-child{display:none}.service-image-grid{grid-template-columns:repeat(2,1fr)}.welcome-section,.home-about,.why-choose,.faq-section,.about-map,.contact-map{grid-template-columns:1fr}.welcome-media,.home-about-media,.why-image{min-height:520px}.faq-section{gap:30px}.footer{grid-template-columns:repeat(2,1fr)}.city-grid{grid-template-columns:repeat(3,1fr)}.city-grid span:nth-child(4n){border-right:1px solid #c8c2b7}.city-grid span:nth-child(3n){border-right:0}}
@media(max-width:700px){.topbar{height:31px;font-size:9px;letter-spacing:.06em}.topbar>div:first-child{width:100%;justify-content:space-between;gap:8px}.topbar a:nth-child(2){display:none}.site-header,.site-header.scrolled{top:31px;height:68px!important}.hero,.hero-compact{padding-top:80px}.hero h1,.hero-title{font-size:clamp(52px,16.5vw,82px)!important;line-height:.9}.service-image-grid{grid-template-columns:1fr}.service-image-card{min-height:460px}.welcome-copy,.home-about-copy,.why-copy{padding:9vh 6vw}.welcome-media,.home-about-media,.why-image{min-height:400px}.welcome-copy h2,.home-about h2,.faq-section h2,.why-choose h2,.about-map h2,.contact-map h2,.cities-section h2{font-size:clamp(42px,12vw,62px)}.mission-vision{grid-template-columns:1fr}.mission-vision article{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:8vh 6vw}.faq-section{padding:9vh 6vw}.city-grid{grid-template-columns:repeat(2,1fr)}.city-grid span:nth-child(3n){border-right:1px solid #c8c2b7}.city-grid span:nth-child(2n){border-right:0}.contact-form-embed{height:800px}.footer{grid-template-columns:1fr}.desktop-nav .nav-link i{display:none}}


/* ===== 2026-09-10 refinement pass ===== */
.site-header,.site-header.scrolled{top:34px!important;height:88px!important;background:transparent!important;background-image:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:0!important;box-shadow:none!important}
.site-header .brand{width:200px!important}
.site-header .brand img{height:60px!important}
.topbar{transition:transform .42s ease,opacity .32s ease!important}
.site-header{transition:transform .42s ease,opacity .32s ease!important}
.topbar.header-hidden,.site-header.header-hidden{transform:translateY(-140%);opacity:0;pointer-events:none}
.header-cta,.header-cta.btn-industrial{background:var(--orange)!important;color:#fff!important;border-color:var(--orange)!important;padding:0 18px!important}
.header-cta.btn-industrial:before{background:var(--navy)!important}
.nav-link,.topbar a,.footer a,.contact-info>a,.mobile-menu a,.image-break a{transition:color .25s ease}
.nav-link:hover,.topbar a:hover,.footer a:hover,.contact-info>a:hover,.mobile-menu a:hover,.image-break a:hover{color:var(--orange)}
.hero h1,.hero-title{font-size:clamp(70px,7vw,132px)!important;line-height:.9!important;max-width:1000px}
@media(max-width:700px){.hero h1,.hero-title{font-size:clamp(48px,14vw,72px)!important}}
.home-about{grid-template-columns:1.05fr .95fr}
.home-about .title-animate strong{color:#8e949b!important}
.home-about-media{position:relative;overflow:hidden;background-position:center center!important}
.home-about-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,0));pointer-events:none}
/* immersive process */
.process.process-immersive{padding:12vh 6vw;background:#07111d;color:#fff}
.process.process-immersive .section-kicker{margin-bottom:26px}
.process-shell{display:grid;grid-template-columns:minmax(300px,.85fr) 88px minmax(340px,.95fr);gap:3.2vw;align-items:start}
.process-aside{position:sticky;top:120px}
.process-aside h2{font:600 clamp(54px,5.2vw,84px)/.98 'DM Sans',sans-serif;letter-spacing:-.04em;margin:14px 0 18px;max-width:560px}
.process-aside p{max-width:520px;color:#c3ccd6;line-height:1.75}
.process-aside .btn{margin:26px 0 30px}
.process-media-card{position:relative;overflow:hidden;border-radius:24px;background:#0d1824;border:1px solid rgba(255,255,255,.08);box-shadow:0 26px 80px rgba(0,0,0,.35);margin-top:12px}
.process-media-card img{width:100%;height:min(440px,38vw);object-fit:cover;display:block}
.process-media-badge{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;gap:14px;background:rgba(8,16,28,.72);backdrop-filter:blur(8px);padding:14px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.12)}
.process-media-badge i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff}
.process-media-badge strong{display:block;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.process-media-badge span{display:block;color:#c3ccd6;font-size:12px}
.process-timeline{position:sticky;top:140px;height:calc(100vh - 180px);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:20px 0}
.process-line,.process-line-progress{position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translateX(-50%)}
.process-line{background:linear-gradient(180deg,rgba(255,106,0,.55),rgba(255,255,255,.08))}
.process-line-progress{top:0;bottom:auto;height:25%;background:var(--orange);box-shadow:0 0 24px rgba(255,106,0,.45);transition:height .35s ease}
.process-dot{position:relative;z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,106,0,.45);background:#091423;color:#b8c5d3;display:grid;place-items:center;box-shadow:0 0 0 10px rgba(7,17,29,1);transition:transform .25s ease,background .25s ease,color .25s ease}
.process-dot.active,.process-dot:hover{background:var(--orange);color:#fff;transform:scale(1.08)}
.process-cards{display:flex;flex-direction:column;gap:28px;padding:12px 0}
.process-step{min-height:245px;padding:34px 30px;border-radius:26px;background:linear-gradient(180deg,#091423,#07111d);border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 65px rgba(0,0,0,.24);opacity:.55;transform:translateY(18px) scale(.98);transition:opacity .32s ease,transform .32s ease,border-color .32s ease,box-shadow .32s ease}
.process-step.active{opacity:1;transform:none;border-color:rgba(255,106,0,.5);box-shadow:0 20px 75px rgba(0,0,0,.28),0 0 0 1px rgba(255,106,0,.18) inset}
.process-step small{display:block;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:14px}
.process-step h3{font:600 clamp(30px,3.1vw,42px)/1.02 'DM Sans',sans-serif;letter-spacing:-.03em;margin:0 0 12px}
.process-step p{color:#c3ccd6;line-height:1.74;margin:0 0 26px}
.process-mini{display:inline-flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.process-mini i{color:var(--orange)}
.process-mobile-controls{display:none;align-items:center;justify-content:center;gap:14px;margin-top:26px}
.process-prev,.process-next{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,106,0,.45);background:transparent;color:#fff}
.process-mobile-status{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#d7dee6}
/* Home collage portfolio */
.home-portfolio-collage{padding:12vh 6vw;background:#f2eee6;color:var(--ink)}
.home-portfolio-collage .collage-copy{max-width:820px}
.home-portfolio-collage h2{font:600 clamp(48px,5.6vw,90px)/.97 'Playfair Display';margin:16px 0 18px;letter-spacing:-.04em}
.home-portfolio-collage p{color:#59616a;line-height:1.8;max-width:680px}
.collage-stage{height:180vh;position:relative;margin-top:44px}
.collage-sticky{position:sticky;top:110px;height:76vh;min-height:580px;border-radius:28px;background:linear-gradient(145deg,#e9e3d9,#ddd4c7);overflow:hidden;border:1px solid #c9c0b4;box-shadow:0 24px 70px rgba(0,0,0,.12)}
.collage-surface{position:absolute;inset:0;background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.9),transparent 22%),linear-gradient(180deg,rgba(255,255,255,.28),rgba(0,0,0,.02)),linear-gradient(145deg,#e8e1d4,#ddd4c7)}
.collage-card{position:absolute;width:22%;max-width:245px;aspect-ratio:4/5;border:14px solid #fff!important;box-shadow:0 18px 45px rgba(0,0,0,.18);background:#fff!important;opacity:0;transform:translateY(40px) scale(.82) rotate(var(--rot));transition:opacity .5s ease,transform .5s cubic-bezier(.2,.65,.2,1)!important}
.collage-card.show{opacity:1;transform:translateY(0) scale(1) rotate(var(--rot))}
.collage-card img{filter:saturate(.6) contrast(1.02)!important}
.collage-card:hover img{filter:saturate(1) contrast(1.02)!important}
.collage-card:nth-child(2){--rot:-9deg;left:4%;top:12%;width:17%}
.collage-card:nth-child(3){--rot:7deg;left:15%;top:40%;width:18%}
.collage-card:nth-child(4){--rot:-3deg;left:28%;top:10%;width:19%}
.collage-card:nth-child(5){--rot:6deg;left:41%;top:35%;width:20%}
.collage-card:nth-child(6){--rot:-6deg;left:56%;top:12%;width:18%}
.collage-card:nth-child(7){--rot:8deg;left:70%;top:42%;width:17%}
.collage-card:nth-child(8){--rot:-8deg;left:78%;top:12%;width:16%}
.collage-card:nth-child(9){--rot:5deg;left:53%;top:50%;width:18%}
.collage-card:nth-child(10){--rot:-4deg;left:31%;top:50%;width:17%}
.collage-card:nth-child(11){--rot:4deg;left:66%;top:58%;width:17%}
.collage-card:nth-child(12){--rot:-10deg;left:9%;top:58%;width:16%}
@media(max-width:1050px){
  .process-shell{grid-template-columns:1fr;gap:28px}
  .process-aside{position:relative;top:auto}
  .process-timeline{order:2;position:relative;top:auto;height:90px;flex-direction:row;padding:0 18px}
  .process-line,.process-line-progress{top:50%;bottom:auto;left:0;right:0;width:auto;height:1px;transform:none}
  .process-line-progress{width:25%;height:1px}
  .process-cards-wrap{order:3}
  .collage-stage{height:130vh}
  .collage-card{width:24%}
}
@media(max-width:700px){
  .process.process-immersive{padding:9vh 6vw}
  .process-aside h2{font-size:clamp(42px,12vw,60px)}
  .process-media-card img{height:320px}
  .process-timeline{display:none}
  .process-cards-wrap{overflow:hidden}
  .process-cards{flex-direction:row;gap:0;transition:transform .4s ease}
  .process-step{min-width:100%;margin:0;opacity:1;transform:none;border-color:rgba(255,255,255,.08)}
  .process-mobile-controls{display:flex}
  .home-portfolio-collage{padding:9vh 6vw}
  .collage-stage{height:auto;margin-top:26px}
  .collage-sticky{position:relative;top:auto;height:520px;min-height:520px}
  .collage-card{opacity:1;transform:scale(.85) rotate(var(--rot));animation:collageSettle .8s forwards;animation-delay:calc(var(--i,1) * .09s)}
  .collage-card:nth-child(2){left:5%;top:12%;width:27%}
  .collage-card:nth-child(3){left:22%;top:33%;width:30%}
  .collage-card:nth-child(4){left:50%;top:10%;width:30%}
  .collage-card:nth-child(5){left:62%;top:34%;width:28%}
  .collage-card:nth-child(6){left:12%;top:56%;width:28%}
  .collage-card:nth-child(7){left:40%;top:56%;width:28%}
  .collage-card:nth-child(8){left:68%;top:58%;width:23%}
  .collage-card:nth-child(9),.collage-card:nth-child(10),.collage-card:nth-child(11),.collage-card:nth-child(12){display:none}
}
@keyframes collageSettle{from{opacity:0;transform:translateY(26px) scale(.72) rotate(calc(var(--rot) * .4))}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--rot))}}


/* ===== 2026-09-10 refinement pass B ===== */
.site-header .brand{width:200px!important;flex:0 0 200px!important}
.site-header .brand img{width:200px!important;height:auto!important;max-height:none!important;display:block}
.desktop-nav{gap:1.2vw!important}
.hero .scroll-cue{display:none!important}
.topbar,.topbar *{font-weight:800!important}
.fact-track span,.fact-track b{font-weight:800!important;font-size:13px!important}
.fact-track b{font-size:13px!important}
.intro-enhanced{grid-template-columns:.95fr 1.25fr!important;align-items:center;gap:6vw!important}
.intro-side{display:flex;flex-direction:column;gap:30px}
.intro-side .section-kicker{margin-bottom:0}
.mini-collage{position:relative;height:290px;max-width:360px}
.mini-shot{position:absolute;margin:0;background:#fff;padding:10px;box-shadow:0 18px 36px rgba(0,0,0,.14)}
.mini-shot img{width:100%;height:100%;object-fit:cover;display:block}
.mini-shot.shot-a{width:220px;height:260px;left:0;top:0;transform:rotate(-7deg)}
.mini-shot.shot-b{width:200px;height:228px;right:18px;bottom:0;transform:rotate(7deg)}
.intro-content p{max-width:780px}
.home-services-rebuilt{padding:12vh 6vw;background:#081421}
.home-services-rebuilt .services-intro{max-width:760px;color:#b9c4cf;line-height:1.8;margin-top:8px}
.services-panel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:44px}
.service-panel{display:grid;grid-template-columns:220px 1fr;gap:22px;align-items:stretch;background:#f2eee6;color:var(--ink);border:1px solid rgba(255,255,255,.08);min-height:260px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.service-panel img{width:100%;height:100%;object-fit:cover}
.service-panel-copy{padding:28px 28px 28px 6px;display:flex;flex-direction:column;justify-content:center}
.service-panel-copy span{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--orange);color:#fff;font-weight:800;font-size:12px;letter-spacing:.08em;margin-bottom:14px}
.service-panel-copy h3{font:600 clamp(28px,2.6vw,38px)/1 'Playfair Display';margin:0 0 12px;color:var(--navy)}
.service-panel-copy p{margin:0;color:#4e5862;line-height:1.75}
.accent-panel{grid-template-columns:1fr;background:linear-gradient(145deg,#10233a,#081421);color:#fff;border:1px solid rgba(255,106,0,.25)}
.accent-panel .service-panel-copy{padding:36px}
.accent-panel .service-panel-copy h3{color:#fff}
.accent-panel .service-panel-copy p{color:#c6cfda}
.accent-panel .btn{align-self:flex-start;margin-top:18px}
.process-aside h2{font-size:clamp(60px,5.6vw,92px)!important;line-height:.95!important}
.process-media-card img{height:min(480px,42vw)!important}
.process-timeline{height:calc(100vh - 120px)!important;padding:28px 0!important}
.process-step{min-height:230px!important}
.home-portfolio-collage{padding:12vh 6vw;background:#f2eee6;color:var(--ink)!important}
.collage-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:4vw;align-items:start}
.collage-copy{position:sticky;top:115px;align-self:start;padding-top:20px}
.collage-copy h2{font:600 clamp(52px,5.6vw,88px)/.97 'Playfair Display';margin:16px 0 18px;letter-spacing:-.04em}
.collage-copy p{color:#59616a;line-height:1.8;max-width:520px}
.collage-stage{height:210vh;position:relative;margin-top:0}
.collage-sticky{position:sticky;top:88px;height:82vh;min-height:640px;border-radius:0;background:transparent!important;overflow:visible!important;border:0!important;box-shadow:none!important}
.collage-surface{display:none!important}
.collage-card{max-width:none!important;aspect-ratio:4/5;border:8px solid #fff!important;box-shadow:0 18px 45px rgba(0,0,0,.16)!important;background:#fff!important;opacity:0;transform:translateY(44px) scale(.82) rotate(var(--rot));transition:opacity .5s ease,transform .5s cubic-bezier(.2,.65,.2,1)!important}
.collage-card.show{opacity:1;transform:translateY(0) scale(1) rotate(var(--rot))}
.collage-card .portfolio-hover{background:rgba(0,28,64,.08)!important}
.collage-card img{filter:saturate(.55) contrast(1.02)!important}
@media(max-width:1150px){
  .services-panel-grid{grid-template-columns:1fr}
  .service-panel{grid-template-columns:210px 1fr}
  .collage-layout{grid-template-columns:1fr}
  .collage-copy{position:relative;top:auto;padding-top:0}
  .collage-stage{height:150vh}
}
@media(max-width:700px){
  .site-header .brand{width:200px!important;flex:0 0 200px!important}
  .site-header .brand img{width:200px!important}
  .topbar{font-size:8.5px!important}
  .intro-enhanced{grid-template-columns:1fr!important}
  .mini-collage{height:240px;max-width:300px}
  .mini-shot.shot-a{width:180px;height:205px}
  .mini-shot.shot-b{width:160px;height:185px}
  .service-panel{grid-template-columns:1fr}
  .service-panel img{height:220px}
  .service-panel-copy{padding:22px}
  .process-aside h2{font-size:clamp(46px,13vw,64px)!important}
  .process-media-card img{height:300px!important}
  .collage-stage{height:auto;margin-top:22px}
  .collage-sticky{position:relative;top:auto;height:560px;min-height:560px}
  .collage-card{border-width:7px!important;opacity:1!important;transform:scale(.85) rotate(var(--rot))!important;animation:collageSettle .8s forwards;animation-delay:calc(var(--i,1) * .09s)}
  .collage-card:nth-child(1){left:6%!important;top:8%!important;width:32%!important}
  .collage-card:nth-child(2){left:23%!important;top:36%!important;width:30%!important}
  .collage-card:nth-child(3){left:48%!important;top:8%!important;width:31%!important}
  .collage-card:nth-child(4){left:63%!important;top:34%!important;width:29%!important}
  .collage-card:nth-child(5){left:14%!important;top:58%!important;width:29%!important}
  .collage-card:nth-child(6){left:41%!important;top:58%!important;width:29%!important}
  .collage-card:nth-child(7){left:69%!important;top:58%!important;width:22%!important}
  .collage-card:nth-child(n+8){display:none!important}
}

.diagonal-marquee,.diagonal-marquee div,.diagonal-marquee *{font-weight:800!important}

/* ===== 2026-09-10 refinement pass C ===== */
.topbar{
  justify-content:flex-end!important;
  padding:8px 3vw!important;
  min-height:42px;
}
.topbar-right{
  width:100%;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
  text-align:right;
}
.topbar-right a,.topbar-right span{font-weight:800!important;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.site-header,.site-header.scrolled{top:56px!important;padding-top:10px!important;padding-bottom:10px!important;min-height:96px!important}
.site-header .brand,.site-header .brand img{width:200px!important}
.site-header .brand img{height:auto!important;display:block}
.hero .scroll-cue,.hero-compact .scroll-cue{display:none!important}
.hero-compact .hero-content{padding-top:30px!important}
.hero-compact h1,.hero-compact .title-animate{font-size:clamp(50px,5vw,74px)!important;max-width:820px;line-height:.96!important}
.hero-compact .hero-index{opacity:.8}

/* intro collage adjustments */
.intro-enhanced{align-items:center!important}
.mini-collage{max-width:470px!important;height:360px!important}
.mini-shot{padding:0!important;background:transparent!important;box-shadow:0 22px 48px rgba(0,0,0,.16)!important;border-radius:0!important;overflow:hidden}
.mini-shot img{border-radius:0!important}
.mini-shot.shot-a{width:280px!important;height:325px!important;left:0;top:0;transform:rotate(-5deg)!important}
.mini-shot.shot-b{width:250px!important;height:290px!important;right:0!important;bottom:0!important;transform:rotate(6deg)!important}
.home-about h2{font-size:clamp(44px,4.6vw,72px)!important;line-height:1.02!important}

/* built to support section */
.image-break{background-position:center center!important}
.image-break h2{max-width:980px!important}

/* mission vision richer background */
.mission-vision{position:relative;overflow:hidden;background:radial-gradient(circle at 18% 16%,rgba(255,106,0,.16),transparent 24%),radial-gradient(circle at 83% 22%,rgba(0,28,64,.22),transparent 28%),linear-gradient(145deg,#eef0f3 0%,#f6f2ea 48%,#ede7dc 100%)!important}
.mission-vision::before,.mission-vision::after{content:'';position:absolute;border-radius:50%;pointer-events:none}
.mission-vision::before{width:420px;height:420px;right:-120px;top:-140px;border:1px solid rgba(255,106,0,.16);box-shadow:0 0 0 42px rgba(255,106,0,.04),0 0 0 88px rgba(0,28,64,.03)}
.mission-vision::after{width:320px;height:320px;left:-120px;bottom:-120px;border:1px solid rgba(0,28,64,.1);box-shadow:0 0 0 28px rgba(0,28,64,.03),0 0 0 64px rgba(255,106,0,.03)}
.mission-vision article{position:relative;z-index:1;backdrop-filter:blur(1.5px)}

/* sticky kicker with process title */
.process.process-immersive .section-kicker{margin-bottom:14px!important;position:relative!important;top:auto!important}
.process-aside{top:112px!important;align-self:start}
.process-aside h2{font-size:clamp(58px,5vw,88px)!important;max-width:600px}
.process-step h3{font-size:clamp(28px,2.8vw,38px)!important}

/* about story image */
.story-split{display:grid;grid-template-columns:.95fr 1.05fr;gap:4vw;align-items:center}
.story-media{min-height:540px;border-radius:26px;background-size:cover;background-position:center;box-shadow:0 24px 54px rgba(0,0,0,.16)}
.story-copy p{max-width:700px}

/* about diagonal marquee loop */
.diagonal-marquee{overflow:hidden;position:relative}
.diagonal-marquee div{display:inline-block;white-space:nowrap;min-width:max-content;animation:marqueeLoop 22s linear infinite;font-weight:800!important}
@keyframes marqueeLoop{from{transform:translateX(0)}to{transform:translateX(-25%)}}

/* locations radius/contact section */
.contact-radius-panel{display:grid;grid-template-columns:170px 1fr;gap:3vw;align-items:center}
.radius-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.radius-contact-grid a,.radius-contact-grid>div{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border:1px solid rgba(0,28,64,.09);background:#fff;color:var(--navy);text-decoration:none;box-shadow:0 12px 28px rgba(0,0,0,.05)}
.radius-contact-grid i{color:var(--orange);font-size:18px;margin-top:4px}
.radius-contact-grid small{display:block;text-transform:uppercase;letter-spacing:.12em;color:#808285;font-size:11px;font-weight:800}
.radius-contact-grid strong{display:block;font-size:15px;line-height:1.45;color:var(--navy)}

/* dynamic cities */
.cities-dynamic{position:relative;overflow:hidden;background:linear-gradient(180deg,#081421 0%,#0a1830 58%,#081421 100%)!important;color:#fff;padding:12vh 6vw!important}
.cities-dynamic::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 16%,rgba(255,106,0,.15),transparent 20%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.05),transparent 20%)}
.cities-dynamic > *{position:relative;z-index:1}
.cities-dynamic .cities-head p,.cities-dynamic .cities-head .eyebrow{color:#d6dee7!important}
.cities-dynamic .cities-head h2,.cities-dynamic .cities-head p:not(.eyebrow){color:#fff!important}
.cities-motion{margin:38px 0 26px;display:grid;gap:14px}
.city-marquee{overflow:hidden;padding:8px 0}
.city-marquee div{display:flex;gap:14px;width:max-content;white-space:nowrap}
.city-marquee span{display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);box-shadow:0 10px 24px rgba(0,0,0,.16)}
.city-marquee span i{color:var(--orange)}
.city-marquee-a div{animation:cityMoveA 26s linear infinite}
.city-marquee-b div{animation:cityMoveB 30s linear infinite}
@keyframes cityMoveA{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes cityMoveB{from{transform:translateX(-25%)}to{transform:translateX(0)}}
.cities-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.cities-feature-grid article{padding:26px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px);box-shadow:0 14px 34px rgba(0,0,0,.18)}
.cities-feature-grid i{font-size:24px;color:var(--orange);margin-bottom:14px}
.cities-feature-grid h3{font:600 26px/1.05 'Playfair Display';margin:0 0 10px}
.cities-feature-grid p{color:#d6dee7;margin:0;line-height:1.7}

/* portfolio masonry tighter */
.portfolio-grid{padding:10vh 4vw!important}
.portfolio-grid .grid-head{max-width:760px;margin:0 auto 40px!important;text-align:center}
.masonry-grid{column-count:3;column-gap:14px}
.masonry-grid .portfolio-item{width:100%;display:block;break-inside:avoid;margin:0 0 14px;background:transparent!important;border-radius:0!important}
.masonry-grid .portfolio-item img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover}

/* home portfolio layout improvements */
.collage-copy{top:128px!important}
.collage-copy h2{max-width:520px}
.collage-sticky{height:84vh!important;min-height:680px!important}
.collage-card{border-width:6px!important;box-shadow:0 16px 34px rgba(0,0,0,.14)!important}
.collage-card img{aspect-ratio:4/5;object-fit:cover}

/* videos coming soon dynamic */
.coming-soon{position:relative;overflow:hidden;align-items:center;background:linear-gradient(145deg,#07111d 0%,#10233a 44%,#07111d 100%)!important}
.coming-soon::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,106,0,.2),transparent 18%),radial-gradient(circle at 80% 72%,rgba(255,255,255,.06),transparent 14%)}
.coming-soon > *{position:relative;z-index:1}
.video-orbit{width:360px!important;height:360px!important;border-width:1px!important;animation:spinSlow 16s linear infinite}
.video-orbit::before,.video-orbit::after{content:'';position:absolute;border-radius:50%;inset:18px;border:1px dashed rgba(255,255,255,.16)}
.video-orbit::after{inset:52px;border-color:rgba(255,106,0,.22)}
.video-orbit b{font-size:64px!important;line-height:.9!important;letter-spacing:.08em;color:#fff;text-shadow:0 8px 28px rgba(0,0,0,.25)}
.coming-soon .reveal h2{font-size:clamp(56px,5vw,84px)!important;line-height:.95!important}
.coming-soon .reveal p{max-width:620px}
@keyframes spinSlow{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* contact highlight section + rebuilt map */
.contact-highlights{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;padding:0 6vw 5vh}
.contact-highlights article{padding:22px 20px;background:#f6f1e9;border:1px solid #ddd2c2;box-shadow:0 14px 28px rgba(0,0,0,.06)}
.contact-highlights small{display:block;text-transform:uppercase;letter-spacing:.12em;color:#808285;font-weight:800;font-size:11px;margin-bottom:14px}
.contact-highlights p{display:flex;align-items:center;gap:10px;margin:0;color:var(--navy);font-weight:700;line-height:1.45}
.contact-highlights i{color:var(--orange)}
.contact-map-rebuilt{display:grid;grid-template-columns:.92fr 1.08fr;gap:3vw;align-items:stretch;padding:0 6vw 10vh}
.contact-map-copy{padding:34px;background:#081421;color:#fff;display:flex;flex-direction:column;justify-content:center;box-shadow:0 22px 48px rgba(0,0,0,.18)}
.contact-map-copy p:not(.eyebrow){color:#d8e1ea}
.contact-map-copy .eyebrow{color:#d8e1ea}
.contact-map-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.contact-map-badges span{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.contact-map-rebuilt .map-card{min-height:420px}
.contact-map-rebuilt .map-card iframe{height:100%}

/* contact form info spacing */
.contact-layout{padding-bottom:5vh!important}

@media (max-width:1100px){
  .topbar-right{justify-content:center;text-align:center}
  .story-split,.contact-radius-panel,.contact-map-rebuilt,.intro-enhanced{grid-template-columns:1fr!important}
  .cities-feature-grid,.contact-highlights{grid-template-columns:repeat(2,1fr)}
  .masonry-grid{column-count:2}
  .collage-sticky{min-height:620px!important}
}
@media (max-width:700px){
  .topbar{padding:6px 16px!important}
  .topbar-right{gap:10px;justify-content:flex-end}
  .topbar-right a,.topbar-right span{font-size:8px;letter-spacing:.05em}
  .site-header,.site-header.scrolled{top:56px!important;min-height:88px!important;padding:10px 16px!important}
  .site-header .brand,.site-header .brand img{width:170px!important}
  .hero-compact h1,.hero-compact .title-animate{font-size:clamp(40px,11vw,56px)!important}
  .mini-collage{max-width:320px!important;height:250px!important}
  .mini-shot.shot-a{width:190px!important;height:220px!important}
  .mini-shot.shot-b{width:165px!important;height:190px!important}
  .process-aside h2{font-size:clamp(44px,12vw,60px)!important}
  .story-media{min-height:340px}
  .radius-contact-grid,.cities-feature-grid,.contact-highlights{grid-template-columns:1fr}
  .cities-dynamic{padding:9vh 6vw!important}
  .masonry-grid{column-count:1}
  .video-orbit{width:250px!important;height:250px!important}
  .video-orbit b{font-size:42px!important}
  .coming-soon .reveal h2{font-size:clamp(42px,11vw,58px)!important}
  .contact-map-rebuilt{grid-template-columns:1fr;padding:0 6vw 9vh}
}

/* portfolio grid direct masonry override */
.portfolio-grid{column-count:3;column-gap:14px;padding:8vh 4vw 10vh!important}
.portfolio-grid > .portfolio-item{width:100%;display:block;break-inside:avoid;margin:0 0 14px}
.portfolio-grid > .portfolio-item img{width:100%;height:auto;display:block;object-fit:cover}
@media(max-width:1100px){.portfolio-grid{column-count:2}}
@media(max-width:700px){.portfolio-grid{column-count:1}}

/* ===== 2026-09-10 refinement pass D ===== */
/* fixed topbar/header without scroll animation */
.topbar,.site-header,.site-header.scrolled{position:fixed!important;left:0;width:100%;transform:none!important;opacity:1!important;transition:none!important;animation:none!important}
.topbar.header-hidden,.site-header.header-hidden{transform:none!important;opacity:1!important;pointer-events:auto!important}
.topbar{z-index:1101}
.site-header,.site-header.scrolled{z-index:1100;backdrop-filter:blur(12px);background:rgba(0,28,64,.92)!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
main{overflow:hidden}

/* home intro images larger */
.intro-enhanced{grid-template-columns:1.05fr 1.1fr!important;gap:5vw!important}
.mini-collage{max-width:560px!important;height:400px!important}
.mini-shot.shot-a{width:320px!important;height:360px!important;left:8px!important;top:0!important}
.mini-shot.shot-b{width:290px!important;height:330px!important;right:8px!important;bottom:0!important}
.mini-shot img{box-shadow:0 18px 42px rgba(0,0,0,.18)}

/* welcome extra text spacing */
.welcome-copy p + p{margin-top:16px}

/* parallax and banner shadows */
.image-break.parallax{background-attachment:fixed}
.image-break>div{padding:18px 22px 18px 0;text-shadow:0 4px 20px rgba(0,0,0,.25)}
.image-break h2,.image-break p,.image-break a{position:relative;z-index:1}
.image-break::after{content:'';position:absolute;inset:auto auto 0 0;width:70%;height:68%;background:linear-gradient(90deg,rgba(0,28,64,.28),transparent);pointer-events:none}
@media(max-width:900px){.image-break.parallax{background-attachment:scroll}}

/* mission & vision orange with blue details */
.mission-vision{background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.14),transparent 22%),radial-gradient(circle at 80% 18%,rgba(0,28,64,.18),transparent 26%),linear-gradient(145deg,#ff7f24 0%,#ff6a00 46%,#ef5c00 100%)!important;color:#fff!important}
.mission-vision::before{border-color:rgba(0,28,64,.22)!important;box-shadow:0 0 0 42px rgba(0,28,64,.07),0 0 0 88px rgba(255,255,255,.05)!important}
.mission-vision::after{border-color:rgba(255,255,255,.24)!important;box-shadow:0 0 0 28px rgba(0,28,64,.06),0 0 0 64px rgba(255,255,255,.04)!important}
.mission-vision article{background:rgba(0,28,64,.14)!important;border-color:rgba(255,255,255,.16)!important}
.mission-vision article p,.mission-vision article span,.mission-vision article h3,.mission-vision article i{color:#fff!important}
.mission-vision article i{opacity:.95}

/* cta banner above footer with richer background */
.cta-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,#05111f 0%,#0c2140 55%,#06111e 100%)!important}
.cta-panel::before,.cta-panel::after{content:'';position:absolute;pointer-events:none}
.cta-panel::before{inset:0;background:radial-gradient(circle at 18% 22%,rgba(255,106,0,.14),transparent 18%),radial-gradient(circle at 84% 70%,rgba(255,255,255,.04),transparent 15%),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:auto,auto,82px 82px,82px 82px;mask-image:linear-gradient(90deg,#000 0%,#000 65%,transparent 100%)}
.cta-panel::after{width:320px;height:320px;right:-90px;top:-120px;border-radius:50%;border:1px dashed rgba(255,106,0,.3)}

/* footer leveling */
.footer{align-items:start!important;gap:34px 3vw!important;padding:7vh 6vw 2.75vh!important;grid-template-columns:1.1fr .8fr .95fr .95fr .8fr!important}
.footer > div{display:flex;flex-direction:column;justify-content:flex-start;gap:10px;min-height:0}
.footer h4{margin:0 0 6px!important}
.footer p{margin:8px 0 0!important;line-height:1.72!important}
.footer a,.footer span{margin:0!important;line-height:1.6!important}
.footer-logo{margin-bottom:8px!important}
.footer-bottom{margin-top:8px!important;padding-top:18px!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px}
@media(max-width:1100px){.footer{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:700px){.footer{grid-template-columns:1fr!important;padding:7vh 6vw 3vh!important}.footer-bottom{flex-direction:column!important;align-items:flex-start!important}}

/* about/location specific refinements */
.story-media{min-height:560px!important;background-position:center center!important}
.about .image-break,.image-break{ }
.about-map .map-card{overflow:hidden}
.contact-radius-panel{grid-template-columns:150px 1fr!important;gap:2.5vw!important;align-items:flex-start!important}
.contact-radius-panel .radius-ring{width:230px!important;height:230px!important}
.contact-radius-panel .radius-ring span{font-size:78px!important;line-height:.9!important}
.contact-radius-panel h2{font-size:clamp(40px,4.6vw,68px)!important;max-width:780px!important;line-height:.95!important;margin-top:10px!important}
.contact-radius-panel p{max-width:820px!important;margin:0 0 14px!important}
.radius-contact-grid{margin-top:12px!important}
@media(max-width:900px){.contact-radius-panel{grid-template-columns:1fr!important}.contact-radius-panel .radius-ring{margin:0 auto 18px!important}}

/* portfolio fixed sizing */
.portfolio-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;column-count:unset!important;padding:8vh 4vw 10vh!important;background:#f2eee6!important}
.portfolio-grid > .portfolio-item{break-inside:unset!important;margin:0!important;aspect-ratio:4/5!important;min-height:0!important;border-radius:0!important;overflow:hidden!important}
.portfolio-grid > .portfolio-item img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;aspect-ratio:auto!important}
@media(max-width:1100px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.portfolio-grid{grid-template-columns:1fr!important;gap:12px!important;padding:14px!important}}

/* contact page restructure */
.contact-layout{grid-template-columns:.95fr 1.05fr!important;align-items:start!important;gap:3vw!important;padding:10vh 6vw 5vh!important}
.contact-info{padding:34px;background:#081421;color:#fff;box-shadow:0 22px 48px rgba(0,0,0,.18)}
.contact-info .eyebrow,.contact-info h2 em{color:var(--orange)!important}
.contact-info h2{margin-bottom:18px!important}
.contact-intro-copy{color:#d3dbe5!important;line-height:1.8!important;max-width:none!important;margin:0 0 24px!important}
.contact-quick-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-quick-cards a,.contact-quick-cards > div{display:flex;align-items:flex-start;gap:12px;padding:16px 16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.contact-quick-cards i{color:var(--orange);font-size:18px;margin-top:4px;width:18px}
.contact-quick-cards small{display:block;color:#d2d9e3;font-size:10px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:5px}
.contact-quick-cards strong{display:block;color:#fff;font-size:15px;line-height:1.45}
.contact-support-points{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.contact-support-points span{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);font-size:13px;color:#d9e1eb}
.contact-support-points i{color:var(--orange)}
.contact-form-embed{box-shadow:0 22px 60px rgba(0,0,0,.12)!important}

.contact-highlights{padding:0 6vw 4vh!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}
.contact-highlights article{background:linear-gradient(145deg,#f7f2ea,#ede4d4)!important;border-radius:0!important}

.contact-map-rebuilt{grid-template-columns:.86fr 1.14fr!important;align-items:stretch!important}
.contact-map-copy{padding:38px!important}
.map-locality-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.map-locality-list span{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-size:13px;color:#dce4ec}
.map-locality-list i{color:var(--orange)}
.interactive-map-card{position:relative;overflow:hidden!important}
.interactive-map-card iframe{filter:saturate(1.05) contrast(1.02)}
.map-overlay-pins{position:absolute;inset:0;pointer-events:none}
.map-overlay-pins .pin{position:absolute;display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:rgba(0,28,64,.88);color:#fff;font-size:12px;font-weight:700;box-shadow:0 12px 26px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.1)}
.map-overlay-pins .pin i{color:var(--orange)}
.map-overlay-pins .pin-main{left:50%;top:53%;transform:translate(-50%,-50%);background:rgba(255,106,0,.94)}
.map-overlay-pins .pin-main i{color:#fff}
.map-overlay-pins .pin-a{left:62%;top:30%}
.map-overlay-pins .pin-b{left:58%;top:68%}
.map-overlay-pins .pin-c{left:28%;top:34%}
.map-overlay-pins .pin-d{left:22%;top:68%}
@media(max-width:1100px){.contact-layout,.contact-map-rebuilt{grid-template-columns:1fr!important}.contact-highlights{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:700px){.contact-layout{padding:9vh 6vw 4vh!important}.contact-quick-cards{grid-template-columns:1fr}.contact-highlights{grid-template-columns:1fr!important}.contact-info{padding:26px}.map-overlay-pins .pin{font-size:10px;padding:7px 10px}.map-overlay-pins .pin-main{left:52%;top:54%}}
.mini-shot{background:transparent!important;padding:0!important;box-shadow:none!important}
.mini-shot img{box-shadow:0 20px 38px rgba(0,0,0,.18)!important}

/* ===== 2026-09-10 requested corrections only ===== */
/* Header/topbar live only over the hero/banner: transparent, no blur, no sticky scroll behavior. */
.topbar,
.site-header,
.site-header.scrolled{
  position:absolute!important;
  transform:none!important;
  opacity:1!important;
  transition:none!important;
  animation:none!important;
  background:transparent!important;
  background-image:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
}
.topbar{top:0!important;z-index:1101!important}
.site-header,.site-header.scrolled{top:56px!important;z-index:1100!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
.topbar.header-hidden,.site-header.header-hidden{display:flex!important;transform:none!important;opacity:1!important}

/* Restore sticky/scroll interactions for Process and Home Portfolio. */
main{overflow:visible!important}
.process-aside{position:sticky!important;top:28px!important}
.process-timeline{position:sticky!important}
.collage-copy{position:sticky!important}
.collage-sticky{position:sticky!important}

/* Home: Built to support... uses the photo only, without the dark gradient panel. */
.home-support-banner{
  background-image:var(--bg)!important;
  background-size:cover!important;
  background-position:center!important;
  background-attachment:fixed!important;
}
.home-support-banner::after{display:none!important}
.home-support-banner::before{display:none!important}
.home-support-banner>div{
  text-shadow:0 3px 12px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.65)!important;
}
.home-support-banner h2,
.home-support-banner p,
.home-support-banner a{text-shadow:0 3px 12px rgba(0,0,0,.55)!important}

/* Mission & Vision: keep orange, add stronger blue construction-style background details. */
.mission-vision{
  background-color:var(--orange)!important;
  background-image:
    linear-gradient(rgba(0,28,64,.13) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,28,64,.13) 1px,transparent 1px),
    radial-gradient(circle at 15% 22%,rgba(0,28,64,.24),transparent 18%),
    radial-gradient(circle at 84% 72%,rgba(0,28,64,.2),transparent 20%)!important;
  background-size:72px 72px,72px 72px,auto,auto!important;
}
.mission-vision::before{
  width:460px!important;
  height:460px!important;
  right:-110px!important;
  top:-150px!important;
  border:2px solid rgba(0,28,64,.34)!important;
  box-shadow:0 0 0 34px rgba(0,28,64,.08),0 0 0 74px rgba(0,28,64,.05)!important;
}
.mission-vision::after{
  width:360px!important;
  height:360px!important;
  left:-105px!important;
  bottom:-125px!important;
  border:2px dashed rgba(0,28,64,.34)!important;
  box-shadow:0 0 0 26px rgba(0,28,64,.06),0 0 0 58px rgba(0,28,64,.04)!important;
}
.mission-vision article::before{
  content:''!important;
  position:absolute!important;
  width:180px!important;
  height:180px!important;
  right:7%!important;
  bottom:-70px!important;
  border:1px solid rgba(0,28,64,.3)!important;
  transform:rotate(45deg)!important;
  border-radius:0!important;
  background:transparent!important;
}

@media(max-width:900px){
  .home-support-banner{background-attachment:scroll!important}
  .process-aside,.process-timeline,.collage-copy,.collage-sticky{position:relative!important;top:auto!important}
}

/* ===== 2026-09-10 service scroll + background design update ===== */
/* Mission / Vision: no line patterns, animated construction icons */
.mission-vision{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 16% 18%,rgba(0,28,64,.24),transparent 20%),
    radial-gradient(circle at 82% 72%,rgba(0,28,64,.18),transparent 24%),
    linear-gradient(135deg,#ff7a1b 0%,#ff6a00 48%,#ed5f00 100%)!important;
  background-size:auto!important;
}
.mission-vision::before,.mission-vision::after,.mission-vision article::before{display:none!important}
.section-bg-icons{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.section-bg-icons i{position:absolute;color:rgba(0,28,64,.18);font-size:clamp(58px,8vw,138px);filter:drop-shadow(0 10px 24px rgba(0,28,64,.08));animation:bgIconFloat 7s ease-in-out infinite}
.section-bg-icons i:nth-child(1){left:5%;top:12%;transform:rotate(-12deg)}
.section-bg-icons i:nth-child(2){right:8%;top:6%;font-size:clamp(48px,6vw,110px);animation-delay:-1.5s}
.section-bg-icons i:nth-child(3){left:42%;bottom:-4%;font-size:clamp(64px,9vw,150px);animation-delay:-3s}
.section-bg-icons i:nth-child(4){right:28%;bottom:10%;font-size:clamp(44px,5vw,92px);animation-delay:-4.2s}
.mission-vision article{position:relative;z-index:1!important;background:rgba(0,28,64,.10)!important;backdrop-filter:none!important;border-color:rgba(255,255,255,.12)!important}
@keyframes bgIconFloat{0%,100%{transform:translate3d(0,0,0) rotate(-7deg)}50%{transform:translate3d(0,-18px,0) rotate(7deg)}}

/* CTA banners above footer: no lines, animated icons */
.cta-panel{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 14% 30%,rgba(255,106,0,.20),transparent 22%),
    radial-gradient(circle at 84% 68%,rgba(255,106,0,.11),transparent 24%),
    linear-gradient(135deg,#06111f 0%,#0b2140 60%,#071526 100%)!important;
}
.cta-panel::before,.cta-panel::after{display:none!important}
.cta-panel > :not(.section-bg-icons){position:relative;z-index:2}
.cta-bg-icons i{color:rgba(255,106,0,.15)}
.cta-bg-icons i:nth-child(1){left:5%;top:10%}
.cta-bg-icons i:nth-child(2){right:22%;top:4%;font-size:clamp(54px,6vw,110px)}
.cta-bg-icons i:nth-child(3){right:4%;bottom:-18%;font-size:clamp(74px,9vw,150px)}

/* Home support banner: blue gradient from bottom upward, clear at top */
.home-support-banner{position:relative!important;background-image:var(--bg)!important}
.home-support-banner::before{
  content:''!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(to top,rgba(0,28,64,.92) 0%,rgba(0,28,64,.58) 34%,rgba(0,28,64,.22) 60%,rgba(0,28,64,0) 88%)!important;
  pointer-events:none!important;
  z-index:0!important;
}
.home-support-banner>div{position:relative!important;z-index:1!important}

/* Full-width scroll-driven services */
.scroll-services{position:relative;background:#07111d;color:#fff;overflow:visible}
.scroll-services-intro{padding:10vh 6vw 6vh;max-width:980px}
.scroll-services-intro h2{font:600 clamp(44px,5.6vw,82px)/.98 'Playfair Display';letter-spacing:-.035em;margin:14px 0 20px}
.scroll-services-intro>p:last-child{color:#aeb8c4;line-height:1.75;max-width:720px}
.scroll-services-track{height:calc(var(--service-count) * 100vh);position:relative}
.scroll-services-sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:#081421}
.scroll-services-slides{position:absolute;inset:0}
.scroll-service-slide{position:absolute;inset:0;display:grid;grid-template-columns:56% 44%;background:#081421;transform:translateX(100%);will-change:transform;z-index:1}
.scroll-service-slide:first-child{transform:translateX(0)}
.scroll-service-image{position:relative;height:100%;overflow:hidden}
.scroll-service-image::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 58%,rgba(8,20,33,.35) 100%);pointer-events:none}
.scroll-service-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.03);transition:filter .45s ease,transform .7s ease}
.scroll-service-slide.is-active .scroll-service-image img{filter:saturate(1) contrast(1);transform:scale(1.015)}
.scroll-service-content{display:flex;flex-direction:column;justify-content:center;padding:8vh 6vw 8vh 5vw;position:relative;overflow:hidden}
.scroll-service-content::before{content:'';position:absolute;width:360px;height:360px;border-radius:50%;right:-160px;top:-120px;background:radial-gradient(circle,rgba(255,106,0,.13),transparent 70%)}
.scroll-service-number{font:600 clamp(54px,7vw,110px)/1 'Playfair Display';color:rgba(255,255,255,.11);position:absolute;right:5vw;top:10vh}
.scroll-service-icon{color:var(--orange);font-size:28px;margin-bottom:22px}
.scroll-service-content h3{font:600 clamp(44px,5vw,78px)/.98 'Playfair Display';letter-spacing:-.035em;margin:0 0 22px;max-width:620px}
.scroll-service-content p{color:#c1cad4;line-height:1.8;max-width:600px;font-size:16px;margin:0 0 28px}
.scroll-service-content .btn{align-self:flex-start}
.scroll-services-progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.12);z-index:20}
.scroll-services-progress span{display:block;height:100%;width:0;background:var(--orange);transition:width .12s linear}
.scroll-services-mobile-controls{display:none}

/* services page intro slightly tighter */
.services-page-scroll .scroll-services-intro{background:#f2eee6;color:var(--ink);max-width:none;padding:10vh 6vw 7vh}
.services-page-scroll .scroll-services-intro>p:last-child{color:#5d6670}

@media(max-width:700px){
  .scroll-services{overflow:hidden}
  .scroll-services-intro{padding:9vh 6vw 5vh}
  .scroll-services-intro h2{font-size:clamp(40px,11vw,58px)}
  .scroll-services-track{height:auto!important;min-height:0}
  .scroll-services-sticky{position:relative!important;top:auto!important;height:auto;min-height:0;overflow:hidden;padding-bottom:82px}
  .scroll-services-slides{position:relative;inset:auto;display:flex;width:100%;transition:transform .45s cubic-bezier(.2,.7,.2,1);will-change:transform}
  .scroll-service-slide{position:relative;inset:auto;min-width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:42vh auto;transform:none!important;z-index:1}
  .scroll-service-image{height:42vh;min-height:300px}
  .scroll-service-image::after{background:linear-gradient(0deg,rgba(8,20,33,.26),transparent 50%)}
  .scroll-service-content{padding:34px 6vw 42px;min-height:390px;justify-content:flex-start}
  .scroll-service-number{font-size:64px;right:6vw;top:26px}
  .scroll-service-content h3{font-size:clamp(36px,10vw,50px);max-width:78%;margin-top:4px}
  .scroll-service-content p{font-size:14px;line-height:1.72;margin-bottom:24px}
  .scroll-services-progress{bottom:78px;height:3px}
  .scroll-services-mobile-controls{display:flex;position:absolute;left:0;right:0;bottom:0;height:78px;align-items:center;justify-content:center;gap:18px;background:#06111e;z-index:25;border-top:1px solid rgba(255,255,255,.08)}
  .scroll-services-mobile-controls button{width:46px;height:46px;border:1px solid rgba(255,106,0,.48);background:transparent;color:#fff;border-radius:50%;cursor:pointer}
  .scroll-services-mobile-controls button:disabled{opacity:.35;cursor:default}
  .service-status{font-size:12px;letter-spacing:.16em;color:#d7dee6;min-width:70px;text-align:center}
}

/* ===== 2026-09-10 refinement pass E ===== */
/* Tighten Strong work section and enlarge collage images */
.intro-enhanced{
  grid-template-columns:minmax(460px,.92fr) minmax(0,1.08fr)!important;
  gap:2.5vw!important;
  padding-left:5vw!important;
  padding-right:5vw!important;
}
.intro-side{gap:18px!important}
.mini-collage{max-width:620px!important;height:430px!important;width:100%!important}
.mini-shot.shot-a{width:360px!important;height:395px!important;left:0!important;top:4px!important;transform:rotate(-4deg)!important}
.mini-shot.shot-b{width:325px!important;height:365px!important;right:0!important;bottom:0!important;transform:rotate(5deg)!important}
.intro-content{padding-left:0!important}
.intro-content h2{max-width:900px!important}

/* Home service content: light gray, larger/wider headings */
.home-scroll-services .scroll-service-content{
  background:#e7e7e7!important;
  color:var(--navy)!important;
}
.home-scroll-services .scroll-service-content::before{
  background:radial-gradient(circle,rgba(255,106,0,.14),transparent 70%)!important;
}
.home-scroll-services .scroll-service-content h3{
  color:var(--navy)!important;
  font-size:clamp(52px,5.5vw,88px)!important;
  max-width:760px!important;
  width:100%!important;
}
.home-scroll-services .scroll-service-content p{color:#4f5963!important;max-width:690px!important}
.home-scroll-services .scroll-service-number{color:rgba(0,28,64,.10)!important}
.home-support-banner p{color:#fff!important}

/* About buttons side by side */
.home-about-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.home-about-actions .btn{margin:0!important}

/* Mission & Vision: richer background without line patterns; keep animated icons */
.mission-vision{
  background:
    radial-gradient(circle at 12% 18%,rgba(0,28,64,.26) 0 9%,transparent 25%),
    radial-gradient(circle at 88% 22%,rgba(0,28,64,.19) 0 8%,transparent 23%),
    radial-gradient(circle at 48% 105%,rgba(0,28,64,.20) 0 14%,transparent 35%),
    linear-gradient(135deg,#ff7b1f 0%,#ff6a00 52%,#ec5a00 100%)!important;
}
.mission-vision::before{
  content:''!important;display:block!important;position:absolute!important;
  width:360px!important;height:360px!important;left:-95px!important;top:-105px!important;
  border:0!important;border-radius:50%!important;
  background:radial-gradient(circle at 40% 40%,rgba(255,255,255,.13),rgba(0,28,64,.10) 44%,transparent 72%)!important;
  box-shadow:none!important;animation:mvBlobFloat 8s ease-in-out infinite!important;
}
.mission-vision::after{
  content:''!important;display:block!important;position:absolute!important;
  width:430px!important;height:430px!important;right:-125px!important;bottom:-170px!important;
  left:auto!important;top:auto!important;border:0!important;border-radius:44% 56% 52% 48%!important;
  background:radial-gradient(circle at 45% 40%,rgba(0,28,64,.18),rgba(0,28,64,.05) 48%,transparent 72%)!important;
  box-shadow:none!important;animation:mvBlobFloat 10s ease-in-out infinite reverse!important;
}
.mission-vision article{border:0!important;background:rgba(0,28,64,.09)!important}
.section-bg-icons i{color:rgba(0,28,64,.24)!important;text-shadow:0 12px 28px rgba(0,28,64,.10)}
.section-bg-icons i:nth-child(1){left:4%!important;top:9%!important;font-size:clamp(80px,9vw,150px)!important}
.section-bg-icons i:nth-child(2){right:6%!important;top:10%!important;font-size:clamp(68px,8vw,135px)!important}
.section-bg-icons i:nth-child(3){left:44%!important;bottom:-8%!important;font-size:clamp(100px,11vw,180px)!important}
.section-bg-icons i:nth-child(4){right:27%!important;bottom:7%!important;font-size:clamp(64px,7vw,120px)!important}
@keyframes mvBlobFloat{0%,100%{transform:translate3d(0,0,0) rotate(0deg)}50%{transform:translate3d(16px,-14px,0) rotate(8deg)}}

/* Mobile menu typography */
@media(max-width:700px){
  .mobile-menu-links{gap:6px!important;margin-top:9vh!important}
  .mobile-menu-links a{font-size:clamp(25px,7.5vw,36px)!important;line-height:1.05!important;padding:8px 0!important}

  /* Strong work: image collage first, copy second */
  .intro-enhanced{display:flex!important;flex-direction:column!important;gap:26px!important;padding:8vh 6vw!important}
  .intro-side{order:1!important;width:100%!important}
  .intro-content{order:2!important;width:100%!important}
  .mini-collage{height:390px!important;max-width:none!important;width:100%!important;margin:0 auto!important}
  .mini-shot.shot-a{width:64%!important;height:330px!important;left:0!important;top:10px!important}
  .mini-shot.shot-b{width:58%!important;height:310px!important;right:0!important;bottom:0!important}
  .intro-content h2{font-size:clamp(42px,12vw,60px)!important}

  /* Home services mobile content stays light gray */
  .home-scroll-services .scroll-service-content{background:#e7e7e7!important;color:var(--navy)!important}
  .home-scroll-services .scroll-service-content h3{font-size:clamp(40px,11vw,58px)!important;max-width:92%!important}
  .home-scroll-services .scroll-service-content p{color:#4f5963!important}

  /* Mobile footer centered */
  .footer{text-align:center!important;justify-items:center!important}
  .footer > div{align-items:center!important;width:100%!important}
  .footer-logo{margin-left:auto!important;margin-right:auto!important}
  .footer p{margin-left:auto!important;margin-right:auto!important;text-align:center!important}
  .footer a,.footer span{justify-content:center!important;text-align:center!important}
  .footer-bottom{align-items:center!important;text-align:center!important}

  /* Home portfolio: larger automatic tabletop collage */
  .home-portfolio-collage{padding-left:5vw!important;padding-right:5vw!important}
  .collage-stage{height:auto!important;margin-top:30px!important}
  .collage-sticky{height:780px!important;min-height:780px!important;width:100%!important;overflow:visible!important}
  .collage-card{border-width:5px!important;box-shadow:0 18px 36px rgba(0,0,0,.16)!important}
  .collage-card:nth-child(1){left:1%!important;top:3%!important;width:51%!important}
  .collage-card:nth-child(2){left:48%!important;top:8%!important;width:50%!important}
  .collage-card:nth-child(3){left:4%!important;top:31%!important;width:50%!important}
  .collage-card:nth-child(4){left:48%!important;top:34%!important;width:50%!important}
  .collage-card:nth-child(5){left:2%!important;top:60%!important;width:52%!important}
  .collage-card:nth-child(6){left:47%!important;top:62%!important;width:51%!important}
  .collage-card:nth-child(7){display:none!important}
  .collage-card:nth-child(n+8){display:none!important}
}


/* ===== 2026-09-10 refinement pass F ===== */
/* Home services intro also light gray and title wider */
.home-scroll-services .scroll-services-intro{
  background:#e7e7e7!important;
  color:var(--navy)!important;
  max-width:none!important;
  padding:10vh 6vw 6vh!important;
}
.home-scroll-services .scroll-services-intro h2{
  color:var(--navy)!important;
  font-size:clamp(50px,6vw,92px)!important;
  max-width:1100px!important;
  width:100%!important;
}
.home-scroll-services .scroll-services-intro > p:last-child{color:#4f5963!important;max-width:760px!important}

/* Mission & Vision redesign: no line pattern, new layered background */
.mission-vision{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 14% 18%,rgba(255,255,255,.16),transparent 16%),
    radial-gradient(circle at 84% 20%,rgba(0,28,64,.18),transparent 18%),
    radial-gradient(circle at 50% 110%,rgba(255,255,255,.08),transparent 28%),
    linear-gradient(135deg,#ff8127 0%,#ff6a00 54%,#f15f00 100%)!important;
}
.mission-vision::before{
  content:''!important;
  position:absolute!important;
  left:-90px!important;top:-70px!important;
  width:300px!important;height:300px!important;
  border-radius:48% 52% 60% 40%!important;
  background:radial-gradient(circle at 35% 35%,rgba(0,28,64,.22),rgba(0,28,64,.06) 58%,transparent 75%)!important;
  animation:mvFloatA 9s ease-in-out infinite!important;
}
.mission-vision::after{
  content:''!important;
  position:absolute!important;
  right:-110px!important;bottom:-110px!important;left:auto!important;top:auto!important;
  width:390px!important;height:390px!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 45% 45%,rgba(0,28,64,.24),rgba(0,28,64,.05) 52%,transparent 74%)!important;
  animation:mvFloatB 11s ease-in-out infinite reverse!important;
}
.mission-vision article{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 18px 40px rgba(0,28,64,.10)!important;
}
.mission-vision article h3,.mission-vision article p,.mission-vision article span,.mission-vision article i{color:#fff!important}
.mission-vision .section-bg-icons i{
  color:rgba(0,28,64,.20)!important;
  filter:drop-shadow(0 8px 22px rgba(0,28,64,.08));
}
.mission-vision .section-bg-icons i:nth-child(1){left:7%!important;top:10%!important}
.mission-vision .section-bg-icons i:nth-child(2){right:9%!important;top:8%!important}
.mission-vision .section-bg-icons i:nth-child(3){left:43%!important;bottom:-8%!important}
.mission-vision .section-bg-icons i:nth-child(4){right:29%!important;bottom:10%!important}
@keyframes mvFloatA{0%,100%{transform:translate3d(0,0,0) rotate(0deg)}50%{transform:translate3d(16px,-14px,0) rotate(9deg)}}
@keyframes mvFloatB{0%,100%{transform:translate3d(0,0,0) rotate(0deg)}50%{transform:translate3d(-14px,12px,0) rotate(-8deg)}}

/* About banner: remove content-side gradient treatment */
.about .image-break::after{display:none!important}
.about .image-break>div{padding:0!important;background:none!important;box-shadow:none!important}

/* Slightly larger inner-page banner titles */
.hero-compact h1{font-size:clamp(56px,7.25vw,114px)!important;max-width:1050px!important}
@media(max-width:700px){.hero-compact h1{font-size:clamp(48px,13.6vw,74px)!important}}

/* Contact radius section rebuilt as background parallax panel */
.contact-radius-banner{
  position:relative!important;
  overflow:hidden!important;
  display:block!important;
  padding:12vh 6vw!important;
  background-image:linear-gradient(90deg,rgba(0,28,64,.90) 0%,rgba(0,28,64,.74) 42%,rgba(0,28,64,.34) 100%),var(--bg)!important;
  background-size:cover!important;
  background-position:center!important;
  background-attachment:fixed!important;
}
.contact-radius-banner .reveal{max-width:1080px!important;position:relative;z-index:1}
.contact-radius-banner h2{max-width:860px!important;margin-bottom:20px!important}
.contact-radius-banner p{max-width:760px!important;color:#dfe5ec!important}
.contact-radius-banner .radius-contact-grid{margin-top:30px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.contact-radius-banner .radius-contact-grid a,
.contact-radius-banner .radius-contact-grid > div{background:rgba(255,255,255,.92)!important;color:var(--navy)!important;border-radius:0!important;padding:22px 20px!important;box-shadow:none!important;border:none!important}
.contact-radius-banner .radius-contact-grid small{color:#8a8f98!important;text-transform:uppercase;letter-spacing:.16em}
.contact-radius-banner .radius-contact-grid strong{color:var(--navy)!important}
.contact-radius-banner .radius-contact-grid i{color:var(--orange)!important;font-size:20px!important}
.contact-radius-banner::before{content:''!important;position:absolute!important;inset:0!important;background:radial-gradient(circle at 18% 22%,rgba(255,106,0,.16),transparent 17%),radial-gradient(circle at 82% 76%,rgba(255,255,255,.08),transparent 18%)!important;pointer-events:none!important}
@media(max-width:900px){.contact-radius-banner{background-attachment:scroll!important}.contact-radius-banner .radius-contact-grid{grid-template-columns:1fr!important}}

/* Services CTA description styling */
.cta-description{margin:14px 0 0!important;max-width:720px!important;color:#c5d0db!important;line-height:1.75!important;font-size:16px!important}

/* Services page mobile controls can loop continuously */
.services-page-scroll .scroll-services-mobile-controls button{opacity:1!important}

/* Mobile tune-ups */
@media(max-width:700px){
  .home-scroll-services .scroll-services-intro{padding:8vh 6vw 4vh!important}
  .home-scroll-services .scroll-services-intro h2{font-size:clamp(42px,11.4vw,62px)!important;max-width:100%!important}
  .contact-radius-banner{padding:9vh 6vw!important}
}


/* ===== 2026-09-10 refinement pass G ===== */
html,body,main,section{max-width:100%;overflow-x:clip}
.mobile-menu, .coming-soon, .contact-map-rebuilt, .location-grid-full, .scroll-services, .mission-vision, .contact-radius-banner{overflow-x:clip!important}
@supports not (overflow:clip){html,body,main,section{overflow-x:hidden}}

/* Mobile menu active state refinement */
.mobile-menu-links .nav-link{display:flex!important;align-items:center!important;gap:12px!important;position:relative!important;padding-left:2px!important;padding-right:2px!important}
.mobile-menu-links .nav-link i{width:30px;text-align:center;flex:0 0 30px}
.mobile-menu-links .nav-link.active{color:var(--orange)!important;border-bottom-color:rgba(255,106,0,.55)!important;padding-left:16px!important}
.mobile-menu-links .nav-link.active i{color:var(--orange)!important}
.mobile-menu-links .nav-link.active::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:68%;background:var(--orange);border-radius:999px}
.mobile-menu-links .nav-link:after{bottom:-1px!important}

/* Slightly larger banner titles */
.hero-compact h1{font-size:clamp(60px,7.7vw,124px)!important;max-width:1080px!important}

/* Smaller section titles on mobile */
@media(max-width:700px){
  .split-section h2,.stack-heading h2,.process-title h2,.cta-panel h2,.service-row h2,.location-grid h2,.radius h2,.coming-soon h2,.contact-info h2,.contact-map h2,.faq-heading h2,.scroll-services-intro h2,.welcome-copy h2,.home-about h2,.why-choose h2,.about-map h2,.cities-section h2{font-size:clamp(34px,8.8vw,50px)!important;line-height:1.02!important}
  .scroll-service-content h3{font-size:clamp(32px,8.7vw,46px)!important;max-width:82%!important}
}

/* Contact form heading */
.contact-form-embed{padding:18px 18px 0!important;display:flex!important;flex-direction:column!important;gap:14px!important}
.contact-form-mini-title{font:700 11px/1 'DM Sans',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--navy);padding:6px 8px 0}
.contact-form-embed iframe{flex:1 1 auto!important;width:100%!important;height:100%!important;min-height:748px!important}
@media(max-width:700px){.contact-form-mini-title{padding-top:10px!important}}

/* Contact map copy + map matching height */
.contact-map-rebuilt{grid-template-columns:.9fr 1.1fr!important;gap:3vw!important;align-items:stretch!important;padding:0 6vw 10vh!important}
.contact-map-rebuilt .contact-map-copy{min-height:540px!important;height:100%!important;padding:56px 38px!important;background:linear-gradient(135deg,#05111d,#001c40 58%,#08254a)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;border-radius:0!important}
.contact-map-rebuilt .contact-map-copy > p:first-of-type{margin-top:0!important}
.contact-map-rebuilt .map-card{min-height:540px!important;height:auto!important;align-self:stretch!important;border-radius:0!important}
.contact-map-rebuilt .map-card iframe{min-height:540px!important;height:100%!important}
.contact-map-badges span,.map-locality-list span{max-width:100%}
@media(max-width:1100px){.contact-map-rebuilt{grid-template-columns:1fr!important}}
@media(max-width:700px){
  .contact-map-rebuilt{padding:0 0 9vh!important}
  .contact-map-rebuilt .contact-map-copy{min-height:auto!important;padding:46px 6vw!important}
  .contact-map-rebuilt .map-card,.contact-map-rebuilt .map-card iframe{min-height:360px!important}
}

/* Full-width St Pauls section */
.location-grid-full{grid-template-columns:.88fr 1.12fr!important;gap:0!important;padding:0!important;align-items:stretch!important}
.location-grid-full > .reveal:first-child{padding:11vh 6vw!important;display:flex!important;flex-direction:column!important;justify-content:center!important;background:#f2eee6!important}
.location-grid-full .map-card{height:auto!important;min-height:560px!important;border-radius:0!important;box-shadow:none!important}
.location-grid-full .map-card iframe{min-height:560px!important}
@media(max-width:1100px){.location-grid-full{grid-template-columns:1fr!important}.location-grid-full .map-card,.location-grid-full .map-card iframe{min-height:420px!important}}
@media(max-width:700px){.location-grid-full > .reveal:first-child{padding:8vh 6vw!important}.location-grid-full .map-card,.location-grid-full .map-card iframe{min-height:320px!important}}

/* Centered location & scope panel */
.contact-radius-banner .reveal{max-width:980px!important;margin:0 auto!important;text-align:center!important}
.contact-radius-banner h2,.contact-radius-banner p{margin-left:auto!important;margin-right:auto!important}
.contact-radius-banner .radius-contact-grid{justify-content:center!important}
.contact-radius-banner .radius-contact-grid a,.contact-radius-banner .radius-contact-grid > div{text-align:left!important}

/* Portfolio mobile 2-up */
@media(max-width:700px){
  .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:14px!important}
  .portfolio-grid > .portfolio-item{aspect-ratio:1/1!important}
}

/* Coming soon redesign */
.coming-soon-modern,.coming-soon{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:38px!important;padding:10vh 6vw!important;background:#e4e4e4!important;color:#56606c!important;text-align:center!important}
.coming-soon::before{content:''!important;position:absolute!important;inset:0!important;background:radial-gradient(circle at 18% 22%,rgba(0,28,64,.08),transparent 15%),radial-gradient(circle at 82% 72%,rgba(255,106,0,.07),transparent 12%)!important;pointer-events:none!important}
.coming-soon > *{position:relative;z-index:1}
.coming-pill-tag{position:absolute;top:40px;right:calc(50% - 300px);padding:12px 18px;border-radius:10px;background:#6f7989;color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;box-shadow:0 12px 24px rgba(0,0,0,.14);animation:floatTag 3.6s ease-in-out infinite}
.coming-pill{width:min(760px,100%);padding:46px 40px;border-radius:999px;background:#040404;color:#fff;border:6px solid #6f7485;transform:rotate(4deg);box-shadow:0 28px 70px rgba(0,0,0,.18);animation:tiltPulse 5.2s ease-in-out infinite}
.coming-pill-eyebrow{margin:0 0 14px!important;color:#9ea7bc!important;font-size:11px!important;letter-spacing:.32em!important;text-transform:uppercase!important}
.coming-pill h2{margin:0!important;font:600 clamp(58px,8vw,108px)/.88 'Playfair Display'!important;letter-spacing:-.05em!important;color:#fff!important}
.coming-pill-sub{margin:10px 0 0!important;color:#7c8497!important;font-weight:700!important;letter-spacing:.22em!important;text-transform:uppercase!important;font-size:12px!important}
.coming-quote-wrap{max-width:720px!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:22px!important}
.coming-quote{margin:0!important;font-size:clamp(22px,2.25vw,36px)!important;line-height:1.45!important;font-style:italic!important;color:#6a7480!important}
@keyframes tiltPulse{0%,100%{transform:rotate(4deg) translateY(0)}50%{transform:rotate(2deg) translateY(-8px)}}
@keyframes floatTag{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:900px){.coming-pill-tag{right:6vw!important;top:24px!important}}
@media(max-width:700px){
  .coming-soon{padding:9vh 6vw!important;gap:28px!important}
  .coming-pill{padding:36px 20px!important;border-width:5px!important;border-radius:44px!important;transform:rotate(3deg)!important}
  .coming-pill h2{font-size:clamp(42px,12vw,64px)!important}
  .coming-pill-sub{font-size:10px!important;letter-spacing:.18em!important}
  .coming-quote{font-size:clamp(18px,5.1vw,28px)!important}
}

/* Home services section: blue stage + stronger numbering */
.home-scroll-services,.home-scroll-services .scroll-services-track,.home-scroll-services .scroll-services-sticky{background:#001c40!important}
.home-scroll-services .scroll-service-slide{background:linear-gradient(135deg,#001c40 0%,#082a53 100%)!important}
.home-scroll-services .scroll-service-content{background:linear-gradient(180deg,#eef2f5 0%,#e7ecef 100%)!important}
.scroll-service-number{font-size:clamp(76px,8.7vw,144px)!important;letter-spacing:-.05em!important;line-height:.88!important;text-shadow:0 14px 28px rgba(0,0,0,.10)!important;-webkit-text-stroke:1px rgba(255,255,255,.06)}
.home-scroll-services .scroll-service-number{color:rgba(0,28,64,.14)!important;-webkit-text-stroke:1px rgba(0,28,64,.06)!important}
.scroll-service-icon{position:relative!important;z-index:1!important;font-size:30px!important;margin-bottom:16px!important}
.scroll-service-content::after{content:'';position:absolute;right:32px;bottom:26px;width:78px;height:78px;border:1px solid rgba(255,106,0,.18);border-radius:50%}
.home-scroll-services .scroll-service-content::after{border-color:rgba(0,28,64,.10)!important}
@media(max-width:700px){.scroll-service-number{font-size:78px!important;top:18px!important;right:5vw!important}.home-scroll-services .scroll-service-slide{background:#001c40!important}}

/* Services mobile controls spacing */
@media(max-width:700px){
  .services-page-scroll .scroll-services-track{padding-bottom:22px!important}
  .services-page-scroll .scroll-services-mobile-controls{bottom:18px!important}
}

/* Home mobile stats centered */
@media(max-width:700px){
  .stat-row{text-align:center!important;justify-items:center!important;gap:16px!important}
  .stat-row div{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}
  .stat-row span{max-width:130px!important;line-height:1.45!important}
}


/* ===== 2026-09-10 final patch F ===== */
/* Make the custom cursor more visible and interactive */
.cursor-dot{
  width:24px!important;height:24px!important;border:2px solid var(--orange)!important;
  background:rgba(255,106,0,.12)!important;border-radius:50%!important;
  box-shadow:0 0 0 10px rgba(255,106,0,.12),0 0 32px rgba(255,106,0,.22)!important;
  mix-blend-mode:normal!important;backdrop-filter:blur(1px)!important;
  transition:width .22s ease,height .22s ease,background .22s ease,box-shadow .22s ease,transform .22s ease!important;
}
.cursor-dot.is-hover{
  width:54px!important;height:54px!important;background:rgba(255,106,0,.26)!important;
  box-shadow:0 0 0 14px rgba(255,106,0,.15),0 0 42px rgba(255,106,0,.28)!important;
}

/* Header / footer logo entrance animation */
@keyframes logoPopIn{0%{opacity:0;transform:translateY(-16px) scale(.9)}60%{opacity:1;transform:translateY(0) scale(1.05)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes logoRiseIn{0%{opacity:0;transform:translateY(34px) scale(.92)}100%{opacity:1;transform:translateY(0) scale(1)}}
.site-header .brand img{animation:logoPopIn .9s cubic-bezier(.2,.8,.2,1) both!important;transform-origin:left center}
.footer-logo{opacity:0;transform:translateY(34px) scale(.92);transition:opacity .45s ease,transform .7s cubic-bezier(.2,.8,.2,1)!important}
.footer-logo.footer-logo-in{opacity:1;transform:translateY(0) scale(1);animation:logoRiseIn .8s cubic-bezier(.2,.8,.2,1) both}

/* Fix mobile menu active state */
.mobile-menu .nav-link.active{color:var(--orange)!important}
.mobile-menu .nav-link.active::after{display:none!important}

/* Home diagonal fact rail: no cut on the right or left */
.fact-rail{
  width:calc(100% + 9vw)!important;left:-4.5vw!important;margin:-18px 0 0!important;
  overflow:hidden!important;padding:19px 0!important
}
.fact-rail::before,.fact-rail::after{content:'';position:absolute;top:0;bottom:0;width:7vw;z-index:2;pointer-events:none}
.fact-rail::before{left:0;background:linear-gradient(90deg,var(--orange) 0%,rgba(255,106,0,0) 100%)}
.fact-rail::after{right:0;background:linear-gradient(270deg,var(--orange) 0%,rgba(255,106,0,0) 100%)}
.fact-track{padding-inline:4vw!important;gap:54px!important;min-width:max-content!important;will-change:transform}

/* Seamless looping marquees */
.diagonal-marquee,.marquee{overflow:hidden!important;position:relative!important}
.diagonal-marquee div,.marquee div{display:flex!important;align-items:center;gap:0;white-space:nowrap;min-width:max-content;will-change:transform}
.diagonal-marquee div{animation:marqueeLoop 22s linear infinite!important}
.marquee div{animation:marqueeLoop 24s linear infinite!important}
@keyframes marqueeLoop{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* About story image: ensure supplied image renders */
.story-media{background-image:var(--bg)!important;background-repeat:no-repeat!important;background-position:center center!important;background-size:cover!important}

/* Mission and vision section: dark branded background only, without white decorative details */
.mission-vision{
  position:relative!important;overflow:hidden!important;color:#fff!important;
  background:
    radial-gradient(circle at 14% 18%,rgba(255,106,0,.14),transparent 24%),
    radial-gradient(circle at 84% 72%,rgba(255,106,0,.10),transparent 24%),
    linear-gradient(135deg,#07111d 0%,#001c40 55%,#081421 100%)!important;
}
.mission-vision::before,.mission-vision::after{display:none!important}
.mission-vision article{
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01))!important;
  border-right:1px solid rgba(255,255,255,.1)!important;border-bottom:0!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)!important;
}
.mission-vision article:last-child{border-right:0!important}
.mission-vision article::before{display:none!important}
.mission-vision article::after{content:'';position:absolute;left:8vw;top:0;width:92px;height:4px;background:linear-gradient(90deg,var(--orange),rgba(255,106,0,0))}
.mission-vision i{
  width:64px;height:64px;display:grid;place-items:center;border-radius:18px;
  color:var(--orange)!important;background:rgba(255,106,0,.08)!important;border:1px solid rgba(255,106,0,.16)!important
}
.mission-vision h3{color:#fff!important}
.mission-vision p{color:#c1cad4!important}
.mission-vision .section-bg-icons i{color:rgba(255,106,0,.11)!important;text-shadow:none!important}

/* About image-break: remove dark gradient behind content */
body[data-page="about"] .image-break{background-image:var(--bg)!important}
body[data-page="about"] .image-break::after{display:none!important}
body[data-page="about"] .image-break>div{background:none!important;box-shadow:none!important}
body[data-page="about"] .image-break h2,body[data-page="about"] .image-break p{ text-shadow:0 8px 22px rgba(0,0,0,.28)}

/* About story map strip full width */
.about-map{
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr)!important;
  gap:0!important;padding:0!important;align-items:stretch!important;min-height:76vh!important;background:#f2eee6!important
}
.about-map>div:first-child{padding:11vh 6vw!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.about-map .map-card{height:auto!important;min-height:76vh!important;border-radius:0!important;box-shadow:none!important}
@media(max-width:1050px){
  .about-map{grid-template-columns:1fr!important;min-height:0!important}
  .about-map>div:first-child{padding:9vh 6vw!important}
  .about-map .map-card{min-height:440px!important}
}

/* Home about section on mobile: content first, image second */
@media(max-width:700px){
  .home-about{display:flex!important;flex-direction:column!important}
  .home-about-copy{order:1!important}
  .home-about-media{order:2!important;min-height:340px!important}
}

/* Home portfolio collage on mobile: larger images, less empty space */
@media(max-width:700px){
  .home-portfolio-collage{padding-bottom:8vh!important}
  .collage-stage{height:auto!important;margin-top:18px!important}
  .collage-sticky{height:690px!important;min-height:690px!important;width:100%!important;overflow:visible!important}
  .collage-card{border-width:6px!important;box-shadow:0 16px 34px rgba(0,0,0,.18)!important}
  .collage-card:nth-child(1){left:2%!important;top:2%!important;width:48%!important}
  .collage-card:nth-child(2){left:50%!important;top:7%!important;width:45%!important}
  .collage-card:nth-child(3){left:10%!important;top:31%!important;width:41%!important}
  .collage-card:nth-child(4){left:53%!important;top:35%!important;width:39%!important}
  .collage-card:nth-child(5){left:8%!important;top:56%!important;width:42%!important}
  .collage-card:nth-child(6){left:52%!important;top:58%!important;width:40%!important}
  .collage-card:nth-child(n+7){display:none!important}
}

/* Add more visual structure to service sections */
.scroll-service-content{
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01))!important;
  border-left:1px solid rgba(255,255,255,.08);
}
.scroll-service-content::after{
  content:'';position:absolute;left:5vw;bottom:7vh;width:120px;height:1px;
  background:linear-gradient(90deg,var(--orange),transparent)
}
.scroll-service-content h3{position:relative;padding-bottom:10px}
.scroll-service-content h3::after{content:'';position:absolute;left:0;bottom:0;width:84px;height:3px;background:var(--orange);border-radius:999px}
.scroll-service-icon{
  width:68px;height:68px;display:grid;place-items:center;border-radius:20px;
  background:rgba(255,106,0,.08);border:1px solid rgba(255,106,0,.16);box-shadow:0 14px 30px rgba(255,106,0,.08)
}
.services-page-scroll .scroll-service-slide,.home-scroll-services .scroll-service-slide{overflow:hidden}
.services-page-scroll .scroll-service-slide::after,.home-scroll-services .scroll-service-slide::after{
  content:'';position:absolute;right:0;top:0;width:1px;height:100%;background:linear-gradient(180deg,rgba(255,106,0,.18),rgba(255,255,255,0));opacity:.55;pointer-events:none
}
.home-scroll-services .scroll-service-content{box-shadow:inset 0 0 0 1px rgba(0,28,64,.05)!important}
.home-scroll-services .scroll-service-content::after{background:linear-gradient(90deg,var(--orange),rgba(255,106,0,0))!important}
@media(max-width:700px){
  .scroll-service-content{border-left:0!important;border-top:1px solid rgba(255,255,255,.08)!important}
  .scroll-service-content::after{left:6vw!important;bottom:32px!important;width:110px!important}
  .scroll-service-icon{width:60px!important;height:60px!important;margin-bottom:18px!important}
}

/* Make services page mobile carousel feel looped / continuous */
.services-page-scroll .scroll-services-mobile-controls button{transition:transform .22s ease,background .22s ease,border-color .22s ease!important}
.services-page-scroll .scroll-services-mobile-controls button:hover{transform:translateY(-2px);background:rgba(255,106,0,.12)!important;border-color:rgba(255,106,0,.78)!important}

/* Coming soon redesign using site colors and typography */
.coming-soon{
  position:relative!important;overflow:hidden!important;color:#fff!important;
  background:
    radial-gradient(circle at 18% 20%,rgba(255,106,0,.14),transparent 20%),
    radial-gradient(circle at 83% 78%,rgba(255,106,0,.12),transparent 22%),
    linear-gradient(135deg,#07111d 0%,#001c40 55%,#081421 100%)!important;
  padding:12vh 6vw!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:32px!important;align-items:center!important
}
.coming-soon::before{content:'';position:absolute;inset:20px;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.coming-pill-tag{
  position:absolute!important;top:26px!important;left:6vw!important;z-index:2;
  background:rgba(255,106,0,.14)!important;border:1px solid rgba(255,106,0,.24)!important;color:#fff!important;
  padding:10px 16px!important;border-radius:999px!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-weight:800!important
}
.coming-pill{background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.08)!important;padding:42px!important;border-radius:28px!important;box-shadow:0 26px 54px rgba(0,0,0,.18)!important}
.coming-pill h2{font-size:clamp(58px,7vw,96px)!important;margin-bottom:16px!important}
.coming-pill-sub,.coming-quote{color:#c2ccd6!important;line-height:1.8!important}
.coming-quote-wrap{position:relative;background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:28px!important;padding:42px!important}
.coming-quote-wrap::before{content:'//';position:absolute;right:28px;top:22px;font:600 72px/1 'Playfair Display';color:rgba(255,106,0,.22)}
.coming-pill-eyebrow{color:var(--orange)!important;text-transform:uppercase!important;letter-spacing:.18em!important;font-weight:800!important}
@media(max-width:900px){.coming-soon{grid-template-columns:1fr!important;padding-top:16vh!important}}

/* Contact form title: bigger and more striking */
.contact-form-mini-title{
  font:700 clamp(15px,1.5vw,20px)/1.1 'Playfair Display',serif!important;
  letter-spacing:.03em!important;text-transform:none!important;color:var(--navy)!important;
  padding:0 0 16px!important;margin:0!important
}
.contact-form-embed{padding-top:4px!important}

/* Keep service / portfolio media cleaner on small screens */
@media(max-width:700px){
  .contact-form-mini-title{font-size:clamp(20px,6.5vw,28px)!important;padding:0 0 14px!important}
}

/* ===== 2026-09-10 final patch G ===== */
/* Full-width diagonal rails without visible right gap */
.fact-rail{
  position:relative!important;
  width:114vw!important;
  left:50%!important;
  margin:-18px 0 0!important;
  padding:18px 0!important;
  transform:translateX(-50%) rotate(-1.25deg)!important;
  overflow:hidden!important;
}
.fact-rail::before,.fact-rail::after{
  width:8vw!important;
}
.fact-track{
  display:flex!important;
  align-items:center!important;
  gap:56px!important;
  padding-inline:4vw!important;
  width:max-content!important;
  min-width:max-content!important;
}
.diagonal-marquee{
  position:relative!important;
  width:114vw!important;
  left:50%!important;
  margin:18px 0 58px!important;
  padding:18px 0!important;
  transform:translateX(-50%) rotate(-1.8deg)!important;
  overflow:hidden!important;
}
.diagonal-marquee div{padding-inline:4vw!important}

/* Home service intro details */
.service-intro-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:28px;
}
.service-intro-point{
  padding:18px 18px 16px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:rgba(255,255,255,.03);
  backdrop-filter:blur(6px);
}
.service-intro-point b{
  display:block;
  margin-bottom:8px;
  color:#fff;
  font-size:13px;
  letter-spacing:.04em;
}
.service-intro-point span{
  color:#bdc8d6;
  line-height:1.7;
  font-size:13px;
}

/* Home service content should be blue */
.home-scroll-services,
.home-scroll-services .scroll-services-track,
.home-scroll-services .scroll-services-sticky{
  background:#07111d!important;
}
.home-scroll-services .scroll-service-slide{
  background:linear-gradient(135deg,#07111d 0%,#001c40 45%,#082a53 100%)!important;
}
.home-scroll-services .scroll-service-content{
  background:linear-gradient(180deg,#0b2f60 0%,#001c40 100%)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)!important;
}
.home-scroll-services .scroll-service-content::before{
  background:radial-gradient(circle,rgba(255,255,255,.08),transparent 72%)!important;
}
.home-scroll-services .scroll-service-content h3,
.home-scroll-services .scroll-service-content strong{
  color:#fff!important;
}
.home-scroll-services .scroll-service-content p{
  color:#d8e2ec!important;
}
.home-scroll-services .scroll-service-number{
  color:rgba(255,255,255,.12)!important;
  -webkit-text-stroke:1px rgba(255,255,255,.04)!important;
}
.home-scroll-services .scroll-service-content::after{
  border-color:rgba(255,255,255,.12)!important;
  background:linear-gradient(90deg,var(--orange),rgba(255,106,0,0))!important;
}
.home-scroll-services .scroll-service-icon{
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.1)!important;
  color:var(--orange)!important;
}

/* Process / portfolio headings slightly smaller */
.process-shell .process-aside h2,
.process-title h2{
  font-size:clamp(50px,4.8vw,74px)!important;
}
.home-portfolio-collage .collage-copy h2{
  font-size:clamp(42px,4.5vw,66px)!important;
}

/* Mission and vision without lines, boxes, or background shapes */
.mission-vision{
  background:linear-gradient(135deg,#07111d 0%,#001c40 58%,#081421 100%)!important;
}
.mission-vision::before,.mission-vision::after,
.mission-vision article::before,
.mission-vision article::after,
.mission-vision .section-bg-icons,
.mission-vision .section-bg-icons *{
  display:none!important;
  content:none!important;
}
.mission-vision article{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.mission-vision h3{color:#fff!important}
.mission-vision p{color:#c8d2dd!important}

/* About banner eyebrow should be white */
body[data-page="about"] .image-break p{
  color:#fff!important;
}

/* Coming soon cleaner hierarchy */
.coming-soon{
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
  gap:30px!important;
}
.coming-pill-tag{
  top:28px!important;
  left:6vw!important;
}
.coming-pill{
  transform:none!important;
  padding:44px!important;
}
.coming-pill h2{
  font-size:clamp(52px,6vw,88px)!important;
  margin-bottom:14px!important;
}
.coming-pill-sub{
  margin:0!important;
  font-size:15px!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.coming-quote-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:22px!important;
}
.coming-quote-wrap::before{
  content:'//';
}
.coming-quote{
  margin:0!important;
  font-size:clamp(20px,2vw,31px)!important;
  line-height:1.6!important;
  text-align:left!important;
}
.coming-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:12px;
  width:100%;
}
.coming-list li{
  display:flex;
  align-items:center;
  gap:12px;
  color:#d8e2ec;
  font-weight:600;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.coming-list li::before{
  content:'+';
  color:var(--orange);
  font-size:18px;
  font-weight:800;
}

/* Contact form section label */
.contact-form-mini-title{
  font:700 clamp(22px,2vw,30px)/1.08 'Playfair Display',serif!important;
  color:var(--navy)!important;
  margin:0 0 14px!important;
}

/* Mobile-specific cleaner portfolio layout with less empty space */
@media(max-width:700px){
  .fact-rail{width:128vw!important;transform:translateX(-50%) rotate(-1.15deg)!important}
  .diagonal-marquee{width:128vw!important;transform:translateX(-50%) rotate(-1.6deg)!important}
  .service-intro-points{grid-template-columns:1fr!important;gap:12px!important}
  .home-portfolio-collage{padding-bottom:7vh!important}
  .collage-layout{gap:18px!important}
  .collage-stage,.collage-sticky{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .collage-sticky{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px!important;
    align-items:start!important;
  }
  .collage-card{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    transform:none!important;
    opacity:1!important;
    animation:none!important;
    border-width:5px!important;
  }
  .collage-card img{aspect-ratio:1/1;object-fit:cover}
  .collage-card:nth-child(n+7){display:none!important}
  .mission-vision article{padding:7vh 7vw!important}
  .coming-soon{grid-template-columns:1fr!important;padding-top:14vh!important}
  .coming-pill,.coming-quote-wrap{padding:28px!important}
  .coming-quote{font-size:clamp(18px,5vw,26px)!important}
}


/* ===== 2026-09-10 final refinement pass F ===== */
/* Slower marquee / carousel info movement */
.fact-track{animation-duration:38s!important}
.diagonal-marquee div,.marquee div{animation-duration:34s!important}

/* Mission & vision: animated side-to-side color background */
.mission-vision{
  position:relative!important;
  background:linear-gradient(115deg,#001c40 0%,#0b2d56 28%,#ff6a00 50%,#001c40 72%,#081421 100%)!important;
  background-size:220% 220%!important;
  animation:missionShift 12s ease-in-out infinite!important;
  overflow:hidden!important;
}
.mission-vision::before,
.mission-vision::after,
.mission-vision article::before,
.mission-vision article::after{display:none!important}
.mission-vision article{
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  backdrop-filter:blur(8px)!important;
}
.mission-vision h3,.mission-vision p,.mission-vision span,.mission-vision i{color:#fff!important}
.mission-vision p{color:#dbe4ee!important}
.mission-vision .section-bg-icons i{color:rgba(255,255,255,.08)!important}
@keyframes missionShift{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}

/* Home core services intro without extra info cards */
.home-scroll-services .scroll-services-intro{padding-bottom:4vh!important}
.home-scroll-services .scroll-services-intro > p:last-child{max-width:820px!important}
.home-scroll-services .service-intro-points{display:none!important}

/* Home service slides: blue content panels */
.home-scroll-services .scroll-service-content{
  background:linear-gradient(180deg,#0a2c5a 0%,#001c40 100%)!important;
  color:#fff!important;
}
.home-scroll-services .scroll-service-content::before{
  background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%)!important;
}
.home-scroll-services .scroll-service-content h3,
.home-scroll-services .scroll-service-content strong,
.home-scroll-services .scroll-service-content p{color:#fff!important}
.home-scroll-services .scroll-service-content p{opacity:.88!important}
.home-scroll-services .scroll-service-number{color:rgba(255,255,255,.12)!important;-webkit-text-stroke:0!important}
.home-scroll-services .scroll-service-content::after{background:linear-gradient(90deg,var(--orange),rgba(255,106,0,0))!important}

/* Slightly smaller display titles in the requested sections */
.process.process-immersive .process-aside h2,
.home-portfolio-collage .collage-copy h2{font-size:clamp(40px,4.8vw,70px)!important;max-width:780px!important}

/* About values cards: flip interaction */
.values{gap:20px!important;padding:2vh 6vw 12vh!important;background:#07111d!important}
.value-flip-card{perspective:1400px;border:0!important;padding:0!important;min-height:310px!important;background:transparent!important}
.value-card-inner{position:relative;height:100%;min-height:310px;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.value-flip-card:hover .value-card-inner,
.value-flip-card:focus-within .value-card-inner,
.value-flip-card.is-flipped .value-card-inner{transform:rotateY(180deg)}
.value-card-face{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:38px;border-radius:22px;border:1px solid rgba(255,255,255,.12);backface-visibility:hidden;overflow:hidden;box-shadow:0 24px 55px rgba(0,0,0,.22)}
.value-card-front{background:linear-gradient(145deg,#0c2342 0%,#001c40 55%,#163b67 100%)}
.value-card-front::after,.value-card-back::after{content:'';position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,0,.26),transparent 68%)}
.value-card-front span,.value-card-back-icon{font:600 82px/1 'Playfair Display';color:var(--orange);margin-bottom:14px;position:relative;z-index:1}
.value-card-front h3{font:600 clamp(34px,3vw,44px)/1 'Playfair Display';margin:0 0 14px;position:relative;z-index:1}
.value-card-front small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#cad3dd;position:relative;z-index:1}
.value-card-back{background:linear-gradient(145deg,#ff6a00 0%,#d95500 100%);transform:rotateY(180deg);color:#fff}
.value-card-back p{font-size:16px;line-height:1.75;color:#fff;max-width:26ch;position:relative;z-index:1}

/* Home portfolio on mobile: larger images and tighter layout */
@media(max-width:700px){
  .home-portfolio-collage{padding-bottom:5vh!important}
  .home-portfolio-collage .collage-stage,.home-portfolio-collage .collage-sticky{height:auto!important;min-height:0!important}
  .home-portfolio-collage .collage-sticky{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;position:relative!important;overflow:visible!important}
  .home-portfolio-collage .collage-card{position:relative!important;left:auto!important;top:auto!important;width:100%!important;transform:none!important;aspect-ratio:1/1!important;border-width:5px!important}
  .home-portfolio-collage .collage-card img{width:100%!important;height:100%!important;object-fit:cover!important;aspect-ratio:1/1!important}
  .home-portfolio-collage .collage-card:nth-child(n+7){display:none!important}
}

/* Services page carousel: auto-loop, no cut */
.services-page-scroll.autoloop-mode .scroll-services-track{height:auto!important;min-height:0!important}
.services-page-scroll.autoloop-mode .scroll-services-sticky{position:relative!important;top:auto!important;height:auto!important;overflow:hidden!important;padding-bottom:90px!important;background:#081421!important}
.services-page-scroll.autoloop-mode .scroll-services-slides{position:relative!important;inset:auto!important;display:flex!important;width:100%!important;transition:transform .85s cubic-bezier(.2,.7,.2,1)!important;will-change:transform}
.services-page-scroll.autoloop-mode .scroll-service-slide{position:relative!important;inset:auto!important;min-width:100%!important;transform:none!important;z-index:1!important}
.services-page-scroll.autoloop-mode .scroll-services-progress{bottom:86px!important}
.services-page-scroll.autoloop-mode .scroll-services-mobile-controls{display:flex!important;position:absolute!important;left:0;right:0;bottom:0;height:86px;align-items:center;justify-content:center;gap:18px;background:#06111e;z-index:25;border-top:1px solid rgba(255,255,255,.08)}
.services-page-scroll.autoloop-mode .service-status{font-size:12px;letter-spacing:.16em;color:#d7dee6;min-width:70px;text-align:center}
@media(min-width:701px){
  .services-page-scroll.autoloop-mode .scroll-service-slide{display:grid!important;grid-template-columns:56% 44%!important;min-height:82vh!important}
}
@media(max-width:700px){
  .services-page-scroll.autoloop-mode .scroll-service-slide{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:42vh auto!important}
}

/* Contact: remove the old repeated form mini title and refresh heading */
.contact-form-mini-title{display:none!important}

/* Videos page redesign */
.videos-showcase{padding:11vh 6vw;background:linear-gradient(180deg,#f2eee6 0%,#ebe6dc 100%);color:var(--ink)}
.videos-showcase-shell{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);gap:3vw;align-items:stretch}
.videos-showcase-copy h2{font:600 clamp(42px,5vw,76px)/.98 'Playfair Display';margin:14px 0 20px;letter-spacing:-.035em}
.videos-showcase-copy h2 em{color:var(--orange);font-weight:600}
.videos-showcase-copy p{color:#4f5963;line-height:1.8;max-width:640px}
.videos-chip-list{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0}
.videos-chip-list span{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:#fff;border:1px solid rgba(0,28,64,.08);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--navy)}
.videos-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.video-preview-card{position:relative;min-height:280px;border-radius:24px;overflow:hidden;background:#d8d8d8;box-shadow:0 24px 55px rgba(0,0,0,.12)}
.video-preview-card.is-large{grid-column:1 / -1;min-height:380px}
.video-preview-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.02);transition:transform .6s ease,filter .35s ease}
.video-preview-card:hover img{transform:scale(1.04);filter:saturate(1) contrast(1)}
.video-preview-overlay{position:absolute;inset:auto 0 0 0;padding:26px 24px 22px;background:linear-gradient(0deg,rgba(0,28,64,.9) 0%,rgba(0,28,64,.52) 48%,rgba(0,28,64,0) 100%);color:#fff}
.video-preview-overlay span{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.76);margin-bottom:10px}
.video-preview-overlay strong{font:600 clamp(26px,2.5vw,38px)/1.04 'Playfair Display'}
.video-status-band{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#07111d;color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.video-status-band article{padding:34px 28px;border-right:1px solid rgba(255,255,255,.08)}
.video-status-band article:last-child{border-right:0}
.video-status-band small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:10px}
.video-status-band p{margin:0;color:#dbe4ee;line-height:1.7}
@media(max-width:900px){
  .videos-showcase-shell,.video-status-band{grid-template-columns:1fr!important}
  .videos-preview-grid{grid-template-columns:1fr!important}
  .video-preview-card.is-large{grid-column:auto!important;min-height:320px!important}
  .video-status-band article{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
  .video-status-band article:last-child{border-bottom:0!important}
}


/* ===== 2026-09-10 final refinement pass G ===== */
/* Global section title sizing — excludes hero and title-banner headings */
section:not(.hero):not(.hero-compact) h2,
section:not(.hero):not(.hero-compact) .title-animate{
  font-size:clamp(36px,4.35vw,68px)!important;
  line-height:1!important;
}
/* Keep title banners / image banners larger than regular sections */
.image-break h2,
.cta-panel h2,
.hero h1,
.hero-compact h1{
  font-size:revert-layer;
}
.image-break h2{font-size:clamp(46px,6vw,90px)!important}
.cta-panel h2{font-size:clamp(46px,6vw,90px)!important}
.hero h1,.hero-compact h1{font-size:clamp(50px,7vw,108px)!important}

/* Mobile section titles smaller, keeping hero and banner headings exempt */
@media(max-width:700px){
  section:not(.hero):not(.hero-compact) h2,
  section:not(.hero):not(.hero-compact) .title-animate{
    font-size:clamp(30px,8vw,42px)!important;
    line-height:1.02!important;
  }
  .image-break h2,.cta-panel h2{font-size:clamp(40px,10vw,58px)!important}
  .hero h1,.hero-compact h1{font-size:clamp(46px,14vw,72px)!important}
}

/* Videos — single creative animated Coming Soon message */
.videos-coming-minimal{
  min-height:74vh;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:10vh 6vw;
  background:
    radial-gradient(circle at 18% 24%,rgba(255,106,0,.15),transparent 20%),
    radial-gradient(circle at 82% 76%,rgba(0,28,64,.22),transparent 26%),
    linear-gradient(135deg,#07111d 0%,#001c40 58%,#081421 100%);
  text-align:center;
}
.videos-coming-minimal::before{
  content:'';
  position:absolute;
  width:42vw;
  height:42vw;
  min-width:420px;
  min-height:420px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,106,0,.12),rgba(255,106,0,0) 68%);
  animation:videosPulse 4.8s ease-in-out infinite;
}
.videos-coming-copy{position:relative;z-index:2;max-width:820px}
.videos-coming-copy .eyebrow{color:var(--orange)!important;margin-bottom:16px}
.videos-coming-copy h2{
  margin:0!important;
  font:600 clamp(58px,8vw,118px)/.9 'Playfair Display'!important;
  letter-spacing:-.05em!important;
  color:#fff!important;
  text-shadow:0 16px 44px rgba(0,0,0,.3);
}
.videos-coming-copy h2 em{color:var(--orange)!important;font-weight:600}
.videos-coming-copy p:last-child{
  margin:22px auto 0!important;
  color:#ccd6e2!important;
  font-size:15px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.videos-coming-orbit{
  position:absolute;
  width:min(660px,74vw);
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.07);
  animation:videosRotate 18s linear infinite;
}
.videos-coming-orbit span{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,106,0,.2);
}
.videos-coming-orbit span:nth-child(1){inset:8%}
.videos-coming-orbit span:nth-child(2){inset:20%;border-style:dashed;animation:videosRotateReverse 12s linear infinite}
.videos-coming-orbit span:nth-child(3){inset:34%;border-color:rgba(255,255,255,.12)}
@keyframes videosRotate{to{transform:rotate(360deg)}}
@keyframes videosRotateReverse{to{transform:rotate(-360deg)}}
@keyframes videosPulse{0%,100%{transform:scale(.92);opacity:.65}50%{transform:scale(1.08);opacity:1}}
@media(max-width:700px){
  .videos-coming-minimal{min-height:64vh;padding:8vh 6vw}
  .videos-coming-copy h2{font-size:clamp(46px,15vw,72px)!important}
  .videos-coming-copy p:last-child{font-size:12px;line-height:1.6}
  .videos-coming-orbit{width:88vw}
}


/* Requested refinement: natural title wrapping without forced line breaks */
.title-animate,.hero h1,section h2{
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.title-animate .title-word{display:inline-block;white-space:nowrap}
.hero-content,.welcome-copy,.home-about-copy,.why-copy,.scroll-services-intro,.process-aside,.faq-heading,.story-copy,.about-map>div{min-width:0}
@media(max-width:700px){
  .title-animate,.hero h1,section h2{max-width:100%!important}
}

/* Services CTAs: discreet per-service buttons are mobile-only */
.services-page-scroll .scroll-service-content > .btn{display:none!important}
@media(max-width:700px){
  .services-page-scroll .scroll-service-content > .btn{display:inline-flex!important;width:max-content;max-width:100%;font-size:10px!important;padding:12px 15px!important}
}

/* ===== Responsive compatibility patch — layout adaptation only ===== */
/* Preserve the existing design/animation system while preventing fixed-size content from overflowing. */
html,body{width:100%;max-width:100%;}
body{min-width:0;}
main,header,footer,nav,section,article,aside,div{min-width:0;}
img,video,iframe,svg,canvas{max-width:100%;}
video,iframe{display:block;}
input,textarea,select,button{max-width:100%;font:inherit;}

/* Grid/flex children may otherwise force horizontal overflow at browser zoom or narrow resolutions. */
.site-header>*,.desktop-nav>*,.hero-content,.split-section>*,.process-title>*,.process-grid>*,
.cta-panel>*,.values>*,.service-row>*,.location-grid>*,.radius>*,.contact-layout>*,
.contact-map-rebuilt>*,.contact-highlights>*,.footer>*,.mission-vision>*,.scroll-service-slide>*,
.scroll-service-content,.scroll-service-image,.home-about>*,.welcome-section>*,.why-choose>*,
.about-map>*,.location-grid-full>*{min-width:0;}

/* Long real-world strings stay inside their existing cards without changing the visual treatment. */
.contact-info a,.contact-quick-cards strong,.contact-highlights p,.footer a,.footer span,
.map-locality-list span,.contact-map-badges span,.mobile-menu-links a{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Embedded maps/forms/media remain fluid at every viewport and zoom level. */
.map-card,.contact-form-embed,.interactive-map-card{max-width:100%;}
.map-card iframe,.contact-form-embed iframe,.interactive-map-card iframe{width:100%!important;max-width:100%!important;}

/* Tablet / compact desktop: retain the same composition, only give crowded layouts room to breathe. */
@media(max-width:1200px){
  .desktop-nav{gap:1.25vw;}
  .nav-link{letter-spacing:.08em;}
  .footer{gap:28px 3vw!important;}
  .scroll-service-content{padding-left:4.5vw;padding-right:4.5vw;}
}

@media(max-width:1050px){
  .hero-content{max-width:min(900px,88vw);}
  .hero-copy{max-width:min(650px,86vw);}
  .cta-panel h2,.process-title h2,.location-grid h2,.radius h2,.contact-info h2{max-width:100%;}
  .stack-cards{width:100%;}
  .stack-card{max-width:100%;}
  .radius-ring{max-width:72vw;max-height:72vw;}
  .about-map .map-card,.location-grid-full .map-card{width:100%;}
}

/* Phones: existing mobile design is preserved; these rules only remove overflow/cropping edge cases. */
@media(max-width:700px){
  .site-header{width:100%;}
  .brand{max-width:52vw;}
  .brand img{max-width:100%;}
  .mobile-menu{width:100%;max-width:100vw;}
  .mobile-menu-links a{max-width:100%;}

  .hero,.hero-compact{width:100%;}
  .hero-content{width:100%;max-width:100%;}
  .hero h1,.hero-title,.hero-compact h1{max-width:100%!important;overflow-wrap:break-word;}
  .hero-copy{max-width:100%;}
  .hero-actions{width:100%;}
  .hero-actions .btn{max-width:100%;}

  .split-section,.stack-section,.process,.service-list,.location-grid,.radius,.contact-layout,
  .faq-section,.welcome-copy,.home-about-copy,.why-copy,.cities-section,.coming-soon,
  .contact-map-rebuilt,.location-grid-full,.scroll-services-intro{max-width:100vw;}

  .stack-card{width:100%;max-width:100%;}
  .stack-card h3,.service-row h2,.process-grid h3,.values h3{overflow-wrap:break-word;}

  .service-row{width:100%;}
  .service-row p{min-width:0;}

  .radius-ring{width:min(280px,78vw)!important;height:min(280px,78vw)!important;}
  .contact-radius-panel .radius-ring{width:min(230px,68vw)!important;height:min(230px,68vw)!important;}

  .contact-form-embed{width:100%;min-width:0;overflow:hidden;}
  .contact-form-embed iframe{min-width:0!important;}

  .map-overlay-pins{overflow:hidden;}
  .map-overlay-pins .pin{max-width:44%;white-space:normal;line-height:1.25;}

  .footer>div{max-width:100%;}
  .footer-bottom{width:100%;}

  /* Sticky service carousel keeps the same animation but cannot exceed the viewport. */
  .scroll-services,.scroll-services-sticky,.scroll-services-slides,.scroll-service-slide{width:100%;max-width:100vw;}
  .scroll-service-content{min-width:0;max-width:100%;}
  .scroll-service-content h3,.scroll-service-content p{max-width:100%!important;}
}

/* Extra-small phones / strong browser zoom. No design redesign: only proportional containment. */
@media(max-width:480px){
  .topbar{padding-left:4vw!important;padding-right:4vw!important;}
  .topbar>div:first-child{gap:5px;}
  .topbar a,.topbar span{white-space:nowrap;}
  .site-header{padding-left:4vw;padding-right:4vw;}
  .brand{width:min(190px,54vw);}

  .hero,.hero-compact{padding-left:5vw;padding-right:5vw;}
  .hero-actions{gap:9px;}
  .hero-actions .btn{padding-left:16px;padding-right:16px;}

  .mobile-menu{padding-left:6vw;padding-right:6vw;}
  .mobile-menu-links a{font-size:clamp(30px,10vw,44px);}

  .stat-row strong{font-size:clamp(40px,14vw,48px);}
  .process-grid article,.values article{padding-left:18px;padding-right:18px;}
  .service-row{grid-template-columns:34px minmax(0,1fr) 28px;gap:14px;}
  .service-row h2{font-size:clamp(27px,9vw,34px);}

  .radius-ring{width:min(250px,76vw)!important;height:min(250px,76vw)!important;}
  .radius-ring span{font-size:clamp(64px,21vw,78px);}

  .contact-info{padding-left:20px!important;padding-right:20px!important;}
  .contact-quick-cards a,.contact-quick-cards>div{padding:14px 12px;}
  .contact-support-points span,.contact-map-badges span,.map-locality-list span{max-width:100%;}

  .coming-pill{width:100%!important;}
  .video-orbit{width:min(360px,82vw)!important;height:min(360px,82vw)!important;}

  /* Keep the collage composition, scaling its stage for very narrow displays instead of clipping it. */
  .home-portfolio-collage .collage-sticky{height:620px!important;min-height:620px!important;}
}

@media(max-width:360px){
  .topbar{font-size:8px;}
  .hero-actions .btn{width:100%;}
  .mobile-menu-links{gap:8px;}
  .mobile-menu-links a{font-size:29px;}
  .home-portfolio-collage .collage-sticky{height:560px!important;min-height:560px!important;}
  .contact-highlights,.contact-layout,.contact-map-rebuilt{padding-left:5vw!important;padding-right:5vw!important;}
}

/* Touch devices keep all existing animations, but the decorative custom cursor does not consume layout space. */
@media(hover:none),(pointer:coarse){.cursor-dot{display:none!important;}}

/* ===== Header responsive correction for compact desktop / browser zoom ===== */
/* Layout-only adjustment: preserves the existing header design and animations. */
@media (max-width:1450px){
  .site-header,
  .site-header.scrolled{
    padding-left:2.4vw!important;
    padding-right:2.4vw!important;
  }
  .site-header .brand{
    width:180px!important;
    flex:0 0 180px!important;
  }
  .site-header .brand img{
    width:180px!important;
  }
  .desktop-nav{
    gap:clamp(10px,1vw,16px)!important;
  }
  .desktop-nav .nav-link{
    font-size:11px!important;
    letter-spacing:.065em!important;
    white-space:nowrap;
  }
  .header-cta{
    margin-left:1.25vw!important;
    padding-left:15px!important;
    padding-right:15px!important;
    white-space:nowrap;
  }
}

/* At reduced effective viewport widths (smaller monitors or 125%/150% browser/OS scaling),
   use the site's existing compact navigation before the desktop header can collide. */
@media (max-width:1280px){
  .desktop-nav,
  .header-cta{
    display:none!important;
  }
  .menu-toggle{
    display:block!important;
    flex:0 0 44px;
    margin-left:auto!important;
  }
  .site-header .brand{
    width:190px!important;
    flex:0 0 190px!important;
  }
  .site-header .brand img{
    width:190px!important;
  }
}

/* Keep top contact information on one controlled row at compact desktop widths. */
@media (min-width:701px) and (max-width:1280px){
  .topbar{
    padding-left:2.4vw!important;
    padding-right:2.4vw!important;
  }
  .topbar-right{
    flex-wrap:nowrap!important;
    gap:clamp(10px,1.4vw,18px)!important;
  }
  .topbar-right a,
  .topbar-right span{
    font-size:10px!important;
    letter-spacing:.055em!important;
    white-space:nowrap!important;
  }
}

/* ===== Mobile menu zoom containment fix =====
   Prevent closed off-canvas menu content from leaking into the viewport
   when browser/OS zoom makes the menu content taller than the viewport. */
.mobile-menu{
  overflow:hidden!important;
  max-height:100dvh!important;
}
.mobile-menu.open{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}

/* Compact navigation can activate on desktop-size devices after zoom.
   Keep the same menu design, but make all links fit the available viewport. */
@media (min-width:701px) and (max-width:1280px){
  .mobile-menu{
    padding-top:clamp(42px,6vh,70px)!important;
    padding-bottom:clamp(28px,5vh,56px)!important;
  }
  .mobile-menu-links{
    margin-top:clamp(34px,5vh,60px)!important;
    gap:clamp(4px,1vh,10px)!important;
  }
  .mobile-menu-links a{
    font-size:clamp(28px,4.2vw,48px)!important;
    line-height:1!important;
    padding:clamp(6px,1vh,10px) 0!important;
  }
  .mobile-menu-foot{
    position:relative!important;
    bottom:auto!important;
    margin-top:clamp(22px,4vh,40px)!important;
    flex-wrap:wrap!important;
  }
}

/* ===== 2026-09-11 mobile header fit only =====
   Keeps the existing header design; only scales/contains header elements on small screens. */
@media (max-width:700px){
  .topbar{
    height:clamp(28px,8vw,32px)!important;
    min-height:0!important;
    padding:0 clamp(10px,4vw,16px)!important;
    overflow:hidden!important;
  }
  .topbar-right{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:clamp(4px,2vw,10px)!important;
  }
  .topbar-right a,
  .topbar-right span{
    min-width:0!important;
    font-size:clamp(7px,2.15vw,9px)!important;
    line-height:1!important;
    letter-spacing:.035em!important;
    white-space:nowrap!important;
  }

  .site-header,
  .site-header.scrolled{
    top:clamp(28px,8vw,32px)!important;
    width:100%!important;
    height:clamp(60px,17vw,72px)!important;
    min-height:0!important;
    padding:0 clamp(12px,4vw,18px)!important;
    display:flex!important;
    align-items:center!important;
  }
  .site-header .brand{
    width:clamp(126px,42vw,166px)!important;
    max-width:calc(100% - 56px)!important;
    flex:0 1 auto!important;
  }
  .site-header .brand img{
    width:100%!important;
    height:clamp(42px,13vw,54px)!important;
    max-height:54px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .site-header .menu-toggle{
    display:flex!important;
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    margin-left:auto!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    background:var(--orange)!important;
    border-radius:50%!important;
    border:0!important;
  }
  .site-header .menu-toggle span{
    width:24px!important;
    margin:4px auto!important;
  }
}

@media (max-width:380px){
  .topbar{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .topbar-right{
    gap:4px!important;
  }
  .topbar-right a,
  .topbar-right span{
    font-size:7px!important;
    letter-spacing:0!important;
  }
  .site-header,
  .site-header.scrolled{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .site-header .brand{
    width:clamp(120px,40vw,146px)!important;
  }
  .site-header .brand img{
    height:44px!important;
  }
}

/* Social links: icon-only in topbar, footer and Contact */
.social-icons{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.social-icons a{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;width:35px;height:35px;margin:0!important;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:inherit;font-size:16px;transition:color .25s,border-color .25s,transform .25s}
.social-icons a:hover{color:var(--orange);border-color:var(--orange);transform:translateY(-2px)}
.social-icons a i{width:auto!important;color:inherit!important;font-size:inherit}
.social-icons-topbar{gap:7px;margin-left:4px;flex-wrap:nowrap}
.social-icons-topbar a{width:24px;height:24px;font-size:12px;border-color:rgba(255,255,255,.28)}
.social-icons-footer{margin-top:18px}
.social-icons-contact{margin:20px 0 28px;gap:14px}
.social-icons-contact a{width:46px;height:46px;background:var(--navy);color:#fff;border-color:var(--orange);font-size:19px}
@media(max-width:1300px){.social-icons-topbar{gap:3px}.social-icons-topbar a{width:21px;height:21px;font-size:11px}}
