/* ===== THEME ===== */
:root {
  --gold: #e9b949;
  --gold-2: #f7d070;
  --onyx: #0a0a0a;
  --ink: #0b0f14;
  --text: #f8f8f8;
  --muted: #c9c9c9;
  --glass: rgba(255,255,255,.10);
  --glass-border: rgba(255,255,255,.22);
  --shadow: rgba(0,0,0,.35);

  --net-dot: rgba(233,185,73,.95);
  --net-link: rgba(233,185,73,.35);
  --bg-1: #000000;
  --bg-2: #0d0d0d;
}

html[data-theme="light"] {
  --onyx: #ffffff;
  --ink: #ffffff;
  --text: #121212;
  --muted: #333;
  --glass: rgba(0,0,0,.06);
  --glass-border: rgba(0,0,0,.15);
  --shadow: rgba(0,0,0,.18);

  --net-dot: rgba(233,185,73,.95);
  --net-link: rgba(233,185,73,.45);
  --bg-1: #ffffff;
  --bg-2: #fafafa;
}

* { box-sizing: border-box; }
html,body { height: 100%; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Oxanium","Orbitron",system-ui,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
  background:
    radial-gradient(1200px 600px at 70% -10%, rgba(233,185,73,.20), transparent 60%),
    linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 100%);
  color: var(--text);
  overflow-x: hidden;
  padding-top: env(safe-area-inset-top);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}
a { text-decoration: none; color: inherit; }

/* Full-viewport canvas */
.bg-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

/* ===== Utilities ===== */
.wrap { width: min(1200px, 92%); margin: 0 auto; }
.center { text-align:center; }
.sub { color: var(--muted); margin: -8px auto 28px; max-width: 800px; }
.glass {
  background: linear-gradient(180deg, var(--glass), transparent);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid var(--glass-border);
  box-shadow: 0 10px 30px var(--shadow);
  border-radius: 14px;
}
.section { padding: 96px 0; position: relative; z-index: 1; }
.section-title { font-size: clamp(28px, 3.2vw, 38px); letter-spacing: .04em; text-transform: uppercase; text-align:center; margin: 0 0 18px; color: var(--gold); }
.lead { color: var(--gold-2); font-size: 1.15rem; }

/* Anchor offsets (sticky header) */
#services, #about, #videos, #contact { scroll-margin-top: 88px; }

/* ===== Header ===== */
.site-header { position: sticky; top: 0; z-index: 3; margin: 12px; padding: 10px 14px; }
.site-header .wrap {
  display:flex;
  align-items:center;
  gap: 18px;
  min-height: 58px;
  padding-right: 0;
}
.brand { display:flex; align-items:center; gap:12px; color:var(--text); font-weight:800; letter-spacing:.06em; }
.brand img { width: 48px; height: 48px; filter: drop-shadow(0 8px 16px var(--shadow)); }

/* NAV (desktop row) */
.nav {
  margin-left:auto;
  display:flex;
  align-items:center;            /* centers links + CTA vertically */
  gap: 24px;
  min-height: 40px;
}

/* Links group */
.nav-group {
  display:flex;
  align-items:center;
  gap: 28px;                     /* spacing between links */
}
.nav-group a { color: var(--muted); font-weight:700; line-height: 1; padding: 10px 0; }
.nav-group a:hover, .nav-group a:focus { color: var(--gold); outline: none; }

/* Spacer pushes CTA fully to the right */
.nav-spacer { flex: 1 1 auto; }

/* CTA far right with clear visual separation */
.cta-pill {
  color:#ffffff;
  border:1px solid #ffffff;
  border-radius:50px;
  padding:10px 20px;
  margin-left: clamp(40px, 4vw, 64px);  /* extra gap from the links */
}

/* Optional actions */
.header-actions { display:flex; gap:12px; margin-left: 12px; }

