
:root{
  --ink:#090910; --panel:#12121c; --pink:#ff2f91; --pink2:#ff64b6;
  --aqua:#20dce8; --blue:#218dff; --gold:#ffd32c; --white:#fff;
  --cream:#fffaf2; --lav:#f5f0ff; --mint:#edffff;
  --shadow:0 22px 70px rgba(0,0,0,.18);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif}
a{color:inherit}.announce{padding:9px 4%;text-align:center;background:linear-gradient(90deg,var(--pink),#ff5daf);color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em}
.nav{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 4%;background:rgba(9,9,16,.96);backdrop-filter:blur(14px);color:#fff;border-bottom:1px solid #ffffff16}
.nav img{width:150px;background:#fff;border-radius:16px;padding:4px}.navlinks{display:flex;align-items:center;gap:18px}.nav a{text-decoration:none;font-weight:850;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:14px 22px;background:var(--pink);color:#fff;text-decoration:none;font-weight:950;cursor:pointer;box-shadow:0 12px 30px #ff2f9130}.btn.aqua{background:var(--aqua);color:#051313}.btn.gold{background:var(--gold);color:#151000}.btn.ghost{background:transparent;border:1px solid #ffffff4a}.btn.dark{background:var(--ink)}.btn.wide{width:100%}
.hero{min-height:82vh;background:
radial-gradient(circle at 14% 24%,#20dce832,transparent 27%),
radial-gradient(circle at 82% 20%,#ff2f9140,transparent 30%),
radial-gradient(circle at 70% 84%,#ffd32c18,transparent 26%),var(--ink);color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;overflow:hidden}
.hero-logo{padding:7vw 4vw 7vw 6vw}.hero-logo img{width:min(580px,95%);background:#fff;border-radius:36px;padding:18px;filter:drop-shadow(0 28px 60px #0009)}.hero-copy{padding:6vw 7% 6vw 2%}.eyebrow{font-size:12px;font-weight:950;letter-spacing:.18em;text-transform:uppercase;color:var(--aqua)}h1,h2,h3{font-family:Georgia,serif}.hero h1{font-size:clamp(48px,7vw,94px);line-height:.91;margin:.18em 0}.hero h1 span{color:var(--pink)}.hero p{font-size:20px;line-height:1.65;max-width:720px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.hero-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.hero-badges span{border:1px solid #ffffff30;background:#ffffff0f;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800}
.section{padding:80px 5%}.section.dark{background:var(--ink);color:#fff}.section-head{max-width:930px;margin:0 auto 42px;text-align:center}.section-head h2{font-size:clamp(38px,5vw,68px);line-height:1;margin:.16em 0}.section-head p{font-size:18px;line-height:1.7;color:#5b555b}.dark .section-head p{color:#d7d0d7}
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1450px;margin:auto}.experience-card{position:relative;min-height:380px;border-radius:28px;padding:26px;overflow:hidden;border:1px solid #eee;background:#fff;box-shadow:0 15px 48px #0000000c;display:flex;flex-direction:column;justify-content:flex-end}.experience-card:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-70px;top:-70px;background:var(--pink);opacity:.10}.experience-card.aqua:before{background:var(--aqua)}.experience-card.gold:before{background:var(--gold)}.experience-card.darkcard{background:linear-gradient(135deg,#0e0e17,#1e1020);color:#fff;border-color:#ffffff16}.experience-card h3{font-size:34px;margin:.2em 0}.experience-card p{line-height:1.65}.price{font-size:20px;font-weight:950;color:#d81b73;margin:8px 0}.darkcard .price{color:var(--gold)}.icon{font-size:54px;position:absolute;top:25px;left:26px}.link{font-weight:950;color:#cc176d;text-decoration:none;margin-top:10px}.darkcard .link{color:var(--aqua)}
.seo-band{background:linear-gradient(135deg,#fff0f7,#efffff);padding:64px 5%}.seo-band .wrap{max-width:1280px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center}.seo-band h2{font-size:clamp(38px,5vw,64px);margin:.1em 0}.keyword-cloud{display:flex;flex-wrap:wrap;gap:10px}.keyword-cloud span{background:#fff;border:1px solid #eee;border-radius:999px;padding:10px 13px;font-weight:850;font-size:13px}
.neon-feature{position:relative;background:#0b0910;color:#fff;padding:82px 5%;overflow:hidden}.neon-feature:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 22% 40%,#20dce824,transparent 25%),radial-gradient(circle at 78% 45%,#ff2f9136,transparent 28%);pointer-events:none}.neon-grid{position:relative;max-width:1300px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.neon-sign{border:2px solid var(--pink);border-radius:26px;padding:34px;box-shadow:0 0 25px #ff2f9150,inset 0 0 25px #ff2f9120;transform:rotate(-1deg)}.neon-sign h2{font-size:clamp(42px,6vw,72px);line-height:.95;margin:.15em 0;color:var(--pink);text-shadow:0 0 18px #ff2f9188}.neon-sign p{font-size:18px;line-height:1.7}.neon-copy h3{font-size:38px;margin:.1em 0}.neon-copy ul{line-height:1.9;padding-left:20px}
.feature-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:1250px;margin:auto}.feature-box{background:#fff;border:1px solid #eee;border-radius:26px;padding:28px}.feature-box h3{font-size:30px;margin:.1em 0}.feature-box p{line-height:1.7}.feature-box strong{color:#c91e6d}
.cart-slice{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center;max-width:1300px;margin:auto}.cart-slice img{width:100%;border-radius:28px;box-shadow:var(--shadow)}.cart-slice h2{font-size:clamp(40px,5vw,66px);margin:.1em 0}.cart-slice p{line-height:1.7;font-size:17px}
.cta-band{background:linear-gradient(90deg,var(--pink),#ff5eb1);color:#fff;text-align:center;padding:60px 5%}.cta-band h2{font-size:clamp(38px,5vw,58px);margin:.1em 0}.cta-band p{font-size:18px}
.footer{background:#090910;color:#fff;text-align:center;padding:54px 5%}.footer img{width:210px;background:#fff;border-radius:16px;padding:7px}.footer a{color:var(--aqua)}
.page-hero{padding:84px 5%;background:var(--ink);color:#fff;text-align:center;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,#20dce825,transparent 25%),radial-gradient(circle at 80% 40%,#ff2f9138,transparent 27%)}.page-hero>*{position:relative;z-index:1}.page-hero h1{font-size:clamp(46px,7vw,82px);line-height:.95;margin:.15em auto;max-width:1000px}.page-hero p{max-width:820px;margin:15px auto;font-size:19px;line-height:1.7}
.content{max-width:1100px;margin:auto;padding:72px 5%}.content h2{font-size:42px}.content h3{font-size:28px}.content p,.content li{line-height:1.8;font-size:17px}.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.content-card{border:1px solid #eee;background:#fff;border-radius:24px;padding:26px}.callout{border-left:5px solid var(--pink);background:#fff0f6;padding:22px;border-radius:0 18px 18px 0;margin:28px 0}
.price-table{width:100%;border-collapse:separate;border-spacing:0 10px}.price-table td{background:#fff;padding:16px;border-top:1px solid #eee;border-bottom:1px solid #eee}.price-table td:first-child{border-left:1px solid #eee;border-radius:14px 0 0 14px;font-weight:900}.price-table td:last-child{border-right:1px solid #eee;border-radius:0 14px 14px 0;text-align:right;color:#c91e6d;font-weight:950}
.wizard{max-width:900px;margin:0 auto;padding:54px 5%}.progress{height:8px;background:#eee;border-radius:999px;overflow:hidden;margin-bottom:28px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--aqua));width:20%;transition:.25s}.step{display:none}.step.active{display:block}.step h2{font-size:38px;margin:.1em 0 24px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.choice{border:2px solid #eee;background:#fff;border-radius:18px;padding:18px;text-align:left;font-weight:850;cursor:pointer}.choice.selected{border-color:var(--pink);background:#fff0f7}.field{margin:16px 0}.field label{display:block;font-weight:900;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:15px;border:1px solid #d8d5d8;border-radius:14px;font:inherit;background:#fff}.field textarea{min-height:110px}.wizard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.summary{background:#111;color:#fff;border-radius:22px;padding:22px;white-space:pre-wrap;line-height:1.7}
@media(max-width:950px){.navlinks{display:none}.hero,.neon-grid,.seo-band .wrap,.cart-slice{grid-template-columns:1fr}.hero-logo{padding:45px 6% 10px}.hero-copy{padding:30px 7% 60px}.experience-grid{grid-template-columns:1fr 1fr}.feature-columns,.content-grid{grid-template-columns:1fr}.hero h1{font-size:52px}}
@media(max-width:620px){.experience-grid,.choice-grid{grid-template-columns:1fr}.nav img{width:120px}.section{padding:60px 5%}.page-hero{padding:65px 5%}}
/* v4 immersive shell */
.nav{background:rgba(8,8,15,.78);padding:8px 4%;border-bottom:1px solid #ffffff22}.nav img{width:118px;background:transparent;border-radius:0;padding:0;filter:drop-shadow(0 4px 12px #0008)}
.hero-video{position:relative;display:block;min-height:88vh;background:#090910}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,10,.88) 0%,rgba(4,4,10,.66) 48%,rgba(4,4,10,.30) 100%),linear-gradient(0deg,rgba(4,4,10,.45),transparent 45%)}.hero-overlay{position:relative;z-index:2;max-width:790px;padding:7vh 6% 9vh;color:#fff}.hero-mark{width:min(300px,58vw);max-height:220px;object-fit:contain;object-position:left center;margin-bottom:18px;filter:drop-shadow(0 14px 30px #0009)}.hero-video h1{font-size:clamp(52px,7.5vw,104px);line-height:.88;margin:.12em 0}.hero-video h1 span{color:var(--pink)}.hero-video p{font-size:clamp(17px,2vw,22px);line-height:1.55;max-width:680px}.hero-video .hero-badges span{background:#08081070;backdrop-filter:blur(8px)}
.vegas-media{position:relative;max-width:1380px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}.vegas-copy h2{font-size:clamp(58px,8vw,112px);line-height:.85;margin:.12em 0;color:var(--pink);text-shadow:0 0 22px #ff2f9170}.vegas-copy p{font-size:19px;line-height:1.7;max-width:620px}.kit-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;transform:rotate(1deg)}.kit-gallery img{width:100%;height:520px;object-fit:cover;border-radius:28px;border:1px solid #ffffff22;box-shadow:0 24px 60px #0009}.kit-gallery img:first-child{transform:translateY(28px) rotate(-2deg)}
.footer-lite{display:flex;align-items:center;justify-content:space-between;gap:28px;text-align:left;padding:26px 5%;background:#0b0b12;border-top:1px solid #ffffff18}.footer-lite>div:first-child{display:flex;align-items:center;gap:16px}.footer-lite img{width:92px;background:transparent;border-radius:0;padding:0}.footer-lite p{margin:0;color:#c9c4cc;font-size:13px}.footer-actions{display:flex;gap:18px;flex-wrap:wrap}.footer-actions a{text-decoration:none;font-weight:900;font-size:13px;color:#fff}.footer-actions a:first-child{color:var(--pink2)}
@media(max-width:950px){.vegas-media{grid-template-columns:1fr}.kit-gallery img{height:420px}.footer-lite{align-items:flex-start;flex-direction:column}.hero-overlay{padding-top:5vh}}
@media(max-width:620px){.hero-video{min-height:82vh}.hero-shade{background:linear-gradient(0deg,rgba(4,4,10,.90) 0%,rgba(4,4,10,.58) 75%,rgba(4,4,10,.35) 100%)}.hero-overlay{padding:5vh 6% 7vh;display:flex;min-height:82vh;flex-direction:column;justify-content:flex-end}.hero-mark{width:190px;margin-bottom:8px}.hero-video h1{font-size:52px}.kit-gallery{grid-template-columns:1fr 1fr;gap:8px}.kit-gallery img{height:290px;border-radius:18px}.footer-lite>div:first-child{align-items:flex-start}.footer-lite img{width:72px}}
@media(prefers-reduced-motion:reduce){.hero-bg{display:none}.hero-video{background:linear-gradient(#0008,#000b),url('cart-detail-new.jpg') center/cover no-repeat}}
.motion-logo{animation:fnfFloat 4s ease-in-out infinite,fnfGlow 2.5s ease-in-out infinite alternate}@keyframes fnfFloat{50%{transform:translateY(-12px) rotate(1deg)}}@keyframes fnfGlow{to{filter:drop-shadow(0 0 28px #20dce8)}}.full-sales{padding:72px 5%;max-width:1350px;margin:auto}.full-sales h2{text-align:center;font-size:clamp(38px,5vw,62px)}.pkg{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pkg article{background:#fff;border:1px solid #eee;border-radius:26px;padding:26px}.pkg article:last-child{background:#101018;color:#fff}.pkg h3{font-size:30px}.pkg strong{font-size:22px;color:#d51b72}.pkg article:last-child strong{color:#ffd32c}.projects{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.projects div{background:#fff;border:1px solid #eee;border-radius:20px;padding:22px}.projects b{display:block;font-size:22px;margin:8px 0}@media(max-width:850px){.pkg{grid-template-columns:1fr}.projects{grid-template-columns:1fr 1fr}}@media(max-width:520px){.projects{grid-template-columns:1fr}}

/* FINAL SALES POLISH */
.motion-logo{animation:fnfFloat 4s ease-in-out infinite,fnfGlow 2.5s ease-in-out infinite alternate}@keyframes fnfFloat{50%{transform:translateY(-12px) rotate(1deg)}}@keyframes fnfGlow{to{filter:drop-shadow(0 0 28px #20dce8)}}
.final-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.final-card{background:#fff;border:1px solid #eee;border-radius:24px;padding:25px;box-shadow:0 12px 35px #0000000c}.final-card h3{font-size:27px;margin:.2em 0}.final-card .price{font-size:22px;font-weight:950;color:#d51b72}.dietary-final{background:linear-gradient(120deg,#0b0a10,#271035);color:#fff;border-radius:30px;padding:38px;margin:38px auto}.dietary-final h2{color:#fff}.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.chips span{background:#fff;color:#111;border-radius:999px;padding:10px 15px;font-weight:900}.bgb-final{background:linear-gradient(135deg,#fff0f7,#fff);border:2px solid #ff2f9140;border-radius:28px;padding:34px;text-align:center;margin:38px auto}@media(max-width:850px){.final-grid{grid-template-columns:1fr}}

.launch-badge{display:inline-block;background:#ffd32c;color:#111;padding:9px 15px;border-radius:999px;font-weight:950;letter-spacing:.08em}.cart-photo-strip{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:14px;margin-top:28px}.cart-photo-strip img{width:100%;height:270px;object-fit:cover;border-radius:24px}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.step{background:#fff;border:1px solid #eee;border-radius:22px;padding:22px;text-align:center}.num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#ff2f91;color:#fff;font-weight:950}.cart-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cart-choice article{background:#fff;border-radius:24px;padding:24px;border:1px solid #eee;text-align:center}.reserve-box{background:linear-gradient(135deg,#101018,#2b1035);color:#fff;border-radius:30px;padding:38px;text-align:center;margin:35px auto}.reserve-box .deposit{font-size:34px;color:#ffd32c;font-weight:950}@media(max-width:900px){.steps,.cart-choice{grid-template-columns:1fr}.cart-photo-strip{grid-template-columns:1fr}.cart-photo-strip img{height:300px}}

/* v13 mobile home tile fix */
.experience-card{box-sizing:border-box}
.experience-card h3,.experience-card p,.experience-card .price,.experience-card .link{position:relative;z-index:2}
@media(max-width:760px){
  .experience-grid{grid-template-columns:1fr!important;gap:14px!important;padding:0!important}
  .experience-card{
    min-height:0!important;
    height:auto!important;
    padding:22px 20px!important;
    overflow:visible!important;
    justify-content:flex-start!important;
  }
  .experience-card:before{width:120px!important;height:120px!important;right:-30px!important;top:-30px!important}
  .experience-card .icon{
    position:static!important;
    display:block!important;
    font-size:36px!important;
    line-height:1!important;
    margin-bottom:10px!important;
  }
  .experience-card h3{
    font-size:30px!important;
    line-height:1.05!important;
    margin:0 0 10px!important;
    overflow-wrap:anywhere;
  }
  .experience-card p{font-size:16px!important;line-height:1.45!important;margin:0 0 10px!important}
  .experience-card .price{font-size:19px!important;line-height:1.25!important;margin:8px 0!important}
  .experience-card .link{display:inline-block!important;margin-top:8px!important}
  .section-head h2{font-size:38px!important;line-height:1.02!important}
  .section-head p{font-size:17px!important;line-height:1.45!important}
}

/* v14 $50 home coupon */
.home-coupon{padding:24px 18px;background:#fff8f1}
.coupon-inner{
 max-width:1050px;margin:auto;text-align:center;padding:26px 22px;
 border:3px dashed #ff2f92;border-radius:24px;
 background:linear-gradient(135deg,#fff 0%,#fff0f7 100%);
 box-shadow:0 12px 30px rgba(20,10,20,.08)
}
.coupon-kicker{display:block;font-weight:900;letter-spacing:.12em;font-size:13px;color:#6d28d9}
.coupon-save{font-family:Georgia,serif;font-weight:900;font-size:clamp(46px,10vw,82px);line-height:.95;color:#ff2f92;margin:8px 0}
.coupon-inner h2{font-size:clamp(25px,5vw,40px);line-height:1.05;margin:5px 0 10px;color:#0d0a12}
.coupon-inner p{font-size:17px;line-height:1.4;margin:0 auto 16px;max-width:620px}
.coupon-btn{display:inline-block;background:#0d0a12;color:#fff!important;text-decoration:none;font-weight:900;padding:14px 22px;border-radius:999px}
.coupon-inner small{display:block;margin-top:12px;font-size:11px;line-height:1.35;opacity:.7}
@media(max-width:760px){.home-coupon{padding:16px 14px}.coupon-inner{padding:22px 16px}}

/* v15: hard mobile overflow fix for home page / Cake Cart feature */
html,body{max-width:100%;overflow-x:hidden}
*,*:before,*:after{box-sizing:border-box}
img,video{max-width:100%;height:auto}

@media(max-width:760px){
  main,section,.container,.wrap,.inner{max-width:100%!important;min-width:0!important}
  .split,.feature,.feature-row,.cart-feature,.cake-cart-feature,
  .home-feature,.two-col,.media-copy,.story-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    gap:18px!important;
  }
  .split>*,.feature>*,.feature-row>*,.cart-feature>*,
  .cake-cart-feature>*,.home-feature>*,.two-col>*,
  .media-copy>*,.story-grid>*{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin-left:0!important;margin-right:0!important;
  }
  .split img,.feature img,.feature-row img,.cart-feature img,
  .cake-cart-feature img,.home-feature img,.two-col img,
  .media-copy img,.story-grid img{
    width:100%!important;max-width:100%!important;height:auto!important;
    max-height:420px!important;object-fit:cover!important;border-radius:24px!important;
  }
  h1,h2,h3,p,a,span{overflow-wrap:break-word}
}

/* target the home Cake Cart block even if it uses inline grid styles */
@media(max-width:760px){
  section:has(a[href*="cake-cart"]) > div,
  section:has(a[href*="cake-cart"]) .container{
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
  }
  section:has(a[href*="cake-cart"]) img{
    width:100%!important;max-width:100%!important;height:340px!important;object-fit:cover!important;
  }
}

/* v16: icons must never overlap tile headings */
.experience-card .icon,
.service-card .icon,
.offer-card .icon,
.tile .icon,
.card .icon{
  position:static!important;
  float:none!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 14px 0!important;
  transform:none!important;
  line-height:1!important;
}
.experience-card h3,
.service-card h3,
.offer-card h3,
.tile h3,
.card h3{
  clear:both!important;
  position:relative!important;
  z-index:2!important;
  margin-top:0!important;
}
@media(max-width:760px){
  .experience-card,.service-card,.offer-card,.tile,.card{
    overflow:hidden!important;
  }
  .experience-card .icon,
  .service-card .icon,
  .offer-card .icon,
  .tile .icon,
  .card .icon{
    font-size:34px!important;
    margin-bottom:12px!important;
  }
}
