    /* ── RESET & BASE ── */
    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0
    }

    :root {
      --black: #06060A;
      --deep: #0C0C10;
      --card: #101014;
      --panel: #13131A;
      --gold: #C9A97A;
      --gold-dim: rgba(201, 169, 122, 0.18);
      --gold-mid: rgba(201, 169, 122, 0.38);
      --gold-bright: rgba(201, 169, 122, 0.7);
      --rose: #C49090;
      --slate: #8A909C;
      --muted: #5C606A;
      --cream: #F2EDE6;
      --white: #FAFAF8;
      --serif: 'Cormorant Garamond', serif;
      --sans: 'Inter', sans-serif;
      --ease: cubic-bezier(.16, 1, .3, 1);
      --spring: cubic-bezier(0.22, 1.25, 0.36, 1);
      --spring-bounce: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    }

    html {
      scroll-behavior: smooth;
      scroll-padding-top: 100px;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
    }

    section[id],
    div[id] {
      scroll-margin-top: 100px;
    }

    body {
      background: var(--black);
      color: var(--cream);
      font-family: var(--sans);
      font-weight: 300;
      line-height: 1.7;
      overflow-x: hidden;
    }

    /* ── GPU HARDWARE LAYERS ── */
    button,
    a,
    input,
    select,
    textarea {
      -webkit-tap-highlight-color: transparent;
      touch-action: manipulation;
    }

    .pricing-card,
    .svc-card,
    .pillar,
    .hero-bg,
    .ambient-cursor-light,
    .about-photo-frame img,
    .coaching-visual img,
    .approach-visual img {
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      transform-style: preserve-3d;
    }

    /* ── SCROLLBAR ── */
    ::-webkit-scrollbar {
      width: 4px
    }

    ::-webkit-scrollbar-track {
      background: var(--black)
    }

    ::-webkit-scrollbar-thumb {
      background: var(--gold-dim);
      border-radius: 2px
    }

    /* ── SELECTION ── */
    ::selection {
      background: rgba(201, 169, 122, 0.25);
      color: var(--cream)
    }

    /* ════════ SPECULAR MOVING GLASS REFLECTION ════════ */
    .pricing-card,
    .svc-card,
    .pillar,
    .about-photo-frame,
    .coaching-visual,
    .approach-visual {
      position: relative;
      overflow: hidden;
    }

    .pricing-card::after,
    .svc-card::after,
    .pillar::after,
    .about-photo-frame::after {
      content: '';
      position: absolute;
      top: -60%;
      left: -60%;
      width: 220%;
      height: 220%;
      background: linear-gradient(
        45deg,
        transparent 42%,
        rgba(255, 255, 255, 0.015) 47%,
        rgba(255, 255, 255, 0.09) 50%,
        rgba(255, 255, 255, 0.015) 53%,
        transparent 58%
      );
      transform: rotate(25deg) translateY(-110%);
      pointer-events: none;
      transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
      z-index: 10;
    }

    .pricing-card:hover::after,
    .svc-card:hover::after,
    .pillar:hover::after,
    .about-photo-frame:hover::after {
      transform: rotate(25deg) translateY(110%);
      transition: transform 1.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    /* Ensure booking modal overlay sits above fixed navigation on all pages */
    #bookingOverlay {
      z-index: 100000 !important;
    }

    /* Ambient Cursor Light Spotlight */
    .ambient-cursor-light {
      position: fixed;
      top: 0;
      left: 0;
      width: 480px;
      height: 480px;
      margin-top: -240px;
      margin-left: -240px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(201, 169, 122, 0.07) 0%, rgba(201, 169, 122, 0.02) 35%, transparent 70%);
      pointer-events: none;
      z-index: 9990;
      opacity: 0;
      transition: opacity 0.6s ease;
      mix-blend-mode: screen;
      filter: blur(12px);
    }

    /* Continuous Scroll Micro-Choreography & Parallax Depth */
    .about-photo-frame img,
    .coaching-visual img,
    .approach-visual img {
      transition: transform 0.4s var(--ease), filter 0.4s var(--ease);
      will-change: transform;
    }

    /* ════════ NAV ════════ */
    nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 200;
      padding: 0.8rem 3.5rem 0.6rem;
      height: 100px;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      background: linear-gradient(to bottom, rgba(6, 6, 10, 0.98) 0%, rgba(6, 6, 10, 0.85) 70%, transparent 100%);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom: 1px solid rgba(201, 169, 122, 0.06);
      transition: background 0.4s, border-color 0.4s;
      will-change: transform;
      transform: translateZ(0);
    }

    .nav-logo img {
      height: 87px;
      width: auto;
      background: transparent;
      transition: transform 0.4s var(--ease), filter 0.4s var(--ease);
    }

    .nav-logo:hover img,
    .nav-logo:active img,
    .nav-logo:focus img {
      transform: scale(1.05);
      filter: drop-shadow(0 0 6px rgba(244, 228, 193, 0.85))
              drop-shadow(0 0 16px rgba(201, 169, 122, 0.75))
              drop-shadow(0 0 36px rgba(201, 169, 122, 0.45));
    }

    .nav-links {
      display: flex;
      gap: 2.8rem;
      list-style: none;
      justify-self: center;
      flex-wrap: nowrap;
    }

    .nav-links a {
      color: var(--slate);
      font-size: 0.7rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      text-decoration: none;
      transition: color 0.3s;
      position: relative;
      padding-bottom: 2px;
    }

    .nav-links a::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 1px;
      background: var(--gold);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.35s var(--ease);
    }

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

    .nav-links a:hover::after {
      transform: scaleX(1)
    }

    .nav-cta {
      background: var(--gold);
      color: var(--black);
      border: none;
      padding: 0.6rem 1.7rem;
      font-family: var(--sans);
      font-size: 0.68rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      cursor: pointer;
      transition: opacity 0.3s, transform 0.3s var(--ease), box-shadow 0.3s;
      font-weight: 500;
    }

    .nav-cta:hover {
      opacity: 0.88;
      transform: translateY(-1px);
      box-shadow: 0 8px 30px rgba(201, 169, 122, 0.25)
    }

    /* ════════ HERO ════════ */
    .hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 11rem 2rem 8rem;
      overflow: hidden;
    }

    /* Layered radial glow background */
    .hero-bg {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 0;
      background:
        radial-gradient(ellipse 70% 55% at 50% 48%, rgba(201, 169, 122, 0.07) 0%, transparent 70%),
        radial-gradient(ellipse 40% 35% at 50% 52%, rgba(196, 144, 138, 0.05) 0%, transparent 60%),
        radial-gradient(ellipse 90% 80% at 50% 50%, rgba(201, 169, 122, 0.03) 0%, transparent 100%);
    }

    /* Animated orb */
    .hero-orb {
      position: absolute;
      top: 50%;
      left: 50%;
      width: min(680px, 90vw);
      height: min(680px, 90vw);
      transform: translate(-50%, -48%);
      pointer-events: none;
      z-index: 0;
    }

    .hero-tag {
      position: relative;
      z-index: 1;
      display: inline-flex;
      align-items: center;
      gap: 0.8rem;
      padding: 0.45rem 1.2rem;
      border: 1px solid var(--gold-dim);
      background: rgba(201, 169, 122, 0.04);
      font-size: 0.65rem;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 2.2rem;
      opacity: 0;
      animation: fadeUp 0.9s 0.3s var(--ease) forwards;
    }

    .hero-tag-dot {
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: var(--gold);
      animation: pulse 2s infinite
    }

    .hero-h1 {
      position: relative;
      z-index: 1;
      font-family: var(--serif);
      font-size: clamp(3.4rem, 8.5vw, 8rem);
      font-weight: 300;
      line-height: 1.0;
      letter-spacing: -0.02em;
      max-width: 980px;
      opacity: 0;
      animation: fadeUp 1s 0.55s var(--ease) forwards;
    }

    .hero-h1 em {
      font-style: italic;
      color: var(--gold)
    }

    .hero-h1 .line2 {
      display: block;
      font-size: 0.62em;
      font-weight: 300;
      letter-spacing: 0.01em;
      margin-top: 0.25em;
      color: rgba(242, 237, 230, 0.75)
    }

    .hero-sub {
      position: relative;
      z-index: 1;
      max-width: 480px;
      margin-top: 2rem;
      font-size: 0.92rem;
      color: var(--slate);
      line-height: 1.9;
      opacity: 0;
      animation: fadeUp 1s 0.75s var(--ease) forwards;
    }

    .hero-actions {
      position: relative;
      z-index: 1;
      margin-top: 3.2rem;
      display: flex;
      gap: 1.2rem;
      flex-wrap: wrap;
      justify-content: center;
      opacity: 0;
      animation: fadeUp 1s 0.95s var(--ease) forwards;
    }

    .btn-gold {
      background: var(--gold);
      color: var(--black);
      border: none;
      padding: 1.05rem 3rem;
      font-family: var(--sans);
      font-size: 0.72rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      cursor: pointer;
      font-weight: 500;
      transition: all 0.35s var(--ease);
      text-decoration: none;
      display: inline-block;
    }

    .btn-gold:hover {
      opacity: 0.88;
      transform: translateY(-3px);
      box-shadow: 0 16px 40px rgba(201, 169, 122, 0.3)
    }

    .btn-outline {
      background: transparent;
      color: var(--cream);
      border: 1px solid rgba(242, 237, 230, 0.2);
      padding: 1.05rem 3rem;
      font-family: var(--sans);
      font-size: 0.72rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      cursor: pointer;
      transition: all 0.35s var(--ease);
      text-decoration: none;
      display: inline-block;
    }

    .btn-outline:hover {
      border-color: var(--gold);
      color: var(--gold);
      transform: translateY(-3px)
    }

    /* ── Button shine sweep + tactile press ── */
    .btn-gold,
    .btn-outline,
    .nav-cta {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

    .btn-gold::before,
    .btn-outline::before,
    .nav-cta::before {
      content: '';
      position: absolute;
      top: 0;
      left: -60%;
      width: 40%;
      height: 100%;
      background: linear-gradient(115deg, transparent 20%, rgba(255, 255, 255, 0.55) 50%, transparent 80%);
      transform: skewX(-20deg);
      opacity: 0;
      z-index: 1;
      pointer-events: none;
      transition: opacity 0.2s;
    }

    .btn-outline::before,
    .nav-cta::before {
      background: linear-gradient(115deg, transparent 20%, rgba(201, 169, 122, 0.4) 50%, transparent 80%);
    }

    .btn-gold:hover::before,
    .btn-outline:hover::before,
    .nav-cta:hover::before {
      opacity: 1;
      animation: btnShine 1.1s ease;
    }

    .btn-gold:active,
    .btn-outline:active,
    .nav-cta:active {
      transform: translateY(-1px) scale(0.97);
      transition: transform 0.15s var(--ease);
    }

    @keyframes btnShine {
      from {
        left: -60%
      }

      to {
        left: 120%
      }
    }

    .hero-scroll {
      position: absolute;
      bottom: 2.8rem;
      left: 50%;
      transform: translateX(-50%);
      z-index: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.6rem;
      opacity: 0;
      animation: fadeIn 1s 1.6s forwards;
    }

    .hero-scroll span {
      font-size: 0.6rem;
      letter-spacing: 0.26em;
      text-transform: uppercase;
      color: var(--muted)
    }

    .hero-scroll-line {
      width: 1px;
      height: 48px;
      background: linear-gradient(var(--gold), transparent);
      animation: scrollDown 2s infinite
    }

    /* ════════ MARQUEE STRIP ════════ */
    .marquee-wrap {
      border-top: 1px solid var(--gold-dim);
      border-bottom: 1px solid var(--gold-dim);
      background: rgba(201, 169, 122, 0.02);
      overflow: hidden;
      padding: 0;
      position: relative;
    }

    .marquee-track {
      display: flex;
      gap: 0;
      animation: marqueeScroll 28s linear infinite;
      width: max-content;
    }

    .marquee-item {
      display: flex;
      align-items: center;
      gap: 0.9rem;
      padding: 1rem 3.5rem;
      font-size: 0.62rem;
      letter-spacing: 0.26em;
      text-transform: uppercase;
      color: var(--slate);
      white-space: nowrap;
      border-right: 1px solid var(--gold-dim);
    }

    .marquee-item .dot {
      width: 3px;
      height: 3px;
      border-radius: 50%;
      background: var(--gold);
      opacity: 0.6
    }

    /* ════════ SECTION BASE ════════ */
    .section-label {
      font-size: 0.62rem;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 1rem;
      display: block;
    }

    .section-h2 {
      font-family: var(--serif);
      font-size: clamp(2.2rem, 4vw, 3.8rem);
      font-weight: 300;
      line-height: 1.08;
      margin-bottom: 1.6rem;
    }

    .section-h2 em {
      font-style: italic;
      color: var(--gold)
    }

    .body-text {
      font-size: 0.93rem;
      color: var(--slate);
      line-height: 1.95;
      max-width: 540px
    }

    .body-text+.body-text {
      margin-top: 1.1rem
    }

    /* ════════ ABOUT LIZ ════════ */

    .about-wrap {
      display: grid;
      grid-template-columns: 3fr 4fr;
      min-height: 85vh;
      gap: 0;
      align-items: stretch;
      background: var(--panel);
      padding: 0 0 0 0;
    }

    .about-visual-col {
      position: relative;
      overflow: hidden;
      border-radius: 2px;
      align-self: stretch;
      display: flex;
      align-items: stretch;
      background: #0C0C10;
    }

    .about-photo-frame {
      position: relative;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 2rem;
    }

    .about-photo-ring {
      position: absolute;
      inset: -12%;
      background: radial-gradient(ellipse 60% 60% at center, rgba(201, 169, 122, 0.14) 0%, transparent 72%);
      pointer-events: none;
      animation: ringBreath 6s ease-in-out infinite;
    }

    .about-photo-ring2 {
      position: absolute;
      inset: -22%;
      background: radial-gradient(ellipse 55% 55% at center, rgba(196, 144, 138, 0.07) 0%, transparent 75%);
      pointer-events: none;
      animation: ringBreath 6s 1s ease-in-out infinite;
    }

    .about-photo-frame img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center center;
      display: block;
      position: relative;
      z-index: 1;
      filter: brightness(0.92) saturate(0.95);
      transition: transform 8s ease, filter 0.6s;
    }

    .about-photo-frame:hover img {
      transform: scale(1.02);
      filter: brightness(1) saturate(1);
    }

    .about-text-col {
      padding: 5rem 5rem 5rem 4rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .hi-liz {
      font-family: var(--serif);
      font-size: clamp(2.8rem, 4.5vw, 5rem);
      font-weight: 300;
      line-height: 1.05;
      margin-bottom: 2rem;
    }

    .hi-liz em {
      font-style: italic;
      color: var(--gold)
    }

    .about-divider {
      height: 1px;
      background: linear-gradient(to right, var(--gold-dim), transparent);
      margin: 2.5rem 0;
      width: 180px;
    }

    .about-stats {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem;
      margin-top: 2.8rem;
      padding-top: 2.8rem;
      border-top: 1px solid var(--gold-dim)
    }

    .stat-val {
      font-family: var(--serif);
      font-size: 2.6rem;
      font-weight: 300;
      color: var(--gold);
      line-height: 1
    }

    .stat-key {
      font-size: 0.65rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--muted);
      margin-top: 0.35rem
    }

    /* ── Credential badge (Thought Conductor® Practitioner Coach) ── */
    .cred-badge {
      display: flex;
      align-items: center;
      gap: 1.1rem;
      margin-top: 2.2rem;
      padding: 1.05rem 1.5rem;
      max-width: 540px;
      width: 100%;
      background: rgba(255, 255, 255, 0.02);
      border: 1px solid var(--gold-dim);
      border-radius: 2px;
      box-sizing: border-box;
      position: relative;
      overflow: hidden;
    }

    .cred-badge-icons {
      display: flex;
      align-items: center;
      gap: 0.55rem;
      flex-shrink: 0;
    }

    .cred-icon {
      width: 42px;
      height: 42px;
      flex-shrink: 0;
      display: block;
      object-fit: cover;
      border-radius: 9px;
      box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06);
    }

    .cred-badge-text {
      display: flex;
      flex-direction: column;
      gap: 0.28rem;
      min-width: 0;
    }

    .cred-badge-name {
      font-family: var(--sans);
      font-size: 0.76rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--gold);
      font-weight: 600;
      white-space: nowrap;
    }

    .cred-badge-name sup {
      font-size: 0.6em;
    }

    .cred-badge-role {
      font-family: var(--sans);
      font-size: 0.68rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--slate);
      white-space: nowrap;
    }

    .cred-badge-divider {
      width: 1px;
      align-self: stretch;
      background: var(--gold-dim);
      margin-left: auto;
      flex-shrink: 0;
    }

    /* ════════ SERVICES ════════ */
    .services-wrap {
      background: var(--black);
      padding: 8rem 0 0
    }

    .services-inner {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 3.5rem
    }

    .services-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      margin-bottom: 4.5rem;
      flex-wrap: wrap;
      gap: 2rem;
    }

    .services-head-left .section-h2 {
      margin-bottom: 0
    }

    .services-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border: 1px solid var(--gold-dim);
      background: var(--gold-dim);
      gap: 1px;
    }

    .svc-card {
      background: var(--card);
      padding: 2.8rem 2.4rem;
      position: relative;
      overflow: hidden;
      transition: background 0.4s var(--ease), transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
      cursor: default;
    }

    .svc-card::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(201, 169, 122, 0.04) 0%, transparent 60%);
      opacity: 0;
      transition: opacity 0.4s;
    }

    .svc-card:hover {
      background: var(--panel);
      transform: translateY(-6px);
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    }

    .svc-card:hover::after {
      opacity: 1
    }

    .svc-top-line {
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 2px;
      background: linear-gradient(to right, var(--gold), rgba(201, 169, 122, 0.2));
      transition: width 0.5s var(--ease);
    }

    .svc-card:hover .svc-top-line {
      width: 100%
    }

    .svc-num {
      font-family: var(--serif);
      font-size: 0.95rem;
      color: var(--gold-dim);
      letter-spacing: 0.08em;
      margin-bottom: 2rem;
      transition: color 0.3s;
    }

    .svc-card:hover .svc-num {
      color: var(--gold-bright)
    }

    .svc-name {
      font-family: var(--serif);
      font-size: 1.35rem;
      font-weight: 400;
      color: var(--white);
      margin-bottom: 0.9rem;
      line-height: 1.25;
    }

    .svc-desc {
      font-size: 0.82rem;
      color: var(--muted);
      line-height: 1.8
    }

    /* Full-width 7th card */
    .svc-card-wide {
      grid-column: 1/-1;
      display: grid;
      grid-template-columns: auto 1fr 1.4fr;
      align-items: center;
      gap: 3rem;
      padding: 2.4rem 3rem;
      background: var(--card);
      border-top: 1px solid var(--gold-dim);
      position: relative;
      overflow: hidden;
    }

    .svc-card-wide::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 1px;
      background: linear-gradient(to right, var(--gold), transparent);
    }

    /* ════════ WHAT IS COACHING ════════ */
    .coaching-wrap {
      display: grid;
      grid-template-columns: 3fr 4fr;
      min-height: 85vh;
      gap: 3rem;
      align-items: center;
      background: var(--panel);
      padding: 0 0 0 3rem;
      margin-bottom: -8vh;
    }

    .coaching-visual {
      position: relative;
      overflow: hidden;
      border-radius: 2px;
      max-height: 75vh;
      align-self: center;
    }

    .coaching-visual img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 18%;
      display: block;
      filter: brightness(0.78) saturate(0.9);
      transition: transform 8s ease, filter 0.6s;
    }

    .coaching-visual:hover img {
      transform: scale(1.03);
      filter: brightness(0.85) saturate(0.95)
    }

    .coaching-visual-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to right, rgba(6, 6, 10, 0.3) 0%, transparent 50%),
        linear-gradient(to top, rgba(6, 6, 10, 0.5) 0%, transparent 40%);
    }

    .coaching-text {
      background: transparent;
      padding: 5rem 5rem 5rem 4rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .coaching-quote {
      margin-top: 3rem;
      padding: 2rem 0 2rem 2.2rem;
      border-left: 2px solid var(--gold);
      position: relative;
    }

    .coaching-quote::before {
      content: '"';
      position: absolute;
      top: -1rem;
      left: 1.5rem;
      font-family: var(--serif);
      font-size: 5rem;
      line-height: 1;
      color: rgba(201, 169, 122, 0.12);
    }

    .coaching-quote p {
      font-family: var(--serif);
      font-size: 1.45rem;
      font-style: italic;
      font-weight: 300;
      line-height: 1.5;
      color: var(--cream);
    }

    .coaching-quote cite {
      display: block;
      margin-top: 1rem;
      font-size: 0.68rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--gold);
      font-style: normal;
    }

    /* ════════ APPROACH ════════ */
    .approach-wrap {
      display: grid;
      grid-template-columns: 3fr 4fr;
      min-height: 85vh;
      gap: 48px;
      align-items: center;
      background: var(--deep);
      padding: 0 0 0 4rem;
      overflow: visible;
    }

    .approach-visual {
      position: relative;
      overflow: hidden;
      border-radius: 2px;
      max-height: 78vh;
      align-self: center;
      background: #0C0C10;
    }

    .approach-visual img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 38%;
      display: block;
      filter: brightness(0.78) saturate(0.9);
      transition: transform 8s ease, filter 0.6s;
    }

    .approach-visual:hover img {
      transform: scale(1.03);
      filter: brightness(0.85) saturate(0.95);
    }

    .approach-visual-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to right, rgba(6, 6, 10, 0.3) 0%, transparent 50%),
        linear-gradient(to top, rgba(6, 6, 10, 0.5) 0%, transparent 40%);
    }

    .approach-text {
      background: transparent;
      padding: 5rem 0 5rem 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .approach-pillars {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1px;
      background: var(--gold-dim);
      border: 1px solid var(--gold-dim);
      margin-top: 1.25rem;
    }

    .pillar {
      background: var(--card);
      padding: 2rem 1.5rem;
      transition: background 0.4s, transform 0.4s var(--ease);
      position: relative;
      overflow: hidden;
    }

    .pillar:hover {
      background: var(--panel);
      transform: translateY(-5px);
    }

    .pillar-glow {
      position: absolute;
      bottom: -60px;
      left: -60px;
      width: 200px;
      height: 200px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(201, 169, 122, 0.06) 0%, transparent 70%);
      opacity: 0;
      transition: opacity 0.4s;
    }

    .pillar:hover .pillar-glow {
      opacity: 1;
    }

    .pillar-num {
      font-family: var(--serif);
      font-size: 2.8rem;
      font-weight: 300;
      color: rgba(201, 169, 122, 0.08);
      line-height: 1;
      margin-bottom: 0.35rem;
    }

    .pillar-title {
      font-family: var(--serif);
      font-size: 1.15rem;
      font-weight: 500;
      color: var(--gold);
      margin-bottom: 0.6rem;
    }

    .pillar-body {
      font-size: 0.82rem;
      color: var(--muted);
      line-height: 1.7;
    }

    /* ════════ TESTIMONIAL BAND ════════ */
    .testi-band {
      background: var(--gold);
      padding: 6.5rem 3rem;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .testi-band::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 600px;
      height: 300px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.06);
      pointer-events: none;
    }

    .testi-q {
      font-family: var(--serif);
      font-size: clamp(1.1rem, 2.4vw, 1.9rem);
      font-weight: 300;
      font-style: italic;
      color: var(--black);
      max-width: 800px;
      margin: 0 auto 1.8rem;
      line-height: 1.35;
      position: relative;
      z-index: 1;
      white-space: normal;
    }

    .testi-attr {
      font-size: 0.68rem;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: rgba(6, 6, 10, 0.45);
      position: relative;
      z-index: 1;
    }

    .testi-stars {
      display: flex;
      justify-content: center;
      gap: 0.4rem;
      margin-bottom: 1.5rem;
    }

    .testi-star {
      color: rgba(6, 6, 10, 0.35);
      font-size: 0.75rem
    }

    .testi-band .btn-outline {
      color: #06060A;
      border-color: rgba(6, 6, 10, 0.28);
    }

    .testi-band .btn-outline:hover {
      color: #06060A;
      border-color: #06060A;
      background: rgba(6, 6, 10, 0.04);
      transform: translateY(-3px);
      box-shadow: 0 8px 24px rgba(6, 6, 10, 0.08);
    }

    /* ════════ FEEDBACK WALL ════════ */
    .feedback-wall {
      position: relative;
      padding: clamp(5rem, 10vw, 9rem) 0;
      overflow: hidden;
      background: var(--black);
    }

    .feedback-wall::before {
      content: '';
      position: absolute;
      top: -180px;
      left: 50%;
      transform: translateX(-50%);
      width: 900px;
      height: 500px;
      background: radial-gradient(ellipse, rgba(201, 169, 122, 0.07) 0%, transparent 70%);
      pointer-events: none;
    }

    .feedback-head {
      position: relative;
      z-index: 2;
      text-align: center;
      max-width: 680px;
      margin: 0 auto clamp(3rem, 6vw, 5rem);
      padding: 0 1.5rem;
    }

    .feedback-head .section-label {
      justify-content: center;
      display: flex;
      align-items: center;
      gap: 0.6rem;
    }

    .feedback-head .section-label::before,
    .feedback-head .section-label::after {
      content: '';
      width: 24px;
      height: 1px;
      background: var(--gold-mid);
    }

    .feedback-head .section-h2 {
      margin-bottom: 1rem;
    }

    .feedback-head .body-text {
      max-width: 100%;
      margin: 0 auto;
    }

    .feedback-marquee {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      gap: 1.6rem;
      mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
      -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
    }

    .feedback-row {
      display: flex;
      width: max-content;
      gap: 1.6rem;
      animation: feedbackScrollLeft 52s linear infinite;
    }

    .feedback-row.reverse {
      animation-name: feedbackScrollRight;
      animation-duration: 60s;
    }

    .feedback-marquee:hover .feedback-row {
      animation-play-state: paused;
    }

    @keyframes feedbackScrollLeft {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }

    @keyframes feedbackScrollRight {
      from { transform: translateX(-50%); }
      to { transform: translateX(0); }
    }

    .fb-card {
      position: relative;
      flex: 0 0 auto;
      width: 340px;
      background: linear-gradient(160deg, var(--panel) 0%, var(--card) 100%);
      border: 1px solid var(--gold-dim);
      border-radius: 4px;
      padding: 2.1rem 2rem 1.8rem;
      display: flex;
      flex-direction: column;
      gap: 1.1rem;
      transition: transform 0.5s var(--ease), border-color 0.5s var(--ease), box-shadow 0.5s var(--ease);
    }

    .fb-card:hover {
      transform: translateY(-8px);
      border-color: var(--gold-mid);
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(201, 169, 122, 0.15);
    }

    .fb-quote-mark {
      font-family: var(--serif);
      font-size: 3.2rem;
      line-height: 1;
      color: var(--gold);
      opacity: 0.55;
      height: 2rem;
    }

    .fb-stars {
      display: flex;
      gap: 0.3rem;
    }

    .fb-stars span {
      color: var(--gold);
      font-size: 0.72rem;
      letter-spacing: 0.1em;
    }

    .fb-text {
      font-family: var(--serif);
      font-size: 1.08rem;
      font-weight: 400;
      font-style: italic;
      line-height: 1.65;
      color: var(--cream);
      flex-grow: 1;
    }

    .fb-footer {
      display: flex;
      align-items: center;
      gap: 0.9rem;
      padding-top: 1rem;
      border-top: 1px solid rgba(201, 169, 122, 0.12);
    }

    .fb-avatar {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--serif);
      font-size: 0.95rem;
      color: var(--black);
      background: linear-gradient(135deg, var(--gold-bright), var(--rose));
    }

    .fb-meta {
      display: flex;
      flex-direction: column;
      gap: 0.15rem;
    }

    .fb-name {
      font-size: 0.82rem;
      color: var(--white);
      font-weight: 500;
    }

    .fb-tag {
      font-size: 0.68rem;
      letter-spacing: 0.05em;
      color: var(--slate);
    }

    @media (max-width: 640px) {
      .fb-card { width: 280px; padding: 1.7rem 1.5rem 1.5rem; }
      .feedback-row { gap: 1.1rem; }
      .feedback-marquee { gap: 1.1rem; }
    }

    /* ════════ CONTACT ════════ */
    .contact-wrap {
      display: grid;
      grid-template-columns: 1fr 1fr
    }

    .contact-left {
      background: var(--panel);
      padding: 8rem 6rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
      position: relative;
      overflow: hidden;
    }

    .contact-left::before {
      content: '';
      position: absolute;
      bottom: -100px;
      left: -100px;
      width: 400px;
      height: 400px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(201, 169, 122, 0.05) 0%, transparent 70%);
      pointer-events: none;
    }

    .contact-right {
      background: var(--card);
      padding: 8rem 6rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .contact-items {
      margin-top: 3rem;
      display: flex;
      flex-direction: column;
      gap: 0.9rem
    }

    .contact-item {
      display: flex;
      align-items: center;
      gap: 1.1rem;
      padding: 0.9rem 1rem;
      border: 1px solid transparent;
      border-radius: 2px;
      position: relative;
      overflow: hidden;
      transition: border-color 0.45s ease, background 0.45s ease, transform 0.35s ease;
    }

    .contact-item::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(201, 169, 122, 0.08), transparent 70%);
      transform: translateX(-100%);
      transition: transform 0.5s ease;
    }

    .contact-item:hover {
      border-color: var(--gold-dim);
      background: rgba(201, 169, 122, 0.03);
      transform: translateX(6px);
    }

    .contact-item:hover::before {
      transform: translateX(0);
    }

    .contact-icon {
      width: 40px;
      height: 40px;
      border: 1px solid var(--gold-dim);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      background: rgba(201, 169, 122, 0.04);
      position: relative;
      z-index: 1;
      transition: background 0.4s ease, border-color 0.4s ease, transform 0.45s cubic-bezier(.34,1.56,.64,1);
    }

    .contact-icon svg {
      transition: stroke 0.4s ease;
    }

    .contact-item:hover .contact-icon {
      background: var(--gold);
      border-color: var(--gold);
      transform: scale(1.08) rotate(-6deg);
      box-shadow: 0 6px 18px rgba(201, 169, 122, 0.28);
    }

    .contact-item:hover .contact-icon svg {
      stroke: #101014;
    }

    .contact-val {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      gap: 0.15rem;
    }

    .contact-label {
      font-size: 0.62rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--muted);
      transition: color 0.35s ease;
    }

    .contact-item:hover .contact-label {
      color: var(--gold);
    }

    .contact-val span {
      color: var(--slate);
      font-size: 0.86rem;
      display: inline-block;
      border-bottom: 1px solid transparent;
      padding-bottom: 1px;
      transition: color 0.3s, border-color 0.3s;
    }

    .contact-item:hover .contact-val span {
      color: var(--gold);
      border-color: var(--gold)
    }

    .contact-arrow {
      margin-left: auto;
      position: relative;
      z-index: 1;
      opacity: 0;
      transform: translateX(-8px);
      transition: opacity 0.4s ease, transform 0.4s ease;
      color: var(--gold);
      flex-shrink: 0;
    }

    .contact-item:hover .contact-arrow {
      opacity: 1;
      transform: translateX(0);
    }

    .contact-note {
      margin-top: 2.5rem;
      padding-top: 2.5rem;
      border-top: 1px solid var(--gold-dim);
      font-size: 0.78rem;
      color: var(--muted);
      line-height: 1.7;
    }

    /* Form */
    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem
    }

    .fg {
      margin-bottom: 1.3rem
    }

    .fg label {
      display: block;
      font-size: 0.62rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 0.55rem;
    }

    .fg input,
    .fg textarea,
    .fg select {
      width: 100%;
      background: rgba(255, 255, 255, 0.02);
      border: 1px solid rgba(201, 169, 122, 0.15);
      border-bottom: 1px solid rgba(201, 169, 122, 0.25);
      color: var(--cream);
      padding: 0.85rem 1rem;
      font-family: var(--sans);
      font-size: 0.85rem;
      font-weight: 300;
      outline: none;
      border-radius: 0;
      -webkit-appearance: none;
      appearance: none;
      transition: border-color 0.3s, background 0.3s;
    }

    .fg input:focus,
    .fg textarea:focus,
    .fg select:focus {
      border-color: var(--gold);
      background: rgba(201, 169, 122, 0.03);
    }

    .fg textarea {
      resize: vertical;
      min-height: 100px
    }

    .fg select option {
      background: var(--card)
    }

    .fg-check {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      margin-bottom: 1.8rem
    }

    .fg-check input {
      width: auto;
      margin-top: 3px;
      accent-color: var(--gold)
    }

    .fg-check span {
      font-size: 0.78rem;
      color: var(--muted);
      line-height: 1.6
    }

    /* ════════ FOOTER ════════ */
    footer {
      background: var(--black);
      border-top: 1px solid var(--gold-dim);
      padding: 3rem 3.5rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 1.5rem;
    }

    .footer-brand {
      font-family: var(--serif);
      font-size: 1.05rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--gold)
    }

    .footer-tagline {
      font-size: 0.6rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--muted);
      margin-top: 0.3rem
    }

    .footer-links {
      display: flex;
      gap: 2.2rem
    }

    .footer-links a {
      font-size: 0.65rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--muted);
      text-decoration: none;
      transition: color 0.3s
    }

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

    .footer-copy {
      font-size: 0.62rem;
      color: rgba(92, 96, 106, 0.5)
    }

    /* ════════ REVEAL ANIMATIONS ════════ */
    .reveal {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity 0.9s var(--ease), transform 0.9s var(--ease)
    }

    .reveal.in {
      opacity: 1;
      transform: translateY(0)
    }

    .reveal-left {
      opacity: 0;
      transform: translateX(-30px);
      transition: opacity 0.9s var(--ease), transform 0.9s var(--ease)
    }

    .reveal-left.in {
      opacity: 1;
      transform: translateX(0)
    }

    .reveal-right {
      opacity: 0;
      transform: translateX(30px);
      transition: opacity 0.9s var(--ease), transform 0.9s var(--ease)
    }

    .reveal-right.in {
      opacity: 1;
      transform: translateX(0)
    }

    .approach-visual.reveal-right {
      opacity: 0;
      transform: translateX(40px);
      transition: opacity 0.9s var(--ease), transform 0.9s var(--ease);
    }

    .approach-visual.reveal-right.in {
      opacity: 1;
      transform: translateX(0);
    }

    /* ════════ SCROLL PROGRESS BAR ════════ */
    .scroll-progress {
      position: fixed;
      top: 0;
      left: 0;
      height: 3px;
      width: 100%;
      transform: scaleX(0);
      transform-origin: left;
      background: linear-gradient(to right, var(--gold), var(--rose));
      z-index: 999;
      box-shadow: 0 0 10px rgba(201, 169, 122, 0.5);
    }

    /* ════════ BACK TO TOP ════════ */
    .back-to-top {
      position: fixed;
      bottom: 2.2rem;
      right: 2.2rem;
      width: 46px;
      height: 46px;
      border-radius: 50%;
      background: rgba(6, 6, 10, 0.85);
      border: 1px solid var(--gold-mid);
      backdrop-filter: blur(8px);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 150;
      opacity: 0;
      transform: translateY(16px) scale(0.9);
      pointer-events: none;
      transition: opacity 0.35s var(--ease), transform 0.35s var(--ease), border-color 0.3s, box-shadow 0.3s;
    }

    .back-to-top.show {
      opacity: 1;
      transform: translateY(0) scale(1);
      pointer-events: auto;
    }

    .back-to-top:hover {
      border-color: var(--gold);
      box-shadow: 0 8px 26px rgba(201, 169, 122, 0.3);
      transform: translateY(-4px) scale(1.04);
    }

    .back-to-top svg {
      width: 16px;
      height: 16px;
      stroke: var(--gold);
      transition: transform 0.3s var(--ease);
    }

    .back-to-top:hover svg {
      transform: translateY(-2px);
    }

    @media (max-width: 640px) {
      .back-to-top {
        bottom: 1.4rem;
        right: 1.4rem;
        width: 40px;
        height: 40px;
      }
    }

    /* ════════ PRICING CTA + CARD HOVER ════════ */
    .pricing-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.8rem;
      background: transparent;
      border: none;
      margin-top: 2rem;
      width: 100%;
    }

    @media (max-width: 1100px) and (min-width: 700px) {
      .pricing-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem !important;
      }
    }

    @media (max-width: 699px) {
      .pricing-grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
      }
    }

    .pricing-card {
      position: relative;
      background: rgba(10, 10, 15, 0.45);
      backdrop-filter: blur(24px) saturate(180%);
      -webkit-backdrop-filter: blur(24px) saturate(180%);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 28px;
      padding: 3rem 2rem 2.5rem;
      display: flex;
      flex-direction: column;
      min-height: 520px;
      box-shadow: 
        inset 0 1px 1.5px rgba(255, 255, 255, 0.15), 
        0 20px 50px rgba(0, 0, 0, 0.5);
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s;
      will-change: transform, box-shadow;
    }

    .pricing-card:hover {
      transform: translateY(-8px);
      box-shadow: 
        0 30px 60px rgba(0, 0, 0, 0.6), 
        0 0 40px rgba(201, 169, 122, 0.08), 
        inset 0 1px 1.5px rgba(255, 255, 255, 0.22);
      border-color: rgba(201, 169, 122, 0.25);
    }

    .pricing-card-edge {
      position: absolute;
      top: -1px;
      left: 35px;
      width: 75px;
      height: 2px;
      background: #C9A97A;
      box-shadow: 0 0 12px #C9A97A, 0 0 4px #C9A97A;
      border-radius: 2px;
      pointer-events: none;
    }

    .pricing-card.pricing-popular {
      border: 1px solid rgba(201, 169, 122, 0.5);
      box-shadow: 
        0 0 35px rgba(201, 169, 122, 0.08), 
        0 25px 60px rgba(0, 0, 0, 0.65), 
        inset 0 1px 2px rgba(255, 255, 255, 0.2);
    }

    .pricing-popular-badge {
      position: absolute;
      top: 2rem;
      right: 2rem;
      background: #C9A97A;
      color: #06060A;
      font-family: 'Inter', sans-serif;
      font-size: 0.6rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 0.45rem 1.2rem;
      border-radius: 50px;
      box-shadow: 
        0 4px 15px rgba(201, 169, 122, 0.35), 
        0 0 12px rgba(201, 169, 122, 0.2);
    }

    .pricing-number {
      font-size: 0.7rem;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: #8A909C;
      margin-bottom: 2rem;
    }

    .pricing-name {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: 1.55rem;
      font-weight: 300;
      color: #FAFAF8;
      margin-bottom: 0.5rem;
      line-height: 1.25;
    }

    .pricing-meta {
      font-family: 'Inter', sans-serif;
      font-size: 0.8rem;
      color: #8A909C;
      margin-bottom: 2.2rem;
    }

    .pricing-rate {
      margin-bottom: 2.5rem;
      display: flex;
      align-items: baseline;
    }

    .pricing-currency {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: 3.2rem;
      font-weight: 300;
      color: var(--gold);
      line-height: 1;
    }

    .pricing-label {
      font-family: 'Inter', sans-serif;
      font-size: 0.72rem;
      color: #8A909C;
      letter-spacing: 0.1em;
      margin-left: 0.6rem;
    }

    .pricing-features {
      list-style: none;
      margin: 0 0 3rem;
      flex: 1;
      padding: 0;
    }

    .pricing-features li {
      font-family: 'Inter', sans-serif;
      font-size: 0.82rem;
      color: #A0A5B0;
      padding: 0.7rem 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.03);
      display: flex;
      align-items: center;
      gap: 0.8rem;
    }

    .pricing-features li:last-child {
      border-bottom: none;
    }

    .pricing-features li span {
      color: var(--gold);
      font-size: 0.85rem;
    }

    .pricing-cta {
      display: block;
      text-align: center;
      padding: 1.1rem 1.5rem;
      background: #C9A97A;
      color: #06060A;
      font-family: 'Inter', sans-serif;
      font-size: 0.72rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      font-weight: 700;
      border-radius: 50px;
      box-shadow: 0 6px 20px rgba(201, 169, 122, 0.25);
      transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .pricing-cta:hover {
      background: #D6B88B;
      box-shadow: 
        0 8px 25px rgba(201, 169, 122, 0.45), 
        0 0 15px rgba(201, 169, 122, 0.15);
      transform: translateY(-2px);
    }

    .pricing-cta:active {
      transform: translateY(0) scale(0.98);
    }

    /* ════════ IMAGE HOVER POLISH ════════ */
    .about-photo-frame,
    .coaching-visual,
    .approach-visual {
      transition: box-shadow 0.5s var(--ease);
    }

    .about-photo-frame:hover,
    .coaching-visual:hover,
    .approach-visual:hover {
      box-shadow: 0 30px 70px rgba(0, 0, 0, 0.4);
    }

    /* Stagger delays */
    .d1 {
      transition-delay: 0.05s
    }

    .d2 {
      transition-delay: 0.15s
    }

    .d3 {
      transition-delay: 0.25s
    }

    .d4 {
      transition-delay: 0.35s
    }

    .d5 {
      transition-delay: 0.45s
    }

    .d6 {
      transition-delay: 0.55s
    }

    /* ════════ KEYFRAMES ════════ */
    @keyframes fadeUp {
      from {
        opacity: 0;
        transform: translateY(24px)
      }

      to {
        opacity: 1;
        transform: translateY(0)
      }
    }

    @keyframes fadeIn {
      from {
        opacity: 0
      }

      to {
        opacity: 1
      }
    }

    @keyframes pulse {

      0%,
      100% {
        opacity: 1
      }

      50% {
        opacity: 0.4
      }
    }

    @keyframes scrollDown {
      0% {
        transform: scaleY(1);
        transform-origin: top
      }

      50% {
        transform: scaleY(0.5);
        transform-origin: top
      }

      50.001% {
        transform: scaleY(0.5);
        transform-origin: bottom
      }

      100% {
        transform: scaleY(1);
        transform-origin: bottom
      }
    }

    @keyframes ringBreath {

      0%,
      100% {
        transform: scale(1);
        opacity: 0.6
      }

      50% {
        transform: scale(1.03);
        opacity: 1
      }
    }

    @keyframes marqueeScroll {
      from {
        transform: translateX(0)
      }

      to {
        transform: translateX(-50%)
      }
    }

    @keyframes orbPulse {

      0%,
      100% {
        r: 280;
        opacity: 0.5
      }

      50% {
        r: 310;
        opacity: 0.72
      }
    }

    @keyframes orbPulse2 {

      0%,
      100% {
        r: 180;
        opacity: 0.28
      }

      50% {
        r: 205;
        opacity: 0.45
      }
    }

    @keyframes orbRing {

      0%,
      100% {
        r: 390;
        opacity: 0.05
      }

      50% {
        r: 420;
        opacity: 0.1
      }
    }

    /* ════════ RESPONSIVE ════════ */
    @media(max-width:1280px) {
      /* ── Intermediate desktop: stack split-column sections ── */

      /* Nav: tighten link gap at intermediate widths */
      nav {
        padding: 0.8rem 2rem 0.6rem;
      }

      .nav-links {
        gap: 1.8rem;
      }

      /* About section */
      .about-wrap {
        grid-template-columns: 1fr;
      }

      .about-visual-col {
        height: 55vw;
        min-height: 280px;
        max-height: none;
      }

      .about-text-col {
        padding: 4rem 3rem;
      }

      .about-stats {
        grid-template-columns: repeat(2, 1fr);
      }

      .cred-badge {
        max-width: none;
      }

      /* Coaching section */
      .coaching-wrap {
        grid-template-columns: 1fr;
        padding: 0;
        gap: 0;
      }

      .coaching-visual {
        min-height: 45vw;
      }

      .coaching-text {
        padding: 4rem 3rem;
      }

      /* Approach section */
      .approach-wrap {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 0;
        overflow: hidden;
      }

      .approach-visual,
      .approach-text {
        grid-column: 1;
      }

      .approach-visual {
        max-height: 55vw;
      }

      .approach-text {
        padding: 4rem 3rem 0;
        max-width: none;
      }

      .approach-intro {
        grid-template-columns: 1fr;
      }

      .approach-pillars {
        grid-template-columns: 1fr 1fr;
        margin-top: 2rem;
      }

      /* Services */
      .services-grid {
        grid-template-columns: 1fr 1fr;
      }

      .svc-card-wide {
        grid-template-columns: auto 1fr;
        grid-column: span 2;
      }

      /* Contact */
      .contact-wrap {
        grid-template-columns: 1fr;
      }

      .contact-left {
        padding: 5rem 3rem 3rem;
      }

      .contact-right {
        padding: 3rem;
      }
    }

    @media(max-width:768px) {
      nav {
        padding: 0 1.5rem
      }

      .nav-links {
        display: none
      }

      .hero-h1 {
        font-size: clamp(2.8rem, 10vw, 5rem)
      }

      .services-inner {
        padding: 0 1.5rem
      }

      .services-grid {
        grid-template-columns: 1fr
      }

      .svc-card-wide {
        grid-column: 1/-1;
        grid-template-columns: auto 1fr;
        display: flex;
        flex-direction: column;
        gap: 1rem
      }

      .cred-badge {
        flex-wrap: wrap;
        row-gap: 0.6rem;
        padding: 1rem 1.2rem;
      }

      .cred-badge-divider {
        display: none;
      }

      footer {
        flex-direction: column;
        text-align: center;
        padding: 2.5rem 1.5rem
      }
    }

    @media(prefers-reduced-motion:reduce) {

      *,
      *::before,
      *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important
      }
    }

    /* ════════ BOOKING OVERLAY (keep existing styles, just ensure dark theme) ════════ */

    /* ── PRICING ── */

    /* ════════════════════════════════════════
   HAMBURGER & MOBILE NAV
════════════════════════════════════════ */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 5px;
      width: 40px;
      height: 40px;
      background: none;
      border: none;
      cursor: pointer;
      padding: 4px;
      z-index: 201;
    }

    .nav-hamburger span {
      display: block;
      width: 24px;
      height: 1.5px;
      background: var(--cream);
      border-radius: 2px;
      transition: all 0.35s var(--ease);
      transform-origin: center;
    }

    .nav-hamburger.open span:nth-child(1) {
      transform: translateY(6.5px) rotate(45deg);
    }

    .nav-hamburger.open span:nth-child(2) {
      opacity: 0;
      transform: scaleX(0);
    }

    .nav-hamburger.open span:nth-child(3) {
      transform: translateY(-6.5px) rotate(-45deg);
    }

    .mobile-nav {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 190;
      background: rgba(6, 6, 10, 0.98);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 6rem 2.5rem 3rem;
      opacity: 0;
      transform: translateY(-12px);
      transition: opacity 0.4s var(--ease), transform 0.4s var(--ease);
    }

    .mobile-nav.open {
      display: flex;
      opacity: 1;
      transform: translateY(0);
    }

    .mobile-nav ul {
      list-style: none;
      width: 100%;
      text-align: center;
    }

    .mobile-nav ul li {
      border-bottom: 1px solid rgba(201, 169, 122, 0.1);
    }

    .mobile-nav ul li:first-child {
      border-top: 1px solid rgba(201, 169, 122, 0.1);
    }

    .mobile-nav ul li a {
      display: block;
      padding: 1.2rem 0;
      font-family: var(--serif);
      font-size: 2rem;
      font-weight: 300;
      color: var(--cream);
      text-decoration: none;
      letter-spacing: 0.05em;
      transition: color 0.3s;
    }

    .mobile-nav ul li a:hover {
      color: var(--gold);
    }

    /* ════════════════════════════════════════
   RESPONSIVE BREAKPOINTS — FULL OVERHAUL
════════════════════════════════════════ */

    /* ── Tablet: ≤ 1024px ── */
    @media(max-width:1024px) {

      /* About */
      .about-wrap {
        grid-template-columns: 1fr;
      }

      .about-visual-col {
        height: 65vw;
        min-height: 300px;
      }

      .about-text-col {
        padding: 4rem 3rem;
      }

      .about-stats {
        grid-template-columns: repeat(2, 1fr);
      }

      /* Coaching split */
      .coaching-wrap {
        grid-template-columns: 1fr;
        padding: 0;
        gap: 0;
      }

      .coaching-visual {
        min-height: 45vw;
      }

      .coaching-text {
        padding: 4rem 3rem;
      }

      /* Approach */
      .approach-wrap {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 0;
        overflow: hidden;
      }

      .approach-visual,
      .approach-text {
        grid-column: 1;
      }

      .approach-visual {
        max-height: 65vw;
      }

      .approach-text {
        padding: 4rem 3rem 0;
        max-width: none;
      }

      .approach-pillars {
        grid-template-columns: 1fr 1fr;
        margin-top: 2rem;
      }

      .approach-inner {
        padding: 0 2.5rem;
      }

      .approach-photo {
        aspect-ratio: 1346/792;
        max-height: 280px;
      }

      /* Services */
      .services-inner {
        padding: 0 2.5rem;
      }

      .services-grid {
        grid-template-columns: 1fr 1fr;
      }

      /* Contact */
      .contact-wrap {
        grid-template-columns: 1fr;
      }

      .contact-left {
        padding: 5rem 3rem 3rem;
      }

      .contact-right {
        padding: 3rem;
      }

      /* Pricing grid */
      .pricing-grid {
        grid-template-columns: repeat(2, 1fr) !important;
      }

      /* Hero */
      .hero {
        padding: 8rem 2rem 6rem;
      }
    }

    /* ── Mobile: ≤ 768px ── */
    @media(max-width:768px) {

      /* Nav */
      nav {
        padding: 0.5rem 1.2rem;
        height: 72px;
      }

      .nav-links {
        display: none;
      }

      .nav-hamburger {
        display: flex;
      }

      .nav-logo img {
        height: 48px;
      }

      /* Hero */
      .hero {
        padding: 7rem 1.5rem 5rem;
        text-align: center;
      }

      .hero-h1 {
        font-size: clamp(2.4rem, 9vw, 4rem);
        letter-spacing: -0.01em;
      }

      .hero-h1 .line2 {
        font-size: 0.7em;
      }

      .hero-sub {
        font-size: 0.88rem;
        margin-top: 1.5rem;
      }

      .hero-actions {
        flex-direction: column;
        align-items: center;
        gap: 0.85rem;
        margin-top: 2.2rem;
      }

      .hero-actions .btn-gold,
      .hero-actions .btn-outline {
        width: 100%;
        max-width: 320px;
        text-align: center;
      }

      .hero-orb {
        width: min(400px, 90vw);
        height: min(400px, 90vw);
      }

      .hero-tag {
        font-size: 0.58rem;
      }

      /* About */
      .about-visual-col {
        height: 80vw;
      }

      .about-text-col {
        padding: 3rem 1.5rem;
      }

      .hi-liz {
        font-size: clamp(2.2rem, 8vw, 3.5rem);
      }

      .about-stats {
        grid-template-columns: 1fr 1fr;
        gap: 1.2rem;
        margin-top: 2rem;
        padding-top: 2rem;
      }

      .stat-val {
        font-size: 2rem;
      }

      /* Services */
      .services-wrap {
        padding: 5rem 0 0;
      }

      .services-inner {
        padding: 0 1.5rem;
      }

      .services-head {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 2.5rem;
        gap: 1.2rem;
      }

      .services-grid {
        grid-template-columns: 1fr;
      }

      .svc-card {
        padding: 2rem 1.8rem;
      }

      /* Coaching */
      .coaching-visual {
        min-height: 55vw;
      }

      .coaching-text {
        padding: 3rem 1.5rem;
      }

      .coaching-quote p {
        font-size: 1.2rem;
      }

      /* Approach */
      .approach-wrap {
        padding: 5rem 0;
        grid-template-columns: 1fr;
        gap: 2rem;
        overflow: hidden;
      }

      .approach-visual,
      .approach-text {
        grid-column: 1;
      }

      .approach-text {
        padding: 0 1.5rem;
        max-width: none;
      }

      .approach-visual {
        max-height: none;
        aspect-ratio: 16 / 10;
      }

      .approach-inner {
        padding: 0 1.5rem;
      }

      .approach-intro {
        gap: 2rem;
      }

      .approach-photo {
        aspect-ratio: 16/9;
      }

      .approach-pillars {
        grid-template-columns: 1fr;
        margin-top: 2rem;
      }

      .pillar {
        padding: 2.2rem 1.8rem;
      }

      .pillar-num {
        font-size: 4rem;
      }

      /* Testimonial */
      .testi-band {
        padding: 3.5rem 1.5rem;
      }

      .testi-q {
        font-size: clamp(0.9rem, 3.5vw, 1.2rem) !important;
        white-space: normal !important;
        overflow: visible !important;
      }

      /* Pricing */
      .pricing-grid {
        grid-template-columns: 1fr !important;
      }

      #pricing>div {
        padding: 0 1.5rem;
      }

      /* Notes row below pricing */
      #pricing .reveal[style*="grid-template-columns:1fr 1fr"] {
        grid-template-columns: 1fr !important;
      }

      /* Contact */
      .contact-left {
        padding: 3.5rem 1.5rem 2rem;
      }

      .contact-right {
        padding: 2rem 1.5rem 3.5rem;
      }

      .section-h2 {
        font-size: clamp(2rem, 7vw, 3rem);
      }

      /* Form */
      .form-row,
      .bk-row {
        grid-template-columns: 1fr;
      }

      /* Footer */
      footer {
        flex-direction: column;
        text-align: center;
        padding: 2.5rem 1.5rem;
        gap: 1.2rem;
      }

      .footer-links {
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.2rem;
      }

      /* Booking overlay */
      .bk-row {
        grid-template-columns: 1fr;
      }

      .bk-wrap {
        padding: 4rem 1.2rem 3rem;
      }

      .bk-heading {
        font-size: 2.2rem;
      }
    }

    /* ── Small mobile: ≤ 480px ── */
    @media(max-width:480px) {
      .hero-h1 {
        font-size: clamp(2rem, 10vw, 3rem);
      }

      .hero-actions .btn-gold,
      .hero-actions .btn-outline {
        padding: 0.95rem 1.5rem;
      }

      .about-visual-col {
        height: 90vw;
      }

      .about-stats {
        grid-template-columns: 1fr 1fr;
      }

      .coaching-visual {
        min-height: 60vw;
      }

      .testi-band {
        padding: 2.5rem 1.2rem;
      }

      .testi-q {
        font-size: 0.88rem !important;
      }

      .contact-left,
      .contact-right {
        padding: 2.5rem 1.2rem;
      }

      #pricing>div {
        padding: 0 1.2rem;
      }

      .pillar-title {
        font-size: 1.3rem;
      }

      .section-h2 {
        font-size: clamp(1.8rem, 8vw, 2.5rem);
      }

      .svc-name {
        font-size: 1.2rem;
      }

      nav {
        height: 58px;
      }

      .nav-logo img {
        height: 38px;
      }
    }

    /* ── Fix pricing notes row on mobile ── */
    @media(max-width:768px) {
      [style*="grid-template-columns:1fr 1fr"][style*="gap:1.5rem"] {
        grid-template-columns: 1fr !important;
      }
    }
    /* ── GOLDEN SPARKLE SHOWER ── */
    #goldSparkleCanvas {
      position: fixed;
      inset: 0;
      width: 100%;
      height: 100%;
      z-index: 150;
      pointer-events: none;
      mix-blend-mode: screen;
      opacity: 0.7;
    }

    @media (prefers-reduced-motion: reduce) {
      #goldSparkleCanvas { display: none; }
    }

    /* ═══════════════════════════════════════════════════════════
       PREMIUM ENHANCEMENT LAYER
       Glassmorphism · Cinematic hero · Depth & lighting ·
       Micro-interactions · Immersive scroll
       ═══════════════════════════════════════════════════════════ */

    :root {
      --glass-fill: linear-gradient(155deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.015) 45%, rgba(255, 255, 255, 0.03) 100%);
      --glass-border: rgba(255, 255, 255, 0.09);
      --glass-shadow: 0 20px 50px rgba(0, 0, 0, 0.4), 0 2px 8px rgba(0, 0, 0, 0.25);
      --glass-inset: inset 0 1px 0 rgba(255, 255, 255, 0.12), inset 0 0 60px rgba(201, 169, 122, 0.035);
    }

    /* ── Cinematic film grain, sits above everything, blocks nothing ── */
    .cine-grain {
      position: fixed;
      inset: 0;
      z-index: 151;
      pointer-events: none;
      opacity: 0.04;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    }

    @media (prefers-reduced-motion: reduce) {
      .cine-grain { display: none; }
    }

    /* ── NAV: real glass ── */
    nav#mainNav {
      background: linear-gradient(to bottom, rgba(9, 9, 13, 0.5) 0%, rgba(9, 9, 13, 0.28) 72%, transparent 100%);
      backdrop-filter: blur(18px) saturate(160%);
      -webkit-backdrop-filter: blur(18px) saturate(160%);
      border-bottom: 1px solid rgba(255, 255, 255, 0.05);
      box-shadow: inset 0 -1px 0 rgba(201, 169, 122, 0.04);
      transition: background 0.5s var(--ease), border-color 0.5s var(--ease), box-shadow 0.5s var(--ease);
    }

    nav#mainNav.nav-scrolled {
      background: linear-gradient(to bottom, rgba(7, 7, 11, 0.82) 0%, rgba(7, 7, 11, 0.68) 100%);
      backdrop-filter: blur(22px) saturate(170%);
      -webkit-backdrop-filter: blur(22px) saturate(170%);
      border-bottom-color: rgba(201, 169, 122, 0.14);
      box-shadow: inset 0 -1px 0 rgba(201, 169, 122, 0.09), 0 12px 34px rgba(0, 0, 0, 0.35);
    }

    /* ── HERO: cinematic layered light ── */
    .hero-bg {
      background:
        radial-gradient(ellipse 65% 50% at 30% 20%, rgba(201, 169, 122, 0.09) 0%, transparent 65%),
        radial-gradient(ellipse 55% 45% at 75% 75%, rgba(196, 144, 138, 0.07) 0%, transparent 68%),
        radial-gradient(ellipse 70% 55% at 50% 48%, rgba(201, 169, 122, 0.07) 0%, transparent 70%),
        radial-gradient(ellipse 40% 35% at 50% 52%, rgba(196, 144, 138, 0.05) 0%, transparent 60%),
        radial-gradient(ellipse 100% 90% at 50% 50%, rgba(201, 169, 122, 0.03) 0%, transparent 100%);
    }

    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background: linear-gradient(180deg, rgba(6, 6, 10, 0) 0%, rgba(6, 6, 10, 0) 60%, var(--black) 100%);
    }

    .hero-glow {
      position: absolute;
      z-index: 0;
      pointer-events: none;
      border-radius: 50%;
      filter: blur(70px);
      opacity: 0;
      animation: heroGlowIn 2.2s var(--ease) forwards, heroFloat 12s ease-in-out infinite;
      will-change: transform;
    }

    .hero-glow.a {
      width: 380px;
      height: 380px;
      top: 8%;
      left: 6%;
      background: radial-gradient(circle, rgba(201, 169, 122, 0.16) 0%, transparent 72%);
      animation-delay: 0.2s, 0.2s;
    }

    .hero-glow.b {
      width: 300px;
      height: 300px;
      bottom: 6%;
      right: 8%;
      background: radial-gradient(circle, rgba(196, 144, 138, 0.14) 0%, transparent 72%);
      animation-delay: 0.5s, 2s;
      animation-duration: 2.2s, 14s;
    }

    .hero-glow.c {
      width: 220px;
      height: 220px;
      top: 55%;
      left: 78%;
      background: radial-gradient(circle, rgba(201, 169, 122, 0.1) 0%, transparent 72%);
      animation-delay: 0.8s, 1s;
      animation-duration: 2.2s, 10s;
    }

    @keyframes heroGlowIn {
      to { opacity: 1; }
    }

    @keyframes heroFloat {
      0%, 100% { transform: translate(0, 0) scale(1); }
      50% { transform: translate(18px, -22px) scale(1.08); }
    }

    @media (prefers-reduced-motion: reduce) {
      .hero-glow { animation: heroGlowIn 1s forwards; }
    }

    .hero-h1 {
      text-shadow: 0 0 60px rgba(201, 169, 122, 0.18);
    }

    .hero-tag {
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: var(--glass-inset);
    }

    .hero,
    .hero-tag,
    .hero-h1,
    .hero-sub,
    .hero-actions,
    .hero-scroll {
      will-change: transform;
    }

    .hero-actions {
      opacity: 0;
      animation: fadeUp 1s 1.1s var(--ease) forwards;
    }

    .hero-scroll {
      animation: fadeIn 1s 1.8s forwards;
    }

    /* ── Glass treatment: cards, badges, quotes, panels ── */
    .svc-card,
    .svc-card-wide,
    .fb-card,
    .pillar,
    .cred-badge,
    .coaching-quote,
    .contact-item,
    .fg input,
    .fg textarea,
    .fg select {
      background-image: var(--glass-fill);
      backdrop-filter: blur(18px) saturate(140%);
      -webkit-backdrop-filter: blur(18px) saturate(140%);
      box-shadow: var(--glass-inset);
    }

    .svc-card,
    .fb-card,
    .pillar {
      border: 1px solid var(--glass-border);
      transform-style: preserve-3d;
      transition: background 0.4s var(--ease), transform 0.4s var(--ease), box-shadow 0.4s var(--ease), border-color 0.4s var(--ease), filter 0.4s var(--ease);
    }

    .svc-card:hover,
    .fb-card:hover,
    .pillar:hover {
      border-color: rgba(201, 169, 122, 0.3);
      box-shadow: var(--glass-inset), var(--glass-shadow), 0 0 44px rgba(201, 169, 122, 0.1);
    }

    /* Edge highlight sheen sweeping on hover */
    .svc-card,
    .fb-card,
    .pillar,
    .about-photo-frame,
    .coaching-visual,
    .approach-visual {
      isolation: isolate;
    }

    .fb-card::before,
    .pillar::before,
    .cred-badge::before {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 0;
      background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.06) 48%, transparent 66%);
      background-size: 220% 220%;
      background-position: -140% -140%;
      opacity: 0;
      transition: opacity 0.3s, background-position 0.9s var(--ease);
      pointer-events: none;
    }

    .fb-card:hover::before,
    .pillar:hover::before,
    .cred-badge:hover::before {
      opacity: 1;
      background-position: 140% 140%;
    }

    .about-photo-frame,
    .coaching-visual,
    .approach-visual {
      box-shadow: var(--glass-inset), 0 20px 60px rgba(0, 0, 0, 0.35);
      border: 1px solid var(--glass-border);
      transition: box-shadow 0.5s var(--ease), transform 0.5s var(--ease);
    }

    /* ── Buttons: glass sheen + magnetic-ready ── */
    .btn-outline {
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      background: rgba(255, 255, 255, 0.02);
    }

    .btn-gold,
    .btn-outline {
      will-change: transform;
    }

    .btn-gold:hover {
      box-shadow: 0 18px 46px rgba(201, 169, 122, 0.35), 0 0 30px rgba(201, 169, 122, 0.18);
    }

    .btn-outline:hover {
      box-shadow: 0 14px 34px rgba(201, 169, 122, 0.14);
      background: rgba(201, 169, 122, 0.04);
    }

    /* ── Ambient section lighting: layered glow blobs behind content ── */
    .services-wrap,
    .coaching-wrap,
    .approach-wrap,
    .contact-wrap,
    .feedback-wall,
    .about-wrap {
      position: relative;
    }

    .services-wrap::before,
    .coaching-wrap::before,
    .approach-wrap::before,
    .feedback-wall::before,
    .about-wrap::before {
      content: '';
      position: absolute;
      z-index: 0;
      pointer-events: none;
      border-radius: 50%;
      filter: blur(90px);
    }

    .services-wrap::before {
      width: 46%;
      max-width: 620px;
      height: 420px;
      top: -6%;
      right: -6%;
      background: radial-gradient(circle, rgba(201, 169, 122, 0.055) 0%, transparent 72%);
    }

    .about-wrap::before {
      width: 40%;
      max-width: 520px;
      height: 400px;
      top: 10%;
      left: -8%;
      background: radial-gradient(circle, rgba(196, 144, 138, 0.05) 0%, transparent 72%);
    }

    .coaching-wrap::before {
      width: 42%;
      max-width: 540px;
      height: 420px;
      bottom: -8%;
      right: 4%;
      background: radial-gradient(circle, rgba(201, 169, 122, 0.06) 0%, transparent 72%);
    }

    .approach-wrap::before {
      width: 40%;
      max-width: 500px;
      height: 400px;
      top: -4%;
      left: 8%;
      background: radial-gradient(circle, rgba(201, 169, 122, 0.055) 0%, transparent 72%);
    }

    .services-inner,
    .about-visual-col,
    .about-text-col,
    .coaching-visual,
    .coaching-text,
    .approach-text,
    .approach-visual {
      position: relative;
      z-index: 1;
    }

    /* ── Reveal: cinematic scale + blur entrance ── */
    .reveal,
    .reveal-left,
    .reveal-right {
      filter: blur(6px);
      transition: opacity 1s var(--ease), transform 1s var(--ease), filter 1s var(--ease);
    }

    .reveal.in,
    .reveal-left.in,
    .reveal-right.in {
      filter: blur(0);
    }

    /* ── 3D tilt runtime state (JS-driven) ── */
    .tilt-active {
      transition: box-shadow 0.4s var(--ease), border-color 0.4s var(--ease) !important;
    }

      #bookingOverlay {
        font-family: 'Inter', sans-serif;
      }

      .bk-wrap {
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 5rem 1.5rem;
      }

      .bk-panel {
        width: 100%;
        max-width: 680px;
        position: relative;
      }

      .bk-close-btn {
        position: absolute;
        top: -3rem;
        right: 0;
        background: none;
        border: none;
        cursor: pointer;
        color: #8A909C;
        font-size: 0.68rem;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-family: 'Inter', sans-serif;
        transition: color 0.3s;
        padding: 0;
      }

      .bk-close-btn:hover {
        color: #C9A97A;
      }

      .bk-close-btn svg {
        transition: transform 0.3s;
      }

      .bk-close-btn:hover svg {
        transform: rotate(90deg);
      }

      .bk-eyebrow {
        font-size: 0.65rem;
        letter-spacing: 0.3em;
        text-transform: uppercase;
        color: #C9A97A;
        margin-bottom: 0.9rem;
      }

      .bk-heading {
        font-family: 'Cormorant Garamond', serif;
        font-size: clamp(2.4rem, 5vw, 4rem);
        font-weight: 300;
        line-height: 1.05;
        color: #F2EDE6;
        margin-bottom: 0.8rem;
      }

      .bk-heading em {
        font-style: italic;
        color: #C9A97A;
      }

      .bk-sub {
        font-size: 0.88rem;
        color: #8A909C;
        line-height: 1.85;
        margin-bottom: 2.5rem;
      }

      .bk-divider {
        height: 1px;
        background: linear-gradient(to right, rgba(201, 169, 122, 0.25), transparent);
        margin-bottom: 2.5rem;
      }

      .bk-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
      }

      .bk-fg {
        margin-bottom: 1.4rem;
      }

      .bk-fg label {
        display: block;
        font-size: 0.62rem;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: #C9A97A;
        margin-bottom: 0.55rem;
      }

      .bk-fg input,
      .bk-fg textarea,
      .bk-fg select {
        width: 100%;
        background: rgba(255, 255, 255, 0.025);
        border: none;
        border-bottom: 1px solid rgba(201, 169, 122, 0.25);
        border-left: 1px solid rgba(201, 169, 122, 0.08);
        color: #F2EDE6;
        padding: 0.9rem 1rem;
        font-family: 'Inter', sans-serif;
        font-size: 0.86rem;
        font-weight: 300;
        outline: none;
        transition: border-color 0.3s, background 0.3s;
        -webkit-appearance: none;
        appearance: none;
        border-radius: 0;
      }

      .bk-fg input:focus,
      .bk-fg textarea:focus,
      .bk-fg select:focus {
        border-bottom-color: #C9A97A;
        border-left-color: rgba(201, 169, 122, 0.3);
        background: rgba(201, 169, 122, 0.03);
      }

      .bk-fg select option {
        background: #101014;
        color: #F2EDE6;
      }

      .bk-fg textarea {
        resize: vertical;
        min-height: 110px;
      }

      .bk-check {
        display: flex;
        align-items: flex-start;
        gap: 0.8rem;
        margin-bottom: 2rem;
      }

      .bk-check input {
        width: auto;
        margin-top: 3px;
        accent-color: #C9A97A;
      }

      .bk-check span {
        font-size: 0.8rem;
        color: #5C606A;
        line-height: 1.6;
      }

      .bk-err {
        display: none;
        background: rgba(196, 144, 138, 0.08);
        border: 1px solid rgba(196, 144, 138, 0.25);
        color: #C4908A;
        padding: 0.9rem 1rem;
        font-size: 0.82rem;
        margin-bottom: 1.4rem;
        line-height: 1.6;
      }

      .bk-submit-btn {
        width: 100%;
        padding: 1.15rem;
        background: #C9A97A;
        color: #06060A;
        border: none;
        cursor: pointer;
        font-family: 'Inter', sans-serif;
        font-size: 0.72rem;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        font-weight: 600;
        transition: opacity 0.3s, transform 0.25s;
      }

      .bk-submit-btn:hover:not(:disabled) {
        opacity: 0.88;
        transform: translateY(-2px);
      }

      .bk-submit-btn:disabled {
        opacity: 0.5;
        cursor: not-allowed;
        transform: none;
      }

      .bk-note {
        margin-top: 1.2rem;
        font-size: 0.72rem;
        color: #5C606A;
        text-align: center;
        line-height: 1.6;
      }

      /* Success state */
      .bk-success {
        display: none;
        text-align: center;
        padding: 4rem 2rem;
      }

      .bk-success-icon {
        margin: 0 auto 2.5rem;
      }

      .bk-success h3 {
        font-family: 'Cormorant Garamond', serif;
        font-size: 3rem;
        font-weight: 300;
        color: #F2EDE6;
        margin-bottom: 1rem;
      }

      .bk-success h3 em {
        font-style: italic;
        color: #C9A97A;
      }

      .bk-success p {
        font-size: 0.9rem;
        color: #8A909C;
        line-height: 1.85;
        max-width: 440px;
        margin: 0 auto 2.5rem;
      }

      .bk-wrap {
        padding: 4rem 1.2rem;
      }

/* ═══════════════════════════════════════════════
   PERFORMANCE — faster paint, smoother scroll
═══════════════════════════════════════════════ */

/* Defer rendering of below-fold sections until near viewport */
section:not(.hero) {
  content-visibility: auto;
  contain-intrinsic-size: auto 500px;
}

/* Lighter blur on mobile — backdrop-filter is GPU-heavy */
@media (max-width: 768px) {
  nav,
  nav#mainNav.nav-scrolled {
    backdrop-filter: blur(8px) saturate(120%);
    -webkit-backdrop-filter: blur(8px) saturate(120%);
  }

  .mobile-nav {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
}

/* Respect reduced-motion system preference globally */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
