/* ── Buttons ── */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: .5rem; padding: .625rem 1.5rem; font-size: .875rem; font-weight: 600;
  font-family: var(--font-sans); cursor: pointer; border: 2px solid transparent;
  transition: var(--transition); text-decoration: none; white-space: nowrap;
  border-radius: 0; line-height: 1.4;
}
.btn--primary { background: var(--navy); color: var(--white); border-color: var(--navy); }
.btn--primary:hover { background: var(--navy-light); border-color: var(--navy-light); color: var(--white); }
.btn--gold { background: var(--gold); color: var(--navy); border-color: var(--gold); }
.btn--gold:hover { background: var(--gold-light); border-color: var(--gold-light); color: var(--navy); }
.btn--outline { background: transparent; color: var(--navy); border-color: var(--navy); }
.btn--outline:hover { background: var(--navy); color: var(--white); }
.btn--outline-white { background: transparent; color: var(--white); border-color: rgba(255,255,255,.3); }
.btn--outline-white:hover { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.05); color: var(--white); }
.btn--outline-navy { background: transparent; color: var(--navy); border-color: var(--navy); }
.btn--outline-navy:hover { background: var(--navy); color: var(--white); }
.btn--sm { padding: .375rem 1rem; font-size: .8125rem; }
.btn--lg { padding: .875rem 2rem; font-size: 1rem; }
.btn--full { width: 100%; }
.btn:disabled { opacity: .4; cursor: not-allowed; }

/* ── Cards ── */
.card { background: var(--white); border: 1px solid var(--gray-light); padding: var(--space-8); }
.card--sm { padding: var(--space-6); }
.card--hover { transition: var(--transition); }
.card--hover:hover { border-color: var(--gold); }
.card--dark { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); }
.card--dark:hover { background: rgba(255,255,255,.1); }

/* ── Stat cards ── */
.stat-card { background: var(--white); border: 1px solid var(--gray-light); padding: var(--space-6); }
.stat-card__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-4); }
.stat-card__icon { width: 2.5rem; height: 2.5rem; display: flex; align-items: center; justify-content: center; }
.stat-card__icon--gold { background: rgba(212,165,116,.1); }
.stat-card__icon--navy { background: rgba(26,35,50,.1); }
.stat-card__label { font-size: .6875rem; color: var(--gray); text-transform: uppercase; letter-spacing: .05em; }
.stat-card__value { font-family: var(--font-serif); font-size: 1.875rem; font-weight: 700; color: var(--navy); margin-bottom: var(--space-1); }
.stat-card__value--gold { color: var(--gold); }
.stat-card__sub { font-size: .875rem; color: var(--gray); }
.stat-card__sub--gold { color: var(--gold); font-weight: 500; }

