#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-mtc-hero{text-align:center;max-width:780px;margin:0 auto;padding:38px 0 6px}
#pz-root .pz-mtc-k{font:600 12px/1 'Hanken Grotesk',sans-serif;letter-spacing:.26em;text-transform:uppercase;color:#A8803A;margin:0 0 14px}
#pz-root .pz-mtc-t2{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-mtc-t2 em{font-style:italic;color:#0C5C3A}
#pz-root .pz-mtc-lead{line-height:1.75;color:#3d4d42;margin:0 auto;max-width:60ch}
#pz-root .pz-mtc-flow{display:block;width:min(420px,80%);margin:22px auto 8px;overflow:visible}
#pz-root .pz-mtc-flow .base{fill:none;stroke:#e0d2ac;stroke-width:1.5}
#pz-root .pz-mtc-flow .pulse{fill:none;stroke:#A8803A;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:26 190;animation:pz-mtc-flow 3.6s linear infinite}
#pz-root .pz-mtc-flow .node{fill:#0C5C3A;stroke:#F2EAD5;stroke-width:1.4}
@keyframes pz-mtc-flow{to{stroke-dashoffset:-216}}
#pz-root .pz-mtc-how{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:960px;margin:26px auto 44px}
#pz-root .pz-mtc-hw{background:#fff;border:1px solid #e7dcbd;border-radius:16px;padding:16px;text-align:center;opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease}
#pz-root .pz-mtc-how.is-rv .pz-mtc-hw{opacity:1;transform:none}
#pz-root .pz-mtc-how.is-rv .pz-mtc-hw:nth-child(2){transition-delay:.1s}#pz-root .pz-mtc-how.is-rv .pz-mtc-hw:nth-child(3){transition-delay:.2s}#pz-root .pz-mtc-how.is-rv .pz-mtc-hw:nth-child(4){transition-delay:.3s}
#pz-root .pz-mtc-hw b{display:block;font-family:'Fraunces',serif;font-weight:500;font-size:17px;color:#0C5C3A;margin-bottom:4px}
#pz-root .pz-mtc-hw span{font-size:13px;line-height:1.55;color:#5b6a5e}
#pz-root .pz-mtc-stage{max-width:980px;margin:0 auto}
#pz-root .pz-mtc-wrap{background:#0f3322;border:1px solid #5e603f;border-radius:26px;padding:clamp(22px,4.4vw,48px);color:#F2EAD5;position:relative;overflow:hidden}
#pz-root .pz-mtc-wrap::before{content:"";position:absolute;inset:0;pointer-events:none}
#pz-root .pz-mtc-lbl{display:block;text-align:center;font:600 11px/1 'Hanken Grotesk',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#D6B06A;margin:16px 0 10px}
#pz-root .pz-mtc-arch{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0}
#pz-root button.pz-mtc-t{appearance:none;cursor:pointer;position:relative;width:clamp(26px,5.2vw,40px);height:clamp(34px,6.4vw,50px);border-radius:46% 46% 38% 38%/54% 54% 42% 42%;border:1px solid #e4cda2;background:#f3ead4;color:#22352a;font:600 clamp(10px,1.6vw,13px)/1 'Hanken Grotesk',sans-serif;transition:transform .22s ease, background .22s ease}
#pz-root button.pz-mtc-t:hover{transform:translateY(-4px)}
#pz-root button.pz-mtc-t.is-on{background:#e2c485;border-color:#F2EAD5;color:#12240f;transform:translateY(-4px) scale(1.06)}
#pz-root button.pz-mtc-t.is-on::after{content:"";position:absolute;inset:-7px;border-radius:inherit;border:1.5px solid #ddbe86;animation:pz-mtc-rip 1s ease-out}
@keyframes pz-mtc-rip{0%{transform:scale(.7);opacity:1}100%{transform:scale(1.5);opacity:0}}
#pz-root #pz-mtc-panel{margin:22px auto 0;max-width:640px;background:#1e372f;border:1px solid #e6d0a7;border-left:4px solid #D6B06A;border-radius:16px;padding:20px 24px;transition:transform .4s ease, opacity .4s ease}
#pz-root #pz-mtc-panel h3{font-family:'Fraunces',serif;font-weight:500;font-size:20px;color:#EBD9AC;margin:0 0 8px}
#pz-root #pz-mtc-panel p{margin:0;font-size:14.5px;line-height:1.7;color:#dbd7c3}
#pz-root #pz-mtc-panel b{color:#D6B06A}
#pz-root .pz-mtc-note{max-width:760px;margin:26px auto 0;background:#fdf9ee;border:1px dashed #cbb87f;border-radius:14px;padding:16px 20px;font-size:13.5px;line-height:1.7;color:#5b6a5e}
#pz-root .pz-mtc-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;max-width:860px;margin:34px auto 0}
#pz-root .pz-mtc-lg{font:600 12.5px/1 'Hanken Grotesk',sans-serif;color:#0C5C3A;background:#eef3e4;border:1px solid #d9e3c8;border-radius:999px;padding:9px 14px;opacity:0;transform:translateY(12px);transition:opacity .55s ease, transform .55s ease}
#pz-root .pz-mtc-legwrap.is-rv .pz-mtc-lg{opacity:1;transform:none}
#pz-root .pz-mtc-legwrap.is-rv .pz-mtc-lg:nth-child(2){transition-delay:.08s}#pz-root .pz-mtc-legwrap.is-rv .pz-mtc-lg:nth-child(3){transition-delay:.16s}#pz-root .pz-mtc-legwrap.is-rv .pz-mtc-lg:nth-child(4){transition-delay:.24s}#pz-root .pz-mtc-legwrap.is-rv .pz-mtc-lg:nth-child(5){transition-delay:.32s}
#pz-root .pz-mtc-stagewrap{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .8s ease, transform .8s cubic-bezier(.2, .8, .25, 1)}
#pz-root .pz-mtc-stagewrap.is-rv{opacity:1;transform:none}
@media(max-width:760px){#pz-root .pz-mtc-how{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){#pz-root .pz-mtc-how{grid-template-columns:1fr}}

#pz-root .pz-mtc-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-mtc-cta::after{content:"";position:absolute;inset:auto -60px -60px auto;width:220px;height:220px;border-radius:50%;border:1px solid #e9d6b2}
#pz-root .pz-mtc-cta h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(26px,4vw,40px);margin:0 0 10px;color:#F2EAD5}
#pz-root .pz-mtc-cta p{margin:0 auto 24px;max-width:56ch;color:#c9c7b5}
#pz-root .pz-mtc-cta-r{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center}
#pz-root .pz-mtc-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-mtc-cta-b:hover{transform:translateY(-2px)}
#pz-root .pz-mtc-cta-b svg{width:16px;height:16px}
#pz-root .pz-mtc-cta-b2{background:transparent;border:1px solid #867a4e;color:#EBD9AC}
#pz-root .pz-mtc-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}
