/* Page-specific extensions of the approved homepage system. */
.p-main { min-height: 55vh; }
.p-main .button:not(.secondary) { background:var(--blue); border-color:var(--blue); }
.p-main .button:not(.secondary):hover { background:var(--blue-dark); border-color:var(--blue-dark); }
.p-crumbs { display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:12px; margin-bottom:22px; }
.p-crumbs a { color:var(--muted); text-decoration:none; min-height:24px; }
.p-crumbs a:hover { text-decoration:underline; }
.p-intro { background:#f8faf9; border-bottom:1px solid var(--line); padding:32px 0 38px; }
.p-intro h1 { margin-top:7px; max-width:800px; }
.p-intro .p-dek { max-width:700px; margin-top:15px; }
.p-dek { font-size:19px; line-height:1.6; color:var(--text); }
.p-intro-split { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:64px; align-items:center; }
.p-intro-note { border-left:2px solid var(--line-strong); padding-left:24px; }
.p-intro-note h2 { font-size:25px; }
.p-intro-note p { font-size:14px; margin:10px 0; }
.p-intro-note .text-link { margin-top:7px; }
.p-band { padding:44px 0; }
.p-band + .p-band { border-top:1px solid var(--line); }
.p-band.soft { background:var(--wash); }
.p-band-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:24px; }
.p-band-head .eyebrow { font-size:11px; color:#63746a; margin-bottom:8px; }
.p-band-head p { margin-top:8px; font-size:14px; }
.p-task-clusters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.p-cluster { border:1px solid var(--line); border-radius:7px; padding:24px; background:#fff; }
.p-cluster-head { display:flex; gap:13px; align-items:center; margin-bottom:15px; }
.p-cluster-head h3 { font:500 25px/1.2 Newsreader,Georgia,serif; letter-spacing:-.02em; }
.p-cluster-head .task-icon { width:38px; height:38px; }
.p-cluster p { font-size:14px; max-width:470px; }
.p-row-link { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid var(--line); text-decoration:none; font-size:14px; color:var(--ink); }
.p-row-link:last-child { border-bottom:0; padding-bottom:0; }
.p-row-link:hover { color:var(--blue); }
.p-feature-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:48px; }
.p-lead { padding-right:40px; border-right:1px solid var(--line); }
.p-lead h3 { font:500 32px/1.2 Newsreader,Georgia,serif; letter-spacing:-.025em; margin:12px 0; }
.p-lead > a:not(.text-link) { color:var(--ink); text-decoration:none; }
.p-lead p { font-size:15px; line-height:1.75; margin-bottom:15px; }
.p-lists { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.p-topic-card { border-top:2px solid var(--line-strong); padding-top:18px; }
.p-topic-card h3 { font:500 25px/1.2 Newsreader,Georgia,serif; margin:7px 0; }
.p-topic-card p { font-size:14px; margin:9px 0; }
.p-paths { display:flex; flex-wrap:wrap; gap:12px; }
.p-path { padding:13px 18px; border:1px solid var(--line); border-radius:6px; color:var(--ink); text-decoration:none; display:flex; gap:16px; align-items:center; background:#fff; font-size:14px; }
.p-path:hover { border-color:var(--blue); color:var(--blue); }
.p-reading { padding:32px 0 50px; }
.p-reading-grid { display:grid; grid-template-columns:minmax(0,744px) 244px; gap:64px; max-width:1052px; margin:0 auto; }
.p-article { min-width:0; }
.p-article-header h1 { max-width:744px; font-size:44px; line-height:1.12; }
.p-article-header .p-dek { margin-top:18px; }
.p-meta { display:flex; flex-wrap:wrap; gap:8px 20px; padding:15px 0; margin-top:20px; border-block:1px solid var(--line); font-size:13px; color:var(--muted); }
.p-meta a { color:#53665b; }
.p-prose { font-size:18px; line-height:1.72; }
.p-prose > p, .p-prose section > p { margin:18px 0; }
.p-prose h2 { font-size:31px; margin:44px 0 16px; line-height:1.25; }
.p-prose h3 { font:500 24px/1.3 Newsreader,Georgia,serif; margin:28px 0 12px; }
.p-prose li { margin:8px 0; color:var(--text); }
.p-prose ul, .p-prose ol { padding-left:24px; }
.p-prose section { scroll-margin-top:28px; }
.p-callout { background:#f1f4f2; border:1px solid var(--line); border-left:3px solid #889f90; padding:21px 24px; border-radius:5px; margin:26px 0; }
.p-callout strong { font-size:14px; font-weight:600; }
.p-callout p { margin-top:7px; font-size:16px; line-height:1.65; }
.p-callout.example { background:#f8faf9; border-left-color:var(--blue); }
.p-callout.watch { background:#faf7f5; border-left-color:#b99678; }
.p-rail { min-width:0; }
.p-toc { position:sticky; top:28px; padding:18px 0 18px 22px; border-left:1px solid var(--line); }
.p-toc h2 { font:600 12px/1.5 'Public Sans',Arial,sans-serif; letter-spacing:.04em; margin-bottom:12px; }
.p-toc a { display:block; padding:8px 0; color:var(--muted); text-decoration:none; font-size:13px; line-height:1.5; }
.p-toc a[aria-current="location"], .p-toc a:hover { color:var(--blue); }
.p-rail-resource { border-top:1px solid var(--line); margin-top:20px; padding-top:18px; }
.p-rail-resource p { font-size:12px; line-height:1.6; margin:6px 0; }
.p-rail-resource .text-link { color:var(--blue); font-size:12px; }
.p-toc .text-link { display:inline-flex; }
.p-mobile-toc { display:none; }
.p-inline-resource { margin:32px 0; }
.p-inline-resource .resource-card { display:grid; grid-template-columns:200px minmax(0,1fr); }
.p-inline-resource .preview-surface { height:100%; min-height:240px; padding:26px 22px 0; border-bottom:0; border-right:1px solid var(--line); }
.p-inline-resource .document { padding:14px 12px; }
.p-inline-resource .document strong { font-size:12px; }
.p-inline-resource .document-top { font-size:7px; }
.p-inline-resource .resource-copy { padding:23px; }
.p-inline-resource .resource-copy p { min-height:0; margin:6px 0; }
.p-inline-resource .resource-copy h3 { font-size:25px; margin:8px 0; }
.p-inline-resource .resource-actions { gap:10px; }
.p-reading-bottom { max-width:1052px; margin:32px auto 0; }
.p-author { max-width:744px; display:flex; gap:20px; padding:24px 0; border-block:1px solid var(--line); }
.p-author-mark { width:48px; height:48px; display:grid; place-items:center; flex-shrink:0; border:1px solid var(--line); border-radius:50%; background:var(--wash); }
.p-author h2 { font:600 14px/1.5 'Public Sans',Arial,sans-serif; }
.p-author p { font-size:13px; margin:6px 0; max-width:600px; }
.p-author a { font-size:13px; }
.p-source-note { font-size:14px; border-top:1px solid var(--line); margin-top:40px; padding-top:10px; }
.p-prose .p-source-note h2 { font:600 15px/1.5 'Public Sans',Arial,sans-serif; margin-top:16px; }
.p-source-note p { font-size:14px; line-height:1.7; }
.p-table-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:6px; margin:22px 0; }
.p-table-scroll table { border-collapse:collapse; min-width:680px; width:100%; font-size:14px; line-height:1.6; }
.p-table-scroll th,.p-table-scroll td { text-align:left; vertical-align:top; padding:14px 16px; border-bottom:1px solid var(--line); }
.p-table-scroll th { background:var(--wash); font-weight:600; }
.p-table-scroll tbody tr:last-child td { border-bottom:0; }
.p-small { font-size:13px !important; color:var(--muted); }
.p-step { border-top:1px solid var(--line); margin-top:34px; padding-top:6px; }
.p-step-title { display:flex; align-items:center; gap:12px; }
.p-step-title b { width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font:500 13px 'Public Sans',Arial,sans-serif; background:var(--wash); flex-shrink:0; }
.p-check-status { display:block; font-size:13px; color:var(--muted); padding-bottom:8px; }
.p-resource-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,460px); gap:64px; align-items:center; }
.p-resource-hero h1 { margin:9px 0 15px; }
.p-resource-hero .p-dek { margin-bottom:18px; }
.p-file-meta { display:flex; flex-wrap:wrap; gap:9px 22px; font-size:13px; color:var(--muted); margin:18px 0; }
.p-resource-hero .p-small { margin-top:10px; }
.p-document-canvas { padding:35px 46px 0; height:330px; overflow:hidden; border:1px solid var(--line); border-radius:7px; background:#e9eeeb; }
.p-document-canvas .document { max-width:none; min-height:330px; padding:25px; transform:rotate(-3deg); border-top:2px solid var(--blue); box-shadow:0 8px 18px #0000010e; }
.p-document-canvas .document strong { font-size:20px; }
.p-document-canvas .document-top, .p-document-canvas .doc-meta { font-size:11px; }
.p-document-canvas .doc-row { font-size:12px; padding-top:13px; }
.p-resource-body { display:grid; grid-template-columns:minmax(0,744px) 280px; gap:64px; }
.p-side-note { background:var(--wash); padding:24px; border:1px solid var(--line); border-radius:6px; align-self:start; }
.p-side-note h2 { font-size:26px; margin:0 0 12px; }
.p-side-note p { font-size:14px; margin-bottom:12px; }
.p-file-text { white-space:pre-wrap; overflow-wrap:anywhere; font:14px/1.8 'Public Sans',Arial,sans-serif; background:var(--wash); border:1px solid var(--line); padding:24px; border-radius:6px; color:var(--text); }
.p-file-contents summary { display:flex; align-items:center; gap:10px; padding:15px 0; min-height:44px; font-size:15px; color:var(--blue); }
.p-search-form { margin:26px 0 0; max-width:900px; }
.p-search-form label { display:block; font-size:13px; font-weight:600; margin-bottom:8px; }
.p-filter-row { display:flex; gap:14px; align-items:end; margin-top:16px; flex-wrap:wrap; }
.p-filter-row label { color:var(--muted); font-weight:400; }
.p-filter-row select { min-height:44px; border:1px solid var(--line-strong); border-radius:4px; padding:8px 34px 8px 12px; background:#fff; color:var(--ink); font:14px 'Public Sans',Arial,sans-serif; }
.p-filter-row .button { font-size:13px; }
.p-results-head { display:flex; gap:20px; justify-content:space-between; align-items:center; margin-bottom:22px; font-size:13px; color:var(--muted); }
.p-empty { padding:34px; border:1px solid var(--line); border-radius:7px; background:#fff; max-width:760px; }
.p-empty h2 { font-size:29px; margin-bottom:12px; }
.p-empty p { font-size:16px; max-width:560px; margin:12px 0 20px; }
.p-search-results { max-width:820px; }
.p-result { display:block; text-decoration:none; color:var(--ink); border-bottom:1px solid var(--line); padding:24px 0; }
.p-result:first-child { padding-top:0; }
.p-result h2 { font-size:28px; margin:7px 0 9px; }
.p-result p { font-size:15px; line-height:1.7; }
.p-result:hover h2 { color:var(--blue); }
.p-policy-layout { display:grid; grid-template-columns:230px minmax(0,744px); gap:64px; }
.p-policy-nav { align-self:start; border-left:1px solid var(--line); padding-left:20px; }
.p-policy-nav a { display:block; font-size:13px; color:var(--muted); text-decoration:none; padding:9px 0; }
.p-policy-nav a[aria-current="page"] { color:var(--blue); }
.p-policy-layout h1 { margin-bottom:20px; }
.p-policy-layout .p-dek { margin-bottom:24px; }
.p-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.p-gallery-card { display:flex; flex-direction:column; padding:25px; background:#fff; border:1px solid var(--line); border-radius:7px; color:var(--ink); text-decoration:none; }
.p-gallery-card span { color:var(--muted); font-size:12px; }
.p-gallery-card h2 { font-size:27px; margin:15px 0 10px; }
.p-gallery-card p { font-size:14px; line-height:1.7; }
.p-gallery-card .text-link { color:var(--blue); margin-top:auto; padding-top:18px; }
.p-gallery-card:hover { border-color:var(--line-strong); }
.p-profile { max-width:800px; padding-bottom:20px; }
.p-profile .p-author-mark { width:72px; height:72px; margin-bottom:20px; }
.p-slots { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:24px 0; }
.p-slot { border:1px solid var(--line); border-radius:6px; padding:20px; }
.p-slot h3 { font-size:22px; margin:0 0 10px; }
.p-slot p { font-size:14px; }
.p-pill { display:inline-block; border:1px solid var(--line); border-radius:20px; font-size:12px; padding:4px 11px; color:var(--muted); }
.p-main details > summary { cursor:pointer; }
@media(max-width:1100px) {
 .p-reading-grid { grid-template-columns:minmax(0,1fr) 220px; gap:40px; }
 .p-resource-body { grid-template-columns:minmax(0,1fr) 240px; gap:40px; }
 .p-intro-split { gap:40px; grid-template-columns:minmax(0,1fr) 280px; }
 .p-resource-hero { gap:40px; }
 .p-policy-layout { gap:40px; grid-template-columns:200px minmax(0,1fr); }
}
@media(max-width:800px) {
 .p-crumbs { font-size:11px; margin-bottom:18px; }
 .p-intro-split { grid-template-columns:1fr; gap:26px; }
 .p-intro-note { max-width:650px; }
 .p-reading-grid { display:block; }
 .p-rail { display:none; }
 .p-mobile-toc { display:block; border-block:1px solid var(--line); margin:22px 0; padding:12px 0; }
 .p-mobile-toc summary { font-size:14px; font-weight:600; display:flex; justify-content:space-between; align-items:center; min-height:24px; }
 .p-mobile-toc nav { display:grid; padding:12px 0 0; }
 .p-mobile-toc a { font-size:14px; color:var(--text); min-height:44px; padding-block:10px; text-decoration:none; }
 .p-mobile-toc[open] summary svg { transform:rotate(180deg); }
 .p-article-header h1 { font-size:40px; }
 .p-resource-hero { grid-template-columns:1fr 300px; gap:25px; }
 .p-resource-hero h1 { font-size:38px; }
 .p-document-canvas { padding:30px 25px 0; height:300px; }
 .p-resource-body { grid-template-columns:1fr; gap:28px; }
 .p-side-note { max-width:744px; }
 .p-gallery { grid-template-columns:1fr 1fr; }
 .p-policy-layout { grid-template-columns:1fr; gap:30px; }
 .p-policy-nav { display:flex; gap:6px 18px; flex-wrap:wrap; padding:0 0 20px; border-left:0; border-bottom:1px solid var(--line); }
 .p-policy-nav a { min-height:36px; padding-block:7px; }
}
@media(max-width:580px) {
 .p-intro { padding:24px 0 29px; }
 .p-intro h1 { font-size:36px; }
 .p-dek { font-size:17px; line-height:1.6; }
 .p-band { padding:32px 0; }
 .p-band-head { display:block; margin-bottom:20px; }
 .p-band-head .text-link { margin-top:10px; }
 .p-task-clusters,.p-feature-grid,.p-lists,.p-gallery,.p-slots { grid-template-columns:1fr; gap:18px; }
 .p-cluster { padding:21px; }
 .p-cluster-head h3 { font-size:25px; }
 .p-lead { border-right:0; padding:0 0 22px; border-bottom:1px solid var(--line); }
 .p-lead h3 { font-size:29px; }
 .p-topic-card + .p-topic-card { margin-top:8px; }
 .p-reading { padding-top:23px; }
 .p-article-header h1 { font-size:36px; }
 .p-article-header .p-dek { font-size:18px; margin-top:16px; }
 .p-meta { font-size:12px; gap:7px 15px; margin-top:18px; }
 .p-prose { font-size:17px; line-height:1.7; }
 .p-prose h2 { font-size:28px; margin-top:35px; }
 .p-prose h3 { font-size:23px; }
 .p-callout { padding:18px; margin:22px 0; }
 .p-callout p { font-size:15px; }
 .p-inline-resource .resource-card { grid-template-columns:1fr; }
 .p-inline-resource .preview-surface { min-height:0; height:170px; padding:25px 50px 0; border-right:0; border-bottom:1px solid var(--line); }
 .p-inline-resource .resource-copy { padding:21px; }
 .p-inline-resource .resource-copy h3 { font-size:27px; }
 .p-author { gap:14px; }
 .p-author-mark { width:38px; height:38px; }
 .p-resource-hero { grid-template-columns:1fr; gap:26px; }
 .p-resource-hero h1 { font-size:36px; }
 .p-document-canvas { height:275px; padding:28px 40px 0; }
 .p-document-canvas .document { padding:19px; }
 .p-document-canvas .document strong { font-size:18px; }
 .p-document-canvas .document-top,.p-document-canvas .doc-meta { font-size:9px; }
 .p-document-canvas .doc-row { font-size:10px; }
 .p-search-form { margin-top:22px; }
 .p-filter-row { gap:12px; }
 .p-filter-row > div { flex:1; }
 .p-filter-row select { width:100%; }
 .p-results-head { align-items:start; font-size:12px; }
 .p-empty { padding:23px; }
 .p-empty h2 { font-size:27px; }
 .p-result h2 { font-size:27px; }
 .p-gallery-card { padding:22px; }
 .p-source-note p { font-size:13px; }
 .p-table-scroll table { font-size:13px; }
}
@media print {
 .p-rail,.p-mobile-toc,.p-policy-nav { display:none; }
 .p-reading-grid { display:block; }
 .p-table-scroll { overflow:visible; }
 .p-main { color:#000; }
}
