
/* ═══════════════════════════════════════════════════
   NAS TECHNICAL — FINAL LIGHT THEME
   Profile-matched colors | No gold | Full animations
   ═══════════════════════════════════════════════════
   --navy    #011D42  Cover/hero/footer (darkest)
   --royal   #0A4592  Primary accent blue
   --cobalt  #2549A5  Buttons, active states
   --sky     #5DA8E1  Section highlights, icons
   --pale    #A2CCEB  Borders, badge fills
   --frost   #D6EAF8  Card hover, subtle tints
   --white   #FFFFFF  Primary content background
   --offwhite#F5FAFF  Alternating sections
   --ink     #1A2B3C  Body text
   --mid     #3E5873  Secondary text
   --light   #6B8BAA  Captions / labels
═══════════════════════════════════════════════════ */
:root{
  --navy:    #011D42;
  --royal:   #0A4592;
  --cobalt:  #2549A5;
  --sky:     #5DA8E1;
  --pale:    #A2CCEB;
  --frost:   #D6EAF8;
  --white:   #FFFFFF;
  --offwhite:#F5FAFF;
  --ink:     #1A2B3C;
  --mid:     #3E5873;
  --light:   #6B8BAA;
  --border:  #DAEAF7;
  --border2: #C2DDEF;
  --sh:      rgba(10,69,146,.10);
  --sh2:     rgba(10,69,146,.22);
  --sh3:     rgba(10,69,146,.35);
  --fH:'Barlow Condensed',sans-serif;
  --fB:'Barlow',sans-serif;
  --fM:'JetBrains Mono',monospace;
  --ease:cubic-bezier(.25,.46,.45,.94);
  --spring:cubic-bezier(.34,1.56,.64,1);
  --bounce:cubic-bezier(.34,1.8,.64,1);
}

/* ─── BASE ─── */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--white);color:var(--ink);
  font-family:var(--fB);overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:var(--fB)}

/* ─── SCROLL PROGRESS ─── */
#progress{
  position:fixed;top:0;left:0;height:3px;width:0;z-index:10000;
  background:linear-gradient(90deg,var(--navy),var(--royal),var(--sky));
  transition:width .1s linear;
  box-shadow:0 0 8px rgba(93,168,225,.5);
}

/* ═══ NAVIGATION ═══ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:9900;height:70px;
  background:rgba(255,255,255,.95);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(16px) saturate(1.5);
  -webkit-backdrop-filter:blur(16px) saturate(1.5);
  transition:box-shadow .3s,border-color .3s,background .3s;
}
.nav.scrolled{
  box-shadow:0 4px 28px var(--sh2);
  border-bottom-color:var(--pale);
}
.nav-in{
  max-width:1280px;margin:0 auto;padding:0 40px;
  height:100%;display:flex;align-items:center;justify-content:space-between;
}
/* Brand */
.brand{display:flex;align-items:center;gap:12px;cursor:pointer}
.brand-mark{
  width:44px;height:44px;
  background:linear-gradient(135deg,var(--royal),var(--cobalt));
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  transition:transform .4s var(--spring),box-shadow .4s;
}
.brand-mark::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 60%);
}
.brand-mark::after{
  content:'';position:absolute;
  top:-100%;left:-100%;width:300%;height:300%;
  background:conic-gradient(transparent 0deg,rgba(93,168,225,.25) 90deg,transparent 180deg);
  animation:spin 5s linear infinite;opacity:0;
  transition:opacity .4s;
}
@keyframes spin{to{transform:rotate(360deg)}}
.brand:hover .brand-mark{transform:scale(1.08) rotate(-3deg);box-shadow:0 6px 24px var(--sh2)}
.brand:hover .brand-mark::after{opacity:1}
.brand-mark span{font-family:var(--fH);font-size:19px;font-weight:800;color:var(--white);position:relative;z-index:1;letter-spacing:1px}
.brand-name{font-family:var(--fH);font-size:19px;font-weight:800;color:var(--navy);letter-spacing:1.5px;line-height:1;transition:color .3s}
.brand:hover .brand-name{color:var(--royal)}
.brand-sub{font-family:var(--fM);font-size:8px;color:var(--cobalt);letter-spacing:1.5px;text-transform:uppercase;margin-top:3px}
/* Nav links */
.nav-links{display:flex}
.nl{
  font-family:var(--fH);font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  color:var(--mid);padding:0 14px;height:70px;
  display:flex;align-items:center;position:relative;transition:color .25s;
}
.nl::after{
  content:'';position:absolute;bottom:0;left:14px;right:14px;height:3px;
  background:var(--royal);transform:scaleX(0);transform-origin:left;
  transition:transform .32s var(--spring);
  border-radius:3px 3px 0 0;
}
.nl:hover,.nl.on{color:var(--royal)}
.nl:hover::after,.nl.on::after{transform:scaleX(1)}
/* CTA button */
.nav-btn{
  font-family:var(--fH);font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  background:var(--royal);color:var(--white);
  padding:11px 22px;border:none;
  position:relative;overflow:hidden;
  transition:background .3s,transform .3s var(--spring),box-shadow .3s;
}
.nav-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 60%);
  opacity:0;transition:opacity .25s;
}
.nav-btn::after{
  content:'';position:absolute;
  top:50%;left:50%;width:0;height:0;
  background:rgba(255,255,255,.18);border-radius:50%;
  transform:translate(-50%,-50%);
  transition:width .55s var(--ease),height .55s var(--ease),opacity .55s;
  opacity:0;
}
.nav-btn:hover{background:var(--navy);transform:translateY(-2px);box-shadow:0 8px 24px var(--sh3)}
.nav-btn:hover::before{opacity:1}
.nav-btn:active::after{width:200px;height:200px;opacity:0}

/* ═══ PAGE SYSTEM ═══ */
.pg{display:none;padding-top:70px;min-height:100vh}
.pg.on{display:block;animation:pgIn .4s var(--ease) both}
@keyframes pgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ─── LAYOUT ─── */
.W{max-width:1280px;margin:0 auto;padding:0 40px}
.sec{padding:96px 0}
.sec-md{padding:68px 0}
.sec-sm{padding:52px 0}

/* ─── TYPE ─── */
.h1{font-family:var(--fH);font-size:clamp(42px,6vw,80px);font-weight:900;line-height:.96;letter-spacing:-.5px;color:var(--navy)}
.h1 em{color:var(--sky);font-style:normal}
.h2{font-family:var(--fH);font-size:clamp(30px,4vw,52px);font-weight:800;line-height:1.02;letter-spacing:-.3px;color:var(--navy)}
.h2 em{color:var(--royal);font-style:normal}
.h3{font-family:var(--fH);font-size:clamp(22px,2.5vw,34px);font-weight:700;color:var(--navy)}
.h4{font-family:var(--fH);font-size:20px;font-weight:700;color:var(--navy);margin-bottom:8px}
.lead{font-size:17px;font-weight:300;color:var(--mid);line-height:1.8}
.body-t{font-size:15px;color:var(--mid);line-height:1.8}
.mono-xs{font-family:var(--fM);font-size:9px;letter-spacing:2.5px;text-transform:uppercase}

/* ─── EYEBROW ─── */
.eye{display:flex;align-items:center;gap:10px;font-family:var(--fM);font-size:10px;letter-spacing:3.5px;text-transform:uppercase;color:var(--royal);margin-bottom:14px}
.eye::before{content:'';width:24px;height:2px;background:var(--royal);flex-shrink:0;transition:width .4s var(--ease)}
.eye:hover::before{width:40px}
/* Inverted for dark sections */
.eye-inv{color:rgba(162,204,235,.85)}
.eye-inv::before{background:rgba(162,204,235,.85)}
.eye-wh{color:rgba(255,255,255,.75)}
.eye-wh::before{background:rgba(255,255,255,.75)}

/* ═══ BUTTONS — ALL BLUE, NO GOLD ═══ */

/* Primary: Royal blue → Navy on hover, ripple effect */
.btn-primary{
  display:inline-flex;align-items:center;gap:12px;
  background:var(--royal);color:var(--white);
  font-family:var(--fH);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  padding:15px 36px;border:none;
  position:relative;overflow:hidden;
  transition:background .35s,transform .35s var(--spring),box-shadow .35s;
}
.btn-primary::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 60%);
  opacity:0;transition:opacity .25s;
}
.btn-primary::after{
  content:'';position:absolute;
  top:50%;left:50%;transform:translate(-50%,-50%);
  width:0;height:0;border-radius:50%;
  background:rgba(255,255,255,.2);
  transition:width .6s var(--ease),height .6s var(--ease),opacity .6s;
  opacity:0;
}
.btn-primary:hover{background:var(--navy);transform:translateY(-3px);box-shadow:0 10px 32px var(--sh3)}
.btn-primary:hover::before{opacity:1}
.btn-primary:active::after{width:280px;height:280px;opacity:0}
.btn-primary .arr{transition:transform .3s var(--spring)}
.btn-primary:hover .arr{transform:translateX(6px)}

/* Secondary: White/outlined → Royal fill on hover */
.btn-secondary{
  display:inline-flex;align-items:center;gap:12px;
  background:transparent;color:var(--royal);
  font-family:var(--fH);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  padding:14px 36px;border:2px solid var(--royal);
  position:relative;overflow:hidden;
  transition:color .3s,border-color .3s,transform .35s var(--spring),box-shadow .3s;
}
.btn-secondary::before{
  content:'';position:absolute;inset:0;
  background:var(--royal);transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease);z-index:0;
}
.btn-secondary span,.btn-secondary .arr{position:relative;z-index:1;transition:color .3s,transform .3s var(--spring)}
.btn-secondary:hover{color:var(--white);border-color:var(--royal);transform:translateY(-3px);box-shadow:0 10px 32px var(--sh2)}
.btn-secondary:hover::before{transform:scaleX(1)}
.btn-secondary:hover .arr{transform:translateX(6px)}

/* Ghost: for dark/blue sections — white outline → sky fill */
.btn-ghost{
  display:inline-flex;align-items:center;gap:12px;
  background:transparent;color:var(--white);
  font-family:var(--fH);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  padding:14px 36px;border:2px solid rgba(255,255,255,.5);
  position:relative;overflow:hidden;
  transition:border-color .3s,background .3s,transform .35s var(--spring),box-shadow .3s;
}
.btn-ghost::before{
  content:'';position:absolute;inset:0;
  background:rgba(255,255,255,.12);transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease);
}
.btn-ghost:hover{border-color:var(--white);transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.3)}
.btn-ghost:hover::before{transform:scaleX(1)}
.btn-ghost .arr,.btn-ghost span{position:relative;z-index:1;transition:transform .3s var(--spring)}
.btn-ghost:hover .arr{transform:translateX(6px)}

/* Sky: Cobalt → Navy on dark backgrounds */
.btn-sky{
  display:inline-flex;align-items:center;gap:12px;
  background:var(--cobalt);color:var(--white);
  font-family:var(--fH);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  padding:15px 36px;border:none;
  position:relative;overflow:hidden;
  transition:background .35s,transform .35s var(--spring),box-shadow .35s;
}
.btn-sky::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 60%);opacity:0;transition:opacity .25s}
.btn-sky:hover{background:var(--royal);transform:translateY(-3px);box-shadow:0 10px 32px rgba(37,73,165,.45)}
.btn-sky:hover::before{opacity:1}
.btn-sky .arr{transition:transform .3s var(--spring)}
.btn-sky:hover .arr{transform:translateX(6px)}

