/* ════════════════════════════════════════════
   NOR-CAL SECURITY V3 — SHARED STYLESHEET
   Font: Syne (headings) + DM Sans (body)
════════════════════════════════════════════ */
:root{
  --bg:#07090f;--bg2:#0d1120;--bg3:#131829;--bg4:#1a2138;
  --gold:#f0a500;--gold2:#fbbf24;--gold3:#fde68a;--glow:rgba(240,165,0,.15);
  --white:#fff;--off:#dde3f0;--muted:#7a849e;--faint:#1e2540;
  --red:#e53e3e;--green:#38a169;--blue:#3b82f6;
  --r:12px;--r2:20px;--nav-h:76px;
  --fh:'Raleway',sans-serif;--fb:'DM Sans',sans-serif;
  --trans:.3s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--fb);background:var(--bg);color:var(--off);overflow-x:hidden;cursor:none}
img{display:block;width:100%;object-fit:cover}
a{text-decoration:none;color:inherit}
button{font-family:var(--fb);cursor:none}
input,textarea,select{font-family:var(--fb)}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px}

/* ── CURSOR ── */
#cursor-dot{position:fixed;width:8px;height:8px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);transition:width .2s,height .2s}
#cursor-ring{position:fixed;width:36px;height:36px;border:1.5px solid rgba(240,165,0,.5);border-radius:50%;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);transition:width .2s,height .2s,border-color .2s}
body:has(a:hover) #cursor-ring,body:has(button:hover) #cursor-ring{width:52px;height:52px;border-color:var(--gold)}
body:has(a:hover) #cursor-dot,body:has(button:hover) #cursor-dot{width:4px;height:4px}

/* ── SCROLL PROGRESS ── */
#scroll-prog{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold2));z-index:10000;width:0%;transition:width .1s}

/* ── EMERGENCY BAR ── */
.ebar{background:var(--red);padding:9px 40px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:13px;font-weight:600;position:relative;z-index:9998;letter-spacing:.2px}
.ebar a{color:#fff;font-weight:700;transition:opacity .2s}
.ebar a:hover{opacity:.8}
.epulse{width:8px;height:8px;background:#fff;border-radius:50%;flex-shrink:0;animation:epulse 1.4s ease-in-out infinite}
@keyframes epulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.4}}

