:root {
  --bg: #151719;
  --bg-2: #1c1f21;
  --panel: #17191b;
  --text: #f2f3f4;
  --muted: #b9bec1;
  --red: #e10b13;
  --red-dark: #a9070d;
  --line: rgba(225, 11, 19, .55);
  --cyan: #49c8e8;
  --container: 940px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.55;
}
button, input { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.container { width: min(var(--container), calc(100% - 40px)); margin: 0 auto; }
.section-dark { background: var(--bg); }
.site-header {
  position: fixed; z-index: 50; inset: 0 0 auto;
  height: 72px; display: flex; align-items: center;
  justify-content: space-between; gap: 28px;
  padding: 0 34px;
  background: rgba(16,18,20,.74); backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.brand { display: flex; flex-direction: column; line-height: 1; min-width: 145px; }
.brand-mark, .footer-brand, .less-logo { font-weight: 900; letter-spacing: -4px; font-size: 33px; color: transparent; -webkit-text-stroke: 1px var(--red); }
.brand-sub { font-size: 7px; color: #aeb2b5; letter-spacing: .2px; margin-top: -2px; }
.main-nav { display: flex; gap: 18px; align-items: center; font-size: 10px; color: #e4e5e5; }
.main-nav a:hover { color: var(--red); }
.menu-toggle { display:none; background:none; border:0; }
.hero {
  min-height: 820px; position: relative; overflow: hidden;
  display: flex; align-items: center; padding-top: 72px;
}
.hero-image {
  position:absolute; inset:0;
  background-image: url("assets/hero-reference.jpg");
  background-size: cover; background-position:center;
  filter: saturate(.72) brightness(.84);
  transform: scale(1.015);
}
.hero-overlay {
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(38,78,91,.9) 0%, rgba(54,91,102,.74) 37%, rgba(8,20,25,.10) 78%),
              linear-gradient(180deg, rgba(8,10,12,.22), rgba(8,10,12,.04) 55%, rgba(7,11,14,.35));
}
.network-lines {
  position:absolute; inset:0; opacity:.65;
  background:
    radial-gradient(circle at 70% 17%, rgba(255,255,255,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 88% 50%, rgba(255,255,255,.9) 0 2px, transparent 3px);
}
.hero-content { position:relative; z-index:2; }
.hero-copy { max-width: 420px; margin-top: 60px; }
.eyebrow, .kicker { color: var(--red); text-transform: uppercase; letter-spacing: 1.3px; font-weight: 700; font-size: 11px; }
.hero h1 { text-transform: uppercase; font-size: clamp(35px, 4vw, 58px); line-height: .98; margin: 10px 0 18px; }
.hero-copy p:not(.eyebrow) { max-width: 340px; color:#eef3f4; font-size:12px; }
.btn {
  border: 0; border-radius: 3px; padding: 11px 18px; color: white; font-size: 10px; font-weight: 700; text-transform: uppercase;
}
.btn-red { background: var(--red); box-shadow: 0 5px 18px rgba(225,11,19,.22); }
.btn-red:hover { background: #ff151d; transform: translateY(-1px); }
.slider-arrow {
  position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:40px; height:40px;
  border:0; background:rgba(0,0,0,.15); color:#fff; font-size:32px;
}
.slider-arrow.prev { left:24px; } .slider-arrow.next { right:24px; }
.slider-dots { position:absolute; z-index:3; left:50%; bottom:25px; transform:translateX(-50%); display:flex; gap:8px; }
.dot { width:7px; height:7px; border-radius:50%; border:0; background:#b9c1c4; padding:0; }
.dot.active { background:var(--red); transform:scale(1.35); }

.about { padding: 75px 0 55px; background:
  radial-gradient(circle at 12% 15%, rgba(255,255,255,.06), transparent 22%),
  #151719; }
.about-grid { display:grid; grid-template-columns: 1fr 1.35fr; gap:36px; align-items:center; }
.media-frame { border:1px solid var(--red); border-radius:16px; padding:6px; box-shadow:0 0 0 4px rgba(225,11,19,.09); overflow:hidden; }
.media-frame img { width:100%; height:240px; object-fit:cover; object-position:center; display:block; filter: grayscale(.25) contrast(.9) brightness(.75); border-radius:9px; }
.about-copy h2 { font-size:25px; line-height:1.15; margin:5px 0 13px; }
.about-copy h2 span { color:var(--red); }
.about-copy p:not(.kicker) { color:var(--muted); font-size:11px; max-width:590px; }

.goals { padding: 10px 0 40px; }
.section-title { text-align:center; font-size:21px; margin: 0 0 25px; }
.goal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; max-width:650px; margin:0 auto; }
.goal-card {
  min-height:170px; padding:20px 16px; text-align:center; border:1px solid var(--line); border-radius:13px;
  background:linear-gradient(145deg, rgba(255,255,255,.025), rgba(0,0,0,.2)); transition:.25s;
}
.goal-card:hover { transform:translateY(-4px); box-shadow:0 15px 35px rgba(0,0,0,.25); }
.goal-icon { color:var(--red); font-size:25px; margin-bottom:7px; }
.goal-card h3 { font-size:12px; margin:0 0 9px; }
.goal-card p { color:#aaa; font-size:9px; margin:0 0 12px; }
.text-btn { background:none; color:var(--red); border:0; font-size:9px; font-weight:700; }

.less { padding: 32px 0; border-top:1px solid rgba(255,255,255,.025); border-bottom:1px solid rgba(255,255,255,.025); }
.less-inner { display:flex; align-items:center; justify-content:center; gap:55px; }
.less-logo { color:transparent; -webkit-text-stroke-color:#6c7174; font-size:55px; }
.less h2 { color:var(--red); font-size:18px; margin:0 0 2px; }
.less p { color:#bbb; font-size:10px; margin:0; }

.certificates { padding: 18px 0 45px; }
.cert-row { display:flex; justify-content:center; gap:20px; flex-wrap:wrap; }
.cert {
  width:95px; height:95px; border-radius:50%; border:2px solid #8a8d8f;
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  color:#c9cccd; text-align:center; font-size:8px; opacity:.9;
}
.cert strong { font-size:7px; }

.solutions { padding: 25px 0 65px; }
.solution-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.solution-card {
  border:1px solid var(--line); background:#181a1c; color:white; min-height:145px; border-radius:12px;
  padding:20px; text-align:left; transition:.25s;
}
.solution-card:hover { transform:translateY(-4px); border-color:var(--red); }
.solution-icon { color:var(--cyan); font-size:28px; display:block; margin-bottom:15px; }
.solution-card strong { display:block; margin-bottom:8px; }
.solution-card small { color:#aaa; }

.contact-strip { background:#464d51; padding:25px 0 30px; text-align:center; }
.contact-strip h2 { font-size:20px; margin:0 0 20px; }
.contact-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; max-width:650px; margin:auto; }
.contact-card {
  background:#17191b; border:1px solid var(--line); color:white; border-radius:11px; min-height:55px; text-align:left; padding:0 17px;
}
.contact-card span { color:var(--red); font-size:20px; margin-right:14px; }

.footer { background:#151719; padding:45px 0 20px; }
.footer-grid { display:grid; grid-template-columns:1fr 1.15fr 1.35fr; gap:35px; }
.footer h4 { font-size:10px; margin:0 0 8px; }
.footer p, .footer small { color:#aaa; font-size:9px; }
.footer-brand { font-size:48px; }
.subscribe { display:flex; }
.subscribe input { flex:1; min-width:0; background:#101214; border:1px solid #444; color:white; padding:10px; outline:none; }
.subscribe .btn { border-radius:0; }
.footer-bottom { border-top:1px solid #333; margin-top:25px; padding-top:15px; display:flex; justify-content:space-between; color:#888; font-size:9px; }
.footer-bottom a { margin-right:15px; }
.socials { display:flex; gap:8px; }
.socials a { width:24px; height:24px; border-radius:50%; background:#e10b13; color:#fff; display:grid; place-items:center; font-size:9px; }
.back-top { position:fixed; z-index:20; right:16px; bottom:16px; width:31px; height:31px; border:0; border-radius:3px; background:var(--red); color:#fff; display:none; }
.back-top.show { display:block; }

.modal { position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:20px; }
.modal.open { display:flex; }
.modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.78); backdrop-filter:blur(5px); }
.modal-dialog { position:relative; z-index:2; width:min(650px,100%); max-height:85vh; overflow:auto; background:#17191b; border:1px solid var(--red); border-radius:14px; padding:30px; box-shadow:0 25px 80px rgba(0,0,0,.55); }
.modal-dialog h2 { margin:0 0 14px; font-size:26px; }
.modal-dialog p, .modal-dialog li { color:#b8bdc0; font-size:12px; }
.modal-close { position:absolute; top:10px; right:13px; background:none; border:0; color:white; font-size:26px; }
.modal-actions { margin-top:20px; }

.toast { position:fixed; z-index:200; top:88px; right:20px; background:#111315; border:1px solid var(--red); color:#fff; padding:12px 16px; border-radius:8px; transform:translateX(150%); transition:.3s; font-size:11px; }
.toast.show { transform:translateX(0); }

@media (max-width: 850px) {
  .site-header { height:64px; padding:0 18px; }
  .menu-toggle { display:flex; flex-direction:column; gap:4px; }
  .menu-toggle span { width:23px; height:2px; background:#fff; }
  .main-nav { position:absolute; top:64px; right:12px; left:12px; display:none; flex-direction:column; align-items:stretch; gap:0; background:#17191b; border:1px solid #333; border-radius:10px; padding:8px; }
  .main-nav.open { display:flex; }
  .main-nav a { padding:11px; }
  .hero { min-height:650px; }
  .hero-copy { margin-top:0; max-width:320px; }
  .about-grid { grid-template-columns:1fr; }
  .goal-grid, .solution-grid, .contact-actions { grid-template-columns:1fr; max-width:400px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:15px; }
  .less-inner { gap:25px; }
}
@media (max-width: 520px) {
  .hero-image { background-position: 62% center; }
  .hero-overlay { background:linear-gradient(90deg, rgba(25,55,65,.94), rgba(25,55,65,.55)); }
  .hero h1 { font-size:38px; }
  .slider-arrow { display:none; }
  .less-inner { flex-direction:column; text-align:center; }
  .cert-row { gap:9px; }
  .cert { width:76px; height:76px; }
}