/* Hamburger (mobile only) */
.hamburger { display:none; margin-left:auto; margin-right: 14px; background:transparent; border:none; cursor:pointer; }
.hamburger span { display:block; width:26px; height:2px; background:var(--text); margin:6px 0; border-radius:2px; transition:.2s; }

/* Backdrop for mobile nav */
.nav-backdrop {
  position: fixed;
  inset: 0;
  backdrop-filter: blur(2px);
  background: rgba(0,0,0,.35);
  z-index: 2;
}

/* ===== Hero Banner ===== */
.hero { position:relative; display:flex; align-items:center; z-index: 1; }
.hero-banner {
  min-height: 82vh;
  background-image: url('../img/banner.png');
  background-size: cover;
  background-position: center right;
  position:relative;
}
.hero-banner .hero-overlay {
  position:absolute; inset:0;
  background:
    radial-gradient(600px 400px at 10% 40%, rgba(233,185,73,.18), transparent 60%),
    linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 40%, rgba(0,0,0,.0) 65%);
}
.hero-inner { position:relative; display:grid; grid-template-columns: 1fr; gap: 40px; align-items:center; z-index:1; padding: 60px 0; }
.gx-title { font-size: clamp(44px, 6.4vw, 88px); margin:0 0 8px; line-height: .95; text-transform:uppercase; letter-spacing:.04em; }
.gx-title .stroke { -webkit-text-stroke: 1px var(--gold); color: transparent; }
.cta { display:flex; gap:14px; margin-top: 18px; }

/* ===== Buttons ===== */
.btn-3d {
  --pad: 12px 20px;
  position: relative; display:inline-flex; align-items:center; justify-content:center;
  padding: var(--pad); font-weight: 800; letter-spacing:.08em;
  color:#181818; background: linear-gradient(180deg, var(--gold-2), var(--gold));
  border-radius: 14px; border: none; cursor: pointer; transform-style: preserve-3d;
  box-shadow: 0 10px 18px rgba(233,185,73,.25), 0 3px 0 #7b5d17 inset;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  will-change: transform;
  line-height: 1;
}
.btn-3d:focus { outline: 2px dashed var(--gold-2); outline-offset: 4px; }
.btn-3d.large { --pad: 16px 26px; font-size: 1.05rem; }
.btn-3d.small { --pad: 8px 12px; }
.btn-3d.tiny { --pad: 6px 10px; font-size: .9rem; }
.btn-3d .face.back { position:absolute; inset:0; display:grid; place-items:center; transform: rotateY(180deg); }
.btn-3d:hover { transform: translateY(-2px) rotateX(2deg); filter: brightness(1.05); }
.btn-3d:active { transform: translateY(1px); }
.btn-ghost { display:inline-flex; align-items:center; justify-content:center; padding: 12px 18px; border-radius: 14px; color: var(--gold-2); border: 1px dashed var(--gold-2); font-weight:800; letter-spacing:.08em; }
.btn-ghost.tiny { padding: 6px 10px; font-size: .9rem; }

