/* ── Standalone Booking Page ── */
    body { background: var(--cream); }

    /* ── Header ── */
    .bk-header {
      position: relative;
      background: linear-gradient(160deg, #F5EDE8 0%, #EDD9CE 40%, #E3C9C0 100%);
      padding: 56px 24px 100px;
      text-align: center;
      overflow: hidden;
    }
    .bk-header::before {
      content: '';
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 65% 80% at 15% -5%,  rgba(201,132,122,.18) 0%, transparent 60%),
        radial-gradient(ellipse 55% 65% at 88% 105%, rgba(155,137,196,.12) 0%, transparent 55%),
        radial-gradient(ellipse 40% 50% at 60% 50%,  rgba(201,168,85,.07) 0%, transparent 70%);
      pointer-events: none;
    }
    .bk-header__deco {
      position: absolute; border-radius: 50%;
      background: rgba(201,132,122,.07);
      pointer-events: none;
    }
    .bk-header__inner { position: relative; z-index: 1; }
    .bk-header__logo {
      width: 60px; height: 60px;
      border-radius: 50%;
      margin: 0 auto 22px;
      box-shadow: 0 4px 24px rgba(201,132,122,.3), 0 0 0 3px rgba(255,255,255,.35);
      object-fit: contain;
      object-position: center;
    }
    .bk-header__label {
      font-size: .71rem; letter-spacing: .22em; font-weight: 500;
      color: var(--rose); text-transform: uppercase;
      margin-bottom: 16px; display: block;
      opacity: .9;
    }
    .bk-header__title {
      font-family: var(--font-h);
      font-size: clamp(2.2rem, 5.5vw, 3.4rem);
      font-weight: 500; font-style: italic;
      color: var(--text-1); line-height: 1.18;
      margin-bottom: 16px;
      letter-spacing: .01em;
    }
    .bk-header__title em { font-style: normal; color: var(--rose); }
    .bk-header__sub {
      font-size: .95rem; color: var(--text-2);
      max-width: 460px; margin: 0 auto;
      line-height: 1.75;
    }

    /* Wave divider */
    .bk-wave {
      display: block;
      width: 100%;
      margin-top: -2px;
      color: var(--cream);
      background: #E3C9C0;
    }

    /* ── Layout ── */
    .bk-main {
      max-width: 1100px;
      margin: 0 auto;
      padding: 0 24px 80px;
    }

    /* Override booking section for standalone */
    .booking { padding: 0; }
    .booking__inner { margin-top: -48px; }

    /* ── Entrance animations ── */
    @keyframes bkSlideUp {
      from { opacity: 0; transform: translateY(36px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .bk-anim { animation: bkSlideUp .75s cubic-bezier(.22,.68,0,1.2) both; }
    .bk-anim--1 { animation-delay: .05s; }
    .bk-anim--2 { animation-delay: .18s; }

    /* Intersection reveal */
    .bk-reveal {
      opacity: 0;
      transform: translateY(24px);
      transition: opacity .6s ease, transform .6s ease;
    }
    .bk-reveal.is-visible {
      opacity: 1;
      transform: none;
    }

    /* ── Pill chips above the form ── */
    .bk-chips {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      justify-content: center;
      margin-bottom: 28px;
    }
    .bk-chip {
      display: inline-flex; align-items: center; gap: 6px;
      background: rgba(255,255,255,.55);
      border: 1px solid rgba(201,132,122,.35);
      border-radius: var(--radius-full);
      padding: 5px 14px;
      font-size: .78rem;
      color: var(--text-2);
      letter-spacing: .03em;
    }

    /* ── Footer ── */
    .bk-footer {
      border-top: 1px solid var(--cream-3);
      padding: 28px 24px;
      text-align: center;
      font-size: .8rem;
      color: var(--text-3);
    }
    .bk-footer a {
      color: var(--rose);
      text-decoration: none;
    }
    .bk-footer a:hover { text-decoration: underline; }
    .bk-footer__sep { margin: 0 10px; opacity: .4; }

    /* ── Responsive ── */
    @media (max-width: 600px) {
      .bk-header { padding: 44px 20px 80px; }
      .bk-main { padding: 0 16px 60px; }
      .bk-chips { display: none; }
    }

    /* ── 3D Canvas ── */
    .bk-canvas {
      position: absolute; inset: 0;
      width: 100%; height: 100%;
      pointer-events: none; z-index: 0;
    }

    /* ── 3D Logo orbit rings ── */
    .bk-logo-orbit {
      position: relative;
      width: 60px; height: 60px;
      margin: 0 auto 22px;
      perspective: 300px;
      perspective-origin: 50% 50%;
    }
    .bk-logo-orbit .bk-header__logo { margin: 0; position: relative; z-index: 2; }
    .bk-ring {
      position: absolute;
      border-radius: 50%;
      border: 1px solid rgba(219,68,155,.55);
      pointer-events: none;
      top: 50%; left: 50%;
      transform-origin: center center;
    }
    .bk-ring--1 {
      width: 84px; height: 84px;
      margin: -42px 0 0 -42px;
      border-color: rgba(201,132,122,.55);   /* rose */
      animation: orbit3d 7s linear infinite;
    }
    .bk-ring--2 {
      width: 110px; height: 110px;
      margin: -55px 0 0 -55px;
      border-color: rgba(201,168,85,.4);     /* champagne */
      animation: orbit3d 11s linear infinite reverse;
    }
    .bk-ring--3 {
      width: 138px; height: 138px;
      margin: -69px 0 0 -69px;
      border-color: rgba(155,137,196,.28);   /* lavender */
      animation: orbit3d 16s linear infinite;
      animation-delay: -4s;
    }
    @keyframes orbit3d {
      0%   { transform: rotateX(72deg) rotateZ(0deg); }
      100% { transform: rotateX(72deg) rotateZ(360deg); }
    }

    /* ── 3D booking card tilt ── */
    .booking-form-wrap {
      transform-style: preserve-3d;
      transition: transform .15s ease-out, box-shadow .15s ease-out;
      will-change: transform;
    }