/* ====== RAMBERT.MIND — centered, minimal, NDA-first ====== */

/* ---------- Theme tokens ---------- */
:root{
  --bg-0:#04070F;
  --ink-0:#ffffff;
  --ink-1:#c9d7ff;
  --muted:#8aa2d9;
  --border:rgba(120,160,255,.18);
  --ring:rgba(56,225,255,.6);
  --header-h:64px;
  --footer-h:56px;
}

/* ---------- Base ---------- */
*{ box-sizing:border-box }
html{ scroll-behavior:smooth }
body{
  margin:0;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  background:
    radial-gradient(1200px 800px at 80% -10%, rgba(123,97,255,.14), transparent 60%),
    radial-gradient(1200px 800px at 10% 110%, rgba(56,225,255,.12), transparent 60%),
    var(--bg-0);
  color:var(--ink-0);
  font:400 16px/1.6 "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{ color:#7fe9ff; text-decoration:none }
a:hover{ filter:brightness(1.06) }
:focus-visible{ outline:2px solid var(--ring); outline-offset:2px; border-radius:6px }

/* Containers */
.container{ width:min(1200px, 92%); margin-inline:auto }
main{ flex:1 0 auto }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  height:var(--header-h);
  background:linear-gradient(180deg, rgba(4,7,15,.85), rgba(4,7,15,.35));
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(8px);
}
.header-wrap{
  height:100%;
  display:flex; align-items:center; justify-content:space-between;
  gap:20px;
}
.brand{ display:inline-flex; align-items:center }
.brand-logo{ height:48px; width:auto; object-fit:contain; filter:drop-shadow(0 0 10px rgba(56,225,255,.35)) }
.nav{ display:inline-flex; align-items:center; gap:20px }
.nav a{
  color:var(--ink-1); padding:8px 10px; border-radius:8px; transition:.18s ease;
}
.nav a:hover{ color:var(--ink-0); background:rgba(56,225,255,.08) }
.nav a[aria-current="page"]{ color:var(--ink-0); background:rgba(123,97,255,.12) }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 16px; border-radius:12px; font-weight:600;
  color:#001019; background:linear-gradient(180deg, #7ff1ff, #38e1ff);
  border:1px solid rgba(56,225,255,.55);
  box-shadow:0 6px 22px rgba(56,225,255,.20), inset 0 0 0 1px rgba(255,255,255,.15);
  transition:transform .12s ease, filter .12s ease;
}
.btn:hover{ transform:translateY(-1px); filter:saturate(1.05) }

/* ---------- Full-screen splash (home) ---------- */
.splash{
  position:relative; isolation:isolate;
  min-height:calc(100dvh - var(--header-h) - var(--footer-h));
  display:grid; place-items:center; overflow:hidden;
  border-bottom:1px solid var(--border);
}
.splash video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  filter:brightness(.58) saturate(1.12) contrast(1.05); z-index:-2;
}
.splash::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:-1;
  background:
    radial-gradient(70% 60% at 50% 20%, rgba(56,225,255,.18), transparent 80%),
    radial-gradient(70% 60% at 50% 80%, rgba(123,97,255,.14), transparent 80%),
    linear-gradient(180deg, rgba(4,7,15,.55), rgba(4,7,15,0) 35%, rgba(4,7,15,.55));
}
.splash-inner{ text-align:center; width:min(1000px, 92%); margin-inline:auto }
.splash-title{ font-size:clamp(28px, 5.6vw, 56px); margin:0 0 6px }
.splash-hook{
  margin:0 0 10px; font-size:clamp(14px, 1.4vw, 18px); color:#c9d7ff; opacity:.9;
}
.splash-desc{
  margin:0 0 18px; color:#b7c6ff; opacity:.95; line-height:1.5;
  font-size:clamp(13px, 1.2vw, 16px);
}

/* subtle pulse for ENTER */
.splash .btn-enter{ animation:pulse 1.8s ease-in-out infinite }
@keyframes pulse{
  0%,100%{ transform:translateY(0); box-shadow:0 6px 22px rgba(56,225,255,.25) }
  50%{ transform:translateY(-1px); box-shadow:0 10px 28px rgba(56,225,255,.35) }
}

