:root{--bg: #160f1e;--fg: #f1ebe2;--rose: #c97b8e;--brass: #c9a36a;--brass-hot: #e8c285;--scroll: 0}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;-webkit-user-select:none;user-select:none;background:var(--bg);color:var(--fg);font-family:Space Grotesk,system-ui,sans-serif;font-weight:300;overflow:hidden;-webkit-font-smoothing:antialiased}#root{position:fixed;top:0;right:0;bottom:0;left:0}.loader{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transition:opacity .9s cubic-bezier(.6,0,.3,1),transform .9s cubic-bezier(.6,0,.3,1)}.loader--done{opacity:0;transform:translateY(-6%) scale(1.06);pointer-events:none}.loader__counter{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:clamp(80px,16vw,220px);line-height:1;color:var(--fg)}.loader__counter span{font-size:.35em;color:var(--rose)}.loader__label{font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:#f1ebe280;margin:0}@media(pointer:fine){*{cursor:none!important}.cursor-dot{position:fixed;top:0;left:0;width:6px;height:6px;margin:-3px 0 0 -3px;background:#fff;border-radius:50%;z-index:100;pointer-events:none;mix-blend-mode:difference}.cursor-ring{position:fixed;top:0;left:0;width:36px;height:36px;margin:-18px 0 0 -18px;border:1px solid rgba(255,255,255,.5);border-radius:50%;z-index:100;pointer-events:none;mix-blend-mode:difference;transition:border-color .25s ease}.cursor-ring.is-active{border-color:var(--brass-hot)}}@media(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}.header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:28px 40px;z-index:40;pointer-events:none}.header button{pointer-events:auto}.logo{font-family:Space Grotesk,sans-serif;font-weight:500;font-size:16px;letter-spacing:.34em;background:none;border:none;color:var(--fg);padding:0}.logo__reg{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:13px;letter-spacing:.06em;margin-left:10px;color:var(--rose);text-transform:none}.nav button{background:none;border:none;color:var(--fg);opacity:.6;font-family:inherit;font-size:12px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;margin-left:28px;padding:4px 0;transition:opacity .25s ease,color .25s ease}.nav button:hover{opacity:1;color:var(--brass-hot)}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:50}.progress__bar{height:100%;background:linear-gradient(90deg,var(--rose),var(--brass));transform-origin:left center;transform:scaleX(var(--scroll))}.interface{width:100%}.section{position:relative;height:100vh;display:flex;flex-direction:column;justify-content:center;padding:0 8vw;pointer-events:none}.section a,.section button,.section form{pointer-events:auto}.section--center{align-items:center;text-align:center}.section--left{align-items:flex-start}.section--right{align-items:flex-end;text-align:right}.section--left h2,.section--left .body,.section--right h2,.section--right .body{max-width:46vw}.section[data-num]:before{content:attr(data-num);position:absolute;top:9vh;right:5vw;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:clamp(90px,17vw,260px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,123,142,.18);pointer-events:none}.section--right[data-num]:before{right:auto;left:5vw}.tagline,.kicker{font-size:12px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:#f1ebe28c;margin:0 0 8px}.hero-title,h2{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;letter-spacing:0;margin:24px 0 28px}.hero-title{font-size:clamp(52px,9.5vw,140px);line-height:1.02}h2{font-size:clamp(40px,6.5vw,96px);line-height:1.04;margin-top:0}em{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:500;color:var(--rose)}.hero-sub,.body{font-size:clamp(15px,1.4vw,19px);line-height:1.7;color:#f1ebe2b8;max-width:560px;margin:0 0 36px}.hint{font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--brass-hot);margin:0}.hours{font-size:13px;letter-spacing:.14em;text-transform:uppercase;line-height:2.2;color:#f1ebe299;margin:0}.section--hero>*{animation:fadeUp 1.1s cubic-bezier(.2,.7,.2,1) both}.section--hero>*:nth-child(1){animation-delay:2.5s}.section--hero>*:nth-child(2){animation-delay:2.65s}.section--hero>*:nth-child(3){animation-delay:2.85s}.section--hero>*:nth-child(4){animation-delay:3s}.section--hero>*:nth-child(5){animation-delay:3.2s}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.scroll-hint{position:absolute;bottom:4.5vh;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px}.scroll-hint__line{display:block;width:1px;height:56px;background:#f1ebe22e;position:relative;overflow:hidden}.scroll-hint__line:after{content:"";position:absolute;left:0;top:0;width:100%;height:40%;background:linear-gradient(180deg,transparent,var(--rose));animation:scrollDrop 1.8s cubic-bezier(.4,0,.6,1) infinite}@keyframes scrollDrop{0%{transform:translateY(-100%)}to{transform:translateY(260%)}}.scroll-hint__label{font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:#f1ebe273}.cta{display:inline-block;font-family:inherit;font-size:13px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--fg);text-decoration:none;background:#ffffff05;border:1px solid rgba(241,235,226,.3);border-radius:999px;padding:16px 38px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .3s ease,box-shadow .3s ease}.cta:hover{border-color:var(--rose);box-shadow:0 0 42px #c97b8e59}.cta--fill{background:linear-gradient(120deg,#c97b8e40,#c9a36a40);border-color:#c9a36a80}.magnetic{transition:transform .28s cubic-bezier(.2,.7,.2,1),border-color .3s ease,box-shadow .3s ease;will-change:transform}.section--rooms{justify-content:space-between;padding-top:12vh;padding-bottom:7vh;align-items:flex-start}.rooms-head h2{margin-bottom:14px}.room-card{pointer-events:auto;align-self:flex-end;width:min(420px,84vw);background:#160f1eb8;border:1px solid rgba(201,163,106,.35);border-radius:18px;padding:26px 28px 20px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:cardIn .5s cubic-bezier(.2,.7,.2,1) both}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.room-card__head{display:flex;align-items:center;justify-content:space-between;gap:14px}.room-card__title{text-align:center}.room-card__title h3{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:500;font-size:34px;margin:0;color:var(--fg)}.room-card__price{margin:2px 0 0;font-size:17px;color:var(--brass-hot)}.room-card__price span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#f1ebe280}.room-card__arrow{background:none;border:1px solid rgba(241,235,226,.25);border-radius:50%;width:38px;height:38px;color:var(--fg);font-size:15px;transition:border-color .25s ease,color .25s ease}.room-card__arrow:hover{border-color:var(--rose);color:var(--rose)}.room-card__blurb{font-size:14px;line-height:1.65;color:#f1ebe2b3;margin:16px 0}.room-card__amenities{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 16px}.room-card__amenities li{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-hot);border:1px solid rgba(201,163,106,.4);border-radius:999px;padding:6px 12px}.room-card__dots{display:flex;justify-content:center;gap:10px}.room-card__dots button{width:8px;height:8px;border-radius:50%;border:none;padding:0;background:#f1ebe240;transition:background .25s ease,transform .25s ease}.room-card__dots button.is-on{background:var(--rose);transform:scale(1.3)}.room-html{pointer-events:none}.room-tag{display:flex;flex-direction:column;align-items:center;gap:2px;white-space:nowrap}.room-tag strong{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:500;font-size:22px;color:var(--fg)}.room-tag span{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--brass-hot)}.rituals,.spots{list-style:none;margin:0;padding:0}.rituals li{display:grid;grid-template-columns:minmax(150px,auto) auto;grid-template-areas:"name time" "note note";column-gap:22px;align-items:baseline;padding:18px 0;border-bottom:1px solid rgba(201,123,142,.18);max-width:520px}.rituals strong{grid-area:name;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:500;font-size:28px;color:var(--fg)}.rituals__time{grid-area:time;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass-hot)}.rituals__note{grid-area:note;font-size:14px;color:#f1ebe29e;margin-top:6px}.spots li{display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding:14px 0;border-bottom:1px solid rgba(201,163,106,.18)}.spots strong{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:500;font-size:24px;color:var(--fg)}.spots span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#f1ebe28c}.section--book h2{margin-bottom:30px}.booking{width:min(680px,90vw);background:#160f1eb8;border:1px solid rgba(201,123,142,.3);border-radius:20px;padding:30px 32px 26px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:left}.booking__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 26px}.booking__label{display:block;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:#f1ebe280;margin-bottom:8px}.booking__stepper{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(241,235,226,.18);border-radius:12px;padding:8px 10px}.booking__stepper strong{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;font-size:19px;color:var(--fg)}.booking__stepper button{width:32px;height:32px;border-radius:50%;border:1px solid rgba(241,235,226,.25);background:none;color:var(--fg);font-size:16px;line-height:1;transition:border-color .25s ease,color .25s ease}.booking__stepper button:hover{border-color:var(--brass-hot);color:var(--brass-hot)}.booking__rooms{display:flex;gap:8px}.booking__rooms button{flex:1;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:16px;color:#f1ebe2a6;background:none;border:1px solid rgba(241,235,226,.18);border-radius:12px;padding:12px 6px;transition:border-color .25s ease,color .25s ease,background .25s ease}.booking__rooms button.is-on{color:var(--fg);border-color:var(--rose);background:#c97b8e24}.booking__total{display:flex;align-items:baseline;justify-content:space-between;margin:24px 2px 20px;padding-top:18px;border-top:1px solid rgba(201,163,106,.25)}.booking__total span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#f1ebe28c}.booking__total strong{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;font-size:40px;color:var(--brass-hot)}.booking__actions{display:flex;align-items:center;gap:20px}.booking__mail{font-size:12px;letter-spacing:.08em;color:#f1ebe28c;text-decoration:none;border-bottom:1px solid rgba(241,235,226,.25);padding-bottom:2px;transition:color .25s ease,border-color .25s ease}.booking__mail:hover{color:var(--rose);border-color:var(--rose)}.booking__done{display:flex;flex-direction:column;gap:8px;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:26px;color:var(--brass-hot);margin:0}.booking__done a{font-family:Space Grotesk,sans-serif;font-style:normal;font-size:12px;letter-spacing:.1em;color:#f1ebe299;text-decoration:none;border-bottom:1px solid rgba(241,235,226,.25);align-self:flex-start;padding-bottom:2px;transition:color .25s ease}.booking__done a:hover{color:var(--rose)}.section--footer[data-num]:before{content:none}.keycard{pointer-events:auto;width:min(560px,92vw);border:1px solid rgba(201,163,106,.55);border-radius:22px;background:linear-gradient(155deg,#22162ceb,#160f1ef2);box-shadow:0 30px 80px #00000080,inset 0 0 0 1px #c9a36a1f;overflow:hidden;text-align:left}.keycard__stripe{height:44px;background:linear-gradient(90deg,#1c1326,#2b1c38 30%,#1c1326 70%,#241731);border-bottom:1px solid rgba(201,163,106,.35)}.keycard__body{padding:28px 34px 26px}.keycard__brand{display:flex;align-items:baseline;justify-content:space-between}.keycard__logo{font-size:18px;font-weight:500;letter-spacing:.4em}.keycard__stars{color:var(--brass-hot);font-size:14px;letter-spacing:.3em}.keycard__motto{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:24px;color:var(--rose);margin:10px 0 18px}.keycard__address{font-style:normal;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#f1ebe2a6;margin-bottom:14px}.keycard__contacts{display:flex;gap:18px;margin-bottom:24px}.keycard__contacts a{font-size:13px;color:var(--fg);text-decoration:none;border:1px solid rgba(241,235,226,.25);border-radius:999px;padding:9px 18px;transition:border-color .25s ease,color .25s ease}.keycard__contacts a:hover{border-color:var(--brass-hot);color:var(--brass-hot)}.keycard__columns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:20px;border-top:1px solid rgba(201,163,106,.2)}.keycard__columns h4{font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--brass-hot);margin:0 0 10px}.keycard__columns a{display:block;font-size:12px;line-height:1.9;color:#f1ebe29e;text-decoration:none;transition:color .25s ease}.keycard__columns a:hover{color:var(--rose)}.keycard__legal{margin:22px 0 0;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#f1ebe259}@media(max-width:768px){.nav{display:none}.header{padding:22px 24px}.section{padding:0 7vw}.section--left h2,.section--left .body,.section--right h2,.section--right .body{max-width:none}.section[data-num]:before{top:6vh;right:4vw}.section--rooms{padding-top:14vh}.room-card{align-self:center}.booking__grid{grid-template-columns:1fr}.booking__actions{flex-direction:column;align-items:flex-start;gap:14px}.keycard__columns{grid-template-columns:1fr}.keycard__contacts{flex-wrap:wrap}}
