/* ── Brand tokens — variant 1 (red, rounded-card, mobile-first) ──
   Matches the design language of new-index.html exactly.
   Swap this file + font files to create variants 2-5.            */

:root {
  /* Brand colours — Pinterest-inspired warm palette */
  --tv-primary:        #e60023;
  --tv-primary-dark:   #c30000;
  --tv-primary-light:  #fdf0f1;
  --tv-primary-hover:  #cc0020;

  /* Surface — warm scale */
  --tv-bg:             #ffffff;
  --tv-bg-subtle:      #f6f6f3;   /* warm fog */
  --tv-bg-muted:       #f0f0eb;   /* warm muted */
  --tv-bg-input:       #f6f6f3;
  --tv-bg-dark:        #33332e;   /* dark warm surface */

  /* Text — warm scale */
  --tv-text:           #211922;   /* plum black */
  --tv-text-secondary: #62625b;   /* olive gray */
  --tv-text-muted:     #62625b;   /* olive gray */
  --tv-text-faint:     #91918c;   /* warm silver */
  --tv-text-inverse:   #ffffff;

  /* Border — warm scale */
  --tv-border:         #e5e5e0;   /* warm border */
  --tv-border-focus:   #e60023;
  --tv-border-input:   #e5e5e0;

  /* Semantic */
  --tv-success:        #059669;
  --tv-success-bg:     #ecfdf5;
  --tv-success-border: #a7f3d0;
  --tv-warning:        #d97706;
  --tv-warning-bg:     #fffbeb;
  --tv-warning-border: #fde68a;
  --tv-error:          #e60023;
  --tv-error-bg:       #fdf0f1;
  --tv-error-border:   #fbbfc6;

  /* Radius — Pinterest: 16px buttons, 20px cards */
  --tv-radius-sm:      0.5rem;
  --tv-radius-md:      0.75rem;
  --tv-radius-lg:      1rem;      /* 16px — buttons */
  --tv-radius-xl:      1.25rem;   /* 20px — cards */
  --tv-radius-2xl:     1.75rem;   /* 28px */
  --tv-radius-3xl:     2.5rem;
  --tv-radius-full:    9999px;

  /* Shadows */
  --tv-shadow-sm:    0 1px 2px rgba(0,0,0,.05);
  --tv-shadow-md:   0 4px 6px -1px rgba(0,0,0,.08), 0 2px 4px -2px rgba(0,0,0,.06);
  --tv-shadow-lg:   0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04);
  --tv-shadow-xl:   0 20px 25px -5px rgba(0,0,0,.08), 0 8px 10px -6px rgba(0,0,0,.04);
  --tv-shadow-card: 0 20px 25px -5px rgba(0,0,0,.05), 0 8px 10px -6px rgba(0,0,0,.03);
  --tv-shadow-focus: 0 0 0 3px rgba(230,0,35,.15);

  /* Transitions */
  --tv-ease-fast: 150ms ease;
  --tv-ease-base: 200ms ease;
  --tv-ease-slow: 350ms ease;
  --tv-ease-spring: 300ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Type scale */
  --tv-font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
  --tv-text-xs:   0.75rem;
  --tv-text-sm:   0.875rem;
  --tv-text-base: 1rem;
  --tv-text-lg:   1.125rem;
  --tv-text-xl:   1.375rem;
  --tv-text-2xl:  1.75rem;
  --tv-text-3xl:  2.25rem;

  /* Layout */
  --tv-max-content: 720px;
  --tv-max-wide:    1140px;
  --tv-header-h:    64px;
}

/* ── Utility classes ─────────────────────────────────────── */

/* Primary button — matches form's "Continue" button exactly */
.tv-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 2rem;
  background: var(--tv-primary);
  color: #fff;
  font-weight: 600;
  font-size: var(--tv-text-base);
  border-radius: var(--tv-radius-lg);
  text-decoration: none;
  transition: background var(--tv-ease-base), transform var(--tv-ease-fast), box-shadow var(--tv-ease-base);
  border: none;
  cursor: pointer;
  line-height: 1.5;
}
.tv-btn-primary:hover,
.tv-btn-primary:focus-visible {
  background: var(--tv-primary-dark);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(230,0,35,.3);
  color: #fff;
}
.tv-btn-primary:active {
  transform: translateY(0) scale(0.98);
  box-shadow: 0 2px 8px rgba(230,0,35,.3);
}

/* Ghost button — for secondary actions */
.tv-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: transparent;
  color: var(--tv-text);
  font-weight: 600;
  border: 2px solid var(--tv-border);
  border-radius: var(--tv-radius-lg);
  text-decoration: none;
  transition: border-color var(--tv-ease-base), background var(--tv-ease-base), transform var(--tv-ease-fast);
  cursor: pointer;
}
.tv-btn-ghost:hover,
.tv-btn-ghost:focus-visible {
  border-color: var(--tv-text-secondary);
  background: var(--tv-bg-subtle);
  color: var(--tv-text);
}
.tv-btn-ghost:active {
  transform: scale(0.98);
}

/* Secondary button — white bg, red text */
.tv-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 2rem;
  background: #fff;
  color: var(--tv-primary);
  font-weight: 700;
  font-size: var(--tv-text-base);
  border-radius: var(--tv-radius-lg);
  text-decoration: none;
  transition: background var(--tv-ease-base), transform var(--tv-ease-fast), box-shadow var(--tv-ease-base);
  border: none;
  cursor: pointer;
}
.tv-btn-secondary:hover,
.tv-btn-secondary:focus-visible {
  background: #fdf0f1;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(230,0,35,.15);
  color: var(--tv-primary);
}
.tv-btn-secondary:active {
  transform: translateY(0) scale(0.98);
  box-shadow: 0 2px 8px rgba(230,0,35,.15);
}

/* Badge — matches form's inline badge style */
.tv-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.75rem;
  border-radius: var(--tv-radius-full);
  font-size: var(--tv-text-xs);
  font-weight: 600;
  background: var(--tv-primary-light);
  color: var(--tv-primary-dark);
  letter-spacing: 0.01em;
}

/* Card — matches form's rounded-2xl / shadow-xl container */
.tv-card {
  background: var(--tv-bg);
  border-radius: var(--tv-radius-2xl);
  box-shadow: var(--tv-shadow-xl);
  border: 1px solid rgba(0,0,0,.04);
  overflow: hidden;
  transition: box-shadow var(--tv-ease-base), transform var(--tv-ease-fast);
}
.tv-card:hover {
  box-shadow: var(--tv-shadow-card);
}

/* Selectable card — matches form's plan selection cards */
.tv-card-selectable {
  background: var(--tv-bg);
  border: 2px solid var(--tv-border);
  border-radius: var(--tv-radius-xl);
  padding: 1.25rem;
  cursor: pointer;
  transition: border-color var(--tv-ease-base), background var(--tv-ease-base), box-shadow var(--tv-ease-base);
}
.tv-card-selectable:hover {
  border-color: var(--tv-text-faint);
}
.tv-card-selectable--selected {
  border-color: var(--tv-primary);
  background: var(--tv-primary-light);
  box-shadow: var(--tv-shadow-focus);
}

