:root {
  --bg:#050810;
  --bg-alt:#0a0f1d;
  --card:#0f172a;
  --card-soft:#111827;

  --ink:#e5e7eb;
  --ink-strong:#f9fafb;
  --ink-muted:#9ca3af;
  --border:#1f2937;

  --accent:#38bdf8;
  --accent-soft:#0ea5e9;
  --accent-muted:#7dd3fc;

  --danger:#f97373;
  --good:#22c55e;

  --brand-gold:#facc15;
  --brand-gold-soft:#fbbf24;
  --brand-gold-glow:rgba(250,204,21,0.35);

  --radius-lg:14px;
  --radius-xl:18px;
  --shadow-soft:0 18px 40px rgba(15,23,42,0.85);

  --topbar-h:72px;
}

html{
  scroll-padding-top: calc(var(--topbar-h) + 12px);
}
@media (max-width:720px){
  :root{ --topbar-h:92px; }
}

*{ box-sizing:border-box; }
html, body{ height:100%; }
body{
  margin:0;
  background: var(--bg);
  color:var(--ink);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}
a{ color:inherit; text-decoration:none; }

/* Top nav */
.topbar{
  position:fixed;
  top:0; left:0; right:0;
  z-index:9999;
  backdrop-filter:blur(14px);
  background:#0f172a;
  border-bottom:1px solid rgba(148,163,184,0.4);
}
.nav{
  max-width:1120px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.6rem 1rem;
  gap:1rem;
}
.brand{ display:flex; align-items:center; gap:.6rem; }
.brand-logo{ height:40px; width:auto; display:block; }

.links{
  display:flex;
  align-items:center;
  gap:1.1rem;
  font-size:.9rem;
}
.links a{
  color:var(--ink-muted);
  padding:.2rem 0;
}
.links a:hover{ color:var(--ink-strong); }

.nav-cta,
.nav-cta:link,
.nav-cta:visited{
  padding:.45rem 1.2rem;
  border-radius:999px;
  border:1px solid rgba(250,204,21,0.9);
  background:linear-gradient(135deg, var(--brand-gold-soft), var(--brand-gold));
  color:#000;
  font-size:.85rem;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  line-height:1;
  box-shadow:0 2px 6px rgba(15,23,42,0.45);
}
.nav-cta:hover{ filter:brightness(1.04); }
.nav-cta span.icon{ font-size:1rem; }

/* Hamburger */
.nav-toggle{
  display:none;
  border:none;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  padding:.35rem;
}
.nav-toggle span{
  display:block;
  width:22px; height:2px;
  border-radius:999px;
  background:var(--ink);
  margin:4px 0;
  transition:transform .2s ease, opacity .2s ease;
}
.nav-open .nav-toggle span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.nav-open .nav-toggle span:nth-child(2){ opacity:0; }
.nav-open .nav-toggle span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

/* Layout container */
.page{
  max-width:1120px;
  margin:0 auto;
  padding: calc(var(--topbar-h) + 1.8rem) 1rem 3.5rem;
}

/* Section backgrounds (full-width reset) */
section{
  padding:2.2rem 0;
  position:relative;
  isolation:isolate;
}
section::before{
  content:"";
  position:absolute;
  inset:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  pointer-events:none;
  background: radial-gradient(circle at top,
    #1e293b 0%,
    #0a0f1d 45%,
    #020617 100%
  );
  z-index:-2;
}
section:nth-of-type(even)::before{
  background: radial-gradient(circle at top,
    #16213b 0%,
    #050810 55%,
    #020617 100%
  );
}
section + section::after{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  border-top:1px solid rgba(148,163,184,0.10);
  z-index:-1;
  pointer-events:none;
}

h1,h2,h3,h4{ margin:0 0 .6rem; color:var(--ink-strong); }
h1{ font-size:2.05rem; letter-spacing:.02em; }
h2{ font-size:1.35rem; letter-spacing:.04em; text-transform:uppercase; }
h3{ font-size:1.05rem; }

p{
  margin:.3rem 0 .8rem;
  color:var(--ink-muted);
  font-size:.95rem;
  line-height:1.5;
}
.muted{ color:var(--ink-muted); }

.pill{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.18rem .7rem;
  border-radius:999px;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  border:1px solid rgba(148,163,184,0.6);
  color:var(--ink-muted);
  background:radial-gradient(circle at top, rgba(148,163,184,0.16), transparent);
  margin-bottom:.9rem;
}
.pill-dot{
  width:7px;height:7px;border-radius:999px;
  background:var(--accent);
  box-shadow:0 0 0 4px rgba(56,189,248,0.28);
}

/* Buttons */
.btn-primary, .btn-ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  font-size:.9rem;
  font-weight:500;
  padding:.55rem 1.15rem;
  border-radius:999px;
  cursor:pointer;
  border:1px solid transparent;
  background:none;
  color:inherit;
}
.btn-primary{
  background:linear-gradient(135deg, var(--brand-gold-soft), var(--brand-gold));
  color:#000;
  box-shadow:0 2px 6px rgba(15,23,42,0.45);
}
.btn-primary:hover{ filter:brightness(1.04); }
.btn-ghost{
  border-color:rgba(148,163,184,0.6);
  color:var(--ink-muted);
  background:radial-gradient(circle at top, rgba(15,23,42,0.9), rgba(15,23,42,0.6));
}
.btn-ghost:hover{
  border-color:rgba(209,213,219,0.8);
  color:var(--ink-strong);
}

