/*
  BLCKROOM / DARK RESET
  Production typography is self-hosted. Inter and Bodoni Moda are distributed
  under the SIL Open Font License 1.1; the license files live in assets/fonts/.
  The animated BLCK ROOM intro is an outlined SVG and does not make a font request.
*/
@font-face {
  font-family: "Bodoni Moda";
  src: url("../fonts/bodoni-moda-italic-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-latin-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --black: #000;
  --white: #fff;
  --red: #aa1a1a;
  --grey: #4f4f4f;
  --dark-grey: #242424;
  --light-grey: #6d6d6d;
  --text-grey: #8a8a8a;
  --light-transparent: rgba(255,255,255,.30);
  --margin: 1.09rem;
  --gutter: 2.56rem;
  --space-30: 2.2rem;
  --space-35: 2.6rem;
  --space-40: 2.9rem;
  --space-45: 3.3rem;
  --space-80: 6rem;
  --space-125: 9.2rem;
  --space-180: 13.2rem;
  --space-200: 14.6rem;
  --space-big: 17.6rem;
  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-in-out: cubic-bezier(.87,0,.13,1);
  --header-z: 1000;
}

*,*::before,*::after{box-sizing:border-box}
html{height:100%;background:var(--black);scroll-behavior:auto;-webkit-text-size-adjust:100%;font-size:1vw}
body{
  min-height:100%;margin:0;background:var(--black);color:var(--white);
  font-family:"Inter",Arial,sans-serif;font-size:1vw;font-weight:400;line-height:132%;
  letter-spacing:-.005em;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;
}
body.is-menu-open,body.is-loading{overflow:hidden}
img,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{border:0;background:0 0;padding:0}
a{color:inherit;text-decoration:none}
p,h1,h2,h3,h4,figure{margin:0}
h1,h2,h3,h4{font-weight:400}
em{font-family:"Bodoni Moda","Times New Roman",serif;font-style:italic;font-weight:400;letter-spacing:-.035em}
::selection{background:var(--red);color:var(--black)}

.text-subhead{font-size:.95em;line-height:130%;letter-spacing:0;text-transform:uppercase}
.text-grey{color:var(--text-grey)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:99999;top:1rem;left:1rem;padding:.65rem .85rem;background:var(--white);color:var(--black);transform:translateY(-160%);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}

/* Entry / animated BLCK ROOM split */
.entry-screen{
  position:fixed;inset:0;z-index:10000;display:grid;place-items:center;
  overflow:hidden;isolation:isolate;background:transparent;pointer-events:auto;
}
.entry-screen__panel{position:absolute;top:0;bottom:0;z-index:0;width:50.05%;background:var(--black);will-change:transform}
.entry-screen__panel--left{left:0}
.entry-screen__panel--right{right:0}
.entry-screen__glow{
  position:absolute;inset:-12%;z-index:1;pointer-events:none;opacity:.72;
  background:
    radial-gradient(circle at 50% 50%,rgba(170,26,26,.17) 0,rgba(170,26,26,.09) 27%,rgba(0,0,0,0) 64%),
    linear-gradient(115deg,rgba(170,26,26,.035),transparent 38%,rgba(170,26,26,.025));
  filter:blur(22px);transform:scale(1.08);will-change:opacity,transform,filter;
}
.brand-intro{position:absolute;left:50%;top:50svh;transform:translate(-50%,-50%);z-index:2;width:21vw;max-width:none;color:#e7e4df;will-change:opacity,filter}
.brand-intro__wordmark{display:block;width:100%;height:auto;overflow:visible;fill:currentColor;shape-rendering:geometricPrecision}
.brand-intro__half{transform-box:fill-box;transform-origin:center;will-change:transform,opacity,filter}
.brand-glyph{transform-box:fill-box;transform-origin:center}
.entry-travelling-glyph{position:fixed;z-index:3;display:block;color:#e7e4df;pointer-events:none;will-change:left,top,width,height,opacity,filter}
.entry-travelling-glyph .edge-mark__svg{display:block;width:100%;height:100%;overflow:visible;fill:currentColor}
body.is-loading .nav-wrap{z-index:10040}
body.is-loading .menu-wrap,body.is-loading .menu-button{opacity:0;visibility:hidden}
body.is-loading .edge-mark{opacity:0;pointer-events:none}
body.is-loading .cursor{opacity:0!important}
.no-js .entry-screen{display:none}

/* Cursor */
.cursor{position:fixed;z-index:10020;left:0;top:0;width:5.2rem;height:5.2rem;pointer-events:none;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);mix-blend-mode:difference;opacity:0}
.cursor__dot{position:absolute;width:.5rem;height:.5rem;border-radius:50%;background:var(--white);transition:width .45s var(--ease-out),height .45s var(--ease-out),opacity .25s}
.cursor__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;opacity:0;transform:scale(.8);transition:opacity .25s,transform .45s var(--ease-out)}
.cursor.is-active .cursor__dot{width:5.2rem;height:5.2rem;background:var(--white)}
.cursor.is-active .cursor__label{opacity:1;transform:scale(1);color:var(--black);mix-blend-mode:normal}
@media (pointer:coarse){.cursor{display:none}}

/* Reference-like fixed navigation */
.nav-wrap{position:fixed;inset:0 0 auto;z-index:var(--header-z);width:100svw;mix-blend-mode:difference;pointer-events:none}
.nav-contain{position:relative;display:flex;justify-content:flex-end;align-items:center;padding:1.3rem var(--margin) 0}
.menu-wrap{display:flex;align-items:center;gap:.62rem;pointer-events:auto}
.menu-wrap a{position:relative;padding:.1rem 0;overflow:hidden}
.menu-wrap a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .55s var(--ease-out)}
.menu-wrap a:hover::after,.menu-wrap a.is-active::after{transform:scaleX(1);transform-origin:left}
.menu-wrap a:not(:last-child)::before{content:"/";position:absolute;right:-.42rem;color:var(--light-transparent)}
.edge-mark{
  position:fixed;z-index:2000;top:50svh;transform:translateY(-50%);
  width:auto;height:auto;display:grid;place-items:center;
  color:var(--white);pointer-events:auto;
}
.edge-mark__svg{display:block;width:auto;height:auto;overflow:visible;fill:currentColor}
.edge-mark--left{left:.86rem}
.edge-mark--right{right:.93rem}
.menu-button{display:none;pointer-events:auto;color:var(--white);align-items:center;gap:.7rem;cursor:pointer}
.menu-button__glyph{position:relative;width:1.55rem;height:1rem;display:block}
.menu-button__glyph i{position:absolute;left:0;width:100%;height:1px;background:currentColor;transition:transform .6s var(--ease-out),top .6s var(--ease-out)}
.menu-button__glyph i:first-child{top:.2rem}.menu-button__glyph i:last-child{top:.75rem}
.menu-button[aria-expanded="true"] .menu-button__glyph i:first-child{top:.48rem;transform:rotate(45deg)}
.menu-button[aria-expanded="true"] .menu-button__glyph i:last-child{top:.48rem;transform:rotate(-45deg)}

.mobile-menu{position:fixed;inset:0;z-index:990;width:100%;height:100dvh;display:none;visibility:hidden;opacity:0}
.mobile-menu__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.35);backdrop-filter:blur(10px)}
.menu-surface{position:relative;z-index:1;width:100%;height:100%;padding:2rem var(--margin) var(--space-35);display:flex;flex-direction:column;justify-content:space-between;align-items:center}
.menu-big-links{height:54%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.menu-big-links a{font-size:10.6em;line-height:88%;letter-spacing:-.04em;text-transform:uppercase;font-weight:500;overflow:hidden}
.menu-big-links a span{display:block}
.menu-small-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter);width:100%;max-width:62rem}
.menu-small-links>div{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center}
.menu-copyright{color:var(--light-transparent)}

/* Opening horizontal system */
.section-track{position:relative;height:100vh;background:var(--black)}
.scroll-camera{width:100svw;height:100dvh;overflow:hidden;position:sticky;top:0}
.scroll-content{height:max-content;display:flex;align-items:flex-start;will-change:transform}
.about-hero{width:100svw;min-width:100svw;height:100dvh;padding:0 var(--margin);background:var(--black)}
.about-hero__wrapper{position:relative;display:flex;align-items:center;height:100%}
.hero-left{width:50%;height:100vh;padding-bottom:1.46rem;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;column-gap:var(--gutter);align-items:end}
.hero-text-wrapper{z-index:2;mix-blend-mode:difference;height:21.5rem;margin-top:-2rem;margin-left:-1.2rem;padding-right:1rem;position:absolute;left:0;top:0;overflow:hidden}
.hero-text-display{font-size:21.6em;line-height:106%;font-weight:500;letter-spacing:-.065em;white-space:nowrap}
.about-time{grid-column:1/2;grid-row:3;display:flex;align-items:center;gap:.25em}
.hero-right-title-wrapper{grid-column:2/3;grid-row:1/4;height:39.5vh;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}
.hero-right-title-text{max-width:13.2rem}
.hero-right-contact{display:flex;flex-direction:column}
.hero-right-contact__link{position:relative}
.hero-right-contact__link::after{content:"";position:absolute;left:0;right:0;bottom:-.1rem;height:1px;background:var(--white);transform:scaleX(.35);transform-origin:left;transition:transform .55s var(--ease-out)}
.hero-right-contact__link:hover::after{transform:scaleX(1)}
.hero-right{width:50%;height:100vh;position:relative;overflow:hidden}
.hero-right-label{z-index:2;position:absolute;right:0;bottom:1.46rem;mix-blend-mode:difference}
.hero-right-photo{height:100vh;margin-right:-1.9rem;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:var(--black)}
.hero-right-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.3),transparent 35%),linear-gradient(0deg,rgba(0,0,0,.15),transparent 45%);pointer-events:none}
.hero-right-photo picture{width:100%;height:100%}
.hero-right-photo__img{width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(1.12);transform-origin:center top;filter:saturate(.82) contrast(1.05)}
.global-padding{min-width:8svw;height:100vh}

