/* ABA brand values measured from the public website on September 12, 2026.
   Flat-topped cards and arrow-free links re-matched to the September 13 revision.
   The font and logo are local files. This theme makes no external requests. */
@font-face {
  font-family: "Public Sans";
  src: url("/fieldwork-planner/public-sans-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
:root {
  --ink: #173e50;
  --muted: #516e7b;
  --paper: #fff9f4;
  --white: #ffffff;
  --teal: #087e99;
  --teal-dark: #07758c;
  --sage: #d9f3f9;
  --line: #d8ddd6;
  --error: #b23a48;
  --serif: Georgia, serif;
  --sans: "Public Sans", Arial, sans-serif;
  --sky: #d9f3f9;
  --peach: #f5dbd0;
  --clay: #794a43;
  --navy-deep: #103246;
  --link: #17647c;
  --link-underline: #78aebb;
  --page-gutter: 48px;
}
body { font-size: 16px; line-height: 1.6; }
h1, h2 { letter-spacing: -.035em; line-height: 1.12; }
em { color: #087e99; }
:focus-visible,.choice:has(input:focus-visible) { outline-color: #087e99; }
.footer-controls { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.footer-controls .text-button { white-space: normal; text-align: left; }
.noscript h2 { font-size: 28px; margin-bottom: 16px; }
.noscript li { margin: 12px 0; }
.status-dot { background: #35c0ed; }
.site-header { max-width: 1260px; padding: 24px 48px; border-bottom: 0; }
.wordmark { gap: 12px; font-size: 13px; font-weight: 400; letter-spacing: .04em; line-height: 1.35; }
.brand-logo { width: 44px; height: 44px; flex-shrink: 0; }
.site-header .text-button { font-size: 13px; font-weight: 700; }
.eyebrow { font-weight: 500; font-size: 11px; letter-spacing: .15em; }
.brand-hero { display: block; max-width: 1200px; padding: 36px 48px 44px; }
.brand-hero .hero-copy { text-align: center; }
.brand-hero h1 { font-size: clamp(42px, 4.7vw, 64px); margin: 22px 0 24px; }
.brand-hero .lead { max-width: 600px; margin: auto; font-size: 17px; line-height: 1.7; }
.brand-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 36px; }
.brand-path { border-radius: 28px; padding: 30px 34px 35px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.brand-path-blue { background: var(--sky); }
.brand-path-peach { background: var(--peach); }
.brand-path-icon { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--paper); margin-bottom: 17px; flex-shrink: 0; }
.brand-path-icon svg { width: 30px; height: 30px; }
.brand-path h2 { font-size: clamp(28px, 3vw, 38px); margin-bottom: 19px; }
.brand-path p { max-width: 340px; font-size: 15px; line-height: 1.7; margin: 0 0 24px; }
.brand-path .button { margin-top: auto; }
.brand-hero>.micro-note { justify-content: center; margin-top: 23px; font-size: 11px; }
.button { border-radius: 99px; padding: 15px 22px; min-height: 50px; font-size: 13px; font-weight: 400; gap: 16px; }
.button.primary { background: var(--ink); }
.button.primary:hover { background: var(--navy-deep); box-shadow: none; }
.button.warm { background: var(--clay); color: white; }
.button.warm:hover { background: #623b36; }
.button.secondary { border-color: var(--link-underline); font-weight: 700; }
.button.secondary:hover { background: var(--sky); }
/* Link affordance matches the live site without relying on an arrow or color alone. */
.text-button,.back-button,.noscript a {
  color: var(--link);
  font-weight: 700;
  text-decoration-line: underline;
  text-decoration-color: var(--link-underline);
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  min-height: 44px;
}
.text-button,.back-button { padding: 10px 0; }
.noscript a { display: inline-block; padding: 10px 0; }
.text-button:hover,.back-button:hover,.noscript a:hover,
.home-topic-links nav a:hover,.entry-topics a:hover,.resource-nav-item:hover {
  color: var(--ink);
  text-decoration-color: currentColor;
  text-decoration-thickness: 2px;
}
.promise-strip,.mission-section { max-width: 1104px; }
.promise-strip>div { gap: 14px; }
.promise-strip strong { font-size: 13px; font-weight: 500; }
.promise-strip p,.promise-strip p>span { font-size: 12px; }
.mini-icon,.step-number { color: var(--teal); }
.mission-section { padding-top: 52px; padding-bottom: 56px; gap: 60px; }
.mission-section p:not(.eyebrow) { font-size: 15px; }
.site-footer { max-width: 1260px; }
.site-footer>p:first-child { color: var(--ink); }
.planner-top>p,.step-list li { font-size: 11px; }
.step-list li>span { border-color: var(--line); }
.step-list li.active>span,.step-list li.complete>span { background: var(--ink); border-color: var(--ink); }
.question-description { font-size: 14px; }
.choice { border-color: var(--line); border-radius: 16px; }
.choice:has(input:checked) { background: var(--sky); border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.choice-indicator { border-color: #678793; }
.choice input:checked+.choice-indicator { background: var(--ink); border-color: var(--ink); }
.choice-copy strong { font-size: 14px; font-weight: 500; }
.choice-copy>span { font-size: 12px; }
.planner-aside { background: var(--sky); border-radius: 28px; }
.planner-aside>p:not(.eyebrow) { font-size: 13px; }
.aside-arch { display: none; }
.aside-divider { background: #b8dce4; }
select { border-radius: 12px; border-color: var(--line); font-size: 14px; }
.select-field label { font-weight: 500; font-size: 14px; }
.field-hint,.soft-note p { font-size: 12px; }
.required-label { font-size: 11px; font-weight: 400; color: var(--muted); }
.field-error { color: var(--error); font-size: 12px; margin: 9px 0 0; }
.form-errors a { color: inherit; display: block; padding: 7px 0; text-decoration: underline; text-underline-offset: 3px; }
select[aria-invalid=true],.choice:has(input[aria-invalid=true]) { border-color: var(--error); }
.result-heading .lead { font-size: 15px; }
.result-tags>span { background: var(--sky); font-size: 11px; }
.next-step h3 { font-weight: 500; }
.next-step p { font-size: 14px; }
.conversation-card { border-radius: 24px; background: var(--peach); color: var(--ink); }
.conversation-card .eyebrow { color: var(--clay); }
.conversation-card p:last-child { color: var(--clay); font-size: 12px; }
.summary-card { border-color: var(--line); border-radius: 28px; }
.summary-card dt { font-size: 10px; font-weight: 500; }
.summary-card dd,.price-example p.small { font-size: 13px; }
.check-list li { font-size: 13px; }
dialog { border-color: var(--line); border-radius: 24px; }
@media(max-width:950px) {
  .brand-path { padding-left: 24px; padding-right: 24px; }
  .brand-path h2 { font-size: 31px; }
  .brand-path p { font-size: 14px; }
  .brand-path .button { padding: 14px 17px; font-size: 12px; }
}
@media(max-width:720px) {
  .site-header { padding: 20px 24px; }
  .wordmark { font-size: 10px; gap: 10px; }
  .brand-logo { width: 38px; height: 38px; }
  .site-header .text-button { font-size: 11px; }
  .brand-hero { padding: 28px 24px 34px; }
  .brand-hero h1 { font-size: clamp(36px, 9.6vw, 52px); margin: 20px 0; }
  .brand-hero .lead { font-size: 15px; }
  .brand-paths { grid-template-columns: 1fr; gap: 22px; margin-top: 29px; }
  .brand-path { border-radius: 24px; padding: 26px 26px 30px; }
  .brand-path h2 { font-size: 32px; }
  .brand-path p { font-size: 14px; }
  .brand-path .button { font-size: 13px; padding: 15px 20px; }
  .brand-hero>.micro-note { font-size: 10px; gap: 8px; }
  .promise-strip>div { gap: 16px; }
  .mission-section { gap: 24px; padding: 38px 0 42px; }
  .mission-section p:not(.eyebrow) { font-size: 14px; }
  .planner-top>p { font-size: 8px; }
  .step-list li { font-size: 9px; }
  .planner-aside { border-radius: 24px; }
  .choice-copy strong { font-size: 13px; }
  .choice-copy>span { font-size: 11px; }
  .question-description,.result-heading .lead,.next-step p { font-size: 13px; }
  .summary-card { padding: 24px; }
}
@media(max-width:370px) {
  .site-header { padding: 18px; gap: 10px; }
  .wordmark { font-size: 8px; gap: 8px; }
  .brand-logo { width: 34px; height: 34px; }
  .site-header .text-button { font-size: 10px; }
  .brand-path { padding-left: 20px; padding-right: 20px; }
  .brand-path h2 { font-size: 28px; }
  .brand-path .button { font-size: 11px; padding-left: 16px; padding-right: 16px; }
  .step-list li { font-size: 8px; }
}
.direct-inquiry { text-align: center; font-size: 13px; margin: 24px 0 0; }
.direct-inquiry>span { display: block; color: var(--muted); }
.preparation-list { display: grid; gap: 12px; }
.preparation-item { display: flex; align-items: flex-start; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.preparation-item:has(input:checked) { background: var(--sky); }
.preparation-item input { width: 20px; height: 20px; flex-shrink: 0; margin-top: 3px; accent-color: var(--ink); }
.preparation-item strong { display: block; font-size: 14px; font-weight: 500; }
.preparation-item span>span { display: block; font-size: 12px; color: var(--muted); margin-top: 5px; }
.button:disabled { opacity: 1; background: var(--line); color: var(--ink); cursor: not-allowed; box-shadow: none; transform: none; }
.connection-note { padding: 15px; border-left: 3px solid var(--clay); background: var(--peach); font-size: 13px; }
.phase-state { font-size: 12px; font-weight: 500; padding: 6px 0; }
@media(max-width:720px) {
  .phase-state { color: var(--clay); }
  .direct-inquiry .text-button { font-size: 12px; }
}
.resource-entry { max-width: 1104px; margin: 0 auto; padding: 42px 0; display: flex; align-items: center; justify-content: space-between; gap: 38px; border-bottom: 1px solid var(--line); }
.resource-entry h2 { font-size: 35px; margin: 12px 0 16px; }
.resource-entry p:not(.eyebrow) { max-width: 620px; font-size: 14px; color: var(--muted); }
.resource-entry .button { flex-shrink: 0; }
.resource-entry>div { min-width: 0; }
.resource-entry .button { max-width: 100%; }
@media(max-width:950px) {
  .resource-entry { flex-direction: column; align-items: flex-start; gap: 22px; }
}
.resources-section { max-width: 1104px; padding: 24px 32px 64px; margin: auto; }
.resource-nav { display: flex; align-items: stretch; gap: 0; border-bottom: 1px solid var(--line); margin: 32px 0 40px; }
.resource-nav-item { padding: 14px 18px; min-height: 44px; border: 0; background: transparent; border-bottom: 3px solid transparent; color: var(--link); font-size: 13px; font-weight: 700; text-align: left; text-decoration: underline 1px var(--link-underline); text-underline-offset: 5px; }
.resource-nav-item[aria-current] { border-bottom-color: var(--ink); background: var(--sky); }
.resource-article { max-width: 760px; margin: auto; }
.resource-print-label,.resource-print-all { display: none; }
.resource-article h1 { font-size: clamp(35px,4.4vw,54px); margin: 16px 0 22px; }
.resource-introduction { font-size: 16px; color: var(--muted); line-height: 1.8; }
.resource-steps { padding-left: 24px; margin: 28px 0; }
.resource-steps li { padding-left: 10px; margin: 26px 0; }
.resource-steps h2 { font-size: 25px; margin-bottom: 9px; }
.resource-steps p { font-size: 15px; }
.resource-prompt { padding: 22px 26px; background: var(--peach); border-left: 3px solid var(--clay); margin-top: 25px; }
.resource-prompt h2 { font-size: 24px; margin-bottom: 12px; }
.resource-prompt p { font-size: 15px; }
.resource-prompt .resource-prompt-label { font-size: 11px; color: var(--clay); margin-top: 12px; }
.resource-takeaway { margin-top: 25px; font-size: 15px; }
.resource-boundary { border-top: 1px solid var(--line); padding-top: 22px; margin-top: 24px; color: var(--muted); font-size: 13px; }
.resource-source { margin-top: 24px; color: var(--muted); font-size: 11px; }
.resource-source p+p { margin-top: 6px; }
.resource-actions { display: flex; flex-wrap: wrap; gap: 14px; max-width: 760px; margin: 30px auto 15px; }
.resource-screen-note { max-width: 760px; margin: auto; color: var(--muted); font-size: 12px; }
.result-resource { margin: 25px 0; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.result-resource h2 { font-size: 27px; margin: 10px 0; }
.result-resource>p:not(.eyebrow) { font-size: 13px; }
@media(max-width:720px) {
  .resource-entry { margin: 0 24px; flex-direction: column; align-items: flex-start; gap: 22px; padding: 30px 0; }
  .resource-entry h2 { font-size: 30px; }
  .resources-section { padding: 18px 24px 40px; }
  .resource-nav { display: grid; grid-template-columns: 1fr; margin: 24px 0 30px; }
  .resource-nav-item { border-bottom: 1px solid var(--line); border-left: 3px solid transparent; padding: 13px 16px; }
  .resource-nav-item[aria-current] { border-bottom-color: var(--line); border-left-color: var(--ink); }
  .resource-introduction { font-size: 14px; }
  .resource-steps { padding-left: 20px; }
  .resource-steps li { padding-left: 5px; }
  .resource-steps p { font-size: 14px; }
  .resource-prompt { padding: 20px; }
}
.home-topic-links { max-width: 1104px; margin: 26px auto 0; }
.home-topic-links nav,.entry-topics { display: flex; flex-wrap: wrap; gap: 12px; margin: 14px 0; }
.home-topic-links nav a,.entry-topics a { border: 1px solid var(--link-underline); border-radius: 24px; padding: 12px 18px; min-height: 44px; font-size: 13px; font-weight: 700; color: var(--link); text-decoration: underline 1px var(--link-underline); text-underline-offset: 5px; }
.home-topic-links nav a:hover,.entry-topics a:hover,.entry-topics a[aria-current] { background: var(--sky); border-color: var(--ink); }
.guide-entry .wordmark { color: var(--ink); text-decoration: none; }
.entry-topics { margin: 0 0 40px; }
.entry-next { max-width: 760px; margin: 36px auto 20px; padding: 28px; border-radius: 16px; background: var(--sky); }
.entry-next h2 { font-size: 35px; margin: 14px 0 18px; }
.entry-next>p:not(.eyebrow) { font-size: 14px; }
.entry-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.entry-actions a { text-decoration: none; }
.entry-next>.text-button { display: inline-block; margin-top: 18px; }
.entry-privacy { max-width: 760px; margin: 24px auto 0; font-size: 12px; color: var(--muted); }
@media(max-width:720px) {
  .home-topic-links { margin: 26px 24px 0; }
  .home-topic-links nav,.entry-topics { align-items: flex-start; flex-direction: column; }
  .home-topic-links nav a,.entry-topics a { max-width: 100%; }
  .entry-next { padding: 20px; }
  .entry-next h2 { font-size: 30px; }
  .entry-actions a { width: 100%; }
  .guide-entry .site-header { padding: 22px 24px; }
}
/* One content lane at every width, including split panes just above 720px.
   Keep this after the section-specific/mobile margins so none loses its gutter. */
.promise-strip,.resource-entry,.home-topic-links,.mission-section {
  width: min(1104px, calc(100% - var(--page-gutter) - var(--page-gutter)));
  margin-inline: auto;
}
@media(max-width:720px) {
  :root { --page-gutter: 24px; }
}
.conversation-plan>h2 { margin-bottom: 20px; }
.conversation-context { font-size: 15px; color: var(--muted); }
.conversation-notice { background: var(--peach); border-left: 3px solid var(--clay); padding: 16px; font-size: 13px; margin: 18px 0; }
.conversation-instruction { font-size: 13px; color: var(--muted); margin: 22px 0; }
.conversation-cards { list-style: none; margin: 0; padding: 0; }
.conversation-step { border: 1px solid var(--line); border-radius: 16px; padding: 24px; margin: 22px 0; }
.conversation-step h3 { font-family: var(--serif); font-size: 27px; font-weight: 400; line-height: 1.2; margin: 12px 0 14px; }
.conversation-step>p:not(.eyebrow) { font-size: 14px; }
.conversation-question { border-radius: 12px; padding: 18px; background: var(--sky); margin: 20px 0; }
.conversation-question>p:last-child { font-size: 15px; margin-top: 10px; }
.conversation-step>.conversation-limit { font-size: 12px !important; color: var(--muted); }
.conversation-step>.text-button { font-size: 13px; margin-top: 14px; text-align: left; }
.conversation-check { display: flex; gap: 12px; align-items: flex-start; border-top: 1px solid var(--line); padding-top: 18px; margin-top: 18px; cursor: pointer; font-size: 13px; }
.conversation-check input { width: 20px; height: 20px; flex-shrink: 0; accent-color: var(--ink); margin: 1px 0 0; }
@media(max-width:720px) {
  .conversation-step { padding: 18px; }
  .conversation-step h3 { font-size: 24px; }
  .conversation-context,.conversation-question>p:last-child { font-size: 14px; }
}
@media(max-width:720px) {
}
@page { size: letter; margin: 16mm; }
@media print {
  .resource-entry,.resource-nav,.resource-actions,.resource-screen-note,.result-resource { display: none !important; }
  .resources-section { max-width: none; padding: 0; }
  .resource-article { max-width: none; margin: 0; color: #111; font: 10.5pt/1.36 Arial,sans-serif; }
  .resource-print-label { display: block; font: 8pt/1.3 Arial,sans-serif; letter-spacing: .04em; padding-bottom: 9pt; border-bottom: .5pt solid #777; margin-bottom: 12pt; }
  .resource-article>.eyebrow { display: none; }
  .resource-article>h1,.resource-article>h2 { font: normal 23pt/1.12 Georgia,serif; margin: 0 0 12pt; }
  .resource-introduction { font: inherit; color: #111; }
  .resource-steps { padding-left: 17pt; margin: 15pt 0; }
  .resource-steps li { padding-left: 4pt; margin: 12pt 0; break-inside: avoid; }
  .resource-steps h2,.resource-steps h3,.resource-prompt h2,.resource-prompt h3 { font: bold 11pt/1.25 Arial,sans-serif; letter-spacing: 0; margin: 0 0 5pt; }
  .resource-steps p,.resource-prompt p,.resource-takeaway { font: inherit; }
  .resource-prompt { background: none; border-left: 1.5pt solid #555; padding: 8pt 12pt; margin: 14pt 0; break-inside: avoid; }
  .resource-prompt .resource-prompt-label { font: 8pt/1.3 Arial,sans-serif; color: #333; margin-top: 6pt; }
  .resource-takeaway { margin-top: 10pt; }
  .resource-boundary { font: 9pt/1.35 Arial,sans-serif; color: #222; padding-top: 9pt; margin-top: 12pt; break-inside: avoid; }
  .resource-boundary p+p { margin-top: 6pt; }
  .resource-source { font: 8pt/1.3 Arial,sans-serif; color: #333; margin-top: 12pt; break-inside: avoid; }
  .resource-source p+p { margin-top: 3pt; }
  html[data-print-scope="all-resources"] .resource-current { display: none; }
  html[data-print-scope="all-resources"] .resource-print-all { display: block; }
  .print-guide { break-after: page; }
  .print-guide:last-child { break-after: auto; }.preparation-item{ break-inside: avoid; }
  .connection-note { background: none; border-left-color: #555; }
  .conversation-card { background: #f3f3f3; color: #111; }
  .conversation-card .eyebrow,.conversation-card p:last-child { color: #333; }
  .result-tags>span { background: none; }
}


/* Public navigation and guide containment. These styles load only on planner pages. */
.site-header .wordmark{text-decoration:none;color:var(--ink)}
.site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 24px}
.site-header nav>*{max-width:100%}
.resource-nav>*{min-width:0;overflow-wrap:anywhere}
.site-footer{display:block}.site-footer .footer-small{text-align:left;max-width:880px;font-size:13px}
.site-footer .footer-controls{flex-direction:row;flex-wrap:wrap;gap:8px 24px;margin-top:18px}
@media(max-width:520px){.site-header{flex-direction:column;align-items:flex-start;gap:12px}.site-header nav{justify-content:flex-start;gap:8px 24px}}
@media print{.resource-nav,.resource-actions,[data-action]{display:none!important}}

/* Optional routes remain visible without completing or submitting the planner. */
.planner-site-routes,.planner-local-nav,.planner-session-note{width:min(1104px,calc(100% - var(--page-gutter) - var(--page-gutter)));margin-inline:auto}
.planner-site-routes{padding:4px 0 18px;border-bottom:1px solid var(--line)}
.planner-site-routes>nav,.planner-local-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px}
.planner-site-routes>p{font-size:12px;max-width:850px;margin-top:8px}
.planner-site-routes .text-button,.planner-local-nav .text-button{white-space:normal;max-width:100%;font-size:13px}
.planner-local-nav{padding:16px 0 8px}
.planner-other-pages{position:relative}
.planner-other-pages summary{display:flex;align-items:center;min-height:44px;cursor:pointer;color:var(--link);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--link-underline)}
.planner-other-pages>nav{position:absolute;right:0;top:100%;z-index:10;display:flex;flex-direction:column;align-items:stretch;gap:0;width:280px;max-width:calc(100vw - 48px);padding:12px 18px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 10px 24px #173e5014}
.planner-other-pages>nav a{padding:10px 4px}
.planner-session-note{padding:16px 0;font-size:13px;color:var(--muted);border-top:1px solid var(--line);margin-block:18px}
.planner-choice-note{max-width:710px;margin:16px auto 0;font-size:14px;color:var(--muted)}
.planner-top,.form-actions{flex-wrap:wrap}
.summary-card>.button{margin-top:12px}
.resource-actions>*{max-width:100%;white-space:normal}
@media(max-width:720px){.planner-site-routes>nav{position:relative;gap:0 20px}.planner-other-pages{position:static}.planner-other-pages>nav{left:0;right:auto;width:100%;max-width:100%}.planner-choice-note{font-size:13px}.planner-local-nav{gap:0 20px}.planner-top{gap:8px 16px}}
@media print{.planner-site-routes,.planner-local-nav,.planner-session-note{display:none!important}}
.planner-other-pages>nav{max-height:60vh;overflow-y:auto}
.planner-section,.results-section{padding-top:12px}
@media(max-width:520px){.site-header{flex-direction:row;flex-wrap:wrap;align-items:center}.site-header nav{gap:0}}