/* ===== Cards ===== */
.cards { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.card { padding: 22px; border-radius: 16px; }
.card h3 { margin: 10px 0 6px; }
.card p { margin: 0 0 12px; color: var(--muted); }
.card-icon { height: 120px; display:grid; place-items:center; margin-bottom: 6px; }
.card lottie-player { width: 100%; height: 120px; }

/* ===== Strip (About section) ===== */
.strip { background: linear-gradient(180deg, rgba(233,185,73,.08), transparent 50%); }
.strip-inner { display:grid; grid-template-columns: 1.2fr .8fr; gap: 30px; align-items:center; }
.strip-anim lottie-player { width: 100%; height: 260px; }

/* ===== Videos ===== */
.video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.video-grid video {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  display: block;
  background: #000;
  object-fit: cover;
  box-shadow: 0 10px 30px var(--shadow);
  border: 1px solid var(--glass-border);
  cursor: pointer; /* open modal */
}

/* ===== Contact ===== */
.contact-grid { display:grid; grid-template-columns: 1.2fr .8fr; gap: 22px; }
.contact-card, .contact-info { padding: 22px; }
.contact-form label { display:block; margin: 10px 0; font-weight:700; color: var(--gold); }
.contact-form input, .contact-form textarea {
  width:100%; padding: 12px 14px; border-radius: 12px; border:1px solid var(--glass-border);
  background: rgba(0,0,0,.08); color: var(--text);
}
html[data-theme="light"] .contact-form input,
html[data-theme="light"] .contact-form textarea { background: rgba(0,0,0,.03); }
.contact-list { list-style:none; padding:0; margin:12px 0 0; }
.contact-list li { display:flex; align-items:center; gap:10px; margin:6px 0; color: var(--muted); }

/* Responsive Google Map */
.map-embed { position: relative; width: 100%; }
.map-embed iframe {
  width: 100%;
  height: clamp(300px, 40vw, 420px);
  border: 0;
  border-radius: 12px;
}

/* ===== Footer ===== */
.site-footer { margin: 40px 12px; padding: 16px; z-index:1; position: relative; }
.footer-grid { display:grid; grid-template-columns: 1fr 1fr auto; gap: 18px; align-items:center; }
.f-brand { display:flex; align-items:center; gap: 12px; }
.f-brand img { width: 40px; height:40px; }
.f-links { display:flex; gap: 16px; }
.f-links a { color: var(--gold-2); }
.f-links a:hover { color: var(--gold); }

/* ===== Video Modal (Lightbox) — no title ===== */
.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
}
.modal.open { display: block; }
.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5,5,5,.55);
  backdrop-filter: blur(10px) saturate(1.2);
}
.modal-dialog {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 1100px);
  padding: 14px 14px 18px; /* compact */
  border-radius: 16px;
  border: 1px solid var(--gold);
  background: linear-gradient(180deg, rgba(233,185,73,.10), rgba(0,0,0,.25));
  box-shadow: 0 30px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(233,185,73,.12) inset;
}
.modal-close {
  position: absolute;
  right: 10px;
  top: 8px;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid var(--gold);
  background: linear-gradient(180deg, var(--gold-2), var(--gold));
  color: #111;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(233,185,73,.35);
}
.modal-close:hover { filter: brightness(1.05); }
.modal-body { padding-top: 6px; }
.modal-video {
  width: 100%;
  aspect-ratio: 16/9;
  background: #000;
  border-radius: 12px;
  border: 1px solid var(--glass-border);
  box-shadow: 0 14px 40px rgba(0,0,0,.55);
}

/* ===== Responsive ===== */
@media (max-width: 992px) {
  .cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .contact-grid { grid-template-columns: 1fr; }
  .video-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 768px) {
  .hamburger { display:block; }
  .nav {
    display:none;
    position:absolute;
    right:10px;
    top:64px;
    padding:14px;
    flex-direction:column;
    gap:12px;
    z-index: 3;
    width: min(92vw, 340px);
  }
  .nav.open { display:flex; }
  .nav-group { flex-direction: column; align-items: flex-start; gap: 10px; }
  .nav-spacer { display:none; }
  .cta-pill { margin-left: 0; width: 100%; justify-content: center; }
  .brand span { display:none; }
  body.nav-open { overflow: hidden; }
  .video-grid { grid-template-columns: 1fr; }
}
@media (max-width: 576px) {
  .cards { grid-template-columns: 1fr; }
  .site-header { margin: 8px; }
  .header-actions { margin-left:auto; }
}

/* Scroll Rotor */
.icon-rotor { perspective: 600px; }
.icon-rotor .card-icon { transform: rotateX(0deg) rotateY(0deg); transition: transform .6s cubic-bezier(.2,.8,.2,1); }

/* Title glow */
.gx-title .stroke.glow { text-shadow: 0 0 14px rgba(233,185,73,.6); }

/* Selection */
::selection { background: rgba(233,185,73,.35); color:#111; }
