#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-lk-hero{text-align:center;max-width:740px;margin:0 auto;padding:38px 0 30px}
#pz-root .pz-lk-k{font:600 12px/1 'Hanken Grotesk',sans-serif;letter-spacing:.26em;text-transform:uppercase;color:#A8803A;margin:0 0 14px}
#pz-root .pz-lk-t{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(38px,6vw,62px);line-height:1.05;color:#173626;margin:0 0 16px}
#pz-root .pz-lk-t em{font-style:italic;color:#0C5C3A}
#pz-root .pz-lk-lead{line-height:1.75;color:#3d4d42;margin:0 auto;max-width:58ch}
#pz-root .pz-lk-tab{display:inline-flex;align-items:center;gap:10px;background:#0b4c30;color:#EBD9AC;font:600 12px/1 'Hanken Grotesk',sans-serif;letter-spacing:.2em;text-transform:uppercase;padding:12px 22px;border-radius:12px 12px 0 0;border:1px solid #726d46;border-bottom:0;margin:44px 0 0}
#pz-root .pz-lk-tab svg{width:14px;height:14px;color:#D6B06A}
#pz-root .pz-lk-shelf{border-top:2px solid #A8803A;padding-top:22px}
#pz-root .pz-lk-sub{margin:0 0 20px;color:#5b6a5e;line-height:1.7;max-width:70ch}
#pz-root .pz-lk-vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
#pz-root a.pz-lk-v{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:172px;border-radius:16px;padding:18px;text-decoration:none;background:#0f3222;border:1px solid #e7d3ad;overflow:hidden;opacity:0;transform:translateY(24px) rotate(1.2deg);transition:opacity .6s ease, transform .6s cubic-bezier(.2, .8, .25, 1), border-color .25s ease}
#pz-root .pz-lk-vgrid.is-rv a.pz-lk-v{opacity:1;transform:none}
#pz-root .pz-lk-vgrid.is-rv a.pz-lk-v:nth-child(2){transition-delay:0.07s}#pz-root .pz-lk-vgrid.is-rv a.pz-lk-v:nth-child(3){transition-delay:0.14s}#pz-root .pz-lk-vgrid.is-rv a.pz-lk-v:nth-child(4){transition-delay:0.21s}#pz-root .pz-lk-vgrid.is-rv a.pz-lk-v:nth-child(5){transition-delay:0.28s}#pz-root .pz-lk-vgrid.is-rv a.pz-lk-v:nth-child(6){transition-delay:0.35s}#pz-root .pz-lk-vgrid.is-rv a.pz-lk-v:nth-child(7){transition-delay:0.42s}#pz-root .pz-lk-vgrid.is-rv a.pz-lk-v:nth-child(8){transition-delay:0.49s}
#pz-root a.pz-lk-v::before{content:"";position:absolute;inset:0}
#pz-root .pz-lk-play{position:absolute;top:16px;left:16px;width:42px;height:42px;border-radius:50%;background:#294138;border:1px solid #7c744a;display:grid;place-items:center;color:#EBD9AC;transition:transform .3s ease, background .3s ease, color .3s ease}
#pz-root .pz-lk-play svg{width:17px;height:17px;margin-left:2px}
#pz-root a.pz-lk-v:hover{border-color:#D6B06A;transform:translateY(-5px)}
#pz-root a.pz-lk-v:hover .pz-lk-play{background:#D6B06A;color:#12240f;transform:scale(1.1)}
#pz-root a.pz-lk-v b{font-family:'Fraunces',serif;font-weight:500;font-size:16.5px;line-height:1.3;color:#F2EAD5;margin-bottom:5px}
#pz-root a.pz-lk-v span{font-size:12.5px;line-height:1.5;color:#b2b4a3}
#pz-root a.pz-lk-v small{margin-top:10px;font:600 10.5px/1 'Hanken Grotesk',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#D6B06A}
#pz-root .pz-lk-ogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
#pz-root a.pz-lk-o{display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid #e7dcbd;border-radius:16px;padding:16px 18px;text-decoration:none;opacity:0;transform:translateY(20px);transition:opacity .55s ease, transform .55s ease, border-color .25s ease}
#pz-root .pz-lk-ogrid.is-rv a.pz-lk-o{opacity:1;transform:none}
#pz-root .pz-lk-ogrid.is-rv a.pz-lk-o:nth-child(2){transition-delay:0.06s}#pz-root .pz-lk-ogrid.is-rv a.pz-lk-o:nth-child(3){transition-delay:0.12s}#pz-root .pz-lk-ogrid.is-rv a.pz-lk-o:nth-child(4){transition-delay:0.18s}#pz-root .pz-lk-ogrid.is-rv a.pz-lk-o:nth-child(5){transition-delay:0.24s}#pz-root .pz-lk-ogrid.is-rv a.pz-lk-o:nth-child(6){transition-delay:0.30s}#pz-root .pz-lk-ogrid.is-rv a.pz-lk-o:nth-child(7){transition-delay:0.36s}#pz-root .pz-lk-ogrid.is-rv a.pz-lk-o:nth-child(8){transition-delay:0.42s}#pz-root .pz-lk-ogrid.is-rv a.pz-lk-o:nth-child(9){transition-delay:0.48s}
#pz-root a.pz-lk-o:hover{border-color:#D6B06A}
#pz-root .pz-lk-mono{width:46px;height:46px;border-radius:12px;background:#c6a45e;display:grid;place-items:center;font-family:'Fraunces',serif;font-size:16px;color:#12240f}
#pz-root a.pz-lk-o b{display:block;font:600 15px/1.3 'Hanken Grotesk',sans-serif;color:#173626;margin-bottom:3px}
#pz-root a.pz-lk-o span{font-size:12.5px;line-height:1.5;color:#5b6a5e}
#pz-root .pz-lk-arrow{width:30px;height:30px;border-radius:50%;border:1px solid #d9caa5;display:grid;place-items:center;color:#A8803A;transition:transform .3s ease, background .3s ease, color .3s ease}
#pz-root .pz-lk-arrow svg{width:13px;height:13px}
#pz-root a.pz-lk-o:hover .pz-lk-arrow{background:#0C5C3A;border-color:#0C5C3A;color:#F2EAD5;transform:translateX(3px)}
#pz-root .pz-lk-note{margin:34px auto 0;max-width:760px;background:#fdf9ee;border:1px dashed #cbb87f;border-radius:14px;padding:16px 20px;font-size:13.5px;line-height:1.7;color:#5b6a5e;text-align:center}
@media(max-width:1020px){#pz-root .pz-lk-vgrid{grid-template-columns:repeat(2,1fr)}#pz-root .pz-lk-ogrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){#pz-root .pz-lk-vgrid,#pz-root .pz-lk-ogrid{grid-template-columns:1fr}}

#pz-root .pz-lk-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-lk-cta::after{content:"";position:absolute;inset:auto -60px -60px auto;width:220px;height:220px;border-radius:50%;border:1px solid #e9d6b2}
#pz-root .pz-lk-cta h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(26px,4vw,40px);margin:0 0 10px;color:#F2EAD5}
#pz-root .pz-lk-cta p{margin:0 auto 24px;max-width:56ch;color:#c9c7b5}
#pz-root .pz-lk-cta-r{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center}
#pz-root .pz-lk-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-lk-cta-b:hover{transform:translateY(-2px)}
#pz-root .pz-lk-cta-b svg{width:16px;height:16px}
#pz-root .pz-lk-cta-b2{background:transparent;border:1px solid #867a4e;color:#EBD9AC}
#pz-root .pz-lk-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}
