/* Shared editorial treatments for the home, project, dataset and policy pages. */
.home-section-title { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:26px; }
.home-section-title h2 { margin:0; font-size:clamp(1.8rem,3vw,2.5rem); font-weight:500; letter-spacing:-.045em; }
.home-section-title .eyebrow { margin-bottom:12px; }
.home-section-title > p { max-width:380px; color:var(--ink-soft); font-size:.9rem; margin:0; }
.home-section-title em, .home-tools h2 em { font-family:Georgia,serif; color:#31598c; font-weight:400; }
.home-paths { padding:34px 0 54px; border-top:1px solid var(--line); }
.home-path-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.home-path-card { display:flex; flex-direction:column; align-items:start; color:var(--ink); padding:25px 22px; border:1px solid #dce3ee; border-radius:10px; background:linear-gradient(145deg,#f8faff,#fff 75%); }
.home-path-card h3 { font-size:1.2rem; margin:21px 0 12px; }
.home-path-card p { font-size:.87rem; color:var(--ink-soft); margin-bottom:18px; }
.home-path-note { font-size:.72rem; line-height:1.7; color:#506079; margin-top:auto; margin-bottom:16px; }
.home-path-action { display:inline-block; color:#2d4c76; font-size:.8rem; font-weight:600; text-decoration:underline; text-decoration-color:#b8c6dc; text-underline-offset:5px; }
.home-path-card, .home-collection-card, .home-guide-card, .home-free-grid > a { transition:background-color .18s,border-color .18s,box-shadow .18s; }
.home-path-card:hover, .home-collection-card:hover, .home-guide-card:hover, .home-free-grid > a:hover { text-decoration:none; border-color:#a6bbd8; box-shadow:0 5px 18px #233b6010; }
.home-path-card:hover .discovery-mark, .home-collection-card:hover .discovery-mark { background:#e2ebfb; color:#234b82; }
.home-collections { padding:0 0 50px; }
.home-collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.home-collection-card { display:flex; align-items:start; gap:18px; padding:24px; border:1px solid #dce3ee; border-radius:10px; color:var(--ink); }
.home-collection-card h3 { font-size:1.2rem; margin:3px 0 10px; }
.home-collection-card p { color:var(--ink-soft); font-size:.85rem; margin-bottom:14px; }
.home-collections > .text-link { margin-top:12px; font-size:.85rem; }
.home-tools { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:46px; padding:38px 46px; margin-bottom:52px; border:1px solid #dce5f2; border-radius:12px; background:#f3f6fc; }
.home-tools-art { min-width:0; }
.home-tools-art img { display:block; width:100%; height:auto; mix-blend-mode:multiply; }
.home-tools h2 { font-size:clamp(1.9rem,3vw,2.5rem); line-height:1.15; font-weight:500; }
.home-tools-copy > p:not(.eyebrow) { font-size:.91rem; color:#4a5b72; max-width:540px; }
.home-tools .home-tool-links { display:flex; flex-wrap:wrap; justify-content:start; gap:8px 20px; margin:22px 0; font-size:.8rem; }
.home-tool-links a { color:#2d4c76; text-decoration:underline; text-decoration-color:#b8c6dc; }
.home-tools .btn { font-size:.85rem; }
.home-free-data { margin-bottom:56px; }
.home-free-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.home-free-grid > a { display:grid; grid-template-columns:26px minmax(0,1fr); gap:9px 14px; padding:20px 0; border-top:1px solid #cad5e5; color:var(--ink); }
.home-free-grid .site-icon { width:25px; height:25px; color:#4d6b97; }
.home-free-grid h3 { font-size:1.1rem; margin:2px 0 10px; }
.home-free-grid p { color:var(--ink-soft); font-size:.85rem; margin:0; }
.home-free-grid > a > span { grid-column:2; color:#496a54; font: .66rem/1.5 var(--mono); text-transform:uppercase; letter-spacing:.04em; }
.home-projects { padding:0 0 44px; }
.home-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.home-guide-card { display:flex; flex-direction:column; align-items:start; position:relative; padding:24px; border:1px solid #dce3ee; border-radius:10px; color:var(--ink); }
.project-sketch { display:block; width:150px; height:auto; color:#50647e; flex-shrink:0; }
.home-guide-card .project-sketch { width:140px; margin-bottom:20px; }
.home-guide-card .mono-label { position:absolute; right:24px; top:28px; color:#637590; font-size:.65rem; }
.home-guide-card h3 { font-size:1.25rem; margin:0 0 14px; }
.home-guide-card p { font-size:.87rem; color:var(--ink-soft); }
.home-guide-card .home-path-action { margin-top:auto; }
.home-resource-link { display:flex; align-items:center; gap:12px; font-size:.84rem; color:var(--ink-soft); margin:22px 0 0; }
.home-resource-link .site-icon { width:22px; height:22px; flex-shrink:0; color:#4d6b97; }
.home-access { border-top:1px solid #ccd8ea; padding:38px; background:#f7f9fd; border-radius:10px; gap:70px; }
.home-access h2 { font-size:2.4rem; }

/* Project illustrations help distinguish tasks before a visitor reads the card. */
.guide-hub-hero { padding-bottom:36px; }
.guide-grid-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:0 0 20px; }
.guide-grid-heading h2 { font-size:1.4rem; margin:0; }
.guide-grid-heading p { font-size:.85rem; color:var(--ink-soft); margin:0; }
.project-hub-grid { gap:22px; border-top:0; grid-template-columns:repeat(3,minmax(0,1fr)); }
.project-hub-card, .project-hub-card:nth-child(odd) { padding:25px; border:1px solid #dce3ee; border-radius:10px; background:linear-gradient(155deg,#f7f9fd,#fff 55%); }
.project-hub-card::before { content:none; }
.project-hub-card .project-sketch { width:155px; margin:0 0 22px; }
.project-hub-card h2 { font-size:1.45rem; margin:0 0 16px; line-height:1.2; }
.project-hub-card .project-audience { font-size:.72rem; gap:5px; margin-bottom:12px; }
.project-hub-card > p:not(.project-audience) { font-size:.88rem; }
.project-hub-card:hover, .project-hub-card:focus-visible { background:#f3f7fe; border-color:#a6bbd8; }
.project-hub-card:hover h2 { color:#193b69; }
.project-card-cta { color:#2d4c76; text-decoration-color:#b8c6dc; font-size:.82rem; }
.project-hub-start { margin-top:36px; padding:30px; border:1px solid #dce5f2; border-radius:10px; background:#f3f6fc; gap:50px; }
.project-hub-start h2 { font-size:2rem; }
.project-hub-start .eyebrow { margin-bottom:15px; }
.project-hub-start li:last-child { margin-bottom:0; }
.project-hub-bottom { margin-top:28px; }

/* Records are the main event; acquisition and provenance have their own space. */
.dataset-detail-header { position:relative; padding:32px 0 28px; }
.dataset-detail-header .breadcrumb { margin-bottom:28px; display:inline-block; font-size:.8rem; color:#50617a; text-decoration:underline; text-decoration-color:#c4cede; }
.dataset-detail-header .breadcrumb::before { content:none; }
.dataset-heading { display:flex; align-items:start; gap:20px; margin-bottom:18px; }
.dataset-heading .discovery-mark { margin-top:3px; width:54px; height:54px; border-radius:12px; }
.dataset-heading .site-icon { width:30px; height:30px; }
.dataset-heading h1 { font-size:clamp(2rem,3.6vw,2.85rem); max-width:900px; margin:0; line-height:1.13; font-weight:500; }
.dataset-heading .eyebrow { font-size:.66rem; margin:0 0 10px; color:#526d96; }
.dataset-detail-header .metadata { display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; font-size:.8rem; color:#4f6078; margin:0 0 18px 74px; }
.dataset-detail-header .lead { font-size:.96rem; max-width:850px; margin-left:74px; }
.dataset-detail-header .dataset-download-jump { display:inline-flex; margin-left:74px; font-size:.8rem; min-height:42px; padding:9px 16px; }
.dataset-workspace { display:grid; gap:30px; }
.dataset-workspace > * { min-width:0; }
.dataset-workspace .dataset-preview { border:1px solid #d7e0ed; border-radius:10px; overflow:hidden; }
.dataset-preview-heading { background:#f1f5fc; padding:22px 26px 8px; }
.dataset-preview-heading .eyebrow { color:#526d96; font-size:.64rem; }
.dataset-preview-heading h2 { margin:6px 0 0; font-size:1.55rem; font-weight:500; }
.dataset-preview > .muted { margin:0; background:#f1f5fc; padding:0 26px 20px; font-size:.8rem; border-bottom:1px solid #d7e0ed; }
.dataset-preview > p:not(.muted):not(.sample-links) { padding:16px 26px; }
.dataset-workspace .table-scroll { padding:0 26px; }
.dataset-workspace table.data { margin:8px 0 0; font-size:.85rem; }
.dataset-workspace table.data th { background:white; color:#52647d; font-size:.72rem; padding:13px 14px; }
.dataset-workspace table.data td { padding:11px 14px; border-color:#e6ebf3; }
.dataset-workspace table.data th.sortable::after { content:none; }
.dataset-workspace table.data th[aria-sort="ascending"], .dataset-workspace table.data th[aria-sort="descending"] { color:#193b69; box-shadow:inset 0 -2px #91a8ce; }
.dataset-workspace table.data tr:hover td { background:#f5f8fe; }
.dataset-preview .sample-links { display:flex; flex-wrap:wrap; gap:8px 20px; align-items:center; margin:0; padding:17px 26px; background:#fafbfd; border-top:1px solid #e3e9f2; font-size:.8rem; }
.dataset-preview .sample-links a { color:#2d4c76; font-weight:600; text-decoration:underline; text-decoration-color:#b8c6dc; }
.dataset-downloads { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); column-gap:56px; padding:30px; border:1px solid #d7e0ed; border-radius:10px; background:#f5f8fd; }
.dataset-downloads h2 { font-size:1.9rem; font-weight:500; }
.dataset-downloads .eyebrow { margin-bottom:14px; color:#526d96; }
.dataset-downloads ul { list-style:none; padding:0; color:#465a75; font-size:.85rem; margin:18px 0 22px; }
.dataset-downloads li { padding:5px 0 5px 16px; position:relative; }
.dataset-downloads li::before { content:""; position:absolute; left:0; top:15px; width:4px; height:4px; border-radius:50%; background:#87a0c3; }
.dataset-downloads .dataset-download-offer > .btn { width:auto; }
.dataset-downloads p.small { font-size:.78rem; }
.dataset-downloads .pass-entry { background:white; border:1px solid #d8e2f0; border-radius:8px; padding:22px; margin:0; align-self:start; }
.dataset-downloads .pass-entry summary { color:#233e65; font-size:.95rem; }
.dataset-downloads .pass-entry form { margin-top:12px; }
.dataset-downloads .pass-entry label { font-size:.8rem; }
.dataset-downloads .pass-entry p:last-child { margin-bottom:0; }
.dataset-download-notes { grid-column:1 / -1; border-top:1px solid #dce5f2; padding-top:20px; margin-top:12px; }
.dataset-download-notes > p.small { margin:0 0 10px; }
.dataset-workspace + .sources { border-top:0; margin-top:34px; padding:0 0 18px; max-width:850px; }
.dataset-workspace + .sources h2 { font-weight:500; font-size:1.5rem; }
.dataset-workspace + .sources .small { color:#58687d; font-size:.83rem; }
.dataset-project-guide { border:1px solid #dce5f2; border-radius:8px; background:#f5f8fd; padding:24px; }
.dataset-project-guide h2 { font-size:1.25rem; margin:0 0 12px; }

/* Policy copy is unchanged; the frame supplies a calm, consistent reading view. */
.policy-header { display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:center; gap:36px; padding:32px 0 22px; }
.policy-header h1 { font-size:clamp(2rem,4vw,3rem); font-weight:500; margin:0 0 18px; max-width:650px; }
.policy-header .eyebrow { margin-bottom:15px; color:#526d96; }
.policy-updated { font-size:.8rem; color:#61718a; margin:0; }
.policy-header img { display:block; width:100%; height:auto; }
.policy-nav { display:flex; flex-wrap:wrap; gap:8px 28px; border-top:1px solid #dce5f2; border-bottom:1px solid #dce5f2; background:#f5f8fd; padding:12px 20px; border-radius:6px; }
.policy-nav a { font-size:.8rem; padding:6px 0; color:#4e6380; }
.policy-nav a[aria-current="page"] { color:#193b69; font-weight:600; text-decoration:underline; text-decoration-color:#9eb3cf; text-underline-offset:6px; }
.policy-content { max-width:780px; margin:34px 0 0; font-size:.96rem; line-height:1.85; color:#344257; }
.policy-content h2 { color:var(--ink); font-size:1.45rem; font-weight:500; margin:34px 0 14px; }
.policy-content h3 { color:var(--ink); }

@media (max-width:1000px) {
    .home-path-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home-collection-card { padding:20px; gap:12px; flex-direction:column; }
    .home-tools { gap:28px; padding:28px; }
    .home-access { gap:36px; }
    .project-hub-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
    .home-section-title { display:block; }
    .home-section-title > p, .home-section-title > a { margin-top:16px; }
    .home-collection-grid, .home-free-grid, .home-guide-grid { grid-template-columns:1fr; gap:14px; }
    .home-collection-card { flex-direction:row; }
    .home-tools { grid-template-columns:1fr; gap:12px; padding:25px; }
    .home-tools-art { max-width:260px; justify-self:center; }
    .home-guide-card { padding-left:150px; min-height:210px; }
    .home-guide-card .project-sketch { position:absolute; left:16px; top:48px; width:118px; }
    .home-guide-card .mono-label { position:static; margin-bottom:12px; }
    .home-free-grid > a { padding:18px 0; }
    .home-access { padding:26px; grid-template-columns:1fr; }
    .home-access .access-price { border-left:0; border-top:1px solid var(--line); padding:24px 0 0; }
    .guide-grid-heading { display:block; }
    .guide-grid-heading p { margin-top:10px; }
    .project-hub-card, .project-hub-card:nth-child(odd) { padding:22px; }
    .project-hub-start { grid-template-columns:1fr; gap:20px; padding:26px; }
    .dataset-heading { gap:14px; }
    .dataset-heading .discovery-mark { width:42px; height:42px; }
    .dataset-heading .site-icon { width:24px; height:24px; }
    .dataset-detail-header .metadata, .dataset-detail-header .lead, .dataset-detail-header .dataset-download-jump { margin-left:0; }
    .dataset-downloads { grid-template-columns:1fr; gap:12px; padding:22px; }
    .dataset-download-notes { margin-top:8px; }
    .dataset-workspace .table-scroll { padding:0 14px; }
    .dataset-preview-heading, .dataset-preview > .muted, .dataset-preview .sample-links { padding-left:18px; padding-right:18px; }
    .policy-header { grid-template-columns:minmax(0,1fr) 160px; gap:20px; }
}
@media (max-width:560px) {
    .home-path-grid { gap:12px; }
    .home-path-card { padding:20px 16px; }
    .home-path-card h3 { font-size:1.1rem; }
    .home-path-card p { font-size:.8rem; }
    .home-path-note { font-size:.67rem; }
    .home-path-action { font-size:.76rem; }
    .home-guide-card { padding-left:24px; }
    .home-guide-card .project-sketch { position:static; width:130px; margin-bottom:16px; }
    .home-guide-card .mono-label { position:absolute; top:26px; right:24px; }
    .project-hub-grid { grid-template-columns:1fr; }
    .project-hub-card .project-sketch { width:140px; }
    .dataset-heading h1 { font-size:1.9rem; }
    .dataset-heading .discovery-mark { display:none; }
    .dataset-preview .sample-links { gap:8px 16px; }
    .dataset-preview .sample-links span { flex-basis:100%; }
    .policy-header { grid-template-columns:minmax(0,1fr) 100px; align-items:start; gap:12px; padding:30px 0; }
    .policy-header h1 { font-size:1.9rem; }
    .policy-header img { margin-top:8px; }
    .policy-nav { gap:4px 18px; padding:12px 16px; }
    .policy-content { font-size:.93rem; }
}
@media (prefers-reduced-motion:reduce) {
    .home-path-card, .home-collection-card, .home-guide-card, .home-free-grid > a { transition:none; }
}