/* ── Forms ── */
.form-group { margin-bottom: var(--space-5); }
.form-label { display: block; font-size: .875rem; font-weight: 500; color: var(--navy); margin-bottom: var(--space-2); }
.form-input, .form-select, .form-textarea {
  width: 100%; padding: .75rem 1rem; border: 1px solid var(--gray-light);
  background: var(--white); font-size: .875rem; color: var(--navy);
  transition: var(--transition); border-radius: 0; font-family: var(--font-sans);
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(212,165,116,.15);
}
.form-input::placeholder { color: var(--gray); opacity: .6; }
.form-textarea { resize: vertical; min-height: 120px; }
.form-error { font-size: .75rem; color: var(--red); margin-top: var(--space-1); }
.form-hint { font-size: .75rem; color: var(--gray); margin-top: var(--space-1); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.search-wrap { position: relative; }
.search-wrap .form-input { padding-left: 2.5rem; }
.search-icon { position: absolute; left: .75rem; top: 50%; transform: translateY(-50%); color: var(--gray); width: 1rem; height: 1rem; }

/* ── Badges ── */
.badge { display: inline-block; font-size: .6875rem; font-weight: 600; padding: .25rem .625rem; text-transform: uppercase; letter-spacing: .04em; border-radius: 0; }
.badge--navy { background: rgba(26,35,50,.1); color: var(--navy); }
.badge--gold { background: rgba(212,165,116,.15); color: var(--gold-dark); }
.badge--gold-solid { background: var(--gold); color: var(--navy); }
.badge--green { background: #ecfdf5; color: #166534; }
.badge--red { background: #fef2f2; color: var(--red); }
.badge--gray { background: var(--gray-light); color: var(--gray); }

/* ── Tabs ── */
.tabs { display: inline-flex; background: var(--white); border: 1px solid var(--gray-light); padding: .25rem; gap: .25rem; }
.tab { padding: .5rem 1.5rem; font-size: .875rem; font-weight: 500; color: var(--gray); cursor: pointer; border: none; background: transparent; transition: var(--transition); display: flex; align-items: center; gap: var(--space-2); border-radius: 0; }
.tab:hover { color: var(--navy); }
.tab--active { background: var(--navy); color: var(--white); }

/* ── Alerts ── */
.alert { padding: var(--space-5) var(--space-6); display: flex; align-items: flex-start; gap: var(--space-4); }
.alert--gold { background: rgba(212,165,116,.1); border-left: 4px solid var(--gold); }
.alert--red { background: #fef2f2; border-left: 4px solid var(--red); }
.alert--green { background: #ecfdf5; border-left: 4px solid #22c55e; color: #166534; }
.alert__icon { flex-shrink: 0; color: var(--gold); margin-top: 2px; }
.alert__title { font-weight: 600; color: var(--navy); margin-bottom: var(--space-1); font-size: .875rem; }
.alert__body { font-size: .875rem; color: var(--gray); }

/* ── Accent left border ── */
.accent-left { border-left: 4px solid var(--gold); padding-left: var(--space-6); padding-top: var(--space-4); padding-bottom: var(--space-4); }

/* ── Page header ── */
.page-header { margin-bottom: var(--space-12); }
.page-header--flex { display: flex; align-items: flex-start; justify-content: space-between; }
.page-header__eyebrow { font-size: .8125rem; color: var(--gold); text-transform: uppercase; letter-spacing: .2em; margin-bottom: var(--space-3); display: flex; align-items: center; gap: var(--space-2); }
.page-header__title { font-family: var(--font-serif); font-size: 2.5rem; font-weight: 500; color: var(--navy); margin-bottom: var(--space-2); line-height: 1.2; }
.page-header__subtitle { color: var(--gray); font-size: 1rem; }

/* ── Quick actions ── */
.quick-action { width: 100%; text-align: left; padding: var(--space-4); border: 1px solid var(--gray-light); background: var(--white); cursor: pointer; transition: var(--transition); display: flex; align-items: center; gap: var(--space-3); font-size: .875rem; font-weight: 500; color: var(--navy); font-family: var(--font-sans); border-radius: 0; }
.quick-action:hover { border-color: var(--gold); background: rgba(212,165,116,.05); }
.quick-action__icon { color: var(--gold); flex-shrink: 0; }

/* ── Activity feed ── */
.activity-item { display: flex; align-items: flex-start; gap: var(--space-4); padding-bottom: var(--space-4); border-bottom: 1px solid var(--gray-light); }
.activity-item:last-child { border-bottom: none; padding-bottom: 0; }
.activity-item__icon { width: 2rem; height: 2rem; background: rgba(212,165,116,.1); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
.activity-item__text { color: var(--navy); margin-bottom: var(--space-1); font-size: .875rem; }
.activity-item__meta { display: flex; align-items: center; gap: var(--space-3); }
.activity-item__points { font-size: .8125rem; color: var(--gold); font-weight: 500; }
.activity-item__time { font-size: .8125rem; color: var(--gray); }

/* ── Monthly prompts widget ── */
.prompts-widget { background: linear-gradient(135deg, var(--navy), var(--navy-light)); padding: var(--space-8); color: var(--white); }
.prompts-widget__header { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-4); }
.prompts-widget__title { font-size: 1rem; font-weight: 600; color: var(--white); font-family: var(--font-sans); }
.prompts-widget__body { font-size: .875rem; color: rgba(255,255,255,.8); margin-bottom: var(--space-6); }
.prompt-item { display: flex; align-items: center; gap: var(--space-3); font-size: .875rem; margin-bottom: var(--space-3); }
.prompt-item__circle { width: 1.25rem; height: 1.25rem; border: 2px solid rgba(255,255,255,.3); border-radius: 50%; flex-shrink: 0; }
.prompt-item--done { color: rgba(255,255,255,.9); }
.prompt-item--pending { color: rgba(255,255,255,.5); }

/* ── Event card ── */
.event-card { background: var(--white); border: 1px solid var(--gray-light); transition: var(--transition); }
.event-card:hover { border-color: var(--gold); }
.event-card__body { padding: var(--space-8); }
.event-card__top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: var(--space-4); }
.event-card__title { font-family: var(--font-serif); font-size: 1.25rem; color: var(--navy); margin-bottom: var(--space-3); }
.event-card__desc { font-size: .875rem; color: var(--gray); line-height: 1.6; margin-bottom: var(--space-6); }
.event-card__meta { display: flex; flex-direction: column; gap: var(--space-3); margin-bottom: var(--space-6); }
.event-card__meta-row { display: flex; align-items: center; gap: var(--space-2); font-size: .875rem; color: var(--gray); }
.event-card__footer { display: flex; align-items: center; justify-content: space-between; padding-top: var(--space-6); border-top: 1px solid var(--gray-light); }
.event-card__attendees { font-size: .75rem; color: var(--gray); }

/* ── Deal card ── */
.deal-card { background: var(--white); border: 1px solid var(--gray-light); transition: var(--transition); margin-bottom: var(--space-6); }
.deal-card:hover { border-color: var(--gold); }
.deal-card__body { padding: var(--space-8); }
.deal-card__title { font-family: var(--font-serif); font-size: 1.25rem; color: var(--navy); margin-bottom: var(--space-3); }
.deal-card__desc { color: var(--gray); line-height: 1.7; margin-bottom: var(--space-4); }
.deal-card__meta { display: flex; align-items: center; gap: var(--space-6); margin-bottom: var(--space-6); font-size: .875rem; color: var(--gray); flex-wrap: wrap; }
.deal-card__meta-item { display: flex; align-items: center; gap: var(--space-2); }
.deal-card__footer { display: flex; align-items: center; justify-content: space-between; padding-top: var(--space-6); border-top: 1px solid var(--gray-light); flex-wrap: wrap; gap: var(--space-4); }
.deal-card__submitter { display: flex; align-items: center; gap: var(--space-3); }
.deal-card__avatar { width: 2.5rem; height: 2.5rem; background: var(--navy); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--white); font-weight: 600; font-size: .8125rem; flex-shrink: 0; }
.deal-card__name { font-size: .875rem; font-weight: 600; color: var(--navy); }
.deal-card__role { font-size: .75rem; color: var(--gray); }
.deal-card__actions { display: flex; align-items: center; gap: var(--space-3); }

/* ── Offer card ── */
.offer-card { background: var(--white); border: 1px solid var(--gray-light); transition: var(--transition); overflow: hidden; }
.offer-card:hover { border-color: var(--gold); }
.offer-card__image { aspect-ratio: 16/9; background: var(--navy-light); overflow: hidden; position: relative; }
.offer-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.offer-card:hover .offer-card__image img { transform: scale(1.05); }
.offer-card__badge-pos { position: absolute; top: 1rem; right: 1rem; }
.offer-card__expiry { position: absolute; bottom: 1rem; left: 1rem; display: flex; align-items: center; gap: var(--space-2); font-size: .75rem; color: var(--white); }
.offer-card__body { padding: var(--space-6); }
.offer-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-3); }
.offer-card__title { font-size: 1.0625rem; font-weight: 600; color: var(--navy); margin-bottom: var(--space-2); font-family: var(--font-sans); }
.offer-card__desc { font-size: .875rem; color: var(--gray); line-height: 1.6; margin-bottom: var(--space-4); }
.offer-card__provider { font-size: .75rem; color: var(--gray); margin-bottom: var(--space-2); }
.offer-card__pricing { display: flex; align-items: baseline; gap: var(--space-3); margin-bottom: var(--space-4); }
.offer-card__original { font-size: .75rem; color: var(--gray); text-decoration: line-through; }
.offer-card__member-price { font-size: 1.125rem; font-weight: 700; color: var(--gold); }
.offer-card__footer { display: flex; align-items: center; justify-content: space-between; padding-top: var(--space-4); border-top: 1px solid var(--gray-light); }

/* ── Coach card ── */
.coach-card { border: 2px solid var(--gray-light); background: var(--white); padding: var(--space-6); cursor: pointer; transition: var(--transition); width: 100%; text-align: left; border-radius: 0; }
.coach-card:hover { border-color: rgba(212,165,116,.5); }
.coach-card--selected { border-color: var(--gold); background: rgba(212,165,116,.05); }
.coach-card__header { display: flex; align-items: flex-start; gap: var(--space-4); margin-bottom: var(--space-4); }
.coach-card__avatar { width: 3rem; height: 3rem; background: var(--navy); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--white); font-weight: 600; flex-shrink: 0; font-size: .875rem; }
.coach-card__name { font-size: .9375rem; font-weight: 600; color: var(--navy); margin-bottom: var(--space-1); font-family: var(--font-sans); }
.coach-card__specialty { font-size: .8125rem; color: var(--gray); }
.coach-card__stats { display: flex; align-items: center; justify-content: space-between; font-size: .75rem; color: var(--gray); }

