/* ─── Reset ─── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background: #fff; color: #111827; -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4,h5,h6,p,ul,ol,figure { margin: 0; padding: 0; }
ul { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
a { color: inherit; text-decoration: none; }
img,svg { display: block; }
input,select,textarea { font-family: inherit; }

/* ─── Tokens ─── */
:root {
  --primary: #f69709;
  --primary-hover: #d47e07;
  --primary-subtle: #fffbf0;
  --primary-tint: #fff0cc;
  --shadow-primary: 0 4px 14px rgba(246,151,9,0.30);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.10), 0 8px 10px -6px rgba(0,0,0,0.10);
  --radius-xl: 16px;
  --radius-2xl: 24px;
  --radius-full: 9999px;
}

/* ─── Typography scale ─── */
.text-xs  { font-size: clamp(0.75rem, 1.8vw, 0.8125rem); }
.text-sm  { font-size: clamp(0.8125rem, 2vw, 0.875rem); }
.text-base{ font-size: clamp(0.9375rem, 2.5vw, 1rem); }
.text-lg  { font-size: clamp(1rem, 2.5vw, 1.125rem); }
.text-xl  { font-size: clamp(1.125rem, 3vw, 1.25rem); }
.text-2xl { font-size: clamp(1.25rem, 3.5vw, 1.5rem); }
.text-3xl { font-size: clamp(1.5rem, 4vw, 1.875rem); }
.text-4xl { font-size: clamp(1.75rem, 5vw, 2.25rem); }

/* ─── Layout ─── */
.container { max-width: 42rem; margin: 0 auto; padding: 0 1rem; }
.container--lg { max-width: 48rem; margin: 0 auto; padding: 0 1rem; }
.section { padding: 2.5rem 1rem; }
.section--lg { padding: 4rem 1rem; }

/* ─── Header ─── */
.site-header {
  position: sticky; top: 0; z-index: 40;
  background: #fff; border-bottom: 1px solid #f3f4f6;
  height: 4rem; display: flex; align-items: center; justify-content: center;
  padding: 0 1.5rem;
}
.site-header__logo { display: flex; align-items: center; gap: 0.625rem; }
.site-header__name { font-weight: 800; font-size: 1.0625rem; letter-spacing: -0.02em; color: var(--primary); }