.section-header{ margin-bottom:1.2rem; max-width:40rem; }

/* Cards & grids */
.k-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.1rem;
}
.card{
  background:var(--card);
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  padding:1rem 1.05rem .95rem;
  box-shadow:0 12px 28px rgba(15,23,42,0.8);
}
.card p{ font-size:.88rem; }
.badge{
  display:inline-block;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--accent-muted);
  margin-bottom:.4rem;
}
.list{
  list-style:none;
  margin:.5rem 0 0;
  padding:0;
  font-size:.84rem;
  color:var(--ink-muted);
}
.list li{
  margin-bottom:.25rem;
  display:flex;
  gap:.4rem;
}
.list li::before{
  content:"•";
  color:var(--accent-muted);
  margin-top:.15rem;
  font-size:.85rem;
}

/* Two-column sections */
.cols-2{
  display:grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);
  gap:1.6rem;
  align-items:flex-start;
}
.note-box{
  background:var(--card-soft);
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  padding:.9rem 1rem;
  font-size:.82rem;
  color:var(--ink-muted);
}
.note-box strong{
  display:block;
  font-size:.84rem;
  margin-bottom:.25rem;
  color:var(--ink-strong);
}

/* Hero */
.hero{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  gap:2.2rem;
  align-items:center;
}
.hero h1 span.highlight{ color:var(--accent-muted); }
.hero-sub{ font-size:.98rem; max-width:34rem; }
.hero-actions{
  margin-top:1.1rem;
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  align-items:center;
}
.hero-note{
  margin-top:.95rem;
  font-size:.78rem;
  color:var(--ink-muted);
  max-width:30rem;
}
.hero-card{
  background:radial-gradient(circle at top, rgba(56,189,248,0.07), rgba(15,23,42,0.95));
  border-radius:var(--radius-xl);
  border:1px solid rgba(15,23,42,0.9);
  box-shadow:var(--shadow-soft);
  padding:1rem 1.1rem;
  font-size:.82rem;
  display:flex;
  flex-direction:column;
  gap:.8rem;
}
.hero-card h3{ font-size:.95rem; }
.chip-strip{ display:flex; flex-wrap:wrap; gap:.35rem; }
.chip{
  border-radius:999px;
  border:1px solid rgba(148,163,184,0.6);
  padding:.15rem .6rem;
  font-size:.7rem;
  color:var(--ink-muted);
  background:rgba(15,23,42,0.9);
}

/* Details (native accordion) */
details{
  background:var(--card);
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  padding:.85rem 1rem;
  box-shadow:0 12px 28px rgba(15,23,42,0.75);
}
details + details{ margin-top:.9rem; }
summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  color:var(--ink-strong);
  font-weight:600;
}
summary::-webkit-details-marker{ display:none; }
.summary-sub{
  display:block;
  margin-top:.25rem;
  font-weight:400;
  color:var(--ink-muted);
  font-size:.88rem;
}
.summary-right{
  color:var(--accent-muted);
  font-weight:600;
  font-size:.9rem;
}

/* Contact */
.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  gap:1.6rem;
}
form{ display:grid; gap:.7rem; }
label{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--ink-muted);
  margin-bottom:.25rem;
  display:block;
}
input, textarea, select{
  width:100%;
  border-radius:10px;
  border:1px solid rgba(31,41,55,0.95);
  background:#020617;
  color:var(--ink);
  padding:.55rem .7rem;
  font-size:.88rem;
  resize:vertical;
  min-height:2.1rem;
}
select{ min-height:2.35rem; }
input::placeholder, textarea::placeholder{ color:#4b5563; }
input:focus, textarea:focus, select:focus{
  outline:none;
  border-color:var(--accent-soft);
  box-shadow:0 0 0 1px rgba(56,189,248,0.5);
}
.field-group{ margin-bottom:.15rem; }

.footer{
  max-width:1120px;
  margin:0 auto;
  padding:1.4rem 1rem 2.2rem;
  border-top:1px solid rgba(15,23,42,0.9);
  font-size:.78rem;
  color:var(--ink-muted);
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:.6rem;
}
.footer span strong{ color:var(--ink-strong); }
.footer a{ color:var(--accent-muted); }

/* Responsive */
@media (max-width:900px){
  .hero{ grid-template-columns:minmax(0,1fr); }
  .k-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cols-2, .contact-grid{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:720px){
  .nav-toggle{ display:block; }
  .nav{ align-items:flex-start; flex-wrap:wrap; }
  .links{
    display:none;
    flex-direction:column;
    gap:.6rem;
    width:100%;
  }
  .nav-open .links{
    display:flex;
    background:rgba(2,6,23,0.98);
    padding:.8rem 1rem 1rem;
    border-radius:12px;
    border:1px solid rgba(15,23,42,0.95);
    margin-top:.6rem;
  }
  .nav-cta{ width:100%; justify-content:center; }
  .page{ padding-top: calc(var(--topbar-h) + 1.2rem); }
  .hero{ gap:1.6rem; }
  .k-grid{ grid-template-columns:minmax(0,1fr); }
  section{ padding:2rem 0; }
}