/* Section spacing — fluid with clamp() */
.tv-section {
  padding-block: clamp(3rem, 6vw, 5rem);
}
.tv-section--alt {
  background: var(--tv-bg-subtle);
}

/* Container */
.tv-container {
  width: 100%;
  max-width: var(--tv-max-wide);
  margin-inline: auto;
  padding-inline: 1.25rem;
}
.tv-container--narrow {
  max-width: var(--tv-max-content);
}

/* ── Trust strip pills ────────────────────────────────────── */
.tv-trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--tv-radius-full);
  color: rgba(255,255,255,.8);
  font-size: var(--tv-text-sm);
  font-weight: 500;
  transition: background var(--tv-ease-base);
}
.tv-trust-pill:hover {
  background: rgba(255,255,255,.1);
}

/* ── Step indicator ───────────────────────────────────────── */
.tv-steps {
  display: flex;
  align-items: center;
  gap: 0;
  counter-reset: step;
  flex-wrap: wrap;
}
.tv-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  flex: 1;
  position: relative;
  text-align: center;
}
.tv-step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 1.25rem;
  left: calc(50% + 1.25rem);
  right: calc(-50% + 1.25rem);
  height: 2px;
  background: var(--tv-border);
}
.tv-step__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--tv-radius-full);
  background: var(--tv-bg-muted);
  border: 2px solid var(--tv-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: var(--tv-text-sm);
  color: var(--tv-text-muted);
  position: relative;
  z-index: 1;
  transition: background var(--tv-ease-base), border-color var(--tv-ease-base), color var(--tv-ease-base);
}
.tv-step--active .tv-step__icon {
  background: var(--tv-primary);
  border-color: var(--tv-primary);
  color: #fff;
}
.tv-step--done .tv-step__icon {
  background: var(--tv-success);
  border-color: var(--tv-success);
  color: #fff;
}
.tv-step__label {
  font-size: var(--tv-text-xs);
  color: var(--tv-text-muted);
}

/* ── FAQ accordion — card-based, animated ──────────────────── */
.tv-faq-list {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.tv-faq-item {
  background: #f6f6f3;
  border: 1.5px solid #e5e5e0;
  border-radius: var(--tv-radius-xl);
  overflow: hidden;
  transition: border-color var(--tv-ease-base), box-shadow var(--tv-ease-base);
}
.tv-faq-item:hover {
  border-color: var(--tv-text-faint);
}
.tv-faq-item[open] {
  border-color: var(--tv-primary);
  box-shadow: var(--tv-shadow-focus);
}
.tv-faq-item summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.125rem 1.25rem;
  cursor: pointer;
  font-weight: 600;
  font-size: var(--tv-text-sm);
  list-style: none;
  color: #211922;
  transition: color var(--tv-ease-base);
}
.tv-faq-item summary::-webkit-details-marker { display: none; }
.tv-faq-item[open] summary { color: var(--tv-primary); }
.tv-faq-item summary .tv-faq-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: var(--tv-radius-full);
  background: var(--tv-bg-muted);
  color: var(--tv-primary);
  font-size: 1.25rem;
  line-height: 1;
  flex-shrink: 0;
  transition: transform var(--tv-ease-base), background var(--tv-ease-base);
}
.tv-faq-item[open] summary .tv-faq-icon {
  transform: rotate(45deg);
  background: var(--tv-primary-light);
}
.tv-faq-item__body {
  padding: 0 1.25rem 1.125rem;
  color: #62625b;
  font-size: var(--tv-text-sm);
  line-height: 1.7;
}

/* ── Fade-in animation — matches form ──────────────────────── */
@keyframes tvFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.tv-fade-in {
  animation: tvFadeIn 0.3s ease-out forwards;
}

/* ── Layout components: hero, pricing, steps, visual mockup ─── */
.tv-hero { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 900px) {
  .tv-hero { grid-template-columns: 1fr 420px; }
  .tv-hero .has-text-align-center { text-align: left; }
}

.tv-hero-card { padding: 1.25rem; border-radius: var(--tv-radius-2xl); background: var(--tv-bg); box-shadow: var(--tv-shadow-card); border: 1px solid rgba(0,0,0,.04); }
.tv-visual-mockup { background: linear-gradient(180deg, var(--tv-bg-input), var(--tv-bg-subtle)); border-radius: var(--tv-radius-lg); padding: 1rem; border: 1px solid var(--tv-border-input); box-shadow: 0 6px 18px rgba(2,6,23,0.06); }
.tv-visual-line { height: 12px; border-radius: 8px; background: linear-gradient(90deg,#fff,#f8fafc); margin-bottom: .75rem; box-shadow: inset 0 -1px 0 rgba(0,0,0,0.02); }
.tv-visual-line.short { width: 45%; }
.tv-visual-line.medium { width: 70%; }
.tv-visual-line.long { width: 95%; }

.tv-pricing-grid { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 900px) {
  .tv-pricing-grid { grid-template-columns: repeat(3, 1fr); align-items: center; padding-top: 1.5rem; }
  .tv-pricing-grid .tv-card-selectable { padding: 1.75rem; }
}

.tv-steps-grid { display: grid; gap: 1rem; grid-template-columns: repeat(1, 1fr); }
@media (min-width: 800px) { .tv-steps-grid { grid-template-columns: repeat(4, 1fr); } .tv-step { align-items: flex-start; text-align: left; } .tv-step__icon { width: 3rem; height: 3rem; font-size: 1rem; } }

.tv-cta-band { max-width: var(--tv-max-content); margin-inline: auto; padding-inline: 1.25rem; }

:focus { outline: none; }
:focus-visible { box-shadow: var(--tv-shadow-focus); border-radius: var(--tv-radius-md); }

/* ── Responsive helpers ───────────────────────────────────── */
@media (max-width: 640px) {
  .tv-section { padding-block: clamp(2rem, 5vw, 3rem); }
  .tv-step:not(:last-child)::after { display: none; }
  .tv-hero-right { order: -1; }
}

/* mobile sticky CTA visibility */
.tv-mobile-cta { display: none; }
@media (max-width: 640px) {
  .tv-mobile-cta { display: block; }
  .site-header { padding-bottom: 68px; }
  .tv-mobile-cta .tv-btn-primary { width: 100%; border-radius: var(--tv-radius-lg); }
  .tv-mobile-cta .tv-btn-ghost { border-radius: var(--tv-radius-lg); }
}

/* ── Trust strip bar (animated marquee) ──────────────────── */
.tv-trust-strip-bar {
  background: #33332e;
  color: rgba(255,255,255,.75);
  font-size: var(--tv-text-xs);
  line-height: 1;
  overflow: hidden;
  position: relative;
}
.tv-trust-strip-bar__track {
  display: flex;
  gap: 3rem;
  padding: 0.625rem 0;
  white-space: nowrap;
  animation: tvMarquee 40s linear infinite;
  will-change: transform;
}
.tv-trust-strip-bar__item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  flex-shrink: 0;
}
@keyframes tvMarquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .tv-trust-strip-bar__track {
    animation: none;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.25rem;
    padding: 0.75rem 1rem;
  }
}