.section-approach{min-width:102dvw;height:100vh;padding:0 8.8rem;background:var(--black)}
.section-approach__wrapper{height:100%;display:flex;justify-content:space-between;align-items:center}
.section-approach__left{width:53.2rem;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2.4rem}
.approach-statement{position:relative;width:100%}
.statement-label{position:absolute;left:0;top:.85rem;color:#3d3d3d;font-size:1.3em;line-height:132%}
.statement-text{font-size:2.2em;line-height:128%;letter-spacing:-.02em;font-weight:400;color:#3d3d3d;max-width:53rem}
.statement-text .word{position:relative;display:inline-block;background:linear-gradient(90deg,var(--white) 0 var(--mask-stop,0%),#3d3d3d var(--mask-stop,0%) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.statement-text em{font-size:1.08em}
.statement-indent{padding-left:9rem}
.section-approach__right{height:28.8rem;padding-top:.8rem;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}
.approach-media{width:21.2rem;height:12.5rem;position:relative;overflow:hidden;background:#111}
.approach-media img{width:100%;height:100%;object-fit:cover;object-position:center 38%;transform:scale(1.15)}
.approach-caption{max-width:18.6rem;font-size:1.3em;line-height:132%}

.section-process{width:100svw;min-width:100svw;background:var(--black)}
.process-container{position:relative;z-index:2;width:100svw;height:108rem;padding:8.4rem var(--margin) var(--space-200);background:var(--black);overflow:hidden}
.process-title-wrap{position:relative;z-index:2;mix-blend-mode:difference}
.process-title{font-size:5.5em;line-height:106%;letter-spacing:-.02em;max-width:92rem}
.process-title .line{overflow:hidden}
.process-title .line-inner{display:block}
.process-title em{font-size:1em}
.process-info{position:relative;z-index:3;margin-top:var(--space-125);display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);align-items:start}
.process-label{grid-column:1/3;font-size:1.3em}
.process-copy{grid-column:4/7;max-width:27.8rem;font-size:1.3em;line-height:132%}
.process-info .normal-link{grid-column:4/7;margin-top:7rem;justify-self:start}
.process-photo{position:absolute;z-index:1;left:-1.09rem;top:52rem;width:42%;height:48rem;overflow:hidden}
.process-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.2),transparent),linear-gradient(0deg,var(--black),transparent 32%)}
.process-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.32);filter:contrast(1.1)}

.normal-link{position:relative;display:inline-flex;flex-direction:column;font-size:1.3em;line-height:132%;overflow:hidden}
.normal-link>span{position:relative;z-index:2;padding:.05rem .1rem}
.normal-link i{display:block;width:100%;height:1px;background:var(--white);transform-origin:left;transition:transform .6s var(--ease-out)}
.normal-link::before{content:"";position:absolute;inset:0;background:var(--white);transform:translateY(105%);transition:transform .6s var(--ease-out);z-index:1}
.normal-link:hover{color:var(--black)}
.normal-link:hover::before{transform:translateY(0)}
.normal-link:hover i{transform:translateX(105%)}

.sessions-contain{position:relative;z-index:2;width:100svw;min-height:68rem;padding:20rem 0 8rem;background:var(--black);display:flex;flex-direction:column;align-items:center;overflow:hidden}
.sessions-title{position:relative;z-index:3;font-size:10.6em;line-height:85%;letter-spacing:-.035em;text-align:center;text-transform:lowercase;font-weight:500;margin-bottom:7rem;mix-blend-mode:difference}
.sessions-list{position:relative;z-index:4;width:100%;display:flex;flex-direction:column}
.session-link{position:relative;width:100%;min-height:3.2rem;padding:.55rem 9.5rem;display:grid;grid-template-columns:.8fr 2fr 2.4fr 1.7fr 1.4fr .9fr;column-gap:var(--gutter);align-items:center;overflow:visible}
.session-link__hover{position:absolute;z-index:-1;left:-2rem;top:0;height:100%;width:0;background:var(--white);transition:width .75s var(--ease-out)}
.session-link:hover .session-link__hover,.session-link:focus-visible .session-link__hover{width:calc(100% + 4rem)}
.session-link>*:not(.session-link__hover):not(.session-link__preview){position:relative;z-index:2;mix-blend-mode:difference}
.session-link__price{text-align:right}
.session-link__action{text-align:right}
.session-link__preview{position:absolute;z-index:1;left:50%;top:50%;width:9.8rem;height:13rem;transform:translate(-50%,-50%) scale(.82);opacity:0;filter:blur(8px);overflow:hidden;pointer-events:none;transition:opacity .35s,filter .55s,transform .8s var(--ease-out)}
.session-link__preview img{width:100%;height:100%;object-fit:cover}
.session-link:hover .session-link__preview,.session-link:focus-visible .session-link__preview{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}
.sessions-bg{position:absolute;z-index:1;left:0;right:0;top:20rem;height:84rem;overflow:hidden}
.sessions-bg img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.52;transform:scale(1.18)}
.sessions-bg__shade{position:absolute;inset:0;background:linear-gradient(180deg,var(--black),rgba(0,0,0,.18) 28%,rgba(0,0,0,.3) 62%,var(--black) 100%)}
.big-link{position:relative;z-index:5;display:inline-flex;align-items:baseline;gap:.35rem;margin-top:var(--space-80);padding:.2rem .4rem;overflow:hidden;font-size:4.65rem;line-height:106%;letter-spacing:-.02em}
.big-link::before{content:"";position:absolute;inset:0;background:var(--white);transform:translateY(105%);transition:transform .65s var(--ease-out);z-index:-1}
.big-link:hover{color:var(--black)}.big-link:hover::before{transform:translateY(0)}
.big-link em{font-size:1em}
.big-link--red::before{background:var(--red)}

/* Shared vertical page language */
.session-details{position:relative;z-index:4;background:var(--black);padding:var(--space-200) var(--margin) 22rem}
.editorial-heading{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);align-items:start;margin-bottom:18rem}
.editorial-heading__label{grid-column:1/3;padding-top:.8rem}
.editorial-heading h2{grid-column:3/13;font-size:5.5em;line-height:106%;letter-spacing:-.02em;max-width:82rem}
.editorial-heading h2 .line{overflow:hidden}.editorial-heading h2 .line-inner{display:block}
.editorial-heading p{grid-column:9/13;margin-top:4rem;font-size:1.3em;line-height:132%;max-width:24rem}
.session-stories{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);row-gap:18rem}
.session-story{position:relative;display:grid;grid-template-columns:repeat(6,1fr);column-gap:var(--gutter);align-items:start}
.session-story--wide{grid-column:1/13}
.session-story--portrait{grid-column:2/8}
.session-story--portrait.session-story--offset{grid-column:7/13}
.session-story__media{grid-column:1/7;position:relative;overflow:hidden;background:#0a0a0a}
.session-story--wide .session-story__media{aspect-ratio:16/9}
.session-story--portrait .session-story__media{aspect-ratio:4/5}
.session-story__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);will-change:transform}
.session-story__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.42));pointer-events:none}
.session-story__index{position:absolute;z-index:2;top:1rem;left:1rem;mix-blend-mode:difference}
.session-story__content{grid-column:2/7;margin-top:2rem;display:grid;grid-template-columns:repeat(5,1fr);column-gap:var(--gutter)}
.session-story__content h3{grid-column:1/6;font-size:5.5em;line-height:96%;letter-spacing:-.03em;margin-bottom:2rem}
.session-story__lead{grid-column:1/3;font-size:1.3em;line-height:132%}
.session-story__content>p:not(.session-story__lead):not(.session-story__result){grid-column:3/6;font-size:1.3em;line-height:132%}
.session-story__result{grid-column:3/6;margin-top:1.8rem;font-family:"Bodoni Moda","Times New Roman",serif;font-size:2.2em;font-style:italic;line-height:118%;letter-spacing:-.02em}
.session-story__meta{grid-column:1/6;margin-top:3.4rem;padding-top:.8rem;border-top:1px solid var(--dark-grey);display:flex;justify-content:space-between;gap:2rem;color:var(--text-grey)}
.session-story__content .normal-link{grid-column:1/3;margin-top:3.4rem}

