:root{
  /* brand palette matched to the Superior Lighting logo & flyer (royal blue / navy / sky).
     the --amber* names are kept as the "accent" slot so existing rules didn't need renaming */
  --navy:#0B2C66;--navy-800:#0E3A82;--navy-900:#061733;--navy-700:#1450A8;--blue:#1565D8;--blue-hover:#1E7BEA;
  --amber:#3FA9F5;--amber-light:#86CBFF;--amber-deep:#0D5BD7;
  --paper:#F3F6FB;--paper-2:#E4EBF5;
  --ink:#0F1B2D;--muted-light:#52627A;--cream:#EEF3FA;
  --txt-dim:rgba(255,255,255,.76);--line:rgba(255,255,255,.13);--line-d:rgba(11,44,102,.12);
  --maxw:1320px;--ease:cubic-bezier(.2,.7,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:130px;overflow-x:clip;max-width:100%}
@supports not (overflow-x:clip){html,body{overflow-x:hidden}}
@media(max-width:1080px){html{scroll-padding-top:92px}}
body{font-family:'Inter',system-ui,sans-serif;font-size:17px;line-height:1.6;color:#fff;background:var(--navy-900);-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;font-weight:700;line-height:1.04;letter-spacing:-.025em}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,a,li,summary{overflow-wrap:break-word}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
@media(max-width:560px){.wrap{padding:0 20px}}
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--amber);z-index:200;transition:width .1s linear}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;display:inline-flex;align-items:center;gap:11px;color:var(--amber)}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--amber)}
.eyebrow.dark{color:var(--amber-deep)}.eyebrow.dark::before{background:var(--amber-deep)}
.eyebrow.center{justify-content:center}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Inter';font-weight:800;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;padding:16px 28px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:.3s var(--ease)}
.btn-amber{background:var(--blue);color:#fff}.btn-amber:hover{background:var(--blue-hover);transform:translateY(-3px);box-shadow:0 14px 32px rgba(47,155,255,.34)}
.btn-ghost{border-color:var(--line);color:#fff}.btn-ghost:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-3px)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-700);transform:translateY(-3px)}
.btn-light{background:#fff;color:var(--navy);}.btn-light:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.18)}
.btn .arr{transition:transform .3s var(--ease)}.btn:hover .arr{transform:translateX(5px)}

/* topbar */
.topbar{background:var(--navy-900);color:var(--txt-dim);font-size:13px;border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:42px;gap:20px}
.topbar a:hover{color:var(--amber)}.topbar .l{display:flex;gap:8px;align-items:center}
.topbar .r{display:flex;gap:22px;align-items:center}.topbar .r a{font-weight:600}
.topbar .dot{color:var(--amber)}
.topbar .r a{white-space:nowrap}
/* the tagline wraps to 3 lines on phones and spilled out of the fixed 42px bar */
@media(max-width:1000px){.topbar .l span{display:none}}
@media(max-width:680px){.topbar .l{display:none}.topbar .r a:last-child{display:none}
  .topbar .wrap{justify-content:center;gap:16px;height:auto;min-height:38px;padding:9px 20px}}

/* nav */
/* white bar so the logo's black "LIGHTING" wordmark reads, like the flyer header */
nav.main{position:sticky;top:0;z-index:80;background:#fff;border-bottom:1px solid var(--line-d);transition:box-shadow .35s}
nav.main.scrolled{box-shadow:0 10px 40px rgba(6,23,51,.18)}
nav.main .wrap{display:flex;align-items:center;justify-content:space-between;height:96px;gap:20px}
/* never let flex squeeze the logo — with img{max-width:100%} it distorts instead of scaling */
.brand{flex:0 0 auto;display:block}
.brand img{height:62px;width:auto;max-width:none}
.brand .lf{display:none;font-family:'Poppins';font-weight:800;font-size:22px;color:var(--navy);letter-spacing:-.01em}
.brand .lf span{color:var(--blue)}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{font-size:15px;font-weight:600;color:var(--ink);position:relative;padding:6px 0;transition:.25s;white-space:nowrap}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--blue);transition:.3s var(--ease)}
.nav-links a:hover{color:var(--blue)}.nav-links a:hover::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:16px}
.nav-phone{color:var(--navy);font-weight:800;font-size:16px;white-space:nowrap}.nav-phone:hover{color:var(--blue)}
nav.main .btn{white-space:nowrap}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.burger span{width:26px;height:2px;background:var(--navy);transition:.3s}
/* progressive tightening so the bar never wraps between 1080px and full width */
@media(max-width:1340px){.nav-links{gap:22px}.nav-links a{font-size:14.5px}.brand img{height:56px}nav.main .wrap{height:88px}}
@media(max-width:1240px){.nav-links{gap:17px}.nav-cta .nav-phone{display:none}.brand img{height:50px}nav.main .wrap{height:80px;gap:14px}nav.main .btn{padding:14px 20px;font-size:12.5px}}
@media(max-width:1080px){.nav-links,.nav-cta .nav-phone,.nav-cta .btn{display:none}.burger{display:flex}nav.main .wrap{height:72px}.brand img{height:48px}}
@media(max-width:400px){.brand img{height:auto;width:min(210px,62vw)}}
/* nothing in the bar may overflow — keep the CTA cluster rigid too */
.nav-cta{flex:0 0 auto}
/* closed menu is hidden outright: its shadow used to bleed in along the right edge, and its links were tabbable off-screen */
.mobile-menu{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:var(--navy-900);z-index:120;transform:translateX(100%);visibility:hidden;transition:transform .45s var(--ease),visibility 0s linear .45s;padding:88px 32px 40px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}
.mobile-menu.open{transform:translateX(0);visibility:visible;transition:transform .45s var(--ease);box-shadow:-20px 0 60px rgba(0,0,0,.5)}
.mobile-menu a{font-family:'Poppins';font-size:23px;font-weight:600;color:#fff;padding:14px 0;border-bottom:1px solid var(--line)}
.mobile-menu .btn{margin-top:22px;justify-content:center}
.mm-close{position:absolute;top:24px;right:28px;font-size:32px;cursor:pointer;line-height:1;color:#fff;background:none;border:0;padding:4px 10px;font-family:inherit}
.burger:focus-visible,.mm-close:focus-visible,.nav-links a:focus-visible,.fq summary:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:3px}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:110;opacity:0;pointer-events:none;transition:.4s}
.overlay.show{opacity:1;pointer-events:auto}

/* hero */
.hero{position:relative;overflow:hidden;padding:120px 0 130px;
  background:radial-gradient(1100px 720px at 72% -10%,rgba(47,155,255,.16),transparent 56%),linear-gradient(160deg,var(--navy-800),var(--navy) 55%,var(--navy-900))}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(620px 420px at 92% 16%,rgba(124,196,255,.22),transparent 60%)}
