/* My IPTV Canada: sprint 2 brand layer (hero, announcement bar, metric tiles, sports rail,
   devices, guarantee timeline, steps, proof, cities, news, forms, footer, support, cookies,
   sticky bars). Palette: crimson, charcoal, near-black, white, neutral gray. No gold; the
   warm star colour is used only by genuine review ratings. */

:root {
  --b-crimson: #dc2626;
  --b-crimson-bright: #f87171;
  --b-crimson-deep: #7f1d1d;
  --b-ink: #0a0a0f;
  --b-charcoal: #141418;
  --b-charcoal-2: #1b1b21;
  --b-line: rgba(255, 255, 255, 0.09);
  --b-line-strong: rgba(255, 255, 255, 0.16);
  --b-muted: #a1a1aa;
  --b-soft: #cbd5e1;
  --b-star: #f5a524;
  --b-radius: 1.25rem;
  --b-shadow: 0 30px 80px -30px rgba(0, 0, 0, 0.85);
  --b-grad-crimson: linear-gradient(135deg, #ef4444 0%, #b91c1c 48%, #6f1414 100%);
  --b-grad-panel: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015));
}

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 2px solid var(--b-crimson-bright); outline-offset: 3px; }

/* ---------- Announcement bar ---------- */
.top-banner-v3 { padding: 0; font-size: 0.78rem; background: linear-gradient(90deg, #5f1111 0%, #a51b1b 50%, #5f1111 100%); }
.top-banner-v3::after { display: none; }
.top-banner-v3 .top-banner-inner { display: flex; align-items: center; justify-content: center; gap: 0.9rem; min-height: 2.35rem; padding: 0 2.75rem 0 1rem; position: relative; max-width: 1280px; margin: 0 auto; }
.top-banner-v3 .top-banner-kicker { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.64rem; letter-spacing: 0.16em; font-weight: 800; opacity: 0.88; flex: none; }
.top-banner-v3 .top-banner-kicker svg { width: 1rem; height: 1rem; }
.top-banner-messages { list-style: none; margin: 0; padding: 0; display: grid; min-width: 0; }
.top-banner-message { grid-area: 1 / 1; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity 0.45s ease, transform 0.45s ease, visibility 0.45s; }
.top-banner-message.is-active { opacity: 1; visibility: visible; transform: none; }
.top-banner-v3 .top-banner-link { gap: 0.65rem; color: #fff; }
.top-banner-v3 .top-banner-copy { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.top-banner-v3 .top-banner-action { flex: none; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255, 255, 255, 0.5); }
.top-banner-toggle { position: absolute; right: 0.6rem; top: 50%; transform: translateY(-50%); width: 1.9rem; height: 1.9rem; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.25); background: rgba(0, 0, 0, 0.18); display: grid; place-items: center; cursor: pointer; }
.top-banner-pause { width: 0.55rem; height: 0.6rem; border-inline: 2px solid #fff; }
.top-banner-toggle.is-paused .top-banner-pause { width: 0; height: 0; border: 0; border-left: 7px solid #fff; border-top: 5px solid transparent; border-bottom: 5px solid transparent; margin-left: 2px; }
.top-banner-promo { background: linear-gradient(90deg, #1b1b21, #3a0d0d 50%, #1b1b21); }
.promo-countdown { display: inline-flex; align-items: center; gap: 0.5rem; font-variant-numeric: tabular-nums; }
.promo-countdown [data-promo-clock] { padding: 0.1rem 0.45rem; border-radius: 0.4rem; background: rgba(0, 0, 0, 0.35); font-family: var(--font-geist-mono); }
@media (max-width: 767px) {
  .top-banner-v3 .top-banner-kicker span { display: none; }
  .top-banner-v3 .top-banner-inner { gap: 0.5rem; padding-left: 0.75rem; min-height: 2.6rem; }
  .top-banner-v3 .top-banner-copy { white-space: normal; text-align: left; line-height: 1.25; font-size: 0.74rem; }
  .top-banner-v3 .top-banner-action { font-size: 0.72rem; }
}
@media (max-width: 400px) { .top-banner-v3 .top-banner-action { display: none; } }
@media (prefers-reduced-motion: reduce) { .top-banner-message { transition: none; } }

/* ---------- Hero ---------- */
.hero-v3 { position: relative; isolation: isolate; overflow: hidden; padding: clamp(3.5rem, 7vw, 6.5rem) 0 1.75rem; border-bottom: 1px solid var(--b-line); }
.hero-v3-media, .hero-v3-media img { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; }
.hero-v3-media img { object-fit: cover; object-position: 70% 50%; }
.hero-v3-shade { position: absolute; inset: 0; z-index: -1; background:
  radial-gradient(70% 90% at 82% 30%, rgba(220, 38, 38, 0.16), transparent 60%),
  linear-gradient(90deg, rgba(10, 10, 15, 0.96) 0%, rgba(10, 10, 15, 0.84) 36%, rgba(10, 10, 15, 0.28) 68%, rgba(10, 10, 15, 0.5) 100%),
  linear-gradient(180deg, rgba(10, 10, 15, 0) 55%, var(--b-ink) 100%); }
.hero-v3-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.hero-v3-eyebrow { display: inline-flex; align-items: center; gap: 0.6rem; margin: 0 0 1.4rem; padding: 0.4rem 0.85rem 0.4rem 0.6rem; border: 1px solid rgba(248, 113, 113, 0.32); border-radius: 999px; background: rgba(127, 29, 29, 0.28); color: #fecaca; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.hero-v3-dot { width: 0.45rem; height: 0.45rem; border-radius: 999px; background: var(--b-crimson-bright); box-shadow: 0 0 0 4px rgba(248, 113, 113, 0.18); }
.hero-v3-title { margin: 0; font-size: clamp(2.5rem, 5.6vw, 5rem); line-height: 0.98; letter-spacing: -0.05em; font-weight: 700; text-wrap: balance; max-width: 13ch; }
.hero-v3-title em { font-style: normal; background: linear-gradient(100deg, #fca5a5 0%, #ef4444 55%, #f87171 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-v3-lead { margin: 1.5rem 0 0; max-width: 36rem; font-size: clamp(1.02rem, 1.4vw, 1.18rem); line-height: 1.65; color: #d4d4d8; }
.hero-v3-points { list-style: none; margin: 1.6rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); gap: 0.7rem 1.6rem; }
.hero-v3-points li { display: flex; align-items: center; gap: 0.55rem; font-size: 0.92rem; color: #e4e4e7; font-weight: 550; }
.hero-v3-points svg { width: 1.1rem; height: 1.1rem; color: var(--b-crimson-bright); flex: none; }
.hero-v3-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 2rem; }
.hero-v3-cta { min-height: 54px; padding-inline: 1.5rem; font-size: 0.98rem; border-radius: 0.8rem; }
.hero-v3 .button-primary.hero-v3-cta { background: var(--b-grad-crimson); border-color: transparent; box-shadow: 0 14px 40px -12px rgba(220, 38, 38, 0.75), inset 0 1px rgba(255, 255, 255, 0.25); }
.hero-v3 .button-primary.hero-v3-cta:hover { filter: brightness(1.08); }
.hero-v3 .button-secondary.hero-v3-cta { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.22); backdrop-filter: blur(10px); }
.hero-v3-cta svg { width: 1.1rem; height: 1.1rem; }
.hero-v3-micro { margin: 1rem 0 0; font-size: 0.8rem; color: var(--b-muted); max-width: 34rem; line-height: 1.55; }
.hero-v3-card { position: relative; padding: 1.6rem; border-radius: 1.5rem; border: 1px solid rgba(255, 255, 255, 0.14); background: linear-gradient(160deg, rgba(36, 14, 16, 0.86), rgba(16, 16, 20, 0.9) 55%); backdrop-filter: blur(18px) saturate(140%); box-shadow: var(--b-shadow), inset 0 1px rgba(255, 255, 255, 0.08); max-width: 25rem; justify-self: end; width: 100%; }
.hero-v3-card::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; background: linear-gradient(140deg, rgba(248, 113, 113, 0.7), transparent 40%, transparent 70%, rgba(255, 255, 255, 0.25)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.hero-v3-card-kicker { margin: 0 0 1rem; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: #fca5a5; }
.hero-v3-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.hero-v3-card-head strong { display: block; font-size: 1.15rem; }
.hero-v3-card-head span { display: block; font-size: 0.8rem; color: var(--b-muted); margin-top: 0.2rem; }
.hero-v3-badge { flex: none; padding: 0.3rem 0.6rem; border-radius: 999px; background: var(--b-grad-crimson); color: #fff !important; font-size: 0.65rem !important; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; margin: 0 !important; }
.hero-v3-price { display: flex; align-items: baseline; gap: 0.35rem; margin-top: 1.1rem; }
.hero-v3-price span { font-weight: 700; color: var(--b-crimson-bright); }
.hero-v3-price strong { font-size: 3.6rem; line-height: 1; letter-spacing: -0.05em; font-weight: 750; }
.hero-v3-price small { color: var(--b-muted); }
.hero-v3-math { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; margin: 1.2rem 0 0; }
.hero-v3-math div { padding: 0.7rem 0.8rem; border-radius: 0.8rem; background: rgba(255, 255, 255, 0.045); border: 1px solid var(--b-line); }
.hero-v3-math dt { font-size: 0.7rem; color: var(--b-muted); }
.hero-v3-math dd { margin: 0.2rem 0 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.hero-v3-card-note { margin: 1rem 0 0; font-size: 0.76rem; color: var(--b-muted); line-height: 1.5; }
.hero-v3-card-link { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: 1rem; font-weight: 650; font-size: 0.88rem; color: #fff; }
.hero-v3-card-link svg { width: 1rem; height: 1rem; transition: transform 0.18s; }
.hero-v3-card-link:hover svg { transform: translateX(3px); }
.hero-v3-promo { margin-bottom: 1rem; padding: 0.6rem 0.75rem; border-radius: 0.75rem; background: rgba(220, 38, 38, 0.18); border: 1px solid rgba(248, 113, 113, 0.35); font-size: 0.8rem; }
.hero-v3-devices { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.6rem; margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: 1.25rem; border-top: 1px solid var(--b-line); }
.hero-v3-devices > span { font-size: 0.72rem; color: var(--b-muted); letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; margin-right: 0.4rem; }
.hero-v3-devices a { display: inline-flex; align-items: center; gap: 0.45rem; min-height: 40px; padding: 0.4rem 0.8rem; border-radius: 999px; border: 1px solid var(--b-line-strong); background: rgba(10, 10, 15, 0.55); color: #e4e4e7; font-size: 0.82rem; font-weight: 550; transition: border-color 0.18s, background 0.18s; }
.hero-v3-devices a:hover { border-color: rgba(248, 113, 113, 0.55); background: rgba(127, 29, 29, 0.3); }
.hero-v3-devices svg { width: 1.05rem; height: 1.05rem; color: var(--b-crimson-bright); }
@media (prefers-reduced-motion: no-preference) {
  .hero-v3-copy > * { animation: b-rise 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
  .hero-v3-copy > :nth-child(2) { animation-delay: 0.06s; }
  .hero-v3-copy > :nth-child(3) { animation-delay: 0.12s; }
  .hero-v3-copy > :nth-child(n+4) { animation-delay: 0.18s; }
  .hero-v3-card { animation: b-rise 0.8s 0.2s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
}
@keyframes b-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (max-width: 1023px) {
  .hero-v3-grid { grid-template-columns: 1fr; }
  .hero-v3-card { justify-self: start; max-width: 32rem; }
  .hero-v3-title { max-width: 16ch; }
}
@media (max-width: 767px) {
  .hero-v3 { padding-top: 2.25rem; }
  .hero-v3-media img { object-position: 50% 30%; opacity: 0.55; }
  .hero-v3-shade { background: linear-gradient(180deg, rgba(10, 10, 15, 0.55) 0%, rgba(10, 10, 15, 0.9) 45%, var(--b-ink) 100%); }
  .hero-v3-title { font-size: clamp(2.2rem, 10vw, 2.9rem); }
  .hero-v3-points { grid-template-columns: 1fr; gap: 0.55rem; }
  .hero-v3-actions { display: grid; grid-template-columns: 1fr; }
  .hero-v3-cta { width: 100%; }
  .hero-v3-card { padding: 1.25rem; }
  .hero-v3-price strong { font-size: 3rem; }
  .hero-v3-devices > span { width: 100%; }
}

/* ---------- Metric tiles ---------- */
.metric-strip { margin-top: 1.75rem; }
.metric-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.9rem; }
.metric-tile { position: relative; overflow: hidden; padding: 1.3rem 1.25rem; border-radius: var(--b-radius); border: 1px solid var(--b-line); background: var(--b-grad-panel), var(--b-charcoal); display: grid; gap: 0.2rem; }
.metric-tile::after { content: ""; position: absolute; right: -30%; top: -60%; width: 70%; height: 140%; background: radial-gradient(closest-side, rgba(220, 38, 38, 0.22), transparent); pointer-events: none; }
.metric-tile-icon { width: 2.4rem; height: 2.4rem; border-radius: 0.75rem; display: grid; place-items: center; background: rgba(220, 38, 38, 0.14); color: var(--b-crimson-bright); margin-bottom: 0.7rem; }
.metric-tile-icon svg { width: 1.2rem; height: 1.2rem; }
.metric-tile strong { font-size: clamp(1.6rem, 2.6vw, 2.2rem); letter-spacing: -0.04em; line-height: 1; }
.metric-tile-label { font-weight: 650; color: #f4f4f5; }
.metric-tile small { color: var(--b-muted); font-size: 0.78rem; line-height: 1.45; margin-top: 0.25rem; }
@media (max-width: 1023px) { .metric-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 380px) { .metric-tiles { grid-template-columns: 1fr; } }

/* ---------- Comparison table: crimson column ---------- */
.home-comparison-table thead th:nth-child(2) { background: var(--b-grad-crimson); color: #fff; }
.home-comparison-table tbody td:nth-child(2) { background: linear-gradient(180deg, rgba(220, 38, 38, 0.12), rgba(220, 38, 38, 0.06)); border-inline: 1px solid rgba(248, 113, 113, 0.22); color: #fff; }

/* ---------- Sports rail ---------- */
.sports-heading, .cities-heading, .news-module-heading { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem 3rem; }
.sports-heading p, .cities-heading p { max-width: 32rem; color: var(--b-soft); line-height: 1.65; margin: 0; }
.sports-rail { margin-top: 2.5rem; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.sports-track { list-style: none; margin: 0; padding: 0.5rem 0; display: flex; gap: 1rem; width: max-content; animation: b-marquee 60s linear infinite; }
.sports-rail:hover .sports-track, .sports-rail:focus-within .sports-track { animation-play-state: paused; }
@keyframes b-marquee { to { transform: translateX(calc(-50% - 0.5rem)); } }
.sport-card { position: relative; flex: none; width: 13.5rem; min-height: 10.5rem; padding: 1.2rem; border-radius: 1.35rem; display: flex; flex-direction: column; justify-content: flex-end; gap: 0.25rem; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.1); background: var(--b-charcoal); box-shadow: inset 0 1px rgba(255, 255, 255, 0.06); }
.sport-card::before { content: ""; position: absolute; inset: 0; opacity: 0.95; z-index: 0; }
.sport-card > * { position: relative; z-index: 1; }
.sport-card-icon { position: absolute !important; top: 1rem; right: 1rem; width: 3rem; height: 3rem; border-radius: 0.95rem; display: grid; place-items: center; background: rgba(255, 255, 255, 0.12); backdrop-filter: blur(6px); }
.sport-card-icon svg { width: 1.6rem; height: 1.6rem; }
.sport-card strong { font-size: 1.15rem; letter-spacing: -0.02em; }
.sport-card small { font-size: 0.76rem; color: rgba(255, 255, 255, 0.72); }
.theme-ice::before { background: radial-gradient(120% 90% at 100% 0%, #1e3a5f 0%, transparent 60%), linear-gradient(160deg, #0f1b2b, #0a0a0f); }
.theme-pitch::before { background: radial-gradient(120% 90% at 100% 0%, #14532d 0%, transparent 60%), linear-gradient(160deg, #0c1a12, #0a0a0f); }
.theme-court::before { background: radial-gradient(120% 90% at 100% 0%, #7c2d12 0%, transparent 60%), linear-gradient(160deg, #1d120c, #0a0a0f); }
.theme-gridiron::before { background: radial-gradient(120% 90% at 100% 0%, #3f3f46 0%, transparent 60%), linear-gradient(160deg, #16161a, #0a0a0f); }
.theme-diamond::before { background: radial-gradient(120% 90% at 100% 0%, #1e40af 0%, transparent 60%), linear-gradient(160deg, #0e1424, #0a0a0f); }
.theme-ring::before { background: radial-gradient(120% 90% at 100% 0%, #991b1b 0%, transparent 60%), linear-gradient(160deg, #1f0c0c, #0a0a0f); }
.theme-clay::before { background: radial-gradient(120% 90% at 100% 0%, #9a3412 0%, transparent 60%), linear-gradient(160deg, #1c100a, #0a0a0f); }
.theme-green::before { background: radial-gradient(120% 90% at 100% 0%, #166534 0%, transparent 60%), linear-gradient(160deg, #0b1a10, #0a0a0f); }
.theme-oval::before { background: radial-gradient(120% 90% at 100% 0%, #0f766e 0%, transparent 60%), linear-gradient(160deg, #0a1817, #0a0a0f); }
.theme-track::before { background: radial-gradient(120% 90% at 100% 0%, #b91c1c 0%, transparent 55%), repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0 10px, transparent 10px 20px), #0a0a0f; }
.sports-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 2rem; }
.sports-actions .text-link { margin-top: 0; }
.sports-note { margin: 1rem 0 0; font-size: 0.78rem; color: var(--b-muted); max-width: 46rem; }
@media (prefers-reduced-motion: reduce) {
  .sports-rail { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .sports-track { animation: none; }
  .sports-track [aria-hidden="true"] { display: none; }
}

/* ---------- Device grid ---------- */
.devices-heading p:not(.eyebrow) { color: var(--b-soft); max-width: 40rem; line-height: 1.65; margin: 1.25rem 0 0; }
.device-grid { list-style: none; margin: 2.25rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.device-card { height: 100%; display: flex; flex-direction: column; gap: 0.35rem; padding: 1.35rem; border-radius: var(--b-radius); border: 1px solid var(--b-line); background: var(--b-grad-panel), var(--b-charcoal); transition: border-color 0.2s, transform 0.2s, background 0.2s; }
.device-card:hover { border-color: rgba(248, 113, 113, 0.45); transform: translateY(-3px); background: linear-gradient(180deg, rgba(220, 38, 38, 0.1), rgba(255, 255, 255, 0.01)), var(--b-charcoal); }
.device-card-icon { width: 3rem; height: 3rem; border-radius: 0.9rem; display: grid; place-items: center; background: linear-gradient(145deg, rgba(220, 38, 38, 0.25), rgba(220, 38, 38, 0.06)); color: #fecaca; margin-bottom: 0.75rem; }
.device-card-icon svg { width: 1.5rem; height: 1.5rem; }
.device-card strong { font-size: 1rem; }
.device-card small { color: var(--b-muted); line-height: 1.5; font-size: 0.82rem; }
.device-card-link { margin-top: auto; padding-top: 0.9rem; display: inline-flex; align-items: center; gap: 0.35rem; color: var(--b-crimson-bright); font-weight: 650; font-size: 0.84rem; }
.device-card-link svg { width: 0.95rem; height: 0.95rem; }
.devices-foot { margin-top: 1.25rem; }
@media (max-width: 1023px) { .device-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .device-grid { grid-template-columns: 1fr; } }

/* ---------- Guarantee ---------- */
.guarantee-v3-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; padding: clamp(1.5rem, 4vw, 3rem); border-radius: 1.75rem; border: 1px solid rgba(248, 113, 113, 0.25); background: radial-gradient(80% 120% at 0% 0%, rgba(220, 38, 38, 0.22), transparent 60%), var(--b-charcoal); box-shadow: var(--b-shadow); }
.guarantee-v3-seal { width: clamp(8rem, 16vw, 11rem); aspect-ratio: 1; border-radius: 50%; display: grid; place-content: center; text-align: center; background: var(--b-grad-crimson); box-shadow: 0 0 0 10px rgba(220, 38, 38, 0.12), 0 0 0 22px rgba(220, 38, 38, 0.06), inset 0 2px rgba(255, 255, 255, 0.3); }
.guarantee-v3-seal span { font-size: clamp(3rem, 7vw, 4.6rem); font-weight: 800; line-height: 0.9; letter-spacing: -0.06em; }
.guarantee-v3-seal small { font-size: 0.72rem; letter-spacing: 0.3em; font-weight: 800; opacity: 0.9; }
.guarantee-v3-copy p { color: var(--b-soft); line-height: 1.7; max-width: 42rem; }
.guarantee-v3-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.5rem; }
.guarantee-v3-actions .text-link { margin-top: 0; }
.guarantee-timeline { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.9rem; counter-reset: gt; }
.guarantee-timeline li { position: relative; padding: 1.2rem 1.2rem 1.2rem 1.2rem; border-radius: 1.1rem; border: 1px solid var(--b-line); background: var(--b-charcoal); display: grid; gap: 0.25rem; }
.guarantee-timeline li::before { content: ""; position: absolute; top: 1.4rem; right: -0.9rem; width: 0.9rem; height: 2px; background: rgba(248, 113, 113, 0.4); }
.guarantee-timeline li:last-child::before { display: none; }
.guarantee-timeline span { font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--b-crimson-bright); font-weight: 800; }
.guarantee-timeline strong { font-size: 1rem; }
.guarantee-timeline small { color: var(--b-muted); font-size: 0.8rem; line-height: 1.5; }
.guarantee-v3-note { margin-top: 1rem; font-size: 0.8rem; color: var(--b-muted); }
@media (max-width: 1023px) { .guarantee-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); } .guarantee-timeline li::before { display: none; } }
@media (max-width: 640px) { .guarantee-v3-card { grid-template-columns: 1fr; } .guarantee-timeline { grid-template-columns: 1fr; } }

/* ---------- Three steps ---------- */
.steps-grid { list-style: none; margin: 2.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.step-card { position: relative; overflow: hidden; padding: 1.75rem; min-height: 15rem; border-radius: 1.5rem; border: 1px solid var(--b-line); background: var(--b-grad-panel), var(--b-charcoal); display: flex; flex-direction: column; justify-content: flex-end; }
.step-card-number { position: absolute; top: 0.6rem; right: 1rem; font-size: clamp(4.5rem, 8vw, 6.5rem); font-weight: 800; letter-spacing: -0.07em; line-height: 1; background: linear-gradient(180deg, rgba(248, 113, 113, 0.55), rgba(248, 113, 113, 0)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.step-card-icon { width: 2.8rem; height: 2.8rem; border-radius: 0.9rem; display: grid; place-items: center; background: var(--b-grad-crimson); margin-bottom: auto; box-shadow: 0 12px 30px -12px rgba(220, 38, 38, 0.8); }
.step-card-icon svg { width: 1.35rem; height: 1.35rem; }
.step-card h3 { margin: 1.75rem 0 0; font-size: 1.25rem; letter-spacing: -0.02em; }
.step-card p { margin: 0.6rem 0 0; color: var(--b-soft); line-height: 1.6; font-size: 0.92rem; }
.steps-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 2rem; }
.steps-actions .text-link { margin-top: 0; }
@media (max-width: 900px) { .steps-grid { grid-template-columns: 1fr; } .step-card { min-height: 0; } }

/* ---------- Proof section ---------- */
.proof-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; padding: clamp(1.5rem, 4vw, 3rem); border-radius: 1.75rem; border: 1px solid var(--b-line); background: radial-gradient(60% 80% at 100% 100%, rgba(220, 38, 38, 0.14), transparent 60%), var(--b-charcoal); }
.proof-lead { color: var(--b-soft); line-height: 1.7; margin: 0 0 1.5rem; }
.proof-link { margin-top: 1rem !important; display: inline-flex; white-space: nowrap; }
.rating-summary { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; padding: 1.1rem 1.25rem; border-radius: 1rem; border: 1px solid var(--b-line); background: rgba(0, 0, 0, 0.25); }
.rating-summary-score strong { display: block; font-size: 2.6rem; line-height: 1; letter-spacing: -0.04em; }
.rating-summary-score span { font-size: 0.75rem; color: var(--b-muted); }
.rating-summary p { margin: 0.35rem 0 0; color: var(--b-muted); font-size: 0.85rem; line-height: 1.5; }
.rating-summary-empty { align-items: flex-start; flex-wrap: nowrap; }
.rating-summary-empty strong { font-size: 1rem; }
.rating-summary-badge { flex: none; width: 2.6rem; height: 2.6rem; border-radius: 0.8rem; display: grid; place-items: center; background: rgba(220, 38, 38, 0.15); color: var(--b-crimson-bright); }
.rating-summary-badge svg { width: 1.3rem; height: 1.3rem; }
.rating-stars { position: relative; display: inline-block; line-height: 0; }
.rating-stars-base, .rating-stars-fill { display: inline-flex; gap: 2px; }
.rating-stars svg { width: 1.2rem; height: 1.2rem; }
.rating-stars-base svg { color: rgba(255, 255, 255, 0.2); fill: currentColor; stroke: none; }
.rating-stars-fill { position: absolute; inset: 0 auto 0 0; overflow: hidden; white-space: nowrap; }
.rating-stars-fill svg { color: var(--b-star); fill: currentColor; stroke: none; flex: none; }
.rating-distribution { flex-basis: 100%; display: grid; gap: 0.35rem; margin: 0.5rem 0 0; }
.rating-distribution div { display: grid; grid-template-columns: 3.5rem 1fr; align-items: center; gap: 0.75rem; font-size: 0.78rem; color: var(--b-muted); }
.rating-distribution dd { margin: 0; display: grid; grid-template-columns: 1fr 2rem; align-items: center; gap: 0.5rem; }
.rating-bar { height: 0.45rem; border-radius: 999px; background: rgba(255, 255, 255, 0.08); overflow: hidden; }
.rating-bar span { display: block; height: 100%; background: var(--b-star); border-radius: inherit; }
.trust-badges { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.trust-badges a { display: flex; align-items: center; gap: 0.85rem; min-height: 3.5rem; padding: 0.7rem 1rem; border-radius: 0.95rem; border: 1px solid var(--b-line); background: rgba(255, 255, 255, 0.03); font-weight: 600; font-size: 0.92rem; transition: border-color 0.18s, background 0.18s; }
.trust-badges a:hover { border-color: rgba(248, 113, 113, 0.45); background: rgba(220, 38, 38, 0.08); }
.trust-badges svg { flex: none; width: 2.2rem; height: 2.2rem; padding: 0.5rem; border-radius: 0.65rem; background: rgba(220, 38, 38, 0.14); color: var(--b-crimson-bright); }
.payment-methods { display: flex; gap: 0.6rem; align-items: flex-start; margin: 1rem 0 0; font-size: 0.8rem; color: var(--b-muted); line-height: 1.5; }
.payment-methods svg { flex: none; width: 1.1rem; height: 1.1rem; color: var(--b-crimson-bright); }
@media (max-width: 900px) { .proof-grid { grid-template-columns: 1fr; } }

/* ---------- City grid ---------- */
.city-grid { list-style: none; margin: 2.25rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.75rem; }
.city-grid a { display: flex; align-items: center; gap: 0.7rem; min-height: 4rem; padding: 0.85rem 1rem; border-radius: 1rem; border: 1px solid var(--b-line); background: var(--b-charcoal); transition: border-color 0.18s, background 0.18s; }
.city-grid a:hover { border-color: rgba(248, 113, 113, 0.45); background: linear-gradient(135deg, rgba(220, 38, 38, 0.14), transparent), var(--b-charcoal); }
.city-grid svg { flex: none; width: 1.15rem; height: 1.15rem; color: var(--b-crimson-bright); }
.city-grid strong { display: block; font-size: 0.92rem; }
.city-grid small { display: block; font-size: 0.72rem; color: var(--b-muted); }
@media (max-width: 1279px) { .city-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 767px) { .city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- News ---------- */
.news-hub, .news-article { padding-block: clamp(2.5rem, 6vw, 5rem); }
.news-breadcrumb { display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0.82rem; color: var(--b-muted); margin-bottom: 1.75rem; }
.news-breadcrumb a:hover { color: #fff; }
.news-hero h1, .news-article-header h1 { margin: 0; font-size: clamp(2.3rem, 5vw, 4.2rem); line-height: 1.02; letter-spacing: -0.05em; font-weight: 700; max-width: 18ch; text-wrap: balance; }
.news-hero-lead { margin: 1.25rem 0 0; max-width: 44rem; color: var(--b-soft); line-height: 1.7; font-size: 1.05rem; }
.news-hero-lead .text-link { margin: 0; display: inline; }
.news-topics { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.75rem; }
.news-topics a { min-height: 40px; display: inline-flex; align-items: center; padding: 0.4rem 0.9rem; border-radius: 999px; border: 1px solid var(--b-line-strong); font-size: 0.84rem; color: var(--b-soft); }
.news-topics a:hover, .news-topics a[aria-current] { border-color: var(--b-crimson-bright); color: #fff; background: rgba(220, 38, 38, 0.12); }
.news-featured { margin-top: 2.5rem; }
.news-section-title { font-size: 1.4rem; font-weight: 650; margin: 0 0 1.25rem; }
.news-latest { margin-top: 3rem; }
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.news-module .news-grid { margin-top: 2rem; }
.news-card { height: 100%; }
.news-card-link { height: 100%; display: flex; flex-direction: column; border-radius: var(--b-radius); border: 1px solid var(--b-line); background: var(--b-charcoal); overflow: hidden; transition: border-color 0.2s, transform 0.2s; }
.news-card-link:hover { border-color: rgba(248, 113, 113, 0.45); transform: translateY(-3px); }
.news-card-cover { position: relative; aspect-ratio: 16 / 7; display: flex; align-items: flex-end; justify-content: space-between; padding: 1rem 1.1rem; background: radial-gradient(90% 120% at 100% 0%, rgba(220, 38, 38, 0.55), transparent 60%), repeating-linear-gradient(120deg, rgba(255, 255, 255, 0.035) 0 2px, transparent 2px 14px), linear-gradient(160deg, #26262c, #0f0f13); }
.news-card-cover span { font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 800; color: #fecaca; }
.news-card-cover svg { width: 1.8rem; height: 1.8rem; color: rgba(255, 255, 255, 0.75); }
.news-card-body { padding: 1.25rem; display: flex; flex-direction: column; gap: 0.5rem; flex: 1; }
.news-card-meta { display: flex; gap: 0.75rem; margin: 0; font-size: 0.74rem; color: var(--b-muted); }
.news-card-meta span { color: var(--b-crimson-bright); font-weight: 700; }
.news-card h3 { margin: 0; font-size: 1.1rem; line-height: 1.3; letter-spacing: -0.01em; }
.news-card-body > p:not(.news-card-meta) { margin: 0; color: var(--b-soft); font-size: 0.9rem; line-height: 1.6; }
.news-card .text-link { margin-top: auto; padding-top: 0.5rem; font-size: 0.85rem; text-decoration: none; }
.news-card-featured .news-card-link { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.news-card-featured .news-card-cover { aspect-ratio: auto; min-height: 18rem; }
.news-card-featured .news-card-body { padding: clamp(1.25rem, 3vw, 2.25rem); justify-content: center; }
.news-card-featured h3 { font-size: clamp(1.4rem, 2.6vw, 2rem); }
.news-pagination ul { list-style: none; display: flex; gap: 0.5rem; padding: 0; margin: 2.5rem 0 0; }
.news-pagination a, .news-pagination span { min-width: 2.75rem; min-height: 2.75rem; display: grid; place-items: center; padding: 0 0.75rem; border-radius: 0.7rem; border: 1px solid var(--b-line); }
.news-pagination .current { border-color: var(--b-crimson); }
.news-standards, .news-empty { margin-top: 3rem; padding: 1.5rem; }
.news-standards h2, .news-empty h2 { font-size: 1.1rem; margin: 0 0 0.5rem; }
.news-standards p, .news-empty p { color: var(--b-soft); margin: 0; line-height: 1.65; max-width: 52rem; }
.news-article { max-width: 800px; }
.news-article-dek { margin: 1.25rem 0 0; font-size: 1.15rem; color: var(--b-soft); line-height: 1.65; }
.news-article-meta { display: flex; flex-wrap: wrap; gap: 0.4rem 1.25rem; margin: 1.25rem 0 0; font-size: 0.8rem; color: var(--b-muted); }
.news-article-body { margin-top: 2.5rem; font-size: 1.04rem; line-height: 1.8; color: #e4e4e7; }
.news-article-body h2 { font-size: 1.45rem; margin: 2.25rem 0 0.75rem; letter-spacing: -0.02em; }
.news-article-body p { margin: 0 0 1.1rem; }
.news-article-body ul { margin: 0 0 1.1rem 1.2rem; list-style: disc; }
.news-article-body li { margin-bottom: 0.4rem; }
.news-sources { margin-top: 2.5rem; padding: 1.5rem; }
.news-sources h2, .news-guides h2 { font-size: 1.05rem; margin: 0 0 0.75rem; }
.news-sources ol { margin: 0; padding-left: 1.2rem; display: grid; gap: 0.45rem; list-style: decimal; }
.news-sources a, .news-guides a { color: var(--b-crimson-bright); text-decoration: underline; text-underline-offset: 3px; }
.news-guides { margin-top: 1.75rem; }
.news-guides ul { margin: 0; padding-left: 1.2rem; list-style: disc; display: grid; gap: 0.4rem; }
.news-disclaimer { margin-top: 2rem; font-size: 0.8rem; color: var(--b-muted); }
.news-related { padding-bottom: 4rem; }
@media (max-width: 1023px) { .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .news-card-featured .news-card-link { grid-template-columns: 1fr; } .news-card-featured .news-card-cover { min-height: 11rem; } }
@media (max-width: 640px) { .news-grid { grid-template-columns: 1fr; } }

/* ---------- Designed pages (refund, reseller) ---------- */
.dpage { padding-block: clamp(2.5rem, 6vw, 5rem); }
.dpage-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: clamp(2rem, 5vw, 4rem); align-items: end; padding-bottom: clamp(2rem, 4vw, 3rem); border-bottom: 1px solid var(--b-line); }
.dpage-hero h1 { margin: 0; font-size: clamp(2.3rem, 5vw, 4.2rem); line-height: 1.02; letter-spacing: -0.05em; font-weight: 700; text-wrap: balance; }
.dpage-hero p { color: var(--b-soft); line-height: 1.7; font-size: 1.05rem; }
.dpage-hero-card { padding: 1.4rem; border-radius: 1.25rem; border: 1px solid rgba(248, 113, 113, 0.3); background: radial-gradient(100% 120% at 0% 0%, rgba(220, 38, 38, 0.2), transparent 60%), var(--b-charcoal); }
.dpage-hero-card strong { display: block; font-size: 1.05rem; }
.dpage-hero-card p { margin: 0.5rem 0 0; font-size: 0.9rem; }
.dpage-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4rem); margin-top: clamp(2rem, 5vw, 3.5rem); align-items: start; }
.dpage-section + .dpage-section { margin-top: 2.25rem; }
.dpage-section h2 { font-size: 1.35rem; margin: 0 0 0.75rem; letter-spacing: -0.02em; }
.dpage-section p, .dpage-section li { color: var(--b-soft); line-height: 1.7; }
.dpage-section ul, .dpage-section ol { margin: 0; padding-left: 1.2rem; display: grid; gap: 0.5rem; }
.dpage-section ul { list-style: disc; }
.dpage-section ol { list-style: decimal; }
.dpage-section a { color: var(--b-crimson-bright); text-decoration: underline; text-underline-offset: 3px; }
.dpage-faq details { border-bottom: 1px solid var(--b-line); padding: 1rem 0; }
.dpage-faq summary { cursor: pointer; font-weight: 600; list-style-position: outside; }
.dpage-faq details p { margin: 0.75rem 0 0; }
.dpage-aside { position: sticky; top: 8rem; }
@media (max-width: 1023px) { .dpage-hero, .dpage-grid { grid-template-columns: 1fr; } .dpage-aside { position: static; } }

/* ---------- Request forms ---------- */
.request-form-card { padding: clamp(1.25rem, 3vw, 2rem); border-radius: 1.5rem; border: 1px solid var(--b-line-strong); background: var(--b-grad-panel), var(--b-charcoal); box-shadow: var(--b-shadow); scroll-margin-top: 8rem; }
.request-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.1rem; }
.request-field { display: grid; gap: 0.4rem; }
.request-field-wide, .request-consent, .request-actions, .request-form-error { grid-column: 1 / -1; }
.request-field label { font-size: 0.88rem; font-weight: 600; }
.request-required { color: var(--b-crimson-bright); }
.request-field input, .request-field textarea { width: 100%; min-height: 3rem; padding: 0.75rem 0.9rem; border-radius: 0.8rem; border: 1px solid rgba(255, 255, 255, 0.16); background: rgba(0, 0, 0, 0.35); color: #fff; font: inherit; }
.request-field textarea { min-height: 8rem; resize: vertical; }
.request-field input:focus, .request-field textarea:focus { border-color: var(--b-crimson-bright); outline: 2px solid rgba(248, 113, 113, 0.35); outline-offset: 1px; }
.request-field [aria-invalid="true"] { border-color: #f87171; }
.request-field small { font-size: 0.76rem; color: var(--b-muted); line-height: 1.45; }
.request-consent { display: flex; gap: 0.7rem; align-items: flex-start; font-size: 0.84rem; color: var(--b-soft); line-height: 1.5; }
.request-consent input { margin-top: 0.2rem; width: 1.15rem; height: 1.15rem; accent-color: var(--b-crimson); flex: none; }
.request-consent .text-link { margin: 0; display: inline; }
.request-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 0.5rem; }
.request-actions .text-link { margin: 0; }
.request-actions .button-primary svg { width: 1rem; height: 1rem; }
.request-form-error { margin: 0; padding: 0.85rem 1rem; border-radius: 0.8rem; border: 1px solid rgba(248, 113, 113, 0.5); background: rgba(127, 29, 29, 0.3); color: #fee2e2; font-size: 0.9rem; }
.request-receipt { text-align: left; }
.request-receipt:focus { outline: none; }
.request-receipt-icon { width: 3rem; height: 3rem; border-radius: 999px; display: grid; place-items: center; background: rgba(34, 197, 94, 0.16); color: #4ade80; }
.request-receipt-icon svg { width: 1.6rem; height: 1.6rem; }
.request-receipt h2 { font-size: 1.5rem; margin: 1rem 0 0.5rem; }
.request-receipt p { color: var(--b-soft); line-height: 1.65; }
.request-receipt-ref strong { font-family: var(--font-geist-mono); font-size: 1.1rem; padding: 0.15rem 0.5rem; border-radius: 0.4rem; background: rgba(255, 255, 255, 0.08); color: #fff; }
.request-receipt-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.25rem; }
.request-receipt-actions .text-link { margin: 0; }
@media (max-width: 640px) { .request-form { grid-template-columns: 1fr; } .request-actions .button-primary { width: 100%; } }

/* Company card */
.company-card { margin: 0; display: grid; gap: 0.6rem; }
.company-card div { display: grid; grid-template-columns: 8rem 1fr; gap: 1rem; padding-bottom: 0.6rem; border-bottom: 1px solid var(--b-line); font-size: 0.9rem; }
.company-card dt { color: var(--b-muted); }
.company-card dd { margin: 0; overflow-wrap: anywhere; }
.company-card a { color: var(--b-crimson-bright); }

/* ---------- Footer ---------- */
.site-footer-v3 { position: relative; overflow: hidden; }
.footer-v3-glow { position: absolute; inset: 0 0 auto; height: 22rem; background: radial-gradient(60% 100% at 15% 0%, rgba(220, 38, 38, 0.16), transparent 70%); pointer-events: none; }
.site-footer-v3 .footer-shell { position: relative; }
.footer-directory-v3 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.footer-directory-v3 .footer-link-group a { display: inline-block; padding-block: 0.12rem; }
.footer-trust-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; padding-block: 1.75rem; border-bottom: 1px solid rgba(255, 255, 255, 0.055); }
.footer-trust-row a { display: flex; gap: 0.75rem; align-items: center; padding: 0.85rem 1rem; border-radius: 0.95rem; border: 1px solid var(--b-line); background: rgba(255, 255, 255, 0.02); transition: border-color 0.18s; }
.footer-trust-row a:hover { border-color: rgba(248, 113, 113, 0.4); }
.footer-trust-row svg { flex: none; width: 1.4rem; height: 1.4rem; color: var(--b-crimson-bright); }
.footer-trust-row strong { display: block; font-size: 0.85rem; }
.footer-trust-row small { display: block; font-size: 0.74rem; color: var(--b-muted); }
.footer-bottom-v3 { grid-template-columns: 1.2fr 1fr auto; }
.footer-company p { margin: 0; }
.footer-company p + p { margin-top: 0.3rem; }
.footer-language { display: flex; align-items: center; gap: 0.75rem; font-size: 0.78rem; }
.footer-language svg { width: 1rem; height: 1rem; color: var(--b-muted); }
.footer-language a { color: var(--b-soft); min-height: 32px; display: inline-flex; align-items: center; }
.footer-language a[aria-current] { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--b-crimson); }
@media (max-width: 1279px) { .footer-directory-v3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .footer-directory-v3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-trust-row { grid-template-columns: 1fr; }
  .footer-bottom-v3 { grid-template-columns: 1fr; }
}
@media (max-width: 360px) { .footer-directory-v3 { grid-template-columns: 1fr; } }

/* ---------- Support widget ---------- */
.support-trigger-v3 { padding: 0.3rem 1rem 0.3rem 0.3rem; border-color: rgba(37, 211, 102, 0.35); }
.support-trigger-v3 .support-trigger-icon { width: 2.6rem; height: 2.6rem; border-radius: 999px; display: grid; place-items: center; background: linear-gradient(145deg, #25d366, #128c4a); color: #fff; box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.15); }
.support-trigger-v3:hover { border-color: rgba(37, 211, 102, 0.65); }
.support-trigger-v3[aria-expanded="true"] .support-trigger-icon { background: var(--b-grad-crimson); box-shadow: none; }
.support-widget-v3 .support-menu { width: min(352px, 100vw - 1.6rem); padding: 0; overflow: hidden; }
.support-menu-head { display: flex; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.1rem 0.9rem; background: radial-gradient(120% 140% at 0% 0%, rgba(220, 38, 38, 0.28), transparent 60%); border-bottom: 1px solid var(--b-line); }
.support-menu-title { margin: 0; font-weight: 700; font-size: 1rem; }
.support-menu-sub { margin: 0.3rem 0 0; font-size: 0.76rem; color: var(--b-muted); line-height: 1.45; }
.support-menu-close { flex: none; width: 2.25rem; height: 2.25rem; display: grid; place-items: center; border-radius: 0.65rem; border: 1px solid var(--b-line-strong); color: var(--b-soft); background: transparent; cursor: pointer; }
.support-options { list-style: none; margin: 0; padding: 0.5rem; display: grid; gap: 0.25rem; max-height: min(55vh, 24rem); overflow-y: auto; }
.support-widget-v3 .support-option { display: flex; align-items: center; gap: 0.8rem; min-height: 3.4rem; padding: 0.55rem 0.7rem; border-radius: 0.8rem; color: #fff; text-align: left; }
.support-widget-v3 .support-option:hover, .support-widget-v3 .support-option:focus-visible { background: rgba(255, 255, 255, 0.06); }
.support-widget-v3 .support-option-icon { flex: none; width: 2.3rem; height: 2.3rem; border-radius: 0.7rem; display: grid; place-items: center; background: rgba(220, 38, 38, 0.15); color: var(--b-crimson-bright); }
.support-widget-v3 .support-option strong { display: block; font-size: 0.86rem; }
.support-widget-v3 .support-option small { display: block; font-size: 0.72rem; color: var(--b-muted); margin-top: 0.1rem; }
.support-option-arrow { margin-left: auto; width: 1rem; height: 1rem; color: var(--b-muted); flex: none; }
.support-menu-foot { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; padding: 0.75rem; border-top: 1px solid var(--b-line); }
.support-foot-wa, .support-foot-mail { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; min-height: 44px; border-radius: 0.75rem; font-weight: 650; font-size: 0.84rem; }
.support-foot-wa { background: linear-gradient(145deg, #25d366, #128c4a); color: #04130a; }
.support-foot-mail { border: 1px solid var(--b-line-strong); color: #fff; }
@media (max-width: 767px) {
  .support-trigger-v3 { padding: 0.3rem; }
  .support-trigger-v3 .support-trigger-text { display: none; }
}

/* ---------- Sticky bars and stacking ---------- */
.conversion-bar-v3 .conversion-bar-copy strong { color: #fff; }
.conversion-bar-close { width: 2.5rem; height: 2.5rem; flex: none; display: grid; place-items: center; border-radius: 0.6rem; border: 1px solid var(--b-line-strong); background: transparent; color: var(--b-soft); cursor: pointer; }
.conversion-bar-close svg { width: 1rem; height: 1rem; }
.selected-plan-bar { border-color: rgba(248, 113, 113, 0.45); box-shadow: 0 24px 60px -20px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(0, 0, 0, 0.5), inset 0 1px rgba(255, 255, 255, 0.06); bottom: calc(1rem + env(safe-area-inset-bottom)); width: min(900px, 100% - 2rem); }
.selected-plan-math { display: flex; gap: 1.1rem; margin: 0; }
.selected-plan-math div { display: grid; }
.selected-plan-math dt { font-size: 0.62rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--b-muted); }
.selected-plan-math dd { margin: 0; font-weight: 700; font-size: 0.86rem; font-variant-numeric: tabular-nums; }
.selected-plan-bar .button-primary { background: var(--b-grad-crimson); border-color: transparent; white-space: nowrap; }
@media (max-width: 900px) { .selected-plan-math { display: none; } }
/* Lift the support launcher above whichever sticky bar is showing. */
body.has-plan-bar .support-widget { bottom: calc(6.4rem + env(safe-area-inset-bottom)); transition: bottom 0.2s; }
@media (max-width: 767px) { body.has-plan-bar .support-widget { bottom: calc(6.8rem + env(safe-area-inset-bottom)); } }

/* Price cards: whole card selects the term; CTA stays the link. */
.price-card-v2 { cursor: pointer; }
.price-card-select { position: absolute; inset: 0; z-index: 0; border: 0; background: transparent; border-radius: inherit; cursor: pointer; }
.price-card-v2 > :not(.price-card-select) { position: relative; z-index: 1; }
.price-card-v2 > .price-card-select:focus-visible { outline: 2px solid var(--b-crimson-bright); outline-offset: -2px; }
.price-card-v2.is-selected { border-color: rgba(248, 113, 113, 0.75); box-shadow: 0 0 0 1px rgba(248, 113, 113, 0.35), 0 30px 70px -30px rgba(220, 38, 38, 0.55); }
.plan-reference-price { margin: 0.75rem 0 -0.4rem; font-size: 0.85rem; color: var(--b-muted); }
.pricing-promo { margin: 0 0 1.25rem; padding: 0.9rem 1.1rem; border-radius: 1rem; border: 1px solid rgba(248, 113, 113, 0.4); background: rgba(127, 29, 29, 0.25); }
.pricing-promo p { margin: 0.4rem 0 0; font-size: 0.8rem; color: var(--b-soft); }

/* ---------- Cookie controls ---------- */
.cookie-consent-v3 { border-color: rgba(255, 255, 255, 0.14); background: linear-gradient(160deg, rgba(30, 16, 18, 0.97), rgba(18, 18, 22, 0.98)); }
.cookie-consent-v3 h2 { display: flex; align-items: center; gap: 0.5rem; }
.cookie-consent-v3 h2 svg { width: 1rem; height: 1rem; color: var(--b-crimson-bright); }
.cookie-prefs { display: grid; gap: 0.5rem; margin-top: 0.75rem; }
.cookie-pref { display: flex; gap: 0.65rem; align-items: flex-start; padding: 0.6rem 0.7rem; border-radius: 0.7rem; border: 1px solid var(--b-line); font-size: 0.78rem; }
.cookie-pref input { margin-top: 0.15rem; width: 1.05rem; height: 1.05rem; accent-color: var(--b-crimson); flex: none; }
.cookie-pref strong { display: block; }
.cookie-pref small { display: block; color: var(--b-muted); }
.cookie-button-link { background: transparent; border: 0; color: var(--b-soft); text-decoration: underline; text-underline-offset: 3px; font: inherit; font-size: 0.8rem; cursor: pointer; min-height: 44px; padding: 0 0.5rem; }
.cookie-consent-v3 .cookie-actions { flex-wrap: wrap; justify-content: flex-end; }

/* Article tags render as hashtag-style chips (WordPress tags, not social hashtags). */
nav[aria-label="Article tags"] a::before { content: "#"; color: var(--b-crimson-bright); margin-right: 1px; }
.s2-notice { margin: 0 0 2rem; padding: 1rem 1.2rem; border-radius: 1rem; border: 1px solid rgba(248, 113, 113, 0.4); background: rgba(127, 29, 29, 0.22); color: #fee2e2; line-height: 1.6; }
.s2-notice a { color: #fff; text-decoration: underline; }

/* QA fixes (sprint 2 re-test). The selected-plan bar was offset right by translate(50%) from a
   left anchor; centre it explicitly. */
.selected-plan-bar { left: 50%; right: auto; transform: translate(-50%, calc(100% + 2rem)); }
.selected-plan-bar.is-visible { transform: translate(-50%, 0); }
@media (max-width: 767px) {
  .hero-v3-copy { display: flex; flex-direction: column; }
  .hero-v3-actions { order: 4; margin-top: 1.5rem; }
  .hero-v3-micro { order: 5; }
  .hero-v3-points { order: 6; margin-top: 1.5rem; }
  .hero-v3-lead { font-size: 1rem; margin-top: 1.1rem; }
}
@media (max-width: 400px) {
  .hero-v3-eyebrow { font-size: 0.62rem; letter-spacing: 0.06em; }
}
.dpage-hero h1 + p { margin-top: 1.25rem; }
.dpage-jump { display: inline-flex; margin-top: 1rem; font-weight: 650; color: #fff; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--b-crimson); }