.world-section{position:relative;z-index:3;min-height:145vh;padding:17rem var(--margin) 12rem;background:var(--black);overflow:hidden}
.world-section__media{position:absolute;inset:0;overflow:hidden;opacity:.38}
.world-section__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.2)}
.world-section__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--black),rgba(0,0,0,.3) 28%,rgba(0,0,0,.52) 70%,var(--black))}
.world-section__content{position:relative;z-index:2;mix-blend-mode:difference}
.world-section__content>h2{font-size:10.6em;line-height:85%;letter-spacing:-.035em;text-transform:uppercase;max-width:80rem;margin:4rem 0 12rem}
.world-section__content>h2 .line{overflow:hidden}.world-section__content>h2 .line-inner{display:block}
.world-section__content>h2 em{text-transform:none}
.world-lists{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gutter);align-items:start}
.world-lists>div{border-top:1px solid var(--light-transparent);padding-top:1rem}
.world-lists p{font-size:1.3em;line-height:132%;margin-top:1.3rem;max-width:19rem}
.image-marquee{position:relative;z-index:3;width:calc(100% + 2*var(--margin));margin:13rem calc(var(--margin)*-1) 0;overflow:hidden}
.image-marquee__track{display:flex;gap:1.1rem;width:max-content;will-change:transform}
.image-marquee figure{width:12rem;height:8rem;overflow:hidden;flex:none}
.image-marquee figure:nth-child(3n+2){width:7rem;height:10rem;margin-top:-2rem}
.image-marquee img{width:100%;height:100%;object-fit:cover}

.ritual-section{position:relative;z-index:4;background:var(--black);padding-top:10rem;overflow:hidden}
.ritual-bg{position:absolute;inset:0 0 auto;height:105vh;overflow:hidden}
.ritual-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.35);opacity:.75}
.ritual-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),var(--black) 92%)}
.ritual-hero{position:relative;z-index:2;min-height:92vh;padding:0 var(--margin);display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);align-content:start;mix-blend-mode:difference}
.ritual-hero>span{grid-column:1/3;padding-top:1rem}
.ritual-hero h2{grid-column:1/13;font-size:10.6em;line-height:85%;letter-spacing:-.035em;text-transform:uppercase;margin-top:4rem}
.ritual-hero h2 .line{overflow:hidden}.ritual-hero h2 .line-inner{display:block}
.ritual-hero p{grid-column:9/13;font-size:1.3em;line-height:132%;max-width:25rem;margin-top:4rem}
.steps-wrapper{position:relative;z-index:3;display:flex;flex-wrap:wrap;background:var(--black)}
.step-card{position:relative;width:33.3333%;height:33.4rem;padding:var(--margin) var(--margin) 1.5rem;background:var(--black);border-top:1px solid var(--dark-grey);border-right:1px solid var(--dark-grey);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;transition:background .55s,color .55s}
.step-card:hover{background:var(--red);color:var(--black)}
.step-card__number{font-family:"Bodoni Moda","Times New Roman",serif;font-size:2.2em;font-style:italic;line-height:128%}
.step-card h3{font-size:2.2em;line-height:128%;letter-spacing:-.02em;padding-left:10.2rem}
.step-card p{font-size:1.3em;line-height:132%;color:var(--text-grey);padding-left:10.2rem;max-width:27rem;transition:color .55s}
.step-card:hover p{color:rgba(0,0,0,.68)}
.ritual-closing{position:relative;z-index:3;padding:20rem var(--margin) 22rem;background:linear-gradient(180deg,var(--black),#160000);display:flex;flex-direction:column;align-items:flex-start}
.ritual-closing h2{font-size:10.6em;line-height:85%;letter-spacing:-.035em;text-transform:uppercase;max-width:92rem}
.ritual-closing h2 .line{overflow:hidden}.ritual-closing h2 .line-inner{display:block}
.ritual-closing .big-link{align-self:center;margin-top:10rem}

.trust-section{position:relative;z-index:4;background:var(--black);padding:20rem 0 18rem}
.trust-heading{padding:0 var(--margin);display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);margin-bottom:10rem}
.trust-heading>span{grid-column:1/3;padding-top:1rem}
.trust-heading h2{grid-column:3/13;font-size:5.5em;line-height:106%;letter-spacing:-.02em;max-width:74rem}
.trust-heading h2 .line{overflow:hidden}.trust-heading h2 .line-inner{display:block}
.trust-list{width:100%}
.trust-row{position:relative;padding:.6rem 9.5rem;display:grid;grid-template-columns:.8fr 3fr 2fr;column-gap:var(--gutter);align-items:center;border-top:1px solid var(--dark-grey);font-size:.95em;line-height:130%;text-transform:uppercase;overflow:hidden}
.trust-row:last-child{border-bottom:1px solid var(--dark-grey)}
.trust-row::before{content:"";position:absolute;inset:0;background:var(--red);transform:translateX(-101%);transition:transform .75s var(--ease-out)}
.trust-row:hover::before{transform:translateX(0)}
.trust-row>*{position:relative;z-index:1;mix-blend-mode:difference}
.boundaries-block{margin:18rem var(--margin) 0;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);align-items:start}
.boundaries-block>span{grid-column:1/3;padding-top:.8rem}
.boundaries-block h3{grid-column:3/9;font-size:5.5em;line-height:106%;letter-spacing:-.02em}
.boundaries-block p{grid-column:9/13;font-size:1.3em;line-height:132%;margin-top:.8rem}

.faq-section{position:relative;z-index:4;background:var(--black);padding-bottom:var(--space-200);overflow:hidden}
.faq-hero{position:relative;height:62rem;padding:0 var(--margin);overflow:hidden}
.faq-hero__title{position:relative;z-index:3;font-size:21.6em;line-height:106%;letter-spacing:-.065em;font-weight:500;mix-blend-mode:difference;margin-top:-5rem;white-space:nowrap}
.faq-hero__intro{position:absolute;z-index:3;left:34%;top:49%;max-width:17.7rem;mix-blend-mode:difference}
.faq-hero__media{position:absolute;z-index:1;inset:-14% 0 auto;height:100%;overflow:hidden}
.faq-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 55%;transform:scale(1.35);opacity:.74}
.faq-hero__media span{position:absolute;inset:0;background:linear-gradient(0deg,var(--black),transparent 55%),linear-gradient(90deg,rgba(0,0,0,.65),transparent 42%)}
.faq-list{position:relative;z-index:3}
.faq-item{display:flex;flex-direction:column}
.faq-question{position:relative;width:100%;padding:.55rem 9.5rem;display:grid;grid-template-columns:.8fr 7fr 1.5fr;column-gap:var(--gutter);text-align:left;align-items:center;cursor:pointer;overflow:hidden;border-top:1px solid var(--dark-grey)}
.faq-item:last-child .faq-question{border-bottom:1px solid var(--dark-grey)}
.faq-question::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--white);transform:translateX(-101%);transition:transform .75s var(--ease-out)}
.faq-question:hover::before,.faq-question[aria-expanded="true"]::before{transform:translateX(0)}
.faq-question>*{mix-blend-mode:difference}
.faq-state{display:flex;justify-content:flex-end;align-items:center;gap:1rem}
.faq-state i{font-style:normal;font-size:1.25rem;transition:transform .55s var(--ease-out)}
.faq-question[aria-expanded="true"] .faq-state i{transform:rotate(45deg)}
.faq-answer{padding:0 9.5rem;display:grid;grid-template-columns:repeat(10,1fr);column-gap:var(--gutter);overflow:hidden}
.faq-answer[hidden]{display:none}
.faq-answer p{grid-column:3/8;padding:1.4rem 0 var(--space-45);font-size:1.3em;line-height:132%;max-width:37rem}
.faq-answer ol{grid-column:3/8;margin:0;padding:1.4rem 0 var(--space-45) 1.45rem;font-size:1.3em;line-height:132%;max-width:37rem}
.faq-answer li{padding-left:.25rem}

.book-section{position:relative;z-index:4;background:var(--black);min-height:155vh;padding:1rem var(--margin) var(--space-200);overflow:hidden}
.book-bg{position:absolute;z-index:0;inset:0;overflow:hidden}
.book-bg img{width:100%;height:100%;object-fit:cover;object-position:center 25%;transform:scale(1.18);opacity:.72}
.book-bg span{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.2) 36%,var(--black) 92%),linear-gradient(90deg,rgba(0,0,0,.42),transparent 60%)}
.book-hero{position:relative;z-index:2;mix-blend-mode:difference}
.book-hero h2{font-size:10.6em;line-height:85%;letter-spacing:-.035em;text-transform:uppercase;font-weight:500}
.book-hero h2>span{display:flex;align-items:flex-start;overflow:hidden}
.book-hero h2 .book-hero__indent{margin-left:20rem}
.book-hero h2 em{font-size:1em;text-transform:uppercase}
.book-hero h2 b{font-size:.22em;line-height:1;padding-top:1rem;margin-left:.8rem;font-weight:400}
.book-hero>p{max-width:17.7rem;margin-left:61%;margin-top:-5.3rem}
.booking-grid{position:relative;z-index:2;margin-top:25rem;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);align-items:start}
.booking-form{grid-column:2/9;display:grid;grid-template-columns:1fr 1fr;gap:2.1rem}
.booking-form label{display:flex;flex-direction:column;gap:.7rem}
.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:.05rem solid var(--grey);background:rgba(255,255,255,.05);backdrop-filter:blur(20px);padding:1rem 1.2rem;font-size:1.3em;font-family:"Inter",Arial,sans-serif;border-radius:0;outline:0;appearance:none;transition:border-color .3s,background .3s}
.booking-form input,.booking-form select{height:3.4rem}
.booking-form textarea{resize:vertical;min-height:13rem}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#aaa;background:rgba(255,255,255,.1)}
.booking-form input::placeholder,.booking-form textarea::placeholder{color:var(--light-grey)}
.booking-form__wide{grid-column:1/3}
.form-button{position:relative;width:100%;height:3.4rem;background:var(--white);color:var(--black);display:flex;align-items:center;justify-content:center;gap:.6rem;text-transform:uppercase;font-size:.95em;line-height:130%;cursor:pointer;overflow:hidden;transition:color .45s}
.form-button::before{content:"";position:absolute;inset:0;background:var(--red);transform:translateX(-101%);transition:transform .75s var(--ease-out)}
.form-button:hover::before{transform:translateX(0)}
.form-button>*{position:relative;z-index:1}
.form-status{min-height:1.5rem;color:var(--white)}
.booking-contact{grid-column:10/13;display:flex;flex-direction:column;gap:4rem}
.booking-grid--contact-only{margin-top:9rem}
.booking-grid--contact-only .booking-contact{grid-column:8/13}
.booking-contact>div{display:flex;flex-direction:column;gap:.5rem}
.booking-contact a{font-size:1.3em;line-height:132%}
.booking-contact a:hover{color:var(--red)}

