/* Visual-only refresh over the original Bliss markup. Brand icons retain their original styling. */
:root{--bg:#f5f6f9;--bg-alt:#e7edf6;--card:#fbfcff;--ink:#283b55;--ink-soft:#596c84;--green:#2b466c;--green-deep:#203852;--brown:#3f587e;--gold:#aac5e8;--gold-deep:#56749c;--line:#cbd6e5;--btn-ink:#233b5a;--on-image:#fff;--shadow:0 24px 70px -30px #273f6850}
body{background:var(--bg)}.site-header{padding:20px 0}.site-header.scrolled{background:#edf3fbe8;backdrop-filter:blur(20px);box-shadow:0 5px 35px #1c385015}.btn,.nav-cta{border-radius:40px}.btn-gold{background:#dce8f8;color:#263e60}.btn-gold:hover{background:white;color:#263e60}.hero{display:block;height:170svh;min-height:0;padding:0;overflow:clip;background:linear-gradient(145deg,#9dbce3,#d6cce1 65%,#efc5bc)}.cinema-stage{position:sticky;top:0;height:100svh;min-height:730px;display:flex;align-items:center;overflow:hidden;perspective:1400px}.hero-media{clip-path:inset(0 round 0);transform-origin:center;will-change:transform,clip-path}.hero-media video{filter:saturate(.8);object-position:52% center}.hero-shade{background:linear-gradient(90deg,#173758b0,transparent 90%),linear-gradient(180deg,#1c385e50,transparent 45%,#20334d65)}.hero-inner{padding-top:110px;padding-bottom:110px;will-change:transform,opacity}.hero h1{font-size:clamp(4rem,8vw,8rem);line-height:.95;max-width:850px;letter-spacing:-.035em;animation:hero-enter 1.6s cubic-bezier(.16,1,.3,1) both}.hero-sub{animation:hero-enter 1.5s .2s both}.hero-ctas,.hero-rating{animation:hero-enter 1.5s .35s both}.hero-rating{background:#203e615c;backdrop-filter:blur(16px)}.hero-rating:hover{background:#294b6f88}.film-play{position:absolute;right:max(6%,96px);bottom:42px;z-index:4;min-height:44px;padding:11px 22px;border:1px solid #ffffff80;border-radius:30px;color:white;background:#263f6266;backdrop-filter:blur(12px);font:13px 'Jost',sans-serif;cursor:pointer}.motion-mode{position:fixed;left:20px;bottom:22px;z-index:55;background:#f1f5fbe8;color:#304968;border:1px solid #b6c9e1;border-radius:30px;padding:10px 15px;font:12px 'Jost',sans-serif;cursor:pointer}.intro{background:linear-gradient(#f5f6f9,#e7edf6)}.intro h2{color:#2d486d}.experiences{background:linear-gradient(#e7edf6,#e8dfeb)}.exp{border-radius:22px;overflow:hidden;background:#f9fbff;box-shadow:0 20px 80px #29466c10;gap:0;position:sticky;top:105px;min-height:530px;transform-origin:center top}.exp:nth-child(even) .exp-media{order:0}.exp-media{height:100%;min-height:530px;aspect-ratio:auto;box-shadow:none}.exp-body{padding:45px}.exp-list{gap:85px}.exp-body h3{font-size:clamp(2.2rem,4vw,3.5rem);letter-spacing:-.02em}.exp-media img{transition:transform 1.3s}.gallery{background:#f6f8fc}.g-frame{border-radius:150px 150px 16px 16px;overflow:hidden;box-shadow:0 18px 60px #253f5d15}.g-frame:nth-child(even){transform:translateY(25px)}.gallery-strip{padding-bottom:45px;perspective:1000px}.g-follow{background:linear-gradient(145deg,#adcaed,#decbdf);color:#263e60}.membership{background:linear-gradient(140deg,#243b5c,#476991 65%,#8b7d98)}.tier{border-radius:22px;background:#ffffff09;backdrop-filter:blur(8px);box-shadow:0 18px 45px #12243a15}.tier-featured{background:#d9e8fd18}.bespoke{border-radius:22px;background:#ffffff09}.testimonials{background:linear-gradient(#f5f6f9,#e7e8f1)}.quote{border-radius:18px;background:#ffffff80;border:1px solid #d4deeb}.about{background:#f8faff}.about-grid{grid-template-columns:1fr 1.4fr}.person-media{border-radius:140px 140px 16px 16px;overflow:hidden}.person:nth-child(2){margin-top:70px}.person-media img{height:108%;will-change:transform}.person-name{font-size:2.4rem}.faq{background:linear-gradient(#f8faff,#e9edf5)}.contact{background:linear-gradient(130deg,#dce8f6,#e9dfe9 65%,#efdbd6)}input,select,textarea{border-radius:10px!important}.map-embed{border-radius:22px;overflow:hidden}.contact-side{background:#ffffff25;border-radius:22px;padding:20px}footer{background:#f5f6f9}.demo-credit{font-size:11px;width:100%;color:var(--ink-soft)}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(35px);transition:opacity 1s,transform 1s cubic-bezier(.16,1,.3,1)}.js .reveal.in{opacity:1;transform:translateY(0)}body.motion-paused *{animation:none!important;transition:none!important}.motion-paused .reveal{opacity:1;transform:none}
@keyframes hero-enter{from{opacity:0;transform:translateY(40px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
@media(max-width:920px){.main-nav.open{background:#edf3fa;color:#2b4361}.exp{min-height:0;position:relative;top:auto;grid-template-columns:1fr}.exp-media{height:380px;min-height:0}.exp:nth-child(even) .exp-media{order:0}.about-grid{grid-template-columns:1fr}.hero{height:150svh}.hero-inner{padding-top:120px}.hero h1{font-size:5rem}.exp-body{padding:35px}.cinema-stage{min-height:740px}}
@media(max-width:600px){.hero h1{font-size:3.7rem;max-width:330px}.hero-inner{padding-top:110px;padding-bottom:125px}.hero-sub{font-size:16px;margin-bottom:25px}.hero .eyebrow{font-size:9px;letter-spacing:.18em}.hero-ctas{gap:12px}.hero-ctas .btn{font-size:10px;padding:14px 20px;letter-spacing:.12em}.hero-rating{font-size:12px}.exp-body{padding:28px}.exp-media{height:300px}.exp-list{gap:35px}.g-frame:nth-child(even){transform:none}.person:nth-child(2){margin-top:35px}.person-name{font-size:2.3rem}.contact-side{padding:12px}.film-play{bottom:84px;right:22px}.motion-mode{bottom:22px;font-size:11px}.hero-media video{object-position:52% center}.about-grid{gap:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero{height:100svh;min-height:740px}.exp{position:relative;top:auto}.js .reveal{opacity:1;transform:none}*{animation:none!important;transition:none!important}}

/* Mobile menu fix (2026-09-06). The .scrolled blur above makes the header the containing block for the
   fixed full-screen menu inside it, so the menu would be clamped to the header bar (the July 2026 bug).
   The open menu therefore always wins over the blur. */
.site-header.menu-open,.site-header.scrolled.menu-open{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
