:root{    
    --brown-deep:#4A2F1C;
    --brown-darker:#3A2414;
    --cream:#FBF3E7;
    --caramel:#C9812C;
    --caramel-warm:#D8A06A;
    --blush:#F2C9A0;
    --ink:#2B1B10;
    --line: rgba(74,47,28,0.14);
    --ease-luxury: cubic-bezier(.16,1,.3,1);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    background:var(--cream);
    color:var(--ink);
    font-family:'DM Sans', sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    color:var(--brown-deep);
    margin:0;
  }
  a{color:inherit;}
  .wrap{max-width:960px;margin:0 auto;padding:0 28px;}

  /* Scallop divider */
  .scallop{display:block;width:100%;height:22px;line-height:0;}
  .scallop svg{display:block;width:100%;height:100%;}

  /* HERO */
  .hero{
    background:var(--brown-deep);
    color:var(--cream);
    text-align:center;
    padding:104px 24px 64px;
    position:relative;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 50% 16%, rgba(255,255,255,0.075), transparent 46%),
      radial-gradient(circle at 12% 88%, rgba(255,255,255,0.04), transparent 42%),
      radial-gradient(circle at 90% 80%, rgba(255,255,255,0.04), transparent 42%),
      radial-gradient(ellipse at 50% 45%, transparent 52%, rgba(0,0,0,0.38) 100%);
    pointer-events:none;
  }
  /* grain/noise overlay removed for a clean matte finish */

  /* SMS Login button */
  .sms-login-btn{
    position:absolute;
    top:24px;
    right:24px;
    z-index:5;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    line-height:1.15;
    text-decoration:none;
    font-family:'Fredoka', sans-serif;
    color:var(--cream);
    background:rgba(255,255,255,0.06);
    border:1.25px solid rgba(242,201,160,0.4);
    border-radius:999px;
    padding:9px 18px;
    cursor:pointer;
    transition:background .35s var(--ease-luxury), border-color .35s var(--ease-luxury), transform .35s var(--ease-luxury);
  }
  .sms-login-btn:hover,
  .sms-login-btn:focus-visible{
    background:rgba(255,255,255,0.12);
    border-color:var(--caramel);
    transform:translateY(-2px);
  }
  .sms-login-btn:focus-visible{
    outline:2px solid var(--caramel);
    outline-offset:2px;
  }
  .sms-login-btn .sms-main{
    font-size:14px;
    font-weight:700;
    letter-spacing:.04em;
  }
  .sms-login-btn .sms-sub{
    font-size:9.5px;
    font-weight:500;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--blush);
    margin-top:1px;
  }
  @media (max-width:480px){
    .sms-login-btn{top:16px; right:16px; padding:7px 14px;}
    .sms-login-btn .sms-main{font-size:12px;}
    .sms-login-btn .sms-sub{font-size:8px;}
  }

  @keyframes fadeSlideUp{
    from{opacity:0; transform:translateY(16px);}
    to{opacity:1; transform:translateY(0);}
  }

  .hero-announce{position:relative; margin-bottom:80px;}

  .script-line{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin:0 0 20px;
    line-height:1;
    font-family:'Allura', cursive;
    font-weight:400;
    font-size:clamp(30px, 6.4vw, 44px);
    color:var(--caramel-warm);
    opacity:0;
    animation:fadeSlideUp 650ms ease-out 0ms both;
  }
  .flourish{
    display:inline-block;
    width:34px;
    height:14px;
    flex:0 0 auto;
    opacity:0.75;
  }
  .flourish svg{display:block;width:100%;height:100%;}
  .flourish-right{transform:scaleX(-1);}

  .pill-wrap{
    display:flex;
    justify-content:center;
    margin:0 0 14px;
    opacity:0;
    animation:fadeSlideUp 650ms ease-out 200ms both;
  }
  .pill{
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    letter-spacing:0.2em;
    text-transform:uppercase;
    font-size:clamp(10.5px, 2.9vw, 13.5px);
    color:var(--cream);
    background:transparent;
    border:1.25px solid rgba(201,129,44,0.55);
    border-radius:999px;
    padding:11px clamp(16px, 4vw, 26px);
  }
  .pill .bullet{color:var(--caramel); margin:0 10px; font-size:0.8em;}

  .right-now{
    position:relative;
    display:inline-block;
    margin:0;
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    letter-spacing:0.14em;
    text-transform:uppercase;
    font-size:clamp(12.5px, 2.6vw, 15px);
    color:rgba(251,243,231,0.72);
    opacity:0;
    animation:fadeSlideUp 650ms ease-out 350ms both;
  }
  .right-now .swoosh{
    position:absolute;
    left:50%;
    top:100%;
    transform:translateX(-50%);
    width:74px;
    height:14px;
    margin-top:6px;
    opacity:0.6;
  }
  .right-now .swoosh svg{display:block;width:100%;height:100%;}

  .logo-wrap{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    text-align:center;
  }
  .logo-img{
    width:min(560px, 86vw);
    height:auto;
    margin:0 0 18px;
    display:block;
    overflow:visible;
    color:var(--cream);
    opacity:0;
    animation:fadeSlideUp 650ms ease-out 500ms both;
  }
  @media (max-width:480px){
    .hero{padding:80px 20px 56px;}
    .hero-announce{margin-bottom:64px;}
    .flourish{width:26px;}
    .pill{padding:10px clamp(14px, 5vw, 18px);}
  }
  .hero p.lede{
    max-width:520px;
    margin:18px auto 0;
    font-size:17px;
    line-height:1.7;
    color:rgba(251,243,231,0.86);
  }
  .oven-line{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:34px;
    font-family:'Fredoka', sans-serif;
    font-size:15px;
    color:var(--blush);
  }
  .oven-line .dot{width:6px;height:6px;border-radius:50%; background:var(--caramel); animation:pulse 1.6s ease-in-out infinite;}
  .oven-line .dot:nth-child(4){animation-delay:.2s;}
  .oven-line .dot:nth-child(5){animation-delay:.4s;}
  @keyframes pulse{0%,100%{opacity:.35;} 50%{opacity:1;}}

  /* NOTIFY / STORY SECTION */
  .notify{padding:56px 24px 60px; text-align:center;}
  .notify h2{font-size:26px;margin-bottom:10px;}
  .notify p{max-width:460px;margin:0 auto 26px; color:#5b4534; line-height:1.6; font-size:15.5px;}
  .story{max-width:600px; margin:0 auto; text-align:left;}
  .story p{max-width:none; text-align:justify; line-height:1.5; margin-bottom:16px; color:#5b4534; font-size:15.5px;}
  .form-note{font-size:12.5px;color:#8a7360;margin-top:12px; text-align:center;}

  /* WHAT TO EXPECT + CONTACT */
  .details{
    background:var(--brown-deep);
    border-top:1px solid rgba(251,243,231,0.08);
    border-bottom:1px solid rgba(251,243,231,0.08);
    padding:80px 24px 88px;
    position:relative;
    overflow:hidden;
  }
  .details::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 50% 0%, rgba(255,255,255,0.06), transparent 55%);
    pointer-events:none;
  }
  .expect-inner{
    max-width:960px;
    margin:0 auto;
    text-align:center;
    position:relative;
    opacity:0;
    transform:translateY(24px);
    transition:opacity .7s ease-out, transform .7s ease-out;
  }
  .details.in-view .expect-inner{opacity:1; transform:translateY(0);}
  .expect-eyebrow{
    font-family:'Fredoka', sans-serif;
    font-size:12px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--blush);
    opacity:.75;
    margin:0 0 14px;
  }
  .expect-heading{
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    font-size:clamp(26px, 4vw, 34px);
    color:var(--cream);
    margin:0 0 48px;
    letter-spacing:.01em;
  }

  /* UPDATED INTERACTIVE GRID LAYOUT */
  .expect-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 28px;
    list-style: none;
    margin: 0 auto 56px;
    padding: 0;
  }
  .expect-grid li{
    background: rgba(255,255,255,0.03); /* Subtle luxury card background */
    border: 1px solid rgba(242,201,160,0.15);
    border-radius: 16px;
    overflow: hidden;
    text-align: center;
    cursor: pointer;
    font-family: 'DM Sans', sans-serif;
    font-size: 17px;
    font-weight: 500;
    color: rgba(251,243,231,0.92);
    padding-bottom: 20px;
    transition: transform 0.4s var(--ease-luxury), box-shadow 0.4s var(--ease-luxury), border-color 0.4s var(--ease-luxury), background 0.4s var(--ease-luxury);
  }
  .expect-grid li:hover{
    transform: translateY(-8px);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.25);
    border-color: rgba(201,129,44,0.6); /* Caramel border glow on hover */
    background: rgba(255,255,255,0.06);
    color: var(--cream);
  }
  .expect-icon{
    width: 100%;
    aspect-ratio: 1 / 1;
    position: relative;
    background: rgba(0,0,0,0.15); /* Deepens the image well area slightly */
    display: block;
    margin-bottom: 16px;
    overflow: hidden;
  }
  .expect-icon img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 32px; /* Adjust this to make the SVGs larger/smaller inside the squares */
    box-sizing: border-box;
    object-fit: contain;
    transition: transform 0.5s var(--ease-luxury);
  }
  .expect-grid li:hover .expect-icon img{
    transform: scale(1.1);
  }

  .expect-divider{
    width:64px;
    height:1px;
    margin:0 auto 0;
    background:linear-gradient(90deg, transparent, var(--caramel), transparent);
    opacity:.6;
  }

  @media (max-width:640px){
    .details{padding:64px 20px 72px;}
    .expect-heading{margin-bottom:40px;}
    /* On mobile, use a 2-column grid instead of 1 so cards aren't gigantic */
    .expect-grid{
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 16px;
    }
    .expect-grid li { font-size: 15px; padding-bottom: 16px; }
    .expect-icon img { padding: 24px; }
  }

  @media (prefers-reduced-motion: reduce){
    .expect-inner{opacity:1; transform:none; transition:none;}
    .expect-grid li { transition: none; }
    .expect-icon img { transition: none; }
  }

  /* TERMS */
  .terms{padding:60px 24px 40px;}
  .terms .inner{max-width:720px;margin:0 auto;}

  /* TIMER STYLES */
  .timer-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin:28px 0 12px;
    padding:18px 22px;
    position:relative;
  }
  .timer-top{max-width:880px;margin-left:auto;margin-right:auto;}
  .timer-graphics{
    position:absolute;
    inset:auto auto 0 50%;
    transform:translateX(-50%);
    width:92%;
    height:64px;
    pointer-events:none;
    z-index:0;
    background: radial-gradient(closest-side at 10% 20%, rgba(201,129,44,0.06), transparent 20%),
                radial-gradient(closest-side at 90% 80%, rgba(216,160,106,0.05), transparent 18%);
    border-radius:14px;
  }
  .timer-display{
    position:relative;
    z-index:1;
    display:inline-block;
    background:linear-gradient(180deg, rgba(74,47,28,0.98), rgba(58,36,20,0.98));
    color:var(--cream);
    padding:18px 28px;
    border-radius:12px;
    font-family:'Fredoka', sans-serif;
    font-weight:700;
    font-size:clamp(28px,6vw,64px);
    letter-spacing:0.02em;
    box-shadow:0 8px 20px rgba(58,36,20,0.18), inset 0 -2px 0 rgba(255,255,255,0.02);
  }
  @media (max-width:640px){
    .timer-wrap{padding:12px 14px; margin:20px 0 8px}
    .timer-display{font-size:clamp(22px,10vw,44px); padding:12px 16px}
    .timer-graphics{height:44px}
  }
  .terms h2{font-size:24px;margin-bottom:6px;}
  .terms .updated{font-size:13px;color:#8a7360;margin-bottom:30px;}
  .terms h3{font-family:'Fredoka', sans-serif; font-size:16px; color:var(--brown-deep); margin:26px 0 8px;}
  .terms p, .terms li{font-size:14.5px; line-height:1.75; color:#4a3a2c;}
  .terms ul{padding-left:20px; margin:8px 0;}
  .terms ol{padding-left:20px; margin:8px 0;}
  .terms li{margin-bottom:4px;}

  /* ===================================================================
     PAGE HEADER (Contact / T&C / Contributions) — ORIGINAL, SHARED
     =================================================================== */
  .page-header{
    background:var(--brown-deep);
    color:var(--cream);
    text-align:center;
    padding:56px 24px 40px;
    position:relative;
    overflow:hidden;
  }
  .page-header::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 50% 16%, rgba(255,255,255,0.075), transparent 46%),
      radial-gradient(ellipse at 50% 45%, transparent 52%, rgba(0,0,0,0.38) 100%);
    pointer-events:none;
  }
  .page-header .inner{position:relative;}
  .back-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-family:'Fredoka', sans-serif;
    font-size:13px;
    letter-spacing:.04em;
    color:rgba(251,243,231,0.8);
    text-decoration:none;
    border-bottom:1px solid rgba(242,201,160,0.35);
    padding-bottom:2px;
    margin-bottom:22px;
    transition:color .2s ease, border-color .2s ease;
  }
  .back-link:hover, .back-link:focus-visible{color:var(--cream); border-color:var(--caramel-warm);}
  .page-header h1{color:var(--cream); font-size:clamp(26px, 4vw, 34px);}

  /* ===================================================================
     CONTACT + CONTRIBUTIONS CARDS — ORIGINAL, SHARED
     (used as-is by contact.html and tandc.html; contributions.html
     overrides these below, scoped to body.contributions only)
     =================================================================== */
  .contact-section{padding:70px 24px 88px;}
  .contact-inner{max-width:520px; margin:0 auto; text-align:center;}
  .contact-lede{font-size:15px; line-height:1.75; color:#4a3a2c; margin:0 0 40px;}
  .contact-cards{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px;}
  .contact-cards li{
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:18px 22px;
    display:flex;
    align-items:center;
    gap:16px;
    text-align:left;
  }
  .contact-icon{
    font-size:20px;
    line-height:1;
    flex:0 0 auto;
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(201,129,44,0.1);
    border:1px solid rgba(201,129,44,0.25);
  }
  .contact-icon img{width:24px;height:24px;object-fit:contain;display:block;}
  .contact-icon svg{width:22px;height:22px;display:block;color:var(--caramel);}
  .contact-detail{display:flex; flex-direction:column; gap:2px;}
  .contact-dash{display:none;}
  .contact-label{
    font-family:'Fredoka', sans-serif;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#8a7360;
  }
  .contact-value{
    font-family:'Fredoka', sans-serif;
    font-weight:600;
    font-size:16px;
    color:var(--brown-deep);
    text-decoration:none;
    word-break:break-word;
  }
  a.contact-value:hover, a.contact-value:focus-visible{color:var(--caramel);}

  /* ===================================================================
     CONTRIBUTIONS-ONLY LUXURY REDESIGN
     Scoped to body.contributions so it can never leak onto Contact or
     T&C, even though they share the .page-header / .contact-* classes.
     Add class="contributions" to <body> in contributions.html.
     =================================================================== */
  body.contributions .page-header{
    padding:64px 24px 48px;
    background:linear-gradient(165deg, #4B2D1B 0%, #5A3520 52%, #6A4228 100%);
  }
  body.contributions .page-header::before{
    background:
      radial-gradient(circle at 50% 8%, rgba(255,255,255,0.09), transparent 48%),
      radial-gradient(circle at 88% 92%, rgba(200,154,91,0.10), transparent 55%),
      radial-gradient(ellipse at 50% 45%, transparent 52%, rgba(0,0,0,0.35) 100%);
  }
  body.contributions .back-link{
    font-size:12.5px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:rgba(251,243,231,0.72);
    border-bottom:1px solid rgba(242,201,160,0.3);
    padding-bottom:3px;
    margin-bottom:26px;
    transition:color .35s var(--ease-luxury), border-color .35s var(--ease-luxury);
  }
  body.contributions .back-link:hover,
  body.contributions .back-link:focus-visible{
    color:var(--cream);
    border-color:var(--caramel-warm);
  }
  body.contributions .page-header h1{
    font-weight:500;
    letter-spacing:.01em;
  }

  body.contributions .contact-section{
    padding:96px 24px 120px;
    position:relative;
    background:
      radial-gradient(ellipse 900px 500px at 50% 0%, rgba(201,129,44,0.06), transparent 62%),
      radial-gradient(ellipse 700px 500px at 100% 100%, rgba(216,160,106,0.05), transparent 60%),
      radial-gradient(ellipse 1200px 800px at 50% 40%, #F8F1E7 0%, #F3E8D8 55%, #EAD9C5 100%),
      radial-gradient(ellipse 1400px 900px at 50% 50%, transparent 55%, rgba(74,47,28,0.05) 100%);
  }
  body.contributions .contact-section::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.035;
    mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    background-size:160px 160px;
  }
  body.contributions .contact-inner{
    max-width:560px;
    position:relative;
  }
  body.contributions .contact-lede{
    font-size:15.5px;
    line-height:1.85;
    color:#6b5644;
    font-weight:400;
    letter-spacing:.005em;
    margin:0 0 64px;
  }

  body.contributions .contact-cards li{
    background:#FFF8F1;
    border:1px solid rgba(170,130,90,0.25);
    border-radius:22px;
    padding:28px 30px;
    gap:20px;
    box-shadow:0 12px 35px rgba(70,40,20,0.08);
    transition:transform 420ms var(--ease-luxury), box-shadow 420ms var(--ease-luxury), border-color 420ms var(--ease-luxury), opacity 700ms ease, transform 700ms ease;
    opacity:0;
    transform:translateY(16px);
  }
  body.contributions .contact-cards li.in-view{
    opacity:1;
    transform:translateY(0);
  }
  body.contributions .contact-cards li:hover,
  body.contributions .contact-cards li:focus-within{
    transform:translateY(-3px);
    box-shadow:0 18px 44px rgba(70,40,20,0.12);
    border-color:rgba(200,154,91,0.4);
  }

  body.contributions .contact-icon{
    font-size:17px;
    width:48px;
    height:48px;
    background:radial-gradient(circle at 35% 30%, rgba(255,244,222,0.95), rgba(200,154,91,0.16) 62%, rgba(200,154,91,0.07) 100%);
    border:1px solid rgba(200,154,91,0.35);
    box-shadow:inset 0 1px 2px rgba(255,255,255,0.6), inset 0 -3px 5px rgba(154,102,42,0.14);
    transition:box-shadow 350ms var(--ease-luxury), transform 350ms var(--ease-luxury);
  }
  body.contributions .contact-cards li:hover .contact-icon{
    box-shadow:inset 0 1px 2px rgba(255,255,255,0.7), inset 0 -3px 6px rgba(154,102,42,0.2), 0 0 0 4px rgba(200,154,91,0.08);
  }

  body.contributions .contact-detail{
    align-items:flex-start;
    gap:6px;
  }

  body.contributions .contact-label{
    font-size:10px;
    font-weight:500;
    letter-spacing:.2em;
    opacity:.85;
  }

  body.contributions .contact-value{
    font-size:19px;
    letter-spacing:.005em;
    line-height:1.3;
  }
  body.contributions a.contact-value{
    transition:color 350ms var(--ease-luxury);
  }

  /* CONTRIBUTIONS GROUPS */
  .contrib-group{margin-top:80px;}
  .contrib-group:first-of-type{margin-top:8px;}
  .contrib-group-title{
    display:flex;
    align-items:center;
    gap:12px;
    font-family:'Fredoka', sans-serif;
    font-weight:500;
    font-size:12.5px;
    letter-spacing:.18em;
    text-transform:uppercase;
    text-align:left;
    color:#7a5c42;
    margin:0 0 24px;
    padding-bottom:18px;
    position:relative;
  }
  .contrib-group-title::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:1px;
    background:linear-gradient(90deg, rgba(200,154,91,0.4), rgba(74,47,28,0.08) 55%, rgba(74,47,28,0));
  }
  .contrib-icon{
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    border-radius:50%;
    font-size:12px;
    line-height:1;
    background:radial-gradient(circle at 35% 30%, rgba(255,244,222,0.9), rgba(200,154,91,0.14) 70%);
    border:1px solid rgba(200,154,91,0.3);
    transform:translateY(-1px);
  }
  .contrib-title-text{display:inline-block;}

  @media (max-width:640px){
    body.contributions .contact-section{padding:72px 20px 88px;}
    body.contributions .contact-lede{margin-bottom:48px;}
    .contrib-group{margin-top:60px;}
    body.contributions .contact-cards li{padding:22px 22px; border-radius:20px;}
    body.contributions .contact-icon{width:44px; height:44px; font-size:16px;}
  }

  body.contributions footer{
    background:linear-gradient(165deg, #3A2414, #4B2D1B 60%, #5A3520 100%);
    box-shadow:0 -14px 34px rgba(30,15,5,0.22);
    color:rgba(248,241,231,0.75);
  }

  footer{
    margin-top:auto;
    background:var(--brown-deep);
    color:rgba(251,243,231,0.7);
    text-align:center;
    padding:30px 24px;
    font-size:13px;
  }
  footer strong{color:var(--cream); font-family:'Fredoka', sans-serif;}
  footer a{color:rgba(251,243,231,0.85); text-decoration:none; border-bottom:1px solid rgba(242,201,160,0.35);}
  footer a:hover, footer a:focus-visible{color:var(--cream);}