:root{
  --onyx:#0b0a09;
  --ink:#12100e;
  --smoke:#1b1815;
  --line:rgba(201,169,110,.22);
  --gold:#c9a96e;
  --gold-hi:#e8d5a9;
  --gold-lo:#8a6f3e;
  --cream:#f3ead8;
  --mute:#a79d8c;
  --serif:"Bodoni Moda", "Didot", Georgia, serif;
  --sans:"Manrope", system-ui, sans-serif;
  --script:"Pinyon Script", cursive;
  --ease:cubic-bezier(.22,1,.36,1);
  --gutter:clamp(16px,5vw,72px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--onyx);color:var(--cream);font:400 16px/1.65 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
em{font-style:italic;color:var(--gold-hi)}
::selection{background:var(--gold);color:var(--onyx)}

/* grain */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.06;mix-blend-mode:overlay;
  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 type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.eyebrow{font:500 11px/1.4 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
.h2{font:400 clamp(36px,5.6vw,76px)/1.02 var(--serif);letter-spacing:-.015em;margin:0}
.script{font-family:var(--script);color:var(--gold-hi)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 30px;border-radius:999px;font:600 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;border:1px solid transparent;transition:transform .5s var(--ease),background .4s,color .4s,border-color .4s,box-shadow .4s;position:relative;overflow:hidden;white-space:nowrap}
.btn--gold{background:linear-gradient(135deg,var(--gold-hi),var(--gold) 45%,var(--gold-lo));color:var(--onyx);box-shadow:0 10px 40px -12px rgba(201,169,110,.55)}
.btn--gold::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s var(--ease)}
.btn--gold:hover::after{transform:translateX(120%)}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 16px 50px -12px rgba(201,169,110,.75)}
.btn--ghost{background:transparent;border-color:var(--line);color:var(--cream)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-hi)}
.btn--sm{padding:12px 20px;font-size:11px}
.btn--block{width:100%}
.wa-ico{width:18px;height:18px;fill:currentColor}

/* monogram */
.monogram{position:relative;display:grid;place-items:center;flex:none}
.monogram svg{position:absolute;inset:0;width:100%;height:100%}
.monogram .ring{fill:none;stroke:var(--gold);stroke-width:1.6}
.monogram .ring--thin{stroke-width:.6;opacity:.6}
.monogram__dch{font:400 1em/1 var(--serif);letter-spacing:.06em;color:var(--gold-hi)}
.monogram--sm{width:44px;height:44px;font-size:12px}
.monogram--lg{width:150px;height:150px;font-size:34px;margin:0 auto 28px}
.monogram--lg .monogram__dch{transform:translateY(-6px)}
.monogram__script{position:absolute;bottom:38px;font:400 13px/1 var(--script);color:var(--gold);white-space:nowrap}

/* loader */
.loader{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:var(--onyx);overflow:hidden}
.loader__glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 46%,rgba(201,169,110,.16),transparent 42%),radial-gradient(ellipse 80% 60% at 50% 120%,rgba(138,111,62,.18),transparent 60%);
  animation:lglow 4s ease-in-out infinite alternate}
