:root{--sand: #f7f2ea;--sand-deep: #efe7da;--paper: #fffdf9;--ink: #211d18;--ink-soft: #4a433b;--stone: #8b8175;--line: #e7ddcd;--accent: #9c7a4d;--accent-deep: #7d6039;--gold: #b8935a;--brand: var(--accent);--serif: "Fraunces", Georgia, "Times New Roman", serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm: 0 2px 10px rgba(33, 29, 24, .06);--shadow-md: 0 14px 40px rgba(33, 29, 24, .12);--radius: 16px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--sand);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1;letter-spacing:-.01em}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.muted{color:var(--stone)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:none;border-radius:10px;background:var(--ink);color:#f7f2ea;font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:transform .15s ease,background .2s ease,box-shadow .2s ease}.btn-primary:hover{background:var(--accent-deep);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}.btn-primary.full{width:100%}.btn-ghost{padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s}.btn-ghost:hover{border-color:var(--accent);background:var(--paper)}.error{margin-top:14px;padding:10px 14px;background:#fbeae5;color:#a3402a;border-radius:10px;font-size:13px}.site{min-height:100vh;display:flex;flex-direction:column;background:var(--sand)}.site-header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background:#f7f2ead9;-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid var(--line);transition:background .3s ease,border-color .3s ease,padding .3s ease,color .3s ease}.site-header .site-brand,.site-header .nav-link{color:var(--ink)}.site-header.overlay{position:fixed;left:0;right:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent}.site-header.overlay .site-brand,.site-header.overlay .nav-link{color:#fff}.site-header.overlay.solid{position:fixed;background:#f7f2eae6;-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);border-bottom-color:var(--line);padding-top:14px;padding-bottom:14px}.site-header.overlay.solid .site-brand,.site-header.overlay.solid .nav-link{color:var(--ink)}.site-brand{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:.01em;text-decoration:none}.site-brand .dot{color:var(--gold)}.nav-link{font-size:13px;font-weight:500;letter-spacing:.04em;text-decoration:none;padding:8px 14px;border:1px solid currentColor;border-radius:999px;opacity:.9;transition:opacity .2s,background .2s,color .2s}.nav-link:hover{opacity:1}.hero{position:relative;min-height:94vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;padding:110px 0 48px}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.4s ease;will-change:opacity}.hero-bg.active{opacity:1;animation:heroZoom 8s ease-out forwards}@keyframes heroZoom{0%{transform:scale(1.06)}to{transform:scale(1.14)}}.hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 50% 30%,#0a080600 40%,#0a080680),linear-gradient(180deg,#100c098c,#100c091f 38%,#100c09b8)}.hero-inner{position:relative;z-index:2;max-width:880px;padding:0 24px;animation:heroRise 1s cubic-bezier(.2,.8,.2,1) both}@keyframes heroRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hero-eyebrow{color:#ffffffeb;letter-spacing:.3em}.hero h1{font-size:clamp(40px,6.4vw,82px);font-weight:400;line-height:1.04;margin:20px 0 0;color:#fff;text-shadow:0 2px 40px rgba(0,0,0,.35)}.hero-rule{width:54px;height:2px;background:var(--gold);margin:26px auto;opacity:.9}.hero p{font-size:clamp(16px,2vw,19px);line-height:1.6;color:#ffffffe6;max-width:560px;margin:0 auto 30px;font-weight:300}.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.hero .btn-primary{background:#fff;color:var(--ink)}.hero .btn-primary:hover{background:var(--sand)}.btn-lg{padding:16px 30px;font-size:14px;letter-spacing:.06em;border-radius:999px}.btn-glass{display:inline-flex;align-items:center;justify-content:center;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.55);font-family:var(--sans);font-weight:600;cursor:pointer;text-decoration:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,transform .15s,border-color .2s}.btn-glass:hover{background:#fff3;border-color:#fff;transform:translateY(-1px)}.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translate(-50%);z-index:2;width:26px;height:42px;border:1.5px solid rgba(255,255,255,.6);border-radius:999px}.scroll-cue span{position:absolute;top:8px;left:50%;width:3px;height:8px;border-radius:2px;background:#ffffffe6;transform:translate(-50%);animation:scrollDot 1.8s ease-in-out infinite}@keyframes scrollDot{0%{opacity:0;transform:translate(-50%)}30%{opacity:1}to{opacity:0;transform:translate(-50%,16px)}}.trust{display:flex;justify-content:center;gap:48px;flex-wrap:wrap;padding:26px 24px;background:var(--paper);border-bottom:1px solid var(--line)}.trust-item{font-size:13px;letter-spacing:.03em;color:var(--ink-soft);display:flex;align-items:center;gap:10px}.trust-item .tick{color:var(--accent)}.site-content{flex:1;width:100%;max-width:1160px;margin:0 auto;padding:72px 32px}.section-head{text-align:center;max-width:640px;margin:0 auto 44px}.section-head h2{font-size:clamp(28px,4vw,42px);margin:12px 0 10px}.section-head p{color:var(--stone);font-size:16px;line-height:1.6}.stay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:30px}#collection{scroll-margin-top:84px}.stay-card{background:var(--paper);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;border:1px solid var(--line);box-shadow:0 1px 2px #211d180a;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease}.stay-card:hover{transform:translateY(-8px);box-shadow:0 24px 50px #211d1829;border-color:transparent}.stay-media{position:relative;height:268px;overflow:hidden}.stay-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.stay-card:hover .stay-media img{transform:scale(1.07)}.stay-media-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000047,#0000 32%,#0000 60%,#0000006b)}.stay-badge{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:6px;background:#fffdf9f2;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:7px 13px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 14px #0000001f}.stay-badge .badge-ic{color:var(--gold);font-size:10px}.stay-media-price{position:absolute;right:14px;bottom:14px;color:#fff;font-family:var(--serif);font-size:20px;font-weight:600;text-shadow:0 1px 10px rgba(0,0,0,.4)}.stay-media-price small{font-family:var(--sans);font-size:12px;font-weight:400;opacity:.9}.stay-body{padding:20px 22px}.stay-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.stay-loc{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);display:inline-flex;align-items:center;gap:6px}.stay-loc svg{color:var(--accent);flex:none}.stay-name{font-family:var(--serif);font-size:22px;font-weight:600;margin:8px 0 5px;letter-spacing:-.01em}.stay-tagline{font-size:14px;color:var(--ink-soft);line-height:1.55;min-height:44px}.stay-foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.stay-cta{font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--accent-deep)}.stay-arrow{color:var(--accent-deep);font-size:16px;transition:transform .25s ease}.stay-card:hover .stay-arrow{transform:translate(5px)}.rating{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink)}.rating .star{color:var(--gold)}.rating .count{color:var(--stone)}.perks{margin-top:92px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:56px 44px;background:var(--paper);border:1px solid var(--line);border-radius:22px}.perk{text-align:center}.perk .perk-num{font-family:var(--serif);font-size:30px;color:var(--accent)}.perk h3{font-size:19px;margin:10px 0 8px}.perk p{font-size:14px;color:var(--stone);line-height:1.6}.detail-wrap{max-width:1160px;margin:0 auto;padding:28px 32px 72px}.detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 22px}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);text-decoration:none;font-size:14px;transition:color .2s}.back-link:hover{color:var(--accent)}.share-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}.share-btn:hover{border-color:var(--accent);background:var(--sand-deep);transform:translateY(-1px)}.share-btn svg{color:var(--accent)}.gallery{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:206px 206px;gap:10px;border-radius:20px;overflow:hidden;margin-bottom:34px}.gallery .g-cell{padding:0;border:none;cursor:pointer;overflow:hidden;background:var(--sand-deep)}.gallery .g-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .3s}.gallery .g-cell:hover img{transform:scale(1.05);filter:brightness(.95)}.gallery .g-main{grid-row:1 / 3}.gallery.grid-1{grid-template-columns:1fr;grid-template-rows:420px}.gallery.grid-2{grid-template-columns:1fr 1fr;grid-template-rows:420px}.gallery.grid-2 .g-main,.gallery.grid-1 .g-main{grid-row:auto}.gallery.grid-3{grid-template-columns:2fr 1fr}.gallery.grid-4{grid-template-columns:2fr 1fr 1fr}.gallery-all{position:absolute;bottom:16px;right:16px;background:#fffdf9f2;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:var(--shadow-sm);transition:transform .15s}.gallery-all:hover{transform:translateY(-1px)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#120f0cf0;display:flex;align-items:center;justify-content:center;animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.lb-img{max-width:90vw;max-height:86vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px #00000080}.lb-close{position:absolute;top:22px;right:26px;background:none;border:none;color:#fff;font-size:38px;line-height:1;cursor:pointer;opacity:.85}.lb-close:hover{opacity:1}.lb-counter{position:absolute;top:28px;left:50%;transform:translate(-50%);color:#ffffffd9;font-size:14px;letter-spacing:.05em}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1f;border:1px solid rgba(255,255,255,.3);color:#fff;width:52px;height:52px;border-radius:50%;font-size:30px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.lb-nav:hover{background:#ffffff3d}.lb-prev{left:3vw}.lb-next{right:3vw}.detail-head{margin-bottom:26px}.detail-head .stay-loc{display:block}.detail-head h1{font-size:clamp(30px,4.5vw,46px);margin:8px 0 12px}.detail-subrow{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:var(--ink-soft);font-size:15px}.dot-sep{color:var(--line)}.detail-layout{display:grid;grid-template-columns:1fr 380px;gap:56px;align-items:start}.detail-tagline{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--ink);line-height:1.4;margin-bottom:22px}.facts{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}.fact{display:flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:14px;color:var(--ink)}.fact svg{color:var(--accent)}.divider{height:1px;background:var(--line);margin:30px 0}.detail-desc{font-size:16px;line-height:1.8;color:var(--ink-soft)}.description{position:relative}.desc-body{position:relative;overflow:hidden}.desc-body:not(.expanded){max-height:300px}.desc-para{font-size:15px;line-height:1.75;color:var(--ink-soft);margin-bottom:14px;white-space:pre-line}.desc-heading{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--ink);margin:22px 0 8px}.desc-fade{position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(to bottom,rgba(247,242,234,0),var(--sand));pointer-events:none}.desc-toggle{margin-top:10px;background:none;border:none;padding:0;color:var(--accent);font-size:14px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.desc-toggle:hover{color:var(--accent-deep)}.detail-main h3{font-size:22px;margin-bottom:18px}.amenities{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.amenities li{display:flex;align-items:center;gap:14px;font-size:15px;color:var(--ink-soft);padding-bottom:16px;border-bottom:1px solid var(--line)}.amenity-ic{flex:none;color:var(--ink);display:inline-flex}.amenity-ic svg{display:block}.reviews-head{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:22px;margin-bottom:20px}.reviews-head .star{color:var(--gold)}.reviews-count{font-family:var(--sans);font-size:15px;font-weight:400;color:var(--stone)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 32px}.review-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}.review-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}.review-author{font-weight:600;font-size:14px}.review-date{font-size:12px;color:var(--stone)}.review-text{font-size:14px;line-height:1.6;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.review-text.expanded{-webkit-line-clamp:unset;display:block;overflow:visible}.review-more{margin-top:6px;background:none;border:none;padding:0;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline}.review-more:hover{color:var(--accent-deep)}.booking-card{position:sticky;top:96px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow-md)}.booking-card .price-tag{display:flex;align-items:baseline;gap:6px;font-family:var(--serif);font-size:28px;font-weight:600;margin-bottom:4px}.booking-card .price-tag small{font-family:var(--sans);font-size:14px;font-weight:400;color:var(--stone)}.booking-card .card-rating{margin-bottom:20px}.booking-card .price-compare{font-size:13px;color:var(--stone);margin:0 0 4px}.booking-card .price-compare .price-was{text-decoration:line-through;text-decoration-color:#c9bda799;color:var(--ink-soft);margin-right:4px}.booking-card .price-note{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--accent-deep);margin:-2px 0 14px}.booking-card .price-prompt{font-family:var(--serif);font-size:18px;color:var(--ink-soft);margin-bottom:16px;line-height:1.4}.mbb-prompt{font-size:14px;color:var(--ink-soft);font-weight:500}.price-save{margin:-8px 0 16px;font-size:13px;font-weight:600;color:var(--accent)}.booking-form .row{display:flex;gap:12px}.booking-form .field{flex:1;margin-bottom:14px}.booking-form label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);font-weight:600;margin-bottom:6px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;font-size:14px;font-family:var(--sans);background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #9c7a4d26}.price-breakdown{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid var(--line);margin:8px 0 16px;font-size:15px}.price-breakdown strong{font-family:var(--serif);font-size:18px}.reassure{text-align:center;font-size:12px;margin-top:12px}.booking-confirmed{text-align:center;padding:12px 4px}.booking-confirmed .check{width:56px;height:56px;border-radius:50%;background:#edf6ef;color:#2f8f5b;font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.booking-confirmed h3{font-size:22px;margin-bottom:10px}.booking-confirmed p{color:var(--stone);line-height:1.6;font-size:14px}.confirm-total{margin-top:18px;font-family:var(--serif);font-size:18px;font-weight:600}.site-footer{margin-top:auto;padding:48px 32px;background:var(--ink);color:#f7f2eab3}.footer-inner{max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.footer-brand{font-family:var(--serif);font-size:22px;color:#fff}.footer-inner .muted{color:#f7f2ea8c;font-size:13px}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--line)}.login-card{width:100%;max-width:380px;padding:34px;display:flex;flex-direction:column}.brand{font-family:var(--serif);font-size:26px;font-weight:600}.brand-sm{font-family:var(--serif);font-size:20px;font-weight:600}.subtitle{color:var(--stone);font-size:13px;margin-top:4px}.login-card label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);margin:16px 0 5px;font-weight:600}.login-card input{padding:12px 13px;border:1px solid var(--line);border-radius:10px;font-size:14px;font-family:var(--sans)}.login-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #9c7a4d26}.login-card .btn-primary{margin-top:22px}.page{min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;background:var(--paper);border-bottom:1px solid var(--line)}.content{max-width:1100px;margin:0 auto;padding:40px 28px}.content h1{font-size:30px;margin-bottom:6px}.empty{margin-top:20px;padding:48px;text-align:center;color:var(--stone);background:var(--paper);border-radius:var(--radius);border:1px solid var(--line)}.grid{margin-top:26px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.property-card{padding:20px}.property-name{font-family:var(--serif);font-size:18px;font-weight:600}.tag{display:inline-block;margin-top:8px;padding:3px 10px;border-radius:999px;background:var(--sand-deep);color:var(--ink-soft);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.property-meta{margin-top:14px;font-size:13px;line-height:1.6}@media (max-width: 900px){.detail-layout{grid-template-columns:1fr;gap:32px}.booking-card{position:static;max-width:440px;margin:0 auto;width:100%}.perks{grid-template-columns:1fr;gap:28px;padding:36px 24px}.review-grid{grid-template-columns:1fr}.stay-grid{grid-template-columns:1fr;gap:24px}.site-content{padding:44px 18px}.gallery,.gallery.grid-3,.gallery.grid-4{grid-template-columns:1fr;grid-template-rows:280px}.gallery .g-cell:not(.g-main){display:none}.gallery .g-main{grid-row:auto}.site-header{padding:16px 20px}.site-content{padding:48px 20px}}.reviews-head{gap:10px}.reviews-head .reviews-dot{color:var(--stone);font-family:var(--sans)}.reviews-count{font-family:var(--sans);font-size:18px;font-weight:500;color:var(--ink)}.review-stars{color:var(--gold);letter-spacing:1px;font-size:11px}.reviews-showall{margin-top:28px;padding:13px 24px;background:var(--paper);border:1px solid var(--ink);border-radius:10px;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s}.reviews-showall:hover{background:var(--sand-deep);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.rv-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#120f0c80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .2s ease}.rv-modal{position:relative;background:var(--paper);width:100%;max-width:780px;max-height:86vh;border-radius:20px;box-shadow:0 30px 80px #00000059;display:flex;flex-direction:column;overflow:hidden;animation:popin .22s cubic-bezier(.2,.8,.2,1)}@keyframes popin{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.rv-modal-close{position:absolute;top:16px;right:18px;background:none;border:none;font-size:30px;line-height:1;color:var(--ink-soft);cursor:pointer;z-index:2}.rv-modal-head{padding:30px 34px 18px;border-bottom:1px solid var(--line)}.rv-modal-score{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:30px;font-weight:600}.rv-modal-score .star{color:var(--gold)}.rv-modal-sub{color:var(--stone);font-size:15px;margin-top:4px}.rv-modal-list{padding:26px 34px 34px;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:26px 36px}.review-card.in-modal{break-inside:avoid}.cal{margin:0 auto 18px;max-width:340px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cal-title{font-family:var(--serif);font-size:17px;font-weight:600}.cal-nav{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--paper);font-size:20px;line-height:1;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}.cal-nav:hover:not(:disabled){border-color:var(--accent);background:var(--sand)}.cal-nav:disabled{opacity:.3;cursor:default}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.cal-weekdays{margin-bottom:4px}.cal-wd{text-align:center;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--stone);padding:4px 0}.cal-cell{height:42px;width:100%;min-width:0;padding:0;border:none;background:transparent;border-radius:9px;font-family:var(--sans);font-size:13px;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.cal-cell.blank{cursor:default}.cal-cell:hover:not(.disabled):not(.sel-start):not(.sel-end){background:var(--sand-deep)}.cal-cell.disabled{color:var(--stone);cursor:not-allowed;text-decoration:line-through;text-decoration-color:#8b817599;opacity:.65}.cal-cell.booked{background:repeating-linear-gradient(135deg,transparent,transparent 3px,rgba(163,64,42,.08) 3px,rgba(163,64,42,.08) 6px)}.cal-cell.in-range{background:var(--sand-deep);border-radius:0}.cal-cell.sel-start,.cal-cell.sel-end{background:var(--ink);color:#fff;font-weight:600}.cal-cell.sel-start{border-radius:9px 0 0 9px}.cal-cell.sel-end{border-radius:0 9px 9px 0}.cal-cell.sel-start.sel-end{border-radius:9px}.cal-legend{display:flex;gap:18px;margin-top:14px;font-size:12px;color:var(--stone)}.cal-legend span{display:inline-flex;align-items:center;gap:7px}.cal-legend i{width:12px;height:12px;border-radius:4px;display:inline-block}.cal-legend .dot-booked{background:repeating-linear-gradient(135deg,var(--sand-deep),var(--sand-deep) 2px,rgba(163,64,42,.25) 2px,rgba(163,64,42,.25) 4px);border:1px solid var(--line)}.cal-legend .dot-free{background:var(--paper);border:1px solid var(--line)}.booking-panel{margin-top:4px}.booking-hint{font-size:13px;text-align:center;padding:8px 0 14px}.booking-summary{margin:2px 0 14px;border:1px solid var(--line);border-radius:12px;background:var(--sand);overflow:hidden}.bs-dates{display:flex;align-items:center}.bs-field{flex:1;padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0}.bs-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);font-weight:700}.bs-value{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-value.is-empty{color:var(--stone);font-weight:500}.bs-arrow{color:var(--stone);font-size:15px;padding:0 2px}.booking-guests{margin:0 0 14px}.booking-panel label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);font-weight:600;margin-bottom:6px}.booking-panel select{width:100%;padding:12px 38px 12px 13px;border:1px solid var(--line);border-radius:10px;font-size:14px;font-family:var(--sans);color:var(--ink);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%238b8175' stroke-width='1.6' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color .2s,box-shadow .2s}.booking-panel select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #9c7a4d26}.btn-whatsapp,.btn-call{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 18px;border-radius:11px;font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.btn-whatsapp{background:#1fab54;color:#fff;border:none}.btn-whatsapp:hover{background:#178a43;transform:translateY(-1px);box-shadow:0 10px 26px #1fab544d}.btn-call{margin-top:10px;background:var(--paper);color:var(--ink);border:1px solid var(--line)}.btn-call:hover{border-color:var(--accent);background:var(--sand);transform:translateY(-1px)}.footer-contact{font-size:13px;color:#f7f2eac7}.footer-contact a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:1px}.footer-contact a:hover{border-bottom-color:#fff}.footer-contact .dot-sep{color:#f7f2ea66}@media (max-width: 900px){.rv-modal-list{grid-template-columns:1fr}}.hero-search{width:min(900px,100%);margin:36px auto 0}.searchbar{display:flex;align-items:stretch;gap:2px;background:var(--paper);border:1px solid rgba(255,255,255,.6);border-radius:999px;padding:8px 8px 8px 10px;box-shadow:0 24px 60px #100c094d;text-align:left}.sb-field{display:flex;flex-direction:column;justify-content:center;padding:8px 16px;flex:1;min-width:0}.sb-loc{flex:1.3;min-width:150px}.sb-guests{flex:.75}.sb-field select{text-overflow:ellipsis}.sb-field label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);font-weight:700;margin-bottom:3px}.sb-field input,.sb-field select{border:none;background:transparent;padding:0;font-family:var(--sans);font-size:14px;font-weight:500;color:var(--ink);width:100%;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sb-field input:focus,.sb-field select:focus{outline:none}.sb-sep{width:1px;background:var(--line);margin:10px 0}.sb-actions{display:flex;align-items:center;gap:8px;padding-left:6px}.sb-clear{background:none;border:none;color:var(--stone);font-size:13px;font-weight:600;cursor:pointer;padding:0 6px}.sb-clear:hover{color:var(--ink)}.sb-search{display:inline-flex;align-items:center;gap:8px;background:var(--accent-deep);color:#fff;border:none;padding:13px 22px;border-radius:999px;cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:700;transition:background .2s,transform .15s}.sb-search:hover{background:var(--ink);transform:translateY(-1px)}.sb-dates{position:relative;display:flex;align-items:stretch;flex:2.8;min-width:0}.sb-datefield{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;gap:3px;border:none;background:transparent;cursor:pointer;border-radius:999px;transition:background .15s}.sb-datefield:hover{background:#f2ead914}.sb-datefield.is-active{background:#f2ead924}.sb-dlabel{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);font-weight:700;white-space:nowrap}.sb-dvalue{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.sb-dvalue.is-empty{color:var(--stone);font-weight:400}.sb-calpop{position:fixed;z-index:200;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 60px #00000080;padding:18px 18px 10px}.sb-calpop .cal{margin-bottom:8px}.sb-calpop-foot{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 2px;border-top:1px solid var(--line)}.sb-cal-done{background:var(--accent-deep);color:#fff;border:none;cursor:pointer;padding:9px 20px;border-radius:999px;font-family:var(--sans);font-size:13px;font-weight:700;transition:background .2s}.sb-cal-done:hover{background:var(--ink)}.link-btn{background:none;border:none;padding:0;cursor:pointer;color:var(--accent-deep);font-weight:700;font-size:inherit;text-decoration:underline;text-underline-offset:2px}.no-results{text-align:center;padding:20px 0 10px;color:var(--stone);display:flex;flex-direction:column;align-items:center;gap:14px}.count-link{background:none;border:none;padding:0;cursor:pointer;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--stone)}.count-link:hover{color:var(--ink)}.cancel-policy{font-size:15px;line-height:1.7;color:var(--ink-soft);max-width:640px}.cancel-summary{color:var(--ink);font-size:16px}.link-inline{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent)}.link-inline:hover{color:var(--accent)}.cancel-modal{max-width:560px}.cm-head{padding:30px 34px 20px;border-bottom:1px solid var(--line)}.cm-head h3{font-size:24px;margin-bottom:10px}.cm-lead{font-size:15px;line-height:1.6;color:var(--ink-soft)}.cm-body{padding:26px 34px 32px;overflow-y:auto}.cm-timeline{position:relative}.cm-timeline:before{content:"";position:absolute;left:71px;top:10px;bottom:18px;width:2px;background:var(--line)}.cm-step{display:grid;grid-template-columns:58px 28px 1fr;align-items:start;padding:4px 0 22px}.cm-step:before{content:"";grid-column:2;justify-self:center;margin-top:5px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--paper)}.cm-when{grid-column:1;display:flex;flex-direction:column;text-align:right;font-size:12px;color:var(--stone);line-height:1.3}.cm-when-label{text-transform:uppercase;letter-spacing:.08em}.cm-when-date{font-family:var(--serif);font-size:16px;color:var(--ink);margin:2px 0}.cm-detail{grid-column:3}.cm-title{font-weight:700;color:var(--ink);margin-bottom:3px}.cm-detail p{font-size:14px;color:var(--ink-soft);line-height:1.5}.cm-foot{font-size:12px;margin-top:10px}.cancel-name{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);background:var(--sand-deep);padding:5px 12px;border-radius:999px;margin-bottom:16px}.cancel-list{list-style:none;display:flex;flex-direction:column;gap:12px}.cancel-list li{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:var(--ink-soft);line-height:1.55}.cancel-dot{flex:none;margin-top:7px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #9c7a4d24}.cancel-note{margin-top:16px;font-size:13px;color:var(--stone)}#reviews{scroll-margin-top:90px}@media (max-width: 820px){.hero-search{position:static;transform:none;width:100%;margin-top:28px}.searchbar{flex-wrap:wrap;border-radius:20px;gap:8px;padding:10px}.sb-sep{display:none}.sb-field{flex:1 1 calc(50% - 4px);border:1px solid var(--line);border-radius:12px}.sb-loc,.sb-guests{flex:1 1 100%}.sb-actions{flex:1 1 100%;justify-content:stretch;margin-top:2px}.sb-search{flex:1;justify-content:center}.trust{padding-top:26px}.sb-dates{flex:1 1 100%;gap:8px}.sb-datefield{padding:10px 14px}.sb-calpop{max-width:calc(100vw - 24px)}}.phototour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;background:var(--paper);overflow-y:auto;animation:fade .2s ease}.pt-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:16px;padding:16px 28px;background:#fffdf9eb;-webkit-backdrop-filter:saturate(150%) blur(10px);backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--line)}.pt-close{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--paper);font-size:20px;line-height:1;cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}.pt-close:hover{background:var(--sand);border-color:var(--accent)}.pt-title{font-family:var(--serif);font-size:18px;font-weight:600}.pt-nav{position:sticky;top:71px;z-index:2;display:flex;gap:8px;overflow-x:auto;padding:12px 28px;background:#fffdf9eb;-webkit-backdrop-filter:saturate(150%) blur(10px);backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--line);scrollbar-width:none}.pt-nav::-webkit-scrollbar{display:none}.pt-chip{flex:none;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}.pt-chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.pt-body{max-width:980px;margin:0 auto;padding:32px 28px 72px}.pt-section{margin-bottom:44px;scroll-margin-top:140px}.pt-head{font-family:var(--serif);font-size:24px;font-weight:600;margin-bottom:18px}.pt-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pt-cell{padding:0;border:none;cursor:pointer;overflow:hidden;border-radius:14px;background:var(--sand-deep);aspect-ratio:3 / 2}.pt-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.pt-cell:hover img{transform:scale(1.04)}.pt-grid .pt-cell:first-child{grid-column:1 / -1;aspect-ratio:16 / 9}@media (max-width: 720px){.pt-grid{grid-template-columns:1fr}.pt-grid .pt-cell:first-child{aspect-ratio:3 / 2}}.where-addr{font-size:15px;color:var(--ink-soft);margin-bottom:16px}.map-embed{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.map-embed iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.map-link{display:inline-block;margin-top:14px;font-size:14px;font-weight:700;color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px}.map-link:hover{color:var(--ink)}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:300;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--gold),var(--accent));pointer-events:none}.cursor-glow{position:fixed;top:0;left:0;z-index:400;width:190px;height:190px;margin:-95px 0 0 -95px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#ddbc7852,#ddbc781f,#ddbc7800 68%);mix-blend-mode:screen;filter:blur(5px);opacity:0;transition:opacity .45s ease,background .3s ease;will-change:transform}.cursor-glow.hover{background:radial-gradient(circle,#e6c88a73,#ddbc782e 36%,#ddbc7800 70%)}.cursor-core{position:fixed;top:0;left:0;z-index:401;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;pointer-events:none;background:#f8e9c2;box-shadow:0 0 12px 2px #ddbc78d9;opacity:0;transition:opacity .3s ease;will-change:transform}.cursor-glow.visible,.cursor-core.visible{opacity:1}.spark{position:fixed;z-index:400;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;pointer-events:none;background:#f8e9c2;box-shadow:0 0 8px 1px #ddbc78e6;animation:spark-fade .75s ease-out forwards}@keyframes spark-fade{0%{opacity:.95;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dx, 0),-22px) scale(.2)}}@media (hover: none){.cursor-glow,.cursor-core,.spark,.scroll-progress{display:none}}.reveal-ready .reveal{opacity:0}.reveal.is-in{animation:reveal-in .85s cubic-bezier(.2,.8,.2,1) both}@keyframes reveal-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}::selection{background:#b8935a47;color:var(--ink)}html{scrollbar-color:var(--accent) var(--sand)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--sand)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:10px;border:3px solid var(--sand)}::-webkit-scrollbar-thumb:hover{background:var(--accent-deep)}.btn-primary,.btn-whatsapp,.sb-search{position:relative;overflow:hidden}.btn-primary:after,.btn-whatsapp:after,.sb-search:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-20deg);transition:left .6s ease}.btn-primary:hover:after,.btn-whatsapp:hover:after,.sb-search:hover:after{left:140%}.stay-card:hover{box-shadow:0 26px 56px #211d182e,0 0 0 1px #b8935a40}@media (prefers-reduced-motion: reduce){.reveal,.reveal.is-in{opacity:1!important;animation:none!important}.hero-bg{animation:none!important}}:root{color-scheme:dark;--sand: #100e0c;--sand-deep: #211c17;--paper: #19150f;--ink: #f2ead9;--ink-soft: #c9bda7;--stone: #988b78;--line: rgba(242, 234, 217, .12);--accent: #c8a765;--accent-deep: #b08f4c;--gold: #ddbc78;--brand: var(--accent);--shadow-sm: 0 2px 14px rgba(0, 0, 0, .45);--shadow-md: 0 24px 60px rgba(0, 0, 0, .6)}body{background:var(--sand);color:var(--ink)}.site-header{background:#100e0cb8;border-bottom-color:var(--line)}.site-header.overlay.solid{background:#100e0cdb}.btn-primary{background:linear-gradient(180deg,var(--gold),var(--accent-deep));color:#1a140b;box-shadow:0 8px 24px #00000073}.btn-primary:hover{background:linear-gradient(180deg,#ecd092,var(--accent));color:#1a140b}.hero .btn-primary{background:linear-gradient(180deg,var(--gold),var(--accent-deep));color:#1a140b}.hero .btn-primary:hover{background:linear-gradient(180deg,#ecd092,var(--accent))}.btn-ghost{color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--accent);background:var(--sand-deep)}.stay-card{background:var(--paper);border-color:var(--line);box-shadow:0 1px 2px #00000080}.stay-card:hover{box-shadow:0 30px 64px #000000a6,0 0 0 1px #ddbc784d;border-color:transparent}.stay-badge{background:#19150fd1;color:var(--ink);box-shadow:0 4px 16px #00000080}.gallery-all{background:#19150fd9;color:var(--ink);border-color:var(--line)}.booking-panel select,.booking-form input,.booking-form select,.booking-form textarea,.login-card input{background-color:#141009;color:var(--ink);border-color:var(--line)}.booking-panel select{color:var(--ink)}.searchbar{background:#120f0b9e;border-color:#f2ead92e;box-shadow:0 24px 64px #0000008c;-webkit-backdrop-filter:saturate(140%) blur(16px);backdrop-filter:saturate(140%) blur(16px)}.sb-field input,.sb-field select{color:var(--ink)}.sb-sep{background:#f2ead924}.sb-search{background:linear-gradient(180deg,var(--gold),var(--accent-deep));color:#1a140b}.sb-search:hover{background:linear-gradient(180deg,#ecd092,var(--accent))}.cal-nav{background:var(--paper);color:var(--ink);border-color:var(--line)}.cal-cell.sel-start,.cal-cell.sel-end{background:var(--gold);color:#1a140b}.cal-cell.booked{background:repeating-linear-gradient(135deg,transparent,transparent 3px,rgba(221,188,120,.1) 3px,rgba(221,188,120,.1) 6px)}.cal-legend .dot-booked{background:repeating-linear-gradient(135deg,var(--sand-deep),var(--sand-deep) 2px,rgba(221,188,120,.3) 2px,rgba(221,188,120,.3) 4px);border-color:var(--line)}.cal-legend .dot-free{background:var(--paper);border-color:var(--line)}.reviews-showall{background:var(--paper);border-color:var(--line);color:var(--ink)}.reviews-showall:hover{background:var(--sand-deep)}.rv-modal-close{color:var(--ink-soft)}.rv-modal-close:hover{color:var(--ink)}.phototour{background:var(--sand)}.pt-bar,.pt-nav{background:#100e0cdb;border-bottom-color:var(--line)}.pt-close{background:var(--paper);color:var(--ink);border-color:var(--line)}.pt-close:hover{background:var(--sand-deep);border-color:var(--accent)}.pt-chip{background:var(--paper);color:var(--ink-soft);border-color:var(--line)}.pt-chip:hover{border-color:var(--accent);color:var(--ink)}.pt-chip.active{background:var(--gold);color:#1a140b;border-color:var(--gold)}.pt-cell{background:var(--sand-deep)}.desc-fade{background:linear-gradient(to bottom,rgba(16,14,12,0),var(--sand))}.site-footer{background:#0a0806;color:var(--ink-soft)}.footer-brand{color:var(--ink)}.footer-inner .muted{color:#f2ead980}.booking-confirmed .check{background:#2f8f5b29;color:#6fcf97}.error{background:#a3402a2e;color:#e8a08c}.group-block{margin-bottom:40px;padding:24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#ddbc780f,#ddbc7800)}.group-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}.group-title{display:inline-flex;align-items:center;gap:10px;font-size:24px}.group-title svg{color:var(--accent)}.group-sub{color:var(--stone);font-size:14px;margin-top:6px}.group-cta{width:auto;padding:13px 22px}.combos{margin-bottom:22px;display:flex;flex-direction:column;gap:10px}.combos-head{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}.combo{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.combo-main{flex:1;min-width:0}.combo-homes{font-family:var(--serif);font-size:16px;font-weight:600;color:var(--ink)}.combo-meta{font-size:13px;color:var(--stone);margin-top:3px}.combo-price{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--ink);white-space:nowrap;text-align:right}.combo-total{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--stone);margin-top:2px}.combo-price-loading{color:var(--stone)}.combo-price-prompt{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--stone);white-space:nowrap}.stay-media-price-loading{color:var(--ink-soft)}.combo-price small{font-family:var(--sans);font-size:12px;font-weight:400;color:var(--stone)}.combo-cta{width:auto;padding:10px 18px;flex:none}.combos-note{font-size:12px;margin-bottom:18px}@media (max-width: 700px){.group-head{flex-direction:column;align-items:flex-start}.group-cta{width:100%}.combo{flex-wrap:wrap}.combo-price{order:2}.combo-cta{order:3;width:100%}}.mobile-book-bar{display:none}@media (max-width: 900px){.mobile-book-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));background:#100e0ceb;-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px);border-top:1px solid var(--line)}.mbb-price{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink);white-space:nowrap}.mbb-price small{font-family:var(--sans);font-size:12px;font-weight:400;color:var(--stone)}.mobile-book-bar .btn-primary{padding:13px 22px;white-space:nowrap}.site{padding-bottom:84px}}.detail-gallery{position:relative}.g-carousel-wrap,.gallery-overlay{display:none}@media (max-width: 820px){.detail-wrap{padding-left:0;padding-right:0;padding-top:0}.detail-head,.detail-layout{padding-left:20px;padding-right:20px}.detail-topbar,.gallery{display:none}.g-carousel-wrap{display:block;position:relative;margin-bottom:22px}.g-carousel{display:flex;overflow-x:auto;width:100%;aspect-ratio:4 / 3;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.g-carousel::-webkit-scrollbar{display:none}.gc-slide{flex:0 0 100%;scroll-snap-align:center;padding:0;border:none;background:var(--sand-deep);cursor:pointer}.gc-slide img{width:100%;height:100%;object-fit:cover;display:block}.gc-count{position:absolute;bottom:12px;right:12px;z-index:3;background:#0009;color:#fff;font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gc-all{position:absolute;bottom:12px;left:12px;z-index:3;width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;background:#0000008c;color:#fff;font-size:15px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gallery-overlay{display:flex;justify-content:space-between;align-items:center;position:absolute;top:12px;left:12px;right:12px;z-index:5}.round-btn{width:40px;height:40px;border-radius:50%;background:#100e0cb3;-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border:1px solid var(--line);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.round-btn:active{transform:scale(.94)}}.cal-cell.sel-start,.cal-cell.sel-end,.cal-cell.booked.sel-start,.cal-cell.booked.sel-end,.cal-cell.disabled.sel-start,.cal-cell.disabled.sel-end{background:var(--gold);color:#1a140b;font-weight:700;text-decoration:none;opacity:1}.hero-scroll{display:inline-flex;flex-direction:column;align-items:center;gap:2px;margin:30px auto 0;padding:4px;color:#ffffffeb;text-decoration:none;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.hero-scroll svg{animation:heroBounce 1.8s ease-in-out infinite}@media (max-width: 820px){.hero{min-height:auto;padding-top:80px;padding-bottom:22px}.hero h1{margin-top:14px}.hero p{display:none}.hero-rule{margin:20px auto}.hero-search{margin-top:22px}.hero-scroll{margin:18px auto 0;font-size:10px}}@keyframes heroBounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}
