@font-face {font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400 500; font-display: swap; src: url(fonts/cormorantgaramond-italic-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(fonts/cormorantgaramond-normal-rupee.woff2) format('woff2'); unicode-range: U+20B9;}
@font-face {font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(fonts/cormorantgaramond-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family: 'Great Vibes'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/greatvibes-sub.woff2) format('woff2'); unicode-range: U+0020-007E, U+2019;}
@font-face {font-family: 'Manrope'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(fonts/manrope-normal-rupee.woff2) format('woff2'); unicode-range: U+20B9;}
@font-face {font-family: 'Manrope'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(fonts/manrope-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
:root{--bg:#120810;--plum:#2a1022;--plum2:#3b1631;--blush:#f4c6cf;--rose:#e79bb0;--nude:#e8cfc0;--gold:#d9b779;--gold2:#f3dfae;--ink:#f8ede8;--mut:#bfa5ad;--r:22px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:70px}html.lock{overflow:hidden}
html,body{overflow-x:clip;max-width:100%}body{background:radial-gradient(1200px 800px at 80% -10%,#3b1631 0,transparent 60%),var(--bg);color:var(--ink);font:400 16px/1.7 Manrope,system-ui,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:"Cormorant Garamond",serif;font-weight:500;line-height:1.05}
h2{font-size:clamp(2.2rem,5.5vw,4rem);margin:.2em 0 .6em}h2 i,h1 i{color:var(--gold2);font-style:italic}
.script{font-family:"Great Vibes",cursive}
.wrap{width:min(1180px,92vw);margin:auto}section{padding:clamp(70px,11vw,140px) 0}
.c{text-align:center}.muted{color:var(--mut)}.sm{font-size:.85rem}
.eyebrow{font-size:.75rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold)}
.grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#cursor{position:fixed;width:340px;height:340px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(231,155,176,.13),transparent 65%);left:0;top:0;transform:translate3d(-400px,-400px,0);will-change:transform}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:1em 1.9em;border-radius:999px;font-weight:600;font-size:.92rem;letter-spacing:.04em;color:#2a1022;background:linear-gradient(120deg,var(--gold2),var(--gold) 45%,var(--blush));background-size:200% 100%;box-shadow:0 10px 30px -10px rgba(217,183,121,.6),inset 0 1px 0 rgba(255,255,255,.6);transition:.4s;border:0;cursor:pointer}
.btn:hover{background-position:100% 0;transform:translateY(-2px)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid rgba(243,223,174,.4);box-shadow:none}.btn.ghost:hover{border-color:var(--gold2);background:rgba(243,223,174,.06)}
.btn.sm{padding:.65em 1.3em}.btn.full{width:100%}
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:14px 4vw;transition:.4s}
.nav.s{background:rgba(18,8,16,.72);backdrop-filter:blur(16px);border-bottom:1px solid rgba(243,223,174,.1)}
.brand{display:flex;align-items:center;gap:10px;font-family:"Cormorant Garamond";font-size:1.25rem}.brand img{border-radius:50%;border:1px solid rgba(243,223,174,.35)}.brand em{color:var(--gold2)}
nav{display:flex;gap:28px;align-items:center;font-size:.9rem}nav a:not(.btn){opacity:.8;transition:.3s}nav a:not(.btn):hover{opacity:1;color:var(--gold2)}
.burger{display:none;background:none;border:0;width:36px;height:36px;flex-direction:column;justify-content:center;gap:7px}.burger i{display:block;height:1.5px;background:var(--ink);transition:.3s}
.hero{min-height:100svh;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden;padding:0}
#gl{contain:strict;position:absolute;inset:0;width:100%;height:100%}
.hero-glow{position:absolute;inset:0;background:radial-gradient(600px 400px at 50% 55%,rgba(231,155,176,.18),transparent 70%),linear-gradient(to bottom,transparent 70%,var(--bg));pointer-events:none}
.hero-in{position:relative;z-index:2;padding:110px 5vw 80px;pointer-events:none}.hero-in a{pointer-events:auto}
h1 .script{display:block;padding:0 .25em .1em;font-size:clamp(4.2rem,14vw,10rem);line-height:.9;background:linear-gradient(100deg,var(--gold2),var(--blush) 50%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 30px rgba(231,155,176,.35))}
h1 .big{display:block;font-family:Manrope;font-weight:300;font-size:clamp(.95rem,2.6vw,1.5rem);letter-spacing:.7em;margin-top:.7em;text-transform:uppercase;padding-left:.7em}
.lead{max-width:540px;margin:28px auto 34px;color:#e6d3d6;font-size:clamp(1rem,1.6vw,1.1rem)}
.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.offer-pill{display:inline-flex;align-items:center;gap:10px;margin-top:34px;padding:.55em 1.2em;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(243,223,174,.25);font-size:.85rem;background:rgba(30,12,26,.55)}.offer-pill b{color:var(--gold2)}
.dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--rose)}.dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--rose);animation:pulse 2s cubic-bezier(.2,.6,.3,1) infinite}@keyframes pulse{0%{transform:scale(1);opacity:.7}70%,100%{transform:scale(3.4);opacity:0}}
.scroll-ind{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mut);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2}
.scroll-ind span{width:1px;height:44px;background:linear-gradient(var(--gold),transparent);animation:sc 2s infinite}@keyframes sc{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.marquee{overflow:hidden;border-block:1px solid rgba(243,223,174,.15);padding:18px 0;background:linear-gradient(90deg,var(--plum),#1a0b16,var(--plum))}
.track{white-space:nowrap;display:inline-block;animation:mq 30s linear infinite;will-change:transform;font-family:"Cormorant Garamond";font-style:italic;font-size:1.6rem;color:var(--nude)}@keyframes mq{to{transform:translateX(-50%)}}
.about{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}
.about-media{position:relative;height:clamp(420px,52vw,620px)}
.frame{position:absolute;border-radius:var(--r);overflow:hidden;box-shadow:0 40px 80px -30px #000;border:1px solid rgba(243,223,174,.2)}.frame img{width:100%;height:100%;object-fit:cover}
.p1{width:66%;height:78%;left:0;top:0}.p2{width:52%;height:58%;right:0;bottom:0;outline:8px solid var(--bg)}
.about-txt p{color:#dfcdd1;margin-bottom:1em}.link{color:var(--gold2);border-bottom:1px solid;font-weight:600}
.hero-in h1,.hero-in .lead{text-shadow:0 4px 30px rgba(18,8,16,.9)}
.services{background:linear-gradient(180deg,transparent,rgba(59,22,49,.45),transparent)}
.grid-s{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.card{position:relative;padding:34px 26px 28px;border-radius:var(--r);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));border:1px solid rgba(243,223,174,.18);transform-style:preserve-3d;transition:border-color .4s,box-shadow .4s;overflow:hidden;display:flex;flex-direction:column}
.card:before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(243,223,174,.14),transparent 40%);opacity:0;transition:.4s;pointer-events:none}.card:hover:before{opacity:1}
.card:hover{border-color:rgba(243,223,174,.45);box-shadow:0 30px 60px -25px rgba(231,155,176,.35)}
.badge{align-self:flex-start;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.45em .9em;border-radius:999px;background:linear-gradient(90deg,var(--rose),var(--gold));color:#2a1022;margin-bottom:20px}
.card h3{font-size:1.7rem;margin-bottom:.4em}.card p{color:var(--mut);font-size:.92rem;flex:1}
.price{margin:22px 0 6px;display:flex;align-items:baseline;gap:12px}.price b{font-family:"Cormorant Garamond";font-size:3rem;font-weight:600;color:var(--gold2)}.price s{color:var(--mut);opacity:.8}
.dur{font-size:.75rem;color:var(--mut);letter-spacing:.05em;margin-bottom:18px}
.card.custom{background:linear-gradient(160deg,rgba(231,155,176,.18),rgba(217,183,121,.08))}
.masonry{columns:4 240px;column-gap:16px;margin-top:20px}
.gi{break-inside:avoid;margin-bottom:16px;border-radius:16px;overflow:hidden;cursor:zoom-in;position:relative;background:var(--plum)}
.gi img{width:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.gi:hover img{transform:scale(1.06);filter:saturate(1.15)}
.gi:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(243,223,174,.15);border-radius:16px;pointer-events:none}
.strip{display:flex;gap:18px;overflow-x:auto;padding:30px 4vw 20px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.reel{flex:0 0 clamp(200px,22vw,270px);aspect-ratio:9/16;border-radius:20px;overflow:hidden;position:relative;scroll-snap-align:center;cursor:pointer;border:1px solid rgba(243,223,174,.2);background:var(--plum);transition:transform .5s}
.reel:hover{transform:translateY(-8px) rotate(-1deg)}.reel video{width:100%;height:100%;object-fit:cover}
.reel:after{content:"▶";position:absolute;right:14px;bottom:12px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;background:rgba(18,8,16,.7);color:var(--gold2)}
.grid-w{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:20px}
.w{padding:34px 26px;border-radius:var(--r);border:1px solid rgba(243,223,174,.14);background:rgba(255,255,255,.03)}.w span{font-family:"Cormorant Garamond";font-size:2.6rem;color:var(--rose);font-style:italic}.w h3{font-size:1.5rem;margin:.3em 0}.w p{color:var(--mut);font-size:.92rem}
.book{background:radial-gradient(800px 500px at 20% 50%,rgba(231,155,176,.12),transparent),linear-gradient(180deg,transparent,var(--plum) 40%,transparent)}
.book-in{display:grid;grid-template-columns:1fr 1.1fr;gap:6vw;align-items:center}.book-txt>p{color:#dfcdd1}
.info{list-style:none;margin-top:30px;display:grid;gap:14px}.info li{display:flex;gap:16px;padding-bottom:14px;border-bottom:1px solid rgba(243,223,174,.12)}.info b{width:70px;color:var(--gold);font-weight:600;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;padding-top:2px}
.glass{padding:clamp(24px,4vw,42px);border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid rgba(243,223,174,.22);box-shadow:0 50px 100px -40px #000}
form label{display:block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
input,select,textarea{display:block;width:100%;margin-top:8px;padding:14px 16px;border-radius:14px;border:1px solid rgba(243,223,174,.2);background:rgba(18,8,16,.55);color:var(--ink);font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;transition:.3s;color-scheme:dark}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--gold2);box-shadow:0 0 0 4px rgba(243,223,174,.1)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fine{text-align:center;font-size:.78rem;color:var(--mut);margin-top:12px}
.ig{padding-top:0}.ig-card{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;padding:clamp(30px,5vw,60px);border-radius:32px;background:linear-gradient(120deg,#5b1e47,#a2456f 50%,#d9a066);position:relative;overflow:hidden}
.ig-card h2{margin:.2em 0 0;max-width:620px}.ig-card .eyebrow{color:#fff3}.ig-card .eyebrow{color:#ffe9d0}.ig-card .btn{background:#140910;color:var(--gold2)}
.loc{display:grid;grid-template-columns:1fr 1.4fr;gap:5vw;align-items:center}.loc-txt p{margin-bottom:1em}
.map{border-radius:28px;overflow:hidden;border:1px solid rgba(243,223,174,.2);height:420px}.map iframe{width:100%;height:100%;border:0;filter:invert(.9) hue-rotate(180deg) saturate(.6) brightness(.9)}
footer{text-align:center;padding:70px 20px 110px;border-top:1px solid rgba(243,223,174,.1)}footer img{margin:0 auto 10px;border-radius:50%}footer .script{font-size:2.4rem;color:var(--gold2)}footer a{color:var(--gold2)}footer p{margin-top:6px}
.fab{position:fixed;transform:translateZ(0);right:18px;bottom:18px;z-index:60;display:flex;flex-direction:column;gap:12px}
.f{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(0,0,0,.6);transition:.3s}.f:hover{transform:scale(1.08)}.f svg{width:26px;fill:#fff}
.wa{background:#25d366}.call{background:linear-gradient(135deg,var(--gold),var(--rose))}.call svg{fill:#2a1022;width:22px}
.lb{position:fixed;inset:0;z-index:100;background:rgba(10,4,9,.96);display:none;place-items:center}.lb.on{display:grid}
.lbc img,.lbc video{max-width:92vw;max-height:86vh;border-radius:14px}
.lb button{position:absolute;background:rgba(255,255,255,.08);border:1px solid rgba(243,223,174,.25);color:var(--ink);width:50px;height:50px;border-radius:50%;font-size:1.6rem;cursor:pointer}.x{top:20px;right:20px}.pv{left:16px;top:50%}.nx{right:16px;top:50%}
.js .r{opacity:0;transform:translateY(32px);transition:opacity .9s cubic-bezier(.215,.61,.355,1),transform .9s cubic-bezier(.215,.61,.355,1)}.js .r.in{opacity:1;transform:none}.reduced .r{opacity:1!important;transform:none!important}
@media(max-width:960px){.grid-s,.grid-w{grid-template-columns:1fr 1fr}.about,.book-in,.loc{grid-template-columns:1fr}.about-media{order:2}}
@media(max-width:720px){.burger{display:flex}nav{position:fixed;inset:0;background:rgba(18,8,16,.97);flex-direction:column;justify-content:center;font-size:1.4rem;gap:26px;opacity:0;pointer-events:none;transition:.4s}
.open nav{opacity:1;pointer-events:auto}.open .burger i:first-child{transform:translateY(4px) rotate(45deg)}.open .burger i:last-child{transform:translateY(-4px) rotate(-45deg)}.burger{z-index:2}
.grid-s,.grid-w{grid-template-columns:1fr}.two{grid-template-columns:1fr}.masonry{columns:2;column-gap:10px}.gi{margin-bottom:10px}.map{height:320px}#cursor{display:none}.brand span{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}.js .r,h1 .wd>span{opacity:1!important;transform:none!important}}

.cf-wrap{margin-top:30px}.cf{position:relative;height:clamp(380px,52vw,560px);perspective:1400px;transform-style:preserve-3d;touch-action:pan-y;cursor:grab;user-select:none}
.cf:active{cursor:grabbing}.cfc{position:absolute;left:50%;top:50%;width:clamp(220px,30vw,360px);aspect-ratio:3/4;margin:calc(clamp(220px,30vw,360px)*-2/3) 0 0 calc(clamp(220px,30vw,360px)/-2);border-radius:22px;overflow:hidden;visibility:hidden;box-shadow:0 40px 70px -25px #000,0 0 0 1px rgba(243,223,174,.25);background:var(--plum);transition:opacity .4s}
.cfc img{width:100%;height:100%;object-fit:cover;pointer-events:none}.cfc:after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(255,255,255,.22),transparent 35%);pointer-events:none}
.cf-ctl{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:26px;font-family:"Cormorant Garamond";font-size:1.3rem;color:var(--gold2)}
.cf-ctl button{width:52px;height:52px;border-radius:50%;border:1px solid rgba(243,223,174,.35);background:rgba(255,255,255,.04);color:var(--ink);font-size:1.6rem;cursor:pointer;transition:.3s}.cf-ctl button:hover{background:var(--gold);color:#2a1022}
.all{margin-top:40px;text-align:center}.all summary{list-style:none;cursor:pointer}.all summary::-webkit-details-marker{display:none}.all .masonry{text-align:left}.all[open] .gi{opacity:1;transform:none}
@media(max-width:720px){.cfc{width:62vw;margin:calc(62vw*-2/3) 0 0 -31vw}}

.card,.glass,.reel,.gi{transform:translateZ(0);backface-visibility:hidden}.grain{transform:translateZ(0)}
@media(max-width:720px){.card,.glass{backdrop-filter:none;-webkit-backdrop-filter:none}}

.gallery,.reels,.about,.hero,.services,.why,.book,.loc{overflow-x:clip}
img,video,iframe{max-width:100%}
.hero{min-height:100vh;min-height:100svh}
@media(max-width:1024px) and (min-width:721px){.grid-s,.grid-w{grid-template-columns:1fr 1fr}.book-in,.loc{grid-template-columns:1fr}.masonry{columns:3}}
@media(max-width:720px){section{padding-inline:0}.wrap{width:min(1180px,90vw)}h2{font-size:clamp(2rem,9vw,2.6rem)}.fab{right:12px;bottom:12px}.f{width:50px;height:50px}footer{padding-bottom:140px}.about-media{height:clamp(360px,110vw,480px)}.cf{height:clamp(340px,95vw,440px)}.cfc{width:min(62vw,300px);margin:calc(min(62vw,300px)*-2/3) 0 0 calc(min(62vw,300px)/-2)}.ig-card{padding:28px 22px}.ig-card .btn{width:100%}.lead{padding:0 4px}}
@media(max-width:380px){h1 .big{letter-spacing:.5em}.cta .btn{width:100%}}
.cfc:before{content:'';position:absolute;inset:0;background:#000;opacity:var(--dim,0);z-index:1;pointer-events:none}
.lq{background-size:cover;background-position:center;opacity:1}.lq:not(.ok){filter:blur(8px)}.lq.ok{transition:filter .5s}.gi img{height:auto}

.reels{content-visibility:auto;contain-intrinsic-size:auto 760px}.why{content-visibility:auto;contain-intrinsic-size:auto 1300px}.steps{content-visibility:auto;contain-intrinsic-size:auto 1000px}.ig{content-visibility:auto;contain-intrinsic-size:auto 330px}.loc{content-visibility:auto;contain-intrinsic-size:auto 800px}footer{content-visibility:auto;contain-intrinsic-size:auto 420px}
.card,.w,.reel,.cfc,.gi{contain:layout paint style}
.reel video{background:transparent}

.open .fab{opacity:0;pointer-events:none}
nav .mx{display:none}
@media(max-width:1024px) and (min-width:721px){.burger{display:flex;z-index:2}nav{position:fixed;inset:0;background:rgba(18,8,16,.97);flex-direction:column;justify-content:center;font-size:1.4rem;gap:26px;opacity:0;pointer-events:none;transition:.4s}
.open nav{opacity:1;pointer-events:auto}.open .burger i:first-child{transform:translateY(4px) rotate(45deg)}.open .burger i:last-child{transform:translateY(-4px) rotate(-45deg)}}
@media(max-width:1024px){nav .mx{display:inline-flex}nav{gap:clamp(10px,2.2dvh,22px);max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:72px 0 28px;justify-content:safe center;font-size:clamp(1.1rem,2.9dvh,1.4rem)}}
.hero .r{animation:heroIn 1.1s cubic-bezier(.215,.61,.355,1) forwards}.hero .r:nth-child(3){animation-delay:.7s}.hero .r:nth-child(4){animation-delay:.82s}.hero .r:nth-child(5){animation-delay:.94s}.hero .r:nth-child(6){animation-delay:1.06s}
@keyframes heroIn{from{opacity:.01;transform:translateY(40px)}to{opacity:1;transform:none}}

/* ===== v3: performance + premium motion ===== */
picture{display:contents}
.cfc.near{will-change:transform}
#gl{opacity:0;transition:opacity 1.2s ease}#gl.on{opacity:1}
.marquee.off .track{animation-play-state:paused}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* mobile: no full-screen grain layer, no live backdrop blur on the fixed nav */
@media(max-width:720px){.grain{display:none}.nav.s{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(18,8,16,.94)}}
/* hero headline: words slide up out of a mask, one by one */
h1 .wd{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.12em .2em .28em;margin:-.12em -.2em -.28em}
h1 .wd>span{display:inline-block;transform:translateY(110%);opacity:.01;animation:wordUp 1.05s cubic-bezier(.19,1,.22,1) var(--d,0s) forwards}
h1 .script{background:none;color:inherit;-webkit-background-clip:border-box;background-clip:border-box}
h1 .script .wd{padding:.15em .6em .35em;margin:-.15em -.6em -.35em}
h1 .script .wd>span{background:linear-gradient(100deg,var(--gold2),var(--blush) 50%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;padding:.1em .5em .2em;margin:-.1em -.5em -.2em}
@keyframes wordUp{to{transform:none;opacity:1}}
/* hero word rotator pill */
.rot{margin-top:22px;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.25rem,3.4vw,1.7rem);color:var(--nude);display:flex;align-items:center;justify-content:center;gap:.45em;flex-wrap:wrap}
.rot-pill{display:inline-grid;overflow:hidden;padding:.12em .8em;border-radius:999px;border:1px solid rgba(243,223,174,.35);background:linear-gradient(120deg,rgba(243,223,174,.14),rgba(231,155,176,.12));color:var(--gold2);font-style:normal;font-weight:600;line-height:1.35;text-align:center}
.rw{grid-area:1/1;transform:translateY(105%);opacity:0;transition:transform .7s cubic-bezier(.65,0,.35,1),opacity .5s ease;white-space:nowrap}
.rw.on{transform:none;opacity:1}.rw.out{transform:translateY(-105%);opacity:0}
.reduced .rw{transition:none}
/* scroll-linked parallax on the compositor (no JS); only where supported */
@supports (animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .p1{animation:par1 linear both;animation-timeline:view();animation-range:cover}
  .p2{animation:par2 linear both;animation-timeline:view();animation-range:cover}
  .hero-in{animation:heroOut linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
 }}
@keyframes par1{from{transform:translateY(6%)}to{transform:translateY(-10%)}}
@keyframes par2{from{transform:translateY(16%)}to{transform:translateY(-14%)}}
@keyframes heroOut{to{transform:translateY(22%);opacity:.15}}
/* count-up stats */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:26px 0 28px}
.stats>div{padding:16px 18px;border-radius:18px;border:1px solid rgba(243,223,174,.16);background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.01))}
.stats b{display:block;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(2rem,4.4vw,2.6rem);line-height:1;color:var(--gold2);font-variant-numeric:tabular-nums}
.stats span{display:block;margin-top:6px;font-size:.78rem;letter-spacing:.08em;color:var(--mut)}
@media(min-width:1100px){.stats{grid-template-columns:repeat(4,1fr)}}
/* how booking works: line draws through the steps (transform only) */
.proc{list-style:none;position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:44px 0 40px;counter-reset:s}
.proc .pl{position:absolute;left:16.66%;right:16.66%;top:27px;height:2px;background:rgba(243,223,174,.14);border-radius:2px;pointer-events:none}
.proc .pl i{position:absolute;inset:0;background:linear-gradient(90deg,var(--gold),var(--rose),var(--gold2));transform:scaleX(0);transform-origin:left;transition:transform 1.8s cubic-bezier(.65,0,.35,1) .2s;border-radius:2px}
.proc.in .pl i{transform:none}
.st{position:relative;text-align:center;opacity:.35;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.215,.61,.355,1)}
.proc.in .st{opacity:1;transform:none}.proc.in .st:nth-child(2){transition-delay:.25s}.proc.in .st:nth-child(3){transition-delay:.95s}.proc.in .st:nth-child(4){transition-delay:1.65s}
.dotn{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:var(--bg);border:1px solid rgba(243,223,174,.4);font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.4rem;color:var(--gold2);transform:scale(.7);}
.proc.in .dotn{transform:none;transition:transform .6s cubic-bezier(.34,1.56,.64,1);transition-delay:inherit}
.dotn:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(231,155,176,.35);opacity:0;transition:opacity .6s;transition-delay:inherit}.proc.in .dotn:after{opacity:1}
.st h3{font-size:1.6rem;margin-bottom:.35em}.st p{color:var(--mut);font-size:.92rem;max-width:300px;margin:auto}
.steps{padding-bottom:20px}
@media(max-width:720px){.proc{grid-template-columns:1fr;gap:34px;margin:34px 0 34px}
 .proc .pl{left:27px;right:auto;top:28px;bottom:28px;width:2px;height:auto}.proc .pl i{transform:scaleY(0);transform-origin:top}.proc.in .pl i{transform:none}
 .st{display:grid;grid-template-columns:56px 1fr;gap:18px;text-align:left;align-items:start}.dotn{margin:0}.st p{margin:0}}
.reduced .proc .pl i,.reduced .st,.reduced .dotn{transform:none!important;opacity:1!important}
/* booking button: check + confetti */
.btn.sub{position:relative;overflow:visible}
.sub .okl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.5em;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .45s cubic-bezier(.34,1.56,.64,1)}
.sub .lbl{transition:opacity .3s,transform .4s}
.sub.ok .lbl{opacity:0;transform:translateY(-8px)}.sub.ok .okl{opacity:1;transform:none}
.sub .ck{stroke-dasharray:24;stroke-dashoffset:24}.sub.ok .ck{animation:ck .5s .15s ease forwards}@keyframes ck{to{stroke-dashoffset:0}}
.confetti{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;z-index:3}
.confetti i{position:absolute;left:-3px;top:-5px;width:6px;height:10px;border-radius:2px;opacity:0;animation:conf 1.1s cubic-bezier(.15,.7,.3,1) forwards}
@keyframes conf{0%{opacity:1;transform:translate(0,0) rotate(0) scale(.6)}70%{opacity:1}100%{opacity:0;transform:translate(var(--x),calc(var(--y) + 40px)) rotate(var(--r)) scale(1)}}
