/* Utility/tool compatibility layer for migrated static routes. */
.az-filter,
.tax-tool,
.finder-panel,
.source-card,
.legal-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel-glass);
  box-shadow: var(--shadow-sm);
}
.az-filter { max-width: 700px; margin-top: 24px; padding: 16px; }
.az-filter label { display: block; margin-bottom: 7px; font-weight: 800; }
.letter-block { margin: 0 0 38px; }
.letter-block > h2 { padding-bottom: 10px; border-bottom: 1px solid var(--line); }

.tax-tool {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin-top: 26px;
  padding: clamp(18px,3vw,26px);
}
.tax-tool label { display: grid; gap: 7px; color: var(--ink-2); font-size: 13px; font-weight: 800; }
.tax-tool output {
  grid-column: 1 / -1;
  display: block;
  min-height: 58px;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--tarmac);
  color: #fff;
  font-weight: 750;
}

.process-grid,
.split-section {
  width: min(calc(100% - 32px), var(--max));
  margin-inline: auto;
  padding-block: clamp(36px,5vw,68px);
  display: grid;
  gap: 16px;
}
.process-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.process-grid article,
.split-section > * {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel-glass);
}
.process-grid article > span:first-child {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: var(--signal);
  color: #111;
  font: 900 14px/1 var(--font-mono);
}
.split-section { grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); }
.source-card { padding: 22px; display: grid; gap: 10px; align-content: start; }
.source-card a { overflow-wrap: anywhere; }
.check-list { padding-left: 1.2rem; }
.check-list li { margin: .55rem 0; }

.legal-page { max-width: 920px; }
.legal-card { margin-top: 24px; padding: clamp(20px,4vw,38px); }
.legal-card h2 { margin-top: 1.5em; font-size: clamp(1.25rem,2.2vw,1.65rem); }
.legal-card h2:first-child { margin-top: 0; }
.legal-card a { overflow-wrap: anywhere; }

.finder-panel { max-width: 760px; }
.finder-panel .lookup-form { margin: 0; }

/* Existing migrated content primitives. */
.guide-grid,
.feature-grid,
.info-grid,
.faq-grid,
.related-grid,
.card-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
}
.guide-card,
.feature-card,
.info-card,
.faq-card,
.related-card {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel-glass);
}

.notice,
.callout,
.info-box {
  padding: 16px 18px;
  border-left: 4px solid var(--signal);
  border-radius: 0 12px 12px 0;
  background: var(--signal-soft);
}

@media (max-width: 820px) {
  .tax-tool { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .process-grid, .split-section, .guide-grid, .feature-grid, .info-grid, .faq-grid, .related-grid, .card-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .tax-tool { grid-template-columns: 1fr; }
  .process-grid, .split-section { width: min(calc(100% - 24px), var(--max)); }
}
