/* PNG Fixer — theme styles (complements theme.json) */
:root {
	--pngf-ink: #111413;
	--pngf-ochre: #C8873A;
	--pngf-ochre-dark: #9A6424;
	--pngf-sand: #E2B872;
	--pngf-coral: #D9644A;
	--pngf-paper: #F4F4F0;
	--pngf-grey: #4C504E;
	--pngf-grey-light: #6A6F6C;
	--pngf-line: #D5D6D0;
	--pngf-gutter: clamp(16px, 4vw, 56px);
	--pngf-header-h: 104px;
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-site-blocks { padding: 0 !important; }
.pngf-main { margin: 0; }
.pngf-main > .wp-block-post-content > * { margin-block-start: 0; }
.pngf-main > .wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

/* ---------- Header ---------- */
.pngf-site-header { position: relative; z-index: 50; }
.pngf-header { padding: 0 var(--pngf-gutter); }
.pngf-header-inner { min-height: var(--pngf-header-h); align-items: center; gap: 24px; }
.pngf-logo { display: inline-block; line-height: 0; }
.pngf-logo img { height: 82px; width: auto; display: block; }
.pngf-header--overlay { position: absolute; left: 0; right: 0; top: 0; background: transparent !important; }
body.home .pngf-site-header { position: absolute; left: 0; right: 0; top: 0; }
.pngf-nav .wp-block-navigation__container { gap: 28px; align-items: center; }
.pngf-nav .wp-block-navigation-item__content { color: inherit; white-space: nowrap; }
.pngf-nav .wp-block-navigation-item__content:hover,
.pngf-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--pngf-sand); }
.pngf-nav .pngf-nav-cta > .wp-block-navigation-item__content { padding: 12px 20px; background: var(--pngf-ochre); color: var(--pngf-ink) !important; font-weight: 700; border-radius: 4px; }
.pngf-nav .pngf-nav-cta > .wp-block-navigation-item__content:hover { background: var(--pngf-sand); }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { color: inherit; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 24px var(--pngf-gutter); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 22px; font-size: 22px; font-weight: 700; }
@media (max-width: 1100px) { .pngf-nav .wp-block-navigation__container { gap: 18px; } }
@media (max-width: 781px) { :root { --pngf-header-h: 76px; } .pngf-logo img { height: 56px; } }