@keyframes lglow{to{opacity:.6;transform:scale(1.06)}}
.loader__center{position:relative;display:flex;flex-direction:column;align-items:center;gap:34px}
.loader__mono{width:170px;height:170px;font-size:38px}
.loader__mono .monogram__dch{transform:translateY(-7px);opacity:0;animation:lfade 1.2s var(--ease) .5s forwards;letter-spacing:.1em}
.loader__mono .monogram__script{bottom:42px;font-size:15px;opacity:0;animation:lfade 1.2s var(--ease) .9s forwards}
.loader__mono .ring{stroke-dasharray:352;stroke-dashoffset:352;animation:ldraw 1.8s var(--ease) .1s forwards}
.loader__mono .ring--thin{animation-delay:.35s}
@keyframes ldraw{to{stroke-dashoffset:0}}
@keyframes lfade{from{opacity:0;transform:translateY(10px)}to{opacity:1}}
.loader__mono .monogram__dch{animation-name:lfadeD}
@keyframes lfadeD{from{opacity:0;transform:translateY(4px);letter-spacing:.3em}to{opacity:1;transform:translateY(-7px);letter-spacing:.06em}}
.loader__meta{display:flex;align-items:center;gap:16px;opacity:0;animation:lfade 1s var(--ease) .6s forwards}
.loader__bar{width:min(220px,50vw);height:1px;background:var(--line);position:relative;overflow:hidden}
.loader__bar span{position:absolute;inset:0;background:linear-gradient(90deg,var(--gold-lo),var(--gold-hi));transform:scaleX(0);transform-origin:left;transition:transform .35s ease-out}
.loader__pct{font:400 italic 15px/1 var(--serif);color:var(--gold-hi);min-width:34px;font-variant-numeric:tabular-nums}
.loader__pct::after{content:"%";font-size:11px;margin-left:1px;color:var(--gold)}
.loader__tag{margin:0;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--mute);opacity:0;animation:lfade 1s var(--ease) 1s forwards}
.loader__legal{position:absolute;bottom:26px;left:0;right:0;margin:0;text-align:center;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(167,157,140,.6)}
.loader.is-done .loader__meta,.loader.is-done .loader__tag,.loader.is-done .loader__legal{opacity:0!important;transition:opacity .4s;animation:none}
body.loading .nav__brand .monogram{opacity:0}
.nav__brand .monogram{transition:opacity .3s}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:28px;padding:18px var(--gutter);transition:background .5s,padding .5s,border-color .5s;border-bottom:1px solid transparent}
.nav.is-solid{background:rgba(11,10,9,.78);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);padding-top:12px;padding-bottom:12px;border-color:var(--line)}
.nav__brand{display:flex;align-items:center;gap:14px;margin-right:auto}
.nav__name{font:400 17px/1 var(--serif);letter-spacing:.04em}
.nav__links{display:flex;gap:30px}
.nav__links a{font:500 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);position:relative;padding:6px 0;transition:color .3s}
.nav__links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav__links a:hover{color:var(--cream)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__burger{display:none;background:none;border:0;width:40px;height:40px;position:relative}
.nav__burger span{position:absolute;left:9px;right:9px;height:1px;background:var(--gold-hi);transition:transform .4s var(--ease)}
.nav__burger span:first-child{top:16px}.nav__burger span:last-child{top:23px}
.nav__burger[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.nav__burger[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:120px var(--gutter) 80px;overflow:hidden;
  background:radial-gradient(ellipse 70% 60% at 75% 45%,rgba(201,169,110,.13),transparent 65%),radial-gradient(ellipse 50% 50% at 10% 90%,rgba(138,111,62,.12),transparent 60%)}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;transform:scale(1.06);transition:transform 2.4s var(--ease),opacity 1.2s;opacity:0}
.hero__video.on{opacity:1}
.is-ready .hero__video{transform:none}
.hero__shade{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(11,10,9,.92) 0%,rgba(11,10,9,.72) 34%,rgba(11,10,9,.15) 62%,rgba(11,10,9,.25) 100%),
  linear-gradient(180deg,rgba(11,10,9,.55) 0%,transparent 22%,transparent 70%,var(--onyx) 100%)}
.hero__fizz{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.hero__grid{position:relative;width:100%;max-width:1500px;margin:0 auto}
.hero__copy{max-width:860px}
.hero__title{font:400 clamp(44px,6.3vw,104px)/.98 var(--serif);letter-spacing:-.025em;margin:0 0 30px}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero__title .line>span{display:inline-block;transform:translateY(110%);transition:transform 1.4s var(--ease)}
.is-ready .hero__title .line>span{transform:none}
.is-ready .hero__title .line:nth-child(2)>span{transition-delay:.12s}
.is-ready .hero__title .line:nth-child(3)>span{transition-delay:.24s}
.hero__lede{max-width:520px;color:#cfc5b2;font-size:17px;margin:0 0 38px}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap}
.hero__stats{display:flex;gap:clamp(24px,4vw,56px);margin:56px 0 0;padding-top:30px;border-top:1px solid var(--line);max-width:560px}
.hero__stats div{margin:0}
.hero__stats dt{font:400 clamp(30px,3.4vw,46px)/1 var(--serif);color:var(--gold-hi)}
.hero__stats dd{margin:8px 0 0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}

.hero__seal{position:absolute;right:0;bottom:-40px;width:150px;height:150px;z-index:3;display:grid;place-items:center;border-radius:50%;background:rgba(11,10,9,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line)}
.hero__seal svg{position:absolute;inset:0;animation:spin 22s linear infinite}
.hero__seal text{font:600 11.5px var(--sans);letter-spacing:.26em;fill:var(--gold)}
.hero__seal span{font:400 26px var(--serif);color:var(--gold-hi)}
@keyframes spin{to{transform:rotate(360deg)}}
.hero__scroll{position:absolute;left:50%;bottom:28px;width:1px;height:56px;background:var(--line);overflow:hidden}
.hero__scroll span{position:absolute;left:0;top:-50%;width:100%;height:50%;background:var(--gold);animation:drip 2.4s var(--ease) infinite}
@keyframes drip{to{top:110%}}

/* champagne pop */
.pop{position:relative;height:100svh;min-height:560px;overflow:hidden;isolation:isolate;background:var(--onyx)}
.pop__still,.pop__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%}
.pop__still{animation:kb 18s ease-in-out infinite alternate;transition:opacity .35s ease}
.pop__video{opacity:0;transition:opacity .25s ease}
/* the still frame stays on top until the clip has really started painting frames — no black flash on phones */
.pop.is-live .pop__video{opacity:1}
.pop.is-live .pop__still{opacity:0;animation-play-state:paused}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.07)}}
.pop__shade{position:absolute;inset:0;pointer-events:none;transition:opacity 1.2s var(--ease);
  background:linear-gradient(180deg,var(--onyx) 0%,rgba(11,10,9,.15) 16%,transparent 40%,rgba(11,10,9,.55) 66%,rgba(11,10,9,.95) 100%),
  radial-gradient(ellipse 80% 70% at 50% 40%,transparent 40%,rgba(11,10,9,.5) 100%)}
