:root{--amber-gold:#C6A042;--woodsmoke:#101010;--muted: rgba(255,255,255,.66);--bg:#0b0f14;--card:#111821;--border: rgba(255,255,255,.12);--shadow: 0 20px 60px rgba(0,0,0,.45);--shadow2: 0 10px 30px rgba(0,0,0,.35);--radius: 18px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Outfit,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:#ffffffeb}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.app{min-height:100vh}.muted{color:var(--muted);font-size:14px;line-height:1.7}.headline{font-size:34px;letter-spacing:-.02em;margin:0 0 10px}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:#ffffff0f;font-size:13px}.badge--gold{border-color:#c6a04259;background:#c6a0421a}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;border:1px solid var(--border);background:transparent;cursor:pointer;font-weight:600;transition:transform .08s ease,background .15s ease,border-color .15s ease}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--amber-gold);color:#0b0f14;border-color:#c6a0428c}.btn--primary:hover{filter:brightness(1.05)}.btn--ghost:hover{background:#ffffff0f}.btn:disabled{opacity:.6;cursor:not-allowed}.nav{position:sticky;top:0;z-index:20;background:#0a0d10b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.nav__inner{max-width:1200px;margin:0 auto;padding:14px 18px;display:flex;align-items:center;gap:18px}.nav__brand{display:flex;align-items:center;gap:12px}.nav__mark{width:32px;height:32px}.nav__word{height:18px;width:auto}.nav__links{display:flex;gap:18px;margin-left:12px;font-weight:500;color:#ffffffd1}.nav__links a{padding:8px 10px;border-radius:999px}.nav__links a:hover{background:#ffffff0f}.nav__actions{margin-left:auto;display:flex;gap:10px;align-items:center}.hero{position:relative;min-height:74vh}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transform:scale(1.03)}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(1200px 600px at 20% 20%,#0b0f1433,#0b0f14b8),linear-gradient(120deg,#0b0f14b3,#0b0f1466,#0b0f144d)}.hero__content{position:relative;max-width:1200px;margin:0 auto;padding:34px 18px 54px;display:grid;grid-template-columns:1fr 560px;gap:22px;align-items:start}.dock{position:absolute;left:50%;bottom:18px;transform:translate(-50%);display:flex;gap:10px;padding:10px;border-radius:999px;background:#111821ad;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 50px #00000073;flex-wrap:wrap;justify-content:center}.dock__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#ffffffeb;padding:10px 14px;border-radius:999px;cursor:pointer;font-weight:650;transition:transform .08s ease,background .15s ease,border-color .15s ease}.dock__btn:hover{background:#ffffff1a}.dock__btn:active{transform:translateY(1px)}.hero__headline{padding-top:10px}.hero__kicker{font-size:18px;color:#fffc;margin-bottom:12px}.hero__title{font-family:Aboreto,serif;font-size:58px;letter-spacing:.01em;line-height:1.05}.hero__titleAccent{color:var(--amber-gold)}.hero__decor{margin-top:26px;width:280px;opacity:.92;filter:drop-shadow(0 30px 40px rgba(0,0,0,.18))}.booking{width:100%}.booking__card{background:#111821db;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 18px 16px}.booking__title h1{margin:6px 0 0;font-size:22px;letter-spacing:-.01em}.booking__kicker{font-size:13px;color:#ffffffb3;text-transform:uppercase;letter-spacing:.08em}.booking__form{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking__submit{grid-column:1 / -1;padding:12px 14px}.field{display:flex;flex-direction:column;gap:8px}.field__label{font-size:12px;color:#ffffffb8;letter-spacing:.04em}select,input[type=date]{width:100%;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;font-family:inherit;font-size:14px;outline:none;color:#ffffffeb}select:focus,input[type=date]:focus{border-color:#c6a042a6;box-shadow:0 0 0 4px #c6a0421f}.inputIcon{position:relative}.inputIcon--clickable,.inputIcon--clickable input{cursor:pointer}.inputIcon__icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:18px;height:18px;opacity:.55}.inputIcon input{padding-left:38px}.booking__meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px}.alert{margin-top:12px;padding:12px;border-radius:14px;border:1px solid var(--border);font-size:13px}.alert--error{border-color:#c8000040;background:#c800000f}.results{margin-top:14px;border-top:1px solid rgba(16,16,16,.08);padding-top:14px}.results__summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.results__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.resultCard{border:1px solid rgba(16,16,16,.1);border-radius:14px;background:#ffffffd9;padding:12px;display:flex;align-items:center;justify-content:space-between}.resultCard--ok{border-color:#1ea05047;background:#1ea05014}.resultCard--no{border-color:#c800002e;background:#c800000d}.resultCard__name{font-weight:650;font-size:13px}.resultCard__status{font-size:13px;color:#101010bf}.resultCard__status{color:#ffffffb3}.section{max-width:1200px;margin:0 auto;padding:56px 18px}.section__head{max-width:720px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease;will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}.section--about{padding-top:44px}.features{margin-top:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature{border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);background:#ffffff0f;box-shadow:var(--shadow2);padding:18px;text-align:center}.feature__icon{width:84px;height:84px;margin:0 auto 8px}.feature__text{font-weight:650}.grid{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);overflow:hidden;background:#ffffff0f;box-shadow:var(--shadow2)}.card__imgWrap{aspect-ratio:16/10;overflow:hidden}.card__img{width:100%;height:100%;object-fit:cover;transform:scale(1.03)}.card__body{padding:14px 14px 16px}.card__titleRow{display:flex;align-items:center;gap:10px}.pin{width:26px;height:26px}.card__title{margin:0;font-size:18px;letter-spacing:-.01em}.card__badge{margin-top:6px;font-size:13px;color:#101010ad}.card__badge{color:#ffffffb3}.card__actions{margin-top:12px}.card__title{opacity:0;transform:translateY(8px);letter-spacing:.06em;transition:opacity .55s ease,transform .55s ease,letter-spacing .55s ease;will-change:opacity,transform}.card.is-visible .card__title{opacity:1;transform:translateY(0);letter-spacing:-.01em}.footer{border-top:1px solid rgba(255,255,255,.08);background:#0b0f14db}.footer__inner{max-width:1200px;margin:0 auto;padding:34px 18px;display:flex;gap:28px;justify-content:space-between;align-items:flex-start}.footer__brand{display:flex;gap:12px;align-items:center}.footer__mark{width:40px;height:40px}.footer__title{font-weight:700;margin-bottom:4px}.footer__cols{display:flex;gap:28px}.footer__col{display:flex;flex-direction:column;gap:10px;min-width:180px}.footer__head{font-weight:700;margin-bottom:4px}.footer__col a{color:#101010cc}.footer__col a{color:#ffffffc7}.footer__col a:hover{text-decoration:underline}.footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:16px 18px;text-align:center;color:#ffffff8c;font-size:13px}.roomsPage__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.roomsGrid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px}.roomBranchCard{border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);background:#ffffff0f;box-shadow:var(--shadow2);overflow:hidden}.roomBranchCard__top{padding:14px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff0a}.roomBranchCard__info{display:flex;gap:12px;align-items:center}.roomBranchCard__img{width:90px;height:64px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.1)}.roomBranchCard__name{font-weight:750;font-size:16px;letter-spacing:-.01em}.roomOffers{padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px}.roomOffer{border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#ffffff0f;padding:12px;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center}.roomOffer__title{font-weight:750;margin-bottom:6px}.roomOffer__meta{display:flex;flex-wrap:wrap;gap:8px}.roomOffer__price{text-align:end}.roomOffer__priceMain{font-weight:800;font-size:16px}.offerCard{border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#ffffff0d;display:grid;grid-template-columns:250px 1fr 220px;gap:14px;padding:12px;align-items:stretch}.offerCard__media{border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#ffffff08;min-height:150px}.offerMedia{position:relative;width:100%;height:100%}.offerMedia__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .55s ease}.offerMedia__img.is-active{opacity:1}.offerMedia__ph{width:100%;height:100%;min-height:150px;background:#ffffff0a}.offerCard__main{padding-top:2px}.offerCard__title{font-weight:850;font-size:18px;letter-spacing:-.01em}.offerCard__desc{margin-top:6px}.offerCard__chips{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.offerCard__side{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:10px}.offerCard__priceMain{font-weight:900;font-size:18px}.offerCard__cta{width:100%}.unavailableWrap{margin-top:16px}.unavailableTitle{font-weight:800;margin-bottom:10px}.unavailableGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.unavailableCard{display:flex;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;border-radius:16px;padding:10px}.unavailableCard__img{width:58px;height:44px;border-radius:12px;object-fit:cover;border:1px solid rgba(255,255,255,.1)}.unavailableCard__name{font-weight:750}@media (max-width: 720px){.roomOffer{grid-template-columns:1fr}.roomOffer__price{text-align:start}.offerCard{grid-template-columns:1fr}.offerCard__side{align-items:flex-start}.unavailableGrid{grid-template-columns:1fr}}.checkout__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.checkout__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.checkout__card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px}.checkout__summaryTitle{font-weight:800;margin-bottom:10px}.checkout__summary{display:flex;flex-direction:column;gap:8px}.checkout__line{display:flex;justify-content:space-between;gap:10px;color:#ffffffeb}.checkout__line--total{margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);font-weight:850}.checkout__perNight{color:#d1a858f2;font-weight:700}.checkout__actions{margin-top:14px;display:flex;justify-content:flex-end}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field__error{display:block;margin-top:6px;font-size:12px;color:#ffb4b4}.divider{height:1px;background:#ffffff1a;margin:10px 0}.checkout__metaGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.meta{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px}.meta__label{font-size:12px;color:#ffffffb3;margin-bottom:6px}.meta__value{font-weight:850;color:#fffffff0}.floorplan{display:flex;flex-direction:column;gap:10px}.floorplan__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.floorplan__img{width:100%;height:180px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.1)}.floorplan__placeholder{height:180px;border-radius:14px;border:1px dashed rgba(255,255,255,.2);display:grid;place-items:center;color:#ffffffb8;background:#ffffff05}.notice{background:#d1a8581a;border:1px solid rgba(209,168,88,.25);color:#ffffffeb;border-radius:14px;padding:12px;line-height:1.5}.cleaningOptions{display:flex;flex-direction:column;gap:10px;margin-top:12px}.cleaningOption{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:flex-start;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.cleaningOption:hover{transform:translateY(-1px);border-color:#d1a85859;background:#ffffff0a}.cleaningOption.is-selected{border-color:#d1a858a6;background:#d1a85814}.cleaningOption input{margin-top:3px;accent-color:rgb(209,168,88)}.cleaningOption__title{font-weight:850;margin-bottom:6px}.cleaningOption__price{font-weight:850;color:#fffffff2}.animate-pop{animation:popIn .28s ease both}@keyframes popIn{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.payment__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}.payment__card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px}.payment__steps{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.step{padding:8px 10px;border-radius:999px;font-weight:700;font-size:13px;border:1px solid rgba(255,255,255,.1);color:#ffffffbf}.step.is-done{color:#ffffffeb;background:#ffffff0a}.step.is-active{color:#000000eb;background:#d1a858f2;border-color:#d1a858e6}.payment__note{color:#ffffffd1;margin-bottom:12px}.payment__methods{display:flex;flex-direction:column;gap:8px}.radio{display:flex;gap:10px;align-items:center;color:#ffffffeb}.radio input{accent-color:rgb(209,168,88)}.payment__fakeCard{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.payment__actions{margin-top:14px;display:flex;justify-content:flex-end}@media (max-width: 980px){.checkout__grid,.payment__grid{grid-template-columns:1fr}}@media (max-width: 720px){.formGrid,.checkout__metaGrid{grid-template-columns:1fr}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:grid;place-items:center;padding:18px;opacity:0;pointer-events:none;transition:opacity .22s ease}.modal.is-open{opacity:1;pointer-events:auto}.modal__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;border:0;opacity:0;transition:opacity .22s ease}.modal.is-open .modal__overlay{opacity:1}.modal__card{position:relative;width:min(980px,100%);background:#0a0d10f2;border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 20px 60px #00000073;overflow:hidden;opacity:0;transform:translateY(14px) scale(.985);transition:opacity .28s ease,transform .28s ease}.modal__card--content{width:min(860px,100%)}.modal__contentBody{padding:16px;color:#ffffffdb;line-height:1.8}.modal.is-open .modal__card{opacity:1;transform:none}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.modal__title{margin:0;font-size:18px}.modal__close{position:absolute;top:10px;inset-inline-end:10px;width:38px;height:38px;display:grid;place-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.16);background:#00000040;color:#ffffffeb;font-size:24px;line-height:1;border-radius:12px;cursor:pointer}.modal__close:hover{background:#00000059}.modal__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:0}.modal__media{background:#ffffff08;display:grid;grid-template-rows:1fr}.modal__img{width:100%;height:100%;object-fit:cover}.modal__img--sub{max-height:220px;border-top:1px solid rgba(255,255,255,.08)}.modal__content{padding:16px}.modal__address{margin:0 0 10px;color:#ffffffd9}.modal__block{margin-top:12px}.modal__label{font-weight:700;margin-bottom:8px}.modal__list{margin:0;padding-inline-start:18px;color:#ffffffd1}.modal__actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}@media (max-width: 900px){.modal__grid{grid-template-columns:1fr}.modal__img--sub{max-height:180px}}@media (max-width: 1060px){.hero__content{grid-template-columns:1fr}.hero__decor{width:240px}.booking__card{max-width:760px}.nav__links{display:none}}@media (max-width: 720px){.hero{min-height:auto}.hero__title{font-size:44px}.booking__form,.results__grid,.features,.grid{grid-template-columns:1fr}.footer__inner,.footer__cols{flex-direction:column}}