.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;align-items:center}

/* ═══ SECTION BG HELPERS ═══ */
.bg-white{background:var(--white)}
.bg-off{background:var(--offwhite)}
.bg-frost{background:var(--frost)}
.bg-sky{background:var(--sky)}
.bg-royal{background:var(--royal)}
.bg-navy{background:var(--navy)}

/* ═══ HERO ═══ */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.hero-photo{position:absolute;right:0;top:0;bottom:0;width:50%;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.32) saturate(.7);transform:scale(1.06);animation:hzoom 24s ease-in-out infinite alternate}
@keyframes hzoom{from{transform:scale(1.06)}to{transform:scale(1.14)}}
.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(1,29,66,.8) 45%,rgba(1,29,66,.2) 100%)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(93,168,225,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(93,168,225,.04) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
/* Animated scan line */
.hero-scan{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(93,168,225,.6),transparent);animation:scan 8s linear infinite;pointer-events:none;z-index:2}
@keyframes scan{from{top:0}to{top:100%}}
.hero-content{position:relative;z-index:3;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:80px 0}
/* Hero text appears with stagger */
.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;animation:fadeUp .6s var(--ease) .1s both}
.htag{font-family:var(--fM);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:6px 14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.85);transition:background .3s,border-color .3s}
.htag:hover{background:rgba(93,168,225,.2);border-color:rgba(93,168,225,.5)}
.hero-title-wrap{animation:fadeUp .6s var(--ease) .2s both}
.hero-desc-wrap{animation:fadeUp .6s var(--ease) .3s both}
.hero-btn-wrap{animation:fadeUp .6s var(--ease) .4s both}
.hero-bar-wrap{animation:fadeUp .6s var(--ease) .5s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.hero-bar{display:flex;border:1px solid rgba(255,255,255,.12);width:fit-content;overflow:hidden;margin-top:24px}
.hb{padding:11px 18px;border-right:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:8px;transition:background .3s}
.hb:last-child{border-right:none}
.hb:hover{background:rgba(93,168,225,.1)}
.hb-dot{width:5px;height:5px;border-radius:50%;background:var(--sky);box-shadow:0 0 6px var(--sky);flex-shrink:0;animation:pulse 2.2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 6px var(--sky)}50%{opacity:.4;box-shadow:0 0 2px var(--sky)}}
.hb-txt{font-family:var(--fM);font-size:10px;color:rgba(162,204,235,.8);letter-spacing:.8px}

/* Hero right panel */
.hero-panel{animation:fadeUp .6s var(--ease) .25s both}
.hero-frame{position:relative;overflow:hidden;border:1px solid rgba(93,168,225,.3)}
/* Shimmer top bar */
.hero-frame::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;z-index:2;background:linear-gradient(90deg,transparent,var(--cobalt),var(--sky),transparent);animation:shimmer 4s linear infinite}
@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.hero-frame img{height:500px;width:100%;object-fit:cover;filter:brightness(.68) saturate(.85);transition:filter .6s,transform .6s}
.hero-frame:hover img{filter:brightness(.82) saturate(1);transform:scale(1.02)}
.hero-badge{position:absolute;top:16px;right:16px;z-index:3;background:rgba(1,29,66,.82);border:1px solid rgba(93,168,225,.3);backdrop-filter:blur(6px);padding:9px 15px;font-family:var(--fM);font-size:9px;letter-spacing:2px;color:var(--sky);text-transform:uppercase}
.hero-frame-data{position:absolute;bottom:0;left:0;right:0;padding:24px 20px;background:linear-gradient(to top,rgba(1,29,66,1),rgba(1,29,66,.7) 60%,transparent)}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hs-n{font-family:var(--fH);font-size:32px;font-weight:900;color:var(--sky);line-height:1}
.hs-l{font-family:var(--fM);font-size:9px;color:rgba(162,204,235,.75);letter-spacing:1.5px;text-transform:uppercase;margin-top:3px}

/* Scroll cue */
.scroll-cue{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeUp .6s var(--ease) .8s both}
.sc-line{width:1px;height:52px;background:linear-gradient(to bottom,var(--sky),transparent);animation:scl 2.5s ease-in-out infinite}
@keyframes scl{0%,100%{opacity:1;transform:scaleY(1)}50%{opacity:.3;transform:scaleY(.5)}}
.sc-txt{font-family:var(--fM);font-size:8px;letter-spacing:4px;color:rgba(93,168,225,.5);text-transform:uppercase}

/* ═══ STAT STRIP ═══ */
.stat-strip{background:var(--white);border-top:1px solid var(--border);border-bottom:3px solid var(--royal)}
.ss-inner{display:grid;grid-template-columns:repeat(4,1fr)}
.ss-cell{padding:40px 24px;text-align:center;border-right:1px solid var(--border);position:relative;overflow:hidden;transition:background .3s}
.ss-cell:last-child{border-right:none}
.ss-cell::before{content:'';position:absolute;top:-3px;left:0;right:0;height:3px;background:var(--royal);transform:scaleX(0);transition:transform .4s var(--ease)}
.ss-cell::after{content:'';position:absolute;inset:0;background:var(--frost);transform:translateY(100%);transition:transform .4s var(--ease);z-index:0}
.ss-cell:hover::before{transform:scaleX(1)}
.ss-cell:hover::after{transform:translateY(0)}
.ss-n,.ss-l{position:relative;z-index:1}
.ss-n{font-family:var(--fH);font-size:58px;font-weight:900;color:var(--royal);line-height:1;transition:transform .3s var(--spring)}
.ss-cell:hover .ss-n{transform:scale(1.06)}
.ss-l{font-family:var(--fM);font-size:10px;color:var(--light);letter-spacing:2px;text-transform:uppercase;margin-top:7px;transition:color .3s}
.ss-cell:hover .ss-l{color:var(--mid)}

/* ═══ SERVICE CARDS ═══ */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc-card{
  background:var(--white);border:1px solid var(--border);border-top:4px solid var(--sky);
  overflow:hidden;position:relative;
  transition:transform .4s var(--spring),box-shadow .4s,border-top-color .3s;
  box-shadow:0 2px 12px var(--sh);
}
.svc-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,var(--frost) 100%);
  opacity:0;transition:opacity .4s;z-index:0;
}
.svc-card:hover{transform:translateY(-8px);box-shadow:0 20px 48px var(--sh2);border-top-color:var(--royal)}
.svc-card:hover::before{opacity:1}
.svc-card.featured{border-top-color:var(--royal)}
.svc-card-img{height:220px;overflow:hidden;position:relative}
.svc-card-img img{height:100%;width:100%;object-fit:cover;filter:brightness(.68) saturate(.8);transition:filter .6s,transform .6s}
.svc-card:hover .svc-card-img img{filter:brightness(.85) saturate(1);transform:scale(1.06)}
/* Image shimmer overlay on hover */
.svc-card-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(93,168,225,.15),transparent);
  opacity:0;transition:opacity .4s;
}
.svc-card:hover .svc-card-img::after{opacity:1}
.svc-card-body{padding:28px;position:relative;z-index:1}
.svc-card-num{font-family:var(--fH);font-size:64px;font-weight:900;color:var(--frost);line-height:1;position:absolute;top:224px;right:20px;transition:color .4s,transform .4s var(--spring)}
.svc-card:hover .svc-card-num{color:var(--border2);transform:scale(1.08) rotate(-5deg)}
.svc-tag{font-family:var(--fM);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--royal);margin-bottom:8px;transition:color .3s}
.svc-badge{display:inline-block;font-family:var(--fM);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;background:var(--frost);border:1px solid var(--pale);color:var(--royal);margin-bottom:10px}
.svc-card h3{font-family:var(--fH);font-size:24px;font-weight:700;color:var(--navy);margin-bottom:8px;transition:color .3s}
.svc-card:hover h3{color:var(--royal)}
.svc-card p{font-size:14px;color:var(--mid);line-height:1.7}
.svc-link{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--fH);font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--royal);margin-top:16px;
  transition:gap .3s var(--spring),color .25s;
}
.svc-card:hover .svc-link{gap:14px;color:var(--navy)}

/* ═══ TRUST CARDS ═══ */
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.t-card{
  background:var(--white);border:1px solid var(--border);padding:28px;
  display:flex;gap:18px;
  position:relative;overflow:hidden;
  transition:transform .35s var(--spring),box-shadow .35s,border-color .3s;
  box-shadow:0 2px 8px var(--sh);
}
.t-card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(to bottom,var(--royal),var(--sky));
  transform:scaleY(0);transform-origin:bottom;
  transition:transform .4s var(--spring);
}
.t-card:hover{transform:translateY(-4px) translateX(3px);box-shadow:0 12px 36px var(--sh2);border-color:var(--pale)}
.t-card:hover::before{transform:scaleY(1)}
.t-ico{
  flex-shrink:0;width:48px;height:48px;
  background:var(--frost);border:1px solid var(--pale);
  display:flex;align-items:center;justify-content:center;
  transition:all .35s var(--spring);
}
.t-card:hover .t-ico{background:var(--royal);border-color:var(--royal);transform:scale(1.1) rotate(-5deg)}
.t-ico svg{width:22px;height:22px;stroke:var(--royal);fill:none;stroke-width:1.8;transition:stroke .3s}
.t-card:hover .t-ico svg{stroke:var(--white)}
.t-txt h4{font-family:var(--fH);font-size:19px;font-weight:700;color:var(--navy);margin-bottom:6px;transition:color .3s}
.t-card:hover .t-txt h4{color:var(--royal)}
.t-txt p{font-size:14px;color:var(--mid);line-height:1.7}

/* ═══ SKY SECTION ═══ */
.sky-sec{background:var(--sky);position:relative;overflow:hidden}
.sky-sec::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,69,146,.18) 0%,transparent 60%);pointer-events:none}

/* ═══ ROYAL PANEL ═══ */
.royal-panel{background:var(--royal);padding:56px 48px;position:relative;overflow:hidden}
.royal-panel::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.06),transparent 60%)}

/* ═══ CTA BLOCK ═══ */
.cta-blk{position:relative;overflow:hidden}
.cta-bg-img{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.14) saturate(.5)}
.cta-overlay{position:absolute;inset:0;background:linear-gradient(110deg,rgba(1,29,66,.98) 50%,rgba(10,69,146,.7) 100%)}
.cta-inner{position:relative;z-index:2;padding:88px 0;display:flex;justify-content:space-between;align-items:center;gap:48px}
.cta-text h2{font-family:var(--fH);font-size:clamp(32px,4.5vw,58px);font-weight:800;color:var(--white);line-height:1;margin-bottom:10px}
.cta-text p{font-size:16px;color:rgba(162,204,235,.9);max-width:500px;line-height:1.75}
.cta-acts{display:flex;flex-direction:column;gap:12px;flex-shrink:0}

