/* Plant Bingo Florida — site styles
   Palette + type from the brand guide (brand-guide/brand-guide.html). */

:root{
  --deep:   #3D7C33;  /* forest ground */
  --stem:   #2E5F28;  /* darker green for stems/gradient ends */
  --forest: #3F6B3C;  /* moss — primary text green */
  --sage:   #4CC15E;
  --fern:   #A0E091;
  --rose:   #F0776B;
  --blush:  #FAD4C8;
  --gold:   #E8B54A;
  --clay:   #C96A4E;
  --cream:  #F7F0E4;
  --ink:    #233521;

  --bg:      #F7F0E4;
  --bg-alt:  #EDE6D8;
  --bg-card: #FBF8F1;
  --fg:      #233521;
  --fg-muted:#5E6D5B;
  --border:  rgba(63,107,60,.13);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Georgia,'Book Antiqua',Palatino,'Palatino Linotype',serif;
  background:var(--bg);color:var(--fg);
  -webkit-font-smoothing:antialiased;line-height:1.6;
}
a{color:var(--forest)}
img,svg{max-width:100%}

.lbl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage)}
.hed{font-size:clamp(26px,4vw,38px);font-weight:400;letter-spacing:.06em;text-transform:uppercase;text-wrap:balance;line-height:1.1;color:var(--fg)}
.body-copy{font-size:15px;line-height:1.8;color:var(--fg-muted);max-width:58ch}

/* NAV */
.nav{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 28px;background:rgba(247,240,228,.94);
  border-bottom:1px solid var(--border);backdrop-filter:blur(6px);
}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-brand img{width:34px;height:auto}
.nav-brand span{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--forest)}
.nav-links{display:flex;gap:22px;flex-wrap:wrap}
.nav-links a{font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--fg-muted)}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--forest)}
.nav-links a.nav-cta{color:var(--rose)}