/* ── Slot grid ── */
.slot-grid { width: 100%; border-collapse: collapse; }
.slot-grid th { text-align: center; font-size: .875rem; font-weight: 600; color: var(--navy); padding-bottom: 1rem; padding-left: .5rem; padding-right: .5rem; }
.slot-grid th:first-child { text-align: left; padding-right: 1rem; }
.slot-grid td { padding: .375rem .5rem; border-top: 1px solid var(--gray-light); }
.slot-grid td:first-child { padding-right: 1rem; font-size: .875rem; color: var(--gray); font-weight: 500; white-space: nowrap; }
.slot-btn { width: 100%; padding: .625rem; font-size: .8125rem; font-weight: 500; border: 1px solid transparent; cursor: pointer; transition: var(--transition); border-radius: 0; font-family: var(--font-sans); }
.slot-btn--available { background: var(--cream); color: var(--navy); }
.slot-btn--available:hover { background: rgba(212,165,116,.2); border-color: var(--gold); }
.slot-btn--selected { background: var(--gold); color: var(--navy); border-color: var(--gold); }
.slot-btn--unavailable { background: var(--gray-lighter); color: var(--gray-light); cursor: not-allowed; }

/* ── Leaderboard ── */
.leaderboard-item { display: flex; align-items: center; justify-content: space-between; padding: var(--space-3) 0; }
.leaderboard-item__rank { width: 1.5rem; height: 1.5rem; background: rgba(212,165,116,.2); display: flex; align-items: center; justify-content: center; color: var(--gold); font-size: .75rem; font-weight: 700; flex-shrink: 0; }
.leaderboard-item__name { font-size: .875rem; color: var(--navy); margin-left: var(--space-3); }
.leaderboard-item__points { font-size: .875rem; color: var(--gold); font-weight: 500; }

/* ── Modal ── */
.modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.5); display: flex; align-items: center; justify-content: center; z-index: 1000; padding: var(--space-4); }
.modal { background: var(--white); max-width: 42rem; width: 100%; padding: var(--space-8); }
.modal__title { font-family: var(--font-serif); font-size: 1.5rem; color: var(--navy); margin-bottom: var(--space-6); }
.modal__actions { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-6); }

/* ── Landing page section headers ── */
.section-header { text-align: center; margin-bottom: var(--space-16); }
.section-header__eyebrow { font-size: .8125rem; color: var(--gold); text-transform: uppercase; letter-spacing: .3em; margin-bottom: var(--space-4); }
.section-header__title { font-family: var(--font-serif); color: inherit; margin-bottom: var(--space-6); }
.section-header__body { font-size: 1.0625rem; max-width: 48rem; margin: 0 auto; }
.section--dark { background: var(--navy); }
.section--dark h2, .section--dark h3 { color: var(--white); }
.section--dark .section-header__body { color: rgba(255,255,255,.7); }
.section--dark-alt { background: var(--navy-light); }
.section--dark-alt h2, .section--dark-alt h3 { color: var(--white); }
.section--dark-alt .section-header__body { color: rgba(255,255,255,.7); }

/* ── Pricing card ── */
.pricing-card { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); padding: var(--space-8); position: relative; transition: var(--transition); }
.pricing-card:hover { background: rgba(255,255,255,.1); }
.pricing-card--popular { border-color: var(--gold); }
.pricing-card__popular { position: absolute; top: -1rem; left: 50%; transform: translateX(-50%); background: var(--gold); color: var(--navy); padding: .25rem 1rem; font-size: .75rem; font-weight: 700; white-space: nowrap; }
.pricing-card__name { color: var(--white); font-size: 1.5rem; font-weight: 600; margin-bottom: var(--space-2); text-align: center; font-family: var(--font-sans); }
.pricing-card__tagline { color: var(--gold); font-size: .875rem; text-align: center; margin-bottom: var(--space-8); }
.pricing-card__price { text-align: center; margin-bottom: var(--space-8); }
.pricing-card__amount { font-family: var(--font-serif); font-size: 2.5rem; font-weight: 700; color: var(--white); }
.pricing-card__period { font-size: 1rem; color: rgba(255,255,255,.6); }
.pricing-card__features { list-style: none; padding: 0; margin-bottom: var(--space-8); }
.pricing-card__feature { display: flex; align-items: flex-start; gap: var(--space-3); color: rgba(255,255,255,.8); font-size: .875rem; margin-bottom: var(--space-3); }
.pricing-card__check { color: var(--gold); flex-shrink: 0; margin-top: 2px; width: 1.125rem; height: 1.125rem; }

/* ── Testimonial card ── */
.testimonial-card { border: 1px solid var(--gray-light); padding: var(--space-8); }
.testimonial-card__quote { color: var(--gray); font-size: 1.0625rem; font-style: italic; line-height: 1.7; margin-bottom: var(--space-6); }
.testimonial-card__author { display: flex; align-items: center; gap: var(--space-4); }
.testimonial-card__avatar { width: 3rem; height: 3rem; background: var(--navy); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--white); font-weight: 600; flex-shrink: 0; }
.testimonial-card__name { font-weight: 600; color: var(--navy); font-size: .9375rem; font-family: var(--font-sans); }
.testimonial-card__title { font-size: .75rem; color: var(--gray); text-transform: uppercase; letter-spacing: .05em; }

/* ── Gold divider line ── */
.gold-line { width: 100%; height: 1px; background: linear-gradient(to right, transparent, rgba(212,165,116,.5), transparent); }