/* ═══ MARQUEE ═══ */
.mrq{overflow:hidden;background:var(--navy);padding:3px 0}
.mrq-track{display:flex;gap:3px;animation:mrq 32s linear infinite;width:max-content}
.mrq:hover .mrq-track{animation-play-state:paused}
@keyframes mrq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mrq-item{width:310px;height:205px;flex-shrink:0;overflow:hidden;position:relative}
.mrq-item img{width:100%;height:100%;object-fit:cover;filter:brightness(.45) saturate(.55);transition:filter .5s,transform .5s}
.mrq-item:hover img{filter:brightness(.78) saturate(1);transform:scale(1.05)}
.mrq-cap{position:absolute;bottom:0;left:0;right:0;padding:10px 14px;background:linear-gradient(to top,rgba(1,29,66,.92),transparent);font-family:var(--fM);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--pale);transition:color .3s}
.mrq-item:hover .mrq-cap{color:var(--sky)}

/* ═══ CLIENT PILLS ═══ */
.pill-wrap{display:flex;flex-wrap:wrap;gap:8px}
.pill{
  font-family:var(--fH);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;
  padding:8px 16px;border:1.5px solid var(--pale);color:var(--royal);background:var(--white);
  position:relative;overflow:hidden;
  transition:color .3s,border-color .3s,transform .3s var(--spring),box-shadow .3s;
}
.pill::before{content:'';position:absolute;inset:0;background:var(--royal);transform:scaleX(0);transform-origin:left;transition:transform .32s var(--ease);z-index:0}
.pill span{position:relative;z-index:1;transition:color .3s}
.pill:hover{border-color:var(--royal);transform:translateY(-2px);box-shadow:0 6px 18px var(--sh)}
.pill:hover::before{transform:scaleX(1)}
.pill:hover span{color:var(--white)}

/* ═══ FOOTER ═══ */
.footer{background:var(--navy);border-top:4px solid var(--royal);padding:72px 0 36px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.f-brand{font-family:var(--fH);font-size:34px;font-weight:900;color:var(--white);letter-spacing:2px;margin-bottom:12px}
.f-sub{font-size:13px;color:var(--pale);line-height:1.8;max-width:220px}
.f-contact{margin-top:16px;display:flex;flex-direction:column;gap:6px}
.f-contact span{font-family:var(--fM);font-size:11px;color:var(--pale);letter-spacing:.5px;transition:color .25s,padding-left .25s}
.f-contact span:hover{color:var(--sky);padding-left:6px}
.f-col h5{font-family:var(--fM);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--sky);margin-bottom:16px}
.f-col a{display:block;font-size:13px;color:var(--pale);margin-bottom:9px;transition:color .25s,padding-left .25s;cursor:pointer;position:relative}
.f-col a::before{content:'→';position:absolute;left:-16px;opacity:0;transition:opacity .25s,left .25s;color:var(--sky)}
.f-col a:hover{color:var(--white);padding-left:12px}
.f-col a:hover::before{opacity:1;left:-4px}
.f-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;display:flex;justify-content:space-between}
.f-note{font-family:var(--fM);font-size:9px;color:rgba(162,204,235,.45);letter-spacing:1px}
.f-badges{display:flex;gap:8px;margin-top:16px}
.f-badge{padding:5px 12px;border:1px solid rgba(93,168,225,.25);font-family:var(--fM);font-size:9px;letter-spacing:1.5px;color:var(--pale);transition:all .3s}
.f-badge:hover{border-color:var(--sky);color:var(--sky)}

/* ═══ INNER PAGE HERO ═══ */
.pghero{position:relative;padding:84px 0;overflow:hidden;min-height:420px;display:flex;align-items:center}
.pghero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.2) saturate(.55)}
.pghero-mask{position:absolute;inset:0;background:linear-gradient(100deg,rgba(1,29,66,.98) 42%,rgba(10,69,146,.5) 100%)}
.pghero-strip{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--royal),var(--sky) 50%,transparent)}
.pghero-content{position:relative;z-index:2}

/* ═══ ABOUT ═══ */
.facts-tbl{border:1px solid var(--border);overflow:hidden}
.fr{display:grid;grid-template-columns:155px 1fr;border-bottom:1px solid var(--border);transition:background .25s}
.fr:last-child{border-bottom:none}
.fr:hover{background:var(--frost)}
.fr-k{padding:14px 18px;background:var(--frost);font-family:var(--fM);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--royal);font-weight:700;transition:background .25s,color .25s}
.fr:hover .fr-k{background:var(--royal);color:var(--white)}
.fr-v{padding:14px 18px;font-size:14px;color:var(--ink);transition:color .25s}
.fr:hover .fr-v{color:var(--navy)}
.mstat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--border);margin-top:2px}
.mstat{background:var(--white);padding:24px;text-align:center;transition:background .3s,transform .3s var(--spring)}
.mstat:hover{background:var(--royal);transform:scale(1.04)}
.mstat-n{font-family:var(--fH);font-size:50px;font-weight:900;color:var(--royal);line-height:1;transition:color .3s}
.mstat:hover .mstat-n{color:var(--white)}
.mstat-l{font-family:var(--fM);font-size:9px;color:var(--light);letter-spacing:2px;text-transform:uppercase;margin-top:5px;transition:color .3s}
.mstat:hover .mstat-l{color:rgba(255,255,255,.75)}
/* Timeline */
.tl{display:flex;flex-direction:column}
.tlr{display:flex;gap:0;padding-bottom:28px}
.tl-yr{width:56px;flex-shrink:0;font-family:var(--fM);font-size:11px;font-weight:700;color:var(--royal);letter-spacing:1px;padding-top:2px;text-align:right;padding-right:14px}
.tl-sp{display:flex;flex-direction:column;align-items:center;flex-shrink:0;margin-right:16px}
.tl-d{width:12px;height:12px;border-radius:50%;background:var(--royal);flex-shrink:0;box-shadow:0 0 0 3px rgba(10,69,146,.2);margin-top:2px;transition:transform .3s var(--spring),box-shadow .3s}
.tl-d.now{background:var(--sky);box-shadow:0 0 0 4px rgba(93,168,225,.3)}
.tlr:hover .tl-d{transform:scale(1.4);box-shadow:0 0 0 5px rgba(10,69,146,.25)}
.tl-ln{width:1px;flex:1;background:var(--border2);min-height:10px;margin-top:7px}
.tl-b{flex:1;cursor:default}
.tl-b h4{font-family:var(--fH);font-size:18px;font-weight:700;color:var(--navy);margin-bottom:5px;transition:color .25s}
.tlr:hover .tl-b h4{color:var(--royal)}
.tl-b p{font-size:14px;color:var(--mid);line-height:1.7}
/* HSE */
.hse-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hse-c{background:var(--frost);border:1px solid var(--pale);border-top:3px solid var(--royal);padding:32px;position:relative;overflow:hidden;transition:all .35s var(--spring)}
.hse-c::before{content:'';position:absolute;inset:0;background:var(--royal);transform:translateY(100%);transition:transform .4s var(--ease);z-index:0}
.hse-c:hover{transform:translateY(-4px);box-shadow:0 16px 40px var(--sh2)}
.hse-c:hover::before{transform:translateY(0)}
.hse-n,.hse-c h4,.hse-c p{position:relative;z-index:1;transition:color .35s}
.hse-n{font-family:var(--fH);font-size:80px;font-weight:900;color:rgba(10,69,146,.1);line-height:1;margin-bottom:8px}
.hse-c:hover .hse-n{color:rgba(255,255,255,.12)}
.hse-c h4{font-family:var(--fH);font-size:22px;font-weight:700;color:var(--navy);margin-bottom:8px}
.hse-c:hover h4{color:var(--white)}
.hse-c p{font-size:14px;color:var(--mid);line-height:1.7}
.hse-c:hover p{color:rgba(255,255,255,.85)}

/* ═══ SERVICES PAGE ═══ */
.fsvc{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--border)}
.fsvc:last-child{border-bottom:none}
.fsvc-side{background:var(--offwhite);padding:48px 32px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:12px;transition:background .3s}
.fsvc:hover .fsvc-side{background:var(--frost)}
.fsvc-n{font-family:var(--fH);font-size:96px;font-weight:900;color:var(--pale);line-height:1;transition:color .3s}
.fsvc:hover .fsvc-n{color:var(--pale)}
.fsvc-tag{font-family:var(--fM);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--royal)}
.fsvc-note{font-size:12px;color:var(--light);margin-top:auto;padding-top:18px;border-top:1px solid var(--border)}
.fsvc-body{padding:48px 52px}
.fsvc-img{width:100%;height:220px;object-fit:cover;margin-bottom:24px;border:1px solid var(--border);transition:filter .4s,transform .4s}
.fsvc-img:hover{filter:brightness(.88);transform:scale(1.01)}
.spec-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.spec-box{background:var(--offwhite);border:1px solid var(--border);padding:16px;transition:border-color .3s,background .3s,transform .3s var(--spring)}
.spec-box:hover{border-color:var(--pale);background:var(--frost);transform:translateY(-3px)}
.spec-ttl{font-family:var(--fM);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--royal);margin-bottom:6px}
.spec-txt{font-size:13px;color:var(--mid);line-height:1.5}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.tag{font-family:var(--fM);font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border:1px solid var(--border2);color:var(--royal);background:var(--frost);transition:all .25s}
.tag:hover{background:var(--royal);color:var(--white);border-color:var(--royal);transform:translateY(-2px)}
/* Industries */
.ind-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ind-c{background:var(--white);border:1px solid var(--border);overflow:hidden;transition:all .4s var(--spring);box-shadow:0 2px 8px var(--sh)}
.ind-c:hover{transform:translateY(-6px);box-shadow:0 20px 48px var(--sh2)}
.ind-img{height:210px;overflow:hidden}
.ind-img img{height:100%;width:100%;object-fit:cover;filter:brightness(.62) saturate(.7);transition:all .6s}
.ind-c:hover .ind-img img{filter:brightness(.82) saturate(1);transform:scale(1.07)}
.ind-body{padding:24px;border-top:3px solid var(--sky);transition:border-top-color .3s}
.ind-c:hover .ind-body{border-top-color:var(--royal)}
.ind-body h3{font-family:var(--fH);font-size:24px;font-weight:700;color:var(--navy);margin-bottom:8px;transition:color .3s}
.ind-c:hover .ind-body h3{color:var(--royal)}
.ind-body p{font-size:14px;color:var(--mid);line-height:1.7}