.footer-wrapper{position:relative;z-index:1;margin-top:-150svh}
.footer-spacer{height:150svh}
.footer-bg{position:sticky;bottom:0}
.footer-bg__container{position:relative;height:150svh;overflow:hidden}
.footer-bg__container img{width:100%;height:100%;object-fit:cover;transform:scale(1.35);filter:brightness(.42) contrast(1.15)}
.footer-bg__container span{position:absolute;inset:0;background:linear-gradient(180deg,var(--black),transparent 32%,rgba(0,0,0,.35) 75%,var(--black))}
.site-footer{position:relative;z-index:4;margin-top:-40svh;padding:var(--space-45) var(--margin) 1.46rem;border-top:1px solid var(--dark-grey);background:transparent;mix-blend-mode:difference}
.footer-links{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);align-items:start}
.footer-list{grid-column:7/13;display:flex;flex-direction:column;gap:.15rem}
.footer-list__row{display:grid;grid-template-columns:1fr 2fr;gap:var(--gutter);font-size:1.3em;line-height:132%}
.footer-secondary{grid-column:6/8;margin-top:var(--space-125);display:flex;flex-direction:column;font-family:"Bodoni Moda","Times New Roman",serif;font-size:2.2em;font-style:italic;line-height:128%}
.footer-copyright{grid-column:9/13;margin-top:var(--space-125);font-size:1.3em;line-height:132%;align-self:end}
.footer-signature{width:calc(100svw - 2*var(--margin));margin-top:18rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:baseline;white-space:nowrap;overflow:hidden;font-size:14.8em;line-height:81%;letter-spacing:-.06em}
.footer-signature em{font-size:1em;letter-spacing:-.07em}
.footer-small{display:flex;justify-content:space-between;align-items:center}
.footer-small a:hover{color:var(--red)}

/* Desktop performance states */
.line{display:block}
.line-inner{display:block;will-change:transform}
[data-reveal-media]{clip-path:inset(0 0 100% 0)}

@media (max-width:1200px){
  body{font-size:1vw}
  .cursor{display:none}
  .menu-wrap{display:none}.menu-button{display:flex}
  .nav-contain{padding-top:1.95rem;padding-right:1.95rem}
  .edge-mark--left{left:1.55rem}.edge-mark--right{right:1.55rem}
  .section-track{height:auto}
  .scroll-camera{height:auto;overflow:visible}
  .scroll-content{display:flex;flex-direction:column;height:auto;transform:none!important}
  .about-hero{width:100%;min-width:0;height:auto;padding:0 7.8rem}
  .about-hero__wrapper{flex-direction:column}
  .hero-left{width:100%;height:auto;min-height:72rem;padding-bottom:3.8rem;display:flex;flex-direction:column;justify-content:space-between;align-items:center;position:relative}
  .hero-text-wrapper{position:static;width:100%;height:53rem;margin:0;padding:0;display:flex;align-items:center;justify-content:center}
  .hero-text-display{font-size:54em;text-align:center;line-height:90%}
  .about-time{display:none}
  .hero-right-title-wrapper{height:auto;gap:2.6rem;align-items:center;text-align:center}
  .hero-right-title-text{max-width:47.5rem}
  .hero-right-contact{align-items:center}
  .hero-right{width:100%;height:100rem}
  .hero-right-photo{height:100rem;margin:0 -7.8rem}
  .hero-right-photo__img{transform:scale(1.06);object-position:center top;transform-origin:center top}
  .hero-right-label{right:0;left:0;text-align:center;bottom:3.8rem}
  .global-padding{width:100%;min-width:0;height:20.8rem}
  .section-approach{width:100%;min-width:0;height:auto;padding:0 7.8rem}
  .section-approach__wrapper{height:auto;flex-direction:column;align-items:flex-start}
  .section-approach__left{width:auto;height:auto;gap:6rem;margin-bottom:13rem}
  .statement-label{font-size:2.34em;padding-top:1rem}
  .statement-text{font-size:3.4em;max-width:none}
  .statement-indent{padding-left:14.4rem}
  .section-approach__right{width:100%;height:auto;gap:6.5rem}
  .approach-media{width:100%;height:52rem}
  .approach-caption{font-size:2.34em;max-width:70rem}
  .section-process{width:100%;min-width:0}
  .process-container{width:100%;height:auto;min-height:150rem;padding:0 7.8rem 21rem}
  .process-title{font-size:6em;line-height:110%;max-width:90rem}
  .process-info{margin-top:13rem;display:grid;grid-template-columns:repeat(12,1fr);column-gap:3.8rem}
  .process-label,.process-copy,.normal-link{font-size:2.34em}
  .process-label{grid-column:1/4}.process-copy{grid-column:5/13;max-width:70rem}.process-info .normal-link{grid-column:5/13;margin-top:6rem}
  .process-photo{position:relative;left:auto;top:auto;width:calc(100% + 15.6rem);height:104rem;margin:15rem -7.8rem 0}
  .sessions-contain{width:100%;min-height:0;padding:21rem 0 21rem}
  .sessions-title{font-size:12.4em;line-height:90%;max-width:70rem;margin-bottom:13rem}
  .session-link{padding:1.2rem 7.8rem;min-height:6rem;grid-template-columns:.7fr 1.5fr 2.2fr 1.4fr 1.2fr .7fr;column-gap:3.8rem}
  .session-link .text-subhead{font-size:1.8em}
  .session-link__preview{display:none}
  .sessions-bg{top:19rem;height:120rem}.sessions-bg img{transform:scale(1.4)}
  .big-link{font-size:6.8rem}
  .session-details{padding:21rem 7.8rem 24rem}
  .editorial-heading{column-gap:3.8rem;margin-bottom:21rem}.editorial-heading h2{font-size:6em}.editorial-heading p{font-size:2.34em;grid-column:7/13;max-width:55rem}
  .session-stories{column-gap:3.8rem;row-gap:21rem}
  .session-story--portrait,.session-story--portrait.session-story--offset{grid-column:1/13}
  .session-story{column-gap:3.8rem}
  .session-story--portrait .session-story__media{aspect-ratio:16/10}
  .session-story__content h3{font-size:6em}.session-story__lead,.session-story__content>p:not(.session-story__lead):not(.session-story__result){font-size:2.34em}.session-story__result{font-size:3.3em}
  .session-story__meta{font-size:1.8em}.session-story__content .normal-link{font-size:2.34em}
  .world-section{min-height:0;padding:21rem 7.8rem}.world-section__content>h2{font-size:12.4em;max-width:90rem}.world-lists{grid-template-columns:1fr 1fr;gap:8rem 3.8rem}.world-lists h3{font-size:1.8em}.world-lists p{font-size:2.34em;max-width:70rem}.image-marquee{margin-left:-7.8rem;margin-right:-7.8rem;width:calc(100% + 15.6rem)}
  .image-marquee figure{width:21rem;height:14rem}.image-marquee figure:nth-child(3n+2){width:13rem;height:18rem}
  .ritual-section{padding-top:8rem}.ritual-hero{padding:0 7.8rem;column-gap:3.8rem}.ritual-hero h2{font-size:12.4em}.ritual-hero p{font-size:2.34em;grid-column:7/13;max-width:55rem}.step-card{width:50%;height:56.5rem;padding:3.8rem 3.8rem 2.6rem}.step-card__number,.step-card h3{font-size:3.3em}.step-card h3,.step-card p{padding-left:13rem}.step-card p{font-size:2.34em;max-width:40rem}.ritual-closing{padding:24rem 7.8rem}.ritual-closing h2{font-size:12.4em}
  .trust-section{padding:21rem 0}.trust-heading{padding:0 7.8rem;column-gap:3.8rem}.trust-heading h2{font-size:6em}.trust-row{padding:1.4rem 7.8rem;column-gap:3.8rem;font-size:1.8em}.boundaries-block{margin:21rem 7.8rem 0;column-gap:3.8rem}.boundaries-block h3{font-size:6em}.boundaries-block p{font-size:2.34em}
  .faq-hero{height:100rem;padding:0 7.8rem}.faq-hero__title{font-size:46em;margin-top:0}.faq-hero__intro{left:auto;right:7.8rem;top:50%;font-size:1.8em;max-width:34.8rem}.faq-hero__media{inset:0}.faq-question{padding:1.5rem 7.8rem;column-gap:3.8rem}.faq-question .text-subhead{font-size:1.8em}.faq-answer{padding:0 7.8rem;column-gap:3.8rem}.faq-answer p{font-size:2.34em;grid-column:4/12;max-width:70rem;padding-bottom:6rem}.faq-answer ol{font-size:2.34em;grid-column:4/12;max-width:70rem;padding-bottom:6rem}
  .book-section{min-height:0;padding:6rem 7.8rem 24rem}.book-hero h2{font-size:15em;line-height:90%}.book-hero h2 .book-hero__indent{margin-left:0}.book-hero>p{font-size:1.8em;max-width:55rem;margin:10rem 0 0 auto}.booking-grid{margin-top:20rem;column-gap:3.8rem}.booking-form{grid-column:1/13;gap:3.8rem}.booking-form label{gap:1.3rem}.booking-form label>span{font-size:1.8em}.booking-form input,.booking-form select,.booking-form textarea{font-size:2.34em;padding:1.4rem 1.9rem}.booking-form input,.booking-form select,.form-button{height:6.4rem}.booking-form textarea{min-height:24rem}.form-button{font-size:1.8em}.booking-contact{grid-column:1/13;margin-top:12rem;display:grid;grid-template-columns:repeat(3,1fr);gap:3.8rem}.booking-grid--contact-only .booking-contact{margin-top:0}.booking-contact .text-subhead{font-size:1.8em}.booking-contact a{font-size:2.34em}
  .footer-wrapper{margin-top:-150svh}.site-footer{padding:5.2rem 7rem 3rem;margin-top:-24svh}.footer-links{column-gap:3.8rem}.footer-list{grid-column:1/13}.footer-list__row{font-size:2.34em;grid-template-columns:1fr 2fr}.footer-secondary{grid-column:1/6;font-size:3.3em;margin-top:25rem}.footer-copyright{grid-column:7/13;font-size:2.34em;margin-top:25rem}.footer-signature{font-size:20.8em;line-height:94%;width:calc(100svw - 14rem);margin-top:20rem}.footer-small{font-size:1.8em}
}

