/* Practical resources extend the approved Aitsa site; no new brand theme. */
.resource-page .page-hero { padding-bottom: 54px; }
.resource-page .page-lead { font-size: 1.08rem; }
.resource-page .resource-hero-actions { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-top:26px; }
.resource-page .resource-hero-actions .button { margin-top:0; }
.resource-page .resource-hero-actions .button > span { white-space:normal; }
.resource-page .resource-meta { margin-top:22px; font-size:.875rem; }
.resource-meta a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.resource-page .resource-on-page { display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:28px; }
.resource-on-page a { color:var(--blue); font-size:.875rem; line-height:1.5; padding-block:8px; border-bottom:1px solid var(--line); }
.resource-section { padding-block:clamp(56px,6vw,88px); }
.resource-intro { display:grid; grid-template-columns:1fr 1.05fr; gap:34px 100px; align-items:start; margin-bottom:34px; }
.resource-intro h2 { font-size:clamp(32px,3.4vw,49px); max-width:18ch; }
.resource-intro p + p { margin-top:16px; }
.resource-intro .eyebrow { font-size:.75rem; }
.resource-worksheet { background:var(--pale); }
.resource-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:18px 30px; margin-block:28px 38px; }
.resource-toolbar p { font-size:.9375rem; max-width:38ch; }
.resource-download { font-size:.9375rem; gap:20px; }
.resource-download > span { white-space:normal; }
.worksheet-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 54px; border-top:1px solid #c9d1ee; }
.worksheet-field { position:relative; display:grid; grid-template-columns:32px 1fr; gap:6px 18px; padding-block:25px 28px; border-bottom:1px solid #c9d1ee; }
.resource-number { grid-row:1 / span 2; font-size:.8125rem; font-weight:700; color:var(--blue); padding-top:4px; }
.worksheet-field h3 { font-size:1.35rem; }
.worksheet-field p { grid-column:2; font-size:1rem; max-width:48ch; }
.resource-footnote { margin-top:26px; font-size:.9375rem; max-width:85ch; }
.example-label { display:flex; flex-wrap:wrap; align-items:start; gap:14px 24px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:32px; }
.resource-label { color:var(--blue); font-size:.875rem; font-weight:700; }
.example-label p { font-size:.9375rem; max-width:80ch; }
.process-map { max-width:1000px; margin-inline:auto; }
.process-map figcaption { font-size:1.12rem; font-weight:650; text-align:center; margin:24px 0 30px; }
.flow-list { list-style:none; margin:0; padding:0; }
.flow-row { display:flex; flex-direction:column; align-items:center; scroll-margin-top:100px; }
.flow-node { width:100%; border:1px solid var(--line); border-left:4px solid var(--blue); padding:25px 30px; border-radius:4px; background:white; }
.flow-owner { display:flex; gap:15px; align-items:center; color:var(--blue); font-size:.8125rem; font-weight:700; margin-bottom:9px; }
.flow-owner span:first-child { border-right:1px solid var(--line); padding-right:15px; font-variant-numeric:tabular-nums; }
.flow-node h3 { font-size:1.4rem; }
.flow-node p { margin-top:10px; font-size:1rem; }
.flow-decision { background:var(--pale); border-color:#cad2f2; border-left-color:var(--blue); }
.flow-connector { display:block; color:var(--blue); font-size:25px; line-height:1; padding:11px 0; }
.flow-outcomes { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:20px; border-top:1px solid var(--line); padding-top:18px; }
.flow-outcomes > * { font-size:.9375rem; line-height:1.55; }
.flow-outcomes strong { display:block; color:var(--blue); margin-bottom:4px; }
.flow-outcomes a { text-decoration:underline; text-underline-offset:4px; text-decoration-color:#b2bdec; }
.example-readout { margin-top:48px; }
.example-readout > h3 { font-size:1.6rem; margin-bottom:24px; }
.example-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 54px; margin:0; }
.example-grid > div { border-top:1px solid var(--line); padding-top:20px; }
.example-grid dt { font-size:1.06rem; font-weight:700; margin-bottom:8px; }
.example-grid dd { margin:0; color:var(--muted); font-size:1rem; line-height:1.75; }
.resource-decision-table { background:var(--pale); }
.decision-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:1rem; }
.decision-table caption { text-align:left; margin-bottom:23px; font-size:1.06rem; font-weight:600; color:var(--ink); }
.decision-table th,.decision-table td { padding:22px 22px 22px 0; vertical-align:top; text-align:left; border-bottom:1px solid #c9d1ee; overflow-wrap:anywhere; }
.decision-table thead th { color:var(--blue); font-weight:700; font-size:.875rem; padding-top:0; }
.decision-table tbody th { font-weight:600; }
.decision-table tbody td { color:var(--muted); }
.decision-table td strong { color:var(--ink); font-weight:650; }
.decision-table th:last-child,.decision-table td:last-child { padding-right:0; }
.mobile-column { display:none; }
.resource-page .section-copy .text-link { font-size:.9375rem; }
@media(max-width:900px) {
  .resource-intro { grid-template-columns:1fr; gap:22px; }
  .resource-intro h2 { max-width:23ch; }
  .resource-intro .eyebrow { margin-bottom:16px; }
  .worksheet-grid,.example-grid { column-gap:28px; }
}
@media(max-width:640px) {
  .resource-page .page-hero { padding-bottom:36px; }
  .resource-page .page-lead { font-size:1rem; }
  .resource-page .resource-on-page { gap:8px 20px; }
  .resource-download { width:100%; }
  .resource-toolbar { margin-bottom:26px; }
  .resource-toolbar p { max-width:none; }
  .worksheet-grid,.example-grid { grid-template-columns:1fr; }
  .worksheet-field { gap:6px 12px; padding-block:23px; }
  .worksheet-field h3 { font-size:1.25rem; }
  .flow-node { padding:21px 18px; }
  .flow-node h3 { font-size:1.25rem; }
  .flow-outcomes { grid-template-columns:1fr; gap:16px; }
  .flow-outcomes > * { padding-left:12px; border-left:2px solid #c3cdf1; }
  .process-map figcaption { text-align:left; }
  .decision-table { display:block; table-layout:auto; }
  .decision-table caption { display:block; width:100%; }
  .decision-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  .decision-table tbody,.decision-table tr,.decision-table th,.decision-table td { display:block; width:100%; }
  .decision-table tr { padding-block:24px; border-top:1px solid #c9d1ee; }
  .decision-table tbody th { font-size:1.12rem; padding:0 0 15px; border:0; }
  .decision-table td { border:0; padding:0 0 14px; }
  .decision-table td:last-child { padding-bottom:0; }
  .mobile-column { display:block; font-size:.8125rem; font-weight:700; color:var(--blue); margin-bottom:3px; }
  .example-label { gap:8px; }
}
@media print {
  .site-header,.site-footer,.closing,.ribbon-rail,.skip-link,.breadcrumb,.resource-hero-actions,.resource-on-page,.resource-toolbar,.faq-section { display:none !important; }
  .wrap { width:100%; }
  .resource-section,.content-section,.page-hero { padding-block:20px !important; }
  .resource-intro,.page-hero-grid,.section-inner { display:block; }
  .resource-intro h2,.section-heading h2 { font-size:22px; margin-bottom:16px; }
  .resource-page h1 { font-size:32px; }
  .resource-page p,.resource-page li,.resource-page dd { font-size:11pt; }
  .flow-node,.worksheet-field,.example-grid>div,.decision-table tr { break-inside:avoid; }
  .flow-node { padding:14px; }
  a[href]::after { content:none; }
}