.pop.is-playing:not(.is-open) .pop__shade{opacity:.55}
.pop__hit{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:5;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pop.is-playing .pop__hit{pointer-events:none}
.pop__hit:focus-visible .pop__dot{box-shadow:0 0 0 3px var(--gold-hi)}
.pop__target{position:absolute;left:var(--tx,53%);top:var(--ty,22%);width:0;height:0;transition:opacity .6s,transform .8s var(--ease)}
.pop.is-playing .pop__target{opacity:0;transform:scale(1.6)}
.pop__ring{position:absolute;left:-60px;top:-60px;width:120px;height:120px;border-radius:50%;border:1px solid rgba(243,234,216,.8);animation:ring 2.4s var(--ease) infinite}
.pop__ring--2{animation-delay:1.2s}
@keyframes ring{0%{transform:scale(.25);opacity:0}25%{opacity:1}100%{transform:scale(1.4);opacity:0}}
.pop__dot{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle,#fff,var(--gold-hi) 55%,var(--gold));box-shadow:0 0 24px 6px rgba(232,213,169,.55);animation:tap 1.6s var(--ease) infinite}
@keyframes tap{50%{transform:scale(.7)}}
.pop__tag{position:absolute;left:34px;top:-12px;white-space:nowrap;font:600 10px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--onyx);background:var(--gold-hi);padding:7px 12px;border-radius:99px;box-shadow:0 8px 24px -8px rgba(0,0,0,.6)}
.pop__hit:hover .pop__dot{animation-duration:.8s}

.pop__foot{position:absolute;left:0;right:0;bottom:0;z-index:6;padding:0 var(--gutter) clamp(44px,7vh,80px);display:grid;justify-items:center;text-align:center;pointer-events:none}
.pop__state{grid-area:1/1;max-width:820px;transition:opacity .9s var(--ease),transform 1.1s var(--ease),filter .9s}
.pop__title{font:400 clamp(32px,4.8vw,66px)/1.04 var(--serif);margin:0;letter-spacing:-.015em;text-shadow:0 6px 40px rgba(0,0,0,.65)}
.pop__state--after{opacity:0;transform:translateY(30px);filter:blur(8px)}
.pop.is-playing .pop__state--before{opacity:0;transform:translateY(-20px);filter:blur(8px)}
.pop.is-open .pop__state--after{opacity:1;transform:none;filter:none;pointer-events:auto}
.pop__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.pop__hint{display:inline-flex;align-items:center;gap:12px;margin:22px 0 0;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-hi)}
.pop__tap{width:20px;height:20px;border-radius:50%;border:1px solid var(--gold);position:relative;flex:none}
.pop__tap::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--gold-hi);animation:tap 1.6s var(--ease) infinite}

