#pz-root .pz-dd.pz-dd--right{left:auto!important;right:0!important;transform:none!important}#pz-root .pz-dd.pz-dd--right::before,#pz-root .pz-dd.pz-dd--right::after{left:auto;right:22px}

#pz-root .pz-pp-hero{text-align:center;max-width:720px;margin:0 auto;padding:38px 0 30px}
#pz-root .pz-pp-k{font:600 12px/1 'Hanken Grotesk',sans-serif;letter-spacing:.26em;text-transform:uppercase;color:#A8803A;margin:0 0 14px}
#pz-root .pz-pp-t{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(38px,6vw,60px);line-height:1.05;color:#173626;margin:0 0 16px}
#pz-root .pz-pp-t em{font-style:italic;color:#0C5C3A}
#pz-root .pz-pp-lead{line-height:1.75;color:#3d4d42;margin:0 auto;max-width:56ch}
#pz-root .pz-pp-wrap{display:grid;grid-template-columns:210px 1fr;gap:clamp(24px,4vw,54px);align-items:start;max-width:1040px;margin:0 auto}
#pz-root .pz-pp-toc{position:sticky;top:96px;display:grid;gap:2px;border-left:1px solid #e4d7b6}
#pz-root .pz-pp-toc a{font:600 13px/1.35 'Hanken Grotesk',sans-serif;color:#8b9489;text-decoration:none;padding:9px 0 9px 16px;border-left:2px solid transparent;margin-left:-1.5px;transition:color .25s ease, border-color .25s ease}
#pz-root .pz-pp-toc a:hover,#pz-root .pz-pp-toc a.on{color:#0C5C3A;border-color:#A8803A}
#pz-root .pz-pp-sheet{position:relative;background:#fffdf6;border:1px solid #e7dcbd;border-radius:6px;padding:clamp(28px,4.5vw,54px);overflow:hidden}
#pz-root .pz-pp-wm{position:absolute;top:26px;right:26px;width:74px;height:74px;border-radius:14px;opacity:.16;filter:saturate(.7)}
#pz-root .pz-pp-date{display:inline-flex;align-items:center;gap:8px;background:#eef3e4;border:1px solid #d9e3c8;color:#0C5C3A;font:600 12px/1 'Hanken Grotesk',sans-serif;letter-spacing:.08em;border-radius:999px;padding:9px 14px;margin:0 0 18px}
#pz-root .pz-pp-sheet>p{line-height:1.8;color:#3d4d42;margin:0 0 14px;max-width:68ch}
#pz-root .pz-pp-sec{padding-top:30px;margin-top:18px}
#pz-root .pz-pp-sec h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(22px,2.8vw,30px);color:#173626;margin:0 0 6px}
#pz-root .pz-pp-sec .rule{display:block;height:2px;width:0;background:#bf9852;border-radius:2px;margin:0 0 14px;transition:width .8s cubic-bezier(.2, .8, .25, 1) .1s}
#pz-root .pz-pp-sec.is-rv .rule{width:64px}
#pz-root .pz-pp-sec p{line-height:1.8;color:#3d4d42;margin:0 0 12px;max-width:68ch}
#pz-root .pz-pp-sec a{color:#0C5C3A;font-weight:600;text-decoration:underline;text-decoration-color:#D6B06A;text-underline-offset:3px}
#pz-root .pz-pp-sec[data-rv]{opacity:0;transform:translateY(16px);transition:opacity .65s ease, transform .65s ease}
#pz-root .pz-pp-sec.is-rv{opacity:1;transform:none}
#pz-root .pz-pp-glance{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:6px 0 10px;padding:0;list-style:none;max-width:68ch}
#pz-root .pz-pp-glance li{position:relative;padding-left:22px;font-size:14px;line-height:1.65;color:#4a5a4f}
#pz-root .pz-pp-glance li::before{content:"";position:absolute;left:0;top:7px;width:10px;height:10px;border-radius:50%;background:#bf9852}
@media(max-width:820px){#pz-root .pz-pp-wrap{grid-template-columns:1fr}#pz-root .pz-pp-toc{display:none}#pz-root .pz-pp-glance{grid-template-columns:1fr}}

#pz-root .pz-pp-cta{margin:70px 0 10px;background:#0b4c30;border-radius:26px;padding:clamp(34px,6vw,64px);text-align:center;color:#F2EAD5;position:relative;overflow:hidden}
#pz-root .pz-pp-cta::after{content:"";position:absolute;inset:auto -60px -60px auto;width:220px;height:220px;border-radius:50%;border:1px solid #e9d6b2}
#pz-root .pz-pp-cta h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(26px,4vw,40px);margin:0 0 10px;color:#F2EAD5}
#pz-root .pz-pp-cta p{margin:0 auto 24px;max-width:56ch;color:#c9c7b5}
#pz-root .pz-pp-cta-r{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center}
#pz-root .pz-pp-cta-b{display:inline-flex;align-items:center;gap:9px;background:#d6b169;color:#12240f;font:600 14px/1 'Hanken Grotesk',sans-serif;letter-spacing:.04em;padding:15px 24px;border-radius:999px;text-decoration:none;transition:transform .2s ease}
#pz-root .pz-pp-cta-b:hover{transform:translateY(-2px)}
#pz-root .pz-pp-cta-b svg{width:16px;height:16px}
#pz-root .pz-pp-cta-b2{background:transparent;border:1px solid #867a4e;color:#EBD9AC}
#pz-root .pz-pp-cta-t{color:#D6B06A;text-decoration:none;font:600 14px/1 'Hanken Grotesk',sans-serif}
@media(prefers-reduced-motion:reduce){#pz-root [data-rv]{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}#pz-root *{animation-duration:.001s!important}}

/* ---- build override: split-theme reveal ----
   The split theme mirrors the wipe gradient for every second heading (.sp-r uses
   270deg instead of 90deg) but reuses the SAME mask-position for both states.
   Mirroring the gradient swaps which end is opaque, so for .sp-r the "revealed"
   position (0 0) is the transparent end: those headings vanish when revealed.
   The source tried to switch this off with mask:none, but that selector sits at
   lower specificity than .sp-r / .is-rv and never applied. Switch it off properly. */
body[data-anim="split"] #pz-blog .pz-bp-art [data-rv],
body[data-anim="split"] #pz-blog .pz-bp-art [data-rv].sp-r,
body[data-anim="split"] #pz-blog .pz-bp-art [data-rv].is-rv,
body[data-anim="split"] #pz-blog .pz-bp-art [data-rv].sp-r.is-rv{-webkit-mask:none;mask:none}

/* Article layout: the hero title sat left-aligned in the full-width wrap while
   the body was a 760px column centred inside it, so the copy read as indented
   by ~190px. Put the hero on the same measure. box-sizing is border-box, so the
   wrap's own gutter has to be added back. */
#pz-root .pz-bp-hero .pz-wrap{max-width:calc(760px + 2*var(--gutter))}
#pz-root .pz-bp-art{padding-left:0;padding-right:0}

/* "Areas we serve" directory on the service hubs. Plain multi-column list of
   links: these pages had no inbound links at all after the migration. */
#pz-root .pz-areas{padding-top:0}
#pz-root .pz-areas .pz-h2{font-size:clamp(23px,2.6vw,32px);margin:0 0 20px}
#pz-root .pz-areas-list{columns:3;column-gap:36px;list-style:none;padding:0;margin:0}
#pz-root .pz-areas-list li{break-inside:avoid;margin:0 0 10px}
#pz-root .pz-areas-list a{font-size:14.5px;line-height:1.5;color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
#pz-root .pz-areas-list a:hover{border-bottom-color:var(--gold-deep)}
@media(max-width:980px){#pz-root .pz-areas-list{columns:2}}
@media(max-width:640px){#pz-root .pz-areas-list{columns:1}}

/* the featured card is a 2-column grid; with no image panel it must not hold a dead column */
#pz-root .pz-bl-feat:not(:has(.pz-bl-feat-img)){grid-template-columns:1fr}
