:root {
  color-scheme: light;
  --ink: #111111;
  --soft-ink: #4d4547;
  --canvas: #ffffff;
  --rose: #fa2d48;
  --coral: #fc3c44;
  --link: #b41632;
  --wash: #fff5f6;
  --line: #e4dfe0;
  --display: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --text: 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --conversation: Charter, 'Iowan Old Style', Georgia, serif;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 24px; }
body { margin: 0; background: var(--canvas); color: var(--ink); font: 18px/1.6 var(--text); overflow-wrap: break-word; }
img { display: block; max-width: 100%; height: auto; }
figure, fieldset { margin: 0; }
button, input { font: inherit; }
a { color: var(--link); text-decoration-thickness: 1px; text-underline-offset: 4px; }
a, button { -webkit-tap-highlight-color: #ffd5dc; }
button { cursor: pointer; }
p { margin: 0 0 1.1rem; max-width: 66ch; }
h1, h2, h3 { font-family: var(--display); letter-spacing: -.035em; line-height: 1.13; margin: 0 0 1.1rem; }
h1 { font-size: clamp(42px, 9vw, 76px); font-weight: 700; }
h1 span { display: block; }
h2 { font-size: clamp(30px, 7vw, 46px); font-weight: 650; }
h3 { font-size: 25px; font-weight: 650; line-height: 1.22; }
li { margin-bottom: .7rem; }
ul { padding-left: 1.4rem; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--link); outline-offset: 5px; border-radius: 4px; }
[class$='-skip'] { position: absolute; top: 10px; left: 20px; z-index: 5; background: white; padding: 12px 18px; transform: translateY(-150%); }
[class$='-skip']:focus { transform: translateY(0); }
[class$='-header'] { border-bottom: 1px solid var(--line); background: rgba(255,255,255,.93); }
[class$='-masthead'] { max-width: 1280px; margin: auto; padding: 19px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
[class$='-home'] { min-height: 52px; display: flex; align-items: center; gap: 13px; font-size: 24px; line-height: 1.1; font-weight: 700; text-decoration: none; color: var(--ink); letter-spacing: -.04em; }
[class$='-masthead-note'] { display: block; font-size: 16px; font-weight: 400; letter-spacing: 0; margin-top: 6px; color: var(--soft-ink); }
[class$='-mark'] { display: block; width: 27px; height: 32px; border: 3px solid var(--rose); border-radius: 14px 14px 14px 2px; transform: rotate(-10deg); }
[class$='-location'] { font-size: 16px; color: var(--soft-ink); }
[class$='-topics'] { display: grid; grid-template-columns: 1fr; max-width: 1232px; margin: auto; padding: 0 16px 14px; gap: 5px; }
[class$='-topic'] { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 48px; padding: 10px 13px; border-radius: 12px; text-decoration: none; color: var(--ink); font-size: 16px; }
[class$='-topic-label'] { font-weight: 650; }
[class$='-topic-detail'] { color: var(--soft-ink); font-size: 16px; }
[class$='-topic'][aria-current] { background: var(--wash); box-shadow: inset 3px 0 var(--rose); }
[class$='-topic']:hover { background: #f5f3f4; }
[class$='-eyebrow'] { font-size: 16px; line-height: 1.4; font-weight: 650; color: var(--link); letter-spacing: .025em; margin-bottom: 21px; }
[class$='-lead'] { font-size: 21px; line-height: 1.5; }
[class$='-action'] { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 50px; padding: 13px 20px; margin: 5px 0; border: 0; border-radius: 28px; background: var(--rose); color: #000; font-size: 16px; font-weight: 650; text-decoration: none; }
[class$='-action']:hover { background: var(--coral); }
[class$='-action'] span { font-size: 23px; line-height: 1; }
[class$='-source-note'] { font-size: 16px; line-height: 1.55; border-top: 1px solid var(--line); padding-top: 24px; color: var(--soft-ink); margin-top: 32px; }
[class$='-source-note'] p { max-width: 72ch; margin-bottom: 8px; }
[class$='-source-links'] { display: flex; flex-wrap: wrap; gap: 4px 24px; }
[class$='-source-link'] { display: inline-flex; gap: 8px; align-items: center; min-height: 48px; padding: 10px 0; font-size: 16px; line-height: 1.4; }
[class$='-footer'] { margin-top: 70px; background: #f7f5f6; border-top: 1px solid var(--line); }
[class$='-footer-inner'] { max-width: 1232px; margin: auto; padding: 30px 24px; display: flex; flex-direction: column; gap: 6px; font-size: 16px; }
[class$='-footer-inner'] p { margin: 0; }
[class$='-footer-link'] { min-height: 48px; padding: 10px 0; display: inline-flex; align-items: center; gap: 16px; align-self: flex-start; font-size: 16px; }
[class$='-next'] { display: flex; flex-direction: column; gap: 8px; background: var(--wash); border-radius: 22px; padding: 27px; margin-top: 54px; color: var(--ink); text-decoration: none; min-height: 110px; }
[class$='-next'] > span { font-size: 16px; color: var(--soft-ink); }
[class$='-next'] strong { font-size: 23px; line-height: 1.4; }
[class$='-next']:hover { background: #ffe6eb; }

.primer-hero { max-width: 1232px; padding: 46px 24px 60px; margin: auto; display: grid; gap: 35px; }
.primer-hero h1 { margin-bottom: 26px; }
.primer-hero h1 > span { color: #786d70; }
.primer-hero-copy > p:not(.primer-eyebrow) { max-width: 44ch; }
.primer-art { position: relative; border-radius: 28px; overflow: hidden; background: var(--wash); }
.primer-art-caption { padding: 0 28px 28px; font-family: var(--conversation); font-size: 23px; line-height: 1.2; }
.primer-medicines { max-width: 1232px; margin: auto; padding: 0 24px 62px; scroll-margin-top: 24px; }
.primer-section-heading { max-width: 760px; margin-bottom: 34px; }
.primer-lanes { display: grid; gap: 30px; }
.primer-lane { border-top: 1px solid var(--line); padding: 27px 0 0; }
.primer-disc { display: block; width: 31px; height: 31px; border-radius: 50%; background: var(--rose); margin-bottom: 23px; }
.primer-disc-open { background: white; border: 4px solid var(--rose); }
.primer-disc-split { background: linear-gradient(90deg, var(--rose) 46%, white 46%, white 54%, var(--rose) 54%); }
.primer-conversation { background: #000; color: white; padding: 38px 24px; display: grid; gap: 34px; }
.primer-conversation .primer-eyebrow { color: #ff8fa0; }
.primer-conversation-aside { border-top: 1px solid #494145; padding-top: 32px; }
.primer-prompt { font: 24px/1.5 var(--conversation); }
.primer-prompt strong { font-weight: 400; font-size: 30px; }
.primer-dark-link { min-height: 48px; display: inline-flex; gap: 20px; align-items: center; color: #ff8fa0; padding: 10px 0; font-size: 16px; }

.questions-hero { background: #000; color: #fff; padding: 48px 24px; display: grid; gap: 36px; }
.questions-hero h1 { font-size: clamp(41px, 8vw, 66px); }
.questions-hero h1 > span { color: #ff8fa0; }
.questions-hero .questions-eyebrow { color: #ff8fa0; }
.questions-hero-link { color: #ff8fa0; display: inline-flex; gap: 20px; align-items: center; min-height: 48px; font-size: 16px; padding: 10px 0; }
.questions-art { border-radius: 24px; overflow: hidden; max-width: 360px; }
.questions-body { max-width: 1104px; margin: auto; padding: 52px 24px 0; }
.questions-visit, .questions-cost { margin-bottom: 70px; }
.questions-dialogue { display: grid; gap: 12px; padding: 27px 0; border-top: 1px solid var(--line); margin-top: 23px; }
.questions-dialogue h3 { font: 26px/1.35 var(--conversation); letter-spacing: -.02em; }
.questions-dialogue p:last-child { margin-bottom: 0; }
.questions-worksheet { display: grid; gap: 30px; background: var(--wash); border-radius: 28px; padding: 28px 22px; scroll-margin-top: 24px; }
.questions-worksheet h2 { font-size: 34px; }
.questions-worksheet-intro p { max-width: 42ch; }
.questions-privacy { font-size: 16px; color: var(--soft-ink); }
.questions-cost-group { padding: 0; border: 0; margin-bottom: 26px; min-width: 0; }
.questions-cost-group legend { font-size: 18px; font-weight: 650; margin-bottom: 13px; padding: 0; }
.questions-cost-field { margin-bottom: 17px; }
.questions-cost-field label { display: block; font-size: 16px; margin-bottom: 6px; }
.questions-cost-field input { width: 100%; min-height: 49px; padding: 8px 12px; border: 1px solid #8c797e; border-radius: 10px; color: #111; background: white; font-size: 18px; }
.questions-cost-field input[aria-invalid='true'] { border: 2px solid var(--link); }
#questions-input-hint { font-size: 16px; color: var(--soft-ink); }
.questions-worksheet-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.questions-clear { background: transparent; border: 1px solid #a78990; color: var(--ink); border-radius: 25px; min-height: 50px; padding: 12px 20px; font-size: 16px; }
.questions-result { border-top: 1px solid #cfb9bf; padding-top: 28px; }
.questions-result p { margin-bottom: 9px; }
.questions-result h3 { font-size: 25px; }
.questions-result-total { display: grid; gap: 8px; margin-bottom: 25px; }
.questions-result-total p { background: white; border-radius: 14px; padding: 18px; font-size: 16px; }
.questions-result-total strong { display: block; font-size: 30px; line-height: 1.4; color: #111; }
.questions-result-status { color: var(--link); font-weight: 650; }
.questions-result ul { max-width: 66ch; }

.sources-hero { max-width: 1232px; padding: 42px 24px 65px; margin: auto; display: grid; gap: 38px; }
.sources-hero-copy { order: -1; }
.sources-hero h1 { font-size: clamp(42px, 9vw, 70px); }
.sources-hero h1 span { color: #786d70; }
.sources-art { border-radius: 28px; overflow: hidden; }
.sources-body { max-width: 1104px; margin: auto; padding: 0 24px; }
.sources-licence, .sources-claims, .sources-concern { margin-bottom: 60px; }
.sources-checklist { margin: 28px 0 18px; max-width: 66ch; }
.sources-checklist li { padding-left: 7px; }
.sources-lookup { margin-bottom: 27px; }
.sources-lookup .sources-source-link { background: #000; border-radius: 25px; color: white; padding: 13px 20px; min-height: 50px; }
.sources-dialogue { display: grid; gap: 13px; border-top: 1px solid var(--line); padding: 28px 0; margin-top: 18px; }
.sources-dialogue h3 { font: 26px/1.35 var(--conversation); letter-spacing: -.02em; }
.sources-dialogue p:last-child { margin-bottom: 0; }
.sources-help { background: #000; border-radius: 28px; color: #fff; padding: 30px 24px; margin: 10px 0 65px; display: grid; gap: 26px; }
.sources-help .sources-eyebrow { color: #ff8fa0; }
.sources-help h2 { font-size: 34px; }
.sources-urgent { font-weight: 650; font-size: 24px; line-height: 1.4; }
.sources-help-note { border-top: 1px solid #64575b; padding-top: 24px; font-size: 16px; }
.sources-help-note a { color: #ff8fa0; }
.missing-empty { max-width: 900px; padding: 80px 24px; margin: auto; min-height: 53vh; }
.missing-empty h1 { font-size: clamp(42px, 8vw, 64px); }

@supports (backdrop-filter: blur(16px)) { [class$='-header'] { backdrop-filter: blur(16px); } }
@media (min-width: 600px) {
  [class$='-topics'] { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; padding: 0 24px 16px; }
  [class$='-topic'] { flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px 15px; min-height: 77px; }
  [class$='-topic'][aria-current] { box-shadow: inset 0 -3px var(--rose); }
  .questions-cost-field { display: grid; grid-template-columns: 1fr 145px; align-items: center; gap: 20px; }
  .questions-cost-field label { margin: 0; }
}
@media (min-width: 900px) {
  [class$='-masthead'] { padding: 24px 48px; }
  [class$='-footer-inner'] { flex-direction: row; align-items: center; justify-content: space-between; gap: 48px; padding: 30px 24px; }
  .primer-hero { grid-template-columns: 1.1fr 1fr; align-items: center; gap: 58px; padding-top: 64px; padding-bottom: 94px; }
  .primer-lanes { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; }
  .primer-lane p { font-size: 18px; }
  .primer-conversation { grid-template-columns: 1.2fr 1fr; gap: 80px; padding: 65px max(24px, calc((100vw - 1184px) / 2)); }
  .primer-conversation-aside { border-top: 0; border-left: 1px solid #494145; padding: 4px 0 0 50px; align-self: center; }
  .questions-hero { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); align-items: center; gap: 82px; padding: 62px max(24px, calc((100vw - 1056px) / 2)); }
  .questions-art { max-width: 100%; }
  .questions-body { padding-top: 76px; }
  .questions-dialogue, .sources-dialogue { grid-template-columns: minmax(0, .75fr) minmax(0,1.5fr); gap: 50px; }
  .questions-worksheet { grid-template-columns: 1fr 1.1fr; gap: 45px; padding: 45px; }
  .questions-worksheet-intro h2 { font-size: 39px; }
  .questions-cost-field { grid-template-columns: 1fr 120px; }
  .questions-result { grid-column: 1 / -1; }
  .questions-result-total { grid-template-columns: 1fr 1fr; gap: 20px; }
  .sources-hero { grid-template-columns: 1fr 1.1fr; gap: 65px; align-items: center; padding-top: 60px; padding-bottom: 85px; }
  .sources-hero-copy { order: 0; }
  .sources-help { grid-template-columns: 1.5fr 1fr; gap: 44px; padding: 42px; }
  .sources-help-note { border-top: 0; border-left: 1px solid #64575b; padding: 2px 0 0 34px; align-self: center; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
@media print {
  [class$='-header'], [class$='-footer'], [class$='-skip'], [class$='-art'], [class$='-next'], .questions-worksheet-actions { display: none !important; }
  body { font-size: 16px; }
  .questions-hero { background: white; color: black; padding: 20px 0; }
  .questions-hero h1 span, .questions-hero .questions-eyebrow { color: black; }
  .questions-body { padding: 0; }
  .questions-worksheet { background: white; border: 1px solid #777; break-inside: avoid; }
  a { color: black; }
}