@media (max-width:767px){
  :root{--margin:2rem;--gutter:2.7rem}
  body{font-size:1vw}
  .nav-contain{padding-top:3rem;padding-right:2.2rem}.menu-button__word{display:none}.menu-button__glyph{width:2rem;height:1.3rem}
  .edge-mark--left{left:.65rem}.edge-mark--right{right:.8rem}.brand-intro{width:58vw;max-width:none}
  .menu-surface{padding:5rem 8.4rem}.menu-big-links a{font-size:15em;line-height:96%}.menu-small-links{grid-template-columns:1fr;gap:6rem}.menu-small-links .text-subhead,.menu-copyright{font-size:3.1em}
  .about-hero{padding:0 8.4rem}.hero-left{min-height:62rem;padding-bottom:5rem}.hero-text-wrapper{height:60rem;margin:-2rem -8.4rem 8rem;width:100svw}.hero-text-display{font-size:58em}.hero-right-title-text,.hero-right-contact .text-subhead{font-size:3.1em;max-width:76rem}.hero-right{height:55vh}.hero-right-photo{height:55vh;margin:0 -8.4rem}.hero-right-photo__img{object-position:center top;transform:scale(1.1);transform-origin:center top}.hero-right-label{font-size:3.1em;bottom:5rem}
  .global-padding{height:27.7rem}
  .section-approach{padding:0 8.4rem}.section-approach__left{gap:10rem;margin-bottom:22.2rem}.statement-label{font-size:4.6em;padding-top:1.6rem}.statement-text{font-size:6.4em}.statement-indent{padding-left:27.6rem}.section-approach__right{gap:11rem}.approach-media{height:70rem}.approach-caption{font-size:4.6em;max-width:80rem}
  .process-container{padding:0 8.4rem 27.7rem;min-height:0}.process-title{font-size:8.9em;line-height:112%}.process-info{display:flex;flex-direction:column;gap:5rem;margin-top:16rem}.process-label,.process-copy,.process-info .normal-link{font-size:4.6em}.process-copy{max-width:79.4rem}.process-info .normal-link{margin-top:1rem}.process-photo{width:calc(100% + 16.8rem);height:104rem;margin:16rem -8.4rem 0}
  .sessions-contain{padding:27.7rem 0 13.8rem}.sessions-title{font-size:15em;max-width:79rem;margin-bottom:15rem}.sessions-bg{top:25rem;height:155rem}.session-link{min-height:0;padding:3rem 8.4rem;grid-template-columns:.7fr 2fr 1fr;grid-template-rows:auto auto;column-gap:2.7rem;row-gap:1.2rem;border-top:1px solid var(--dark-grey)}.session-link:last-child{border-bottom:1px solid var(--dark-grey)}.session-link .text-subhead{font-size:3.1em}.session-link__tag{grid-column:1;grid-row:1}.session-link__name{grid-column:2;grid-row:1}.session-link__action{grid-column:3;grid-row:1}.session-link__service{grid-column:2/4;grid-row:2;color:var(--text-grey)}.session-link__duration{grid-column:1/2;grid-row:2;color:var(--text-grey)}.session-link__price{grid-column:3;grid-row:2}.big-link{font-size:10.6rem}
  .session-details{padding:27.7rem 8.4rem}.editorial-heading{display:flex;flex-direction:column;gap:7rem;margin-bottom:27.7rem}.editorial-heading__label{font-size:3.1em}.editorial-heading h2{font-size:8.9em}.editorial-heading p{font-size:4.6em;max-width:80rem;margin-top:0}.session-stories{display:flex;flex-direction:column;gap:27.7rem}.session-story{display:block;width:100%}.session-story__media{aspect-ratio:4/5!important}.session-story__index{font-size:3.1em;top:2rem;left:2rem}.session-story__content{display:flex;flex-direction:column;margin-top:4rem}.session-story__content h3{font-size:8.9em;margin-bottom:6rem}.session-story__lead,.session-story__content>p:not(.session-story__lead):not(.session-story__result){font-size:4.6em;max-width:80rem;margin-bottom:4rem}.session-story__result{font-size:6.4em;margin:3rem 0}.session-story__meta{font-size:3.1em;flex-direction:column;gap:2rem;margin-top:6rem}.session-story__content .normal-link{font-size:4.6em;margin-top:6rem}
  .world-section{padding:27.7rem 8.4rem}.world-section__content>span{font-size:3.1em}.world-section__content>h2{font-size:13.4em;line-height:96%;margin:8rem 0 20rem}.world-lists{display:flex;flex-direction:column;gap:10rem}.world-lists>div{width:100%}.world-lists h3{font-size:3.1em}.world-lists p{font-size:4.6em;max-width:80rem}.image-marquee{margin:20rem -8.4rem 0;width:calc(100% + 16.8rem)}.image-marquee figure{width:34rem;height:23rem}.image-marquee figure:nth-child(3n+2){width:22rem;height:31rem}
  .ritual-section{padding-top:9rem}.ritual-bg{height:120vh}.ritual-hero{min-height:100vh;padding:0 8.4rem;display:flex;flex-direction:column}.ritual-hero>span{font-size:3.1em}.ritual-hero h2{font-size:15.9em;line-height:90%;margin-top:9rem}.ritual-hero p{font-size:4.6em;max-width:72rem;margin:9rem 0 0 auto}.steps-wrapper{padding:0 8.4rem;gap:13.8rem}.step-card{width:100%;height:100rem;padding:4rem 5rem;border:1px solid var(--dark-grey)}.step-card__number,.step-card h3{font-size:6.4em}.step-card h3{padding-left:23.8rem}.step-card p{font-size:4.6em;padding-left:0;max-width:76rem}.ritual-closing{padding:30rem 8.4rem}.ritual-closing h2{font-size:15em}.ritual-closing .big-link{margin-top:14rem}
  .trust-section{padding:27.7rem 0}.trust-heading{padding:0 8.4rem;display:flex;flex-direction:column;gap:8rem;margin-bottom:16rem}.trust-heading>span{font-size:3.1em}.trust-heading h2{font-size:8.9em}.trust-row{padding:3rem 8.4rem;grid-template-columns:.7fr 2.3fr;grid-template-rows:auto auto;font-size:3.1em;row-gap:1.2rem}.trust-row span:last-child{grid-column:2;color:var(--text-grey)}.boundaries-block{margin:27.7rem 8.4rem 0;display:flex;flex-direction:column;gap:8rem}.boundaries-block>span{font-size:3.1em}.boundaries-block h3{font-size:8.9em}.boundaries-block p{font-size:4.6em}
  .faq-hero{height:88rem;padding:0 8.4rem}.faq-hero__title{font-size:47.5em;margin-top:6rem}.faq-hero__intro{font-size:3.1em;right:8.4rem;top:50%;max-width:60rem}.faq-hero__media img{transform:scale(1.5)}.faq-question{padding:3.2rem 8.4rem;grid-template-columns:.8fr 4fr .8fr;column-gap:2.7rem;align-items:start}.faq-question .text-subhead{font-size:3.1em}.faq-state span{display:none}.faq-state i{font-size:3.35rem}.faq-answer{padding:0 8.4rem;display:block}.faq-answer p{font-size:4.6em;padding:4rem 0 12rem;max-width:80rem}.faq-answer ol{font-size:4.6em;padding:4rem 0 12rem 6rem;max-width:80rem}
  .book-section{padding:9rem 8.4rem 27.7rem}.book-bg img{object-position:42% 20%;transform:scale(1.35)}.book-hero h2{font-size:16em}.book-hero h2 b{font-size:.22em;padding-top:1.2rem}.book-hero>p{font-size:3.1em;max-width:70.8rem;margin-top:10rem}.booking-grid{margin-top:30rem;display:block}.booking-form{display:flex;flex-direction:column;gap:8rem}.booking-form label{gap:2.7rem}.booking-form label>span{font-size:3.1em}.booking-form input,.booking-form select,.booking-form textarea{font-size:4.6em;padding:3rem 4.1rem}.booking-form input,.booking-form select,.form-button{height:13rem}.booking-form textarea{min-height:35rem}.form-button{font-size:3.1em}.booking-contact{margin-top:20rem;display:flex;flex-direction:column;gap:10rem}.booking-grid--contact-only .booking-contact{margin-top:0}.booking-contact .text-subhead{font-size:3.1em}.booking-contact a{font-size:4.6em}
  .footer-bg__container,.footer-spacer{height:165svh}.footer-wrapper{margin-top:-165svh}.site-footer{padding:6rem 8.4rem 12rem;margin-top:-24svh;background:var(--black);mix-blend-mode:normal}.footer-links{display:flex;flex-direction:column}.footer-list{width:100%}.footer-list__row{font-size:4.72em;grid-template-columns:1fr 2fr}.footer-secondary{font-size:6.4em;margin-top:12.5rem}.footer-copyright{font-size:4.72em;margin-top:8.3rem}.footer-signature{width:calc(100svw - 16.8rem);font-size:22em;line-height:94%;white-space:normal;text-align:center;flex-wrap:wrap;margin-top:20rem}.footer-small{font-size:3.1em;flex-direction:column;gap:3rem;text-align:center}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .entry-screen{display:none}
  .section-track{height:auto}.scroll-camera{height:auto;overflow:visible}.scroll-content{display:flex;flex-direction:column;transform:none!important}
  .about-hero,.section-process{width:100%;min-width:0}.global-padding{width:100%;min-width:0}
  [data-reveal-media]{clip-path:none}
}