/* ─── Buttons ─── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  border-radius: var(--radius-full);
  font-weight: 700; transition: all 0.15s ease;
  white-space: nowrap; user-select: none;
}
.btn--primary {
  background: var(--primary); color: #fff;
  box-shadow: var(--shadow-primary);
  padding: 0.75rem 2rem; font-size: 1rem;
}
.btn--primary:hover { background: var(--primary-hover); transform: translateY(-1px); }
.btn--primary:active { transform: translateY(0); }
.btn--primary:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.btn--primary-xl { padding: 0 2.5rem; height: 4rem; font-size: 1.0625rem; }
.btn--primary-lg { padding: 0 1.25rem; height: 3rem; font-size: 1rem; }
.btn--outline {
  background: #fff; color: #374151;
  border: 1.5px solid #d1d5db;
  padding: 0.625rem 1.25rem; font-size: 0.9375rem;
}
.btn--outline:hover { background: #f9fafb; border-color: #9ca3af; }

/* ─── Inputs ─── */
.field { display: flex; flex-direction: column; gap: 0.375rem; }
.field__label { font-size: 0.8125rem; font-weight: 600; color: #374151; }
.field__label span.req { color: #ef4444; margin-left: 2px; }
.input {
  width: 100%; padding: 0.75rem 1rem;
  border: 2px solid #e5e7eb; border-radius: var(--radius-xl);
  font-size: 0.9375rem; color: #111827; outline: none;
  transition: border-color 0.15s;
  background: #fff;
}
.input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(246,151,9,0.15); }
.input--error { border-color: #ef4444; }
.input--error:focus { box-shadow: 0 0 0 3px rgba(239,68,68,0.15); }
.field__error { font-size: 0.75rem; color: #dc2626; font-weight: 500; }

/* Phone input */
.phone-wrap { display: flex; border: 2px solid #e5e7eb; border-radius: var(--radius-xl); overflow: hidden; background: #fff; transition: border-color 0.15s; }
.phone-wrap:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(246,151,9,0.15); }
.phone-wrap--error { border-color: #ef4444; }
.phone-prefix { padding: 0.75rem 0.75rem 0.75rem 1rem; color: #6b7280; font-size: 0.9375rem; font-weight: 500; border-right: 1.5px solid #e5e7eb; white-space: nowrap; }
.phone-input { flex: 1; padding: 0.75rem 1rem 0.75rem 0.75rem; font-size: 0.9375rem; color: #111827; outline: none; border: none; background: transparent; }

/* ─── Custom Select ─── */
.select-wrap { position: relative; }
.select-trigger {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  padding: 0.75rem 1rem; border: 2px solid #e5e7eb; border-radius: var(--radius-xl);
  font-size: 0.9375rem; color: #111827; background: #fff;
  transition: border-color 0.15s; text-align: left;
}
.select-trigger:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(246,151,9,0.15); outline: none; }
.select-trigger--error { border-color: #ef4444; }
.select-trigger--placeholder { color: #9ca3af; }
.select-trigger .chevron { width: 1rem; height: 1rem; transition: transform 0.2s; flex-shrink: 0; color: #6b7280; }
.select-trigger[aria-expanded="true"] .chevron { transform: rotate(180deg); }
.select-options {
  position: absolute; left: 0; right: 0; z-index: 100;
  background: #fff; border: 1.5px solid #e5e7eb;
  border-radius: var(--radius-xl); box-shadow: 0 20px 25px -5px rgba(0,0,0,.12);
  max-height: 14rem; overflow-y: auto; display: none; padding: 0.375rem;
  margin-top: 0.25rem;
}
.select-options--open { display: block; }
.select-options--up { bottom: calc(100% + 0.25rem); top: auto; }
.select-option {
  padding: 0.625rem 0.875rem; border-radius: calc(var(--radius-xl) - 4px);
  font-size: 0.9375rem; cursor: pointer; color: #111827;
  transition: background 0.1s;
}
.select-option:hover, .select-option--focused { background: var(--primary-subtle); }
.select-option--selected { font-weight: 600; color: var(--primary); }

/* ─── Hero ─── */
.hero {
  background: var(--primary-subtle); border-bottom: 1px solid #e5e7eb;
  padding: 1.25rem 1rem 2.5rem; text-align: center;
}
@media(min-width:768px){ .hero { padding: 5rem 1rem; } }
.hero__badge {
  display: inline-flex; align-items: center; gap: 0.375rem;
  background: var(--primary-tint); border: 1px solid #fcd34d;
  color: #92400e; font-size: 0.75rem; font-weight: 700;
  padding: 0.375rem 0.875rem; border-radius: var(--radius-full); margin-bottom: 0.5rem;
  letter-spacing: 0.03em;
}
.hero__badge-dot {
  width: 1rem; height: 1rem; border-radius: 50%; background: var(--primary);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.hero__rating {
  display: inline-flex; align-items: center; gap: 0.625rem;
  background: #fff; padding: 0.25rem 1rem; border-radius: 0; margin-bottom: 1rem;
  font-size: 0.875rem;
}
.hero__rating-stars { color: var(--primary); font-weight: 700; letter-spacing: 0.1em; }
.hero__rating-score { font-weight: 700; color: #111827; }
.hero__rating-divider { width: 1px; height: 1rem; background: #e5e7eb; }
.hero__rating-count { color: #6b7280; }
.hero__h1 {
  font-size: clamp(2rem, 6vw, 3.25rem); font-weight: 800;
  line-height: 1.08; letter-spacing: -0.03em; color: #111827; margin-bottom: 1.25rem;
}
.hero__h1 span { color: var(--primary); }
.hero__lead { color: #6b7280; font-size: clamp(1rem, 2.5vw, 1.125rem); max-width: 36rem; margin: 0 auto 2rem; line-height: 1.6; }
.usp-grid { display: grid; grid-template-columns: 1fr; gap: 0.625rem; max-width: 36rem; margin: 0 auto 2.5rem; text-align: left; }
@media(min-width:576px){ .usp-grid { grid-template-columns: 1fr 1fr; } }
.usp-item { display: flex; align-items: flex-start; gap: 0.625rem; border-radius: var(--radius-xl); padding: 0.25rem 0.875rem; }
.usp-item__dot { width: 1.25rem; height: 1.25rem; border-radius: 50%; background: #dcfce7; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 0.125rem; }
.usp-item__text { font-size: 0.875rem; font-weight: 500; color: #1f2937; line-height: 1.4; }
.hero__timer {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: var(--primary-tint); color: #92400e; font-size: 0.75rem; font-weight: 700;
  padding: 0.375rem 1rem; border-radius: var(--radius-full); margin-top: 0.5rem; margin-bottom: 1.25rem;
}

/* ─── Urgency strip ─── */
.urgency-black { background: #111; color: #fff; text-align: center; padding: 1.5rem 1rem 1rem; }
.urgency-black__title { font-size: 1.125rem; font-weight: 700; margin-bottom: 0.5rem; }
.urgency-bar { width: 16rem; height: 0.75rem; border-radius: var(--radius-full); background: #4b5563; overflow: hidden; display: flex; margin: 0.5rem auto 1.25rem; }
.urgency-bar__fill { width: 10%; background: #ef4444; border-radius: var(--radius-full); }
.urgency-black__cta { font-size: 0.9375rem; font-weight: 600; letter-spacing: 0.02em; }

.urgency-primary { background: var(--primary); color: #fff; text-align: center; padding: 0.75rem 1rem; font-size: 0.9375rem; font-weight: 600; letter-spacing: 0.02em; }

/* ─── Form card (wizard container) ─── */
.form-section { background: var(--primary-subtle); padding: 3.5rem 1rem; }
.form-card {
  position: relative; background: #fff; border: 2px solid var(--primary);
  border-radius: var(--radius-2xl); box-shadow: var(--shadow-xl);
  padding: 2.5rem 0.5rem 1.5rem;
  max-width: 42rem; margin: 0 auto;
}
.form-card__pill {
  position: absolute; top: -0.875rem; left: 50%; transform: translateX(-50%);
  background: var(--primary); color: #fff; font-size: 0.75rem; font-weight: 700;
  padding: 0.375rem 1rem; border-radius: var(--radius-full); white-space: nowrap;
}
.form-card__title { font-size: clamp(1.25rem, 3.5vw, 1.5rem); font-weight: 800; color: #111827; text-align: center; letter-spacing: -0.02em; margin-bottom: 0.5rem; }
.form-card__subtitle { color: #6b7280; text-align: center; font-size: 0.875rem; margin-bottom: 1.5rem; max-width: 30rem; margin-left: auto; margin-right: auto; }

/* Trust badges */
.trust-badges { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid #f3f4f6; }
.trust-badge { display: flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; font-weight: 500; color: #6b7280; }
.trust-badge__check { color: #22c55e; }

/* ─── Progress bar ─── */
.progress { padding: 0 0.5rem 1.5rem; }
.progress__bar { display: flex; gap: 0.375rem; margin-bottom: 0.5rem; }
.progress__seg { flex: 1; height: 4px; border-radius: var(--radius-full); background: #e5e7eb; transition: background 0.3s; }
.progress__seg--active { background: var(--primary); }
.progress__labels { display: flex; justify-content: space-between; }
.progress__label { font-size: 0.6875rem; font-weight: 600; color: #9ca3af; flex: 1; text-align: center; }
.progress__label--active { color: var(--primary); }

/* ─── Wizard steps ─── */
.wizard-step { padding: 0 0.75rem; display: flex; flex-direction: column; gap: 1rem; }
.wizard-step--hidden { display: none; }
.wizard-nav { display: flex; gap: 0.75rem; padding: 0 0.75rem; margin-top: 0.5rem; }
.wizard-nav--end { justify-content: flex-end; }
.wizard-nav--between { justify-content: space-between; }
.error-banner { background: #fef2f2; border: 1px solid #fecaca; border-radius: var(--radius-xl); padding: 0.75rem 1rem; font-size: 0.8125rem; color: #dc2626; font-weight: 500; }

/* Toggle buttons (is_owner) */
.toggle-row { display: flex; gap: 0.625rem; }
.toggle-btn {
  flex: 1; padding: 0.625rem 0.5rem; border: 2px solid #e5e7eb;
  border-radius: var(--radius-xl); font-size: 0.9375rem; font-weight: 600;
  color: #374151; background: #fff; transition: all 0.15s; text-align: center;
}
.toggle-btn--active { border-color: var(--primary); background: var(--primary-subtle); color: var(--primary); }

/* Preferred contact time multi-select */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.contact-btn {
  padding: 0.625rem 0.5rem; border: 2px solid #e5e7eb; border-radius: var(--radius-xl);
  font-size: 0.8125rem; font-weight: 600; color: #374151; background: #fff;
  transition: all 0.15s; text-align: center;
}
.contact-btn--active { border-color: var(--primary); background: var(--primary-subtle); color: var(--primary); }

/* Checkbox */
.checkbox-label { display: flex; align-items: flex-start; gap: 0.75rem; cursor: pointer; font-size: 0.8125rem; color: #374151; line-height: 1.5; }
.checkbox-label input[type="checkbox"] { width: 1.125rem; height: 1.125rem; flex-shrink: 0; margin-top: 0.125rem; accent-color: var(--primary); border-radius: 4px; }
.checkbox-label a { color: var(--primary); text-decoration: underline; }

/* Loading + Success states */
.wizard-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 3rem 1rem; text-align: center; }
.wizard-loading__spinner { width: 2.5rem; height: 2.5rem; border: 3px solid #e5e7eb; border-top-color: var(--primary); border-radius: 50%; animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.wizard-loading__text { color: #6b7280; font-size: 0.9375rem; font-weight: 500; }
.wizard-success { padding: 2rem 1rem; text-align: center; }
.wizard-success__icon { font-size: 3rem; margin-bottom: 1rem; }
.wizard-success__title { font-size: 1.5rem; font-weight: 800; color: #111827; margin-bottom: 0.5rem; }
.wizard-success__text { color: #6b7280; font-size: 0.9375rem; line-height: 1.6; }

/* Spinner inline in button */
@keyframes btnSpin { to { transform: rotate(360deg); } }
.btn-spinner { width: 1.125rem; height: 1.125rem; border: 2px solid rgba(255,255,255,0.4); border-top-color: #fff; border-radius: 50%; animation: btnSpin 0.7s linear infinite; }

/* ─── Features section ─── */
.features { background: #fff; padding: 4rem 1rem; }
.section-label { font-size: 0.75rem; font-weight: 700; color: var(--primary); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 0.75rem; }
.section-title { font-weight: 800; color: #111827; letter-spacing: -0.02em; line-height: 1.15; margin-bottom: 1rem; }
.section-body { color: #6b7280; font-size: 1.0625rem; line-height: 1.65; }
.features-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; margin-top: 3rem; }
@media(min-width:576px){ .features-grid { grid-template-columns: 1fr 1fr; } }
@media(min-width:768px){ .features-grid { grid-template-columns: 1fr 1fr 1fr; } }
.feature-card {
  background: #f9fafb; border: 1px solid #e5e7eb; border-radius: var(--radius-2xl);
  padding: 0.75rem; transition: all 0.2s;
}
.feature-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,.08); transform: translateY(-2px); }
.feature-card__head { display: flex; align-items: center; gap: 0.25rem; margin-bottom: 0.5rem; }
.feature-card__icon { width: 3rem; height: 3rem; background: var(--primary-subtle); border-radius: var(--radius-xl); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.feature-card__icon svg { width: 1.5rem; height: 1.5rem; color: var(--primary); }
.feature-card__title { font-size: 1.0625rem; font-weight: 700; color: #111827; letter-spacing: -0.01em; }
.feature-card__desc { font-size: 0.9375rem; color: #6b7280; line-height: 1.6; }

/* ─── Comparison ─── */
.comparison { background: #f9fafb; padding: 4rem 1rem; }
.comparison-table { border: 1px solid #e5e7eb; border-radius: var(--radius-2xl); overflow: hidden; background: #fff; }
.comparison-head { display: grid; grid-template-columns: 1fr 120px 120px; background: #111827; padding: 0.75rem 1rem; }
@media(min-width:768px){ .comparison-head { grid-template-columns: 1fr 140px 140px; padding: 0.75rem 1.5rem; } }
.comparison-head__label { font-size: 0.875rem; font-weight: 700; text-align: center; }
.comparison-head__label--primary { color: var(--primary); }
.comparison-head__label--muted { color: rgba(255,255,255,0.4); }
.comparison-row { display: grid; grid-template-columns: 1fr 120px 120px; align-items: center; padding: 0.875rem 1rem; border-bottom: 1px solid #f3f4f6; }
.comparison-row:last-child { border-bottom: none; }
@media(min-width:768px){ .comparison-row { grid-template-columns: 1fr 140px 140px; padding: 0.875rem 1.5rem; } }
.comparison-row--alt { background: var(--primary-subtle); }
.comparison-row__feature { font-size: 0.875rem; font-weight: 500; color: #1f2937; }
.comparison-row__val { text-align: center; font-size: 1.125rem; font-weight: 700; }
.val-yes { color: #22c55e; }
.val-no { color: #d1d5db; }

/* ─── WhatYouGet ─── */
.what-you-get { background: #fff; padding: 2.5rem 1rem; }
.wyg-box {
  margin-top: 2.5rem;
  background: linear-gradient(135deg, var(--primary-subtle), #fff);
  border: 2px solid var(--primary); border-radius: var(--radius-2xl);
  padding: 1rem 1.5rem;
}
.wyg-list { display: grid; grid-template-columns: 1fr; gap: 0.875rem; }
@media(min-width:768px){ .wyg-list { grid-template-columns: 1fr 1fr; } }
.wyg-item { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 0.9375rem; font-weight: 500; color: #1f2937; line-height: 1.4; }
.wyg-item__dot { width: 1.25rem; height: 1.25rem; background: var(--primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 0.125rem; }

/* ─── Reviews ─── */
.reviews { background: #f9fafb; padding: 2.5rem 1rem; }
.reviews-rating { display: inline-flex; align-items: center; gap: 0.625rem; padding: 0.25rem 0; margin-bottom: 1rem; font-size: 0.875rem; }
.reviews-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media(min-width:768px){ .reviews-grid { grid-template-columns: 1fr 1fr 1fr; } }
.review-card {
  background: #fff; border: 1px solid #e5e7eb; border-radius: var(--radius-2xl);
  padding: 1.5rem; display: flex; flex-direction: column; gap: 0.875rem;
  transition: box-shadow 0.2s;
}
.review-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,.08); }
.review-card__stars { color: var(--primary); letter-spacing: 0.1em; font-size: 0.875rem; }
.review-card__text { font-size: 0.875rem; color: #374151; line-height: 1.6; flex: 1; }
.review-card__footer { display: flex; align-items: center; gap: 0.625rem; padding-top: 0.875rem; border-top: 1px solid #f3f4f6; }
.review-card__name { font-size: 0.875rem; font-weight: 700; color: #111827; line-height: 1.3; }
.review-card__city { font-size: 0.75rem; color: #9ca3af; }
.badge-verified {
  margin-left: auto; background: #dcfce7; color: #166534;
  font-size: 0.625rem; font-weight: 700; padding: 0.2rem 0.5rem;
  border-radius: var(--radius-full); white-space: nowrap; flex-shrink: 0;
}

/* ─── Second CTA box ─── */
.cta-section { background: var(--primary-subtle); padding: 2.5rem 1rem; }
.cta-card {
  position: relative; background: #fff; border: 2px solid var(--primary);
  border-radius: var(--radius-2xl); box-shadow: var(--shadow-xl);
  padding: 2.5rem 1.5rem; text-align: center;
  max-width: 42rem; margin: 0 auto;
}

/* ─── FAQ ─── */
.faq-section { background: #fff; padding: 2.5rem 1rem; }
.faq-list { display: flex; flex-direction: column; gap: 0.75rem; }
.faq-item { border: 1px solid #e5e7eb; border-radius: var(--radius-xl); overflow: hidden; background: #fff; }
.faq-trigger {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  padding: 1.25rem; text-align: left; font-weight: 700; color: #111827;
  font-size: 0.9375rem; gap: 1rem; transition: background 0.15s;
}
.faq-trigger:hover { background: #f9fafb; }
.faq-trigger__icon { width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--primary-subtle); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.faq-trigger__icon svg { width: 0.875rem; height: 0.875rem; color: var(--primary); transition: transform 0.2s; }
.faq-item--open .faq-trigger__icon svg { transform: rotate(180deg); }
.faq-body { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.faq-item--open .faq-body { max-height: 500px; }
.faq-body__text { padding: 0 1.25rem 1.25rem; font-size: 0.875rem; color: #6b7280; line-height: 1.65; }

/* ─── Support + Footer ─── */
.support { background: #f9fafb; padding: 2rem 1rem; display: flex; justify-content: center; border-top: 1px solid #f3f4f6; }
.support-btn {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1.25rem; border-radius: var(--radius-full);
  border: 1px solid #e5e7eb; background: #fff;
  font-size: 0.875rem; font-weight: 500; color: #4b5563;
  transition: all 0.15s; box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.support-btn:hover { background: #f9fafb; border-color: #9ca3af; }
.site-footer { background: #111827; padding: 2rem 1rem; text-align: center; }
.site-footer__brand { color: #fff; font-weight: 800; font-size: 1rem; margin-bottom: 0.5rem; }
.site-footer__copy { color: rgba(255,255,255,0.35); font-size: 0.75rem; }
.site-footer__links { color: rgba(255,255,255,0.3); font-size: 0.75rem; margin-top: 0.375rem; }
.site-footer__links a { transition: color 0.15s; }
.site-footer__links a:hover { color: rgba(255,255,255,0.6); }
.divider { height: 1px; background: #e5e7eb; }

/* ─── Utilities ─── */
.text-primary { color: var(--primary); }
.text-center { text-align: center; }
.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }
.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-10 { margin-bottom: 2.5rem; }
.hidden { display: none; }