/* ── Hero mini country-picker form ───────────────────────── */
.tv-country-mini {
  background: #fff;
  border: 1px solid var(--tv-border);
  border-radius: var(--tv-radius-2xl);
  padding: 1rem;
  box-shadow: var(--tv-shadow-xl);
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  max-width: 480px;
}
.tv-country-mini__label {
  font-size: var(--tv-text-xs);
  font-weight: 600;
  color: var(--tv-text-secondary);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.tv-country-mini__select {
  width: 100%;
  min-height: 48px;
  padding: 0.75rem 2.5rem 0.75rem 1rem;
  border: 1.5px solid var(--tv-border-input);
  border-radius: var(--tv-radius-xl);
  background: var(--tv-bg-input);
  font-size: var(--tv-text-base);
  font-family: inherit;
  color: var(--tv-text);
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  transition: border-color var(--tv-ease-base), box-shadow var(--tv-ease-base);
  cursor: pointer;
}
.tv-country-mini__select:focus {
  outline: none;
  border-color: var(--tv-primary);
  box-shadow: var(--tv-shadow-focus);
}
.tv-country-mini__cta {
  min-height: 48px;
  padding: 0.875rem 1.25rem;
  font-size: var(--tv-text-base);
  font-weight: 700;
  width: 100%;
  justify-content: center;
}

/* ── Testimonial cards ───────────────────────────────────── */
.tv-testimonial-card {
  background: #fff;
  border: 1.5px solid #e5e5e0;
  border-radius: 20px;
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}
.tv-testimonial-card__stars {
  color: #f59e0b;
  font-size: 1rem;
  letter-spacing: 2px;
  line-height: 1;
}
.tv-testimonial-card__quote {
  color: var(--tv-text-secondary);
  font-size: var(--tv-text-base);
  line-height: 1.65;
  margin: 0;
  flex-grow: 1;
}
.tv-testimonial-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--tv-bg-muted);
  margin-top: auto;
  flex-wrap: wrap;
}
.tv-testimonial-card__name {
  font-weight: 700;
  color: var(--tv-text);
  font-size: var(--tv-text-sm);
  line-height: 1.3;
}
.tv-testimonial-card__country {
  font-size: var(--tv-text-xs);
  color: var(--tv-text-muted);
}
.tv-testimonial-card__stamp {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: var(--tv-success-bg);
  color: var(--tv-success);
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 0.3rem 0.625rem;
  border-radius: var(--tv-radius-full);
  border: 1px solid var(--tv-success-border);
  white-space: nowrap;
}
.tv-testimonial-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .tv-testimonial-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ── How-it-works redesigned (clean grid + connector line) ── */
.tv-how-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
  position: relative;
}
.tv-how-card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.tv-how-card__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: #e60023;
  color: #fff;
  font-weight: 800;
  font-size: 1.125rem;
  flex-shrink: 0;
}
.tv-how-card__title {
  font-weight: 700;
  font-size: 1.0625rem;
  color: #211922;
  margin: 0 0 0.25rem;
  letter-spacing: -0.01em;
}
.tv-how-card__desc {
  font-size: 0.9375rem;
  color: #62625b;
  line-height: 1.6;
  margin: 0;
}
.tv-how-time-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.3rem 0.875rem;
  border-radius: 9999px;
  margin-top: 0.5rem;
}
@media (min-width: 900px) {
  .tv-how-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }
  .tv-how-grid::before {
    content: '';
    position: absolute;
    top: 1.4rem;
    left: 3rem;
    right: 3rem;
    height: 1.5px;
    background: #e5e5e0;
    z-index: 0;
  }
}

/* ── Payment methods row ─────────────────────────────────── */
.tv-pay-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  justify-content: center;
}
.tv-pay-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3rem;
  height: 1.75rem;
  padding: 0 0.625rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--tv-radius-sm);
  color: rgba(255,255,255,.85);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.tv-pay-pill--light {
  background: #fff;
  border: 1px solid var(--tv-border);
  color: var(--tv-text-secondary);
}

