#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-bl-hero{position:relative;padding:clamp(64px,9vw,120px) 0 clamp(30px,4vw,54px);overflow:hidden}
#pz-root .pz-bl-hero .pz-wrap{position:relative}
#pz-root .pz-bl-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep,#A8803A);margin-bottom:14px}
#pz-root .pz-bl-h1{font-family:var(--font-display),serif;font-weight:500;font-size:clamp(38px,6vw,64px);line-height:1.06;color:var(--ink);margin:0 0 16px}
#pz-root .pz-bl-h1 em{font-style:italic;color:var(--gold-deep,#A8803A)}
#pz-root .pz-bl-sub{max-width:560px;font-size:16.5px;line-height:1.75;color:color-mix(in srgb,var(--ink) 70%,transparent);margin:0}
#pz-root .pz-bl-sprig{position:absolute;width:clamp(96px,10vw,148px);pointer-events:none;line-height:0}
#pz-root .pz-bl-sprig.sTR{top:26px;right:2%;transform:scaleX(-1)}
#pz-root .pz-bl-sprig.sBL{bottom:-6px;left:1.5%}
#pz-root .pz-bl-sprig .sst{stroke-dasharray:300;stroke-dashoffset:300;animation:pzblDraw 1.6s ease .3s forwards}
#pz-root .pz-bl-sprig .slf{opacity:0;animation:pzblIn .9s ease 1.1s forwards}
#pz-root .pz-bl-sprig .ssw{transform-box:fill-box;transform-origin:10% 90%;animation:pzblSway 11s ease-in-out 2s infinite alternate}
@keyframes pzblDraw{to{stroke-dashoffset:0}}@keyframes pzblIn{to{opacity:1}}
@keyframes pzblSway{from{transform:rotate(-1.4deg)}to{transform:rotate(1.6deg)}}
/* featured */
#pz-root .pz-bl-feat{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border-radius:22px;overflow:hidden;background:#0b4c30;margin:10px 0 34px}
#pz-root .pz-bl-feat-tx{padding:clamp(26px,4vw,52px);color:#F2EAD5;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
#pz-root .pz-bl-feat h2{font-family:var(--font-display),serif;font-weight:500;font-size:clamp(24px,3vw,36px);line-height:1.15;margin:12px 0 12px}
#pz-root .pz-bl-feat h2 a{color:inherit;text-decoration:none}
#pz-root .pz-bl-feat h2 a:hover{color:#E9CE8F}
#pz-root .pz-bl-feat p{margin:0 0 20px;line-height:1.75;color:#d0cdba;font-size:15px}
#pz-root .pz-bl-feat-img{position:relative;min-height:260px;background:#0b4a30}
#pz-root .pz-bl-feat-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
/* chips + meta */
#pz-root .pz-bl-chip{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep,#A8803A);background:#efe2c9;border:1px solid #d9c5a1;border-radius:999px;padding:5px 11px}
#pz-root .pz-bl-feat .pz-bl-chip{color:#E9CE8F;border-color:#717454;background:#243a2e}
#pz-root .pz-bl-meta{font-size:12.5px;letter-spacing:.04em;color:color-mix(in srgb,var(--ink) 55%,transparent)}
#pz-root .pz-bl-feat .pz-bl-meta{color:#979d8e}
/* filters */
#pz-root .pz-bl-filters{display:flex;flex-wrap:wrap;gap:9px;margin:6px 0 26px}
#pz-root .pz-bl-fbtn{font:600 12.5px/1 'Hanken Grotesk',sans-serif;letter-spacing:.06em;padding:9px 16px;border-radius:999px;cursor:pointer;border:1px solid #d5c099;background:transparent;color:var(--ink);transition:all .3s ease}
#pz-root .pz-bl-fbtn:hover{border-color:#A8803A;transform:translateY(-1px)}
#pz-root .pz-bl-fbtn.on{background:#0C5C3A;border-color:#0C5C3A;color:#F2EAD5}
/* grid cards */
#pz-root .pz-bl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:40px}
#pz-root .pz-bl-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:24px 22px 20px;border-radius:18px;background:#fffdf8;border:1px solid #e3d3b6;text-decoration:none;overflow:hidden;transition:transform .5s cubic-bezier(.2, .7, .2, 1), border-color .5s ease, opacity .35s ease}
#pz-root .pz-bl-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:#bf9852}
#pz-root .pz-bl-card:hover{transform:translateY(-5px);border-color:#ae955c}
#pz-root .pz-bl-card h3{font-family:var(--font-display),serif;font-weight:500;font-size:19.5px;line-height:1.28;color:var(--ink);margin:0}
#pz-root .pz-bl-card p{margin:0;font-size:13.8px;line-height:1.7;color:color-mix(in srgb,var(--ink) 66%,transparent);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#pz-root .pz-bl-card .pz-bl-read{margin-top:auto;display:flex;align-items:center;gap:8px;font:600 13px/1 'Hanken Grotesk',sans-serif;color:var(--gold-deep,#A8803A)}
#pz-root .pz-bl-read svg{width:16px;height:16px;transition:transform .35s ease}
#pz-root .pz-bl-card:hover .pz-bl-read svg{transform:translateX(4px)}
#pz-root .pz-bl-card.hide{opacity:0;transform:scale(.96);pointer-events:none}
#pz-root .pz-bl-card.gone{display:none}
#pz-root .pz-bl-grid.armed .pz-bl-card{opacity:0;transform:translateY(18px)}
#pz-root .pz-bl-grid.armed .pz-bl-card.in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1);transition-delay:var(--d,0s)}
#pz-root .pz-bl-grid.armed .pz-bl-card.in:hover{transition-delay:0s;transform:translateY(-5px)}
/* archive note + cta */


