
:root{--pur:#680cd4;--ink:#1a1a1a;--grn:#6de364;--sub:#40b338}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Source Sans 3','Source Sans Pro',sans-serif;font-size:16px;color:#1d1e20;background:#fff;line-height:1.5}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:400}
.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.hdr{display:flex;align-items:center;justify-content:space-between;padding:12px 36px 12px 36px;min-height:145px;max-width:1700px;margin:0 auto}
.logo img{width:306px;height:auto}
.main-nav{display:flex;gap:60px}
.main-nav a{color:#000;font-size:16px;padding:2px 0;border-bottom:1px solid transparent}
.main-nav a:hover,.main-nav a.active{border-bottom-color:#000}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:26px;height:3px;background:#000;margin:5px 0}
/* hero */
.hero{position:relative;overflow:hidden;max-width:100%}
.slides{position:relative;aspect-ratio:1277/473;background:#eee}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .7s}.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover}
.arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.75);color:#222;font-size:18px;cursor:pointer;z-index:2}
.arrow.prev{left:16px}.arrow.next{right:16px}.arrow:hover{background:#fff}
.tag{text-align:center;padding:36px 20px 0}
.tag h4{color:var(--pur);font-size:24px;font-weight:700}
.intro{max-width:1100px;margin:0 auto;padding:30px 24px 40px;text-align:center}
.intro h3{font-size:50px;color:var(--ink);margin-bottom:20px}
.intro p{font-size:20px;text-align:justify;line-height:1.3}
.osvc{text-align:center;padding:30px 24px 60px}
.osvc>h3{font-size:48px;color:var(--ink)}
.sub{font-size:24px;color:var(--ink);margin:12px 0 42px;font-family:'Playfair Display',serif}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:60px 40px;max-width:1220px;margin:0 auto}
.svc{display:block}.svc img{width:100%;aspect-ratio:361/304;object-fit:cover}
.svc h4{color:var(--pur);font-size:24px;font-weight:700;margin-top:18px}
.svc:hover img{opacity:.9}
.why{background-size:cover;background-position:center;color:#fff;padding:60px 24px 70px}
.why-in{max-width:1150px;margin:0 auto}
.why h1{font-size:48px;font-weight:700;text-align:center;margin-bottom:60px}
.why2{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-bottom:40px}
.why h4{font-size:24px;font-weight:700;margin-bottom:10px}
.why p{font-size:18px;line-height:1.45}
.why1{text-align:center;max-width:760px;margin:0 auto}
.cta{background:#8c8a8a;color:#fff;padding:40px 24px}
.cta-in{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta h1{font-size:35px;font-weight:700;margin-bottom:14px}
.cta p{font-family:'Source Sans 3',sans-serif;font-size:18px}
.book{background:var(--grn);color:#fff;font-family:'Inter',sans-serif;font-weight:500;padding:16px 38px;border-radius:40px;white-space:nowrap;text-transform:uppercase}
.book:hover{filter:brightness(.93)}
/* banners */
.banner{background-size:cover;background-position:center;min-height:393px;display:flex;align-items:center;justify-content:center;padding:30px 20px;text-align:center}
.banner h1{color:#fff;font-size:64px;font-weight:700;line-height:1.2}
.banner.jos h1{font-family:'Josefin Sans',sans-serif;font-size:48px}
/* about */
.welcome{max-width:1100px;margin:0 auto;padding:50px 24px 30px;text-align:center}
.welcome h2{font-size:40px;font-weight:700;color:var(--ink)}
.welcome h4{font-size:24px;font-weight:700;color:var(--pur);margin:14px 0 36px}
.welcome p{font-family:'Playfair Display',serif;font-size:18px;line-height:1.5}
.mp{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1050px;margin:20px auto 0;padding:0 24px}
.mp img{width:100%;max-width:416px;aspect-ratio:416/277;object-fit:cover;margin-bottom:22px}
.mp h4{font-size:24px;font-weight:700;margin-bottom:12px}
.mp p{font-family:'Playfair Display',serif;font-size:15px;text-align:justify;line-height:1.7;max-width:416px}
.appt{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1150px;margin:60px auto 80px;padding:0 24px;align-items:center}
.appt h3{font-size:32px;font-weight:700;color:var(--ink);margin-bottom:26px}
.appt .lt{font-size:48px;margin-bottom:26px}
.appt-r p{font-family:'Playfair Display',serif;font-size:16px;line-height:1.7;margin-bottom:26px}
.social{display:flex;gap:44px;align-items:center;margin-top:24px}.social svg{display:block}
/* forms */
.cform label{display:block;font-size:14px;margin-bottom:20px}
.cform input,.cform textarea{display:block;width:100%;margin-top:6px;padding:14px;background:#f0f0f0;border:0;font:inherit;font-size:13px}
.cform textarea{height:120px;resize:vertical}
.submit{display:block;margin:10px auto 0;background:var(--sub);color:#fff;border:0;border-radius:30px;padding:14px 44px;font:inherit;font-size:14px;cursor:pointer}
.submit:hover{filter:brightness(.92)}.note{text-align:center;font-size:14px;margin-top:10px}
/* services page */
.osvc.pg{padding-top:50px}.grid3.wide .sc img{width:100%;aspect-ratio:361/304;object-fit:cover}
.sc h4{color:var(--pur);font-size:24px;font-weight:700;margin:18px 0 14px}
.sc p{font-family:'Playfair Display',serif;font-size:15px;line-height:1.7;text-align:justify;color:#111}
.grid3.wide{align-items:start}
/* packages */
.pk{max-width:1250px;margin:0 auto;padding:36px 24px 70px;text-align:center}
.pk>h4{font-size:16px;font-family:'Playfair Display',serif;margin-bottom:34px}
.prow{display:flex;gap:30px;justify-content:center;align-items:center;margin-bottom:30px}
.prow a{display:block;flex:0 1 auto}
.prow img{height:430px;width:auto;max-width:100%;object-fit:contain}
/* contact */
.ct{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1150px;margin:0 auto;padding:60px 24px 80px}
.ct-l img{margin-bottom:20px}.ct-l p{font-size:18px;color:var(--ink);margin-bottom:12px}
.ct-r h3{font-size:48px;color:var(--ink);margin-bottom:26px}
/* footer */
.site-footer{background:#1a1a1a;color:#f1f1f1;padding:40px 36px 24px}
.fgrid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:56px;align-items:start;max-width:1250px;margin:0 auto}
.site-footer h4{font-size:18px;color:#f1f1f1;line-height:1.45}
.f1 img{margin-bottom:14px}.f1 h4{font-family:'Source Sans 3',sans-serif;color:#fff;text-align:justify;font-size:18px}
.f2 iframe{width:100%;height:283px;border:0;display:block}
.f3 h3{font-size:24px;font-weight:700;color:#f1f1f1;margin-bottom:22px}
.frow{display:flex;gap:16px;align-items:center;margin-bottom:20px}
.frow img{flex:none;width:auto}.site-footer h4.sm{font-size:14px;font-family:'Playfair Display',serif;font-weight:700}
.f3 .social{margin-top:18px;padding-left:6px}
.copy{text-align:center;margin-top:26px;font-size:18px}.copy a{text-decoration:underline}
@media(max-width:1000px){
 .hdr{min-height:100px;padding:10px 20px}.logo img{width:200px}
 .nav-toggle{display:block}
 .main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;gap:14px;padding:18px 24px 24px;box-shadow:0 8px 14px rgba(0,0,0,.12)}
 .main-nav.open{display:flex}
 .grid3{grid-template-columns:1fr 1fr;gap:40px 24px}
 .why2,.mp,.appt,.ct,.fgrid{grid-template-columns:1fr}
 .cta-in{flex-direction:column;text-align:center}
 .banner{min-height:260px}.banner h1{font-size:44px}
 .intro h3{font-size:38px}.osvc>h3,.ct-r h3,.appt .lt{font-size:38px}
 .prow{flex-wrap:wrap}.prow img{height:360px}
}
@media(max-width:600px){
 .grid3{grid-template-columns:1fr}
 .banner h1{font-size:34px}.banner.jos h1{font-size:34px}
 .tag h4{font-size:19px}.intro p{font-size:18px}.why h1,.cta h1{font-size:28px}
 .prow img{height:auto;width:100%}.prow{flex-direction:column}
 .welcome h2{font-size:30px}
 .social{gap:30px}
}
