*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:76px}body{font-family:DM Sans,Segoe UI,system-ui,sans-serif;font-size:clamp(.9375rem,1.5vw,1.0625rem);color:#f8f6f2;background-color:#141414;line-height:1.65;letter-spacing:.01em;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,picture,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body.cursor-custom,body.cursor-custom button,body.cursor-custom a,body.cursor-custom input,body.cursor-custom select,body.cursor-custom textarea{cursor:none}.header{position:fixed;top:0;left:0;right:0;height:80px;display:flex;align-items:center;z-index:1000;transition:all .4s cubic-bezier(.4,0,.2,1)}.header__blur-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f0f0fb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05);z-index:-1}.header__container{width:100%;max-width:1440px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between}.header__logo{position:relative;z-index:1001;font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.02em}.header__burger{display:none;position:relative;z-index:1001;width:48px;height:48px;min-width:48px;min-height:48px;align-items:center;justify-content:center;padding:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:50%;cursor:pointer;transition:all .3s ease}.header__burger-box{width:20px;height:12px;position:relative;flex-shrink:0}.header__burger-inner{position:absolute;left:0;top:50%;width:100%;height:2px;margin-top:-1px;background:#fff;transition:all .3s ease;transform-origin:center}.header__burger-inner:before,.header__burger-inner:after{content:"";position:absolute;left:0;width:100%;height:2px;background:#fff;transition:all .3s ease;transform-origin:center center}.header__burger-inner:before{top:-5px}.header__burger-inner:after{top:5px}.header__burger--active{background:#fff}.header__burger--active .header__burger-inner{background:transparent}.header__burger--active .header__burger-inner:before{top:0;transform:rotate(45deg);background:#000}.header__burger--active .header__burger-inner:after{top:0;transform:rotate(-45deg);background:#000}@media (max-width: 600px){.header .header__burger{display:flex}}@media (min-width: 769px){.header .header__container{display:flex;align-items:center;justify-content:space-between}.header .header__nav-wrapper{display:flex;align-items:center;gap:2.5rem}}@media (max-width: 600px){.header__nav{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d0d0d;display:flex;flex-direction:column;justify-content:center;padding:0 2rem;opacity:0;visibility:hidden;transition:all .5s cubic-bezier(.16,1,.3,1);z-index:1000}.header__nav--open{opacity:1;visibility:visible}.header__nav-wrapper{display:flex;flex-direction:column;gap:1.5rem}.header__nav-link{font-size:2.5rem;font-family:Cormorant Garamond,Georgia,serif;color:#fff;text-decoration:none;display:flex;align-items:baseline;gap:1rem}.header__nav-link .header__nav-number{font-family:DM Sans,Segoe UI,system-ui,sans-serif;font-size:.8rem;opacity:.6}.header__nav-footer{margin-top:2rem;font-size:.9rem;color:#fff6;display:block}}@media (min-width: 769px){.header__nav{display:flex;gap:2.5rem}.header__nav-link{font-size:.9rem;font-weight:500;color:#ffffffb3}.header__nav-link:hover{color:#fff}.header__nav-link .header__nav-number,.header__nav-footer{display:none}}.header__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:.4s}.header__backdrop--visible{opacity:1;visibility:visible}.footer{background-color:#1e1e1e;margin-top:auto}.footer__top{padding:clamp(3rem,8vw,4.5rem) clamp(1.5rem,5vw,4rem) 0}.footer__inner{max-width:1280px;margin-left:auto;margin-right:auto;display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(2.5rem,5vw,4rem);align-items:start}.footer__brand{display:flex;flex-direction:column;gap:.5rem}.footer__logo{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:1.35rem;color:#f8f6f2;letter-spacing:-.02em}.footer__tagline{font-size:.875rem;color:#9c9892;max-width:240px;line-height:1.5}.footer__social{display:flex;gap:.75rem;margin-top:.5rem}.footer__social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#9c9892;border:1px solid rgba(255,255,255,.1);border-radius:6px;transition:color .22s cubic-bezier(.33,1,.68,1),border-color .22s cubic-bezier(.33,1,.68,1),transform .22s cubic-bezier(.33,1,.68,1)}.footer__social-link:hover{color:#f8f6f2;border-color:#fff3;transform:translateY(-2px)}.footer__social-link svg{width:20px;height:20px}.footer__cols{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:2rem}.footer__col{display:flex;flex-direction:column;gap:.5rem}.footer__label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#9c9892}.footer__text{font-size:.875rem;color:#c4c0ba;margin:0;line-height:1.5}.footer__link{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .22s cubic-bezier(.33,1,.68,1),color .22s cubic-bezier(.33,1,.68,1)}.footer__link:hover{color:#f8f6f2;border-bottom-color:#ffffff4d}.footer__newsletter-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.footer__newsletter-input{width:100%;max-width:280px;padding:.6rem .9rem;font-size:.875rem;background:#2a2a2a;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:#f8f6f2;transition:border-color .22s cubic-bezier(.33,1,.68,1)}.footer__newsletter-input::placeholder{color:#9c9892}.footer__newsletter-input:focus{outline:none;border-color:#fff3}.footer__newsletter-btn{align-self:flex-start;padding:.55rem 1.1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#141414;background:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .22s cubic-bezier(.33,1,.68,1),transform .22s cubic-bezier(.33,1,.68,1)}.footer__newsletter-btn:focus-visible{outline:2px solid #c4a090;outline-offset:2px}.footer__newsletter-btn:hover{background:#e8e4df;transform:translateY(-1px)}.footer__newsletter-done{font-size:.875rem;color:#c4c0ba;margin:.25rem 0 0}.footer__bottom{padding:1.5rem clamp(1.5rem,5vw,4rem);border-top:1px solid rgba(255,255,255,.06);margin-top:2.5rem}.footer__inner--bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:0}.footer__copyright{font-size:.75rem;color:#9c9892;margin:0}.footer__back{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:#9c9892;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:color .22s cubic-bezier(.33,1,.68,1),border-color .22s cubic-bezier(.33,1,.68,1),transform .22s cubic-bezier(.33,1,.68,1)}.footer__back:focus-visible{outline:2px solid #c4a090;outline-offset:2px}.footer__back:hover{color:#f8f6f2;border-color:#fff3;transform:translateY(-1px)}.footer__back-icon{width:14px;height:14px}@media (max-width: 900px){.footer__inner{grid-template-columns:1fr;gap:2.5rem}.footer__cols{grid-template-columns:1fr 1fr}.footer__col--newsletter{grid-column:1/-1}}@media (max-width: 600px){.footer__top{padding-top:clamp(2.5rem,6vw,3rem)}.footer__cols{grid-template-columns:1fr;gap:1.5rem}.footer__col--newsletter{grid-column:1}.footer__inner--bottom{flex-direction:column;text-align:center}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0 clamp(1.5rem,5vw,4rem)}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform;background-color:#1a1a1a}.hero__bg .hero__bg-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,transparent 0%,rgba(0,0,0,.25) 50%,rgba(0,0,0,.6) 100%),radial-gradient(ellipse 100% 100% at 50% 100%,rgba(0,0,0,.5) 0%,transparent 60%);pointer-events:none}.hero__content{position:relative;z-index:1;text-align:center;max-width:1000px;width:100%;padding:0 .5rem}@media (max-width: 600px){.hero__content{padding:0 .25rem}}.hero__headline,.hero__subline,.hero__form{opacity:1}.hero__headline{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(3.25rem,9vw,6rem);font-weight:600;color:#f8f6f2;margin-bottom:1.25rem;line-height:1.05;letter-spacing:-.04em;text-shadow:0 2px 32px rgba(0,0,0,.4)}.hero__subline{font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:600;color:#f8f6f2;margin-bottom:3.5rem;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.5;letter-spacing:.02em;text-shadow:0 2px 24px rgba(0,0,0,.5)}@media (max-width: 600px){.hero__subline{margin-bottom:2rem}}.hero__form{display:inline-flex;align-items:stretch;background:#14141480;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.5rem;gap:0;box-shadow:0 8px 32px #0000002e}@media (max-width: 600px){.hero__form{flex-direction:column;width:100%;max-width:100%;padding:1rem;gap:0;align-items:stretch;margin:0 auto}}.hero__form-group{display:flex;flex-direction:column;align-items:flex-start;padding:.6rem 1.5rem;text-align:left}@media (max-width: 600px){.hero__form-group{width:100%;align-items:stretch;padding:.85rem 1rem;min-height:56px;justify-content:center;box-sizing:border-box}}.hero__form-group label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#f8f6f280;margin-bottom:.3rem}.hero__form-group input{background:transparent;border:none;color:#f8f6f2;font-size:.95rem;font-family:DM Sans,Segoe UI,system-ui,sans-serif;outline:none;cursor:pointer}.hero__form-group input::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.5}@media (max-width: 600px){.hero__form-group input{font-size:1rem;min-height:32px;width:100%;box-sizing:border-box}}.hero__form-group--guests input{width:40px}@media (max-width: 600px){.hero__form-group--guests input{width:100%;min-height:44px;font-size:1rem}}.hero__form-divider{width:1px;background:#ffffff14;margin:.75rem 0}@media (max-width: 600px){.hero__form-divider{display:none}}.hero__form-submit{background:#fff;color:#141414;border:none;padding:0 2.25rem;border-radius:10px;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;cursor:pointer;transition:transform .4s cubic-bezier(.33,1,.68,1),background .4s cubic-bezier(.33,1,.68,1),box-shadow .4s cubic-bezier(.33,1,.68,1);box-shadow:0 8px 24px #00000026}.hero__form-submit:focus-visible{outline:2px solid #c4a090;outline-offset:2px}.hero__form-submit:hover{background:#e8e4df;transform:translateY(-2px);box-shadow:0 12px 32px #0003}.hero__form-submit:active{transform:translateY(0)}@media (max-width: 600px){.hero__form-submit{width:100%;padding:1rem 1.25rem;min-height:48px;font-size:.8rem;margin-top:.25rem}}.philosophy{padding:clamp(5rem,12vw,8.5rem) clamp(1.5rem,5vw,4rem);background-color:#141414}.philosophy__inner{max-width:1280px;margin-left:auto;margin-right:auto;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:center}.philosophy__image-wrap{position:relative;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.06);transition:border-color .4s cubic-bezier(.33,1,.68,1)}.philosophy__image-wrap:hover{border-color:#ffffff1f}.philosophy__image{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.33,1,.68,1)}.philosophy__image-wrap:hover .philosophy__image{transform:scale(1.03)}.philosophy__content{padding-top:0;text-align:left}.philosophy__label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:#9c9892;margin-bottom:.75rem}.philosophy__heading{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(2rem,4.5vw,3.25rem);line-height:1.15;color:#f8f6f2;margin-bottom:1.25rem;position:relative;padding-bottom:1rem}.philosophy__heading:after{content:"";position:absolute;left:0;bottom:0;width:2.5rem;height:2px;background:#fff3;border-radius:9999px}.philosophy__quote{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.125rem,2vw,1.35rem);font-style:italic;line-height:1.45;color:#c4c0ba;margin-bottom:1.5rem;max-width:22em}.philosophy__body{font-size:clamp(.9375rem,1.5vw,1.0625rem);color:#9c9892;line-height:1.7}.philosophy__body p+p{margin-top:1.25rem}.philosophy__values{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem;list-style:none;padding:0;margin-left:0}.philosophy__value{display:inline-flex;flex-direction:column;align-items:flex-start;text-align:left;padding:.65rem 1rem;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:default;transition:border-color .22s cubic-bezier(.33,1,.68,1),background-color .22s cubic-bezier(.33,1,.68,1)}.philosophy__value:focus-visible{outline:2px solid #c4a090;outline-offset:2px}.philosophy__value:hover,.philosophy__value--active{border-color:#ffffff38;background:#ffffff0a}.philosophy__value-label{font-size:.875rem;font-weight:600;color:#f8f6f2;letter-spacing:.02em}.philosophy__value-desc{font-size:.75rem;color:#9c9892;margin-top:.2rem}@media (max-width: 900px){.philosophy__inner{grid-template-columns:1fr;gap:2.5rem}.philosophy__image{aspect-ratio:16/10}.philosophy__content{padding-top:0}.philosophy__quote{max-width:none}}@media (max-width: 600px){.philosophy__values{margin-top:1.75rem;gap:.4rem}.philosophy__value{padding:.55rem .85rem}}.room-card{background-color:#1c1c1c;border-radius:14px;overflow:hidden;transition:border-color .4s cubic-bezier(.33,1,.68,1),background-color .22s cubic-bezier(.33,1,.68,1);display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.06)}.room-card:hover{border-color:#ffffff2e;background-color:#2a2a2a}.room-card--selected{border-color:#ffffff59;background-color:#2a2a2a}.room-card__image-wrap{aspect-ratio:4/3;overflow:hidden;position:relative;flex-shrink:0}.room-card__image-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.2) 0%,transparent 50%);pointer-events:none;opacity:0;transition:opacity .4s cubic-bezier(.33,1,.68,1)}.room-card:hover .room-card__image-wrap:after{opacity:1}.room-card__image{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.33,1,.68,1)}.room-card:hover .room-card__image{transform:scale(1.05)}.room-card__content{padding:1.5rem 1.75rem;display:flex;flex-direction:column;flex:1;min-width:0}.room-card__title{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(1.25rem,2.5vw,1.5rem);color:#f8f6f2;margin-bottom:.5rem;letter-spacing:-.02em}.room-card__desc{font-size:.875rem;color:#9c9892;line-height:1.55;margin-bottom:1rem;flex:1}.room-card__price{margin-bottom:1rem}.room-card__price-value{font-weight:600;font-size:1.125rem;color:#f8f6f2}.room-card__price-label{font-size:.875rem;color:#9c9892;font-weight:400}.room-card__cta{margin-top:auto;width:100%;padding:.75rem 1.25rem;font-family:DM Sans,Segoe UI,system-ui,sans-serif;font-size:.875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#141414;background:#fff;border:none;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background .4s cubic-bezier(.33,1,.68,1),color .22s cubic-bezier(.33,1,.68,1),gap .22s cubic-bezier(.33,1,.68,1)}.room-card__cta:focus-visible{outline:2px solid #c4a090;outline-offset:2px}.room-card__cta:hover{background:#e8e4df;gap:.75rem}.room-card__cta:active{background:#ebe7e2}.room-card__cta-icon{width:1rem;height:1rem;opacity:.7;transition:transform .22s cubic-bezier(.33,1,.68,1)}.room-card:hover .room-card__cta-icon{transform:translate(2px)}.room-card--horizontal{flex-direction:row}.room-card--horizontal .room-card__image-wrap{width:42%;aspect-ratio:auto;min-height:220px}.room-card--horizontal .room-card__content{padding:1.75rem 2rem;justify-content:center}.room-card--horizontal .room-card__desc{margin-bottom:1.25rem}@media (max-width: 900px){.room-card--horizontal{flex-direction:column}.room-card--horizontal .room-card__image-wrap{width:100%;aspect-ratio:4/3;min-height:0}}.rooms{padding:clamp(5rem,12vw,8.5rem) clamp(1.5rem,5vw,4rem);background-color:#1e1e1e}.rooms__inner{max-width:1280px;margin-left:auto;margin-right:auto}.rooms__heading{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(2rem,4.5vw,3.25rem);color:#f8f6f2;margin-bottom:.5rem;position:relative;display:inline-block}.rooms__heading:after{content:"";position:absolute;left:0;bottom:-.5rem;width:2.5rem;height:2px;background:#ffffff40;border-radius:9999px}.rooms__sub{font-size:clamp(.9375rem,1.5vw,1.0625rem);color:#9c9892;margin-bottom:3rem;max-width:28em;line-height:1.5}.rooms__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.rooms__grid .room-card:nth-child(1){grid-column:span 2}.rooms__grid .room-card:nth-child(3){grid-column:1/-1}@media (max-width: 900px){.rooms__grid{grid-template-columns:1fr 1fr}.rooms__grid .room-card:nth-child(1){grid-column:span 2}.rooms__grid .room-card:nth-child(3){grid-column:span 2}}@media (max-width: 600px){.rooms__grid{grid-template-columns:1fr}.rooms__grid .room-card:nth-child(1),.rooms__grid .room-card:nth-child(3){grid-column:1}}.booking-step__title{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(1.25rem,2.5vw,1.5rem);color:#f8f6f2;margin-bottom:1.5rem}.booking-step__room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.booking-step__room-card{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:#2a2a2a;border:2px solid transparent;border-radius:10px;cursor:pointer;transition:border-color .22s cubic-bezier(.33,1,.68,1),box-shadow .22s cubic-bezier(.33,1,.68,1)}.booking-step__room-card:hover{box-shadow:0 4px 20px #0000001f}.booking-step__room-card--selected{border-color:#c4a090}.booking-step__room-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;margin-bottom:.5rem}.booking-step__room-title{font-size:.75rem;font-weight:600;color:#f8f6f2}.booking-step__room-price{font-size:.7rem;color:#9c9892}.booking-step__field{margin-bottom:1.25rem}.booking-step__field--float{position:relative}.booking-step__label{display:block;font-size:.875rem;font-weight:500;color:#9c9892;margin-bottom:.5rem}.booking-step__input{width:100%;padding:.75rem 1rem;background:#2a2a2a;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#f8f6f2;font-size:clamp(.9375rem,1.5vw,1.0625rem);transition:border-color .22s cubic-bezier(.33,1,.68,1),box-shadow .22s cubic-bezier(.33,1,.68,1)}.booking-step__input:focus{outline:none;border-color:#c4a090;box-shadow:0 0 0 3px #c4a09033}.booking-step__input--error{border-color:#c45c5c}.booking-step__input--filled+.booking-step__float-label,.booking-step__input:focus+.booking-step__float-label{transform:translateY(-1.5rem) scale(.85);color:#c4a090}.booking-step__float-label{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:clamp(.9375rem,1.5vw,1.0625rem);color:#9c9892;pointer-events:none;transition:transform .22s cubic-bezier(.33,1,.68,1),color .22s cubic-bezier(.33,1,.68,1)}.booking-step__field-error{display:block;font-size:.75rem;color:#d88;margin-top:.35rem}.booking-step__form-error{font-size:.875rem;color:#d88;margin-bottom:1rem}.booking-step__guests{display:flex;align-items:center;gap:1rem}.booking-step__guest-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:500;color:#f8f6f2;background:#2a2a2a;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:border-color .22s cubic-bezier(.33,1,.68,1)}.booking-step__guest-btn:focus-visible{outline:2px solid #c4a090;outline-offset:2px}.booking-step__guest-btn:hover{border-color:#c4a090}.booking-step__guest-value{font-size:clamp(.9375rem,1.5vw,1.0625rem);font-weight:600;color:#f8f6f2;min-width:2ch;text-align:center}.booking-step__error{font-size:.875rem;color:#d88;margin-bottom:1rem}.booking-step__actions{display:flex;gap:1rem;margin-top:1.5rem}.booking-step__back{padding:.75rem 1.25rem;font-family:DM Sans,Segoe UI,system-ui,sans-serif;font-size:.875rem;font-weight:500;color:#9c9892;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;transition:border-color .22s cubic-bezier(.33,1,.68,1),color .22s cubic-bezier(.33,1,.68,1)}.booking-step__back:focus-visible{outline:2px solid #c4a090;outline-offset:2px}.booking-step__back:hover{color:#f8f6f2;border-color:#9c9892}.booking-step__next{flex:1;padding:.875rem 1.5rem;font-family:DM Sans,Segoe UI,system-ui,sans-serif;font-size:.875rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#141414;background:#f8f6f2;border:none;border-radius:6px;cursor:pointer;transition:background .4s cubic-bezier(.33,1,.68,1)}.booking-step__next:focus-visible{outline:2px solid #c4a090;outline-offset:2px}.booking-step__next:hover:not(:disabled){background:#e8e4df}.booking-step__next:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 600px){.booking-step__room-grid{grid-template-columns:1fr}}.booking-form__panel{max-width:520px;border-radius:14px;overflow:hidden;background:#1e1e1e99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 32px #0000002e;padding:0}.booking-form__progress{position:relative;display:flex;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06)}.booking-form__progress-fill{position:absolute;left:0;bottom:0;width:0;height:2px;background:#fff;transition:width .4s cubic-bezier(.33,1,.68,1)}.booking-form__progress-step{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#9c9892;position:relative;z-index:1}.booking-form__progress-step--active{color:#f8f6f2;font-weight:600}.booking-form__content{padding:1.5rem}.booking-form__success{max-width:520px;padding:2.5rem;background:#1e1e1e99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 32px #0000002e;border-radius:14px;text-align:center}.booking-form__success-message{font-size:clamp(.9375rem,1.5vw,1.0625rem);color:#f8f6f2;margin-bottom:1.5rem;line-height:1.6}.booking-form__success-again{padding:.75rem 1.5rem;font-family:DM Sans,Segoe UI,system-ui,sans-serif;font-size:.875rem;font-weight:500;color:#f8f6f2;background:transparent;border:1px solid #9c9892;border-radius:6px;cursor:pointer;transition:border-color .22s cubic-bezier(.33,1,.68,1),color .22s cubic-bezier(.33,1,.68,1)}.booking-form__success-again:focus-visible{outline:2px solid #c4a090;outline-offset:2px}.booking-form__success-again:hover{border-color:#f8f6f2;color:#f8f6f2}.booking{padding:clamp(5rem,12vw,8.5rem) clamp(1.5rem,5vw,4rem);background-color:#141414}.booking__inner{max-width:1280px;margin-left:auto;margin-right:auto}.booking__heading{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(2rem,4.5vw,3.25rem);color:#f8f6f2;margin-bottom:.5rem;position:relative;display:inline-block;padding-bottom:1rem}.booking__heading:after{content:"";position:absolute;left:0;bottom:0;width:2.5rem;height:2px;background:#fff3;border-radius:9999px}.booking__sub{font-size:clamp(.9375rem,1.5vw,1.0625rem);color:#9c9892;margin-bottom:2rem}.booking__layout{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:stretch}.booking__form-wrap{min-width:0;display:flex}.booking__form-wrap .booking-form__panel{flex:1;min-height:0;max-width:none}.booking__promo{position:relative;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.booking__promo-label{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(1.25rem,2.5vw,1.5rem);color:#f8f6f2;margin:0 0 1rem;padding:0}.booking__promo-slider{position:relative;width:100%;min-height:260px;aspect-ratio:4/3;overflow:hidden;border-radius:14px 14px 0 0}.booking__promo-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}.booking__promo-slide--active{position:relative;height:100%;opacity:1;visibility:visible}.booking__promo-image-wrap{position:relative;width:100%;height:100%;border-radius:0 0 14px 14px;overflow:hidden}.booking__promo-image{width:100%;height:100%;object-fit:cover;border-radius:0 0 14px 14px}.booking__promo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.2) 50%,transparent 100%);pointer-events:none}.booking__promo-content{position:absolute;left:0;right:0;bottom:0;padding:1.25rem 1.5rem;color:#f8f6f2}.booking__promo-title{display:block;font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:1.125rem;margin-bottom:.25rem;letter-spacing:.02em}.booking__promo-text{font-size:.875rem;line-height:1.45;color:#c4c0ba;margin:0}.booking__promo-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;border:none;border-radius:50%;background:#ffffff1f;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .22s cubic-bezier(.33,1,.68,1),transform .22s cubic-bezier(.33,1,.68,1)}.booking__promo-arrow:hover{background:#ffffff38;transform:translateY(-50%) scale(1.05)}.booking__promo-arrow--prev{left:.75rem}.booking__promo-arrow--next{right:.75rem}.booking__promo-dots{display:flex;justify-content:center;gap:.5rem;padding:.75rem;background:#0000001f;border-radius:0 0 14px 14px}.booking__promo-dot{width:8px;height:8px;border-radius:50%;border:none;background:#ffffff59;cursor:pointer;transition:background .22s cubic-bezier(.33,1,.68,1),transform .22s cubic-bezier(.33,1,.68,1)}.booking__promo-dot:hover{background:#fff9}.booking__promo-dot--active{background:#fff;transform:scale(1.2)}.booking__promo-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.booking__promo-card{display:block;width:100%;text-align:left;padding:1.25rem 1.5rem;background:#1c1c1c;border:1px solid rgba(255,255,255,.06);border-radius:10px;cursor:pointer;transition:border-color .4s cubic-bezier(.33,1,.68,1),background-color .22s cubic-bezier(.33,1,.68,1)}.booking__promo-card:focus-visible{outline:2px solid #c4a090;outline-offset:2px}.booking__promo-card:hover{border-color:#ffffff24;background:#2a2a2a}.booking__promo-card--active{border-color:#fff3;background:#2a2a2a}.booking__promo-card-num{display:block;font-size:.75rem;font-weight:600;color:#9c9892;letter-spacing:.05em;margin-bottom:.5rem}.booking__promo-card-title{display:block;font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:1rem;color:#f8f6f2;margin-bottom:.35rem}.booking__promo-card-text{font-size:.875rem;color:#9c9892;line-height:1.5;margin:0}@media (max-width: 900px){.booking__layout{grid-template-columns:1fr;gap:2rem}.booking__promo-slider{aspect-ratio:16/10;min-height:240px}.booking__promo-cards{grid-template-columns:1fr;margin-top:1.75rem}}@media (max-width: 600px){.booking__promo-cards{gap:.75rem}.booking__promo-card{padding:1rem 1.25rem}}.amenities{padding:clamp(5rem,12vw,8.5rem) clamp(1.5rem,5vw,4rem);background-color:#1e1e1e}.amenities__inner{max-width:1280px;margin-left:auto;margin-right:auto}.amenities__header{margin-bottom:3rem}.amenities__heading{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(2rem,4.5vw,3.25rem);color:#f8f6f2;margin-bottom:.5rem}.amenities__sub{font-size:clamp(.9375rem,1.5vw,1.0625rem);color:#9c9892;margin-bottom:1.25rem}.amenities__accent-line{display:block;width:3rem;height:3px;background:linear-gradient(90deg,#c4a090,#d4b09e);border-radius:9999px}.amenities__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.amenity{position:relative;padding:1.5rem;background:#1c1c1c;border-radius:10px;border:1px solid rgba(156,152,146,.08);box-shadow:none;overflow:hidden;transition:background-color .4s cubic-bezier(.33,1,.68,1),border-color .4s cubic-bezier(.33,1,.68,1)}.amenity:hover,.amenity:focus-visible{outline:none;background:#2a2a2a;border-color:#9c989226}.amenity:hover .amenity__accent,.amenity:focus-visible .amenity__accent{opacity:1}.amenity:hover .amenity__icon,.amenity:focus-visible .amenity__icon{transform:scale(1.08);background:linear-gradient(135deg,#d4b09e,#c4a090)}.amenity--featured{grid-column:span 2;padding:1.75rem 1.5rem}.amenity--featured .amenity__content{flex-direction:row;align-items:center;gap:1.25rem;text-align:left}.amenity--featured .amenity__icon-wrap{margin-bottom:0}.amenity--featured .amenity__label{font-size:clamp(.9375rem,1.5vw,1.0625rem)}.amenity__accent{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,transparent 0%,rgba(196,160,144,.25) 20%,rgba(212,176,158,.4) 50%,rgba(196,160,144,.25) 80%,transparent 100%);border-radius:9999px 0 0 9999px;opacity:0;transition:opacity .4s cubic-bezier(.33,1,.68,1)}.amenity__content{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}.amenity__icon-wrap{display:flex;align-items:center;justify-content:center;margin-bottom:.75rem}.amenity__icon{display:block;width:44px;height:44px;background:linear-gradient(135deg,#c4a090,#d4b09e);border-radius:10px;transition:transform .4s cubic-bezier(.33,1,.68,1),background .4s cubic-bezier(.33,1,.68,1)}.amenity__label{font-size:.875rem;font-weight:500;color:#f8f6f2;letter-spacing:.02em}@media (max-width: 900px){.amenities__grid{grid-template-columns:repeat(2,1fr)}.amenity--featured{grid-column:span 1}}@media (max-width: 600px){.amenities__header{margin-bottom:2.25rem}.amenities__grid{grid-template-columns:1fr;gap:.75rem}.amenity{padding:1.25rem 1rem}.amenity--featured .amenity__content{flex-direction:column;text-align:center}.amenity--featured .amenity__icon-wrap{margin-bottom:.75rem}.amenity--featured .amenity__label{font-size:.875rem}}.gallery{padding:clamp(5rem,12vw,8.5rem) clamp(1.5rem,5vw,4rem);background-color:#1e1e1e;overflow:hidden}.gallery__inner{max-width:1280px;margin-left:auto;margin-right:auto}.gallery__heading{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(2rem,4.5vw,3.25rem);color:#f8f6f2;margin-bottom:.5rem}.gallery__sub{font-size:clamp(.9375rem,1.5vw,1.0625rem);color:#9c9892;margin-bottom:2.5rem;max-width:28em}.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.gallery__grid .gallery__item:nth-child(1){grid-column:span 2;aspect-ratio:2/1}.gallery__grid .gallery__item:nth-child(6){grid-column:span 2;aspect-ratio:2/1}.gallery__item{position:relative;display:block;width:100%;border:none;border-radius:10px;overflow:hidden;background:#2a2a2a;cursor:pointer;padding:0;aspect-ratio:1;transition:border-color .4s cubic-bezier(.33,1,.68,1);border:1px solid transparent}.gallery__item:hover{border-color:#ffffff1f}.gallery__item:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.gallery__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.33,1,.68,1)}.gallery__item:hover .gallery__img{transform:scale(1.06)}.gallery__item-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s cubic-bezier(.33,1,.68,1)}.gallery__item:hover .gallery__item-overlay{opacity:1}.gallery__item-icon{width:2.5rem;height:2.5rem;color:#fff}.gallery__lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000eb;display:flex;align-items:center;justify-content:center;padding:3rem}.gallery__lightbox-close{position:absolute;top:1.25rem;right:1.25rem;width:48px;height:48px;border:none;background:#ffffff14;color:#fff;border-radius:9999px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .22s cubic-bezier(.33,1,.68,1)}.gallery__lightbox-close:hover{background:#ffffff26}.gallery__lightbox-close svg{width:24px;height:24px}.gallery__lightbox-prev,.gallery__lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:none;background:#ffffff14;color:#fff;border-radius:9999px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .22s cubic-bezier(.33,1,.68,1);left:1.5rem}.gallery__lightbox-prev:hover,.gallery__lightbox-next:hover{background:#ffffff2e}.gallery__lightbox-prev svg,.gallery__lightbox-next svg{width:28px;height:28px}.gallery__lightbox-next{left:auto;right:1.5rem}.gallery__lightbox-img-wrap{max-width:90vw;max-height:85vh;border-radius:10px;overflow:hidden}.gallery__lightbox-img{width:100%;height:100%;object-fit:contain;display:block}.gallery__lightbox-counter{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);font-size:.875rem;color:#9c9892;letter-spacing:.05em}@media (max-width: 900px){.gallery__grid{gap:.6rem}.gallery__lightbox-prev,.gallery__lightbox-next{width:44px;height:44px;left:.75rem;right:.75rem}.gallery__lightbox-next{right:.75rem;left:auto}}@media (max-width: 600px){.gallery__grid{grid-template-columns:1fr}.gallery__grid .gallery__item:nth-child(1),.gallery__grid .gallery__item:nth-child(6){grid-column:1;aspect-ratio:16/10}.gallery__lightbox{padding:1rem}.gallery__lightbox-close{top:.75rem;right:.75rem;width:40px;height:40px}.gallery__lightbox-prev,.gallery__lightbox-next{width:40px;height:40px;left:.5rem;right:.5rem}.gallery__lightbox-next{left:auto;right:.5rem}}.testimonials{padding:clamp(5rem,12vw,8.5rem) clamp(1.5rem,5vw,4rem);background-color:#141414}.testimonials__inner{max-width:1280px;margin-left:auto;margin-right:auto}.testimonials__heading{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(2rem,4.5vw,3.25rem);color:#f8f6f2;margin-bottom:.5rem;position:relative;display:inline-block;padding-bottom:1rem}.testimonials__heading:after{content:"";position:absolute;left:0;bottom:0;width:2.5rem;height:2px;background:#fff3;border-radius:9999px}.testimonials__sub{font-size:clamp(.9375rem,1.5vw,1.0625rem);color:#9c9892;margin-bottom:2.5rem}.testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.testimonial-card{position:relative;padding:2rem 1.75rem;background:#1c1c1c;border:1px solid rgba(255,255,255,.06);border-radius:14px;transition:border-color .4s cubic-bezier(.33,1,.68,1),background-color .22s cubic-bezier(.33,1,.68,1);display:flex;flex-direction:column;text-align:left}.testimonial-card:hover{border-color:#ffffff24;background:#2a2a2a}.testimonial-card__icon{display:block;width:2rem;height:2rem;color:#9c9892;margin-bottom:1.25rem;opacity:.7}.testimonial-card__icon svg{width:100%;height:100%}.testimonial-card__quote{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.1rem,1.8vw,1.35rem);font-style:italic;line-height:1.55;color:#f8f6f2;margin:0 0 1.5rem;flex:1}.testimonial-card__author{display:flex;flex-direction:column;gap:.15rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06)}.testimonial-card__name{font-size:.875rem;font-weight:600;color:#f8f6f2;letter-spacing:.02em}.testimonial-card__from{font-size:.75rem;color:#9c9892}@media (max-width: 900px){.testimonials__grid{grid-template-columns:1fr;gap:1.25rem;max-width:520px;margin-left:auto;margin-right:auto}}@media (max-width: 600px){.testimonial-card{padding:1.5rem 1.25rem}.testimonial-card__quote{font-size:1.1rem}}.location{padding:clamp(5rem,12vw,8.5rem) clamp(1.5rem,5vw,4rem);background-color:#1e1e1e}.location__inner{max-width:1280px;margin-left:auto;margin-right:auto}.location__heading{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(2rem,4.5vw,3.25rem);color:#f8f6f2;margin-bottom:.5rem}.location__sub{font-size:clamp(.9375rem,1.5vw,1.0625rem);color:#9c9892;margin-bottom:2rem}.location__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,3.5rem);align-items:start}@media (max-width: 900px){.location__grid{grid-template-columns:1fr}}.location__left{display:flex;flex-direction:column;gap:1.5rem}.location__map-wrap{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:2/1;box-shadow:0 16px 48px #00000038}.location__map-img{width:100%;height:100%;object-fit:cover}.location__map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 50%,rgba(26,26,26,.4) 100%);pointer-events:none}.location__details{font-size:.875rem;color:#c4c0ba;display:flex;flex-direction:column;gap:.5rem}.location__details a{transition:color .22s cubic-bezier(.33,1,.68,1)}.location__details a:hover{color:#c4a090}.location__address{font-weight:600;color:#f8f6f2;margin-bottom:.25rem}.location__social{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.5rem}.location__social a{font-size:.875rem;color:#c4c0ba;text-decoration:none;transition:color .22s cubic-bezier(.33,1,.68,1)}.location__social a:hover{color:#c4a090}.location__form-done{font-size:clamp(.9375rem,1.5vw,1.0625rem);color:#c4c0ba;padding:1.5rem;background:#2a2a2a;border-radius:10px}.location__form{display:flex;flex-direction:column;gap:1.25rem}.location__field{display:flex;flex-direction:column;gap:.35rem}.location__label{font-size:.875rem;font-weight:500;color:#9c9892}.location__input{font-family:DM Sans,Segoe UI,system-ui,sans-serif;font-size:clamp(.9375rem,1.5vw,1.0625rem);color:#f8f6f2;background:#2a2a2a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.75rem 1rem;transition:border-color .22s cubic-bezier(.33,1,.68,1),box-shadow .22s cubic-bezier(.33,1,.68,1)}.location__input::placeholder{color:#9c9892}.location__input:focus{outline:none;border-color:#c4a090;box-shadow:0 0 0 3px #c4a09026}.location__input--area{resize:vertical;min-height:100px}.location__submit{font-family:DM Sans,Segoe UI,system-ui,sans-serif;font-size:clamp(.9375rem,1.5vw,1.0625rem);font-weight:600;color:#141414;background:#f8f6f2;border:none;border-radius:10px;padding:.9rem 1.5rem;cursor:pointer;transition:background .22s cubic-bezier(.33,1,.68,1),box-shadow .22s cubic-bezier(.33,1,.68,1)}.location__submit:hover{background:#e8e4df;box-shadow:0 4px 20px #0000001f}
