:root{
  --nav-width:260px;
  --nav-bg:#0b2440;
  --page-bg:#f4f6f8;
  --dark-bg:#061226;
  --accent:#c9a84b;
  --muted:#6b7b8a;
  --card:#0f2946;
  --text-light:#eef6fb;
  --text-dark:#071229;
  --max-width:1200px;
  --transition:300ms;
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:var(--page-bg);
  color:var(--text-dark);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Root dark theme */
[data-theme="dark"] body{
  background:var(--dark-bg);
  color:var(--text-light);
}

/* Top alert ticker */
.alert-ticker{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:44px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 16px;
  z-index:1200;
  background:linear-gradient(90deg, rgba(201,168,75,0.06), rgba(0,0,0,0.08));
  border-bottom:1px solid rgba(0,0,0,0.06);
}
.alert-ticker strong{color:var(--accent);font-weight:700}
.alert-marquee{overflow:hidden;white-space:nowrap;flex:1}
.alert-marquee span{display:inline-block;padding-left:100%;animation:marq 20s linear infinite}
@keyframes marq{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}

/* Layout */
.sidebar{
  position:fixed;
  top:44px;
  left:0;
  bottom:0;
  width:var(--nav-width);
  padding:28px 18px;
  background:var(--nav-bg);
  color:var(--text-light);
  display:flex;
  flex-direction:column;
  gap:18px;
  z-index:1100;
}
.sidebar .logo{display:flex;align-items:center;gap:12px}
.logo img{width:64px;height:64px;border-radius:50%}
.sidebar nav a{
  display:block;color:var(--text-light);text-decoration:none;padding:10px 12px;border-radius:6px;margin:6px 0;font-weight:600;
}
.sidebar nav a:hover{background:rgba(255,255,255,0.04)}
.sidebar .disclaimer{font-size:12px;color:var(--muted);margin-top:auto;line-height:1.2}

/* Content area */
.main{
  margin-left:var(--nav-width);
  padding:80px 32px 48px;
  max-width:var(--max-width);
  margin-right:auto;
}
.container-wide{max-width:1200px;margin:0 auto}

/* Hero */
.hero{
  position:relative;
  border-radius:8px;
  overflow:hidden;
  background:#071530;
  color:var(--text-light);
  box-shadow:0 6px 18px rgba(2,8,23,0.4);
}
.hero .overlay{
  position:absolute;inset:0;background:linear-gradient(180deg, rgba(3,10,25,0.45), rgba(3,10,25,0.7));
  display:flex;align-items:center;padding:48px;
}
.hero .text{max-width:680px}
.hero h1{font-size:34px;margin:0 0 12px}
.hero p{margin:0 0 18px;color:rgba(255,255,255,0.9)}
.btn-cta{background:var(--accent);border:none;color:#071229;padding:.7rem 1rem;border-radius:6px;font-weight:700}

/* Sections */
.section{margin-top:28px;padding:20px;background:transparent;border-radius:8px}
.card-grid{display:flex;gap:16px;flex-wrap:wrap}
.card{background:var(--card);color:var(--text-light);padding:16px;border-radius:8px;flex:1;min-width:220px}
.info-cards .card{background:#fff;color:var(--text-dark);box-shadow:0 6px 18px rgba(12,20,34,0.06)}

/* Image grid */
.img-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.img-grid .tile{position:relative;overflow:hidden;border-radius:6px;background:#101e34}
.img-grid img{width:100%;height:220px;object-fit:cover;display:block}
.img-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:12px;color:white;background:linear-gradient(180deg,transparent,rgba(0,0,0,0.5))}

/* Testimonials */
.testimonial{background:var(--card);padding:12px;border-radius:8px}
.testimonial .person{display:flex;gap:12px;align-items:flex-start}

/* Footer */
footer{margin-top:36px;padding:20px;color:var(--muted);font-size:14px;border-top:1px solid rgba(0,0,0,0.06)}

/* Mobile */
@media(max-width:900px){
  .sidebar{top:0;left:0;width:100%;height:72px;flex-direction:row;align-items:center;padding:10px 12px}
  .main{margin-left:0;padding-top:120px;padding-left:16px;padding-right:16px}
  .sidebar nav{display:none}
  .menu-toggle{display:inline-block;margin-left:auto}
  .mobile-nav{position:fixed;left:0;top:72px;bottom:0;width:260px;background:var(--nav-bg);padding:16px;display:none;z-index:1300}
  .mobile-nav.show{display:block}
}
