/* Tax-resource adaptation of the existing Acculink section library.
 * Hero/type: service-sections/dynamic/hero-section.php
 * Open icon rows: industry-sections/dynamic/who-we-work-with.php
 * Checklists: job-sections/dynamic/skills-capabilities.php
 * Eligibility rows/comparison: location-sections/{tax,compare}-stpg.php
 * CTA/FAQ: industry CTA ribbon and standard simple FAQ shell.
 * Scoped to the resource article; shared navigation and other pages are unaffected.
 */
.scpg { --sc-indigo:#100190; --sc-ink:#111827; --sc-muted:#4b5563; color:var(--sc-ink); background:#fff; }
.scpg *, .scpg *::before, .scpg *::after { box-sizing:border-box; }
.scpg a { text-underline-offset:3px; }
.scpg-container { width:100%; max-width:1280px; padding-inline:24px; margin-inline:auto; }
.scpg-section { padding:80px 0; position:relative; }
.scpg-section--soft { background:linear-gradient(135deg,#f8fafc,#fff,#f0f9ff); }
.scpg-section--blue { background:linear-gradient(135deg,#f8fafc,#e8f4fd,#f0f9ff); }
.scpg-eyebrow { display:inline-flex; align-items:center; gap:8px; margin:0 0 16px; color:var(--sc-indigo); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.scpg-title { margin:0 0 24px; color:var(--sc-indigo); font-size:clamp(2.25rem,4.2vw,3.75rem); line-height:1.15; letter-spacing:-.025em; font-weight:800; }
.scpg-heading { margin:0 0 24px; color:var(--sc-ink); font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.2; letter-spacing:-.025em; font-weight:800; }
.scpg-subheading { margin:32px 0 14px; color:var(--sc-ink); font-size:24px; line-height:1.3; font-weight:700; }
.scpg-copy { color:var(--sc-muted); font-size:16px; line-height:1.75; }
.scpg-copy p { margin:0 0 20px; }
.scpg-copy p:last-child { margin-bottom:0; }
.scpg-copy a, .scpg-table a, .tf-rail a, .tf-review a { color:var(--sc-indigo); font-weight:600; text-decoration:underline; }
.tf-heading { max-width:850px; margin:0 auto 44px; text-align:center; }
.tf-heading .scpg-heading { margin-bottom:16px; }
.tf-heading .scpg-copy { font-size:18px; }
.scpg-hero { padding:56px 0 60px; background:linear-gradient(135deg,#f9fbff,#fff,#f4f7ff); }
.scpg-hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:56px; align-items:center; }
.scpg-lead { margin:0 0 18px; color:#374151; font-size:18px; line-height:1.7; }
.scpg-lead strong { font-weight:400; }
.scpg-hero-note { margin:0; color:var(--sc-muted); font-size:16px; line-height:1.75; }
.scpg-meta { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:28px; padding-top:22px; border-top:1px solid #e5e7eb; }
.scpg-meta span { color:#6b7280; font-size:12px; line-height:1.6; }
.scpg-meta i { margin-right:4px; color:var(--sc-indigo); }
.scpg-hero-card { padding:32px; border:1px solid #d6d3ec; border-radius:16px; background:#fff; }
.scpg-hero-card__label { margin:0 0 24px; color:var(--sc-indigo); font-size:22px; font-weight:700; }
.scpg-hero-fact { display:flex; gap:18px; align-items:flex-start; padding:22px 0; border-top:1px solid #e5e7eb; }
.scpg-hero-fact:last-child { padding-bottom:0; }
.scpg-icon { width:48px; height:48px; flex:0 0 48px; display:grid; place-items:center; border-radius:16px; color:#fff; background:linear-gradient(135deg,#100190,#2203f4); }
.scpg-hero-fact strong { display:block; color:var(--sc-ink); font-size:17px; margin:0 0 6px; }
.scpg-hero-fact div > span { display:block; color:#6b7280; font-size:15px; line-height:1.65; }
/* Industry resource rows: open layout, with no repeated card shadows. */
.tf-downloads { padding:48px 0; border-bottom:1px solid #e5e7eb; }
.tf-downloads .scpg-heading { font-size:28px; }
.scpg-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
.scpg-link-card { display:flex; align-items:flex-start; gap:18px; padding:24px 0; border-bottom:1px solid #e5e7eb; text-decoration:none; color:inherit; }
.scpg-link-card > span:not(.scpg-icon) { flex:1; min-width:0; }
.scpg-link-arrow { flex:0 0 auto; align-self:center; margin-left:auto; color:var(--sc-indigo); font-size:20px; }
.scpg-link-card strong { display:block; color:var(--sc-ink); font-size:16px; line-height:1.55; }
.scpg-link-card small { display:block; margin-top:5px; color:#6b7280; font-size:14px; line-height:1.6; }
.scpg-link-card:hover strong, .scpg-link-card:focus-visible strong { color:var(--sc-indigo); text-decoration:underline; }
.scpg-link-card:focus-visible { outline:2px solid var(--sc-indigo); outline-offset:4px; }
.tf-downloads .scpg-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 28px; }
.tf-downloads .scpg-icon { background:#eef1ff; color:var(--sc-indigo); width:40px; height:40px; flex-basis:40px; border-radius:12px; }
.tf-quick { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; margin:0; }
.tf-quick > div { padding:24px 0; border-top:1px solid #dce2eb; }
.tf-quick dt { color:var(--sc-ink); font-size:19px; font-weight:700; margin-bottom:8px; }
.tf-quick dd { margin:0; color:var(--sc-muted); font-size:16px; line-height:1.7; }
/* Split reading area uses the state-page heading/body proportions. */
.tf-intro-grid { display:grid; grid-template-columns:360px minmax(0,1fr); gap:56px; align-items:start; }
.scpg-panel { background:#f8fafc; border:1px solid #e5e7eb; border-radius:16px; padding:28px; }
.scpg-panel .scpg-heading { font-size:26px; margin-bottom:20px; }
.scpg-toc { list-style:none; margin:0; padding:0; }
.scpg-toc li + li { border-top:1px solid #e5e7eb; }
.scpg-toc a { display:flex; align-items:baseline; gap:10px; padding:11px 0; color:#4b5563; font-size:14px; line-height:1.55; text-decoration:none; }
.scpg-toc a::before { content:'\2192'; color:var(--sc-indigo); }
.scpg-toc a:hover, .scpg-toc a:focus-visible { color:var(--sc-indigo); text-decoration:underline; }
.scpg-steps { list-style:none; padding:0; margin:36px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; counter-reset:eligibility; }
.scpg-step { position:relative; counter-increment:eligibility; padding:0 0 0 52px; color:#4b5563; font-size:16px; line-height:1.7; }
.scpg-step::before { content:counter(eligibility,decimal-leading-zero); position:absolute; left:0; top:0; color:var(--sc-indigo); font-size:26px; font-weight:800; }
.scpg-callout { margin:28px 0; padding:20px 24px; border-left:4px solid #5fe5f3; background:#f4f9fc; color:#374151; font-size:15px; line-height:1.75; }
/* Existing state tax component: cyan icons, divided rows, indigo status pills. */
.tf-tax-rows { max-width:1024px; margin:40px auto 0; border:1px solid #e5e7eb; border-radius:24px; overflow:hidden; background:#fff; }
.tf-tax-row { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:24px; padding:26px; align-items:start; }
.tf-tax-row + .tf-tax-row { border-top:1px solid #e5e7eb; }
.tf-tax-row .scpg-icon { color:#0b2e3c; background:#5fe5f3; border-radius:50%; }
.tf-tax-row h3 { margin:0 0 8px; font-size:19px; font-weight:700; line-height:1.4; }
.tf-tax-row p { margin:0; color:#6b7280; font-size:15.5px; line-height:1.7; }
.tf-tax-status { padding:7px 16px; background:var(--sc-indigo); color:#fff; border-radius:999px; font-size:12px; font-weight:700; }
/* Preserve tabular data where comparison/calculation actually needs a table. */
.scpg-table-shell { overflow-x:auto; margin-top:28px; border:1px solid #e5e7eb; border-radius:24px; background:#fff; }
.scpg-table-shell:focus-visible { outline:2px solid var(--sc-indigo); outline-offset:4px; }
.scpg-table { width:100%; min-width:640px; border-collapse:collapse; text-align:left; }
.scpg-table th, .scpg-table td { padding:18px 24px; border-bottom:1px solid #e5e7eb; font-size:15px; line-height:1.65; vertical-align:top; }
.scpg-table thead th { color:#6b7280; background:#f8fafc; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.scpg-table tbody th { width:28%; color:var(--sc-ink); font-weight:700; }
.scpg-table tbody td { color:var(--sc-muted); }
.scpg-table tbody tr:last-child > * { border-bottom:0; }
.tf-comparison .scpg-table-shell { max-width:1100px; margin-inline:auto; }
.tf-comparison thead th:nth-child(2) { color:#fff; background:var(--sc-indigo); }
.tf-comparison tbody td:nth-child(2) { color:var(--sc-ink); background:#f5f4fb; }
/* Hire capability checklists, adapted with both full lists visible. */
.tf-check-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin:36px 0; }
.tf-check-card { background:#fff; border:1px solid #e5e7eb; border-radius:24px; padding:32px; }
.tf-check-card h3 { display:flex; gap:16px; align-items:center; margin:0 0 28px; font-size:22px; line-height:1.35; font-weight:700; }
.tf-check-card ul { list-style:none; padding:0; margin:0; }
.tf-check-card li { position:relative; padding-left:28px; margin-top:16px; color:#4b5563; font-size:15px; line-height:1.7; }
.tf-check-card li::before { content:'\2713'; position:absolute; left:0; color:var(--sc-indigo); font-weight:700; }
.tf-check-card--excluded li::before { content:'\2013'; }
.tf-rail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; margin:40px 0 0; }
.tf-rail-item { position:relative; display:flex; align-items:flex-start; gap:20px; padding-left:24px; border-left:1px solid #dcd9f0; }
.tf-rail-item h3 { margin:0 0 10px; color:var(--sc-ink); font-size:20px; font-weight:700; line-height:1.4; }
.tf-rail-item p { margin:0; font-size:16px; line-height:1.75; color:#4b5563; }
.tf-preparation { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:48px; align-items:start; }
.scpg-records { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.scpg-records li { display:flex; align-items:baseline; gap:12px; color:#4b5563; font-size:15px; line-height:1.7; padding-bottom:20px; border-bottom:1px solid #dde3eb; }
.scpg-records i { color:var(--sc-indigo); flex:0 0 auto; }
.tf-preparation > .scpg-copy { grid-column:2; }
.tf-walkthrough { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:40px; align-items:start; margin-top:36px; }
.tf-walkthrough .scpg-table-shell { margin-top:0; }
.tf-walkthrough .scpg-table { min-width:0; }
.tf-walkthrough .scpg-table tbody th { width:64px; color:var(--sc-indigo); font-size:20px; }
.tf-walkthrough .scpg-table td { font-size:15px; }
.tf-line-note { padding:32px; border:1px solid #d9dfed; border-radius:24px; background:#f4f7ff; position:sticky; top:180px; }
.tf-line-note .scpg-subheading { margin-top:0; }
/* Worked example: state-page split panel; values always have explicit contrast. */
.tf-example { background:linear-gradient(135deg,#f8fafc,#e8f4fd,#f0f9ff); }
.tf-example-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:48px; align-items:start; }
.tf-example .scpg-table-shell { margin:0; }
.tf-example .scpg-table { min-width:0; }
.tf-example .scpg-table th, .tf-example .scpg-table td { padding:16px 20px; }
.tf-example .scpg-table tbody th { width:72%; font-size:14px; }
.tf-example .scpg-table td { color:var(--sc-ink); text-align:right; font-weight:600; white-space:nowrap; }
.tf-example .scpg-table thead th { background:var(--sc-indigo); color:#fff; }
.tf-example .scpg-table tbody tr:last-child > * { background:#e4f7fa; color:#0b2e3c; font-weight:800; }
.tf-example-note { margin-top:28px; }
.scpg-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin:36px 0; counter-reset:flow; }
.scpg-flow > div { position:relative; padding:0 0 0 60px; counter-increment:flow; }
.scpg-flow > div::before { content:counter(flow,decimal-leading-zero); position:absolute; left:0; top:0; color:var(--sc-indigo); font-size:32px; line-height:1; font-weight:800; }
.scpg-flow strong { display:block; margin-bottom:10px; color:var(--sc-ink); font-size:20px; }
.scpg-flow span { color:#6b7280; font-size:15px; line-height:1.65; }
.tf-review { list-style:none; padding:0; margin:36px 0 0; counter-reset:review; }
.tf-review li { display:grid; grid-template-columns:48px minmax(0,.8fr) minmax(0,1.2fr); gap:28px; padding:24px 0; border-top:1px solid #e5e7eb; counter-increment:review; align-items:baseline; }
.tf-review li::before { content:counter(review,decimal-leading-zero); color:var(--sc-indigo); font-size:24px; font-weight:800; }
.tf-review h3 { margin:0; font-size:18px; line-height:1.5; font-weight:700; }
.tf-review p { margin:0; color:#4b5563; font-size:16px; line-height:1.75; }
.tf-filing-grid { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:64px; }
.tf-filing-grid .scpg-copy p { padding:0 0 24px; border-bottom:1px solid #dce3ed; }
.scpg-cta { padding:32px 0; background:#fff; }
.scpg-cta__inner { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px; align-items:center; padding:40px; border:1px solid #dbeafe; border-radius:24px; background:linear-gradient(135deg,#100190,#2203f4); }
.scpg-cta__inner::after { content:''; pointer-events:none; position:absolute; right:-48px; top:-48px; width:192px; height:192px; border-radius:50%; background:rgba(255,255,255,.1); }
.scpg-cta__content, .scpg-cta__action { position:relative; z-index:1; }
.scpg-cta__title { margin:0 0 8px; color:#fff; font-size:28px; line-height:1.25; font-weight:800; }
.scpg-cta__text { margin:0; color:#e5e7eb; font-size:16px; line-height:1.6; }
.scpg-cta__action { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; }
.scpg-cta__button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 24px; background:#fff; color:var(--sc-indigo); border-radius:999px; font-size:14px; font-weight:600; line-height:1.5; text-decoration:none; }
.scpg-cta__button:hover, .scpg-cta__button:focus-visible { background:#f0f4ff; outline:2px solid #fff; outline-offset:4px; }
.scpg-faq-heading { max-width:850px; margin:0 auto 44px; text-align:center; }
.scpg-faq-shell { max-width:900px; margin:auto; background:#fff; border:1px solid #e5e7eb; border-radius:24px; padding:32px; }
.scpg-faq-item + .scpg-faq-item { margin-top:8px; }
.scpg-faq-item { border:1px solid #e5e7eb; border-radius:16px; overflow:hidden; }
.scpg-faq-item summary { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:20px 24px; cursor:pointer; list-style:none; background:#f9fafb; }
.scpg-faq-item summary::-webkit-details-marker { display:none; }
.scpg-faq-item summary h3 { margin:0; color:var(--sc-ink); font-size:16px; font-weight:600; line-height:1.6; }
.scpg-faq-item summary > i { color:var(--sc-indigo); font-size:14px; flex-shrink:0; transition:transform .2s; }
.scpg-faq-item[open] summary > i { transform:rotate(180deg); }
.scpg-faq-item[open] summary, .scpg-faq-item summary:hover { background:#f0f4ff; }
.scpg-faq-item summary:focus-visible { outline:2px solid var(--sc-indigo); outline-offset:-3px; }
.scpg-faq-answer { padding:20px 24px; color:#4b5563; font-size:15px; line-height:1.75; }
.scpg-faq-answer p { margin:0; }
.scpg-faq-answer a { color:var(--sc-indigo); font-weight:600; text-decoration:underline; }
.tf-disclaimer { padding:40px 0; background:#f8fafc; border-top:1px solid #e5e7eb; }
.tf-disclaimer .scpg-heading { font-size:22px; margin-bottom:16px; }
.scpg-disclaimer { margin:0; color:#6b7280; font-size:14px; line-height:1.75; }
.scpg :is(h2,h3)[id] { scroll-margin-top:180px; }
.scpg-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; }
/* Schedule C variants of the same section patterns; Form 8995 stays unchanged. */
.scpg-schedule-c .tf-source-note { margin-top:32px; padding-top:24px; border-top:1px solid #e5e7eb; }
.scpg-schedule-c .tf-calculation-path { margin-top:40px; padding-top:8px; border-top:1px solid #e5e7eb; }
.scpg-schedule-c .tf-flow-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.scpg-schedule-c .tf-tax-row--plain { grid-template-columns:48px minmax(0,1fr); align-items:center; }
.scpg-schedule-c .tf-filing-steps { row-gap:40px; }
.scpg-schedule-c .tf-filing-steps strong { display:block; margin-bottom:8px; color:var(--sc-ink); line-height:1.5; }
.scpg-schedule-c .tf-line-note--static { position:static; }
.scpg-schedule-c .tf-schedule-parts > div > .scpg-subheading { margin-top:0; }
.scpg-schedule-c .tf-schedule-parts .scpg-table tbody th { width:30%; font-size:16px; }
.scpg-schedule-c .tf-setup-list { list-style:none; margin:0; padding:0; }
.scpg-schedule-c .tf-setup-list li { position:relative; padding-left:28px; margin-top:20px; }
.scpg-schedule-c .tf-setup-list li::before { content:'\2713'; position:absolute; left:0; top:0; color:var(--sc-indigo); font-weight:700; }
.scpg-schedule-c .tf-setup-list strong { display:block; color:var(--sc-ink); font-size:16px; margin-bottom:6px; }
.scpg-schedule-c .tf-setup-list span { display:block; color:var(--sc-muted); font-size:15px; line-height:1.7; }
.scpg-schedule-c .tf-rail-item .tf-flow-detail { margin-top:10px; font-size:15px; color:#6b7280; }
@media (max-width:1023px) {
    .scpg-schedule-c .tf-flow-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .scpg-hero-grid, .tf-intro-grid, .tf-preparation, .tf-walkthrough, .tf-example-grid, .tf-filing-grid { grid-template-columns:1fr; gap:32px; }
    .scpg-hero-card { max-width:none; }
    .scpg-toc { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
    .tf-preparation > .scpg-copy { grid-column:auto; }
    .tf-line-note { position:static; }
    .tf-downloads .scpg-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .scpg-cta__inner { grid-template-columns:1fr; }
    .scpg-cta__action { justify-content:flex-start; }
}
@media (max-width:640px) {
    .scpg-schedule-c .tf-flow-four { grid-template-columns:1fr; }
    .scpg-schedule-c .tf-tax-row--plain { grid-template-columns:40px minmax(0,1fr); }
    .scpg-container { padding-inline:20px; }
    .scpg-section { padding:52px 0; }
    .scpg-hero { padding:40px 0; }
    .scpg-title { font-size:36px; }
    .scpg-heading { font-size:30px; }
    .scpg-lead, .tf-heading .scpg-copy { font-size:17px; }
    .tf-heading { margin-bottom:32px; }
    .scpg-hero-card, .scpg-panel, .tf-check-card, .tf-line-note { padding:24px; }
    .tf-quick, .scpg-card-grid, .tf-downloads .scpg-card-grid, .scpg-toc, .tf-check-columns, .tf-rail, .scpg-records, .scpg-steps, .scpg-flow { grid-template-columns:1fr; }
    .scpg-steps { gap:24px; }
    .tf-tax-row { grid-template-columns:40px minmax(0,1fr); gap:14px; padding:22px; }
    .tf-tax-row .scpg-icon { width:40px; height:40px; }
    .tf-tax-status { grid-column:2; justify-self:start; }
    .tf-rail-item { padding-left:16px; gap:16px; }
    .tf-review li { grid-template-columns:32px minmax(0,1fr); gap:12px; }
    .tf-review p { grid-column:2; }
    .scpg-table th, .scpg-table td { padding:14px; }
    .tf-example .scpg-table th, .tf-example .scpg-table td { padding:12px; font-size:13px; }
    .tf-example .scpg-table tbody th { width:auto; }
    .tf-walkthrough .scpg-table tbody th { width:46px; }
    .scpg-cta__inner { padding:28px; gap:24px; }
    .scpg-cta__title { font-size:25px; }
    .scpg-faq-shell { padding:16px; }
    .scpg-faq-item summary { padding:16px; }
    .scpg-faq-answer { padding:16px; }
}
