*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#1a5276;--secondary:#d4a762;--dark:#1c2833;--accent:#2e86c1}
body{font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#333;line-height:1.7;background:#f8f9fa}
header{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08);position:sticky;top:0;z-index:100}
nav{max-width:1100px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo img{height:36px;border-radius:4px}
.logo span{font-size:1.2rem;font-weight:700;color:var(--primary)}
.nav-links{display:flex;gap:24px}
.nav-links a{text-decoration:none;color:var(--dark);font-weight:500;transition:color .3s}
.nav-links a:hover,.nav-links a.active{color:var(--accent)}
.menu-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer}
main{max-width:1100px;margin:0 auto;padding:20px}
h1,h2,h3{color:var(--dark);font-weight:600}
h2{text-align:center;margin:40px 0 20px}
h2::after{content:"";display:block;width:60px;height:3px;background:var(--secondary);margin:12px auto 0}
.hero{position:relative;margin:-20px calc(-50vw + 50%) 30px;overflow:hidden}
.hero img{width:100%;height:450px;object-fit:cover;filter:brightness(.75)}
.hero h1{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;text-align:center;font-size:2.4rem;text-shadow:2px 2px 12px rgba(0,0,0,.7);max-width:800px;width:90%}
.booking-form{background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.12);border-radius:12px;padding:28px;max-width:900px;margin:-40px auto 30px;position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.booking-form div{flex:1;min-width:140px}
.booking-form label{display:block;font-weight:600;margin-bottom:4px;font-size:14px}
.booking-form input,.booking-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px}
.booking-form button{width:100%;padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}
.booking-form button:hover{background:var(--accent)}
.apartments{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;margin:30px 0}
.apt-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 15px rgba(0,0,0,.08);transition:transform .3s,box-shadow .3s}
.apt-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.15)}
.apt-card img{width:100%;height:220px;object-fit:cover}
.apt-card-body{padding:20px}
.apt-card h3 a{color:var(--primary);text-decoration:none}
.apt-card p{font-size:.95rem;margin:10px 0}
.btn{display:inline-block;background:var(--primary);color:#fff;padding:12px 28px;border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s}
.btn:hover{background:var(--accent);transform:translateY(-2px)}
.btn-large{padding:16px 40px;font-size:1.1rem}
.booking-cta{text-align:center;background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 20px rgba(0,0,0,.12);max-width:600px;margin:-40px auto 40px;position:relative;z-index:3}
.booking-cta h2{margin-top:0}
.booking-cta h2::after{display:none}
.booking-cta p{margin:8px 0 16px;color:#555}
.booking-note{font-size:.85rem;color:#888;margin-top:12px!important}
.apt-subtitle{color:var(--accent);font-weight:600;margin:0 0 8px!important}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:30px 0}
.gallery img{width:100%;height:200px;object-fit:cover;border-radius:8px;transition:transform .3s;cursor:pointer}
.gallery img:hover{transform:scale(1.03)}
.lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);z-index:1000;align-items:center;justify-content:center}
.lightbox.active{display:flex}
.lightbox img{max-width:90%;max-height:90%;object-fit:contain;border-radius:8px}
.lightbox .close{position:absolute;top:20px;right:20px;color:#fff;font-size:2rem;cursor:pointer;background:none;border:none}
.lightbox .prev,.lightbox .next{position:absolute;top:50%;color:#fff;font-size:2.5rem;cursor:pointer;background:rgba(0,0,0,.4);border:none;padding:10px 16px;border-radius:50%;transform:translateY(-50%)}
.lightbox .prev{left:20px}
.lightbox .next{right:20px}
.features{max-width:700px;margin:0 auto 30px;list-style:none}
.features li{padding:10px 0;border-bottom:1px solid #eee}
footer{background:var(--dark);color:#fff;text-align:center;padding:30px 20px;margin-top:60px}
footer a{color:var(--secondary);text-decoration:none}
.social{margin-bottom:12px;font-size:1.05rem}
.social a{color:#fff;text-decoration:none;transition:color .3s}
.social a:hover{color:var(--secondary)}
@media(max-width:768px){.hero h1{font-size:1.5rem}.hero img{height:280px}.nav-links{display:none;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 4px 10px rgba(0,0,0,.1)}nav.open .nav-links{display:flex}.menu-toggle{display:block}.booking-form{margin-top:-20px}}