/* ── NAVIGATION ── */
nav#main{position:sticky;top:0;z-index:9997;height:var(--nav-h);display:flex;align-items:center;padding:0 48px;background:rgba(7,9,15,.96);backdrop-filter:blur(20px);border-bottom:1px solid rgba(240,165,0,.1);transition:background .3s,box-shadow .3s}
nav#main.scrolled{background:rgba(7,9,15,.99);box-shadow:0 4px 40px rgba(0,0,0,.5)}
.nav-brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.nav-shield{width:44px;height:44px;background:linear-gradient(135deg,var(--gold),var(--gold2));clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--bg);transition:transform .3s}
.nav-brand:hover .nav-shield{transform:scale(1.1) rotate(5deg)}
.brand-text strong{display:block;font-family:var(--fh);font-size:20px;font-weight:800;letter-spacing:2px;color:#fff;line-height:1}
.brand-text span{display:block;font-size:9.5px;letter-spacing:3.5px;text-transform:uppercase;color:var(--gold)}
.nav-menu{display:flex;align-items:center;gap:2px;list-style:none;margin-left:auto;margin-right:0}
.nav-item{position:relative}
.nav-link{display:flex;align-items:center;gap:5px;padding:10px 16px;font-size:13.5px;font-weight:500;color:var(--off);border-radius:8px;transition:color .2s,background .2s;white-space:nowrap;cursor:none}
.nav-link:hover,.nav-link.active{color:var(--gold);background:var(--glow)}
.nav-link .arr{font-size:10px;transition:transform .25s;color:var(--muted)}
.nav-item:hover .arr{transform:rotate(180deg);color:var(--gold)}
.nav-cta{background:var(--gold)!important;color:var(--bg)!important;font-weight:700!important;border-radius:8px;padding:10px 22px!important}
.nav-cta:hover{background:var(--gold2)!important;transform:translateY(-1px);box-shadow:0 8px 24px rgba(240,165,0,.35)}

/* DROPDOWNS */
.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s;z-index:9999}
.dd-simple{background:var(--bg2);border:1px solid rgba(240,165,0,.12);border-radius:var(--r2);padding:10px;min-width:230px;box-shadow:0 24px 64px rgba(0,0,0,.6)}
.dd-simple a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;font-size:14px;color:var(--off);transition:background .2s,color .2s}
.dd-simple a:hover{background:var(--glow);color:var(--gold)}
.dd-simple a .di{font-size:18px;flex-shrink:0;width:28px;text-align:center}
.dd-simple a .dt strong{display:block;font-size:13.5px;font-weight:600;line-height:1.2;margin-bottom:2px}
.dd-simple a .dt span{font-size:11.5px;color:var(--muted)}
.dd-mega{left:50%;transform:translateX(-50%) translateY(-8px);min-width:760px;background:var(--bg2);border:1px solid rgba(240,165,0,.12);border-radius:var(--r2);padding:24px;box-shadow:0 24px 64px rgba(0,0,0,.6)}
.dm-header{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--faint)}
.dm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dm-item{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:10px;transition:background .2s;cursor:none}
.dm-item:hover{background:var(--glow)}
.dm-item:hover .dm-icon{background:var(--gold);color:var(--bg)}
.dm-icon{width:36px;height:36px;background:var(--faint);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;transition:background .2s,color .2s}
.dm-txt strong{display:block;font-size:13.5px;font-weight:600;color:#fff;line-height:1.2;margin-bottom:2px}
.dm-txt span{font-size:12px;color:var(--muted)}
.dm-cta{margin-top:16px;padding-top:14px;border-top:1px solid var(--faint);display:flex;gap:10px;align-items:center}
.dm-cta-btn{display:inline-flex;align-items:center;gap:6px;background:var(--gold);color:var(--bg);padding:9px 18px;border-radius:8px;font-size:13px;font-weight:700;transition:background .2s}
.dm-cta-btn:hover{background:var(--gold2)}
.dm-cta-link{font-size:13px;color:var(--muted);transition:color .2s}
.dm-cta-link:hover{color:var(--gold)}
.dd-divider{border-top:1px solid rgba(255,255,255,.07);margin:8px 0;padding-top:8px}

/* MOBILE NAV */
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px;cursor:none}
.hamburger span{display:block;width:22px;height:2px;background:var(--off);border-radius:1px;transition:.3s}
.mob-nav{display:none;position:fixed;inset:0;background:rgba(7,9,15,.98);backdrop-filter:blur(20px);z-index:9996;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.mob-nav.open{display:flex}
.mob-nav a{font-family:var(--fh);font-size:32px;font-weight:800;letter-spacing:2px;color:var(--off);padding:10px;transition:color .2s;cursor:none}
.mob-nav a:hover,.mob-nav a.active{color:var(--gold)}
.mob-close{position:absolute;top:24px;right:24px;background:none;border:none;color:var(--gold);font-size:28px;cursor:none}

/* ── FLOATING BUTTONS ── */
.fab-group{position:fixed;bottom:32px;right:32px;z-index:9000;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.fab{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:100px;font-size:13px;font-weight:700;border:none;transition:transform .2s,box-shadow .2s;letter-spacing:.3px;cursor:none}
.fab:hover{transform:translateY(-2px)}
.fab-call{background:var(--gold);color:var(--bg);box-shadow:0 6px 24px rgba(240,165,0,.4)}
.fab-call:hover{box-shadow:0 12px 32px rgba(240,165,0,.5)}
.fab-wa{background:#25d366;color:#fff;box-shadow:0 6px 24px rgba(37,211,102,.3)}
.fab-wa:hover{box-shadow:0 12px 32px rgba(37,211,102,.4)}
#st{position:fixed;bottom:110px;right:32px;z-index:8999;width:46px;height:46px;background:var(--bg2);border:1px solid rgba(240,165,0,.3);color:var(--gold);border-radius:50%;font-size:18px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;cursor:none}
#st.vis{opacity:1;pointer-events:all}
#st:hover{background:var(--glow)}

/* ── SHARED HELPERS ── */
.sec{padding:100px 48px}
.si{max-width:1240px;margin:0 auto}
.tag{display:inline-flex;align-items:center;gap:8px;background:var(--glow);border:1px solid rgba(240,165,0,.25);color:var(--gold);padding:6px 16px;border-radius:100px;font-size:11.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:16px}
.tag::before{content:'';width:5px;height:5px;background:var(--gold);border-radius:50%}
.h1{font-family:var(--fh);font-size:clamp(48px,7vw,90px);font-weight:800;line-height:.92;letter-spacing:-1px;color:#fff}
.h2{font-family:var(--fh);font-size:clamp(32px,5vw,58px);font-weight:800;line-height:.95;letter-spacing:-.5px;color:#fff}
.h3{font-family:var(--fh);font-size:clamp(20px,3vw,28px);font-weight:700;color:#fff}
.gold{color:var(--gold)}
.lead{color:var(--muted);font-size:17px;line-height:1.8;max-width:600px}
.center{text-align:center}
.center .lead,.center .tag{margin-left:auto;margin-right:auto}
.center .tag{display:inline-flex}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 28px;font-family:var(--fb);font-size:14.5px;font-weight:600;border-radius:10px;border:none;transition:all .25s;letter-spacing:.2px;cursor:none}
.btn-gold{background:var(--gold);color:var(--bg)}
.btn-gold:hover{background:var(--gold2);transform:translateY(-2px);box-shadow:0 12px 32px rgba(240,165,0,.4)}
.btn-ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.15)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}
.btn-outline-g{background:transparent;color:var(--gold);border:1.5px solid var(--gold)}
.btn-outline-g:hover{background:var(--gold);color:var(--bg)}
.btn-sm{padding:9px 18px;font-size:13px}

/* GLASS CARD */
.gcard{background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.08);border-radius:var(--r2);backdrop-filter:blur(12px);transition:border-color .3s,transform .3s,box-shadow .3s}
.gcard:hover{border-color:rgba(240,165,0,.3);transform:translateY(-5px);box-shadow:0 24px 60px rgba(0,0,0,.4)}

/* PAGE HERO */
.ph{position:relative;height:340px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.ph-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.22)}
.ph-ov{position:absolute;inset:0;background:linear-gradient(135deg,rgba(7,9,15,.9),rgba(13,17,32,.8))}
.ph-noise{position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ph-content{position:relative;z-index:2}
.ph-h{text-transform:uppercase;letter-spacing:4px}
.ph-h span{color:var(--gold)}
.bc{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;font-size:13px;color:var(--muted)}
.bc a{color:var(--gold);transition:opacity .2s}
.bc a:hover{opacity:.7}

/* MARQUEE */
.marquee-sec{background:var(--bg2);border-top:1px solid rgba(240,165,0,.08);border-bottom:1px solid rgba(240,165,0,.08);padding:24px 0;overflow:hidden}
.marquee-track{display:flex;gap:60px;animation:marquee 25s linear infinite;width:max-content}
.marquee-track:hover{animation-play-state:paused}
.mi-item{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px;font-weight:600;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}
.mi-sep{color:rgba(240,165,0,.3);font-size:20px}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* TRUST STRIP */
.ts{background:var(--bg2);border-bottom:1px solid rgba(240,165,0,.08);padding:28px 48px}
.ts-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr)}
.ti{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;border-right:1px solid rgba(255,255,255,.05)}
.ti:last-child{border-right:none}
.ti-ico{font-size:24px}
.ti strong{display:block;font-size:14px;font-weight:700;color:#fff}
.ti span{font-size:11px;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}

/* STATS BANNER */
.stats-ban{background:linear-gradient(135deg,#0a0f1e,#0d1628);border-top:1px solid rgba(240,165,0,.1);border-bottom:1px solid rgba(240,165,0,.1);padding:72px 48px;position:relative;overflow:hidden}
.stats-ban::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 50px,rgba(240,165,0,.015) 50px,rgba(240,165,0,.015) 100px)}
.stats-ban::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(240,165,0,.05),transparent 65%);pointer-events:none}
.stats-row{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;position:relative}
.snum{font-family:var(--fh);font-size:64px;font-weight:800;color:var(--gold);line-height:1;display:flex;align-items:flex-start;justify-content:center}
.snum sup{font-size:28px;margin-top:8px}
.stat-it p{font-size:12px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;text-align:center;margin-top:8px}

