*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}:root{--bg:#fff;--bg-soft:#f1f8fa;--bg-warm:#fbf9f5;--ink:#15303a;--ink-soft:#5c7682;--ink-faint:#93a7af;--accent:#16a6b6;--accent-dark:#0f8694;--sand:#e9e0d2;--border:#e2ecef;--shadow:rgba(21,48,58,.09);--px:56px;--hero-fs:78px;--section-py:96px}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:2px}button,input,select,textarea{font-family:DM Sans,sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.serif{font-family:Cormorant Garamond,serif}.lbl{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:12px 28px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;font-family:DM Sans,sans-serif;display:inline-block;box-shadow:0 6px 18px rgba(22,166,182,.28)}.btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 10px 24px rgba(22,166,182,.36)}.btn-outline{background:transparent;color:var(--accent);border:1.5px solid var(--accent);border-radius:8px;padding:11px 22px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:DM Sans,sans-serif}.btn-outline:hover{background:var(--accent);color:#fff}.inp{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:8px;font-size:15px;color:var(--ink);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;font-family:DM Sans,sans-serif}.inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(22,166,182,.13)}.inp::placeholder{color:var(--ink-faint)}.card{background:#fff;border-radius:16px;box-shadow:0 2px 24px var(--shadow)}.chip{font-size:11px;font-weight:600;padding:4px 11px;border-radius:20px;background:#e4f4f6;color:var(--accent-dark);display:inline-block}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.fade-up{animation:fadeUp .7s ease forwards}@keyframes fadeImg{0%{opacity:0}to{opacity:1}}.fade-img{animation:fadeImg .3s ease}.carousel-wrap{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:hsla(0,0%,100%,.92);border:none;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px rgba(21,48,58,.18);transition:background .2s}.carousel-btn:hover{background:#fff}.carousel-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:10}.carousel-dot{width:6px;height:6px;border-radius:50%;background:hsla(0,0%,100%,.55);border:none;padding:0;cursor:pointer;transition:background .2s,transform .2s}.carousel-dot.active{background:#fff;transform:scale(1.3)}.atab{padding:13px 16px;font-size:13px;background:none;cursor:pointer;color:var(--ink-faint);border:none;border-bottom:2px solid transparent;transition:all .2s;font-family:DM Sans,sans-serif;white-space:nowrap}.atab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}@media (max-width:1024px){:root{--px:32px;--hero-fs:60px}}@media (max-width:768px){:root{--px:20px;--hero-fs:46px;--section-py:60px}.desk-only{display:none!important}.mob-only{display:flex!important}.about-grid,.apt-grid,.rooms-grid{grid-template-columns:1fr!important}.about-grid{gap:40px!important}.contact-grid,.reviews-grid{grid-template-columns:1fr!important}.contact-grid{gap:32px!important}.gallery-grid{grid-template-columns:1fr 1fr!important}.detail-grid{grid-template-columns:1fr!important;gap:28px!important}.detail-book{position:static!important;top:auto!important}.admin-stats{grid-template-columns:1fr 1fr!important}.admin-dash-grid{grid-template-columns:1fr!important}.admin-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.footer-inner{gap:12px!important;text-align:center}.footer-inner,.hero-search{flex-direction:column!important}.hero-search,.hero-search-field{width:100%!important}.hero-search-field{border-right:none!important;border-bottom:1px solid var(--border)!important}.hero-search-btn{width:100%!important;border-radius:0 0 8px 8px!important}}@media (max-width:480px){:root{--hero-fs:38px}}