@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --primary: #FF0000;
  --primary-light: rgba(255,0,0,0.1);
  --primary-border: rgba(255,0,0,0.2);
  --dark: #0f172a;
  --footer-dark: #0b1120;
  --gray-900: #111827;
  --gray-800: #1f2937;
  --gray-700: #374151;
  --gray-600: #4b5563;
  --gray-500: #6b7280;
  --gray-400: #9ca3af;
  --gray-300: #d1d5db;
  --gray-200: #e5e7eb;
  --gray-100: #f3f4f6;
  --gray-50:  #f9fafb;
  --trustpilot: #00B67A;
  --google-blue: #4285F4;
  --which-red: #E31837;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Nunito', sans-serif;
  color: var(--gray-900);
  background: #fff;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

.container { max-width: 1280px; margin: 0 auto; padding: 0 1.25rem; }
.container--narrow { max-width: 960px; margin: 0 auto; padding: 0 1.25rem; }
.container--mid { max-width: 768px; margin: 0 auto; padding: 0 1.25rem; }

/* ── NAV ── */
.nav {
  position: sticky; top: 0; z-index: 50;
  background: #fff;
  border-bottom: 1px solid var(--gray-200);
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  padding: .75rem 1.5rem;
}
.nav__inner { max-width: 1280px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
.nav__logo { height: 2.5rem; width: auto; }
.nav__right { display: flex; align-items: center; gap: 1rem; }
.nav__phone { color: var(--gray-700); font-weight: 700; font-size: .875rem; }
@media (max-width: 640px) { .nav__phone { display: none; } }

/* ── BUTTONS ── */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--primary); color: #fff;
  font-family: 'Nunito', sans-serif;
  font-weight: 800; font-size: .9rem;
  padding: .55rem 1.25rem; border-radius: .5rem;
  transition: background .15s;
  cursor: pointer; border: none;
}
.btn:hover { background: #cc0000; }
.btn--lg { font-size: 1.05rem; padding: .8rem 1.75rem; border-radius: .75rem; }
.btn--xl { font-size: 1.125rem; padding: .9rem 3rem; border-radius: .75rem; min-height: 3.5rem; }
.btn--full { width: 100%; }
.btn:disabled { opacity: .6; cursor: not-allowed; }

/* ── LABELS / BADGES ── */
.eyebrow {
  display: inline-block;
  background: var(--primary-light); border: 1px solid var(--primary-border);
  color: var(--primary); font-size: .6875rem; font-weight: 800;
  letter-spacing: .1em; text-transform: uppercase;
  padding: .25rem .75rem; border-radius: .25rem;
}
.badge {
  display: inline-flex; align-items: center; gap: .375rem;
  background: var(--gray-100); border: 1px solid var(--gray-200);
  color: var(--gray-700); font-size: .75rem; font-weight: 700;
  padding: .375rem .75rem; border-radius: 9999px;
}
.badge svg { color: var(--primary); width: .75rem; height: .75rem; flex-shrink: 0; }

/* ── HERO ── */
.hero { background: #fff; padding: 2rem 1.25rem 2.5rem; }
@media (min-width: 1024px) { .hero { padding: 2.5rem 2rem 3rem; } }
.hero__inner { max-width: 1280px; margin: 0 auto; }

.hero__headline-desktop {
  display: none;
  margin-bottom: 2rem; padding-bottom: 2rem;
  border-bottom: 1px solid var(--gray-200);
}
@media (min-width: 1024px) { .hero__headline-desktop { display: block; } }

.hero__h1 { font-size: 3.75rem; font-weight: 900; line-height: 1.05; letter-spacing: -.02em; margin: 1.25rem 0 1.5rem; }
@media (min-width: 1280px) { .hero__h1 { font-size: 4.5rem; } }

.hero__h1--mobile { font-size: 2.25rem; font-weight: 900; line-height: 1.1; letter-spacing: -.02em; margin: .75rem 0; }
@media (min-width: 640px) { .hero__h1--mobile { font-size: 3rem; } }

.hero__bullets { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1.25rem; }
.hero__bullet { display: flex; gap: .625rem; align-items: flex-start; color: var(--gray-600); }
.hero__bullet-dash { color: var(--primary); font-weight: 900; flex-shrink: 0; line-height: 1.5; }
.hero__bullet-text { font-size: 1.125rem; line-height: 1.4; }
.hero__bullet-text--sm { font-size: 1rem; }

.hero__tagline { font-weight: 700; font-size: 1rem; color: var(--gray-900); }
.hero__tagline span { color: var(--primary); }

.hero__grid { display: grid; gap: 2rem; }
@media (min-width: 1024px) { .hero__grid { grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; } }

.hero__left { display: flex; flex-direction: column; gap: 1.25rem; }
.hero__headline-mobile { display: flex; flex-direction: column; gap: 1rem; }
@media (min-width: 1024px) { .hero__headline-mobile { display: none; } }

/* Before/After Image */
.before-after { position: relative; border-radius: 1rem; overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0,0,0,.25); }
.before-after img { width: 100%; height: auto; display: block; }
.ba-label { position: absolute; top: .75rem; font-size: .625rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; padding: .25rem .625rem; border-radius: .25rem; color: #fff; }
.ba-label--before { left: .75rem; background: rgba(17,24,39,.9); }
.ba-label--after { left: 50%; margin-left: .25rem; background: var(--primary); }
.ba-caption { position: absolute; bottom: 0; width: 50%; background: linear-gradient(to top, rgba(0,0,0,.8), transparent); padding: .75rem .75rem .75rem; }
.ba-caption--left { left: 0; }
.ba-caption--right { left: 50%; right: 0; }
.ba-caption__title { color: #fff; font-size: .75rem; font-weight: 700; }
.ba-caption__title--red { color: var(--primary); }
.ba-caption__sub { color: var(--gray-300); font-size: .625rem; }

.hero__badges { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }

/* ── FORM ── */
.form-card { background: #fff; border-radius: 1rem; box-shadow: 0 20px 60px -10px rgba(0,0,0,.15); overflow: hidden; border: 1px solid var(--gray-100); }
.form-card__header { background: var(--primary); padding: 1rem 1.25rem; }
.form-card__title { font-size: 1.125rem; font-weight: 900; color: #fff; }
.form-card__sub { font-size: .75rem; color: rgba(255,200,200,1); margin-top: .125rem; }
.form-card__body { padding: 1.25rem; }

.form-group { display: flex; flex-direction: column; gap: .25rem; margin-bottom: .75rem; }
.form-label { font-size: .6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--gray-700); }
.form-control {
  width: 100%; height: 2.5rem;
  border: 1px solid var(--gray-300); border-radius: .5rem;
  padding: 0 .75rem; font-size: .875rem; font-family: 'Nunito', sans-serif;
  color: var(--gray-900); background: #fff;
  appearance: none; -webkit-appearance: none;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 1px var(--primary); }
select.form-control { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .75rem center; padding-right: 2rem; }

.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }

.form-privacy { display: flex; align-items: center; justify-content: center; gap: .25rem; font-size: .6875rem; color: var(--gray-400); margin-top: .25rem; }

.form-ratings { display: flex; align-items: center; justify-content: space-around; margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--gray-100); }
.form-ratings__divider { width: 1px; height: 1.5rem; background: var(--gray-200); }
.rating { display: flex; align-items: center; gap: .375rem; }
.rating__icon { font-size: 1rem; flex-shrink: 0; }
.rating__icon--google { color: var(--google-blue); }
.rating__icon--trustpilot { color: var(--trustpilot); }
.rating__stars { color: #FACC15; font-size: .625rem; line-height: 1; }
.rating__label { font-size: .625rem; color: var(--gray-500); font-weight: 700; }
.which-badge { display: inline-flex; align-items: center; justify-content: center; background: var(--which-red); color: #fff; font-size: .5rem; font-weight: 900; border-radius: .125rem; padding: .125rem .25rem; line-height: 1.2; }

/* Form success state */
.form-success { background: #fff; border-radius: 1rem; box-shadow: 0 20px 60px -10px rgba(0,0,0,.15); border: 1px solid var(--gray-100); padding: 3rem 2rem; text-align: center; display: none; }
.form-success__icon { font-size: 3rem; color: #22c55e; margin-bottom: .75rem; }
.form-success__title { font-size: 1.25rem; font-weight: 800; color: var(--gray-900); margin-bottom: .25rem; }
.form-success__text { font-size: .875rem; color: var(--gray-500); }

/* ── SUE PULL-QUOTE STRIP ── */
.sue-strip { background: #fff; border-top: 1px solid var(--gray-100); border-bottom: 1px solid var(--gray-100); padding: 1rem 1.25rem; }
.sue-strip__inner { max-width: 56rem; margin: 0 auto; display: flex; flex-direction: row; align-items: center; gap: 1rem; }
@media (min-width: 640px) { .sue-strip__inner { gap: 2rem; } }
.sue-strip__avatar { width: 3rem; height: 3rem; border-radius: 50%; overflow: hidden; border: 2px solid var(--gray-200); flex-shrink: 0; }
@media (min-width: 640px) { .sue-strip__avatar { width: 4rem; height: 4rem; } }
.sue-strip__avatar img { width: 100%; height: 100%; object-fit: cover; object-position: 22% 8%; }
.sue-strip__content { flex: 1; min-width: 0; }
.sue-strip__stars { color: #FACC15; font-size: .875rem; margin-bottom: .25rem; }
.sue-strip__quote { color: var(--gray-800); font-weight: 700; font-size: .875rem; font-style: italic; line-height: 1.4; }
@media (min-width: 640px) { .sue-strip__quote { font-size: 1.125rem; } }
.sue-strip__attr { font-size: .75rem; color: var(--gray-500); margin-top: .25rem; }
.sue-strip__attr strong { color: var(--gray-700); }

/* ── SHOCK SECTION ── */
.shock { background: var(--dark); padding: 0 1.25rem 2.5rem; }
.shock__inner { max-width: 60rem; margin: 0 auto; }
.shock__heading { text-align: center; padding-top: 2.5rem; padding-bottom: 2rem; border-top: 1px solid rgba(255,255,255,.1); }
.shock__h2 { color: #fff; font-size: 1.875rem; font-weight: 900; line-height: 1.2; margin-bottom: .75rem; }
@media (min-width: 640px) { .shock__h2 { font-size: 2.25rem; } }
.shock__h2 span { color: var(--primary); }
.shock__sub { color: var(--gray-400); font-size: 1rem; max-width: 42rem; margin: 0 auto; }

.shock__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.shock__photo { position: relative; border-radius: .75rem; overflow: hidden; }
.shock__photo img { width: 100%; height: 12rem; object-fit: cover; display: block; }
.shock__photo-label { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(0,0,0,.8), transparent); padding: .5rem .75rem; }
.shock__photo-label p { color: #fff; font-size: .75rem; font-weight: 700; }

.shock__bullets { padding-top: 2rem; }
.shock__bullet-list { display: flex; flex-direction: column; gap: .75rem; margin-bottom: 1.5rem; max-width: 42rem; }
.shock__bullet { display: flex; gap: .75rem; align-items: flex-start; }
.shock__bullet-x { color: var(--primary); font-weight: 900; font-size: 1.125rem; line-height: 1; margin-top: .125rem; flex-shrink: 0; }
.shock__bullet-text { color: var(--gray-300); font-size: .875rem; line-height: 1.5; }

/* ── MEDIA BAR ── */
.media-bar { background: #fff; border-top: 1px solid var(--gray-100); border-bottom: 1px solid var(--gray-100); padding: 2rem 1.5rem; }
.media-bar__inner { max-width: 60rem; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }
@media (min-width: 768px) { .media-bar__inner { flex-direction: row; } }
.media-bar__label { color: var(--gray-700); font-weight: 900; font-size: .875rem; text-transform: uppercase; letter-spacing: .1em; white-space: nowrap; flex-shrink: 0; }
.media-bar__logos { flex: 1; display: flex; align-items: center; justify-content: space-around; gap: 2rem; flex-wrap: wrap; }
.media-bar__logos img { height: auto; max-height: 4rem; width: auto; object-fit: contain; }

/* ── NEOS PRODUCT ── */
.product { background: #fff; padding: 2.5rem 1.25rem; }
@media (min-width: 768px) { .product { padding: 4rem 2rem; } }
.product__inner { max-width: 1280px; margin: 0 auto; }
.product__intro { text-align: center; margin-bottom: 2.5rem; }
.product__h2 { font-size: 1.875rem; font-weight: 900; color: var(--gray-900); }
@media (min-width: 768px) { .product__h2 { font-size: 3rem; } }
.product__sub { color: var(--gray-500); margin-top: .75rem; font-size: 1rem; max-width: 36rem; margin-left: auto; margin-right: auto; }
.product__grid { display: grid; gap: 3rem; align-items: center; }
@media (min-width: 768px) { .product__grid { grid-template-columns: 1fr 1fr; } }
.product__features { display: flex; flex-direction: column; gap: 1.5rem; }
.product__feature { display: flex; gap: 1rem; }
.product__feature-bar { width: .375rem; border-radius: 9999px; background: var(--primary); flex-shrink: 0; align-self: stretch; }
.product__feature-head { font-weight: 800; color: var(--gray-900); }
.product__feature-body { color: var(--gray-500); font-size: .875rem; line-height: 1.6; margin-top: .125rem; }
.product__h3 { font-size: 1.875rem; font-weight: 900; color: var(--gray-900); margin-bottom: 1.5rem; }
@media (min-width: 768px) { .product__h3 { font-size: 2.25rem; } }

/* ── COMPARISON TABLE ── */
.compare { background: var(--gray-50); padding: 2.5rem 1.25rem; }
@media (min-width: 768px) { .compare { padding: 3.5rem 2rem; } }
.compare__inner { max-width: 48rem; margin: 0 auto; }
.compare__h2 { font-size: 1.5rem; font-weight: 900; color: var(--gray-900); text-align: center; margin-bottom: 2rem; }
@media (min-width: 768px) { .compare__h2 { font-size: 1.875rem; } }
.compare__table { border-radius: 1rem; overflow: hidden; border: 1px solid var(--gray-200); box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.compare__headers { display: grid; grid-template-columns: 1fr 1fr; }
.compare__header { padding: 1rem; text-align: center; font-weight: 700; font-size: .875rem; color: #fff; }
.compare__header--nsh { background: var(--gray-800); }
.compare__header--neos { background: var(--primary); border-left: 1px solid rgba(255,255,255,.2); }
.compare__row { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--gray-200); }
.compare__cell { padding: .875rem; display: flex; gap: .625rem; align-items: flex-start; font-size: .875rem; line-height: 1.4; }
.compare__cell--nsh-even { background: #fff; }
.compare__cell--nsh-odd { background: var(--gray-50); }
.compare__cell--neos-even { background: rgba(255,0,0,.025); border-left: 1px solid rgba(255,0,0,.12); }
.compare__cell--neos-odd { background: rgba(255,0,0,.01); border-left: 1px solid rgba(255,0,0,.12); }
.compare__cell-icon { font-weight: 900; flex-shrink: 0; margin-top: .125rem; font-size: .875rem; }
.compare__cell-icon--x { color: #ef4444; }
.compare__cell-icon--check { color: #16a34a; }
.compare__cell-text--nsh { color: var(--gray-600); }
.compare__cell-text--neos { color: var(--gray-800); font-weight: 700; }
.compare__cta { text-align: center; margin-top: 1.5rem; }

/* ── SUE'S STORY ── */
.story { background: var(--dark); padding: 2.5rem 1.25rem; }
@media (min-width: 768px) { .story { padding: 4rem 2rem; } }
.story__inner { max-width: 60rem; margin: 0 auto; }
.story__intro { text-align: center; margin-bottom: 2rem; }
.story__h2 { font-size: 1.875rem; font-weight: 900; color: #fff; }
@media (min-width: 768px) { .story__h2 { font-size: 2.25rem; } }
.story__sub { color: var(--gray-400); margin-top: .75rem; }
.story__grid { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 768px) { .story__grid { grid-template-columns: 3fr 2fr; } }
.story__video { border-radius: 1rem; overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0,0,0,.5); aspect-ratio: 16/9; }
.story__video iframe { width: 100%; height: 100%; border: none; display: block; }
.story__quote { color: #fff; font-size: 1.125rem; font-weight: 700; font-style: italic; line-height: 1.4; margin-bottom: 1rem; }
.story__text { color: var(--gray-400); font-size: .875rem; line-height: 1.6; margin-bottom: 1.25rem; }
.story__points { display: flex; flex-direction: column; gap: .5rem; font-size: .875rem; color: #fff; margin-bottom: 1.5rem; }
.story__point { display: flex; gap: .5rem; align-items: flex-start; }
.story__point-check { color: var(--primary); font-weight: 900; }

/* ── TESTIMONIALS ── */
.testimonials { background: var(--gray-50); padding: 2.5rem 1.25rem; }
@media (min-width: 768px) { .testimonials { padding: 3.5rem 2rem; } }
.testimonials__inner { max-width: 42rem; margin: 0 auto; }
.testimonials__heading { display: flex; align-items: center; justify-content: center; gap: .75rem; margin-bottom: .75rem; }
.testimonials__tp-icon { color: var(--trustpilot); font-size: 1.5rem; }
.testimonials__h2 { font-size: 1.5rem; font-weight: 900; color: var(--gray-900); }
@media (min-width: 768px) { .testimonials__h2 { font-size: 1.875rem; } }
.testimonials__sub { text-align: center; color: var(--gray-500); font-size: .875rem; margin-bottom: 2rem; }
.testimonial-card { background: #fff; border-radius: 1rem; box-shadow: 0 1px 3px rgba(0,0,0,.06); border: 1px solid var(--gray-100); padding: 1.5rem; }
.testimonial-card__stars { color: var(--trustpilot); font-size: 1.125rem; margin-bottom: .75rem; }
.testimonial-card__quote { color: var(--gray-700); font-size: 1rem; line-height: 1.6; font-style: italic; min-height: 4.5rem; }
.testimonial-card__footer { display: flex; align-items: center; justify-content: space-between; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--gray-100); }
.testimonial-card__author { font-weight: 800; color: var(--gray-900); font-size: .875rem; }
.testimonial-card__date { font-size: .75rem; color: var(--gray-400); margin-top: .125rem; }
.testimonial-card__tp { display: flex; align-items: center; gap: .375rem; font-size: .75rem; font-weight: 700; color: var(--gray-600); }
.testimonial-card__tp-icon { color: var(--trustpilot); }
.testimonials__dots { display: flex; justify-content: center; gap: .375rem; margin-top: 1.25rem; }
.testimonials__dot { height: .375rem; border-radius: 9999px; transition: all .3s; background: var(--gray-300); width: .375rem; border: none; cursor: pointer; padding: 0; }
.testimonials__dot--active { background: var(--primary); width: 1.5rem; }

/* ── TRUST ICONS ── */
.trust-icons { background: #fff; padding: 2.5rem 1.25rem; }
@media (min-width: 768px) { .trust-icons { padding: 3.5rem 2rem; } }
.trust-icons__grid { max-width: 56rem; margin: 0 auto; display: grid; gap: 2rem; text-align: center; }
@media (min-width: 768px) { .trust-icons__grid { grid-template-columns: repeat(3, 1fr); } }
.trust-icon { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.trust-icon__img-wrap { width: 7rem; height: 7rem; display: flex; align-items: center; justify-content: center; }
.trust-icon__img-wrap img { width: 100%; height: 100%; object-fit: contain; }
.trust-icon__title { font-size: 1.125rem; font-weight: 900; color: var(--gray-900); }
.trust-icon__text { font-size: .875rem; color: var(--gray-500); margin-top: .25rem; }

/* ── CTA SECTION ── */
.cta-section { background: var(--dark); padding: 2.5rem 1.25rem; text-align: center; }
@media (min-width: 768px) { .cta-section { padding: 4rem 2rem; } }
.cta-section__h2 { font-size: 1.875rem; font-weight: 900; color: #fff; margin-bottom: .75rem; }
@media (min-width: 768px) { .cta-section__h2 { font-size: 2.25rem; } }
.cta-section__sub { color: var(--gray-400); margin-bottom: 2rem; }

/* ── FAQ ── */
.faq { background: #fff; padding: 2.5rem 1.25rem; }
@media (min-width: 768px) { .faq { padding: 4rem 2rem; } }
.faq__inner { max-width: 48rem; margin: 0 auto; }
.faq__h2 { font-size: 1.875rem; font-weight: 900; color: var(--gray-900); text-align: center; margin-bottom: 2rem; }
.faq__list { border-top: 1px solid var(--gray-200); }
.faq__item { border-bottom: 1px solid var(--gray-200); }
.faq__trigger {
  display: flex; justify-content: space-between; align-items: center;
  width: 100%; padding: 1.25rem 0;
  font-size: 1rem; font-weight: 800; color: var(--gray-900); text-align: left;
  background: none; border: none; cursor: pointer; font-family: 'Nunito', sans-serif;
  transition: color .15s;
}
.faq__trigger:hover { color: var(--primary); }
.faq__trigger-icon { flex-shrink: 0; transition: transform .25s; color: var(--gray-500); width: 1.25rem; height: 1.25rem; }
.faq__item.is-open .faq__trigger-icon { transform: rotate(180deg); color: var(--primary); }
.faq__item.is-open .faq__trigger { color: var(--primary); }
.faq__body { overflow: hidden; max-height: 0; transition: max-height .3s ease; }
.faq__answer { padding-bottom: 1.25rem; color: var(--gray-600); font-size: .875rem; line-height: 1.7; }

/* ── FOOTER ── */
.footer { background: var(--footer-dark); border-top: 1px solid rgba(255,255,255,.1); }
.footer__accreditations { padding: 2rem 1.5rem; border-bottom: 1px solid #1f2937; }
.footer__accreditations-inner { max-width: 1280px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 2rem; color: var(--gray-500); font-size: .875rem; font-weight: 500; }
.footer__dot { color: #374151; }
@media (max-width: 640px) { .footer__dot { display: none; } }
.footer__legal { max-width: 1280px; margin: 0 auto; padding: 1.5rem; display: flex; flex-direction: column; gap: 1rem; align-items: center; color: #6b7280; font-size: .75rem; }
@media (min-width: 768px) { .footer__legal { flex-direction: row; justify-content: space-between; } }
.footer__links { display: flex; gap: 1.5rem; }
.footer__links a:hover { color: #fff; }

/* ── UTILITY ── */
.text-primary { color: var(--primary); }
.mt-6 { margin-top: 1.5rem; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