/* CTA SECTION */
.cta-sec{background:var(--bg);padding:100px 48px;text-align:center;position:relative;overflow:hidden;border-top:1px solid rgba(240,165,0,.08)}
.cta-sec::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(240,165,0,.05),transparent 65%);pointer-events:none}
.cta-inner{position:relative;max-width:720px;margin:0 auto}
.cta-h{font-family:var(--fh);font-size:clamp(40px,6vw,72px);font-weight:800;letter-spacing:-1px;line-height:.92;color:#fff;margin-bottom:18px}
.cta-h span{color:var(--gold)}
.cta-p{color:var(--muted);font-size:18px;margin-bottom:36px;line-height:1.7}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:28px}
.cta-contacts{display:flex;gap:28px;justify-content:center;flex-wrap:wrap}
.ccc{display:flex;align-items:center;gap:9px;color:var(--off);font-size:15px}
.ccc a{color:#fff;font-weight:700;transition:color .2s}
.ccc a:hover{color:var(--gold)}

/* FORMS */
.form-box{background:var(--bg2);border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:40px}
.fb-title{font-family:var(--fh);font-size:28px;font-weight:800;color:#fff;margin-bottom:6px;letter-spacing:-.3px}
.fb-sub{color:var(--muted);font-size:14px;margin-bottom:30px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.fg{display:flex;flex-direction:column}
.fg.full{grid-column:1/-1}
.fg label{font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.fi{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:13px 16px;color:#fff;font-size:14px;font-family:var(--fb);width:100%;transition:border-color .25s,background .25s}
.fi:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.07)}
.fi::placeholder{color:var(--muted)}
textarea.fi{resize:vertical;min-height:120px}
select.fi{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M6 8L0 0h12z' fill='%23f0a500'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.f-submit{width:100%;margin-top:20px}
.f-note{font-size:12px;color:var(--muted);text-align:center;margin-top:12px}
.f-note a{color:var(--gold)}

/* FAQ */
.faq-item{border-bottom:1px solid rgba(255,255,255,.07)}
.faq-q{width:100%;background:none;border:none;color:#fff;font-family:var(--fb);font-size:15px;font-weight:600;text-align:left;padding:20px 0;cursor:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq-arr{color:var(--gold);font-size:20px;transition:transform .3s;flex-shrink:0}
.faq-item.open .faq-arr{transform:rotate(45deg)}
.faq-a{color:var(--muted);font-size:14px;line-height:1.8;max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s}
.faq-item.open .faq-a{max-height:240px;padding-bottom:18px}

/* SERVICE CARDS */
.svc-sm{border-radius:20px;overflow:hidden;background:var(--bg2);border:1px solid rgba(255,255,255,.07);transition:transform .3s,border-color .3s}
.svc-sm:hover{transform:translateY(-5px);border-color:rgba(240,165,0,.3)}
.svc-sm-img{height:200px;overflow:hidden;position:relative}
.svc-sm-img img{height:100%;object-fit:cover;transition:transform .5s}
.svc-sm:hover .svc-sm-img img{transform:scale(1.07)}
.svc-sm-ov{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,9,15,.85),transparent 60%)}
.svc-sm-body{padding:24px;background:var(--bg3)}
.svc-sm-body h2{font-family:var(--fh);font-size:19px;font-weight:700;color:#fff;margin-bottom:8px}
.svc-sm-body p{color:var(--muted);font-size:13.5px;line-height:1.65;margin-bottom:16px}
.svc-link{display:inline-flex;align-items:center;gap:6px;color:var(--gold);font-size:13px;font-weight:600;transition:gap .2s}
.svc-sm:hover .svc-link{gap:10px}

/* TESTIMONIALS */
.tcard{border-radius:20px;padding:28px;position:relative;background:var(--bg2);border:1px solid rgba(255,255,255,.07);transition:border-color .3s}
.tcard::after{content:'"';position:absolute;top:16px;right:22px;font-family:var(--fh);font-size:100px;font-weight:800;color:rgba(240,165,0,.07);line-height:1}
.tcard:hover{border-color:rgba(240,165,0,.3)}
.t-stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:14px}
.t-text{color:var(--off);font-size:15px;line-height:1.8;margin-bottom:24px;font-style:italic}
.t-auth{display:flex;align-items:center;gap:12px}
.t-av{width:48px;height:48px;border-radius:50%;background:var(--glow);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:800;color:var(--gold);font-size:18px;flex-shrink:0}
.t-name{font-weight:700;font-size:14.5px;color:#fff}
.t-role{font-size:12px;color:var(--muted)}

/* WHY FEATURES */
.wf{background:var(--bg);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:24px;transition:all .3s}
.wf:hover{border-color:rgba(240,165,0,.3);transform:translateY(-3px)}
.wf-ico{font-size:28px;margin-bottom:14px}
.wf h3{font-family:var(--fh);font-size:15.5px;font-weight:700;color:#fff;margin-bottom:8px}
.wf p{color:var(--muted);font-size:13px;line-height:1.65}

/* PROCESS */
.proc-row{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:64px;position:relative}
.proc-row::before{content:'';position:absolute;top:44px;left:calc(12.5% + 20px);right:calc(12.5% + 20px);height:2px;background:linear-gradient(90deg,var(--gold),rgba(240,165,0,.15))}
.pstep{text-align:center;position:relative}
.pstep-n{width:88px;height:88px;margin:0 auto 24px;border:2px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-size:32px;font-weight:800;color:var(--gold);background:var(--bg2);position:relative;z-index:1}
.pstep h3{font-family:var(--fh);font-size:16px;font-weight:700;color:#fff;margin-bottom:10px}
.pstep p{color:var(--muted);font-size:13.5px;line-height:1.65}

/* INDUSTRIES */
.ind-card{background:var(--bg2);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:28px 22px;text-align:center;transition:all .3s;position:relative;overflow:hidden}
.ind-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(240,165,0,.06),transparent);opacity:0;transition:opacity .3s}
.ind-card:hover::before{opacity:1}
.ind-card:hover{border-color:rgba(240,165,0,.3);transform:translateY(-4px)}
.ind-ico{font-size:38px;margin-bottom:16px}
.ind-card h3{font-family:var(--fh);font-size:16px;font-weight:700;color:#fff;margin-bottom:8px}
.ind-card p{color:var(--muted);font-size:13px;line-height:1.6}

/* BIG SERVICE CARDS */
.svc-big{display:grid;grid-template-columns:420px 1fr;border-radius:20px;overflow:hidden;background:var(--bg2);border:1px solid rgba(255,255,255,.07);transition:border-color .3s;margin-bottom:28px}
.svc-big:hover{border-color:rgba(240,165,0,.3)}
.svc-big-img{overflow:hidden}
.svc-big-img img{height:100%;min-height:280px;object-fit:cover;transition:transform .4s}
.svc-big:hover .svc-big-img img{transform:scale(1.05)}
.svc-big-body{padding:36px;display:flex;flex-direction:column;justify-content:center}
.svc-cat{display:inline-block;background:var(--glow);border:1px solid rgba(240,165,0,.25);color:var(--gold);font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 12px;border-radius:100px;margin-bottom:14px}
.svc-big-body h2{font-family:var(--fh);font-size:26px;font-weight:800;color:#fff;margin-bottom:12px;letter-spacing:-.3px}
.svc-big-body p{color:var(--muted);font-size:14px;line-height:1.75;margin-bottom:18px}
.svc-feats{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:22px}
.svc-feats li{font-size:13px;color:var(--off);display:flex;gap:7px}
.svc-feats li::before{content:'✓';color:var(--gold);font-weight:900;flex-shrink:0}

/* AREA CARDS */
.acard{border-radius:20px;overflow:hidden;background:var(--bg2);border:1px solid rgba(255,255,255,.07);transition:all .3s;position:relative}
.acard:hover{border-color:rgba(240,165,0,.4);transform:translateY(-6px);box-shadow:0 28px 70px rgba(0,0,0,.5)}
.acard-img{height:220px;overflow:hidden;position:relative}
.acard-img img{height:100%;object-fit:cover;transition:transform .5s}
.acard:hover .acard-img img{transform:scale(1.08)}
.acard-ov{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,9,15,.9),rgba(7,9,15,.1) 60%)}
.acard-cta{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--gold);color:var(--bg);padding:8px 20px;border-radius:100px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;opacity:0;transition:opacity .3s;white-space:nowrap}
.acard:hover .acard-cta{opacity:1}
.acard-body{padding:22px 24px}
.acard-body h2{font-family:var(--fh);font-size:20px;font-weight:700;color:#fff;margin-bottom:8px}
.acard-body p{color:var(--muted);font-size:13.5px;line-height:1.6;margin-bottom:14px}
.atags{display:flex;flex-wrap:wrap;gap:6px}
.atag{background:var(--glow);border:1px solid rgba(240,165,0,.2);color:var(--gold);font-size:11px;font-weight:600;padding:4px 10px;border-radius:100px}

/* POSITION CARDS */
.pos-card{background:var(--bg2);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:26px;transition:all .3s}
.pos-card:hover{border-color:rgba(240,165,0,.35);transform:translateY(-3px)}
.pos-type{display:inline-block;padding:4px 12px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px}
.pt-full{background:rgba(56,161,105,.12);color:#68d391;border:1px solid rgba(56,161,105,.25)}
.pt-part{background:rgba(59,130,246,.12);color:#93c5fd;border:1px solid rgba(59,130,246,.25)}
.pos-card h3{font-family:var(--fh);font-size:18px;color:#fff;margin-bottom:8px}
.pos-card p{color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:16px}
.pos-reqs{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.pos-reqs li{font-size:12.5px;color:var(--off);display:flex;gap:7px}
.pos-reqs li::before{content:'✓';color:var(--gold);font-weight:900;flex-shrink:0}

/* CONTACT INFO */
.cic{background:var(--bg2);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:20px 22px;display:flex;gap:16px;align-items:flex-start;transition:border-color .3s}
.cic:hover{border-color:rgba(240,165,0,.3)}
.cic-ico{width:46px;height:46px;background:var(--glow);border:1px solid rgba(240,165,0,.22);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.cic-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:4px}
.cic-val{color:#fff;font-size:15px;font-weight:600}
.cic-val a{color:#fff;transition:color .2s}
.cic-val a:hover{color:var(--gold)}

/* FOOTER */
footer{background:#03050a;border-top:1px solid rgba(240,165,0,.1);padding:68px 48px 28px}
.f-inner{max-width:1240px;margin:0 auto}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr;gap:48px;margin-bottom:52px}
.fb p{color:var(--muted);font-size:14px;line-height:1.75;margin:16px 0 22px;max-width:280px}
.f-socs{display:flex;gap:8px}
.f-soc{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px;font-weight:700;transition:all .2s;cursor:none}
.f-soc:hover{background:var(--gold);color:var(--bg);border-color:var(--gold)}
.fc h5{font-family:var(--fh);font-weight:700;font-size:12.5px;letter-spacing:2px;text-transform:uppercase;margin-bottom:18px;color:#fff}
.fl{list-style:none;display:flex;flex-direction:column;gap:11px}
.fl a,.fl li{color:var(--muted);font-size:14px;transition:color .2s;cursor:none}
.fl a:hover,.fl li:hover{color:var(--gold)}
.fci{display:flex;gap:10px;align-items:flex-start;margin-bottom:13px}
.fci .ico{font-size:14px;flex-shrink:0;margin-top:2px}
.fci a{color:var(--off);font-size:14px;transition:color .2s}
.fci a:hover{color:var(--gold)}
.fci span{color:var(--muted);font-size:13.5px}
.f-bot{border-top:1px solid rgba(255,255,255,.06);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.f-bot p{color:var(--muted);font-size:13px}
.f-chips{display:flex;gap:8px}
.f-chip{background:rgba(240,165,0,.08);border:1px solid rgba(240,165,0,.18);color:var(--gold);font-size:11px;font-weight:700;padding:4px 10px;border-radius:100px}
.f-links{display:flex;gap:16px}
.f-links a{color:var(--muted);font-size:13px;transition:color .2s}
.f-links a:hover{color:var(--gold)}

/* REVEAL ANIMATIONS */
.rv{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease}
.rv-l{opacity:0;transform:translateX(-32px);transition:opacity .7s ease,transform .7s ease}
.rv-r{opacity:0;transform:translateX(32px);transition:opacity .7s ease,transform .7s ease}
.rv.in,.rv-l.in,.rv-r.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.18s}.d3{transition-delay:.26s}.d4{transition-delay:.34s}.d5{transition-delay:.42s}

/* CHECKLIST */
.cl-box{background:var(--bg2);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:28px}
.cl-box h3{font-family:var(--fh);font-size:18px;color:#fff;margin-bottom:20px}
.cl-items{display:flex;flex-direction:column;gap:10px}
.cl-item{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13.5px;color:var(--muted);line-height:1.5;transition:color .2s}
.cl-item input{accent-color:var(--gold);width:15px;height:15px;flex-shrink:0;margin-top:2px;cursor:pointer}
.cl-item.checked{color:var(--off)}

/* RESOURCES TABS */
.r-tabs{display:flex;gap:8px;margin-bottom:52px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:0;flex-wrap:wrap}
.rtab{padding:12px 22px;font-size:14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;transition:all .25s;cursor:none;background:none;border-left:none;border-right:none;border-top:none;margin-bottom:-1px}
.rtab.active,.rtab:hover{color:var(--gold);border-bottom-color:var(--gold)}
.rpanel{display:none}
.rpanel.active{display:block}

/* TIPS */
.tip-card{background:var(--bg2);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:28px;transition:border-color .3s}
.tip-card:hover{border-color:rgba(240,165,0,.3)}
.tip-cat{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.tip-card h3{font-family:var(--fh);font-size:18px;color:#fff;margin-bottom:10px}
.tip-card p{color:var(--muted);font-size:13.5px;line-height:1.7}

/* GUARD CARD GUIDE */
.gc-step{display:flex;gap:16px;align-items:flex-start;margin-bottom:20px}
.gc-num{width:44px;height:44px;background:var(--glow);border:2px solid rgba(240,165,0,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-size:18px;font-weight:800;color:var(--gold);flex-shrink:0}
.gc-num-body h3{font-family:var(--fh);font-size:16px;color:#fff;margin-bottom:6px}
.gc-num-body p{color:var(--muted);font-size:13.5px;line-height:1.65}
.gc-info{background:var(--bg2);border:1px solid rgba(240,165,0,.2);border-radius:16px;padding:28px}
.gc-info h3{font-family:var(--fh);font-size:18px;color:#fff;margin-bottom:16px}
.gc-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px}
.gc-row:last-child{border-bottom:none}
.gc-row .lbl{color:var(--muted)}
.gc-row .val{color:var(--off);font-weight:600}

/* AVAILABILITY BADGE */
.avail{display:inline-flex;align-items:center;gap:7px;background:rgba(56,161,105,.12);border:1px solid rgba(56,161,105,.3);color:#68d391;padding:5px 14px;border-radius:100px;font-size:12px;font-weight:600}
.avail-dot{width:7px;height:7px;background:#68d391;border-radius:50%;animation:epulse 1.4s ease-in-out infinite}

/* HOURS */
.hw{background:var(--bg2);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:22px;margin-bottom:24px}
.hw h4{font-family:var(--fh);font-size:16px;color:#fff;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.hw-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px}
.hw-row:last-child{border-bottom:none}
.hw-day{color:var(--muted)}
.hw-time{font-weight:600;color:var(--off)}
.hw-live{color:var(--green);font-weight:700}

/* TIMELINE */
.tl{position:relative;max-width:760px;margin:56px auto 0;padding-left:44px}
.tl::before{content:'';position:absolute;left:18px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--gold),rgba(240,165,0,.15))}
.tl-item{position:relative;margin-bottom:44px}
.tl-dot{position:absolute;left:-34px;top:6px;width:16px;height:16px;background:var(--gold);border-radius:50%;border:3px solid var(--bg)}
.tl-year{font-family:var(--fh);font-size:22px;color:var(--gold);letter-spacing:.5px;margin-bottom:4px}
.tl-item h3{font-family:var(--fh);font-size:16px;color:#fff;margin-bottom:6px}
.tl-item p{color:var(--muted);font-size:14px;line-height:1.7}


/* =================================================
   SELECT DROPDOWN FIX — options visible on dark bg
   ================================================= */
select.fi option,
select.form-input option {
  background: #0d1120;
  color: #dde3f0;
}
select.fi:focus,
select.form-input:focus {
  background: rgba(255,255,255,0.07);
}

/* =================================================

/* =================================================
   FLT ANIMATION (floating stat cards)
   ================================================= */
@keyframes flt {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* =================================================
   SELECT DROPDOWN — fix white-on-white options
   ================================================= */
select.fi option,
select.finput option {
  background: #0d1120;
  color: #dde3f0;
}

/* =================================================
   GLOBAL MOBILE BASE
   ================================================= */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: hidden; max-width: 100%; }
img { max-width: 100%; height: auto; display: block; }

/* Fix cursor on touch — hamburger & mobile links */
.hamburger { cursor: pointer !important; }
.mob-nav a, .mob-close { cursor: pointer !important; }

/* =================================================
   HAMBURGER ACTIVE STATE (X animation)
   ================================================= */
.hamburger.active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.hamburger.active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* =================================================
   TABLET — 1100px
   ================================================= */
@media (max-width: 1100px) {

  /* Padding reductions */
  .sec { padding: 80px 28px !important; }
  .si { padding-left: 0; padding-right: 0; }
  nav#main { padding: 0 28px; }
  .ts, .stats-ban { padding-left: 28px !important; padding-right: 28px !important; }
  .cta-sec { padding-left: 28px !important; padding-right: 28px !important; }
  footer { padding: 60px 28px 24px !important; }
  .f-inner { max-width: 100%; }

  /* Grid classes */
  .g3 { grid-template-columns: 1fr 1fr !important; }
  .g4 { grid-template-columns: 1fr 1fr !important; }

  /* Stats */
  .stats-row { grid-template-columns: repeat(3, 1fr) !important; }

  /* Trust strip */
  .ts-inner { grid-template-columns: repeat(3, 1fr) !important; }
  .ti:nth-child(4) { border-right: 1px solid rgba(255,255,255,.05); }
  .ti:nth-child(3), .ti:nth-child(5) { border-right: none; }

  /* Footer */
  .f-grid { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }

  /* Process */
  .proc-row { grid-template-columns: 1fr 1fr !important; }
  .proc-row::before { display: none !important; }

  /* Service big cards */
  .svc-big { grid-template-columns: 1fr !important; }
  .svc-big-img img { min-height: 220px; max-height: 280px; }

  /* Inline 2-col grids in .si */
  .si[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  /* Industry */
  .ind-card { padding: 22px 16px; }

  /* Test track */
  .test-track { grid-template-columns: 1fr 1fr !important; }
}

/* =================================================
   MOBILE — 768px
   ================================================= */
@media (max-width: 768px) {

  /* ── NAV ── */
  nav#main { padding: 0 16px; height: 64px; }
  .nav-menu { display: none !important; }
  .hamburger { display: flex !important; margin-left: auto; }
  .dropdown { display: none !important; }
  .nav-brand { gap: 10px; }
  .brand-text strong { font-size: 17px; letter-spacing: 1.5px; }
  .brand-text span { font-size: 8px; }
  .nav-shield { width: 36px; height: 36px; font-size: 13px; }

  /* ── MOBILE NAV OVERLAY ── */
  .mob-nav {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(7, 9, 15, 0.99);
    backdrop-filter: blur(24px);
    z-index: 9996;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 80px 24px 40px;
  }
  .mob-nav.open { display: flex !important; }
  .mob-nav a {
    font-family: var(--fh);
    font-size: 26px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: var(--off);
    padding: 10px 20px;
    transition: color 0.2s;
    cursor: pointer !important;
    text-decoration: none;
    border-radius: 8px;
    width: 100%;
    text-align: center;
  }
  .mob-nav a:hover, .mob-nav a.active { color: var(--gold); }
  .mob-nav a[style*="gold"] { color: var(--gold) !important; }
  .mob-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    color: var(--off);
    font-size: 22px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer !important;
    transition: background 0.2s, color 0.2s;
  }
  .mob-close:hover { background: rgba(240,165,0,.15); color: var(--gold); }

  /* ── EMERGENCY BAR ── */
  .ebar {
    padding: 8px 14px !important;
    font-size: 11.5px !important;
    gap: 6px !important;
    flex-wrap: wrap;
    justify-content: center;
  }
  /* Hide separators and email on mobile */
  .ebar > span[style*="opacity:.4"] { display: none !important; }
  .ebar > a[href*="mailto"] { display: none !important; }

  /* ── SECTION PADDING ── */
  .sec { padding: 52px 18px !important; }
  .ts { padding: 16px 18px !important; }
  .stats-ban { padding: 52px 18px !important; }
  .cta-sec { padding: 64px 18px !important; }
  footer { padding: 52px 18px 20px !important; }
  .f-inner { padding: 0; }

  /* ── HERO SECTION ── */
  /* Hero inner wrapper — target by style attribute */
  [style*="grid-template-columns:1.15fr 1fr"] {
    display: flex !important;
    flex-direction: column !important;
    padding: 48px 18px 52px !important;
    gap: 36px !important;
  }
  /* Hero H1 */
  [style*="grid-template-columns:1.15fr 1fr"] h1 {
    font-size: clamp(38px, 11vw, 56px) !important;
    letter-spacing: -1px !important;
    line-height: 0.92 !important;
    margin-bottom: 20px !important;
  }
  /* Hero image */
  [style*="height:560px"] {
    height: 280px !important;
    border-radius: 14px !important;
  }
  /* Floating stat cards */
  [style*="animation:flt"] {
    display: none !important;
  }
  /* Hero buttons */
  [style*="gap:14px;flex-wrap:wrap;margin-bottom:44px"] {
    flex-direction: column !important;
    gap: 10px !important;
  }
  [style*="gap:14px;flex-wrap:wrap;margin-bottom:44px"] .btn {
    width: 100% !important;
    justify-content: center !important;
  }
  /* Hero social proof */
  [style*="align-items:center;gap:16px;flex-wrap:wrap"] {
    gap: 12px !important;
  }

  /* ── HERO EYEBROW BADGE ── */
  [style*="letter-spacing:3px;text-transform:uppercase"] {
    font-size: 9px !important;
    padding: 5px 12px !important;
    letter-spacing: 1.5px !important;
  }

  /* ── ABOUT SECTION LAYOUT ── */
  /* Two-column about grid */
  .si[style*="grid-template-columns:1fr 1fr;gap:80px"] {
    grid-template-columns: 1fr !important;
    gap: 52px !important;
  }
  /* Floating "Guards on Duty" badge */
  [style*="top:24px;left:-20px"] {
    left: 10px !important;
    top: 10px !important;
  }
  /* Gold "15+" bottom badge */
  [style*="bottom:-22px;right:-22px"] {
    bottom: 10px !important;
    right: 10px !important;
    padding: 14px !important;
  }
  [style*="bottom:-22px;right:-22px"] span {
    font-size: 32px !important;
  }
  /* About checklist */
  ul[style*="grid-template-columns:1fr 1fr;gap:11px"] {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  /* About counters (3-col) */
  [style*="grid-template-columns:repeat(3,1fr);gap:16px"] {
    grid-template-columns: 1fr 1fr 1fr !important;
  }

  /* ── ALL INLINE TWO-COL GRIDS ── */
  .si[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  div[style*="grid-template-columns:1fr 1.2fr"],
  div[style*="grid-template-columns:1fr 1fr;gap:80px"],
  div[style*="grid-template-columns:1fr 1fr;gap:18px"],
  div[style*="grid-template-columns:1fr 1fr;gap:32px"] {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* ── GRID CLASSES ── */
  .g2, .g3, .g4 { grid-template-columns: 1fr !important; }

  /* ── TRUST STRIP ── */
  .ts-inner { grid-template-columns: 1fr 1fr !important; gap: 0 !important; }
  .ti { border-right: 1px solid rgba(255,255,255,.05); padding: 12px 8px; }
  .ti:nth-child(even) { border-right: none !important; }

  /* ── STATS ── */
  .stats-row { grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
  .snum { font-size: 48px !important; }
  .stat-it p { font-size: 10px !important; }

  /* ── INDUSTRY CARDS ── */
  .ind-card { grid-column: auto !important; }
  /* Keep ind-grid as 2-col on mobile */
  div[style*="margin-top:52px"] .g4,
  .g4 { grid-template-columns: 1fr 1fr !important; }
  .ind-ico { font-size: 28px !important; margin-bottom: 10px !important; }

  /* ── SERVICE CARDS ── */
  .svc-big {
    grid-template-columns: 1fr !important;
  }
  .svc-big[style*="direction:rtl"] { direction: ltr !important; }
  .svc-big-body[style*="direction:ltr"] { direction: ltr !important; }
  .svc-big-body { padding: 22px 18px !important; }
  .svc-big-img img { min-height: 200px; max-height: 240px; }
  .svc-big-feats { grid-template-columns: 1fr !important; }

  /* ── PROCESS ── */
  .proc-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    margin-top: 40px !important;
  }
  .proc-row::before { display: none !important; }
  .pstep-n { width: 64px; height: 64px; font-size: 22px !important; margin-bottom: 16px !important; }

  /* ── TESTIMONIALS ── */
  .test-track,
  .g3 { grid-template-columns: 1fr !important; }
  .tcard { padding: 22px !important; }

  /* ── WHY FEATURES ── */
  div[style*="grid-template-columns:1fr 1fr;gap:18px"].rv-r {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* ── FOOTER ── */
  .f-grid { grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
  .f-bot {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
  .f-chips { flex-wrap: wrap; gap: 6px !important; }
  .fb p { max-width: 100%; }

  /* ── CTA ── */
  .cta-btns { flex-direction: column !important; align-items: center !important; }
  .cta-btns .btn { width: 100% !important; max-width: 300px; justify-content: center !important; }
  .cta-contacts { flex-direction: column !important; gap: 6px !important; align-items: center; }
  .cta-h { font-size: clamp(28px, 8vw, 44px) !important; }

  /* ── FORMS ── */
  .f-row { grid-template-columns: 1fr !important; }
  .form-box, .form-wrap { padding: 22px 16px !important; }

  /* ── FAQ COLS ── */
  .faq-cols,
  div[style*="grid-template-columns:1fr 1fr;gap:0 64px"] {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  /* ── PAGE HERO ── */
  .ph { height: 200px !important; }
  .ph-content .h2 { font-size: 28px !important; }

  /* ── FLOATING BUTTONS ── */
  .fab-group { bottom: 16px !important; right: 16px !important; gap: 8px !important; }
  .fab { padding: 10px 14px !important; font-size: 12px !important; }
  .fab-icon { font-size: 15px !important; }
  #st { display: none !important; }

  /* ── MARQUEE ── */
  .marquee-sec { padding: 14px 0 !important; }
  .mi-item { font-size: 12px !important; }

  /* ── RESOURCES TABS ── */
  .resources-tabs, .r-tabs {
    overflow-x: auto !important;
    justify-content: flex-start !important;
    padding-bottom: 0;
  }
  .rtab { padding: 10px 12px !important; font-size: 12.5px !important; white-space: nowrap; }

  /* ── AREAS GRID ── */
  .area-grid,
  div[style*="grid-template-columns:repeat(3,1fr);gap:22px"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* ── GUARD CARD LAYOUT ── */
  div[style*="grid-template-columns:1fr 1fr;gap:60px"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* ── POSITIONS / BENEFITS ── */
  div[style*="grid-template-columns:repeat(3,1fr);gap:20px"],
  div[style*="grid-template-columns:1fr 1fr 1fr"],
  .positions-grid { grid-template-columns: 1fr !important; gap: 14px !important; }

  /* Benefits 2-col inline */
  div[style*="grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px"] {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* ── MISSION/VALUES 2x2 ── */
  div[style*="grid-template-columns:1fr 1fr;gap:14px;margin-bottom:32px"] {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* ── CERT ROW ── */
  .certs-grid { gap: 8px !important; }

  /* ── CHECKLIST ── */
  .cl-grid,
  div[style*="grid-template-columns:1fr 1fr;gap:24px"] {
    grid-template-columns: 1fr !important;
  }

  /* ── TIMELINE ── */
  .tl { margin-top: 28px !important; padding-left: 32px; }

  /* ── CONTACT LAYOUT ── */
  div[style*="grid-template-columns:1fr 1.6fr"],
  div[style*="grid-template-columns:1fr 1.3fr"] {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  /* ── HOURS WIDGET ── */
  .hw { padding: 16px !important; }

  /* ── HEADINGS ── */
  .h2 { font-size: clamp(26px, 8vw, 40px) !important; }
  .h3 { font-size: 18px !important; }
  .lead { font-size: 15px !important; }

  /* ── AWARDS/CERT CARDS ── */
  .g4 { grid-template-columns: 1fr 1fr !important; }

  /* ── APPLY SECTION LAYOUT ── */
  div[style*="grid-template-columns:1fr 1.4fr;gap:60px"] {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}

/* =================================================
   SMALL PHONES — 480px
   ================================================= */
@media (max-width: 480px) {

  nav#main { padding: 0 12px; }
  .sec { padding: 44px 14px !important; }
  .hero-inner,
  [style*="grid-template-columns:1.15fr 1fr"] {
    padding: 40px 14px 48px !important;
  }

  /* Hero H1 smaller */
  [style*="grid-template-columns:1.15fr 1fr"] h1 {
    font-size: clamp(32px, 10vw, 44px) !important;
  }

  /* Single col for all 2-col grids */
  .ts-inner { grid-template-columns: 1fr !important; }
  .ti { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.05); }
  .stats-row { grid-template-columns: 1fr 1fr !important; }
  .g4, .ind-grid { grid-template-columns: 1fr 1fr !important; }
  .f-grid { grid-template-columns: 1fr !important; }
  .proc-row { grid-template-columns: 1fr !important; gap: 20px !important; }

  /* About counters single row */
  [style*="grid-template-columns:repeat(3,1fr);gap:16px"] {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* Ebar: just the phone number */
  .ebar { padding: 7px 10px !important; font-size: 11px !important; }
  .ebar > span:first-child { display: none !important; }

  /* Mobile nav font smaller */
  .mob-nav a { font-size: 22px !important; padding: 8px 16px !important; }

  /* FABs */
  .fab-group { bottom: 12px !important; right: 12px !important; }
  .fab { padding: 9px 12px !important; font-size: 11.5px !important; }

  /* CTA */
  .cta-h { font-size: 26px !important; }

  /* Page hero */
  .ph { height: 170px !important; }
}
