/* Optimum Health Essentials — site styles */
:root{
    --amber:#F5A94E; --orange:#D9531E; --plum:#7A2653; --plum-deep:#571A3B;
    --cream:#FFF3DC; --leaf:#5C8A3C; --ink:#2B1608;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:3px;border-radius:4px}

  body{
    font-family:'Sora',sans-serif; color:var(--ink); background:var(--cream);
    overflow-x:hidden; line-height:1.6;
  }
  ::selection{background:var(--orange);color:var(--cream)}
  h1,h2,h3,.display{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.01em;text-transform:uppercase;line-height:1.02}

  /* grain overlay */
  body::after{
    content:"";position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:2000;opacity:.055;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    animation:grain 7s steps(9) infinite;
  }
  @keyframes grain{
    0%,100%{transform:translate(0,0)}12%{transform:translate(-3%,2%)}25%{transform:translate(2%,-3%)}
    37%{transform:translate(-2%,-2%)}50%{transform:translate(3%,3%)}62%{transform:translate(-3%,0)}
    75%{transform:translate(2%,2%)}87%{transform:translate(0,-3%)}
  }
  @media (prefers-reduced-motion: reduce){
    *,*::before,*::after{animation-duration:.001s !important;transition-duration:.001s !important}
  }

  /* nav */
  nav{
    position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:900;display:flex;align-items:center;gap:1.1rem;
    padding:.45rem .6rem .45rem 1.1rem;background:rgba(255,243,220,.94);backdrop-filter:blur(10px);
    border-radius:999px;border:2px solid var(--orange);box-shadow:0 10px 28px rgba(43,22,8,.16);
    width:max-content;max-width:94vw;transition:box-shadow .35s ease, top .35s ease;
  }
  nav.scrolled{box-shadow:0 16px 40px rgba(43,22,8,.28);top:.55rem}
  nav img{width:42px;height:42px;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
  nav img:hover{transform:rotate(-8deg) scale(1.06)}
  nav .navlinks{margin-left:auto;display:flex;gap:1.4rem;align-items:center}
  nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.86rem;position:relative}
  nav a:not(.cartbtn)::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--orange);transition:width .3s ease}
  nav a:not(.cartbtn):hover::after{width:100%}
  .cartbtn{
    background:var(--plum);color:var(--cream) !important;border:none;padding:.55rem 1.1rem;border-radius:999px;
    font-family:'Sora',sans-serif;font-weight:700;font-size:.86rem;cursor:pointer;display:flex;gap:.5rem;align-items:center;
    transition:transform .25s ease, background .25s ease;
  }
  .cartbtn:hover{transform:translateY(-2px);background:var(--plum-deep)}
  .cartcount{background:var(--amber);color:var(--ink);border-radius:999px;min-width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;padding:0 .3rem}
  @media(max-width:680px){ nav .hideMobile{display:none} }

  /* hero */
  header.hero{
    min-height:100svh;position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;
    padding:6.5rem 5vw 4rem;gap:2rem;background:
      radial-gradient(60rem 40rem at 85% -10%, #F8C980 0%, transparent 60%),
      radial-gradient(50rem 44rem at -10% 110%, #F3B96B 0%, transparent 55%),
      var(--amber);
  }
  .hero-copy .kicker{display:inline-flex;align-items:center;gap:.6rem;background:var(--cream);border-radius:999px;padding:.4rem 1rem;font-size:.78rem;font-weight:700;color:var(--plum);box-shadow:0 3px 14px rgba(43,22,8,.14);margin-bottom:1.4rem}
  .hero-copy .kicker span.dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--leaf);animation:pulse 2s infinite}
  @keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}
  .hero-copy h1{font-size:clamp(2.6rem,6.2vw,5.4rem);color:var(--plum-deep)}
  .hero-copy h1 em{font-style:normal;color:var(--orange);display:block}
  .hero-copy p{max-width:34rem;margin:1.4rem 0 2rem;font-size:1.02rem;color:#4A2A12}
  .btn{
    display:inline-flex;align-items:center;gap:.7rem;background:var(--orange);color:var(--cream);text-decoration:none;
    font-weight:700;padding:1rem 1.9rem;border-radius:999px;border:none;cursor:pointer;font-size:1rem;font-family:'Sora',sans-serif;
    box-shadow:0 8px 24px rgba(217,83,30,.4);transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
  }
  .btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 14px 34px rgba(217,83,30,.5)}
  .btn svg{transition:transform .3s ease}
  .btn:hover svg{transform:translateX(4px)}
  .btn.ghost{background:transparent;color:var(--plum-deep);box-shadow:inset 0 0 0 2px var(--plum-deep)}
  .btn.ghost:hover{background:var(--plum-deep);color:var(--cream)}

  .hero-art{position:relative;display:flex;justify-content:center;align-items:center}
  .blob-frame{
    width:min(46vw,560px);aspect-ratio:1;overflow:hidden;position:relative;
    border-radius:58% 42% 55% 45% / 48% 55% 45% 52%;
    animation:blob 14s ease-in-out infinite;
    box-shadow:0 26px 70px rgba(87,26,59,.35);
  }
  .blob-frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 8s ease}
  .blob-frame:hover img{transform:scale(1.16)}
  @keyframes blob{
    0%,100%{border-radius:58% 42% 55% 45% / 48% 55% 45% 52%}
    33%{border-radius:45% 55% 42% 58% / 55% 44% 56% 45%}
    66%{border-radius:52% 48% 58% 42% / 44% 56% 42% 58%}
  }
  .hero-badge{
    position:absolute;bottom:6%;left:2%;width:clamp(90px,10vw,130px);animation:spinSlow 26s linear infinite;filter:drop-shadow(0 8px 20px rgba(43,22,8,.3));
  }
  @keyframes spinSlow{to{transform:rotate(360deg)}}
  @media(max-width:900px){
    header.hero{grid-template-columns:1fr;padding-top:6rem;text-align:center}
    .hero-copy .kicker{margin-inline:auto}
    .hero-copy p{margin-inline:auto}
    .hero-art{order:-1;margin-top:1rem}
    .blob-frame{width:min(78vw,420px)}
    .hero-badge{left:0;bottom:0}
  }

  /* ticker */
  .ticker{background:var(--plum);color:var(--cream);overflow:hidden;padding:.85rem 0;transform:rotate(-1.2deg) scale(1.02);margin-top:-1.2rem;position:relative;z-index:5}
  .ticker-track{display:flex;gap:3rem;white-space:nowrap;width:max-content;animation:tick 30s linear infinite}
  .ticker:hover .ticker-track{animation-play-state:paused}
  @keyframes tick{to{transform:translateX(-50%)}}
  .ticker span{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:.95rem;letter-spacing:.08em;display:flex;align-items:center;gap:3rem}
  .ticker span::after{content:"";width:.6rem;height:.6rem;border-radius:50%;background:var(--amber);display:inline-block}

  /* sections */
  section{padding:5.5rem 5vw}
  .sec-head{max-width:60rem;margin:0 auto 3rem;text-align:center}
  .sec-head h2{font-size:clamp(2rem,4.6vw,3.6rem);color:var(--plum-deep)}
  .sec-head p{margin-top:.9rem;color:#5A3418;max-width:44rem;margin-inline:auto}

  /* products */
  #shop{background:var(--cream)}
  .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.6rem;max-width:1200px;margin:0 auto}
  .card{
    background:#fff;border-radius:1.4rem;overflow:hidden;display:flex;flex-direction:column;position:relative;
    box-shadow:0 4px 18px rgba(43,22,8,.08);transition:transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s ease;
  }
  .card:hover{transform:translateY(-8px);box-shadow:0 22px 44px rgba(43,22,8,.16)}
  .card .imgwrap{height:220px;overflow:hidden;position:relative}
  .card .imgwrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
  .card:hover .imgwrap img{transform:scale(1.07)}
  .card .tag{
    position:absolute;top:.9rem;left:.9rem;background:var(--amber);color:var(--ink);font-size:.7rem;font-weight:700;
    padding:.3rem .8rem;border-radius:999px;text-transform:uppercase;letter-spacing:.06em;
  }
  .card .body{padding:1.3rem 1.3rem 1.5rem;display:flex;flex-direction:column;flex:1}
  .card h3{font-size:1.35rem;color:var(--plum-deep);margin-bottom:.4rem}
  .card .desc{font-size:.87rem;color:#5A3418;flex:1}
  .card .row{display:flex;align-items:center;justify-content:space-between;margin-top:1.1rem}
  .price{font-family:'Anton',sans-serif;font-size:1.5rem;color:var(--orange)}
  .add{
    background:var(--plum);color:var(--cream);border:none;border-radius:999px;padding:.6rem 1.2rem;font-weight:700;cursor:pointer;
    font-family:'Sora',sans-serif;font-size:.85rem;transition:transform .25s ease, background .25s ease;
  }
  .add:hover{transform:scale(1.06);background:var(--orange)}
  .add.added{background:var(--leaf)}

  /* cleanse banner */
  .cleanse{
    max-width:1200px;margin:4rem auto 0;background:var(--plum);border-radius:2rem;color:var(--cream);
    display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;position:relative;
  }
  .cleanse .pad{padding:3rem}
  .cleanse h3{font-size:clamp(1.8rem,3.4vw,2.8rem)}
  .cleanse p{margin:.9rem 0 1.6rem;color:#F3D9E6}
  .cleanse .note{font-size:.8rem;color:#D9A9C4;margin-top:.9rem}
  .cleanse img{width:100%;height:100%;object-fit:cover;min-height:280px}
  @media(max-width:820px){.cleanse{grid-template-columns:1fr}.cleanse img{order:-1;max-height:240px}}

  /* market only */
  .marketonly{max-width:1200px;margin:3rem auto 0;background:#FBE4BF;border-radius:2rem;padding:2.6rem 3rem}
  .marketonly h3{color:var(--plum-deep);font-size:1.6rem;margin-bottom:.6rem}
  .marketonly ul{list-style:none;margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem}
  .marketonly li{background:var(--cream);border-radius:1rem;padding:.9rem 1.2rem;font-size:.88rem;border-left:4px solid var(--orange)}

  /* why */
  #why{background:
      radial-gradient(46rem 30rem at 110% 0%, #8A3763 0%, transparent 55%), var(--plum-deep);
    color:var(--cream)}
  .why-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;max-width:1200px;margin:0 auto;align-items:center}
  .why-grid h2{font-size:clamp(2rem,4.2vw,3.4rem);color:var(--amber)}
  .why-grid .lead{margin:1.2rem 0 2rem;color:#F0DCC9}
  .point{display:flex;gap:1rem;margin-bottom:1.3rem;align-items:flex-start}
  .point .ic{flex:0 0 2.6rem;height:2.6rem;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center}
  .point h4{font-size:1rem;margin-bottom:.15rem;color:#fff}
  .point p{font-size:.86rem;color:#E8CDB5}
  .why-img{border-radius:2rem;overflow:hidden;animation:blob 18s ease-in-out infinite;box-shadow:0 22px 60px rgba(0,0,0,.4)}
  .why-img img{width:100%;height:100%;object-fit:cover;display:block}
  @media(max-width:900px){.why-grid{grid-template-columns:1fr}}

  /* gallery */
  .gal{columns:3;column-gap:1.1rem;max-width:1200px;margin:0 auto}
  .gal figure{margin:0 0 1.1rem;border-radius:1.3rem;overflow:hidden;break-inside:avoid;position:relative}
  .gal img{width:100%;display:block;transition:transform .6s ease}
  .gal figure:hover img{transform:scale(1.05)}
  @media(max-width:900px){.gal{columns:2}}
  @media(max-width:560px){.gal{columns:1}}

  /* fulfillment */
  #getit{background:var(--amber)}
  .ful{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem;max-width:1100px;margin:0 auto}
  .ful .f{background:var(--cream);border-radius:1.6rem;padding:2rem;transition:transform .3s ease;box-shadow:0 6px 20px rgba(43,22,8,.1)}
  .ful .f:hover{transform:translateY(-6px) rotate(-.5deg)}
  .ful h3{color:var(--orange);font-size:1.25rem;margin-bottom:.5rem}
  .ful p{font-size:.9rem;color:#4A2A12}

  /* press strip */
  .press{background:var(--cream);text-align:center;padding:3rem 5vw}
  .press a{color:var(--plum);font-weight:700;text-decoration:none;border-bottom:2px solid var(--amber);padding-bottom:2px;transition:border-color .3s}
  .press a:hover{border-color:var(--orange)}

  footer{background:var(--ink);color:#D8B896;padding:3.5rem 5vw;text-align:center;font-size:.85rem}
  footer img{width:74px;margin-bottom:1rem}
  footer .ig{color:var(--amber);text-decoration:none;font-weight:700}
  footer .ig:hover{text-decoration:underline}
  footer .credit{margin-top:1.6rem;font-size:.75rem;color:#8A6A4C}
  footer a.guide{color:#D8B896;text-decoration:underline}

  /* cart drawer */
  .overlay{position:fixed;inset:0;background:rgba(43,22,8,.55);opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:950}
  .overlay.open{opacity:1;pointer-events:auto}
  .drawer{
    position:fixed;top:0;right:0;height:100%;width:min(430px,94vw);background:var(--cream);z-index:1000;
    transform:translateX(105%);transition:transform .45s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;
    box-shadow:-14px 0 50px rgba(43,22,8,.3);
  }
  .drawer.open{transform:translateX(0)}
  .drawer header{padding:1.4rem 1.6rem;background:var(--plum);color:var(--cream);display:flex;justify-content:space-between;align-items:center}
  .drawer header h3{font-size:1.4rem}
  .drawer .close{background:none;border:none;color:var(--cream);font-size:1.6rem;cursor:pointer;line-height:1}
  .drawer .items{flex:1;overflow-y:auto;padding:1.2rem 1.6rem}
  .line{display:flex;gap:.9rem;align-items:center;padding:.9rem 0;border-bottom:1px dashed #D9B98F}
  .line img{width:58px;height:58px;object-fit:cover;border-radius:.8rem}
  .line .nm{font-weight:700;font-size:.9rem}
  .line .pr{font-size:.8rem;color:var(--orange);font-weight:700}
  .qty{display:flex;align-items:center;gap:.5rem;margin-left:auto}
  .qty button{width:1.7rem;height:1.7rem;border-radius:50%;border:none;background:var(--amber);font-weight:700;cursor:pointer;transition:background .2s}
  .qty button:hover{background:var(--orange);color:#fff}
  .empty{padding:2rem 0;text-align:center;color:#6E5138;font-size:.9rem}
  .drawer .sum{padding:1.2rem 1.6rem;border-top:2px solid var(--amber);background:#FBE9CB}
  .sum .tot{display:flex;justify-content:space-between;font-family:'Anton',sans-serif;font-size:1.3rem;color:var(--plum-deep);margin-bottom:.9rem}
  .sum .btn{width:100%;justify-content:center}
  .sum .hint{font-size:.72rem;color:#6E5138;margin-top:.7rem;text-align:center}

  /* reveal on scroll */
  .js .rv{opacity:0;transform:translateY(34px);transition:opacity .8s ease, transform .8s cubic-bezier(.22,1,.36,1)}
  .js .rv.in{opacity:1;transform:none}

  /* toast */
  .toast{
    position:fixed;bottom:1.4rem;left:50%;transform:translate(-50%,140%);background:var(--plum-deep);color:var(--cream);
    padding:.85rem 1.6rem;border-radius:999px;font-size:.85rem;font-weight:600;z-index:1200;transition:transform .4s cubic-bezier(.34,1.56,.64,1);
  }
  .toast.show{transform:translate(-50%,0)}

  /* back to top */
  .totop{position:fixed;bottom:1.4rem;right:1.4rem;z-index:940;width:3.1rem;height:3.1rem;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .35s ease,transform .35s ease;box-shadow:0 10px 26px rgba(0,0,0,.3);background:var(--plum);color:var(--cream);}
  .totop.show{opacity:1;pointer-events:auto;transform:none}
  .totop:hover{transform:translateY(-3px)}

  /* juice-pour intro */
  .intro{position:fixed;inset:0;z-index:3000;background:var(--plum);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.2rem;animation:drain 1.15s cubic-bezier(.7,0,.3,1) 1.2s forwards}
  .intro img{width:clamp(110px,14vw,150px);animation:introPop .8s cubic-bezier(.34,1.56,.64,1) .1s backwards}
  .intro .iword{font-family:'Anton',sans-serif;color:var(--amber);text-transform:uppercase;letter-spacing:.14em;font-size:.95rem;animation:introPop .8s ease .35s backwards}
  .intro svg.wave{position:absolute;top:100%;left:0;width:100%;height:11vh;display:block}
  @keyframes drain{to{transform:translateY(-114%)}}
  @keyframes introPop{from{transform:scale(.35);opacity:0}}
  /* floating produce */
  .float-produce{position:absolute;inset:0;pointer-events:none;overflow:hidden}
  .float-produce span{position:absolute;display:block;opacity:.5;animation:drift 9s ease-in-out infinite}
  .float-produce span:nth-child(1){top:12%;left:6%;animation-delay:0s}
  .float-produce span:nth-child(2){top:64%;left:3%;animation-delay:-3s;animation-duration:11s}
  .float-produce span:nth-child(3){top:18%;right:5%;animation-delay:-5s;animation-duration:10s}
  .float-produce span:nth-child(4){top:74%;right:8%;animation-delay:-7s;animation-duration:12s}
  @keyframes drift{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-26px) rotate(8deg)}}

/* ================================================================
   NEW — events, checkout, RSVP (Optimum palette, same type system)
   ================================================================ */
[hidden]{display:none !important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* sold out + card tweaks */
.card.soldout .imgwrap img{filter:grayscale(.7) brightness(.9)}
.card .soldtag{position:absolute;top:.9rem;right:.9rem;background:var(--ink);color:var(--cream);font-size:.7rem;font-weight:700;padding:.3rem .8rem;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}
.add[disabled]{background:#B9A58F;cursor:not-allowed;transform:none}
.card .imgwrap img{cursor:zoom-in}

/* ---------- events ---------- */
#events{background:var(--cream);position:relative}
.evgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.6rem;max-width:1200px;margin:0 auto}
.ev{background:#fff;border-radius:1.6rem;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 22px rgba(43,22,8,.1);transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease}
.ev:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(43,22,8,.16)}
.ev .evimg{position:relative;height:210px;overflow:hidden;background:
  radial-gradient(20rem 12rem at 80% 10%, #F8C980 0%, transparent 60%),
  radial-gradient(18rem 14rem at 0% 100%, #D9531E 0%, transparent 60%), var(--plum)}
.ev .evimg img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.ev:hover .evimg img{transform:scale(1.05)}
.ev .evimg .evlogo{position:absolute;inset:0;margin:auto;width:96px;height:96px;opacity:.9}
.ev .badge{position:absolute;left:1rem;bottom:1rem;background:var(--cream);color:var(--plum-deep);border-radius:1rem;padding:.45rem .8rem .35rem;text-align:center;box-shadow:0 6px 18px rgba(43,22,8,.3);line-height:1}
.ev .badge .m{display:block;font-family:'Anton',sans-serif;font-size:.8rem;letter-spacing:.12em;color:var(--orange)}
.ev .badge .d{display:block;font-family:'Anton',sans-serif;font-size:1.9rem}
.ev .body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1;gap:.5rem}
.ev h3{font-size:1.45rem;color:var(--plum-deep)}
.ev .meta{font-size:.85rem;color:#5A3418;display:flex;flex-direction:column;gap:.2rem}
.ev .meta span{display:flex;gap:.5rem;align-items:flex-start}
.ev .meta svg{flex:0 0 16px;margin-top:.2rem}
.ev .desc{font-size:.88rem;color:#4A2A12}
.ev .pickflag{align-self:flex-start;background:#E6F0DC;color:#3F6428;font-size:.72rem;font-weight:700;border-radius:999px;padding:.3rem .75rem}
.ev .acts{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:auto;padding-top:.6rem}
.ev .acts .btn{padding:.8rem 1.4rem;font-size:.9rem}
.btn.small{padding:.7rem 1.2rem;font-size:.85rem;box-shadow:none}
.btn.plum{background:var(--plum);box-shadow:0 8px 22px rgba(122,38,83,.35)}
.btn.plum:hover{background:var(--plum-deep)}
.btn.ghost.small{box-shadow:inset 0 0 0 2px var(--plum-deep)}

/* ---------- footer additions ---------- */
footer .flinks{margin-top:1rem;display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}
footer .flinks a{color:#D8B896;text-decoration:underline}
footer .credit a{color:#D8B896}
footer .d2-social{margin-top:1.2rem}

/* ---------- shared dialog shell (checkout, RSVP, thank-you) ---------- */
.dlg{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(43,22,8,.62)}
.dlg[hidden]{display:none !important}
.dlg .sheet{background:var(--cream);border-radius:1.8rem;width:min(640px,100%);max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);animation:pop .35s cubic-bezier(.34,1.56,.64,1)}
@keyframes pop{from{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}
.dlg .top{background:var(--plum);color:var(--cream);padding:1.1rem 1.4rem;display:flex;align-items:center;gap:1rem}
.dlg .top h3{font-size:1.35rem;flex:1}
.dlg .x{background:rgba(255,243,220,.14);border:none;color:var(--cream);width:2.4rem;height:2.4rem;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;flex:0 0 auto;transition:background .2s}
.dlg .x:hover{background:var(--orange)}
.dlg .mid{padding:1.4rem;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}
.dlg .bot{padding:1rem 1.4rem;border-top:2px solid var(--amber);background:#FBE9CB;display:flex;gap:.8rem;align-items:center}
.dlg .bot .grow{flex:1;font-size:.8rem;color:#6E5138;line-height:1.35}
.dlg .bot .grow strong{display:block;font-family:'Anton',sans-serif;font-size:1.25rem;color:var(--plum-deep);font-weight:400}
.dlg .bot .btn{padding:.9rem 1.5rem}
@media(max-width:640px){
  .dlg{padding:0;align-items:stretch}
  .dlg .sheet{border-radius:0;max-height:none;height:100dvh;width:100%}
  .dlg .bot{padding:.9rem 1rem calc(.9rem + env(safe-area-inset-bottom))}
  .dlg .mid{padding:1.2rem 1rem}
}

/* progress */
.steps{display:flex;gap:.4rem;padding:.8rem 1.4rem 0;background:var(--plum)}
.steps span{flex:1;font-size:.7rem;font-weight:700;color:#E7B9D2;text-transform:uppercase;letter-spacing:.08em;padding-bottom:.7rem;border-bottom:4px solid rgba(255,243,220,.18);transition:color .3s,border-color .3s}
.steps span.on{color:var(--cream);border-color:var(--amber)}
.steps span.done{color:var(--amber);border-color:var(--amber)}
@media(max-width:640px){.steps{padding:.7rem 1rem 0}}

.co h4{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;color:var(--plum-deep);font-size:1.5rem;line-height:1.05;margin-bottom:1rem}
.co h5{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--plum);margin:1.3rem 0 .6rem}
.co .lede{font-size:.88rem;color:#5A3418;margin:-.4rem 0 1rem}

/* big choice cards */
.opts{display:flex;flex-direction:column;gap:.8rem}
.opt{display:flex;gap:1rem;align-items:center;text-align:left;width:100%;background:#fff;border:2px solid #EBD3AE;border-radius:1.2rem;padding:1rem 1.1rem;cursor:pointer;font-family:'Sora',sans-serif;color:var(--ink);transition:border-color .2s,transform .2s,box-shadow .2s}
.opt:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 8px 20px rgba(43,22,8,.08)}
.opt[aria-checked="true"]{border-color:var(--plum);box-shadow:0 0 0 3px rgba(122,38,83,.18);background:#FFFBF3}
.opt .ic{flex:0 0 3rem;height:3rem;border-radius:50%;background:var(--amber);display:flex;align-items:center;justify-content:center;color:var(--plum-deep);transition:background .2s,color .2s}
.opt[aria-checked="true"] .ic{background:var(--plum);color:var(--cream)}
.opt .t{flex:1;min-width:0}
.opt .t b{display:block;font-size:1rem}
.opt .t small{display:block;font-size:.82rem;color:#6E5138;margin-top:.15rem}
.opt .chk{flex:0 0 1.6rem;height:1.6rem;border-radius:50%;border:2px solid #D9B98F;display:flex;align-items:center;justify-content:center;color:transparent}
.opt[aria-checked="true"] .chk{background:var(--plum);border-color:var(--plum);color:var(--cream)}
.opt .evdate{flex:0 0 3.4rem;text-align:center;background:var(--cream);border-radius:.8rem;padding:.35rem 0;line-height:1}
.opt .evdate .m{display:block;font-family:'Anton',sans-serif;font-size:.72rem;letter-spacing:.1em;color:var(--orange)}
.opt .evdate .d{display:block;font-family:'Anton',sans-serif;font-size:1.5rem;color:var(--plum-deep)}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chip{background:#fff;border:2px solid #EBD3AE;border-radius:999px;padding:.6rem 1.05rem;font-family:'Sora',sans-serif;font-weight:600;font-size:.86rem;color:var(--ink);cursor:pointer;transition:all .2s;line-height:1.2}
.chip small{display:block;font-weight:400;font-size:.7rem;color:#6E5138}
.chip:hover{border-color:var(--orange)}
.chip[aria-checked="true"]{background:var(--plum);border-color:var(--plum);color:var(--cream)}
.chip[aria-checked="true"] small{color:#F3D9E6}
.chips.dates .chip{border-radius:1rem;text-align:center;min-width:5.2rem;padding:.55rem .7rem}

.infocard{background:#fff;border-radius:1.1rem;padding:1rem 1.1rem;border-left:5px solid var(--leaf);font-size:.88rem;display:flex;flex-direction:column;gap:.2rem}
.infocard b{color:var(--plum-deep)}
.okline{background:#E6F0DC;color:#3F6428;border-radius:.9rem;padding:.7rem .9rem;font-size:.85rem;font-weight:600;margin-top:.8rem}
.warnline{background:#FBE0D3;color:#8A2E0B;border-radius:.9rem;padding:.75rem .9rem;font-size:.86rem;margin-top:.8rem}
.muted{font-size:.8rem;color:#6E5138;margin-top:.5rem}
.linkbtn{background:none;border:none;padding:0;color:var(--plum);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}

/* fields */
.fields{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.fields .full{grid-column:1/-1}
@media(max-width:480px){.fields{grid-template-columns:1fr}}
.fld label{display:block;font-size:.78rem;font-weight:700;color:var(--plum-deep);margin-bottom:.3rem}
.fld label i{font-style:normal;font-weight:400;color:#8A6A4C}
.fld input,.fld textarea{width:100%;font-family:'Sora',sans-serif;font-size:1rem;color:var(--ink);background:#fff;border:2px solid #EBD3AE;border-radius:.9rem;padding:.75rem .9rem;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none;min-height:3rem}
.fld textarea{min-height:5rem;resize:vertical}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--plum);box-shadow:0 0 0 3px rgba(122,38,83,.15)}
.fld.bad input,.fld.bad textarea{border-color:#C0392B}
.fld .err{display:none;font-size:.76rem;color:#B03A1E;margin-top:.3rem;font-weight:600}
.fld.bad .err{display:block}
.groupbad .err{display:block;font-size:.8rem;color:#B03A1E;margin-top:.6rem;font-weight:600}
.groupbad > .chips .chip,.groupbad > .opts .opt{border-color:#E5A28F}

/* summary */
.sumbox{background:#fff;border-radius:1.2rem;padding:1rem 1.1rem;margin-top:1.3rem}
.sumbox .ln{display:flex;justify-content:space-between;gap:1rem;font-size:.87rem;padding:.35rem 0}
.sumbox .ln span:last-child{white-space:nowrap;font-weight:700}
.sumbox .tot{border-top:2px dashed #D9B98F;margin-top:.4rem;padding-top:.6rem;font-family:'Anton',sans-serif;font-size:1.25rem;color:var(--plum-deep)}
.sumbox .tot span:last-child{font-weight:400}
.sumbox .how{font-size:.82rem;color:#5A3418;background:var(--cream);border-radius:.8rem;padding:.6rem .8rem;margin-top:.7rem}
.sumbox .skipped{font-size:.8rem;color:#8A2E0B;margin-top:.5rem}

/* pay button busy state */
.btn[aria-busy="true"]{pointer-events:none;opacity:.85}
.btn .spin{width:1.1rem;height:1.1rem;border-radius:50%;border:2.5px solid rgba(255,243,220,.4);border-top-color:var(--cream);animation:spin .8s linear infinite;display:none}
.btn[aria-busy="true"] .spin{display:inline-block}
.btn[aria-busy="true"] svg{display:none}
@keyframes spin{to{transform:rotate(360deg)}}

/* backup pay links */
.payline{display:flex;align-items:center;gap:.8rem;background:#fff;border-radius:1rem;padding:.85rem 1rem;margin-bottom:.7rem}
.payline .nm{font-weight:700;font-size:.88rem}
.payline .qn{font-size:.75rem;color:#6E5138}
.payline a{margin-left:auto;background:var(--orange);color:#fff;text-decoration:none;font-weight:700;font-size:.8rem;padding:.5rem 1rem;border-radius:999px;white-space:nowrap}
.payline.paid a{background:var(--leaf)}

/* thank-you */
.thanks{text-align:center}
.thanks .burst{width:84px;height:84px;margin:0 auto 1rem;border-radius:50%;background:var(--leaf);display:flex;align-items:center;justify-content:center;animation:pop .6s cubic-bezier(.34,1.56,.64,1)}
.thanks h4{margin-bottom:.6rem}
.thanks p{color:#5A3418;font-size:.92rem}
.thanks .sumbox{text-align:left}

/* bag footer checkout button full width */
.drawer .sum .btn{width:100%;justify-content:center}

/* lock the page behind an open dialog */
html:has(.dlg:not([hidden])) body{overflow:hidden}

/* ---------- privacy policy page ---------- */
body.legal{background:var(--cream)}
.legal-hero{padding:8rem 5vw 3rem;text-align:center;background:
  radial-gradient(40rem 26rem at 85% -10%, #F8C980 0%, transparent 60%), var(--amber)}
.legal-hero h1{font-size:clamp(2.4rem,6vw,4.4rem);color:var(--plum-deep)}
.legal-hero p{margin-top:.6rem;font-size:.9rem;color:#5A3418;font-weight:600}
.legal-body{max-width:760px;margin:0 auto;padding:3rem 5vw 4.5rem}
.legal-body section{margin-bottom:2.2rem}
.legal-body h2{font-size:1.6rem;color:var(--plum-deep);margin-bottom:.7rem}
.legal-body p{color:#4A2A12;margin-bottom:.8rem;font-size:.98rem}
.legal-body ul{margin:0 0 .9rem 1.2rem;color:#4A2A12}
.legal-body li{margin-bottom:.35rem}
.legal-body .contactline{border-top:2px dashed #D9B98F;padding-top:1.2rem;font-weight:600}
.legal-body a{color:var(--plum)}
body.legal nav .cartbtn{text-decoration:none}

/* nothing ever scrolls sideways (the tilted banner and the closed bag sit past the edge by design) */
html,body{overflow-x:clip}

/* ---------- polish pass ---------- */
.toast{visibility:hidden;opacity:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease,visibility .3s}
.toast.show{visibility:visible;opacity:1}
.evgrid{grid-template-columns:repeat(auto-fit,minmax(290px,380px));justify-content:center}
.ev .acts .btn{flex:1 1 auto;justify-content:center}
.chips.dates{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.4rem,1fr))}
.cleanse .note.clprice{font-family:'Anton',sans-serif;font-size:2rem;color:var(--amber);margin-top:1rem;line-height:1}
@media(max-width:480px){
  .dlg .bot{gap:.6rem}
  .dlg .bot .btn{padding:.85rem 1.1rem;font-size:.95rem;white-space:nowrap}
  .dlg .bot .btn.ghost{padding:.75rem .95rem}
  .dlg .bot.final .grow{display:none}
  .dlg .bot.final #coNext{flex:1;justify-content:center}
  .dlg .bot .grow{font-size:.72rem}
}

/* ================================================================
   OCTOBER 2026 UPDATE — product benefits, weekly subscription, contact
   ================================================================ */
.card .ingr{font-size:.8rem;color:#5A3418;margin-top:.55rem;line-height:1.45}
.card .ingr b{color:var(--plum-deep)}
.benefits-btn{align-self:flex-start;margin-top:.6rem;background:none;border:none;padding:0;font-family:'Sora',sans-serif;font-weight:700;font-size:.82rem;color:var(--plum);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.benefits-btn:hover{color:var(--orange)}
.benlist{list-style:none;display:flex;flex-direction:column;gap:.65rem;margin:.9rem 0 0}
.benlist li{position:relative;padding-left:1.6rem;font-size:.92rem;color:#4A2A12;line-height:1.55}
.benlist li::before{content:"";position:absolute;left:0;top:.35rem;width:.85rem;height:.85rem;border-radius:50%;background:var(--leaf)}
.benlist li b{color:var(--plum-deep)}
.benlist.hl li::before{background:var(--amber)}
.benh{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--plum);margin:1.2rem 0 0}
.fda{font-size:.72rem;color:#8A6A4C;margin-top:1.2rem;border-top:1px dashed #D9B98F;padding-top:.8rem;line-height:1.5}
#noteBody .ingr{font-size:.9rem;color:#5A3418}
footer .fdafoot{font-size:.68rem;color:#8A6A4C;max-width:46rem;margin:1rem auto 0;line-height:1.5}

/* subscription card (same family as the old cleanse card) */
.subcard{margin-top:4rem}
.subcard .subkick{display:inline-block;background:var(--amber);color:var(--plum-deep);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.35rem .85rem;border-radius:999px;margin-bottom:.9rem}
.subcard .subpoints{list-style:none;margin:-.4rem 0 1.4rem;display:flex;flex-direction:column;gap:.45rem}
.subcard .subpoints li{display:flex;gap:.6rem;align-items:center;font-weight:600;font-size:.92rem}
.subcard .subpoints li::before{content:"";flex:0 0 1.3rem;height:1.3rem;border-radius:50%;background:var(--amber) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23571A3B' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/62% no-repeat}
.subcard .subpoints li:empty{display:none}
.subcard .subprice{font-family:'Anton',sans-serif;color:var(--amber);margin-bottom:1.2rem;line-height:1}
.subcard .subprice span{font-size:3rem}
.subcard .subprice small{font-family:'Sora',sans-serif;font-size:.95rem;color:#F3D9E6;font-weight:600}
.subcard .note.subcut{color:#FBE4BF;font-weight:600;margin-top:1rem}

/* subscription pop-up */
.optimg{flex:0 0 3.2rem;width:3.2rem;height:3.2rem;border-radius:.8rem;object-fit:cover}
.mixlist{display:flex;flex-direction:column;gap:.6rem;margin-top:.4rem}
.mixrow{display:flex;align-items:center;gap:.8rem;background:#fff;border:2px solid #EBD3AE;border-radius:1rem;padding:.6rem .8rem}
.mixrow img{width:2.8rem;height:2.8rem;border-radius:.7rem;object-fit:cover;flex:0 0 auto}
.mixrow .nm{flex:1;min-width:0}
.mixrow .nm b{display:block;font-size:.92rem}
.mixrow .nm small{display:block;font-size:.72rem;color:#6E5138;line-height:1.35}
.mixrow .qty{margin-left:0}
.mixrow .qty button[disabled]{opacity:.35;cursor:not-allowed}
.mixlist .err{display:block;font-size:.8rem;color:#B03A1E;font-weight:600}
.mixlist.groupbad .mixrow{border-color:#E5A28F}
.chips .chip small{white-space:normal}

/* footer links spacing */
footer .flinks a + a{margin-left:0}

/* ---------- contact page ---------- */
.contact-wrap{max-width:720px;margin:0 auto;padding:2.6rem 5vw 4.5rem}
.contact-card{background:#fff;border-radius:1.8rem;padding:2rem;box-shadow:0 10px 30px rgba(43,22,8,.08)}
.contact-card .fields{grid-template-columns:1fr 1fr}
@media(max-width:560px){.contact-card{padding:1.3rem}.contact-card .fields{grid-template-columns:1fr}}
.consent{display:flex;gap:.8rem;align-items:flex-start;background:var(--cream);border:2px solid #EBD3AE;border-radius:1rem;padding:.9rem 1rem;margin-top:.9rem;cursor:pointer}
.consent input{flex:0 0 1.25rem;width:1.25rem;height:1.25rem;margin-top:.15rem;accent-color:var(--plum);cursor:pointer}
.consent span{font-size:.78rem;line-height:1.55;color:#4A2A12}
.consent a{color:var(--plum);font-weight:700}
.consent.bad{border-color:#C0392B}
.contact-alt{margin-top:1.4rem;font-size:.9rem;color:#5A3418;text-align:center}
.contact-alt a{color:var(--plum);font-weight:700}

/* ================================================================
   OCTOBER 15 UPDATE — multi-pack subscriptions, 3 frequencies
   ================================================================ */
/* home-page card: the three options */
.subcard .subreg{font-size:.82rem;color:#F3D9E6;margin:-.4rem 0 .6rem;text-decoration:line-through;text-decoration-color:rgba(245,169,78,.8)}
.subcard .subreg:empty{display:none}
.subplans{display:flex;flex-direction:column;border:2px solid rgba(255,243,220,.35);border-radius:1.1rem;overflow:hidden;margin-bottom:.8rem}
.subplan{display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;background:transparent;border:none;color:var(--cream);font-family:'Sora',sans-serif;padding:.85rem 1rem;cursor:pointer;transition:background .2s}
.subplan + .subplan{border-top:1px solid rgba(255,243,220,.22)}
.subplan:hover,.subplan:focus-visible{background:rgba(255,243,220,.1)}
.subplan .dot{flex:0 0 1.15rem;height:1.15rem;border-radius:50%;border:2px solid var(--amber)}
.subplan:hover .dot{background:radial-gradient(circle,var(--amber) 45%,transparent 50%)}
.subplan .l{flex:1;min-width:0;display:flex;flex-direction:column}
.subplan .l b{font-size:.95rem}
.subplan .l small{font-size:.8rem;color:#F3D9E6}
.subplan .pill{flex:0 0 auto;background:var(--amber);color:var(--plum-deep);font-size:.72rem;font-weight:700;padding:.25rem .6rem;border-radius:999px;white-space:nowrap}
.subcard .subrenew{display:flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:600;color:#FBE4BF;margin-bottom:1.2rem}

/* pop-up: how often */
.planprice{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:3.6rem;height:3.4rem;border-radius:.9rem;background:var(--cream);color:var(--plum-deep);line-height:1.05}
.planprice b{font-family:'Anton',sans-serif;font-weight:400;font-size:1.25rem}
.planprice small{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.opt[aria-checked="true"] .planprice{background:var(--amber)}
.co .renew{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--leaf);margin:.7rem 0 0}
.co h4.mt{margin-top:1.6rem}

/* pop-up: packs with benefits */
.packlist{display:flex;flex-direction:column;gap:.65rem;margin-top:.7rem}
.packrow{background:#fff;border:2px solid #EBD3AE;border-radius:1.1rem;padding:.7rem .85rem;transition:border-color .2s}
.packrow.on{border-color:var(--plum)}
.packrow .prow{display:flex;align-items:center;gap:.8rem}
.packrow img{width:3rem;height:3rem;border-radius:.8rem;object-fit:cover;flex:0 0 auto}
.packrow .nm{flex:1;min-width:0}
.packrow .nm b{display:block;font-size:.95rem}
.packrow .nm small{display:block;font-size:.74rem;color:#6E5138;line-height:1.4}
.packrow .qty{margin-left:0;flex:0 0 auto}
.packrow .qty span{min-width:1.2rem;text-align:center;font-weight:700}
.packrow .qty button[disabled],.mixbuild .qty button[disabled]{opacity:.35;cursor:not-allowed}
.bentoggle{display:inline-block;margin:.55rem 0 0 3.8rem;background:none;border:none;padding:0;font-family:'Sora',sans-serif;font-weight:700;font-size:.8rem;color:var(--plum);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.bentoggle:hover{color:var(--orange)}
.benbox{margin:.2rem 0 .2rem 3.8rem}
.benbox .benlist{margin-top:.6rem;gap:.5rem}
.benbox .benlist li{font-size:.84rem}
.packrow.mixadd{display:flex;align-items:center;gap:.8rem;border-style:dashed}
.packrow.mixadd .nm b{font-size:.92rem}
.linkish{background:none;border:none;font-family:'Sora',sans-serif;font-weight:700;font-size:.8rem;color:#B03A1E;text-decoration:underline;cursor:pointer;flex:0 0 auto}
.mixbuild{background:var(--cream);border:2px solid var(--plum);border-radius:1.1rem;padding:.9rem;display:flex;flex-direction:column;gap:.55rem}
.mixbuild .row2{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.3rem}
.packlist > .err{display:block;font-size:.8rem;color:#B03A1E;font-weight:600}
.packlist.groupbad .packrow{border-color:#E5A28F}
.co .okline{color:var(--leaf);font-weight:700;font-size:.85rem;margin-top:.8rem}
@media(max-width:420px){
  .bentoggle,.benbox{margin-left:0}
  .packrow img{width:2.6rem;height:2.6rem}
  .packrow .nm small{font-size:.7rem}
}

/* pop-up: secure card boxes from Clover */
.paybox{margin-top:1.6rem}
.cardgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.7rem;margin-top:.8rem}
.cardgrid .cfld.full{grid-column:1/-1}
.cfld .lab{display:block;font-size:.78rem;font-weight:700;color:var(--plum-deep);margin-bottom:.3rem}
.clbox{background:#fff;border:2px solid #EBD3AE;border-radius:.9rem;height:3rem;overflow:hidden}
.clbox iframe{width:100%!important;height:100%!important;border:0}
@media(max-width:420px){.cardgrid{grid-template-columns:1fr 1fr}.cardgrid .cfld:last-child{grid-column:1/-1}}
.paybox .err{display:block;margin-top:.6rem;font-size:.82rem;color:#B03A1E;font-weight:600}
.paybox .cardnote{display:flex;gap:.45rem;align-items:flex-start;font-size:.78rem;margin-top:.8rem}
.paybox .cardnote svg{flex:0 0 auto;margin-top:.2rem}
.consent.agree span{font-size:.84rem;font-weight:600;color:var(--ink)}
.sumbox .ln.tot{border-top:2px dashed #D9B98F;margin-top:.4rem;padding-top:.6rem;font-family:'Anton',sans-serif;font-size:1.2rem;color:var(--plum-deep)}
.sumbox .ln.tot span:last-child{font-weight:400}

/* ---------- manage-my-subscription page ---------- */
.manage-card .rowline{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px dashed #E6CFA8;font-size:.92rem}
.manage-card .rowline span:first-child{color:#6E5138}
.manage-card .rowline span:last-child{font-weight:700;text-align:right;white-space:pre-line}
.manage-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.manage-confirm{background:var(--cream);border:2px solid var(--plum);border-radius:1.1rem;padding:1rem;margin-top:1.2rem}
.manage-confirm p{font-size:.92rem;margin-bottom:.8rem}
.status-pill{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .7rem;border-radius:999px;background:var(--leaf);color:#fff}
.status-pill.off{background:#8A6A4C}
.btn.danger{background:#fff;color:#B03A1E;border:2px solid #E5A28F}
@media(max-width:480px){
  .subplan{padding:.75rem .8rem;gap:.6rem}
  .subplan .l b{font-size:.86rem;line-height:1.3}
  .subplan .l small{font-size:.76rem}
  .subplan .pill{font-size:.66rem;padding:.2rem .45rem}
}
.btn.danger{box-shadow:none}
.btn.danger:hover{background:#B03A1E;color:#fff;border-color:#B03A1E}

/* ================================================================
   OCTOBER 29 UPDATE — Variety Pack, area waitlist, Founding 100
   ================================================================ */
.fld select,.slot select{width:100%;font-family:'Sora',sans-serif;font-size:1rem;color:var(--ink);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A2653' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right .8rem center/1rem no-repeat;border:2px solid #EBD3AE;border-radius:.9rem;padding:.7rem 2.4rem .7rem .9rem;min-height:3rem;-webkit-appearance:none;appearance:none;cursor:pointer}
.fld select:focus,.slot select:focus{outline:none;border-color:var(--plum);box-shadow:0 0 0 3px rgba(122,38,83,.15)}
.mixbuild .slots{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.mixbuild .slot label{display:block;font-size:.74rem;font-weight:700;color:var(--plum-deep);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.06em}
.mixbuild .slot.on select{border-color:var(--plum)}
.mixbuild .okline,.mixbuild .muted{margin:0}
.mixbuild.bad{border-color:#C0392B;box-shadow:0 0 0 3px rgba(192,57,43,.15)}
@media(max-width:420px){.mixbuild .slots{grid-template-columns:1fr}}
.co .consent{margin-top:.8rem}
.co .consent b{color:var(--plum-deep)}
.keybadge{display:flex;flex-direction:column;align-items:center;gap:.25rem;background:var(--plum);color:var(--cream);border-radius:1.2rem;padding:1rem;margin:1.1rem auto 0;max-width:22rem}
.keybadge svg{color:var(--amber);width:30px;height:30px}
.keybadge b{font-family:'Anton',sans-serif;font-weight:400;font-size:1.5rem;letter-spacing:.02em}
.keybadge small{font-size:.82rem;color:#F3D9E6}

#founding{background:radial-gradient(40rem 26rem at 0% 0%, #8A3763 0%, transparent 60%),var(--plum-deep);color:var(--cream);padding:5.5rem 5vw}
.f-wrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.f-kick{display:inline-block;background:var(--amber);color:var(--plum-deep);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.38rem .9rem;border-radius:999px;margin-bottom:1rem}
#founding h2{font-size:clamp(2.1rem,4.8vw,3.8rem);color:var(--cream);line-height:1.05;margin-bottom:1rem}
#founding .f-copy > p{color:#F3D9E6;font-size:1rem;line-height:1.6;max-width:36rem}
.f-count{display:flex;align-items:baseline;gap:.6rem;margin-top:1.6rem}
.f-count b{font-family:'Anton',sans-serif;font-weight:400;font-size:clamp(3.4rem,8vw,5.4rem);color:var(--amber);line-height:1}
.f-count > span{font-weight:600;color:var(--cream)}
.f-bar{height:.8rem;background:rgba(255,243,220,.18);border-radius:999px;overflow:hidden;margin-top:.8rem;max-width:30rem}
.f-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--amber),var(--orange));border-radius:999px;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.f-left{font-size:.9rem;color:#FBE4BF;font-weight:600;margin:.7rem 0 1.4rem}
#founding .btn{background:var(--orange)}
/* the door: closed until the goal is reached, then it swings open */
.f-door{display:flex;justify-content:center;perspective:1200px}
.f-frame{position:relative;width:min(300px,70vw);aspect-ratio:3/4.4;border:12px solid var(--amber);border-bottom:0;border-radius:150px 150px 0 0;overflow:hidden;background:#3A1027}
.f-inside{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;background:radial-gradient(circle at 50% 40%,#FFE7B8,#F5A94E 70%);color:var(--plum-deep);text-align:center}
.f-inside b{font-family:'Anton',sans-serif;font-weight:400;font-size:2.2rem;letter-spacing:.04em}
.f-inside small{font-weight:700;font-size:.85rem}
.f-leaf{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(160deg,#9C3C6E,#7A2653);transition:transform 1.6s cubic-bezier(.6,.05,.25,1)}
.f-leaf.l{left:0;transform-origin:left center;border-right:2px solid #571A3B}
.f-leaf.r{right:0;transform-origin:right center;border-left:2px solid #571A3B}
.f-leaf i{position:absolute;top:52%;width:.7rem;height:.7rem;border-radius:50%;background:var(--amber)}
.f-leaf.l i{right:.8rem}.f-leaf.r i{left:.8rem}
#founding.open .f-leaf.l{transform:rotateY(-105deg)}
#founding.open .f-leaf.r{transform:rotateY(105deg)}
.f-wallwrap{max-width:1200px;margin:3rem auto 0}
.f-wall{display:grid;grid-template-columns:repeat(20,1fr);gap:.4rem}
.fkey{aspect-ratio:1;border-radius:.55rem;border:1.5px dashed rgba(255,243,220,.35);background:transparent;color:rgba(255,243,220,.55);font-family:'Sora',sans-serif;font-size:.62rem;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;padding:0;transition:transform .2s,background .2s}
.fkey:hover,.fkey:focus-visible{transform:scale(1.12);outline:none;border-color:var(--amber)}
.fkey.on{background:var(--amber);border:1.5px solid var(--amber);color:var(--plum-deep)}
.fkey.on svg{width:14px;height:14px}
.f-tip{text-align:center;margin-top:1rem;font-size:.9rem;color:#FBE4BF;min-height:1.4em}
@media(max-width:860px){.f-wrap{grid-template-columns:1fr}.f-door{order:-1}.f-frame{width:min(220px,60vw)}.f-wall{grid-template-columns:repeat(10,1fr)}}
@media(prefers-reduced-motion:reduce){.f-leaf,.f-bar i{transition:none}}
