:root{
  --bg: #0f1220;
  --bg-soft: radial-gradient(1200px 600px at 10% -10%, #1c2040 0%, transparent 60%),
             radial-gradient(1000px 800px at 90% 10%, #1a2b4a 0%, transparent 55%),
             #0f1220;
  --card: rgba(255,255,255,0.08);
  --glass: rgba(255,255,255,0.14);
  --text: #eef2ff;
  --muted:#b6c2e2;
  --brand:#ffde59;
  --brand-ink:#1a1a1a;
  --border: 1px solid rgba(255,255,255,0.14);
  --shadow: 0 10px 30px rgba(0,0,0,0.35);
}

* { box-sizing: border-box; }
html,body{ height:100%; }
body{
  margin:0; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text); background: var(--bg-soft);
}

img{ max-width:100%; height:auto; display:block; }
a{ color: var(--brand); text-decoration: none; }
.container{ width:min(1100px, 92%); margin-inline:auto; }

.skip-link{ position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus{ left:1rem; top:1rem; width:auto; height:auto; background:#000; color:#fff; padding:.5rem 1rem; z-index:999; }

/* Header */
.site-header{
  position:sticky; top:0; z-index:50; backdrop-filter: blur(10px);
  background: linear-gradient(180deg, rgba(15,18,32,.85), rgba(15,18,32,.55));
  border-bottom: var(--border);
}
.nav-bar{ display:flex; align-items:center; gap:1rem; padding: .8rem 0; }
.brand-logo{ width:auto; height:40px; }
.hamburger{
  margin-left:auto; display:inline-flex; flex-direction:column; gap:5px; width:42px; height:42px;
  justify-content:center; align-items:center; border-radius:10px; border:var(--border); background:var(--glass); color:#fff;
}
.hamburger span{ width:22px; height:2px; background:#fff; border-radius:2px; }
.nav-links{ display:flex; gap:1rem; align-items:center; margin-left:auto; }
.nav-link{ padding:.5rem .8rem; border-radius:10px; color:#eaf0ff; }
.nav-link:hover{ background:rgba(255,255,255,.08); }

/* Mobile nav */
@media (max-width: 860px){
  .nav-links{ position:fixed; inset:66px 0 auto; background:rgba(16,18,35,.92); backdrop-filter: blur(12px);
    padding:1rem; display:none; flex-direction:column; border-bottom: var(--border);
  }
  .nav-links.open{ display:flex; }
}

/* Hero */
.hero{ position:relative; }
.hero-slider{ position:relative; overflow:hidden; }
.slides{ display:grid; grid-auto-flow:column; grid-auto-columns:100%; transition: transform .6s ease; }
.slide{ position:relative; }
.slide img{ width:100%; height: clamp(420px, 60vh, 720px); object-fit: cover; }
.slide figcaption{
  position:absolute; inset:auto 0 8% 0; display:grid; place-items:center; text-align:center; gap:.7rem;
}
.slide h1{ font-size: clamp(1.8rem, 3.6vw, 3rem); margin:0; text-shadow: 0 6px 30px rgba(0,0,0,.7); }
.slide p{ margin:0; color:var(--muted); font-weight:600; }
.btn{ display:inline-block; padding:.75rem 1.1rem; border-radius:12px; background:var(--glass); border:var(--border); color:#fff; box-shadow:var(--shadow); }
.btn.cta{ background: var(--brand); color: var(--brand-ink); }
.btn.small{ padding:.5rem .8rem; font-size:.95rem; }

.slider-btn{
  position:absolute; top:50%; transform: translateY(-50%);
  width:44px; height:44px; border-radius:50%; border:var(--border); background:var(--glass); color:#fff;
  display:grid; place-items:center; cursor:pointer;
}
.prev{ left:16px; } .next{ right:16px; }

.dots{ position:absolute; bottom:14px; left:0; right:0; display:flex; gap:8px; justify-content:center; }
.dots button{
  width:10px; height:10px; border-radius:50%; border:none; background:#cbd5ff55;
}
.dots button[aria-selected="true"]{ background:#fff; }

/* Gallery rail */
.gallery{ padding: 3.5rem 0; }
.section-title{ font-size: clamp(1.4rem, 2.3vw, 1.8rem); margin: 0 0 1rem; }
.rail{ overflow:hidden; border-radius:18px; border: var(--border); background: rgba(255,255,255,0.03); }
.strip{ display:flex; gap:12px; padding:12px; animation: scroll 35s linear infinite; }
.strip img{ width:320px; height:200px; object-fit:cover; border-radius:12px; }
.clone{ }
@keyframes scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

/* Info cards (glassmorphism) */
.info{ padding: 3rem 0 4rem; }
.card{
  margin: 1rem 0; border-radius:16px; border: var(--border);
  background: var(--glass); backdrop-filter: blur(10px);
  box-shadow: var(--shadow); overflow: hidden;
}
.card > summary{
  cursor:pointer; list-style:none; padding:1rem 1.2rem; font-weight:700;
}
.card > summary::-webkit-details-marker{ display:none; }
.card-body{ padding: 0 1.2rem 1rem; color: #e7ecff; }

/* Footer */
.site-footer{
  padding: 2.5rem 0 1.5rem; border-top: var(--border);
  background: linear-gradient(180deg, rgba(15,18,32,.55), rgba(15,18,32,.9));
}
.footer-grid{
  display:grid; gap:1rem; grid-template-columns: 1fr auto; align-items:start;
}
.chip{
  display:inline-block; background:#262b45; color:#ffde59;
  padding:.6rem .9rem; border-radius:10px; border:var(--border);
}
.legal{ text-align:center; color:#a6b1d9; margin:1rem 0 0; font-size:.9rem; }