.beam{position:absolute;top:-10%;right:8%;width:520px;height:120%;
  background:linear-gradient(180deg,rgba(124,196,255,.18),transparent 70%);filter:blur(40px);transform:rotate(18deg);pointer-events:none}
.hero .wrap{position:relative;z-index:3}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero .kicker{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;background:rgba(47,155,255,.12);border:1px solid rgba(47,155,255,.35);color:var(--amber-light);border-radius:6px;padding:9px 16px;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:24px}
.hero h1{font-size:clamp(35px,6.6vw,70px);font-weight:800;letter-spacing:-.03em;color:#fff;margin-bottom:18px;overflow-wrap:break-word}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero .tagline{font-family:'Poppins';font-size:clamp(22px,2.4vw,30px);color:var(--amber);font-weight:600;margin-bottom:20px}
.hero p.lede{font-size:19px;color:var(--txt-dim);max-width:540px;margin-bottom:34px;font-weight:500}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-aside{position:relative}
.spec{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:16px;padding:30px;backdrop-filter:blur(6px)}
.spec .ttl{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);font-weight:800;margin-bottom:18px}
.spec .row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-top:1px solid var(--line)}
.spec .row:first-of-type{border-top:none}
.spec .row .k{color:var(--txt-dim);font-size:14.5px}
.spec .row .v{font-family:'Poppins';font-size:24px;font-weight:700;color:#fff}
.spec .row .v.am{color:var(--amber)}
@media(max-width:480px){.spec{padding:24px 22px}.spec .row .v{font-size:19px;white-space:nowrap}.spec .row .k{font-size:13.5px}}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero{padding:84px 0 90px}}

