:root,[data-mantine-color-scheme=dark]{--bg:#0d0c0a;--surface:#161410;--surface-raised:#1e1b16;--border:#2a261e;--border-subtle:#1e1b16;--text:#ede8dd;--text-muted:#7a7266;--text-faint:#3d3a32;--accent:#c4935a;--accent-dim:#8a6438;--accent-glow:rgba(196,147,90,0.12);--grain-opacity:0.028;--photo-vignette:rgba(13,12,10,0.3)}[data-mantine-color-scheme=light]{--bg:#f5f1ea;--surface:#faf8f5;--surface-raised:#f0ede6;--border:#e0d8cc;--border-subtle:#ebe6de;--text:#1c1a16;--text-muted:#7a6e60;--text-faint:#c0b4a4;--accent:#9a6b35;--accent-dim:#7a5228;--accent-glow:rgba(154,107,53,0.1);--grain-opacity:0.04;--photo-vignette:rgba(247,243,236,0.2)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body),system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;transition:background .3s ease,color .3s ease}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");opacity:var(--grain-opacity);pointer-events:none;z-index:9999;mix-blend-mode:overlay}.font-display{font-family:var(--font-display),Georgia,serif}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.anim-fade-up{opacity:0;animation:fadeUp .8s cubic-bezier(.22,1,.36,1) forwards}.anim-slide-right{opacity:0;animation:slideInRight .8s cubic-bezier(.22,1,.36,1) forwards}.anim-delay-1{animation-delay:.08s}.anim-delay-2{animation-delay:.18s}.anim-delay-3{animation-delay:.3s}.anim-delay-4{animation-delay:.45s}.anim-delay-5{animation-delay:.62s}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.18s}.reveal-delay-3{transition-delay:.3s}.section-rule{display:flex;align-items:center;gap:16px;color:var(--accent-dim);font-family:var(--font-body),system-ui,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:400}.section-rule:after,.section-rule:before{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}.photo-item{overflow:hidden;position:relative;cursor:pointer}.photo-item img{transition:transform .7s cubic-bezier(.22,1,.36,1);will-change:transform}.photo-item:hover img{transform:scale(1.06)}.photo-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,var(--photo-vignette));opacity:0;transition:opacity .4s ease;pointer-events:none}.photo-item:hover:after{opacity:1}.photo-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;transition:background .2s ease}.photo-overlay:hover{background:rgba(0,0,0,.55)}.photo-overlay-text{color:#fff;font-family:var(--font-body);font-size:18px;font-weight:400;letter-spacing:.02em;text-align:center;pointer-events:none}.show-all-btn{position:absolute;bottom:14px;right:14px;background:rgba(255,255,255,.92);color:#1a1a1a;border:none;border-radius:3px;padding:8px 14px;font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:background .2s ease,transform .2s ease;z-index:2;display:flex;align-items:center;gap:6px}.show-all-btn:hover{background:rgba(255,255,255,1);transform:translateY(-1px)}.amenity-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-subtle);font-size:13px;color:var(--text-muted);transition:color .2s ease,border-color .2s ease;font-family:var(--font-body);font-weight:300}.amenity-row:hover{color:var(--text);border-color:var(--accent-dim)}.amenity-row:before{content:"—";color:var(--accent-dim);flex-shrink:0;font-size:10px;transition:color .2s ease}.amenity-row:hover:before{color:var(--accent)}.review-card{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:22px;transition:border-color .3s ease,transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease}.review-card:hover{border-color:var(--accent-dim);transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.15)}.booking-card{background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--accent);border-radius:4px;position:relative;overflow:hidden}.booking-card:before{content:"";position:absolute;top:0;left:0;right:0;height:100px;background:radial-gradient(ellipse at 50% -20%,var(--accent-glow),transparent 70%);pointer-events:none}.accent-line{height:1px;background:linear-gradient(90deg,transparent,var(--accent-dim),var(--accent),var(--accent-dim),transparent);background-size:200% 100%;animation:shimmer 3s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-raised) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:3px}.rule-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-subtle);font-family:var(--font-body);font-size:13px;font-weight:300;transition:padding-left .2s ease}.rule-item:hover{padding-left:6px}.rule-item-label{color:var(--text-muted);letter-spacing:.04em}.rule-item-value{color:var(--text)}.lang-toggle{display:flex;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:3px;overflow:hidden}.lang-btn{padding:6px 10px;font-family:var(--font-body);font-size:11px;letter-spacing:.1em;font-weight:400;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:background .2s ease,color .2s ease}.lang-btn:hover{color:var(--text)}.lang-btn.active{background:var(--accent);color:#fff}.gallery-overlay{position:fixed;inset:0;background:rgba(5,4,3,.96);z-index:9000;flex-direction:column}.gallery-img-wrap,.gallery-overlay{display:flex;align-items:center;justify-content:center}.gallery-img-wrap{position:relative;width:100%;height:calc(100vh - 120px)}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;font-size:18px;transition:background .2s ease;z-index:2}.gallery-nav:hover{background:rgba(255,255,255,.16)}.gallery-nav-prev{left:16px}.gallery-nav-next{right:16px}.gallery-close{position:fixed;top:16px;right:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;font-size:16px;transition:background .2s ease;z-index:9001}.gallery-close:hover{background:rgba(255,255,255,.16)}.gallery-counter{font-family:var(--font-body);font-size:15px;font-weight:400;color:rgba(255,255,255,.9);letter-spacing:.12em;margin:12px 0 4px}.gallery-caption{font-family:var(--font-display);font-size:22px;font-style:italic;font-weight:300;color:rgba(255,255,255,.95);text-align:center;margin:0;line-height:1.3}