html { scroll-behavior: smooth; }
body { background:#0B1B2B; color:#E9EEF4; font-family:'Inter', sans-serif; }
.serif { font-family:'Playfair Display', Georgia, serif; }

.gold-line { background: linear-gradient(90deg, transparent, #C9A24B, transparent); height:1px; }
.gold-rail { background: linear-gradient(180deg, transparent, #C9A24B, transparent); width:1px; }
.hairline   { border-color: rgba(201,162,75,0.25); }
.hairline-w { border-color: rgba(255,255,255,0.08); }

.btn-gold { background:#C9A24B; color:#0B1B2B; }
.btn-gold:hover { background:#E0BC6A; }
.btn-ghost { color:#E9EEF4; border:1px solid rgba(255,255,255,0.18); }
.btn-ghost:hover { border-color:#C9A24B; color:#C9A24B; }

.card { background:#0F2236; border:1px solid rgba(255,255,255,0.06); }
.card-hover { transition: transform .35s ease, border-color .35s ease, background .35s ease; }
.card-hover:hover { transform: translateY(-3px); border-color: rgba(201,162,75,0.45); }

.reveal { opacity:0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.reveal.in { opacity:1; transform:none; }

.nav-link { position:relative; }
.nav-link::after { content:''; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:#C9A24B; transition: width .3s ease; }
.nav-link:hover::after, .nav-link.active::after { width:100%; }

.marquee { mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
@keyframes scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.corner-tl::before, .corner-tr::before, .corner-bl::before, .corner-br::before {
  content:''; position:absolute; width:18px; height:18px; border:1px solid #C9A24B;
}
.corner-tl::before { top:-1px; left:-1px;  border-right:none;  border-bottom:none; }
.corner-tr::before { top:-1px; right:-1px; border-left:none;   border-bottom:none; }
.corner-bl::before { bottom:-1px; left:-1px;  border-right:none; border-top:none; }
.corner-br::before { bottom:-1px; right:-1px; border-left:none;  border-top:none; }

.tab-btn[aria-selected="true"] { color:#C9A24B; border-color:#C9A24B; }

.bg-grid {
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 56px 56px;
}

/* Hero slideshow */
.hero-slide {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0; transform: scale(1.08);
  transition: opacity 1.6s ease;
}
.hero-slide.active { opacity: 1; animation: kenburns 8s ease-out forwards; }
@keyframes kenburns {
  from { transform: scale(1.15) translate(0,0); }
  to   { transform: scale(1.0)  translate(-1.5%, 1%); }
}
.dot.active .bar { background:#C9A24B; width: 64px; }
.dot.active span:last-child { color:#fff; }

/* Mega-menu dropdown */
.has-mega { position: relative; }
.mega-panel {
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  padding-top: 18px;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .25s ease;
  z-index: 60;
}
.has-mega:hover .mega-panel,
.has-mega:focus-within .mega-panel { opacity: 1; visibility: visible; pointer-events: auto; }

/* Service page hero */
.svc-hero { position: relative; min-height: 70vh; }
.svc-hero .bgimg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  animation: kenburns 14s ease-out forwards;
}