.pop__sound{position:absolute;left:var(--gutter);bottom:clamp(44px,7vh,80px);z-index:7;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(11,10,9,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;transition:border-color .3s}
.pop__sound:hover{border-color:var(--gold)}
.pop__sound svg{width:18px;height:18px;fill:none;stroke:var(--gold-hi);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pop__sound .x{display:none}
.pop__sound[aria-pressed=false] .w{display:none}
.pop__sound[aria-pressed=false] .x{display:block}
@media (max-width:600px){
  .pop__still,.pop__video{object-position:52% 50%}
  .pop__hint{font-size:9.5px;letter-spacing:.16em}
  .pop__sound{left:auto;right:var(--gutter);top:86px;bottom:auto}
}

/* marquee */
.marquee{border-block:1px solid var(--line);padding:26px 0;overflow:hidden;background:var(--ink)}
.marquee__track{display:flex;gap:42px;width:max-content;animation:marq 40s linear infinite;align-items:center}
.marquee span{font:400 italic clamp(22px,2.6vw,34px)/1 var(--serif);color:var(--cream);white-space:nowrap}
.marquee i{font-style:normal;color:var(--gold);font-size:14px}
@keyframes marq{to{transform:translateX(-50%)}}

/* manifesto */
.manifesto{padding:clamp(100px,16vw,220px) var(--gutter);max-width:1300px;margin:0 auto;text-align:center}
.manifesto__text{font:400 clamp(30px,4.6vw,64px)/1.18 var(--serif);margin:0 0 50px;letter-spacing:-.01em}
.manifesto__text .w{opacity:.14;transition:opacity .6s}
.manifesto__text .w.on{opacity:1}
.manifesto__sign .script{display:block;font-size:clamp(34px,4vw,52px);margin-bottom:10px}
.manifesto__by{color:var(--mute);font-size:13px;letter-spacing:.14em;text-transform:uppercase}

/* section head */
.section-head{padding:0 var(--gutter);max-width:1400px;margin:0 auto 64px}
.section-head--center{text-align:center}
.section-head__sub{max-width:560px;color:var(--mute);margin:22px 0 0;font-size:17px}
.section-head--center .section-head__sub{margin-inline:auto}

/* bars */
.bars{padding:clamp(80px,10vw,140px) 0;position:relative}
.bars__list{position:relative;max-width:1400px;margin:0 auto;padding:0 var(--gutter)}
.bar{position:relative;display:grid;grid-template-columns:80px 1fr 1.1fr auto;gap:28px;align-items:baseline;padding:36px 0;border-top:1px solid var(--line);cursor:default;transition:padding .6s var(--ease)}
.bar:last-of-type{border-bottom:1px solid var(--line)}
.bar__no{font:400 14px var(--serif);color:var(--gold)}
.bar__name{font:400 clamp(26px,3.2vw,46px)/1.05 var(--serif);margin:0;transition:color .4s,transform .6s var(--ease)}
.bar__desc{margin:0;color:var(--mute);max-width:440px}
.bar__tag{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line);padding:7px 12px;border-radius:99px;white-space:nowrap}
.bar:hover .bar__name{color:var(--gold-hi);transform:translateX(12px)}
.bars__preview{position:absolute;top:0;left:0;width:240px;height:340px;margin:0;border-radius:999px 999px 14px 14px;overflow:hidden;pointer-events:none;opacity:0;transform:scale(.85);transition:opacity .4s,transform .5s var(--ease);z-index:5;border:1px solid var(--gold-lo);box-shadow:0 30px 60px -20px #000}
.bars__preview img{width:100%;height:100%;object-fit:cover}
.bars__preview.on{opacity:1;transform:scale(1)}

/* signatures */
.sigs{padding:clamp(80px,10vw,140px) var(--gutter);background:linear-gradient(180deg,var(--onyx),var(--ink) 30%,var(--ink) 70%,var(--onyx))}
.sigs__grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.sig{padding:44px 38px 48px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden;transition:background .6s}
.sig::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,0%),rgba(201,169,110,.14),transparent 55%);opacity:0;transition:opacity .5s}
.sig:hover::before{opacity:1}
.sig__icon{width:44px;height:44px;fill:none;stroke:var(--gold);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:28px}
.sig h3{font:400 26px/1.15 var(--serif);margin:0 0 12px}
.sig p{margin:0;color:var(--mute)}