/* marquee */
.marquee{background:linear-gradient(90deg,var(--navy-700),var(--blue));color:#fff;overflow:hidden}
.marquee .track{display:flex;white-space:nowrap;animation:scroll 30s linear infinite;will-change:transform}
.marquee:hover .track{animation-play-state:paused}
.marquee .item{font-family:'Poppins';font-weight:600;font-size:19px;padding:15px 32px;display:flex;align-items:center;gap:32px}
.marquee .item::after{content:"◆";font-size:10px}
@keyframes scroll{to{transform:translateX(-50%)}}

section{padding:108px 0;position:relative}
.sec-head{max-width:720px;margin-bottom:54px}
.sec-head.center{margin:0 auto 54px;text-align:center}
.sec-head h2{font-size:clamp(34px,4.6vw,58px);margin:16px 0 0}
.sec-head p{font-size:18px;margin-top:14px;font-weight:500}

/* coverage / map */
.coverage{background:var(--navy);overflow:hidden}
.coverage::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 460px at 15% 30%,rgba(47,155,255,.14),transparent 58%)}
.coverage .wrap{position:relative;z-index:2}
.cov-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.cov-copy h2{color:#fff}.cov-copy .eyebrow{margin-bottom:18px}
.cov-copy p{color:var(--txt-dim);margin-top:16px;font-size:18px}
.cov-stats{display:flex;gap:38px;margin-top:30px;flex-wrap:wrap}
.cov-stats .n{font-family:'Poppins';font-weight:800;font-size:42px;color:var(--amber);line-height:1}
.cov-stats .l{font-size:13.5px;color:var(--txt-dim);margin-top:6px}
/* flyer pillars — replace the old coverage map */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:64px}
.pillar{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:16px;padding:28px 24px;transition:.35s var(--ease)}
.pillar:hover{background:rgba(47,155,255,.1);border-color:rgba(47,155,255,.4);transform:translateY(-5px)}
.pillar .ic{width:40px;height:40px;color:var(--amber);margin-bottom:16px}
.pillar h3{font-size:19px;color:#fff;margin-bottom:7px}
.pillar p{font-size:14.5px;color:var(--txt-dim);line-height:1.55}
@media(max-width:900px){.cov-grid{grid-template-columns:1fr;gap:40px}.pillars{grid-template-columns:1fr 1fr;margin-top:48px}}
@media(max-width:480px){.pillars{grid-template-columns:1fr}}
/* coverage map + base-operations stars (positions are % of the 652x365 map image) */
.cov-map{background:#fff;border-radius:18px;padding:22px 22px 18px;box-shadow:0 26px 60px rgba(0,0,0,.35)}
.map-stage{position:relative}
.map-stage img{width:100%;height:auto}
.star{position:absolute;width:5.2%;aspect-ratio:1;transform:translate(-50%,-50%);color:#fff;filter:drop-shadow(0 1px 2px rgba(6,23,51,.65))}
.star svg{width:100%;height:100%;display:block}
.map-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:13px;color:var(--muted-light);line-height:1.5}
.map-legend .key{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--navy)}
.map-legend .key svg{width:18px;height:18px;color:#fff;stroke:var(--navy);stroke-width:1.6}

/* process */
.process{background:var(--paper);color:var(--ink)}
.process .sec-head h2{color:var(--navy)}
.process .sec-head p{color:var(--muted-light)}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-d);border:1px solid var(--line-d);border-radius:16px;overflow:hidden}
.step{background:var(--paper);padding:34px 30px;transition:.35s var(--ease);position:relative}
.step:hover{background:#fff}
.step .sn{font-family:'Poppins';font-weight:800;font-size:15px;color:var(--amber-deep);letter-spacing:.08em}
.step .ic{width:40px;height:40px;color:var(--navy);margin:16px 0 14px;transition:.3s}
.step:hover .ic{color:var(--amber-deep)}
.step h3{font-size:21px;color:var(--navy);margin-bottom:8px}
.step p{font-size:15px;color:var(--muted-light)}
@media(max-width:980px){.proc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.proc-grid{grid-template-columns:1fr}}

/* services */
.services{background:var(--navy-900)}
.services::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 500px at 90% 0,rgba(47,155,255,.12),transparent 55%)}
.services .wrap{position:relative;z-index:2}
.services .sec-head h2{color:#fff}.services .sec-head p{color:var(--txt-dim)}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.svc{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:16px;padding:32px 26px;transition:.4s var(--ease);position:relative;overflow:hidden}
.svc::before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--amber);transform:scaleY(0);transform-origin:top;transition:.4s var(--ease)}
.svc:hover{transform:translateY(-7px);background:rgba(47,155,255,.07);border-color:rgba(47,155,255,.35)}
.svc:hover::before{transform:scaleY(1)}
.svc .ic{width:46px;height:46px;color:var(--amber);margin-bottom:20px;transition:.4s}
.svc:hover .ic{transform:scale(1.08)}
.svc h3{font-size:20px;color:#fff;margin-bottom:11px}
.svc p{font-size:15px;color:var(--txt-dim);line-height:1.6}
@media(max-width:980px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr}}

