﻿/* ================================================================
   AQUAM WELLNESS SPA ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â HERO SECTION STYLESHEET
   style.css
   ================================================================
   TABLE OF CONTENTS
   1.  CSS Variables (Design Tokens)
   2.  CSS Reset & Base
   3.  Header / Navigation
   4.  Hero Section ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â Layout
   5.  Hero Typography (Eyebrow, H1, Sub-headline, Body)
   6.  WhatsApp CTA Button
   7.  Urgency Line
   8.  Trust Indicators Row
   9.  Hero Image
   10. Floating Image Badge
   11. Background Glow Decorations
   12. Entrance Animations
   13. Mobile Sticky CTA
   14. Responsive ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â Tablet (max-width: 1024px)
   15. Responsive ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â Mobile (max-width: 768px)
   16. Accessibility / Reduced Motion
   ================================================================ */


/* ================================================================
   1. CSS VARIABLES (DESIGN TOKENS)
   ================================================================ */
:root {
  /* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Backgrounds ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
  --bg:                 #FAF8F4;      /* warm ivory ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â body / hero */
  --bg-secondary:       #F3EFE8;      /* soft cream ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â benefits / booking */
  --surface:            #FFFFFF;      /* white cards */
  --surface-raised:     #FFFCF7;      /* VIP / premium card */

  /* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Text ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
  --text:               #1B1916;      /* near-black ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â primary headlines */
  --text-secondary:     #5F5A52;      /* medium brown-gray ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â body */
  --muted:              #817A70;      /* muted warm gray ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â captions */

  /* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Accent / Gold ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
  --gold:               #102542;      /* champagne gold ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â icons, eyebrows */
  --gold-light:         #1A3A6B;      /* lighter gold ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â price, accents */
  --gold-dim:           rgba(16, 37, 66, 0.12); /* hover tint */

  /* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ WhatsApp ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
  --whatsapp:           #25D366;
  --whatsapp-dark:      #1FB95A;

  /* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Borders ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
  --border:             #E7E0D5;      /* warm light border */
  --border-gold:        #1A3A6B;      /* gold border for featured elements */

  /* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Shadows (warm, soft) ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
  --shadow-card:        0 4px 20px rgba(55, 43, 28, 0.07);
  --shadow-image:       0 20px 55px rgba(55, 43, 28, 0.12);
  --shadow-glow-gold:   0 0 60px rgba(178, 138, 74, 0.10);

  /* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Spacing ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
  --header-h:           96px;
  --container-max:      1260px;
  --container-pad:      clamp(20px, 5vw, 60px);

  /* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Typography ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
  --font-sans:          'Inter', system-ui, -apple-system, sans-serif;
  --font-serif:         'DM Serif Display', Georgia, serif;

  /* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Easing ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
  --ease-out-quart:     cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-out-expo:   cubic-bezier(0.87, 0, 0.13, 1);
}


/* ================================================================
   2. CSS RESET & BASE
   ================================================================ */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  background-color: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.65;
  overflow-x: hidden;
  /* Mobile: leave room for sticky CTA */
  padding-bottom: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img,
svg {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

ul {
  list-style: none;
}

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit;
}


/* ================================================================
   3. HEADER / NAVIGATION
   ================================================================ */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  height: var(--header-h);

  /* Transparent by default; JS adds .is-scrolled class */
  background: transparent;
  transition:
    background-color 0.45s var(--ease-out-quart),
    border-bottom-color 0.45s var(--ease-out-quart),
    backdrop-filter 0.45s var(--ease-out-quart);
  border-bottom: 1px solid transparent;
}

/* Scrolled state ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â applied via JS */
.site-header.is-scrolled {
  background: rgba(13, 13, 13, 0.90);
  border-bottom-color: var(--border);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.header__inner {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-pad);
  height: 100%;
  display: flex;
  align-items: center;
  gap: 32px;
}

/* Logo */
.header__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.04em;
  color: var(--text);
  white-space: nowrap;
}

.header__logo-mark {
  color: var(--gold);
  font-size: 18px;
  line-height: 1;
}

.header__logo-text {
  /* REPLACE: Add your actual brand name here in the HTML */
  font-family: var(--font-serif);
  font-size: 17px;
  letter-spacing: 0.02em;
}

/* Nav */
.header__nav {
  margin: 0 auto;
}

.header__nav-list {
  display: flex;
  align-items: center;
  gap: 8px;
}

.header__nav-link {
  padding: 10px 16px;
  font-size: 17px;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: 0.02em;
  border-radius: 6px;
  transition: color 0.25s ease, background 0.25s ease;
}

.header__nav-link:hover,
.header__nav-link:focus-visible {
  color: var(--text);
  background: rgba(255, 255, 255, 0.06);
  outline: none;
}

/* Header Book Now CTA */
.header__cta {
  display: inline-flex;
  align-items: center;
  padding: 10px 22px;
  border-radius: 30px;
  background: var(--gold); border: 1px solid var(--gold);
  font-size: 14px;
  font-weight: 600;
  color: white;
  letter-spacing: 0.04em;
  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease;
  white-space: nowrap;
}

.header__cta:hover,
.header__cta:focus-visible {
  background: var(--gold-dim);
  border-color: var(--gold);
  color: white;
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}


/* ================================================================
   4. HERO SECTION ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â LAYOUT
   ================================================================ */
.hero {
  position: relative;
display: flex;
  align-items: center;
  padding-top: calc(var(--header-h) + 20px);
  padding-bottom: 40px;
  padding-left: var(--container-pad);
  padding-right: var(--container-pad);
  overflow: hidden;
  background-color: var(--bg);
}

.hero__inner {
  max-width: var(--container-max);
  margin: 0 auto;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 45%;
  gap: clamp(40px, 6vw, 80px);
  align-items: center;
}


/* ================================================================
   5. HERO TYPOGRAPHY
   ================================================================ */

/* Eyebrow */
.hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;

  /* Entrance animation */
  opacity: 0;
  transform: translateY(16px);
  animation: fadeSlideUp 0.75s var(--ease-out-quart) 0.10s forwards;
}

.hero__eyebrow-line {
  display: block;
  width: 28px;
  height: 1px;
  background: var(--gold);
  flex-shrink: 0;
}

/* H1 Headline */
.hero__headline {
  font-family: var(--font-sans);
  font-size: clamp(44px, 5.5vw, 72px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.025em;
  color: var(--text);
  max-width: 650px;
  margin-bottom: 20px;

  /* Entrance animation */
  opacity: 0;
  transform: translateY(20px);
  animation: fadeSlideUp 0.80s var(--ease-out-quart) 0.22s forwards;
}

/* Serif accent on the word "Massage" */
.hero__headline-accent {
  display: block;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--gold);
  letter-spacing: -0.01em;
}

/* Secondary Headline */
.hero__sub-headline {
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 400;
  color: var(--text-secondary);
  letter-spacing: -0.01em;
  line-height: 1.30;
  margin-bottom: 24px;
  max-width: 560px;

  /* Entrance animation */
  opacity: 0;
  transform: translateY(20px);
  animation: fadeSlideUp 0.80s var(--ease-out-quart) 0.34s forwards;
}

/* Body / Description */
.hero__body {
  font-size: 17px;
  font-weight: 400;
  color: var(--muted);
  line-height: 1.70;
  max-width: 520px;
  margin-bottom: 24px;

  /* Entrance animation */
  opacity: 0;
  transform: translateY(20px);
  animation: fadeSlideUp 0.80s var(--ease-out-quart) 0.44s forwards;
}

.hero__body-lead {
  display: block;
  margin-top: 8px;
  color: var(--text-secondary);
  font-style: italic;
}


/* ================================================================
   6. WHATSAPP CTA BUTTON
   ================================================================ */
.btn--whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 16px 34px;
  border-radius: 12px;
  background: var(--gold);
  color: white;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.01em;
  white-space: nowrap;
  position: relative;
  overflow: hidden;

  /* Subtle shadow lift */
  box-shadow:
    0 8px 28px rgba(247, 244, 239, 0.14),
    0 2px 8px rgba(247, 244, 239, 0.06);

  /* Entrance animation */
  opacity: 0;
  transform: translateY(20px);
  animation: fadeSlideUp 0.80s var(--ease-out-quart) 0.54s forwards;

  transition:
    transform 0.30s var(--ease-out-quart),
    box-shadow 0.30s var(--ease-out-quart),
    background 0.25s ease;

  cursor: pointer;
}

/* WhatsApp icon gets the brand green */
.btn--whatsapp .btn__icon path {
  fill: var(--whatsapp);
}

/* Left-side green accent bar */
.btn--whatsapp::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--whatsapp);
  border-radius: 12px 0 0 12px;
  transition: width 0.30s ease;
}

