:root {
  --bg: #071015;
  --bg-2: #0a151b;
  --panel: #0d1b22;
  --panel-2: #10232b;
  --line: rgba(148, 181, 193, .15);
  --line-strong: rgba(53, 211, 224, .28);
  --text: #f5fbfc;
  --muted: #a8bbc2;
  --cyan: #28c9d7;
  --cyan-2: #57e4ef;
  --cyan-dark: #0f8f9b;
  --shadow: 0 24px 70px rgba(0, 0, 0, .28);
  --radius: 22px;
  --container: 1180px;
  --ease: cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body {
  margin: 0;
  color: var(--text);
  background: var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: rgba(40,201,215,.35); color: #fff; }

.skip-link { position: fixed; z-index: 9999; left: 16px; top: 12px; transform: translateY(-160%); padding: 10px 14px; background: var(--cyan); color: #031013; border-radius: 8px; font-weight: 800; }
.skip-link:focus { transform: translateY(0); }
.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.section { position: relative; padding: 112px 0; }

.topbar { border-bottom: 1px solid rgba(255,255,255,.06); background: #050b0f; color: #c9d8dc; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.topbar-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.status-dot { width: 7px; height: 7px; border-radius: 999px; background: var(--cyan); box-shadow: 0 0 0 5px rgba(40,201,215,.08); display: inline-block; margin-right: 8px; }
.topbar-regions { display: flex; align-items: center; gap: 10px; }
.topbar-regions i { width: 3px; height: 3px; background: rgba(255,255,255,.35); border-radius: 50%; }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(7,16,21,.78); border-bottom: 1px solid transparent; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); transition: background .3s ease, border-color .3s ease, box-shadow .3s ease; }
.site-header.scrolled { background: rgba(7,16,21,.94); border-color: rgba(255,255,255,.06); box-shadow: 0 12px 36px rgba(0,0,0,.18); }
.nav-wrap { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: 215px; }
.brand img { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 0 0 3px rgba(40,201,215,.06); }
.brand span { display: grid; line-height: 1; }
.brand strong { font-size: 16px; letter-spacing: .06em; text-transform: uppercase; }
.brand small { margin-top: 5px; color: var(--muted); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: 27px; }
.main-nav > a { position: relative; color: #cad9dd; font-size: 13px; font-weight: 650; }
.main-nav > a::after { content: ""; position: absolute; left: 0; bottom: -9px; width: 100%; height: 2px; transform: scaleX(0); transform-origin: right; background: var(--cyan); transition: transform .25s var(--ease); }
.main-nav > a:hover { color: #fff; }
.main-nav > a:hover::after { transform: scaleX(1); transform-origin: left; }
.menu-toggle { display: none; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 12px; background: transparent; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.menu-toggle span { width: 18px; height: 1.5px; background: #fff; transition: .25s ease; }

.btn { min-height: 48px; padding: 0 19px; border-radius: 12px; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-weight: 800; font-size: 14px; cursor: pointer; transition: transform .25s var(--ease), border-color .25s ease, background .25s ease, box-shadow .25s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #041114; background: linear-gradient(135deg,var(--cyan-2),var(--cyan)); box-shadow: 0 14px 28px rgba(40,201,215,.12); }
.btn-primary:hover { box-shadow: 0 18px 34px rgba(40,201,215,.2); }
.btn-secondary { border-color: rgba(255,255,255,.13); background: rgba(255,255,255,.035); color: #eaf3f5; }
.btn-secondary:hover { border-color: rgba(40,201,215,.35); background: rgba(40,201,215,.06); }
.btn svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.btn-nav { min-height: 42px; padding-inline: 16px; font-size: 12px; }

.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 19px; color: var(--cyan-2); text-transform: uppercase; letter-spacing: .14em; font-size: 11px; font-weight: 850; }
.eyebrow > span { width: 28px; height: 1px; background: var(--cyan); box-shadow: 0 0 14px rgba(40,201,215,.45); }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { letter-spacing: -.035em; }
h1 { margin-bottom: 22px; max-width: 700px; font-size: clamp(48px, 5.8vw, 76px); line-height: .98; }
h1 em { color: var(--cyan-2); font-style: normal; }
h2 { margin-bottom: 20px; font-size: clamp(36px, 4vw, 55px); line-height: 1.02; }
h3 { line-height: 1.12; }
p { color: var(--muted); line-height: 1.7; }

.hero { min-height: calc(100svh - 110px); padding: 78px 0 84px; display: flex; align-items: center; overflow: clip; }
.hero-grid-bg, .tech-grid-bg { position: absolute; inset: 0; opacity: .18; pointer-events: none; background-image: linear-gradient(rgba(60,150,165,.12) 1px, transparent 1px), linear-gradient(90deg,rgba(60,150,165,.12) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom,black,transparent 88%); }
.hero-glow { position: absolute; width: 560px; aspect-ratio: 1; border-radius: 50%; filter: blur(15px); pointer-events: none; opacity: .18; background: radial-gradient(circle,var(--cyan),transparent 68%); }
.hero-glow-1 { right: -220px; top: -80px; }
.hero-glow-2 { left: -330px; bottom: -380px; opacity: .08; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 66px; }
.hero-copy > p { max-width: 640px; margin-bottom: 31px; font-size: 17px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-proof { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3,1fr); max-width: 600px; }
.hero-proof div { min-width: 0; padding-right: 15px; }
.hero-proof strong { display: block; color: #fff; font-size: 25px; letter-spacing: -.02em; }
.hero-proof span { color: #81969e; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.hero-visual { position: relative; }
.hero-image-frame { position: relative; width: 100%; max-width: 560px; margin-inline: auto; aspect-ratio: .93; overflow: hidden; border-radius: 28px; border: 1px solid rgba(85,229,240,.18); box-shadow: var(--shadow); background: #111; }
.hero-image-frame::before { content: ""; position: absolute; z-index: 2; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); pointer-events: none; }
.hero-image-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 1.1s var(--ease); }
.hero-image-frame:hover img { transform: scale(1.025); }
.hero-image-shade { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 58%,rgba(5,10,13,.45)); pointer-events: none; }
.pulse-dot { width: 9px; height: 9px; background: var(--cyan); border-radius: 50%; box-shadow: 0 0 0 0 rgba(40,201,215,.45); animation: pulse 2.2s infinite; }
@keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(40,201,215,.4)} 70%{box-shadow:0 0 0 10px rgba(40,201,215,0)} 100%{box-shadow:0 0 0 0 rgba(40,201,215,0)} }

.trust-strip { border-block: 1px solid var(--line); background: rgba(255,255,255,.012); }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.trust-grid > div { min-height: 110px; padding: 23px 24px; display: flex; align-items: center; gap: 18px; border-right: 1px solid var(--line); }
.trust-grid > div:first-child { border-left: 1px solid var(--line); }
.trust-number { color: var(--cyan); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.trust-grid p { margin: 0; color: #dce7e9; font-size: 13px; line-height: 1.45; }

.services { background: linear-gradient(180deg,#071015,#091319); }
.section-head { margin-bottom: 50px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 70px; }
.section-head h2 { max-width: 680px; margin-bottom: 0; }
.section-head > p { margin-bottom: 4px; max-width: 470px; }
.services-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.service-card { position: relative; min-height: 306px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); overflow: hidden; transition: transform .3s var(--ease), border-color .3s ease, background .3s ease; }
.service-card::before { content:""; position:absolute; width:160px; height:160px; right:-80px; top:-80px; border-radius:50%; background:radial-gradient(circle,rgba(40,201,215,.16),transparent 68%); opacity:0; transition:opacity .3s ease; }
.service-card:hover { transform: translateY(-5px); border-color: var(--line-strong); background: linear-gradient(145deg,rgba(40,201,215,.055),rgba(255,255,255,.012)); }
.service-card:hover::before { opacity:1; }
.service-icon { width: 44px; height: 44px; margin-bottom: 28px; border-radius: 12px; display:grid; place-items:center; background: rgba(40,201,215,.08); border:1px solid rgba(40,201,215,.17); color: var(--cyan-2); }
.service-icon svg { width: 22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.service-card h3 { margin-bottom: 12px; font-size: 21px; }
.service-card p { margin-bottom: 22px; font-size: 13.5px; }
.service-tag { position:absolute; bottom:27px; left:28px; color:#789198; text-transform:uppercase; letter-spacing:.1em; font-size:9px; font-weight:800; }

.split-section { background: #071015; }
.split-grid { display:grid; grid-template-columns: .94fr 1.06fr; align-items:center; gap: 80px; }
.media-stack { position:relative; min-height: 570px; }
.media-card { overflow:hidden; border-radius:26px; border:1px solid var(--line); box-shadow:var(--shadow); }
.media-main { position:absolute; inset: 0 45px 0 0; }
.media-main img { width:100%; height:100%; object-fit:cover; object-position:center; }
.media-main::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(4,10,13,.48)); }
.experience-badge { position:absolute; right:0; bottom:45px; width:180px; aspect-ratio:1; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:var(--cyan); color:#041114; box-shadow: 0 18px 50px rgba(40,201,215,.18); }
.experience-badge strong { font-size:43px; line-height:.9; letter-spacing:-.06em; }
.experience-badge span { margin-top:9px; font-size:10px; line-height:1.35; text-transform:uppercase; letter-spacing:.07em; font-weight:850; }
.split-copy > p { max-width: 590px; font-size: 16px; }
.check-list { margin-top: 33px; display:grid; gap:0; border-top:1px solid var(--line); }
.check-list > div { display:grid; grid-template-columns:38px 1fr; gap:10px; padding:19px 0; border-bottom:1px solid var(--line); }
.check-list i { width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-style:normal; color:#041114; background:var(--cyan); font-size:12px; font-weight:900; }
.check-list span { display:grid; gap:4px; }
.check-list b { font-size:14px; }
.check-list small { color:#7f969e; font-size:12px; line-height:1.5; }
.text-link { margin-top:26px; padding:0; border:0; background:transparent; color:var(--cyan-2); font-weight:800; cursor:pointer; }
.text-link span { display:inline-block; margin-left:7px; transition:transform .2s ease; }
.text-link:hover span { transform:translateX(4px); }

.showcase-section { padding-top: 20px; }
.showcase-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.showcase-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); }
.showcase-image { height: 330px; overflow:hidden; position:relative; }
.showcase-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(6,13,17,.72)); }
.showcase-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.showcase-card:hover img { transform:scale(1.03); }
.image-guards img { object-position: center 72%; transform:scale(1.05); }
.showcase-card:hover .image-guards img { transform:scale(1.08); }
.image-investigation img { object-position:center 12%; }
.showcase-copy { padding:26px 28px 30px; }
.showcase-copy > span { color:var(--cyan); text-transform:uppercase; letter-spacing:.11em; font-size:9px; font-weight:900; }
.showcase-copy h3 { margin:8px 0 10px; font-size:24px; }
.showcase-copy p { margin:0; font-size:13px; }

.tech { overflow:hidden; background:linear-gradient(180deg,#09151b,#061015); }
.tech-grid { position:relative; z-index:1; display:grid; grid-template-columns:.92fr 1.08fr; gap:70px; align-items:center; }
.tech-copy > p { max-width:560px; }
.tech-features { margin-top:34px; display:grid; gap:12px; }
.tech-features > div { display:flex; align-items:center; gap:15px; padding:14px 0; border-bottom:1px solid var(--line); }
.tech-features > div > span { width:34px; color:var(--cyan); font-size:10px; font-weight:900; letter-spacing:.1em; }
.tech-features p { margin:0; display:grid; }
.tech-features b { color:#eef7f9; font-size:14px; }
.tech-features small { color:#789099; font-size:11px; margin-top:3px; }
.tech-visual { position:relative; height:540px; border-radius:26px; overflow:hidden; border:1px solid var(--line-strong); background:#0b151b; box-shadow:var(--shadow); }
.tech-visual img { width:100%; height:100%; object-fit:cover; object-position:center 13%; transform:scale(1.03); }
.tech-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,10,13,.05),rgba(4,10,13,.65)); }
.tech-chip { position:absolute; left:24px; bottom:22px; display:flex; align-items:center; gap:10px; padding:11px 14px; background:rgba(4,11,14,.82); border:1px solid rgba(255,255,255,.12); border-radius:999px; backdrop-filter:blur(10px); font-size:11px; font-weight:800; }
.scan-line { position:absolute; z-index:2; left:0; right:0; height:1px; top:8%; background:linear-gradient(90deg,transparent,var(--cyan),transparent); box-shadow:0 0 12px rgba(40,201,215,.45); opacity:.55; animation:scan 6s ease-in-out infinite; }
@keyframes scan { 0%,100%{top:8%;opacity:.18} 50%{top:82%;opacity:.7} }

.escort-section { background:#061015; }
.escort-panel { position:relative; min-height:520px; overflow:hidden; border:1px solid var(--line); border-radius:28px; background:#0b171d; display:grid; grid-template-columns:1.05fr .95fr; box-shadow:var(--shadow); }
.escort-photo { overflow:hidden; }
.escort-photo img { width:100%; height:100%; object-fit:cover; object-position: 18% 50%; transform:scale(1.12); }
.escort-content { position:relative; z-index:2; padding:64px 60px; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(90deg,rgba(11,23,29,.35),#0b171d 18%); }
.escort-content p { max-width:520px; }
.escort-content .btn { margin-top:10px; width:max-content; }

.coverage { background:linear-gradient(180deg,#061015,#08141a); }
.section-head.centered { grid-template-columns:1fr; text-align:center; justify-items:center; gap:14px; }
.section-head.centered h2 { max-width:800px; }
.section-head.centered > p { max-width:610px; }
.centered-eye { justify-content:center; }
.coverage-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.coverage-card { min-height:310px; padding:30px; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.01)); position:relative; overflow:hidden; }
.coverage-card::after { content:""; position:absolute; width:220px; height:220px; border:1px solid rgba(40,201,215,.09); border-radius:50%; right:-90px; bottom:-90px; box-shadow:0 0 0 26px rgba(40,201,215,.015),0 0 0 52px rgba(40,201,215,.01); }
.region-code { width:52px; height:52px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(40,201,215,.28); color:var(--cyan-2); font-size:18px; font-weight:900; }
.coverage-card h3 { margin:54px 0 10px; font-size:26px; }
.coverage-card p { max-width:300px; margin:0; font-size:13px; }

.contact-section { background:#08141a; padding-top:50px; }
.contact-panel { display:grid; grid-template-columns:1.2fr .8fr; border:1px solid var(--line-strong); border-radius:30px; overflow:hidden; background:linear-gradient(135deg,#0b1a21,#0a151b); box-shadow:var(--shadow); }
.contact-copy { padding:65px; }
.contact-copy h2 { max-width:680px; }
.contact-copy > p { max-width:650px; }
.contact-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:32px; }
.contact-action, .modal-option { min-width:0; display:grid; grid-template-columns:42px minmax(0,1fr) 18px; gap:12px; align-items:center; padding:15px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.025); transition:border-color .25s ease, transform .25s var(--ease), background .25s ease; }
.contact-action:hover, .modal-option:hover { transform:translateY(-2px); border-color:var(--line-strong); background:rgba(40,201,215,.045); }
.contact-icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:rgba(40,201,215,.09); color:var(--cyan-2); }
.contact-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.contact-action > span:nth-child(2), .modal-option > span:nth-child(2) { min-width:0; display:grid; gap:2px; }
.contact-action small, .modal-option small { color:#7f949b; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.contact-action b, .modal-option b { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:12px; }
.contact-action i, .modal-option i { color:var(--cyan); font-style:normal; }
.contact-details { padding:55px 50px; border-left:1px solid var(--line); background:rgba(255,255,255,.018); display:flex; flex-direction:column; justify-content:center; }
.contact-details img { width:76px; height:76px; border-radius:50%; margin-bottom:23px; }
.contact-details h3 { margin-bottom:12px; font-size:20px; }
.contact-details p { font-size:13px; margin-bottom:22px; }
.contact-divider { width:100%; height:1px; background:var(--line); margin:4px 0 21px; }
.contact-details > span { color:#789098; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.contact-details > strong { margin-top:6px; font-size:13px; }

.site-footer { padding:34px 0 26px; border-top:1px solid var(--line); background:#050b0f; }
.footer-grid { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:25px; }
.footer-brand { min-width:0; }
.footer-brand img { width:42px; height:42px; }
.footer-grid p { margin:0; font-size:11px; }
.footer-links { display:flex; justify-content:flex-end; gap:18px; color:#a4b7be; font-size:11px; }
.footer-links a:hover { color:var(--cyan-2); }
.footer-bottom { margin-top:24px; padding-top:20px; border-top:1px solid rgba(255,255,255,.05); display:flex; justify-content:space-between; color:#63787f; font-size:10px; }

.quote-modal { width:min(560px,calc(100% - 28px)); padding:38px; border:1px solid rgba(40,201,215,.25); border-radius:24px; color:var(--text); background:linear-gradient(145deg,#0e1d24,#071116); box-shadow:0 30px 100px rgba(0,0,0,.5); }
.quote-modal::backdrop { background:rgba(1,5,7,.75); backdrop-filter:blur(5px); }
.quote-modal[open] { animation:modalIn .3s var(--ease); }
@keyframes modalIn { from{opacity:0;transform:translateY(15px) scale(.98)} to{opacity:1;transform:translateY(0) scale(1)} }
.quote-modal h2 { margin-bottom:13px; font-size:34px; }
.quote-modal > p { font-size:14px; }
.modal-close { position:absolute; top:16px; right:16px; width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:rgba(255,255,255,.03); color:#fff; cursor:pointer; font-size:20px; }
.modal-mark { display:flex; gap:4px; margin-bottom:27px; }
.modal-mark span { height:3px; background:var(--cyan); border-radius:9px; }
.modal-mark span:nth-child(1){width:42px}.modal-mark span:nth-child(2){width:14px;opacity:.55}.modal-mark span:nth-child(3){width:7px;opacity:.25}
.modal-actions { display:grid; gap:10px; margin-top:25px; }
.modal-option { padding:16px; }
.mobile-contact-bar { display:none; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease),transform .7s var(--ease); will-change:opacity,transform; }
.reveal.revealed { opacity:1; transform:none; }
.reveal-delay { transition-delay:.12s; }

@media (max-width: 1040px) {
  .main-nav { gap:18px; }
  .main-nav > a { font-size:12px; }
  .hero-grid { gap:38px; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .split-grid, .tech-grid { gap:45px; }
  .contact-copy { padding:50px; }
  .contact-actions { grid-template-columns:1fr; }
}

@media (max-width: 860px) {
  html { scroll-padding-top:84px; }
  .section { padding:86px 0; }
  .topbar-regions { display:none; }
  .topbar-inner { justify-content:center; }
  .nav-wrap { min-height:68px; }
  .brand { min-width:0; }
  .brand img { width:44px; height:44px; }
  .brand strong { font-size:14px; }
  .brand small { font-size:9px; }
  .menu-toggle { display:flex; }
  .main-nav { position:absolute; left:20px; right:20px; top:72px; display:grid; gap:0; padding:11px; border:1px solid var(--line); border-radius:16px; background:rgba(7,16,21,.98); box-shadow:0 24px 60px rgba(0,0,0,.35); opacity:0; transform:translateY(-8px); pointer-events:none; transition:.22s ease; }
  .main-nav.open { opacity:1; transform:none; pointer-events:auto; }
  .main-nav > a { padding:13px 12px; border-bottom:1px solid rgba(255,255,255,.045); }
  .main-nav > a::after { display:none; }
  .btn-nav { margin-top:9px; width:100%; }
  .menu-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .menu-toggle.open span:nth-child(2){opacity:0}
  .menu-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

  .hero { min-height:0; padding-top:62px; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-copy { max-width:720px; }
  .hero-visual { max-width:620px; width:100%; margin-inline:auto; }
  .hero-image-frame { max-width:none; aspect-ratio:1.15; }
  .hero-image-frame img { object-position:center 42%; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .trust-grid > div:nth-child(3) { border-left:1px solid var(--line); border-top:1px solid var(--line); }
  .trust-grid > div:nth-child(4) { border-top:1px solid var(--line); }

  .section-head { grid-template-columns:1fr; gap:18px; }
  .split-grid, .tech-grid { grid-template-columns:1fr; }
  .media-stack { min-height:520px; max-width:640px; width:100%; }
  .tech-visual { height:460px; }
  .escort-panel { grid-template-columns:1fr; }
  .escort-photo { height:430px; }
  .escort-photo img { object-position:17% 50%; }
  .escort-content { background:#0b171d; padding:44px; }
  .coverage-grid { grid-template-columns:1fr; }
  .coverage-card { min-height:240px; }
  .coverage-card h3 { margin-top:36px; }
  .contact-panel { grid-template-columns:1fr; }
  .contact-details { border-left:0; border-top:1px solid var(--line); }
  .footer-grid { grid-template-columns:1fr; justify-items:center; text-align:center; }
  .footer-links { justify-content:center; }
}

@media (max-width: 640px) {
  .container { width:min(100% - 30px,var(--container)); }
  .section { padding:72px 0; }
  h1 { font-size:clamp(43px,14vw,60px); }
  h2 { font-size:clamp(33px,10vw,45px); }
  .hero { padding:52px 0 66px; }
  .hero-copy > p { font-size:15px; }
  .hero-actions { display:grid; grid-template-columns:1fr; }
  .hero-actions .btn { width:100%; }
  .hero-proof { margin-top:35px; gap:9px; }
  .hero-proof strong { font-size:21px; }
  .hero-proof span { font-size:9px; }
  .hero-image-frame { aspect-ratio:.95; border-radius:21px; }
  .hero-image-frame img { object-position:center; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-grid > div { min-height:92px; padding:18px 14px; gap:10px; }
  .trust-grid p { font-size:11px; }
  .trust-number { font-size:9px; }
  .services-grid { grid-template-columns:1fr; }
  .service-card { min-height:282px; }
  .media-stack { min-height:430px; }
  .media-main { right:22px; }
  .experience-badge { width:135px; bottom:30px; }
  .experience-badge strong { font-size:34px; }
  .experience-badge span { font-size:8px; }
  .showcase-grid { grid-template-columns:1fr; }
  .showcase-image { height:260px; }
  .tech-visual { height:390px; }
  .escort-photo { height:350px; }
  .escort-content { padding:34px 27px 38px; }
  .contact-copy { padding:38px 24px; }
  .contact-details { padding:35px 24px; }
  .contact-action { grid-template-columns:38px minmax(0,1fr) 14px; gap:9px; padding:12px; }
  .contact-icon { width:38px; height:38px; }
  .contact-action b { font-size:11px; }
  .footer-links { flex-direction:column; gap:7px; }
  .footer-bottom { padding-bottom:58px; flex-direction:column; align-items:center; gap:6px; }
  .quote-modal { padding:30px 20px 23px; }
  .quote-modal h2 { font-size:30px; }
  .mobile-contact-bar { position:fixed; z-index:90; left:12px; right:12px; bottom:10px; display:grid; grid-template-columns:1fr 1fr; padding:6px; border:1px solid rgba(255,255,255,.10); border-radius:14px; background:rgba(5,12,16,.92); box-shadow:0 14px 34px rgba(0,0,0,.35); backdrop-filter:blur(14px); }
  .mobile-contact-bar a,.mobile-contact-bar button { min-height:44px; display:grid; place-items:center; border:0; border-radius:10px; font-weight:850; font-size:12px; cursor:pointer; }
  .mobile-contact-bar a { color:#dce9ec; background:transparent; }
  .mobile-contact-bar button { color:#041114; background:var(--cyan); }
}

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

/* Lightweight security-console visual: CSS only, no video/canvas */
.tech-console { padding: 18px; background: radial-gradient(circle at 65% 25%,rgba(40,201,215,.08),transparent 30%), #071116; }
.console-topbar { height: 38px; display:flex; align-items:center; gap:7px; padding:0 10px; border:1px solid rgba(40,201,215,.14); border-radius:10px; background:rgba(40,201,215,.035); color:#6e8b93; }
.console-topbar > span { width:6px; height:6px; border-radius:50%; background:rgba(86,227,239,.55); }
.console-topbar b { margin-left:auto; color:#7da0a8; font-size:8px; letter-spacing:.14em; }
.console-grid { height: calc(100% - 53px); margin-top:15px; display:grid; grid-template-columns:1.45fr .75fr; grid-template-rows:1fr 1fr; gap:10px; }
.console-feed { position:relative; min-height:0; overflow:hidden; padding:14px; border:1px solid rgba(40,201,215,.12); border-radius:12px; background:linear-gradient(145deg,rgba(40,201,215,.035),rgba(255,255,255,.01)); }
.console-feed::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(40,201,215,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(40,201,215,.035) 1px,transparent 1px); background-size:26px 26px; }
.console-feed small { position:absolute; left:12px; bottom:10px; z-index:2; color:#5f7c84; font-size:7px; letter-spacing:.12em; }
.feed-main { grid-row:1 / 3; }
.camera-frame { position:absolute; inset:38px 34px 46px; border:1px solid rgba(87,228,239,.35); }
.camera-frame::before,.camera-frame::after { content:""; position:absolute; background:rgba(87,228,239,.18); }
.camera-frame::before { left:50%; top:0; bottom:0; width:1px; }
.camera-frame::after { top:50%; left:0; right:0; height:1px; }
.camera-frame i { position:absolute; width:18px; height:18px; border-color:var(--cyan-2); opacity:.7; }
.camera-frame i:nth-child(1){left:-1px;top:-1px;border-left:2px solid;border-top:2px solid}.camera-frame i:nth-child(2){right:-1px;top:-1px;border-right:2px solid;border-top:2px solid}.camera-frame i:nth-child(3){left:-1px;bottom:-1px;border-left:2px solid;border-bottom:2px solid}.camera-frame i:nth-child(4){right:-1px;bottom:-1px;border-right:2px solid;border-bottom:2px solid}
.signal-bars { position:absolute; inset:38px 24px 44px; display:flex; align-items:flex-end; gap:7px; }
.signal-bars i { flex:1; border-radius:3px 3px 0 0; background:linear-gradient(180deg,var(--cyan-2),rgba(40,201,215,.13)); opacity:.75; }
.signal-bars i:nth-child(1){height:28%}.signal-bars i:nth-child(2){height:47%}.signal-bars i:nth-child(3){height:67%}.signal-bars i:nth-child(4){height:54%}.signal-bars i:nth-child(5){height:86%}
.radar { position:absolute; width:105px; height:105px; left:50%; top:50%; transform:translate(-50%,-55%); border-radius:50%; border:1px solid rgba(40,201,215,.25); box-shadow:0 0 0 18px rgba(40,201,215,.025),0 0 0 36px rgba(40,201,215,.014); }
.radar::before,.radar::after { content:""; position:absolute; background:rgba(40,201,215,.18); }
.radar::before { left:50%; top:0; width:1px; height:100%; }.radar::after { top:50%; left:0; height:1px; width:100%; }
.radar i { position:absolute; left:50%; top:50%; width:50%; height:1px; transform-origin:left center; background:linear-gradient(90deg,var(--cyan),transparent); animation:radarSpin 4s linear infinite; }
@keyframes radarSpin { to{transform:rotate(360deg)} }
.feed-log { display:flex; flex-direction:column; justify-content:center; gap:10px; }
.feed-log p,.feed-log span { position:relative; z-index:2; margin:0; }
.feed-log p { color:#d8e9ec; font-size:9px; font-weight:900; letter-spacing:.1em; }
.feed-log span { color:#68858d; font-size:7px; letter-spacing:.08em; }
.feed-log span::first-letter { color:var(--cyan); }
@media (max-width:640px){.tech-console{padding:12px}.console-grid{grid-template-columns:1.3fr .7fr;gap:7px}.console-feed{padding:9px}.camera-frame{inset:32px 18px 42px}.radar{width:70px;height:70px}.console-topbar b{font-size:6px}.feed-log{gap:6px}.feed-log p{font-size:7px}.feed-log span{font-size:5.5px}}
.image-protection img { object-position:center 55%; }

/* Hero image: show the complete supplied artwork without cropping */
.hero-image-frame {
  aspect-ratio: 1291 / 1087;
  background: #0b1115;
}
.hero-image-frame img {
  object-fit: contain;
  object-position: center;
  transform: none;
}
.hero-image-frame:hover img { transform: scale(1.008); }

/* Careers / employment requirements */
.careers {
  background:
    radial-gradient(circle at 10% 20%, rgba(40,201,215,.07), transparent 26%),
    linear-gradient(180deg,#071015,#091319);
  overflow: hidden;
}
.careers-grid {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 72px;
  align-items: start;
}
.careers-copy {
  position: sticky;
  top: 126px;
}
.careers-copy h2 { max-width: 520px; }
.careers-copy > p { max-width: 500px; font-size: 15px; }
.requirements-list {
  display: grid;
  gap: 12px;
  counter-reset: requirements;
}
.requirement-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 64px minmax(0,1fr);
  gap: 18px;
  align-items: center;
  padding: 22px 24px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(135deg,rgba(255,255,255,.03),rgba(255,255,255,.012));
  transition: transform .28s var(--ease), border-color .28s ease, background .28s ease;
}
.requirement-card:hover {
  transform: translateX(5px);
  border-color: var(--line-strong);
  background: linear-gradient(135deg,rgba(40,201,215,.055),rgba(255,255,255,.012));
}
.requirement-number {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #061115;
  background: var(--cyan);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
}
.requirement-card h3 {
  margin: 0 0 5px;
  color: #f2f7f8;
  font-size: 18px;
  letter-spacing: -.02em;
}
.requirement-card p {
  margin: 0;
  color: #789099;
  font-size: 12.5px;
  line-height: 1.55;
}

@media (max-width: 860px) {
  .hero-image-frame { aspect-ratio: 1291 / 1087; }
  .hero-image-frame img { object-position: center; }
  .careers-grid { grid-template-columns: 1fr; gap: 34px; }
  .careers-copy { position: static; }
}

@media (max-width: 640px) {
  .hero-image-frame { aspect-ratio: 1291 / 1087; }
  .requirement-card { grid-template-columns: 48px minmax(0,1fr); gap: 13px; padding: 17px 16px; }
  .requirement-number { width: 42px; height: 42px; border-radius: 11px; font-size: 10px; }
  .requirement-card h3 { font-size: 15px; }
  .requirement-card p { font-size: 11.5px; }
}

/* Experience artwork: show the full supplied graphic so its headline is readable */
#experiencia .media-stack {
  min-height: 0;
  aspect-ratio: 1291 / 1034;
}
#experiencia .media-main {
  inset: 0;
  background: #0b1115;
}
#experiencia .media-main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
#experiencia .experience-badge {
  right: -18px;
  bottom: 28px;
}

@media (max-width: 860px) {
  #experiencia .media-stack {
    min-height: 0;
    aspect-ratio: 1291 / 1034;
  }
  #experiencia .media-main { inset: 0; }
}

@media (max-width: 640px) {
  #experiencia .media-stack {
    min-height: 0;
    aspect-ratio: 1291 / 1034;
  }
  #experiencia .media-main { right: 0; }
  #experiencia .experience-badge {
    right: -8px;
    bottom: 14px;
    width: 112px;
  }
  #experiencia .experience-badge strong { font-size: 30px; }
  #experiencia .experience-badge span { font-size: 7px; }
}

/* Zoom out the final three content images so all built-in artwork/text remains visible */
.showcase-image.image-guards {
  height: auto;
  aspect-ratio: 1305 / 1044;
  background: #081217;
}
.showcase-image.image-protection {
  height: auto;
  aspect-ratio: 1294 / 1190;
  background: #081217;
}
.showcase-image.image-guards img,
.showcase-image.image-protection img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}
.showcase-card:hover .image-guards img,
.showcase-card:hover .image-protection img {
  transform: none;
}

.escort-photo {
  background: #081217;
}
.escort-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}

@media (max-width: 860px) {
  .escort-photo {
    height: auto;
    aspect-ratio: 1208 / 958;
  }
  .escort-photo img { object-position: center; }
}

@media (max-width: 640px) {
  .showcase-image.image-guards { aspect-ratio: 1305 / 1044; }
  .showcase-image.image-protection { aspect-ratio: 1294 / 1190; }
  .escort-photo { height: auto; aspect-ratio: 1208 / 958; }
}
