@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root{--pink:#b600e8;--pink2:#d35af0;--ink:#211b25;--cream:#fffafd;--soft:#f8f0fa;--lilac:#eee4f1;--line:#e6dce8;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font:16px/1.7 'DM Sans',Arial,sans-serif}
img{max-width:100%;display:block}
a{transition:.2s ease}
.wrap{width:min(1160px,92%);margin:auto}
.topbar{background:var(--ink);color:#fff;text-align:center;font-size:13px;padding:8px 15px;letter-spacing:.02em}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;padding:7px 0}.brand img{width:190px;height:70px;object-fit:contain}
.nav nav{display:flex;align-items:center;gap:25px}
.nav nav>a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.nav nav>a:not(.pill):hover{color:var(--pink)}
.pill,.button{background:var(--pink);color:#fff!important;border-radius:999px;padding:12px 21px;text-decoration:none;font-weight:700;display:inline-flex;align-items:center;gap:10px;box-shadow:0 10px 25px rgba(182,0,232,.18)}
.pill:hover,.button:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(182,0,232,.25)}
.hero{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(120deg,#fffafd,#f8eefb);min-height:650px}
.heroText{padding:85px 8%;display:flex;flex-direction:column;justify-content:center;max-width:760px;margin-left:auto}
.heroImage{position:relative;min-height:650px}
.heroImage>img{width:100%;height:100%;object-fit:cover}
.floatingCard{position:absolute;left:28px;bottom:28px;background:#fff;padding:16px 20px;border-radius:16px;box-shadow:0 15px 40px rgba(33,27,37,.18);display:flex;flex-direction:column}
.floatingCard strong{font-family:'Playfair Display',Georgia,serif;font-size:21px}
.floatingCard span{font-size:13px;color:#6e6470}
.eyebrow,.sectionLabel{letter-spacing:.16em;font-weight:800;font-size:12px;color:#8b35a3}
.heroText h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.08}
.heroText h1{font-size:clamp(3.2rem,6vw,5.8rem);margin:18px 0 20px;letter-spacing:-.04em}
em{color:var(--pink);font-style:normal}
.lead{font-size:1.16rem;max-width:590px;color:#554b57}
.heroActions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:20px}
.textlink,.arrowLink{color:var(--ink);font-weight:700;text-decoration:none}
.textlink:hover,.arrowLink:hover{color:var(--pink)}
.trust{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px;color:#6a606d;font-size:13px;font-weight:600}
.section{padding:105px 0}
.introGrid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;margin-top:15px}
.intro h2,.galleryHeading h2,.ownerGrid h2,.visit h2{font-size:clamp(2.5rem,4vw,4.1rem);margin:8px 0 0;letter-spacing:-.03em}
.bigcopy{font-size:1.2rem;color:#4e4451}
.arrowLink{display:inline-flex;gap:10px;margin-top:12px}
.soft{background:var(--soft)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}
.card{background:#fff;border:1px solid var(--line);padding:32px;border-radius:22px;box-shadow:0 8px 30px rgba(33,27,37,.04)}
.icon{font-size:30px;margin-bottom:20px}
.card h3{font-size:1.65rem;margin:0 0 10px}
.card p{margin:0;color:#665c68}
.dark{background:var(--ink);color:#fff}
.feature{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}
.feature h2{font-size:clamp(2.6rem,4vw,4.2rem);margin:12px 0 20px}
.feature p{color:#ddd5df;max-width:600px}
.light{color:#d18ce0}
.feature img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:25px}
.serviceList{margin:30px 0;border-top:1px solid rgba(255,255,255,.16)}
.serviceList div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.serviceList b{font-size:15px}.serviceList span{color:#bdb4c0;font-size:13px;text-align:right}
.lightButton{background:#fff;color:var(--ink)!important;box-shadow:none}
.galleryHeading{display:grid;grid-template-columns:1fr .7fr;gap:60px;align-items:end;margin-bottom:42px}
.galleryHeading p{color:#665c68;margin:0}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.grid img{width:100%;height:430px;object-fit:cover;border-radius:22px}
.grid .wide{grid-column:span 2;height:520px}
.aboutOwner{background:#fff}
.ownerGrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center;padding:105px 0}
.ownerGrid>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:25px}
.qualification{display:flex;align-items:center;gap:15px;margin-top:28px;padding:14px 18px;background:var(--soft);border-radius:18px;width:max-content;max-width:100%}
.qualification img{width:75px;height:75px;object-fit:contain}
.qualification div{display:flex;flex-direction:column}.qualification span{font-size:13px;color:#6b616d}
.cta{background:linear-gradient(135deg,var(--pink),#8f13b7);color:#fff}
.ctaInner{min-height:310px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta h2{font-size:clamp(2.3rem,4vw,4rem);margin:10px 0}
.cta p{margin:0;color:#f5dcfa}
.cta .eyebrow{color:#f2c9fa}
.cta .button{background:#fff;color:var(--ink)!important;box-shadow:none}
.visitSection{padding-top:30px}
.visit{background:var(--lilac);border-radius:28px;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.visit img{width:100%;height:380px;object-fit:cover;border-radius:22px}
.address{display:flex;flex-direction:column;margin:22px 0;color:#4e4451}
.address strong{font-size:19px;color:var(--ink)}
footer{border-top:1px solid var(--line);background:#fbf7fc;padding:32px 0 22px}
.foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.foot img{width:145px;height:50px;object-fit:contain}
.foot a{color:var(--pink);font-weight:800;text-decoration:none}
.footerText{color:#6d6370}
.copyright{font-size:12px;color:#887e89;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}

@media(max-width:850px){
  .nav{min-height:72px}.brand img{width:145px}.nav nav{gap:10px}.nav nav>a:not(.pill){display:none}
  .hero{grid-template-columns:1fr}.heroImage{min-height:420px;order:-1}.heroText{padding:60px 7%}.heroText h1{font-size:clamp(3rem,14vw,5rem)}
  .section{padding:75px 0}.introGrid,.feature,.ownerGrid,.visit,.galleryHeading{grid-template-columns:1fr;gap:35px}
  .cards{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.grid .wide{grid-column:auto}
  .grid img,.grid .wide{height:390px}.ownerGrid{padding:75px 0}.ownerGrid>img{max-width:560px}
  .ctaInner{padding:55px 0;display:block}.cta .button{margin-top:25px}
  .visit{padding:30px}.visit img{height:290px}
  .serviceList div{display:block}.serviceList span{display:block;text-align:left;margin-top:3px}
}
@media(max-width:480px){
  .topbar{font-size:11px}.heroImage{min-height:330px}.floatingCard{left:15px;bottom:15px;padding:12px 15px}
  .heroText{padding:48px 6%}.trust{display:block}.trust span{display:block;margin:7px 0}
  .section{padding:62px 0}.grid img,.grid .wide{height:320px}.pill{padding:10px 15px}
}

.socialTop{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:inline-flex!important;align-items:center;justify-content:center;color:var(--ink)!important;text-decoration:none;font-weight:800!important;font-family:Arial,sans-serif}
.socialTop:hover{background:var(--ink);color:#fff!important;border-color:var(--ink)}
.socialTop.insta{font-size:20px;font-weight:500!important}
.socials{display:flex;gap:18px}
.socials a{color:var(--ink);text-decoration:none;font-weight:700}
.socials a:hover{color:var(--pink)}
@media(max-width:850px){.socialTop{display:none!important}}

.ownerProfile{text-align:center;padding:105px 0}.ownerProfile h2{font-size:clamp(2.5rem,4vw,4.1rem);margin:8px 0 35px;letter-spacing:-.03em}.ownerPhoto{width:min(430px,90%);aspect-ratio:4/5;object-fit:cover;border-radius:25px;margin:0 auto 35px;box-shadow:0 18px 45px rgba(33,27,37,.12)}.ownerBio{max-width:680px;margin:auto}.ownerBio .bigcopy{font-size:1.25rem}.ownerBio .qualification{margin:28px auto 0;text-align:left}
@media(max-width:850px){.ownerProfile{padding:75px 0}.ownerPhoto{width:min(390px,92%)}}

.brand:hover img{transform:scale(1.025)}
.brand img{transition:transform .2s ease}

.booking{background:linear-gradient(135deg,#fffafd,#f8eefb)}
.bookingHeading{display:grid;grid-template-columns:1fr .65fr;gap:60px;align-items:end;margin-bottom:35px}
.bookingHeading h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.5rem,4vw,4.1rem);line-height:1.08;letter-spacing:-.03em;margin:8px 0 0}
.bookingHeading p{color:#665c68;margin:0}
.bookingFrame{background:#fff;border:1px solid var(--line);border-radius:24px;padding:10px;box-shadow:0 18px 45px rgba(33,27,37,.10);overflow:hidden}
.bookingFrame iframe{display:block;width:100%;min-height:750px;border:0;border-radius:16px;background:#fff}
@media(max-width:850px){.bookingHeading{grid-template-columns:1fr;gap:20px}.bookingFrame{padding:5px;border-radius:18px}.bookingFrame iframe{min-height:750px}}