/* HERO */
.hero{
  background:var(--deep);min-height:88svh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:80px 32px;position:relative;overflow:hidden;
}
.hero-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,220,210,.18) 3px,transparent 3px);background-size:40px 40px;pointer-events:none}
.hero-leaf{position:absolute}
.hero-bee{position:absolute;pointer-events:none}
.bee-bob{animation:bee-bob 4.5s ease-in-out infinite}
@keyframes bee-bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-9px) rotate(4deg)}}
.hero-inner{position:relative;z-index:1}
.hero-eyebrow{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(240,250,232,.8);margin-bottom:34px}
.hero-plant,.hero-bingo{display:block;font-size:clamp(48px,10vw,88px);font-weight:400;letter-spacing:.22em;line-height:1;text-transform:uppercase}
.hero-plant{color:var(--cream)}
.hero-rule{width:36px;height:1px;background:var(--gold);opacity:.5;margin:22px auto}
.hero-florida{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:rgba(242,250,235,.85)}
.hero-tagline{font-size:clamp(17px,2.4vw,22px);font-style:italic;color:rgba(255,230,221,.95);margin-top:32px;letter-spacing:.03em}
.hero-sub{font-size:13px;color:rgba(250,246,238,.85);margin-top:12px}
.hero-cta{margin-top:36px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* BUTTONS */
.btn{
  display:inline-block;padding:13px 30px;font-family:inherit;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  border:1px solid transparent;transition:transform .15s ease,opacity .15s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn--rose{background:var(--rose);color:#fff}
.btn--ghost{background:transparent;color:var(--cream);border-color:rgba(247,240,228,.55)}
.btn--forest{background:var(--forest);color:var(--cream)}
.btn[aria-disabled="true"]{background:var(--bg-alt);color:var(--fg-muted);pointer-events:none}

/* SECTIONS */
.sec{padding:88px 40px}
.sec-inner{max-width:960px;margin:0 auto}
.sec-hd{margin-bottom:44px;display:flex;flex-direction:column;gap:10px}
.sec--alt{background:var(--bg-alt)}
.sec--dark{background:var(--deep);color:var(--cream)}
.sec--dark .lbl{color:rgba(222,245,208,.9)}
.sec--dark .hed{color:var(--cream)}
.sec--dark .body-copy{color:rgba(250,246,238,.88)}

/* BINGO five-color device */
.bingo-b{color:var(--rose)} .bingo-i{color:var(--gold)} .bingo-n{color:var(--fern)}
.bingo-g{color:var(--clay)} .bingo-o{color:var(--blush)}
.on-light .bingo-n{color:var(--sage)} .on-light .bingo-o{color:var(--forest)}

/* EVENT CARDS */
.events{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.event{
  background:var(--bg-card);border:1px solid var(--border);
  padding:26px 26px 24px;position:relative;display:flex;flex-direction:column;gap:6px;
}
.event-stripe{position:absolute;top:0;left:0;right:0;height:5px;display:flex}
.event-stripe span{flex:1}
.event-date{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--clay);margin-top:6px}
.event-venue{font-size:20px;letter-spacing:.03em;color:var(--fg);line-height:1.25}
.event-city{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.event-meta{font-size:13px;color:var(--fg-muted);margin-top:4px}
.event .btn{margin-top:16px;align-self:flex-start;padding:11px 24px}
.event--soldout .event-venue{color:var(--fg-muted)}
.soldout-flag{position:absolute;top:16px;right:-8px;background:var(--clay);color:#fff;font-size:9px;letter-spacing:.2em;text-transform:uppercase;padding:4px 12px;transform:rotate(3deg)}
.events-empty{border:1px dashed var(--border);padding:44px 32px;text-align:center;color:var(--fg-muted);font-style:italic;font-size:15px}
.events-empty a{color:var(--clay)}
.cal-links{font-size:11px;color:var(--fg-muted);margin-top:10px;letter-spacing:.04em}
.cal-links a{color:var(--forest)}

/* HOW IT WORKS */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px;background:var(--border)}
.step{background:var(--bg-card);padding:36px 30px;position:relative}
.step-icon{width:44px;height:44px;margin-bottom:16px}
.step-lbl{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin-bottom:10px}
.step-title{font-size:17px;color:var(--fg);margin-bottom:8px}
.step-body{font-size:13px;line-height:1.75;color:var(--fg-muted)}

/* PROMISE BAND */
.promise{text-align:center;position:relative;overflow:hidden}
.promise-text{font-size:clamp(26px,4.6vw,44px);font-style:italic;color:var(--blush);line-height:1.3;max-width:20ch;margin:0 auto}
.promise-sub{font-size:13px;color:rgba(250,246,238,.85);margin-top:18px}

/* PITCH LISTS (venues / private) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.panel{padding:22px 26px;border-left:2px solid var(--sage);background:var(--bg-card)}
.panel--rose{border-left-color:var(--rose)}
.panel .lbl{margin-bottom:10px;display:block}
.panel ul{list-style:none;font-size:14px;color:var(--fg-muted);line-height:2}
.faq dt{font-size:15px;color:var(--fg);margin-top:22px}
.faq dd{font-size:14px;color:var(--fg-muted);line-height:1.8;margin-top:4px}

/* FOOTER */
footer{background:var(--deep);color:rgba(238,250,230,.65);text-align:center;padding:48px 32px;font-size:10px;letter-spacing:.22em;text-transform:uppercase}
footer strong{display:block;color:rgba(250,246,238,.92);font-size:11px;letter-spacing:.28em;margin-bottom:10px;font-weight:400}
footer a{color:rgba(250,246,238,.92);text-decoration:none}
footer a:hover{color:var(--blush)}
.foot-links{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.foot-flora{display:flex;gap:16px;justify-content:center;align-items:center;margin-bottom:18px}

@media(max-width:700px){
  .sec{padding:60px 22px}
  .hero{padding:60px 22px;min-height:76svh}
  .split{grid-template-columns:1fr}
  .nav{padding:12px 16px}
  .nav-links{gap:14px}
  .hero-bee--2,.hero-flowers--2{display:none}
  .hero-flowers{width:78px!important}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
