/* Chris's sound bed practice, carried through Sanctuary's existing palette and type. */
/* Keep the real session room in its full landscape composition. */
.experience-stage.has-space-photography{height:auto;max-height:none;aspect-ratio:3/2}
.experience-scroll-lines{display:none}
@media(min-width:701px){
 .experience-stage.has-space-photography{width:100%;max-width:calc((100svh - 40px)*1.5);justify-self:center;overflow:visible}
 .experience-scroll-lines{display:block;position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 900ms ease}
 .experience-stage.is-scrolling .experience-scroll-lines{opacity:1}
 .experience-scroll-lines::before,.experience-scroll-lines::after{content:'';position:absolute;left:50%;width:1px;height:clamp(0px,calc(var(--journey-top) - 44px),140px);transform:translateX(-50%)}
 .experience-scroll-lines::before{bottom:calc(100% + 24px);background:linear-gradient(to bottom,transparent,#c7ab7566)}
 .experience-scroll-lines::after{top:calc(100% + 24px);background:linear-gradient(to bottom,#c7ab7566,transparent)}
}
.motion-paused .experience-scroll-lines{transition:none}
@media(prefers-reduced-motion:reduce){.experience-scroll-lines{transition:none}}
.has-space-photography .scene-sound img{object-position:50% 50%;filter:brightness(1.17) saturate(.66) contrast(.94)}
.has-space-photography .scene-sound::after{background:linear-gradient(transparent 68%,#10150f8c)}
.has-space-photography .scene-light::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 68%,#10150f99);pointer-events:none}
.booking-arrival{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:5vw;align-items:center;margin:0 6vw 55px;padding-top:38px;border-top:1px solid #9c956940}
.booking-arrival-photo{aspect-ratio:3/2}
.sanctuary .booking-arrival h2{font-size:42px;margin:14px 0 18px}
.sanctuary .booking-arrival p{font-size:14px;max-width:39ch}
.sanctuary .booking-arrival p+p{margin-top:10px}
.sanctuary .booking-arrival .text-link{display:inline-flex;align-items:center;gap:18px;margin-top:12px;font-size:13px}
@media(max-width:700px){
 .experience-stage.has-space-photography{aspect-ratio:auto}
 .has-space-photography .experience-scene{height:auto;aspect-ratio:3/2}
 .booking-arrival{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:40px;padding-top:28px}
 .sanctuary .booking-arrival h2{font-size:38px}
}
.sanctuary .sanctuary-header .sanctuary-desktop-nav{gap:22px}
.sanctuary-threshold>.sanctuary-room{filter:brightness(.63) saturate(.42)}
.sanctuary .sanctuary-arrival{padding:42px 24px 50px}
.sanctuary .sanctuary-arrival h1{font-size:clamp(72px,8.2vw,108px);line-height:.96;margin:0 0 25px}
.sanctuary .sanctuary-arrival .business-motto{font-size:17px;line-height:1.75;max-width:42ch;text-wrap:balance}
.sanctuary-arrival-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px;margin-top:29px}
.sanctuary .sanctuary-arrival-actions>.site-button{margin-top:0;min-width:0;min-height:49px;padding:14px 23px;font-size:13px}
.sanctuary .sanctuary-arrival .sanctuary-book-now{background:var(--gold);border-color:var(--gold);color:var(--night)}
.sanctuary .sanctuary-arrival .sanctuary-book-now:hover{background:#d6c294}
.sanctuary .sanctuary-arrival-secondary{margin-top:0;font-size:12px;color:#e1d8c4;gap:10px}
.sanctuary .sanctuary-threshold-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin:0 6vw 25px;font-size:12px}
.sanctuary .sanctuary-threshold-foot>span:last-child{display:block}
.sanctuary .sanctuary-preview-copy>p+p{margin-top:16px}
.sanctuary-sessions,.sanctuary-visit{max-width:1600px;margin:auto;padding:70px 7vw 80px;border-top:1px solid #75804a33}
.practice-section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:end;margin-bottom:42px}
.practice-section-heading h2{margin:18px 0 0}
.practice-section-heading p{max-width:43ch;margin:0}
.practice-location{display:block;margin-top:18px;color:#d6c397;font-size:12px;line-height:1.7}
.session-option{display:grid;grid-template-columns:1fr 1.6fr auto;gap:32px;align-items:center;padding:27px 0;border-top:1px solid #9c956940}
.session-option:last-child{border-bottom:1px solid #9c956940}
.session-option h3{margin:0;font:400 60px/1 var(--display);letter-spacing:-.035em;color:var(--paper);white-space:nowrap}
.session-option h3>span{font:400 12px/1.5 var(--body);letter-spacing:0;margin-left:8px;color:var(--quiet)}
.session-option dl{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0}
.session-option dt{font-size:11px;line-height:1.5;color:var(--quiet);margin-bottom:8px}
.session-option dd{margin:0;color:var(--paper);font-size:23px;line-height:1.3;font-weight:400}
.sanctuary .session-option>.text-link{font-size:12px;gap:20px;justify-self:end}
.session-notes{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;margin-top:26px}
.sanctuary .session-notes p{font-size:12px;line-height:1.8;margin:0;max-width:45ch}
.sanctuary .session-notes .text-link{font-size:12px;margin-top:8px}
.sanctuary .chris-introduction p{max-width:48ch}
.sanctuary .chris-introduction p+p{margin-top:17px}
/* A real portrait beside the host's story, with a clear reading order on phones. */
.sanctuary-with-chris.has-host-portrait{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);grid-template-areas:'portrait heading' 'portrait story' 'visit visit';column-gap:7vw;row-gap:0;align-items:start}
.host-heading{grid-area:heading;min-width:0}
.sanctuary .host-heading h2{font-size:clamp(42px,4.2vw,59px);margin:18px 0 25px}
.has-host-portrait .chris-introduction{grid-area:story;min-width:0}
.host-portrait{grid-area:portrait;position:relative;isolation:isolate;overflow:hidden;align-self:center;aspect-ratio:4/5;width:100%;max-width:460px;background:#171c14;mask-image:linear-gradient(to bottom,#000 88%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 88%,transparent 100%)}
.host-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:brightness(.96) saturate(.75) sepia(.04) contrast(.95)}
.host-portrait::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#11141024,transparent 15%,transparent 78%,#11141030),linear-gradient(180deg,#1114102e,transparent 26%,transparent 70%,#11141045)}
.has-host-portrait .sanctuary-next-step{grid-area:visit;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);column-gap:7vw;align-items:start;border-left:0;border-top:1px solid #8d976041;padding:34px 0 0;margin-top:48px}
.has-host-portrait .sanctuary-next-step h3{font-size:39px;margin:16px 0 0}
.has-host-portrait .sanctuary-next-step p{max-width:48ch}
.has-host-portrait .host-visit-copy{min-width:0}
.has-host-portrait .sanctuary-next-step{grid-template-areas:'photo heading' 'photo copy';row-gap:20px}
.host-visit-heading{grid-area:heading;align-self:end}
.host-visit-copy{grid-area:copy;align-self:start}
.host-visit-photo{grid-area:photo;align-self:center;aspect-ratio:3/2}
.space-photo{overflow:hidden;position:relative}
.space-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.88) saturate(.78) contrast(.95)}
.space-photo::after,.community-photo::after{content:'';position:absolute;inset:0;border:1px solid #9c95693d;pointer-events:none;z-index:1}
.has-host-portrait .first-visit-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:14px 24px;margin-top:24px}
@media(max-width:900px){
 .sanctuary-with-chris.has-host-portrait{column-gap:5vw}
 .sanctuary .host-heading h2{font-size:43px}
 .has-host-portrait .sanctuary-next-step{column-gap:5vw}
 .has-host-portrait .sanctuary-next-step h3{font-size:35px}
}
@media(max-width:700px){
 .sanctuary-with-chris.has-host-portrait{grid-template-columns:minmax(0,1fr);grid-template-areas:'heading' 'portrait' 'story' 'visit';row-gap:0}
 .sanctuary .host-heading h2{font-size:clamp(38px,10.7vw,49px);margin:18px 0 28px}
 .host-portrait{width:min(100%,400px);max-width:none;justify-self:center;margin-bottom:25px}
 .has-host-portrait .sanctuary-next-step{grid-template-columns:minmax(0,1fr);grid-template-areas:'heading' 'photo' 'copy';gap:22px;margin-top:35px;padding-top:29px}
 .has-host-portrait .sanctuary-next-step h3{font-size:36px}
 .has-host-portrait .first-visit-actions{flex-direction:column;align-items:flex-start;gap:16px}
}
.first-visit-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:27px}
.sanctuary .first-visit-actions>.site-button{margin-top:0;max-width:100%}
.sanctuary .first-visit-link{font-size:12px;margin-top:0;max-width:100%}
.sanctuary-community{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;max-width:1600px;margin:auto;padding:70px 7vw 80px;border-top:1px solid #75804a33;background:linear-gradient(160deg,#28291c33,transparent 70%)}
.sanctuary-community h2{margin:18px 0 24px}
.sanctuary .community-principle{font:italic 28px/1.4 var(--display);color:var(--gold)}
.community-photo{position:relative;overflow:hidden;margin-top:30px}
.community-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;filter:brightness(.85) saturate(.78) contrast(.94)}
.community-copy>p+p{margin-top:18px}
.community-contact{margin-top:32px;padding-top:28px;border-top:1px solid #9c956940}
.community-contact h3{font:400 36px/1.1 var(--display);letter-spacing:-.025em;margin:16px 0;color:var(--paper)}
.sanctuary .community-contact p{font-size:14px}
.community-contact .text-link{margin-top:12px;font-size:13px}
.visit-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;list-style:none;margin:0;padding:0}
.visit-steps>li{border-top:1px solid #9c956940;padding-top:24px}
.visit-number{font-size:12px;letter-spacing:.08em;color:var(--gold)}
.visit-steps h3{font:400 28px/1.15 var(--display);margin:20px 0 15px;color:var(--paper);letter-spacing:-.015em}
.sanctuary .visit-steps p{font-size:14px;line-height:1.8;margin:0}
@media(max-width:1150px){.sanctuary .sanctuary-header .sanctuary-desktop-nav{gap:16px}.sanctuary .sanctuary-desktop-nav>a{font-size:12px}.session-option{grid-template-columns:.9fr 1.5fr auto;gap:24px}.visit-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}}
@media(max-width:700px){
 .sanctuary-sessions,.sanctuary-visit{padding:50px 7vw 55px}
 .practice-section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:32px}
 .practice-section-heading h2{font-size:49px}
 .practice-section-heading p{font-size:15px}
 .session-option{grid-template-columns:1fr 1.7fr;gap:20px 16px;padding:25px 0}
 .session-option h3{font-size:53px}
 .session-option h3>span{display:block;margin:8px 0 0;font-size:11px}
 .session-option dl{gap:16px}
 .session-option dt{font-size:10px;min-height:30px;max-width:90px;margin-bottom:5px}
 .session-option dd{font-size:22px}
 .sanctuary .session-option>.text-link{grid-column:1/-1;justify-self:start;gap:22px}
 .session-notes{grid-template-columns:1fr;gap:18px;margin-top:24px}
 .sanctuary-community{grid-template-columns:1fr;gap:28px;padding:50px 7vw 55px}
 .sanctuary-community h2{font-size:49px;margin-bottom:16px}
 .sanctuary .community-principle{font-size:25px}
 .community-contact h3{font-size:34px}
 .visit-steps{grid-template-columns:1fr;gap:28px}
 .visit-steps>li{padding-top:20px}
 .visit-steps h3{font-size:30px;margin:13px 0}
 .sanctuary .visit-steps p{max-width:48ch}
 .sanctuary .sanctuary-header nav.sanctuary-mobile-nav>a{min-height:58px;font-size:29px;padding:13px 0}
 .sanctuary .sanctuary-header .sanctuary-mobile-nav:not([hidden]){max-height:calc(100svh - 105px);overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:560px){
 .sanctuary .sanctuary-arrival{padding:40px 7vw 42px}
 .sanctuary .sanctuary-arrival h1{font-size:clamp(61px,16vw,84px);margin:0 0 25px}
 .sanctuary .sanctuary-arrival .business-motto{font-size:16px;max-width:29ch}
 .sanctuary-arrival-actions{flex-direction:column;gap:8px;margin-top:26px}
 .sanctuary .sanctuary-threshold-foot{margin:0 7vw 22px;font-size:11px}
 .sanctuary .sanctuary-threshold-foot>span:first-child{font-size:11px}
}

/* Liquid-metal direction, adapted in CSS for Sanctuary's quieter gold palette.
   Reference: Shouvik Biswas / framer.com/marketplace/components/liquid-metal-buttons/
   The metallic rim is decorative; links and booking controls retain their behavior. */
@property --sanctuary-metal-angle{syntax:'<angle>';inherits:false;initial-value:125deg}
@keyframes sanctuary-metal-drift{to{--sanctuary-metal-angle:485deg}}
.homepage.sanctuary .site-button{
 --sanctuary-button-face:linear-gradient(165deg,#292b21,#151911 72%);
 --sanctuary-button-rim:conic-gradient(from var(--sanctuary-metal-angle,125deg),#695739 0deg,#b29a6b 36deg,#dfcda1 47deg,#8e774f 59deg,#463d2c 96deg,#746140 145deg,#cdb782 174deg,#e7d9ad 184deg,#a38b5a 196deg,#4a402e 239deg,#826b48 290deg,#d4c196 308deg,#796343 330deg,#695739 360deg);
 border:2px solid transparent;border-radius:999px;
 background:var(--sanctuary-button-face) padding-box,var(--sanctuary-button-rim) border-box;
 color:#f0e5ca;box-shadow:inset 0 1px 0 #ead9b00a,0 5px 20px #070c082b;
 animation:sanctuary-metal-drift 16s linear infinite;
 transition:box-shadow .25s ease,color .25s ease,transform .2s ease;
}
.homepage.sanctuary .site-button:hover{
 background:var(--sanctuary-button-face) padding-box,var(--sanctuary-button-rim) border-box;
 border-color:transparent;color:#fff3d8;opacity:1;
 box-shadow:inset 0 1px 0 #ead9b017,0 0 21px #c7ab7517,0 6px 18px #070c082b;
}
.homepage.sanctuary .site-button:active:not(:disabled){transform:translateY(1px)}
.homepage.sanctuary .site-button:focus-visible{outline:2px solid #e0c89d;outline-offset:5px}
.homepage.sanctuary .sanctuary-arrival-actions>.site-button{min-width:178px;padding-inline:27px}

/* Secondary actions use the same rounded silhouette, with a still, softer edge. */
.homepage.sanctuary .site-header .site-button,
.homepage.sanctuary .sanctuary-preview-copy>.site-button,
.homepage.sanctuary .sanctuary-arrival-secondary.text-link{
 --sanctuary-button-face:linear-gradient(160deg,#25291f,#171c14);
 --sanctuary-button-rim:linear-gradient(125deg,#b6a17a8c,#77674766 42%,#b6a17a99);
 border:1px solid transparent;border-radius:999px;
 background:var(--sanctuary-button-face) padding-box,var(--sanctuary-button-rim) border-box;
 color:#e5ddc9;box-shadow:none;animation:none;
 transition:box-shadow .25s ease,color .25s ease,transform .2s ease;
}
.homepage.sanctuary .sanctuary-arrival-secondary.text-link{
 min-height:50px;padding:14px 22px;font-size:13px;line-height:1.4;gap:13px;
}
.homepage.sanctuary .sanctuary-arrival-secondary.text-link::before,
.homepage.sanctuary .sanctuary-arrival-secondary.text-link::after{content:none}
.homepage.sanctuary .site-header .site-button:hover,
.homepage.sanctuary .sanctuary-preview-copy>.site-button:hover,
.homepage.sanctuary .sanctuary-arrival-secondary.text-link:hover{
 --sanctuary-button-rim:linear-gradient(125deg,#c7ab75,#77674799 42%,#c7ab75);
 background:var(--sanctuary-button-face) padding-box,var(--sanctuary-button-rim) border-box;
 border-color:transparent;color:#f5eacf;box-shadow:0 0 16px #c7ab750d;
}
.homepage.sanctuary .site-button:disabled{
 background:#252b20;color:#a6ac9b;border:2px solid #414b34;
 box-shadow:none;animation:none;cursor:not-allowed;opacity:.65;transform:none;
}
.motion-paused .homepage.sanctuary .site-button,
.motion-paused .homepage.sanctuary .sanctuary-arrival-secondary{transition:none}
@media(max-width:560px){
 .sanctuary-arrival-actions{gap:13px}
 .homepage.sanctuary .sanctuary-arrival-actions>.site-button{padding-inline:27px;min-width:190px;min-height:50px}
 .homepage.sanctuary .sanctuary-arrival-secondary.text-link{font-size:12px;min-height:46px;padding:12px 18px}
}