/* celebrations */
.celebs{padding:clamp(80px,10vw,140px) 0}
.celebs__rail{display:flex;gap:22px;overflow-x:auto;padding:0 var(--gutter) 24px;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.celebs__rail::-webkit-scrollbar{display:none}
.celebs__rail.dragging{cursor:grabbing;scroll-snap-type:none}
.celeb{flex:none;width:clamp(260px,26vw,360px);aspect-ratio:9/15;position:relative;border-radius:18px;overflow:hidden;scroll-snap-align:start;border:1px solid var(--line);user-select:none}
.celeb img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),filter .8s;filter:saturate(.85) brightness(.85);pointer-events:none}
.celeb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(11,10,9,.95))}
.celeb:hover img{transform:scale(1.06);filter:saturate(1) brightness(1)}
.celeb__meta{position:absolute;left:0;right:0;bottom:0;padding:26px;z-index:2}
.celeb__place{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.celeb h3{font:400 26px/1.1 var(--serif);margin:10px 0 8px}
.celeb p{margin:0;font-size:14px;color:var(--mute);max-height:0;opacity:0;overflow:hidden;transition:max-height .7s var(--ease),opacity .5s}
.celeb:hover p,.celeb:focus-visible p{max-height:120px;opacity:1}
.celebs__progress{margin:18px var(--gutter) 0;height:1px;background:var(--line);position:relative}
.celebs__progress span{position:absolute;left:0;top:0;height:1px;width:20%;background:var(--gold);transition:width .2s}

/* reel previews */
.reel-prev{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s var(--ease),transform 1.4s var(--ease);pointer-events:none}
.reel-prev.on{opacity:1}
.celeb .reel-prev{z-index:0;filter:saturate(.9)}
.celeb:hover .reel-prev{transform:scale(1.04);filter:none}
.insta__grid .reel-prev{filter:grayscale(.2)}
.insta__grid a:hover .reel-prev{transform:scale(1.07);filter:none}
.reel-badge{position:absolute;top:16px;right:16px;z-index:3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(11,10,9,.45);border:1px solid rgba(232,213,169,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .5s var(--ease),background .4s}
.reel-badge svg{width:13px;height:13px;fill:var(--gold-hi);margin-left:2px}
.celeb:hover .reel-badge,.insta__grid a:hover .reel-badge{transform:scale(1.12);background:var(--gold)}
.celeb:hover .reel-badge svg,.insta__grid a:hover .reel-badge svg{fill:var(--onyx)}
.insta__grid .reel-badge{top:10px;right:10px;width:30px;height:30px}
.reelbox{position:fixed;inset:0;z-index:260;display:grid;place-items:center;background:rgba(6,5,4,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;transition:opacity .5s var(--ease)}
.reelbox.open{opacity:1}
.reelbox[hidden]{display:none}
.reelbox__inner{height:min(86svh,860px);aspect-ratio:9/16;max-width:92vw;display:flex;flex-direction:column;transform:translateY(30px) scale(.96);transition:transform .7s var(--ease)}
.reelbox.open .reelbox__inner{transform:none}
.reelbox__video{flex:1;min-height:0;width:100%;object-fit:cover;border-radius:18px;background:#000;border:1px solid var(--line);box-shadow:0 40px 100px -30px #000}
.reelbox__bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 4px 0}
.reelbox__title{font:400 20px/1.2 var(--serif)}
.reelbox__ig{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-hi);border-bottom:1px solid var(--gold);padding-bottom:3px;white-space:nowrap}
.reelbox__close{position:absolute;top:20px;right:20px;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(11,10,9,.6)}
.reelbox__close span{position:absolute;left:14px;right:14px;top:23px;height:1px;background:var(--gold-hi);transform:rotate(45deg)}
.reelbox__close span+span{transform:rotate(-45deg)}

/* world */
.world{padding:clamp(80px,10vw,140px) var(--gutter);position:relative;background:radial-gradient(ellipse 60% 50% at 50% 35%,rgba(201,169,110,.08),transparent 70%)}
.world__map{max-width:1100px;margin:0 auto 56px;position:relative}
#map{width:100%;height:auto;display:block;overflow:visible}
#map .dot{fill:rgba(243,234,216,.16)}
#map .dot.served{fill:var(--gold)}
#map .arc{fill:none;stroke:url(#arcGrad);stroke-width:1.4;stroke-dasharray:6 6}
#map .arc-draw{fill:none;stroke:var(--gold-hi);stroke-width:1.6;stroke-linecap:round}
#map .pin-core{fill:var(--gold-hi)}
#map .pin-pulse{fill:none;stroke:var(--gold);stroke-width:1;transform-box:fill-box;transform-origin:center;animation:pulse 2.6s var(--ease) infinite}
#map .pin-label,#map .pin-sub{paint-order:stroke;stroke:#0b0a09;stroke-width:5px;stroke-linejoin:round}
#map .pin-label{font:500 13px var(--sans);letter-spacing:.18em;text-transform:uppercase;fill:var(--cream)}
#map .pin-sub{font:400 italic 13px var(--serif);fill:var(--gold)}
#map .city{fill:var(--gold);opacity:.8}
#map .pin.hl .pin-core{fill:#fff}
#map .pin.hl .pin-label{fill:var(--gold-hi)}
@keyframes pulse{0%{transform:scale(.4);opacity:1}100%{transform:scale(2.6);opacity:0}}
.countries{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.country{display:flex;flex-direction:column;gap:14px;padding:28px 24px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,rgba(201,169,110,.06),transparent 60%);transition:border-color .4s,transform .6s var(--ease),background .4s;cursor:default}
.country:hover,.country.hl{border-color:var(--gold);transform:translateY(-6px);background:linear-gradient(160deg,rgba(201,169,110,.14),transparent 70%)}
.country__flag{font-size:30px;line-height:1}
.country h3{font:400 24px/1.1 var(--serif);margin:0 0 4px}
.country__role{margin:0 0 10px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.country__cities{margin:0;font-size:13.5px;color:var(--mute);line-height:1.55}
.country[data-key=in]{grid-column:span 1}
.venues{max-width:1300px;margin:56px auto 0;text-align:center}
.venues__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 0}
.venues__list li{font:400 italic clamp(18px,2vw,26px)/1.3 var(--serif);color:var(--cream);padding:0 22px;position:relative}
.venues__list li+li::before{content:"✦";position:absolute;left:-6px;top:50%;transform:translateY(-50%);font:normal 10px var(--sans);color:var(--gold)}

/* process */
.process{padding:clamp(80px,10vw,140px) 0}
.steps{list-style:none;margin:0 auto;padding:0 var(--gutter);max-width:1400px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s}
.step{padding:0 28px 0 0;border-left:1px solid var(--line);padding-left:28px}
.step__no{display:block;font:400 italic 56px/1 var(--serif);color:var(--gold);margin-bottom:26px}
.step h3{font:400 28px/1.1 var(--serif);margin:0 0 12px}
.step p{margin:0;color:var(--mute)}

/* builder */
.builder{padding:clamp(80px,10vw,140px) var(--gutter);background:var(--ink);border-block:1px solid var(--line)}
.builder__wrap{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,96px);align-items:start}
.builder__intro>p:not(.eyebrow){color:var(--mute);font-size:17px;margin:22px 0 40px;max-width:460px}
.builder__result{border:1px solid var(--line);border-radius:20px;padding:30px;background:linear-gradient(160deg,rgba(201,169,110,.1),transparent 70%);position:sticky;top:110px}
.result__row{display:flex;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--mute)}
.result__num{font:400 48px/1 var(--serif);color:var(--gold-hi);min-width:70px;display:inline-block;transition:transform .4s var(--ease)}
.result__num.bump{transform:scale(1.15)}
.result__note{font-size:12px;color:var(--mute);margin:16px 0 0}
.builder__form fieldset{border:0;padding:0;margin:0 0 34px}
.builder__form legend{font:400 22px var(--serif);margin-bottom:16px;display:flex;gap:14px;align-items:baseline;width:100%}
.builder__form legend output{font:400 italic 22px var(--serif);color:var(--gold-hi)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{background:transparent;border:1px solid var(--line);border-radius:999px;padding:11px 18px;font-size:13px;color:var(--mute);transition:all .35s var(--ease)}
.chip:hover{border-color:var(--gold-lo);color:var(--cream)}
.chip.is-on{background:var(--gold);border-color:var(--gold);color:var(--onyx);font-weight:600}
input[type=range]{width:100%;appearance:none;-webkit-appearance:none;height:2px;background:linear-gradient(90deg,var(--gold) var(--p,12%),var(--line) var(--p,12%));border-radius:2px;outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--gold-hi);border:4px solid var(--onyx);box-shadow:0 0 0 1px var(--gold);cursor:pointer}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--gold-hi);border:4px solid var(--onyx);box-shadow:0 0 0 1px var(--gold);cursor:pointer}
.range-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--mute);margin-top:10px;letter-spacing:.1em}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px}
.fields label{display:flex;flex-direction:column;gap:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.fields input{background:transparent;border:0;border-bottom:1px solid var(--line);padding:10px 0;color:var(--cream);font:400 16px var(--sans);outline:none;color-scheme:dark;transition:border-color .3s}
.fields input:focus{border-color:var(--gold)}

/* insta */
.insta{padding:clamp(80px,10vw,140px) var(--gutter)}
.insta__head{max-width:1400px;margin:0 auto 44px;display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.insta__grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.insta__grid a{aspect-ratio:9/14;overflow:hidden;border-radius:12px;position:relative}
.insta__grid img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s;filter:grayscale(.35)}
.insta__grid a:hover img{transform:scale(1.07);filter:none}

/* contact */
.contact{padding:clamp(100px,14vw,200px) var(--gutter) clamp(70px,8vw,110px);text-align:center;position:relative;overflow:hidden;min-height:100svh;display:flex;align-items:flex-end;justify-content:center;background:var(--onyx)}
.contact__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 3s var(--ease)}
.contact.in-view .contact__video{transform:none}
.contact__shade{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,var(--onyx) 0%,rgba(11,10,9,.25) 18%,rgba(11,10,9,.1) 40%,rgba(11,10,9,.78) 68%,rgba(11,10,9,.96) 100%),
  radial-gradient(ellipse 70% 60% at 50% 100%,rgba(201,169,110,.12),transparent 70%)}