/* ── Brand asset card ── */
.asset-card { background: var(--white); border: 1px solid var(--gray-light); overflow: hidden; transition: var(--transition); }
.asset-card:hover { border-color: var(--gold); }
.asset-card__preview { aspect-ratio: 16/9; background: var(--cream); display: flex; align-items: center; justify-content: center; padding: var(--space-8); }
.asset-card__preview img { max-height: 100%; max-width: 100%; object-fit: contain; }
.asset-card__body { padding: var(--space-6); }
.asset-card__name { font-size: 1.0625rem; font-weight: 600; color: var(--navy); margin-bottom: var(--space-2); font-family: var(--font-sans); }
.asset-card__desc { font-size: .875rem; color: var(--gray); margin-bottom: var(--space-4); }
.asset-card__formats { display: flex; gap: var(--space-2); margin-bottom: var(--space-4); }
.asset-card__btns { display: flex; gap: var(--space-2); }

/* ── Colour swatch ── */
.color-swatch { display: flex; gap: var(--space-4); align-items: flex-start; }
.color-swatch__block { width: 5rem; height: 5rem; flex-shrink: 0; border: 1px solid var(--gray-light); }
.color-swatch__name { font-weight: 600; color: var(--navy); margin-bottom: var(--space-1); font-size: .9375rem; font-family: var(--font-sans); }
.color-swatch__usage { font-size: .875rem; color: var(--gray); margin-bottom: var(--space-2); }
.color-swatch__hex { font-family: monospace; font-size: .8125rem; background: var(--cream); padding: .125rem .5rem; }

/* ── Upgrade CTA block ── */
.upgrade-cta { background: linear-gradient(135deg, var(--navy), var(--navy-light)); padding: var(--space-12); text-align: center; }
.upgrade-cta__icon { color: var(--gold); margin: 0 auto var(--space-4); }
.upgrade-cta__title { font-family: var(--font-serif); font-size: 1.875rem; color: var(--white); margin-bottom: var(--space-4); }
.upgrade-cta__body { color: rgba(255,255,255,.8); font-size: 1.0625rem; max-width: 42rem; margin: 0 auto var(--space-8); }

/* ══════════════════════════════════════════════
   LANDING PAGE (legacy selectors kept for compat)
══════════════════════════════════════════════ */

/* Section titles (legacy) */
.section-title {
  font-family: var(--font-serif);
  font-size: 2.25rem;
  color: var(--navy);
  text-align: center;
  margin-bottom: var(--space-4);
}
.section-subtitle {
  color: var(--gray);
  text-align: center;
  font-size: 1.0625rem;
  margin-bottom: var(--space-12);
}
.card__icon { font-size: 2rem; margin-bottom: var(--space-4); }
.card__title { font-family: var(--font-serif); font-size: 1.25rem; color: var(--navy); margin-bottom: var(--space-3); }
.card__body { color: var(--gray); font-size: 0.9375rem; line-height: 1.65; }
.card__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-4); }
.card__link { font-size: 0.875rem; color: var(--gold); font-weight: 500; }
.card__footer { padding-top: var(--space-4); border-top: 1px solid var(--gray-light); margin-top: var(--space-4); }
.card--highlight { border-left: 4px solid var(--gold); }

/* ── Landing nav ── */
.landing-nav { background: var(--navy); border-bottom: 1px solid rgba(255,255,255,0.08); position: sticky; top: 0; z-index: 100; }
.landing-nav__mobile { display: none; }
.landing-nav__mobile.is-open { display: flex; }
.landing-nav__inner { display: flex; align-items: center; justify-content: space-between; height: 4rem; gap: var(--space-8); }
.landing-nav__logo { display: flex; align-items: center; gap: var(--space-3); font-family: var(--font-serif); font-size: 1.25rem; color: var(--white); text-decoration: none; white-space: nowrap; }
.landing-nav__logo em { color: var(--gold); font-style: italic; }
.landing-nav__links { display: flex; gap: var(--space-8); }
.landing-nav__links a { font-size: 0.875rem; color: rgba(255,255,255,0.7); transition: var(--transition); text-decoration: none; }
.landing-nav__links a:hover { color: var(--white); }
.landing-nav__actions { display: flex; align-items: center; gap: var(--space-3); }

/* ── Landing hero ── */
.lp-hero {
  background: var(--navy);
  padding: 7rem 0 0;
  overflow: hidden;
  position: relative;
  text-align: center;
}
.lp-hero__blob {
  position: absolute;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  filter: blur(120px);
  pointer-events: none;
  opacity: 0.08;
}
.lp-hero__blob--1 { background: var(--gold); top: -200px; left: -150px; }
.lp-hero__blob--2 { background: var(--gold); bottom: -200px; right: -150px; }
.lp-hero__inner { position: relative; z-index: 1; padding-bottom: var(--space-20); }
.lp-hero__eyebrow { font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.3em; color: var(--gold); margin-bottom: var(--space-6); }
.lp-hero__headline {
  font-family: var(--font-serif);
  font-size: 3.75rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1.15;
  max-width: 52rem;
  margin: 0 auto var(--space-6);
}
.lp-hero__sub {
  color: rgba(255,255,255,0.7);
  font-size: 1.125rem;
  line-height: 1.75;
  max-width: 40rem;
  margin: 0 auto var(--space-10);
}
.lp-hero__actions { display: flex; gap: var(--space-4); justify-content: center; flex-wrap: wrap; }
.lp-hero .gold-line { margin-top: var(--space-20); }

/* ── Stats bar ── */
.lp-stats { background: var(--white); padding: var(--space-16) 0; border-bottom: 1px solid var(--gray-light); }
.lp-stats__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.lp-stats__item { text-align: center; padding: var(--space-8); }
.lp-stats__item + .lp-stats__item { border-left: 1px solid var(--gray-light); }
.lp-stats__number { display: block; font-family: var(--font-serif); font-size: 3rem; font-weight: 700; color: var(--navy); margin-bottom: var(--space-2); }
.lp-stats__label { display: block; font-size: 0.875rem; color: var(--gray); text-transform: uppercase; letter-spacing: 0.08em; }

/* ── Professional Excellence ── */
.lp-excellence { background: var(--cream); padding: var(--space-24) 0; }
.lp-excellence__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-16); align-items: center; }
.lp-excellence__image img { width: 100%; display: block; }
.lp-excellence__content {}
.lp-excellence__title { font-family: var(--font-serif); font-size: 2.25rem; color: var(--navy); margin-bottom: var(--space-6); line-height: 1.2; }
.lp-excellence__body { color: var(--gray); font-size: 1.0625rem; line-height: 1.75; margin-bottom: var(--space-6); }
.lp-excellence__list { list-style: none; padding: 0; margin: 0 0 var(--space-8); }
.lp-excellence__list li { color: var(--navy); font-size: 0.9375rem; padding: var(--space-2) 0; padding-left: var(--space-6); position: relative; }
.lp-excellence__list li::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 0.5rem; height: 0.5rem; background: var(--gold); }

