:root{--booking-gold:#d6ac4b;--booking-bright:#f4d98a;--booking-ink:#09111d}
.booking-launcher{position:fixed;left:20px;bottom:20px;z-index:12000;display:inline-flex;align-items:center;gap:9px;padding:11px 15px;border:1px solid rgba(214,172,75,.72);border-radius:999px;background:rgba(9,17,29,.94);color:var(--booking-bright);font:600 .72rem/1 "DM Sans",sans-serif;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 35px rgba(0,0,0,.36),0 0 24px rgba(214,172,75,.1);backdrop-filter:blur(14px);transition:.2s ease}
.booking-launcher:hover,.booking-launcher:focus-visible{transform:translateY(-2px);border-color:var(--booking-bright);box-shadow:0 16px 38px rgba(0,0,0,.42),0 0 30px rgba(214,172,75,.18);outline:none}
.booking-launcher-icon{font-size:1rem;color:var(--booking-gold)}
.booking-modal{position:fixed;inset:0;z-index:20000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(2,5,10,.78);backdrop-filter:blur(10px)}
.booking-modal.is-open{display:flex}
.booking-dialog{position:relative;width:min(1060px,96vw);height:min(780px,92vh);overflow:hidden;border:1px solid rgba(214,172,75,.48);border-radius:18px;background:#fff;box-shadow:0 32px 100px rgba(0,0,0,.7),0 0 50px rgba(214,172,75,.12)}
.booking-dialog-head{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 22px;background:linear-gradient(90deg,#0c121c,#171207);border-bottom:1px solid rgba(214,172,75,.3);color:#f7e9c2}
.booking-dialog-title{display:flex;align-items:center;gap:10px;font:500 1rem "Cormorant Garamond",serif;letter-spacing:.04em}
.booking-dialog-title span{color:var(--booking-gold)}
.booking-close{width:34px;height:34px;border:1px solid rgba(214,172,75,.35);border-radius:50%;background:transparent;color:var(--booking-bright);font-size:1.15rem;cursor:pointer}
.booking-close:hover,.booking-close:focus-visible{border-color:var(--booking-bright);background:rgba(214,172,75,.09);outline:none}
.booking-frame{display:block;width:100%;height:calc(100% - 56px);border:0;background:#fff}
body.booking-open{overflow:hidden}

/* Small clickable childhood-patterns icon inside the right-side homepage artwork. */
.orb-wrap .childhood-patterns-entry{position:absolute;left:calc(50% + 92px);top:50%;z-index:6;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(214,172,75,.72);border-radius:50%;background:radial-gradient(circle at 38% 28%,rgba(244,217,138,.18),transparent 48%),linear-gradient(145deg,#0b2747,#07162b);color:#f4d98a;text-decoration:none;box-shadow:0 12px 32px rgba(0,0,0,.34),0 0 22px rgba(214,172,75,.16);transform:translateY(-50%);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.orb-wrap .childhood-patterns-entry:hover,.orb-wrap .childhood-patterns-entry:focus-visible{transform:translateY(-50%) scale(1.07);border-color:#ffe9ae;box-shadow:0 16px 38px rgba(0,0,0,.42),0 0 30px rgba(214,172,75,.25);outline:none}
.childhood-patterns-emblem{display:grid;place-items:center;width:40px;height:40px;border-radius:50%}
.childhood-patterns-emblem svg{width:32px;height:32px;stroke:#f4d98a;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.childhood-patterns-tooltip{position:absolute;left:50%;top:calc(100% + 9px);transform:translateX(-50%);padding:6px 9px;border:1px solid rgba(214,172,75,.36);border-radius:999px;background:rgba(5,15,28,.96);color:#f7e8bd;font:600 .56rem/1 "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;opacity:0;visibility:hidden;transition:.18s ease;pointer-events:none}
.childhood-patterns-entry:hover .childhood-patterns-tooltip,.childhood-patterns-entry:focus-visible .childhood-patterns-tooltip{opacity:1;visibility:visible}

@media(max-width:620px){
  html,body{width:100%!important;max-width:100%!important;min-height:100%!important;overflow-x:hidden!important}
  .booking-launcher{left:12px;bottom:12px;padding:10px 12px}
  .booking-modal{padding:0}
  .booking-dialog{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}
  .booking-dialog-head{height:52px}
  .booking-frame{height:calc(100% - 52px)}
  .orb-wrap .childhood-patterns-entry{left:calc(50% + 72px);width:44px;height:44px}
  .childhood-patterns-emblem{width:36px;height:36px}.childhood-patterns-emblem svg{width:29px;height:29px}
  #intro.exact-safe-space{position:fixed!important;z-index:2147483000!important;inset:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:block!important;width:100%!important;max-width:none!important;height:100vh!important;height:100svh!important;height:100dvh!important;min-height:100vh!important;min-height:100dvh!important;margin:0!important;padding:0!important;overflow:hidden!important;transform:none!important}
  #intro.exact-safe-space iframe{position:fixed!important;z-index:1!important;inset:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:block!important;width:100%!important;max-width:none!important;height:100vh!important;height:100svh!important;height:100dvh!important;min-height:100vh!important;min-height:100dvh!important;margin:0!important;padding:0!important;border:0!important;transform:none!important;transform-origin:top left!important}
  body.safe-space-active .booking-launcher{display:none!important}
}