
:root{
  --brand:#2563eb;
  --ink:#0b1220;
  --muted:#6b7280;
  --ring:rgba(37,99,235,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
a{color:inherit}

/* Top strip */
.topstrip{background:#0f172a;color:#e5e7eb;font-size:14px}
.topstrip .wrap{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 0}
.topstrip .left{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.topstrip .right{display:flex;gap:8px;align-items:center}
.topstrip .pill{background:#22c55e1a;border:1px solid #22c55e4d;color:#a7f3d0;padding:6px 10px;border-radius:999px;text-decoration:none;font-weight:700}
.topstrip .pill.alt{background:#2563eb1a;border-color:#2563eb4d;color:#bfdbfe}
.dot{opacity:.55}

/* Header */
.header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid #e5e7eb}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none}
.logo{display:grid;place-items:center;height:44px;width:44px;border-radius:14px;background:#dbeafe}
.brand-text{display:flex;flex-direction:column}
.brand-text strong{font-weight:800;letter-spacing:.2px}
.brand-text em{font-style:normal;color:var(--muted);font-size:12px;margin-top:-2px}
.links{display:flex;gap:16px;align-items:center}
.links a{text-decoration:none;font-weight:600}
.btn{background:var(--brand);color:white;text-decoration:none;padding:10px 14px;border-radius:12px;border:2px solid var(--brand);font-weight:800}
.btn:hover{filter:brightness(.96)}
.btn-outline{background:white;border:1px solid #e5e7eb;color:var(--ink);text-decoration:none;border-radius:12px;padding:10px 14px;font-weight:800}
.btn.block{display:block;width:100%}
.btn.lg{padding:12px 18px;border-radius:14px}

/* Hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 70% -10%, #dbeafe 0, transparent 60%), linear-gradient(180deg,#ffffff 0,#f8fafc 100%)}
.bg-img{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1542362567-b07e54358753?q=80&w=1800&auto=format&fit=crop') center/cover no-repeat;opacity:.12}
.hero-grid{position:relative;display:grid;grid-template-columns:1fr;gap:28px;padding:56px 0}
@media(min-width:1024px){.hero-grid{grid-template-columns:1.1fr .9fr;gap:36px;padding:84px 0}}
.hero h1{font-size:clamp(28px,4vw,44px);line-height:1.1;margin:0}
.hero p{color:var(--muted);font-size:18px}
.accent{color:var(--brand)}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 6px}
.checks{list-style:none;padding:0;margin:10px 0 0 0;display:grid;gap:6px;color:#374151}

/* Glass card */
.glass.card{backdrop-filter:blur(8px);background:rgba(255,255,255,.75);border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#2563eb;font-weight:800;margin:16px 16px 0}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px}
.chip{border:1px solid #e5e7eb;border-radius:999px;padding:10px 12px;background:#fff;font-weight:700;cursor:pointer}
.chip:hover{border-color:#2563eb}
.badges{display:flex;gap:18px;align-items:center;justify-content:center;color:#6b7280;padding:8px 0 24px 0;flex-wrap:wrap}

/* Sections */
.section{padding:56px 0}
.section.alt{background:#f8fafc}
.secthead{text-align:center;margin-bottom:18px}
.secthead.left{text-align:left}
.secthead h2{margin:4px 0 0;font-size:clamp(24px,3vw,34px)}
.muted{color:#6b7280}

/* Cards grid */
.cards{display:grid;grid-template-columns:1fr;gap:14px}
.cards.two{grid-template-columns:1fr}
.cards.six{grid-template-columns:1fr}
@media(min-width:768px){.cards.six{grid-template-columns:repeat(3,1fr)} .cards.two{grid-template-columns:repeat(2,1fr)}}
.card{border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.04);padding:16px}
.card h3{margin:4px 0 6px}
.card.dashed{border-style:dashed;border-width:2px}

/* Features */
.features{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:900px){.features{grid-template-columns:repeat(4,1fr)}}
.feature{border:1px solid #e5e7eb;border-radius:18px;padding:18px;background:#fff}
.feature .icon{font-size:22px;margin-bottom:6px}

/* Reviews */
.reviews{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:900px){.reviews{grid-template-columns:repeat(3,1fr)}}
.stars{color:#f59e0b;font-weight:800}

/* Booking & Contact */
.grid{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:1000px){.grid{grid-template-columns:1fr 1fr}}
.form.card input,.form.card textarea{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;font:inherit}
.form.card textarea{min-height:120px;resize:vertical}
.form.card input:focus,.form.card textarea:focus{outline:none;box-shadow:0 0 0 6px var(--ring)}
.ok{margin-top:10px;padding:10px 12px;border-radius:12px;background:#ecfdf5;color:#065f46;font-weight:800}
.hide{display:none}
.tiny{font-size:12px;color:#6b7280}
.map.card{padding:0;overflow:hidden}
.map-embed{display:block;width:100%;height:280px;border:0}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px}
.cols .label{font-weight:800}
.links{display:flex;gap:12px;flex-wrap:wrap}

/* Footer */
.footer{border-top:1px solid #e5e7eb;background:#fff}
.foot{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px 0;flex-wrap:wrap}
.footlinks a{text-decoration:none}

/* Small helpers */
@media (prefers-reduced-motion:no-preference){
  .btn, .chip { transition:transform .06s ease, filter .2s ease, border-color .2s ease }
  .btn:hover{transform:translateY(-1px)}
  .chip:active{transform:translateY(1px)}
}