.btn--whatsapp:hover,
.btn--whatsapp:focus-visible {
  transform: translateY(-2px);
  box-shadow:
    0 14px 40px rgba(247, 244, 239, 0.18),
    0 4px 12px rgba(247, 244, 239, 0.10);
  background: #F7F4EF;
  outline: none;
}

.btn--whatsapp:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

.btn--whatsapp:active {
  transform: translateY(0px);
}

.btn__icon {
  flex-shrink: 0;
}


/* ================================================================
   7. URGENCY LINE
   ================================================================ */
.hero__urgency {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  margin-bottom: 28px;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.02em;

  /* Entrance animation */
  opacity: 0;
  transform: translateY(16px);
  animation: fadeSlideUp 0.75s var(--ease-out-quart) 0.62s forwards;
}

/* Pulsing live dot */
.hero__urgency-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
  animation: urgencyPulse 2.4s ease-in-out infinite;
}


/* ================================================================
   8. TRUST INDICATORS ROW
   ================================================================ */
.trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;

  /* Entrance animation */
  opacity: 0;
  transform: translateY(16px);
  animation: fadeSlideUp 0.75s var(--ease-out-quart) 0.70s forwards;
}

.trust-row__item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.02em;
}

.trust-row__icon {
  flex-shrink: 0;
  color: var(--gold);
}


/* ================================================================
   9. HERO IMAGE
   ================================================================ */
.hero__image-wrapper {
  position: relative;

  /* Entrance animation */
  opacity: 0;
  transform: translateX(30px);
  animation: fadeSlideLeft 0.90s var(--ease-out-quart) 0.30s forwards;
}

.hero__image-frame {
  position: relative;
  width: 100%;
  /* 4:5 aspect ratio ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â prevents CLS */
  aspect-ratio: 1 / 1;
  border-radius: 24px;
  overflow: hidden;

  /* Elegant multi-layer shadow */
  box-shadow:
    var(--shadow-image),
    var(--shadow-glow-gold),
    0 0 0 1px var(--border-gold);

  background-color: var(--surface);
}

.hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  border-radius: 24px;

  /* Subtle hover zoom */
  transition: transform 700ms var(--ease-out-quart);
}

.hero__image-frame:hover .hero__image {
  transform: scale(1.025);
}

/* Dark vignette overlay from bottom */
.hero__image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(13, 13, 13, 0.55) 0%,
    rgba(13, 13, 13, 0.15) 40%,
    transparent 70%
  );
  border-radius: 24px;
  pointer-events: none;
}


/* ================================================================
   10. FLOATING IMAGE BADGE
   ================================================================ */
.hero__image-badge {
  position: absolute;
  bottom: -14px;
  left: -18px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--surface-raised);
  background: var(--gold); border: 1px solid var(--gold);
  border-radius: 12px;
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: white;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);

  /* Subtle float animation */
  animation: floatBadge 4s ease-in-out 1.2s infinite alternate;
}

.hero__image-badge-icon {
  color: var(--gold);
  font-size: 14px;
}


/* ================================================================
   11. BACKGROUND GLOW DECORATIONS
   ================================================================ */
.hero__bg-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(90px);
  opacity: 0.28;
}

.hero__bg-glow--left {
  width: 480px;
  height: 480px;
  background: radial-gradient(circle, rgba(200, 169, 107, 0.35) 0%, transparent 70%);
  top: 10%;
  left: -10%;
}

.hero__bg-glow--right {
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(200, 169, 107, 0.20) 0%, transparent 70%);
  bottom: 5%;
  right: -5%;
}

/* Keep content above glows */
.hero__inner,
.hero__content,
.hero__image-wrapper {
  position: relative;
  z-index: 1;
}


/* ================================================================
   12. ENTRANCE ANIMATIONS
   ================================================================ */
@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeSlideLeft {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes urgencyPulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.45;
    transform: scale(0.8);
  }
}

@keyframes floatBadge {
  from {
    transform: translateY(0px);
  }
  to {
    transform: translateY(-6px);
  }
}


/* ================================================================
   13. MOBILE STICKY CTA
   Hidden on desktop; shown on mobile via CSS media query.
   JS adds .is-visible once user scrolls past hero CTA.
   ================================================================ */
.sticky-cta {
  display: none; /* hidden by default, shown at mobile breakpoint */
}

.sticky-cta__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 56px;
  background: var(--whatsapp);
  color: #fff;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: 0;
  transition: background 0.25s ease;
}

.sticky-cta__btn:hover,
.sticky-cta__btn:focus-visible {
  background: var(--whatsapp-dark);
  outline: none;
}

.sticky-cta__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -3px;
}


/* ================================================================
   14. RESPONSIVE ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â TABLET (max-width: 1024px)
   ================================================================ */
@media (max-width: 1024px) {
  .hero__inner {
    grid-template-columns: 1fr 48%;
    gap: 40px;
  }

  .header__nav {
    display: none; /* simplify nav on tablet */
  }
}


/* ================================================================
   15. RESPONSIVE ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â MOBILE (max-width: 768px)
   ================================================================ */
@media (max-width: 768px) {
  /* Header */
  .header__nav {
    display: none;
  }
  .header__cta {
    padding: 9px 16px;
    font-size: 13px;
  }

  /* Hero layout: single column, text first then image */
  .hero {
    padding-top: calc(var(--header-h) + 24px);
    padding-bottom: 60px;
    min-height: unset;
  }

  .hero__inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  /* Image comes after content on mobile */
  .hero__image-wrapper {
    order: 2;
    animation-name: fadeSlideUp; /* override for mobile */
    transform: translateY(20px);
  }

  .hero__headline {
    font-size: clamp(40px, 10vw, 52px);
  }

  .hero__sub-headline {
    font-size: 20px;
  }

  .hero__image-frame {
    aspect-ratio: 1 / 1; /* fully responsive banner */
    border-radius: 18px;
  }

  .hero__image {
    border-radius: 18px;
  }

  .hero__image-badge {
    left: 12px;
    bottom: 12px;
  }

  /* Full-width CTA on mobile */
  .btn--whatsapp {
    width: 100%;
    justify-content: center;
    font-size: 15px;
    padding: 16px 24px;
  }

  /* Trust row ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â wrap to 2-column on mobile */
  .trust-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 12px;
  }

  /* Mobile sticky CTA bar */
  .sticky-cta {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 300;
    transform: translateY(100%);
    transition: transform 0.40s var(--ease-out-quart);
  }

  .sticky-cta.is-visible {
    transform: translateY(0);
  }

  /* Background glows ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â reduce on mobile */
  .hero__bg-glow--left {
    width: 280px;
    height: 280px;
    left: -20%;
    opacity: 0.20;
  }

  .hero__bg-glow--right {
    display: none;
  }
}