/* v2.2.7 — requested layout tweaks only */
.process-photo{background:var(--black)}
.process-photo img{object-fit:contain;object-position:center center;transform:scale(1);background:var(--black)}
.sessions-contain{padding-top:12rem}
.sessions-bg{top:12rem}
.session-story--wide .session-story__media{aspect-ratio:8/5}

@media (max-width:1200px){
  .process-photo img{object-fit:contain;object-position:center center;transform:scale(1)}
  .sessions-contain{padding-top:16rem}
  .sessions-bg{top:16rem}
  .session-story--wide .session-story__media{aspect-ratio:8/5}
}

@media (max-width:767px){
  .process-photo img{object-fit:contain;object-position:center center;transform:scale(1)}
  .sessions-contain{padding-top:18rem}
  .sessions-bg{top:18rem}
}


/* v2.2.8 — sessions background photo: taller block + full image across screen width */
.sessions-bg{height:112rem;overflow:hidden;background:var(--black)}
.sessions-bg img{width:100%;height:100%;object-fit:contain;object-position:center top;opacity:.68;transform:none;background:var(--black)}

@media (max-width:1200px){
  .sessions-bg{height:168rem}
  .sessions-bg img{object-fit:contain;object-position:center top;transform:none}
}

@media (max-width:767px){
  .sessions-bg{height:64rem}
  .sessions-bg img{object-fit:contain;object-position:center top;transform:none}
}


/* v2.2.9 — requested Session Packs image and spacing refinements only */
.session-details{padding-bottom:10rem}
.world-section{padding-top:8rem;padding-bottom:6rem}
.ritual-closing{padding-top:6rem}

@media (max-width:1200px){
  .session-details{padding-bottom:12rem}
  .world-section{padding-top:12rem;padding-bottom:8rem}
  .ritual-closing{padding-top:8rem}
}

@media (max-width:767px){
  .session-details{padding-bottom:14rem}
  .world-section{padding-top:14rem;padding-bottom:10rem}
  .ritual-closing{padding-top:10rem}
}


/* v2.2.11 — closing information added to the penultimate / Book block */
.book-end{position:relative;z-index:2;margin-top:18rem}
.book-end__signature{width:calc(100svw - 2*var(--margin));margin-bottom:2rem;display:flex;justify-content:center;align-items:baseline;white-space:nowrap;overflow:hidden;font-size:14.8em;line-height:81%;letter-spacing:-.06em}
.book-end__signature em{font-size:1em;letter-spacing:-.07em}
.book-end__small{display:flex;justify-content:space-between;align-items:center}
.book-end__small a:hover,.book-end__credits a:hover{color:var(--red)}
.book-end__credits{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--dark-grey);display:flex;justify-content:space-between;align-items:center}

@media (max-width:1200px){
  .book-end{margin-top:20rem}
  .book-end__signature{font-size:20.8em;line-height:94%;width:calc(100svw - 14rem)}
  .book-end__small,.book-end__credits{font-size:1.8em}
}

@media (max-width:767px){
  .book-end{margin-top:20rem}
  .book-end__signature{width:calc(100svw - 16.8rem);font-size:22em;line-height:94%;white-space:normal;text-align:center;flex-wrap:wrap}
  .book-end__small{font-size:3.1em;flex-direction:column;gap:3rem;text-align:center}
  .book-end__credits{font-size:3.1em;margin-top:8rem;flex-direction:row;gap:2rem;align-items:flex-end}
  .book-end__credits a{text-align:right}
}


/* v2.2.13 — requested only: compact ending after credits */
.book-section{min-height:0;padding-bottom:1.46rem}


/* v2.2.14 — Book description and contacts moved to the left under BOOK / YOUR / RESET */
.book-left-content{position:relative;z-index:2;width:min(31rem,42vw);margin-top:4.8rem;margin-left:0;display:flex;flex-direction:column;gap:5rem}
.book-left-content>p{max-width:22rem;margin:0}
.booking-contact--left{display:flex;flex-direction:column;gap:3.2rem;width:100%}
.booking-contact--left>div{display:flex;flex-direction:column;gap:.5rem}
.booking-contact--left a{font-size:1.3em;line-height:132%}

@media (max-width:1200px){
  .book-left-content{width:min(56rem,72vw);margin-top:8rem;gap:8rem}
  .book-left-content>p{font-size:1.8em;max-width:55rem;margin:0}
  .booking-contact--left{display:grid;grid-template-columns:repeat(3,1fr);gap:3.8rem;width:100%}
  .booking-contact--left .text-subhead{font-size:1.8em}
  .booking-contact--left a{font-size:2.34em}
}

@media (max-width:767px){
  .book-left-content{width:100%;margin-top:10rem;gap:10rem}
  .book-left-content>p{font-size:3.1em;max-width:70.8rem;margin:0}
  .booking-contact--left{display:flex;flex-direction:column;gap:10rem;width:100%}
  .booking-contact--left .text-subhead{font-size:3.1em}
  .booking-contact--left a{font-size:4.6em}
}


/* v2.2.15 — requested spacing/layout adjustments only */
/* 1. Reduce gap between Method copy and photo by 75% */
.process-photo{top:43rem}

/* 2. Reduce free space before “sessions” by 60% */
.sessions-contain{padding-top:4.8rem}

/* 3. Double the visible height of the Sessions image block */
.sessions-contain{min-height:136rem}
.sessions-bg{height:224rem}
.sessions-bg img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:none}

/* 4. Halve the gap from the Sessions intro copy to 00-1 / RESET */
.editorial-heading{margin-bottom:9rem}

/* 5. Reduce the first / RESET image height by 40% */
.session-stories>.session-story:first-child .session-story__media{aspect-ratio:8/3!important}

/* 6. Halve the space before (Practice & Trust) */
.ritual-closing{padding-bottom:11rem}
.trust-section{padding-top:10rem}

@media (max-width:1200px){
  .process-photo{margin-top:3.75rem}
  .sessions-contain{padding-top:6.4rem}
  .sessions-bg{height:336rem}
  .sessions-bg img{object-fit:cover;object-position:center center;transform:none}
  .editorial-heading{margin-bottom:10.5rem}
  .ritual-closing{padding-bottom:12rem}
  .trust-section{padding-top:10.5rem}
}

@media (max-width:767px){
  .process-photo{margin-top:4rem}
  .sessions-contain{padding-top:7.2rem}
  .sessions-bg{height:128rem}
  .sessions-bg img{object-fit:cover;object-position:center center;transform:none}
  .editorial-heading{margin-bottom:13.85rem}
  .ritual-closing{padding-bottom:15rem}
  .trust-section{padding-top:13.85rem}
}


/* v2.2.16 — reduce gap between Method photo and Sessions by 75% (desktop only) */
@media (min-width:1201px){
  .process-container{height:91.65rem}
}

/* v2.2.17 — replace image before (Sessions / 00-1—00-4) and show it full width */
.sessions-bg{background:var(--black)}
.sessions-bg img{width:100%;height:100%;object-fit:contain;object-position:center top;transform:none;opacity:.68;background:var(--black)}
@media (max-width:1200px){
  .sessions-bg img{object-fit:contain;object-position:center top;transform:none}
}
@media (max-width:767px){
  .sessions-bg img{object-fit:contain;object-position:center top;transform:none}
}

/* v2.2.18 — reduce gap between the Sessions lead image and (Sessions / 00-1—00-4) by 95% */
.session-details{padding-top:.73rem}
@media (max-width:1200px){
  .session-details{padding-top:1.05rem}
}
@media (max-width:767px){
  .session-details{padding-top:1.385rem}
}

/* v2.2.19 — actually remove the empty tail of the Sessions image container */
.sessions-contain{min-height:71.7rem}
@media (max-width:1200px){
  .sessions-contain{min-height:75.5rem}
}
@media (max-width:767px){
  .sessions-contain{min-height:77.5rem}
}

