/* SmooveOperator Creations. Page layer over scrollcraft.css.
   Tokens are overridden here; the engine's device selectors are never restyled. */

@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-var.woff2) format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-var-italic.woff2) format('woff2');font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:Barlow;src:url(/fonts/Barlow-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url(/fonts/Barlow-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Barlow;src:url(/fonts/Barlow-600.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Yellowtail;src:url(/fonts/Yellowtail-normal.woff2) format('woff2');font-weight:400;font-display:swap}

:root{
  --sc-canvas:#0B0907; --sc-surface:#16120C;
  --sc-ink:#F3ECDF; --sc-ink-soft:#BDB096;
  --sc-accent:#D9B24C; --sc-accent-ink:#140F05;
  --sc-font-display:Fraunces,Georgia,serif;
  --sc-font-text:Barlow,system-ui,sans-serif;
  --sc-shadow-color:30 45% 3%;
  --gold-hi:#F1D88E;
  /* Paper for the sign-in sheet: a second lightness of the same gold, keyed to the light ground. */
  --paper:#F1E9DA; --paper-ink:#1C150C; --paper-soft:#5B4D38; --paper-gold:#7A5A12; --paper-rule:#1C150C40;
  --bar-h:76px;
  color-scheme:dark;
}
html{scroll-padding-top:var(--bar-h)}
body{font-size:1.0625rem;letter-spacing:.005em}
p{margin:0}
.sc-display{font-weight:400;font-variation-settings:"opsz" 120,"SOFT" 50;letter-spacing:-.02em}
.sc-display em{font-style:italic;color:var(--sc-accent)}
:focus-visible{outline-color:var(--gold-hi)}

/* -------------------------------------------------------------- chrome -- */
.skip-link{position:fixed;top:8px;left:12px;z-index:90;background:var(--gold-hi);color:var(--sc-accent-ink);padding:12px 18px;border-radius:var(--sc-r-pill);text-decoration:none;transform:translateY(-160%)}
.skip-link:focus{transform:none}
[hidden]{display:none!important}
.hp{position:absolute;left:-9999px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.bar{position:fixed;inset:0 0 auto;z-index:var(--sc-z-chrome);height:var(--bar-h);display:flex;align-items:center;justify-content:space-between;gap:var(--sc-6);padding-inline:var(--sc-gutter)}
/* A band of density behind the chrome only, never a full-frame overlay. */
.bar::before{content:"";position:absolute;inset:0 0 -40px;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,color-mix(in oklab,var(--sc-canvas) 82%,transparent),color-mix(in oklab,var(--sc-canvas) 40%,transparent) 60%,transparent)}
.mark{display:inline-flex;flex-direction:column;align-items:flex-end;text-decoration:none;line-height:1}
.mark__script{font:400 2.05rem/1.05 Yellowtail,cursive;padding-right:.1em;background:linear-gradient(110deg,#a58327,#D4AF37 34%,#efd988 56%,#C5A028 80%);color:transparent;-webkit-background-clip:text;background-clip:text;white-space:nowrap}
.mark__sub{margin-top:-.15rem;font:500 .64rem/1 var(--sc-font-text);letter-spacing:.42em;text-transform:uppercase;color:var(--sc-ink-soft);padding-right:.2em}
.rooms ol{display:flex;gap:clamp(1.25rem,2.6vw,2.5rem);list-style:none;margin:0;padding:0}
.rooms a{position:relative;display:inline-flex;align-items:center;min-height:44px;font:italic 400 1rem/1 var(--sc-font-display);color:var(--sc-ink-soft);text-decoration:none;transition:color var(--sc-d-fast) var(--sc-ease-out)}
.rooms a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--sc-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--sc-d-base) var(--sc-ease-out)}
.rooms a[aria-current="true"]{color:var(--sc-ink)}
.rooms a[aria-current="true"]::after{transform:scaleX(1)}
@media (hover:hover) and (pointer:fine){.rooms a:hover{color:var(--sc-ink)}}

.btn,.bar__cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.6rem;border-radius:var(--sc-r-pill);font:500 1rem/1.2 var(--sc-font-text);letter-spacing:.01em;text-decoration:none;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:background-color var(--sc-d-fast) var(--sc-ease-out),color var(--sc-d-fast) var(--sc-ease-out),border-color var(--sc-d-fast) var(--sc-ease-out),transform 120ms var(--sc-ease-out)}
.btn{background:var(--sc-accent);color:var(--sc-accent-ink)}
.bar__cta{min-height:44px;padding:.6rem 1.25rem;font-size:.94rem;color:var(--sc-ink);border-color:color-mix(in oklab,var(--sc-accent) 70%,transparent);background:color-mix(in oklab,var(--sc-canvas) 40%,transparent)}
.btn--quiet{background:transparent;color:var(--sc-ink);border-color:color-mix(in oklab,var(--sc-accent) 70%,transparent)}
@media (hover:hover) and (pointer:fine){
  .btn:hover{background:var(--gold-hi)}
  .bar__cta:hover,.btn--quiet:hover{background:var(--sc-accent);color:var(--sc-accent-ink);border-color:var(--sc-accent)}
}
.btn:active,.bar__cta:active{transform:translateY(1px)}
.btn[disabled]{cursor:wait;opacity:.7}

/* --------------------------------------------------- room 1: front door -- */
.arrival__stage{background:var(--sc-canvas)}
.door{position:absolute;inset:0;z-index:1;transition:opacity 520ms var(--sc-ease-out),visibility 0s linear 520ms}
.door :is(.door__poster,.door__film){position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.door__film{opacity:0;transition:opacity 260ms var(--sc-ease-out)}
.door.is-playing .door__film{opacity:1}
.door.is-open{opacity:0;visibility:hidden}
html:not(.js) .door,.door[hidden]{display:none}

/* Sun through shutters: an atmospheric plane between the film and the type.
   It belongs to the arrival only, so it leaves before the walk-through does. */
.shutter{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;mix-blend-mode:screen;
  opacity:clamp(0, (0.18 - var(--sc-p, 0)) * 7, 1)}
.shutter__light{position:absolute;inset:-24% -12%;
  /* Travels faster than the film and the type, so the light reads as a nearer plane. */
  translate:0 calc(var(--sc-p, 0) * -110vh);
  background:repeating-linear-gradient(104deg,transparent 0 5.5%,rgb(255 186 100 / .2) 7.5% 10.5%,transparent 12.5% 17%);
  -webkit-mask-image:radial-gradient(70% 60% at 62% 38%,#000 20%,transparent 75%);mask-image:radial-gradient(70% 60% at 62% 38%,#000 20%,transparent 75%)}

/* Scrims are siblings of the copy, each live only during its copy's window. */
.arrival__scrim{position:absolute;inset:0;z-index:3;pointer-events:none}
.arrival__scrim--hero{background:linear-gradient(to top right,color-mix(in oklab,var(--sc-canvas) 96%,transparent) 0%,color-mix(in oklab,var(--sc-canvas) 84%,transparent) 34%,color-mix(in oklab,var(--sc-canvas) 46%,transparent) 56%,transparent 76%);
  opacity:clamp(0, (0.2 - var(--sc-p, 0)) * 8, 1)}
.arrival__scrim--trail{background:linear-gradient(to top left,color-mix(in oklab,var(--sc-canvas) 96%,transparent) 0%,color-mix(in oklab,var(--sc-canvas) 86%,transparent) 26%,color-mix(in oklab,var(--sc-canvas) 40%,transparent) 44%,transparent 60%);
  opacity:clamp(0, min((var(--sc-p, 0) - 0.25) * 9, (0.6 - var(--sc-p, 0)) * 9), 1)}
.arrival__scrim--lead{background:linear-gradient(to top right,color-mix(in oklab,var(--sc-canvas) 95%,transparent) 0%,color-mix(in oklab,var(--sc-canvas) 78%,transparent) 26%,color-mix(in oklab,var(--sc-canvas) 30%,transparent) 44%,transparent 58%);
  opacity:clamp(0, min((var(--sc-p, 0) - 0.61) * 9, (0.97 - var(--sc-p, 0)) * 9), 1)}

.arrival__copy{max-width:min(60rem,86vw)}
.arrival__title{font-size:clamp(2.9rem,1.4rem + 4.4vw,5.6rem);line-height:.98;max-width:11.5em}
.arrival__sub{margin-top:var(--sc-5);max-width:34ch;font-size:var(--sc-t-lg);line-height:1.45;color:var(--sc-ink)}
.arrival__copy .btn{margin-top:var(--sc-6)}
.arrival__line{font:italic 400 var(--sc-t-2xl)/1.08 var(--sc-font-display);letter-spacing:-.015em;max-width:16ch;text-wrap:balance}
.sc-copy--trail.arrival__line{margin-left:auto}

/* The room you are standing in, read from the film's own clock. */
.room-tag{position:absolute;z-index:4;top:calc(var(--bar-h) + var(--sc-4));right:var(--sc-gutter);margin:0;display:flex;align-items:center;gap:var(--sc-3);font:500 .78rem/1 var(--sc-font-text);letter-spacing:.24em;text-transform:uppercase;color:var(--sc-ink);
  padding:.55rem .9rem;border-radius:var(--sc-r-pill);background:color-mix(in oklab,var(--sc-canvas) 62%,transparent);
  opacity:clamp(0, (var(--sc-p, 0) - 0.14) * 12, 1)}
.room-tag::before{content:"";width:18px;height:1px;background:var(--sc-accent)}

/* ---------------------------------------------------- room 2: the light -- */
.light__stage{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(16rem,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding:calc(var(--bar-h) + var(--sc-5)) var(--sc-gutter) var(--sc-7)}
.compare{position:relative;margin:0;--r:0;width:100%;max-width:calc((100svh - var(--bar-h) - 7rem) * 16 / 9);justify-self:end}
.compare img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--sc-r-lg)}
.compare__before{box-shadow:var(--sc-e3)}
.compare__after{position:absolute;inset:0;clip-path:inset(0 calc((1 - var(--r)) * 100%) 0 0 round var(--sc-r-lg))}
.compare__line{position:absolute;top:0;bottom:2.4rem;left:calc(var(--r) * 100%);width:2px;margin-left:-1px;background:var(--gold-hi);box-shadow:0 0 0 1px rgb(20 15 5 / .25);pointer-events:none}
.compare__range{position:absolute;left:-24px;top:0;width:calc(100% + 48px);height:calc(100% - 2.4rem);margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:ew-resize;touch-action:pan-y}
.compare__range:focus-visible{outline:none}
.compare__range::-webkit-slider-runnable-track{height:100%;background:transparent}
.compare__range::-moz-range-track{height:100%;background:transparent}
.compare__range::-webkit-slider-thumb{-webkit-appearance:none;width:48px;height:48px;margin-top:calc((min(100%,100vh) - 48px) / 2);border-radius:50%;border:2px solid var(--sc-accent-ink);background:var(--gold-hi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23140F05' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2.5v2.2M12 19.3v2.2M2.5 12h2.2M19.3 12h2.2M5.3 5.3l1.6 1.6M17.1 17.1l1.6 1.6M5.3 18.7l1.6-1.6M17.1 6.9l1.6-1.6'/%3E%3C/svg%3E") center/26px no-repeat;box-shadow:var(--sc-e2)}
.compare__range::-moz-range-thumb{width:44px;height:44px;border-radius:50%;border:2px solid var(--sc-accent-ink);background:var(--gold-hi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23140F05' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2.5v2.2M12 19.3v2.2M2.5 12h2.2M19.3 12h2.2M5.3 5.3l1.6 1.6M17.1 17.1l1.6 1.6M5.3 18.7l1.6-1.6M17.1 6.9l1.6-1.6'/%3E%3C/svg%3E") center/24px no-repeat;box-shadow:var(--sc-e2)}
.compare__range:focus-visible::-webkit-slider-thumb{outline:3px solid var(--gold-hi);outline-offset:3px}
.compare__range:focus-visible::-moz-range-thumb{outline:3px solid var(--gold-hi);outline-offset:3px}
.compare__caption{display:flex;justify-content:space-between;gap:var(--sc-4);margin-top:var(--sc-3);height:1.8rem;font-size:.86rem;color:var(--sc-ink-soft)}
.compare__caption span:first-child{color:var(--sc-ink)}
.light__copy{max-width:24rem}
.light__copy h2{font-size:var(--sc-t-2xl);line-height:1.04}
.light__copy p{margin-top:var(--sc-5);color:var(--sc-ink-soft);max-width:36ch}

/* ------------------------------------------------------ the problem -- */
.problem{width:min(var(--sc-maxw),100% - var(--sc-gutter) * 2);margin:0 auto;padding:var(--sc-section) 0}
.problem__head h2{font-size:var(--sc-t-3xl);line-height:1;max-width:16ch}
.beats{list-style:none;counter-reset:beat;margin:var(--sc-8) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2.5rem)}
.beats li{counter-increment:beat;padding-top:var(--sc-4);border-top:1px solid var(--sc-hairline);color:var(--sc-ink-soft);font-size:.98rem}
.beats li::before{content:counter(beat,decimal-leading-zero);display:block;margin-bottom:var(--sc-3);font:italic 400 1.6rem/1 var(--sc-font-display);color:var(--sc-accent)}
.beats strong{display:block;margin-bottom:var(--sc-2);color:var(--sc-ink);font-weight:600}
.problem__turn{margin-top:var(--sc-8);font:400 var(--sc-t-2xl)/1.1 var(--sc-font-display);letter-spacing:-.02em}
.problem__turn em{color:var(--sc-accent)}

/* -------------------------------------------------- room 3: three formats -- */
.formats{width:min(var(--sc-maxw),100% - var(--sc-gutter) * 2);margin:0 auto;padding:var(--sc-section) 0 var(--sc-8)}
.formats__head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:var(--sc-5) var(--sc-8)}
.formats__head h2{font-size:var(--sc-t-3xl);line-height:1}
.formats__head p{color:var(--sc-ink-soft);max-width:38ch}
.cards{list-style:none;margin:var(--sc-7) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2.5rem)}
.card{display:flex;flex-direction:column;gap:var(--sc-3)}
.card__media{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:var(--sc-r-lg);background:var(--sc-surface);box-shadow:var(--sc-e3),var(--sc-edge)}
.card__media :is(img,video){width:100%;height:100%;object-fit:cover;transition:scale 600ms var(--sc-ease-out)}
@media (hover:hover) and (pointer:fine){.card:hover .card__media :is(img,video){scale:1.03}}
.card h3{margin:var(--sc-2) 0 0;font:400 var(--sc-t-xl)/1.1 var(--sc-font-display)}
.card p{color:var(--sc-ink-soft);font-size:.98rem;max-width:36ch}
.card__label{display:flex;flex-wrap:wrap;gap:.35rem 1.6rem;margin:var(--sc-2) 0 0;padding-top:var(--sc-3);border-top:1px solid var(--sc-hairline);font-size:.92rem}
.card__label div{display:flex;gap:.6rem;align-items:baseline}
.card__label dt{color:var(--sc-ink-soft);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}
.card__label dd{margin:0}
.card__more{align-self:flex-start;color:var(--gold-hi);font-size:.95rem;min-height:44px;display:inline-flex;align-items:center}

/* Split band: one picture, one idea. */
.band{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);width:min(var(--sc-maxw),100% - var(--sc-gutter) * 2);margin:0 auto;padding:var(--sc-8) 0;border-top:1px solid var(--sc-hairline)}
.band__media{margin:0;overflow:hidden;border-radius:var(--sc-r-lg);box-shadow:var(--sc-e3)}
.band__media img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.kicker,.band__kicker{font:500 .74rem/1 var(--sc-font-text);letter-spacing:.3em;text-transform:uppercase;color:var(--sc-accent)}
.kicker + h2{margin-top:var(--sc-4)}
.values{list-style:none;margin:var(--sc-6) 0 0;padding:0;display:grid;gap:var(--sc-4)}
.values li{padding-left:1.4rem;position:relative;color:var(--sc-ink-soft);max-width:44ch}
.values li::before{content:"";position:absolute;left:0;top:.62em;width:.6rem;height:1px;background:var(--sc-accent)}
.values strong{display:block;color:var(--sc-ink);font-weight:600}
.band h2{margin-top:var(--sc-4);font-size:var(--sc-t-2xl);line-height:1.04}
.band__copy > p:not(.band__kicker){margin-top:var(--sc-5);color:var(--sc-ink-soft);max-width:40ch}
.band .btn{margin-top:var(--sc-6)}

/* ------------------------------------------------- room 4: sign-in sheet -- */
.book{position:relative;padding:calc(var(--sc-section) + var(--sc-6)) 0 var(--sc-6);isolation:isolate}
.book__ground{position:absolute;inset:0 0 0 38%;margin:0;z-index:-1;-webkit-mask-image:linear-gradient(to right,transparent,#000 40%);mask-image:linear-gradient(to right,transparent,#000 40%)}
.book__ground img{width:100%;height:100%;object-fit:cover;opacity:.72}
.sheet{position:relative;width:min(42rem,100% - var(--sc-gutter) * 2);margin-left:var(--sc-gutter);padding:clamp(1.5rem,4vw,3.25rem);border-radius:var(--sc-r-lg);background:var(--paper);color:var(--paper-ink);box-shadow:var(--sc-e3);
  --sc-ink:var(--paper-ink);--sc-ink-soft:var(--paper-soft)}
.sheet :focus-visible{outline-color:var(--paper-gold)}
.sheet ::selection{background:var(--paper-ink);color:var(--paper)}
.sheet__kicker{font:500 .74rem/1 var(--sc-font-text);letter-spacing:.3em;text-transform:uppercase;color:var(--paper-gold)}
.sheet h2{margin-top:var(--sc-4);font-size:clamp(1.9rem,1.4rem + 1.8vw,2.9rem);line-height:1.05;color:var(--paper-ink)}
.sheet h2 em{color:var(--paper-gold)}
.sheet__steps{list-style:none;counter-reset:step;margin:var(--sc-6) 0 0;padding:var(--sc-5) 0 0;border-top:1px solid var(--paper-rule);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sc-5)}
.sheet__steps li{counter-increment:step;font-size:.93rem;line-height:1.45;color:var(--paper-soft)}
.sheet__steps li::before{content:counter(step);display:block;margin-bottom:var(--sc-2);font:italic 400 1.5rem/1 var(--sc-font-display);color:var(--paper-gold)}
.sheet__steps strong{display:block;color:var(--paper-ink);font-weight:600}
.sheet__form{margin-top:var(--sc-6);padding-top:var(--sc-3);border-top:1px solid var(--paper-rule)}
.sheet__row{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--sc-6)}
.field{margin:var(--sc-4) 0 0;padding:0;border:0;min-width:0}
.field label,.field legend{display:block;padding:0;font-size:.82rem;font-weight:500;letter-spacing:.02em;color:var(--paper-soft)}
.field label span,.field legend span{font-weight:400}
.field :is(input:not([type=checkbox]),textarea){display:block;width:100%;margin-top:.15rem;padding:.55rem 0 .5rem;border:0;border-bottom:1px solid var(--paper-rule);border-radius:0;background:transparent;color:var(--paper-ink);font-size:1.06rem;transition:border-color var(--sc-d-fast) var(--sc-ease-out)}
.field textarea{resize:vertical;min-height:4.6rem}
.field :is(input,textarea):focus{outline:none;border-bottom:2px solid var(--paper-gold);padding-bottom:calc(.5rem - 1px)}
.field :is(input,textarea):focus-visible{outline:none}
.field [aria-invalid=true]{border-bottom-color:#9B2C1A}
.sheet__needs{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}
.sheet__needs legend{width:100%;margin-bottom:.2rem}
.sheet__needs label{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;font-size:1rem;color:var(--paper-ink);cursor:pointer}
.sheet__needs input{width:20px;height:20px;accent-color:var(--paper-ink)}
.sheet__needs input:focus-visible{outline:2px solid var(--paper-gold);outline-offset:2px}
.help{margin-top:.4rem;font-size:.84rem;color:var(--paper-soft)}
.help a{color:var(--paper-ink)}
.err-msg{margin-top:.35rem;font-size:.86rem;font-weight:500;color:#9B2C1A}
.sheet__send{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sc-3) var(--sc-5);margin-top:var(--sc-6)}
.sheet .btn{background:var(--paper-ink);color:#F6DE8D}
@media (hover:hover) and (pointer:fine){.sheet .btn:hover{background:#3a2c14}}
.sheet__send .help{margin:0}
.sheet__status{margin-top:var(--sc-4);font-weight:500}
.sheet__status:empty{display:none}
.sheet__status[data-state=success]{color:#2F5A23}
.sheet__status[data-state=error]{color:#9B2C1A}

/* --------------------------------------------------------------- footer -- */
.foot{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:var(--sc-3) var(--sc-7);margin-top:var(--sc-9);padding:var(--sc-6) var(--sc-gutter) var(--sc-5);border-top:1px solid var(--sc-hairline);font-size:.92rem;color:var(--sc-ink-soft)}
.foot__mark{display:inline-flex;flex-direction:column;align-items:flex-end;grid-row:span 2}
.foot__mark .mark__script{font-size:1.75rem}
.foot p{max-width:62ch}
.foot__small{font-size:.84rem}
.foot a{color:var(--sc-ink);display:inline-block;padding-block:.5rem}

/* ----------------------------------------------- legal and message pages -- */
.page main{min-height:calc(100svh - 12rem)}
.legal{width:min(44rem,100% - var(--sc-gutter) * 2);margin:0 auto;padding:calc(var(--bar-h) + var(--sc-8)) 0 var(--sc-8)}
.legal h1{font-size:var(--sc-t-3xl);line-height:1}
.legal__lede{margin-top:var(--sc-4);font-size:var(--sc-t-lg);color:var(--sc-ink-soft)}
.legal h2{margin:var(--sc-7) 0 var(--sc-3);font:400 var(--sc-t-xl)/1.15 var(--sc-font-display)}
.legal p{color:var(--sc-ink-soft);max-width:var(--sc-measure)}
.legal p + p{margin-top:var(--sc-4)}
.legal a{color:var(--gold-hi)}
.legal--message{padding-top:calc(var(--bar-h) + var(--sc-10))}
.legal--message .btn{margin-top:var(--sc-6)}
.page .foot{margin-top:0}

/* --------------------------------------------------------- property site -- */
.property{padding-bottom:var(--sc-8)}
.property__hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:calc(var(--bar-h) + var(--sc-6)) var(--sc-gutter) var(--sc-9);isolation:isolate}
.property__hero img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.property__hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,color-mix(in oklab,var(--sc-canvas) 92%,transparent) 0%,color-mix(in oklab,var(--sc-canvas) 55%,transparent) 32%,transparent 62%)}
.property__heading{max-width:40rem}
.property__flag{font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-hi)}
.property__heading h1{margin-top:var(--sc-3);font-size:var(--sc-t-3xl);line-height:.98}
.property__heading > p:not(.property__flag){margin-top:var(--sc-4);max-width:44ch}
.property__actions{display:flex;flex-wrap:wrap;gap:var(--sc-3);margin-top:var(--sc-6)}
.property > section{width:min(var(--sc-maxw),100% - var(--sc-gutter) * 2);margin:var(--sc-9) auto 0}
.property h2{font-size:var(--sc-t-2xl);margin-bottom:var(--sc-5)}
.property__film{scroll-margin-top:calc(var(--bar-h) + var(--sc-4))}
.property__film video{width:100%;aspect-ratio:16/9;border-radius:var(--sc-r-lg);background:var(--sc-surface);box-shadow:var(--sc-e3)}
.cards--rooms{margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.cards--rooms .card__media{aspect-ratio:16/10}
.cards--rooms h3{font-size:var(--sc-t-lg)}
.band--property h2{margin-bottom:0}
.property__contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sc-5);padding:var(--sc-6);border-radius:var(--sc-r-lg);background:var(--sc-surface)}
.property__contact p{max-width:44ch;color:var(--sc-ink-soft)}

/* --------------------------------------------------------------- mobile -- */
@media (max-width:1100px){.rooms{display:none}}
@media (max-width:860px){
  :root{--bar-h:64px}
  .mark__script{font-size:1.65rem}
  .mark__sub{font-size:.56rem}
  .bar__cta{padding:.55rem 1rem;font-size:.88rem}
  .arrival__title{font-size:var(--sc-t-2xl);font-size:clamp(2.4rem,1.6rem + 4vw,3.4rem)}
  .arrival__sub{font-size:var(--sc-t-base)}
  .arrival__copy{max-width:none;bottom:clamp(4.5rem,14svh,7rem)}
  .arrival__scrim--hero,.arrival__scrim--trail,.arrival__scrim--lead{background:linear-gradient(to top,color-mix(in oklab,var(--sc-canvas) 94%,transparent) 0%,color-mix(in oklab,var(--sc-canvas) 74%,transparent) 30%,color-mix(in oklab,var(--sc-canvas) 30%,transparent) 52%,transparent 66%)}
  .arrival__line{font-size:var(--sc-t-xl);max-width:18ch;bottom:clamp(4.5rem,14svh,7rem)}
  .sc-copy--trail.arrival__line{margin-left:0}
  .room-tag{font-size:.7rem;letter-spacing:.2em}
  .light__stage{grid-template-columns:1fr;align-content:center;gap:var(--sc-5);padding-bottom:var(--sc-5)}
  .compare{justify-self:stretch;max-width:none}
  /* Both frames crop identically, so the before and after stay aligned at a taller phone ratio. */
  .compare img{aspect-ratio:1/1}
  .compare__range::-webkit-slider-thumb{width:40px;height:40px}
  .compare__caption{font-size:.78rem}
  .light__copy h2{font-size:var(--sc-t-xl)}
  .light__copy p{margin-top:var(--sc-3);font-size:.98rem}
  .problem__head h2{font-size:var(--sc-t-2xl)}
  .beats{grid-template-columns:1fr;gap:var(--sc-5);margin-top:var(--sc-6)}
  .problem__turn{font-size:var(--sc-t-xl);margin-top:var(--sc-6)}
  .formats__head{grid-template-columns:1fr}
  .formats__head h2{font-size:var(--sc-t-2xl)}
  .cards{grid-template-columns:1fr;gap:var(--sc-7)}
  .band{grid-template-columns:1fr;gap:var(--sc-5);padding:var(--sc-7) 0}
  .property__heading h1{font-size:var(--sc-t-2xl)}
  .book{padding-top:var(--sc-section)}
  .book__ground{inset:0 0 auto 0;height:60svh;-webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent);mask-image:linear-gradient(to bottom,#000 30%,transparent)}
  .sheet{margin-top:28svh}
  .sheet__steps{grid-template-columns:1fr;gap:var(--sc-4)}
  .sheet__steps li::before{display:inline;margin-right:.5rem}
  .sheet__row{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr}
  .foot__mark{align-items:flex-start;grid-row:auto}
  .cards.cards--rooms{grid-template-columns:1fr 1fr;gap:var(--sc-4)}
  .cards--rooms h3{font-size:var(--sc-t-base)}
}
@media (max-width:400px){
  .mark__script{font-size:1.45rem}
  .bar{gap:var(--sc-3)}
  .bar__cta{padding:.5rem .85rem;font-size:.84rem}
}
@media (prefers-reduced-motion:reduce){
  .door,.door__film,.rooms a,.rooms a::after,.btn,.bar__cta{transition:none}
}