/* ── Eyebrow shared ── */
.lp-eyebrow { font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.2em; color: var(--gold); margin-bottom: var(--space-4); display: block; }

/* ── Features dark grid ── */
.lp-features { padding: var(--space-24) 0; }
.lp-features__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
.lp-feature-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); padding: var(--space-8); transition: var(--transition); }
.lp-feature-card:hover { background: rgba(255,255,255,0.08); border-color: rgba(212,165,116,0.3); }
.lp-feature-card__icon { width: 2.75rem; height: 2.75rem; background: rgba(212,165,116,0.15); display: flex; align-items: center; justify-content: center; color: var(--gold); margin-bottom: var(--space-5); flex-shrink: 0; }
.lp-feature-card h3 { font-family: var(--font-sans); font-size: 1.0625rem; font-weight: 600; color: var(--white); margin-bottom: var(--space-3); }
.lp-feature-card p { color: rgba(255,255,255,0.6); font-size: 0.9375rem; line-height: 1.65; margin: 0; }

/* ── Member access grid ── */
.lp-access { padding: var(--space-24) 0; }
.lp-access__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }
.lp-access__item { text-align: center; padding: var(--space-8); }
.lp-access__icon { width: 3rem; height: 3rem; background: rgba(212,165,116,0.15); display: flex; align-items: center; justify-content: center; color: var(--gold); margin: 0 auto var(--space-5); }
.lp-access__item h3 { font-size: 1rem; font-weight: 600; color: var(--white); margin-bottom: var(--space-3); }
.lp-access__item p { color: rgba(255,255,255,0.6); font-size: 0.875rem; line-height: 1.6; margin: 0; }

/* ── Core values ── */
.lp-values { padding: var(--space-24) 0; }
.lp-values__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-8); }
.lp-value-card { text-align: center; padding: var(--space-8); }
.lp-value-card__circle { width: 4rem; height: 4rem; border-radius: 50%; background: rgba(212,165,116,0.15); border: 1px solid rgba(212,165,116,0.3); display: flex; align-items: center; justify-content: center; color: var(--gold); margin: 0 auto var(--space-5); }
.lp-value-card h3 { font-family: var(--font-sans); font-size: 1.0625rem; font-weight: 600; color: var(--white); margin-bottom: var(--space-3); }
.lp-value-card p { color: rgba(255,255,255,0.6); font-size: 0.9375rem; line-height: 1.65; margin: 0; }

/* ── Membership benefits ── */
.lp-benefits { padding: var(--space-24) 0; background: var(--white); }
.lp-benefits__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-6); }
.lp-benefit-box { border: 1px solid var(--gray-light); padding: var(--space-8); }
.lp-benefit-box h3 { font-family: var(--font-serif); font-size: 1.25rem; color: var(--navy); margin-bottom: var(--space-5); padding-bottom: var(--space-4); border-bottom: 1px solid var(--gray-light); }
.lp-benefit-list { list-style: none; padding: 0; margin: 0; }
.lp-benefit-list li { color: var(--gray); font-size: 0.9375rem; padding: var(--space-2) 0; padding-left: var(--space-6); position: relative; }
.lp-benefit-list li::before { content: ''; position: absolute; left: 0; top: 0.65em; width: 0.5rem; height: 0.5rem; border: 2px solid var(--gold); border-radius: 50%; }

/* ── Pricing ── */
.lp-pricing { padding: var(--space-24) 0; }
.lp-pricing__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-6); margin-top: var(--space-4); }
.lp-pricing__grid > * { flex: 1 1 280px; max-width: 380px; }

/* Pricing card (on dark bg) */
.pricing-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12); padding: var(--space-8); position: relative; transition: var(--transition); }
.pricing-card:hover { background: rgba(255,255,255,0.09); }
.pricing-card--popular { border-color: var(--gold); }
.pricing-card__popular { position: absolute; top: -0.875rem; left: 50%; transform: translateX(-50%); background: var(--gold); color: var(--navy); font-size: 0.6875rem; font-weight: 700; padding: 0.25rem 1rem; text-transform: uppercase; letter-spacing: 0.05em; white-space: nowrap; }
.pricing-card__name { font-family: var(--font-sans); font-size: 1.5rem; font-weight: 600; color: var(--white); margin-bottom: var(--space-2); }
.pricing-card__tagline { font-size: 0.875rem; color: var(--gold); margin-bottom: var(--space-6); }
.pricing-card__price { margin-bottom: var(--space-8); }
.pricing-card__amount { font-family: var(--font-serif); font-size: 2.75rem; font-weight: 700; color: var(--white); }
.pricing-card__period { font-size: 1rem; color: rgba(255,255,255,0.5); }
.pricing-card__features { list-style: none; padding: 0; margin: 0 0 var(--space-8); }
.pricing-card__feature { display: flex; align-items: flex-start; gap: var(--space-3); color: rgba(255,255,255,0.8); font-size: 0.9375rem; margin-bottom: var(--space-3); }
.pricing-card__check { flex-shrink: 0; color: var(--gold); width: 1.125rem; height: 1.125rem; margin-top: 2px; }

/* ── Testimonials ── */
.lp-testimonials { background: var(--white); padding: var(--space-24) 0; }
.lp-testimonials__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }

/* ── Final CTA ── */
.lp-cta { background: var(--cream); padding: var(--space-24) 0; text-align: center; border-top: 1px solid var(--gray-light); }
.lp-cta__title { font-family: var(--font-serif); font-size: 2.5rem; color: var(--navy); margin-bottom: var(--space-4); }
.lp-cta__sub { color: var(--gray); font-size: 1.0625rem; max-width: 36rem; margin: 0 auto var(--space-10); }