/* featured service card (spans full services grid) */
.svc-feature{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;
  background:linear-gradient(120deg,rgba(47,155,255,.12),rgba(47,155,255,.03));border:1px solid rgba(47,155,255,.35);
  border-radius:16px;padding:30px 34px;transition:.4s var(--ease)}
.svc-feature:hover{background:linear-gradient(120deg,rgba(47,155,255,.2),rgba(47,155,255,.05));transform:translateY(-5px)}
.svc-feature .ic{width:46px;height:46px;color:var(--amber);flex:0 0 auto}
.svc-feature h3{font-size:22px;color:#fff;margin-bottom:7px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.svc-feature p{font-size:15px;color:var(--txt-dim);line-height:1.6;max-width:70ch}
.tag-new{font-family:'Inter';font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  background:var(--amber);color:var(--navy-900);padding:4px 10px;border-radius:4px}
@media(max-width:780px){.svc-feature{grid-template-columns:1fr;gap:18px;text-align:left}}

/* ultrasonic pole testing */
.pole{background:var(--paper);color:var(--ink)}
.pole .sec-head h2{color:var(--navy)}
.pole .sec-head p{color:var(--muted-light)}
.pole-lede{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:start;margin-bottom:60px}
.pole-lede p{color:var(--muted-light);font-size:17.5px;margin-top:16px}
.pole-lede p strong{color:var(--ink)}
.pole-card{background:var(--navy);border-radius:18px;padding:36px 34px;color:#fff;position:relative;overflow:hidden}
.pole-card::after{content:"";position:absolute;right:-60px;bottom:-60px;width:210px;height:210px;border:1px solid rgba(47,155,255,.22);border-radius:50%}
.pole-card .hd{font-family:'Poppins';font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
.pole-card ul{list-style:none;margin-top:20px;display:grid;gap:14px;position:relative;z-index:2}
.pole-card li{display:flex;gap:13px;font-size:15.5px;color:var(--txt-dim);line-height:1.5}
.pole-card li::before{content:"◆";color:var(--amber);flex:0 0 auto;font-size:11px;margin-top:5px}
.pole-card .li-body{flex:1;min-width:0}
.pole-sub{font-family:'Poppins';font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--amber-deep);margin-bottom:26px;display:flex;align-items:center;gap:12px}
.pole-sub::after{content:"";height:1px;flex:1;background:var(--line-d)}
.risk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:64px}
.risk{background:#fff;border:1px solid var(--line-d);border-radius:14px;padding:28px 26px;transition:.35s var(--ease)}
.risk:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(21,32,46,.1);border-color:rgba(47,155,255,.5)}
.risk .ic{width:34px;height:34px;color:var(--navy);margin-bottom:15px}
.risk:hover .ic{color:var(--amber-deep)}
.risk h4{font-family:'Poppins';font-size:18px;color:var(--navy);margin-bottom:8px}
.risk p{font-size:14.5px;color:var(--muted-light);line-height:1.6}
.ut-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line-d);
  border:1px solid var(--line-d);border-radius:16px;overflow:hidden;margin-bottom:64px}
