:root{
  --t:#5bb8b0;--td:#3a9e96;--tl:#b8e4e1;--txl:#e8f8f7;--txx:#f0fbfa;
  --p:#7b5ea7;--pd:#5c4280;--pl:#cfc5e8;--pxl:#f0ecf9;--pxx:#f7f4fd;
  --pk:#e84393;--pkd:#c42d79;--pkl:#f4b3d0;--pkxl:#fdeef7;--pkxx:#fff5fb;
  --g:linear-gradient(135deg,#5bb8b0 0%,#7b5ea7 52%,#e84393 100%);
  --gh:linear-gradient(90deg,#7b5ea7,#e84393);
  --gt:linear-gradient(90deg,#5bb8b0,#7b5ea7);
  --gpk:linear-gradient(90deg,#e84393,#7b5ea7);
  --dark:#07060f;
  --tx:#07060f;--mu:#65607a;--mu2:#b0aabe;
  --ln:rgba(0,0,0,.07);--lnt:rgba(91,184,176,.2);--lnpk:rgba(232,67,147,.18);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Plus Jakarta Sans',sans-serif;background:#fff;color:var(--tx);overflow-x:hidden;}
*,a,button{cursor:none!important;}
#cur{position:fixed;width:10px;height:10px;border-radius:50%;background:var(--pk);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:multiply;transition:background .2s,width .2s,height .2s;}
#cur2{position:fixed;width:36px;height:36px;border:1.5px solid var(--p);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:.5;transition:all .28s;}
body:has(a:hover) #cur{width:14px;height:14px;background:var(--p);}
body:has(a:hover) #cur2{width:52px;height:52px;opacity:1;border-color:var(--pk);}

/* BUTTONS */
.ba{background:var(--g);color: #fff !important;padding:14px 30px;border-radius:10px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border:none;display:inline-flex;align-items:center;gap:9px;box-shadow:0 6px 28px rgba(123,94,167,.28);transition:transform .22s,box-shadow .22s;}
.ba:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(123,94,167,.38);}
.bb{background:transparent;color:var(--p);padding:14px 30px;border-radius:10px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border:2px solid var(--p);display:inline-flex;align-items:center;gap:9px;transition:all .22s;}
.bb:hover{background:var(--p);color: #fff !important;}
.bt{background:var(--t);color: #fff !important;padding:14px 30px;border-radius:10px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border:none;display:inline-flex;align-items:center;gap:9px;box-shadow:0 6px 28px rgba(91,184,176,.28);transition:transform .22s,box-shadow .22s;}
.bt:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(91,184,176,.4);}
.bpk{background:var(--pk);color: #fff !important;padding:14px 30px;border-radius:10px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border:none;display:inline-flex;align-items:center;gap:9px;box-shadow:0 6px 28px rgba(232,67,147,.28);transition:transform .22s,box-shadow .22s;}
.bpk:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(232,67,147,.4);}
.bw{background:#fff;color:var(--tx);padding:14px 30px;border-radius:10px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border:none;display:inline-flex;align-items:center;gap:9px;box-shadow:0 6px 28px rgba(0,0,0,.15);transition:transform .22s,box-shadow .22s;}
.bw:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(0,0,0,.2);}
.bwo{background:transparent;color: rgba(255,255,255,.85) !important;padding:14px 30px;border-radius:10px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border:1.5px solid rgba(255,255,255,.3);display:inline-flex;align-items:center;gap:9px;transition:all .22s;}
.bwo:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.6);}

/* REVEAL */
.rv{opacity:0;transform:translateY(30px);transition:opacity .75s ease,transform .75s ease;}
.rv.on{opacity:1;transform:translateY(0);}
.rv.lf{transform:translateX(-30px);}
.rv.lf.on{transform:translateX(0);}
.rv.rf{transform:translateX(30px);}
.rv.rf.on{transform:translateX(0);}
.rv.sc{transform:scale(.94);}
.rv.sc.on{transform:scale(1);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.4s;}

/* ═══════════════════════════
   HERO — GIANT TYPOGRAPHIC
═══════════════════════════ */
.hero{min-height:100vh;
background:#fff;
display:flex;
flex-direction:column;
justify-content:center;
padding:7rem 7rem 5rem;
position:relative;
overflow:hidden;}

/* large decorative circle — behind all content */
.hero::before{content:'';
position:absolute;
top:-200px;
right:-200px;
width:700px;
height:700px;
border-radius:50%;
border:80px solid var(--txl);
pointer-events:none;
z-index:0;}
.hero::after{content:'';
position:absolute;
bottom:-150px;
left:-150px;
width:500px;
height:500px;
border-radius:50%;
border:60px solid var(--pkxl);
pointer-events:none;
z-index:0;}

.hero-top{display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:4rem;
position:relative;
z-index:1;}
.hero-badge{display:inline-flex;
align-items:center;
gap:10px;
padding:8px 20px;
border-radius:100px;
background:var(--g);
color: #fff !important;
font-size:.65rem;
font-weight:700;
letter-spacing:.2em;
text-transform:uppercase;}
.hero-nav-links{display:flex;gap:2rem;}
.hnl{font-size:.72rem;font-weight:600;color:var(--mu);text-decoration:none;letter-spacing:.08em;transition:color .2s;}
.hnl:hover{color:var(--t);}

/* MASSIVE headline */
.hero-hl{font-family:'Unbounded',sans-serif;
font-size:clamp(3.5rem,8vw,9.5rem);
font-weight:900;
line-height:.88;
letter-spacing:-.03em;
margin-bottom:3rem;
position:relative;
z-index:1;}
.hero-hl .l1{display:block;color:var(--tx);}
.hero-hl .l2{display:block;
color:transparent;
-webkit-text-stroke:2px var(--t);}
.hero-hl .l3{display:block;
background:var(--g);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
background-clip:text;}

/* bottom row */
.hero-bottom{display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:2rem;
align-items:end;
position:relative;
z-index:1;}
.hero-desc{font-size:1rem;
color:var(--mu);
line-height:1.75;
font-weight:300;}
.hero-companion-pills{display:flex;
gap:8px;
flex-wrap:wrap;
justify-content:center;}
.hcp{padding:8px 16px;
border-radius:8px;
font-size:.72rem;
font-weight:600;
border:1px solid var(--ln);
color:var(--tx);
background:#fff;
transition:all .22s;
text-decoration:none;
box-shadow:0 2px 10px rgba(0,0,0,.05);}
.hcp:hover{background:var(--txl);border-color:var(--tl);color:var(--td);}
.hero-ctas{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;}

/* ═══════════════════════════
   TICKER
═══════════════════════════ */
.ticker{background:var(--dark);padding:13px 0;overflow:hidden;}
.tki{display:flex;gap:2.5rem;width:max-content;animation:tkr 30s linear infinite;}
.ti{display:flex;align-items:center;gap:8px;color: rgba(255,255,255,.7) !important;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;}
.ts{color: rgba(255,255,255,.2) !important;}
@keyframes tkr{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ═══════════════════════════
   HOW IT WORKS — TIMELINE HORIZONTAL
═══════════════════════════ */
.hiw{padding:5.5rem 7rem;
background:var(--dark);
position:relative;
overflow:hidden;}
.hiw::before{content:'';
position:absolute;
inset:0;
background:radial-gradient(ellipse 60% 70% at 50% 50%,rgba(91,184,176,.06) 0%,transparent 70%);}
.hiw-label{font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--t);margin-bottom:1rem;opacity:.7;}
.hiw-title{font-family:'Playfair Display',serif;
font-size:clamp(2.2rem,3.5vw,3.8rem);
font-style:italic;
font-weight:700;
color: #fff !important;
margin-bottom:3.5rem;
line-height:1.05;}
.hiw-title span{background:var(--g);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:normal;}

/* horizontal step line */
.hiw-steps{display:grid;
grid-template-columns:repeat(4,1fr);
gap:0;
position:relative;}
.hiw-steps::before{content:'';
position:absolute;
top:22px;
left:11%;
right:11%;
height:1px;
background:linear-gradient(90deg,var(--t),var(--p),var(--pk));}
.hstep{display:flex;
flex-direction:column;
align-items:center;
text-align:center;
padding:0 1rem;
position:relative;
z-index:1;}
.hstep-bubble{width:44px;
height:44px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-family:'Playfair Display',serif;
font-style:italic;
font-size:1.1rem;
font-weight:700;
color: #fff !important;
margin-bottom:1.4rem;
flex-shrink:0;}
.hstep:nth-child(1) .hstep-bubble{background:var(--t);}
.hstep:nth-child(2) .hstep-bubble{background:linear-gradient(135deg,var(--t),var(--p));}
.hstep:nth-child(3) .hstep-bubble{background:var(--p);}
.hstep:nth-child(4) .hstep-bubble{background:var(--gh);}
.hstep h4{font-weight:700;font-size:.88rem;color: #fff !important;margin-bottom:.5rem;}
.hstep p{font-size:.76rem;color: rgba(255,255,255,.5) !important;line-height:1.55;font-weight:300;}

/* ═══════════════════════════
   ☕ COFFEE — ASYMMETRIC OVERLAP
═══════════════════════════ */
.coffee-s{background:var(--txx);
padding:6rem 0;
position:relative;
overflow:hidden;}
.coffee-inner{display:grid;
grid-template-columns:1.1fr .9fr;
max-width:1400px;
margin:0 auto;
padding:0 7rem;
gap:6rem;
align-items:center;}
/* large rotated text watermark */
.coffee-s::before{content:'COFFEE';
position:absolute;
right:-80px;
top:50%;
transform:translateY(-50%) rotate(90deg);
font-family:'Unbounded',sans-serif;
font-weight:900;
font-size:10rem;
color:rgba(91,184,176,.06);
letter-spacing:-.05em;
pointer-events:none;
white-space:nowrap;}
.coffee-img-wrap{position:relative;}
.coffee-img-main{width:100%;
height:520px;
object-fit:cover;
border-radius:24px 4px 24px 24px;
box-shadow:0 30px 70px rgba(91,184,176,.2);
filter:brightness(.9) saturate(1.1);}
/* small overlap image */
.coffee-img-accent{position:absolute;
width:48%;
height:42%;
object-fit:cover;
bottom:-24px;
right:-24px;
border-radius:4px 24px 4px 4px;
border:5px solid var(--txx);
box-shadow:0 16px 48px rgba(0,0,0,.12);
animation:fl1 5.5s ease-in-out infinite;}
@keyframes fl1{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
/* rating pill on image */
.coffee-rating{position:absolute;
top:20px;
left:-16px;
background:#fff;
border-radius:12px;
padding:.9rem 1.2rem;
box-shadow:0 12px 40px rgba(0,0,0,.1);
border:1px solid var(--tl);
animation:fl1 5s 1s ease-in-out infinite;}
.cr-stars{color:#f59e0b;font-size:.8rem;letter-spacing:2px;margin-bottom:3px;}
.cr-text{font-size:.82rem;font-weight:700;color:var(--tx);}
.cr-sub{font-size:.64rem;color:var(--mu);}

.coffee-text{}
.sec-number{font-family:'Playfair Display',serif;
font-style:italic;
font-size:5rem;
font-weight:700;
line-height:1;
background:var(--g);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
background-clip:text;
opacity:.15;
display:block;
margin-bottom:.5rem;}
.sec-label{font-size:.6rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--td);margin-bottom:1rem;display:flex;align-items:center;gap:8px;}
.sec-label::before{content:'';width:20px;height:2px;background:var(--gt);border-radius:2px;}
.sec-h{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,3.5vw,3.6rem);font-weight:700;line-height:1.02;letter-spacing:-.02em;margin-bottom:1.2rem;color:var(--tx);}
.sec-h .it{font-style:italic;font-weight:400;}
.sec-h .gr{background:var(--g);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sec-d{font-size:.95rem;color:var(--mu);line-height:1.75;max-width:440px;font-weight:300;margin-bottom:2rem;}
.bullets{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem;}
.bull{display:flex;align-items:flex-start;gap:.85rem;}
.bull-ico{width:22px;height:22px;border-radius:50%;background:var(--g);display:flex;align-items:center;justify-content:center;font-size:.68rem;color: #fff !important;flex-shrink:0;margin-top:1px;}
.bull p{font-size:.82rem;color:var(--mu);line-height:1.5;}
.bull p b{font-weight:700;color:var(--tx);}

/* ═══════════════════════════
   🎬 MOVIE — FULL DARK CINEMA
═══════════════════════════ */
.movie-s{background:var(--dark);
position:relative;
overflow:hidden;}
/* film grain */
.movie-s::before{content:'';
position:absolute;
inset:0;
background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
background-size:150px;
opacity:.025;
pointer-events:none;
z-index:0;}
.movie-inner{display:grid;
grid-template-columns:1fr 1fr;
position:relative;
z-index:1;}
/* left: full-bleed image with overlay */
.movie-img-side{position:relative;
overflow:hidden;
min-height:580px;}
.movie-img-side img{width:100%;
height:100%;
object-fit:cover;
filter:brightness(.6) saturate(1.3);
transition:transform .8s;}
.movie-s:hover .movie-img-side img{transform:scale(1.04);}
.movie-img-side::after{content:'';
position:absolute;
inset:0;
background:linear-gradient(to right,transparent 55%,var(--dark) 100%);}
/* genre pills overlay on image */
.movie-genre-pills{position:absolute;
bottom:2rem;
left:2rem;
z-index:3;
display:flex;
gap:8px;
flex-wrap:wrap;}
.mgp{padding:5px 13px;
border-radius:100px;
background:rgba(255,255,255,.12);
backdrop-filter:blur(8px);
border:1px solid rgba(255,255,255,.15);
color: rgba(255,255,255,.8) !important;
font-size:.68rem;
font-weight:600;
transition:all .22s;}
.mgp:hover{background:rgba(91,184,176,.25);border-color:rgba(91,184,176,.4);color:var(--tl);}
.movie-text-side{padding:5.5rem 5rem 5.5rem 4rem;
display:flex;
flex-direction:column;
justify-content:center;}
.movie-text-side .sec-label::before{background:var(--gt);}
.movie-text-side .sec-label{color:var(--t);}
.movie-text-side .sec-h{color: #fff !important;}
.movie-text-side .sec-d{color: rgba(255,255,255,.55) !important;}
.movie-text-side .bull p{color: rgba(255,255,255,.55) !important;}
.movie-text-side .bull p b{color: #fff !important;}

/* cinema ticket decoration */
.cinema-ticket{display:flex;
align-items:center;
gap:16px;
margin-bottom:2rem;
padding:1.2rem 1.5rem;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
border-radius:12px;}
.ct-ico{font-size:1.8rem;}
.ct-text{}
.ct-top{font-size:.75rem;font-weight:700;color: #fff !important;margin-bottom:2px;}
.ct-bot{font-size:.65rem;color: rgba(255,255,255,.45) !important;}

/* ═══════════════════════════
   🗺️ CITY TOUR — BENTO GRID
═══════════════════════════ */
.tour-s{padding:5.5rem 7rem;
background:#fff;
position:relative;}
.tour-top{display:grid;
grid-template-columns:1fr 1fr;
gap:4rem;
align-items:end;
margin-bottom:3rem;}
/* bento grid */
.bento{display:grid;
grid-template-columns:1.6fr 1fr 1fr;
grid-template-rows:260px 180px;
gap:12px;}
.bc{position:relative;
overflow:hidden;
border-radius:18px;
transition:transform .35s;}
.bc:hover{transform:scale(1.02);}
.bc:first-child{grid-row:span 2;border-radius:24px;}
.bc img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.78) saturate(1.2);transition:transform .6s,filter .4s;}
.bc:hover img{transform:scale(1.07);filter:brightness(.66) saturate(1.4);}
/* shimmer effect */
.bc::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(91,184,176,0),rgba(91,184,176,.14),rgba(91,184,176,0));background-size:200% 200%;background-position:0 50%;transition:background-position .5s;z-index:1;}
.bc:hover::before{background-position:100% 50%;}
.bc-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,6,15,.85) 0%,transparent 50%);z-index:2;}
.bc-info{position:absolute;bottom:0;left:0;right:0;padding:1.3rem;z-index:3;transform:translateY(4px);transition:transform .3s;}
.bc:hover .bc-info{transform:translateY(0);}
.bc-cat{font-size:.57rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tl);margin-bottom:4px;}
.bc-name{font-family:'Playfair Display',serif;font-style:italic;font-size:1.5rem;color: #fff !important;line-height:1;}
.bc:first-child .bc-name{font-size:2.2rem;}
/* top bar reveal */
.bc::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--g);z-index:4;transform:scaleX(0);transform-origin:left;transition:transform .35s;}
.bc:hover::after{transform:scaleX(1);}

/* ═══════════════════════════
   💕 DATE — FULL SCREEN ROMANTIC
═══════════════════════════ */
.date-s{position:relative;
overflow:hidden;
min-height:100vh;
display:flex;
align-items:center;}
/* full bg image */
.date-bg{position:absolute;
inset:0;
background:url('https://images.unsplash.com/photo-1511795409834-ef04bbd61622?w=1600&auto=format&fit=crop&q=80') center/cover no-repeat;
filter:brightness(.4) saturate(1.2);
animation:datezoom 16s ease-in-out infinite alternate;}
@keyframes datezoom{0%{transform:scale(1);}100%{transform:scale(1.06);}}
/* warm pink overlay */
.date-ov{position:absolute;
inset:0;
background:linear-gradient(135deg,rgba(232,67,147,.2) 0%,rgba(123,94,167,.15) 50%,transparent 100%),
             linear-gradient(to right,rgba(7,6,15,.9) 0%,rgba(7,6,15,.5) 60%,transparent 100%);}
/* floating hearts animation */
.heart-container{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2;}
.hp{position:absolute;font-size:1.2rem;animation:hrise linear infinite;opacity:0;}
@keyframes hrise{0%{opacity:0;transform:translateY(0) scale(.5) rotate(0deg);}20%{opacity:.6;}80%{opacity:.2;}100%{opacity:0;transform:translateY(-120px) scale(1) rotate(25deg);}}
.date-content{position:relative;
z-index:5;
padding:0 7rem;
max-width:680px;}
.date-content .sec-label{color: rgba(255,255,255,.5) !important;}
.date-content .sec-label::before{background:linear-gradient(90deg,var(--pk),rgba(255,255,255,.3));}
.date-content .sec-h{color: #fff !important;font-size:clamp(3rem,5vw,5.5rem);}
.date-content .sec-d{color: rgba(255,255,255,.62) !important;max-width:500px;}
/* date feature grid */
.date-features{display:grid;
grid-template-columns:1fr 1fr;
gap:1rem;
margin-bottom:2.5rem;}
.dfeat{padding:1.2rem 1.4rem;
border-radius:14px;
background:rgba(255,255,255,.08);
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.1);
transition:all .25s;}
.dfeat:hover{background:rgba(232,67,147,.15);border-color:rgba(232,67,147,.25);}
.dfeat-ico{font-size:1.3rem;margin-bottom:.5rem;display:block;}
.dfeat h5{font-size:.82rem;font-weight:700;color: #fff !important;margin-bottom:.2rem;}
.dfeat p{font-size:.72rem;color: rgba(255,255,255,.5) !important;}

/* ═══════════════════════════
   🎉 PARTY — DIAGONAL SPLIT
═══════════════════════════ */
.party-s{position:relative;
overflow:hidden;
min-height:90vh;
background:var(--dark);}
/* diagonal clip images */
.party-imgs{position:absolute;
inset:0;
display:grid;
grid-template-columns:1fr 1fr 1fr;}
.party-imgs .pi{position:relative;
overflow:hidden;}
.party-imgs .pi img{width:100%;
height:100%;
object-fit:cover;
filter:brightness(.55) saturate(1.3);
transition:filter .4s;}
.party-imgs .pi:hover img{filter:brightness(.35) saturate(1.5);}
/* gradient separator between images */
.party-imgs .pi::after{content:'';
position:absolute;
inset:0;
background:linear-gradient(to bottom,transparent 30%,rgba(7,6,15,.95) 100%);}
/* live pulsing dot */
.party-imgs .pi::before{content:'';
position:absolute;
top:16px;
right:16px;
z-index:5;
width:9px;
height:9px;
border-radius:50%;
background:var(--pk);
box-shadow:0 0 0 0 rgba(232,67,147,.5);
animation:lpulse 2.5s ease-out infinite;}
@keyframes lpulse{0%{box-shadow:0 0 0 0 rgba(232,67,147,.6);}70%{box-shadow:0 0 0 12px rgba(232,67,147,0);}100%{box-shadow:0 0 0 0 rgba(232,67,147,0);}}

/* text overlay centred */
.party-content{position:relative;
z-index:5;
display:flex;
align-items:flex-end;
min-height:90vh;
padding:5.5rem 7rem;}
.party-text-box{max-width:700px;}
.party-text-box .sec-label{color:var(--pkl);}
.party-text-box .sec-label::before{background:var(--gpk);}
.party-event-tags{display:flex;
gap:8px;
flex-wrap:wrap;
margin-bottom:1.8rem;}
.pet{padding:6px 14px;
border-radius:6px;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.12);
color: rgba(255,255,255,.7) !important;
font-size:.7rem;
font-weight:600;
transition:all .22s;}
.pet:hover{background:rgba(232,67,147,.2);border-color:rgba(232,67,147,.3);color:var(--pkl);}

/* ═══════════════════════════
   ✨ OUTING — HORIZONTAL CARDS
═══════════════════════════ */
.outing-s{padding:5.5rem 0;
background:var(--pxx);
overflow:hidden;}
.outing-head{padding:0 7rem;
display:grid;
grid-template-columns:1fr 1fr;
gap:4rem;
align-items:end;
margin-bottom:3.5rem;}
/* scroll-hint label */
.outing-scroll-hint{display:flex;
align-items:center;
gap:8px;
font-size:.65rem;
font-weight:700;
color:var(--mu2);
letter-spacing:.12em;
text-transform:uppercase;
justify-content:flex-end;}
.osh-line{width:30px;height:1px;background:var(--g);}

/* scrollable card row */
.outing-track{display:flex;
gap:1.5rem;
padding:0 7rem 1rem;
overflow-x:auto;
scrollbar-width:none;}
.outing-track::-webkit-scrollbar{display:none;}
.ocard{flex:0 0 280px;
border-radius:22px;
overflow:hidden;
background:#fff;
border:1px solid var(--ln);
transition:all .35s;
position:relative;
box-shadow:0 4px 20px rgba(0,0,0,.06);}
.ocard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--g);transform:scaleX(0);transform-origin:left;transition:transform .35s;z-index:3;}
.ocard:hover::before{transform:scaleX(1);}
.ocard:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(123,94,167,.15);border-color:var(--pl);}
.ocard img{width:100%;height:180px;object-fit:cover;display:block;transition:transform .5s;}
.ocard:hover img{transform:scale(1.06);}
.ocard-body{padding:1.4rem;}
.ocard-icon{width:38px;height:38px;border-radius:10px;background:var(--pxl);border:1px solid var(--pl);display:flex;align-items:center;justify-content:center;font-size:.95rem;margin-bottom:.9rem;transition:transform .35s;}
.ocard:hover .ocard-icon{transform:rotate(-8deg) scale(1.1);}
.ocard-body h4{font-weight:700;font-size:.9rem;margin-bottom:.4rem;}
.ocard-body p{font-size:.75rem;color:var(--mu);line-height:1.5;}
.ocard-pill{display:inline-block;margin-top:10px;padding:3px 12px;border-radius:100px;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--pxl);color:var(--pd);}