/* ── Footer (4-column) ── */
.footer { background: var(--navy); padding: var(--space-20) 0 var(--space-8); }
.footer__cols { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--space-12); padding-bottom: var(--space-12); border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: var(--space-6); }
.footer__col--brand {}
.footer__logo { font-family: var(--font-serif); font-size: 1.5rem; color: var(--white); text-decoration: none; display: block; margin-bottom: var(--space-3); }
.footer__logo em { color: var(--gold); font-style: italic; }
.footer__tagline { color: rgba(255,255,255,0.55); font-size: 0.875rem; line-height: 1.6; margin-bottom: var(--space-5); }
.footer__social { display: flex; gap: var(--space-3); }
.footer__social-link { width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5); border: 1px solid rgba(255,255,255,0.15); transition: var(--transition); }
.footer__social-link:hover { color: var(--gold); border-color: rgba(212,165,116,0.4); }
.footer__col-title { font-size: 0.8125rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--white); margin-bottom: var(--space-5); }
.footer__col-links { list-style: none; padding: 0; margin: 0; }
.footer__col-links li { margin-bottom: var(--space-3); }
.footer__col-links a { color: rgba(255,255,255,0.55); font-size: 0.9375rem; transition: var(--transition); text-decoration: none; }
.footer__col-links a:hover { color: var(--white); }
.footer__address { color: rgba(255,255,255,0.4); font-size: 0.875rem; line-height: 1.6; margin-top: var(--space-4); }
.footer__bottom {}
.footer__copy { color: rgba(255,255,255,0.3); font-size: 0.8125rem; }

/* Testimonials legacy compat */
.testimonial-card__author span { display: block; font-size: 0.8125rem; color: var(--gray); margin-top: 2px; }

/* ══════════════════════════════════════════════
   AUTH PAGES
══════════════════════════════════════════════ */
.auth-page { background: var(--cream); min-height: 100vh; display: flex; flex-direction: column; }
.auth-layout { flex: 1; display: flex; align-items: center; justify-content: center; padding: var(--space-12) var(--space-6); }
.auth-card { background: var(--white); border: 1px solid var(--gray-light); padding: var(--space-10); width: 100%; max-width: 28rem; }
.auth-card__brand { text-align: center; margin-bottom: var(--space-8); }
.auth-card__logo { font-family: var(--font-serif); font-size: 1.5rem; color: var(--navy); }
.auth-card__logo em { color: var(--gold); font-style: italic; }
.auth-card__title { font-family: var(--font-serif); font-size: 1.75rem; color: var(--navy); text-align: center; margin-bottom: var(--space-2); }
.auth-card__sub { color: var(--gray); font-size: 0.9375rem; text-align: center; margin-bottom: var(--space-8); }
.auth-card__links { text-align: center; margin-top: var(--space-6); font-size: 0.875rem; color: var(--gray); display: flex; gap: var(--space-3); justify-content: center; align-items: center; }
.auth-card__links a { color: var(--gold); font-weight: 500; }

/* ══════════════════════════════════════════════
   DASHBOARD & MEMBER PAGES
══════════════════════════════════════════════ */

/* Page header */
.page-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-4); margin-bottom: var(--space-10); }
.page-header h1 { margin: 0; }
.page-header__sub { color: var(--gray); font-size: 0.9375rem; margin-top: var(--space-1); }
.page-header--centered { text-align: center; display: block; }

/* Dashboard layout */
.dashboard-grid { display: grid; grid-template-columns: 1fr 22rem; gap: var(--space-8); }
.dashboard-grid > * { min-width: 0; }
.dashboard-main {}
.dashboard-aside {}

/* Stat cards in member pages */
.stat-card { background: var(--white); border: 1px solid var(--gray-light); padding: var(--space-6); }
.stat-card__number { display: block; font-family: var(--font-serif); font-size: 2rem; font-weight: 700; color: var(--navy); }
.stat-card__label { display: block; font-size: 0.6875rem; color: var(--gray); text-transform: uppercase; letter-spacing: 0.06em; margin-top: var(--space-1); }
.stat-card--navy { background: var(--navy); border-color: var(--navy); }
.stat-card--navy .stat-card__number { color: var(--gold); }
.stat-card--navy .stat-card__label { color: rgba(255,255,255,0.65); }

/* Event list (dashboard upcoming) */
.event-list { list-style: none; padding: 0; margin: 0; }
.event-list__item { display: flex; gap: var(--space-4); align-items: flex-start; padding: var(--space-3) 0; border-bottom: 1px solid var(--gray-light); }
.event-list__item:last-child { border-bottom: none; }
.event-list__date { text-align: center; min-width: 2.5rem; flex-shrink: 0; }
.event-list__day { display: block; font-family: var(--font-serif); font-size: 1.5rem; color: var(--navy); line-height: 1; }
.event-list__month { display: block; font-size: 0.6875rem; text-transform: uppercase; color: var(--gray); letter-spacing: 0.05em; }
.event-list__info { display: flex; flex-direction: column; gap: var(--space-1); font-size: 0.9375rem; color: var(--navy); }

/* Activity list */
.activity-list { list-style: none; padding: 0; margin: 0; }
.activity-list__item { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid var(--gray-light); font-size: 0.875rem; }
.activity-list__item:last-child { border-bottom: none; }
.activity-list__points { color: var(--gold); font-weight: 700; min-width: 3rem; }
.activity-list__desc { flex: 1; color: var(--navy); }
.activity-list__date { color: var(--gray); font-size: 0.8125rem; white-space: nowrap; }

