/* ============================================================
   INCOME TAX — tax-season conversion layer (additive only)
   New compositions layered on the existing design system. No
   existing rules are overridden. Components:
   • .season-banner  — top-of-page "filing is open" announcement
   • .itr-trust      — hero trust-signal strip (stats + signals)
   • .btn-wa         — WhatsApp green CTA (extends .btn)
   • .choose         — "why clients choose us" comparison
   • .urgency        — pre-CTA "don't wait" urgency panel
   • .wa-sticky      — mobile-only sticky WhatsApp CTA
   ============================================================ */

/* ---- WhatsApp green CTA (matches the system's support green) ---- */
.btn-wa { background: var(--green); color: #fff;
  box-shadow: 0 14px 30px -10px color-mix(in oklab, var(--green) 50%, transparent), inset 0 1px 0 rgba(255,255,255,.18); }
.btn-wa:hover { background: color-mix(in oklab, var(--green) 88%, #000); transform: translateY(-1px);
  box-shadow: 0 18px 38px -10px color-mix(in oklab, var(--green) 58%, transparent), inset 0 1px 0 rgba(255,255,255,.22); }

/* ---- Season announcement banner (above the hero) ---- */
.season-band { padding: clamp(14px,1.8vw,20px) 0 0; }
.season-banner {
  display: flex; align-items: center; gap: clamp(14px,2vw,24px); flex-wrap: wrap;
  padding: clamp(16px,1.8vw,20px) clamp(18px,2.4vw,28px);
  border-radius: var(--r-lg);
  background: color-mix(in oklab, var(--brand) 8%, var(--surface));
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--brand) 18%, var(--line));
}
.season-banner .sb-ic {
  width: 46px; height: 46px; border-radius: 13px; flex: none; display: grid; place-items: center;
  background: var(--brand); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
}
.season-banner .sb-ic [data-lucide] { width: 23px; height: 23px; }
.season-banner .sb-tx { min-width: 0; flex: 1 1 320px; }
.season-banner .sb-tx b {
  display: block; font-family: var(--font-display); font-weight: 700;
  font-size: clamp(16.5px,1.5vw,19px); letter-spacing: -.01em; color: var(--ink); line-height: 1.2;
}
.season-banner .sb-tx span { display: block; margin-top: 3px; color: var(--body); font-size: 14.5px; line-height: 1.45; }
.season-banner .btn { flex: none; }
@media (max-width: 600px){
  .season-banner { gap: 13px; }
  .season-banner .btn { width: 100%; justify-content: center; }
}

/* ---- Hero 4-column trust strip (icon over label) ---- */
.trust-strip { margin-top: 28px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.trust-strip .ts-item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 11px; }
.trust-strip .ts-ic { display: grid; place-items: center; color: var(--ink); }
.trust-strip .ts-ic [data-lucide] { width: 30px; height: 30px; stroke-width: 1.75; }
.trust-strip .ts-item span:last-child { font-size: 14.5px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; line-height: 1.2; }
@media (max-width: 520px){ .trust-strip { grid-template-columns: repeat(2, 1fr); gap: 24px 16px; } }

/* ---- "Why clients choose us" comparison ---- */
.choose { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 44px; }
.choose-col { border-radius: var(--r-xl); padding: clamp(24px,2.6vw,32px); display: flex; flex-direction: column; }
.choose-col.is-them { background: var(--soft); box-shadow: inset 0 0 0 1px var(--line); }
.choose-col.is-us { background: color-mix(in oklab, var(--brand) 6%, var(--surface));
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--brand) 20%, var(--line)), var(--sh-sm); }
.choose-col .ch-head { display: flex; align-items: center; gap: 11px; margin-bottom: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.choose-col.is-us .ch-head { border-bottom-color: color-mix(in oklab, var(--brand) 18%, var(--line)); }
.ch-head .ch-tag { font-family: var(--font-display); font-weight: 700; font-size: 17px; letter-spacing: -.01em; color: var(--muted); }
.choose-col.is-us .ch-head b { font-family: var(--font-display); font-weight: 700; font-size: 17px; letter-spacing: -.01em; color: var(--ink); }
.choose-col.is-us .ch-head .dotmark {
  width: 30px; height: 30px; border-radius: 9px; flex: none; display: grid; place-items: center;
  background: var(--brand); color: #fff; font-family: var(--font-display); font-weight: 700; font-size: 17px;
}
.choose-col ul { list-style: none; display: grid; gap: 14px; margin: 0; padding: 0; }
.choose-col li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.choose-col li .ch-m { width: 24px; height: 24px; border-radius: 50%; flex: none; display: grid; place-items: center; margin-top: 1px; }
.choose-col li .ch-m [data-lucide] { width: 14px; height: 14px; }
.choose-col.is-them li { color: var(--body); }
.choose-col.is-them li .ch-m { background: color-mix(in oklab, var(--amber) 16%, #fff); color: #9a5a06; }
.choose-col.is-us li .ch-m { background: var(--green-100); color: var(--green); }
.choose-col.is-us li b { color: var(--ink); font-weight: 600; }
@media (max-width: 720px){ .choose { grid-template-columns: 1fr; } }

/* ---- Merged final-CTA benefits row (on the brand panel) ---- */
.cta-benefits { margin-top: 28px; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.cta-benefits span {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 16px; border-radius: var(--r-pill);
  background: rgba(255,255,255,.12); box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
  color: #fff; font-size: 14.5px; font-weight: 500;
}
.cta-benefits [data-lucide] { width: 16px; height: 16px; color: #fff; flex: none; }

/* ---- Mobile-only sticky WhatsApp CTA ---- */
.wa-sticky {
  position: fixed; left: 14px; right: 14px; bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  z-index: 55; display: none; align-items: center; justify-content: center; gap: 9px;
  padding: 15px 20px; border-radius: var(--r-pill);
  background: var(--green); color: #fff;
  font-family: var(--font-display); font-weight: 700; font-size: 16px; letter-spacing: -.01em;
  box-shadow: 0 16px 32px -8px color-mix(in oklab, var(--green) 55%, transparent), inset 0 1px 0 rgba(255,255,255,.22);
}
.wa-sticky [data-lucide] { width: 19px; height: 19px; }
.wa-sticky:active { transform: translateY(1px); }
@media (max-width: 720px){
  .wa-sticky { display: flex; }
  body { padding-bottom: 84px; }
  /* the labeled sticky bar replaces the generic floating FAB on mobile (this page only) */
  .pm-wa-fab { display: none !important; }
}
/* tuck under the mobile drawer when it's open */
body:has(.drawer.open) .wa-sticky { display: none; }

/* ---- Premium spacing rhythm around the logo trust band ----
   Trust strip → (generous) → "Trusted by…" heading → (24–32px) → logos
   → (100–140px) → "Who needs to file". Spacing only; content unchanged. */
.logos {
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(72px, 8.5vw, 100px);
  gap: clamp(26px, 2.8vw, 32px);
}