.contact__inner{max-width:820px;margin:0 auto;position:relative}
.contact__title{font:400 clamp(38px,6vw,84px)/1.02 var(--serif);margin:0 0 24px;letter-spacing:-.02em;text-shadow:0 4px 30px rgba(0,0,0,.6)}
.contact__inner>p:not(.eyebrow){color:#cfc5b2;font-size:17px;margin:0 auto 40px;max-width:520px}
.contact__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* footer */
.footer{padding:70px var(--gutter) 30px;border-top:1px solid var(--line);color:var(--mute);font-size:14px}
.footer__top{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:50px}
.footer__name{font:400 26px var(--serif);color:var(--cream);display:block;margin-bottom:12px}
.footer p{margin:0}
.footer a:hover{color:var(--gold-hi)}
.footer__bottom{max-width:1400px;margin:0 auto;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;letter-spacing:.04em}

/* whatsapp float */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:90;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold-hi),var(--gold-lo));box-shadow:0 14px 40px -10px rgba(201,169,110,.7);transition:transform .5s var(--ease)}
.wa-float svg{width:26px;height:26px;fill:var(--onyx)}
.wa-float:hover{transform:scale(1.08) rotate(-6deg)}
.wa-float::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--gold);animation:waPulse 2.8s var(--ease) infinite}
@keyframes waPulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.45);opacity:0}}