/* ═══════════════════════════
   💬 SOCIAL — EDITORIAL GRID
═══════════════════════════ */
.social-s{padding:5.5rem 7rem;
background:#fff;
position:relative;}
.social-grid{display:grid;
grid-template-columns:1fr 1fr 1fr;
grid-template-rows:auto auto;
gap:1.5rem;
margin-top:3rem;}
/* first cell spans 2 rows */
.social-grid .sg-main{grid-row:span 2;
border-radius:24px;
overflow:hidden;
position:relative;
min-height:540px;}
.sg-main img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.78) saturate(1.1);transition:transform .7s;}
.sg-main:hover img{transform:scale(1.04);}
.sg-main-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,6,15,.88) 0%,rgba(7,6,15,.1) 60%,transparent 100%);}
.sg-main-text{position:absolute;bottom:0;left:0;right:0;padding:2rem;}
.sg-main-tag{font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tl);margin-bottom:.5rem;}
.sg-main-h{font-family:'Playfair Display',serif;font-style:italic;font-size:1.8rem;color: #fff !important;line-height:1.1;margin-bottom:.8rem;}
/* type companion cards */
.sg-type{background:var(--off);
border-radius:18px;
padding:1.6rem;
border:1px solid var(--ln);
transition:all .28s;
position:relative;
overflow:hidden;}
.sg-type:hover{background:var(--txl);border-color:var(--tl);transform:translateY(-4px);box-shadow:0 12px 36px rgba(91,184,176,.12);}
.sg-type-ico{font-size:1.8rem;margin-bottom:.8rem;display:block;}
.sg-type h4{font-weight:700;font-size:.92rem;margin-bottom:.4rem;}
.sg-type p{font-size:.78rem;color:var(--mu);line-height:1.5;}
.sg-type-pill{display:inline-block;margin-top:.8rem;padding:3px 12px;border-radius:100px;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.sg-type:nth-child(2) .sg-type-pill{background:var(--txl);color:var(--td);}
.sg-type:nth-child(3) .sg-type-pill{background:var(--pxl);color:var(--pd);}
.sg-type:nth-child(4) .sg-type-pill{background:var(--pkxl);color:var(--pkd);}
.sg-type:nth-child(5) .sg-type-pill{background:var(--txl);color:var(--td);}
/* bottom CTA cell */
.sg-cta{grid-column:span 2;
background:var(--g);
border-radius:20px;
padding:2rem 2.5rem;
display:flex;
align-items:center;
justify-content:space-between;
gap:2rem;
position:relative;
overflow:hidden;}
.sg-cta::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px;}
.sg-cta-text{position:relative;z-index:1;}
.sg-cta-text h4{font-family:'Playfair Display',serif;font-style:italic;font-size:1.6rem;color: #fff !important;margin-bottom:.3rem;}
.sg-cta-text p{font-size:.8rem;color: rgba(255,255,255,.7) !important;}
.sg-cta a{position:relative;z-index:1;flex-shrink:0;}

/* ═══════════════════════════
   MARQUEE
═══════════════════════════ */
.mq{overflow:hidden;background:var(--dark);padding:2rem 0;}
.mqi{display:flex;width:max-content;animation:mqr 22s linear infinite;}
.mw{font-family:'Playfair Display',serif;font-style:italic;font-size:5.5rem;padding:0 2rem;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.1);line-height:1;}
.mw.on{-webkit-text-stroke:0;background:var(--g);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.msep{font-size:2rem;line-height:5.5rem;padding:0 .5rem;color: rgba(255,255,255,.2) !important;}
@keyframes mqr{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ═══════════════════════════
   STATS
═══════════════════════════ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);}
.stat{padding:2.5rem 2rem;border-right:1px solid var(--ln);text-align:center;transition:background .28s;position:relative;}
.stat:last-child{border-right:none;}
.stat:hover{background:var(--txx);}
.stat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--g);transform:scaleX(0);transition:transform .35s;transform-origin:center;}
.stat:hover::before{transform:scaleX(1);}
.stat-n{font-family:'Playfair Display',serif;font-style:italic;font-size:3.5rem;font-weight:700;line-height:1;background:var(--g);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;margin-bottom:.3rem;}
.stat h4{font-weight:700;font-size:.86rem;margin-bottom:.3rem;}
.stat p{font-size:.7rem;color:var(--mu);line-height:1.45;}

