/* PNG Fixer Core 1.0.3 — Permits "How we handle your permit", home quote, CTA bands */
[class*="pngf-ico-"]::before { content: ""; position: absolute; width: 20px; height: 20px; background: var(--pngf-ochre, #C8873A); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: contain; mask-size: contain; }

/* Permits: first entry of the guide */
.pngf-permit-how > * { margin-top: 0 !important; }
.pngf-permit-how > h2 { margin-bottom: 10px !important; }
.pngf-permit-how > p { margin-bottom: 14px !important; }
.pngf-permit-alert { background: #FBF1E4; border-left: 3px solid var(--pngf-ochre, #C8873A); padding: 12px 16px; margin: 0 0 16px !important; }
.pngf-permit-alert > * { margin: 0 !important; font-size: 15px; line-height: 1.5; color: var(--pngf-grey, #4C504E); }
.pngf-permit-alert > * + * { margin-top: 6px !important; }
.pngf-permit-alert strong { color: var(--pngf-ink, #111413); }
.pngf-permit-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; margin: 0 0 18px !important; }
.pngf-permit-tiles > * { margin: 0 !important; }
.pngf-permit-tile { position: relative; padding: 12px 0 12px 32px; border-top: 1px solid #E8E8E3; }
.pngf-permit-tile > * { margin: 0 !important; }
.pngf-permit-tile::before { left: 0; top: 14px; }
.pngf-permit-tile h3 { font-size: 16px !important; line-height: 1.3; margin-bottom: 2px !important; }
.pngf-permit-tile p { font-size: 14.5px; line-height: 1.45; color: var(--pngf-grey, #4C504E); }
.pngf-permit-steps-title { font-size: 18px !important; margin: 0 0 12px !important; }
.pngf-permit-steps { list-style: none; counter-reset: pngf-step; padding: 0 !important; margin: 0 !important; columns: 2; column-gap: 28px; }
.pngf-permit-steps li { counter-increment: pngf-step; position: relative; break-inside: avoid; padding: 2px 0 0 34px; min-height: 26px; margin: 0 0 10px !important; font-size: 15px; line-height: 1.4; color: var(--pngf-grey, #4C504E); }
.pngf-permit-steps li::before { content: counter(pngf-step); position: absolute; left: 0; top: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--pngf-ochre, #C8873A); color: #fff; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.pngf-permit-steps li strong { color: var(--pngf-ink, #111413); }
.pngf-permit-how { margin-bottom: 12px !important; }
.pngf-toc strong { color: var(--pngf-sand, #E2B872); }
@media (max-width: 640px) { .pngf-permit-tiles { grid-template-columns: 1fr; } .pngf-permit-steps { columns: 1; } }

/* Home: quote under the "Why work with us" intro */
.pngf-quote { background: var(--pngf-ink, #111413); color: var(--pngf-paper, #F4F4F0); padding: 26px 28px 22px; border-radius: 4px; margin-top: 24px !important; }
.pngf-quote::before { content: "\201C"; display: block; font-size: 64px; font-weight: 800; line-height: 1; height: 32px; color: var(--pngf-ochre, #C8873A); }
.pngf-quote > * { margin: 0 !important; }
.pngf-quote-text { font-size: 18px !important; line-height: 1.55; font-weight: 500; text-align: justify; hyphens: auto; color: var(--pngf-paper, #F4F4F0); }
.pngf-quote-punch { margin-top: 10px !important; color: var(--pngf-sand, #E2B872); font-weight: 700; font-size: 16px !important; }
.pngf-quote-sig { margin-top: 16px !important; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; font-size: 14px !important; color: #C9CCC8; }
.pngf-quote-sig a { color: var(--pngf-sand, #E2B872) !important; font-weight: 700; text-decoration: none; border-bottom: 1.5px solid var(--pngf-ochre, #C8873A); }
@media (max-width: 600px) { .pngf-quote { padding: 22px 20px 18px; } .pngf-quote-text { text-align: left; font-size: 17px !important; } }
@media (min-width: 782px) {
	.pngf-split:has(.pngf-quote) { align-items: stretch !important; }
	.pngf-split:has(.pngf-quote) > .wp-block-column:last-child { display: flex; flex-direction: column; }
	.pngf-split:has(.pngf-quote) > .wp-block-column:last-child > figure { flex: 1 1 auto; position: relative; min-height: 300px; margin: 0 !important; }
	.pngf-split:has(.pngf-quote) > .wp-block-column:last-child > figure img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; aspect-ratio: auto !important; }
}

/* CTA band: "The first call is free." */
.pngf-cta strong { color: var(--pngf-sand, #E2B872); }
.pngf-ico-doc::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3v4a1 1 0 0 0 1 1h4'/%3E%3Cpath d='M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2z'/%3E%3Cpath d='M9 13h6M9 17h6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3v4a1 1 0 0 0 1 1h4'/%3E%3Cpath d='M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2z'/%3E%3Cpath d='M9 13h6M9 17h6'/%3E%3C/svg%3E"); }
.pngf-ico-list::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5l1.5 1.5 2.5-2.5M3.5 11.5l1.5 1.5 2.5-2.5M3.5 17.5l1.5 1.5 2.5-2.5M11 6h9M11 12h9M11 18h9'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5l1.5 1.5 2.5-2.5M3.5 11.5l1.5 1.5 2.5-2.5M3.5 17.5l1.5 1.5 2.5-2.5M11 6h9M11 12h9M11 18h9'/%3E%3C/svg%3E"); }
.pngf-ico-message::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 9h8M8 13h6'/%3E%3Cpath d='M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-5l-5 3v-3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h12z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 9h8M8 13h6'/%3E%3Cpath d='M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-5l-5 3v-3H6a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h12z'/%3E%3C/svg%3E"); }
.pngf-ico-check::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.pngf-ico-calendar::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M4 11h16M11 15h1v3'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M4 11h16M11 15h1v3'/%3E%3C/svg%3E"); }
.pngf-ico-route::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='19' r='2'/%3E%3Ccircle cx='18' cy='5' r='2'/%3E%3Cpath d='M12 19h4.5a3.5 3.5 0 0 0 0-7h-8a3.5 3.5 0 0 1 0-7H12'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='19' r='2'/%3E%3Ccircle cx='18' cy='5' r='2'/%3E%3Cpath d='M12 19h4.5a3.5 3.5 0 0 0 0-7h-8a3.5 3.5 0 0 1 0-7H12'/%3E%3C/svg%3E"); }
.pngf-ico-clock::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/svg%3E"); }
.pngf-ico-film::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2'/%3E%3Cpath d='M8 4v16M16 4v16M4 8h4M4 16h4M4 12h16M16 8h4M16 16h4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2'/%3E%3Cpath d='M8 4v16M16 4v16M4 8h4M4 16h4M4 12h16M16 8h4M16 16h4'/%3E%3C/svg%3E"); }

/* 1.0.4 — Behind the scenes strip: smaller photos, more per row */
.pngf-bts .pngf-strip > figure.wp-block-image img { height: clamp(160px, 16vw, 230px) !important; }

/* 1.0.4 — Home: "Free feasibility call" button over the first photo */
.pngf-hero { position: relative; }
.pngf-float { position: absolute; right: 0; bottom: 110px; z-index: 30; display: flex; align-items: center; gap: 14px; padding: 13px 26px 13px 16px; background: #fff; color: var(--pngf-ink, #111413) !important; text-decoration: none !important; border-radius: 40px 0 0 40px; box-shadow: 0 8px 24px rgba(0, 0, 0, .35); transform: translateX(110%); transition: transform .7s cubic-bezier(.2, .8, .2, 1), box-shadow .2s; }
.pngf-float.is-fixed { position: fixed; bottom: 32px; }
.pngf-float.is-in { transform: translateX(0); }
.pngf-float:hover { box-shadow: 0 10px 30px rgba(0, 0, 0, .45); }
.pngf-float-ic { width: 38px; height: 38px; border-radius: 50%; background: #D32F2F; color: #fff; display: flex; align-items: center; justify-content: center; flex: none; }
.pngf-float-ic svg { width: 19px; height: 19px; }
.pngf-float-txt b { display: block; font-size: 16px; font-weight: 800; line-height: 1.2; }
.pngf-float-txt small { display: block; font-size: 13px; font-weight: 600; color: var(--pngf-grey, #4C504E); }
@media (max-width: 781px) {
	.pngf-float { bottom: auto; top: 110px; padding: 9px 16px 9px 10px; gap: 10px; }
	.pngf-float-ic { width: 32px; height: 32px; }
	.pngf-float-txt b { font-size: 14px; }
	.pngf-float-txt small { display: none; }
}
@media (prefers-reduced-motion: reduce) { .pngf-float { transition: none; } }

/* 1.0.5 — Services: free call bar under the header */
.pngf-freecall { margin-top: 36px !important; background: #fff; border-left: 4px solid var(--pngf-ochre, #C8873A); border-radius: 4px; padding: 18px 22px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.pngf-freecall > * { margin: 0 !important; }
.pngf-freecall-head > * { margin: 0 !important; }
.pngf-freecall-title { font-size: 19px !important; font-weight: 800; color: var(--pngf-ink, #111413); margin-top: 2px !important; }
.pngf-freecall-list { flex: 1 1 420px; list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 10px 24px; }
.pngf-freecall-list li { position: relative; padding-left: 27px; margin: 0 !important; font-size: 14.5px; font-weight: 600; color: var(--pngf-text, #1A1C1B); line-height: 20px; }
.pngf-freecall-list li::before { left: 0; top: 0; }
.pngf-call-btn .wp-block-button__link { display: inline-flex !important; align-items: center; gap: 10px; background: var(--pngf-ink, #111413) !important; color: #fff !important; border-radius: 40px !important; padding: 9px 18px 9px 9px !important; font-size: 14.5px !important; }
.pngf-call-btn .wp-block-button__link::before { content: ''; width: 30px; height: 30px; border-radius: 50%; flex: none; background: #D32F2F url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center / 16px no-repeat; }
@media (max-width: 781px) { .pngf-freecall { padding: 16px 18px; } .pngf-freecall-list { flex-basis: 100%; } }
.pngf-ico-coin::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M14.5 9a2.5 2 0 0 0-2.5-1.5c-1.4 0-2.5.8-2.5 2s1.1 1.7 2.5 2 2.5.8 2.5 2-1.1 2-2.5 2A2.5 2 0 0 1 9.5 15M12 6v1.5M12 16.5V18'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M14.5 9a2.5 2 0 0 0-2.5-1.5c-1.4 0-2.5.8-2.5 2s1.1 1.7 2.5 2 2.5.8 2.5 2-1.1 2-2.5 2A2.5 2 0 0 1 9.5 15M12 6v1.5M12 16.5V18'/%3E%3C/svg%3E"); }
.pngf-ico-cloud::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18a4.5 4.5 0 0 1-.5-9 6 6 0 0 1 11.5 1.5 4 4 0 0 1-1 7.5z'/%3E%3Cpath d='M9 20l-1 2M13 20l-1 2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18a4.5 4.5 0 0 1-.5-9 6 6 0 0 1 11.5 1.5 4 4 0 0 1-1 7.5z'/%3E%3Cpath d='M9 20l-1 2M13 20l-1 2'/%3E%3C/svg%3E"); }
.pngf-ico-users::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 20a6 6 0 0 1 12 0M16 5a3 3 0 0 1 0 6M21 20a6 6 0 0 0-4-5.6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 20a6 6 0 0 1 12 0M16 5a3 3 0 0 1 0 6M21 20a6 6 0 0 0-4-5.6'/%3E%3C/svg%3E"); }