/* ---------- Inner pages: small hero strip ---------- */
.inner-hero{
  position:relative; isolation:isolate; height:clamp(220px, 36vh, 420px);
  overflow:hidden; border-bottom:1px solid var(--border);
}
.inner-hero video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  filter:brightness(.55) saturate(1.12) contrast(1.05); z-index:-2;
}
.inner-hero::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(70% 60% at 50% 20%, rgba(56,225,255,.18), transparent 85%),
    radial-gradient(70% 60% at 50% 80%, rgba(123,97,255,.14), transparent 85%),
    linear-gradient(180deg, rgba(4,7,15,.65), rgba(4,7,15,0) 35%, rgba(4,7,15,.65));
  pointer-events:none; z-index:-1;
}
.hero-inner{ height:100%; display:grid; place-items:center; text-align:center }

/* ---------- Sections / Cards ---------- */
.section{ padding:40px 0 }
.section-title{ margin:0 0 12px; font-size:1.35rem }
.muted{ color:var(--muted) }

.grid-4{
  display:grid; gap:24px;
  grid-template-columns:repeat(4, minmax(0,1fr));
}
@media (max-width:980px){ .grid-4{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:640px){ .grid-4{ grid-template-columns:1fr } }

.card{
  background:linear-gradient(180deg, rgba(14,26,51,.85), rgba(8,19,36,.74));
  border:1px solid var(--border); border-radius:16px; padding:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.35), inset 0 0 0 1px rgba(120,160,255,.14);
}
.card h3{ margin:0 0 6px; font-size:1.05rem }

/* ---------- Contact form ---------- */
.form{ display:grid; gap:14px }
.form .row{ display:grid; gap:12px; grid-template-columns:1fr 1fr }
@media (max-width:640px){ .form .row{ grid-template-columns:1fr } }
input, textarea{
  width:100%; color:#fff; background:rgba(8,19,36,.7);
  border:1px solid rgba(120,160,255,.22); border-radius:10px; padding:12px; outline:none;
}
input:focus, textarea:focus{ border-color:rgba(56,225,255,.6) }

/* ---------- Footer ---------- */
.site-footer{
  height:var(--footer-h);
  border-top:1px solid var(--border);
  background:linear-gradient(180deg, rgba(4,7,15,.35), rgba(4,7,15,.85));
}
.footer-wrap{
  height:100%;
  display:flex; align-items:center; justify-content:space-between;
  gap:16px;
}
.footer-links{ display:inline-flex; gap:16px }
.footer-links a{ color:var(--ink-1) }
.footer-links a:hover{ color:var(--ink-0) }
.legal-line{ color:var(--muted); font-size:.85rem }

/* ---------- Core page refinements ---------- */
.page-hero{ position:relative; min-height:42vh; overflow:hidden; border-bottom:1px solid var(--border) }
.page-hero-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.58) saturate(1.06) }
.page-hero-mask{ position:absolute; inset:0;
  background:
    radial-gradient(60% 45% at 50% 20%, rgba(56,225,255,.18), transparent 70%),
    linear-gradient(180deg, rgba(4,7,15,.55) 0%, rgba(4,7,15,0) 35%, rgba(4,7,15,.55) 100%);
  pointer-events:none;
}

.section-title{ margin:24px 0 8px }
.section-lead{ max-width:860px; margin:0 0 22px; color:var(--ink-1) }

.grid-4{ display:grid; gap:22px; grid-template-columns:repeat(4, minmax(0,1fr)) }
@media (max-width: 980px){ .grid-4{ grid-template-columns:repeat(2, minmax(0,1fr)) } }
@media (max-width: 560px){ .grid-4{ grid-template-columns:1fr } }

.tile ul.tight{ margin:10px 0 0; padding-left:18px }
.tile ul.tight li{ margin:6px 0; line-height:1.45 }

.cta-row{ display:flex; gap:12px; margin-top:20px }
