:root {
  --nectar-ink: #18332d;
  --nectar-green: #16624f;
  --nectar-mint: #eaf5ef;
  --nectar-gold: #e6ad3c;
}

body {
  background:
    radial-gradient(circle at 90% 8%, rgba(230, 173, 60, .13), transparent 18rem),
    radial-gradient(circle at 5% 28%, rgba(22, 98, 79, .09), transparent 22rem),
    linear-gradient(180deg, #f6fbf8 0, #fff 38rem);
  color: var(--nectar-ink);
  min-height: 100vh;
}

.bot-trap {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  width: 1px;
}

.content-width { max-width: 760px; }
.editor-width { max-width: 920px; }
.editor-access-card { max-width: 620px; }
.editor-section { border: 1px solid #dce8e2; border-radius: 1rem; padding: 1.25rem; }
.editor-section legend { color: var(--nectar-ink); float: none; padding: 0 .35rem; width: auto; }
.editor-textarea { min-height: 22rem; resize: vertical; }
.faq-editor-textarea { min-height: 28rem; }
.brand-name { color: var(--nectar-ink); font-size: 1.2rem; font-weight: 700; }
.brand-lockup { line-height: 1.15; }
.brand-tagline {
  color: #587069;
  font-size: .72rem;
  letter-spacing: .035em;
  margin-top: .2rem;
}
.brand-lockup:hover .brand-name,
.brand-lockup:focus .brand-name { color: var(--nectar-green); }
.brand-mark {
  align-items: center;
  background: var(--nectar-green);
  border-radius: 50% 50% 45% 55%;
  color: white;
  display: inline-flex;
  font-weight: 800;
  height: 2.25rem;
  justify-content: center;
  transform: rotate(-5deg);
  width: 2.25rem;
}
.brand-mark::first-letter { transform: rotate(5deg); }
.eyebrow { color: var(--nectar-green); font-size: .8rem; font-weight: 800; letter-spacing: .14em; }
.lead-copy { color: #40534e; font-size: 1.15rem; line-height: 1.7; }
.lead-copy > :last-child { margin-bottom: 0; }
.trust-strip {
  background: rgba(255, 255, 255, .72);
  border: 1px solid #dcebe3;
  border-radius: 1rem;
  color: #36564d;
  font-size: .9rem;
  padding: .85rem 1rem;
}
.trust-strip span span { color: var(--nectar-green); font-weight: 800; margin-right: .25rem; }
.signup-card {
  background: linear-gradient(145deg, #edf7f1 0%, #f8fcfa 48%, #fffaf0 100%);
  border: 1px solid #d7e8de;
  border-radius: 1.5rem;
  box-shadow: 0 1.25rem 3.5rem rgba(30, 68, 57, .12) !important;
  overflow: visible;
  position: relative;
}
.signup-card::before {
  background: var(--nectar-gold);
  border-radius: 999px;
  content: "";
  height: .35rem;
  left: 2rem;
  position: absolute;
  right: 2rem;
  top: 0;
}
.signup-card .form-control { background-color: rgba(255, 255, 255, .9); }
.form-control:focus, .form-check-input:focus { border-color: var(--nectar-green); box-shadow: 0 0 0 .25rem rgba(22, 98, 79, .16); }
.btn-primary { --bs-btn-bg: var(--nectar-green); --bs-btn-border-color: var(--nectar-green); --bs-btn-hover-bg: #104c3d; --bs-btn-hover-border-color: #104c3d; }
.btn-outline-primary { --bs-btn-color: var(--nectar-green); --bs-btn-border-color: var(--nectar-green); --bs-btn-hover-bg: var(--nectar-green); --bs-btn-hover-border-color: var(--nectar-green); }
.consent-box { background: var(--nectar-mint); }
.preference-option { background: #f6f9f7; border: 1px solid #dce8e2; }
.preference-option:has(.form-check-input:checked) { background: var(--nectar-mint); border-color: #b9d9c8; }
.regional-question { background: rgba(255, 255, 255, .58); border: 1px solid #d8e7df; }
.regional-option { background: rgba(255, 255, 255, .82); }
.location-suggestions { left: 0; position: absolute; right: 0; top: calc(100% + .25rem); z-index: 10; }
.location-suggestions:empty { display: none; }
.location-chip { background: var(--nectar-mint); border: 1px solid #cce4d7; border-radius: 2rem; display: inline-flex; margin: 0 .35rem .35rem 0; padding: .35rem .45rem .35rem .8rem; }
.location-chip button { background: none; border: 0; color: #49625b; line-height: 1; margin-left: .3rem; padding: 0 .2rem; }
.status-icon { align-items: center; background: var(--nectar-mint); border-radius: 50%; color: var(--nectar-green); display: flex; font-size: 2rem; height: 5rem; justify-content: center; width: 5rem; }
.status-icon.success { background: var(--nectar-green); color: white; }
.status-copy { max-width: 620px; }
.share-card { background: #f3f8f5; max-width: 580px; }
.site-footer { border-top: 1px solid #edf1ef; }
.site-footer a { color: #4a665e; }
.site-footer a:hover { color: var(--nectar-green); }
.privacy-content { color: #40534e; font-size: 1.05rem; line-height: 1.75; }
.privacy-content h2 { color: var(--nectar-ink); font-size: 1.35rem; font-weight: 700; margin-top: 2.25rem; }
.privacy-content a { color: var(--nectar-green); }
.faq-item {
  background: rgba(255, 255, 255, .82);
  border: 1px solid #d9e8e0;
  border-radius: 1rem;
  box-shadow: 0 .4rem 1.25rem rgba(30, 68, 57, .05);
  overflow: hidden;
}
.faq-item summary {
  color: var(--nectar-ink);
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 700;
  list-style: none;
  padding: 1.15rem 3.25rem 1.15rem 1.25rem;
  position: relative;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  color: var(--nectar-green);
  content: "+";
  font-size: 1.5rem;
  font-weight: 400;
  position: absolute;
  right: 1.25rem;
  top: .8rem;
}
.faq-item[open] summary::after { content: "−"; }
.faq-item[open] summary { border-bottom: 1px solid #e4eee9; }
.faq-answer { color: #40534e; line-height: 1.7; padding: 1.15rem 1.25rem .35rem; }
.faq-answer > :last-child { margin-bottom: .8rem; }
.faq-answer a { color: var(--nectar-green); }

@media (max-width: 420px) {
  .brand-tagline { font-size: .66rem; letter-spacing: .015em; }
}
