/* Clean, responsive styles + forms and cards */
:root{ --bg:#ffffff; --ink:#0f172a; --muted:#475569; --brand:#0ea5e9; --brand-ink:#0b66a7; --alt:#f8fafc; --card:#ffffff; --radius:14px; --shadow: 0 10px 30px rgba(2,8,23,0.08); }
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand);text-decoration:none} a:hover{text-decoration:underline}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#ffffffcc;backdrop-filter: blur(8px);border-bottom:1px solid #e2e8f0}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--ink)}
.nav{display:flex;gap:1rem;align-items:center} .nav a{padding:8px 10px;border-radius:10px} .nav a.btn{padding:10px 16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;border:1px solid transparent;background:var(--alt);color:var(--ink);padding:12px 18px;text-decoration:none;font-weight:600;box-shadow:var(--shadow)}
.btn:hover{transform:translateY(-1px);text-decoration:none} .btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-ink)} .btn.ghost{background:transparent;border-color:#e2e8f0}
.nav-toggle{display:none;background:none;border:0;padding:6px;cursor:pointer} .nav-toggle span{display:block;width:24px;height:2px;background:#111;margin:5px 0;border-radius:2px}
.hero{display:grid} .hero img{width:100%;height:60svh;object-fit:cover;display:block} .hero-copy{position:relative;margin-top:-96px;z-index:1;padding:0 20px}
.hero-copy .cta-row{display:flex;gap:12px;margin-top:10px;flex-wrap:wrap} .hero h1{font-size:clamp(28px,5vw,44px);margin:.15em 0 .2em} .hero p{max-width:60ch;color:var(--muted)}
.section{padding:64px 20px;max-width:1100px;margin:0 auto} .section.alt{background:var(--alt)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px} .gallery img{width:100%;height:260px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)} .gallery img{grid-column:span 6}
.calendar-embed{height:300px;border-radius:14px;border:1px solid #e2e8f0;box-shadow: var(--shadow);display:flex;align-items:center;justify-content:center;margin-top:8px}
.calendar-placeholder{font-weight:700;text-align:center;color:#64748b}
.amenities{columns:2;gap:24px;padding:0;margin:0;list-style:"✔︎ ";} .amenities li{break-inside:avoid;padding-left:.5rem;margin:.25rem 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px} .card{background:var(--card);border:1px solid #e2e8f0;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.form{display:grid;gap:12px} .form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.form input,.form textarea{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:10px;font:inherit}
.form label{display:grid;gap:6px;font-weight:600;color:#0f172a} .form .hidden{display:none} .form .agree{display:flex;align-items:center;gap:8px;font-weight:500}
.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px} .contact-card{text-decoration:none;color:inherit}
.site-footer{padding:40px 20px;text-align:center;color:#64748b}
@media (max-width: 860px){ .nav{display:none;position:absolute;right:16px;top:64px;flex-direction:column;background:#fff;padding:10px;border:1px solid #e2e8f0;border-radius:12px;box-shadow:var(--shadow)} .nav.show{display:flex} .nav-toggle{display:block} .hero-copy{margin-top:-72px} .gallery img{grid-column:span 12} .amenities{columns:1} }