/* ═══ MANPOWER ═══ */
.rf-row{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.rf-btn{
  font-family:var(--fH);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  padding:8px 18px;border:1.5px solid var(--pale);color:var(--royal);background:var(--white);
  transition:all .28s var(--spring);
}
.rf-btn:hover,.rf-btn.on{background:var(--royal);border-color:var(--royal);color:var(--white);transform:translateY(-2px);box-shadow:0 6px 18px var(--sh)}
.rtbl-wrap{border:1px solid var(--border);overflow:hidden;box-shadow:0 2px 12px var(--sh)}
.rtbl{width:100%;border-collapse:collapse}
.rtbl th{background:var(--royal);font-family:var(--fM);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--white);padding:14px 16px;text-align:left}
.rtbl td{padding:12px 16px;font-size:13px;color:var(--ink);border-bottom:1px solid var(--border);transition:background .2s}
.rtbl tr:nth-child(even) td{background:var(--offwhite)}
.rtbl tbody tr:hover td{background:var(--frost)}
.rtbl tfoot td{background:var(--navy);font-family:var(--fH);font-size:16px;font-weight:700;color:var(--white);border:none}
.av{display:inline-flex;align-items:center;gap:6px;font-family:var(--fM);font-size:10px;font-weight:600}
.av::before{content:'';width:8px;height:8px;border-radius:50%;flex-shrink:0}
.av-g{color:#1A6B36}.av-g::before{background:#2EAA52;box-shadow:0 0 5px rgba(46,170,82,.5)}
.av-o{color:#7A5000}.av-o::before{background:#D4900A;box-shadow:0 0 5px rgba(212,144,10,.5)}
.av-r{color:#7A1A1A}.av-r::before{background:#D43A3A;box-shadow:0 0 5px rgba(212,58,58,.5)}
/* Steps */
.steps-row{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.steps-row::before{content:'';position:absolute;top:36px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,var(--royal),var(--sky));z-index:0}
.step{text-align:center;padding:0 14px;z-index:1;position:relative}
.step-n{
  width:72px;height:72px;border-radius:50%;border:2px solid var(--royal);background:var(--white);
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
  font-family:var(--fH);font-size:28px;font-weight:800;color:var(--royal);
  transition:all .4s var(--spring);box-shadow:0 4px 16px var(--sh);
  position:relative;overflow:hidden;
}
.step-n::before{content:'';position:absolute;inset:0;background:var(--royal);transform:scale(0);border-radius:50%;transition:transform .4s var(--spring)}
.step-n span{position:relative;z-index:1;transition:color .3s}
.step:hover .step-n{transform:scale(1.15);box-shadow:0 10px 32px var(--sh2)}
.step:hover .step-n::before{transform:scale(1)}
.step:hover .step-n span{color:var(--white)}
.step-title{font-family:var(--fH);font-size:17px;font-weight:700;color:var(--navy);margin-bottom:7px;transition:color .3s}
.step:hover .step-title{color:var(--royal)}
.step-body{font-size:13px;color:var(--mid);line-height:1.55}
.step-time{font-family:var(--fM);font-size:10px;color:var(--royal);margin-top:7px;letter-spacing:1px}
/* Quality list */
.q-list{display:flex;flex-direction:column;gap:12px}
.q-item{
  background:var(--white);border:1px solid var(--border);border-left:3px solid var(--royal);
  padding:20px 24px;transition:all .32s var(--spring);box-shadow:0 2px 6px var(--sh);
  position:relative;overflow:hidden;
}
.q-item::before{content:'';position:absolute;inset:0;background:var(--frost);transform:scaleX(0);transform-origin:left;transition:transform .32s var(--ease);z-index:0}
.q-item:hover{transform:translateX(6px);box-shadow:0 6px 20px var(--sh2);border-left-color:var(--sky)}
.q-item:hover::before{transform:scaleX(1)}
.q-item h4,.q-item p{position:relative;z-index:1}
.q-item h4{font-family:var(--fH);font-size:18px;font-weight:700;color:var(--navy);margin-bottom:5px;transition:color .3s}
.q-item:hover h4{color:var(--royal)}
.q-item p{font-size:14px;color:var(--mid);line-height:1.65}
/* Form */
.form-wrap{background:var(--white);border:1px solid var(--border);box-shadow:0 4px 24px var(--sh)}
.form-prog{height:4px;background:var(--border)}
.form-fill{height:100%;background:linear-gradient(90deg,var(--royal),var(--sky));transition:width .4s var(--ease)}
.form-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--offwhite)}
.ftab{padding:14px 20px;border-bottom:3px solid transparent;font-family:var(--fH);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--light);transition:all .25s;display:flex;align-items:center;gap:8px;cursor:pointer}
.ftab.curr,.ftab.done{color:var(--royal);border-bottom-color:var(--royal);background:var(--white)}
.ftab-n{width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:9px;flex-shrink:0;transition:all .25s}
.ftab.curr .ftab-n{background:var(--royal);border-color:var(--royal);color:var(--white)}
.form-body{padding:36px 40px}
.fp{display:none}
.fp.on{display:block;animation:fadeUp .35s var(--ease) both}
.fg2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.fg1{margin-bottom:18px}
.fg{display:flex;flex-direction:column;gap:7px}
.fg label{font-family:var(--fM);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--royal);font-weight:700}
.fg input,.fg select,.fg textarea{
  background:var(--offwhite);border:1.5px solid var(--border);color:var(--ink);
  font-family:var(--fB);font-size:14px;padding:13px 16px;outline:none;
  transition:all .25s;appearance:none;width:100%;
}
.fg input::placeholder,.fg textarea::placeholder{color:var(--light)}
.fg input:focus,.fg select:focus,.fg textarea:focus{
  border-color:var(--royal);background:var(--white);
  box-shadow:0 0 0 4px rgba(10,69,146,.08);
  transform:translateY(-1px);
}
.fg select{color:var(--ink)}
.fg textarea{height:108px;resize:vertical}
.fnav{display:flex;gap:12px;margin-top:8px;align-items:center}
.fsubmit{
  width:100%;background:var(--royal);color:var(--white);border:none;
  font-family:var(--fH);font-size:13px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  padding:18px;transition:all .35s var(--spring);position:relative;overflow:hidden;
}
.fsubmit::before{content:'';position:absolute;inset:0;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.fsubmit span{position:relative;z-index:1}
.fsubmit:hover{transform:translateY(-2px);box-shadow:0 8px 28px var(--sh2)}
.fsubmit:hover::before{transform:scaleX(1)}
.fnote{font-family:var(--fM);font-size:10px;color:var(--light);text-align:center;margin-top:12px;letter-spacing:.4px}

/* ═══ PROJECTS ═══ */
.proj-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.proj-card{
  background:var(--white);border:1px solid var(--border);overflow:hidden;
  transition:all .4s var(--spring);box-shadow:0 2px 12px var(--sh);
}
.proj-card:hover{transform:translateY(-6px);box-shadow:0 20px 52px var(--sh2)}
.proj-photo{height:260px;overflow:hidden;position:relative}
.proj-photo img{height:100%;width:100%;object-fit:cover;filter:brightness(.58) saturate(.68);transition:all .65s}
.proj-card:hover .proj-photo img{filter:brightness(.78) saturate(1);transform:scale(1.06)}
/* Blue shimmer on hover */
.proj-photo::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(37,73,165,.25),transparent 60%);
  opacity:0;transition:opacity .4s;
}
.proj-card:hover .proj-photo::before{opacity:1}
.proj-ov{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(to top,rgba(1,29,66,.92),transparent);z-index:2}
.proj-badges{display:flex;gap:8px}
.pb{font-family:var(--fM);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;background:rgba(93,168,225,.2);border:1px solid rgba(93,168,225,.4);color:#D6EAF8}
.pb.done{background:rgba(46,170,82,.15);border-color:rgba(46,170,82,.35);color:#B8F0CB}
.proj-body{padding:28px}
.proj-ttl{font-family:var(--fH);font-size:24px;font-weight:800;color:var(--navy);margin-bottom:10px;line-height:1.05;transition:color .3s}
.proj-card:hover .proj-ttl{color:var(--royal)}
.proj-desc{font-size:14px;color:var(--mid);line-height:1.75;margin-bottom:16px}
.proj-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:16px;border-top:1px solid var(--border)}
.pm strong{font-family:var(--fM);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--royal);display:block;margin-bottom:3px}
.pm span{font-size:13px;color:var(--ink)}
.clients-tbl{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border)}
.ct{
  background:var(--white);padding:16px 20px;
  font-family:var(--fH);font-size:14px;font-weight:600;letter-spacing:.3px;color:var(--royal);
  transition:all .28s;position:relative;overflow:hidden;
}
.ct::before{content:'';position:absolute;inset:0;background:var(--royal);transform:scaleY(0);transform-origin:bottom;transition:transform .32s var(--ease)}
.ct span{position:relative;z-index:1;transition:color .28s}
.ct:hover{transform:none}
.ct:hover::before{transform:scaleY(1)}
.ct:hover span{color:var(--white)}

/* ═══ CONTACT ═══ */
.ctc-layout{display:grid;grid-template-columns:1fr 1.9fr;gap:56px;align-items:start}
.info-blk{border:1px solid var(--border);overflow:hidden;box-shadow:0 2px 12px var(--sh)}
.ir{padding:15px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px;transition:background .25s}
.ir:nth-child(even){background:var(--offwhite)}
.ir:last-child{border-bottom:none}
.ir:hover{background:var(--frost)}
.ir-lbl{font-family:var(--fM);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--royal);font-weight:700}
.ir-val{font-size:14px;color:var(--ink)}
.resp-r{background:var(--offwhite);border-left:3px solid var(--royal);padding:14px 20px;display:flex;justify-content:space-between;align-items:center;margin-top:2px;transition:all .28s}
.resp-r:hover{background:var(--frost);border-left-color:var(--sky)}
.resp-lbl{font-size:13px;color:var(--mid)}
.resp-val{font-family:var(--fM);font-size:11px;font-weight:700;color:var(--royal)}
.br-card{background:var(--offwhite);border:1px solid var(--border);border-left:3px solid var(--sky);padding:14px 18px;margin-top:6px;transition:all .28s var(--spring)}
.br-card:hover{background:var(--frost);border-left-color:var(--royal);transform:translateX(4px)}
.br-loc{font-family:var(--fM);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--royal);margin-bottom:4px;font-weight:700}
.br-name{font-size:13px;color:var(--ink)}
.map-wrap{position:relative;margin-top:18px;overflow:hidden;border:1px solid var(--border)}
.map-wrap img{width:100%;height:160px;object-fit:cover;filter:brightness(.5) saturate(.5);transition:filter .4s,transform .4s}
.map-wrap:hover img{filter:brightness(.65) saturate(.7);transform:scale(1.03)}
.map-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:rgba(1,29,66,.55);transition:background .3s}
.map-wrap:hover .map-ov{background:rgba(1,29,66,.45)}
.map-city{font-family:var(--fH);font-size:26px;font-weight:800;color:var(--white);letter-spacing:3px}
.map-sub{font-family:var(--fM);font-size:9px;color:var(--pale);letter-spacing:2px;text-transform:uppercase}