/* ── Country eligibility tier cards ─────────────────────── */
.tv-tier-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .tv-tier-grid { grid-template-columns: repeat(3, 1fr); }
}
.tv-tier-card {
  border-radius: var(--tv-radius-2xl);
  padding: 1.75rem;
  border: 2px solid;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.tv-tier-card--green { background: var(--tv-success-bg); border-color: var(--tv-success-border); }
.tv-tier-card--red   { background: var(--tv-primary-light); border-color: #fecaca; }
.tv-tier-card--amber { background: var(--tv-warning-bg); border-color: var(--tv-warning-border); }
.tv-tier-card__tag {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.25rem 0.625rem;
  border-radius: var(--tv-radius-full);
  align-self: flex-start;
}
.tv-tier-card--green .tv-tier-card__tag { background: var(--tv-success); color: #fff; }
.tv-tier-card--red   .tv-tier-card__tag { background: var(--tv-primary); color: #fff; }
.tv-tier-card--amber .tv-tier-card__tag { background: var(--tv-warning); color: #fff; }
.tv-tier-card__title {
  font-weight: 700;
  font-size: 1.0625rem;
  margin: 0;
  color: var(--tv-text);
}
.tv-tier-card__desc {
  color: var(--tv-text-secondary);
  font-size: var(--tv-text-sm);
  line-height: 1.55;
  margin: 0;
}

/* ── CTA proof row ───────────────────────────────────────── */
.tv-cta-proof-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  justify-content: center;
  color: rgba(255,255,255,.92);
  font-size: var(--tv-text-sm);
  font-weight: 500;
}
.tv-cta-proof-row span {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}

/* ── 48px touch target enforcement ──────────────────────── */
.tv-btn-primary,
.tv-btn-secondary,
.tv-btn-ghost {
  min-height: 48px;
}

/* ── Iznik geometric tile pattern — hero right column ──────── */
.tv-iznik-panel {
  position: relative;
  border-radius: 20px;
  border: 1.5px solid #e5e5e0;
  overflow: visible;
  background-color: #f6f6f3;
  background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23e60023' stroke-width='1' stroke-opacity='0.18'%3E%3Cpath d='M40 0 L47 13 L60 13 L52 22 L56 36 L40 28 L24 36 L28 22 L20 13 L33 13 Z'/%3E%3Crect x='28' y='28' width='24' height='24' rx='2' transform='rotate(45 40 40)'/%3E%3Ccircle cx='40' cy='40' r='6'/%3E%3Cpath d='M0 0 L10 10 M80 0 L70 10 M0 80 L10 70 M80 80 L70 70'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 80px 80px;
  min-height: 520px;
}
.tv-iznik-panel__card {
  position: absolute;
  bottom: 1.5rem;
  right: -1.5rem;
  background: hsla(60,20%,98%,0.96);
  border: 1.5px solid #e5e5e0;
  border-radius: 20px;
  padding: 1.25rem 1.5rem;
  max-width: 320px;
  backdrop-filter: blur(4px);
}
@media (max-width: 900px) {
  .tv-iznik-panel { min-height: 280px; }
  .tv-iznik-panel__card { right: 0; max-width: 100%; }
}

/* ── Testimonial large quote mark ────────────────────────── */
.tv-testimonial-card__bigquote {
  font-size: 4rem;
  line-height: 0.8;
  color: #e5e5e0;
  font-family: Georgia, serif;
  font-weight: 700;
  margin-bottom: 0.75rem;
  display: block;
}

/* ── Staggered testimonial grid ──────────────────────────── */
@media (min-width: 900px) {
  .tv-testimonial-grid .tv-testimonial-card:nth-child(2) {
    margin-top: 3rem;
  }
}

/* ── Section eyebrow — replaces pill badge on section headers */
.tv-section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #91918c;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  margin-bottom: 0.75rem;
}
.tv-section-eyebrow::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #e60023;
  border-radius: 50%;
  flex-shrink: 0;
}

/* Warm section background */
.tv-section--warm { background: #f6f6f3; }
.tv-section--dark { background: #33332e; }

/* ── Hero v2 — Pinterest-inspired warm design ────────────── */
.tv-hero-tag {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #62625b;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 1.5rem;
}
.tv-hero-tag::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #e60023;
  border-radius: 50%;
  flex-shrink: 0;
}
.tv-hero-label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #91918c;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 0.5rem;
}
.tv-hero-form-row {
  display: flex;
  gap: 0.625rem;
  align-items: stretch;
}
@media (max-width: 480px) {
  .tv-hero-form-row { flex-direction: column; }
}
.tv-hero-select {
  flex: 1;
  min-width: 180px;
  min-height: 52px;
  padding: 0 2.5rem 0 1rem;
  border: 1.5px solid #e5e5e0;
  border-radius: 16px;
  font-size: 0.9375rem;
  font-family: inherit;
  color: #211922;
  background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2391918c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 1rem center;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.tv-hero-select:focus {
  outline: none;
  border-color: #e60023;
  box-shadow: 0 0 0 3px rgba(230,0,35,.1);
}
.tv-hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  min-height: 52px;
  padding: 0 1.75rem;
  background: #e60023;
  color: #fff;
  font-weight: 700;
  font-size: 0.9375rem;
  font-family: inherit;
  border: none;
  border-radius: 16px;
  cursor: pointer;
  transition: background 200ms ease, transform 150ms ease;
  text-decoration: none;
}
.tv-hero-cta:hover  { background: #c30000; transform: translateY(-1px); color: #fff; }
.tv-hero-cta:active { transform: scale(0.98); }

/* Testimonial quote — editorial large-quote style */
.tv-hero-quote {
  background: hsla(60,20%,98%,0.85);
  border: 1.5px solid #e5e5e0;
  border-radius: 20px;
  padding: 1.75rem;
  max-width: 420px;
  margin-left: auto;
}
.tv-hero-quote__mark {
  font-size: 3.5rem;
  line-height: 0.75;
  color: #e60023;
  font-weight: 700;
  margin-bottom: 0.875rem;
  font-family: Georgia, serif;
}
.tv-hero-quote__text {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: #211922;
  margin: 0 0 1.25rem;
}
.tv-hero-quote__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 1.125rem;
  border-top: 1px solid #e5e5e0;
  flex-wrap: wrap;
}

/* Stat row — three-cell strip */
.tv-stat-row {
  display: flex;
  align-items: center;
  background: #fff;
  border: 1.5px solid #e5e5e0;
  border-radius: 16px;
  overflow: hidden;
  margin-top: 0.875rem;
  max-width: 420px;
  margin-left: auto;
}
.tv-stat-row__item {
  flex: 1;
  padding: 0.875rem 0.5rem;
  text-align: center;
}
.tv-stat-row__item + .tv-stat-row__item {
  border-left: 1px solid #e5e5e0;
}
.tv-stat-row__num {
  font-size: 1.375rem;
  font-weight: 800;
  color: #211922;
  line-height: 1.1;
}
.tv-stat-row__label {
  font-size: 0.5625rem;
  color: #91918c;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 0.2rem;
}

/* ── Stats strip (below hero) ────────────────────────────── */
.tv-stats-strip {
  background: #f6f6f3;
  border-top: 1px solid #e5e5e0;
  border-bottom: 1px solid #e5e5e0;
  padding: 0;
}
.tv-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 1.25rem;
}
.tv-stats-item {
  text-align: center;
  padding: 1.375rem 1rem;
  border-right: 1px solid #e5e5e0;
}
.tv-stats-item:last-child { border-right: none; }
.tv-stats-num {
  font-size: 2rem;
  font-weight: 800;
  color: #211922;
  line-height: 1;
}
.tv-stats-label {
  font-size: 0.8125rem;
  color: #62625b;
  margin-top: 0.25rem;
}
@media (max-width: 900px) {
  .tv-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .tv-stats-item:nth-child(2) { border-right: none; }
  .tv-stats-item:nth-child(3) { border-top: 1px solid #e5e5e0; }
  .tv-stats-item:nth-child(4) { border-top: 1px solid #e5e5e0; }
}

/* ── Trust badges grid (why choose us) ───────────────────── */
.tv-badges-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 1.25rem;
}
.tv-badge-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 1.25rem;
  padding: 1.75rem 1.5rem;
  text-align: center;
}
.tv-badge-card__icon { font-size: 2rem; margin-bottom: 0.875rem; }
.tv-badge-card__title { font-size: 1rem; font-weight: 700; color: #fff; margin-bottom: 0.375rem; }
.tv-badge-card__text  { font-size: 0.875rem; color: #91918c; line-height: 1.55; }
@media (max-width: 900px) {
  .tv-badges-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .tv-badges-grid { grid-template-columns: 1fr; }
}

/* ── Eligibility card list (country lists with checkmarks) ── */
.tv-elig-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 1.25rem;
}
.tv-elig-card {
  background: #fff;
  border: 1.5px solid #e5e5e0;
  border-radius: 1.25rem;
  padding: 1.75rem;
}
.tv-elig-card__tag {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.2rem 0.625rem;
  border-radius: 9999px;
  margin-bottom: 0.875rem;
}
.tv-elig-card__tag--green { background: #ecfdf5; color: #059669; }
.tv-elig-card__tag--amber { background: #fffbeb; color: #d97706; }
.tv-elig-card__tag--blue  { background: #eff6ff; color: #2563eb; }
.tv-elig-card h3 { font-size: 1rem; font-weight: 700; color: #211922; margin: 0 0 0.375rem; }
.tv-elig-card p  { font-size: 0.875rem; color: #62625b; line-height: 1.55; margin: 0 0 1rem; }
.tv-elig-card ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 0.3rem; }
.tv-elig-card li {
  font-size: 0.8125rem; color: #62625b;
  display: flex; align-items: center; gap: 0.375rem;
}
.tv-elig-card li::before {
  content: '✓'; color: #e60023; font-weight: 700; flex-shrink: 0;
}
.tv-elig-more { color: #e60023; font-weight: 600; }
@media (max-width: 900px) {
  .tv-elig-grid { grid-template-columns: 1fr; }
}

/* ── WordPress global style overrides ────────────────────── */

/* Body reset to match home.html baseline */
body { background-color: #fff !important; color: #211922 !important; }

/* Kill WP blockGap between sections */
.wp-site-blocks > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.wp-site-blocks { padding: 0 !important; }

/* Prevent WP from adding margins to our block HTML */
.wp-block-html { margin: 0 !important; padding: 0 !important; }
.entry-content > * + * { margin-top: 0 !important; }

/* Reset browser-default margins/padding within all our blocks — home.html has * { margin:0; padding:0 } */
.wp-block-html h1, .wp-block-html h2, .wp-block-html h3,
.wp-block-html h4, .wp-block-html h5, .wp-block-html h6,
.wp-block-html p, .wp-block-html ul, .wp-block-html ol,
.wp-block-html li, .wp-block-html figure, .wp-block-html blockquote { margin: 0; padding: 0; }
.wp-block-html a { text-decoration: none; color: inherit; }

/* Heading overrides to defeat WP theme.json element styles */
.section-header h2 {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.2 !important;
  color: #211922 !important;
  margin-bottom: 0.5rem !important;
}
.trust-badges .section-header h2 { color: #fff !important; }
.cta-band h2 { color: #fff !important; font-size: clamp(1.75rem, 4vw, 2.5rem) !important; line-height: 1.2 !important; }
.hero__h1 {
  font-size: clamp(2.75rem, 6vw, 4.5rem) !important;
  font-weight: 700 !important;
  line-height: 1.0 !important;
  letter-spacing: -0.03em !important;
  color: #211922 !important;
  margin-bottom: 1.25rem !important;
}
.step-card h3 { font-size: 1rem !important; font-weight: 700 !important; line-height: 1.3 !important; margin-bottom: 0.375rem !important; }
.badge-card__title { font-size: 1rem !important; font-weight: 700 !important; margin-bottom: 0.375rem !important; }
.plan-card__name { font-size: 1.125rem !important; font-weight: 700 !important; margin-bottom: 0.25rem !important; }
.elig-card h3 { font-size: 1rem !important; font-weight: 700 !important; margin-bottom: 0.375rem !important; }

/* ═══════════════════════════════════════════════════════════
   home.html design system — exact CSS from the approved design
   ═══════════════════════════════════════════════════════════ */
:root {
  --red:     #e60023;
  --red-dark:#c30000;
  --plum:    #211922;
  --olive:   #62625b;
  --silver:  #91918c;
  --sand:    #e5e5e0;
  --fog:     #f6f6f3;
  --muted:   #f0f0eb;
  --dark:    #33332e;
  --white:   #ffffff;
  --r-btn:   1rem;
  --r-card:  1.25rem;
}

/* layout */
.container       { max-width:1140px; margin:0 auto; padding:0 1.25rem; }
.container--narrow { max-width:760px; margin:0 auto; padding:0 1.25rem; }

/* buttons */
.btn-primary {
  display:inline-block; background:var(--red); color:#fff;
  font-weight:700; font-size:.9375rem; padding:.75rem 1.75rem;
  border-radius:var(--r-btn); border:none; cursor:pointer;
  transition:background .15s; text-decoration:none;
}
.btn-primary:hover { background:var(--red-dark); color:#fff; }
.btn-ghost {
  display:inline-block; background:transparent; color:var(--plum);
  font-weight:600; font-size:.9375rem; padding:.7rem 1.5rem;
  border-radius:var(--r-btn); border:1.5px solid var(--sand);
  cursor:pointer; text-decoration:none;
}

/* eyebrow */
.eyebrow {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.6875rem; font-weight:700; color:var(--silver);
  text-transform:uppercase; letter-spacing:.09em; margin-bottom:.75rem;
}
.eyebrow::before {
  content:''; width:6px; height:6px;
  background:var(--red); border-radius:50%; flex-shrink:0;
}

/* trust bar */
.trust-bar { background:var(--dark); color:#fff; padding:.6rem 0; font-size:.75rem; font-weight:500; white-space:nowrap; overflow:hidden; }
.trust-bar__inner { display:flex; gap:2.5rem; align-items:center; justify-content:center; flex-wrap:wrap; padding:0 1.25rem; }
.trust-bar__item  { display:flex; align-items:center; gap:.4rem; opacity:.85; }

/* header */
.site-header { position:sticky; top:0; z-index:60; background:rgba(255,255,255,.95); backdrop-filter:blur(6px); border-bottom:1px solid var(--sand); padding:.75rem 0; }
.site-header__inner   { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.site-header__logo    { font-size:1.125rem; font-weight:700; color:var(--plum); display:flex; align-items:center; gap:.5rem; text-decoration:none; }
.site-header__logo-icon { width:32px; height:32px; background:var(--red); border-radius:8px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:.875rem; font-weight:800; flex-shrink:0; }
.site-header__nav  { display:flex; gap:1.75rem; align-items:center; font-size:.9375rem; font-weight:500; color:var(--plum); }
.site-header__nav a { text-decoration:none; color:var(--plum); }
.site-header__nav a:hover { color:var(--red); }
.site-header__actions { display:flex; align-items:center; gap:.75rem; }

/* hero */
.hero { background:var(--white); padding:clamp(3rem,6vw,5.5rem) 0; }
.hero__grid { display:grid; grid-template-columns:58% 1fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.hero__tag { display:inline-block; font-size:.6875rem; font-weight:700; color:var(--silver); text-transform:uppercase; letter-spacing:.08em; background:var(--fog); border:1px solid var(--sand); padding:.3rem .75rem; border-radius:999px; margin-bottom:1.25rem; }
.hero__h1  { font-size:clamp(2.75rem,6vw,4.5rem); font-weight:700; line-height:1.0; letter-spacing:-.03em; color:var(--plum); margin-bottom:1.25rem; }
.hero__h1 span { color:var(--red); }
.hero__sub { font-size:1.125rem; line-height:1.6; color:var(--olive); max-width:480px; margin-bottom:2rem; }
.hero__form-label { font-size:.8125rem; font-weight:600; color:var(--plum); display:block; margin-bottom:.5rem; }
.hero__form-row   { display:flex; gap:.5rem; }
.hero__select { flex:1; padding:.75rem 1rem; border:1.5px solid var(--sand); border-radius:var(--r-btn); font-size:.9375rem; color:var(--plum); background:var(--white); outline:none; font-family:inherit; }
.hero__select:focus { border-color:var(--red); }
.hero__microcopy { font-size:.75rem; color:var(--silver); margin-top:1rem; display:flex; gap:.875rem; flex-wrap:wrap; align-items:center; }
.hero__microcopy span { display:flex; align-items:center; gap:.25rem; }

/* iznik panel */
.iznik-panel {
  position:relative; background-color:var(--fog);
  background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23e60023' stroke-width='1'%3E%3Cpolygon points='40,4 52,14 64,14 74,24 74,36 80,40 74,44 74,56 64,66 52,66 40,76 28,66 16,66 6,56 6,44 0,40 6,36 6,24 16,14 28,14' opacity='0.15'/%3E%3Cpolygon points='40,14 50,22 60,22 68,30 68,40 60,48 50,56 40,56 30,56 20,48 12,40 20,30 30,22' opacity='0.1'/%3E%3Ccircle cx='40' cy='40' r='8' opacity='0.1'/%3E%3Cline x1='0' y1='40' x2='80' y2='40' opacity='0.07'/%3E%3Cline x1='40' y1='0' x2='40' y2='80' opacity='0.07'/%3E%3C/g%3E%3C/svg%3E");
  background-size:80px 80px; min-height:520px; border-radius:20px; border:1.5px solid var(--sand); overflow:visible;
}
.iznik-panel__card { position:absolute; bottom:1.5rem; right:-1.5rem; background:rgba(255,255,252,.97); border:1.5px solid var(--sand); border-radius:20px; padding:1.375rem 1.5rem; max-width:310px; box-shadow:0 4px 24px rgba(33,25,34,.09); }
.iznik-panel__card p { font-size:.9375rem; font-style:italic; line-height:1.65; color:var(--plum); margin-bottom:1rem; }
.iznik-panel__card-footer { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding-top:.875rem; border-top:1px solid var(--sand); }
.iznik-panel__card-name { font-weight:700; font-size:.875rem; color:var(--plum); }
.iznik-panel__card-loc  { font-size:.6875rem; color:var(--silver); margin-top:.125rem; }
.approved-badge { background:#ecfdf5; color:#059669; font-size:.6875rem; font-weight:700; padding:.25rem .625rem; border-radius:8px; border:1px solid #a7f3d0; white-space:nowrap; }

/* stats */
.stats          { background:var(--fog); border-top:1px solid var(--sand); border-bottom:1px solid var(--sand); padding:2rem 0; }
.stats__grid    { display:grid; grid-template-columns:repeat(4,1fr); }
.stats__item    { text-align:center; padding:1.25rem 1rem; border-right:1px solid var(--sand); }
.stats__item:last-child { border-right:none; }
.stats__num     { font-size:2rem; font-weight:800; color:var(--plum); line-height:1; }
.stats__label   { font-size:.8125rem; color:var(--olive); margin-top:.25rem; }

/* how it works */
.how-it-works   { background:var(--white); padding:clamp(3rem,6vw,5rem) 0; }
.section-header { text-align:center; margin-bottom:3rem; }
.section-header h2 { font-size:clamp(1.75rem,4vw,2.5rem); font-weight:700; letter-spacing:-.015em; margin-bottom:.5rem; }
.section-header p  { color:var(--olive); max-width:520px; margin:0 auto; }
.steps-grid     { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }
.step-card      { text-align:center; }
.step-circle    { width:56px; height:56px; border-radius:50%; background:var(--fog); border:2px solid var(--sand); display:flex; align-items:center; justify-content:center; font-size:1.25rem; font-weight:800; color:var(--red); margin:0 auto 1rem; }
.step-card h3   { font-size:1rem; font-weight:700; margin-bottom:.375rem; }
.step-card p    { font-size:.875rem; color:var(--olive); line-height:1.5; }
.step-time      { display:inline-block; margin-top:.625rem; background:var(--muted); color:var(--plum); font-size:.6875rem; font-weight:700; padding:.2rem .625rem; border-radius:999px; letter-spacing:.04em; }
.step-connector { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; position:relative; }
.step-connector::before { content:''; position:absolute; top:28px; left:calc(12.5% + 28px); right:calc(12.5% + 28px); height:1px; background:var(--sand); }

/* trust badges */
.trust-badges   { background:var(--dark); color:#fff; padding:3rem 0; }
.trust-badges .section-header h2 { color:#fff; }
.trust-badges .section-header p  { color:var(--silver); }
.badges-grid    { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.badge-card     { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:var(--r-card); padding:1.75rem 1.5rem; text-align:center; }
.badge-card__icon  { font-size:2rem; margin-bottom:.875rem; }
.badge-card__title { font-size:1rem; font-weight:700; color:#fff; margin-bottom:.375rem; }
.badge-card__text  { font-size:.875rem; color:var(--silver); line-height:1.5; }

/* testimonials */
.testimonials   { background:var(--fog); padding:clamp(3rem,6vw,5rem) 0; }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.tcard          { background:var(--white); border:1.5px solid var(--sand); border-radius:var(--r-card); padding:1.75rem; }
.tcard:nth-child(2) { margin-top:3rem; }
.tcard__bigquote { font-size:4rem; line-height:.8; color:var(--sand); font-family:Georgia,serif; font-weight:700; margin-bottom:.5rem; }
.tcard__stars   { color:#f59e0b; font-size:.875rem; letter-spacing:.1em; margin-bottom:.875rem; }
.tcard__quote   { font-size:.9375rem; color:var(--plum); line-height:1.65; margin-bottom:1.25rem; }
.tcard__footer  { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding-top:1rem; border-top:1px solid var(--sand); }
.tcard__name    { font-weight:700; font-size:.875rem; color:var(--plum); }
.tcard__country { font-size:.75rem; color:var(--silver); margin-top:.125rem; }
.tcard__stamp   { background:#f0fdf4; color:#166534; font-size:.6875rem; font-weight:700; padding:.25rem .625rem; border-radius:8px; border:1px solid #bbf7d0; white-space:nowrap; }

/* pricing */
.pricing        { background:var(--white); padding:clamp(3rem,6vw,5rem) 0; }
.pricing-grid   { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; max-width:900px; margin:0 auto; padding-top:1.25rem; overflow:visible; }
.plan-card      { background:var(--white); border:1.5px solid var(--sand); border-radius:var(--r-card); padding:1.75rem; transition:box-shadow .2s; }
.plan-card:hover { box-shadow:0 4px 24px rgba(33,25,34,.08); }
.plan-card--featured { border-color:var(--red); border-width:2px; box-shadow:0 4px 24px rgba(230,0,35,.1); transform:scale(1.03); z-index:2; position:relative; }
.plan-badge     { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--red); color:#fff; font-size:.6875rem; font-weight:700; padding:.25rem .875rem; border-radius:8px; white-space:nowrap; letter-spacing:.05em; }
.plan-card__name  { font-size:1.125rem; font-weight:700; letter-spacing:-.01em; margin-bottom:.25rem; }
.plan-card__speed { font-size:.875rem; color:var(--olive); margin-bottom:.75rem; padding-bottom:.75rem; border-bottom:1.5px solid var(--sand); }
.plan-card--featured .plan-card__speed { border-color:rgba(230,0,35,.2); }
.plan-card__price { font-size:2.25rem; font-weight:800; color:var(--plum); line-height:1.1; }
.plan-card--featured .plan-card__price { color:var(--red); }
.plan-card__total { font-size:.875rem; color:var(--olive); }
.plan-card__cta   { margin-top:1.25rem; }
.plan-card__cta .btn-ghost,
.plan-card--featured .btn-primary {
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  text-align:center;
  display:block;
}
.plan-card__cta { width:100%; }
.plan-card__note  { font-size:.75rem; color:var(--silver); line-height:1.5; margin-top:.75rem; }

/* eligibility */
.eligibility    { background:var(--fog); padding:clamp(3rem,6vw,5rem) 0; }
.eligibility-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.elig-card      { background:var(--white); border:1.5px solid var(--sand); border-radius:var(--r-card); padding:1.75rem; }
.elig-card__tag { display:inline-block; font-size:.6875rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:.2rem .625rem; border-radius:999px; margin-bottom:.875rem; }
.elig-card__tag--green { background:#ecfdf5; color:#059669; }
.elig-card__tag--amber { background:#fffbeb; color:#d97706; }
.elig-card__tag--blue  { background:#eff6ff; color:#2563eb; }
.elig-card h3   { font-size:1rem; font-weight:700; margin-bottom:.375rem; }
.elig-card p    { font-size:.875rem; color:var(--olive); line-height:1.55; margin-bottom:1rem; }
.elig-card ul   { list-style:none; padding:0; display:flex; flex-direction:column; gap:.3rem; }
.elig-card li   { font-size:.8125rem; color:var(--olive); display:flex; align-items:center; gap:.375rem; }
.elig-card li::before { content:'✓'; color:var(--red); font-weight:700; flex-shrink:0; }

/* cta band */
.cta-band       { background:var(--red); color:#fff; padding:4rem 0; text-align:center; }
.cta-band h2    { font-size:clamp(1.75rem,4vw,2.5rem); font-weight:700; letter-spacing:-.015em; color:#fff; margin-bottom:.75rem; }
.cta-band > .container > p { font-size:1.0625rem; color:rgba(255,255,255,.85); margin-bottom:2rem; max-width:480px; margin-left:auto; margin-right:auto; }
.btn-white      { background:#fff; color:var(--red); font-weight:700; font-size:1rem; padding:.875rem 2.25rem; border-radius:var(--r-btn); display:inline-block; text-decoration:none; }
.btn-white:hover { background:var(--fog); color:var(--red); }
.cta-band__sub  { font-size:.8125rem; color:rgba(255,255,255,.65); margin-top:1.25rem; }

/* faq */
.faq            { background:var(--white); padding:clamp(3rem,6vw,5rem) 0; }
.faq-list       { max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:.75rem; }
.faq-item       { background:var(--fog); border:1.5px solid var(--sand); border-radius:var(--r-card); overflow:hidden; }
.faq-item summary { list-style:none; cursor:pointer; padding:1.25rem 1.5rem; font-size:.9375rem; font-weight:600; color:var(--plum); display:flex; align-items:center; justify-content:space-between; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; font-size:1.25rem; color:var(--silver); font-weight:400; transition:transform .2s; flex-shrink:0; margin-left:1rem; }
.faq-item[open] summary::after { transform:rotate(45deg); }
.faq-item__body { padding:0 1.5rem 1.25rem; font-size:.9375rem; color:var(--olive); line-height:1.65; }
.faq-item__body a { color:var(--red); font-weight:500; }

/* ── inner / content pages ── */
/* page hero band */
.ip-hero { background:var(--fog); border-bottom:1px solid var(--sand); padding:3rem 0 2.5rem; }
.ip-hero__eyebrow { display:inline-flex; align-items:center; gap:.4rem; font-size:.6875rem; font-weight:700; color:var(--silver); text-transform:uppercase; letter-spacing:.09em; margin-bottom:.875rem; }
.ip-hero__eyebrow::before { content:''; width:6px; height:6px; background:var(--red); border-radius:50%; flex-shrink:0; }
.ip-hero__title { font-size:clamp(2rem,4vw,2.75rem); font-weight:700; color:var(--plum); line-height:1.1; letter-spacing:-.02em; margin:0 0 .75rem; }
.ip-hero__meta  { font-size:.9375rem; color:var(--olive); }
.ip-hero__back  { display:flex; width:fit-content; align-items:center; gap:.375rem; font-size:.875rem; font-weight:500; color:var(--silver); text-decoration:none; margin-bottom:1.25rem; transition:color .15s; }
.ip-hero__back:hover { color:var(--plum); }
/* two-col layout */
.ip-body { padding:3.5rem 0 5rem; background:var(--white); }
.ip-layout { display:grid; grid-template-columns:1fr 340px; gap:3.5rem; align-items:start; }
/* main content */
.ip-main {}
.ip-section { margin-bottom:2.5rem; padding-bottom:2.5rem; border-bottom:1px solid var(--sand); }
.ip-section:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.ip-section h2 { font-size:1.25rem; font-weight:700; color:var(--plum); margin:0 0 .625rem; }
.ip-section p  { font-size:.9375rem; color:var(--olive); line-height:1.75; margin:0 0 .875rem; }
.ip-section p:last-child { margin-bottom:0; }
.ip-section ul { padding-left:1.25rem; margin:0 0 .875rem; display:flex; flex-direction:column; gap:.4rem; font-size:.9375rem; color:var(--olive); line-height:1.65; }
.ip-section a  { color:var(--red); font-weight:500; }
.ip-notice { border-radius:1rem; padding:1.125rem 1.25rem; display:flex; gap:.875rem; align-items:flex-start; margin-bottom:1.75rem; }
.ip-notice--info    { background:#eff6ff; border:1.5px solid #bfdbfe; }
.ip-notice--warning { background:#fffbeb; border:1.5px solid #fde68a; }
.ip-notice--success { background:#ecfdf5; border:1.5px solid #a7f3d0; }
.ip-notice svg      { flex-shrink:0; width:1.25rem; height:1.25rem; margin-top:.125rem; }
.ip-notice p        { font-size:.9375rem; font-weight:500; line-height:1.6; margin:0; }
.ip-notice--info p  { color:#1d4ed8; }
.ip-notice--warning p { color:#92400e; }
.ip-notice--success p { color:#065f46; }
.ip-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.5rem; }
.ip-stat  { background:var(--fog); border:1.5px solid var(--sand); border-radius:1.125rem; padding:1.5rem 1rem; text-align:center; }
.ip-stat__num   { font-size:2.25rem; font-weight:700; color:var(--plum); line-height:1; }
.ip-stat__label { font-size:.8125rem; color:var(--silver); margin-top:.375rem; line-height:1.4; }
.ip-type-card   { border:1.5px solid var(--sand); border-radius:1.125rem; padding:1rem 1.125rem; margin-bottom:.75rem; }
.ip-type-card h3 { font-size:.9375rem; font-weight:600; color:var(--plum); margin:0 0 .3rem; display:flex; align-items:center; gap:.5rem; }
.ip-dot  { width:.5rem; height:.5rem; border-radius:50%; display:inline-block; flex-shrink:0; }
.ip-type-card p  { font-size:.875rem; color:var(--olive); margin:0; line-height:1.55; }
/* sidebar */
.ip-sidebar { display:flex; flex-direction:column; gap:1.5rem; position:sticky; top:5.5rem; }
.ip-sb-card { background:var(--fog); border:1.5px solid var(--sand); border-radius:1.25rem; padding:1.5rem; }
.ip-sb-card h3  { font-size:.9375rem; font-weight:700; color:var(--plum); margin:0 0 1rem; }
.ip-sb-card ul  { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.625rem; }
.ip-sb-card li a { font-size:.875rem; color:var(--olive); text-decoration:none; display:flex; align-items:center; gap:.5rem; transition:color .15s; }
.ip-sb-card li a:hover { color:var(--red); }
.ip-sb-cta { background:var(--dark); border-radius:1.25rem; padding:1.75rem 1.5rem; text-align:center; }
.ip-sb-cta h3  { color:#fff; font-size:1.0625rem; font-weight:700; margin:0 0 .5rem; }
.ip-sb-cta p   { color:var(--silver); font-size:.875rem; margin:0 0 1.25rem; line-height:1.55; }
.ip-sb-cta .btn-primary { display:block; }
/* contact-specific */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:2rem; }
.contact-card { background:var(--fog); border:1.5px solid var(--sand); border-radius:1.125rem; padding:1.125rem; display:flex; gap:.875rem; align-items:flex-start; }
.contact-card__icon { width:2.25rem; height:2.25rem; background:var(--red); border-radius:.625rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-card__icon svg { width:1.125rem; height:1.125rem; stroke:#fff; }
.contact-card h4 { font-size:.875rem; font-weight:600; color:var(--plum); margin:0 0 .25rem; }
.contact-card p, .contact-card a { font-size:.875rem; color:var(--olive); text-decoration:none; margin:0; }
.contact-card a:hover { color:var(--red); }
.cform__group { margin-bottom:1.125rem; }
.cform__label { display:block; font-size:.8125rem; font-weight:600; color:var(--plum); margin-bottom:.375rem; }
.cform__input, .cform__textarea { width:100%; padding:.75rem 1rem; background:var(--fog); border:1.5px solid var(--sand); border-radius:.875rem; font-size:.9375rem; color:var(--plum); font-family:inherit; outline:none; transition:border-color .15s; box-sizing:border-box; }
.cform__input:focus, .cform__textarea:focus { border-color:var(--red); background:var(--white); }
.cform__textarea { resize:vertical; min-height:130px; }
.cform__btn { background:var(--red); color:#fff; font-weight:700; font-size:.9375rem; padding:.875rem 2rem; border-radius:1rem; border:none; cursor:pointer; transition:background .15s; }
.cform__btn:hover { background:var(--red-dark); }
/* cookie-specific */
.cookie-box { border-radius:1rem; padding:1rem 1.125rem; margin-bottom:.875rem; display:flex; gap:.75rem; align-items:flex-start; }
.cookie-box--ok      { background:#ecfdf5; border:1.5px solid #a7f3d0; }
.cookie-box--neutral { background:var(--fog); border:1.5px solid var(--sand); }
.cookie-box--no      { background:#fef2f2; border:1.5px solid #fecaca; }
.cookie-box svg      { flex-shrink:0; width:1.125rem; height:1.125rem; margin-top:.15rem; }
.cookie-box__title   { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; margin-bottom:.3rem; }
.cookie-box--ok .cookie-box__title   { color:#065f46; }
.cookie-box--neutral .cookie-box__title { color:var(--plum); }
.cookie-box--no .cookie-box__title   { color:#991b1b; }
.cookie-box__body    { font-size:.875rem; color:var(--olive); margin:0; line-height:1.6; }
@media (max-width:900px) {
  .ip-layout { grid-template-columns:1fr; }
  .ip-sidebar { position:static; }
  .contact-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .ip-grid2, .contact-grid { grid-template-columns:1fr; }
}

/* footer */
.home-footer    { background:var(--dark); color:var(--silver); padding:3.5rem 0 2rem; }
.footer__grid   { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:2.5rem; margin-bottom:2.5rem; }
.footer__brand-name { font-size:1rem; font-weight:700; color:#fff; margin-bottom:.625rem; }
.footer__brand-desc { font-size:.875rem; line-height:1.6; color:var(--silver); max-width:280px; }
.footer__col h4 { font-size:.8125rem; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.875rem; }
.footer__col ul { list-style:none; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.footer__col li a { font-size:.875rem; color:var(--silver); transition:color .15s; text-decoration:none; }
.footer__col li a:hover { color:#fff; }
.footer__bottom { border-top:1px solid rgba(255,255,255,.08); padding-top:1.5rem; font-size:.8125rem; color:rgba(255,255,255,.4); display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; }

/* mobile sticky cta */
.mobile-cta     { position:fixed; bottom:12px; left:0; right:0; padding:0 1rem; z-index:70; display:none; }
.mobile-cta__inner { max-width:960px; margin:0 auto; display:flex; gap:.75rem; }
.mobile-cta__inner .btn-primary { flex:1; text-align:center; }
.mobile-cta__inner .btn-ghost   { flex:0; white-space:nowrap; }

/* responsive */
@media (max-width:900px) {
  .hero__grid          { grid-template-columns:1fr; }
  .iznik-panel         { min-height:280px; }
  .iznik-panel__card   { position:static; max-width:100%; margin-top:1rem; }
  .steps-grid, .step-connector { grid-template-columns:repeat(2,1fr); }
  .step-connector::before { display:none; }
  .badges-grid         { grid-template-columns:1fr 1fr; }
  .testimonials-grid   { grid-template-columns:1fr; }
  .tcard:nth-child(2)  { margin-top:0; }
  .pricing-grid        { grid-template-columns:1fr; max-width:400px; }
  .plan-card--featured { transform:none; }
  .eligibility-grid    { grid-template-columns:1fr; }
  .footer__grid        { grid-template-columns:1fr 1fr; }
  .stats__grid         { grid-template-columns:repeat(2,1fr); }
  .stats__item:nth-child(2) { border-right:none; }
  .site-header__nav    { display:none; }
  .mobile-cta          { display:block; }
}
@media (max-width:600px) {
  .badges-grid         { grid-template-columns:1fr; }
  .footer__grid        { grid-template-columns:1fr; }
  .hero__form-row      { flex-direction:column; }
}