/* Tier display */
.tier-display { display: flex; align-items: center; justify-content: space-between; padding: var(--space-4); border: 2px solid var(--gold); margin-bottom: var(--space-3); }
.tier-display--elite { border-color: #7c3aed; }
.tier-display--gold { border-color: var(--gold); }
.tier-display--silver { border-color: #94a3b8; }
.tier-display--bronze { border-color: #b45309; }
.tier-display__name { font-family: var(--font-serif); font-size: 1.25rem; color: var(--navy); }
.tier-display__points { font-weight: 600; color: var(--gold); }
.tier-next { font-size: 0.8125rem; color: var(--gray); }

/* Tier progression (points page) */
.tier-progression { display: flex; gap: 0; margin: var(--space-4) 0; }
.tier-step { flex: 1; padding: var(--space-4); border: 2px solid var(--gray-light); text-align: center; }
.tier-step + .tier-step { border-left: none; }
.tier-step--achieved { border-color: var(--gold); background: rgba(212,165,116,0.05); }
.tier-step--active { border-color: var(--gold); background: var(--gold); }
.tier-step--active .tier-step__name,
.tier-step--active .tier-step__threshold { color: var(--navy); }
.tier-step__name { display: block; font-weight: 600; font-size: 0.875rem; color: var(--navy); }
.tier-step__threshold { display: block; font-size: 0.75rem; color: var(--gray); margin-top: var(--space-1); }

/* Quick links */
.quick-links { list-style: none; padding: 0; margin: 0; }
.quick-links li { border-bottom: 1px solid var(--gray-light); }
.quick-links li:last-child { border-bottom: none; }
.quick-links a { display: block; padding: var(--space-3) 0; font-size: 0.9375rem; color: var(--navy); transition: var(--transition); }
.quick-links a:hover { color: var(--gold); padding-left: var(--space-2); }

/* Leaderboard mini */
.leaderboard-mini { list-style: none; padding: 0; margin: 0; }
.leaderboard-item { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid var(--gray-light); }
.leaderboard-item:last-child { border-bottom: none; }
.leaderboard-item--you { background: rgba(212,165,116,0.06); margin: 0 calc(-1 * var(--space-8)); padding: var(--space-3) var(--space-8); }
.leaderboard-item__rank { font-weight: 700; color: var(--gold); min-width: 1.5rem; font-size: 0.875rem; }
.leaderboard-item__name { flex: 1; font-size: 0.9375rem; color: var(--navy); }
.leaderboard-item__points { font-weight: 600; color: var(--gray); font-size: 0.875rem; }
.leaderboard-item__total { font-family: var(--font-serif); font-size: 1.25rem; color: var(--gold); }
.leaderboard-item__label { font-size: 0.75rem; color: var(--gray); }

/* Back link */
.back-link { display: inline-flex; align-items: center; gap: var(--space-2); font-size: 0.875rem; color: var(--gray); margin-bottom: var(--space-8); transition: var(--transition); }
.back-link:hover { color: var(--navy); }

/* Form layout */
.form-layout { max-width: 36rem; }
.form-actions { display: flex; gap: var(--space-4); align-items: center; margin-top: var(--space-6); }
.form-group--error .form-input { border-color: var(--red); }

/* Settings / billing grids */
.settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); }
.billing-grid { display: grid; grid-template-columns: 1fr 2fr; gap: var(--space-8); }
.card--danger { border-color: #fca5a5; }

/* Event grid */
.event-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
.card--event {}
.event-date { font-size: 0.8125rem; color: var(--gray); white-space: nowrap; }
.event-meta { font-size: 0.8125rem; color: var(--gray); }

/* Event detail */
.event-detail__header { margin-bottom: var(--space-8); }
.event-detail__date { display: block; font-size: 1.125rem; color: var(--gray); margin-top: var(--space-2); }
.event-detail__body { display: grid; grid-template-columns: 1fr 20rem; gap: var(--space-8); align-items: start; }
.event-detail__description { font-size: 1rem; line-height: 1.7; color: var(--gray); }
.detail-list { margin: 0; }
.detail-list dt { font-size: 0.8125rem; color: var(--gray); text-transform: uppercase; letter-spacing: 0.05em; margin-top: var(--space-3); }
.detail-list dd { font-weight: 500; color: var(--navy); margin: var(--space-1) 0 0; }

/* Deal grid */
.deal-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-6); }
.deal-card { border: 1px solid var(--gray-light); padding: var(--space-6); background: var(--white); transition: var(--transition); }
.deal-card:hover { border-color: var(--gold); }
.deal-card__header { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-4); }
.deal-card__title { font-family: var(--font-serif); font-size: 1.125rem; color: var(--navy); margin-bottom: var(--space-3); }
.deal-card__desc { color: var(--gray); font-size: 0.9375rem; line-height: 1.6; margin-bottom: var(--space-4); }
.deal-card__meta { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; margin-bottom: var(--space-4); }
.deal-card__by { font-size: 0.8125rem; color: var(--gray); margin-left: auto; }
.deal-card__actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid var(--gray-light); }

/* Tags */
.tag { display: inline-block; background: var(--cream); border: 1px solid var(--gray-light); font-size: 0.75rem; padding: 0.1875rem 0.5rem; color: var(--navy); }

/* Filter bar */
.filter-bar { display: flex; gap: var(--space-2); flex-wrap: wrap; }

/* Empty state */
.empty-state { text-align: center; padding: var(--space-16) var(--space-8); border: 2px dashed var(--gray-light); }
.empty-state p { color: var(--gray); margin-bottom: var(--space-4); }

/* Offer detail */
.offer-detail__header { display: flex; align-items: flex-start; gap: var(--space-8); margin-bottom: var(--space-8); }
.offer-detail__logo { max-height: 4rem; max-width: 10rem; object-fit: contain; flex-shrink: 0; }
.offer-detail__provider { color: var(--gray); font-size: 0.9375rem; margin-bottom: var(--space-2); }
.offer-detail__headline { font-family: var(--font-serif); font-size: 1.5rem; color: var(--gold); }
.offer-detail__body { color: var(--gray); line-height: 1.75; margin-bottom: var(--space-8); }
.offer-detail__cta { border-top: 1px solid var(--gray-light); padding-top: var(--space-8); }
.offer-card--locked { opacity: 0.7; }
.asset-card--locked { opacity: 0.7; }

/* Redeem / code block */
.redemption-code { background: var(--cream); border: 1px solid var(--gray-light); padding: var(--space-6); text-align: center; margin: var(--space-6) 0; }
.code-block { display: block; font-family: monospace; font-size: 1.5rem; font-weight: 700; color: var(--navy); letter-spacing: 0.1em; margin-top: var(--space-3); }

