CSS
/* Reset & Base */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;line-height:1.6;color:#333;background:#fafafa}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:700}
h1{font-size:3.5rem;margin-bottom:1rem}
h2{font-size:2.5rem;margin:3rem 0 2rem;text-align:center}
h3{font-size:1.5rem;margin-bottom:1rem}

/* Header */
.header{background:#0f172a;padding:1.5rem 0;position:fixed;width:100%;top:0;z-index:1000;box-shadow:0 2px 10px rgba(0,0,0,0.1)}
.header .container{display:flex;justify-content:space-between;align-items:center}
.logo{font-family:'Playfair Display',serif;font-size:1.8rem;color:#fff}
.nav a{color:#fff;margin-left:2rem;text-decoration:none;font-weight:600;transition:color .3s}
.nav a:hover{color:#60a5fa}
.btn-book{background:#60a5fa;color:#fff;padding:0.7rem 1.5rem;border-radius:50px;font-weight:600}

/* Hero */
.hero{background:linear-gradient(rgba(15,23,42,0.9),rgba(15,23,42,0.9)),url('hero-bg.jpg') center/cover no-repeat;padding:160px 0 100px;text-align:center;color:#fff}
.subtitle{font-size:1.4rem;margin:1.5rem 0;max-width:700px;margin-left:auto;margin-right:auto}
.btn-primary{background:#60a5fa;color:#fff;padding:1rem 2.5rem;font-size:1.2rem;border-radius:50px;text-decoration:none;display:inline-block;margin-top:2rem;transition:.3s}
.btn-primary:hover{background:#3b82f6}

/* Services & Cards */
.services{background:#fff;padding:80px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}
.card{background:#f8fafc;padding:2rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.05);transition:transform .3s}
.card:hover{transform:translateY(-10px)}

/* About & Contact */
.about,.contact{padding:80px 0}
.about{background:#0f172a;color:#fff}
.checklist{margin:2rem 0;font-size:1.1rem}
.checklist li{margin:0.8rem 0}
.contact{background:#fff}

/* Footer */
.footer{background:#0f172a;color:#94a3b8;padding:2rem 0;text-align:center;font-size:0.9rem}

/* Responsive */
@media(max-width:768px){
    .nav{flex-direction:column;gap:1rem}
    .nav a{margin:0.5rem 0}
    h1{font-size:2.8rem}
}