:root{--bg:#e9e9e5;--accent:#1f3246;--muted:#9b9b9b;--pill:#fff}
*{box-sizing:border-box;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial}
body{margin:0;background:var(--bg);color:#111}
.container{max-width:1180px;margin:0 auto;padding:28px}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.logo{font-weight:700;color:#fff;background:transparent;text-decoration:none}
.nav a{margin-left:18px;color:#222;text-decoration:none;font-weight:500}
.hero{position:relative;height:520px;background-image:linear-gradient(rgba(10,10,10,0.45),rgba(10,10,10,0.45)),url('https://images.unsplash.com/photo-1529257414772-196c2b3ea97f?w=1600&q=60');background-size:cover;background-position:center;display:flex;align-items:center}
.hero-inner{color:#fff;text-align:center;width:100%}
.hero h1{font-size:56px;margin:0 0 12px;font-weight:700;letter-spacing:-1px}
.hero p{max-width:720px;margin:0 auto 18px;color:rgba(255,255,255,0.85)}
.cta{display:inline-block;background:var(--pill);color:var(--accent);padding:14px 40px;border-radius:40px;text-decoration:none;font-weight:600}
.section{padding:48px 0}
.services .product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,0.06)}
.card-media img{width:100%;height:280px;object-fit:cover;display:block}
.card-body{padding:14px}
.card-body h3{margin:0 0 6px;font-size:16px}
.price{color:var(--muted);margin-bottom:10px}
.card-actions{display:flex;align-items:center;gap:8px}
.btn{border:none;padding:10px 16px;border-radius:999px;cursor:pointer}
.btn.primary{background:var(--accent);color:#fff}
.btn.ghost{background:transparent;border:1px solid #ddd;padding:6px 10px}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.service-card{text-align:center}
.service-card img{width:100%;height:180px;object-fit:cover}
.booking-row{display:flex;gap:24px;align-items:flex-start}
.booking-row .col{flex:1}
.site-footer{padding:28px 0;color:#444}
.calculators .calc{background:#fff;padding:16px;border-radius:8px;margin-bottom:18px}
.calculators label{display:block;margin:8px 0}
.result{margin-top:10px;padding:10px;background:#f7f7f7;border-radius:6px}
.docs{background:#fff;padding:28px;border-radius:8px}

@media(max-width:900px){.services .product-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr}.hero{height:420px}.hero h1{font-size:36px}}

/* Plans styles: rely on Bootstrap row/cols for layout to avoid conflicts */
.plan-card{background:#fff;border-radius:8px;padding:20px;display:block;width:100%;min-height:240px;box-sizing:border-box;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,0.06)}
.plan-card h4{margin:0 0 6px;font-size:1.125rem}
.plan-card p{margin:4px 0}
.plan-card .btn{margin-top:10px;padding:10px 18px}
@media(max-width:900px){.plan-card{min-height:200px}}

/* Ensure plans use a predictable flex layout (override accidental grid conflicts) */
.plans-grid{
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	align-items:stretch;
	margin-left:-0.5rem;
	margin-right:-0.5rem;
}
.plans-grid > [class*="col-"]{
	padding-left:0.5rem;
	padding-right:0.5rem;
	box-sizing:border-box;
	flex:0 0 25%;
	max-width:25%;
}
@media (max-width: 992px){
	.plans-grid > [class*="col-"]{ flex:0 0 50%; max-width:50%; }
}
@media (max-width: 768px){
	.plans-grid > [class*="col-"]{ flex:0 0 100%; max-width:100%; }
}

/* Make plan cards stretch to full column height and buttons responsive */
.plan-card{ display:flex; flex-direction:column; justify-content:space-between; height:100%; }
.plan-card .btn{ display:inline-block; min-width:140px }
@media (max-width:576px){ .plan-card .btn{ display:block; width:100%; } }
