  /* ============================= TOKENS ============================= */
  :root{
    /* --- brand palette, sampled from BR Berry sales kit & tear-off menu --- */
    --plum-950:#1a0c18;
    --plum-900:#2c1728;
    --plum-800:#3f1a3a;
    --plum-700:#5f1f58;
    --plum-600:#7c2470;
    --magenta:#c93f92;
    --magenta-dark:#a52f78;
    --pink-300:#ea72c0;
    --pink-100:#fbeaf3;
    --pink-50:#fef7fb;
    --cream:#fffbfd;
    --ink:#33132f;
    --ink-soft:#5c3a56;
    --leaf:#6f9a3a;

    --font-display: 'Fraunces', serif;
    --font-body: 'Poppins', sans-serif;

    --container: 1180px;
    --radius-lg: 28px;
    --radius-md: 18px;
    --radius-sm: 10px;

    --ease: cubic-bezier(.16,.8,.28,1);
  }

  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    margin:0;
    font-family:var(--font-body);
    color:var(--ink);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }
  ul{ margin:0; padding:0; list-style:none; }
  section{ scroll-margin-top:84px; }

  .container{
    width:100%;
    max-width:var(--container);
    margin:0 auto;
    padding:0 28px;
  }

  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:var(--font-body);
    font-size:13px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--magenta);
  }
  .eyebrow::before{
    content:"";
    width:7px; height:7px;
    border-radius:50%;
    background:var(--magenta);
    display:inline-block;
  }
  section.dark .eyebrow, .dark .eyebrow{ color:var(--pink-300); }
  section.dark .eyebrow::before, .dark .eyebrow::before{ background:var(--pink-300); }

  h1,h2,h3{
    font-family:var(--font-display);
    font-weight:700;
    line-height:1.05;
    margin:0;
    letter-spacing:-.01em;
  }
  h2{ font-size:clamp(30px,4vw,46px); font-weight:600; }
  h3{ font-size:20px; font-weight:600; }
  p{ margin:0; line-height:1.65; }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:15px 28px;
    border-radius:999px;
    font-family:var(--font-body);
    font-weight:600;
    font-size:15px;
    cursor:pointer;
    border:none;
    transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
    white-space:nowrap;
  }
  .btn-primary{
    background:var(--magenta);
    color:var(--cream);
    box-shadow:0 10px 24px -8px rgba(201,63,146,.55);
  }
  .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -8px rgba(201,63,146,.65); background:var(--magenta-dark); }
  .btn-ghost{
    background:transparent;
    color:var(--cream);
    border:1.5px solid rgba(255,255,255,.55);
  }
  .btn-ghost:hover{ background:rgba(255,255,255,.12); transform:translateY(-2px); }
  .btn-ghost.on-light{ color:var(--ink); border-color:rgba(51,19,47,.3); }
  .btn-ghost.on-light:hover{ background:rgba(51,19,47,.06); }

  /* ============================= NAV ============================= */
  header.site-nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:20px 0;
    transition:background .35s var(--ease), padding .35s var(--ease), box-shadow .35s var(--ease);
  }
  header.site-nav .container{ display:flex; align-items:center; justify-content:space-between; }
  header.site-nav.scrolled{
    background:rgba(26,12,24,.86);
    backdrop-filter:blur(10px);
    padding:13px 0;
    box-shadow:0 8px 30px -12px rgba(0,0,0,.4);
  }
  .logo{ display:flex; align-items:center; gap:10px; }
  .logo-badge{
    width:38px; height:38px; border-radius:50%;
    background:var(--pink-300);
    color:var(--plum-900);
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-display); font-weight:900; font-size:15px;
    flex-shrink:0;
  }
  .logo-word{
    font-family:var(--font-display);
    font-weight:700;
    font-size:22px;
    color:var(--cream);
    letter-spacing:-.02em;
  }
  nav.links{ display:flex; align-items:center; gap:34px; }
  nav.links a{
    font-size:14.5px; font-weight:500; color:rgba(255,255,255,.82);
    position:relative; padding:4px 0;
    transition:color .2s;
  }
  nav.links a:hover{ color:#fff; }
  nav.links a::after{
    content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px;
    background:var(--pink-300); transition:width .25s var(--ease);
  }
  nav.links a:hover::after{ width:100%; }
  .nav-actions{ display:flex; align-items:center; gap:18px; }
  .nav-cta{ padding:11px 22px; font-size:14px; }
  .burger{ display:none; background:none; border:none; cursor:pointer; padding:6px; z-index:110; }
  .burger span{ display:block; width:24px; height:2px; background:#fff; margin:5px 0; transition:transform .3s, opacity .3s; }
  .burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .burger.open span:nth-child(2){ opacity:0; }
  .burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  /* ============================= HERO ============================= */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex; align-items:center;
    background:
      radial-gradient(circle at 82% 18%, rgba(234,114,192,.28), transparent 45%),
      linear-gradient(165deg, var(--plum-700) 0%, var(--plum-900) 55%, var(--plum-950) 100%);
    overflow:hidden;
    padding:150px 0 90px;
  }
  .hero .container{ position:relative; }
  .hero-pack{
    position:absolute;
    top:50%; right:0;
    width:min(36vw, 460px);
    aspect-ratio:1/0.98;
    transform:translateY(-50%);
    z-index:1;
  }
  .hero-pack-glow{
    position:absolute;
    inset:10%;
    background:radial-gradient(circle, rgba(234,114,192,.5), rgba(234,114,192,0) 68%);
    filter:blur(34px);
    z-index:0;
  }
  .hero-pack img{
    position:absolute;
    filter:drop-shadow(0 26px 34px rgba(10,4,9,.55));
  }
  .hero-pack .pack-cone{
    width:45%; top:0%; right:2%;
    transform:rotate(11deg);
    z-index:2;
    animation:packfloat3 6.5s ease-in-out infinite;
  }
  .hero-pack .pack-cup{
    width:41%; left:0%; bottom:0%;
    transform:rotate(-8deg);
    z-index:3;
    animation:packfloat2 7s ease-in-out infinite;
  }
  .hero-pack .pack-bowl{
    width:31%; top:4%; left:33%;
    transform:rotate(-3deg);
    z-index:1;
    animation:packfloat1 6s ease-in-out infinite;
  }
  @keyframes packfloat1{ 0%,100%{ transform:rotate(-3deg) translateY(0);} 50%{ transform:rotate(-3deg) translateY(-8px);} }
  @keyframes packfloat2{ 0%,100%{ transform:rotate(-8deg) translateY(0);} 50%{ transform:rotate(-8deg) translateY(-14px);} }
  @keyframes packfloat3{ 0%,100%{ transform:rotate(11deg) translateY(0);} 50%{ transform:rotate(11deg) translateY(-10px);} }
  @media (prefers-reduced-motion: reduce){
    .hero-pack .pack-bowl, .hero-pack .pack-cup, .hero-pack .pack-cone{ animation:none; }
  }
  .hero-inner{ position:relative; z-index:2; max-width:640px; }
  .hero .eyebrow{ margin-bottom:22px; }
  .hero h1{
    font-size:clamp(40px,6.2vw,74px);
    color:var(--cream);
  }
  .hero h1 em{
    font-style:italic; color:var(--pink-300);
  }
  .hero p.lede{
    margin-top:22px;
    font-size:18px;
    color:rgba(255,251,253,.82);
    max-width:480px;
  }
  .hero-ctas{ display:flex; gap:16px; margin-top:38px; flex-wrap:wrap; }
  .hero-trust{
    display:flex; flex-wrap:wrap; gap:10px;
    margin-top:52px;
  }
  .trust-pill{
    display:flex; align-items:center; gap:7px;
    padding:8px 15px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    font-size:12.5px; font-weight:500;
    color:rgba(255,255,255,.85);
  }
  .trust-pill svg{ width:13px; height:13px; flex-shrink:0; }

  .scroll-cue{
    position:absolute; bottom:34px; left:50%; transform:translateX(-50%);
    display:flex; flex-direction:column; align-items:center; gap:8px;
    color:rgba(255,255,255,.55); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
    z-index:2;
  }
  .scroll-cue .line{ width:1px; height:34px; background:linear-gradient(to bottom, rgba(255,255,255,.6), transparent); animation:scrolldrop 2s ease-in-out infinite; }
  @keyframes scrolldrop{ 0%{ transform:scaleY(0); transform-origin:top;} 50%{ transform:scaleY(1); transform-origin:top;} 50.01%{ transform-origin:bottom; } 100%{ transform:scaleY(0); transform-origin:bottom; } }

  /* ============================= STANDARD (checklist) ============================= */
  .standard{ background:var(--pink-50); padding:120px 0 100px; }
  .standard-head{ max-width:640px; margin:0 auto 60px; text-align:center; }
  .standard-head .eyebrow{ justify-content:center; margin-bottom:16px; }
  .standard-head h2{ color:var(--ink); margin-bottom:16px; }
  .standard-head p{ color:var(--ink-soft); font-size:16.5px; }

  .checklist-grid{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:1px;
    background:rgba(51,19,47,.1);
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:1px solid rgba(51,19,47,.1);
  }
  .check-item{
    background:var(--cream);
    padding:30px 22px;
    display:flex; flex-direction:column; gap:14px;
    transition:background .25s;
  }
  .check-item:hover{ background:#fff; }
  .check-icon{
    width:38px; height:38px; border-radius:50%;
    background:var(--pink-100);
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
  }
  .check-icon svg{ width:18px; height:18px; stroke:var(--magenta); }
  .check-item span{ font-size:14.5px; font-weight:500; color:var(--ink); line-height:1.4; }

  /* ============================= STORY ============================= */
  .story{
    background:var(--plum-950);
    color:var(--cream);
    padding:130px 0;
    position:relative;
    overflow:hidden;
  }
  .story .container{
    display:grid;
    grid-template-columns:.85fr 1fr;
    gap:70px;
    align-items:center;
  }
  .story-media{ position:relative; }
  .story-slider{
    position:relative;
    border-radius:var(--radius-lg);
    overflow:hidden;
    aspect-ratio:4/5;
    box-shadow:0 40px 90px -30px rgba(0,0,0,.7);
  }
  .slider-slides{ position:relative; width:100%; height:100%; }
  .slider-slides .slide{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity .7s var(--ease);
  }
  .slider-slides .slide.active{ opacity:1; }
  .story-slider::after{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(200deg, rgba(26,12,24,0) 60%, rgba(26,12,24,.45) 100%);
    pointer-events:none;
  }
  .slider-dots{
    position:absolute; bottom:20px; left:50%; transform:translateX(-50%);
    display:flex; gap:9px; z-index:2;
  }
  .slider-dots .dot{
    width:8px; height:8px; border-radius:50%;
    background:rgba(255,255,255,.4);
    border:none; padding:0; cursor:pointer;
    transition:background .25s, transform .25s;
  }
  .slider-dots .dot.active{ background:var(--pink-300); transform:scale(1.35); }
  .story h2{ color:var(--cream); margin-bottom:22px; }
  .story .eyebrow{ margin-bottom:16px; }
  .story p{ color:rgba(255,251,253,.78); font-size:16px; }
  .story p + p{ margin-top:16px; }
  .story-sign{
    margin-top:28px;
    font-family:var(--font-display);
    font-style:italic;
    font-size:22px;
    color:var(--pink-300);
  }

  /* ============================= PRODUCTS / TICKET CARDS ============================= */
  .products{ background:var(--pink-50); padding:130px 0; }
  .section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:60px; flex-wrap:wrap; }
  .section-head h2{ color:var(--ink); margin-top:16px; max-width:520px; }
  .section-head p{ color:var(--ink-soft); max-width:360px; font-size:15.5px; }

  .ticket-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
  }
  .ticket-card{ position:relative; transition:transform .3s var(--ease); }
  .ticket-card:hover{ transform:translateY(-6px); }
  .ticket-card:hover .ticket{ box-shadow:0 26px 55px -20px rgba(51,19,47,.4); }
  .ticket{
    background:var(--cream);
    border-radius:var(--radius-md);
    overflow:hidden;
    box-shadow:0 18px 45px -22px rgba(51,19,47,.35);
    display:flex; flex-direction:column;
    transition:box-shadow .3s var(--ease);
  }
  .ticket-head{
    background:linear-gradient(135deg, var(--plum-700), var(--plum-900));
    color:var(--cream);
    padding:26px 26px 22px;
  }
  .ticket-icon{
    width:44px; height:44px; border-radius:50%;
    background:rgba(255,255,255,.1);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:16px;
  }
  .ticket-icon svg{ width:21px; height:21px; stroke:var(--pink-300); }
  .ticket-head .tag{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--pink-300); }
  .ticket-head h3{ color:var(--cream); margin-top:8px; font-size:22px; }
  .ticket-perf{
    position:relative;
    height:0;
    border-top:2px dashed rgba(51,19,47,.22);
    margin:0 22px;
  }
  .ticket-perf::before, .ticket-perf::after{
    content:"";
    position:absolute; top:-9px; width:18px; height:18px; border-radius:50%;
    background:var(--pink-50);
  }
  .ticket-perf::before{ left:-31px; }
  .ticket-perf::after{ right:-31px; }
  .ticket-body{ padding:24px 26px 28px; display:flex; flex-direction:column; gap:18px; flex:1; }
  .ticket-body p{ font-size:14.5px; color:var(--ink-soft); }
  .size-row{ display:flex; gap:10px; flex-wrap:wrap; }
  .size-chip{
    padding:7px 14px;
    border:1.5px solid rgba(51,19,47,.18);
    border-radius:999px;
    font-size:13px; font-weight:600;
    color:var(--ink);
  }

  /* ============================= BOWL BUILDER SHOWCASE ============================= */
  .bowl{ background:var(--plum-900); padding:130px 0; position:relative; overflow:hidden; }
  .bowl::before{
    content:"";
    position:absolute; left:-10%; top:-20%; width:60%; aspect-ratio:1/1;
    background:radial-gradient(circle, rgba(234,114,192,.18), transparent 60%);
  }
  .bowl .container{ position:relative; display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
  .bowl-copy .eyebrow{ margin-bottom:16px; }
  .bowl-copy h2{ color:var(--cream); margin-bottom:20px; }
  .bowl-copy p{ color:rgba(255,251,253,.78); font-size:16px; }
  .bowl-copy ul{ margin-top:26px; display:flex; flex-direction:column; gap:12px; }
  .bowl-copy ul li{ display:flex; gap:12px; align-items:flex-start; color:rgba(255,251,253,.85); font-size:14.5px; }
  .bowl-copy ul li svg{ width:16px; height:16px; margin-top:3px; flex-shrink:0; stroke:var(--pink-300); }

  .menu-card{
    background:var(--cream);
    border-radius:var(--radius-md);
    box-shadow:0 40px 90px -25px rgba(0,0,0,.55);
    overflow:hidden;
    max-width:400px;
    margin:0 auto;
  }
  .menu-card-head{
    background:linear-gradient(160deg, var(--plum-700), var(--plum-950));
    padding:30px 30px 0;
    text-align:center;
  }
  .menu-badge{
    width:52px; height:52px; border-radius:50%;
    background:var(--pink-300);
    color:var(--plum-900);
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 14px;
    font-family:var(--font-display); font-weight:900; font-size:18px;
  }
  .menu-card-head h3{ color:var(--cream); font-size:26px; }
  .menu-perf{ position:relative; height:0; border-top:2px dashed rgba(51,19,47,.22); margin:0 24px; }
  .menu-perf::before, .menu-perf::after{ content:""; position:absolute; top:-9px; width:18px; height:18px; border-radius:50%; background:var(--plum-900); }
  .menu-perf::before{ left:-33px; } .menu-perf::after{ right:-33px; }
  .menu-card-body{ padding:26px 30px 30px; }
  .size-options{ display:flex; gap:22px; margin-bottom:24px; }
  .radio-opt{ display:flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--ink); cursor:pointer; padding:4px 6px; margin:-4px -6px; border-radius:8px; transition:background .2s; }
  .radio-opt:hover, .radio-opt:focus-visible{ background:rgba(201,63,146,.08); outline:none; }
  .radio-opt .dot{ width:15px; height:15px; border-radius:50%; border:1.5px solid var(--ink); transition:border-color .2s, background .2s; }
  .radio-opt.selected .dot{ border-color:var(--magenta); background:radial-gradient(circle, var(--magenta) 40%, transparent 42%); }
  .radio-opt.selected{ color:var(--magenta-dark); }
  .menu-cols{ display:grid; grid-template-columns:1fr 1fr; gap:6px 20px; margin-bottom:20px; }
  .menu-cols .col-title{ grid-column:1/-1; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--magenta); margin:14px 0 6px; }
  .menu-cols .col-title:first-child{ margin-top:0; }
  .topping-opt{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--ink-soft); padding:5px 0; }
  .topping-opt{ cursor:pointer; padding:5px 6px; margin:0 -6px; border-radius:8px; transition:background .2s; }
  .topping-opt:hover, .topping-opt:focus-visible{ background:rgba(201,63,146,.08); outline:none; }
  .topping-opt .dot-sm{ width:11px; height:11px; border-radius:50%; border:1.3px solid rgba(51,19,47,.4); flex-shrink:0; transition:border-color .2s, background .2s; }
  .topping-opt.selected{ color:var(--ink); font-weight:600; }
  .topping-opt.selected .dot-sm{ border-color:var(--magenta); background:radial-gradient(circle, var(--magenta) 45%, transparent 47%); }
  .menu-hint{ font-size:11.5px; color:var(--ink-soft); text-align:center; margin-top:12px; opacity:.7; }
  .menu-note{ font-size:11.5px; color:var(--ink-soft); font-style:italic; border-top:1px solid rgba(51,19,47,.1); padding-top:14px; }

  .bowl-visual{ display:flex; flex-direction:column; align-items:center; gap:22px; }

  /* live icon-bowl preview: sits below the logo, inside the card header */
  .menu-bowl-stage{
    position:relative;
    width:100%; max-width:196px;
    aspect-ratio:200/150;
    margin:6px auto 26px;
  }
  .menu-bowl-scale{
    position:absolute; inset:0;
    transform-origin:bottom center;
    transition:transform .5s var(--ease);
  }
  .bowl-icon{ width:100%; height:100%; display:block; filter:drop-shadow(0 12px 16px rgba(0,0,0,.4)); }
  .topping-badges{ position:absolute; inset:0; pointer-events:none; }
  .t-badge{
    position:absolute;
    width:23px; height:23px;
    border-radius:50%;
    background:var(--pink-300);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 6px 12px -3px rgba(0,0,0,.5);
    opacity:0;
    transform:translate(-50%,-50%) scale(.3);
    transition:opacity .3s var(--ease), transform .4s cubic-bezier(.34,1.56,.64,1);
  }
  .t-badge.active{ opacity:1; transform:translate(-50%,-50%) scale(1); }
  .t-badge svg{ width:12px; height:12px; stroke:var(--plum-900); }
  .bowl-cta{
    text-align:center;
    font-family:var(--font-display);
    font-style:italic;
    font-size:17px;
    color:var(--pink-300);
    max-width:320px;
    line-height:1.4;
  }

  /* ============================= LEAD FORM ============================= */
  .contact{
    background:linear-gradient(165deg, var(--plum-800), var(--plum-950));
    padding:130px 0;
    color:var(--cream);
  }
  .contact .container{ display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; }
  .contact-copy .eyebrow{ margin-bottom:16px; }
  .contact-copy h2{ color:var(--cream); margin-bottom:20px; }
  .contact-copy p{ color:rgba(255,251,253,.78); font-size:16px; max-width:420px; }
  .contact-details{ margin-top:40px; display:flex; flex-direction:column; gap:16px; }
  .contact-details a, .contact-details span.label{ display:flex; align-items:center; gap:12px; font-size:15px; font-weight:500; }
  .contact-details .icn{
    width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.1);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .contact-details .icn svg{ width:16px; height:16px; stroke:var(--pink-300); }
  .contact-details a:hover{ color:var(--pink-300); }

  .form-card{
    background:var(--cream);
    border-radius:var(--radius-lg);
    padding:40px;
    color:var(--ink);
    box-shadow:0 40px 90px -25px rgba(0,0,0,.5);
  }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
  .field{ display:flex; flex-direction:column; gap:7px; margin-bottom:16px; }
  .field label{ font-size:12.5px; font-weight:600; letter-spacing:.03em; color:var(--ink-soft); }
  .field input, .field select, .field textarea{
    font-family:var(--font-body);
    font-size:14.5px;
    padding:13px 15px;
    border-radius:var(--radius-sm);
    border:1.5px solid rgba(51,19,47,.16);
    background:#fff;
    color:var(--ink);
    outline:none;
    transition:border-color .2s;
    width:100%;
  }
  .field textarea{ resize:vertical; min-height:90px; font-family:var(--font-body); }
  .field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--magenta); }
  .form-card .btn-primary{ width:100%; margin-top:6px; padding:16px; font-size:15.5px; }
  .form-note{ font-size:12px; color:var(--ink-soft); margin-top:14px; text-align:center; }
  .hp-field{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
  .form-error{
    display:none;
    font-size:13px; color:#c0264e; text-align:center;
    margin-top:14px; padding:10px 14px;
    background:rgba(192,38,78,.08);
    border-radius:var(--radius-sm);
  }
  .form-error.show{ display:block; }
  .form-error a{ color:#c0264e; font-weight:600; text-decoration:underline; }
  .btn-primary[disabled]{ opacity:.65; cursor:not-allowed; }
  .btn-primary[disabled]:hover{ transform:none; }

  .form-success{
    display:none;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:14px;
    padding:30px 10px;
  }
  .form-success.show{ display:flex; }
  .form-fields.hide{ display:none; }
  .form-success .check-circle{
    width:56px; height:56px; border-radius:50%;
    background:var(--pink-100);
    display:flex; align-items:center; justify-content:center;
  }
  .form-success .check-circle svg{ width:26px; height:26px; stroke:var(--magenta); }

  /* ============================= FOOTER ============================= */
  footer{ background:var(--plum-950); color:rgba(255,251,253,.6); padding:50px 0 30px; }
  footer .container{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
  footer .foot-links{ display:flex; gap:26px; flex-wrap:wrap; }
  footer .foot-links a{ font-size:13.5px; }
  footer .foot-links a:hover{ color:#fff; }
  .foot-bottom{
    margin-top:34px; padding-top:22px; border-top:1px solid rgba(255,255,255,.08);
    font-size:12.5px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  }

  /* ============================= REVEAL ANIMATION ============================= */
  .reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
  .reveal.in{ opacity:1; transform:none; }

  /* ============================= RESPONSIVE ============================= */
  @media (max-width:1000px){
    .checklist-grid{ grid-template-columns:repeat(2, 1fr); }
    .ticket-grid{ grid-template-columns:1fr; }
    .story .container, .bowl .container, .contact .container{ grid-template-columns:1fr; }
    .story-media{ order:-1; max-width:420px; margin:0 auto; }
    .hero-pack{ width:64%; opacity:.9; }
  }
  @media (max-width:760px){
    nav.links{
      position:fixed; inset:0 0 0 auto; width:78%; max-width:320px;
      background:var(--plum-950); flex-direction:column; align-items:flex-start;
      padding:110px 32px 40px; gap:26px;
      transform:translateX(100%); transition:transform .4s var(--ease);
      box-shadow:-20px 0 60px rgba(0,0,0,.4);
    }
    nav.links.open{ transform:translateX(0); }
    nav.links a{ font-size:17px; }
    .nav-cta{ display:none; }
    .burger{ display:block; }
    .hero{ padding-top:130px; text-align:left; }
    .hero-pack{ opacity:.55; width:78%; right:-4%; }
    .checklist-grid{ grid-template-columns:1fr 1fr; }
    .section-head{ flex-direction:column; align-items:flex-start; }
    .form-row{ grid-template-columns:1fr; }
    .contact .container{ gap:50px; }
  }
  @media (max-width:480px){
    .checklist-grid{ grid-template-columns:1fr; }
    .container{ padding:0 20px; }
    .form-card{ padding:28px 22px; }
  }