.ut-step{background:var(--paper);padding:30px 24px;transition:.35s var(--ease)}
.ut-step:hover{background:#fff}
.ut-step .sn{font-family:'Poppins';font-weight:800;font-size:15px;color:var(--amber-deep);letter-spacing:.08em}
.ut-step h4{font-family:'Poppins';font-size:18px;color:var(--navy);margin:12px 0 8px}
.ut-step p{font-size:14.5px;color:var(--muted-light);line-height:1.55}
.deliver{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:64px}
.dv{background:var(--navy-900);border-radius:14px;padding:30px 28px;border-left:3px solid var(--amber)}
.dv h4{font-family:'Poppins';font-size:19px;color:#fff;margin-bottom:9px}
.dv p{font-size:14.5px;color:var(--txt-dim);line-height:1.6}
.faq{max-width:900px;margin:0 auto}
.fq{border-top:1px solid var(--line-d)}
.fq:last-child{border-bottom:1px solid var(--line-d)}
.fq summary{cursor:pointer;list-style:none;padding:24px 42px 24px 0;font-family:'Poppins';font-weight:600;
  font-size:19px;color:var(--navy);position:relative;transition:.25s}
.fq summary::-webkit-details-marker{display:none}
.fq summary:hover{color:var(--amber-deep)}
.fq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-size:26px;font-weight:400;color:var(--amber-deep);transition:.3s var(--ease)}
.fq[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.fq .ans{padding:0 42px 26px 0;font-size:16px;color:var(--muted-light);line-height:1.7}
.cta-card{margin-top:60px;background:var(--navy);border-radius:18px;padding:48px;text-align:center;position:relative;overflow:hidden}
.cta-card::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 50% 0,rgba(47,155,255,.16),transparent 60%)}
.cta-card h3{font-size:clamp(26px,3.3vw,38px);color:#fff;position:relative;z-index:2}
.cta-card p{color:var(--txt-dim);margin:14px auto 28px;max-width:60ch;position:relative;z-index:2}
.cta-card .btn{position:relative;z-index:2}
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:64px}
.who{border-left:3px solid var(--amber);padding:6px 0 6px 20px}
.who h4{font-family:'Poppins';font-size:19px;color:var(--navy);margin-bottom:7px}
.who p{font-size:14.5px;color:var(--muted-light);line-height:1.6}
@media(max-width:820px){.who-grid{grid-template-columns:1fr;gap:22px;margin-bottom:48px}}
.deliver{align-items:stretch;margin-bottom:20px}
.rating-row{background:#fff;border:1px solid var(--line-d);border-radius:16px;padding:30px 32px;margin-bottom:64px}
.rr-head{font-family:'Poppins';font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--amber-deep);margin-bottom:22px}
.rr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.rr{padding-left:18px;border-left:2px solid var(--line-d);position:relative}
.rr .dot{position:absolute;left:-6px;top:5px;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 4px #fff}
.sc-g .dot{background:#3FBF7F}.sc-y .dot{background:#F2B705}.sc-r .dot{background:#E8624A}
.rr b{display:block;font-family:'Poppins';font-size:17px;color:var(--navy);margin-bottom:5px}
.rr i{font-style:normal;font-size:14px;color:var(--muted-light);line-height:1.6}
@media(max-width:760px){.rr-grid{grid-template-columns:1fr;gap:20px}.rating-row{padding:26px 22px;margin-bottom:48px}}
.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:34px}
.shot{aspect-ratio:4/3;border:2px dashed rgba(47,155,255,.55);border-radius:14px;background:rgba(47,155,255,.07);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;gap:7px}
.shot svg{width:34px;height:34px;color:var(--amber-deep);opacity:.75}
.shot b{font-family:'Poppins';font-size:15px;color:var(--navy)}
.shot i{font-style:normal;font-size:13px;color:var(--muted-light);line-height:1.5}
.quote-ph{position:relative;border:2px dashed rgba(47,155,255,.55);border-radius:16px;background:rgba(47,155,255,.07);
  padding:40px 38px 34px;margin-bottom:64px;max-width:900px}
.ph-flag{position:absolute;top:-11px;left:24px;background:var(--amber-deep);color:#fff;font-family:'Poppins';
  font-weight:700;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;padding:4px 11px;border-radius:4px}
.quote-ph blockquote{font-family:'Poppins';font-size:clamp(18px,2.1vw,23px);line-height:1.5;color:var(--navy);font-weight:500}
.quote-ph cite{display:block;margin-top:16px;font-style:normal;font-size:14px;font-weight:700;color:var(--amber-deep)}
@media(max-width:820px){.shots{grid-template-columns:1fr;gap:14px}.shot{aspect-ratio:16/9}.quote-ph{padding:36px 24px 28px}}
/* new-service highlight in the contact form */
.form-card optgroup{font-family:'Poppins';font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--navy);background:var(--paper-2)}
.form-card .opt-new{background:rgba(47,155,255,.35);font-weight:700;color:var(--ink)}
.form-card select.is-new{border-color:var(--amber);box-shadow:0 0 0 3px rgba(47,155,255,.2)}
.svc-hint{display:none;margin-top:9px;font-size:13px;line-height:1.5;color:var(--amber-deep);font-weight:600}
.svc-hint.show{display:block}
.svc-hint a{color:var(--amber-deep);text-decoration:underline;text-underline-offset:2px}
/* review markers — replace before go-live */
.tk{background:rgba(47,155,255,.3);border-bottom:2px dashed var(--amber-deep);padding:0 3px;font-style:normal;color:inherit}
.dv .tk,.pole-card .tk{background:rgba(47,155,255,.22);color:var(--amber-light)}
@media(max-width:1000px){.ut-steps{grid-template-columns:repeat(2,1fr)}.risk-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.pole-lede{grid-template-columns:1fr;gap:34px}.deliver{grid-template-columns:1fr}}
@media(max-width:620px){.ut-steps,.risk-grid{grid-template-columns:1fr}.cta-card{padding:36px 24px}}

