/* Shared public-page design, derived from the approved photography-led homepage.
   Scoped away from the homepage, header menus, admin and standalone PDF workspace. */
.pkp-public { --pkp-navy:#061c3b; --pkp-teal:#008080; --pkp-ink:#102b49; --pkp-muted:#53667b; --pkp-line:#dce4eb; color:var(--pkp-ink); background:#fff; }
.pkp-container { width:100%; max-width:1280px; margin-inline:auto; padding-inline:32px; }
.pkp-public .container-wide { max-width:1280px; }
.pkp-public .container-wide:not(.section-padding) { padding-inline:32px; }
.pkp-public .container-narrow { max-width:960px; }
.pkp-public .section-padding { padding:64px 0; }
.pkp-public .container-wide.section-padding { padding:64px 32px; }
.pkp-public .section-padding-sm { padding:40px 0; }
.pkp-public .heading-xl { font-size:clamp(32px,3.6vw,52px); line-height:1.15; font-weight:600; letter-spacing:-.025em; }
.pkp-public .heading-lg { font-size:clamp(30px,3.2vw,46px); line-height:1.18; font-weight:600; letter-spacing:-.02em; }
.pkp-public .heading-md { font-size:clamp(26px,2.6vw,34px); line-height:1.25; font-weight:600; }
.pkp-public .heading-sm { font-size:clamp(22px,2.1vw,28px); line-height:1.3; }
.pkp-public .body-lg { font-size:18px; line-height:1.75; font-weight:400; letter-spacing:0; }
.pkp-public .font-light { font-weight:400; }
.pkp-public .heading-lg.uppercase,.pkp-public .heading-sm.uppercase { text-transform:none; }
.pkp-public .space-y-32 > :not([hidden]) ~ :not([hidden]) { margin-top:48px; }
.pkp-public :is(.mb-24,.mb-20) { margin-bottom:40px; }
.pkp-public .py-28,.pkp-public .py-32 { padding-block:64px; }
.pkp-public .btn-hero { font-size:14px; line-height:1.4; letter-spacing:0; text-transform:none; min-height:48px; padding:13px 22px; }
.pkp-public h1,.pkp-public h2,.pkp-public h3 { overflow-wrap:break-word; }
.pkp-public :is(section,article,[id]) { scroll-margin-top:104px; }
.pkp-public :is(input,textarea,select) { font-size:16px; }
.pkp-public :is(.grid,.flex) > * { min-width:0; }
.pkp-breadcrumb-band { border-bottom:1px solid var(--pkp-line); background:#fff; }
.pkp-breadcrumb-band .pkp-container { padding-block:13px; }
.pkp-breadcrumb-band nav { font-size:12px; line-height:1.6; }
.pkp-breadcrumb-band nav > span { max-width:75ch; overflow-wrap:anywhere; }
.pkp-intro { position:relative; isolation:isolate; }
.pkp-intro-photo { color:#fff; background:var(--pkp-navy); overflow:hidden; }
.pkp-intro-grid { position:relative; }
.pkp-intro-copy { position:relative; z-index:2; padding-block:48px 52px; width:55%; }
.pkp-label { color:var(--pkp-teal); font-size:11px; letter-spacing:.13em; font-weight:650; line-height:1.5; text-transform:uppercase; margin:0 0 16px; }
.pkp-intro-photo .pkp-label,.pkp-section-navy .pkp-label { color:#91dbd5; }
.pkp-public .pkp-intro h1 { margin:0; max-width:24ch; color:inherit; font-family:'Playfair Display',Georgia,serif; font-size:clamp(34px,3.65vw,52px); line-height:1.16; letter-spacing:-.025em; font-weight:600; text-wrap:balance; }
.pkp-intro-description { margin-top:22px; max-width:530px; font-size:16px; line-height:1.8; color:#dbe5ee; }
.pkp-intro-description p { margin:0; }
.pkp-intro-media { position:absolute; inset:0 -6vw 0 48%; z-index:0; overflow:hidden; }
.pkp-intro-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.pkp-intro-blend { position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#061c3b 0%,rgba(6,28,59,.85) 9%,rgba(6,28,59,.16) 36%,transparent 65%); }
.pkp-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:28px; }
.pkp-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:13px 20px; font-size:14px; line-height:1.4; font-weight:600; text-decoration:none; border:1px solid transparent; transition:background-color 180ms,color 180ms,border-color 180ms; }
.pkp-button svg,.pkp-text-link svg { width:18px; height:18px; flex:none; transition:transform 180ms; }
.pkp-button-primary { color:#fff; background:#008080; border-color:#008080; }
.pkp-button-primary:hover { background:#006a6a; border-color:#006a6a; }
.pkp-button-secondary { color:#fff; background:transparent; border-color:#91a4b9; }
.pkp-button-secondary:hover { background:#fff; color:#061c3b; border-color:#fff; }
.pkp-intro-photo a:focus-visible,.pkp-section-navy a:focus-visible { outline:2px solid #fff; outline-offset:4px; box-shadow:none; }
.pkp-intro-tools { margin-top:26px; max-width:520px; }
.pkp-intro-tools :is(input,select) { background:#fff; border:1px solid #b9c8d4; color:#102b49; min-height:50px; }
.pkp-intro-tools input::placeholder { color:#596e80; opacity:1; }
.pkp-intro-tools svg { color:#526b80; }
.pkp-intro-compact { background:#f3f7f8; border-bottom:1px solid var(--pkp-line); }
.pkp-intro-compact .pkp-intro-copy { width:100%; max-width:940px; padding-block:36px 40px; }
.pkp-public .pkp-intro-compact h1 { font-size:clamp(30px,3.1vw,42px); max-width:36ch; }
.pkp-intro-compact .pkp-intro-description { color:#53667b; max-width:800px; margin-top:16px; }
.pkp-intro-compact .pkp-button-secondary { border-color:#9fb2c1; color:#102b49; }
.pkp-intro-compact .pkp-actions { margin-top:20px; }
.pkp-topic-band { background:#f5f8fa; border-bottom:1px solid var(--pkp-line); }
.pkp-topic-band ul { display:flex; gap:12px 24px; flex-wrap:wrap; padding-block:17px; }
.pkp-topic-band li { font-size:13px; line-height:1.6; color:#435c73; }
.pkp-topic-band li+li { padding-left:24px; border-left:1px solid #cbd8e2; }
.pkp-section { padding-block:64px; }
.pkp-section-tint { background:#f5f8fa; border-block:1px solid var(--pkp-line); }
.pkp-section-navy { background:#061c3b; color:#fff; }
.pkp-section h2 { font-family:'Playfair Display',Georgia,serif; font-size:clamp(28px,2.8vw,38px); font-weight:600; line-height:1.25; letter-spacing:-.02em; }
.pkp-section h3 { font-family:'Playfair Display',Georgia,serif; font-size:23px; line-height:1.35; font-weight:600; }
.pkp-section p { line-height:1.8; }
.pkp-split { display:grid; grid-template-columns:5fr 7fr; gap:64px; }
.pkp-prose p { color:var(--pkp-muted); margin-bottom:18px; }
.pkp-text-link { display:inline-flex; align-items:center; gap:10px; color:#007472; font-weight:600; font-size:14px; line-height:1.6; margin-top:8px; }
.pkp-text-link:hover svg,.pkp-support-item:hover .pkp-text-link svg { transform:translateX(3px); }
.pkp-facts-band { border-bottom:1px solid var(--pkp-line); }
.pkp-facts-band > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:26px; }
.pkp-facts-band p { padding-inline:24px; display:flex; flex-direction:column; gap:7px; }
.pkp-facts-band p:first-child { padding-left:0; }
.pkp-facts-band p+p { border-left:1px solid var(--pkp-line); }
.pkp-facts-band strong { font-size:17px; font-weight:600; }
.pkp-facts-band span { font-size:13px; color:#53667b; }
.pkp-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:36px; margin-bottom:32px; }
.pkp-section-heading > p { max-width:430px; color:var(--pkp-muted); font-size:15px; }
.pkp-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.pkp-support-item { display:flex; flex-direction:column; align-items:flex-start; padding:28px; border:1px solid var(--pkp-line); background:#fff; transition:border-color 180ms,background-color 180ms; }
.pkp-support-item:hover { border-color:var(--pkp-teal); background:#fbfdfd; }
.pkp-support-item > svg { width:27px; height:27px; color:#008080; margin-bottom:20px; stroke-width:1.5; }
.pkp-support-item p { margin:14px 0 18px; flex:1; color:var(--pkp-muted); font-size:15px; }
.pkp-support-note { color:var(--pkp-muted); font-size:14px; margin-top:24px; }
.pkp-support-note a,.pkp-photo-note a { text-decoration:underline; text-underline-offset:3px; color:#006f6c; }
.pkp-values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 40px; }
.pkp-values-grid > div { border-top:1px solid var(--pkp-line); padding-block:25px; }
.pkp-values-grid svg { color:#008080; width:25px; height:25px; margin-bottom:16px; stroke-width:1.5; }
.pkp-values-grid p { margin-top:12px; color:var(--pkp-muted); font-size:14px; }
.pkp-address { padding:32px; border:1px solid #516780; background:#0d294a; }
.pkp-address > svg { color:#91dbd5; width:28px; height:28px; margin-bottom:16px; }
.pkp-address p,.pkp-location-lead { margin-top:18px; color:#dbe5ee; }
.pkp-photo-note { font-size:12px; line-height:1.7; color:#64748b; padding-block:18px; }
.pkp-tool-body { padding-block:36px 60px; }
.pkp-public[data-page-family="tools"] .heading-md { font-size:28px; }
.pkp-reading-page > article { max-width:1060px; }
.pkp-reading-page article h1 { font-size:clamp(30px,3.1vw,44px); line-height:1.22; }
.pkp-article-copy { font-size:16px; line-height:1.85; }
.pkp-article-copy h2 { font-family:'Playfair Display',Georgia,serif; font-size:28px; line-height:1.3; }
.pkp-article-copy :is(p,li) { color:#455e74; }
.pkp-public[data-page-family="privacy"] h1,.pkp-public[data-page-family="terms"] h1,.pkp-public[data-page-family="cookies"] h1 { font-size:40px; }
.pkp-contact-grid { display:grid; grid-template-columns:5fr 7fr; gap:48px; align-items:start; }
.pkp-contact-details { padding:32px; background:#061c3b; color:#fff; }
.pkp-contact-details h2 { font-family:'Playfair Display',Georgia,serif; font-size:28px; margin-bottom:24px; }
.pkp-contact-details > div { display:flex; gap:14px; margin-top:24px; }
.pkp-contact-details svg { flex:none; color:#91dbd5; width:21px; height:21px; margin-top:3px; }
.pkp-contact-details h3 { color:#91dbd5; font-family:inherit; font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:6px; }
.pkp-contact-details p,.pkp-contact-details a { color:#dbe5ee; font-size:15px; line-height:1.8; }
.pkp-contact-details a:hover { color:#fff; text-decoration:underline; }
.pkp-enquiry h2 { font-family:'Playfair Display',Georgia,serif; font-size:30px; }
.pkp-enquiry > p { color:#53667b; line-height:1.7; margin:14px 0 26px; }
.pkp-enquiry form { display:grid; gap:20px; }
.pkp-form-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.pkp-enquiry label { display:block; font-size:13px; font-weight:600; margin-bottom:8px; }
.pkp-enquiry :is(input,select,textarea) { width:100%; min-height:48px; padding:12px; border:1px solid #b6c6d3; border-radius:0; color:#102b49; background:#fff; }
.pkp-enquiry :is(input,select,textarea):focus-visible { outline:2px solid #008080; outline-offset:2px; }
.pkp-enquiry textarea { min-height:150px; resize:vertical; }
.pkp-enquiry form > p { font-size:13px; color:#53667b; line-height:1.7; }
/* Scheme pages are also generated as plain HTML. Use the same readable system there. */
.scheme-page.scheme-page { max-width:1280px; padding:32px 32px 64px; color:#102b49; }
.scheme-page.scheme-article { max-width:960px; }
.scheme-page .scheme-copy h1,.scheme-page > header h1 { font-family:'Playfair Display',Georgia,serif; font-size:clamp(30px,3.2vw,44px); font-weight:600; line-height:1.24; letter-spacing:-.02em; }
.scheme-page .scheme-copy h2 { font-family:'Playfair Display',Georgia,serif; color:#102b49; font-weight:600; font-size:clamp(25px,2.4vw,32px); }
.scheme-page .scheme-copy h3 { font-family:inherit; color:#102b49; font-weight:600; }
.scheme-page > header { padding:12px 0 22px; border-bottom:1px solid #dce4eb; margin-bottom:30px; }
.scheme-page .scheme-copy > :not(.scheme-resource-hero) { max-width:1040px; margin-inline:auto; }
.scheme-page .scheme-copy > .scheme-finder,.scheme-page .scheme-copy > .scheme-ecosystem { max-width:none; }
.scheme-page .pkp-resource-intro { position:relative; max-width:none; display:grid; grid-template-columns:3fr 2fr; margin:0 0 32px; background:#061c3b; color:#fff; overflow:hidden; }
.scheme-page .pkp-resource-copy { position:relative; z-index:1; padding:32px; }
.scheme-page .pkp-resource-intro h1 { color:#fff; font-size:clamp(30px,3vw,42px); margin:18px 0; }
.scheme-page .pkp-resource-intro :is(p,strong) { color:#dbe5ee; }
.scheme-page .pkp-resource-intro a { color:#92dcd6; }
.scheme-page .pkp-resource-intro .scheme-lead { font-size:16px; line-height:1.8; }
.scheme-page .pkp-resource-intro .scheme-small { font-size:12px; }
.scheme-page .pkp-resource-media { margin:0; position:relative; min-height:280px; }
.scheme-page .pkp-resource-media img { width:100%; height:100%; position:absolute; object-fit:cover; }
.scheme-page .pkp-resource-media:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#061c3b,transparent 65%); pointer-events:none; }
.scheme-page .scheme-filters { border-top:3px solid #008080; background:#f5f8fa; gap:18px; padding:24px; }
.scheme-page .scheme-entry { padding:28px 0; }
.scheme-page .scheme-entry details { border-left:2px solid #b5d6d1; }
.scheme-page .scheme-notice { background:#eef7f5; border-left-color:#008080; font-size:14px; }
.scheme-page .scheme-toc { background:#f5f8fa; border-color:#dce4eb; }
.pkp-footer { background:#061c3b; color:#fff; padding:56px 0 24px; }
.pkp-footer-main { display:grid; grid-template-columns:1.3fr 2fr; gap:64px; }
.pkp-footer-brand img { width:240px; height:auto; filter:brightness(0) invert(1); }
.pkp-footer-brand > p { margin-top:22px; max-width:350px; font-size:14px; line-height:1.8; color:#c7d6e6; }
.pkp-footer address { display:grid; gap:14px; margin-top:24px; font-style:normal; }
.pkp-footer address > * { display:flex; align-items:flex-start; gap:12px; font-size:14px; line-height:1.7; color:#dbe5ee; }
.pkp-footer address svg { width:18px; height:18px; flex:none; color:#91dbd5; margin-top:3px; }
.pkp-footer-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.pkp-footer h3 { color:#91dbd5; font-size:13px; font-weight:600; margin-bottom:20px; }
.pkp-footer li { margin-bottom:12px; }
.pkp-footer a { text-decoration:none; }
.pkp-footer a:hover { color:#91dbd5; text-decoration:underline; text-underline-offset:4px; }
.pkp-footer-links a { color:#dbe5ee; font-size:13px; line-height:1.65; }
.pkp-footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:44px; padding-top:24px; border-top:1px solid #3d526b; font-size:12px; color:#bfcedd; }
.pkp-footer-bottom nav { display:flex; flex-wrap:wrap; gap:18px; }
@media(min-width:1500px) { .pkp-intro-media { right:calc((1280px - 100vw)/2); } }
@media(max-width:899px) {
 .pkp-intro-copy { width:100%; padding-block:36px; }
 .pkp-intro-photo .pkp-intro-copy { max-width:680px; }
 .pkp-intro-media { position:relative; height:220px; inset:auto; margin-inline:-32px; }
 .pkp-intro-media img { object-position:50% 50%; }
 .pkp-intro-blend { background:linear-gradient(180deg,#061c3b,rgba(6,28,59,.15) 28%,transparent 70%); }
 .pkp-split { grid-template-columns:1fr; gap:28px; }
 .pkp-values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
 .pkp-section-heading { flex-direction:column; align-items:flex-start; gap:16px; }
 .pkp-section-heading > p { max-width:640px; }
 .pkp-support-item { padding:22px; }
 .pkp-support-grid { gap:16px; }
 .pkp-contact-grid { grid-template-columns:1fr; gap:32px; }
 .pkp-footer-main { grid-template-columns:1fr; gap:40px; }
 .scheme-page .pkp-resource-intro { grid-template-columns:1fr; }
 .scheme-page .pkp-resource-media { min-height:190px; max-height:190px; }
 .scheme-page .pkp-resource-media:after { background:linear-gradient(180deg,#061c3b,transparent 65%); }
}
@media(max-width:640px) {
 .pkp-container,.pkp-public .container-wide:not(.section-padding),.pkp-public .container-wide.section-padding { padding-inline:20px; }
 .pkp-public .section-padding,.pkp-section { padding-block:40px; }
 .pkp-public .body-lg { font-size:16px; line-height:1.8; }
 .pkp-intro-media { margin-inline:-20px; height:185px; }
 .pkp-public .pkp-intro h1 { font-size:34px; line-height:1.2; }
 .pkp-intro-copy,.pkp-intro-compact .pkp-intro-copy { padding-block:30px 34px; }
 .pkp-intro-description { font-size:15px; line-height:1.8; margin-top:18px; }
 .pkp-actions { align-items:stretch; gap:10px; }
 .pkp-button { padding-inline:16px; font-size:13px; }
 .pkp-topic-band li+li { padding-left:0; border:0; }
 .pkp-topic-band ul { gap:8px 18px; }
 .pkp-facts-band > div { grid-template-columns:1fr; padding-block:8px; }
 .pkp-facts-band p,.pkp-facts-band p:first-child { padding:14px 0; }
 .pkp-facts-band p+p { border-left:0; border-top:1px solid var(--pkp-line); }
 .pkp-support-grid { grid-template-columns:1fr; gap:14px; }
 .pkp-values-grid { grid-template-columns:1fr; }
 .pkp-address,.pkp-contact-details { padding:24px; }
 .pkp-form-pair { grid-template-columns:1fr; gap:20px; }
 .scheme-page.scheme-page { padding:24px 18px 44px; }
 .scheme-page .pkp-resource-copy { padding:24px 20px; }
 .scheme-page .scheme-filters { padding:18px; gap:14px; }
 .pkp-footer { padding-top:40px; }
 .pkp-footer-links { grid-template-columns:1fr 1fr; gap:28px 20px; }
 .pkp-footer-brand img { width:215px; }
}
@media(prefers-reduced-motion:no-preference) {
 .pkp-intro-media img { animation:pkp-photo-reveal 500ms ease-out both; }
 @keyframes pkp-photo-reveal { from { opacity:.65; transform:scale(1.015); } to { opacity:1; transform:none; } }
}
@media(prefers-reduced-motion:reduce) {
 .pkp-public *, .pkp-footer * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media print {
 .pkp-intro-media,.pkp-intro-blend,.pkp-actions,.pkp-footer,.pkp-breadcrumb-band { display:none!important; }
 .pkp-intro,.pkp-section-navy { background:white!important; color:black!important; }
 .pkp-intro-copy { width:100%; padding:16px 0; }
 .pkp-intro-description,.pkp-intro .pkp-label { color:black; }
 .pkp-public .section-padding,.pkp-section { padding:16px 0; }
}

/* Shared directory and editorial patterns, with explicit dark-surface contrast. */
.pkp-public .bg-primary .text-accent { color:#91dbd5; }
.pkp-public .bg-primary a[class*="border-white"][class~="text-white"] { background:transparent; color:#fff; }
.pkp-public .bg-primary a[class*="border-white"][class~="text-white"]:hover { background:#fff; color:#061c3b; }
.pkp-public .bg-primary :is(a,button):focus-visible,.pkp-footer a:focus-visible { outline:2px solid #91dbd5; outline-offset:4px; box-shadow:none; }
.pkp-public .pkp-intro-tools button { color:#435c73; }
.pkp-public .pkp-intro-tools button:hover { color:#006a6a; }
.pkp-directory-nav { background:#f4f8fa; border-bottom:1px solid #dce4eb; }
.pkp-directory-nav > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.pkp-directory-nav a { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 20px; border-right:1px solid #dce4eb; font-size:13px; font-weight:600; line-height:1.6; }
.pkp-directory-nav a:first-child { padding-left:0; }
.pkp-directory-nav a:last-child { border:0; }
.pkp-directory-nav a:hover { color:#007472; }
.pkp-directory-nav svg { width:16px; height:16px; flex:none; }
.pkp-service-directory > section+section { border-top:1px solid #dce4eb; }
.pkp-directory-lead { color:#53667b; max-width:360px; font-size:16px; margin-top:20px; }
.pkp-directory-items { display:grid; gap:24px; }
.pkp-directory-item { display:flex; align-items:flex-start; gap:24px; padding:0 0 26px; border-bottom:1px solid #dce4eb; }
.pkp-directory-item > svg { width:26px; height:26px; color:#008080; flex:none; margin-top:3px; }
.pkp-directory-item p { margin-top:12px; color:#53667b; font-size:15px; }
.pkp-directory-item ul { display:flex; flex-wrap:wrap; gap:6px 20px; margin:16px 0 12px; }
.pkp-directory-item li { font-size:12px; line-height:1.7; color:#52667a; }
.pkp-directory-item:hover h3 { color:#007472; }
.pkp-editorial-cover { width:100%; height:100%; min-height:200px; background:#eaf4f3; }
.pkp-editorial-cover img { width:100%; height:100%; object-fit:cover; }
.pkp-cover-policy,.pkp-cover-funding { padding:24px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:12px; }
.pkp-cover-policy > svg,.pkp-cover-funding > svg { width:27px; height:27px; color:#007572; }
.pkp-cover-policy > span,.pkp-cover-funding > span { font-size:10px; letter-spacing:.12em; font-weight:600; }
.pkp-cover-policy strong,.pkp-cover-funding strong { font-size:28px; line-height:1.2; font-family:'Playfair Display',Georgia,serif; font-weight:600; }
.pkp-cover-policy small,.pkp-cover-funding small { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:11px; line-height:1.6; }
.pkp-cover-policy small svg { width:14px; height:14px; }
.pkp-cover-funding { background:#061c3b; color:#fff; }
.pkp-cover-funding > svg { color:#91dbd5; }
.pkp-public[data-page-family="tools"] [aria-label="PDF workspace"] > div > .text-center h2 { font-family:'Playfair Display',Georgia,serif; font-size:clamp(24px,2.5vw,34px); font-weight:600; line-height:1.3; }
.pkp-public[data-page-family="tools"] [aria-label="PDF workspace"] [role="button"]:focus-visible { outline:2px solid #008080; outline-offset:4px; }
.pkp-public .prose pre { overflow-x:auto; }
.pkp-public .prose :is(a,code) { overflow-wrap:anywhere; }
@media(max-width:899px) {
 .pkp-directory-nav > div { grid-template-columns:1fr 1fr; }
 .pkp-directory-nav a { padding:16px; border-bottom:1px solid #dce4eb; }
 .pkp-directory-nav a:first-child { padding-left:16px; }
 .pkp-directory-nav a:nth-child(2n) { border-right:0; }
}
@media(max-width:640px) {
 .pkp-public .pkp-intro-compact h1 { font-size:32px; }
 .pkp-directory-nav a { padding:14px 10px; font-size:12px; }
 .pkp-directory-nav a:first-child { padding-left:10px; }
 .pkp-directory-item { gap:16px; }
 .pkp-public .sticky:not(header) { scroll-margin-top:90px; }
}

/* Original illustrations: honour the supplied image crop and keep explanatory art readable. */
.pkp-intro-media.pkp-intro-art { inset:28px 32px 28px 58%; display:flex; align-items:center; justify-content:center; }
.pkp-intro-media.pkp-intro-art img { width:100%; height:100%; object-fit:contain; background:#edf5f6; animation:none; }
.scheme-page .pkp-resource-art { background:#edf5f6; }
.scheme-page .pkp-resource-art img { object-fit:contain; }
.scheme-page .pkp-resource-art:after { display:none; }
.original-diagram-image { background:#edf5f6; }
.original-diagram-image img { object-fit:contain!important; width:100%; height:100%; transform:none!important; }
.pkp-industry-topic-image { background:#edf5f6; }
@media(max-width:899px) {
 .pkp-intro-media.pkp-intro-art { inset:auto; margin:0; height:auto; aspect-ratio:8/5; }
 .scheme-page .pkp-resource-art { min-height:0; max-height:none; aspect-ratio:8/5; }
}