/* article pages */
#pz-root .pz-bp-progress{position:fixed;top:0;left:0;height:3px;width:0;background:#bf9852;z-index:1200}
#pz-root .pz-bp-hero{padding:clamp(56px,8vw,104px) 0 8px;text-align:left}
#pz-root .pz-bp-h1{font-family:var(--font-display),serif;font-weight:500;font-size:clamp(30px,4.6vw,50px);line-height:1.1;color:var(--ink);margin:14px 0 12px;max-width:820px}
#pz-root .pz-bp-heroimg{margin:26px 0 8px;border-radius:20px;overflow:hidden}
#pz-root .pz-bp-heroimg img{display:block;width:100%;height:auto}
#pz-root .pz-bp-art{max-width:760px;margin:26px auto 30px;padding:0 4px}
#pz-root .pz-bp-art p{font-size:16.5px;line-height:1.85;color:color-mix(in srgb,var(--ink) 82%,transparent);margin:0 0 20px}
#pz-root .pz-bp-art > p:first-of-type::first-letter{font-family:var(--font-display),serif;font-size:3.3em;line-height:.82;float:left;padding:6px 10px 0 0;color:var(--gold-deep,#A8803A)}
#pz-root .pz-bp-art h2{font-family:var(--font-display),serif;font-weight:500;font-size:clamp(23px,2.6vw,30px);line-height:1.2;color:var(--ink);margin:40px 0 14px;padding-left:16px;border-left:3px solid #D6B06A}
#pz-root .pz-bp-art h3{font-family:var(--font-display),serif;font-weight:500;font-size:20px;color:var(--ink);margin:28px 0 10px}
#pz-root .pz-bp-art ul{margin:0 0 20px;padding-left:22px}
#pz-root .pz-bp-art li{font-size:15.5px;line-height:1.8;color:color-mix(in srgb,var(--ink) 78%,transparent);margin-bottom:6px}
#pz-root .pz-bp-art a{color:var(--gold-deep,#A8803A);text-decoration:underline;text-underline-offset:3px}
#pz-root .pz-bp-faq{border:1px solid #deccac;border-radius:14px;background:#fffdf8;margin-bottom:12px;overflow:hidden}
#pz-root .pz-bp-faq summary{cursor:pointer;list-style:none;padding:16px 18px;font:600 15.5px/1.4 'Hanken Grotesk',sans-serif;color:var(--ink);display:flex;justify-content:space-between;gap:12px;align-items:center}
#pz-root .pz-bp-faq summary::-webkit-details-marker{display:none}
#pz-root .pz-bp-faq summary::after{content:'+';font-family:var(--font-display),serif;font-size:22px;color:#A8803A;transition:transform .3s ease}
#pz-root .pz-bp-faq[open] summary::after{transform:rotate(45deg)}
#pz-root .pz-bp-faq p{padding:0 18px 16px;margin:0;font-size:14.5px}
#pz-root .pz-bp-cta{display:inline-flex;align-items:center;gap:10px;background:#e0bf7c;color:#22352a;font:700 15px/1 'Hanken Grotesk',sans-serif;padding:16px 26px;border-radius:999px;text-decoration:none;transition:transform .35s ease;margin:6px 0 10px}
#pz-root .pz-bp-cta:hover{transform:translateY(-2px)}
#pz-root .pz-bp-next{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #ddd6c6;padding-top:22px;margin-top:36px}
#pz-root .pz-bp-next a{font:600 14px/1.4 'Hanken Grotesk',sans-serif;color:var(--ink);text-decoration:none;max-width:46%}
#pz-root .pz-bp-next a:hover{color:var(--gold-deep,#A8803A)}
#pz-root .pz-bp-next small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep,#A8803A);margin-bottom:5px}
#pz-root [data-rv]{opacity:0;transform:translateY(16px);transition:opacity .7s ease, transform .7s ease}
#pz-root [data-rv].is-rv{opacity:1;transform:none}
@media(max-width:900px){#pz-root .pz-bl-grid{grid-template-columns:1fr 1fr}#pz-root .pz-bl-feat{grid-template-columns:1fr}#pz-root .pz-bl-feat-img{min-height:210px;order:-1}}
@media(max-width:640px){#pz-root .pz-bl-grid{grid-template-columns:1fr}#pz-root .pz-bl-sprig.sBL{display:none}}
@media(prefers-reduced-motion:reduce){
#pz-root .pz-bl-sprig .sst{animation:none;stroke-dashoffset:0}#pz-root .pz-bl-sprig .slf{animation:none;opacity:1}#pz-root .pz-bl-sprig .ssw{animation:none}
#pz-root .pz-bl-grid.armed .pz-bl-card{opacity:1;transform:none;transition:none}
#pz-root [data-rv]{opacity:1;transform:none;transition:none}
#pz-root .pz-bl-card,#pz-root .pz-bl-read svg,#pz-root .pz-bp-cta{transition:none}}

/* ---- 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}
