/* ==========================================================
   S M Aircon Enterprises — Premium HVAC Website
   Stack: Bootstrap 5.3 · Swiper 11 · AOS · Bootstrap Icons
   ========================================================== */
:root{
  --red:#E3232B;
  --red-2:#FF4A50;
  --blue:#1F4FB4;
  --blue-2:#3D6FE0;
  --navy:#081231;
  --navy-2:#0D1B45;
  --ink:#0E1A3A;
  --muted:#5A6684;
  --line:#E4E9F3;
  --soft:#F3F6FC;
  --white:#fff;
  --radius:4px;
  --shadow-sm:0 6px 18px rgba(8,18,49,.06);
  --shadow:0 20px 50px -18px rgba(8,18,49,.25);
  --shadow-lg:0 40px 90px -30px rgba(8,18,49,.45);
  --ff-head:'Saira',system-ui,sans-serif;
  --ff-body:'Manrope',system-ui,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{font-family:var(--ff-body);color:var(--muted);background:#fff;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--ff-head);color:var(--ink);font-weight:700;letter-spacing:-.01em;line-height:1.15}
a{color:var(--blue);text-decoration:none;transition:.3s var(--ease)}
a:hover{color:var(--red)}
img{max-width:100%;display:block}
::selection{background:var(--red);color:#fff}
.container{max-width:1240px}
.section{padding:110px 0;position:relative}
.section-sm{padding:80px 0}
.bg-soft{background:var(--soft)}
.bg-navy{background:var(--navy);color:#AEB8D6}
.bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy h4,.bg-navy h5{color:#fff}
.text-red{color:var(--red)!important}
.text-blue{color:var(--blue)!important}

/* ---------- Preloader ---------- */
#preloader{position:fixed;inset:0;background:#fff;z-index:9999;display:grid;place-items:center;transition:opacity .6s var(--ease),visibility .6s}
#preloader.hide{opacity:0;visibility:hidden}
.pl-inner{position:relative;width:140px;text-align:center}
.pl-inner img{width:120px;margin:0 auto;animation:plPulse 1.4s var(--ease) infinite}
.pl-bar{height:3px;background:var(--line);margin-top:22px;overflow:hidden;border-radius:3px}
.pl-bar span{display:block;height:100%;width:40%;background:linear-gradient(90deg,var(--blue),var(--red));animation:plBar 1.1s ease-in-out infinite}
@keyframes plPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes plBar{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}

/* ---------- Eyebrow / titles ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--ff-head);font-weight:600;font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);margin-bottom:18px}
.eyebrow .slash{display:inline-flex;gap:4px}
.eyebrow .slash i{display:block;width:5px;height:18px;transform:skewX(-24deg);background:var(--red)}
.eyebrow .slash i+i{background:var(--blue)}
.bg-navy .eyebrow,.on-dark .eyebrow{color:#8FB0FF}
.bg-navy .eyebrow .slash i+i,.on-dark .eyebrow .slash i+i{background:#8FB0FF}
.title{font-size:clamp(2rem,3.6vw,3.25rem);font-weight:700;margin-bottom:20px}
.title em{font-style:italic;color:var(--red);font-weight:800}
.title .outline{color:transparent;-webkit-text-stroke:1.5px var(--blue)}
.lead-lg{font-size:1.1rem;color:var(--muted);max-width:640px}
.section-head{margin-bottom:60px}
.section-head.center{text-align:center}
.section-head.center .lead-lg{margin:0 auto}

/* ---------- Buttons ---------- */
.btn-x{--bg:var(--red);--fg:#fff;position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 30px;font-family:var(--ff-head);font-weight:600;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg);background:var(--bg);border:0;overflow:hidden;isolation:isolate;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);transition:color .4s var(--ease)}
.btn-x::before{content:"";position:absolute;inset:0;background:var(--navy);transform:translateX(-102%) skewX(-20deg);transform-origin:left;transition:transform .55s var(--ease);z-index:-1;width:130%;left:-15%}
.btn-x:hover{color:#fff}
.btn-x:hover::before{transform:translateX(0) skewX(-20deg)}
.btn-x i{transition:transform .4s var(--ease)}
.btn-x:hover i{transform:translateX(4px)}
.btn-x.blue{--bg:var(--blue)}
.btn-x.ghost{--bg:transparent;--fg:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.btn-x.ghost::before{background:#fff}
.btn-x.ghost:hover{color:var(--navy)}
.btn-x.light{--bg:#fff;--fg:var(--navy)}
.btn-x.light::before{background:var(--red)}
.link-arrow{font-family:var(--ff-head);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;display:inline-flex;align-items:center;gap:8px;color:var(--ink)}
.link-arrow i{transition:.4s var(--ease)}
.link-arrow:hover i{transform:translateX(5px)}

/* ---------- Topbar ---------- */
.topbar{background:var(--navy);color:#AAB5D5;font-size:.84rem;padding:9px 0;position:relative;z-index:1031}
.topbar a{color:#D5DCF0}
.topbar a:hover{color:#fff}
.topbar .tb-item{display:inline-flex;align-items:center;gap:8px;margin-right:26px}
.topbar .tb-item i{color:var(--red-2)}
.topbar .gst{font-family:var(--ff-head);letter-spacing:.08em;font-size:.78rem;color:#8391BA}
.topbar .socials a{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.06);margin-left:6px;font-size:.8rem}
.topbar .socials a:hover{background:var(--red)}

/* ---------- Navbar ---------- */
.site-header{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:box-shadow .4s var(--ease),border-color .4s}
.site-header.scrolled{box-shadow:0 12px 40px -20px rgba(8,18,49,.35);border-color:var(--line)}
.site-header .navbar{padding:0;min-height:88px}

.brand-logo{height:62px;width:auto}

.nav-main .nav-link{font-family:var(--ff-head);font-weight:600;font-size:.98rem;color:var(--ink);padding:30px 18px!important;position:relative;letter-spacing:.02em}
.nav-main .nav-link::after{content:"";position:absolute;left:18px;right:18px;bottom:22px;height:3px;background:linear-gradient(90deg,var(--red) 50%,var(--blue) 50%);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-main .nav-link:hover::after,.nav-main .nav-link.active::after{transform:scaleX(1);transform-origin:left}
.nav-main .nav-link.active,.nav-main .nav-link:hover{color:var(--blue)}
.nav-call{display:flex;align-items:center;gap:12px;margin-left:18px;padding-left:22px;border-left:1px solid var(--line)}
.nav-call .ic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--red);font-size:1.15rem;position:relative}
.nav-call .ic::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--red);opacity:0;animation:ring 2.2s infinite}
@keyframes ring{0%{transform:scale(.8);opacity:.7}100%{transform:scale(1.35);opacity:0}}
.nav-call small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nav-call a{font-family:var(--ff-head);font-weight:700;color:var(--ink);font-size:1.05rem}
.burger{border:0;background:var(--navy);width:48px;height:48px;display:grid;place-items:center;gap:0;padding:0}
.burger span{display:block;width:22px;height:2px;background:#fff;margin:3px 0;transition:.3s}
.burger span:nth-child(2){width:14px;margin-left:8px;background:var(--red-2)}

/* Offcanvas (right) */
.offcanvas.mobile-nav{background:var(--navy);color:#C4CCE5;width:340px!important}
.mobile-nav .offcanvas-header{border-bottom:1px solid rgba(255,255,255,.08);padding:22px 26px}
.mobile-nav .btn-close{filter:invert(1);opacity:.8}
.mobile-nav .m-links a{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.07);font-family:var(--ff-head);font-size:1.25rem;font-weight:600;color:#fff}
.mobile-nav .m-links a.active,.mobile-nav .m-links a:hover{color:var(--red-2)}
.mobile-nav .m-contact{margin-top:30px;font-size:.92rem}
.mobile-nav .m-contact div{display:flex;gap:12px;margin-bottom:14px}
.mobile-nav .m-contact i{color:var(--red-2)}
.mobile-nav .m-contact a{color:#DDE3F3}

/* ---------- Hero ---------- */
.hero{position:relative;background:radial-gradient(1200px 700px at 78% 40%,#16307A 0%,rgba(13,27,69,0) 60%),linear-gradient(180deg,#0A1638 0%,#060D26 100%);color:#B8C3E3;min-height:calc(100vh - 128px);display:flex;align-items:center;overflow:hidden;padding:90px 0 120px}
#airflow{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.9}
.hero .grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse at 60% 50%,#000 20%,transparent 75%);z-index:0}
.hero .container{position:relative;z-index:2}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:40px;font-size:.84rem;color:#D8DFF3;margin-bottom:28px;backdrop-filter:blur(6px)}
.hero-kicker b{white-space:nowrap;background:var(--red);color:#fff;font-family:var(--ff-head);font-weight:600;padding:3px 12px;border-radius:30px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}
.hero h1{color:#fff;font-size:clamp(2.6rem,5.6vw,5.1rem);font-weight:800;line-height:1.02;letter-spacing:-.02em;margin-bottom:26px}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .line>span{display:inline-block;transform:translateY(110%);transition:transform 1.1s var(--ease)}
.hero.ready h1 .line>span{transform:none}
.hero.ready h1 .line:nth-child(2)>span{transition-delay:.12s}
.hero.ready h1 .line:nth-child(3)>span{transition-delay:.24s}
.hero h1 em{font-style:italic;background:linear-gradient(90deg,#FF5A5F,#E3232B);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.rotator{display:inline-block;color:#8FB0FF;position:relative;min-width:2ch}
.rotator::after{content:"";display:inline-block;width:3px;height:.9em;background:var(--red-2);margin-left:6px;vertical-align:-.08em;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.hero p.sub{font-size:1.14rem;max-width:560px;margin-bottom:38px;color:#AEB9DA}
.hero-cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.hero-mini{display:flex;gap:40px;margin-top:56px;padding-top:30px;border-top:1px solid rgba(255,255,255,.1);max-width:560px}
.hero-mini .n{font-family:var(--ff-head);font-weight:800;font-size:2.3rem;color:#fff;line-height:1}
.hero-mini .n sup{color:var(--red-2);font-size:1.2rem;top:-.9em}
.hero-mini small{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#8391BA;margin-top:8px}
.fade-up{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.hero.ready .fade-up{opacity:1;transform:none}
.hero.ready .d1{transition-delay:.4s}.hero.ready .d2{transition-delay:.55s}.hero.ready .d3{transition-delay:.7s}.hero.ready .d4{transition-delay:.85s}

/* Diamond visual */
.hero-visual{position:relative;width:100%;max-width:560px;aspect-ratio:1/1;margin-left:auto}
.dia{position:absolute;inset:12%;transform:rotate(45deg);overflow:hidden;box-shadow:0 60px 120px -30px rgba(0,0,0,.7);background:#0d1b45}
.dia .swiper{position:absolute;inset:0}
.dia .swiper-slide img{position:absolute;left:50%;top:50%;width:142%;height:142%;max-width:none;object-fit:cover;transform:translate(-50%,-50%) rotate(-45deg) scale(1.08);transition:transform 6s linear}
.dia .swiper-slide-active img{transform:translate(-50%,-50%) rotate(-45deg) scale(1.18)}
.dia::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(31,79,180,.25),transparent 55%,rgba(227,35,43,.25));pointer-events:none;z-index:2}
.dia-outline{position:absolute;inset:4%;border:1.5px solid rgba(255,90,95,.55);transform:rotate(45deg);animation:spinSlow 40s linear infinite}
.dia-outline.two{inset:0;border-color:rgba(143,176,255,.25);animation-direction:reverse;animation-duration:60s}
@keyframes spinSlow{to{transform:rotate(405deg)}}
.dia-sq{position:absolute;width:74px;height:74px;transform:rotate(45deg)}
.dia-sq.r{background:var(--red);top:2%;left:14%;animation:floatY 6s ease-in-out infinite}
.dia-sq.b{background:var(--blue-2);width:46px;height:46px;bottom:6%;right:14%;animation:floatY 7s ease-in-out infinite reverse}
@keyframes floatY{0%,100%{translate:0 0}50%{translate:0 -16px}}
.float-card{position:absolute;z-index:5;background:rgba(255,255,255,.96);color:var(--ink);padding:14px 18px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-lg);border-left:4px solid var(--red);min-width:210px;animation:floatY 6s ease-in-out infinite}
.float-card .ic{width:44px;height:44px;display:grid;place-items:center;background:var(--soft);color:var(--blue);font-size:1.3rem;flex:none}
.float-card b{display:block;font-family:var(--ff-head);font-size:1.25rem;line-height:1;color:var(--ink)}
.float-card small{font-size:.76rem;color:var(--muted);line-height:1.3;display:block;margin-top:4px}
.float-card.c1{left:-6%;bottom:18%}
.float-card.c2{right:-4%;top:14%;border-left-color:var(--blue);animation-delay:-3s}
.hero-dots{position:absolute;right:0;bottom:-8px;z-index:6;display:flex;gap:8px}
.hero-dots .swiper-pagination-bullet{width:26px;height:3px;border-radius:0;background:rgba(255,255,255,.3);opacity:1;transition:.4s}
.hero-dots .swiper-pagination-bullet-active{background:var(--red-2);width:46px}
.scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:#7F8CB4}
.scroll-cue span{width:24px;height:40px;border:1.5px solid rgba(255,255,255,.3);border-radius:14px;position:relative}
.scroll-cue span::after{content:"";position:absolute;left:50%;top:8px;width:3px;height:8px;border-radius:2px;background:#fff;transform:translateX(-50%);animation:cue 1.8s infinite}
@keyframes cue{0%{opacity:0;top:6px}40%{opacity:1}100%{opacity:0;top:22px}}

/* ---------- Brand marquee ---------- */
.brands-band{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:3}
.brands-band .label{font-family:var(--ff-head);font-weight:700;color:var(--ink);font-size:1.05rem;line-height:1.25;padding-right:30px;border-right:1px solid var(--line)}
.brands-band .label small{display:block;font-family:var(--ff-body);font-weight:500;color:var(--muted);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.marquee{overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.brand-chip{flex:none;width:190px;height:96px;display:grid;place-items:center;padding:18px 26px;margin:0 6px}
.brand-chip img{max-height:46px;max-width:100%;object-fit:contain;filter:grayscale(1) contrast(.9);opacity:.6;transition:.4s var(--ease)}
.brand-chip:hover img{filter:none;opacity:1;transform:scale(1.06)}

/* ---------- About ---------- */
.about-collage{position:relative;padding:0 60px 80px 0}
.about-collage .im1{position:relative;overflow:hidden;box-shadow:var(--shadow)}
.about-collage .im1 img{width:100%;aspect-ratio:4/4.3;object-fit:cover}
.about-collage .im2{position:absolute;right:0;bottom:0;width:52%;border:10px solid #fff;box-shadow:var(--shadow-lg);overflow:hidden}
.about-collage .im2 img{aspect-ratio:1/1;object-fit:cover;width:100%}
.exp-badge{position:absolute;left:-26px;bottom:110px;background:var(--red);color:#fff;padding:26px 28px;z-index:3;box-shadow:var(--shadow-lg);clip-path:polygon(0 0,100% 0,100% 82%,86% 100%,0 100%)}
.exp-badge b{font-family:var(--ff-head);font-size:3rem;line-height:1;display:block;font-weight:800}
.exp-badge span{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;opacity:.9}
.about-collage .deco{position:absolute;top:-30px;left:-30px;width:140px;height:140px;background-image:radial-gradient(var(--blue) 1.6px,transparent 1.6px);background-size:14px 14px;opacity:.35;z-index:-1}
.check-list{list-style:none;padding:0;margin:26px 0 34px;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.check-list li{display:flex;gap:12px;align-items:flex-start;color:var(--ink);font-weight:600;font-size:.96rem}
.check-list i{flex:none;width:24px;height:24px;display:grid;place-items:center;background:rgba(31,79,180,.1);color:var(--blue);font-size:.8rem;margin-top:2px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.sign-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.sign-row .who b{display:block;font-family:var(--ff-head);color:var(--ink);font-size:1.1rem}
.sign-row .who small{color:var(--muted)}

/* ---------- Reveal image ---------- */
.reveal-img{position:relative;overflow:hidden}
.reveal-img::after{content:"";position:absolute;inset:0;background:var(--blue);transform-origin:right;transition:transform 1.1s var(--ease) .1s;z-index:2}
.reveal-img img{transform:scale(1.25);transition:transform 1.6s var(--ease)}
.reveal-img.in::after{transform:scaleX(0)}
.reveal-img.in img{transform:scale(1)}

/* ---------- Services ---------- */
.svc-card{position:relative;background:#fff;border:1px solid var(--line);padding:40px 34px 34px;height:100%;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s;isolation:isolate}
.svc-card .bg{position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .6s var(--ease)}
.svc-card .bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transition:transform 1.2s var(--ease)}
.svc-card .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,49,.82),rgba(8,18,49,.95))}
.svc-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:transparent}
.svc-card:hover .bg{opacity:1}
.svc-card:hover .bg img{transform:scale(1)}
.svc-card .num{position:absolute;right:24px;top:18px;font-family:var(--ff-head);font-weight:800;font-size:3.6rem;line-height:1;color:transparent;-webkit-text-stroke:1px #D9E0EE;transition:.5s}
.svc-card .ic{width:68px;height:68px;display:grid;place-items:center;font-size:1.8rem;color:var(--blue);background:var(--soft);margin-bottom:28px;position:relative;transition:.5s var(--ease)}
.svc-card .ic::after{content:"";position:absolute;right:-6px;bottom:-6px;width:18px;height:18px;background:var(--red);transition:.5s var(--ease)}
.svc-card h4{font-size:1.3rem;margin-bottom:12px;transition:.4s}
.svc-card p{font-size:.95rem;margin-bottom:22px;transition:.4s}
.svc-card .link-arrow{transition:.4s}
.svc-card:hover h4,.svc-card:hover .link-arrow{color:#fff}
.svc-card:hover p{color:#B8C3E3}
.svc-card:hover .ic{background:var(--red);color:#fff}
.svc-card:hover .ic::after{background:#fff}
.svc-card:hover .num{-webkit-text-stroke-color:rgba(255,255,255,.25)}

/* ---------- Stats band ---------- */
.stats-band{position:relative;background:var(--navy);overflow:hidden;padding:90px 0}
.stats-band .bgimg{position:absolute;inset:-20% 0;background-size:cover;background-position:center;opacity:.14;will-change:transform}
.stats-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,49,.95),rgba(8,18,49,.6))}
.stat{position:relative;text-align:left;padding:10px 0 10px 28px;border-left:1px solid rgba(255,255,255,.12)}
.stat::before{content:"";position:absolute;left:-1px;top:10px;width:3px;height:42px;background:var(--red)}
.stat .n{font-family:var(--ff-head);font-weight:800;color:#fff;font-size:clamp(2.6rem,4.5vw,3.8rem);line-height:1}
.stat .n span.suf{color:var(--red-2);font-size:.55em;margin-left:4px}
.stat p{margin:10px 0 0;color:#9AA6CA;font-size:.95rem}

/* ---------- Projects (big numbers) ---------- */
.proj-card{position:relative;background:#fff;border:1px solid var(--line);padding:34px 30px 30px;height:100%;overflow:hidden;transition:.5s var(--ease)}
.proj-card::before{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:linear-gradient(90deg,var(--red),var(--blue));transition:width .7s var(--ease)}
.proj-card:hover{box-shadow:var(--shadow);transform:translateY(-6px)}
.proj-card:hover::before{width:100%}
.proj-card .idx{font-family:var(--ff-head);font-weight:700;font-size:.8rem;letter-spacing:.14em;color:var(--muted)}
.proj-card .cap{font-family:var(--ff-head);font-weight:800;font-size:3.4rem;line-height:1;color:var(--red);margin:14px 0 6px;letter-spacing:-.02em}
.proj-card .cap small{font-size:1.4rem;margin-left:6px;color:var(--red);font-weight:700}
.proj-card h5{font-size:1.15rem;margin:14px 0 6px;color:var(--blue)}
.proj-card .loc{font-size:.9rem;display:flex;gap:6px;align-items:center}
.proj-card .tag{position:absolute;right:22px;top:26px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;background:var(--soft);color:var(--blue)}
.swiper-nav{display:flex;gap:10px}
.swiper-nav button{width:54px;height:54px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.2rem;display:grid;place-items:center;transition:.3s}
.swiper-nav button:hover{background:var(--red);border-color:var(--red);color:#fff}
.projects-swiper{overflow:visible!important;padding-bottom:10px}
.projects-wrap{overflow:hidden;padding:12px 4px 20px;margin:-12px -4px 0}

/* ---------- VRF tabs ---------- */
.vrf-wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.vrf-media{position:relative;aspect-ratio:1/1.02}
.vrf-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .8s var(--ease),transform 1.2s var(--ease)}
.vrf-media img.active{opacity:1;transform:scale(1)}
.vrf-media::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:2px solid var(--red);z-index:-1}
.vrf-media .badge-note{position:absolute;right:-24px;bottom:34px;background:var(--navy);color:#fff;padding:22px 24px;max-width:240px;z-index:3;box-shadow:var(--shadow-lg)}
.vrf-media .badge-note b{font-family:var(--ff-head);font-size:2.2rem;display:block;line-height:1;color:var(--red-2)}
.vrf-media .badge-note small{color:#AEB9DA;font-size:.85rem;line-height:1.4;display:block;margin-top:6px}
.vrf-tabs{border-top:1px solid var(--line)}
.vrf-tab{border-bottom:1px solid var(--line);cursor:pointer}
.vrf-tab .head{display:flex;align-items:center;gap:18px;padding:22px 0}
.vrf-tab .head .k{font-family:var(--ff-head);font-weight:700;color:#B5BFD6;font-size:.95rem;width:30px}
.vrf-tab .head h5{margin:0;font-size:1.22rem;flex:1;transition:.3s}
.vrf-tab .head .pm{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);transition:.4s}
.vrf-tab .body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.vrf-tab .body>div{overflow:hidden}
.vrf-tab .body p{padding:0 0 24px 48px;margin:0}
.vrf-tab.active .body{grid-template-rows:1fr}
.vrf-tab.active .head h5{color:var(--blue)}
.vrf-tab.active .head .k{color:var(--red)}
.vrf-tab.active .head .pm{background:var(--red);border-color:var(--red);color:#fff;transform:rotate(45deg)}

/* ---------- Process ---------- */
.process{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:26px}
.process::before{content:"";position:absolute;left:5%;right:5%;top:45px;height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 10px,transparent 10px 18px)}
.p-step{position:relative;text-align:center}
.p-step .dot{width:90px;height:90px;margin:0 auto 26px;position:relative;display:grid;place-items:center}
.p-step .dot::before{content:"";position:absolute;inset:12px;background:var(--navy-2);border:1.5px solid rgba(143,176,255,.35);transform:rotate(45deg);transition:.5s var(--ease)}
.p-step .dot i{position:relative;font-size:1.6rem;color:#fff}
.p-step .dot b{position:absolute;top:-4px;right:2px;width:28px;height:28px;display:grid;place-items:center;background:var(--red);color:#fff;font-family:var(--ff-head);font-size:.8rem;border-radius:50%;z-index:2}
.p-step:hover .dot::before{background:var(--red);border-color:var(--red);transform:rotate(225deg)}
.p-step h5{font-size:1.12rem;margin-bottom:8px}
.p-step p{font-size:.9rem;color:#9AA6CA;margin:0}

/* ---------- Clients ---------- */
.client-card{position:relative;overflow:hidden;background:var(--navy)}
.client-card img{width:100%;aspect-ratio:4/3.3;object-fit:cover;transition:transform 1.2s var(--ease),opacity .6s}
.client-card:hover img{transform:scale(1.08);opacity:.55}
.client-card .cap{position:absolute;left:0;right:0;bottom:0;padding:50px 22px 18px;background:linear-gradient(180deg,transparent,rgba(8,18,49,.92));color:#fff;font-family:var(--ff-head);font-weight:600;font-size:1.05rem;display:flex;align-items:center;justify-content:space-between}
.client-card .cap i{width:34px;height:34px;display:grid;place-items:center;background:var(--red);transform:translateX(60px);transition:.5s var(--ease)}
.client-card:hover .cap i{transform:none}
.client-names{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:40px}
.client-names span{padding:10px 18px;border:1px solid var(--line);background:#fff;font-weight:600;color:var(--ink);font-size:.9rem;transition:.3s}
.client-names span:hover{border-color:var(--blue);color:var(--blue)}

/* ---------- Why us ---------- */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.why-item{display:flex;gap:20px;padding:28px;background:#fff;border:1px solid var(--line);transition:.45s var(--ease)}
.why-item:hover{border-color:transparent;box-shadow:var(--shadow);transform:translateY(-4px)}
.why-item .ic{flex:none;width:58px;height:58px;display:grid;place-items:center;font-size:1.5rem;color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-2));clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transition:.45s}
.why-item:hover .ic{background:linear-gradient(135deg,var(--red),var(--red-2))}
.why-item h5{font-size:1.1rem;margin-bottom:6px}
.why-item p{margin:0;font-size:.93rem}

/* ---------- Certificates ---------- */
.cert{display:block;background:#fff;padding:14px;border:1px solid var(--line);position:relative;overflow:hidden;transition:.5s var(--ease);height:100%}
.cert img{width:100%;height:260px;object-fit:contain;background:var(--soft);transition:transform .8s var(--ease)}
.cert .cap{padding:14px 4px 2px;font-family:var(--ff-head);font-weight:600;color:var(--ink);font-size:.98rem;display:flex;justify-content:space-between;align-items:center}
.cert .cap i{color:var(--red)}
.cert:hover{box-shadow:var(--shadow);transform:translateY(-6px)}
.cert:hover img{transform:scale(1.04)}

/* ---------- Quote / director ---------- */
.quote-block{position:relative;background:#fff;padding:60px;box-shadow:var(--shadow);border-top:4px solid var(--red)}
.quote-block .qi{position:absolute;right:40px;top:-38px;width:76px;height:76px;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:2.2rem;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.quote-block blockquote{font-family:var(--ff-head);font-size:1.45rem;line-height:1.5;color:var(--ink);font-weight:500;margin:0 0 26px}

/* ---------- CTA ---------- */
.cta-band{position:relative;background:linear-gradient(110deg,var(--red) 0%,#C4151D 55%,var(--blue) 55.1%,#173E93 100%);padding:70px 0;overflow:hidden;color:#fff}
.cta-band::after{content:"";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:40px 40px;mask-image:linear-gradient(90deg,#000,transparent 70%)}
.cta-band .container{position:relative;z-index:2}
.cta-band h2{color:#fff;font-size:clamp(1.8rem,3vw,2.7rem);margin:0}
.cta-band p{color:rgba(255,255,255,.85);margin:8px 0 0}
.cta-phone{display:flex;align-items:center;gap:16px;color:#fff}
.cta-phone .ic{width:64px;height:64px;border-radius:50%;background:#fff;color:var(--blue);display:grid;place-items:center;font-size:1.5rem;animation:shake 3s infinite}
@keyframes shake{0%,90%,100%{transform:rotate(0)}92%{transform:rotate(-14deg)}94%{transform:rotate(14deg)}96%{transform:rotate(-10deg)}98%{transform:rotate(8deg)}}
.cta-phone small{display:block;opacity:.8;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.cta-phone a{color:#fff;font-family:var(--ff-head);font-weight:700;font-size:1.6rem}

/* ---------- Footer ---------- */
.site-footer{background:#050B20;color:#8F9BC0;padding-top:90px;position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border:1px solid rgba(255,255,255,.05);transform:rotate(45deg)}
.site-footer h5{color:#fff;font-size:1.15rem;margin-bottom:26px;position:relative;padding-bottom:14px}
.site-footer h5::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;background:linear-gradient(90deg,var(--red) 50%,var(--blue-2) 50%)}
.site-footer a{color:#B9C3E0}
.site-footer a:hover{color:#fff}
.f-logo{height:84px;width:auto;margin-bottom:22px}
.f-links{list-style:none;padding:0;margin:0}
.f-links li{margin-bottom:12px}
.f-links a{display:inline-flex;align-items:center;gap:8px}
.f-links a::before{content:"";width:6px;height:6px;background:var(--red);transform:rotate(45deg);transition:.3s}
.f-links a:hover::before{background:#fff;transform:rotate(225deg)}
.f-contact div{display:flex;gap:14px;margin-bottom:18px;font-size:.93rem;line-height:1.55}
.f-contact i{color:var(--red-2);font-size:1.05rem;margin-top:2px}
.f-contact b{color:#fff;font-weight:600;display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.f-bottom{border-top:1px solid rgba(255,255,255,.07);margin-top:60px;padding:24px 0;font-size:.86rem}
.f-social a{display:inline-grid;place-items:center;width:40px;height:40px;background:rgba(255,255,255,.05);margin-right:8px;transition:.3s}
.f-social a:hover{background:var(--red);color:#fff}

/* ---------- Floating actions ---------- */
.fab-wrap{position:fixed;right:22px;bottom:22px;z-index:1040;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.fab{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.45rem;box-shadow:0 12px 30px -8px rgba(0,0,0,.4);transition:transform .3s}
.fab:hover{transform:scale(1.08);color:#fff}
.fab.wa{background:#22C35E;position:relative}
.fab.wa::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #22C35E;animation:ring 2s infinite}
.fab.call{background:var(--blue)}
#toTop{width:54px;height:54px;border:0;background:#fff;border-radius:50%;position:relative;display:grid;place-items:center;color:var(--navy);box-shadow:0 12px 30px -8px rgba(0,0,0,.3);opacity:0;visibility:hidden;transform:translateY(20px);transition:.4s var(--ease)}
#toTop.show{opacity:1;visibility:visible;transform:none}
#toTop svg{position:absolute;inset:0;transform:rotate(-90deg)}
#toTop circle{fill:none;stroke:var(--red);stroke-width:3;stroke-dasharray:157;stroke-dashoffset:157;transition:stroke-dashoffset .1s}

/* ---------- Page hero (inner) ---------- */
.page-hero{position:relative;padding:130px 0 110px;background:var(--navy);overflow:hidden;color:#B8C3E3}
.page-hero .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.28;transform:scale(1.1);animation:kenburns 18s ease-in-out infinite alternate}
@keyframes kenburns{to{transform:scale(1.22) translate(-2%,-2%)}}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,18,49,.97) 30%,rgba(8,18,49,.55));z-index:1}
.page-hero::after{content:"";position:absolute;right:8%;top:50%;width:260px;height:260px;border:1.5px solid rgba(255,90,95,.4);transform:translateY(-50%) rotate(45deg);z-index:1;animation:spinSlow 50s linear infinite}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{color:#fff;font-size:clamp(2.4rem,5vw,4.2rem);font-weight:800;margin-bottom:18px}
.page-hero h1 em{color:var(--red-2);font-style:italic}
.crumbs{display:inline-flex;gap:10px;align-items:center;font-family:var(--ff-head);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;padding:10px 18px;background:rgba(255,255,255,.06);border-left:3px solid var(--red)}
.crumbs a{color:#fff}
.crumbs i{font-size:.7rem;color:var(--red-2)}

/* ---------- Mission / Vision ---------- */
.mv-card{position:relative;padding:50px 44px;background:#fff;border:1px solid var(--line);height:100%;overflow:hidden;transition:.5s var(--ease)}
.mv-card .ic{width:76px;height:76px;display:grid;place-items:center;font-size:2rem;color:var(--red);background:rgba(227,35,43,.08);border-radius:50%;margin-bottom:26px}
.mv-card.blue .ic{color:var(--blue);background:rgba(31,79,180,.08)}
.mv-card h3{font-size:1.7rem;margin-bottom:14px}
.mv-card .big{position:absolute;right:-10px;bottom:-30px;font-family:var(--ff-head);font-weight:800;font-size:8rem;color:var(--soft);line-height:1;z-index:0;pointer-events:none}
.mv-card>*:not(.big){position:relative;z-index:1}
.mv-card:hover{box-shadow:var(--shadow);transform:translateY(-6px)}

/* ---------- Service detail rows ---------- */
.svc-row{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:60px 0;border-bottom:1px solid var(--line)}
.svc-row:last-child{border-bottom:0}
.svc-row.flip .media{order:2}
.svc-row .media{position:relative}
.svc-row .media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.svc-row .media .n{position:absolute;left:-18px;top:-18px;width:72px;height:72px;display:grid;place-items:center;background:var(--red);color:#fff;font-family:var(--ff-head);font-weight:800;font-size:1.5rem;z-index:3;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.svc-row.flip .media .n{left:auto;right:-18px}
.svc-row h3{font-size:clamp(1.6rem,2.4vw,2.1rem);margin-bottom:16px}
.svc-row ul{list-style:none;padding:0;margin:20px 0 0}
.svc-row ul li{padding:10px 0 10px 28px;position:relative;border-bottom:1px dashed var(--line);color:var(--ink);font-weight:500}
.svc-row ul li::before{content:"";position:absolute;left:4px;top:18px;width:8px;height:8px;background:var(--red);transform:rotate(45deg)}

/* Product cards */
.prod-card{background:#fff;border:1px solid var(--line);height:100%;transition:.5s var(--ease);overflow:hidden}
.prod-card .im{overflow:hidden;position:relative}
.prod-card .im img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1s var(--ease)}
.prod-card .im::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:100%;background:linear-gradient(90deg,var(--red),var(--blue));transform:scaleX(0);transform-origin:left;transition:.6s var(--ease)}
.prod-card .bd{padding:26px 26px 28px}
.prod-card h5{font-size:1.18rem;margin-bottom:10px}
.prod-card p{font-size:.93rem;margin:0}
.prod-card:hover{box-shadow:var(--shadow);transform:translateY(-6px)}
.prod-card:hover .im img{transform:scale(1.08)}
.prod-card:hover .im::after{transform:scaleX(1)}

/* Sectors */
.sector{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:34px 16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);transition:.45s var(--ease);height:100%}
.sector i{font-size:2rem;color:#8FB0FF;transition:.45s}
.sector span{color:#fff;font-family:var(--ff-head);font-weight:600}
.sector:hover{background:var(--red);border-color:var(--red);transform:translateY(-6px)}
.sector:hover i{color:#fff}

/* ---------- Projects table ---------- */
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:28px}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{border:1px solid var(--line);background:#fff;padding:10px 18px;font-family:var(--ff-head);font-weight:600;font-size:.88rem;letter-spacing:.04em;color:var(--ink);transition:.3s}
.filters button.active,.filters button:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.filters button .c{font-size:.72rem;margin-left:6px;opacity:.6}
.search-box{position:relative;min-width:280px}
.search-box input{width:100%;border:1px solid var(--line);padding:12px 16px 12px 44px;font-size:.95rem;outline:0;transition:.3s}
.search-box input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(31,79,180,.08)}
.search-box i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted)}
.ptable{width:100%;border-collapse:separate;border-spacing:0 8px}
.ptable thead th{font-family:var(--ff-head);font-weight:600;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:6px 20px;border:0}
.ptable tbody tr{background:#fff;box-shadow:0 1px 0 var(--line);transition:.3s}
.ptable tbody tr:hover{box-shadow:var(--shadow-sm);transform:translateX(4px)}
.ptable td{padding:18px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink)}
.ptable td:first-child{border-left:3px solid var(--blue);font-family:var(--ff-head);font-weight:700;color:#A5AFC8;width:70px}
.ptable td:last-child{border-right:1px solid var(--line);text-align:right;font-family:var(--ff-head);font-weight:800;color:var(--red);font-size:1.1rem;white-space:nowrap}
.ptable td .nm{font-weight:700}
.ptable td .lc{color:var(--muted);font-size:.9rem}
.type-pill{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;white-space:nowrap}
.type-pill.vrf{background:rgba(31,79,180,.1);color:var(--blue)}
.type-pill.dx{background:rgba(227,35,43,.09);color:var(--red)}
.type-pill.vent{background:rgba(24,160,110,.1);color:#11875B}
.ptable tr.hide{display:none}
.no-res{display:none;text-align:center;padding:40px;color:var(--muted)}

/* ---------- Contact ---------- */
.c-card{position:relative;padding:40px 34px;background:#fff;border:1px solid var(--line);height:100%;transition:.5s var(--ease);overflow:hidden}
.c-card::after{content:"";position:absolute;right:-40px;bottom:-40px;width:110px;height:110px;background:var(--soft);transform:rotate(45deg);transition:.5s}
.c-card:hover{box-shadow:var(--shadow);transform:translateY(-6px)}
.c-card:hover::after{background:rgba(227,35,43,.1)}
.c-card .ic{width:62px;height:62px;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:1.5rem;margin-bottom:22px}
.c-card h5{font-size:1.2rem;margin-bottom:12px}
.c-card p,.c-card a{font-size:.96rem;margin:0 0 4px;display:block;position:relative;z-index:1}
.form-panel{background:var(--navy);padding:54px;position:relative;overflow:hidden}
.form-panel::before{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border:1.5px solid rgba(255,90,95,.35);transform:rotate(45deg)}
.form-panel h3{color:#fff}
.fx{position:relative;margin-bottom:22px}
.fx input,.fx select,.fx textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);color:#fff;padding:24px 18px 10px;font-size:1rem;outline:0;transition:.3s;border-radius:0;appearance:none}
.fx select option{color:#000}
.fx textarea{min-height:130px;resize:vertical}
.fx label{position:absolute;left:18px;top:17px;color:#8391BA;font-size:.95rem;pointer-events:none;transition:.25s var(--ease)}
.fx input:focus,.fx select:focus,.fx textarea:focus{border-color:var(--red-2);background:rgba(255,255,255,.07)}
.fx input:focus+label,.fx input:not(:placeholder-shown)+label,.fx textarea:focus+label,.fx textarea:not(:placeholder-shown)+label,.fx select+label{top:7px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red-2)}
.fx .chev{position:absolute;right:18px;top:22px;color:#8391BA;pointer-events:none}
.map-box{position:relative;height:100%;min-height:420px;background:var(--soft);overflow:hidden}
.map-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.3)}
.office-tabs{display:flex;gap:0;margin-bottom:0}
.office-tabs button{flex:1;border:0;padding:18px;font-family:var(--ff-head);font-weight:600;background:var(--soft);color:var(--ink);transition:.3s;text-align:left}
.office-tabs button small{display:block;font-family:var(--ff-body);font-weight:500;font-size:.8rem;color:var(--muted)}
.office-tabs button.active{background:var(--red);color:#fff}
.office-tabs button.active small{color:rgba(255,255,255,.8)}

/* ---------- Lightbox ---------- */
.lb{position:fixed;inset:0;background:rgba(5,11,32,.94);z-index:2000;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.4s;padding:40px}
.lb.open{opacity:1;visibility:visible}
.lb img{max-height:86vh;max-width:92vw;box-shadow:var(--shadow-lg);transform:scale(.92);transition:.5s var(--ease)}
.lb.open img{transform:none}
.lb .x{position:absolute;right:26px;top:22px;width:50px;height:50px;border:0;background:var(--red);color:#fff;font-size:1.4rem}
.lb .cap{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#fff;font-family:var(--ff-head)}

/* ---------- Tilt ---------- */
[data-tilt]{transform-style:preserve-3d;will-change:transform}

/* ---------- Responsive ---------- */
@media (max-width:1199.98px){
  .nav-main .nav-link{padding:30px 12px!important}
  .nav-call{display:none!important}
}
@media (max-width:991.98px){
  .section{padding:80px 0}
  .hero{padding:60px 0 100px;min-height:auto}
  .hero-visual{max-width:440px;margin:60px auto 0}
  .float-card.c1{left:0}.float-card.c2{right:0}
  .vrf-wrap,.svc-row{grid-template-columns:1fr;gap:50px}
  .svc-row.flip .media{order:0}
  .process{grid-template-columns:1fr 1fr;gap:40px 20px}
  .process::before{display:none}
  .about-collage{margin-bottom:40px}
  .brands-band .label{border:0;padding:0;margin-bottom:10px;text-align:center}
  .cta-band{background:linear-gradient(160deg,var(--red),#173E93)}
  .vrf-media .badge-note{right:10px}
  .page-hero::after{display:none}
}
@media (max-width:767.98px){
  .topbar{display:none}
  .brand-logo{height:50px}
  .site-header .navbar{min-height:74px}
  .hero-mini{gap:24px}
  .hero-mini .n{font-size:1.8rem}
  .check-list,.why-grid{grid-template-columns:1fr}
  .about-collage{padding:0 30px 60px 0}
  .exp-badge{left:-10px;bottom:70px;padding:18px 20px}
  .exp-badge b{font-size:2.2rem}
  .quote-block{padding:50px 26px 36px}
  .quote-block blockquote{font-size:1.15rem}
  .form-panel{padding:34px 22px}
  .ptable thead{display:none}
  .ptable tbody tr{display:grid;grid-template-columns:auto 1fr auto;gap:0}
  .ptable td{border:0!important;padding:10px 14px}
  .ptable td:first-child{border-left:3px solid var(--blue)!important;grid-row:span 2;display:flex;align-items:center}
  .ptable td.t-type{grid-column:2}
  .ptable td:last-child{grid-row:1;grid-column:3}
  .ptable tbody tr{border:1px solid var(--line)}
  .stat{margin-bottom:26px}
  .float-card{min-width:0;padding:10px 12px}
  .float-card b{font-size:1rem}
  .float-card .ic{width:36px;height:36px;font-size:1rem}
  .fab{width:48px;height:48px;font-size:1.25rem}
  #toTop{width:48px;height:48px}
  .scroll-cue{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media (max-width:767.98px){
  .container,.container-fluid{padding-left:20px;padding-right:20px}
  .row{--bs-gutter-x:1.25rem}
  .hero-visual{width:86%;margin:50px auto 0}
  .hero h1{font-size:2.7rem}
  .cert img{height:180px}
}

/* ==========================================================
   v2 — Premium hero slider, mega menu, white mobile menu,
   service detail pages, extra motion
   ========================================================== */
/* Scroll progress + cursor + page transition */
#scrollProg{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--red),var(--blue-2));z-index:3000;transition:width .1s linear}
.cur-dot,.cur-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:3001;border-radius:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s}
.cur-dot{width:7px;height:7px;background:var(--red)}
.cur-ring{width:38px;height:38px;border:1.5px solid rgba(31,79,180,.45);transition:width .35s var(--ease),height .35s var(--ease),background .35s,border-color .35s,opacity .3s}
body.cur-on .cur-dot,body.cur-on .cur-ring{opacity:1}
body.cur-hover .cur-ring{width:64px;height:64px;background:rgba(227,35,43,.08);border-color:var(--red)}
@media (hover:none),(max-width:991.98px){.cur-dot,.cur-ring{display:none}}
.pt-curtain{position:fixed;inset:0;z-index:9998;pointer-events:none;display:flex}
.pt-curtain span{flex:1;background:var(--navy);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease)}
.pt-curtain span:nth-child(2){background:var(--blue);transition-delay:.06s}
.pt-curtain span:nth-child(3){background:var(--red);transition-delay:.12s}
.pt-curtain span:nth-child(4){background:var(--navy);transition-delay:.18s}
.pt-curtain.leave span{transform:scaleY(1)}

/* Word reveal for titles */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split .w>span{display:inline-block;transform:translateY(105%);transition:transform .9s var(--ease)}
.split.in .w>span{transform:none}

/* Magnetic */
.magnetic{transition:transform .35s var(--ease)}

/* ---------- Mega menu ---------- */
.nav-main .dd{position:relative}
.nav-main .dd>.nav-link i{font-size:.7rem;margin-left:4px;transition:transform .35s}
.nav-main .dd:hover>.nav-link i{transform:rotate(180deg)}
.mega{position:absolute;top:100%;left:50%;width:760px;transform:translate(-50%,18px);background:#fff;box-shadow:0 40px 80px -30px rgba(8,18,49,.35);border-top:3px solid var(--red);display:grid;grid-template-columns:1.5fr 1fr;opacity:0;visibility:hidden;transition:.45s var(--ease);z-index:50}
.nav-main .dd:hover .mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega .ml{padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.mega .ml a{display:flex;gap:12px;align-items:center;padding:12px;color:var(--ink);font-family:var(--ff-head);font-weight:600;font-size:.93rem;transition:.3s}
.mega .ml a i{width:38px;height:38px;flex:none;display:grid;place-items:center;background:var(--soft);color:var(--blue);font-size:1.05rem;transition:.3s}
.mega .ml a:hover{background:var(--soft);color:var(--blue)}
.mega .ml a:hover i{background:var(--red);color:#fff}
.mega .mp{position:relative;overflow:hidden;color:#fff;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;min-height:280px}
.mega .mp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.mega .mp::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,49,.2),rgba(8,18,49,.92));z-index:1}
.mega .mp>*:not(img){position:relative;z-index:2}
.mega .mp h6{color:#fff;font-size:1.3rem;margin-bottom:6px}
.mega .mp p{font-size:.85rem;color:#C6CEE8;margin-bottom:14px;line-height:1.5}
.mega:hover .mp img{transform:scale(1.08)}

/* ---------- White mobile menu ---------- */
.offcanvas.mobile-nav{background:#fff;color:var(--muted)}
.mobile-nav .offcanvas-header{border-bottom:1px solid var(--line)}
.mobile-nav .btn-close{filter:none;opacity:.7}
.mobile-nav .m-links a,.mobile-nav .m-links .m-sub-toggle{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-family:var(--ff-head);font-size:1.15rem;font-weight:600;color:var(--ink);width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left}
.mobile-nav .m-links a i,.mobile-nav .m-sub-toggle i{color:var(--red);font-size:.9rem;transition:transform .3s}
.mobile-nav .m-sub-toggle[aria-expanded="true"] i{transform:rotate(180deg)}
.mobile-nav .m-links a.active{color:var(--red)}
.mobile-nav .m-sub{padding:6px 0 10px 14px;border-left:2px solid var(--red);margin:8px 0}
.mobile-nav .m-sub a{font-size:.95rem;padding:9px 0;border:0;font-family:var(--ff-body);font-weight:600;color:var(--muted)}
.mobile-nav .m-sub a:hover{color:var(--blue)}
.mobile-nav .m-contact a{color:var(--ink)}
.mobile-nav .m-contact i{color:var(--red)}
.mobile-nav .m-card{margin-top:22px;background:var(--soft);padding:18px;border-left:3px solid var(--blue);font-size:.9rem}
.mobile-nav .m-card b{display:block;color:var(--ink);font-family:var(--ff-head)}
.burger{background:var(--soft)}
.burger span{background:var(--navy)}
.burger span:nth-child(2){background:var(--red)}

/* ---------- Premium hero slider ---------- */
.hero2{position:relative;height:calc(100vh - 128px);min-height:640px;max-height:980px;background:#050B20;overflow:hidden;color:#fff}
.hero2 .hero-main{position:absolute;inset:0}
.hero2 .swiper-slide{overflow:hidden;background:#050B20}
.hs-bg{position:absolute;inset:0}
.hs-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.18);transition:transform 8s linear}
.hero2 .swiper-slide-active .hs-bg img{transform:scale(1.02)}
.hs-overlay{position:absolute;inset:0;background:linear-gradient(95deg,rgba(5,11,32,.94) 0%,rgba(5,11,32,.78) 38%,rgba(5,11,32,.25) 75%,rgba(5,11,32,.45) 100%),linear-gradient(0deg,rgba(5,11,32,.8),transparent 40%)}
.hero2 #airflow{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.75}
.hero2 .grid-lines{position:absolute;inset:0;z-index:2;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,#000 20%,transparent 70%)}
.hs-content{position:relative;z-index:4;height:100%;display:flex;flex-direction:column;justify-content:center;padding-bottom:110px}
.hs-kicker{display:inline-flex;align-items:center;gap:14px;font-family:var(--ff-head);font-weight:600;font-size:.85rem;letter-spacing:.28em;text-transform:uppercase;color:#C9D4F5;margin-bottom:26px}
.hs-kicker b{color:var(--red-2);font-size:1rem;letter-spacing:.1em}
.hs-kicker::after{content:"";width:60px;height:1.5px;background:linear-gradient(90deg,var(--red-2),transparent)}
.hs-title{color:#fff;font-size:clamp(2.6rem,6vw,5.6rem);font-weight:800;line-height:1;letter-spacing:-.025em;margin-bottom:28px;max-width:900px}
.hs-title em{font-style:italic;background:linear-gradient(90deg,#FF5A5F,#E3232B);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.1em}
.hs-title .ln{display:block;overflow:hidden;padding-bottom:.05em}
.hs-title .ln>span{display:inline-block;transform:translateY(110%) rotate(3deg);transform-origin:left bottom;transition:transform 1.1s var(--ease)}
.hs-sub{max-width:560px;font-size:1.12rem;color:#C1CBE8;margin-bottom:38px}
.hs-cta{display:flex;flex-wrap:wrap;gap:16px}
.hs-anim{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.hero2 .swiper-slide-active .hs-title .ln>span{transform:none}
.hero2 .swiper-slide-active .hs-title .ln:nth-child(2)>span{transition-delay:.1s}
.hero2 .swiper-slide-active .hs-title .ln:nth-child(3)>span{transition-delay:.2s}
.hero2 .swiper-slide-active .hs-anim{opacity:1;transform:none}
.hero2 .swiper-slide-active .hs-kicker{transition-delay:.15s}
.hero2 .swiper-slide-active .hs-sub{transition-delay:.45s}
.hero2 .swiper-slide-active .hs-cta{transition-delay:.6s}
.hs-badge{position:absolute;right:6%;bottom:190px;z-index:4;background:rgba(255,255,255,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);padding:22px 26px;min-width:230px;opacity:0;transform:translateX(40px);transition:1s var(--ease) .7s}
.hero2 .swiper-slide-active .hs-badge{opacity:1;transform:none}
.hs-badge b{display:block;font-family:var(--ff-head);font-weight:800;font-size:2.6rem;line-height:1;color:#fff}
.hs-badge b small{font-size:1.1rem;color:var(--red-2);margin-left:4px}
.hs-badge span{display:block;font-size:.85rem;color:#C1CBE8;margin-top:8px}
.hs-badge::before{content:"";position:absolute;left:-1px;top:-1px;width:30px;height:30px;border-left:3px solid var(--red-2);border-top:3px solid var(--red-2)}
/* hero bottom bar */
.hs-bar{position:absolute;left:0;right:0;bottom:0;z-index:6;border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(0deg,rgba(5,11,32,.75),rgba(5,11,32,.2));backdrop-filter:blur(6px)}
.hs-bar .container{display:flex;align-items:stretch;gap:30px}
.hs-count{display:flex;align-items:center;gap:18px;font-family:var(--ff-head);padding:26px 0;min-width:230px}
.hs-count .cur{font-size:2.4rem;font-weight:800;color:#fff;line-height:1;width:52px}
.hs-count .tot{color:#8391BA;font-weight:600}
.hs-prog{flex:1;height:2px;background:rgba(255,255,255,.15);position:relative;min-width:70px}
.hs-prog i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--red-2)}
.hs-thumbs{flex:1;display:grid;grid-template-columns:repeat(5,1fr)}
.hs-thumb{position:relative;display:flex;align-items:center;gap:12px;padding:18px 16px;border-left:1px solid rgba(255,255,255,.08);cursor:pointer;color:#8E9ABF;transition:.4s;background:none;border-top:0;border-right:0;border-bottom:0;text-align:left}
.hs-thumb img{width:54px;height:54px;object-fit:cover;flex:none;filter:grayscale(1) brightness(.7);transition:.4s}
.hs-thumb span{font-family:var(--ff-head);font-weight:600;font-size:.86rem;line-height:1.25}
.hs-thumb small{display:block;font-size:.7rem;letter-spacing:.14em;color:#5E6A92;margin-bottom:2px}
.hs-thumb::after{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--red-2);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.hs-thumb:hover,.hs-thumb.active{color:#fff;background:rgba(255,255,255,.04)}
.hs-thumb.active img,.hs-thumb:hover img{filter:none}
.hs-thumb.active::after{transform:scaleX(1)}
.hs-arrows{position:absolute;right:30px;top:50%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;gap:10px}
.hs-arrows button{width:54px;height:54px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.04);color:#fff;font-size:1.2rem;display:grid;place-items:center;transition:.35s;backdrop-filter:blur(6px)}
.hs-arrows button:hover{background:var(--red);border-color:var(--red)}
.hs-side{position:absolute;left:28px;top:50%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;align-items:center;gap:16px}
.hs-side a{color:#8E9ABF;font-size:1rem}
.hs-side a:hover{color:#fff}
.hs-side::before,.hs-side::after{content:"";width:1px;height:60px;background:rgba(255,255,255,.2)}
@media (max-width:1399.98px){.hs-side{display:none}}
@media (max-width:1199.98px){.hs-thumb img{display:none}.hs-badge{display:none}}
@media (max-width:991.98px){
  .hero2{height:auto;min-height:0;max-height:none}
  .hero2 .hero-main{position:relative;height:88vh;min-height:600px}
  .hs-thumbs{display:none}
  .hs-arrows{top:auto;bottom:18px;right:20px;flex-direction:row;transform:none}
  .hs-arrows button{width:46px;height:46px}
  .hs-count{padding:22px 0}
  .hs-content{padding-bottom:120px}
}
@media (max-width:575.98px){
  .hs-title{font-size:2.55rem}
  .hs-sub{font-size:1rem}
  .hs-kicker{letter-spacing:.16em;font-size:.74rem}
  .hs-count{min-width:0;flex:1;padding-right:120px}
}

/* ---------- Ticker ---------- */
.ticker{background:var(--red);padding:22px 0;overflow:hidden;position:relative;transform:rotate(-1.2deg);margin:-14px -20px;z-index:4;box-shadow:0 20px 50px -20px rgba(227,35,43,.5)}
.ticker-wrap{overflow:hidden;padding:14px 0}
.ticker .tt{display:flex;width:max-content;animation:marquee 30s linear infinite}
.ticker .tt span{font-family:var(--ff-head);font-weight:800;font-size:clamp(1.4rem,2.6vw,2.2rem);color:#fff;text-transform:uppercase;letter-spacing:.02em;padding:0 26px;display:flex;align-items:center;gap:52px;white-space:nowrap}
.ticker .tt span::after{content:"";width:14px;height:14px;background:#fff;transform:rotate(45deg)}
.ticker .tt span.o{color:transparent;-webkit-text-stroke:1.4px #fff}
.ticker.blue{background:var(--navy);transform:rotate(1deg);margin-top:-48px;z-index:3}
.ticker.blue .tt{animation-direction:reverse}

/* ---------- Image cards with photo (services overview) ---------- */
.svc-tile{position:relative;display:block;overflow:hidden;height:440px;color:#fff;isolation:isolate}
.svc-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease);z-index:-2}
.svc-tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,49,.05) 20%,rgba(8,18,49,.92) 85%);z-index:-1;transition:.6s}
.svc-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,79,180,.55),rgba(227,35,43,.55));opacity:0;z-index:-1;transition:.6s var(--ease)}
.svc-tile .in{position:absolute;left:0;right:0;bottom:0;padding:30px}
.svc-tile .no{font-family:var(--ff-head);font-weight:800;font-size:.9rem;letter-spacing:.2em;color:var(--red-2)}
.svc-tile h4{color:#fff;font-size:1.45rem;margin:8px 0 0}
.svc-tile p{color:#D5DCF0;font-size:.93rem;margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .5s,margin .5s}
.svc-tile .go{position:absolute;right:26px;top:26px;width:52px;height:52px;display:grid;place-items:center;background:#fff;color:var(--navy);font-size:1.2rem;transform:scale(0) rotate(-45deg);transition:.5s var(--ease)}
.svc-tile:hover{color:#fff}
.svc-tile:hover img{transform:scale(1.1)}
.svc-tile:hover::after{opacity:.35}
.svc-tile:hover p{max-height:120px;opacity:1;margin-top:10px}
.svc-tile:hover .go{transform:none}

/* ---------- Service detail ---------- */
.sd-main .sd-hero-img{position:relative;overflow:hidden;margin-bottom:40px}
.sd-main .sd-hero-img img{width:100%;aspect-ratio:16/9;object-fit:cover}
.sd-main h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:18px}
.sd-main h3{font-size:1.6rem;margin:50px 0 20px}
.sd-incl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}
.sd-incl div{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;background:var(--soft);border-left:3px solid var(--blue);color:var(--ink);font-weight:600;font-size:.95rem;transition:.35s}
.sd-incl div:hover{border-left-color:var(--red);transform:translateX(4px);background:#fff;box-shadow:var(--shadow-sm)}
.sd-incl i{color:var(--red);margin-top:2px}
.sd-steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sd-step{position:relative;padding:28px 22px;background:#fff;border:1px solid var(--line);transition:.4s var(--ease)}
.sd-step::before{counter-increment:s;content:"0" counter(s);font-family:var(--ff-head);font-weight:800;font-size:2.4rem;color:transparent;-webkit-text-stroke:1px var(--blue);display:block;line-height:1;margin-bottom:14px}
.sd-step h6{font-size:1.02rem;margin-bottom:6px}
.sd-step p{font-size:.88rem;margin:0}
.sd-step:hover{background:var(--navy);border-color:var(--navy);transform:translateY(-6px)}
.sd-step:hover h6{color:#fff}.sd-step:hover p{color:#AEB9DA}
.sd-step:hover::before{-webkit-text-stroke-color:var(--red-2)}
.sd-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:40px 0}
.sd-pair img{width:100%;aspect-ratio:4/3;object-fit:cover}
.sd-ben{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sd-ben div{display:flex;gap:16px;padding:22px;border:1px solid var(--line);transition:.4s}
.sd-ben div:hover{box-shadow:var(--shadow);border-color:transparent}
.sd-ben i{width:50px;height:50px;flex:none;display:grid;place-items:center;background:rgba(227,35,43,.08);color:var(--red);font-size:1.3rem;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.sd-ben h6{margin-bottom:4px;font-size:1.02rem}
.sd-ben p{margin:0;font-size:.9rem}
.faq .accordion-item{border:1px solid var(--line);margin-bottom:12px;border-radius:0!important}
.faq .accordion-button{font-family:var(--ff-head);font-weight:600;color:var(--ink);font-size:1.05rem;padding:20px 22px;box-shadow:none!important;border-radius:0!important}
.faq .accordion-button:not(.collapsed){background:var(--navy);color:#fff}
.faq .accordion-button:not(.collapsed)::after{filter:invert(1) brightness(2)}
.faq .accordion-body{padding:20px 22px}
.sd-side{position:sticky;top:110px}
.sd-box{background:var(--soft);padding:30px;margin-bottom:26px}
.sd-box h5{font-size:1.2rem;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.sd-nav a{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;margin-bottom:8px;background:#fff;color:var(--ink);font-family:var(--ff-head);font-weight:600;font-size:.95rem;position:relative;overflow:hidden;isolation:isolate}
.sd-nav a::before{content:"";position:absolute;inset:0;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);z-index:-1}
.sd-nav a:hover,.sd-nav a.active{color:#fff}
.sd-nav a:hover::before,.sd-nav a.active::before{transform:scaleX(1)}
.sd-call{position:relative;overflow:hidden;padding:40px 30px;color:#fff;text-align:center;margin-bottom:26px}
.sd-call img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.sd-call::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,79,180,.88),rgba(8,18,49,.95));z-index:1}
.sd-call>*:not(img){position:relative;z-index:2}
.sd-call .ic{width:70px;height:70px;border-radius:50%;background:var(--red);display:grid;place-items:center;margin:0 auto 18px;font-size:1.6rem;animation:shake 3s infinite}
.sd-call h5{color:#fff}
.sd-call a.ph{display:block;color:#fff;font-family:var(--ff-head);font-weight:800;font-size:1.5rem;margin:6px 0}
.sd-brands{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sd-brands span{background:#fff;display:grid;place-items:center;height:62px;padding:10px}
.sd-brands img{max-height:26px;object-fit:contain}
@media (max-width:991.98px){.sd-side{position:static;margin-top:50px}.sd-steps{grid-template-columns:1fr 1fr}}
@media (max-width:575.98px){.sd-incl,.sd-ben,.sd-pair{grid-template-columns:1fr}.sd-steps{grid-template-columns:1fr}.svc-tile{height:380px}.svc-tile p{max-height:120px;opacity:1;margin-top:10px}}

/* page hero img instead of bg */
.page-hero img.bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.stats-band img.bgimg{position:absolute;left:0;top:-20%;width:100%;height:140%;object-fit:cover;opacity:.22}
.page-hero{padding:150px 0 130px}

/* Floating shapes decoration */
.shape-float{position:absolute;pointer-events:none;z-index:0}
.shape-float.sq{width:90px;height:90px;border:2px solid rgba(227,35,43,.25);transform:rotate(45deg);animation:spinSlow 30s linear infinite}
.shape-float.dots{width:120px;height:120px;background-image:radial-gradient(var(--blue) 1.6px,transparent 1.6px);background-size:14px 14px;opacity:.25;animation:floatY 8s ease-in-out infinite}
.section>.container{position:relative;z-index:1}

/* Brand grid (home) */
.brand-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.brand-grid div{height:120px;display:grid;place-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px;position:relative;overflow:hidden;background:#fff;transition:.4s}
.brand-grid div::before{content:"";position:absolute;inset:0;background:var(--soft);transform:translateY(101%);transition:transform .5s var(--ease)}
.brand-grid img{position:relative;max-height:44px;max-width:80%;object-fit:contain;filter:grayscale(1);opacity:.65;transition:.45s var(--ease)}
.brand-grid div:hover::before{transform:none}
.brand-grid div:hover img{filter:none;opacity:1;transform:scale(1.1)}
@media (max-width:991.98px){.brand-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:575.98px){.brand-grid{grid-template-columns:repeat(2,1fr)}.brand-grid div{height:96px}}
@media (max-width:991.98px){.hs-arrows{display:none}.hs-count{padding-right:0}}
.ticker-wrap{padding:20px 0 26px}
.ticker.blue{margin-top:4px}

/* ==========================================================
   v3 — Video-feel hero, stylish page hero/breadcrumb,
   premium footer, products, original brand logos
   ========================================================== */
/* Brand logos: original colours */
.brand-chip{background:#fff;border:1px solid var(--line);height:88px}
.brand-chip img,.brand-grid img{filter:none!important;opacity:1!important;mix-blend-mode:multiply}
.brand-chip:hover{border-color:var(--blue);box-shadow:var(--shadow-sm)}
.brand-grid img{max-height:52px}

/* ---------- HERO v3 ---------- */
.hero3{position:relative;height:calc(100vh - 128px);min-height:620px;max-height:920px;overflow:hidden;background:#040917;color:#fff;isolation:isolate}
.hero3 .h3-swiper{position:absolute;inset:0}
.h3-slide{overflow:hidden;background:#040917}
.h3-bg{position:absolute;inset:-6%;will-change:transform}
.h3-bg img{width:100%;height:100%;object-fit:cover}
.h3-slide:nth-child(5n+1) .h3-bg{animation:kb1 22s ease-in-out infinite alternate}
.h3-slide:nth-child(5n+2) .h3-bg{animation:kb2 22s ease-in-out infinite alternate}
.h3-slide:nth-child(5n+3) .h3-bg{animation:kb3 22s ease-in-out infinite alternate}
.h3-slide:nth-child(5n+4) .h3-bg{animation:kb4 22s ease-in-out infinite alternate}
.h3-slide:nth-child(5n+5) .h3-bg{animation:kb5 22s ease-in-out infinite alternate}
@keyframes kb1{from{transform:scale(1.02)}to{transform:scale(1.2) translate(-3%,-2%)}}
@keyframes kb2{from{transform:scale(1.15) translate(4%,0)}to{transform:scale(1.15) translate(-4%,0)}}
@keyframes kb3{from{transform:scale(1.22) translate(0,2%)}to{transform:scale(1.04) translate(0,0)}}
@keyframes kb4{from{transform:scale(1.14) translate(0,4%)}to{transform:scale(1.14) translate(-2%,-4%)}}
@keyframes kb5{from{transform:scale(1.05) translate(-2%,0)}to{transform:scale(1.2) translate(3%,-1%)}}
.h3-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,9,23,.92) 0%,rgba(4,9,23,.72) 35%,rgba(4,9,23,.2) 70%,rgba(4,9,23,.35) 100%),linear-gradient(0deg,rgba(4,9,23,.9) 0%,transparent 35%),radial-gradient(ellipse at 70% 40%,transparent 40%,rgba(4,9,23,.55) 100%)}
.hero3::after{content:"";position:absolute;inset:-50%;z-index:3;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.hero3::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:6;background:linear-gradient(90deg,var(--red),var(--blue-2))}
.h3-content{position:relative;z-index:4;height:100%;display:flex;flex-direction:column;justify-content:center;padding-bottom:120px}
.h3-el{opacity:0;transform:translateY(34px)}
.h3-slide.is-in .h3-el{opacity:1;transform:none;transition:opacity 1s var(--ease) var(--d,0s),transform 1.2s var(--ease) var(--d,0s)}
.h3-kicker{display:inline-flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:40px;font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#DCE3F7;margin-bottom:26px;align-self:flex-start}
.h3-kicker b{background:var(--red);color:#fff;border-radius:30px;padding:4px 12px;font-family:var(--ff-head);letter-spacing:.06em}
.h3-title{font-size:clamp(2.6rem,5.8vw,5.4rem);font-weight:800;color:#fff;line-height:1.02;letter-spacing:-.025em;margin-bottom:24px;max-width:880px}
.h3-title em{font-style:italic;background:linear-gradient(90deg,#FF6167,#E3232B);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.1em}
.h3-title .ln{display:block;overflow:hidden;padding-bottom:.06em}
.h3-title .ln>span{display:inline-block;transform:translateY(112%)}
.h3-slide.is-in .h3-title .ln>span{transform:none;transition:transform 1.2s var(--ease)}
.h3-slide.is-in .h3-title .ln:nth-child(2)>span{transition-delay:.12s}
.h3-slide.is-in .h3-title .ln:nth-child(3)>span{transition-delay:.24s}
.h3-sub{max-width:560px;font-size:1.12rem;color:#C7D0EA;margin-bottom:36px}
.h3-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.h3-call{display:inline-flex;align-items:center;gap:12px;color:#fff;font-family:var(--ff-head);font-weight:600;margin-left:8px}
.h3-call span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(255,255,255,.35);font-size:1.1rem;position:relative}
.h3-call span::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid rgba(255,97,103,.6);animation:ring 2.2s infinite}
.h3-call small{display:block;font-family:var(--ff-body);font-weight:500;color:#9DA9CE;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.h3-call:hover{color:#fff}
.h3-badge{position:absolute;right:max(24px,calc((100vw - 1240px)/2 + 12px));bottom:150px;z-index:4;background:rgba(255,255,255,.07);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.15);padding:22px 26px;min-width:240px}
.h3-badge::before{content:"";position:absolute;left:-1px;top:-1px;width:28px;height:28px;border-left:3px solid var(--red-2);border-top:3px solid var(--red-2)}
.h3-badge b{display:block;font-family:var(--ff-head);font-weight:800;font-size:2.6rem;line-height:1}
.h3-badge b small{font-size:1.1rem;color:var(--red-2);margin-left:4px}
.h3-badge span{display:block;font-size:.85rem;color:#C7D0EA;margin-top:8px}
/* progress segments */
.h3-bar{position:absolute;left:0;right:0;bottom:0;z-index:5;padding:0 0 28px}
.h3-segs{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.h3-seg{background:none;border:0;padding:14px 0 0;text-align:left;color:#8E9ABF;cursor:pointer;position:relative;transition:color .3s}
.h3-seg .tr{display:block;height:2px;background:rgba(255,255,255,.18);position:absolute;left:0;right:0;top:0;overflow:hidden}
.h3-seg .tr i{position:absolute;left:0;top:0;bottom:0;width:0;background:#fff}
.h3-seg.done .tr i{width:100%;background:rgba(255,255,255,.55)}
.h3-seg.active .tr i{background:var(--red-2)}
.h3-seg b{font-family:var(--ff-head);font-size:.8rem;letter-spacing:.14em;margin-right:8px;color:#5E6A92;transition:.3s}
.h3-seg span{font-family:var(--ff-head);font-weight:600;font-size:.95rem}
.h3-seg.active,.h3-seg:hover{color:#fff}
.h3-seg.active b{color:var(--red-2)}
.h3-nav{position:absolute;right:28px;top:50%;transform:translateY(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:14px}
.h3-nav button{width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.05);color:#fff;display:grid;place-items:center;transition:.35s;backdrop-filter:blur(6px)}
.h3-nav button:hover{background:var(--red);border-color:var(--red)}
.h3-nav .cnt{font-family:var(--ff-head);font-weight:700;font-size:.9rem;color:#fff;writing-mode:vertical-rl;letter-spacing:.2em}
.h3-nav .cnt small{color:#6F7BA3}
@media (max-width:1299.98px){.h3-nav{display:none}}
@media (max-width:1199.98px){.h3-badge{display:none}}
@media (max-width:991.98px){
  .hero3{height:640px;min-height:0}
  .h3-seg span{display:none}
  .h3-segs{gap:10px}
}
@media (max-width:767.98px){
  .hero3{height:540px}
  .h3-content{padding-bottom:70px}
  .h3-kicker{font-size:.66rem;letter-spacing:.1em;margin-bottom:16px;padding:6px 12px 6px 6px}
  .h3-title{font-size:2.15rem;margin-bottom:14px}
  .h3-sub{font-size:.95rem;margin-bottom:22px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .h3-cta .btn-x{padding:13px 20px;font-size:.8rem}
  .h3-call{display:none}
  .h3-bar{padding-bottom:18px}
  .h3-seg{padding-top:10px}
  .h3-seg b{font-size:.7rem}
}

/* ---------- PAGE HERO v3 + breadcrumb ---------- */
.ph3{position:relative;overflow:hidden;background:#050B20;color:#C1CBE8;padding:120px 0 150px;isolation:isolate}
.ph3 .ph-bg{position:absolute;inset:-5%;z-index:-2;animation:kb1 24s ease-in-out infinite alternate}
.ph3 .ph-bg img{width:100%;height:100%;object-fit:cover;opacity:.45}
.ph3::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(5,11,32,.97) 25%,rgba(5,11,32,.7) 60%,rgba(31,79,180,.35))}
.ph3::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:70px;background:#fff;clip-path:polygon(0 100%,100% 30%,100% 100%)}
.ph3 .ph-word{position:absolute;right:-2%;bottom:40px;font-family:var(--ff-head);font-weight:800;font-size:clamp(4rem,13vw,11rem);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.1);text-transform:uppercase;white-space:nowrap;pointer-events:none;z-index:0}
.ph3 .container{position:relative;z-index:2}
.ph3 h1{color:#fff;font-size:clamp(2.4rem,5.2vw,4.4rem);font-weight:800;margin:0 0 16px;letter-spacing:-.02em}
.ph3 h1 em{font-style:italic;color:var(--red-2)}
.ph3 p{max-width:560px;font-size:1.08rem;margin:0}
.bc{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;padding:6px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:50px;margin-bottom:28px;font-family:var(--ff-head);font-weight:600;font-size:.86rem;letter-spacing:.04em}
.bc a,.bc .cur{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:40px;color:#DCE3F7;transition:.3s}
.bc a.home{width:38px;height:38px;padding:0;justify-content:center;background:#fff;color:var(--red);font-size:1rem}
.bc a:hover{background:rgba(255,255,255,.1);color:#fff}
.bc a.home:hover{background:var(--red);color:#fff}
.bc .sep{width:7px;height:7px;background:var(--red-2);transform:rotate(45deg);margin:0 4px;flex:none}
.bc .cur{background:linear-gradient(90deg,var(--red),#FF4A50);color:#fff;box-shadow:0 8px 20px -8px rgba(227,35,43,.8)}
.ph-badge{position:relative;width:170px;height:170px;margin-left:auto}
.ph-badge svg{width:100%;height:100%;animation:spinSlow 18s linear infinite}
.ph-badge text{font-family:var(--ff-head);font-weight:700;font-size:14px;letter-spacing:3.4px;fill:#fff;text-transform:uppercase}
.ph-badge .mid{position:absolute;inset:38px;border-radius:50%;background:var(--red);display:grid;place-items:center;box-shadow:0 20px 40px -10px rgba(227,35,43,.6)}
.ph-badge .mid img{width:62%;filter:brightness(0) invert(1)}
@media (max-width:991.98px){.ph-badge{display:none}.ph3{padding:80px 0 110px}}
@media (max-width:575.98px){.bc{font-size:.74rem}.bc a,.bc .cur{padding:7px 11px}.bc a.home{width:32px;height:32px}}

/* ---------- FOOTER v3 ---------- */
.ft{position:relative;background:#040917;color:#8F9BC0;overflow:hidden;isolation:isolate}
.ft::before{content:"";position:absolute;width:700px;height:700px;left:-250px;top:-300px;background:radial-gradient(circle,rgba(31,79,180,.35),transparent 65%);z-index:-1}
.ft::after{content:"";position:absolute;width:600px;height:600px;right:-200px;bottom:-250px;background:radial-gradient(circle,rgba(227,35,43,.22),transparent 65%);z-index:-1}
.ft a{color:#C3CCE6}
.ft a:hover{color:#fff}
.ft-cta{position:relative;margin-top:0;padding:70px 0 60px;border-bottom:1px solid rgba(255,255,255,.08)}
.ft-cta h2{color:#fff;font-size:clamp(2rem,4vw,3.4rem);font-weight:800;line-height:1.05;margin:0}
.ft-cta h2 em{font-style:italic;color:var(--red-2)}
.ft-cta p{margin:14px 0 0;max-width:520px}
.ft-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:50px 0}
.ft-tile{position:relative;display:flex;gap:18px;align-items:flex-start;padding:26px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);transition:.45s var(--ease);overflow:hidden}
.ft-tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--red),var(--blue-2));transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}
.ft-tile:hover{background:rgba(255,255,255,.06);transform:translateY(-4px)}
.ft-tile:hover::before{transform:none}
.ft-tile .ic{flex:none;width:54px;height:54px;display:grid;place-items:center;font-size:1.35rem;color:#fff;background:linear-gradient(135deg,var(--red),#FF5A5F);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.ft-tile:nth-child(2) .ic{background:linear-gradient(135deg,var(--blue),var(--blue-2))}
.ft-tile small{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#6F7BA3;margin-bottom:4px}
.ft-tile a,.ft-tile span.v{display:block;color:#fff;font-family:var(--ff-head);font-weight:600;font-size:1.02rem;line-height:1.45}
.ft-tile span.v{font-family:var(--ff-body);font-weight:500;font-size:.9rem;color:#C3CCE6}
.ft-main{padding:30px 0 50px}
.ft-logo{height:86px;width:auto;margin-bottom:22px}
.ft-about{font-size:.95rem;line-height:1.75;max-width:360px}
.ft-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px}
.ft-chips span{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:7px 12px;border:1px solid rgba(255,255,255,.12);color:#C3CCE6}
.ft-chips span i{color:var(--red-2);margin-right:6px}
.ft-social{display:flex;gap:10px}
.ft-social a{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:50%;font-size:1rem;transition:.4s var(--ease)}
.ft-social a:hover{background:var(--red);border-color:var(--red);transform:translateY(-4px) rotate(8deg)}
.ft h5{color:#fff;font-size:1.1rem;margin-bottom:24px;display:flex;align-items:center;gap:10px}
.ft h5::before{content:"";width:8px;height:8px;background:var(--red-2);transform:rotate(45deg)}
.ft-links{list-style:none;padding:0;margin:0}
.ft-links li{margin-bottom:11px}
.ft-links a{position:relative;display:inline-flex;align-items:center;gap:0;font-size:.94rem;transition:gap .35s var(--ease),color .3s}
.ft-links a::before{content:"\F138";font-family:bootstrap-icons;font-size:.8rem;color:var(--red-2);width:0;overflow:hidden;opacity:0;transition:.35s var(--ease)}
.ft-links a:hover{gap:8px}
.ft-links a:hover::before{width:14px;opacity:1}
.ft-office{padding:0 0 16px;margin-bottom:16px;border-bottom:1px dashed rgba(255,255,255,.1);font-size:.9rem;line-height:1.6}
.ft-office:last-child{border:0}
.ft-office b{display:block;color:#fff;font-family:var(--ff-head);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.ft-word{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);font-family:var(--ff-head);font-weight:800;font-size:clamp(4rem,14vw,13rem);line-height:.8;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.05);z-index:-1;pointer-events:none;letter-spacing:-.02em}
.ft-bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 0;font-size:.86rem;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.ft-bottom .gst{font-family:var(--ff-head);letter-spacing:.12em;font-size:.78rem;padding:6px 12px;background:rgba(255,255,255,.05)}
.ft-bottom .mx a{color:#fff;font-weight:600}
@media (max-width:991.98px){.ft-tiles{grid-template-columns:1fr}.ft-cta{padding:56px 0 46px}}

/* ---------- PRODUCTS ---------- */
.pf-bar{position:sticky;top:74px;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:40px}
.pf-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px}
.pf-tabs::-webkit-scrollbar{display:none}
.pf-tabs button{flex:none;border:1px solid var(--line);background:#fff;padding:10px 18px;border-radius:40px;font-family:var(--ff-head);font-weight:600;font-size:.9rem;color:var(--ink);transition:.3s;white-space:nowrap}
.pf-tabs button .c{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:11px;background:var(--soft);font-size:.72rem;margin-left:6px;color:var(--muted)}
.pf-tabs button.active,.pf-tabs button:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.pf-tabs button.active .c{background:var(--red);color:#fff}
.prod{background:#fff;border:1px solid var(--line);height:100%;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s,opacity .4s;overflow:hidden}
.prod.hide{display:none}
.prod.pop{animation:popIn .6s var(--ease)}
@keyframes popIn{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.prod .im{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--soft)}
.prod .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.prod .im .tag{position:absolute;left:14px;top:14px;background:rgba(8,18,49,.85);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;backdrop-filter:blur(6px)}
.prod .im .cat{position:absolute;right:14px;top:14px;background:var(--red);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px}
.prod .bd{padding:24px 24px 0;flex:1}
.prod h5{font-size:1.2rem;margin-bottom:8px}
.prod p{font-size:.92rem;margin-bottom:14px}
.prod ul{list-style:none;padding:0;margin:0 0 20px}
.prod li{font-size:.88rem;color:var(--ink);font-weight:500;padding:5px 0 5px 22px;position:relative}
.prod li::before{content:"";position:absolute;left:2px;top:12px;width:7px;height:7px;background:var(--blue);transform:rotate(45deg)}
.prod .ft2{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--line)}
.prod .ft2 a{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px;font-family:var(--ff-head);font-weight:600;font-size:.88rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);transition:.3s}
.prod .ft2 a.wa{color:#fff;background:var(--navy)}
.prod .ft2 a.wa:hover{background:#22C35E}
.prod .ft2 a.cl{width:56px;border-left:1px solid var(--line);color:var(--red)}
.prod .ft2 a.cl:hover{background:var(--red);color:#fff}
.prod:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.prod:hover .im img{transform:scale(1.08)}
.prod-swiper{padding-bottom:10px}
.prod-swiper .swiper-slide{height:auto}
.prod .im .cat{top:auto;bottom:14px;left:14px;right:auto}
@media (max-width:767.98px){
  .h3-cta{flex-wrap:nowrap;gap:10px}
  .h3-cta .btn-x{padding:12px 16px;font-size:.72rem;gap:8px;letter-spacing:.04em}
  .brands-band .label{font-size:.95rem}
}

/* ==========================================================
   v4 — hero fit, lighter footer, contact cards, product search
   ========================================================== */
/* Hero: always fits the screen */
.hero3{height:clamp(600px,calc(100vh - 128px),860px);min-height:0;max-height:none}
.h3-content{justify-content:center;padding-top:40px;padding-bottom:120px}
.h3-title{font-size:clamp(2.4rem,4.4vw,4.4rem);margin-bottom:20px}
.h3-kicker{margin-bottom:22px}
.h3-sub{font-size:1.08rem;margin-bottom:30px;max-width:540px}
.h3-badge{bottom:130px}
.h3-nav .cnt{writing-mode:horizontal-tb;letter-spacing:.06em;font-size:.85rem}
@media (max-height:760px) and (min-width:992px){
  .h3-title{font-size:clamp(2.2rem,3.6vw,3.6rem)}
  .h3-sub{margin-bottom:22px}
  .h3-content{padding-bottom:100px}
  .h3-badge{display:none}
}
@media (max-width:991.98px){.hero3{height:640px}}
@media (max-width:767.98px){.hero3{height:540px}.h3-content{padding-top:20px;padding-bottom:70px}.h3-title{font-size:2.15rem}}

/* Footer: royal-blue, lighter */
.ft-cta-wrap{position:relative;background:linear-gradient(180deg,transparent 50%,#0F2A6E 50%);padding:0;z-index:2}
.ft-cta{position:relative;overflow:hidden;padding:54px 56px;background:linear-gradient(110deg,var(--red) 0%,#C4151D 55%,#1F4FB4 100%);box-shadow:0 30px 70px -30px rgba(8,18,49,.55);border:0}
.ft-cta::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,#000,transparent 75%);pointer-events:none}
.ft-cta>.row{position:relative;z-index:1}
.ft-cta h2{font-size:clamp(1.8rem,3.2vw,2.8rem)}
.ft-cta h2 em{color:#fff;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.ft-cta p{color:rgba(255,255,255,.88)}
.ft-cta .eyebrow .slash i{background:#fff}
.ft-cta .eyebrow .slash i+i{background:rgba(255,255,255,.5)}
.ft{background:linear-gradient(180deg,#0F2A6E 0%,#0B2159 60%,#081A47 100%);color:#B3C0E6}
.ft::before{background:radial-gradient(circle,rgba(61,111,224,.45),transparent 65%)}
.ft::after{background:radial-gradient(circle,rgba(227,35,43,.25),transparent 65%)}
.ft a{color:#DCE4FA}
.ft-tiles{padding:60px 0 40px}
.ft-tile{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12)}
.ft-tile:hover{background:rgba(255,255,255,.11)}
.ft-tile small{color:#9FB0DE}
.ft-chips span{border-color:rgba(255,255,255,.2);color:#E3E9FA}
.ft-social a{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.06)}
.ft-office{border-bottom-color:rgba(255,255,255,.14)}
.ft-word{-webkit-text-stroke-color:rgba(255,255,255,.07)}
.ft-bottom{border-top-color:rgba(255,255,255,.14);background:transparent}
.ft-bottom .gst{background:rgba(255,255,255,.1);color:#fff}
@media (max-width:767.98px){.ft-cta{padding:36px 24px}}

/* Contact cards — premium */
.c-card{padding:38px 30px 34px;border:1px solid var(--line);background:#fff;overflow:hidden;position:relative;transition:transform .5s var(--ease),box-shadow .5s,border-color .5s}
.c-card::after{display:none}
.c-card::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--red),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.c-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:transparent}
.c-card:hover::before{transform:none}
.c-card .ic{width:66px;height:66px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-2))!important;color:#fff;font-size:1.5rem;margin-bottom:24px;position:relative;box-shadow:0 14px 30px -12px rgba(31,79,180,.7)}
.c-card .ic::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px dashed rgba(31,79,180,.35);animation:spinSlow 16s linear infinite}
.col-lg-3:nth-child(2) .c-card .ic{background:linear-gradient(135deg,var(--red),#FF5A5F)!important;box-shadow:0 14px 30px -12px rgba(227,35,43,.7)}
.col-lg-3:nth-child(2) .c-card .ic::after{border-color:rgba(227,35,43,.35)}
.c-card h5{font-size:1.25rem;margin-bottom:14px}
.c-card a{color:var(--ink);font-weight:600;font-size:.95rem;word-break:break-word;margin-bottom:6px}
.c-card a:hover{color:var(--red)}
.c-card p{font-size:.94rem;line-height:1.65}

/* Products search */
.pf-row{display:flex;gap:16px;align-items:center}
.pf-row .pf-tabs{flex:1;min-width:0}
.pf-search{position:relative;flex:none;width:280px}
.pf-search input{width:100%;border:1px solid var(--line);border-radius:40px;padding:11px 18px 11px 44px;font-size:.93rem;outline:0;transition:.3s;background:#fff}
.pf-search input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(31,79,180,.1)}
.pf-search i{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:var(--muted)}
@media (max-width:991.98px){.pf-row{flex-direction:column-reverse;align-items:stretch}.pf-search{width:100%}}

/* ---------- Preloader v2 (professional) ---------- */
#preloader{position:fixed;inset:0;z-index:9999;background:#fff;display:grid;place-items:center;transition:transform .9s cubic-bezier(.77,0,.18,1),visibility 0s .9s;opacity:1;visibility:visible}

#preloader.hide{transform:translateY(-100%);visibility:hidden;opacity:1}
#preloader.hide .pl-wrap{opacity:0;transform:translateY(-30px)}
.pl-wrap{text-align:center;transition:opacity .4s,transform .5s var(--ease)}
.pl-ring{position:relative;width:132px;height:132px;margin:0 auto 22px}
.pl-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}
.pl-ring circle{fill:none;stroke-width:3}
.pl-ring .bg{stroke:#E8EDF7}
.pl-ring .fg{stroke:var(--red);stroke-linecap:round;stroke-dasharray:339.3;stroke-dashoffset:339.3;transition:stroke-dashoffset .25s linear}
.pl-ring img{position:absolute;left:50%;top:50%;width:76px;transform:translate(-50%,-50%);animation:plBreath 1.8s ease-in-out infinite}
@keyframes plBreath{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.05)}}
.pl-name{font-family:var(--ff-head);font-weight:700;font-size:1.25rem;color:var(--ink);letter-spacing:.01em}
.pl-tag{font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.pl-pct{margin-top:18px;font-family:var(--ff-head);font-weight:700;font-size:.9rem;color:var(--blue);letter-spacing:.1em}

.pt-curtain{display:none!important}

/* Page hero: show more of the photo */
.ph3 .ph-bg img{opacity:.9}
.ph3::before{background:linear-gradient(100deg,rgba(5,11,32,.92) 0%,rgba(5,11,32,.72) 40%,rgba(5,11,32,.35) 70%,rgba(5,11,32,.2) 100%)}
.ph3 h1,.ph3 p{text-shadow:0 2px 20px rgba(0,0,0,.35)}

/* ==========================================================
   v5 — showreel video, work gallery, bento, calculator, guide
   ========================================================== */
.vid-frame{position:relative;overflow:hidden;background:#050B20;box-shadow:var(--shadow)}
.vid-frame video{display:block;width:100%;aspect-ratio:4/4.3;object-fit:cover}
.about-collage .im1 .vid-frame video{aspect-ratio:4/4.3}
.vid-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,11,32,.55));pointer-events:none}
.vid-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:84px;height:84px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--red);display:grid;place-items:center;font-size:2.4rem;padding-left:6px;box-shadow:0 20px 40px -10px rgba(0,0,0,.5);transition:.4s var(--ease)}
.vid-play::before,.vid-play::after{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px solid rgba(255,255,255,.6);animation:ring 2.4s infinite}
.vid-play::after{animation-delay:1.2s}
.vid-play:hover{background:var(--red);color:#fff;transform:translate(-50%,-50%) scale(1.08)}
.vid-tag{position:absolute;left:18px;bottom:16px;z-index:3;color:#fff;font-family:var(--ff-head);font-weight:600;font-size:.85rem;letter-spacing:.06em;display:inline-flex;gap:8px;align-items:center}
.vid-tag i{color:var(--red-2);animation:blink 1.4s steps(1) infinite}
@media (max-width:575.98px){.vid-play{width:64px;height:64px;font-size:1.8rem}}

/* lightbox v2 */
.lb .stage{display:grid;place-items:center;max-width:92vw;max-height:86vh}
.lb .stage img,.lb .stage video{max-height:84vh;max-width:92vw;box-shadow:var(--shadow-lg);background:#000}
.lb .nv{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font-size:1.3rem;display:none;place-items:center;z-index:3;transition:.3s}
.lb .nv:hover{background:var(--red);border-color:var(--red)}
.lb.multi .nv{display:grid}
.lb .pv{left:22px}.lb .nx{right:22px}
@media (max-width:767.98px){.lb .nv{width:42px;height:42px;top:auto;bottom:60px;transform:none}.lb{padding:16px}}

/* work gallery */
.wg{margin:10px 0 60px}
.wg-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.wg-tabs button{border:1px solid var(--line);background:#fff;padding:9px 16px;border-radius:40px;font-family:var(--ff-head);font-weight:600;font-size:.88rem;color:var(--ink);transition:.3s}
.wg-tabs button .c{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:11px;background:var(--soft);font-size:.72rem;margin-left:6px;color:var(--muted)}
.wg-tabs button.active,.wg-tabs button:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.wg-tabs button.active .c{background:var(--red);color:#fff}
.wg-grid{columns:4 240px;column-gap:14px}
.wg-item{position:relative;display:block;margin:0 0 14px;break-inside:avoid;overflow:hidden;background:var(--soft);animation:popIn .6s var(--ease)}
.wg-item img{width:100%;height:auto;display:block;transition:transform 1s var(--ease),filter .5s}
.wg-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(5,11,32,.85));opacity:0;transition:.4s}
.wg-cap{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;color:#fff;font-family:var(--ff-head);font-weight:600;font-size:.88rem;display:flex;gap:8px;align-items:center;opacity:0;transform:translateY(10px);transition:.4s var(--ease)}
.wg-cap i{width:30px;height:30px;display:grid;place-items:center;background:var(--red);flex:none}
.wg-item:hover img{transform:scale(1.07)}
.wg-item:hover::after,.wg-item:hover .wg-cap{opacity:1;transform:none}
@media (hover:none){.wg-item::after,.wg-cap{opacity:1;transform:none}}
.pl-sep{display:flex;align-items:center;gap:16px;margin:10px 0 28px;font-family:var(--ff-head);font-weight:700;color:var(--ink)}
.pl-sep::before,.pl-sep::after{content:"";flex:1;height:1px;background:var(--line)}
.pl-sep span{display:inline-flex;gap:8px;align-items:center}
.pl-sep i{color:var(--red)}

/* bento */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px}
.bento .bt{position:relative;overflow:hidden;display:block}
.bento .bt img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.bento .bt::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,11,32,.85))}
.bento .bt span{position:absolute;left:18px;bottom:14px;z-index:2;color:#fff;font-family:var(--ff-head);font-weight:600}
.bento .bt:hover img{transform:scale(1.08)}
.bento .bt0{grid-column:span 2;grid-row:span 2}
.bento .bt1{grid-column:span 2}
.bento .bt4{grid-column:span 2}
@media (max-width:991.98px){.bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.bento .bt0{grid-column:span 2}.bento .bt4{grid-column:span 2}}
@media (max-width:575.98px){.bento{grid-auto-rows:150px;gap:10px}}

/* calculator */
.calc{background:#fff;border:1px solid var(--line);padding:34px;box-shadow:var(--shadow)}
.calc label{display:block;font-family:var(--ff-head);font-weight:600;font-size:.85rem;color:var(--ink);margin-bottom:6px}
.calc input[type=number],.calc select{width:100%;border:1px solid var(--line);padding:12px 14px;font-size:1rem;outline:0;background:var(--soft);transition:.3s;border-radius:0}
.calc input:focus,.calc select:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(31,79,180,.08)}
.calc .chk{display:flex;align-items:center;gap:10px;cursor:pointer;font-family:var(--ff-body);font-weight:500;color:var(--ink);padding:12px 14px;border:1px solid var(--line);background:var(--soft)}
.calc .chk input{position:absolute;opacity:0}
.calc .chk span{width:20px;height:20px;border:2px solid var(--blue);flex:none;position:relative;transition:.2s}
.calc .chk input:checked+span{background:var(--blue)}
.calc .chk input:checked+span::after{content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.calc-out{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;margin-top:24px;padding:24px 26px;background:linear-gradient(110deg,var(--navy),#173E93);color:#fff}
.calc-out small{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#9FB0DE}
.calc-out b{display:block;font-family:var(--ff-head);font-weight:800;font-size:2.6rem;line-height:1.05;color:#fff}
.calc-out #tonBtu{font-size:.85rem;color:var(--red-2);font-weight:700}
.calc-note span{display:block;font-size:.92rem;color:#D5DCF0}
.calc-note #tonSug{color:#fff;font-weight:600;margin-top:4px}
@media (max-width:575.98px){.calc{padding:22px}.calc-out{grid-template-columns:1fr;gap:10px}}

/* guide */
.sz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sz{background:#fff;border:1px solid var(--line);padding:30px 24px;text-align:center;position:relative;transition:.4s var(--ease)}
.sz::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--red),var(--blue))}
.sz span{display:block;font-family:var(--ff-head);font-weight:600;color:var(--muted)}
.sz b{display:block;font-family:var(--ff-head);font-weight:800;font-size:2.2rem;color:var(--red);margin:8px 0}
.sz small{color:var(--ink);font-weight:600}
.sz:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
@media (max-width:991.98px){.sz-grid{grid-template-columns:repeat(2,1fr)}}
.star-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.star-card .st-h{background:linear-gradient(90deg,#0B8A4B,#1FAE60);color:#fff;font-family:var(--ff-head);font-weight:700;padding:18px 24px;display:flex;gap:10px;align-items:center}
.st-row{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px dashed var(--line)}
.st-row:last-child{border:0}
.st-row span{color:var(--muted)}
.st-row b{color:var(--ink);font-family:var(--ff-head)}
.st-row .stars{color:#F5A623;letter-spacing:4px;font-size:1.2rem}
.tp{background:#fff;border:1px solid var(--line);height:100%;transition:.45s var(--ease);overflow:hidden}
.tp .im{aspect-ratio:4/3;overflow:hidden}
.tp .im img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.tp .bd{padding:24px}
.tp .bd>i{font-size:1.4rem;color:var(--red)}
.tp h5{margin:10px 0 8px}
.tp p{font-size:.92rem;margin:0}
.tp:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.tp:hover .im img{transform:scale(1.08)}
.bento .bt5{grid-column:span 2}
@media (max-width:991.98px){.bento .bt4{grid-column:span 1}.bento .bt5{grid-column:span 2}}
/* project list thumbnails */
.pj{display:flex;align-items:center;gap:18px}
.pj-img{position:relative;flex:none;width:92px;height:70px;overflow:hidden;background:var(--soft);box-shadow:0 6px 16px -8px rgba(8,18,49,.4)}
.pj-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.pj-img::after{content:"\F52A";font-family:bootstrap-icons;position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:1.1rem;background:rgba(8,18,49,.55);opacity:0;transition:.35s}
.ptable tr:hover .pj-img img{transform:scale(1.12)}
.pj-img:hover::after{opacity:1}
.pj-real{position:absolute;left:4px;top:4px;z-index:2;width:22px;height:22px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:.68rem;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.pj-real.static{position:relative;left:0;top:0;display:inline-grid;margin-right:8px;vertical-align:middle}
.pl-note{font-size:.88rem;color:var(--muted);margin:-10px 0 22px}
@media (max-width:767.98px){.pj{gap:12px}.pj-img{width:64px;height:54px}}
@media (max-width:767.98px){
  .ptable tbody tr{grid-template-columns:1fr auto}
  .ptable td:first-child{display:none}
  .ptable td:nth-child(2){grid-column:1;grid-row:1;padding:14px 0 6px 14px;border-left:3px solid var(--blue)!important}
  .ptable td:last-child{grid-column:2;grid-row:1;padding:14px 14px 0 8px;font-size:1rem}
  .ptable td.t-type{grid-column:1/-1;grid-row:2;padding:4px 14px 14px 94px;border-left:3px solid var(--blue)!important}
  .pj-img{width:68px;height:56px}
  .ptable td .nm{font-size:.95rem;line-height:1.3}
}

/* ==========================================================
   v6 — dynamic (PHP) build: video-feel hero & banners,
   gallery page, form messages
   ========================================================== */
/* nav with 7 items */
@media (min-width:1200px){.nav-main .nav-link{padding:30px 14px!important}}
@media (min-width:992px) and (max-width:1399.98px){.nav-main .nav-link{font-size:.93rem;padding:30px 10px!important}.nav-call{margin-left:10px;padding-left:14px}}

/* Hero: video slides + cinematic motion */
.h3-bg img,.h3-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.h3-bg video{z-index:1}
.h3-slide.is-video .h3-bg{animation:none!important;inset:0}
.h3-shade{background:linear-gradient(90deg,rgba(4,9,23,.86) 0%,rgba(4,9,23,.6) 38%,rgba(4,9,23,.12) 72%,rgba(4,9,23,.25) 100%),linear-gradient(0deg,rgba(4,9,23,.85) 0%,transparent 32%)}
.h3-light,.ph-light{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
.h3-light::before,.ph-light::before{content:"";position:absolute;top:-40%;left:-60%;width:45%;height:180%;background:linear-gradient(90deg,transparent,rgba(255,240,220,.10),transparent);transform:rotate(18deg);animation:sweep 9s ease-in-out infinite}
.h3-light::after,.ph-light::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(255,170,90,.14),transparent 55%);animation:flicker 6s ease-in-out infinite alternate}
@keyframes sweep{0%{left:-60%}55%,100%{left:130%}}
@keyframes flicker{0%{opacity:.5}50%{opacity:1}100%{opacity:.7}}
@media (max-width:767.98px){
  .h3-shade{background:linear-gradient(180deg,rgba(4,9,23,.35) 0%,rgba(4,9,23,.55) 40%,rgba(4,9,23,.92) 100%)}
  .h3-content{justify-content:flex-end;padding-bottom:84px}
}

/* Page banner: image or video + motion */
.ph3 .ph-bg{position:absolute;inset:-5%;z-index:-2}
.ph3 .ph-bg img,.ph3 .ph-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.95}
.ph3 .ph-bg video{z-index:1}
.ph3.has-video .ph-bg{animation:none;inset:0}
.ph3::before{background:linear-gradient(100deg,rgba(5,11,32,.9) 0%,rgba(5,11,32,.68) 42%,rgba(5,11,32,.25) 75%,rgba(5,11,32,.15) 100%)}
.ph3 .ph-light{z-index:-1}
.ph3::after{z-index:1}
.ph-badge .ring{width:100%;height:100%;animation:spinSlow 18s linear infinite}
.ph3 .bc .cur{max-width:56vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Grain overlay (video feel) on page banners too */
.ph3 .ph-word::after{content:none}
.ph3 .container::before{content:"";position:absolute;inset:-200px -50vw;z-index:-1;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}

/* Gallery page */
.gal-video .vid-frame video{aspect-ratio:16/9}
@media (max-width:767.98px){
  .wg-grid{columns:2;column-gap:10px}
  .wg-item{margin-bottom:10px}
  .wg-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
  .wg-tabs::-webkit-scrollbar{display:none}
  .wg-tabs button{flex:none}
  .wg-cap{font-size:.72rem;left:8px;bottom:8px}
  .wg-cap i{width:24px;height:24px}
}

/* Contact form messages */
.form-msg{margin-top:18px;padding:14px 16px;font-size:.95rem;line-height:1.5;border-left:3px solid}
.form-msg.ok{background:rgba(34,195,94,.12);border-color:#22C35E;color:#CFF5DD}
.form-msg.err{background:rgba(255,90,95,.12);border-color:var(--red-2);color:#FFD6D8}
.form-msg i{margin-right:6px}
.form-msg .wa-also{display:inline-flex;gap:6px;align-items:center;margin-top:10px;padding:8px 14px;background:#22C35E;color:#fff;font-weight:700;font-size:.85rem}
.btn-x:disabled{opacity:.7;cursor:wait}
@media (min-width:992px){.process{grid-template-columns:repeat(var(--n,5),1fr)}}

/* ===== v7 — crisp, clear hero (lighter shade, no grain, gentle motion) ===== */
.h3-bg{inset:-2%}
.h3-bg img,.h3-bg video{image-rendering:auto;filter:contrast(1.06) saturate(1.1) brightness(1.04);backface-visibility:hidden;transform:translateZ(0)}
@keyframes kb1{from{transform:scale(1)}to{transform:scale(1.07) translate(-1.2%,-.8%)}}
@keyframes kb2{from{transform:scale(1.05) translate(1.2%,0)}to{transform:scale(1.05) translate(-1.2%,0)}}
@keyframes kb3{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes kb4{from{transform:scale(1.05) translate(0,1%)}to{transform:scale(1.05) translate(-.8%,-1%)}}
@keyframes kb5{from{transform:scale(1.01)}to{transform:scale(1.08) translate(1%,-.5%)}}
.h3-shade{background:linear-gradient(90deg,rgba(4,9,23,.86) 0%,rgba(4,9,23,.66) 34%,rgba(4,9,23,.18) 58%,rgba(4,9,23,0) 78%),linear-gradient(0deg,rgba(4,9,23,.75) 0%,rgba(4,9,23,0) 28%)}
.hero3::after{display:none}
.h3-light{opacity:.35}
.h3-title,.h3-sub{text-shadow:0 2px 18px rgba(0,0,0,.35)}
@media (max-width:767.98px){.h3-shade{background:linear-gradient(0deg,rgba(4,9,23,.9) 0%,rgba(4,9,23,.55) 45%,rgba(4,9,23,.15) 75%,rgba(4,9,23,.25) 100%)}}
@media (prefers-reduced-motion:reduce){.h3-bg{animation:none!important}}

/* ==========================================================
   v8 — real video hero, new service cards, site reels,
   projects grid / list + project pages
   ========================================================== */
/* Hero: one continuous real-footage video behind all headline slides */
.hero3.has-bgvideo{background:#040917}
.h3-vbg{position:absolute;inset:0;z-index:0;overflow:hidden}
.h3-vbg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02)}
.h3-vbg .h3-shade{z-index:1}
.hero3.has-bgvideo .h3-swiper{z-index:2}
.hero3.has-bgvideo .h3-slide{background:transparent}
.hero3.has-bgvideo::after{opacity:.035}
.h3-live{position:absolute;z-index:6;left:max(24px,calc((100vw - 1296px)/2 + 12px));top:22px;display:inline-flex;align-items:center;gap:9px;padding:7px 14px;border-radius:30px;background:rgba(4,9,23,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);color:#E6EBF8;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.h3-live i{width:8px;height:8px;border-radius:50%;background:#FF3B41;box-shadow:0 0 0 0 rgba(255,59,65,.7);animation:livePulse 1.8s infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(255,59,65,.7)}70%{box-shadow:0 0 0 10px rgba(255,59,65,0)}100%{box-shadow:0 0 0 0 rgba(255,59,65,0)}}
.h3-mute{position:absolute;z-index:6;right:max(24px,calc((100vw - 1296px)/2 + 12px));top:18px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(4,9,23,.4);color:#fff;display:grid;place-items:center;font-size:1.1rem;cursor:pointer;transition:.3s}
.h3-mute:hover{background:var(--red);border-color:var(--red)}
@media (max-width:767.98px){.h3-live{top:14px;font-size:.66rem}.h3-mute{top:10px;width:34px;height:34px}}

/* Centred eyebrow with lines both sides */
.eyebrow-c{display:inline-flex;align-items:center;gap:16px;font-family:var(--ff-head);font-weight:700;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.eyebrow-c::before,.eyebrow-c::after{content:"";width:clamp(36px,7vw,86px);height:2px;background:var(--red)}

/* Services section — white cards with photo, icon chip and number */
.svc-sec{background:linear-gradient(180deg,#F6F8FD 0%,#F3F6FC 100%);overflow:hidden}
.svc-sec-bg{position:absolute;left:0;right:0;top:0;height:520px;pointer-events:none}
.svc-sec-bg img{width:100%;height:100%;object-fit:cover;opacity:.22;filter:saturate(.7)}
.svc-sec-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(246,248,253,.35) 0%,rgba(246,248,253,.85) 55%,#F5F7FC 100%)}
.svc-sec .title{font-size:clamp(2.2rem,4.4vw,3.6rem)}
.svc2{position:relative;height:100%;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px -12px rgba(8,18,49,.16),0 0 0 1px rgba(8,18,49,.04);transition:transform .5s var(--ease),box-shadow .5s var(--ease);display:flex;flex-direction:column}
.svc2:hover{transform:translateY(-8px);box-shadow:0 30px 60px -24px rgba(8,18,49,.35),0 0 0 1px rgba(8,18,49,.04)}
.svc2-img{position:relative;aspect-ratio:16/7.2;overflow:hidden;background:var(--soft)}
.svc2-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.svc2:hover .svc2-img img{transform:scale(1.07)}
.svc2-body{position:relative;padding:44px 26px 24px;flex:1;display:flex;flex-direction:column}
.svc2-ic{position:absolute;left:22px;top:-30px;width:60px;height:60px;border-radius:12px;background:#fff;display:grid;place-items:center;font-size:1.65rem;color:var(--blue);box-shadow:0 10px 24px -8px rgba(8,18,49,.3);transition:.45s var(--ease)}
.svc2-ic::after{content:"";position:absolute;right:-5px;bottom:-5px;width:16px;height:16px;background:var(--red);transition:.45s var(--ease)}
.svc2:hover .svc2-ic{background:var(--blue);color:#fff}
.svc2-num{position:absolute;right:22px;top:12px;font-family:var(--ff-head);font-weight:800;font-size:2.6rem;line-height:1;color:transparent;-webkit-text-stroke:1.2px #D3DAE9;transition:.45s}
.svc2:hover .svc2-num{-webkit-text-stroke-color:var(--red)}
.svc2 h4{font-size:1.18rem;margin:6px 0 10px;color:var(--navy)}
.svc2 p{font-size:.93rem;line-height:1.6;margin-bottom:18px;color:var(--muted)}
.svc2-more{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-family:var(--ff-head);font-weight:700;font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.svc2-more i{transition:transform .35s var(--ease)}
.svc2:hover .svc2-more{color:var(--red)}
.svc2:hover .svc2-more i{transform:translateX(5px)}

/* Site reels (real vertical clips) */
.reels-sec{background:radial-gradient(ellipse at 15% 20%,rgba(61,111,224,.22),transparent 55%),var(--navy);color:#AEB8D6;overflow:hidden}
.reels-sec .title em{color:var(--red-2)}
.reel-facts{display:flex;flex-wrap:wrap;gap:8px}
.reel-facts span{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid rgba(255,255,255,.14);border-radius:30px;font-size:.8rem;color:#DCE3F7}
.reel-facts i{color:var(--red-2)}
.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.reel{position:relative;margin:0;border-radius:14px;overflow:hidden;aspect-ratio:4/5;background:#0D1B45;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.reel:nth-child(2){transform:translateY(34px)}
.reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,9,23,.9) 0%,transparent 45%);pointer-events:none}
.reel figcaption{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;color:#fff}
.reel figcaption b{display:block;font-family:var(--ff-head);font-size:1rem;line-height:1.25}
.reel figcaption small{display:block;color:#B9C4E4;font-size:.8rem;line-height:1.4;margin-top:4px}
.reel-live{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:20px;background:rgba(4,9,23,.55);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.reel-live i{width:7px;height:7px;border-radius:50%;background:#FF3B41;animation:livePulse 1.8s infinite}
@media (max-width:767.98px){.reels{grid-template-columns:repeat(3,72%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;margin-right:-16px}.reel{scroll-snap-align:start}.reel:nth-child(2){transform:none}}

/* Footer CTA with real team photo */
.ft-cta.has-img .ft-cta-img{position:absolute;inset:0;z-index:0}
.ft-cta.has-img .ft-cta-img img{width:100%;height:100%;object-fit:cover;object-position:70% 40%}
.ft-cta.has-img::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(227,35,43,.96) 0%,rgba(196,21,29,.9) 42%,rgba(8,18,49,.35) 100%)}
.ft-cta.has-img{background:var(--navy)}

/* ---------- Projects: toolbar ---------- */
.proj-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-bottom:16px}
.pt-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.vt{display:inline-flex;border:1px solid var(--line);background:#fff}
.vt button{width:48px;height:48px;border:0;background:#fff;color:var(--muted);font-size:1.15rem;display:grid;place-items:center;transition:.25s}
.vt button+button{border-left:1px solid var(--line)}
.vt button.active{background:var(--navy);color:#fff}
.proj-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.88rem;color:var(--muted);margin-bottom:18px}
.pm-key{display:inline-flex;align-items:center;gap:8px}
.pi-real.static{position:static;padding:4px 7px}
/* ---------- Projects: items (shared by grid & list) ---------- */
.proj-wrap{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.pl-head{display:none}
.pi{position:relative;display:flex;flex-direction:column;background:#fff;color:var(--ink);overflow:hidden;border-radius:8px;box-shadow:0 1px 0 var(--line),0 8px 24px -16px rgba(8,18,49,.25);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.pi:hover{color:var(--ink);transform:translateY(-6px);box-shadow:0 26px 50px -24px rgba(8,18,49,.4)}
.pi.hide{display:none!important}
.pi-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--navy)}
.pi-media>img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.pi:hover .pi-media>img{transform:scale(1.06)}
.pi-real,.pi-sim{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:4px}
.pi-real{background:var(--red);color:#fff}
.pi-sim{background:rgba(255,255,255,.9);color:var(--muted)}
.pi-body{padding:18px 20px 6px;flex:1}
.pi-no{font-family:var(--ff-head);font-weight:700;font-size:.75rem;letter-spacing:.14em;color:#A5AFC8}
.pi h5{font-size:1.06rem;margin:4px 0 6px;line-height:1.3;color:var(--navy)}
.pi-loc{font-size:.86rem;color:var(--muted);display:flex;gap:6px;align-items:flex-start}
.pi-sys{padding:10px 20px 18px}
.pi-cap{position:absolute;right:16px;bottom:16px;font-family:var(--ff-head);font-weight:800;color:var(--red);font-size:1.4rem;line-height:1}
.pi-cap small{font-size:.8rem;margin-left:3px;font-weight:700}
.pi-go{display:none}
/* designed tile when no real photo yet (honest — no stock pictures) */
.pt-tile{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(61,111,224,.55),transparent 55%),linear-gradient(140deg,#0D1B45,#081231);overflow:hidden}
.pt-tile.pt-dx{background:radial-gradient(circle at 85% 15%,rgba(227,35,43,.5),transparent 55%),linear-gradient(140deg,#0D1B45,#081231)}
.pt-tile.pt-vent{background:radial-gradient(circle at 85% 15%,rgba(24,160,110,.5),transparent 55%),linear-gradient(140deg,#0D1B45,#081231)}
.pt-tile::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px}
.pt-ic{position:absolute;right:18px;top:16px;font-size:2.6rem;color:rgba(255,255,255,.18)}
.pt-cap{position:relative;font-family:var(--ff-head);font-weight:800;line-height:1}
.pt-cap b{font-size:3rem;letter-spacing:-.02em}
.pt-cap b.sm{font-size:1.6rem}
.pt-cap small{font-size:1.1rem;color:var(--red-2);margin-left:6px}
.pt-note{position:relative;margin-top:10px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#9DA9CE;display:flex;gap:6px;align-items:center}
.proj-wrap .pt-tile ~ .pi-real{display:none}
/* list view */
.proj-wrap[data-view="list"]{grid-template-columns:1fr;gap:10px}
.proj-wrap[data-view="list"] .pl-head{display:grid;grid-template-columns:110px 1fr 160px 120px 44px;gap:18px;padding:0 18px 4px;font-family:var(--ff-head);font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.proj-wrap[data-view="list"] .pi{display:grid;grid-template-columns:110px 1fr 160px 120px 44px;gap:18px;align-items:center;padding:10px 18px 10px 10px;border-radius:6px;border-left:3px solid var(--blue)}
.proj-wrap[data-view="list"] .pi:hover{transform:translateX(4px)}
.proj-wrap[data-view="list"] .pi-media{aspect-ratio:4/3;border-radius:4px}
.proj-wrap[data-view="list"] .pt-tile{padding:8px}
.proj-wrap[data-view="list"] .pt-cap b{font-size:1.2rem}.proj-wrap[data-view="list"] .pt-cap b.sm{font-size:.8rem}.proj-wrap[data-view="list"] .pt-cap small{font-size:.7rem}
.proj-wrap[data-view="list"] .pt-note,.proj-wrap[data-view="list"] .pt-ic{display:none}
.proj-wrap[data-view="list"] .pi-real,.proj-wrap[data-view="list"] .pi-sim{left:4px;top:4px;padding:3px 5px;font-size:0;gap:0}
.proj-wrap[data-view="list"] .pi-real i{font-size:.72rem}
.proj-wrap[data-view="list"] .pi-sim{display:none}
.proj-wrap[data-view="list"] .pi-body{padding:0}
.proj-wrap[data-view="list"] .pi-no{display:none}
.proj-wrap[data-view="list"] .pi h5{margin:0 0 3px}
.proj-wrap[data-view="list"] .pi-sys{padding:0}
.proj-wrap[data-view="list"] .pi-cap{position:static;text-align:right}
.proj-wrap[data-view="list"] .pi-go{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--soft);color:var(--navy);transition:.3s}
.proj-wrap[data-view="list"] .pi:hover .pi-go{background:var(--red);color:#fff}
@media (max-width:767.98px){
  .proj-wrap{grid-template-columns:repeat(2,1fr);gap:12px}
  .pi-body{padding:12px 12px 4px}.pi h5{font-size:.92rem}.pi-sys{padding:6px 12px 12px}.pi-cap{right:10px;bottom:12px;font-size:1.05rem}.pt-cap b{font-size:2rem}.pt-note{display:none}
  .proj-wrap[data-view="list"] .pl-head{display:none}
  .proj-wrap[data-view="list"] .pi{grid-template-columns:76px 1fr auto;gap:12px;padding:8px 12px 8px 8px}
  .proj-wrap[data-view="list"] .pi-sys{grid-column:2;grid-row:2;margin-top:-6px}
  .proj-wrap[data-view="list"] .pi-media{grid-row:span 2}
  .proj-wrap[data-view="list"] .pi-cap{grid-column:3;grid-row:1}
  .proj-wrap[data-view="list"] .pi-go{display:none}
  .search-box{min-width:0;flex:1}.pt-right{width:100%}
  .proj-toolbar .filters{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px}.proj-toolbar .filters button{white-space:nowrap}
}
/* home featured cards are links now */
a.proj-card{display:block;color:inherit}
a.proj-card:hover{color:inherit}

/* ---------- Project detail page ---------- */
.pd-gallery{display:grid;gap:10px;grid-template-columns:repeat(12,1fr);grid-auto-rows:160px;border-radius:10px;overflow:hidden}
.pd-ph{position:relative;display:block;overflow:hidden;background:var(--soft);grid-column:span 3}
.pd-ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.pd-ph:hover img{transform:scale(1.05)}
.pd-ph.big{grid-column:span 12;grid-row:span 3}
.pd-gallery.n2 .pd-ph:not(.big){grid-column:span 12;grid-row:span 2}
.pd-gallery.n3 .pd-ph:not(.big){grid-column:span 6}
.pd-gallery.n4 .pd-ph:not(.big){grid-column:span 4}
.pd-ph.extra{display:none}
.pd-more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(8,18,49,.65);color:#fff;font-family:var(--ff-head);font-weight:700;font-size:1.1rem}
.pd-real{margin:12px 0 0;font-size:.86rem;color:var(--muted);display:flex;gap:8px;align-items:center}
.pd-real i{color:var(--red)}
.pd-nophoto{position:relative;aspect-ratio:16/8;border-radius:10px;overflow:hidden}
.pd-nophoto .pt-cap b{font-size:4.5rem}
.pd-text{margin-top:46px}
.pd-video{margin-top:30px;border-radius:10px;overflow:hidden;background:#000}
.pd-video video{width:100%;display:block;max-height:560px}
.pd-nav{display:flex;justify-content:space-between;gap:16px;margin-top:46px;padding-top:26px;border-top:1px solid var(--line)}
.pd-nav a{display:flex;align-items:center;gap:14px;color:var(--navy);font-family:var(--ff-head);font-weight:700;max-width:48%}
.pd-nav a small{display:block;font-family:var(--ff-body);font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pd-nav a i{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--soft);transition:.3s}
.pd-nav a:hover i{background:var(--red);color:#fff}
.pd-nav .nx{text-align:right;margin-left:auto}
.pd-side{position:sticky;top:110px}
.pd-facts{background:#fff;box-shadow:var(--shadow);border-radius:10px;overflow:hidden;margin-bottom:26px}
.pf-cap{padding:26px 28px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;font-family:var(--ff-head);font-weight:800;line-height:1}
.pf-cap b{font-size:3.2rem}
.pf-cap small{font-size:1.2rem;color:var(--red-2);margin-left:6px}
.pf-cap span{display:block;margin-top:10px;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:#9DA9CE;font-weight:600}
.pd-facts dl{margin:0;padding:8px 28px 20px}
.pd-facts dt{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:14px}
.pd-facts dd{margin:3px 0 0;color:var(--ink);font-weight:600;padding-bottom:12px;border-bottom:1px solid var(--line)}
.pd-facts dd:last-child{border-bottom:0;padding-bottom:0}
@media (max-width:767.98px){.pd-gallery{grid-auto-rows:90px}.pd-nav a{max-width:100%}.pd-nav{flex-direction:column}}
.proj-wrap[data-view="grid"] .pi:has(.pt-tile) .pi-cap{display:none}
@media (max-width:767.98px){.ft-cta.has-img::before{background:linear-gradient(180deg,rgba(227,35,43,.94) 0%,rgba(196,21,29,.9) 70%,rgba(8,18,49,.75) 100%)}}
.ft-cta.has-img>.row{z-index:2}.ft-cta.has-img::after{z-index:1}
div.pi:hover{transform:none;box-shadow:0 1px 0 var(--line),0 8px 24px -16px rgba(8,18,49,.25)}a.pi{cursor:zoom-in}

/* ==========================================================
   v9 — feedback round 2
   ========================================================== */
/* no flicker: animated film-grain removed, smoother GPU layers */
.hero3::after{animation:none!important;display:none}
.h3-bg{backface-visibility:hidden;transform:translateZ(0)}
.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
[data-parallax]{will-change:transform}

/* service cards — taller photos so nothing important is cut */
.svc2-img{aspect-ratio:16/10.5}
.svc2-img img{object-position:center 40%}

/* Landmark projects — photo cards with full details */
.lp-card{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:10px;overflow:hidden;color:var(--ink);box-shadow:0 1px 0 var(--line),0 14px 34px -20px rgba(8,18,49,.35);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.lp-card:hover{color:var(--ink);transform:translateY(-6px);box-shadow:0 30px 60px -28px rgba(8,18,49,.5)}
.lp-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--navy)}
.lp-img>img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.lp-card:hover .lp-img>img{transform:scale(1.06)}
.lp-img::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(0deg,rgba(8,18,49,.55),transparent);pointer-events:none}
.lp-idx{position:absolute;left:14px;bottom:10px;z-index:2;font-family:var(--ff-head);font-weight:800;font-size:1.5rem;color:#fff;opacity:.9}
.lp-tag{position:absolute;right:12px;top:12px;z-index:2;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;background:#fff;color:var(--blue);border-radius:4px}
.lp-real{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;gap:6px;align-items:center;padding:5px 10px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--red);color:#fff;border-radius:4px}
.lp-img .pt-tile .pt-note{display:none}
.lp-body{padding:20px 22px 22px;flex:1;display:flex;flex-direction:column}
.lp-cap{font-family:var(--ff-head);font-weight:800;color:var(--red);line-height:1;margin-bottom:8px}
.lp-cap b{font-size:2.3rem;letter-spacing:-.02em}
.lp-cap small{font-size:1rem;margin-left:5px}
.lp-card h5{font-size:1.1rem;margin:0 0 10px;color:var(--navy);line-height:1.3}
.lp-meta{list-style:none;margin:auto 0 0;padding:12px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.85rem;color:var(--muted)}
.lp-meta li{display:flex;gap:6px;align-items:center}
.lp-meta i{color:var(--blue)}

/* Our Work — photo slider */
.work-sec{overflow:hidden}
.work-swiper{padding:6px 0 10px}
.wk{position:relative;display:block;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--navy)}
.wk img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.wk::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,18,49,.8) 0%,transparent 50%)}
.wk:hover img{transform:scale(1.07)}
.wk-cap{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff;font-family:var(--ff-head);font-weight:700;font-size:1.05rem;line-height:1.25}
.wk-cap small{display:block;font-family:var(--ff-body);font-weight:600;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#FF8A8E;margin-bottom:4px}
.wk-zoom{position:absolute;right:14px;top:14px;z-index:2;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);color:#fff;opacity:0;transition:.35s}
.wk:hover .wk-zoom{opacity:1}
.work-swiper .swiper-slide{transition:opacity .5s}
.work-swiper .swiper-slide:not(.swiper-slide-visible){opacity:.85}

/* Showreel film */
.film{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/9;background:#050B1F;box-shadow:0 40px 90px -40px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.08)}
.film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-play{position:absolute;right:22px;bottom:22px;z-index:2;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:1.9rem;box-shadow:0 0 0 10px rgba(227,35,43,.25);transition:.3s}
.film-play:hover{color:#fff;transform:scale(1.08)}
.film-badge{position:absolute;left:18px;top:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:30px;background:rgba(4,9,23,.55);color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.film-points{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.film-points li{display:flex;gap:10px;align-items:center;color:#DCE3F7}
.film-points i{color:var(--red-2);font-size:1.1rem}
.reel-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.reel-mini{position:relative;display:block;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:#0D1B45}
.reel-mini img,.reel-mini video{width:100%;height:100%;object-fit:cover}
.reel-mini i{position:absolute;inset:0;margin:auto;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(227,35,43,.9);color:#fff}
.reel-mini span{position:absolute;left:8px;right:8px;bottom:6px;color:#fff;font-size:.75rem;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.7)}

/* clients — compact names strip */
.cs-wrap{display:grid;grid-template-columns:320px 1fr;gap:30px;align-items:center;padding:34px 36px;background:#fff;border:1px solid var(--line);border-radius:12px}
.cs-head h3{font-size:1.4rem;margin:0}
.cs-head h3 em{color:var(--red);font-style:italic}
.clients-strip .client-names{margin:0;justify-content:flex-start}
@media (max-width:991.98px){.cs-wrap{grid-template-columns:1fr;padding:24px}.reel-row{grid-template-columns:repeat(2,1fr)}}
.vid-frame>img{display:block;width:100%;aspect-ratio:4/4.3;object-fit:cover}

/* ==========================================================
   v10 — sharper images, compact responsive hero, stats band
   ========================================================== */
/* hero: gentle zoom only (no heavy crop / blur) */
.h3-bg{inset:0!important}
.h3-slide .h3-bg{animation:kbSoft 16s ease-in-out infinite alternate!important}
@keyframes kbSoft{from{transform:scale(1)}to{transform:scale(1.06)}}
.h3-bg img{image-rendering:auto}
/* responsive hero sizes */
@media (min-width:1400px){.hero3{max-height:860px}}
@media (max-width:1199.98px){.h3-title{font-size:clamp(2.4rem,5.4vw,4rem)}}
@media (max-width:991.98px){
  .hero3{height:600px;min-height:0}
  .h3-content{padding-bottom:96px}
  .h3-sub{font-size:1rem;max-width:520px}
}
@media (max-width:767.98px){
  .hero3{height:auto;min-height:0;max-height:none}
  .hero3 .h3-swiper{position:relative}
  .h3-slide{height:auto}
  .h3-content{height:auto;min-height:440px;padding-top:34px;padding-bottom:84px;justify-content:flex-end}
  .h3-kicker{font-size:.66rem;padding:5px 12px 5px 5px;margin-bottom:14px;letter-spacing:.1em}
  .h3-kicker b{padding:3px 9px}
  .h3-title{font-size:clamp(1.85rem,8.4vw,2.4rem);margin-bottom:12px}
  .h3-sub{font-size:.92rem;line-height:1.55;margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .h3-cta{gap:10px}
  .h3-cta .btn-x{padding:12px 16px;font-size:.74rem}
  .h3-call{display:none}
  .h3-bar{padding-bottom:16px}
  .h3-segs{gap:8px}
  .h3-seg{padding-top:9px}
  .h3-seg span:not(.tr){display:none}
  .h3-seg b{font-size:.72rem}
}
@media (max-width:380px){.h3-content{min-height:400px}.h3-cta .btn-x.ghost{display:none}}

/* stats band — clear, visible background photo */
.stats-band{padding:100px 0}
.stats-band img.bgimg{opacity:1;top:0;height:100%;transform:none!important;filter:saturate(1.05)}
.stats-band::before{z-index:1;background:linear-gradient(90deg,rgba(8,18,49,.82) 0%,rgba(8,18,49,.5) 50%,rgba(8,18,49,.7) 100%)}
.stats-band .container{z-index:2}
.stats-band .stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:26px 24px;border-radius:12px;height:100%}
.stats-band .stat .n{text-shadow:0 4px 18px rgba(0,0,0,.35)}
.stats-band .stat p{color:#D7DEF2}

/* our work slider — landscape cards, full-size photos (no blur, less crop) */
.wk{aspect-ratio:4/3}
/* landmark: final "view all" card */
.lp-all{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;height:100%;min-height:360px;border-radius:10px;background:linear-gradient(140deg,var(--navy),var(--navy-2));color:#fff;padding:30px}
.lp-all:hover{color:#fff}
.lp-all i{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--red);font-size:1.6rem;transition:.3s}
.lp-all:hover i{transform:translateX(6px)}
.lp-all b{font-family:var(--ff-head);font-size:1.4rem}
.lp-all small{color:#AEB8D6}
@media (max-width:991.98px){.h3-call{display:none}}

/* service cards — wide photo exactly like the approved design */
.svc2-img{aspect-ratio:378/163}
.svc2-img img{object-position:center center}
.svc2-ic{left:20px}

/* v11 — hero trust row, richer (non-whitish) photos */
.h3-trust{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px 22px}
.h3-trust li{display:flex;align-items:center;gap:8px;color:#DCE3F7;font-size:.9rem;font-weight:600}
.h3-trust i{color:var(--red-2)}
.h3-shade{background:linear-gradient(90deg,rgba(4,9,23,.9) 0%,rgba(4,9,23,.68) 38%,rgba(4,9,23,.18) 72%,rgba(4,9,23,.3) 100%),linear-gradient(0deg,rgba(4,9,23,.85) 0%,transparent 38%)}
@media (max-width:767.98px){.h3-trust{display:none}}
.wk img,.wg-item img,.lp-img>img,.svc2-img img{filter:contrast(1.1) saturate(1.15) brightness(.97)}
.wk::after{background:linear-gradient(0deg,rgba(8,18,49,.85) 0%,rgba(8,18,49,.25) 32%,transparent 55%)}
.ph-bg img{filter:contrast(1.06) saturate(1.1)}

/* ==========================================================
   v12 — sharp split hero & banners (no stretched photos), gallery grid
   ========================================================== */
/* ---- gallery: neat grid, no gaps ---- */
.wg-grid{columns:auto!important;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px;grid-auto-flow:dense}
.wg-item{margin:0!important;border-radius:10px;height:100%}
.wg-item img{width:100%;height:100%!important;object-fit:cover}
.wg-grid .wg-item:nth-child(10n+1){grid-column:span 2;grid-row:span 2}
.wg-grid .wg-item:nth-child(10n+6),.wg-grid .wg-item:nth-child(10n+9),.wg-grid .wg-item:nth-child(10n+10){grid-column:span 2}
@media (max-width:767.98px){.wg-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:10px}}


/* ==========================================================
   v13 — clean corporate finish: solid colours, no decorative
   gradients, full-width sharp hero, simple banners
   ========================================================== */
/* colourful gradients → solid */
.hero3::before{background:var(--red)!important;height:3px}
.h3-title em,.hs-title em,.hero h1 em{background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:var(--red-2)!important;-webkit-text-fill-color:currentColor;font-style:normal}
.h3-light,.ph-light{display:none!important}
.ft-cta{background:var(--navy)!important}
.ft-cta.has-img::before{background:rgba(8,18,49,.86)!important}
.ft-cta::after{display:none}
.ft-cta h2 em{text-decoration:none;color:var(--red-2)}
.ft-cta-wrap{background:linear-gradient(180deg,transparent 50%,var(--navy) 50%)!important}
.ft,.ft::before{background:var(--navy)!important}
.ft::after{display:none}
.ft-tile .ic,.ft-tile:nth-child(2) .ic,.c-card .ic,.col-lg-3:nth-child(2) .c-card .ic{background:var(--red)!important}
.why-item .ic{background:var(--soft)!important;color:var(--blue)!important}
.why-item:hover .ic{background:var(--red)!important;color:#fff!important}
.nav-main .nav-link::after{background:var(--red)!important}
#scrollProg{background:var(--red)!important}
.bc .cur{background:var(--red)!important}
.process::before{background:rgba(255,255,255,.14)!important}
.calc-out{background:var(--navy)!important}
.sd-call::before{background:rgba(8,18,49,.88)!important}
.svc-sec{background:var(--soft)!important}
.svc-sec-bg{display:none}
.eyebrow .slash i{background:var(--red)!important}.eyebrow .slash i+i{background:var(--blue)!important}

/* ---- hero: full-width photo, clean typography ---- */
.hero3{height:clamp(600px,calc(100vh - 128px),820px)}
.h3-bg{inset:0!important}
.h3-slide .h3-bg{animation:kbSoft 18s ease-in-out infinite alternate!important}
.h3-bg img{object-position:center center}
.h3-shade{background:linear-gradient(90deg,rgba(6,12,30,.88) 0%,rgba(6,12,30,.70) 38%,rgba(6,12,30,.25) 70%,rgba(6,12,30,.15) 100%)!important}
.h3-content{justify-content:center;padding-bottom:120px}
.h3-content>*{max-width:640px}
.h3-kicker{background:none!important;border:0!important;backdrop-filter:none!important;padding:0!important;border-radius:0!important;color:#fff!important;font-size:.8rem!important;letter-spacing:.22em!important;margin-bottom:22px!important;gap:14px!important}
.h3-kicker b{background:none!important;padding:0!important;color:var(--red-2)!important;font-size:.95rem}
.h3-kicker::after{content:"";width:46px;height:2px;background:var(--red);order:-1}
.h3-kicker b{order:-2}
.h3-title{font-size:clamp(2.3rem,4.2vw,3.9rem)!important;font-weight:700!important;line-height:1.08!important;letter-spacing:-.015em!important;margin-bottom:20px!important}
.h3-sub{font-size:1.08rem!important;line-height:1.65;color:#D3DAEC!important;max-width:560px!important;margin-bottom:32px!important}
.btn-x{clip-path:none!important;border-radius:4px}
.btn-x.ghost{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.h3-call{display:none!important}
.h3-trust{margin-top:36px!important;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);gap:8px 28px!important}
.h3-trust li{background:none!important;border:0!important;padding:0!important;border-radius:0!important;font-size:.88rem!important;font-weight:600;color:#E3E8F4}
.h3-trust i{color:var(--red-2)}
.h3-badge{background:rgba(6,12,30,.72)!important;backdrop-filter:none!important;border:1px solid rgba(255,255,255,.14);border-radius:4px}
.h3-badge::before{display:none}
.h3-bar{background:rgba(6,12,30,.55);padding-top:16px}
.h3-seg .tr i{background:var(--red)!important}
@media (max-width:991.98px){.hero3{height:620px}}
@media (max-width:767.98px){
  .hero3{height:auto!important}
  .h3-shade{background:rgba(6,12,30,.66)!important}
  .h3-content{min-height:520px!important;justify-content:center!important;padding-top:40px!important;padding-bottom:90px!important}
  .h3-trust{display:none!important}
}

/* ---- inner banners: full-width photo, solid dark overlay ---- */
.ph3{padding:110px 0 110px!important;background:var(--navy)!important}
.ph3 .ph-bg{inset:0!important;animation:none!important}
.ph3 .ph-bg img{opacity:1!important;filter:none!important;transform:none!important}
.ph3::before{background:rgba(6,12,30,.70)!important}
.ph3::after{display:none!important}
.ph3 .ph-word,.ph3 .container::before{display:none!important}
.ph3 h1{font-weight:700!important;font-size:clamp(2.2rem,4.4vw,3.6rem)!important}
.ph3 h1 em{font-style:normal!important}
.ph-badge{display:none!important}
@media (max-width:767.98px){.ph3{padding:70px 0!important}}

/* ---- section headings: calmer, corporate ---- */
.title{font-weight:700!important;letter-spacing:-.015em}
.title em{font-style:normal!important}
.h3-content>.h3-title{max-width:820px!important;font-size:clamp(2.2rem,3.7vw,3.5rem)!important}
/* stats band — clean solid navy, no photo / blur */
.stats-band{background:var(--navy)!important;padding:80px 0!important}
.stats-band img.bgimg,.stats-band::before{display:none!important}
.stats-band .stat{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;border-left:2px solid var(--red)!important;border-radius:0!important;padding:6px 0 6px 26px!important}
.stats-band .stat .n{text-shadow:none!important}
.stats-band .stat p{color:#B9C3DE!important;margin-top:10px}
.stats-band .stat::before,.stats-band .stat::after{display:none!important}


/* mobile hero: original full-photo design, but no zoom animation (keeps photo sharp) */
@media (max-width:767.98px){.h3-slide .h3-bg{animation:none!important;transform:none!important}.h3-bg img{transform:none!important}}
/* industries */
.ind-sec{background:#fff}
.ind-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.ind{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:28px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s}
.ind i{font-size:1.9rem;color:var(--blue)}
.ind span{font-family:var(--ff-head);font-weight:600;color:var(--navy);font-size:1rem;line-height:1.3}
.ind:hover{background:var(--navy)}.ind:hover i{color:var(--red-2)}.ind:hover span{color:#fff}
@media (max-width:991.98px){.ind-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:575.98px){.ind-grid{grid-template-columns:repeat(2,1fr)}.ind{padding:20px 16px}}
/* large desktops (1600 / 1920): wider layout, slightly larger type */
@media (min-width:1560px){
  .container{max-width:1440px}
  body{font-size:16.5px}
  .title{font-size:clamp(2.6rem,3vw,3.4rem)}
  .h3-content>*{max-width:700px}
  .h3-content>.h3-title{max-width:900px!important;font-size:3.9rem!important}
  .h3-sub{font-size:1.15rem!important;max-width:620px!important}
  .hero3{height:clamp(680px,calc(100vh - 128px),860px)}
  .ph3{padding:130px 0!important}
  .section{padding:120px 0}
}
@media (min-width:1860px){.container{max-width:1600px}.h3-content>.h3-title{font-size:4.3rem!important}}