/* ═══════════════════════════
   CTA — SPLIT WITH PATTERN
═══════════════════════════ */
.cta-s{display:grid;
grid-template-columns:1.1fr .9fr;
min-height:420px;}
.cta-left{background:var(--g);
padding:5rem 5rem 5rem 7rem;
display:flex;
flex-direction:column;
justify-content:center;
position:relative;
overflow:hidden;}
.cta-left::before{content:'';
position:absolute;
inset:0;
background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px);
background-size:26px 26px;}
.cta-left::after{content:'';
position:absolute;
top:-80px;
right:-80px;
width:300px;
height:300px;
border-radius:50%;
background:rgba(255,255,255,.07);}
.cta-left h2{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,3.5vw,3.8rem);font-style:italic;font-weight:700;color: #fff !important;line-height:1.05;margin-bottom:1rem;position:relative;z-index:1;}
.cta-left p{color: rgba(255,255,255,.72) !important;font-size:.95rem;font-weight:300;margin-bottom:2.5rem;line-height:1.72;max-width:420px;position:relative;z-index:1;}
.cta-left-btns{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1;}
.cta-right{background:var(--dark);
padding:5rem 5rem;
display:flex;
flex-direction:column;
justify-content:center;
gap:1rem;}
.cta-right h3{font-family:'Playfair Display',serif;font-style:italic;font-size:1.4rem;color: #fff !important;margin-bottom:.5rem;font-weight:400;}
/* companion link list */
.cta-links{display:flex;flex-direction:column;gap:.5rem;}
.cta-link{display:flex;
align-items:center;
justify-content:space-between;
padding:.9rem 1.2rem;
border-radius:10px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.07);
color: rgba(255,255,255,.75) !important;
font-size:.82rem;
font-weight:600;
text-decoration:none;
transition:all .22s;}
.cta-link:hover{background:rgba(91,184,176,.12);border-color:rgba(91,184,176,.2);color: #fff !important;}
.cta-link-arrow{color:var(--t);transition:transform .22s;}
.cta-link:hover .cta-link-arrow{transform:translateX(5px);}

/* RESPONSIVE — TABLET */
@media(max-width:1100px){
  .hero{padding:5rem 3rem 4rem;}
  .hero-top{flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem;}
  .hero-nav-links{gap:1.2rem;}
  .hero-bottom{grid-template-columns:1fr;gap:2rem;}
  .hero-companion-pills{justify-content:flex-start;}
  .hero-ctas{justify-content:flex-start;}
  .coffee-inner{grid-template-columns:1fr;gap:2rem;padding:0 3rem;}
  .coffee-s{padding:4rem 0;}
  .coffee-img-accent{display:none;}
  .movie-inner{grid-template-columns:1fr;}
  .movie-img-side{min-height:320px;}
  .movie-text-side{padding:3.5rem 3rem;}
  .tour-s{padding:4rem 3rem;}
  .tour-top{grid-template-columns:1fr;gap:2rem;}
  .date-content{padding:0 3rem;}
  .party-content{padding:4rem 3rem;}
  .party-imgs{display:none;}
  .party-s{background:var(--dark) url('https://images.unsplash.com/photo-1519741497674-611481863552?w=1200&auto=format&fit=crop&q=80') center/cover no-repeat;background-blend-mode:luminosity;}
  .outing-s{padding:4rem 0;}
  .outing-head{padding:0 3rem;grid-template-columns:1fr;}
  .outing-track{padding:0 3rem 1rem;}
  .social-s{padding:4rem 3rem;}
  .social-grid{grid-template-columns:1fr 1fr;}
  .sg-main{grid-row:span 1;min-height:300px;}
  .sg-cta{grid-column:span 2;}
  .cta-s{grid-template-columns:1fr;}
  .cta-left{padding:4rem 3rem;}
  .cta-right{padding:3rem;}
  .hiw{padding:4rem 3rem;}
  .hiw-steps{grid-template-columns:repeat(2,1fr);gap:2rem;}
  .hiw-steps::before{display:none;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .bento{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px;}
  .bc:first-child{grid-row:span 1;}
}

/* RESPONSIVE — MOBILE */
@media(max-width:640px){
  /* HERO — hide decorative circles, fix layout */
  .hero{padding:3.5rem 1.2rem 3rem;min-height:auto;}
  .hero::before,.hero::after{display:none;}
  .hero-top{flex-direction:column;align-items:flex-start;gap:.7rem;margin-bottom:2rem;}
  .hero-nav-links{gap:1rem;}
  .hero-badge{font-size:.56rem;padding:6px 14px;}
  .hero-hl{font-size:clamp(2.2rem,8.5vw,3.5rem);line-height:.92;margin-bottom:2rem;}
  .hero-hl .l2{-webkit-text-stroke:1.5px var(--t);}
  .hero-bottom{grid-template-columns:1fr;gap:1.5rem;}
  .hero-desc{font-size:.9rem;}
  .hero-companion-pills{justify-content:flex-start;gap:6px;}
  .hcp{padding:7px 12px;font-size:.67rem;}
  .hero-ctas{justify-content:flex-start;gap:8px;flex-wrap:wrap;}

  /* TICKER */
  .ticker{padding:10px 0;}
  .ti{font-size:.62rem;}

  /* HOW IT WORKS */
  .hiw{padding:3rem 1.2rem;}
  .hiw-title{font-size:clamp(1.6rem,5.5vw,2.2rem);}
  .hiw-steps{grid-template-columns:1fr 1fr;gap:1rem;}
  .hiw-steps::before{display:none;}
  .hstep-bubble{width:36px;height:36px;font-size:.9rem;}

  /* COFFEE */
  .coffee-s{padding:3rem 0;}
  .coffee-inner{padding:0 1.2rem;gap:2rem;}
  .coffee-img-main{height:280px;border-radius:16px;}
  .coffee-img-accent,.coffee-rating{display:none;}
  .sec-number{font-size:3.5rem;}

  /* MOVIE */
  .movie-text-side{padding:2.5rem 1.2rem;}
  .movie-img-side{min-height:250px;}
  .cinema-ticket{flex-direction:column;gap:.5rem;padding:.9rem;}
  .ct-bot{font-size:.6rem;}

  /* TOUR */
  .tour-s{padding:3rem 1.2rem;}
  .tour-top{gap:1.5rem;}
  .bento{grid-template-columns:1fr 1fr;grid-template-rows:180px 150px;}
  .bento .bc:first-child{grid-row:span 1;}
  .bento .bc:nth-child(n+4){display:none;}
  .bc-name{font-size:1.2rem;}
  .bc:first-child .bc-name{font-size:1.6rem;}

  /* DATE */
  .date-s{min-height:auto;padding:4rem 0;}
  .date-content{padding:3rem 1.2rem;}
  .date-content .sec-h{font-size:clamp(2rem,7vw,3rem);}
  .date-features{grid-template-columns:1fr 1fr;gap:.7rem;}
  .dfeat{padding:.9rem;}
  .dfeat-ico{font-size:1.1rem;}
  .dfeat h5{font-size:.75rem;}
  .dfeat p{font-size:.65rem;}

  /* PARTY */
  .party-s{min-height:auto;}
  .party-content{padding:3rem 1.2rem;min-height:auto;}
  .party-text-box .sec-h{font-size:clamp(1.8rem,6.5vw,2.8rem)!important;}
  .party-event-tags{gap:6px;}
  .pet{padding:5px 10px;font-size:.64rem;}

  /* OUTING */
  .outing-s{padding:3rem 0;}
  .outing-head{padding:0 1.2rem;gap:1.5rem;}
  .outing-track{padding:0 1.2rem 1rem;gap:1rem;}
  .ocard{flex:0 0 230px;}
  .ocard img{height:150px;}
  .ocard-body{padding:1rem 1.1rem;}
  .outing-scroll-hint{justify-content:flex-start;}

  /* SOCIAL */
  .social-s{padding:3rem 1.2rem;}
  .social-grid{grid-template-columns:1fr;gap:1rem;}
  .sg-main{min-height:260px;}
  .sg-main-h{font-size:1.3rem;}
  .sg-cta{grid-column:span 1;flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem;}
  .sg-cta-text h4{font-size:1.2rem;}

  /* MARQUEE */
  .mw{font-size:2.8rem;}
  .msep{font-size:1.5rem;line-height:2.8rem;}

  /* STATS */
  .stats{grid-template-columns:1fr 1fr;}
  .stat{padding:1.8rem .8rem;}
  .stat-n{font-size:2.5rem;}
  .stats .stat{border-right:none;border-bottom:1px solid var(--ln);}
  .stats .stat:last-child{border-bottom:none;}

  /* CTA */
  .cta-s{grid-template-columns:1fr;}
  .cta-left{padding:3rem 1.2rem;}
  .cta-left h2{font-size:clamp(1.6rem,5.5vw,2.2rem);}
  .cta-left-btns{flex-direction:column;gap:8px;}
  .cta-left-btns a{justify-content:center;text-align:center;}
  .cta-right{padding:2.5rem 1.2rem;}
  .cta-links .cta-link{padding:.7rem .9rem;font-size:.76rem;}

  /* BUTTONS */
  .ba,.bb,.bt,.bpk,.bw,.bwo{padding:12px 20px;font-size:.76rem;}

  #cur,#cur2{display:none;}
}