/* inner-page header (pole-testing.html) */
.page-hero{position:relative;overflow:hidden;padding:96px 0 88px;
  background:radial-gradient(900px 560px at 80% -10%,rgba(47,155,255,.2),transparent 58%),linear-gradient(160deg,var(--navy-800),var(--navy) 55%,var(--navy-900))}
.page-hero .wrap{position:relative;z-index:2}
.crumbs{font-size:13px;color:var(--txt-dim);margin-bottom:20px}
.crumbs a{color:var(--amber-light)}.crumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.page-hero h1{font-size:clamp(36px,5.6vw,62px);font-weight:800;color:#fff;margin:16px 0 18px}
.page-hero p{font-size:19px;color:var(--txt-dim);max-width:640px;font-weight:500;margin-bottom:30px}
.nav-links a.active{color:var(--blue)}.nav-links a.active::after{width:100%}
.mobile-menu a.active{color:var(--amber)}

/* why: flyer checklist inside the quote card */
.why-checks{list-style:none;margin-top:26px;display:grid;gap:12px;position:relative;z-index:2}
.why-checks li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--txt-dim);line-height:1.45}
.why-checks svg{flex:0 0 20px;width:20px;height:20px;color:var(--amber);margin-top:1px}

/* why */
.why{background:var(--navy);overflow:hidden}
.why::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 460px at 100% 50%,rgba(47,155,255,.1),transparent 55%)}
.why .wrap{position:relative;z-index:2}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.why h2{color:#fff}
.why-list{margin-top:26px;display:grid;gap:2px}
.why-list .wl{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-top:1px solid var(--line)}
.why-list .wl .ic{flex:0 0 26px;color:var(--amber);margin-top:2px}
.why-list .wl .ttl{font-family:'Poppins';font-size:19px;color:#fff}
.why-list .wl .ds{font-size:15px;color:var(--txt-dim)}
.why-quote{background:linear-gradient(150deg,var(--navy-800),var(--navy-900));border:1px solid var(--line);border-radius:18px;padding:46px;position:relative;overflow:hidden}
.why-quote::after{content:"";position:absolute;right:-50px;top:-50px;width:200px;height:200px;border:1px solid rgba(47,155,255,.2);border-radius:50%}
.why-quote .big{font-family:'Poppins';font-size:30px;font-weight:700;color:#fff;line-height:1.25;position:relative;z-index:2}
.why-quote .big span{color:var(--amber)}
.why-quote .by{margin-top:24px;color:var(--amber);font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;position:relative;z-index:2}
@media(max-width:900px){.why-grid{grid-template-columns:1fr;gap:42px}}

/* about */
.about{background:var(--paper);color:var(--ink)}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.about-photo{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;background:linear-gradient(150deg,var(--navy-800),var(--navy-900));display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;box-shadow:0 26px 54px rgba(21,32,46,.2)}
.about-photo .mono{font-family:'Poppins';font-weight:800;font-size:78px;color:rgba(47,155,255,.28)}
.about-photo .cap{position:absolute;left:0;right:0;bottom:0;padding:40px 22px 20px;color:#fff;font-weight:700;font-family:'Poppins';font-size:20px;background:linear-gradient(180deg,transparent,rgba(9,20,33,.88) 70%);text-shadow:0 2px 8px rgba(0,0,0,.5)}
.about-photo .cap small{display:block;color:var(--amber-light);font-weight:700;font-size:13px;letter-spacing:.04em;margin-top:2px}
.about-copy .eyebrow{margin-bottom:18px}
.about-copy h2{color:var(--navy);font-size:clamp(32px,4.2vw,52px)}
.about-copy p{color:var(--muted-light);margin-top:18px;font-size:17.5px}
.about-copy p strong{color:var(--ink)}
.about-copy .li{display:inline-flex;align-items:center;gap:9px;margin-top:24px;color:var(--navy);font-weight:800;font-size:14px;border-bottom:2px solid var(--amber);padding-bottom:3px}
@media(max-width:840px){.about-grid{grid-template-columns:1fr;gap:40px}.about-photo{aspect-ratio:16/10;max-width:420px}}

/* stat band */
.band{background:linear-gradient(120deg,var(--blue),var(--navy-700) 60%,var(--navy));color:#fff;text-align:center;padding:72px 0;overflow:hidden}
.band::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 320px at 50% -30%,rgba(255,255,255,.3),transparent 60%)}
.band .wrap{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.band .n{font-family:'Poppins';font-weight:800;font-size:clamp(40px,5vw,62px);line-height:1}
.band .l{font-size:14px;font-weight:700;margin-top:8px;opacity:.85}
@media(max-width:680px){.band .wrap{grid-template-columns:1fr 1fr;gap:34px 20px}}

/* industries */
.industries{background:var(--navy-900)}
.industries .sec-head h2{color:#fff}.industries .sec-head p{color:var(--txt-dim)}
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ind{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:12px;padding:26px 22px;transition:.35s var(--ease);display:flex;flex-direction:column;gap:14px}
.ind:hover{background:rgba(47,155,255,.08);border-color:rgba(47,155,255,.34);transform:translateY(-5px)}
.ind .ic{width:34px;height:34px;color:var(--amber)}
.ind h3{font-size:17px;color:#fff;font-weight:600}
@media(max-width:880px){.ind-grid{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.ind-grid{grid-template-columns:1fr}}
.ind,.svc,.risk,.dv,.ut-step,.step{min-width:0}

/* contact */
.contact{background:var(--navy);overflow:hidden}
.contact::before{content:"";position:absolute;inset:0;background:radial-gradient(740px 440px at 12% 20%,rgba(47,155,255,.16),transparent 58%)}
.contact .wrap{position:relative;z-index:2}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.contact .sec-head h2{color:#fff}
.contact-info p.intro{color:var(--txt-dim);font-size:18px;margin-bottom:8px;font-weight:500}
.ci{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-top:1px solid var(--line)}
.ci:first-of-type{border-top:none}
.ci .ic{flex:0 0 22px;color:var(--amber);margin-top:3px}
.ci .lbl{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);font-weight:800}
.ci .val{font-family:'Poppins';font-size:19px;color:#fff;margin-top:3px}
.ci a.val:hover{color:var(--amber)}
.form-card{background:#fff;border-radius:18px;padding:40px;color:var(--ink);box-shadow:0 30px 60px rgba(0,0,0,.4)}
.form-card h3{font-size:25px;color:var(--navy);margin-bottom:6px}.form-card .sub{color:var(--muted-light);font-size:15px;margin-bottom:24px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px;display:flex;flex-direction:column;gap:7px}
.field label{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-light)}
.field input,.field select,.field textarea{font-family:'Inter';font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line-d);border-radius:8px;padding:14px 15px;transition:.25s;width:100%}
.field textarea{resize:vertical;min-height:110px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--amber);background:#fff;box-shadow:0 0 0 3px rgba(47,155,255,.18)}
.form-card .btn{width:100%;justify-content:center;margin-top:4px}
.form-note{font-size:12.5px;color:var(--muted-light);text-align:center;margin-top:14px}
.success{display:none;text-align:center;padding:24px 8px}.success.show{display:block;animation:fade .5s ease}
.success .check{width:62px;height:62px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.success h3{color:var(--navy);font-size:24px;margin-bottom:8px}.success p{color:var(--muted-light)}
.success button{margin-top:16px;background:none;border:none;color:var(--amber-deep);font-weight:800;cursor:pointer;font-size:14px}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:42px}.form-row{grid-template-columns:1fr}}

/* footer */
footer{background:var(--navy-900);color:var(--txt-dim);padding:74px 0 0;border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr;gap:46px;padding-bottom:50px}
.foot-brand img{width:min(300px,100%);height:auto;margin-bottom:20px}
.foot-brand .lf{display:none;font-family:'Poppins';font-weight:800;font-size:22px;color:#fff;margin-bottom:16px}
.foot-brand p{font-size:14.5px;line-height:1.7;max-width:300px}
.foot-brand .motto{color:var(--amber);font-family:'Poppins';font-weight:700;font-size:18px;margin-top:16px}
footer h4{font-family:'Inter';color:#fff;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;font-weight:800}
footer ul{list-style:none;display:flex;flex-direction:column;gap:11px}
footer ul a{font-size:14.5px;transition:.25s}footer ul a:hover{color:var(--amber);padding-left:4px}
.foot-bottom{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.5)}
.foot-bottom .by a{color:var(--amber);font-weight:700;transition:.25s}
.foot-bottom .by a:hover{color:var(--amber-light);text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.foot-bottom{justify-content:center;text-align:center;gap:8px}}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}

.reveal{opacity:0;transform:translateY(28px);transition:.8s var(--ease)}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}html{scroll-behavior:auto}}
.mcall{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--blue);color:#fff;text-align:center;padding:15px;font-weight:800;letter-spacing:.04em}
@media(max-width:680px){.mcall{display:block}body{padding-bottom:54px}}
