:root{
    --brand:#0066ff; --brand-dark:#0b3d91; --ink:#0f172a; --muted:#64748b; --wash:#e6f0ff; --card:#ffffff;
    --hero-img: url('../assets/hero.jpg'); 
}
html,body{scroll-behavior:smooth;background:#f8fafc;color:var(--ink);font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
.navbar{transition: box-shadow .2s ease, background-color .2s ease, padding .2s ease;}
.navbar.scrolled{background:#ffffffcc;backdrop-filter: blur(8px);box-shadow: 0 8px 24px rgba(15,23,42,.08);}
.navbar-brand{font-weight:800;letter-spacing:.2px;}
.nav-link{font-weight:600;}
.social a{color:var(--ink);opacity:.85;}
.social a:hover{color:var(--brand);opacity:1;}

/* Hero background via CSS var */
.hero{
    position:relative;min-height:72vh;display:grid;place-items:center;text-align:center;color:#fff;
    background: radial-gradient(1200px 600px at 70% 20%, rgba(0,102,255,.25), transparent 60%), var(--hero-img) center/cover no-repeat fixed;
}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,20,40,.55), rgba(0,0,0,.55));}
.hero-inner{position:relative;z-index:2;padding:5rem 1rem;}
.hero h1{font-size:clamp(2rem,4vw + 1rem,3.5rem);font-weight:800;line-height:1.05;}
.hero p.lead{font-size:clamp(1rem,1.2vw + .8rem,1.25rem);color:#e5ecff;max-width:58ch;margin:1rem auto 0;}

section{padding:72px 0;}
.section-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--brand);}
.section-title{font-weight:800;letter-spacing:.2px;margin:.5rem 0 1rem;}
.section-sub{color:var(--muted);max-width:66ch;}

/* Cards & shared UI */
.service-card{border:0;border-radius:18px;background:var(--card);box-shadow:0 10px 30px rgba(2,6,23,.06);transition: transform .25s ease, box-shadow .25s ease;}
.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(2,6,23,.10);}
.service-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:12px;background:var(--wash);color:var(--brand);font-size:26px;font-weight:700;}
.service-img{aspect-ratio:16/9;object-fit:cover;border-top-left-radius:18px;border-top-right-radius:18px;}

.stats{background:linear-gradient(180deg,#fff,#f3f7ff);border-radius:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 12px 30px rgba(2,6,23,.06);}
.counter{font-weight:800;font-size:clamp(1.75rem,4vw,2.8rem);color:var(--brand-dark);}
.counter + .label{color:var(--muted);}

.price-card{border:0;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(2,6,23,.06);height:100%;}
.price-card .price{font-weight:800;font-size:2rem;color:var(--brand-dark);}
.price-card .examples{font-size:.95rem;color:var(--muted);}
.badge-tier{background:var(--wash);color:var(--brand);font-weight:700;}

.membership{border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(2,6,23,.06);}
.plan-title{font-weight:800;}
.kicker{font-size:.9rem;color:var(--muted);}

/* Detailing packages */
.package-card {
  background: #fff;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 12px 30px rgba(2, 6, 23, 0.06);
  transition: transform .25s ease, box-shadow .25s ease;
  height: 100%;
  text-align: center;
}

.package-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 38px rgba(2, 6, 23, 0.12);
}

.package-title {
  font-size: clamp(1.4rem, 1.2vw + 1rem, 1.8rem);
  font-weight: 700;
  margin-bottom: 12px;
  color: #0A1551;
}

.package-desc {
  font-size: 1rem;
  color: #555;
  margin-bottom: 20px;
}

.package-list {
  list-style: none;
  padding: 0;
  margin-bottom: 25px;
  text-align: left;
}

.package-list li {
  padding: 6px 0;
  border-bottom: 1px solid #eee;
  color: #333;
}

.package-price {
  font-size: 1.1rem;
  font-weight: 600;
  color: #0A1551;
}

.package-price span {
  font-size: 1.4rem;
  color: #0066FF;
  font-weight: 700;
}

/* Gift cards */
.gift-card-box {
  max-width: 700px;
  background: #fff;
  padding: 40px;
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(2, 6, 23, 0.06);
  text-align: center;
}

.gift-card-box p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #444;
  margin-bottom: 16px;
}

.giftcard-heading {
  font-size: clamp(1.6rem, 1.2vw + 1.2rem, 2rem);
  font-weight: 700;
  color: #0A1551;
  margin-bottom: 20px;
}

/* Process */
.process-wrap{border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(2,6,23,.06);overflow:hidden;}
.process-media{
    width:100%; max-width:510px; height:auto; object-fit:cover; display:block;
    border-right:1px solid rgba(15,23,42,.06);
}
.process-body{padding:1.25rem;}
@media (min-width: 768px){
    .process-body{padding:2rem;}
}
.step-badge{--bs-badge-padding-x:.75rem;--bs-badge-padding-y:.5rem;background:var(--wash);color:var(--brand);font-weight:700;}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: invert(26%) sepia(82%) saturate(6366%) hue-rotate(203deg) brightness(90%) contrast(101%);
}

/* Progress bar */
.process-progress{--bs-progress-height: .6rem; --bs-progress-bg:#e9eefc; --bs-progress-bar-bg: var(--brand);}
.progress-label{font-variant-numeric: tabular-nums; color:var(--muted);}

.contact-card{border:0;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(2,6,23,.06);}
.map-embed{width:100%;height:360px;border:0;border-radius:14px;}
footer{background:#0b1220;color:#cdd6f4;}
footer a{color:#e5ecff;opacity:.9;}
footer a:hover{color:#fff;opacity:1;}

a:focus-visible,button:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:8px;}

/* Booking button */
.book-btn {
  outline: none;
  cursor: pointer;
  border: none;
  padding: 0.65rem 1.6rem;
  margin: 0;
  font-family: inherit;
  font-size: 15px;
  position: relative;
  display: inline-block;
  letter-spacing: 0.05rem;
  font-weight: 700;
  border-radius: 500px;
  overflow: hidden;

  background: var(--brand-dark);
  color: #ffffff;

  text-decoration: none;
}

.book-btn span {
  position: relative;
  z-index: 10;
  transition: color 0.4s;
}

.book-btn:hover span {
  color: #ffffff;
}

.book-btn::before,
.book-btn::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.book-btn::before {
  content: "";
  background: var(--ink);
  width: 120%;
  left: -10%;
  transform: skew(30deg);
  transition: transform 0.4s cubic-bezier(0.3, 1, 0.8, 1);
}

.book-btn:hover::before {
  transform: translate3d(100%, 0, 0);
}




/* Fix footer layout */
footer .nav-links {
    display: flex;
    flex-wrap: wrap;         /* allow wrapping instead of collision */
    gap: .75rem 1.25rem;     /* row/column gaps for wrapped items */
    justify-content: center; /* centered on small screens */
}
@media (min-width: 768px){
    footer .nav-links { justify-content: center; } /* keep centered on md */
}
@media (min-width: 992px){
    footer .nav-links { justify-content: center; } /* adjust if you want left/right later */
}
/* Fix column bleed */
footer .footer-col { min-height: 1px; }