/* ================================================================
   17. TRUST BAR
   Premium reassurance strip below the hero.
   ================================================================ */

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Section shell ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.trust-bar {
  background-color: #121212;       /* slightly lighter than hero --bg #0D0D0D */
  border-top:    1px solid rgba(255, 255, 255, 0.09);
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  padding: 32px clamp(20px, 5vw, 60px);
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Inner container ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.trust-bar__container {
  max-width: var(--container-max);   /* reuses hero token: 1260px */
  margin: 0 auto;
  display: grid;

  /*
    4 trust items + 3 separator divs = 7 grid children.
    Separators each get a fixed 1px column; items share the rest equally.
  */
  grid-template-columns: 1fr 1px 1fr 1px 1fr 1px 1fr;
  align-items: center;
  gap: 0;
  min-height: 110px;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Separator columns ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.trust-bar__separator {
  width: 1px;
  align-self: stretch;
  background: rgba(255, 255, 255, 0.09);
  margin: 16px 0;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Individual trust item ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.trust-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
  padding: 12px clamp(16px, 3.5vw, 36px);
  border-radius: 30px;
  transition: transform 250ms var(--ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1));
  cursor: default;
}

/* Desktop hover ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â subtle lift only */
.trust-item:hover {
  transform: translateY(-2px);
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Icon wrapper ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.trust-item__icon {
  flex-shrink: 0;
  color: var(--gold);              /* champagne gold */
  margin-top: 2px;                 /* optical alignment with text cap-height */
  transition: filter 250ms ease;
}

.trust-item:hover .trust-item__icon {
  filter: brightness(1.25);
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Text block ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.trust-item__content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Title ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.trust-item__title {
  font-family: var(--font-sans, 'Inter', system-ui, sans-serif);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.30;
  color: #F5F2EC;
  letter-spacing: 0.01em;
  margin: 0;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Description ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.trust-item__description {
  font-family: var(--font-sans, 'Inter', system-ui, sans-serif);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  color: #AAA49B;
  max-width: 220px;
  margin: 0;
}


/* ================================================================
   17a. TRUST BAR ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â RESPONSIVE TABLET (768pxÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Å“1023px)
   Collapse to 2-column layout; no vertical separators shown.
   ================================================================ */
@media (max-width: 1023px) {

  .trust-bar {
    padding: 28px clamp(20px, 5vw, 40px);
  }

  .trust-bar__container {
    /* 2 items per row, no separator columns needed */
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    min-height: unset;
  }

  /* Hide separator divs on tablet and mobile */
  .trust-bar__separator {
    display: none;
  }

  .trust-item {
    padding: 18px 16px;
    gap: 14px;
  }

  .trust-item__description {
    max-width: 100%;
  }
}


/* ================================================================
   17b. TRUST BAR ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â RESPONSIVE MOBILE (below 768px)
   Stays in 2-column grid; reduce padding, tighten typography.
   ================================================================ */
@media (max-width: 767px) {

  .trust-bar {
    padding: 20px 16px;
  }

  .trust-bar__container {
    grid-template-columns: 1fr 1fr;
    gap: 2px;
  }

  .trust-item {
    flex-direction: column;       /* stack icon above text on small screens */
    gap: 8px;
    padding: 16px 12px;
    align-items: flex-start;
  }

  .trust-item__title {
    font-size: 13.5px;
  }

  .trust-item__description {
    font-size: 12px;
    max-width: 100%;
  }
}



/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Very narrow devices (ÃƒÂ¢Ã¢â‚¬Â°Ã‚Â¤ 360px): allow natural wrapping ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
@media (max-width: 360px) {
  .trust-bar__container {
    grid-template-columns: 1fr;   /* single column on very tiny screens */
  }
}


/* ================================================================
   18. BENEFITS SECTION
   Four premium benefit cards ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â "Why Guests Prefer Us"
   ================================================================ */

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Section shell ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefits-section {
  background-color: #0D0D0D;      /* matches --bg; trust bar above is #121212 */
  padding: 60px clamp(20px, 5vw, 60px);
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Inner container ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefits-section__container {
  max-width: 1160px;
  margin: 0 auto;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Section header (centered) ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefits-section__header {
  text-align: center;
  margin-bottom: 64px;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Eyebrow ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefits-section__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
}

.benefits-section__eyebrow-line {
  display: block;
  width: 24px;
  height: 1px;
  background: var(--gold);
  opacity: 0.6;
  flex-shrink: 0;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Headline ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefits-section__headline {
  font-family: var(--font-sans);
  font-size: clamp(36px, 4.5vw, 52px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: var(--text);
  margin-bottom: 18px;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Descriptor ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefits-section__descriptor {
  font-size: 17px;
  font-weight: 400;
  color: var(--muted);
  line-height: 1.65;
  max-width: 480px;
  margin: 0 auto;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Benefits Grid ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â 2 ÃƒÆ’Ã¢â‚¬â€ 2 ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefits-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Benefit Card ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefit-card {
  position: relative;
  background: #151515;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 36px 32px;
  overflow: hidden;              /* keeps glow blob inside card bounds */

  /* Smooth hover transitions */
  transition:
    transform        250ms var(--ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1)),
    border-color     250ms ease,
    background-color 250ms ease,
    box-shadow       250ms ease;
}

/* Desktop hover ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â subtle lift + border glow */
.benefit-card:hover {
  transform: translateY(-3px);
  background-color: #1A1A1A;
  border-color: rgba(200, 169, 107, 0.28);
  box-shadow:
    0 16px 48px rgba(0, 0, 0, 0.50),
    0 0 0 1px rgba(200, 169, 107, 0.12);
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Decorative ambient gold glow (barely visible) ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefit-card__glow {
  position: absolute;
  top: -40px;
  left: -30px;
  width: 140px;
  height: 140px;
  background: radial-gradient(
    circle at center,
    rgba(200, 169, 107, 0.12) 0%,
    transparent 70%
  );
  border-radius: 50%;
  pointer-events: none;
  filter: blur(24px);
  transition: opacity 250ms ease;
}

.benefit-card:hover .benefit-card__glow {
  opacity: 1.4;                  /* slightly more visible on hover */
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Icon wrapper ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefit-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  margin-bottom: 16px;
  transition: filter 250ms ease;
}

.benefit-card:hover .benefit-card__icon {
  filter: brightness(1.3);
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Decorative accent line below icon ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefit-card__accent-line {
  width: 28px;
  height: 1px;
  background: linear-gradient(
    to right,
    var(--gold),
    transparent
  );
  margin-bottom: 20px;
  opacity: 0.55;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Card body ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefit-card__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Card title ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefit-card__title {
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.25;
  color: #F5F2EC;
  letter-spacing: -0.01em;
  margin: 0;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Card description ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefit-card__description {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  color: #AAA49B;
  margin: 0;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Bottom section CTA ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefits-cta {
  text-align: center;
  margin-top: 64px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.benefits-cta__lead {
  font-family: var(--font-serif, 'DM Serif Display', Georgia, serif);
  font-style: italic;
  font-size: 22px;
  font-weight: 400;
  color: var(--text-secondary);
  letter-spacing: 0.01em;
}

/* Inherit the existing .btn--whatsapp styles;
   only override size/width for the benefits context */
.benefits-cta__btn {
  /* Resets animation inheritance from hero CTA */
  opacity: 1;
  transform: none;
  animation: none;
}


/* ================================================================
   18a. BENEFITS ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â RESPONSIVE TABLET (768pxÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Å“1023px)
   ================================================================ */
@media (max-width: 1023px) {
  .benefits-section {
    padding: 80px clamp(20px, 5vw, 40px);
  }

  .benefits-section__header {
    margin-bottom: 48px;
  }

  .benefit-card {
    padding: 28px 24px;
  }
}


/* ================================================================
   18b. BENEFITS ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â RESPONSIVE MOBILE (below 768px)
   ================================================================ */
@media (max-width: 767px) {
  .benefits-section {
    padding: 64px 16px;
  }

  .benefits-section__header {
    margin-bottom: 36px;
  }

  .benefits-section__headline {
    font-size: clamp(32px, 9vw, 42px);
  }

  .benefits-section__descriptor {
    font-size: 15px;
  }

  /* Single column on mobile */
  .benefits-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .benefit-card {
    padding: 28px 22px;
  }

  .benefit-card__title {
    font-size: 18px;
  }

  .benefit-card__description {
    font-size: 14px;
  }

  .benefits-cta {
    margin-top: 44px;
  }

  .benefits-cta__lead {
    font-size: 19px;
  }

  /* Full-width CTA button on mobile */
  .benefits-cta__btn {
    width: 100%;
    max-width: 360px;
    justify-content: center;
  }
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Very narrow (ÃƒÂ¢Ã¢â‚¬Â°Ã‚Â¤ 380px): reduce card padding slightly ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
@media (max-width: 380px) {
  .benefit-card {
    padding: 24px 16px;
  }
}


/* ================================================================
   16. ACCESSIBILITY ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â REDUCED MOTION
   Disable all animations for users who prefer reduced motion.

   ================================================================ */
@media (prefers-reduced-motion: reduce) {
  /* Kill all CSS animations */
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  /* Ensure animated elements are immediately visible */
  .hero__eyebrow,
  .hero__headline,
  .hero__sub-headline,
  .hero__body,
  .btn--whatsapp,
  .hero__urgency,
  .trust-row,
  .hero__image-wrapper {
    opacity: 1;
    transform: none;
  }

  /* Kill floating badge */
  .hero__image-badge {
    animation: none;
  }

  /* Kill urgency dot pulse */
  .hero__urgency-dot {
    animation: none;
  }

  /* Trust Bar ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â disable hover lift */
  .trust-item {
    transition: none;
  }

  /* Benefits Section ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â disable hover transforms and transitions */
  .benefit-card,
  .benefit-card__icon,
  .benefit-card__glow {
    transition: none;
  }

  .benefit-card:hover {
    transform: none;
  }
}


/* ================================================================
   19. SERVICES SECTION
   Four experience cards - primary conversion section.
   ================================================================ */

.services-section {
  background-color: #121212;
  padding: 60px clamp(20px, 5vw, 60px);
}

.services-container {
  max-width: 1280px;
  margin: 0 auto;
}

.services-header {
  text-align: center;
  margin-bottom: 56px;
}

.services-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
}

.services-eyebrow__line {
  display: block;
  width: 24px;
  height: 1px;
  background: var(--gold);
  opacity: 0.6;
  flex-shrink: 0;
}

.services-headline {
  font-family: var(--font-sans);
  font-size: clamp(36px, 4.5vw, 52px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: var(--text);
  margin-bottom: 18px;
}

.services-descriptor {
  font-size: 17px;
  font-weight: 400;
  color: var(--muted);
  line-height: 1.65;
  max-width: 520px;
  margin: 0 auto;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  align-items: stretch;
}

.service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #151515;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 22px;
  padding: 30px 26px 26px;
  min-height: 380px;
  transition:
    transform        260ms var(--ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1)),
    border-color     260ms ease,
    box-shadow       260ms ease,
    background-color 260ms ease;
}

.service-card:hover {
  transform: translateY(-4px);
  border-color: rgba(200, 169, 107, 0.22);
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.55);
}

.service-card--popular {
  border-color: rgba(255, 255, 255, 0.12);
}

.service-card--popular:hover {
  border-color: rgba(200, 169, 107, 0.30);
}

.service-card--featured {
  background: linear-gradient(145deg, #191715 0%, #151515 100%);
  border-color: rgba(200, 169, 107, 0.45);
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(200, 169, 107, 0.10);
}

.service-card--featured:hover {
  border-color: rgba(200, 169, 107, 0.65);
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.60),
    0 0 0 1px rgba(200, 169, 107, 0.20);
}

.service-card--vip {
  background: #0F0F0F;
  border-color: rgba(200, 169, 107, 0.18);
}

.service-card--vip:hover {
  border-color: rgba(200, 169, 107, 0.38);
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.65);
}

.service-card__badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  padding: 4px 12px;
  border-radius: 50px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.service-card__badge--popular {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--text-secondary);
}

.service-card__badge--featured {
  background: rgba(200, 169, 107, 0.14);
  border: 1px solid rgba(200, 169, 107, 0.35);
  color: white;
}

.service-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  margin-bottom: 14px;
  transition: filter 260ms ease;
}

.service-card:hover .service-card__icon {
  filter: brightness(1.3);
}

.service-card--featured .service-card__icon {
  filter: brightness(1.1);
}

.service-card__accent-line {
  width: 32px;
  height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
  margin-bottom: 16px;
  opacity: 0.60;
}

.service-card__content {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.service-card__title {
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.25;
  color: #F5F2EC;
  letter-spacing: -0.01em;
  margin: 0;
}

.service-card--featured .service-card__title {
  font-size: 21px;
}

.service-card__description {
  font-size: 14.5px;
  font-weight: 400;
  color: var(--muted);
  line-height: 1.60;
  margin: 0;
}

.service-card__best-for {
  font-size: 13px;
  font-weight: 400;
  font-style: italic;
  color: #857F78;
  line-height: 1.55;
  margin: 0;
  margin-top: 2px;
}

.service-card__price {
  font-family: var(--font-sans);
  font-size: clamp(22px, 2vw, 26px);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: white;
  margin-top: auto;
  padding-top: 14px;
  line-height: 1;
}

.service-card--featured .service-card__price {
  font-size: clamp(23px, 2.2vw, 28px);
}

.service-card__price--on-request {
  color: var(--text-secondary);
  font-size: clamp(20px, 1.8vw, 24px);
  font-style: italic;
  font-weight: 600;
}

.service-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 22px;
  padding: 13px 20px;
  border-radius: 10px;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition:
    background 250ms ease,
    border-color 250ms ease,
    color 200ms ease;
}

.btn-service {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.10);
  color: var(--text);
}

.btn-service:hover,
.btn-service:focus-visible {
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 255, 255, 0.20);
  outline: none;
}

.btn-service:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

.btn-service--featured {
  background: var(--text);
  border-color: var(--text);
  color: #0D0D0D;
  font-weight: 700;
}

.btn-service--featured:hover,
.btn-service--featured:focus-visible {
  background: var(--gold-light);
  border-color: white;
  color: #0D0D0D;
}

.btn-service__icon {
  flex-shrink: 0;
}

.btn-service--vip {
  background: rgba(200, 169, 107, 0.08);
  border-color: rgba(200, 169, 107, 0.25);
  color: white;
}

.btn-service--vip:hover,
.btn-service--vip:focus-visible {
  background: rgba(200, 169, 107, 0.14);
  border-color: rgba(200, 169, 107, 0.45);
}

.services-note {
  margin-top: 52px;
  text-align: center;
  font-size: 14.5px;
  color: var(--muted);
  line-height: 1.6;
}

.services-note__link {
  color: var(--gold);
  text-decoration: underline;
  text-decoration-color: rgba(200, 169, 107, 0.35);
  text-underline-offset: 3px;
  transition: color 200ms ease, text-decoration-color 200ms ease;
}

.services-note__link:hover,
.services-note__link:focus-visible {
  color: white;
  text-decoration-color: white;
  outline: none;
}

.services-note__link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Services - tablet 2-col */
@media (max-width: 1023px) {
  .services-section {
    padding: 80px clamp(20px, 5vw, 40px);
  }
  .services-header {
    margin-bottom: 44px;
  }
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .service-card {
    min-height: 320px;
    padding: 26px 22px 22px;
  }
}

/* Services - mobile 1-col */
@media (max-width: 767px) {
  .services-section {
    padding: 64px 16px;
  }
  .services-header {
    margin-bottom: 36px;
  }
  .services-headline {
    font-size: clamp(32px, 9vw, 42px);
  }
  .services-descriptor {
    font-size: 15px;
  }
  .services-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .service-card {
    min-height: unset;
    padding: 26px 20px 22px;
  }
  .service-card__cta {
    width: 100%;
    padding: 15px 20px;
    font-size: 14.5px;
  }
  .services-note {
    margin-top: 36px;
    font-size: 14px;
  }
}

@media (max-width: 380px) {
  .service-card {
    padding: 22px 16px 18px;
  }
}

/* Services - reduced motion */
@media (prefers-reduced-motion: reduce) {
  .service-card,
  .service-card__icon,
  .service-card__cta,
  .services-note__link {
    transition: none;
  }
  .service-card:hover {
    transform: none;
  }
}

/* ================================================================
   20. TESTIMONIALS / SOCIAL PROOF SECTION
   Editorial luxury quote cards - 3 column desktop grid.
   ================================================================ */

/* Section shell - alternates back to #0D0D0D for depth rhythm */
.testimonials-section {
  background-color: #0D0D0D;
  padding: 60px clamp(20px, 5vw, 60px);
}

/* Inner container */
.testimonials-container {
  max-width: 1160px;
  margin: 0 auto;
}

/* Section header */
.testimonials-header {
  text-align: center;
  margin-bottom: 56px;
}

/* Eyebrow */
.testimonials-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
}

.testimonials-eyebrow__line {
  display: block;
  width: 24px;
  height: 1px;
  background: var(--gold);
  opacity: 0.6;
  flex-shrink: 0;
}

/* Headline */
.testimonials-headline {
  font-family: var(--font-sans);
  font-size: clamp(36px, 4.5vw, 52px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: var(--text);
  margin-bottom: 18px;
}

/* Descriptor */
.testimonials-descriptor {
  font-size: 17px;
  font-weight: 400;
  color: var(--muted);
  line-height: 1.65;
  max-width: 500px;
  margin: 0 auto;
}

/* Grid - 3 columns desktop */
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: stretch;
}

/* Base testimonial card */
.testimonial-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #151515;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 32px;
  overflow: hidden;
  transition:
    transform        260ms var(--ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1)),
    border-color     260ms ease,
    box-shadow       260ms ease;
}

.testimonial-card:hover {
  transform: translateY(-3px);
  border-color: rgba(200, 169, 107, 0.20);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.50);
}

/* Center card - subtle editorial accent */
.testimonial-card--center {
  border-color: rgba(200, 169, 107, 0.25);
}

.testimonial-card--center:hover {
  border-color: rgba(200, 169, 107, 0.45);
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.55);
}

/* Large decorative quotation mark */
.testimonial-card__quote-mark {
  display: block;
  font-family: var(--font-serif, 'DM Serif Display', Georgia, serif);
  font-size: 80px;
  line-height: 0.6;
  color: var(--gold);
  opacity: 0.18;
  margin-bottom: 20px;
  user-select: none;
  letter-spacing: -0.02em;
}

/* Stars */
.testimonial-card__stars {
  font-size: 15px;
  color: var(--gold);
  letter-spacing: 0.06em;
  margin-bottom: 18px;
  opacity: 0.90;
}

/* Review blockquote */
.testimonial-card__quote {
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  color: #E8E4DE;
  margin: 0;
  flex: 1;                       /* pushes footer to card bottom */
  font-style: normal;            /* override browser blockquote italic */
  quotes: none;
}

/* Attribution footer */
.testimonial-card__footer {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* Citation line */
.testimonial-card__attribution {
  font-family: var(--font-sans);
  font-size: 13.5px;
  font-weight: 500;
  font-style: normal;
  color: var(--muted);
  letter-spacing: 0.02em;
}

/* Subtle center-card gold tint on attribution */
.testimonial-card--center .testimonial-card__attribution {
  color: rgba(200, 169, 107, 0.75);
}

/* Optional editorial trust line */
.testimonials-trust-line {
  text-align: center;
  margin-top: 52px;
  font-size: 15px;
  font-style: italic;
  color: var(--muted);
  opacity: 0.75;
  letter-spacing: 0.01em;
}

/* Bottom CTA */
.testimonials-cta {
  text-align: center;
  margin-top: 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.testimonials-cta__lead {
  font-family: var(--font-serif, 'DM Serif Display', Georgia, serif);
  font-style: italic;
  font-size: 21px;
  font-weight: 400;
  color: var(--text-secondary);
  letter-spacing: 0.01em;
}

/* Inherit .btn--whatsapp styles; reset hero animation inheritance */
.testimonials-cta__btn {
  opacity: 1;
  transform: none;
  animation: none;
}

/* ================================================================
   20a. TESTIMONIALS - TABLET (768px-1023px): 2 columns
   ================================================================ */
@media (max-width: 1023px) {
  .testimonials-section {
    padding: 80px clamp(20px, 5vw, 40px);
  }
  .testimonials-header {
    margin-bottom: 44px;
  }
  .testimonials-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  /* On tablet, third card spans full width for balanced layout */
  .testimonials-grid .testimonial-card:last-child {
    grid-column: 1 / -1;
    max-width: 520px;
    margin: 0 auto;
    width: 100%;
  }
}

/* ================================================================
   20b. TESTIMONIALS - MOBILE (below 768px): 1 column
   ================================================================ */
@media (max-width: 767px) {
  .testimonials-section {
    padding: 64px 16px;
  }
  .testimonials-header {
    margin-bottom: 36px;
  }
  .testimonials-headline {
    font-size: clamp(32px, 9vw, 42px);
  }
  .testimonials-descriptor {
    font-size: 15px;
  }
  .testimonials-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  /* Reset tablet last-child override */
  .testimonials-grid .testimonial-card:last-child {
    grid-column: auto;
    max-width: none;
    margin: 0;
  }
  .testimonial-card {
    padding: 26px 22px;
  }
  .testimonial-card__quote-mark {
    font-size: 60px;
  }
  .testimonial-card__quote {
    font-size: 15px;
  }
  .testimonials-trust-line {
    margin-top: 36px;
    font-size: 14px;
  }
  .testimonials-cta {
    margin-top: 40px;
  }
  .testimonials-cta__lead {
    font-size: 18px;
  }
  .testimonials-cta__btn {
    width: 100%;
    max-width: 360px;
    justify-content: center;
  }
}

/* Reduced motion - testimonial cards */
@media (prefers-reduced-motion: reduce) {
  .testimonial-card {
    transition: none;
  }
  .testimonial-card:hover {
    transform: none;
  }
}

/* ================================================================
   21. HOW BOOKING WORKS SECTION
   Horizontal 3-step timeline desktop, vertical on mobile.
   ================================================================ */

.booking-section {
  background-color: #121212;
  padding: 60px clamp(20px, 5vw, 60px);
}

.booking-container {
  max-width: 1100px;
  margin: 0 auto;
}

/* Section header */
.booking-header {
  text-align: center;
  margin-bottom: 64px;
}

.booking-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
}

.booking-eyebrow__line {
  display: block;
  width: 24px;
  height: 1px;
  background: var(--gold);
  opacity: 0.6;
  flex-shrink: 0;
}

.booking-headline {
  font-family: var(--font-sans);
  font-size: clamp(36px, 4.5vw, 52px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: var(--text);
  margin-bottom: 18px;
}

.booking-descriptor {
  font-size: 17px;
  font-weight: 400;
  color: var(--muted);
  line-height: 1.65;
  max-width: 420px;
  margin: 0 auto;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Step timeline wrapper (desktop: horizontal) ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.booking-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 56px;
}

/* Decorative connecting line ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â sits behind the step indicators */
.booking-steps__connector {
  position: absolute;
  top: 27px;                     /* vertically centered on the 52px indicator */
  left: calc(16.666% + 26px);   /* starts from after first indicator center */
  right: calc(16.666% + 26px);  /* ends before last indicator center */
  height: 1px;
  background: linear-gradient(
    to right,
    rgba(200, 169, 107, 0.10),
    rgba(200, 169, 107, 0.35) 50%,
    rgba(200, 169, 107, 0.10)
  );
  pointer-events: none;
  z-index: 0;
}

/* Individual step */
.booking-step {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
}

/* Indicator: icon + number, stacked vertically */
.booking-step__indicator {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-bottom: 22px;
}

/* Circular icon container */
.booking-step__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  background: #1A1A1A;
  border: 1px solid rgba(200, 169, 107, 0.28);
  border-radius: 50%;
  color: var(--gold);
  flex-shrink: 0;
  position: relative;
  transition: border-color 250ms ease, background 250ms ease;
}

.booking-step:hover .booking-step__icon {
  border-color: rgba(200, 169, 107, 0.55);
  background: #1F1D1A;
}

/* Number badge below icon */
.booking-step__number {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--gold);
  opacity: 0.70;
}

/* Step content */
.booking-step__content {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.booking-step__title {
  font-family: var(--font-sans);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--text);
  margin: 0;
  letter-spacing: -0.01em;
}

.booking-step__description {
  font-size: 14.5px;
  font-weight: 400;
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
  max-width: 240px;
  margin-left: auto;
  margin-right: auto;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Reassurance block ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.booking-reassurance {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  max-width: 560px;
  margin: 0 auto 48px;
  padding: 32px 36px;
  background: #161614;
  border: 1px solid rgba(200, 169, 107, 0.14);
  border-radius: 18px;
}

.booking-reassurance__icon {
  color: var(--gold);
  opacity: 0.65;
  margin-bottom: 4px;
}

.booking-reassurance__headline {
  font-family: var(--font-serif, 'DM Serif Display', Georgia, serif);
  font-size: 19px;
  font-weight: 400;
  font-style: italic;
  color: var(--text);
  margin: 0;
  letter-spacing: 0.01em;
}

.booking-reassurance__body {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.70;
  margin: 0;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Bottom CTA ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.booking-cta {
  display: flex;
  justify-content: center;
}

.booking-cta__btn {
  opacity: 1;
  transform: none;
  animation: none;
}


/* ================================================================
   21a. HOW IT WORKS ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â TABLET (768px-1023px): still horizontal
   ================================================================ */
@media (max-width: 1023px) {
  .booking-section {
    padding: 80px clamp(20px, 5vw, 40px);
  }
  .booking-header {
    margin-bottom: 48px;
  }
  .booking-steps {
    gap: 24px;
  }
  .booking-step__description {
    max-width: 180px;
  }
}


/* ================================================================
   21b. HOW IT WORKS ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â MOBILE (below 768px): vertical timeline
   ================================================================ */
@media (max-width: 767px) {
  .booking-section {
    padding: 64px 16px;
  }
  .booking-header {
    margin-bottom: 40px;
  }
  .booking-headline {
    font-size: clamp(32px, 9vw, 42px);
  }

  /* Switch grid to single column */
  .booking-steps {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 40px;
  }

  /* Hide the desktop horizontal connector */
  .booking-steps__connector {
    display: none;
  }

  /* Each step: horizontal layout (icon-left, content-right) */
  .booking-step {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    gap: 20px;
    padding-bottom: 36px;
    position: relative;
  }

  /* Vertical connecting line between steps */
  .booking-step:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 25px;                   /* center of the 52px icon */
    top: 60px;                    /* below the icon */
    bottom: 0;
    width: 1px;
    background: linear-gradient(
      to bottom,
      rgba(200, 169, 107, 0.35),
      rgba(200, 169, 107, 0.06)
    );
  }

  /* Remove bottom padding from last step */
  .booking-step:last-child {
    padding-bottom: 0;
  }

  /* Keep indicator fixed-width column */
  .booking-step__indicator {
    flex-shrink: 0;
    margin-bottom: 0;
    gap: 6px;
  }

  /* Content takes remaining width */
  .booking-step__content {
    flex: 1;
    padding-top: 4px;
  }

  .booking-step__title {
    font-size: 17px;
  }

  .booking-step__description {
    font-size: 14px;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  /* Reassurance block */
  .booking-reassurance {
    padding: 26px 22px;
    margin-bottom: 36px;
  }

  .booking-reassurance__headline {
    font-size: 17px;
  }

  /* Full-width mobile CTA */
  .booking-cta__btn {
    width: 100%;
    max-width: 380px;
    justify-content: center;
    min-height: 52px;
  }
}

/* Very narrow screens */
@media (max-width: 380px) {
  .booking-step__icon {
    width: 44px;
    height: 44px;
  }
  .booking-step:not(:last-child)::after {
    left: 21px;
  }
  .booking-reassurance {
    padding: 22px 16px;
  }
}

/* Reduced motion - booking steps */
@media (prefers-reduced-motion: reduce) {
  .booking-step,
  .booking-step__icon {
    transition: none;
  }
  .booking-step:hover .booking-step__icon {
    border-color: rgba(200, 169, 107, 0.28);
    background: #1A1A1A;
  }
}

/* ================================================================
   22. DESKTOP FLOATING WHATSAPP FAB
   Pill-shaped persistent button, bottom-right on desktop.
   Hidden on mobile ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â mobile sticky bar handles small screens.
   ================================================================ */

.whatsapp-fab {
  display: none;                  /* hidden by default; shown at desktop breakpoint */
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 1000;
  align-items: center;
  gap: 10px;
  padding: 13px 20px;
  background: #25D366;
  color: #fff;
  border-radius: 50px;
  font-family: var(--font-sans);
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none;
  box-shadow:
    0 4px 20px rgba(37, 211, 102, 0.35),
    0 2px 8px rgba(0, 0, 0, 0.30);
  transition:
    transform        250ms var(--ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1)),
    box-shadow       250ms ease,
    background-color 200ms ease;
  /* Entrance: slide up when page loads */
  animation: fabEntrance 0.60s var(--ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1)) 1.5s both;
}

@keyframes fabEntrance {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.whatsapp-fab:hover {
  background: #1ebe5d;
  transform: translateY(-2px);
  box-shadow:
    0 8px 28px rgba(37, 211, 102, 0.45),
    0 4px 12px rgba(0, 0, 0, 0.30);
}

.whatsapp-fab:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.whatsapp-fab:active {
  transform: translateY(0);
}

.whatsapp-fab__icon {
  flex-shrink: 0;
}

.whatsapp-fab__label {
  white-space: nowrap;
}

/* Show FAB on desktop only */
@media (min-width: 769px) {
  .whatsapp-fab {
    display: flex;
  }
}

/* Reduce padding/label on smaller desktop if needed */
@media (max-width: 1024px) and (min-width: 769px) {
  .whatsapp-fab {
    padding: 12px 16px;
    font-size: 13.5px;
    bottom: 20px;
    right: 20px;
  }
}

/* Respect reduced motion ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â remove entrance animation + hover lift */
@media (prefers-reduced-motion: reduce) {
  .whatsapp-fab {
    animation: none;
  }
  .whatsapp-fab:hover {
    transform: none;
  }
}

/* ================================================================
   LIGHT THEME OVERRIDES
   Section-by-section overrides for the warm ivory / champagne
   luxury light theme. Applied after the original rules so they
   take precedence without touching the existing structure.
   ================================================================ */

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Body & page base ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
body {
  background-color: #FAF8F4;
  color: #1B1916;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Navbar ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.site-header {
  background: transparent;
  border-bottom-color: transparent;
}

.site-header.is-scrolled {
  background: rgba(250, 248, 244, 0.94);
  border-bottom-color: #E7E0D5;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 2px 16px rgba(55, 43, 28, 0.06);
}

.header__logo {
  color: #1B1916;
}

.header__logo-mark {
  color: #102542;
}

.header__nav-link {
  color: #1B1916;
  font-weight: 600;
}

.header__nav-link:hover,
.header__nav-link:focus-visible {
  color: #1B1916;
  background: rgba(55, 43, 28, 0.08);
}

.header__cta {
  background: #1B1916;
  color: #FFFFFF;
  border-color: #1B1916;
}

.header__cta:hover,
.header__cta:focus-visible {
  background: #302C26;
  border-color: #302C26;
  color: #FFFFFF;
  outline: 2px solid #1B1916;
  outline-offset: 2px;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Hero section ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.hero {
  background: linear-gradient(135deg, #FBF9F5 0%, #F5F0E7 100%);
}

.hero__eyebrow {
  color: #8F6B35;
}

.hero__eyebrow-line {
  background: #102542;
}

.hero__headline {
  color: #1B1916;
}

.hero__sub-headline {
  color: #5F5A52;
}

.hero__body {
  color: #5F5A52;
}

/* Ambient glows ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â tone down on light bg */
.hero__bg-glow--left,
.hero__bg-glow--right {
  opacity: 0.08;
}

/* Hero image ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â lighter shadow */
.hero__image-frame {
  box-shadow: 0 20px 55px rgba(55, 43, 28, 0.14);
}

/* Image overlay ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â very light, just for slight depth */
.hero__image-frame::after {
  background: linear-gradient(
    to top,
    rgba(30, 25, 18, 0.10),
    transparent 45%
  );
}

/* Hero floating badge */
.hero__image-badge {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #E7E0D5;
  color: #1B1916;
  box-shadow: 0 4px 18px rgba(55, 43, 28, 0.10);
}

.hero__image-badge strong {
  color: #8F6B35;
}

/* Hero trust row */
.hero__trust-separator {
  background: #D8CEBF;
}

.hero__trust-item {
  color: #5F5A52;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ WhatsApp / Primary CTA Button ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.btn--whatsapp {
  background: #1B1916;
  color: #FFFFFF;
  border-color: #1B1916;
}

.btn--whatsapp:hover,
.btn--whatsapp:focus-visible {
  background: #302C26;
  border-color: #302C26;
  color: #FFFFFF;
  box-shadow: 0 8px 24px rgba(27, 25, 22, 0.22);
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Urgency text ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.hero__urgency {
  color: #817A70;
}

.hero__urgency-dot {
  background: #102542;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Trust Bar ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.trust-bar {
  background: #FFFFFF;
  border-top: 1px solid #E7E0D5;
  border-bottom: 1px solid #E7E0D5;
}

.trust-item__icon-wrap {
  color: #102542;
  background: #F3EBDD;
  border: 1px solid #E5D5BA;
  border-radius: 50%;
}

.trust-item__title {
  color: #1B1916;
}

.trust-item__description {
  color: #817A70;
}

.trust-item + .trust-item {
  border-left: 1px solid #E7E0D5;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Benefits Section ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefits-section {
  background-color: #F3EFE8;
}

.benefits-section__eyebrow {
  color: #8F6B35;
}

.benefits-section__eyebrow-line {
  background: #102542;
}

.benefits-section__headline {
  color: #1B1916;
}

.benefits-section__descriptor {
  color: #5F5A52;
}

.benefit-card {
  background: #FFFFFF;
  border-color: #E7E0D5;
  box-shadow: 0 4px 16px rgba(55, 43, 28, 0.06);
}

.benefit-card:hover {
  background: #FFFCF7;
  border-color: #1A3A6B;
  box-shadow: 0 12px 35px rgba(55, 43, 28, 0.10);
}

.benefit-card__icon {
  color: #102542;
  background: #F3EBDD;
  border: 1px solid #E5D5BA;
  border-radius: 12px;
  padding: 10px;
  width: 50px;
  height: 50px;
  justify-content: center;
}

.benefit-card__glow {
  background: radial-gradient(
    circle at center,
    rgba(178, 138, 74, 0.08) 0%,
    transparent 70%
  );
}

.benefit-card__accent-line {
  background: linear-gradient(to right, #102542, transparent);
}

.benefit-card__title {
  color: #1B1916;
}

.benefit-card__description {
  color: #5F5A52;
}

.benefits-cta__lead {
  color: #5F5A52;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Services Section ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.services-section {
  background-color: #FAF8F4;
}

.services-eyebrow {
  color: #8F6B35;
}

.services-eyebrow__line {
  background: #102542;
}

.services-headline {
  color: #1B1916;
}

.services-descriptor {
  color: #5F5A52;
}

/* Base service card */
.service-card {
  background: #FFFFFF;
  border-color: #E7E0D5;
  box-shadow: 0 4px 16px rgba(55, 43, 28, 0.06);
}

.service-card:hover {
  border-color: #1A3A6B;
  box-shadow: 0 12px 35px rgba(55, 43, 28, 0.10);
}

.service-card--popular {
  border-color: #D8CEBF;
}

.service-card--popular:hover {
  border-color: #102542;
}

/* Featured ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â Premium Private Session */
.service-card--featured {
  background: linear-gradient(145deg, #FFFDF8, #F5EDDF);
  border-color: #C9A96E;
  box-shadow: 0 16px 45px rgba(120, 90, 40, 0.12);
}

.service-card--featured:hover {
  border-color: #102542;
  box-shadow: 0 22px 56px rgba(120, 90, 40, 0.16);
}

/* VIP card */
.service-card--vip {
  background: #FFFCF7;
  border-color: #D8C9B2;
}

.service-card--vip:hover {
  border-color: #102542;
  box-shadow: 0 12px 35px rgba(55, 43, 28, 0.10);
}

/* Badge */
.service-card__badge--popular {
  background: #F3EFE8;
  border-color: #D8CEBF;
  color: #5F5A52;
}

.service-card__badge--featured {
  background: #1B1916;
  border-color: #1B1916;
  color: #FFFFFF;
}

.service-card__icon {
  color: #102542;
}

.service-card--featured .service-card__icon {
  filter: none;
}

.service-card__accent-line {
  background: linear-gradient(to right, #102542, transparent);
}

.service-card__title {
  color: #1B1916;
}

.service-card--featured .service-card__title {
  color: #1B1916;
}

.service-card__description {
  color: #5F5A52;
}

.service-card__best-for {
  color: #817A70;
}

.service-card__price {
  color: #8F6B35;
}

.service-card--featured .service-card__price {
  color: #7A5A28;
}

.service-card__price--on-request {
  color: #5F5A52;
}

/* Service CTA buttons */
.btn-service {
  background: #1B1916;
  border-color: #1B1916;
  color: #FFFFFF;
}

.btn-service:hover,
.btn-service:focus-visible {
  background: #302C26;
  border-color: #302C26;
  color: #FFFFFF;
}

.btn-service--featured {
  background: #1B1916;
  border-color: #1B1916;
  color: #FFFFFF;
}

.btn-service--featured:hover,
.btn-service--featured:focus-visible {
  background: #302C26;
  border-color: #302C26;
  color: #FFFFFF;
}

.btn-service--vip {
  background: transparent;
  border-color: #1A3A6B;
  color: #7A5A28;
}

.btn-service--vip:hover,
.btn-service--vip:focus-visible {
  background: #F3EBDD;
  border-color: #102542;
}

/* Services note */
.services-note {
  color: #817A70;
}

.services-note__link {
  color: #8F6B35;
  text-decoration-color: rgba(143, 107, 53, 0.35);
}

.services-note__link:hover,
.services-note__link:focus-visible {
  color: #7A5A28;
  text-decoration-color: #7A5A28;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Testimonials ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.testimonials-section {
  background-color: #FFFFFF;
}

.testimonials-eyebrow {
  color: #8F6B35;
}

.testimonials-eyebrow__line {
  background: #102542;
}

.testimonials-headline {
  color: #1B1916;
}

.testimonials-descriptor {
  color: #5F5A52;
}

.testimonial-card {
  background: #FAF8F4;
  border-color: #E7E0D5;
  box-shadow: 0 4px 16px rgba(55, 43, 28, 0.05);
}

.testimonial-card:hover {
  border-color: #1A3A6B;
  box-shadow: 0 12px 32px rgba(55, 43, 28, 0.09);
}

.testimonial-card--center {
  border-color: rgba(178, 138, 74, 0.45);
  box-shadow: 0 6px 24px rgba(55, 43, 28, 0.08);
}

.testimonial-card--center:hover {
  border-color: #102542;
}

.testimonial-card__quote-mark {
  color: #D9C29A;
  opacity: 0.70;
}

.testimonial-card__stars {
  color: #102542;
}

.testimonial-card__quote {
  color: #2B2520;
}

.testimonial-card__footer {
  border-top-color: #E7E0D5;
}

.testimonial-card__attribution {
  color: #817A70;
}

.testimonial-card--center .testimonial-card__attribution {
  color: #8F6B35;
}

.testimonials-trust-line {
  color: #817A70;
}

.testimonials-cta__lead {
  color: #5F5A52;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Benefits/Testimonial/Booking section CTA buttons (inherited .btn--whatsapp) ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefits-cta__btn,
.testimonials-cta__btn,
.booking-cta__btn {
  opacity: 1;
  transform: none;
  animation: none;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ How Booking Works ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.booking-section {
  background-color: #F3EFE8;
}

.booking-eyebrow {
  color: #8F6B35;
}

.booking-eyebrow__line {
  background: #102542;
}

.booking-headline {
  color: #1B1916;
}

.booking-descriptor {
  color: #5F5A52;
}

.booking-steps__connector {
  background: linear-gradient(
    to right,
    rgba(178, 138, 74, 0.08),
    rgba(178, 138, 74, 0.30) 50%,
    rgba(178, 138, 74, 0.08)
  );
}

.booking-step__icon {
  background: #FFFFFF;
  border-color: #102542;
  color: #102542;
  box-shadow: 0 2px 12px rgba(55, 43, 28, 0.07);
}

.booking-step:hover .booking-step__icon {
  background: #F3EBDD;
  border-color: #8F6B35;
}

.booking-step__number {
  color: #8F6B35;
}

.booking-step__title {
  color: #1B1916;
}

.booking-step__description {
  color: #5F5A52;
}

.booking-reassurance {
  background: #FFFFFF;
  border-color: #E7E0D5;
  box-shadow: 0 4px 16px rgba(55, 43, 28, 0.06);
}

.booking-reassurance__icon {
  color: #102542;
  opacity: 0.85;
}

.booking-reassurance__headline {
  color: #1B1916;
}

.booking-reassurance__body {
  color: #5F5A52;
}

/* Mobile vertical line between steps */
@media (max-width: 767px) {
  .booking-step:not(:last-child)::after {
    background: linear-gradient(
      to bottom,
      rgba(178, 138, 74, 0.35),
      rgba(178, 138, 74, 0.06)
    );
  }
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Desktop FAB ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.whatsapp-fab {
  background: #25D366;
  color: #07130B;
  box-shadow:
    0 4px 20px rgba(37, 211, 102, 0.30),
    0 2px 8px rgba(55, 43, 28, 0.12);
}

.whatsapp-fab:hover {
  background: #1FB95A;
  color: #07130B;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Mobile Sticky CTA ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.sticky-cta__btn {
  background: #25D366;
  color: #07130B;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
  font-weight: 700;
}

.sticky-cta__btn:hover,
.sticky-cta__btn:focus-visible {
  background: #1FB95A;
  color: #07130B;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Footer (if present) ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.site-footer {
  background: #EBE4D8;
  color: #2B2721;
  border-top: 1px solid #D6CCBD;
}

.site-footer a {
  color: #5F584E;
}

.site-footer a:hover {
  color: #1B1916;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Shared section eyebrow connector lines (already using --gold but ensuring color) ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.trust-bar__eyebrow-line,
.benefits-section__eyebrow-line,
.services-eyebrow__line,
.testimonials-eyebrow__line,
.booking-eyebrow__line {
  background: #102542;
  opacity: 0.65;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Remove dark card backgrounds from all section-specific surfaces ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
/* Benefits */
.benefit-card__glow {
  opacity: 0.6;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Trust bar separator ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.trust-bar__container {
  border-color: #E7E0D5;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Overwrite any rgba(255,255,255) text that won't read on light bg ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
/* Service and benefit accent lines */
.service-card__accent-line {
  opacity: 0.65;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Nav link hover on transparent/white header ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
@media (min-width: 769px) {
  .site-header:not(.is-scrolled) .header__nav-link {
    color: #1B1916;
  }

  .site-header:not(.is-scrolled) .header__logo {
    color: #1B1916;
  }

  .site-header:not(.is-scrolled) .header__cta {
    background: #1B1916;
    color: #FFFFFF;
  }
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Reduced motion: keep all content visible on light theme ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
@media (prefers-reduced-motion: reduce) {
  .whatsapp-fab {
    animation: none;
  }
}
/* ================================================================
   23. OFFERS SECTION
   ================================================================ */
.offers-section {
  background-color: #FAF8F4;
  padding: 80px clamp(20px, 5vw, 60px);
}

.offers-container {
  max-width: 1260px;
  margin: 0 auto;
}

.offers-header {
  text-align: center;
  margin-bottom: 48px;
}

.offers-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #102542;
  margin-bottom: 20px;
}

.offers-eyebrow__line {
  display: block;
  width: 24px;
  height: 1px;
  background: #102542;
  opacity: 0.6;
}

.offers-headline {
  color: #1B1916;
  font-family: var(--font-sans);
  font-size: clamp(36px, 4.5vw, 52px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.025em;
}

.offers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  align-items: center;
}

.offer-image {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(55, 43, 28, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.offer-image:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 35px rgba(55, 43, 28, 0.12);
}
/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Benefits Redesign (One Row + Icon beside Heading) ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.benefits-grid {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
}

@media (max-width: 1024px) {
  .benefits-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
}

@media (max-width: 767px) {
  .benefits-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

.benefit-card {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  column-gap: 16px !important;
  row-gap: 12px !important;
  padding: 24px 20px !important;
}

.benefit-card__icon {
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin-bottom: 0 !important;
  width: 44px !important;
  height: 44px !important;
}

.benefit-card__accent-line {
  display: none !important;
}

.benefit-card__body {
  display: contents !important;
}

.benefit-card__title {
  grid-column: 2 !important;
  grid-row: 1 !important;
  font-size: 17px !important;
}

.benefit-card__description {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  font-size: 14px !important;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Services Redesign with Images ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.service-card {
  padding: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.service-card__image {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.service-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.service-card:hover .service-card__image img {
  transform: scale(1.05);
}

.service-card__content {
  padding: 24px 24px 16px 24px !important;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.service-card__cta {
  margin: 0 24px 24px 24px !important;
}

.service-card__badge {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 2;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

@media (max-width: 767px) {
  .service-card__image {
    aspect-ratio: 16 / 10;
  }
}

.service-card__image {
  width: 100%;
  min-height: 200px;
  background-color: #f8f8f8;
  display: block !important;
}
.service-card__image img {
  display: block;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Staff Section ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.staff-section {
  padding: 60px var(--container-pad);
  background: var(--bg);
}

.staff-container {
  max-width: var(--container-max);
  margin: 0 auto;
}

.staff-header {
  text-align: center;
  margin-bottom: 60px;
}

.staff-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 24px;
}

.staff-eyebrow__line {
  width: 40px;
  height: 1px;
  background: var(--gold);
  opacity: 0.5;
}

.staff-headline {
  font-family: var(--font-serif);
  font-size: 44px;
  font-weight: 400;
  color: var(--text);
  margin: 0 0 16px 0;
  letter-spacing: -0.02em;
}

.staff-descriptor {
  font-size: 17px;
  color: var(--text-secondary);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

.staff-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.staff-card {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(0,0,0,0.06);
  aspect-ratio: 3 / 4;
  background: #f8f8f8;
}

.staff-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform 0.5s ease;
  display: block;
}

.staff-card:hover img {
  transform: scale(1.05);
}

@media (max-width: 1024px) {
  .staff-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 767px) {
  .staff-section {
    padding: 64px 16px;
  }
  .staff-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .staff-headline {
    font-size: 32px;
  }
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Site Footer ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.site-footer {
  background: var(--surface);
  border-top: 1px solid rgba(0,0,0,0.05);
  padding: 80px var(--container-pad) 40px;
  color: var(--text);
  font-family: var(--font-sans);
}

.footer-container {
  max-width: var(--container-max);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
  justify-content: space-between;
  margin-bottom: 60px;
}

.footer-brand {
  max-width: 300px;
}

.footer-logo {
  max-height: 60px;
  margin-bottom: 20px;
  display: block;
}

.footer-tagline {
  color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.6;
}

.footer-contact {
  flex: 1;
  max-width: 400px;
}

.footer-heading {
  font-family: var(--font-serif);
  font-size: 20px;
  margin-bottom: 24px;
  color: var(--gold);
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer-links li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.5;
}

.footer-links svg {
  flex-shrink: 0;
  color: var(--gold);
  margin-top: 2px;
}

.footer-links a {
  color: var(--text);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}

.footer-links a:hover {
  color: var(--gold);
}

.footer-bottom {
  max-width: var(--container-max);
  margin: 0 auto;
  padding-top: 40px;
  border-top: 1px solid rgba(0,0,0,0.05);
  text-align: center;
  color: var(--text-secondary);
  font-size: 13px;
}

@media (max-width: 767px) {
  .site-footer {
    padding: 60px var(--container-pad) 120px;
  }
  .footer-container {
    flex-direction: column;
    gap: 40px;
  }
}

.footer-map {
  flex: 1;
  min-width: 220px; flex: 0 0 220px;
  max-width: 400px;
}
.map-container iframe {
  width: 100%;
  height: 200px;
  border-radius: 12px;
  background: var(--bg);
}

/* Service Card Dual Actions */
.service-card__actions {
  display: flex;
  gap: 12px;
  margin: 0 24px 24px 24px;
}
.service-card__actions .btn-service {
  border-radius: 30px;
  flex: 1;
  padding: 12px;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0 !important;
}
.btn-whatsapp-sm {
  background: var(--whatsapp) !important;
  color: white !important;
}
.btn-call-sm {
  background: var(--gold) !important;
  color: white !important;
}

/* Offer Popup */
.offer-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  backdrop-filter: blur(4px);
}
.offer-popup-overlay.is-active {
  opacity: 1;
  pointer-events: auto;
}
.offer-popup-card {
  background: var(--surface);
  border-radius: 20px;
  overflow: hidden;
  max-width: 580px;
  width: 100%;
  display: flex;
  flex-direction: row;
  position: relative;
  transform: translateY(20px) scale(0.95);
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  box-shadow: 0 20px 40px rgba(0,0,0,0.2);
}
.offer-popup-overlay.is-active .offer-popup-card {
  transform: translateY(0) scale(1);
}
.offer-popup-close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(255,255,255,0.9);
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text);
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.offer-popup-image {
  flex: 1;
  position: relative;
  min-width: 220px; flex: 0 0 220px;
}
.offer-popup-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.offer-popup-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  background: #E03131;
  color: white;
  padding: 6px 12px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  box-shadow: 0 4px 12px rgba(224, 49, 49, 0.3);
}
.offer-popup-content {
  flex: 1;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.offer-popup-title {
  font-family: var(--font-serif);
  font-size: 24px;
  color: var(--text);
  margin: 0 0 16px 0;
}
.offer-popup-price {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 20px;
}
.price-new {
  font-size: 32px;
  font-weight: 700;
  color: var(--gold);
}
.price-old {
  font-size: 20px;
  color: var(--muted);
  text-decoration: line-through;
}
.offer-popup-desc {
  font-size: 16px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 20px;
}
.offer-popup-btn {
  width: 100%;
  padding: 16px;
  font-size: 16px;
  border-radius: 12px;
  background: var(--whatsapp);
  color: white;
  text-align: center;
  text-decoration: none;
  display: block;
  font-weight: 600;
}

@media (max-width: 767px) {
  .offer-popup-card {
    flex-direction: column;
  }
  .offer-popup-image {
    min-width: 100%;
    height: 200px;
  }
  .offer-popup-content {
    padding: 24px;
  }
  .offer-popup-title {
    font-size: 24px;
  }
  .price-new {
    font-size: 32px;
  }
}

.offer-popup-card {
  max-height: 90vh; /* prevent overflow on mobile */
  overflow-y: auto; /* allow scrolling if very small screen */
}
.offer-popup-image img {
  object-position: top center;
}
.offer-popup-eyebrow {
  display: inline-block;
  background: #E03131;
  color: white;
  padding: 6px 12px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 16px;
  align-self: flex-start;
}
@media (max-width: 767px) {
  .offer-popup-image {
    height: 180px; /* shorter image on mobile to fit content */
  }
  .offer-popup-title {
    font-size: 20px;
    margin-bottom: 8px;
  }
  .offer-popup-content {
    padding: 20px;
  }
  .offer-popup-desc {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .offer-popup-price {
    margin-bottom: 12px;
  }
  .price-new {
    font-size: 24px;
  }
  .price-old {
    font-size: 18px;
  }
  .offer-popup-actions-wrapper a {
    padding: 12px !important;
    font-size: 14px;
  }
}

.call-fab {
  display: none;
  position: fixed;
  bottom: 100px;
  right: 24px;
  z-index: 1000;
  align-items: center;
  gap: 10px;
  padding: 13px 20px;
  background: var(--gold);
  color: #fff;
  border-radius: 50px;
  font-family: var(--font-sans);
  font-size: 14.5px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 20px rgba(16,37,66,0.35), 0 2px 8px rgba(0,0,0,0.3);
  transform: translateY(0);
  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.call-fab:hover {
  transform: translateY(-2px);
  background: var(--gold-light);
  box-shadow: 0 6px 24px rgba(16,37,66,0.45);
}
@media (min-width: 768px) {
  .call-fab {
    display: inline-flex;
  }
}
@media (max-width: 767px) {
  .call-fab {
    display: none;
  }
}

/* Circular FAB Overrides */
.whatsapp-fab, .call-fab {
  width: 60px;
  height: 60px;
  padding: 0;
  justify-content: center;
  border-radius: 50% !important;
}
.whatsapp-fab__label, .call-fab span {
  display: none !important;
}
.whatsapp-fab svg, .call-fab svg {
  width: 28px;
  height: 28px;
  margin: 0;
}