/* ---------- Footer ---------- */
.pngf-footer { padding: 56px var(--pngf-gutter) 40px; color: #C9CCC8; font-size: 14px; }
.pngf-footer a:hover { color: var(--pngf-sand); }
.pngf-footer-inner { gap: 40px; }
.pngf-footer .pngf-logo img { height: 84px; }
.pngf-footer p { margin: 0; line-height: 1.9; }
.pngf-footer-contact { text-align: right; }
.pngf-footer-tagline { max-width: 280px; }
@media (max-width: 781px) { .pngf-footer-contact { text-align: left; align-items: flex-start !important; } }

/* ---------- Typography helpers ---------- */
.pngf-eyebrow, .pngf-eyebrow a { font-size: 12px !important; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--pngf-ochre-dark); line-height: 1.4; }
.has-ink-background-color .pngf-eyebrow, .has-forest-background-color .pngf-eyebrow, .pngf-hero .pngf-eyebrow { color: var(--pngf-sand); }
.pngf-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.6; color: var(--pngf-grey); }
.has-ink-background-color .pngf-lead, .has-forest-background-color .pngf-lead { color: #D3DDD6; }
.pngf-small, .pngf-breadcrumb { font-size: 13px; color: var(--pngf-grey-light); }
.pngf-strong { font-weight: 700; }
.pngf-title { font-weight: 800; font-size: 26px; line-height: 1.15; letter-spacing: -0.02em; }
.pngf-stat { font-weight: 800; font-size: clamp(34px, 4vw, 52px); line-height: 1; letter-spacing: -0.03em; color: var(--pngf-ochre); margin: 0; }
.pngf-link a { font-weight: 700; color: var(--pngf-ochre-dark); }
.has-ink-background-color .pngf-link a, .has-forest-background-color .pngf-link a { color: var(--pngf-sand); }
.pngf-link a:hover { text-decoration: underline; }
.has-ink-background-color :where(p:not([class])), .has-forest-background-color :where(p:not([class])) { color: #D3DDD6; }

/* ---------- Sections & grids ---------- */
.pngf-section { padding: clamp(48px, 6vw, 80px) var(--pngf-gutter) !important; }
.pngf-section--tight { padding-top: 0 !important; }
.pngf-section > * { max-width: 1328px; margin-left: auto !important; margin-right: auto !important; }
.pngf-section > .pngf-hero-content { max-width: none; }
.pngf-grid { display: grid !important; gap: 24px; }
.pngf-grid > * { margin: 0 !important; }
.pngf-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pngf-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pngf-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pngf-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.pngf-grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1100px) { .pngf-grid-4, .pngf-grid-5, .pngf-grid-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .pngf-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .pngf-grid-2, .pngf-grid-3, .pngf-grid-4 { grid-template-columns: 1fr; } .pngf-grid-5, .pngf-grid-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pngf-row { gap: 16px 24px; align-items: flex-end; }
.pngf-split { gap: 48px !important; align-items: center; }
@media (max-width: 781px) { .pngf-split { gap: 28px !important; } }
.wp-block-columns { margin-bottom: 0; }

/* Cards */
.pngf-card { border-top: 3px solid var(--pngf-ochre); overflow: hidden; display: flex; flex-direction: column; }
.pngf-card > * { margin: 0 !important; }
.pngf-card > :not(figure):not(.wp-block-post-featured-image) { padding-left: 22px; padding-right: 22px; }
.pngf-card > :not(figure):not(.wp-block-post-featured-image):first-child { padding-top: 22px; }
.pngf-card > :not(figure):not(.wp-block-post-featured-image) + :not(figure) { padding-top: 10px; }
.pngf-card > :last-child { padding-bottom: 24px; }
.pngf-card > figure:last-child { padding-bottom: 0; }
.pngf-card figure img, .pngf-card .wp-block-post-featured-image img { width: 100%; height: 190px; object-fit: cover; display: block; }
.pngf-card h3 { font-size: 19px; line-height: 1.25; }
.pngf-card p:not([class]) { font-size: 15px; line-height: 1.6; color: var(--pngf-grey); }
.has-ink-background-color .pngf-card p:not([class]) { color: #C9CCC8; }
.pngf-card .pngf-strong:first-of-type { color: var(--pngf-ochre-dark); font-size: 13px; }
.pngf-grid > .wp-block-group:not(.pngf-card) > figure img { width: 100%; aspect-ratio: 4/3; height: auto; object-fit: cover; }
.pngf-card-body { padding: 20px 22px 24px !important; display: flex; flex-direction: column; gap: 10px; }
.pngf-card-body > * { margin: 0 !important; }
.pngf-card-title { font-size: 20px !important; line-height: 1.2 !important; font-weight: 800; }
.pngf-card-title a:hover { color: var(--pngf-ochre-dark); }
.pngf-cards { gap: 24px !important; }
.pngf-cards .wp-block-post-excerpt__excerpt { font-size: 15px; color: var(--pngf-grey); margin: 0; }
.pngf-cards .wp-block-post-excerpt__more-text { display: none; }
@media (max-width: 900px) { .pngf-cards.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .pngf-cards.is-layout-grid { grid-template-columns: 1fr !important; } }

/* Images */
.wp-block-image { margin: 0; }
.wp-block-image img { border-radius: 4px; display: block; }
.pngf-card .wp-block-image img { border-radius: 0; }
.pngf-split .wp-block-image img { width: 100%; max-height: 520px; object-fit: cover; }
figure.wp-block-image figcaption { margin-top: 8px; }

/* Buttons */
.wp-block-button__link { transition: background .15s, color .15s; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: inherit; border: 1px solid currentColor; padding: 15px 23px; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--pngf-ochre); color: var(--pngf-ochre); }
.wp-block-button.is-style-outline-light > .wp-block-button__link { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.7); padding: 15px 23px; }
.wp-block-button.is-style-outline-light > .wp-block-button__link:hover { background: rgba(255,255,255,.1); color: #fff; }
.wp-block-button.is-style-light > .wp-block-button__link { background: var(--pngf-paper); color: var(--pngf-ink); }
.wp-block-button.is-style-light > .wp-block-button__link:hover { background: #fff; }
.wp-block-button.is-style-whatsapp > .wp-block-button__link { background: #25D366; color: #0B2A17; }
.has-forest-background-color .wp-block-button.is-style-outline > .wp-block-button__link { border-color: #8FA898; }
.wp-block-buttons { gap: 12px; }

/* Lists as pills */
.pngf-pills { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pngf-pills li { padding: 6px 12px; background: #fff; border-radius: 999px; font-size: 14px; font-weight: 600; }

/* FAQ / details */
.wp-block-details summary { font-weight: 700; font-size: 17px; cursor: pointer; list-style: none; position: relative; padding-right: 32px; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 0; top: -2px; font-size: 22px; color: var(--pngf-ochre); font-weight: 400; }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > :not(summary) { color: var(--pngf-grey); font-size: 15.5px; }
.wp-block-details:last-child { border-bottom: 1px solid var(--pngf-line); }

/* Tables (credits, permits) */
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table td, .wp-block-table th { border: 0; border-bottom: 1px solid var(--pngf-line); padding: 12px 14px 12px 0; text-align: left; vertical-align: top; }
.wp-block-table thead { border-bottom: 2px solid var(--pngf-ink); }
.pngf-credits { background: #fff; border-top: 3px solid var(--pngf-ochre); padding: 8px 24px 12px; }
.pngf-credits td:first-child { font-weight: 700; width: 34%; color: var(--pngf-ink); }
.pngf-credits td { color: var(--pngf-grey); font-size: 15px; }
.pngf-credits tr:last-child td { border-bottom: 0; }

/* ---------- Home hero ---------- */
.pngf-hero { position: relative; min-height: min(100vh, 900px); padding: 0 !important; overflow: hidden; display: flex; align-items: flex-end; }
.pngf-hero > .pngf-hero-slides { position: absolute !important; inset: 0; margin: 0 !important; max-width: none !important; display: block !important; }
.pngf-hero-slides > figure.wp-block-image { position: absolute !important; inset: 0; width: 100% !important; height: 100%; margin: 0 !important; opacity: 0; transition: opacity 1.4s ease; }
.pngf-hero-slides > figure.wp-block-image:first-child, .pngf-hero-slides > figure.is-active { opacity: 1; }
.pngf-hero-slides.is-running > figure.wp-block-image:first-child:not(.is-active) { opacity: 0; }
.pngf-hero-slides img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; }
.pngf-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(10,12,11,.6) 0%, rgba(10,12,11,.3) 30%, rgba(10,12,11,0) 55%), linear-gradient(0deg, rgba(10,12,11,.45) 0%, rgba(10,12,11,0) 40%); }
.pngf-hero-content { position: relative; z-index: 2; padding: calc(var(--pngf-header-h) + 40px) var(--pngf-gutter) clamp(48px, 7vw, 96px) !important; max-width: 820px !important; margin: 0 !important; color: #fff; }
.pngf-hero-content > * { margin: 0 0 18px !important; }
.pngf-hero-title { font-size: clamp(38px, 5.4vw, 72px) !important; line-height: 1 !important; letter-spacing: -0.035em; text-shadow: 0 2px 24px rgba(0,0,0,.25); }
.pngf-hero-content .pngf-lead { color: #F1F1EC; max-width: 620px; }
.pngf-hero-dots { position: absolute; z-index: 3; right: var(--pngf-gutter); bottom: 32px; display: flex; gap: 8px; }
.pngf-hero-dots button { width: 28px; height: 3px; border: 0; padding: 0; background: rgba(255,255,255,.45); cursor: pointer; }
.pngf-hero-dots button.is-active { background: var(--pngf-ochre); }
@media (max-width: 781px) {
	.pngf-hero { min-height: 92vh; }
	.pngf-hero::after { background: linear-gradient(0deg, rgba(10,12,11,.75) 0%, rgba(10,12,11,.35) 50%, rgba(10,12,11,.15) 100%); }
}

/* Broadcaster logos */
.pngf-broadcasters { padding-top: 36px !important; padding-bottom: 36px !important; }
.pngf-logos { justify-content: center; gap: 28px 48px !important; align-items: center; }
.pngf-logos figure img { height: 34px; width: auto; border-radius: 0; opacity: .8; }

/* Behind-the-scenes strip */
.pngf-bts .pngf-strip { display: flex !important; flex-wrap: nowrap !important; gap: 12px !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; max-width: none !important; margin-right: calc(-1 * var(--pngf-gutter)) !important; padding-right: var(--pngf-gutter); }
.pngf-bts .pngf-strip::-webkit-scrollbar { display: none; }
.pngf-strip > figure.wp-block-image { flex: 0 0 auto !important; width: auto !important; scroll-snap-align: start; margin: 0 !important; }
.pngf-strip > figure.wp-block-image img { height: clamp(220px, 28vw, 360px) !important; width: auto !important; max-width: none; object-fit: cover; border-radius: 4px; }
.pngf-strip-nav { display: flex; gap: 8px; justify-content: flex-end; margin-top: 16px !important; }
.pngf-strip-nav button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; font-size: 18px; }
.pngf-strip-nav button:hover { border-color: var(--pngf-ochre); color: var(--pngf-ochre); }

/* ---------- Articles ---------- */
.pngf-article { padding: clamp(40px, 5vw, 64px) var(--pngf-gutter) clamp(56px, 6vw, 88px); }
.pngf-article > * { max-width: 760px; margin-left: auto !important; margin-right: auto !important; }
.pngf-article .wp-block-post-title { font-size: clamp(34px, 4.4vw, 52px); line-height: 1.05; letter-spacing: -0.03em; margin-top: 10px; }
.pngf-article .wp-block-post-content > * { max-width: 760px; }
.pngf-article .wp-block-post-content > .wp-block-video, .pngf-article .wp-block-post-content > .wp-block-embed, .pngf-article .wp-block-post-content > .wp-block-image:first-of-type { max-width: 1000px; }
.pngf-article .wp-block-post-content h2 { font-size: clamp(24px, 2.6vw, 30px); margin-top: 44px; }
.pngf-article .wp-block-post-content h3 { margin-top: 32px; }
.pngf-article .wp-block-post-content p, .pngf-article .wp-block-post-content li { font-size: 17.5px; line-height: 1.72; }
.pngf-article .wp-block-video video { width: 100%; border-radius: 4px; background: #000; }
.pngf-meta { font-size: 14px; color: var(--pngf-grey-light); gap: 6px 14px; }
.pngf-meta p { margin: 0; }
.pngf-meta a { color: var(--pngf-ochre-dark); font-weight: 600; }
.pngf-postnav { margin-top: 48px !important; padding-top: 24px; border-top: 1px solid var(--pngf-line); font-weight: 600; gap: 24px; }
.pngf-archive-head h1 { margin: 12px 0; }
.wp-block-query-pagination { margin-top: 40px; }
.taxonomy-production_type .wp-block-post-terms a, .wp-block-post-terms a { color: inherit; }

/* ---------- CTA band ---------- */
.pngf-cta { background: #33503F; color: var(--pngf-paper); padding: clamp(48px, 6vw, 64px) var(--pngf-gutter); margin-top: 0 !important; margin-bottom: 0 !important; }
.pngf-article .pngf-cta, .pngf-article + .pngf-cta { max-width: none; }
.pngf-cta-inner { max-width: 1328px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 32px 48px; flex-wrap: wrap; }
.pngf-cta h2 { color: #fff; font-size: clamp(28px, 3vw, 38px); margin: 6px 0 8px; }
.pngf-cta p { margin: 0; color: #D3DDD6; font-size: 17px; }
.pngf-cta .pngf-eyebrow { color: var(--pngf-sand); }
.pngf-cta-actions { display: flex; flex-direction: column; gap: 12px; min-width: min(300px, 100%); }
.pngf-btn { display: inline-block; padding: 16px 24px; border-radius: 4px; font-weight: 700; text-align: center; background: var(--pngf-ochre); color: var(--pngf-ink) !important; }
.pngf-btn--light { background: var(--pngf-paper); color: var(--pngf-ink) !important; }
.pngf-btn--light:hover { background: #fff; }
.pngf-btn--ghost { background: transparent; border: 1px solid #8FA898; color: var(--pngf-paper) !important; }
.pngf-btn--ghost:hover { border-color: var(--pngf-sand); color: var(--pngf-sand) !important; }
.pngf-btn--whatsapp { background: #25D366; color: #0B2A17 !important; }
.pngf-article .pngf-cta { margin: 56px calc(-1 * var(--pngf-gutter)) 0 !important; max-width: none !important; border-radius: 0; }

/* ---------- Map ---------- */
.pngf-map-wrap { display: grid; grid-template-columns: 7fr 5fr; gap: 24px; align-items: start; }
.pngf-map { position: relative; aspect-ratio: 1448 / 1086; background: #fff; border-radius: 4px; overflow: hidden; }
.pngf-map > img { position: absolute; inset: 0; width: 100%; height: 100%; mix-blend-mode: multiply; opacity: .85; border-radius: 0; }
.pngf-pin { position: absolute; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 6px; padding: 4px; border: 0; background: none; cursor: pointer; color: var(--pngf-ink); font: inherit; }
.pngf-pin-dot { width: 16px; height: 16px; border-radius: 50%; background: var(--pngf-ochre); border: 3px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,.35); flex: none; }
.pngf-pin-label { font-size: 12.5px; font-weight: 700; background: rgba(255,255,255,.92); padding: 3px 8px; border-radius: 3px; white-space: nowrap; }
.pngf-pin.is-active .pngf-pin-dot, .pngf-pin:hover .pngf-pin-dot { background: var(--pngf-coral); transform: scale(1.2); }
.pngf-map-panel { background: #fff; border-top: 3px solid var(--pngf-ochre); }
.pngf-map-panel img { width: 100%; height: 220px; object-fit: cover; display: block; border-radius: 0; }
.pngf-map-panel-body { padding: 24px 26px 26px; display: flex; flex-direction: column; gap: 12px; }
.pngf-map-panel-body > * { margin: 0; }
.pngf-map-panel h2 { font-size: 30px; }
.pngf-map-panel p { font-size: 15.5px; color: var(--pngf-grey); }
.pngf-map-panel .pngf-info { font-size: 14px; }
.pngf-map-panel .pngf-pills li { background: var(--pngf-paper); font-size: 13px; }
@media (max-width: 900px) { .pngf-map-wrap { grid-template-columns: 1fr; } .pngf-pin-label { display: none; } .pngf-pin.is-active .pngf-pin-label { display: block; } }
.pngf-regions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.pngf-regions a { background: #1E2321; color: var(--pngf-paper); padding: 18px; border-radius: 4px; display: flex; flex-direction: column; gap: 6px; border-top: 3px solid transparent; }
.pngf-regions a:hover { border-top-color: var(--pngf-ochre); color: #fff; }
.pngf-regions strong { font-size: 17px; line-height: 1.2; }
.pngf-regions span { font-size: 13.5px; color: #C9CCC8; line-height: 1.45; }
.pngf-regions-band { background: var(--pngf-ink); color: var(--pngf-paper); padding: 56px var(--pngf-gutter) 64px; margin-top: 0 !important; margin-bottom: 0 !important; }
.pngf-regions-band > * { max-width: 1328px; margin-left: auto; margin-right: auto; }
.pngf-regions-band h2 { color: #fff; margin: 0 0 24px; }
@media (max-width: 1000px) { .pngf-regions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Contact form ---------- */
.pngf-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.pngf-form .pngf-full { grid-column: 1 / -1; }
.pngf-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
.pngf-form input, .pngf-form select, .pngf-form textarea { font: inherit; font-size: 16px; padding: 12px 14px; border: 1px solid #C9CCC8; border-radius: 4px; background: #fff; color: var(--pngf-ink); }
.pngf-form input:focus, .pngf-form select:focus, .pngf-form textarea:focus { outline: 2px solid var(--pngf-ochre); outline-offset: 1px; border-color: var(--pngf-ochre); }
.pngf-form textarea { min-height: 160px; }
.pngf-form button { font: inherit; font-weight: 700; font-size: 16px; padding: 16px 28px; background: var(--pngf-ochre); color: var(--pngf-ink); border: 0; border-radius: 4px; cursor: pointer; justify-self: start; }
.pngf-form button:hover { background: var(--pngf-sand); }
.pngf-hp { position: absolute !important; left: -9999px !important; }
.pngf-notice { padding: 16px 20px; border-radius: 4px; margin-bottom: 20px; font-weight: 600; }
.pngf-notice--ok { background: #E3EFE6; color: #1F4A2D; }
.pngf-notice--err { background: #FBE7E2; color: #7A2A18; }
@media (max-width: 640px) { .pngf-form { grid-template-columns: 1fr; } }

/* ---------- Misc / responsive ---------- */
.pngf-breadcrumb a, .pngf-small a { text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 781px) {
	.wp-block-columns.pngf-split { flex-wrap: wrap !important; }
	.wp-block-columns.pngf-split > .wp-block-column { flex-basis: 100% !important; }
	.pngf-row { align-items: flex-start; }
	h1.wp-block-heading, .wp-block-post-title { overflow-wrap: anywhere; hyphens: auto; }
}
@media (prefers-reduced-motion: reduce) { .pngf-hero-slides > figure { transition: none; } html { scroll-behavior: auto; } }
.wp-block-group.has-background:not(.alignfull):not(.pngf-card):not(.pngf-header):not(.pngf-footer):not(.pngf-card-body) { padding: 28px; border-radius: 4px; }
.wp-block-group.has-background:not(.alignfull) > * { margin-top: 0; }
.pngf-card { padding: 0 !important; }
.pngf-linkcard { display: flex; flex-direction: column; gap: 14px; }
.pngf-linkcard > * { margin: 0 !important; }
.pngf-linkcard > figure:first-child img { width: 100%; height: clamp(260px, 28vw, 400px); object-fit: cover; }
.pngf-linkcard h3 { font-size: 22px; }
.pngf-linkcard h3 a:hover { color: var(--pngf-ochre-dark); }
.pngf-linkcard p:not([class]) { font-size: 15px; color: var(--pngf-grey); }
.pngf-inline-logo img, figure.pngf-inline-logo img { height: 22px !important; width: auto !important; border-radius: 0 !important; }
.pngf-row .pngf-inline-logo { flex: none; }
.pngf-linkcard .pngf-row { align-items: center; gap: 12px; }
.pngf-logos { flex-wrap: wrap; }
.pngf-logos figure img { height: 26px; }
@media (min-width: 1200px) { .pngf-logos { flex-wrap: nowrap !important; justify-content: space-between !important; gap: 24px !important; } }
.pngf-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.pngf-filter a { padding: 8px 16px; border: 1px solid #C9CCC8; border-radius: 999px; font-size: 14px; font-weight: 600; }
.pngf-filter a.is-active, .pngf-filter a:hover { background: var(--pngf-ink); color: #fff; border-color: var(--pngf-ink); }
.pngf-stack { display: flex; flex-direction: column; gap: 12px; }
.pngf-stack > * { margin: 0 !important; }
.pngf-row { justify-content: space-between; }
.pngf-row > .pngf-stack { flex: 1 1 420px; }
.pngf-row > .wp-block-buttons { flex-direction: column; align-items: stretch; min-width: min(300px, 100%); }
.pngf-row > .wp-block-buttons .wp-block-button__link { width: 100%; text-align: center; }

.pngf-section-row { display: flex !important; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 32px 48px; }
.pngf-section-row > * { margin: 0 !important; max-width: none !important; }
.pngf-section-row > .pngf-stack { flex: 1 1 520px; }
.pngf-section-row > .wp-block-buttons { flex-direction: column; align-items: stretch; width: min(300px, 100%); }
.pngf-section-row > .wp-block-buttons .wp-block-button__link { width: 100%; text-align: center; }
@media (min-width: 1441px) { .pngf-section-row { padding-left: calc((100% - 1328px) / 2) !important; padding-right: calc((100% - 1328px) / 2) !important; } }
.pngf-map-wrap { max-width: 1328px; margin: 32px auto 0; }
.pngf-region .wp-block-columns { align-items: center; }
.pngf-region .pngf-pills li { background: #fff; }
.pngf-region h2 { margin-top: 48px; margin-bottom: 16px; }
.pngf-region .pngf-link { margin-top: 32px; }
.wp-block-post-navigation-link { max-width: 48%; }
/* Permits: sticky table of contents */
.pngf-toc { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 20px; }
.pngf-toc-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.pngf-toc-list a { display: block; padding: 15px 20px; background: var(--wp--preset--color--mist); border-radius: 4px; font-weight: 600; }
.pngf-toc-list a:hover, .pngf-toc-list a.is-active { background: var(--pngf-ochre); color: var(--pngf-ink); }
.pngf-split > .wp-block-column > .has-white-background-color { padding: clamp(24px, 4vw, 48px); }
.has-white-background-color > h2.wp-block-heading[id] { scroll-margin-top: 24px; margin-top: 56px !important; padding-top: 32px; border-top: 1px solid var(--pngf-line); }
.has-white-background-color > h2.wp-block-heading[id]:first-child { margin-top: 0 !important; padding-top: 0; border-top: 0; }
.has-white-background-color h3 { margin-top: 28px; }
.has-white-background-color > * + * { margin-top: 16px; }
.pngf-table table { font-size: 14.5px; border: 1px solid #DEDFDA; }
.pngf-table thead { background: var(--pngf-ink); color: var(--pngf-paper); border: 0; }
.pngf-table th, .pngf-table td { padding: 12px 14px; }
@media (max-width: 781px) { .pngf-toc { position: static; } .pngf-table { overflow-x: auto; } .pngf-table table { min-width: 560px; } }
/* Photo band (Permits header) */
.pngf-band { position: relative; min-height: clamp(360px, 40vw, 460px); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; }
.pngf-band > figure.wp-block-image:first-child { position: absolute !important; inset: 0; max-width: none !important; margin: 0 !important; }
.pngf-band > figure.wp-block-image:first-child img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.pngf-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,12,11,.85) 0%, rgba(10,12,11,.45) 55%, rgba(10,12,11,.1) 100%); }
.pngf-band > :not(figure) { position: relative; z-index: 2; width: 100%; }
.pngf-band h1 { color: #fff; max-width: 900px; }
.pngf-band .pngf-lead, .pngf-band p { color: #E6E8E3; max-width: 820px; }
.pngf-band .pngf-small, .pngf-band .pngf-small a { color: #C9CCC8; }
.pngf-band > :not(figure) { margin-left: max(0px, calc((100% - 1328px) / 2)) !important; margin-right: auto !important; }
.wp-block-columns.pngf-split + .wp-block-columns.pngf-split { margin-top: clamp(32px, 4vw, 56px) !important; }
/* v1.0.1 — bigger logo, lower, clear of the admin bar */
:root { --pngf-header-h: 136px; }
.pngf-header-inner { min-height: var(--pngf-header-h); padding-top: 12px; }
.pngf-header .pngf-logo img { height: 112px !important; width: auto !important; }
body.admin-bar.home .pngf-site-header, body.admin-bar .pngf-header--overlay { top: 32px; }
@media (max-width: 782px) {
	:root { --pngf-header-h: 88px; }
	.pngf-header .pngf-logo img { height: 68px !important; }
	body.admin-bar.home .pngf-site-header, body.admin-bar .pngf-header--overlay { top: 46px; }
}
/* Home "Why work with us": wide crop of the canoe photo */
img[src*="film-crew-recording-on-a-traditional-sailing-canoe"] { aspect-ratio: 1.91 / 1; height: auto !important; object-fit: cover; object-position: 50% 58%; }
/* Cards: number next to the title */
.pngf-card:has(> p.pngf-strong + h3) { display: grid !important; grid-template-columns: auto 1fr; align-items: baseline; align-content: start; }
.pngf-card:has(> p.pngf-strong + h3) > * { grid-column: 1 / -1; }
.pngf-card:has(> p.pngf-strong + h3) > p.pngf-strong { grid-column: 1; padding: 20px 0 0 22px !important; font-size: 15px; }
.pngf-card:has(> p.pngf-strong + h3) > p.pngf-strong + h3 { grid-column: 2; padding: 20px 22px 0 10px !important; }
/* Contact: form closer to the header */
.pngf-section:has(.pngf-form-wrap) { padding-top: 8px !important; }
.pngf-split:has(.pngf-form-wrap) { align-items: flex-start !important; }
.pngf-section:has(+ .pngf-section .pngf-form-wrap) { padding-bottom: 24px !important; }
.pngf-form > .pngf-eyebrow { margin: 0 !important; }
.pngf-form-wrap { margin-top: 0 !important; }
/* About: wide crop of the portrait */
img[src*="marc-dozier-laughing-dressed-in-a-traditional-feather"], img[src*="marc-dozier-with-huli-wigmen"] { aspect-ratio: 2.08 / 1; height: auto !important; max-height: none !important; object-fit: cover; object-position: 50% 36%; }
/* No double gap between two sections of the same colour */
:is(.pngf-section:not(.has-background), .pngf-section.has-paper-background-color) + :is(.pngf-section:not(.has-background), .pngf-section.has-paper-background-color) { padding-top: 16px !important; }
/* About: portrait centred next to the text */
.wp-block-columns:has(img[src*="huli-wigmen"]) { align-items: center !important; }
/* Key figures (number above its label) */
.pngf-grid-4:has(> p.pngf-small:nth-child(2)) { grid-auto-flow: column; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; grid-template-rows: auto auto; gap: 2px 24px !important; padding: 18px 0; border-top: 1px solid #DEDFDA; border-bottom: 1px solid #DEDFDA; }
.pngf-grid-4:has(> p.pngf-small:nth-child(2)) > :nth-child(odd) { font-size: 28px !important; font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; margin: 0 !important; padding: 0 !important; }
.pngf-grid-4:has(> p.pngf-small:nth-child(2)) > .pngf-small { font-size: 13.5px; line-height: 1.4; }
@media (max-width: 640px) { .pngf-grid-4:has(> p.pngf-small:nth-child(2)) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-template-rows: repeat(4, auto); } }
.pngf-grid-4:has(> .pngf-stack > .pngf-small) { padding: 18px 0; border-top: 1px solid #DEDFDA; border-bottom: 1px solid #DEDFDA; gap: 16px 24px !important; }
.pngf-grid-4 > .pngf-stack { gap: 4px; }
.pngf-grid-4 > .pngf-stack > .pngf-title { font-size: 28px; line-height: 1.1; }
.pngf-grid-4 > .pngf-stack > .pngf-small { font-size: 13.5px; line-height: 1.4; }
@media (max-width: 640px) { .pngf-grid-4:has(> .pngf-stack > .pngf-small) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.wp-block-post-content > .pngf-section:first-child:not(.pngf-hero) { padding-bottom: 24px !important; }
/* Stories: tighter 'What we organise' lists */
.wp-block-column > p.pngf-strong ~ p:not([class*="pngf-"]) { margin-top: 6px !important; line-height: 1.55; }
.wp-block-column > p.pngf-strong + p:not([class*="pngf-"]) { margin-top: 10px !important; }
.wp-block-column > p.pngf-strong ~ p.pngf-small { margin-top: 14px !important; }
.wp-block-column > p.pngf-strong ~ p.pngf-small > strong:first-child::after { content: "\00a0"; }
