:root {
  --bg: #080a0b;
  --bg-soft: #0e1113;
  --panel: #121619;
  --panel-2: #171c1f;
  --line: rgba(255,255,255,.12);
  --line-strong: rgba(255,255,255,.2);
  --text: #f1f3f3;
  --muted: #9aa3a6;
  --gold: #ffd20a;
  --gold-2: #e5aa00;
  --green: #22e65f;
  --max: 1480px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(circle at 80% 10%, rgba(255,210,10,.045), transparent 28rem),
    var(--bg);
  font-family: "Segoe UI", Inter, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }

.topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  height: 76px;
  padding: 0 clamp(22px, 4vw, 64px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid transparent;
  transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
}
.topbar.scrolled {
  background: rgba(7,9,10,.82);
  border-color: var(--line);
  backdrop-filter: blur(14px);
}
.brand { display:flex; align-items:center; gap:13px; min-width:0; }
.brand-mark {
  font-style: italic;
  font-weight: 900;
  font-size: 26px;
  line-height: 1;
  letter-spacing: -1.5px;
  color: var(--gold);
  text-shadow: 0 0 18px rgba(255,210,10,.16);
}
.brand-copy { font-size: 11px; letter-spacing: .08em; font-weight: 800; white-space: nowrap; }
.nav { display:flex; align-items:center; gap:30px; color:#cfd4d5; font-size:13px; }
.nav a { transition: color .18s ease; }
.nav a:hover { color: #fff; }
.nav-download { border:1px solid rgba(255,210,10,.4); padding:10px 16px; color:var(--gold)!important; }
.nav-contact { border-left:1px solid rgba(255,255,255,.18); padding-left:24px; color:#fff!important; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.nav-contact:hover { color:var(--gold)!important; }

.hero {
  position: relative;
  min-height: 100svh;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom: 1px solid var(--line);
}
.hero-video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter: saturate(.88) contrast(1.08) brightness(.72);
}
.hero-scrim {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(4,6,7,.96) 0%, rgba(4,6,7,.74) 41%, rgba(4,6,7,.2) 70%, rgba(4,6,7,.46) 100%),
    linear-gradient(0deg, rgba(8,10,11,.88) 0%, transparent 38%, rgba(0,0,0,.22) 100%);
}
.hero-grid {
  position:absolute;
  inset:0;
  opacity:.13;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(90deg, black, transparent 72%);
}
.hero-content {
  position:relative;
  z-index:2;
  width:min(var(--max), calc(100% - 48px));
  margin:0 auto;
  padding:130px 0 90px;
}
.eyebrow, .section-kicker {
  color: var(--gold);
  font-size: 11px;
  line-height:1;
  letter-spacing:.22em;
  font-weight:800;
  text-transform:uppercase;
}
.eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:28px; }
.eyebrow span { width:34px; height:1px; background:var(--gold); box-shadow:0 0 12px rgba(255,210,10,.6); }
.hero h1 { margin:0; display:flex; flex-direction:column; align-items:flex-start; }
.sds-word {
  display:block;
  font-size: clamp(98px, 15vw, 235px);
  line-height:.72;
  font-style:italic;
  font-weight:1000;
  letter-spacing:-.09em;
  padding-right:.08em;
  color:transparent;
  background:linear-gradient(180deg, #fff36c 0%, #ffd20a 26%, #d99a00 70%, #8f5d00 100%);
  -webkit-background-clip:text;
  background-clip:text;
  filter: drop-shadow(0 15px 24px rgba(0,0,0,.7));
  text-shadow: 0 0 35px rgba(255,197,0,.08);
}
.hero h1 small {
  margin-top:26px;
  font-size:clamp(15px, 1.7vw, 25px);
  letter-spacing:.34em;
  font-weight:500;
  color:#fff;
}
.hero-lead { max-width:740px; margin:32px 0 0; color:#d1d6d7; font-size:clamp(17px, 1.5vw, 22px); line-height:1.62; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:38px; }
.button {
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 23px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  font-weight:900;
  border:1px solid transparent;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--gold); color:#0a0b0c; box-shadow:0 14px 42px rgba(255,198,0,.13); }
.button-primary:hover { background:#ffe044; }
.button-ghost { border-color:rgba(255,255,255,.35); background:rgba(0,0,0,.15); backdrop-filter:blur(5px); }
.button-ghost:hover { border-color:#fff; }
.button-large { min-height:58px; padding:0 32px; font-size:13px; }
.hero-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:45px; color:#aeb6b8; font-size:11px; letter-spacing:.07em; text-transform:uppercase; }
.hero-meta span { border:1px solid rgba(255,255,255,.13); padding:9px 12px; background:rgba(0,0,0,.22); }
.scroll-cue { position:absolute; z-index:2; right:clamp(22px,4vw,64px); bottom:32px; width:28px; height:46px; border:1px solid rgba(255,255,255,.28); border-radius:20px; }
.scroll-cue span { position:absolute; top:10px; left:50%; width:3px; height:7px; margin-left:-1.5px; background:var(--gold); border-radius:3px; animation:scrollCue 1.8s infinite; }
@keyframes scrollCue { 0%{transform:translateY(0);opacity:0} 25%{opacity:1} 75%{opacity:1} 100%{transform:translateY(16px);opacity:0} }

.section { width:min(var(--max), calc(100% - 48px)); margin:0 auto; padding:120px 0; }
.intro { position:relative; }
.intro-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:80px; align-items:end; margin-top:24px; }
h2 { margin:0; font-size:clamp(42px, 5.2vw, 82px); line-height:1.02; letter-spacing:-.045em; font-weight:760; }
h2 em { color:var(--gold); font-style:normal; }
.intro-copy { border-left:1px solid var(--line); padding-left:36px; color:#b9c0c2; font-size:18px; line-height:1.75; }
.intro-copy p:first-child { margin-top:0; }
.intro-copy p:last-child { margin-bottom:0; }
.signal-line { margin-top:78px; height:76px; display:flex; align-items:center; gap:7px; border-block:1px solid var(--line); overflow:hidden; padding:0 20px; }
.signal-line i { display:block; width:5px; background:var(--green); opacity:.72; box-shadow:0 0 9px rgba(34,230,95,.35); }
.signal-line i:nth-child(1){height:9px}.signal-line i:nth-child(2){height:17px}.signal-line i:nth-child(3){height:31px}.signal-line i:nth-child(4){height:51px}.signal-line i:nth-child(5){height:28px}.signal-line i:nth-child(6){height:61px}.signal-line i:nth-child(7){height:39px}.signal-line i:nth-child(8){height:21px}.signal-line i:nth-child(9){height:47px}.signal-line i:nth-child(10){height:25px}.signal-line i:nth-child(11){height:13px}.signal-line i:nth-child(12){height:7px}

.interface-section { padding-top:90px; }
.section-heading { display:grid; grid-template-columns:1fr .6fr; gap:70px; align-items:end; margin-bottom:44px; }
.section-heading h2 { font-size:clamp(38px,4.5vw,70px); margin-top:18px; }
.section-heading p { color:#aeb6b8; font-size:17px; line-height:1.65; margin:0 0 5px; }
.interface-frame { position:relative; background:#0c0e10; border:1px solid #333a3d; padding:38px 10px 10px; box-shadow:0 32px 100px rgba(0,0,0,.5); overflow:hidden; }
.frame-top { position:absolute; top:0; left:0; right:0; height:38px; display:flex; gap:7px; align-items:center; padding:0 13px; border-bottom:1px solid var(--line); background:#111416; }
.frame-top span { width:7px; height:7px; border-radius:50%; background:#394044; }
.frame-top span:first-child { background:var(--gold); }
.frame-top b { margin-left:auto; font-size:9px; letter-spacing:.16em; color:#727b7e; }
.interface-frame img { width:100%; height:auto; display:block; border:1px solid #262b2e; }
.frame-glow { position:absolute; left:12%; right:12%; bottom:-55px; height:90px; background:var(--gold); filter:blur(75px); opacity:.08; pointer-events:none; }
.interface-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.interface-tags span { border:1px solid var(--line); color:#879093; padding:8px 11px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }

.feature-section { border-top:1px solid var(--line); }
.feature-title { max-width:800px; margin-top:20px; }
.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:55px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.feature-card { min-height:300px; padding:34px 28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0)); transition:background .2s ease, transform .2s ease; }
.feature-card:hover { background:rgba(255,210,10,.035); transform:translateY(-3px); }
.feature-number { color:var(--gold); font-size:11px; letter-spacing:.14em; margin-bottom:72px; }
.feature-card h3 { margin:0 0 16px; font-size:22px; }
.feature-card p { margin:0; color:#929b9e; line-height:1.65; font-size:14px; }

.brand-break { position:relative; height:min(62vw,780px); min-height:440px; overflow:hidden; border-block:1px solid var(--line); background:#030404; }
.brand-break img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.9) contrast(1.04); }
.brand-break-mask { position:absolute; inset:0; box-shadow:inset 0 0 140px 40px #050607; pointer-events:none; }

.download-section { padding-block:110px; }
.download-panel { position:relative; overflow:hidden; border:1px solid #3b4143; background:linear-gradient(135deg,#141819,#0d1011); padding:clamp(34px,5vw,74px); display:grid; grid-template-columns:1fr auto; gap:70px; align-items:center; }
.download-panel::before { content:""; position:absolute; width:460px; height:460px; right:-190px; top:-230px; border:1px solid rgba(255,210,10,.23); transform:rotate(45deg); }
.download-copy { position:relative; z-index:1; }
.download-copy h2 { font-size:clamp(40px,4.6vw,68px); margin-top:18px; }
.download-copy p { color:#aeb6b8; font-size:16px; line-height:1.65; max-width:700px; }
.release-status { margin-top:23px; display:inline-flex; align-items:center; min-height:32px; padding:0 12px; border:1px solid rgba(34,230,95,.25); color:#8df6a7; background:rgba(34,230,95,.04); font-size:11px; letter-spacing:.07em; text-transform:uppercase; }
.download-actions { position:relative; z-index:1; min-width:250px; display:flex; flex-direction:column; align-items:stretch; gap:16px; }
.text-link { color:#c9d0d2; font-size:12px; letter-spacing:.05em; text-align:center; }
.text-link span { color:var(--gold); }

.footer { min-height:100px; border-top:1px solid var(--line); padding:25px clamp(22px,4vw,64px); display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; color:#7e878a; font-size:11px; letter-spacing:.04em; }
.footer-brand .brand-mark { font-size:20px; }
.footer-brand .brand-copy { color:#cbd0d1; font-size:9px; }
.footer-copy { text-align:center; }
.footer > a { text-align:right; color:#b9c0c2; }


/* Hardware wanted / platform expansion */
.wanted-section {
  border-top:1px solid var(--line);
  padding-top:105px;
}
.wanted-heading { margin-bottom:42px; }
.wanted-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.wanted-card {
  position:relative;
  min-height:330px;
  padding:38px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,0));
  overflow:hidden;
}
.wanted-card::after {
  content:"";
  position:absolute;
  width:220px; height:220px;
  right:-110px; bottom:-120px;
  border:1px solid rgba(255,210,10,.16);
  transform:rotate(45deg);
}
.wanted-priority { background:linear-gradient(145deg,rgba(255,210,10,.06),rgba(255,255,255,0) 48%); }
.wanted-badge {
  display:inline-flex;
  padding:7px 10px;
  border:1px solid rgba(255,210,10,.34);
  color:var(--gold);
  font-size:9px; font-weight:900; letter-spacing:.18em;
}
.wanted-model { margin-top:54px; color:#737d80; font-size:11px; font-weight:800; letter-spacing:.16em; }
.wanted-card h3 { margin:8px 0 16px; font-size:clamp(27px,2.2vw,38px); letter-spacing:-.025em; }
.wanted-card p { max-width:650px; margin:0; color:#9ba4a7; font-size:15px; line-height:1.7; }
.wanted-shipping {
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:24px;
  align-items:center;
  margin-top:18px;
  padding:25px 28px;
  border:1px solid var(--line);
  background:#0c0f10;
}
.wanted-shipping-icon {
  width:48px; height:48px;
  display:grid; place-items:center;
  border:1px solid rgba(34,230,95,.28);
  color:var(--green);
  font-size:24px;
}
.wanted-shipping strong { font-size:15px; color:#eef1f1; }
.wanted-shipping p { margin:6px 0 0; color:#8f999c; font-size:13px; line-height:1.6; }
.platform-note {
  max-width:760px;
  margin:21px 0 0;
  padding:14px 16px;
  border-left:2px solid var(--gold);
  background:rgba(255,210,10,.035);
  color:#aeb6b8;
  font-size:13px;
  line-height:1.55;
}
.platform-note span {
  display:inline-block;
  margin-right:10px;
  padding:4px 7px;
  background:var(--gold);
  color:#0a0b0c;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.13em;
  vertical-align:1px;
}
.platform-note strong { color:#f1f3f3; }

@media (max-width: 980px) {
  .nav a:not(.nav-download):not(.nav-contact) { display:none; }
  .nav { gap:14px; }
  .nav-contact { padding-left:14px; font-size:10px; }
  .topbar { height:66px; }
  .hero-content { padding-top:110px; }
  .hero-scrim { background:linear-gradient(90deg,rgba(4,6,7,.92),rgba(4,6,7,.55)), linear-gradient(0deg,rgba(8,10,11,.92),transparent 50%); }
  .intro-grid, .section-heading { grid-template-columns:1fr; gap:35px; }
  .intro-copy { padding-left:22px; }
  .feature-grid { grid-template-columns:repeat(2,1fr); }
  .download-panel { grid-template-columns:1fr; gap:35px; }
  .download-actions { width:min(100%,360px); }
  .wanted-shipping { grid-template-columns:auto 1fr; }
  .wanted-shipping .button { grid-column:1 / -1; width:min(100%,360px); }
}

@media (max-width: 620px) {
  .brand-copy { font-size:9px; }
  .nav-download { padding:8px 10px; font-size:10px; }
  .nav-contact { padding-left:10px; font-size:9px; }
  .hero { min-height:92svh; }
  .hero-video { object-position:60% center; }
  .hero-content, .section { width:min(100% - 30px, var(--max)); }
  .hero h1 small { letter-spacing:.19em; }
  .hero-lead { font-size:16px; }
  .hero-actions .button { width:100%; }
  .hero-meta { gap:6px; }
  .hero-meta span { font-size:9px; }
  .scroll-cue { display:none; }
  .section { padding:80px 0; }
  .feature-grid { grid-template-columns:1fr; }
  .feature-card { min-height:230px; }
  .wanted-grid { grid-template-columns:1fr; }
  .wanted-card { min-height:280px; padding:30px 24px; }
  .wanted-model { margin-top:36px; }
  .wanted-shipping { grid-template-columns:1fr; padding:24px; }
  .wanted-shipping-icon { width:42px; height:42px; }
  .wanted-shipping .button { width:100%; }
  .feature-number { margin-bottom:45px; }
  .brand-break { min-height:320px; }
  .download-panel { padding:30px 24px; }
  .footer { grid-template-columns:1fr; gap:15px; text-align:center; }
  .footer-copy, .footer > a { text-align:center; }
  .footer-brand { justify-content:center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .hero-video { display:none; }
  .hero { background:url('video-poster.jpg') center/cover no-repeat; }
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* SDS Forum homepage integration */
.forum-promo-section{border-top:1px solid var(--line)}
.forum-promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.forum-promo-text{border:1px solid #3c4244;background:linear-gradient(130deg,#192023,#0c1011);padding:clamp(30px,4vw,54px)}
.forum-promo-eyebrow{display:block;color:var(--gold);font-size:11px;letter-spacing:.19em;font-weight:800;margin-bottom:30px}
.forum-promo-text h3{font-size:clamp(26px,2.8vw,42px);line-height:1.16;letter-spacing:-.04em;max-width:520px;margin:0 0 20px}
.forum-promo-text p{color:#aeb6b8;font-size:15px;line-height:1.7;margin-bottom:30px}
.forum-promo-topics{border:1px solid #3c4244;display:flex;flex-direction:column}
.forum-promo-topics a{display:flex;justify-content:space-between;align-items:center;flex:1;padding:20px 30px;border-bottom:1px solid var(--line);font-size:clamp(15px,1.65vw,20px);font-weight:700;transition:background .2s}
.forum-promo-topics a:last-child{border-bottom:0}
.forum-promo-topics a:hover{background:rgba(255,210,10,.07)}
.forum-promo-topics a strong{color:var(--gold);font-size:20px}
@media(max-width:780px){.forum-promo-grid{grid-template-columns:1fr}.forum-promo-topics a{min-height:72px}}
/* Keep the new Forum navigation visible on phones even though the old site hides secondary links. */
@media (max-width:980px){.nav a[href="forum/"]{display:inline-flex}}

/* Keep Forum available at the narrowest device widths without obscuring Downloads/Contact. */
@media (max-width: 520px) {
  .topbar { padding-left:14px; padding-right:14px; }
  .nav { gap:9px; }
  .nav-contact { padding-left:9px; font-size:9px; }
  .nav-forum { font-size:11px; }
  .brand-copy { display:none; }
}
