
:root{--bg:#0f172a;--fg:#0b1324;--text:#0b1220;--muted:#475569;--brand:#ef4444;--brand-d:#dc2626;--white:#ffffff}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--text);line-height:1.6}
a{color:var(--brand);text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 16px}

/* Fancy header with topbar */
.site-header.fancy{position:sticky;top:0;background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid #e5e7eb;z-index:20}
.topbar{background:#0f172a;color:#cbd5e1;font-size:.92rem}
.topbar a{color:#cbd5e1}.topbar a:hover{color:#fff}
.topbar .topbar-inner{display:flex;justify-content:space-between;gap:10px;padding:6px 0}
.tb-right{display:flex;gap:12px;align-items:center}
.btn.tiny{padding:6px 10px;border-radius:10px;font-size:.9rem}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;color:#0f172a}
.brand img{height:110px}
.brand-text{display:none}
.nav-toggle{display:none;border:1px solid #e5e7eb;background:#fff;padding:8px 10px;border-radius:8px;font-size:20px}
.nav-links{display:flex;gap:10px;align-items:center}
.nav-link{position:relative;padding:8px 12px;border-radius:10px}
.nav-link::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:10px 16px;border-radius:12px;font-weight:600;border:1px solid var(--brand)}
.btn:hover{background:var(--brand-d);border-color:var(--brand-d)}
.btn.outline{background:#fff;color:var(--brand);border-color:var(--brand)}
.btn.small{padding:8px 12px;border-radius:10px;font-weight:600}

.hero{background:linear-gradient(90deg, rgba(239,68,68,.10), rgba(220,38,38,.10));padding:56px 0}
.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}
.hero-copy h1{font-size:40px;line-height:1.15;margin:0 0 12px}
.hero-copy p{color:var(--muted);margin:0 0 16px}
.actions{display:flex;gap:12px;margin-top:8px}
.hero-art{height:280px;border-radius:20px;background:url('hero.svg') center/cover no-repeat, linear-gradient(135deg,#e0f2fe,#fee2e2)}

/* Cards and grids */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.card{padding:16px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}
.card.link{transition:transform .15s ease, box-shadow .15s ease}
.card.link:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.06)}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.service{border:1px solid #e5e7eb;border-radius:16px;padding:16px;background:#fff}

/* Booking hero */
.booking-hero{background: linear-gradient(135deg, rgba(15,23,42,.96), rgba(239,68,68,.85)); color:#fff; padding:42px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.booking-hero .wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.booking-hero img{height:140pxbackground:#fff;border-radius:14px;padding:8px}

/* FAQ hero banner shared */
.faq-hero{background:linear-gradient(135deg, rgba(15,23,42,.96), rgba(239,68,68,.85));color:#fff;padding:40px 0;margin-bottom:10px}
.faq-hero h1{margin:0}.faq-hero p{margin:6px 0 0;color:#fde7e7}

/* FAQ accordions */
.faq-list{display:grid;gap:12px}
.faq-item{border:1px solid #e5e7eb;border-radius:14px;background:#fff;overflow:hidden}
.faq-q{width:100%;text-align:left;padding:14px 16px;font-weight:600;border:0;background:#fff;cursor:pointer}
.faq-q:hover{background:#f8fafc}
.faq-a{padding:0 16px 12px 16px;color:#334155;transition:max-height .25s ease;overflow:hidden;border-top:1px solid #e5e7eb}
.faq-item.open .faq-q{color:var(--brand)}

/* Fancy footer */
.site-footer.fancy{background:linear-gradient(180deg,#0f172a,#0b1324);color:#cbd5e1;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:20px;padding:28px 16px}
.f-brand{display:flex;align-items:center;gap:10px}
.f-brand h3{margin:0;color:#fff}
.f-links{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.f-links a{color:#cbd5e1}.f-links a:hover{color:#fff}
.socials{display:flex;gap:10px;margin-top:10px}
.socials .s{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.06);color:#fff}
.socials .s:hover{background:rgba(255,255,255,.12)}
.f-bottom{border-top:1px solid rgba(255,255,255,.08)}
.f-bottom .container{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px}
.note{color:#94a3b8}

/* Forms */
.contact-form{margin-top:12px;border:1px solid #e5e7eb;border-radius:16px;padding:16px;background:#fff}
.contact-form label{display:flex;flex-direction:column;gap:6px}
.contact-form input,.contact-form select,.contact-form textarea{padding:10px;border:1px solid #cbd5e1;border-radius:10px}
.form-note{color:var(--muted);font-size:.9rem}
.map{width:100%;height:260px;border:0;border-radius:16px}

/* Responsive */
@media (max-width:860px){
  .brand-text{display:inline}
  #site-nav{display:none;flex-direction:column;align-items:flex-start;background:#fff;padding:12px;border:1px solid #e5e7eb;border-radius:12px;position:absolute;right:16px;top:60px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
  .brand img{height:110px}
  .booking-hero img{height:140px}
}


/* Header balance tweaks */
.brand img{display:block}
#site-nav{align-items:center}
#site-nav .nav-link, #site-nav .btn.small{display:inline-flex;align-items:center;height:48px}


/* Sticky Book button (mobile) */
.sticky-book{position:fixed;right:16px;bottom:16px;z-index:50;display:none;box-shadow:0 10px 30px rgba(0,0,0,.18)}
@media (max-width: 860px){ .sticky-book{display:inline-flex} }

/* Tablet fine-tuning */
@media (max-width: 1024px){
  .brand img{height:100px;}
  .booking-hero img{height:128px;}
}

/* Phone fine-tuning */
@media (max-width: 860px){
  .brand img{height:80px;}
  .booking-hero img{height:110px;}
}
