    :root{--navy:#06111f;--navy2:#081827;--blue:#145cff;--blue2:#2f7bff;--white:#fff;--muted:#9ba9bb;--line:rgba(255,255,255,.1);--ease:cubic-bezier(.22,1,.36,1)}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:#fff;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}.display{font-family:"Space Grotesk",sans-serif}.container{width:min(1220px,92vw);margin:0 auto}.section{padding:110px 0}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:800;color:#6d9cff;margin-bottom:18px}.h2{font-size:clamp(42px,6vw,82px);line-height:.95;letter-spacing:-.045em;margin:0;font-weight:700}.body{color:var(--muted);line-height:1.8;font-size:16px}.topbar{height:34px;background:#03080e;display:flex;align-items:center;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#b8c4d4}.topbar .container{display:flex;justify-content:space-between;align-items:center}.nav{position:absolute;z-index:20;left:0;right:0;top:34px;height:82px;display:flex;align-items:center;transition:.4s var(--ease)}.nav.scrolled{position:fixed;top:0;background:rgba(4,12,22,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.navin{display:flex;align-items:center;justify-content:space-between;width:min(1220px,92vw);margin:auto}.logo{font-weight:900;letter-spacing:-.04em;font-size:29px}.logo span{color:#4b86ff}.links{display:flex;gap:27px;align-items:center}.links a{color:#d8e0ea;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;position:relative}.links a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--blue2);transition:.25s}.links a:hover:after{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;background:var(--blue);color:#fff;text-decoration:none;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 10px 35px rgba(20,92,255,.28);transition:transform .25s var(--ease),box-shadow .25s}.btn:hover{transform:translateY(-2px);box-shadow:0 16px 50px rgba(20,92,255,.44)}.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.26);box-shadow:none}.btn.ghost:hover{border-color:#6d9cff;background:rgba(20,92,255,.1)}
    .hero{height:100svh;min-height:720px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,9,15,.82) 0%,rgba(3,9,15,.42) 48%,rgba(3,9,15,.35) 100%),linear-gradient(0deg,rgba(6,17,31,.8),transparent 40%);z-index:2;pointer-events:none}.hero .swiper{height:100%}.hero-slide{height:100%;position:relative;background-size:cover;background-position:center}.hero-slide:before{content:"";position:absolute;inset:-4%;background:inherit;background-size:cover;background-position:center;transform:scale(1.06);animation:ken 10s ease-out both}.hero-content{position:relative;z-index:4;height:100%;display:flex;align-items:center}.hero-copy{padding-top:100px;max-width:760px}.hero-title{font-family:"Space Grotesk";font-size:clamp(56px,8vw,116px);line-height:.88;letter-spacing:-.065em;margin:0 0 28px}.hero-title .accent{color:#72a0ff}.hero-desc{max-width:570px;color:#d8e0ea;font-size:17px;line-height:1.75;margin-bottom:30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-meta{position:absolute;z-index:5;left:4%;bottom:34px;right:4%;display:flex;justify-content:space-between;align-items:end}.slide-no{font-family:"Space Grotesk";font-size:30px}.slide-no small{font-size:12px;color:#74849a}.progress-wrap{display:flex;align-items:center;gap:14px}.progress{width:220px;height:2px;background:rgba(255,255,255,.2);overflow:hidden}.progress span{display:block;height:100%;width:33.33%;background:#fff;animation:progress 7s linear infinite}.scrollhint{font-size:10px;letter-spacing:.13em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.scrollhint:after{content:"";width:40px;height:1px;background:#fff}.hero .swiper-pagination{z-index:5;bottom:34px!important;left:50%!important;width:auto!important;transform:translateX(-50%);display:flex;gap:8px}.hero .swiper-pagination-bullet{width:32px;height:2px;background:rgba(255,255,255,.4);border-radius:0;opacity:1}.hero .swiper-pagination-bullet-active{background:#fff}
    .intro{background:#fff;color:#08111d;position:relative}.intro .body{color:#536174}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}.intro-image{position:relative;overflow:hidden;border-radius:2px}.intro-image img{width:100%;display:block;transform:scale(1.04);transition:transform 1.2s var(--ease)}.intro-image:hover img{transform:scale(1.11)}.floating-stat{position:absolute;right:-18px;bottom:28px;background:#0a1625;color:#fff;padding:24px 28px;min-width:170px}.floating-stat b{font-size:36px;font-family:"Space Grotesk";display:block}.floating-stat span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#90a1b5}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:42px;border-top:1px solid #dce3eb;padding-top:28px}.stat-grid b{font-size:40px;line-height:1;font-family:"Space Grotesk"}.stat-grid span{display:block;color:#667386;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:8px}
    .dark{background:var(--navy);position:relative}.dark:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:rgba(20,92,255,.11);filter:blur(90px);right:-250px;top:-250px}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:56px}.section-head .body{max-width:480px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service{padding:42px;background:rgba(255,255,255,.015);position:relative;overflow:hidden;min-height:250px;transition:background .35s,transform .35s}.service h3{font-size:27px;line-height:1.12}.service p{font-size:14px;line-height:1.75}.service:before{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,transparent,var(--blue),transparent);transform:translateX(-110%);transition:.6s}.service:hover{background:rgba(20,92,255,.07);transform:translateY(-2px)}.service:hover:before{transform:translateX(110%)}.service-num{font-family:"Space Grotesk";font-size:12px;color:#6681aa}.service h3{font-size:32px;letter-spacing:-.03em;margin:30px 0 12px;font-family:"Space Grotesk"}.service p{color:#94a2b5;line-height:1.7;max-width:440px}.arrow{position:absolute;right:30px;top:34px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.3s}.service:hover .arrow{background:var(--blue);border-color:var(--blue);transform:rotate(-45deg)}
    .statement{padding:140px 0;background:#071a2d;position:relative;overflow:hidden}.statement-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,18,.88),rgba(4,10,18,.32)),url('https://images.unsplash.com/photo-1552519507-da3b142c6e3d?auto=format&fit=crop&w=2000&q=85') center/cover;transform:translateY(0) scale(1.08);will-change:transform}.statement .container{position:relative;z-index:2}.statement h2{max-width:900px;font-size:clamp(54px,8vw,110px);line-height:.88;letter-spacing:-.06em;margin:0}.statement h2 span{color:#70a0ff}
    .showcase{background:#fff;color:#08111d}.showcase .body{color:#59687a}.filters{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:32px}.filter{border:0;background:none;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#78869a;cursor:pointer;padding:0}.filter.active,.filter:hover{color:#145cff}.gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.tile{position:relative;overflow:hidden;min-height:340px;background:#0b1625}.tile.large{min-height:700px}.tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--ease),filter .5s}.tile:hover img{transform:scale(1.08)}.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,8,14,.72),transparent 55%)}.tile-info{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:#fff}.tile-info small{text-transform:uppercase;letter-spacing:.13em;font-size:10px;color:#a6b8cf}.tile-info h3{margin:7px 0 0;font-family:"Space Grotesk";font-size:30px}.gallery-side{display:grid;grid-template-rows:1fr 1fr;gap:18px}
    .process{background:#f4f7fa;color:#08111d}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #d6dde6}.step{padding:34px 22px 20px;border-right:1px solid #d6dde6;position:relative}.step:last-child{border-right:0}.step b{font-family:"Space Grotesk";font-size:34px;color:#145cff}.step h4{font-size:17px;margin:30px 0 10px}.step p{font-size:13px;line-height:1.7;color:#617083}.step:before{content:"";position:absolute;top:-2px;left:0;width:0;height:3px;background:#145cff;transition:width .7s}.step.in:before{width:100%}
    .testimonial{background:#06111f}.quote{font-family:"Space Grotesk";font-size:clamp(30px,4.2vw,58px);line-height:1.08;letter-spacing:-.045em;max-width:900px;margin:0}.quote-mark{font-size:70px;color:#4b86ff;line-height:0}.person{display:flex;align-items:center;gap:14px;margin-top:34px}.avatar{width:46px;height:46px;border-radius:50%;background:#17335f;display:grid;place-items:center;font-weight:800}.person small{display:block;color:#7890ae;margin-top:4px}
    .brands{background:#0a1523;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.marquee{display:flex;width:max-content;animation:marquee 25s linear infinite;gap:80px;padding:30px 0}.marquee span{font-family:"Space Grotesk";font-weight:700;font-size:24px;color:#6f819a;letter-spacing:.08em}
    .cta{background:#fff;color:#08111d;text-align:center;padding:120px 0}.cta .h2{max-width:900px;margin:0 auto}.cta .body{max-width:580px;margin:22px auto 30px}.footer{background:#03080e;padding:55px 0;color:#93a1b3}.footer-grid{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:40px}.footer h4{color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.footer a{display:block;color:#93a1b3;text-decoration:none;margin:10px 0;font-size:13px}.footer a:hover{color:#fff}.copyright{margin-top:50px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;display:flex;justify-content:space-between;gap:20px}
    .reveal{opacity:0;transform:translateY(35px);transition:1s var(--ease)}.reveal.in{opacity:1;transform:none}.parallax{will-change:transform}@keyframes ken{from{transform:scale(1.08)}to{transform:scale(1.0)}}@keyframes progress{from{transform:translateX(-100%)}to{transform:translateX(300%)}}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
    .awards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:10px}.award-card{background:#fff;border:1px solid #d6dde6;overflow:hidden;min-height:360px;display:flex;align-items:center;justify-content:center;transition:transform .35s var(--ease),box-shadow .35s}.award-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(8,17,29,.12)}.award-card img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}.award-card:before{content:"";position:absolute}    @media(max-width:900px){.links{display:none}.intro-grid{grid-template-columns:1fr;gap:40px}.service-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery-side{grid-template-columns:1fr 1fr;grid-template-rows:none}.tile.large{min-height:520px}.process-grid{grid-template-columns:1fr 1fr}.step{border-bottom:1px solid #d6dde6}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.hero-meta .scrollhint{display:none}}
    @media(max-width:600px){.awards-grid{grid-template-columns:1fr}.award-card,.award-card img{min-height:360px}.section{padding:80px 0}.topbar{display:none}.nav{top:0}.hero-copy{padding-top:40px}.hero-title{font-size:58px}.hero-desc{font-size:15px}.hero-meta{bottom:20px}.progress{width:110px}.intro .container{width:88vw}.floating-stat{right:12px}.gallery-side{grid-template-columns:1fr}.tile.large{min-height:420px}.process-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.copyright{flex-direction:column}.cta{padding:90px 0}.section-head{display:block}.section-head .body{margin-top:20px}.hero .swiper-button-next,.hero .swiper-button-prev{display:none}}

    /* VV Cars interactive upgrades */
    .showcase-intro{max-width:620px}.filters{gap:10px;align-items:center}.filter{padding:9px 13px;border:1px solid #d7e0eb;border-radius:999px;background:#fff;transition:.25s}.filter.active,.filter:hover{background:#145cff;color:#fff;border-color:#145cff}.gallery{grid-template-columns:repeat(12,1fr);grid-auto-rows:210px;grid-auto-flow:dense}.tile{grid-column:span 4;grid-row:span 2;min-height:0}.gallery-side{display:contents}.gallery .tile.sp-hero{grid-column:span 6;grid-row:span 3}.gallery .tile.sp-half{grid-column:span 3;grid-row:span 2}.gallery .tile.sp-wide{grid-column:span 4;grid-row:span 2}.tile.is-hidden{display:none}.tile-tag{display:none;padding:6px 9px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(2,8,16,.3);backdrop-filter:blur(8px);font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:#d9e6f8;margin-bottom:8px}.tile-info h3{font-size:24px}.build-arrow{display:inline-block;margin-left:8px;transition:.3s}.tile:hover .build-arrow{transform:translateX(5px)}
    .image-placeholder{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#0b1625,#14243a);color:#9fb0c6;text-align:center;letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:800}
    .image-placeholder span{position:relative;z-index:1;padding:18px 22px;border:1px dashed rgba(255,255,255,.24);background:rgba(2,8,16,.25);backdrop-filter:blur(6px)}
    .image-placeholder small{display:block;margin-top:8px;color:#6f819a;font-size:9px;letter-spacing:.1em;font-weight:600}
    .tile:hover .image-placeholder{transform:scale(1.08);transition:transform 1s var(--ease)}

    .experience-copy{max-width:880px}.experience-copy .body{font-size:14px;line-height:1.65;max-width:760px}.testimonial{padding-top:82px;padding-bottom:82px}.testimonial .eyebrow{margin-bottom:10px}.quote{font-size:clamp(26px,3.4vw,46px);line-height:1.14;max-width:860px}.quote-mark{font-size:58px}.person{margin-top:24px}.person small{display:block;color:#8999ad;font-size:10px;margin-top:3px}.testi-controls{display:flex;gap:9px;margin-top:24px}.testi-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;cursor:pointer;transition:.25s}.testi-btn:hover{background:#145cff;border-color:#145cff}
    .location{background:#fff;color:#08111d}.location-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch}.location-card{background:#071426;color:#fff;padding:40px;border-radius:2px;display:flex;flex-direction:column;justify-content:space-between}.location-card .body{color:#aab7c8;font-size:14px;line-height:1.65}.location-list{display:grid;gap:12px;margin:26px 0}.location-item{display:flex;gap:12px;align-items:flex-start}.location-item b{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.location-item span{display:block;color:#aab7c8;font-size:12px;margin-top:3px}.map-wrap{min-height:420px;overflow:hidden;border-radius:2px;border:1px solid #d9e2ec;background:#e9eef3}.map-wrap iframe{width:100%;height:100%;min-height:420px;border:0;display:block;filter:saturate(.9) contrast(1.03)}
    .modal{position:fixed;inset:0;background:rgba(2,7,13,.74);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;visibility:hidden;transition:.3s;z-index:100}.modal.open{opacity:1;visibility:visible}.modal-card{width:min(620px,96vw);background:#fff;color:#0a1522;border-radius:6px;padding:32px;box-shadow:0 30px 100px rgba(0,0,0,.5);transform:translateY(20px) scale(.98);transition:.35s var(--ease);position:relative}.modal.open .modal-card{transform:translateY(0) scale(1)}.modal-close{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;border:1px solid #dbe2ea;background:#fff;cursor:pointer;font-size:20px}.modal-card h3{font-family:"Space Grotesk";font-size:36px;line-height:1;margin:0 0 8px}.modal-card>p{color:#6a7688;font-size:13px;line-height:1.6;margin:0 0 22px}.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lead-form .full{grid-column:1/-1}.lead-form label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#68768a;margin-bottom:6px}.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid #d7e0ea;border-radius:4px;padding:12px 13px;font:inherit;font-size:13px;outline:0;transition:.2s}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:#145cff;box-shadow:0 0 0 3px rgba(20,92,255,.08)}.lead-form textarea{min-height:96px;resize:vertical}.form-note{font-size:10px!important;color:#8490a1!important;margin:3px 0 0!important}.form-success{display:none;margin-top:12px;color:#116b37;background:#eaf8f0;border:1px solid #bfe8ce;border-radius:4px;padding:10px;font-size:12px}.modal-card.sent .form-success{display:block}.modal-card.sent .lead-form{opacity:.65;pointer-events:none}
    .hero-controls{position:absolute;z-index:6;right:4%;bottom:28px;display:flex;gap:8px}.hero-nav{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(2,8,14,.3);color:#fff;cursor:pointer;backdrop-filter:blur(8px)}.hero-nav:hover{background:#145cff;border-color:#145cff}.slide-count{position:absolute;z-index:6;right:4%;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;letter-spacing:.15em;font-size:10px;color:#b8c4d4}
    @media(max-width:900px){.awards-grid{grid-template-columns:1fr 1fr}.award-card,.award-card img{min-height:300px}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.gallery .tile,.gallery .tile.sp-hero,.gallery .tile.sp-half,.gallery .tile.sp-wide{grid-column:span 1;grid-row:span 1}.gallery .tile.sp-hero{grid-column:span 2;grid-row:span 2}.location-grid{grid-template-columns:1fr}.map-wrap,.map-wrap iframe{min-height:330px}.lead-form{grid-template-columns:1fr}.lead-form .full{grid-column:auto}.hero-controls{bottom:68px}.slide-count{display:none}}
    /* ===== Multi-page additions (nav dropdown, mobile menu, page heroes) ===== */
    .links a.active{color:#fff}.links a.active:after{width:100%}
    .has-drop{position:relative}
    .drop-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;cursor:pointer;color:#d8e0ea;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;position:relative}
    .drop-toggle:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--blue2);transition:.25s}
    .has-drop:hover .drop-toggle:after,.has-drop.open .drop-toggle:after,.drop-toggle.active:after{width:100%}
    .drop-toggle .caret{font-size:8px;transition:transform .3s var(--ease);display:inline-block}
    .has-drop:hover .drop-toggle .caret,.has-drop.open .drop-toggle .caret{transform:rotate(180deg)}
    .dropdown{position:absolute;top:calc(100% + 18px);left:-22px;min-width:290px;background:rgba(6,17,31,.97);backdrop-filter:blur(18px);border:1px solid var(--line);padding:10px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s var(--ease);box-shadow:0 30px 70px rgba(0,0,0,.5)}
    .has-drop:hover .dropdown,.has-drop.open .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
    .dropdown:before{content:"";position:absolute;top:-18px;left:0;right:0;height:18px}
    .dropdown a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;font-size:11px;letter-spacing:.08em;color:#c3cede;border-radius:2px;transition:.25s}
    .dropdown a:after{display:none}
    .dropdown a:hover{background:rgba(20,92,255,.14);color:#fff;padding-left:18px}
    .dropdown a i{font-style:normal;font-family:"Space Grotesk";font-size:10px;color:#5b81bd}
    .dropdown .drop-all{border-top:1px solid var(--line);margin-top:6px;padding-top:14px;color:#6d9cff}
    .menu-btn{display:none;width:42px;height:42px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04);border-radius:50%;cursor:pointer;color:#fff;padding:0;place-items:center}
    .menu-btn span{display:block;width:16px;height:1.5px;background:#fff;margin:3px auto;transition:.3s}
    .nav.menu-open .menu-btn span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
    .nav.menu-open .menu-btn span:nth-child(2){opacity:0}
    .nav.menu-open .menu-btn span:nth-child(3){transform:translateY(-4.5px) rotate(-45deg)}
    .mobile-menu{position:fixed;inset:0;background:rgba(4,11,20,.97);backdrop-filter:blur(20px);z-index:90;padding:110px 6vw 40px;overflow-y:auto;opacity:0;visibility:hidden;transition:.35s var(--ease)}
    .mobile-menu.open{opacity:1;visibility:visible}
    .mobile-menu a{display:block;color:#d8e0ea;text-decoration:none;font-family:"Space Grotesk";font-size:26px;letter-spacing:-.03em;padding:13px 0;border-bottom:1px solid var(--line)}
    .mobile-menu a:hover,.mobile-menu a.active{color:#6d9cff}
    .mobile-menu .sub{padding-left:16px}
    .mobile-menu .sub a{font-size:14px;font-family:Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#94a2b5;padding:10px 0}

    .page-hero{position:relative;height:56svh;min-height:430px;display:flex;align-items:flex-end;overflow:hidden;background:#06111f}
    .page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);animation:ken 9s ease-out both}
    .page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,9,15,.86) 0%,rgba(3,9,15,.5) 60%,rgba(3,9,15,.4) 100%),linear-gradient(0deg,rgba(6,17,31,.95),transparent 55%);z-index:1}
    .page-hero .container{position:relative;z-index:3;padding-bottom:64px}
    .page-hero h1{font-family:"Space Grotesk";font-size:clamp(44px,7vw,92px);line-height:.9;letter-spacing:-.055em;margin:0}
    .page-hero h1 .accent{color:#72a0ff}
    .page-hero .body{color:#c9d4e2;max-width:600px;margin-top:20px}
    .crumb{display:flex;gap:10px;align-items:center;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#8fa3bd;margin-bottom:20px}
    .crumb a{color:#8fa3bd;text-decoration:none}.crumb a:hover{color:#6d9cff}.crumb span{color:#4d6180}
    .crumb em{font-style:normal;color:#7f8fa5}

    .svc-detail{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
    .svc-detail + .svc-detail{margin-top:90px}
    .svc-detail img{width:100%;display:block}
    .svc-media{position:relative;overflow:hidden;min-height:600px;background:#0b1625}
    .svc-media img{height:100%;object-fit:cover;position:absolute;inset:0}
    .check-list{display:grid;gap:12px;margin:26px 0 0;padding:0;list-style:none}
    .check-list li{display:flex;gap:12px;font-size:14px;line-height:1.65;color:inherit;opacity:.9}
    .check-list li:before{content:"✓";color:var(--blue2);font-weight:800}
    .dark .check-list li{color:#94a2b5}
    .card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
    .card-grid .service{min-height:auto;padding:36px}
    .light-card{background:#fff;border:1px solid #dce3eb;padding:34px}
    .light-card h4{font-family:"Space Grotesk";font-size:22px;margin:14px 0 10px}
    .light-card p{font-size:13.5px;line-height:1.7;color:#617083;margin:0}
    .contact-form-wrap{background:#fff;color:#0a1522;padding:38px;border-radius:2px}
    .contact-form-wrap h3{font-family:"Space Grotesk";font-size:34px;margin:0 0 8px}
    .contact-form-wrap>p{color:#6a7688;font-size:13px;line-height:1.6;margin:0 0 22px}
    .info-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
    .info-tile{border:1px solid #dce3eb;padding:28px;background:#fff}
    .info-tile b{display:block;font-family:"Space Grotesk";font-size:20px;margin-bottom:8px}
    .info-tile span{font-size:13px;line-height:1.7;color:#617083}
    .dark .info-tile{background:rgba(255,255,255,.02);border-color:var(--line)}
    .dark .info-tile span{color:#94a2b5}
    .award-note{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#68768a;margin-top:14px;display:block;text-align:center}
    .timeline{border-left:1px solid var(--line);padding-left:32px;display:grid;gap:38px;margin-top:16px}
    .timeline-item b{font-family:"Space Grotesk";font-size:30px;color:#6d9cff;display:block}
    .timeline-item h4{font-size:19px;margin:10px 0 8px}
    .timeline-item p{font-size:14px;line-height:1.75;color:#94a2b5;margin:0;max-width:620px}
    @media(max-width:900px){.menu-btn{display:grid}.svc-detail{grid-template-columns:1fr;gap:30px}.card-grid{grid-template-columns:1fr}.info-tiles{grid-template-columns:1fr}.page-hero{height:auto;min-height:0;padding:150px 0 0}.page-hero .container{padding-bottom:56px}}
    .contact-form-wrap.sent .form-success{display:block}.contact-form-wrap.sent .lead-form{opacity:.65;pointer-events:none}

    /* ===== Gallery: even, gap-free collage ===== */
    .gallery,.showcase .gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;grid-auto-flow:row;gap:16px}
    .gallery .tile,.gallery .tile.large,.gallery .tile.sp-hero,.gallery .tile.sp-half,.gallery .tile.sp-wide{grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:4/3;border-radius:2px}
    .gallery .tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    .gallery-side{display:contents}
    .tile-info{left:20px;right:20px;bottom:18px}
    .tile-info h3{font-size:19px;letter-spacing:-.02em}
    .showcase .section-head{margin-bottom:40px}
    .filters{margin-bottom:34px}
    @media(max-width:900px){.gallery,.showcase .gallery{grid-template-columns:repeat(2,1fr);gap:12px}}
    @media(max-width:600px){.gallery,.showcase .gallery{grid-template-columns:repeat(2,1fr);gap:10px}.tile-info h3{font-size:14px}.tile-info{left:12px;right:12px;bottom:12px}}
    .service .arrow + h3{margin-top:4px}
    .dropdown a.is-current{background:rgba(20,92,255,.14);color:#fff}
    .dropdown a{justify-content:flex-start}

    /* ================= Nav alignment fix ================= */
    .links{align-items:center}
    .links > a,.has-drop,.drop-toggle{display:flex;align-items:center;line-height:1;height:14px}
    .drop-toggle{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:0;margin:0;border:0;background:none;vertical-align:baseline}
    .drop-toggle .caret{font-size:7px;line-height:1;position:relative;top:0}
    .links > a:after,.drop-toggle:after{bottom:-8px}
    .has-drop{position:relative}

    /* ================= Responsive: all devices ================= */
    *,*:before,*:after{box-sizing:border-box}
    img,iframe{max-width:100%}
    .display,.h2,.hero-title,.quote,.statement h2,.page-hero h1{overflow-wrap:break-word;hyphens:none}

    /* --- Large tablet / small laptop --- */
    @media(max-width:1100px){
      .section{padding:92px 0}
      .intro-grid{gap:52px}
      .svc-detail{gap:44px}
      .footer-grid{grid-template-columns:1.5fr repeat(3,1fr);gap:30px}
      .gallery,.showcase .gallery{gap:14px}
      .process-grid{grid-template-columns:repeat(3,1fr)}
      .step{border-bottom:1px solid #d6dde6}
    }

    /* --- Tablet --- */
    @media(max-width:900px){
      .section{padding:78px 0}
      .hero{height:100svh;min-height:600px}
      .hero-copy{padding-top:70px;max-width:100%}
      .hero-actions{flex-wrap:wrap;gap:10px}
      .slide-count{display:none}
      .hero-controls{right:4%;bottom:22px}
      .hero-meta{bottom:26px}
      .service-grid{grid-template-columns:1fr}
      .service{padding:32px}
      .stat-grid{gap:20px}
      .stat-grid b{font-size:32px}
      .location-grid{grid-template-columns:1fr}
      .location-card{padding:30px}
      .map-wrap,.map-wrap iframe{min-height:320px}
      .lead-form{grid-template-columns:1fr}
      .contact-form-wrap{padding:26px}
      .awards-grid{grid-template-columns:repeat(2,1fr)}
      .marquee{gap:48px;animation-duration:18s}
      .marquee span{font-size:18px}
      .timeline{padding-left:22px;gap:28px}
      .footer-grid{grid-template-columns:1fr 1fr;gap:34px}
      .quote-mark{font-size:52px}
      .testimonial .container,.intro .container,.showcase .container{width:92vw}
    }

    /* --- Phone --- */
    @media(max-width:600px){
      .section{padding:64px 0}
      .container{width:90vw}
      .nav{height:68px}
      .navin{width:90vw}
      .logo{font-size:20px}
      .nav .btn{padding:11px 15px;font-size:10px;gap:8px}
      .hero{height:100svh;min-height:540px}
      .hero-copy{padding-top:56px}
      .hero-title{font-size:clamp(38px,11vw,58px)}
      .hero-desc{font-size:14.5px}
      .hero-actions .btn{width:100%;justify-content:center}
      .hero-meta{left:5%;right:5%;bottom:18px;align-items:center}
      .progress{width:90px}
      .slide-no{font-size:24px}
      .hero-controls{bottom:16px;right:5%}
      .page-hero{padding:120px 0 0;min-height:0}
      .page-hero .container{padding-bottom:44px}
      .page-hero h1{font-size:clamp(34px,10vw,52px)}
      .h2{font-size:clamp(32px,9vw,48px)}
      .statement h2{font-size:clamp(38px,11vw,58px)}
      .quote{font-size:clamp(22px,6.5vw,32px)}
      .body{font-size:14.5px;line-height:1.72}
      .eyebrow{font-size:10px;margin-bottom:14px}
      .service{padding:26px}
      .service h3{font-size:22px}
      .intro-grid{gap:32px}
      .svc-detail{gap:24px}
      .svc-media{min-height:240px}
      .floating-stat{right:10px;bottom:10px;padding:14px 16px}
      .floating-stat b{font-size:26px}
      .stat-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:30px;padding-top:22px}
      .stat-grid b{font-size:28px}
      .filters{gap:8px;margin-bottom:22px}
      .filter{padding:8px 12px;font-size:10px}
      .awards-grid{grid-template-columns:1fr;gap:14px}
      .award-card,.award-card img{min-height:280px}
      .timeline{padding-left:18px}
      .timeline-item b{font-size:24px}
      .contact-form-wrap{padding:22px}
      .contact-form-wrap h3{font-size:26px}
      .location-card{padding:24px}
      .location-card h3{font-size:30px!important}
      .map-wrap,.map-wrap iframe{min-height:260px}
      .info-tile{padding:20px}
      .marquee{gap:34px;padding:22px 0;animation-duration:14s}
      .marquee span{font-size:15px}
      .cta{padding:70px 0}
      .cta .btn,.statement .btn{width:100%;justify-content:center}
      .testi-controls{margin-top:18px}
      .mobile-menu{padding:96px 7vw 40px}
      .mobile-menu a{font-size:22px;padding:11px 0}
      .check-list li{font-size:13.5px}
    }

    /* --- Small phone --- */
    @media(max-width:420px){
      .container,.navin{width:92vw}
      .hero-title{font-size:clamp(32px,10.5vw,44px)}
      .gallery,.showcase .gallery{grid-template-columns:1fr;gap:10px}
      .gallery .tile{aspect-ratio:16/11}
      .footer-grid{grid-template-columns:1fr;gap:26px}
      .stat-grid{grid-template-columns:1fr}
      .nav .btn span{display:none}
      .mobile-menu a{font-size:20px}
    }

    /* --- Landscape phones --- */
    @media(max-height:520px) and (orientation:landscape){
      .hero{height:auto;min-height:0;padding:0}
      .hero .swiper,.hero-slide{height:auto;min-height:460px}
      .hero-content{min-height:460px;padding:90px 0 60px}
      .page-hero{padding:100px 0 0}
      .mobile-menu{padding-top:86px}
    }

    /* --- Touch devices: no hover-only dropdown --- */
    @media(hover:none){
      .has-drop:hover .dropdown{opacity:0;visibility:hidden;transform:translateY(10px)}
      .has-drop.open .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
    }

    /* ================= Horizontal overflow fix ================= */
    /* .dark:before is a 600px glow at right:-250px / top:-250px with no
       clipping parent — that pushed the page 250px wide on every page.  */
    html{overflow-x:hidden;max-width:100%}
    body{overflow-x:hidden;max-width:100%;position:relative}
    .dark,.section,.cta,.footer,.testimonial,.process,.showcase,.location,.intro,.page-hero{overflow-x:clip}
    .dark{overflow:hidden}
    .container{max-width:100%}
    .page-hero,.hero{max-width:100vw}
    @media(max-width:900px){
      .dark:before{width:320px;height:320px;right:-140px;top:-140px}
      .floating-stat{right:10px}
      .marquee{max-width:none}
    }

    /* ================= Mobile menu toggle — rebuilt ================= */
    /* Overlay sat above the nav (z 90 vs 20), so the toggle was unreachable
       and the X never showed. Nav now rides above the overlay.            */
    .mobile-menu{z-index:100}
    .nav{z-index:120}
    .topbar{position:relative;z-index:121}

    .menu-btn{
      display:none;position:relative;width:46px;height:46px;flex:0 0 46px;
      border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.06);
      border-radius:50%;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;
      transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);
    }
    .menu-btn:active{transform:scale(.94)}
    .menu-btn span{
      position:absolute;left:50%;top:50%;width:18px;height:2px;margin:0;
      background:#fff;border-radius:2px;
      transition:transform .32s var(--ease),opacity .18s linear;
    }
    .menu-btn span:nth-child(1){transform:translate(-50%,-50%) translateY(-6px)}
    .menu-btn span:nth-child(2){transform:translate(-50%,-50%)}
    .menu-btn span:nth-child(3){transform:translate(-50%,-50%) translateY(6px)}

    .nav.menu-open .menu-btn{background:var(--blue);border-color:var(--blue);box-shadow:0 10px 30px rgba(20,92,255,.35)}
    .nav.menu-open .menu-btn span:nth-child(1){transform:translate(-50%,-50%) rotate(45deg)}
    .nav.menu-open .menu-btn span:nth-child(2){opacity:0;transform:translate(-50%,-50%) scaleX(.2)}
    .nav.menu-open .menu-btn span:nth-child(3){transform:translate(-50%,-50%) rotate(-45deg)}

    /* Hide the nav CTA while the menu is open — it's repeated inside the panel */
    .nav.menu-open > .navin > div > .btn{opacity:0;visibility:hidden;transition:.2s}

    /* Menu panel */
    .mobile-menu{display:flex;flex-direction:column}
    .mobile-menu-inner{margin-top:auto;margin-bottom:auto;width:100%}
    .mobile-menu a{transform:translateY(14px);opacity:0;transition:transform .4s var(--ease),opacity .4s var(--ease)}
    .mobile-menu.open a{transform:none;opacity:1}
    .mobile-menu.open a:nth-child(1){transition-delay:.06s}
    .mobile-menu.open a:nth-child(2){transition-delay:.10s}
    .mobile-menu.open a:nth-child(3){transition-delay:.14s}
    .mobile-menu.open a:nth-child(4){transition-delay:.18s}
    .mobile-menu.open a:nth-child(5){transition-delay:.22s}
    .mobile-menu.open a:nth-child(6){transition-delay:.26s}
    .mobile-menu .sub{border-left:1px solid var(--line);margin:4px 0 4px 2px}
    @media(min-width:901px){.mobile-menu,.menu-btn{display:none!important}}

    /* ============ Mobile toggle visibility (must stay last) ============ */
    /* The rebuilt .menu-btn{display:none} above out-ranked the earlier
       media query, so the toggle never showed. Re-assert it here.        */
    @media(max-width:900px){
      .menu-btn{display:block!important}
      /* Nav CTA is redundant on mobile — it lives in the menu panel */
      .nav .navin > div > .btn{display:none!important}
      .nav .navin > div{gap:0}
    }
    @media(min-width:901px){
      .menu-btn{display:none!important}
    }

    /* ===== Inner-page banner legibility (home left at theme default) ===== */
    .page-hero h1{text-shadow:0 2px 26px rgba(3,9,15,.5)}
    .page-hero .body{text-shadow:0 1px 16px rgba(3,9,15,.55)}
    .page-hero .eyebrow{text-shadow:0 1px 12px rgba(3,9,15,.6)}
    @media(max-width:600px){
      .page-hero:after{background:
        linear-gradient(90deg,rgba(3,9,15,.9) 0%,rgba(3,9,15,.7) 60%,rgba(3,9,15,.55) 100%),
        linear-gradient(0deg,rgba(6,17,31,.95) 0%,rgba(6,17,31,.6) 50%,rgba(6,17,31,.25) 80%,transparent 100%);}
    }

    /* ===== Info tile icons (service pages) ===== */
    .info-tile{position:relative}
    .info-tile .ti-icon{
      display:block;width:46px;height:46px;margin-bottom:18px;
      color:var(--blue2);
      transition:transform .4s var(--ease),color .3s var(--ease);
    }
    .info-tile:hover .ti-icon{transform:translateY(-3px) scale(1.04)}
    .info-tile{transition:border-color .3s var(--ease),background .3s var(--ease)}
    .info-tile:hover{border-color:rgba(20,92,255,.4)}
    .dark .info-tile .ti-icon{color:#6d9cff}
    @media(max-width:600px){
      .info-tile .ti-icon{width:38px;height:38px;margin-bottom:14px}
    }