/* Articles */
.article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
.article-grid > * { min-width: 0; overflow: hidden; }
.article-card { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--gray-light); border-radius: 8px; overflow: hidden; text-decoration: none; color: inherit; transition: var(--transition); }
.article-card:hover { border-color: var(--gold); box-shadow: 0 4px 16px rgba(0,0,0,0.08); transform: translateY(-2px); }
.article-card__image { aspect-ratio: 16/9; overflow: hidden; }
.article-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.article-card:hover .article-card__image img { transform: scale(1.04); }
.article-card__image--placeholder { background: linear-gradient(135deg, var(--navy) 0%, #2a3a52 100%); }
.article-card__body { padding: var(--space-5); display: flex; flex-direction: column; flex: 1; }
.article-card__category { display: inline-block; font-size: 0.75rem; font-weight: 600; color: var(--gold); background: rgba(212,165,116,0.12); padding: 2px var(--space-2); border-radius: 4px; margin-bottom: var(--space-3); }
.article-card__title { font-family: var(--font-serif); font-size: 1.125rem; color: var(--navy); line-height: 1.3; margin-bottom: var(--space-3); flex: 1; }
.article-card__excerpt { font-size: 0.875rem; color: var(--gray); line-height: 1.6; margin-bottom: var(--space-4); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.article-card__meta { display: flex; align-items: center; gap: var(--space-4); font-size: 0.8125rem; color: var(--slate); margin-top: auto; padding-top: var(--space-3); border-top: 1px solid var(--gray-light); }
.article-card__author, .article-card__date { display: flex; align-items: center; gap: var(--space-1); }
.article-body { font-size: 1rem; line-height: 1.8; color: var(--gray); }
.article-body p { margin-bottom: var(--space-5); }
.badge--outline { background: transparent; border: 1px solid var(--navy); color: var(--navy); }
.badge--navy { background: var(--navy); color: var(--white); }

/* CMS page */
.cms-page { max-width: 48rem; }
.cms-page__body { line-height: 1.8; color: var(--gray); }
.cms-page__body h2 { color: var(--navy); margin-top: var(--space-10); margin-bottom: var(--space-4); }
.cms-page__body p { margin-bottom: var(--space-4); }

/* Subscription status */
.subscription-status { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; margin-bottom: var(--space-4); }
.subscription-status__renewal { font-size: 0.875rem; color: var(--gray); }

/* Spinner */
.spinner { width: 2.5rem; height: 2.5rem; border: 3px solid var(--gray-light); border-top-color: var(--navy); border-radius: 50%; animation: spin 0.8s linear infinite; margin: 0 auto var(--space-6); }
@keyframes spin { to { transform: rotate(360deg); } }

/* Slots panel */
.slots-panel { background: var(--cream); border: 1px solid var(--gray-light); padding: var(--space-8); }
.slot-grid { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: var(--space-4) 0; }
.slot-btn { display: flex; flex-direction: column; align-items: center; gap: var(--space-1); padding: var(--space-3) var(--space-4); border: 2px solid var(--gray-light); cursor: pointer; transition: var(--transition); }
.slot-btn input { display: none; }
.slot-btn:has(input:checked),
.slot-btn:hover { border-color: var(--gold); background: rgba(212,165,116,0.1); }
.slot-btn__date { font-size: 0.75rem; color: var(--gray); text-transform: uppercase; letter-spacing: 0.04em; }
.slot-btn__time { font-weight: 600; font-size: 1rem; color: var(--navy); }

/* Nav dropdown */
.nav__avatar-wrap { position: relative; }
.nav__dropdown { display: none; position: absolute; right: 0; top: 100%; padding-top: 0.5rem; background: transparent; min-width: 10rem; z-index: 200; }
.nav__dropdown-inner { background: var(--white); border: 1px solid var(--gray-light); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.nav__avatar-wrap:hover .nav__dropdown { display: block; }
.nav__dropdown-inner a { display: block; padding: var(--space-3) var(--space-4); font-size: 0.875rem; color: var(--navy); border-bottom: 1px solid var(--gray-light); transition: var(--transition); }
.nav__dropdown-inner a:last-child { border-bottom: none; }
.nav__dropdown-inner a:hover { background: var(--cream); color: var(--gold); }
.nav__logo-text { font-family: var(--font-serif); font-size: 1.25rem; color: var(--white); white-space: nowrap; }
.nav__logo-img { height: 40px; width: auto; display: inline-block; flex-shrink: 0; }
.nav__points { display: flex; align-items: center; gap: var(--space-2); margin-right: var(--space-4); }
.nav__points-count { font-size: 0.8125rem; color: rgba(255,255,255,0.7); }
.nav__actions { display: flex; align-items: center; }

/* Badge variants for tiers */
.badge--bronze { background: rgba(180,83,9,0.1); color: #b45309; }
.badge--silver { background: rgba(100,116,139,0.1); color: #475569; }
.badge--elite { background: rgba(124,58,237,0.1); color: #7c3aed; }
.badge--outline { background: transparent; border: 1px solid var(--gray-light); color: var(--navy); }
.badge--blue { background: rgba(59,130,246,0.1); color: #1d4ed8; }
.badge--grey { background: var(--gray-light); color: var(--gray); }

/* Text helpers */
.text-muted { color: var(--gray); }
.text-sm { font-size: 0.875rem; }
.text-center { text-align: center; }
.text-accent { color: var(--gold); font-style: italic; }

/* Prompts widget */
.prompts-widget { background: var(--navy); border-left: 4px solid var(--gold); padding: var(--space-6); }
.prompts-widget__label { font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gold); margin-bottom: var(--space-2); }
.prompts-widget__text { color: rgba(255,255,255,0.85); font-size: 1.0625rem; margin-bottom: var(--space-4); }

/* Upgrade CTA */
.upgrade-cta { background: rgba(212,165,116,0.1); border: 1px solid rgba(212,165,116,0.3); padding: var(--space-8); }
.upgrade-cta h3 { color: var(--navy); margin-bottom: var(--space-2); }
.upgrade-cta p { color: var(--gray); margin-bottom: var(--space-4); }

@media (max-width: 768px) {
  /* Dashboards */
  .dashboard-grid { grid-template-columns: 1fr; }
  .billing-grid, .settings-grid { grid-template-columns: 1fr; }
  .event-grid { grid-template-columns: 1fr; }
  .deal-grid { grid-template-columns: 1fr; }
  .event-detail__body { grid-template-columns: 1fr; }
  .tier-progression { flex-direction: column; }
  .tier-step + .tier-step { border-left: 2px solid var(--gray-light); border-top: none; }
  /* Landing */
  .landing-nav__links { display: none; }
  .landing-nav__actions { display: none; }
  .landing-nav__mobile { flex-direction: column; gap: var(--space-4); padding: var(--space-6) var(--space-4); background: var(--navy); border-top: 1px solid rgba(255,255,255,0.08); }
  .landing-nav__mobile a { color: rgba(255,255,255,0.8); text-decoration: none; font-size: 1rem; }
  .landing-nav__mobile a:hover { color: var(--white); }
  .article-grid { grid-template-columns: 1fr; }
  .lp-hero__headline { font-size: 2.25rem; }
  .lp-stats__grid { grid-template-columns: 1fr; }
  .lp-stats__item + .lp-stats__item { border-left: none; border-top: 1px solid var(--gray-light); }
  .lp-excellence__grid { grid-template-columns: 1fr; }
  .lp-features__grid { grid-template-columns: 1fr; }
  .lp-access__grid { grid-template-columns: repeat(2, 1fr); }
  .lp-values__grid { grid-template-columns: 1fr; }
  .lp-benefits__grid { grid-template-columns: 1fr; }
  .lp-pricing__grid > * { max-width: 100%; }
  .lp-testimonials__grid { grid-template-columns: 1fr; }
  /* Footer */
  .footer__cols { grid-template-columns: 1fr 1fr; gap: var(--space-8); }
}