/* v2.2.20 — restore Sessions lead photo to its previous full visible height; keep v2.2.19 gap */
.sessions-bg img{transform:none!important}

/* v2.2.21 — RESET image crop: show lower part of the photo */
.session-stories>.session-story:first-child .session-story__media img{object-position:center bottom}


/* v2.2.22 — Practice & Trust: white text and edge marks while red row is active */
.trust-row:hover > *,
.trust-row.is-trust-color-active > *{
  color:#fff!important;
  mix-blend-mode:normal!important;
}
body.is-trust-row-active .nav-wrap{mix-blend-mode:normal!important}
body.is-trust-row-active .edge-mark{color:#fff!important}

/* v2.2.28 — mobile menu visibility / burger size + requested story media heights */
@media (max-width:767px){
  /* Fixed pixel hit-area because the site's rem scale is tied to 1vw on mobile. */
  .menu-button{
    width:48px;
    height:48px;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    z-index:1002;
  }
  .menu-button__glyph{width:28px;height:18px;display:block}
  .menu-button__glyph i{height:2px}
  .menu-button__glyph i:first-child{top:4px}
  .menu-button__glyph i:last-child{top:13px}
  .menu-button[aria-expanded="true"] .menu-button__glyph i:first-child,
  .menu-button[aria-expanded="true"] .menu-button__glyph i:last-child{top:8px}

  .mobile-menu__backdrop{background:rgba(0,0,0,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .menu-big-links{height:58%;width:100%;justify-content:center;gap:1.5rem}
  .menu-big-links a{color:#fff;font-size:15em;line-height:92%;opacity:1;visibility:visible;text-align:center}
  .menu-small-links{position:relative;z-index:2;color:#fff}
  .menu-small-links .text-grey{color:rgba(255,255,255,.55)}

  /* Deep Tissue + Relax + Energy: 20% less height than previous mobile 4/5 media. */
  .session-stories>.session-story:nth-child(2) .session-story__media,
  .session-stories>.session-story:nth-child(3) .session-story__media{aspect-ratio:1/1!important}
}

/* Deep Tissue + Relax + Energy: 20% less height on desktop. */
@media (min-width:1201px){
  .session-stories>.session-story:nth-child(2) .session-story__media,
  .session-stories>.session-story:nth-child(3) .session-story__media{aspect-ratio:1/1!important}
}

/* Their tablet layout was 16/10; 20% less height = 2/1. */
@media (min-width:768px) and (max-width:1200px){
  .session-stories>.session-story:nth-child(2) .session-story__media,
  .session-stories>.session-story:nth-child(3) .session-story__media{aspect-ratio:2/1!important}
}

/* v2.2.30 — requested Method and Sessions image framing only */
@media (min-width:1201px){
  .process-photo{
    left:0;
    top:31rem;
    bottom:.5rem;
    width:45rem;
    height:auto;
    margin:0;
  }
  .process-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    transform:none!important;
    background:transparent;
  }
  .sessions-bg img{
    display:block;
    width:82%;
    height:auto;
    max-height:none;
    margin:0 auto;
    object-fit:contain;
    object-position:center top;
    transform:none!important;
  }
}

@media (max-width:1200px){
  .process-photo{margin-top:4rem}
  .process-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    transform:none!important;
    background:transparent;
  }
  .sessions-bg img{
    display:block;
    width:88%;
    height:auto;
    max-height:none;
    margin:0 auto;
    object-fit:contain;
    object-position:center top;
    transform:none!important;
  }
}

@media (max-width:767px){
  .sessions-bg img{width:94%}
}

/* v2.2.31 — Sessions background: show the back across the full screen width */
.sessions-bg img{
  display:block;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center top!important;
  transform:none!important;
}
@media (min-width:1201px){
  .sessions-bg img{width:100%!important}
}
@media (max-width:1200px){
  .sessions-bg img{width:100%!important}
}
@media (max-width:767px){
  .sessions-bg img{width:100%!important}
}


/* v2.2.35 — hero portrait framing: full head + shoulders */
.hero-right-photo__img{
  object-fit:cover!important;
  object-position:center top!important;
  transform:none!important;
  transform-origin:center top!important;
}
@media (max-width:1200px){
  .hero-right-photo__img{object-position:center top!important;transform:none!important}
}
@media (max-width:767px){
  .hero-right-photo__img{object-position:center top!important;transform:none!important}
}

/* v2.2.36 — hero portrait zoomed out slightly so full head + shoulders read clearly */
@media (min-width: 1201px){
  .hero-right-photo{
    align-items:flex-start!important;
    justify-content:center!important;
  }
  .hero-right-photo__img{
    width:92%!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center top!important;
    margin-top:2.2vh!important;
    transform:none!important;
  }
}

/* v2.2.37 — hero portrait reduced in width so subject reads down to the chest */
@media (min-width: 1201px){
  .hero-right-photo{
    align-items:flex-start!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .hero-right-photo__img{
    width:84%!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center top!important;
    margin-top:1.4vh!important;
    transform:none!important;
  }
}

/* v2.2.38 — hero portrait full height, aligned to the right edge with inset */
@media (min-width: 1201px){
  .hero-right-photo{
    height:100vh!important;
    margin-right:0!important;
    padding:1.2rem 2.8rem 1.2rem 0!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-end!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .hero-right-photo picture{
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-end!important;
  }
  .hero-right-photo__img{
    width:auto!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:right top!important;
    margin:0!important;
    transform:none!important;
    display:block!important;
  }
}

/* v2.2.39 — smoother scroll animation for hero portrait */
.hero-right-photo__img{will-change:transform;}


/* v2.2.42 — hero photo parallax to the right during horizontal scroll */
@media (min-width:1201px){
  .hero-right-photo__img{
    --hero-parallax-x:0rem;
    transform:translate3d(var(--hero-parallax-x),0,0)!important;
    will-change:transform;
  }
}

/* v2.2.43 — mobile menu contacts readable + text-style CTA arrow */
.cta-arrow{
  display:inline-block;
  width:.58em;
  height:.58em;
  margin-left:.08em;
  position:relative;
  vertical-align:.02em;
}
.cta-arrow::before{
  content:"";
  position:absolute;
  left:.08em;
  bottom:.08em;
  width:.42em;
  height:.42em;
  border-top:.07em solid currentColor;
  border-right:.07em solid currentColor;
}
.cta-arrow::after{
  content:"";
  position:absolute;
  left:.11em;
  bottom:.1em;
  width:.55em;
  height:.07em;
  background:currentColor;
  transform:rotate(-45deg);
  transform-origin:left center;
}

@media (max-width:767px){
  .mobile-menu{height:100dvh;overflow:hidden}
  .menu-surface{
    height:100dvh;
    box-sizing:border-box;
    padding:72px 24px 28px!important;
    justify-content:flex-start!important;
    gap:0!important;
  }
  .menu-big-links{
    height:auto!important;
    flex:0 0 auto;
    width:100%;
    justify-content:flex-start!important;
    gap:0!important;
    margin-top:42px;
  }
  .menu-big-links a{
    font-size:58px!important;
    line-height:.92!important;
    letter-spacing:-.045em!important;
  }
  .menu-small-links{
    width:100%!important;
    margin-top:auto!important;
    display:grid!important;
    grid-template-columns:1.35fr .65fr 1fr!important;
    gap:20px!important;
    align-items:end!important;
    padding-top:36px!important;
    padding-bottom:18px!important;
    font-size:12px!important;
    line-height:1.25!important;
  }
  .menu-small-links>div{
    align-items:flex-start!important;
    text-align:left!important;
    gap:4px!important;
  }
  .menu-small-links .menu-utility-block{
    align-items:center!important;
    text-align:center!important;
  }
  .menu-small-links .menu-social-block{
    align-items:flex-end!important;
    text-align:right!important;
  }
  .menu-small-links,
  .menu-small-links a,
  .menu-small-links span{
    color:#fff!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .menu-small-links .text-grey{color:rgba(255,255,255,.58)!important}
  .menu-copyright{
    position:static!important;
    width:100%;
    margin-top:0!important;
    font-size:10px!important;
    line-height:1.2!important;
    text-align:center!important;
    color:rgba(255,255,255,.55)!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .big-link .cta-arrow{width:.48em;height:.48em;margin-left:.02em}
}

/* v2.2.44 — clean mobile menu background: remove blur/mask artifacts */
@media (max-width:767px){
  .mobile-menu{
    background:#000!important;
    isolation:isolate!important;
  }
  .mobile-menu__backdrop{
    background:#000!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    filter:none!important;
  }
  .menu-surface{
    background:#000!important;
  }
  .menu-big-links,
  .menu-big-links a,
  .menu-big-links a span{
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
  }
}


/* v2.2.47 — remove focus frame artifact inside mobile menu */
@media (max-width:1200px){
  .mobile-menu a:focus,
  .mobile-menu a:focus-visible,
  .mobile-menu button:focus,
  .mobile-menu button:focus-visible{
    outline:none!important;
    outline-offset:0!important;
    box-shadow:none!important;
  }
}

/* v2.2.50 — Relax + Energy Massage: shift image lower inside frame so upper photo and hands stay visible */
.session-stories>.session-story:nth-child(3) .session-story__media img{
  object-position:center top!important;
}

[data-focus-target]:focus{outline:none}

/* Keyboard focus is visible without restoring the rectangular red frame. */
@media (max-width:1200px){
  .mobile-menu a:focus-visible{
    outline:none!important;box-shadow:none!important;color:#fff!important;
    text-decoration:underline;text-decoration-color:var(--red);
    text-decoration-thickness:.08em;text-underline-offset:.14em;
  }
}

.booking-privacy-note{
  margin-top:2rem;max-width:31rem;color:var(--text-grey);
  font-size:.78em;line-height:145%;
}
.booking-privacy-note a,.book-end__legal a{text-decoration:underline;text-underline-offset:.18em}
.booking-privacy-note a:hover,.book-end__legal a:hover{color:var(--red)}
.book-end__legal{
  margin-top:1rem;display:flex;flex-wrap:wrap;justify-content:flex-end;
  align-items:center;gap:.6rem 1.15rem;color:var(--text-grey);
}
.book-end__legal button{
  cursor:pointer;text-decoration:underline;text-underline-offset:.18em;
}
.book-end__legal button:hover{color:var(--red)}

/* Consent UI. Analytics is basic-mode: no Google request before opt-in. */
.consent-root{position:fixed;inset:0;z-index:12000;pointer-events:none}
.consent-root[hidden]{display:none}
.consent-banner,.consent-preferences{
  pointer-events:auto;background:rgba(7,7,7,.98);color:var(--white);
  border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 90px rgba(0,0,0,.65);
}
.consent-banner{
  position:absolute;right:max(1.1rem,env(safe-area-inset-right));
  bottom:max(1.1rem,env(safe-area-inset-bottom));width:min(35rem,calc(100vw - 2.2rem));
  padding:1.35rem;
}
.consent-kicker{color:var(--text-grey);text-transform:uppercase;font-size:.72rem;letter-spacing:.045em}
.consent-banner h2,.consent-preferences h2{margin:.55rem 0 .8rem;font-size:1.55rem;line-height:105%;font-weight:500;letter-spacing:-.035em}
.consent-banner p,.consent-preferences p{max-width:31rem;font-size:.9rem;line-height:145%;color:#c8c8c8}
.consent-banner a,.consent-preferences a{text-decoration:underline;text-underline-offset:.18em}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:1.2rem}
.consent-button{
  min-height:2.8rem;padding:.68rem .9rem;border:1px solid rgba(255,255,255,.35);
  cursor:pointer;text-transform:uppercase;font-size:.72rem;letter-spacing:.03em;
}
.consent-button--primary{background:var(--red);border-color:var(--red)}
.consent-button--secondary{background:#e7e4df;border-color:#e7e4df;color:#080808}
.consent-button--text{grid-column:1/-1;min-height:auto;border:0;text-decoration:underline;text-underline-offset:.18em;color:#c8c8c8}
.consent-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);pointer-events:auto}
.consent-preferences{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(40rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;padding:1.5rem;
}
.consent-preferences[hidden]{display:none}
.consent-preferences__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.consent-close{width:2.5rem;height:2.5rem;border:1px solid rgba(255,255,255,.24);cursor:pointer;font-size:1.25rem}
.consent-category{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--dark-grey)}
.consent-category__row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.consent-category h3{font-size:1rem;font-weight:500}
.consent-status{color:var(--text-grey);font-size:.72rem;text-transform:uppercase}
.consent-switch{position:relative;display:inline-flex;align-items:center;gap:.55rem;cursor:pointer}
.consent-switch input{width:1.15rem;height:1.15rem;accent-color:var(--red)}
.consent-preferences__actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.5rem}
.consent-preferences__actions .consent-button{flex:1 1 12rem}
body.is-consent-modal-open{overflow:hidden}

@media (max-width:1200px){
  .booking-privacy-note{font-size:3.1em;max-width:70rem;margin-top:5rem}
  .book-end__legal{justify-content:center;font-size:3.1em;margin-top:5rem;text-align:center}
}
@media (max-width:600px){
  .consent-banner{padding:1.1rem}
  .consent-actions{grid-template-columns:1fr}
  .consent-button--text{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){
  .consent-root *{scroll-behavior:auto!important;transition:none!important}
}


/* v2.4.0 — language switch and compliant complaints-book access */
.language-switch{display:inline-flex;align-items:center;gap:.28rem;margin-left:.55rem;pointer-events:auto;color:var(--white)}
.language-switch strong{font-weight:600}.language-switch span{color:var(--light-transparent)}
.language-switch--menu{margin:.35rem 0 0;justify-content:center}
.book-end__legal .lre-link{color:var(--white);font-weight:600}
.book-end__legal .lre-link:hover{color:var(--red)}
@media(max-width:1200px){.language-switch{font-size:1em}.language-switch--menu{font-size:inherit;margin-top:.8rem}}

/* v2.4.2 — compact desktop consent; readable mobile consent and contact menu */
.consent-banner{
  width:min(420px,calc(100vw - 32px));
  right:max(16px,env(safe-area-inset-right));
  bottom:max(16px,env(safe-area-inset-bottom));
  padding:16px 18px;
}
.consent-kicker{font-size:10px;line-height:1.2;letter-spacing:.08em}
.consent-banner h2,
.consent-preferences h2{
  margin:6px 0 10px;
  font-size:22px;
  line-height:1.05;
  letter-spacing:-.025em;
}
.consent-banner p,
.consent-preferences p{
  max-width:none;
  font-size:14px;
  line-height:1.4;
}
.consent-actions{gap:8px;margin-top:14px}
.consent-button{
  min-height:40px;
  padding:9px 10px;
  font-size:10px;
  line-height:1.15;
  letter-spacing:.035em;
}
.consent-button--text{min-height:30px;padding:7px 10px}
.consent-preferences{
  width:min(560px,calc(100vw - 32px));
  max-height:calc(100dvh - 32px);
  padding:22px;
}
.consent-close{width:40px;height:40px;font-size:20px}
.consent-category{margin-top:18px;padding-top:15px}
.consent-category h3{font-size:16px;line-height:1.2}
.consent-status{font-size:10px}
.consent-switch input{width:18px;height:18px}
.consent-preferences__actions{gap:8px;margin-top:20px}

@media (max-width:767px){
  .consent-banner{
    left:max(12px,env(safe-area-inset-left));
    right:max(12px,env(safe-area-inset-right));
    bottom:max(12px,env(safe-area-inset-bottom));
    width:auto;
    max-height:calc(100dvh - 24px);
    overflow:auto;
    padding:16px;
    background:#070707;
    border-color:rgba(255,255,255,.32);
    box-shadow:0 16px 56px rgba(0,0,0,.82);
  }
  .consent-banner h2,.consent-preferences h2{font-size:20px;margin:5px 0 9px}
  .consent-banner p,.consent-preferences p{font-size:13px;line-height:1.42}
  .consent-actions{grid-template-columns:1fr 1fr!important;gap:8px;margin-top:13px}
  .consent-button{min-height:42px;padding:9px 7px;font-size:10px}
  .consent-button--text{grid-column:1/-1!important;min-height:32px;padding:7px}
  .consent-preferences{
    left:max(12px,env(safe-area-inset-left));
    right:max(12px,env(safe-area-inset-right));
    top:50%;
    width:auto;
    max-height:calc(100dvh - 24px);
    padding:18px 16px;
    transform:translateY(-50%);
  }
  .consent-category__row{gap:12px}
  .consent-preferences__actions{display:grid;grid-template-columns:1fr 1fr}
  .consent-preferences__actions .consent-button{min-width:0}

  .mobile-menu .menu-surface{padding:72px 24px 22px!important}
  .mobile-menu .menu-big-links{margin-top:34px!important}
  .mobile-menu .menu-small-links{
    width:100%!important;
    margin-top:auto!important;
    padding:24px 0 12px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
    font-size:initial!important;
    line-height:1.2!important;
    text-align:center!important;
  }
  .mobile-menu .menu-small-links>.menu-contact-block,
  .mobile-menu .menu-small-links>.menu-social-block{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    text-align:center!important;
  }
  .mobile-menu .menu-contact-block{order:1}
  .mobile-menu .menu-social-block{order:2}
  .mobile-menu .menu-utility-block{order:3}
  .mobile-menu .menu-contact-block .text-grey{
    margin-bottom:2px;
    font-size:10px!important;
    line-height:1.2!important;
    letter-spacing:.06em!important;
  }
  .mobile-menu .menu-contact-block a,
  .mobile-menu .menu-social-block a{
    font-size:16px!important;
    line-height:1.18!important;
    letter-spacing:-.01em!important;
  }
  .mobile-menu .menu-small-links>.menu-utility-block{
    width:min(100%,330px)!important;
    display:flex!important;
    flex-flow:row wrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px 10px!important;
    text-align:center!important;
  }
  .mobile-menu .menu-utility-block>a,
  .mobile-menu .menu-utility-block .language-switch{
    margin:0!important;
    font-size:10px!important;
    line-height:1.2!important;
    letter-spacing:.025em!important;
  }
  .mobile-menu .menu-copyright{
    margin-top:0!important;
    font-size:9px!important;
    line-height:1.2!important;
  }
}

@media (max-width:360px){
  .consent-actions,.consent-preferences__actions{grid-template-columns:1fr!important}
  .consent-button--text{grid-column:auto!important}
  .mobile-menu .menu-big-links a{font-size:51px!important}
  .mobile-menu .menu-small-links{gap:8px!important;padding-top:18px!important}
  .mobile-menu .menu-contact-block a,
  .mobile-menu .menu-social-block a{font-size:15px!important}
}