/* cursor */
.cursor{position:fixed;left:0;top:0;width:10px;height:10px;border-radius:50%;background:var(--gold-hi);pointer-events:none;z-index:250;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .35s var(--ease),height .35s var(--ease),opacity .3s;opacity:0}
.cursor.big{width:54px;height:54px}
@media (hover:none){.cursor{display:none}}

/* micro text removed for a cleaner look (kept: stat labels, form labels, legal line, tap tag) */
.eyebrow,.bar__tag,.celeb__place,.country__role,.pop__hint,.result__note,.range-scale,.loader__tag,.manifesto__by,.venues>.eyebrow{display:none!important}
.manifesto__sign .script{margin-bottom:0}
.celeb h3{margin-top:0}
.loader__center{gap:30px}

/* reveal */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* responsive */
@media (max-width:1100px){
  .nav__links{gap:20px}
  .countries{grid-template-columns:repeat(3,1fr)}
  .bar{grid-template-columns:60px 1fr auto}
  .bar__desc{grid-column:2/4}
  .bars__preview{display:none}
}
@media (max-width:900px){
  .nav__links{position:fixed;inset:0;background:rgba(11,10,9,.97);flex-direction:column;justify-content:center;align-items:center;gap:30px;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;z-index:-1}
  .nav__links a{font:400 32px var(--serif);letter-spacing:0;text-transform:none;color:var(--cream)}
  .nav__links.open{opacity:1;visibility:visible}
  .nav__burger{display:block}
  .nav__cta{display:none}
  .hero{padding-top:110px}
  .hero__video{object-position:70% 50%}
  .hero__shade{background:linear-gradient(180deg,rgba(11,10,9,.5) 0%,rgba(11,10,9,.35) 30%,rgba(11,10,9,.8) 62%,var(--onyx) 100%)}
  .hero{align-items:flex-end}
  .hero__seal{display:none}
  .hero__seal text{font-size:12.5px}
  .sigs__grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;row-gap:50px}
  .builder__wrap{grid-template-columns:1fr}
  .builder__result{position:static}
  .insta__grid{grid-template-columns:repeat(3,1fr)}
  .insta__grid a:nth-child(n+4){display:none}
  .footer__top{grid-template-columns:1fr 1fr}
  .footer__top>div:first-child{grid-column:1/-1}
}
@media (max-width:600px){
  .nav__name{display:none}
  .hero__stats{gap:18px}
  .hero__stats dd{font-size:9.5px;letter-spacing:.14em}
  .bar{grid-template-columns:1fr;gap:10px;padding:28px 0}
  .bar__desc{grid-column:auto}
  .bar__tag{justify-self:start}
  .sigs__grid{grid-template-columns:1fr}
  .sig{padding:34px 26px}
  .countries{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .fields{grid-template-columns:1fr}
  .celeb p{max-height:120px;opacity:1}
  .footer__top{grid-template-columns:1fr}
  #map .pin-label,#map .pin-sub{paint-order:stroke;stroke:#0b0a09;stroke-width:5px;stroke-linejoin:round}
#map .pin-label{font-size:20px}
  #map .pin-sub{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.hero__video{opacity:1;transform:none}
  .hero__title .line>span{transform:none}
}

/* phone polish */
html{-webkit-tap-highlight-color:transparent}
.wa-float{bottom:calc(22px + env(safe-area-inset-bottom));transition:transform .5s var(--ease),opacity .4s}
.wa-float.is-hidden{opacity:0;transform:scale(.6);pointer-events:none}
@media (max-width:600px){
  :root{--gutter:20px}
  section{scroll-margin-top:64px}
  .eyebrow{font-size:10.5px;letter-spacing:.24em}
  .h2{font-size:clamp(34px,10vw,44px)}
  .section-head{margin-bottom:40px}
  .section-head__sub{font-size:15.5px}
  .nav{padding-top:calc(12px + env(safe-area-inset-top))}
  /* hero */
  .hero{padding:100px var(--gutter) 46px}
  .hero .eyebrow{letter-spacing:.16em;font-size:10px}
  .hero__title{font-size:clamp(44px,13vw,58px);margin-bottom:22px}
  .hero__lede{font-size:15.5px;margin-bottom:28px}
  .hero__actions{flex-direction:column;align-items:stretch;gap:10px}
  .hero__actions .btn{width:100%}
  .hero__stats{margin-top:34px;padding-top:22px;gap:0;justify-content:space-between;max-width:none}
  .hero__stats dt{font-size:30px}
  .hero__stats dd{font-size:10.5px;letter-spacing:.08em;line-height:1.35}
  .hero__scroll{display:none}
  /* whatsapp float */
  .wa-float{width:52px;height:52px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}
  .wa-float svg{width:23px;height:23px}
  .wa-float::before{inset:-4px;animation-duration:3.4s}
  /* pop */
  .pop__title{font-size:clamp(30px,9vw,40px)}
  .pop__hint{font-size:10.5px;letter-spacing:.14em}
  .pop__tag{font-size:10.5px}
  .pop__foot{padding-bottom:calc(40px + env(safe-area-inset-bottom))}
  .pop__actions{flex-direction:column;align-items:stretch;width:100%;max-width:300px;margin-inline:auto}
  /* sections breathe less */
  .manifesto{padding:96px var(--gutter)}
  .manifesto__text{font-size:clamp(28px,8.4vw,36px)}
  .bars,.sigs,.celebs,.world,.process,.builder,.insta{padding-top:84px;padding-bottom:84px}
  .bar{padding:26px 0}
  .bar__name{font-size:28px}
  .bar__desc{font-size:15px}
  .bar__tag,.celeb__place,.country__role{font-size:10.5px}
  .sig{padding:28px 22px 30px;display:grid;grid-template-columns:40px 1fr;column-gap:16px}
  .sig__icon{width:34px;height:34px;margin:2px 0 0;grid-row:1/3}
  .sig h3{font-size:22px;margin-bottom:6px}
  .sig p{font-size:14.5px}
  .celeb{width:76vw}
  .celebs__rail{scroll-padding-inline:var(--gutter)}
  .celeb h3{font-size:24px}
  .celeb p{font-size:13.5px}
  /* map */
  .world__map{margin:0 -8px 36px}
  #map .pin-label{font-size:30px;letter-spacing:.12em;stroke-width:8px}
  #map .pin-core{transform:scale(1.4)}
  .country{padding:22px 20px;flex-direction:row;align-items:flex-start;gap:16px}
  .country__flag{font-size:26px}
  .country h3{font-size:22px}
  .venues__list li{font-size:19px;padding:0 14px}
  /* process */
  .steps{row-gap:36px}
  .step__no{font-size:40px;margin-bottom:14px}
  .step h3{font-size:24px}
  /* builder: options first, live recommendation sticks to the bottom while you choose */
  .builder__wrap{display:flex;flex-direction:column;gap:36px}
  .builder__intro{display:contents}
  .builder__intro>.eyebrow,.builder__intro>.h2,.builder__intro>p:not(.eyebrow){order:0;margin-bottom:0}
  .builder__intro>p:not(.eyebrow){margin-top:-20px}
  .builder__form{order:1}
  .builder__result{order:2;position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));z-index:20;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:14px 12px;border-radius:16px;
    background:rgba(18,16,14,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 20px 50px -20px #000;margin-top:-20px}
  .builder__result>.eyebrow,.result__note{display:none}
  .result__row{flex-direction:column;align-items:center;gap:4px;padding:0;border:0;text-align:center;font-size:11px;line-height:1.25}
  .result__row+.result__row{border-left:1px solid var(--line)}
  .result__num{font-size:30px;min-width:0}
  .builder__form legend{font-size:20px}
  .chip{padding:11px 16px;font-size:13.5px}
  /* insta */
  .insta__head{margin-bottom:28px}
  .insta__head .btn{width:100%}
  /* contact */
  .contact{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
  .contact__title{font-size:clamp(34px,10vw,44px)}
  .contact__inner>p:not(.eyebrow){font-size:15.5px}
  .contact__actions{flex-direction:column;align-items:stretch;max-width:320px;margin:0 auto}
  /* footer */
  .footer{padding-bottom:calc(30px + env(safe-area-inset-bottom))}
  .footer__bottom{flex-direction:column;gap:8px}
  /* reel player */
  .reelbox__inner{height:min(78svh,760px)}
  .reelbox__close{top:calc(14px + env(safe-area-inset-top));right:14px}
}
@media (max-width:360px){
  .hero__title{font-size:40px}
  .hero__stats dt{font-size:26px}
  .result__num{font-size:26px}
}

/* minimal first screen: just the headline + one call to action */
.hero__lede,.hero__stats,.hero__actions .btn--ghost{display:none}
.hero__title{margin-bottom:34px}
@media (max-width:600px){
  .hero{align-items:flex-end;padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .hero__shade{background:linear-gradient(180deg,rgba(11,10,9,.45) 0%,transparent 22%,transparent 45%,rgba(11,10,9,.82) 78%,var(--onyx) 100%)}
  .hero__title{font-size:clamp(42px,12vw,52px);margin-bottom:26px}
}
