
:root{
  --bg:#0a0e12; --ink:#0e1b23; --text:#0f2532; --brand:#0a3142; --accent:#e6b35a; --muted:#f5f7f8;
  --card:#ffffff; --shadow:0 12px 40px rgba(10,49,66,.08); --ring: rgba(10,49,66,.2);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial;color:var(--text);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
:target{scroll-margin-top:110px}
.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:10px;top:10px;width:auto;height:auto;background:#fff;border:2px solid var(--brand);padding:6px 10px;border-radius:8px;z-index:1000}

.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:10}
.site-header .nav{display:flex;align-items:center;justify-content:space-between;height:96px}
.brand{display:flex;align-items:center;gap:.8rem;font-weight:700}
.logo{height:88px;width:auto}
.brandtext small{font-size:16px;color:#223;letter-spacing:.6px;text-transform:uppercase;font-weight:700}
#site-nav a{margin-left:18px;text-decoration:none;color:#0f2532;padding:8px 6px;border-radius:8px}
#site-nav a.active{background:#0a314210}
#site-nav .header-cta{background:var(--brand);color:#fff !important;border-color:var(--brand);font-weight:800;box-shadow:var(--shadow)}
#site-nav .header-cta:hover{background:var(--accent);border-color:var(--accent);color:#0a0e12 !important}

.hero{min-height:64vh;display:grid;place-items:center;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.25)), url('assets/home-hero.jpg') center/cover no-repeat;color:#fff;text-align:center}
.hero-inner{padding:90px 0}
.hero h1{font-size:clamp(32px,5.2vw,56px);margin:.2em 0}
.hero p{max-width:760px;margin:0 auto 1.2rem}

.btn{display:inline-block;padding:14px 20px;border-radius:12px;border:1px solid #ddd;text-decoration:none;box-shadow:var(--shadow)}
.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn:focus{outline:none;box-shadow:0 0 0 4px var(--ring)}

.section{padding:64px 0}
.section.muted{background:var(--muted)}
h2{font-size:clamp(24px,3.2vw,40px);margin:0 0 16px}
.grouphead{margin:36px 0 8px;font-size:22px}
.sub{opacity:.8;margin-top:-8px}
.lead{font-size:18px;max-width:900px;margin:0 auto;text-align:center}

.grid{display:grid;gap:14px}
.gallery{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.tile{display:block;overflow:hidden;border-radius:14px;box-shadow:var(--shadow)}
.tile img{width:100%;height:260px;object-fit:cover;transition:transform .4s ease;image-rendering:auto}
.tile:hover img{transform:scale(1.05)}

.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:12px}
.service-card{background:linear-gradient(180deg,#ffffff,#f7fbfd);border:1px solid #e6eef2;border-radius:16px;padding:20px;box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .2s ease}
.service-card:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(10,49,66,.12)}
.service-card .icon{width:48px;height:48px;border-radius:10px;background:#0a314212;display:grid;place-items:center;margin-bottom:10px}
.service-card .icon svg{width:26px;height:26px}
.service-card h3{margin:.25rem 0 .25rem;font-size:20px}

.pricing.packages{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:12px}
.plan{border:1px solid #eee;border-radius:16px;padding:18px;background:#fff;box-shadow:var(--shadow)}
.plan h3{margin:0 0 8px;font-size:20px;text-align:center}
.plan ul{margin:0;padding-left:18px}
.plan.featured{border:2px solid var(--brand);box-shadow:0 14px 50px rgba(10,49,66,.12)}
.fine{font-size:13px;opacity:.8;margin-top:10px}

.site-footer{background:#0a0e12;color:#cfd8dc;padding:28px 0;margin-top:20px}
.site-footer .foot{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.site-footer a{color:#cfd8dc}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.25s}
.lightbox.open{opacity:1;visibility:visible}
.lightbox img{max-width:90vw;max-height:80vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.lightbox .close{position:absolute;top:14px;right:14px;background:transparent;border:0;color:#fff;font-size:40px;cursor:pointer}

/* Booking form */
.booking-form{display:grid;gap:12px;margin-top:10px}
.booking-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.booking-form label{display:grid;gap:6px;font-weight:600}
.booking-form input,.booking-form textarea,.booking-form select{padding:12px;border:1px solid #d8dee2;border-radius:10px;font:inherit;outline:none}
.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{box-shadow:0 0 0 4px var(--ring);border-color:var(--brand)}
.booking-form .full{grid-column:1/-1}
.hidden{display:none}

/* --- Mobile header / nav fixes --- */
@media (max-width: 640px){
  .site-header .nav{height:64px; padding:8px 0;}
  .logo{height:40px}
  /* Hide all nav links except the Book Now CTA */
  #site-nav a{display:none}
  #site-nav .header-cta{display:inline-block}
  /* Keep the CTA readable and not overlapping */
  #site-nav .header-cta{padding:10px 14px;border-radius:10px}
  /* Give hero a bit more breathing room under the shorter header */
  .hero .hero-inner{padding:72px 0}
}
