:root{
  --primary:#1f6feb;
  --accent:#22c55e;
  --muted:#6b7280;
  --bg:#f6f8fb;
  --card:#fff;
  --container:1200px;
}
*{box-sizing:border-box}
body{font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial; margin:0; background:var(--bg); color:#111;}
.container{max-width:var(--container); margin:0 auto; padding:1rem;}
.site-header{background:#0f172a; color:#fff; padding:0.75rem 0; position:sticky; top:0; z-index:50;}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0 1.25rem;}
.logo{font-weight:700; font-size:1.25rem; color:#fff; text-decoration:none;}
.main-nav a{color:#fff; text-decoration:none; margin-left:1rem;}
.header-cta .phone{color:#fff; margin-right:12px; text-decoration:none;}
.btn{padding:0.5rem 0.9rem; border-radius:8px; border:none; cursor:pointer; background:var(--primary); color:#fff;}
.btn.primary{background:var(--accent);}
.hero{position:relative; color:#fff;}
.hero-overlay{background: linear-gradient(180deg, rgba(15,23,42,0.85), rgba(15,23,42,0.45));}
.hero-inner{display:flex; gap:2rem; align-items:center; padding:3rem 1rem;}
.hero-copy{flex:1; max-width:720px;}
.hero h1{font-size:2.6rem; margin-bottom:0.6rem;}
.hero .lead{color:#cbd5e1; margin-bottom:1rem;}
.hero-image img{width:420px; border-radius:10px; object-fit:cover; box-shadow:0 8px 30px rgba(2,6,23,0.25);}

/* SERVICES */
.services{padding:2.5rem 0;}
.services h2{margin-bottom:0.25rem;}
.sub{color:var(--muted); margin-bottom:1rem;}
.services-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:1rem;}
.service-card{background:var(--card); padding:1rem; border-radius:10px; box-shadow:0 6px 18px rgba(2,6,23,0.06);}

/* GALLERY */
.gallery{padding:2.5rem 0;}
.gallery-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:0.8rem;}
.gallery-grid img{width:100%; height:160px; object-fit:cover; border-radius:8px; box-shadow:0 6px 12px rgba(2,6,23,0.06);}

/* REVIEWS */
.reviews{padding:2.5rem 0; background:transparent;}
.reviews-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem;}
.review{background:var(--card); padding:1rem; border-radius:10px; box-shadow:0 6px 18px rgba(2,6,23,0.06);}
.review .stars{color:#f59e0b; font-weight:700; margin-bottom:8px;}
.review cite{display:block; margin-top:8px; color:var(--muted); font-size:0.95rem;}

/* BOOKING */
.booking-section{padding:2.5rem 0;}
.checkout-form{background:var(--card); padding:1rem; border-radius:10px; box-shadow:0 6px 18px rgba(2,6,23,0.06);}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:0.8rem;}
.grid-2 label, label{display:block; font-size:0.95rem; color:var(--muted);}
input, textarea, select{width:100%; padding:0.6rem; border-radius:8px; border:1px solid #e6eef8; margin-top:6px; font-size:1rem;}
.post-submit{background:var(--card); padding:1rem; border-radius:8px; margin-top:12px; box-shadow:0 6px 18px rgba(2,6,23,0.06);}

/* FOOTER */
.site-footer{background:transparent; padding:2rem 0; margin-top:2rem;}
.footer-inner{display:flex; gap:2rem; justify-content:space-between; align-items:flex-start; flex-wrap:wrap;}
.footer-services{list-style:none; padding-left:0; color:var(--muted);}
.footer-services li{margin-bottom:6px;}
.copyright{text-align:center; color:var(--muted); margin-top:1rem;}

/* Responsive */
@media (max-width:900px){
  .hero-inner{flex-direction:column; padding:2rem 1rem;}
  .hero-image img{width:100%;}
  .grid-2{grid-template-columns:1fr;}
  .footer-inner{flex-direction:column; gap:1rem;}
}
.image-column {
  display: flex;
  flex-direction: column;
  gap: 15px;
  max-height: 500px;           
  overflow-y: auto;            
  scroll-behavior: smooth;     
  -webkit-overflow-scrolling: touch; 
  padding: 10px;
  border-radius: 10px;
  border: 2px solid #e0e0e0;   
}

.image-column img {
  width: 100%;
  border-radius: 8px;
  object-fit: cover;
}