:root{
	--mag:#c4087c; --mag-d:#8e0558; --mag-l:#fbeaf4; --slate:#3e4e63; --ink:#26303d; --line:#e7dde3; --bg:#fff; --soft:#fdf6fa;
	--r:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:'Hind Siliguri',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--mag-d)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,label:focus-within{outline:3px solid var(--mag);outline-offset:2px}
.wrap{width:min(1180px,92%);margin-inline:auto}
h1,h2,h3{color:var(--slate);line-height:1.3;margin:0 0 .5em;font-weight:700}

.btn{display:inline-block;background:var(--mag);color:#fff;border:2px solid var(--mag);padding:.7em 1.5em;border-radius:999px;font:600 1rem 'Hind Siliguri',sans-serif;text-decoration:none;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--mag-d);border-color:var(--mag-d)}
.btn:disabled{opacity:.6;cursor:wait}
.btn-ghost{background:transparent;color:var(--mag-d)}
.btn-ghost:hover{background:var(--mag-l);color:var(--mag-d)}
.btn-light{background:#fff;color:var(--mag-d);border-color:#fff}
.btn-light:hover{background:var(--mag-l);color:var(--mag-d);border-color:var(--mag-l)}
.btn-sm{padding:.4em 1.1em}

.site-head{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem 0}
.brand img,.custom-logo{height:62px;width:auto}
.main-nav{display:flex;align-items:center;gap:1.4rem}
.main-nav ul{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}
.main-nav a{text-decoration:none;color:var(--slate);font-weight:600}
.main-nav ul a:hover{color:var(--mag)}
.main-nav .btn{color:#fff}
.nav-toggle{display:none;background:none;border:2px solid var(--slate);color:var(--slate);border-radius:8px;padding:.3em .9em;font:600 1rem 'Hind Siliguri',sans-serif}

.hero{background:linear-gradient(180deg,#fff 0%,var(--soft) 100%);position:relative;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:2rem;padding:3.5rem 0 5rem}
.hero h1{font-size:clamp(2rem,4.6vw,3.4rem);color:var(--slate)}
.hero p{max-width:34em;font-size:1.1rem}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.hero-art{position:relative;aspect-ratio:1;max-width:460px;margin-inline:auto;width:100%}
.petal{position:absolute;inset:0 18% 38% 0;background:linear-gradient(135deg,var(--mag-d),var(--mag));border-radius:0 100% 0 100%;transform:rotate(-8deg)}
.diamond{position:absolute;inset:14% 0 0 14%;background:linear-gradient(135deg,var(--mag),var(--mag-d));border-radius:26% 12% 26% 12%;transform:rotate(45deg);overflow:hidden;box-shadow:0 20px 40px rgba(142,5,88,.25)}
.diamond img{position:absolute;width:150%;max-width:none;left:-25%;top:-28%;transform:rotate(-45deg);mix-blend-mode:normal;opacity:0}
.hero-art .diamond::after{content:"";position:absolute;inset:22%;background:#fff;border-radius:50%}
.scallop{position:absolute;left:0;right:0;bottom:-1px;height:22px;background:radial-gradient(circle at 20px 0,#fff 19px,transparent 20px) 0 0/40px 22px repeat-x}

.sec{padding:4rem 0}
.sec-tint{background:var(--soft)}
.sec-h{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:1.5rem}
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.svc article{padding:1.4rem;border-inline-end:1px solid var(--line);background:#fff}
.svc article:last-child{border-inline-end:0}
.svc h3{font-size:1.15rem;color:var(--mag-d)}
.svc p{margin:0;font-size:.97rem}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.card-img{display:block;aspect-ratio:3/2;background:var(--mag-l)}
.card-img img{width:100%;height:100%;object-fit:cover}
.ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--mag-l),#f3c7de)}
.card-b{padding:1rem 1.2rem 1.3rem}
.card h3{font-size:1.2rem;margin-bottom:.2em}
.card h3 a{text-decoration:none;color:var(--slate)}
.card h3 a:hover{color:var(--mag)}
.card p{margin:.3em 0;font-size:.97rem}
.meta{color:var(--mag-d);font-weight:600}
.meta.big{font-size:1.1rem}
.empty{padding:1.2rem;border:1px dashed var(--line);border-radius:var(--r);background:#fff}

.cta{background:linear-gradient(120deg,var(--mag-d),var(--mag));color:#fff;text-align:center;padding:4rem 0}
.cta h2{color:#fff;font-size:clamp(1.6rem,3.4vw,2.4rem)}
.cta p{max-width:36em;margin:0 auto 1.4rem}

.page{padding:2.5rem 0 4rem}
.narrow{max-width:820px}
.page-t{font-size:clamp(1.7rem,3.4vw,2.4rem)}
.hero-img{border-radius:var(--r);margin-bottom:1.2rem}
.entry{font-size:1.05rem}
.pager{margin-top:2rem}

.site-foot{background:var(--slate);color:#e8edf3;padding-top:2.5rem}
.site-foot a{color:#fff}
.foot-in{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.foot-in p{margin:.2em 0}
.copy{padding:1.4rem 0;margin-top:1.4rem;border-top:1px solid rgba(255,255,255,.18);font-size:.9rem}

/* package builder */
.pb-steps{display:flex;list-style:none;margin:0 0 1.6rem;padding:0;gap:.4rem;overflow-x:auto}
.pb-steps li{flex:1 0 auto;text-align:center;padding:.5rem .9rem;border-bottom:4px solid var(--line);color:#7a8594;font-weight:600;white-space:nowrap}
.pb-steps li.is-done{border-color:var(--mag-l);color:var(--slate)}
.pb-steps li.is-on{border-color:var(--mag);color:var(--mag-d)}
.pb-body{display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:start}
.pb-main{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem}
.pb-pane{display:none}
.pb-pane.is-on{display:block}
.pb-pane h2{font-size:1.5rem}
.pb-pane h3{font-size:1.05rem;margin-top:1.2rem}
.pb-note{color:#5b6674;font-size:.95rem}
.pb-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0}
.pb label{display:block;font-weight:600;color:var(--slate)}
.pb input[type=date],.pb input[type=text],.pb input[type=tel],.pb input[type=email]{display:block;width:100%;margin-top:.3rem;padding:.65rem .8rem;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff}
.pb input:focus{border-color:var(--mag)}
.ctr{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.ctr span{font-weight:600;color:var(--slate)}
.ctr small{display:block;font-weight:400;color:#6b7684}
.ctr div{display:flex;align-items:center;gap:.8rem}
.ctr button{width:40px;height:40px;border-radius:50%;border:2px solid var(--mag);background:#fff;color:var(--mag-d);font-size:1.3rem;line-height:1;cursor:pointer}
.ctr button:hover{background:var(--mag-l)}
.ctr output{min-width:1.6em;text-align:center;font-weight:700;font-size:1.2rem}
.spot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem;margin-top:1rem}
.spot{cursor:pointer}
.spot input{position:absolute;opacity:0}
.spot-in{display:block;height:100%;border:2px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:border-color .2s}
.spot-in img,.spot-in .ph{width:100%;aspect-ratio:3/2;object-fit:cover}
.spot-in b{display:block;padding:.6rem .8rem 0;color:var(--slate)}
.spot-in small{display:block;padding:0 .8rem;font-weight:400;color:#5b6674;line-height:1.5}
.spot-in em{display:block;padding:.3rem .8rem .8rem;font-style:normal;color:var(--mag-d);font-weight:600}
.spot input:checked + .spot-in{border-color:var(--mag);background:var(--mag-l)}
.spot input:focus-visible + .spot-in{outline:3px solid var(--mag);outline-offset:2px}
.choice{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}
.opt{cursor:pointer;margin:0}
.opt input{position:absolute;opacity:0}
.opt span{display:inline-block;padding:.55rem 1.1rem;border:2px solid var(--line);border-radius:999px;font-weight:500;color:var(--ink);transition:all .15s}
.opt input:checked + span{border-color:var(--mag);background:var(--mag);color:#fff}
.opt input:focus-visible + span{outline:3px solid var(--mag);outline-offset:2px}
.meal{border:0;padding:0;margin:1.2rem 0 0}
.meal legend{font-weight:700;color:var(--mag-d);padding:0;margin-bottom:.2rem}
.pb-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.pb-sum{position:sticky;top:96px;background:var(--soft);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem}
.pb-sum h3{margin-bottom:.6rem}
.pb-sum dl{margin:0}
.pb-sum dt{font-weight:600;color:var(--slate);font-size:.9rem;margin-top:.5rem}
.pb-sum dd{margin:0;font-size:.95rem}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--mag);margin-top:1rem;padding-top:.8rem}
.sum-total strong{font-size:1.6rem;color:var(--mag-d)}
.pb-msg{min-height:1.5em;font-weight:600}
.pb-msg.ok{color:#18794e}
.pb-msg.err{color:#b3261e}

@media (max-width:860px){
	.hero-in{grid-template-columns:1fr;padding-top:2rem}
	.hero-art{max-width:300px;order:-1}
	.pb-body{grid-template-columns:1fr}
	.pb-sum{position:static}
	.nav-toggle{display:block}
	.main-nav{display:none;position:absolute;inset:100% 0 auto 0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:1rem 4%}
	.main-nav.is-open{display:flex}
	.main-nav ul{flex-direction:column;gap:.6rem}
	.svc article{border-inline-end:0;border-bottom:1px solid var(--line)}
}
