:root {
  --bg: #07111f;
  --bg2: #0b1728;
  --panel: rgba(255, 255, 255, .07);
  --panel2: rgba(255, 255, 255, .045);
  --line: rgba(202, 229, 255, .15);
  --text: #f4f8ff;
  --muted: #aebbd0;
  --cyan: #43d4ff;
  --mint: #76ffc0;
  --amber: #ffd166;
  --shadow: 0 30px 90px rgba(0, 0, 0, .34);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 9% 0%, rgba(67, 212, 255, .18), transparent 27rem),
    radial-gradient(circle at 80% 14%, rgba(118, 255, 192, .12), transparent 25rem),
    linear-gradient(180deg, var(--bg), var(--bg2) 45%, #050a12);
  color: var(--text);
  font-family: Avenir Next, Segoe UI, Helvetica Neue, sans-serif;
  line-height: 1.5;
}
a { color: inherit; }
.skip-link {
  position: absolute;
  left: -999px;
  top: 0;
  background: var(--mint);
  color: #03111d;
  padding: .75rem 1rem;
  z-index: 100;
}
.skip-link:focus { left: 0; }
.wrap { width: min(1120px, calc(100% - 32px)); margin-inline: auto; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(7, 17, 31, .78);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
}
.nav {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.brand {
  font-weight: 900;
  letter-spacing: .04em;
  text-decoration: none;
}
.brand span { color: var(--cyan); }
.mainnav, .langs, .trust, .actions, .chips { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.mainnav a, .langs a, .footer a {
  color: var(--muted);
  text-decoration: none;
  font-size: .92rem;
}
.langs a, .trust span, .chips span {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .48rem .64rem;
  background: rgba(255, 255, 255, .035);
}
.hero {
  min-height: calc(100dvh - 48px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, .88fr);
  gap: clamp(2rem, 6vw, 4.8rem);
  align-items: center;
  padding: clamp(3rem, 8vw, 6rem) 0;
}
.kicker {
  margin: 0 0 .85rem;
  color: var(--mint);
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .76rem;
}
h1, h2, h3 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  white-space: normal;
}

p {
  overflow-wrap: break-word;
  word-break: normal;
}

h1 {
  margin: 0 0 1rem;
  max-width: 100%;
  font-size: clamp(2.4rem, 6vw, 6.2rem);
  line-height: 1;
  letter-spacing: 0;
}

h2 {
  margin: 0;
  font-size: clamp(2rem, 4.6vw, 4.1rem);
  line-height: 1.05;
  letter-spacing: 0;
}

h3 {
  margin: 0 0 .7rem;
  font-size: 1.22rem;
  line-height: 1.15;
}
p { color: var(--muted); font-size: 1rem; }
.lead {
  color: #e4f1ff;
  font-size: clamp(1.14rem, 2vw, 1.42rem);
}
.btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .8rem 1.05rem;
  background: rgba(255, 255, 255, .055);
  text-decoration: none;
  font-weight: 800;
  color: var(--text);
}
.btn.primary {
  border: 0;
  color: #03111d;
  background: linear-gradient(135deg, var(--cyan), var(--mint));
  box-shadow: 0 18px 58px rgba(67, 212, 255, .2);
}
.trust { margin-top: 1rem; }
.trust span { color: var(--muted); font-size: .85rem; }
.bunker-visual {
  position: relative;
  min-height: 520px;
  border: 1px solid rgba(67, 212, 255, .24);
  border-radius: 28px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  background-size: 38px 38px, 38px 38px, auto;
  box-shadow: var(--shadow);
}
.bunker-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 62% 42%, transparent 0 9rem, rgba(7,17,31,.18) 9.1rem);
  pointer-events: none;
}
.terminal {
  position: absolute;
  left: 9%;
  width: 9.2rem;
  height: 5rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: #091525;
  box-shadow: 0 16px 46px rgba(0,0,0,.28);
}
.terminal::after {
  content: "";
  position: absolute;
  left: 40%;
  right: 40%;
  bottom: -1.2rem;
  height: 1.2rem;
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
}
.t1 { top: 18%; }
.t2 { top: 44%; left: 6%; }
.t3 { top: 70%; left: 14%; }
.core {
  position: absolute;
  right: 11%;
  top: 27%;
  width: 15rem;
  height: 15rem;
  display: grid;
  place-content: center;
  gap: .4rem;
  border: 1px solid rgba(67, 212, 255, .55);
  border-radius: 2rem;
  background: radial-gradient(circle at 42% 32%, rgba(118,255,192,.2), rgba(67,212,255,.08) 44%, rgba(4,10,18,.94));
  box-shadow: inset 0 0 55px rgba(67,212,255,.1), 0 0 95px rgba(67,212,255,.18);
  animation: pulse 5s ease-in-out infinite;
}
.core span { color: #eafff7; font-weight: 900; letter-spacing: .16em; font-size: .78rem; text-align: center; }
.flow {
  position: absolute;
  height: 1px;
  width: 47%;
  left: 25%;
  background: linear-gradient(90deg, transparent, var(--cyan), var(--mint), transparent);
  transform-origin: left;
  animation: flow 3.8s linear infinite;
}
.f1 { top: 29%; transform: rotate(9deg); }
.f2 { top: 52%; transform: rotate(-1deg); animation-delay: .45s; }
.f3 { top: 73%; transform: rotate(-13deg); animation-delay: .9s; }
.section { padding: clamp(4rem, 8vw, 7rem) 0; }
.alt {
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01));
  border-block: 1px solid rgba(202,229,255,.08);
}
.split {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}
.section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 430px);
  gap: 1.5rem;
  align-items: end;
  margin-bottom: 1.6rem;
}
.section-head.narrow { display: block; max-width: 760px; }
.cardgrid { display: grid; gap: 1rem; }
.cardgrid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cardgrid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cardgrid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card, .package, .contact, .legal dl, .notice {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--panel);
  padding: 1.35rem;
}
.lift { transition: transform .22s ease, border-color .22s ease, background .22s ease; }
.lift:hover { transform: translateY(-4px); border-color: rgba(67,212,255,.42); background: rgba(255,255,255,.09); }
.rows { display: grid; gap: .8rem; }
.row {
  display: grid;
  grid-template-columns: .55fr 1fr 1fr;
  gap: 1rem;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 1rem;
  background: var(--panel2);
}
.row b { color: var(--cyan); }
.row span { color: var(--muted); }
.ai-band { background: linear-gradient(120deg, rgba(67,212,255,.08), rgba(118,255,192,.05)); }
.bigtext { color: #e8f3ff; font-size: clamp(1.22rem, 2.2vw, 1.75rem); }
.chips { align-items: stretch; }
.chips span { color: #deebfa; padding: .75rem .9rem; }
.package {
  background: linear-gradient(180deg, rgba(67,212,255,.1), rgba(255,255,255,.04));
  min-height: 12rem;
}
.contact {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 2rem;
}
.contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
label { display: grid; gap: .35rem; color: var(--muted); font-size: .88rem; }
input, textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #07111f;
  color: var(--text);
  padding: .75rem;
  font: inherit;
}
textarea { min-height: 8rem; resize: vertical; }
.wide { grid-column: 1 / -1; }
.small { font-size: .9rem; }
.footer {
  border-top: 1px solid var(--line);
  color: var(--muted);
  padding: 1.8rem 0 calc(1.8rem + env(safe-area-inset-bottom, 0px));
}
.foot { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.foot a { margin-right: .9rem; }
.legal {
  padding: clamp(3rem, 8vw, 6rem) 0;
  max-width: 900px;
}
.legal h1 { max-width: none; font-size: clamp(2.8rem, 7vw, 5.4rem); }
.legal h2 { font-size: clamp(1.55rem, 3vw, 2.3rem); margin-top: 2.2rem; }
.legal dl { display: grid; grid-template-columns: minmax(150px, .35fr) 1fr; gap: .75rem 1rem; }
.legal dt { color: var(--cyan); font-weight: 800; }
.legal dd { margin: 0; color: #e5eefb; }
.notice { color: var(--amber); background: rgba(255,209,102,.08); }
@keyframes pulse {
  50% { transform: translateY(-8px); box-shadow: inset 0 0 58px rgba(67,212,255,.14), 0 0 120px rgba(67,212,255,.25); }
}
@keyframes flow {
  0% { opacity: .05; clip-path: inset(0 100% 0 0); }
  45% { opacity: 1; clip-path: inset(0 0 0 0); }
  100% { opacity: .05; clip-path: inset(0 0 0 100%); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; scroll-behavior: auto !important; transition: none !important; }
}
@media (max-width: 980px) {
  .mainnav { display: none; }
  .hero, .split, .section-head, .contact { grid-template-columns: 1fr; }
  .cardgrid.four, .cardgrid.three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .wrap { width: min(100% - 24px, 1120px); }
  .nav { align-items: flex-start; flex-direction: column; padding: .8rem 0; }
  .hero { grid-template-columns: 1fr; min-height: auto; }
  h1 { font-size: clamp(2.75rem, 16vw, 4.3rem); }
  .bunker-visual { min-height: 390px; border-radius: 20px; }
  .terminal { width: 6.7rem; height: 4rem; }
  .core { width: 11.5rem; height: 11.5rem; right: 7%; top: 30%; }
  .cardgrid.two, .cardgrid.three, .cardgrid.four, .contact-form { grid-template-columns: 1fr; }
  .row { grid-template-columns: 1fr; }
  .btn { width: 100%; }
  .legal dl { grid-template-columns: 1fr; }
}
@media print {
  .topbar, .footer, .actions, .bunker-visual { display: none; }
  body { background: #fff; color: #111; }
  p, .row span, .legal dd { color: #333; }
}