/* ═══ REVEAL ANIMATIONS ═══ */
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:translateY(0)}
.rv-l{opacity:0;transform:translateX(-28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv-l.in{opacity:1;transform:translateX(0)}
.rv-r{opacity:0;transform:translateX(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv-r.in{opacity:1;transform:translateX(0)}
.rv-s{opacity:0;transform:scale(.96);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.rv-s.in{opacity:1;transform:scale(1)}
.d1{transition-delay:.06s}.d2{transition-delay:.13s}.d3{transition-delay:.2s}
.d4{transition-delay:.27s}.d5{transition-delay:.34s}.d6{transition-delay:.41s}

/* ═══ SECTORS PAGE ═══ */
.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sector-card{background:var(--white);border:1px solid var(--border);overflow:hidden;position:relative;transition:all .4s var(--spring);box-shadow:0 2px 12px var(--sh)}
.sector-card:hover{transform:translateY(-8px);box-shadow:0 20px 48px var(--sh2)}
.sector-img{height:240px;overflow:hidden;position:relative}
.sector-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.7);transition:all .6s}
.sector-card:hover .sector-img img{filter:brightness(.78) saturate(1);transform:scale(1.06)}
.sector-icon{position:absolute;top:16px;left:16px;z-index:2;width:44px;height:44px;background:rgba(10,69,146,.85);border:1px solid rgba(93,168,225,.4);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px)}
.sector-icon svg{width:22px;height:22px;stroke:var(--sky);fill:none;stroke-width:1.8}
.sector-body{padding:28px;border-top:4px solid var(--sky);transition:border-top-color .3s}
.sector-card:hover .sector-body{border-top-color:var(--royal)}
.sector-body h3{font-family:var(--fH);font-size:26px;font-weight:700;color:var(--navy);margin-bottom:8px;transition:color .3s}
.sector-card:hover .sector-body h3{color:var(--royal)}
.sector-body p{font-size:14px;color:var(--mid);line-height:1.7;margin-bottom:14px}
.sector-trades{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.sector-trade{font-family:var(--fM);font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border:1px solid var(--border2);color:var(--royal);background:var(--frost);transition:all .22s}
.sector-trade:hover{background:var(--royal);color:var(--white);border-color:var(--royal)}
.sector-stat-bar{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--border);margin-top:auto}
.sstat{background:var(--offwhite);padding:12px 16px}
.sstat-n{font-family:var(--fH);font-size:22px;font-weight:800;color:var(--royal);line-height:1}
.sstat-l{font-family:var(--fM);font-size:8px;color:var(--light);letter-spacing:1.5px;text-transform:uppercase;margin-top:3px}
.why-sec{background:var(--offwhite);padding:80px 0}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.why-c{background:var(--white);border:1px solid var(--border);border-top:3px solid var(--royal);padding:28px;text-align:center;transition:all .32s var(--spring);box-shadow:0 2px 8px var(--sh)}
.why-c:hover{transform:translateY(-5px);box-shadow:0 14px 36px var(--sh2);border-top-color:var(--sky)}
.why-ico{width:52px;height:52px;background:var(--frost);border:1px solid var(--pale);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;transition:all .32s var(--spring)}
.why-c:hover .why-ico{background:var(--royal);border-color:var(--royal)}
.why-ico svg{width:24px;height:24px;stroke:var(--royal);fill:none;stroke-width:1.8;transition:stroke .32s}
.why-c:hover .why-ico svg{stroke:var(--white)}
.why-c h4{font-family:var(--fH);font-size:18px;font-weight:700;color:var(--navy);margin-bottom:6px}
.why-c p{font-size:13px;color:var(--mid);line-height:1.6}

/* ═══════════════════════════════════════════════════
   RESPONSIVE OPTIMISATION — v1.1
   Mobile, iPad/tablet and desktop refinement
═══════════════════════════════════════════════════ */

html{-webkit-text-size-adjust:100%}
body{min-width:320px}
button,a,input,select,textarea{-webkit-tap-highlight-color:rgba(10,69,146,.14)}
.nav-toggle{display:none}
.no-scroll{overflow:hidden}

@media (min-width:1281px){
  .W,.nav-in{max-width:1280px}
  .hero{min-height:92vh}
}

@media (max-width:1180px){
  .W{padding:0 30px}
  .nav-in{padding:0 28px}
  .nl{padding:0 9px;font-size:13px;letter-spacing:.8px}
  .nav-btn{padding:10px 16px;font-size:12px;letter-spacing:1px}
  .brand-name{font-size:18px}
  .hero-content{gap:36px;grid-template-columns:1.05fr .95fr}
  .hero-frame img{height:440px}
  .svc-grid,.sector-grid,.ind-wrap{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:34px}
  .footer-grid .f-col:last-child{grid-column:2 / span 2}
  .ctc-layout{grid-template-columns:1fr;gap:34px}
}

@media (max-width:1024px){
  .sec{padding:74px 0}
  .sec-md{padding:58px 0}
  .sec-sm{padding:44px 0}
  .hero{min-height:auto;padding:74px 0 28px}
  .hero-photo{width:100%;opacity:.35}
  .hero-photo::after{background:linear-gradient(90deg,rgba(1,29,66,.98),rgba(1,29,66,.78))}
  .hero-content{grid-template-columns:1fr;gap:34px;padding:64px 0 58px}
  .hero-panel{max-width:680px}
  .hero-frame img{height:390px}
  .ss-inner{grid-template-columns:repeat(2,1fr)}
  .ss-cell:nth-child(2){border-right:none}
  .trust-grid{grid-template-columns:1fr}
  .fsvc{grid-template-columns:160px 1fr}
  .fsvc-body{padding:38px 34px}
  .spec-row{grid-template-columns:1fr 1fr}
  .steps-row{grid-template-columns:repeat(2,1fr);gap:34px 20px}
  .steps-row::before{display:none}
  .proj-grid{grid-template-columns:1fr}
  .clients-tbl{grid-template-columns:repeat(2,1fr)}
  .hse-wrap,.mstat-row{grid-template-columns:repeat(2,1fr)}
  .cta-inner{align-items:flex-start;flex-direction:column}
  .cta-acts{flex-direction:row;flex-wrap:wrap}
}

@media (max-width:900px){
  .nav{height:66px}
  .nav-in{height:66px;padding:0 20px}
  .brand-mark{width:40px;height:40px}
  .brand-name{font-size:17px;letter-spacing:1px}
  .brand-sub{font-size:7.5px;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nav-toggle{
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;border:1px solid var(--border);background:var(--white);color:var(--navy);
    position:relative;z-index:10001;margin-left:10px;
  }
  .nav-toggle span,.nav-toggle::before,.nav-toggle::after{
    content:'';display:block;position:absolute;width:22px;height:2px;background:var(--royal);transition:transform .28s var(--ease),opacity .2s;
  }
  .nav-toggle::before{transform:translateY(-7px)}
  .nav-toggle::after{transform:translateY(7px)}
  body.menu-open .nav-toggle span{opacity:0}
  body.menu-open .nav-toggle::before{transform:rotate(45deg)}
  body.menu-open .nav-toggle::after{transform:rotate(-45deg)}
  .nav-links{
    position:fixed;top:66px;left:0;right:0;bottom:0;z-index:9999;
    display:flex;flex-direction:column;align-items:stretch;
    background:rgba(255,255,255,.98);border-top:1px solid var(--border);
    transform:translateX(100%);transition:transform .32s var(--ease);overflow-y:auto;padding:12px 20px 28px;
    box-shadow:0 20px 50px var(--sh2);
  }
  body.menu-open .nav-links{transform:translateX(0)}
  .nl{height:auto;padding:17px 4px;font-size:18px;border-bottom:1px solid var(--border);justify-content:space-between}
  .nl::after{left:0;right:auto;width:56px;bottom:-1px;height:2px}
  .nav-btn{display:none}
  .pg{padding-top:66px}
}

@media (max-width:767px){
  .W{padding:0 18px}
  .sec{padding:58px 0}
  .sec-md{padding:46px 0}
  .sec-sm{padding:38px 0}
  .h1{font-size:clamp(38px,13vw,56px);line-height:.98}
  .h2{font-size:clamp(28px,10vw,40px);line-height:1.05}
  .h3{font-size:26px}
  .lead{font-size:16px;line-height:1.72}
  .body-t{font-size:14px;line-height:1.72}
  .eye{font-size:9px;letter-spacing:2.4px;gap:8px}
  .eye::before{width:18px}
  .btn-row{gap:10px;margin-top:24px}
  .btn-primary,.btn-secondary,.btn-ghost,.btn-sky{width:100%;justify-content:center;padding:14px 20px;font-size:12px;letter-spacing:1.3px}

  .hero{padding:38px 0 12px;min-height:auto}
  .hero-content{padding:42px 0 38px;gap:28px}
  .hero-tags{gap:6px;margin-bottom:18px}
  .htag{font-size:8px;letter-spacing:1.2px;padding:6px 10px}
  .hero h1{font-size:clamp(42px,14vw,60px)!important;margin-bottom:16px!important}
  .hero-desc-wrap p{font-size:16px!important;line-height:1.7!important;max-width:100%!important}
  .hero-bar{display:grid;grid-template-columns:1fr;width:100%}
  .hb{border-right:none;border-bottom:1px solid rgba(255,255,255,.1);padding:10px 14px}
  .hb:last-child{border-bottom:none}
  .hero-panel{display:none}
  .scroll-cue{display:none}

  .ss-inner,.svc-grid,.sector-grid,.ind-wrap,.why-grid,.hse-wrap,.mstat-row{grid-template-columns:1fr}
  .ss-cell{border-right:none;border-bottom:1px solid var(--border);padding:28px 18px}
  .ss-cell:last-child{border-bottom:none}
  .ss-n{font-size:46px}
  .svc-card-img,.ind-img,.sector-img{height:210px}
  .svc-card-body,.sector-body,.ind-body{padding:22px}
  .svc-card-num{display:none}

  .trust-grid{gap:14px}
  .t-card{padding:20px;gap:14px}
  .t-ico{width:42px;height:42px}
  .royal-panel{padding:34px 22px}

  .pghero{min-height:310px;padding:54px 0}
  .pghero-content .h1{font-size:44px!important}
  .fr{grid-template-columns:1fr}
  .fr-k{padding:12px 14px}
  .fr-v{padding:12px 14px}
  .tlr{gap:0;padding-bottom:24px}
  .tl-yr{width:48px;font-size:10px;padding-right:10px}
  .hse-c{padding:24px}
  .hse-n{font-size:60px}

  .fsvc{display:block;border:1px solid var(--border);margin-bottom:18px}
  .fsvc-side{border-right:none;border-bottom:1px solid var(--border);padding:22px;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;align-items:center}
  .fsvc-n{font-size:58px}
  .fsvc-note{grid-column:1 / -1;margin-top:0;padding-top:10px}
  .fsvc-body{padding:24px 20px}
  .fsvc-img{height:190px;margin-bottom:18px}
  .spec-row{grid-template-columns:1fr}
  .tags{gap:6px}

  .rf-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px;margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}
  .rf-btn{white-space:nowrap;flex:0 0 auto}
  .rtbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .rtbl{min-width:760px}

  .steps-row{grid-template-columns:1fr;gap:24px}
  .step{text-align:left;display:grid;grid-template-columns:58px 1fr;gap:0 16px;padding:0}
  .step-n{width:54px;height:54px;font-size:22px;margin:0;grid-row:1 / span 3}

  .form-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ftab{min-width:150px;padding:13px 14px;white-space:nowrap}
  .form-body{padding:24px 18px}
  .fg2{grid-template-columns:1fr;gap:14px;margin-bottom:14px}
  .fnav{flex-direction:column;align-items:stretch}
  .fnav .btn-secondary,.fnav .btn-primary{width:100%}

  .proj-photo{height:220px}
  .proj-body{padding:22px}
  .proj-meta{grid-template-columns:1fr;gap:12px}
  .clients-tbl{grid-template-columns:1fr}
  .ct{padding:14px 16px}

  .ctc-layout{gap:26px}
  .resp-r{display:block}
  .resp-val{display:block;margin-top:4px}
  .footer{padding:52px 0 28px}
  .footer-grid{grid-template-columns:1fr;gap:28px;margin-bottom:32px}
  .footer-grid .f-col:last-child{grid-column:auto}
  .f-bottom{display:block}
  .f-note + .f-note{margin-top:10px}
}

@media (max-width:480px){
  .nav-in{padding:0 14px}
  .brand{gap:8px;min-width:0}
  .brand-mark{width:36px;height:36px;flex:0 0 36px}
  .brand-mark span{font-size:16px}
  .brand-name{font-size:15px;letter-spacing:.8px}
  .brand-sub{font-size:7px;max-width:190px}
  .nav-toggle{width:40px;height:40px;flex:0 0 40px}
  .hero h1{font-size:40px!important}
  .hero-tags{display:none}
  .h2{font-size:31px}
  .svc-card-img,.ind-img,.sector-img,.proj-photo{height:185px}
  .mrq-item{width:245px;height:165px}
  .cta-inner{padding:60px 0}
  .cta-text h2{font-size:36px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE HARDENING — v2.0
   Full mobile, iPad/tablet and desktop safeguards
═══════════════════════════════════════════════════ */
:root{--nav-h:70px;--safe-x:clamp(16px,4vw,40px)}
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:0;line-height:1.5;text-rendering:optimizeLegibility}
*,*::before,*::after{max-width:100%}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
input,select,textarea,button{font-size:16px;max-width:100%}
.W,.nav-in{width:100%;max-width:1280px;padding-left:var(--safe-x);padding-right:var(--safe-x)}
.pg{overflow:hidden}
.pg.on{overflow:visible}

/* Safer desktop/tablet grid behaviour */
.svc-grid,.sector-grid,.ind-wrap,.why-grid,.trust-grid,.hse-wrap,.proj-grid,.footer-grid,.ctc-layout,.fg2,.spec-row,.mstat-row,.ss-inner,.clients-tbl{min-width:0}
.svc-card,.sector-card,.ind-c,.proj-card,.t-card,.hse-c,.why-c,.spec-box,.ct,.form-wrap,.info-blk{min-width:0}
.svc-card p,.sector-body p,.ind-body p,.proj-desc,.body-t,.lead,.ir-val,.fr-v,.f-sub{overflow-wrap:anywhere;word-break:normal}

/* Header: switch to hamburger earlier because this site has many nav items */
@media (max-width:1100px){
  :root{--nav-h:66px}
  .nav{height:var(--nav-h)}
  .nav-in{height:var(--nav-h);padding-left:20px;padding-right:20px}
  .nav-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border);background:var(--white);position:relative;z-index:10002;margin-left:auto;flex:0 0 44px}
  .nav-toggle span,.nav-toggle::before,.nav-toggle::after{content:'';display:block;position:absolute;width:22px;height:2px;background:var(--royal);border-radius:2px;transition:transform .28s var(--ease),opacity .2s}
  .nav-toggle::before{transform:translateY(-7px)}
  .nav-toggle::after{transform:translateY(7px)}
  body.menu-open .nav-toggle span{opacity:0}
  body.menu-open .nav-toggle::before{transform:rotate(45deg)}
  body.menu-open .nav-toggle::after{transform:rotate(-45deg)}
  .nav-links{position:fixed;top:var(--nav-h);left:0;right:0;height:calc(100dvh - var(--nav-h));z-index:10000;display:flex;flex-direction:column;align-items:stretch;background:rgba(255,255,255,.985);border-top:1px solid var(--border);transform:translate3d(100%,0,0);transition:transform .32s var(--ease);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 20px calc(28px + env(safe-area-inset-bottom));box-shadow:0 20px 50px var(--sh2)}
  body.menu-open .nav-links{transform:translate3d(0,0,0)}
  .nl{height:auto;padding:17px 4px;font-size:18px;line-height:1.1;border-bottom:1px solid var(--border);justify-content:space-between;letter-spacing:.8px}
  .nl::after{left:0;right:auto;width:56px;bottom:-1px;height:2px}
  .nav-btn{display:none}
  .pg{padding-top:var(--nav-h)}
  body.no-scroll{overflow:hidden;touch-action:none}
}

/* iPad and tablets */
@media (min-width:768px) and (max-width:1100px){
  .W{padding-left:28px;padding-right:28px}
  .sec{padding:72px 0}.sec-md{padding:58px 0}.sec-sm{padding:46px 0}
  .hero{min-height:auto;padding:34px 0;background:var(--navy)}
  .hero-content{grid-template-columns:1fr;gap:34px;padding:56px 0}
  .hero-photo{width:100%;opacity:.36}
  .hero-photo::after{background:linear-gradient(90deg,rgba(1,29,66,.98),rgba(1,29,66,.72))}
  .hero-panel{max-width:720px;width:100%}
  .hero-frame img{height:clamp(340px,48vw,460px);object-fit:cover}
  .svc-grid,.sector-grid,.ind-wrap,.why-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .trust-grid,.proj-grid,.ctc-layout{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .footer-grid .f-col:first-child{grid-column:1 / -1}
  .fsvc{grid-template-columns:150px minmax(0,1fr)}
  .fsvc-body{padding:34px 28px}.fsvc-side{padding:34px 22px}.fsvc-n{font-size:74px}
  .spec-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.steps-row::before{display:none}
  .clients-tbl,.hse-wrap,.mstat-row,.ss-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ctc-layout{gap:34px}
}

/* Phones */
@media (max-width:767px){
  :root{--nav-h:64px;--safe-x:18px}
  .nav,.nav-in{height:var(--nav-h)}
  .nav-in{padding-left:14px;padding-right:14px;gap:8px}
  .brand{min-width:0;gap:8px;flex:1 1 auto}
  .brand-mark{width:38px;height:38px;flex:0 0 38px}.brand-mark span{font-size:16px}
  .brand-name{font-size:15px;letter-spacing:.7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 110px)}
  .brand-sub{display:none}
  .nav-toggle{width:42px;height:42px;flex-basis:42px;margin-left:0}
  .nav-links{top:var(--nav-h);height:calc(100dvh - var(--nav-h));padding-left:18px;padding-right:18px}
  .nl{font-size:17px;padding:16px 2px}
  .pg{padding-top:var(--nav-h)}

  .W{padding-left:var(--safe-x);padding-right:var(--safe-x)}
  .sec{padding:54px 0}.sec-md{padding:44px 0}.sec-sm{padding:34px 0}
  .h1{font-size:clamp(36px,12vw,52px)!important;line-height:1!important;letter-spacing:-.2px}
  .h2{font-size:clamp(28px,9vw,38px)!important;line-height:1.08!important}.h3{font-size:25px!important}.h4{font-size:18px!important}
  .lead{font-size:15.5px;line-height:1.68}.body-t{font-size:14px;line-height:1.68}
  .eye{font-size:8.5px;letter-spacing:2px;gap:8px}.eye::before{width:18px}
  .btn-row{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}
  .btn-primary,.btn-secondary,.btn-ghost,.btn-sky,.fsubmit{width:100%;justify-content:center;min-height:48px;padding:13px 18px;font-size:12px;letter-spacing:1.2px;text-align:center}

  .hero{min-height:calc(100dvh - var(--nav-h));padding:20px 0 10px;display:flex;align-items:center}
  .hero-photo{width:100%;opacity:.36}.hero-photo img{height:100%;object-fit:cover}.hero-photo::after{background:linear-gradient(90deg,rgba(1,29,66,.98),rgba(1,29,66,.78))}
  .hero-grid,.hero-scan{opacity:.55}
  .hero-content{grid-template-columns:1fr;padding:36px 0;gap:20px}
  .hero h1{font-size:clamp(38px,13vw,54px)!important;margin-bottom:14px!important}
  .hero-desc-wrap p{font-size:15.5px!important;line-height:1.65!important;max-width:100%!important}
  .hero-tags{display:flex;gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;margin-bottom:16px;-webkit-overflow-scrolling:touch}.htag{flex:0 0 auto;font-size:7.5px;letter-spacing:1px;padding:5px 9px}
  .hero-bar{display:grid;grid-template-columns:1fr;width:100%;margin-top:18px}.hb{border-right:none;border-bottom:1px solid rgba(255,255,255,.1);padding:9px 12px}.hb:last-child{border-bottom:0}.hb-txt{font-size:9px;line-height:1.35}
  .hero-panel,.scroll-cue{display:none!important}

  .ss-inner,.svc-grid,.sector-grid,.ind-wrap,.why-grid,.hse-wrap,.mstat-row,.trust-grid,.proj-grid,.clients-tbl,.ctc-layout,.fg2,.spec-row{grid-template-columns:1fr!important;gap:16px}
  .ss-cell{border-right:0;border-bottom:1px solid var(--border);padding:24px 16px}.ss-cell:last-child{border-bottom:0}.ss-n{font-size:42px}
  .svc-card-img,.ind-img,.sector-img{height:clamp(170px,52vw,220px)}.proj-photo{height:clamp(180px,56vw,230px)}
  .svc-card-body,.sector-body,.ind-body,.proj-body{padding:20px}.svc-card h3,.sector-body h3,.ind-body h3,.proj-ttl{font-size:23px;line-height:1.08}.svc-card-num{display:none!important}
  .t-card{padding:18px;gap:12px;align-items:flex-start}.t-ico{width:40px;height:40px;flex:0 0 40px}
  .royal-panel{padding:30px 20px}.cta-inner{padding:54px 0;gap:26px}.cta-acts{display:grid;width:100%;grid-template-columns:1fr}.cta-text h2{font-size:34px!important;line-height:1.05}
  .pghero{min-height:280px;padding:48px 0}.pghero-content .h1{font-size:40px!important}.pghero-content p{font-size:15px!important}
  .facts-tbl,.fr{display:block}.fr-k,.fr-v{padding:11px 14px}.tl-yr{width:44px;font-size:9.5px;padding-right:8px}.tl-sp{margin-right:12px}.tl-b p{font-size:13.5px}
  .hse-c,.why-c{padding:22px}.hse-n{font-size:56px}.mstat{padding:20px}.mstat-n{font-size:42px}
  .fsvc{display:block;border:1px solid var(--border);margin-bottom:18px}.fsvc-side{display:grid;grid-template-columns:auto 1fr;border-right:0;border-bottom:1px solid var(--border);padding:18px;gap:6px 12px}.fsvc-n{font-size:52px}.fsvc-note{grid-column:1/-1;margin:0;padding-top:8px}.fsvc-body{padding:20px}.fsvc-img{height:180px;margin-bottom:16px}
  .rf-row{display:flex;flex-wrap:nowrap;overflow-x:auto;margin-left:calc(var(--safe-x) * -1);margin-right:calc(var(--safe-x) * -1);padding:0 var(--safe-x) 9px;-webkit-overflow-scrolling:touch}.rf-btn{flex:0 0 auto;white-space:nowrap}
  .rtbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.rtbl{min-width:720px}.rtbl th,.rtbl td{padding:11px 12px}
  .steps-row{display:grid;grid-template-columns:1fr!important;gap:22px}.steps-row::before{display:none}.step{display:grid;grid-template-columns:52px minmax(0,1fr);text-align:left;gap:0 14px;padding:0}.step-n{width:50px;height:50px;font-size:20px;margin:0;grid-row:1 / span 3}.step-title{font-size:17px}.step-body{font-size:13px}
  .form-tabs{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch}.ftab{flex:0 0 auto;min-width:142px;padding:12px 12px}.form-body{padding:22px 16px}.fg2{margin-bottom:14px}.fg input,.fg select,.fg textarea{padding:12px 13px}.fnav{display:grid;grid-template-columns:1fr;gap:10px}.fnote{font-size:9px;line-height:1.45}
  .proj-meta{grid-template-columns:1fr!important;gap:10px}.ct{padding:13px 15px}.info-blk{box-shadow:none}.ir{padding:13px 16px}.resp-r{display:block;padding:13px 16px}.resp-val{display:block;margin-top:4px}.map-wrap img{height:150px}
  .footer{padding:46px 0 26px}.footer-grid{grid-template-columns:1fr!important;gap:26px;margin-bottom:30px}.footer-grid .f-col:last-child{grid-column:auto}.f-bottom{display:block}.f-note{line-height:1.5}.f-note+.f-note{margin-top:8px}.f-badges{flex-wrap:wrap}
}

/* Small phones */
@media (max-width:390px){
  :root{--safe-x:15px}.nav-in{padding-left:12px;padding-right:12px}.brand-name{font-size:14px;max-width:calc(100vw - 100px)}.nav-toggle{width:40px;height:40px;flex-basis:40px}
  .hero h1{font-size:36px!important}.hero-desc-wrap p{font-size:14.5px!important}.h2{font-size:28px!important}.btn-primary,.btn-secondary,.btn-ghost,.btn-sky{font-size:11.5px;letter-spacing:1px}
  .svc-card-img,.ind-img,.sector-img{height:165px}.proj-photo{height:175px}.mrq-item{width:230px;height:155px}
}

/* Landscape phones */
@media (max-width:900px) and (orientation:landscape){
  .hero{min-height:auto}.hero-content{padding:30px 0}.hero h1{font-size:42px!important}.hero-tags{display:none}.nav-links{padding-bottom:20px}.nl{padding:12px 2px}
}

/* WordPress admin bar correction */
body.admin-bar{--wp-admin-offset:32px}body.admin-bar .nav{top:var(--wp-admin-offset)}body.admin-bar .nav-links{top:calc(var(--nav-h) + var(--wp-admin-offset));height:calc(100dvh - var(--nav-h) - var(--wp-admin-offset))}@media(max-width:782px){body.admin-bar{--wp-admin-offset:46px}}

/* ═══════════════════════════════════════════════════
   NAS TECHNICAL — RESPONSIVE HARDENING v3.0
   Optimised after reviewing live site sections:
   hero, service cards, feature blocks, about/CTA,
   testimonials/client logos, contact form and footer.
═══════════════════════════════════════════════════ */
:root{--nav-h:70px;--container:1280px;--gutter:40px}
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{font-size:16px;line-height:1.5}
img,svg,video,iframe{max-width:100%;height:auto}
.W,.nav-in{width:min(100% - (var(--gutter) * 2),var(--container));max-width:var(--container);margin-inline:auto;padding-inline:0}
.site-main,.pg,.sec,.sec-md,.sec-sm,.hero,.pghero,.footer{max-width:100%;overflow-x:clip}
.svc-grid,.trust-grid,.ind-wrap,.sector-grid,.why-grid,.proj-grid,.hse-wrap,.mstat-row,.clients-tbl,.ss-inner,.fg2,.spec-row,.ctc-layout,.footer-grid{min-width:0}
.svc-card,.t-card,.ind-c,.sector-card,.why-c,.proj-card,.hse-c,.form-wrap,.info-blk,.royal-panel{min-width:0;max-width:100%}
.h1,.h2,.h3,.h4,.lead,.body-t,p,h1,h2,h3,h4,h5,h6,span,a,td,th{overflow-wrap:anywhere}
button,a,input,select,textarea{touch-action:manipulation}

/* Better desktop rhythm */
@media (min-width:1201px){
  .hero-content{grid-template-columns:minmax(0,1fr) minmax(420px,.86fr)}
  .svc-grid,.sector-grid,.ind-wrap{grid-template-columns:repeat(3,minmax(0,1fr))}
  .why-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* iPad Pro / smaller desktop: avoid crowded header */
@media (max-width:1180px){
  :root{--gutter:28px;--nav-h:66px}
  .nav,.nav-in{height:var(--nav-h)}
  .nav-in{width:100%;padding-inline:20px}
  .nav-toggle{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border);background:#fff;position:relative;z-index:10002;margin-left:auto;flex:0 0 44px}
  .nav-toggle span,.nav-toggle::before,.nav-toggle::after{content:'';display:block;position:absolute;width:22px;height:2px;background:var(--royal);border-radius:2px;transition:transform .28s var(--ease),opacity .2s}
  .nav-toggle::before{transform:translateY(-7px)}
  .nav-toggle::after{transform:translateY(7px)}
  body.menu-open .nav-toggle span{opacity:0}
  body.menu-open .nav-toggle::before{transform:rotate(45deg)}
  body.menu-open .nav-toggle::after{transform:rotate(-45deg)}
  .nav-links{position:fixed;top:var(--nav-h);left:0;right:0;height:calc(100dvh - var(--nav-h));z-index:10000;display:flex;flex-direction:column;align-items:stretch;background:rgba(255,255,255,.992);border-top:1px solid var(--border);transform:translate3d(100%,0,0);transition:transform .32s var(--ease);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 24px calc(32px + env(safe-area-inset-bottom));box-shadow:0 18px 50px var(--sh2)}
  body.menu-open .nav-links{transform:translate3d(0,0,0)}
  .nl{height:auto;min-height:54px;padding:16px 2px;font-size:18px;line-height:1.1;border-bottom:1px solid var(--border);letter-spacing:.8px}
  .nl::after{left:0;right:auto;width:56px;bottom:-1px;height:2px}
  .nav-btn{display:none!important}
  .pg{padding-top:var(--nav-h)}
  body.no-scroll,body.menu-open{overflow:hidden;touch-action:none}
}

/* Tablets / iPad */
@media (min-width:768px) and (max-width:1180px){
  .sec{padding-block:72px}.sec-md{padding-block:58px}.sec-sm{padding-block:46px}
  .hero{min-height:auto;padding-block:34px;background:var(--navy)}
  .hero-photo{width:100%;opacity:.38}.hero-photo::after{background:linear-gradient(90deg,rgba(1,29,66,.98),rgba(1,29,66,.74))}
  .hero-content{grid-template-columns:1fr;gap:34px;padding-block:58px}
  .hero-panel{width:100%;max-width:760px}.hero-frame img{height:clamp(340px,46vw,460px);object-fit:cover}
  .hero h1{max-width:760px}.hero-desc-wrap p{max-width:660px!important}
  .hero-bar{max-width:760px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.hb:nth-child(2){border-right:0}.hb:nth-child(1),.hb:nth-child(2){border-bottom:1px solid rgba(255,255,255,.1)}
  .ss-inner,.svc-grid,.sector-grid,.ind-wrap,.why-grid,.hse-wrap,.mstat-row,.clients-tbl{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .trust-grid,.proj-grid,.ctc-layout{grid-template-columns:1fr!important}
  .svc-card-img,.sector-img,.ind-img{height:230px}.proj-photo{height:300px}
  .fsvc{grid-template-columns:150px minmax(0,1fr)}.fsvc-side{padding:32px 22px}.fsvc-body{padding:34px 28px}.fsvc-n{font-size:74px}
  .spec-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.steps-row::before{display:none}
  .form-body{padding:32px 28px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.footer-grid .f-col:first-child{grid-column:1/-1}.cta-inner{flex-direction:column;align-items:flex-start}.cta-acts{display:flex;flex-direction:row;flex-wrap:wrap}
}

/* Phones: full mobile optimisation */
@media (max-width:767px){
  :root{--nav-h:64px;--gutter:18px}
  .nav,.nav-in{height:var(--nav-h)}
  .nav-in{width:100%;padding-inline:14px;gap:8px}
  .brand{min-width:0;gap:8px;flex:1 1 auto}.brand-mark{width:38px;height:38px;flex:0 0 38px}.brand-mark span{font-size:16px}.brand-name{font-size:15px;line-height:1;letter-spacing:.6px;max-width:calc(100vw - 108px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-sub{display:none!important}
  .nav-toggle{width:42px;height:42px;flex:0 0 42px;margin-left:0}.nav-links{top:var(--nav-h);height:calc(100dvh - var(--nav-h));padding-inline:18px}.nl{font-size:17px;min-height:52px;padding:15px 2px}.pg{padding-top:var(--nav-h)}
  .W{width:calc(100% - (var(--gutter) * 2));padding-inline:0}
  .sec{padding-block:54px}.sec-md{padding-block:44px}.sec-sm{padding-block:34px}
  .h1{font-size:clamp(36px,12vw,52px)!important;line-height:1!important;letter-spacing:-.2px}.h2{font-size:clamp(28px,9vw,38px)!important;line-height:1.08!important}.h3{font-size:25px!important}.h4{font-size:18px!important}.lead{font-size:15.5px;line-height:1.68}.body-t{font-size:14px;line-height:1.68}.eye{font-size:8.5px;letter-spacing:2px;gap:8px}.eye::before{width:18px}
  .btn-row{display:grid!important;grid-template-columns:1fr;gap:10px;margin-top:22px}.btn-primary,.btn-secondary,.btn-ghost,.btn-sky,.fsubmit{width:100%;justify-content:center;min-height:48px;padding:13px 18px;font-size:12px;letter-spacing:1.2px;text-align:center}
  .hero{min-height:calc(100svh - var(--nav-h));padding-block:20px 10px;display:flex;align-items:center}.hero-photo{width:100%;opacity:.38}.hero-photo img{height:100%;object-fit:cover}.hero-photo::after{background:linear-gradient(90deg,rgba(1,29,66,.98),rgba(1,29,66,.78))}.hero-grid,.hero-scan{opacity:.5}.hero-content{grid-template-columns:1fr;padding-block:36px;gap:20px}.hero h1{font-size:clamp(38px,13vw,54px)!important;margin-bottom:14px!important}.hero-desc-wrap p{font-size:15.5px!important;line-height:1.65!important;max-width:100%!important}.hero-tags{display:flex;gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;margin-bottom:16px;-webkit-overflow-scrolling:touch}.htag{flex:0 0 auto;font-size:7.5px;letter-spacing:1px;padding:5px 9px}.hero-bar{display:grid;grid-template-columns:1fr;width:100%;margin-top:18px}.hb{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.1);padding:9px 12px}.hb:last-child{border-bottom:0}.hb-txt{font-size:9px;line-height:1.35}.hero-panel,.scroll-cue{display:none!important}
  .ss-inner,.svc-grid,.sector-grid,.ind-wrap,.why-grid,.hse-wrap,.mstat-row,.trust-grid,.proj-grid,.clients-tbl,.ctc-layout,.fg2,.spec-row{grid-template-columns:1fr!important;gap:16px}.ss-cell{border-right:0;border-bottom:1px solid var(--border);padding:24px 16px}.ss-cell:last-child{border-bottom:0}.ss-n{font-size:42px}
  .svc-card-img,.sector-img,.ind-img{height:clamp(170px,52vw,220px)}.proj-photo{height:clamp(180px,56vw,230px)}.svc-card-body,.sector-body,.ind-body,.proj-body{padding:20px}.svc-card h3,.sector-body h3,.ind-body h3,.proj-ttl{font-size:23px;line-height:1.08}.svc-card-num{display:none!important}
  .t-card{padding:18px;gap:12px;align-items:flex-start}.t-ico{width:40px;height:40px;flex:0 0 40px}.royal-panel{padding:30px 20px}.cta-inner{padding-block:54px;gap:26px;flex-direction:column;align-items:flex-start}.cta-acts{display:grid;width:100%;grid-template-columns:1fr}.cta-text h2{font-size:34px!important;line-height:1.05}
  .mrq-item{width:250px;height:165px}.pill-wrap{gap:7px}.pill{font-size:11px;padding:7px 12px}
  .pghero{min-height:280px;padding-block:48px}.pghero-content .h1{font-size:40px!important}.pghero-content p{font-size:15px!important}.facts-tbl,.fr{display:block}.fr-k,.fr-v{padding:11px 14px}.tl-yr{width:44px;font-size:9.5px;padding-right:8px}.tl-sp{margin-right:12px}.tl-b p{font-size:13.5px}.hse-c,.why-c{padding:22px}.hse-n{font-size:56px}.mstat{padding:20px}.mstat-n{font-size:42px}
  .fsvc{display:block;border:1px solid var(--border);margin-bottom:18px}.fsvc-side{display:grid;grid-template-columns:auto minmax(0,1fr);border-right:0;border-bottom:1px solid var(--border);padding:18px;gap:6px 12px}.fsvc-n{font-size:52px}.fsvc-note{grid-column:1/-1;margin:0;padding-top:8px}.fsvc-body{padding:20px}.fsvc-img{height:180px;margin-bottom:16px}
  .rf-row{display:flex;flex-wrap:nowrap;overflow-x:auto;margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1);padding:0 var(--gutter) 9px;-webkit-overflow-scrolling:touch}.rf-btn{flex:0 0 auto;white-space:nowrap}.rtbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.rtbl{min-width:720px}.rtbl th,.rtbl td{padding:11px 12px}
  .steps-row{display:grid;grid-template-columns:1fr!important;gap:22px}.steps-row::before{display:none}.step{display:grid;grid-template-columns:52px minmax(0,1fr);text-align:left;gap:0 14px;padding:0}.step-n{width:50px;height:50px;font-size:20px;margin:0;grid-row:1 / span 3}.step-title{font-size:17px}.step-body{font-size:13px}
  .form-tabs{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch}.ftab{flex:0 0 auto;min-width:142px;padding:12px}.form-body{padding:22px 16px}.fg2{margin-bottom:14px}.fg input,.fg select,.fg textarea{padding:12px 13px}.fnav{display:grid;grid-template-columns:1fr;gap:10px}.fnote{font-size:9px;line-height:1.45}
  .proj-meta{grid-template-columns:1fr!important;gap:10px}.ct{padding:13px 15px}.info-blk{box-shadow:none}.ir{padding:13px 16px}.resp-r{display:block;padding:13px 16px}.resp-val{display:block;margin-top:4px}.map-wrap img{height:150px}
  .footer{padding-block:46px 26px}.footer-grid{grid-template-columns:1fr!important;gap:26px;margin-bottom:30px}.footer-grid .f-col:last-child{grid-column:auto}.f-bottom{display:block}.f-note{display:block;line-height:1.5}.f-note+.f-note{margin-top:8px}.f-badges{flex-wrap:wrap}
}

@media (max-width:390px){
  :root{--gutter:15px}.nav-in{padding-inline:12px}.brand-name{font-size:14px;max-width:calc(100vw - 100px)}.nav-toggle{width:40px;height:40px;flex-basis:40px}.hero h1{font-size:36px!important}.hero-desc-wrap p{font-size:14.5px!important}.h2{font-size:28px!important}.btn-primary,.btn-secondary,.btn-ghost,.btn-sky{font-size:11.5px;letter-spacing:1px}.svc-card-img,.ind-img,.sector-img{height:165px}.proj-photo{height:175px}.mrq-item{width:230px;height:155px}
}

@media (max-width:900px) and (orientation:landscape){
  .hero{min-height:auto}.hero-content{padding-block:30px}.hero h1{font-size:42px!important}.hero-tags{display:none}.nav-links{padding-bottom:20px}.nl{padding-block:12px;min-height:44px}
}

@supports not (height:100dvh){
  .nav-links{height:calc(100vh - var(--nav-h))}.hero{min-height:calc(100vh - var(--nav-h))}
}

/* =========================================================
   Final section-by-section responsive hardening
   Updated for mobile, iPad/tablet and desktop consistency.
   ========================================================= */
html, body { max-width: 100%; overflow-x: hidden; }
body { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
img, video, iframe, svg { max-width: 100%; height: auto; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }

.nav { width: 100%; }
.nav-in, .W, .hero-content, .cta-inner, .footer-grid, .ctc-layout, .fsvc, .proj-grid, .svc-grid, .sector-grid, .ind-wrap, .trust-grid { min-width: 0; }
.h1, .h2, .h3, .h4, p, span, a, div { overflow-wrap: anywhere; }
.brand-name, .brand-sub, .nl, .btn-primary, .btn-secondary, .btn-ghost, .btn-sky, .nav-btn { overflow-wrap: normal; }

.hero-frame, .svc-card, .sector-card, .ind-c, .proj-card, .t-card, .form-wrap, .info-blk, .royal-panel, .facts-tbl { border-radius: 0; }
.hero-photo img, .svc-card-img img, .sector-img img, .ind-img img, .proj-photo img, .map-wrap img { width: 100%; height: 100%; object-fit: cover; }

@media (min-width:1181px){
  .nav-links { display: flex !important; }
  .nav-toggle { display: none !important; }
  .W { max-width: 1280px; }
  .hero-content { grid-template-columns: minmax(0,1fr) minmax(420px,1fr); }
  .svc-grid, .sector-grid, .ind-wrap { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .why-grid, .ss-inner, .mstat-row { grid-template-columns: repeat(4, minmax(0,1fr)); }
}

@media (max-width:1180px){
  .nav { position: fixed; }
  .nav-in { max-width: none; }
  .nav-toggle { display: inline-flex; align-items: center; justify-content: center; position: relative; border: 1px solid var(--border); background: var(--white); }
  .nav-toggle span, .nav-toggle::before, .nav-toggle::after { content:''; position:absolute; width:20px; height:2px; background:var(--royal); transition:transform .25s, opacity .25s; }
  .nav-toggle::before { transform: translateY(-7px); }
  .nav-toggle::after { transform: translateY(7px); }
  body.menu-open .nav-toggle span { opacity:0; }
  body.menu-open .nav-toggle::before { transform: rotate(45deg); }
  body.menu-open .nav-toggle::after { transform: rotate(-45deg); }
  .nav-links { position: fixed; left: 0; right: 0; top: var(--nav-h,70px); background: rgba(255,255,255,.98); backdrop-filter: blur(16px); display: flex; flex-direction: column; transform: translateX(100%); transition: transform .28s var(--ease); z-index: 9899; border-top:1px solid var(--border); overflow-y:auto; }
  body.menu-open .nav-links { transform: translateX(0); }
  .nav-links .nl { width:100%; justify-content:flex-start; border-bottom:1px solid var(--border); height:auto; }
}

@media (min-width:768px) and (max-width:1180px){
  :root { --nav-h: 68px; }
  .nav, .nav-in { height: var(--nav-h); }
  .nav-in { padding-inline: 28px; }
  .brand-sub { max-width: 360px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .nav-links { height: calc(100dvh - var(--nav-h)); padding: 22px 34px 40px; }
  .nav-links .nl { font-size: 18px; padding: 18px 4px; }
  .pghero { min-height: 340px; }
  .pghero-content .h1 { max-width: 720px; }
  .form-tabs { overflow-x: auto; }
  .ftab { flex: 0 0 auto; }
  .rtbl-wrap { overflow-x: auto; }
  .rtbl { min-width: 760px; }
  .clients-tbl .ct { min-height: 58px; display:flex; align-items:center; }
}

@media (max-width:767px){
  .nav { box-shadow: 0 4px 18px rgba(1,29,66,.12); }
  .nav-links { overscroll-behavior: contain; }
  .pghero-bg { background-position:center center; }
  .hero-photo { inset:0; height:100%; }
  .hero-content > div:first-child { min-width:0; }
  .hero-bar { border-color: rgba(255,255,255,.16); }
  .ss-inner { border-top:0; }
  .svc-card, .sector-card, .ind-c, .proj-card, .t-card, .q-item, .hse-c, .why-c { box-shadow: 0 6px 18px rgba(10,69,146,.10); }
  .svc-card:hover, .sector-card:hover, .ind-c:hover, .proj-card:hover, .t-card:hover, .q-item:hover, .hse-c:hover, .why-c:hover { transform:none; }
  .trust-grid .t-card { display:grid; grid-template-columns:44px minmax(0,1fr); }
  .royal-panel * { max-width:100%; }
  .facts-tbl { border-left:0; border-right:0; }
  .fr { border-bottom:1px solid var(--border); }
  .fr-k { display:block; }
  .fr-v { display:block; }
  .mstat-row, .clients-tbl { background: transparent; }
  .hse-wrap, .why-grid, .sector-grid, .svc-grid, .ind-wrap, .proj-grid, .trust-grid { width: 100%; }
  .fsvc-side { align-items:center; }
  .fsvc-body .lead { margin-bottom: 12px; }
  .spec-box { min-height: auto; }
  .rtbl-wrap { margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); border-left:0; border-right:0; }
  .steps-row .step { align-items:start; }
  .form-wrap { margin-inline: calc(var(--gutter) * -1); border-left:0; border-right:0; }
  .form-tabs { padding-left: var(--gutter); }
  .form-body { padding-left: var(--gutter); padding-right: var(--gutter); }
  .fg input, .fg select, .fg textarea { font-size:16px; } /* prevents iOS zoom */
  .ctc-layout { gap: 30px; }
  .info-blk { border-left:0; border-right:0; margin-inline: calc(var(--gutter) * -1); }
  .ir, .resp-r { padding-left: var(--gutter); padding-right: var(--gutter); }
  .footer-grid { text-align:left; }
  .f-contact span, .f-col a { line-height:1.55; }
  .f-bottom { gap:8px; }
}

@media (max-width:480px){
  .hero-tags::-webkit-scrollbar, .rf-row::-webkit-scrollbar, .form-tabs::-webkit-scrollbar { display:none; }
  .pghero { min-height: 250px; }
  .pghero-content .h1 { font-size: 34px !important; }
  .hero { min-height: auto; }
  .hero-content { padding-block: 34px 28px; }
  .ss-n { font-size: 38px; }
  .svc-card h3, .sector-body h3, .ind-body h3, .proj-ttl { font-size:21px; }
  .footer .f-brand { font-size: 28px; }
}

@media print{
  .nav, #progress, .nav-toggle, .hero-scan, .scroll-cue { display:none!important; }
  .pg { display:block!important; padding-top:0!important; }
  .footer { page-break-inside: avoid; }
}
