/* ADP Concept (Preview): service, inner and location pages. Generated from redesign/src/inner.css. */

/* ==========================================================================
   ADP Environmental Services : service and inner pages
   Loaded after style.css. Same tokens, same shape language (the bend, the cover,
   the run). Only the modules the homepage does not have live here.
   ========================================================================== */

/* ---------------- hero: the homepage hero, carrying the page's own title and the live form ---------------- */
.hero-in{padding-bottom:clamp(70px,7.4vw,112px)}
.hero-in h1{font-size:clamp(38px,5vw,74px);line-height:1}
.hero-in h1.long{font-size:clamp(31px,3.9vw,56px);line-height:1.05}
.mf-toc{max-width:560px}
.mf-toc a{grid-template-columns:30px 1fr 18px;min-height:50px;padding:11px 6px 11px 0;font-size:clamp(15px,1.14vw,17px)}
.mf-n{font-family:var(--fd);font-weight:700;font-size:12.5px;letter-spacing:.04em;color:var(--g)}
.mf-toc .ui{opacity:.6;transform:rotate(90deg)}
.mf-toc a:hover .ui,.mf-toc a:focus-visible .ui{opacity:1;transform:rotate(90deg) translateX(3px)}
.qf-t{font-size:25px;text-transform:capitalize;margin-bottom:6px}
.qf textarea{display:block;width:100%;min-height:86px;padding:12px 14px;border:1.5px solid var(--line);border-radius:8px;font-family:var(--fb);font-size:16px;line-height:1.5;color:var(--ink);background:#fff;resize:vertical;transition:border-color .25s}
.qf textarea::placeholder{color:#9a9a9a}
.qf textarea:focus-visible{outline:3px solid #1b4e73;outline-offset:1px;border-color:var(--ink)}
.qf-in .fld{margin-bottom:10px}
.qf-in .fld input{min-height:48px}
.chk{display:flex;gap:10px;align-items:flex-start;margin:0 0 8px;font-family:var(--fb);font-weight:400;font-size:13.2px;line-height:1.45;letter-spacing:0;text-transform:none;color:#555;cursor:pointer}
.chk input{width:18px;height:18px;margin:1px 0 0;flex-shrink:0;accent-color:var(--g-700)}
.chk a{color:var(--g-800);text-decoration:underline}
.qf-in .btn{margin-top:8px}

/* ---------------- shared copy blocks ---------------- */
.copy > * + *{margin-top:14px}
.copy > .kick{margin-bottom:0}
.copy > h2,.copy > h3{margin-top:var(--s3)}
.copy > h2 + *,.copy > .lead-in + *{margin-top:20px}
.copy a:not(.btn):not(.go):not(.tel){color:var(--ac);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.copy a:not(.btn):not(.go):not(.tel):hover{text-decoration-thickness:2.5px}
.copy strong{color:var(--hd);font-weight:700}
.copy h3{font-size:clamp(20px,1.8vw,25px)}
.copy h4{font-family:var(--fd);font-weight:700;font-size:18px;color:var(--hd)}
.acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:var(--s4)!important}
.tel-in{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-family:var(--fd);font-weight:700;font-size:clamp(22px,2vw,28px);line-height:1.1;color:var(--hd)}
.tel-in svg{width:22px;height:22px;color:var(--g)}
.tel-in:hover{color:var(--ac)}
.ticks{border-top:1px solid var(--ln)}
.ticks li{position:relative;padding:13px 0 13px 42px;border-bottom:1px solid var(--ln);font-size:16px;line-height:1.55;color:var(--hd)}
.ticks li:before{content:'';position:absolute;left:0;top:12px;width:28px;height:28px;border-radius:50%;
  background:var(--g-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6b1c' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/15px no-repeat}
.t-dark .ticks li:before{background-color:rgba(95,184,69,.2);filter:brightness(1.9)}
.ticks li b{display:block;font-family:var(--fd);font-weight:700;color:var(--hd)}
.ticks li span{display:block;color:var(--tx);font-size:15.2px;margin-top:3px}
.ticks ul{margin:8px 0 0;border:0}
.ticks ul li{padding:5px 0 5px 22px;border:0;font-size:15.2px;color:var(--tx)}
.ticks ul li:before{top:14px;left:2px;width:9px;height:2px;border-radius:2px;background:var(--g)}
.olist{counter-reset:ol;border-top:1px solid var(--ln)}
.olist > li{position:relative;counter-increment:ol;padding:13px 0 13px 42px;border-bottom:1px solid var(--ln);font-size:16px;line-height:1.55;color:var(--hd)}
.olist > li:before{content:counter(ol,decimal-leading-zero);position:absolute;left:0;top:14px;font-family:var(--fd);font-weight:700;font-size:13px;color:var(--ac)}
.qa-in{margin-top:var(--s4)!important}
.qa-in summary{padding:16px 0;font-size:clamp(16px,1.35vw,18.5px);grid-template-columns:minmax(0,1fr) 38px}
.qa-in .pm{width:38px;height:38px}
.qa-in .ans{padding:0 46px 20px 0}
.qa summary h3,.qa summary h4{font:inherit;color:inherit;letter-spacing:0}
.ans > * + *{margin-top:10px}
.ans a{color:var(--ac);text-decoration:underline;text-underline-offset:3px}
.ans strong{color:var(--hd)}
.t-dark .qa{border-top-color:rgba(255,255,255,.5)}
.t-dark .qa summary{color:#fff}
.t-dark .qa summary:hover{color:var(--ac)}
.t-dark .qa .pm{border-color:rgba(255,255,255,.4)}
.t-dark .qa .pm:before,.t-dark .qa .pm:after{background:#fff}
.t-dark .qa details[open] .pm{background:var(--g);border-color:var(--g)}
.t-dark .qa details[open] .pm:before,.t-dark .qa details[open] .pm:after{background:#0f2409}
.more-d{margin-top:16px!important;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln)}
.more-d summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:12px 0;cursor:pointer;font-family:var(--fu);font-weight:500;font-size:15.5px;color:var(--ac)}
.more-d summary::-webkit-details-marker{display:none}
.more-d summary:after{content:'';width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .35s var(--out);margin-right:6px}
.more-d[open] summary:after{transform:rotate(-135deg)}
.more-d .ans{padding:0 0 18px}

/* ---------------- lead: the opening statement of a page ---------------- */
.lead-sec{padding-top:var(--s6)}
.lead-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(36px,6.4vw,104px);align-items:center}
.lead-grid.solo{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start}
.lead-grid.solo .lead-hd{position:sticky;top:calc(var(--hdr) + 40px)}
.lead-media{position:relative;z-index:2;padding:22px 0 26px 26px}
.lead-media:before{content:'';position:absolute;right:26px;top:0;width:54%;height:60%;border:2px solid var(--g);border-radius:var(--r)}
.lead-media .ph{aspect-ratio:4/3.5;box-shadow:var(--sh3)}
.lead-media .ph img{scale:1.1}
.lead-media .tagchip{left:0;bottom:0;max-width:74%}

/* ---------------- split: photograph one side, copy the other ---------------- */
.pair-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(36px,6.4vw,104px);align-items:center}
.pair.rev .pair-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.pair.rev .pair-media{order:2}
.pair-media{position:relative;z-index:2;padding:0 0 24px 24px}
.pair-media:before{content:'';position:absolute;left:0;bottom:0;width:56%;height:60%;border:2px solid var(--g);border-radius:var(--r)}
.pair.rev .pair-media{padding:0 24px 24px 0}
.pair.rev .pair-media:before{left:auto;right:0}
.pair-media .ph{aspect-ratio:4/3.5;box-shadow:var(--sh3)}
.pair-media .ph img{scale:1.1}
.pair-media .askbox{right:-26px;bottom:-30px}
.pair.rev .pair-media .askbox{right:auto;left:-26px}
.askbox.inline{position:relative;right:auto;bottom:auto;width:min(420px,100%);margin-top:var(--s4)!important}
.vid{position:relative;aspect-ratio:16/9;background:#111}
.pair-media .vid{aspect-ratio:16/10}
.vid-b{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%}
.vid-b img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .4s,transform 1.2s var(--out)}
.vid-b:hover img{opacity:.95;transform:scale(1.04)}
.vid-p{position:relative;display:grid;place-items:center;width:86px;height:86px;border-radius:50%;background:var(--g);color:#0f2409;box-shadow:0 14px 34px rgba(0,0,0,.45);transition:transform .45s var(--out)}
.vid-p svg{width:30px;height:30px;margin-left:5px;fill:currentColor}
.vid-b:hover .vid-p{transform:scale(1.1)}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------------- duo: two short answers side by side ---------------- */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.6vw,36px)}
.duo-p{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--ln);border-radius:var(--r) var(--r) var(--el) var(--r);padding:clamp(26px,3.2vw,46px);box-shadow:var(--sh1)}
.duo-p:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--g),var(--teal))}
.duo-p h2{font-size:clamp(23px,2.3vw,32px)}

/* ---------------- offer: what is included, with the two counts ---------------- */
.offer-hd{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:24px clamp(24px,5vw,84px);align-items:end;margin-bottom:var(--s5)}
.offer-hd p.lede{margin-top:14px;font-size:clamp(16.5px,1.3vw,19px);max-width:56ch}
.stats{display:flex;flex-wrap:wrap;gap:clamp(18px,3vw,46px)}
.stat{display:grid;grid-template-columns:auto 1fr;gap:3px 14px;align-items:center}
.stat .ic{grid-row:1/3;width:46px;height:46px;color:var(--hd)}
.stat b{font-family:var(--fd);font-weight:700;font-size:clamp(34px,3.7vw,54px);line-height:.92;letter-spacing:-.03em;color:var(--hd)}
.stat span{font-family:var(--fu);font-weight:500;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mu)}
.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4.4vw,72px);border-top:2px solid var(--hd)}
.of{display:grid;grid-template-columns:50px minmax(0,1fr);gap:6px 10px;align-content:start;padding:22px 0;border-bottom:1px solid var(--ln)}
.of-n{font-family:var(--fd);font-weight:700;font-size:13.5px;color:var(--ac);padding-top:.38em}
.of h3{font-size:clamp(18px,1.55vw,22px);line-height:1.28}
.of p{grid-column:2;font-size:15.2px;line-height:1.62}
.offer-foot{margin-top:var(--s4);max-width:80ch}

/* ---------------- pricing: the packages as a proper table ---------------- */
.ptable-wrap{overflow-x:auto;background:#fff;border:1px solid var(--ln);border-radius:var(--r) var(--r) var(--el) var(--r);box-shadow:var(--sh2)}
.ptable{width:100%;min-width:700px;border-collapse:collapse;font-size:15.5px;line-height:1.4}
.ptable th,.ptable td{padding:17px 22px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.ptable thead th{padding:22px;font-family:var(--fd);font-weight:700;font-size:clamp(17px,1.5vw,21px);color:#fff;background:var(--ink)}
.ptable thead th:first-child{background:var(--ink-3);font-size:15px;font-weight:500;letter-spacing:.04em}
.ptable thead th.feat{background:var(--g-800)}
.ptable tbody th{font-family:var(--fd);font-weight:500;color:var(--ink);background:#fafafa;width:28%}
.ptable td{color:#444}
.ptable td.feat{background:var(--g-50)}
.ptable td span{display:inline-flex;align-items:center;gap:9px}
.ptable td span:before{content:'';width:20px;height:20px;border-radius:50%;flex-shrink:0;background:#e9e9e9}
.ptable .v-yes span:before,.ptable .v-free span:before{background:var(--g) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f2409' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/13px no-repeat}
.ptable .v-no span:before{background:#e3e3e3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/12px no-repeat}
.ptable .v-free{color:var(--g-800);font-weight:700}
.ptable .v-yes{color:var(--ink);font-weight:600}
.ptable .v-no{color:#666}
.ptable tbody tr:last-child th,.ptable tbody tr:last-child td{border-bottom:0}
.pnote{margin-top:18px;font-size:13.8px;line-height:1.6;color:var(--mu);max-width:96ch}

/* ---------------- tiles: the routes on from a hub page ---------------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.tiles a{position:relative;overflow:hidden;display:grid;grid-template-columns:50px minmax(0,1fr) 22px;align-items:center;gap:16px;min-height:96px;padding:18px 22px;background:var(--card);border:1px solid var(--ln);
  border-radius:var(--r) var(--r) 30px var(--r);font-family:var(--fd);font-weight:700;font-size:17.5px;line-height:1.25;color:var(--hd);transition:transform .5s var(--out),box-shadow .4s,border-color .3s}
.tiles a:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--g),var(--g-800));transform:scaleY(0);transform-origin:top;transition:transform .45s var(--out)}
.tiles .ic{width:46px;height:46px}
.tiles .ui{width:20px;height:20px;color:var(--ac);transition:transform .45s var(--out)}
.tiles a:hover,.tiles a:focus-visible{transform:translateY(-4px);box-shadow:var(--sh2);border-color:transparent}
.tiles a:hover:before,.tiles a:focus-visible:before{transform:scaleY(1)}
.tiles a:hover .ui{transform:translateX(5px)}
.links-hd{margin-bottom:var(--s5);max-width:900px}

/* ---------------- posts: advice and news cards ---------------- */
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,30px)}
.pcard{display:flex;flex-direction:column;overflow:hidden;background:var(--card);border:1px solid var(--ln);border-radius:var(--r) var(--r) var(--el) var(--r);transition:transform .55s var(--out),box-shadow .4s,border-color .3s}
.pcard:hover{transform:translateY(-5px);box-shadow:var(--sh2);border-color:transparent}
.pcard-m{display:block;aspect-ratio:16/9;overflow:hidden;background:#1b1b1b}
.pcard-m img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--out)}
.pcard:hover .pcard-m img{transform:scale(1.05)}
.pcard-b{display:flex;flex-direction:column;gap:10px;flex:1;padding:20px 22px 24px}
.pcard h3{font-size:clamp(17px,1.38vw,20px);line-height:1.3}
.pcard h3 a{transition:color .25s}
.pcard h3 a:hover{color:var(--ac)}
.pcard-x{font-size:14.6px;line-height:1.6}
.pcard-meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:auto;padding-top:6px;font-family:var(--fu);font-size:13px;color:var(--mu)}
.pcard-meta a{min-height:24px;text-decoration:underline;text-underline-offset:3px}
.pcard-meta a:hover{color:var(--ac)}
.pcard .go{margin-top:auto;font-size:14.8px}
.pcard .go i{width:32px;height:32px}
.posts-intro,.posts-outro{max-width:86ch}
.posts-intro{margin-bottom:var(--s5)}
.posts-outro{margin-top:var(--s5)}
.kud .post{grid-template-columns:132px minmax(0,1.15fr) minmax(0,1fr) 58px}
.kud .th{width:132px;aspect-ratio:4/3;overflow:hidden;border-radius:10px 10px 24px 10px;background:#1b1b1b}
.kud .th img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--out)}
.kud .post:hover .th img{transform:scale(1.06)}
.kud .meta{display:block;margin-top:9px;font-family:var(--fu);font-size:13px;color:var(--mu)}

/* ---------------- proof on inner pages: the count, then the deck ---------------- */
.rev .score.count b{font-size:clamp(70px,7.6vw,112px)}
.rev h2.h-lg{margin-top:6px}
.rvw h3{font-size:clamp(17px,1.5vw,20px);color:var(--g-800);margin-bottom:14px}

/* ---------------- reviews wall ---------------- */
.rwall{columns:3;column-gap:clamp(16px,2vw,26px)}
.rv{break-inside:avoid;margin-bottom:clamp(16px,2vw,26px);background:#fff;border:1px solid var(--ln);border-radius:var(--r) var(--r) var(--el) var(--r);padding:26px 28px 28px;box-shadow:var(--sh1);transition:transform .5s var(--out),box-shadow .4s}
.rv:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.rv blockquote{margin:14px 0 18px;font-family:var(--fd);font-weight:500;font-size:clamp(16.5px,1.3vw,18.5px);line-height:1.56;color:var(--ink)}
.rv blockquote p + p{margin-top:10px}
.rv h2{font-size:18px;line-height:1.2}
.rv-t{margin-top:4px;font-family:var(--fu);font-weight:500;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--g-800)}
.rv-f{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--ln)}
.rv-f:before{content:'';width:26px;height:2px;border-radius:2px;background:var(--g);flex-shrink:0}

/* ---------------- people ---------------- */
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,44px);align-items:start}
.person{position:relative;overflow:hidden;background:#fff;border:1px solid var(--ln);border-radius:var(--r) var(--r) var(--el) var(--r);padding:clamp(26px,3.2vw,44px);box-shadow:var(--sh2)}
.person:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--g),var(--teal))}
.person-hd{display:grid;grid-template-columns:108px minmax(0,1fr);gap:22px;align-items:center;margin-bottom:20px}
.person-hd img{width:108px;height:108px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:var(--sh1)}
.person h2{font-size:clamp(23px,2.2vw,30px)}
.person .role{margin-top:5px;font-family:var(--fu);font-weight:500;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-800)}
.person .copy > * + *{margin-top:12px}
.person .lines{margin-top:18px!important;padding-top:16px;border-top:1px solid var(--ln);font-family:var(--fd);font-weight:500;font-size:16.5px;line-height:1.9;color:var(--ink)}
.person .lines a{color:var(--g-800)}

/* ---------------- contact ---------------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,96px);align-items:start}
.co-name{font-family:var(--fd);font-weight:500;font-size:clamp(19px,1.8vw,25px);line-height:1.3;color:var(--ink)}
.dlist{border-top:2px solid var(--ink)}
.dlist p{padding:15px 0;border-bottom:1px solid var(--ln);font-family:var(--fd);font-weight:500;font-size:clamp(16.5px,1.4vw,19px);line-height:1.4;color:var(--ink)}
.dlist a{color:var(--g-800)}
.dlist a:hover{text-decoration:underline}
.depots.inn{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--s4)}
.depots.inn .depot{display:block;padding:24px 26px;color:#dde1dc;font-size:15.5px;line-height:1.7}
.depots.inn .depot strong{display:block;margin-bottom:6px;font-family:var(--fu);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--g)}

/* ---------------- long-form: privacy policy ---------------- */
.prose-grid{display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,1fr);gap:clamp(30px,6vw,96px);align-items:start}
.toc{position:sticky;top:calc(var(--hdr) + 36px);padding-left:20px;border-left:4px solid var(--g);border-radius:2px}
.toc a{display:block;padding:8px 0;font-family:var(--fu);font-weight:500;font-size:14.8px;line-height:1.35;color:#555;transition:color .25s,translate .4s var(--out)}
.toc a:hover,.toc a:focus-visible{color:var(--g-800);translate:4px 0}
.prose{max-width:78ch}
.prose > * + *{margin-top:14px}
.prose h2{font-size:clamp(25px,2.5vw,36px);margin-top:1.7em;padding-top:.9em;border-top:1px solid var(--ln);scroll-margin-top:calc(var(--hdr) + 20px)}
.prose > h2:first-child{margin-top:0;padding-top:0;border-top:0}
.prose h3{font-size:clamp(20px,1.8vw,25px);margin-top:1.5em}
.prose h4{font-family:var(--fd);font-weight:700;font-size:18.5px;color:var(--hd);margin-top:1.3em}
.prose ul{list-style:disc;padding-left:1.3em}
.prose ol{list-style:decimal;padding-left:1.4em}
.prose li{margin:.45em 0}
.prose li::marker{color:var(--g-700)}
.prose a{color:var(--g-800);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.prose strong{color:var(--ink)}

/* ---------------- areas ---------------- */
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:var(--s5)}
.jump a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:10px 20px;border:1.5px solid var(--ln);border-radius:40px;background:#fff;font-family:var(--fu);font-weight:500;font-size:15.5px;color:var(--ink);transition:background .3s,color .3s,border-color .3s}
.jump a:after{content:'';width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.jump a:hover,.jump a:focus-visible{background:var(--ink);border-color:var(--ink);color:#fff}
.regs.inn .reg{transform:none!important}
.regs.inn .reg-h .sb{font-family:var(--fu);font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--g-800);margin:0 0 4px}
.regs.inn .reg-h .nm{font-size:clamp(21px,2vw,27px)}
.regs.inn h2{font:inherit}
.cov.inn{align-items:start}
.cov.inn > div:first-child{position:sticky;top:calc(var(--hdr) + 26px)}

/* ---------------- footer additions ---------------- */
.ct.flat{margin-top:0}
.ct h2.cta-h{font-size:clamp(29px,4.3vw,62px);max-width:20ch}
.sec.flat{border-top:1px solid #333}

/* ---------------- responsive ---------------- */
@media(max-width:1020px){
  .lead-grid,.lead-grid.solo,.pair-grid,.pair.rev .pair-grid,.prose-grid,.contact-grid,.offer-hd{grid-template-columns:minmax(0,1fr)}
  .lead-grid.solo .lead-hd,.toc,.cov.inn > div:first-child{position:static}
  .pair.rev .pair-media{order:0}
  .lead-media,.pair-media{max-width:620px}
  .pair-media .askbox,.pair.rev .pair-media .askbox{position:relative;left:auto;right:auto;bottom:auto;width:auto;margin:-40px 18px 0}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rwall{columns:2}
  .toc{display:none}
  .kud .post{grid-template-columns:104px minmax(0,1fr) 54px}
  .kud .th{width:104px}
}
@media(max-width:760px){
  .offer-grid,.duo,.people,.depots.inn{grid-template-columns:minmax(0,1fr)}
  .pgrid{grid-template-columns:minmax(0,1fr)}
  .rwall{columns:1}
  .person-hd{grid-template-columns:84px minmax(0,1fr);gap:16px}
  .person-hd img{width:84px;height:84px}
  .kud .post{grid-template-columns:84px minmax(0,1fr)}
  .kud .th{width:84px}
  .tiles{grid-template-columns:minmax(0,1fr)}
  .qa-in .ans{padding-right:0}
}
@media(max-width:680px){
  .hero-in h1,.hero-in h1.long{font-size:clamp(32px,9.6vw,48px)}
  .lead-media{padding:14px 0 18px 14px}
  .pair-media,.pair.rev .pair-media{padding:0 0 16px 16px}
  .pair.rev .pair-media:before{right:auto;left:0}
}

/* spacing between a section heading and what follows it */
h2.split + .copy,h2.split + .acts,.lead-hd + div > .copy:first-child{margin-top:22px}
.pair-copy > h2 + .copy,.lead-grid h2 + .copy{margin-top:22px}
.ct h2.cta-h{font-size:clamp(27px,3.7vw,54px);max-width:24ch}
.links.strip{padding-block:var(--s5)}
.posts.rp .post{grid-template-columns:minmax(0,1fr) 58px}
.askbox .ask-t{font-family:var(--fd);font-weight:700;font-size:21px;line-height:1.2;color:#fff;margin-bottom:14px}
.clients-hd b{font-family:var(--fd);font-weight:700;font-size:22px;letter-spacing:0;color:var(--ink)}
.cta-h .u{display:block;color:var(--g)}
.copy .u,.prose .u{text-decoration:underline;text-underline-offset:3px}
.ct .cta-h + .ct-grid{margin-top:var(--s5)}
.co-name{margin-top:14px}
.contact-grid .depots.inn{margin-top:var(--s4)}
.duo-p h2 + .copy{margin-top:16px}
.duo-e{font-family:var(--fu);font-weight:500;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ac);margin-bottom:10px}
.faq-l .stats{margin-top:var(--s4)}
.faq-l .copy{margin-top:var(--s3)}
.faq-l .acts{margin-top:var(--s4)}
.dlist a,.person .lines a{display:inline-block;min-height:24px}
.chk{min-height:24px}
.chk a{display:inline-block;min-height:24px}

/* ---------------- location pages ---------------- */
.qf-in .lab{display:block;margin-bottom:6px;font-family:var(--fu);font-weight:500;font-size:11.5px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:#6b6b6b}
.qf select{display:block;width:100%;min-height:48px;padding:10px 12px;border:1.5px solid var(--line);border-radius:8px;font-family:var(--fb);font-size:16px;color:var(--ink);background:#fff}
.qf select:focus-visible{outline:3px solid #1b4e73;outline-offset:1px;border-color:var(--ink)}
.qf-loc textarea{min-height:62px}
.qf-loc .fld{margin-bottom:9px}
.tiles-p{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.tiles-p a{grid-template-columns:46px minmax(0,1fr) 22px;min-height:82px;font-size:16.5px}
.pinb{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--g-50);color:var(--g-800);transition:background .35s,color .35s}
.pinb svg{width:21px;height:21px}
.tiles a:hover .pinb,.tiles a:focus-visible .pinb{background:var(--g);color:#0f2409}
.band-grid{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4.4vw,72px);align-items:start}
.band-logo img{width:clamp(96px,10.5vw,150px);height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;border:6px solid #fff;box-shadow:var(--sh3)}
.ct-copy{margin-top:20px;max-width:62ch;font-size:clamp(16.5px,1.3vw,19px);line-height:1.6;color:#dde1dc}
.band-acts{margin-top:var(--s5)}
.band-end h2.cta-h{max-width:22ch}
.mappin{position:absolute;z-index:3;display:grid;justify-items:center;translate:-50% -100%;pointer-events:none}
.mappin b{order:-1;padding:6px 11px;border-radius:7px;background:var(--g-800);color:#fff;font-family:var(--fd);font-weight:700;font-size:12.5px;line-height:1.2;white-space:nowrap;box-shadow:0 8px 18px rgba(0,0,0,.3)}
.mappin i{width:14px;height:14px;margin:5px 0 -7px;border-radius:50%;background:var(--g);border:3px solid #fff;box-shadow:0 0 0 2px var(--g-800),0 0 0 9px rgba(95,184,69,.3)}
.mapcard[data-zone~="nw"] .zone-s[data-z="nw"] .zone,.mapcard[data-zone~="ye"] .zone-s[data-z="ye"] .zone,.mapcard[data-zone~="mid"] .zone-s[data-z="mid"] .zone{fill:#93d17e;stroke:#2f6b1c;stroke-width:2.6}
.mapcard[data-zone~="east"] .zone-s[data-z="east"] .zone{filter:saturate(1.7) brightness(.93);stroke:#8a3e10;stroke-width:2.4}
@media(max-width:1020px){.band-grid{grid-template-columns:minmax(0,1fr)}}


/* ---------------- location pages: the designed sections ---------------- */
/* the place's own cast seal */
.pseal{width:128px;height:128px;flex-shrink:0}
.pseal .seal-i{inset:22%}
.pseal .seal-i .ic{width:36%;height:36%}
/* a small access cover that carries a pictogram */
.cvr{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:#1c1f1c;box-shadow:inset 0 0 0 5px #1c1f1c,inset 0 0 0 6.2px #4a524a,0 10px 18px rgba(0,0,0,.2)}
.cvr > span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--g);color:#0f2409}
.cvr .ic{width:25px;height:25px;--ia:#fff}

/* opening of the short pages: heading and lead beside the photograph, the two sub-sections as panels below */
.duo-p .cvr{margin-bottom:20px}
.duo-p h3{font-size:clamp(20px,1.9vw,26px);line-height:1.2}
.duo-p h3 + .copy{margin-top:14px}
.duo.n1{grid-template-columns:minmax(0,1fr)}
.duo.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lduo .links-hd .copy{margin-top:20px;max-width:80ch}
.lduo-pre{margin-bottom:var(--s4);max-width:80ch}
.lduo .acts,.lopen .acts{margin-top:var(--s4)}

/* opening of the longer pages */

/* why choose: the counts, then each reason as a numbered line */
.why2-l{max-width:88ch;margin-bottom:var(--s5)}
.of-p p{font-size:15.6px;line-height:1.66;grid-column:2}
.of-p .of-n{grid-row:1}
.of-p p strong{font-family:var(--fd);font-weight:700;font-size:1.13em;color:var(--hd)}
.of-p p a{color:var(--ac);text-decoration:underline;text-underline-offset:3px}
.why2 .offer-foot{color:var(--tx)}

/* steps: a run of numbered joints */
.steps{counter-reset:st;margin-top:24px!important}
.steps li{position:relative;counter-increment:st;padding:3px 0 24px 62px;font-size:15.8px;line-height:1.66}
.steps li:before{content:counter(st,decimal-leading-zero);position:absolute;left:0;top:0;z-index:1;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  border:1.5px solid var(--g-700);background:var(--bg);font-family:var(--fd);font-weight:700;font-size:12.5px;color:var(--ac)}
.steps li:after{content:'';position:absolute;left:18.5px;top:40px;bottom:0;width:3px;background:var(--ln)}
.steps li:last-child{padding-bottom:4px}
.steps li:last-child:after{display:none}
.steps strong{font-family:var(--fd);font-size:1.06em;color:var(--hd)}

/* links to nearby areas: a directory beside the map */
.near{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(18px,2.4vw,34px);margin-top:var(--s4);border-top:2px solid var(--hd)}
.near li{border-bottom:1px solid var(--ln)}
.near a{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:62px;padding:10px 4px 10px 0;font-family:var(--fd);font-weight:500;font-size:15.6px;line-height:1.3;color:var(--hd);transition:color .25s,padding .4s var(--out)}
.near .pinb{width:38px;height:38px}
.near .pinb svg{width:17px;height:17px}
.near .ui{width:16px;height:16px;color:var(--ac);opacity:.55;transition:transform .4s var(--out),opacity .3s}
.near a:hover,.near a:focus-visible{color:var(--ac);padding-left:6px}
.near a:hover .ui,.near a:focus-visible .ui{opacity:1;transform:translateX(4px)}
.near a:hover .pinb,.near a:focus-visible .pinb{background:var(--g);color:#0f2409}
.near.plain a{grid-template-columns:minmax(0,1fr) 18px}
.near-t,.lg-t{margin-top:var(--s4);font-family:var(--fu);font-weight:500;font-size:13px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--ac)}
.near-t + .near,.lg-t + .near{margin-top:12px}
.lg-a{font-family:var(--fd);font-weight:700;font-size:19px;line-height:1.3;color:var(--hd)}
.lg-x{margin-top:12px;font-size:15px;color:var(--mu)}
.mappin.s{translate:-50% 0}
.mappin.s b{order:1}
.mappin.s i{margin:-7px 0 5px}
.near.one{grid-template-columns:minmax(0,1fr)}

/* a service explained, with the other services on a card beside it */
.also{position:sticky;top:calc(var(--hdr) + 36px);overflow:hidden;border-radius:var(--r) var(--r) var(--el) var(--r);padding:clamp(26px,3vw,42px) clamp(24px,3vw,40px) clamp(30px,3.4vw,46px) clamp(30px,3.4vw,46px);box-shadow:var(--sh3)}
.also:before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--g),var(--teal))}
.also-q{font-family:var(--fd);font-weight:700;font-size:clamp(21px,2vw,27px);line-height:1.18;color:#fff}
.also-t{margin-top:16px;font-family:var(--fu);font-weight:500;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--g)}
.also-l{margin-top:10px;border-top:1px solid #4a4a4a}
.also-l li{border-bottom:1px solid #3d3d3d}
.also-l a{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:56px;padding:9px 2px;font-family:var(--fd);font-weight:500;font-size:16.5px;line-height:1.3;color:#fff;transition:color .25s,padding .4s var(--out)}
.also-l .ui{width:16px;height:16px;color:var(--g);transition:transform .4s var(--out)}
.also-l a:hover,.also-l a:focus-visible{color:var(--g);padding-left:6px}
.also-l a:hover .ui{transform:translateX(4px)}
.also-x{margin-top:14px;font-size:15px;color:#a2a7a1}
.also .btn{margin-top:22px}

/* the added close of the longer pages */
.closer p.cta-h{font-family:var(--fd);font-weight:700;font-size:clamp(27px,3.7vw,54px);line-height:1.04;letter-spacing:-.006em;color:#fff;max-width:22ch;text-wrap:balance}
.closer-s .pseal{width:clamp(108px,11vw,156px);height:clamp(108px,11vw,156px)}

@media(max-width:1020px){
  .also{position:relative;top:auto}
  .duo.n3{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
  .near{grid-template-columns:minmax(0,1fr)}
  .pseal{width:104px;height:104px}
}
@media(max-width:1020px){
}
p.qf-t{font-family:var(--fd);font-weight:700;line-height:1.08;letter-spacing:-.006em;color:var(--ink);text-wrap:balance}
/* the run tees into the section marker in the right-hand column: the logo or seal on the left sits below that line */
@media(min-width:1021px){.band-end .band-logo,.band-end .closer-s{margin-top:58px}}

/* ==========================================================================
   Second pass, 11 Oct: the client wheel and the trail under the hero, and the
   location pages laid out along a run that snakes from side to side.
   ========================================================================== */

/* ---------------- the trail: below the hero, and made of links ---------------- */
.crumbs{position:relative;background:#fff;font-family:var(--fu);font-size:13.6px;line-height:1.4;color:#6b6b6b}
.crumbs .wrap{padding-block:16px 0}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.crumbs li{display:inline-flex;align-items:center;gap:10px}
.crumbs li + li:before{content:'';width:6px;height:6px;border-right:1.5px solid #a3a3a3;border-top:1.5px solid #a3a3a3;transform:rotate(45deg)}
.crumbs a{display:inline-flex;align-items:center;min-height:28px;color:var(--g-800);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(47,107,28,.35)}
.crumbs a:hover,.crumbs a:focus-visible{text-decoration-color:currentColor}
.crumbs span{display:inline-flex;align-items:center;min-height:28px}
.crumbs [aria-current]{color:var(--ink);font-weight:500}
.crumbs + .sec{padding-top:clamp(34px,3.6vw,54px)}
.crumbs.on-mist{background:var(--mist)}

/* ---------------- the client wheel: logos ride the rim of a cast cover that turns ---------------- */
.lw{position:relative;overflow:hidden;background:linear-gradient(180deg,#e9ebe8 0,#f4f4f4 46%);padding-top:clamp(18px,2vw,26px)}
.lw:after{content:'';position:absolute;left:0;right:0;bottom:0;height:5px;z-index:3;background:linear-gradient(90deg,var(--g),var(--teal))}
.lw-top{position:relative;z-index:2;display:flex;align-items:center;gap:16px;min-height:44px}
.lw-t{display:flex;align-items:center;gap:14px;font-family:var(--fd);font-weight:500;font-size:12.5px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:#4f4f4f}
.lw-t:before{content:'';flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--g);box-shadow:0 0 0 4px rgba(95,184,69,.22)}
.lw-pp{margin-left:auto;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid #bdbdbd;background:#fff;color:var(--ink);transition:background .3s,color .3s,border-color .3s}
.lw-pp[hidden]{display:none}
.lw-pp i{display:block;width:12px;height:14px;border-left:4px solid currentColor;border-right:4px solid currentColor}
.lw-pp.is-paused i{width:0;height:0;margin-left:4px;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent currentColor}
.lw-pp:hover,.lw-pp:focus-visible{background:var(--ink);border-color:var(--ink);color:#fff}
.lw-track{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:14px var(--gut) 30px}
.lw-p{display:grid;place-items:center;width:var(--pw,172px);height:var(--ph,106px);background:#fff;border-radius:10px 10px 30px 10px;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 3px 6px rgba(0,0,0,.14),0 14px 26px rgba(0,0,0,.26)}
.lw-p[hidden]{display:none}
.lw-p img{width:auto;height:auto;max-width:76%;max-height:62%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}
.lw-rim{display:none}
.lw.on .lw-stage{position:relative;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}
.lw.on .lw-stage.grab{cursor:grabbing}
.lw.on .lw-rim{display:block;position:absolute;inset:0;width:100%;height:100%}
.lw.on .lw-track{display:block;position:absolute;inset:0;padding:0}
.lw.on .lw-p{position:absolute;left:0;top:0;will-change:transform}
.lw-cast{font-family:var(--fd);font-weight:700;font-size:14.5px;fill:#d9dfd6}
.lw-bolt{fill:#0e100e;stroke:#5d665c;stroke-width:1.3}

/* ---------------- location sections: words on the pipe's side, something to look at on the other ---------------- */
main[data-snake] > .sec{padding-block:clamp(48px,4.7vw,72px)}
main[data-snake] > .sec.pb-bend{padding-bottom:calc(clamp(48px,4.7vw,72px) + var(--bend))}
/* the call card hangs 30px below its photograph: where the pipe shows, the section keeps that much more room under it, so the crossing below never comes close */
@media(min-width:1340px){
  main[data-snake] > .sec.pair:has(.pair-media .askbox){padding-bottom:calc(clamp(48px,4.7vw,72px) + 30px)}
  main[data-snake] > .sec.pair.pb-bend:has(.pair-media .askbox){padding-bottom:calc(clamp(48px,4.7vw,72px) + 30px + var(--bend))}
}
main[data-snake] > .crumbs + .sec{padding-top:clamp(34px,3.6vw,54px)}
.lz-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(30px,5.6vw,88px);align-items:start}
.lz-r .lz-grid{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)}
.lz-r .lz-t{order:2}
.lz-v{position:static}
@media(min-width:1021px) and (min-height:720px){.lz-v{position:sticky;top:calc(var(--hdr) + 30px)}.locmap .lz-v,.lfaq .lz-v,.lopen .lz-v{position:static}}
.lz-t > h2 + .copy,.lz-t > h2 + .offer-grid{margin-top:22px}
.lz-ph{position:relative;padding:0 22px 22px 0}
.lz-ph:before{content:'';position:absolute;right:0;bottom:0;width:56%;height:58%;border:2px solid var(--g);border-radius:var(--r)}
.lz-r .lz-ph{padding:0 0 22px 22px}
.lz-r .lz-ph:before{right:auto;left:0}
.lz-ph .ph{aspect-ratio:5/4.1;box-shadow:var(--sh3)}
.lz-ph .ph img{scale:1.1}
.lz-ph.tall{max-width:480px;margin-left:auto}
.lz-ph.tall .ph{aspect-ratio:4/4.7}
.lz-r .lz-ph.tall{margin-left:0;margin-right:auto}
.lz-ph .pseal{position:absolute;left:-40px;top:-36px;z-index:2}
.lz-r .lz-ph .pseal{left:auto;right:-40px}
.lz-ph .cvr{position:absolute;left:-34px;bottom:58px;z-index:2;width:96px;height:96px;box-shadow:inset 0 0 0 6px #1c1f1c,inset 0 0 0 7.4px #4a524a,0 14px 26px rgba(0,0,0,.34)}
.lz-ph .cvr > span{width:60px;height:60px}
.lz-ph .cvr .ic{width:32px;height:32px}
.lz-r .lz-ph .cvr{left:auto;right:-34px}
.lz-plate{position:absolute;left:-36px;bottom:-6px;z-index:2;padding:20px 28px 18px;border-radius:var(--r) var(--r) 34px var(--r);box-shadow:var(--sh3)}
.lz-plate:before{content:'';position:absolute;left:0;top:14px;bottom:30px;width:5px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--g),var(--teal))}
.lz-r .lz-plate{left:auto;right:-36px}
.lz-plate .stats{gap:22px 30px}
.lz-plate .stat .ic{width:38px;height:38px}
.lz-plate .stat b{font-size:clamp(28px,2.7vw,40px)}
.lz-v .also{position:relative;top:auto}
.offer-grid.one{grid-template-columns:minmax(0,1fr);margin-top:var(--s4)}
.why2 .offer-foot{margin-top:var(--s4)}
.locmap.many .lz-grid{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr)}
.locmap.many.lz-r .lz-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}
.locmap .lz-v{position:static}
/* the questions: heading on the pipe's side, with a photograph and the number under it */
.lfaq .lz-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
.lfaq.lz-r .lz-grid{grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr)}
.lfaq .lz-t{position:sticky;top:calc(var(--hdr) + 30px)}
.lfaq .lz-v{position:static}
.lfaq-x{display:grid;gap:16px;margin-top:var(--s4);max-width:380px}
.lz-ph.sm{padding:0 14px 14px 0}
.lz-r .lz-ph.sm{padding:0 14px 14px 0}
.lz-r .lz-ph.sm:before{left:auto;right:0}
.lz-ph.sm .ph{aspect-ratio:16/9.6;box-shadow:var(--sh2)}
/* opening of the short pages: two photographs, the live one in front */
.lopen .lz-grid{margin-bottom:var(--s6)}
.lopen .lz-v{position:static}
.lz-ph2{position:relative;padding:0 0 54px 70px}
.lz-ph2 .lz-back{aspect-ratio:4/3.2;box-shadow:var(--sh3)}
.lz-ph2 .lz-back img{scale:1.1}
.lz-ph2 .lz-live{position:absolute;left:0;bottom:0;width:36%;aspect-ratio:3/4;border:7px solid #fff;border-radius:var(--r) var(--r) var(--r) 40px;box-shadow:var(--sh3)}
.lz-ph2 .pseal{position:absolute;right:-34px;top:-40px;z-index:2}
.lz-r .lz-ph2{padding:0 70px 54px 0}
.lz-r .lz-ph2 .lz-live{left:auto;right:0;border-radius:var(--r) var(--r) 40px var(--r)}
.lz-r .lz-ph2 .pseal{right:auto;left:-34px}

@media(max-width:1339px){
  .lz-ph .pseal{left:-22px}.lz-r .lz-ph .pseal{right:-22px}
  .lz-ph2 .pseal{right:-16px}.lz-r .lz-ph2 .pseal{left:-16px}
}
@media(max-width:1020px){
  .lz-grid,.lz-r .lz-grid,.lfaq .lz-grid,.lfaq.lz-r .lz-grid,.locmap.many .lz-grid,.locmap.many.lz-r .lz-grid{grid-template-columns:minmax(0,1fr)}
  .lz-r .lz-t{order:0}
  .lz-v,.lfaq .lz-t{position:static}
  .lz-ph,.lz-r .lz-ph,.lz-ph2,.lz-r .lz-ph2{max-width:560px}
  .lz-ph.tall,.lz-r .lz-ph.tall{max-width:400px;margin-inline:0}
  .lz-ph .pseal,.lz-r .lz-ph .pseal{left:auto;right:-4px;top:-30px;width:104px;height:104px}
  .lz-ph .cvr,.lz-r .lz-ph .cvr{left:16px;right:auto;bottom:40px}
  .lz-plate,.lz-r .lz-plate{position:relative;left:auto;right:auto;bottom:auto;margin:-46px 14px 0;width:fit-content}
  .lz-ph2 .pseal,.lz-r .lz-ph2 .pseal{left:auto;right:-4px;top:-30px;width:104px;height:104px}
  .lfaq-x .lz-ph{display:none}
  .lw-t{font-size:11.5px;letter-spacing:.14em}
}
@media(max-width:760px){
  .lw-p{border-radius:8px 8px 22px 8px}
  .lz-ph.opt{display:none}
  .crumbs{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.lw.on .lw-stage{cursor:default}}
@media print{.lw,.crumbs{display:none!important}}
.locmap:not(.many) .lz-grid{align-items:center}

/* the latest posts sit two across on location pages, so the list is half the height */
@media(min-width:1021px){
  main[data-snake] .kud .posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(30px,4.4vw,64px)}
  main[data-snake] .kud .post{grid-template-columns:118px minmax(0,1fr) 44px;grid-template-rows:auto auto;gap:4px 22px;align-items:center;padding-block:18px}
  main[data-snake] .kud .post .th{grid-row:1/3;width:118px}
  main[data-snake] .kud .post > div{grid-column:2;align-self:end}
  main[data-snake] .kud .post > p{grid-column:2;grid-row:2;align-self:start;font-size:14px}
  main[data-snake] .kud .post .pa{grid-column:3;grid-row:1/3;width:44px;height:44px}
  main[data-snake] .kud .post .pa svg{width:17px;height:17px}
}
/* an anchor the live page left empty rides along beside its neighbour and takes up no room */
.also-l a:empty,.near a:empty{display:none}

/* ---------------- each location's own map: the place and its postcode districts, with the coverage map as a locator ---------------- */
.lmfield{position:relative}
.lm{display:block;width:100%;height:auto}
.lm-in{position:absolute;right:12px;bottom:12px;width:25%;min-width:96px;overflow:hidden;border:3px solid #fff;border-radius:8px 8px 20px 8px;background:#dde9ee;box-shadow:0 6px 16px rgba(0,0,0,.3)}
.lm-in svg{display:block;width:100%;height:auto}
.lm-in text,.lm-in .mp-depot,.lm-in .mp-towns{display:none}
.lm-dot{position:absolute;z-index:2;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:var(--g);border:2px solid #fff;box-shadow:0 0 0 1.5px var(--g-900),0 0 0 6px rgba(47,107,28,.28)}
.lmcard[data-zone~="east"] .lm-dot{background:#e8a33c;box-shadow:0 0 0 1.5px #8a3e10,0 0 0 6px rgba(138,62,16,.25)}
.lm-foot{padding:14px 20px 16px;border-top:1px solid var(--ln);background:var(--mist)}
.lm-k{margin-bottom:9px;font-family:var(--fu);font-weight:500;font-size:11.5px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:#5f5f5f}
.pcs{display:flex;flex-wrap:wrap;gap:6px}
.pcs li{padding:4px 9px;border-radius:6px;background:#fff;border:1px solid #d5ddd0;font-family:var(--fu);font-weight:600;font-size:12.6px;line-height:1.3;letter-spacing:.02em;color:var(--g-900)}
.lmcard[data-zone~="east"] .pcs li{border-color:#ecd2b9;color:#7a3410}
.lm-foot .mapkey{padding:12px 0 0;margin-top:12px;border-top:1px solid var(--ln);background:none}
.locmap .acts{margin-top:var(--s4)}
.lm-src{margin-top:10px;font-size:10.8px;line-height:1.45;color:#767676}

/* ---------------- pages WordPress fills in itself: archives, search, 404, pages added after the build ---------------- */
.dyn{padding-block:clamp(48px,6vw,84px)}
.dyn-prose{max-width:78ch}
.dyn-intro{margin-bottom:28px}
.dyn-posts .post h2{font-size:clamp(18px,1.6vw,22px);line-height:1.26;transition:translate .5s var(--out)}
.dyn-search{margin-bottom:28px;max-width:560px}
.dyn .search-form{display:flex;gap:10px;margin:18px 0}
.dyn .search-form label{flex:1}
.dyn .search-field{width:100%;min-height:48px;padding:10px 14px;border:1.5px solid var(--line);border-radius:8px;font-family:var(--fb);font-size:16px}
.dyn .search-submit{min-height:48px;padding:0 20px;border:0;border-radius:8px;background:var(--ink);color:#fff;font-family:var(--fu);font-weight:500;font-size:15px;cursor:pointer}
.dyn .search-field:focus-visible,.dyn .search-submit:focus-visible{outline:3px solid #1b4e73;outline-offset:2px}
.dyn-go{list-style:none!important;padding:0!important;display:flex;flex-wrap:wrap;gap:10px}
.dyn-go a{display:inline-flex;min-height:44px;align-items:center;padding:0 16px;border:1.5px solid var(--line);border-radius:8px;color:var(--ink);font-family:var(--fu);font-weight:500}
.dyn-pages{margin-top:34px}
.dyn-pages .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.dyn-pages .page-numbers{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:0 12px;border:1.5px solid var(--line);border-radius:8px;color:var(--ink);font-family:var(--fu);font-weight:500}
.dyn-pages .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff}
.dyn-pages .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------------- short live pages, laid out (tools/thin_pages.py) ---------------- */
/* advice hubs: topic list beside the introduction */
.tp-topics{background:var(--ink);color:#d9ddd8;border-radius:var(--r) var(--r) var(--el) var(--r);padding:clamp(22px,2.4vw,34px);box-shadow:var(--sh3)}
.tp-topics-h{font-family:var(--fu);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#9fb39a;margin-bottom:12px}
.tp-topics ul{display:grid;gap:4px}
.tp-topics a{display:grid;grid-template-columns:44px 1fr auto 18px;align-items:center;gap:12px;min-height:54px;padding:6px 10px;border-radius:10px;color:#fff;font-family:var(--fd);font-weight:500;font-size:17px;transition:background .25s}
.tp-topics a:hover,.tp-topics a:focus-visible{background:rgba(255,255,255,.07)}
.tp-topics a:focus-visible{outline:3px solid var(--g);outline-offset:1px}
.tp-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#1b1d1b;box-shadow:inset 0 0 0 2px #3c443b}
.tp-ic .ic{width:24px;height:24px;color:#fff;--ia:var(--g)}
.tp-n{font-family:var(--fu);font-size:13px;color:#9fb39a;min-width:2ch;text-align:right}
.tp-topics a .ui{width:16px;height:16px;color:var(--g)}
.tp-topics-f{margin-top:16px;padding-top:14px;border-top:1px solid #3a3d3a;font-size:14px;color:#aeb5ad}
.tp-topics-f b{font-family:var(--fd);font-size:22px;color:#fff;margin-right:6px}
/* advice hubs: one section per topic */
.tp-topic-hd{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 28px;margin-bottom:clamp(22px,3vw,40px)}
.tp-topic-hd .kick{width:100%}
.tp-count{font-family:var(--fu);font-size:14px;color:#6b6b6b}
.tp-topic-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(22px,3.6vw,56px);align-items:start}
.tp-r .tp-topic-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.tp-r .tp-feat{order:2}
.tp-topic-grid.solo{grid-template-columns:minmax(0,1fr);max-width:760px}
.tp-feat{background:#fff;border-radius:var(--r) var(--r) var(--el) var(--r);overflow:hidden;box-shadow:var(--sh3)}
.t-light .tp-feat{box-shadow:var(--sh2);border:1px solid var(--ln)}
.tp-feat-m{display:block;aspect-ratio:16/9;overflow:hidden;background:#1d1f1d}
.tp-feat-m img{width:100%;height:100%;object-fit:cover;transition:scale .8s ease}
.tp-feat:hover .tp-feat-m img{scale:1.04}
.tp-feat-b{padding:clamp(20px,2.2vw,30px)}
.tp-feat-b h3{font-size:clamp(22px,2vw,28px);line-height:1.15}
.tp-feat-b h3 a{color:var(--ink)}
.tp-feat-b > p{margin-top:10px;font-size:15.5px;line-height:1.6}
.tp-feat-b .pcard-meta{margin-top:14px}
.tp-feat-b .go{margin-top:12px}
.tp-rows{display:grid;border-top:2px solid var(--ink)}
.tp-rows li{border-bottom:1px solid var(--ln)}
.tp-row{display:grid;grid-template-columns:92px 1fr 20px;gap:4px 16px;align-items:center;padding:14px 4px;color:var(--ink)}
.tp-row > .ui{grid-column:3;grid-row:1}
.tp-row-t a{color:var(--ink)}
.tp-row-meta{grid-column:2 / 4}
.tp-row-t a:hover b,.tp-row-t a:focus-visible b{color:var(--g-800)}
.tp-row-m{display:block;width:92px;aspect-ratio:16/10;border-radius:8px;overflow:hidden;background:#1d1f1d}
.tp-row-m img{width:100%;height:100%;object-fit:cover}
.tp-row-t b{display:block;font-family:var(--fd);font-weight:700;font-size:17px;line-height:1.25;transition:color .25s}
.tp-row-t small{margin-top:4px;font-size:13.5px;line-height:1.45;color:#6b6b6b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tp-row .ui{width:16px;height:16px;color:var(--g-800)}
.tp-row-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:#7a7a7a}
.tp-row-meta a{color:#555;text-decoration:underline;text-underline-offset:2px}
/* service hubs: the photo index sits on its own */
.tp-svc-hd{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:clamp(22px,3vw,40px)}
.tp-svc-hd .kick{margin-bottom:0}
.tp-svc-sub{font-family:var(--fu);font-size:14px;color:#6b6b6b}
.tp-index .ix-in h3 a{color:inherit}
/* contact */
.tp-contact-hd{max-width:760px;margin-bottom:clamp(24px,3vw,44px)}
.tp-ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.tp-way{display:flex;gap:14px;align-items:center;padding:20px 22px;background:#fff;border:1px solid var(--ln);border-radius:var(--r) var(--r) var(--el) var(--r);box-shadow:var(--sh2);font-size:16px;line-height:1.45}
.tp-way a{font-family:var(--fd);font-weight:700;color:var(--ink)}
.tp-way-ic{flex-shrink:0;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ink)}
.tp-way-ic .ui,.tp-way-ic .ic{width:22px;height:22px;color:var(--g)}
/* people */
.tp-portrait{position:relative;padding:0 22px 22px 0;max-width:440px;margin-left:auto}
.tp-portrait:before{content:'';position:absolute;right:0;bottom:0;width:58%;height:56%;border:2px solid var(--g);border-radius:var(--r)}
.lz-r .tp-portrait{padding:0 0 22px 22px;margin-left:0;margin-right:auto}
.lz-r .tp-portrait:before{right:auto;left:0}
.tp-portrait .ph{aspect-ratio:4/4.6;box-shadow:var(--sh3)}
.tp-lines{margin-top:18px;padding:16px 18px;background:#f4f4f4;border-radius:12px;font-size:15px;line-height:1.7}
.t-mist .tp-lines{background:#fff}
/* news */
.tp-news-m{display:block;aspect-ratio:5/4.1;overflow:hidden;box-shadow:var(--sh3)}
.tp-news-m img{width:100%;height:100%;object-fit:cover}
.tp-news-lead h2 a{color:inherit}
.tp-tl{position:relative;display:grid;gap:18px;padding-left:132px}
.tp-tl:before{content:'';position:absolute;left:112px;top:8px;bottom:8px;width:2px;background:var(--line)}
.tp-tl-i{position:relative}
.tp-tl-i:before{content:'';position:absolute;left:-26px;top:20px;width:14px;height:14px;border-radius:50%;background:var(--g);box-shadow:0 0 0 4px #f4f4f4}
.tp-tl-d{position:absolute;left:-132px;top:14px;width:96px;text-align:right;font-family:var(--fu);font-weight:500;font-size:13.5px;color:#555}
.tp-tl-c{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:start;padding:16px;background:#fff;border-radius:var(--r) var(--r) var(--el) var(--r);box-shadow:var(--sh2)}
.tp-tl-m{display:block;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:#1d1f1d}
.tp-tl-m img{width:100%;height:100%;object-fit:cover}
.tp-tl-c h3{font-size:19px;line-height:1.25}
.tp-tl-c h3 a{color:var(--ink)}
.tp-tl-c p{margin-top:6px;font-size:14.5px;line-height:1.55}
/* testimonials */
.tp-score{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:clamp(24px,3vw,40px)}
.tp-score b{font-family:var(--fd);font-size:clamp(46px,5vw,70px);line-height:1;color:#fff}
.tp-score span{color:#b9c0b8}
.tp-qs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tp-q{display:flex;flex-direction:column;gap:14px;padding:26px;background:#fff;color:#444;border-radius:var(--r) var(--r) var(--el) var(--r);box-shadow:var(--sh3)}
.tp-q blockquote{font-size:16px;line-height:1.65;flex:1}
.tp-q blockquote p + p{margin-top:8px}
.tp-q footer b{display:block;font-family:var(--fd);color:var(--ink)}
.tp-q footer span{font-size:13px;color:#777}
/* areas */
.tp-areas-hd{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}
.tp-mapbox{max-width:1040px;margin:0 auto}
.tp-region h2 .sb{display:block;font-family:var(--fu);font-weight:500;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--g-800);margin-bottom:6px}
.tp-areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:20px}
.tp-areas a{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 14px;background:#fff;border:1px solid var(--ln);border-radius:10px;color:var(--ink);font-family:var(--fd);font-weight:500;transition:border-color .25s,translate .25s}
.tp-areas a:hover,.tp-areas a:focus-visible{border-color:var(--g);translate:0 -2px}
.tp-pin .ic{width:20px;height:20px;color:var(--ink);--ia:var(--g)}
@media(max-width:1020px){
  .tp-topic-grid,.tp-r .tp-topic-grid{grid-template-columns:minmax(0,1fr)}
  .tp-r .tp-feat{order:0}
  .tp-qs{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:640px){
  .tp-tl{padding-left:22px}
  .tp-tl:before{left:4px}
  .tp-tl-i:before{left:-24px}
  .tp-tl-d{position:static;display:block;text-align:left;margin-bottom:6px}
  .tp-tl-c{grid-template-columns:minmax(0,1fr)}
  .tp-row{grid-template-columns:72px 1fr 18px}
  .tp-row-m{width:72px}
}

.tp-svc .index{margin-bottom:clamp(56px,6vw,96px)}
.tp-svc .index-list{min-height:min(560px,62vh)}

/* ==========================================================================
   ADP Concept (Preview): advice articles, company news and the author page.
   The commercial pages are dark and photographic. The articles are the same
   brand set as a reference document: light, ruled, built for reading. The pipe
   that snakes down the commercial pages becomes a short run beside the contents
   list here, filling as you read, and never crosses the text.
   ========================================================================== */
.post-main{--measure:70ch;background:#fff}

/* ---------------- hero: a ruled sheet, the question as the H1, who wrote it and when, and the form ---------------- */
.ar-hero{position:relative;overflow:hidden;background:#f7f8f6;color:#5c605b;padding-block:clamp(40px,4.6vw,72px) clamp(44px,5vw,80px);border-bottom:1px solid #e4e7e2}
.ar-hero-bg{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(6,122,100,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(6,122,100,.06) 1px,transparent 1px),
    linear-gradient(rgba(6,122,100,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(6,122,100,.035) 1px,transparent 1px);
  background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-position:-1px -1px;
  -webkit-mask-image:linear-gradient(100deg,#000 0,#000 52%,rgba(0,0,0,.35) 100%);mask-image:linear-gradient(100deg,#000 0,#000 52%,rgba(0,0,0,.35) 100%)}
.ar-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,.9fr);gap:clamp(32px,5vw,84px);align-items:start}
.ar-cat{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:clamp(14px,1.6vw,22px);font-family:var(--fu);font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.ar-cat a{color:var(--teal);text-decoration:none;border-bottom:1px solid rgba(6,122,100,.35);padding-bottom:1px}
.ar-cat a:hover{color:var(--g-800);border-color:currentColor}
.ar-cat span{display:inline-flex;align-items:center;gap:8px;color:#4e534d}
.ar-cat svg{width:17px;height:17px;color:var(--g-800)}
.ar-h1{font-size:clamp(34px,4.3vw,58px);line-height:1.04;color:var(--ink);max-width:19ch}
.ar-h1.long{font-size:clamp(30px,3.4vw,46px);max-width:24ch}
.byline{display:flex;align-items:center;gap:14px;margin-top:clamp(20px,2.2vw,30px)}
.by-av{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--g)}
.by-co{display:grid;place-items:center;background:var(--ink);color:var(--g)}
.by-co svg{width:26px;height:26px}
.by-t{display:flex;flex-direction:column;line-height:1.35}
.by-n{font-family:var(--fd);font-weight:700;font-size:17px;color:var(--ink)}
.by-n a{color:inherit;text-decoration:underline;text-decoration-color:rgba(95,184,69,.6);text-underline-offset:4px;text-decoration-thickness:2px}
.by-n a:hover{color:var(--g-800)}
.by-r{font-size:14.5px;color:#666}
.ar-meta{display:flex;flex-wrap:wrap;gap:0;margin-top:clamp(18px,2vw,26px);border-top:1px solid #dfe3dd;border-bottom:1px solid #dfe3dd}
.ar-meta div{padding:12px 22px 12px 0;margin-right:22px;border-right:1px solid #dfe3dd}
.ar-meta div:last-child{border-right:0;margin-right:0}
.ar-meta dt{font-family:var(--fu);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#7a7f78}
.ar-meta dd{font-family:var(--fd);font-weight:500;font-size:16px;color:var(--ink)}
.ar-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:clamp(22px,2.4vw,32px)}
.ar-tel{display:flex;flex-direction:column;line-height:1.15;text-decoration:none}
.ar-tel .l{font-family:var(--fu);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#7a7f78}
.ar-tel .v{font-family:var(--fd);font-weight:700;font-size:24px;color:var(--ink)}
.ar-tel:hover .v{color:var(--g-800)}
.ar-form .qf{box-shadow:var(--sh2)}
.ar-form .qf-hd{padding-right:0}
.ar-form .qf-t{font-family:var(--fd);font-weight:700;font-size:24px;line-height:1.15;color:var(--ink);margin-bottom:6px}

/* ---------------- reading grid: contents and its run, the article, a quiet contact card ---------------- */
.ar-read{padding-block:clamp(36px,4vw,64px) clamp(56px,6vw,96px)}
.ar-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,3vw,48px)}
@media(min-width:1024px){.ar-grid{grid-template-columns:220px minmax(0,1fr)}}
@media(min-width:1300px){.ar-grid{grid-template-columns:220px minmax(0,1fr) 250px}}
.ar-body{min-width:0;max-width:760px}

/* contents: on wide screens a sticky column with a short pipe beside it that fills as you read */
.ar-toc{align-self:start}
.ar-toc summary{list-style:none;cursor:pointer;font-family:var(--fu);font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);padding:14px 18px;background:var(--mist);border-radius:10px;display:flex;justify-content:space-between;align-items:center}
.ar-toc summary::-webkit-details-marker{display:none}
.ar-toc summary:after{content:'';width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .3s}
.ar-toc[open] summary:after{transform:rotate(225deg);margin-top:4px}
.ar-toc nav{position:relative;padding:14px 4px 4px 0}
.ar-toc ol{list-style:none;position:relative}
.ar-toc li a{display:grid;grid-template-columns:30px 1fr;gap:8px;padding:8px 0;text-decoration:none;color:#5c605b;font-size:14.5px;line-height:1.4}
.ar-toc li a .n{font-family:var(--fu);font-size:12px;color:#9aa097;padding-top:2px}
.ar-toc li a:hover{color:var(--ink)}
.ar-toc li a.cur{color:var(--ink);font-weight:600}
.ar-toc li a.cur .n{color:var(--g-800)}
.ar-toc-run{display:none}
@media(min-width:1024px){
  .ar-toc{position:sticky;top:calc(var(--hdr) + 28px);max-height:calc(100vh - var(--hdr) - 56px);overflow:auto;scrollbar-width:thin}
  .ar-toc summary{background:none;padding:0 0 4px;pointer-events:none}
  .ar-toc summary:after{display:none}
  .ar-toc nav{padding:14px 0 0 26px}
  .ar-toc-run{display:block;position:absolute;left:3px;top:24px;bottom:12px;width:8px;border-radius:4px;overflow:hidden;
    background:linear-gradient(90deg,rgba(98,108,96,.45),rgba(200,207,198,.55) 40%,rgba(92,102,90,.45))}
  .ar-toc-run i{position:absolute;inset:0;display:block;transform-origin:50% 0;transform:scaleY(var(--p,0));will-change:transform;
    background:linear-gradient(90deg,#2a6119,#7bd262 38%,#5fb845 62%,#2a6119)}
  .ar-toc li{position:relative}
  .ar-toc li:before{content:'';position:absolute;left:-29px;top:13px;width:14px;height:14px;border-radius:4px;background:#8a9388;
    box-shadow:inset 0 2px 0 rgba(255,255,255,.4),inset 0 -2px 0 rgba(0,0,0,.2);transition:background .4s}
  .ar-toc li.on:before{background:#2f6b1c}
}

/* the short answer: what a reader (or a model) needs before anything else */
.ar-short{position:relative;background:#fff;border:1px solid #dfe3dd;border-radius:var(--r) var(--r) var(--el) var(--r);padding:clamp(20px,2.2vw,30px) clamp(20px,2.4vw,34px) clamp(22px,2.4vw,32px) clamp(28px,3vw,42px);margin-bottom:clamp(28px,3vw,40px);box-shadow:var(--sh1)}
.ar-short:before{content:'';position:absolute;left:-1px;top:22px;bottom:30px;width:6px;border-radius:0 4px 4px 0;background:linear-gradient(90deg,#2a6119,#7bd262 40%,#5fb845)}
.ar-short-hd h2{font-family:var(--fu);font-weight:500;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}
.ar-short-a{font-family:var(--fd);font-size:clamp(18.5px,1.6vw,21px);line-height:1.5;color:var(--ink);font-weight:500}
.ar-short-k{list-style:none;display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px dashed #d7dbd5}
.ar-short-k li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:15.5px;line-height:1.55;color:#4b4f4a}
.ar-short-k svg{width:18px;height:18px;color:var(--g-800);margin-top:3px}

/* a photograph from an ADP job, captioned */
.ar-lead{margin:0 0 clamp(28px,3vw,40px)}
.ar-lead img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r) var(--r) var(--el) var(--r)}
.ar-lead figcaption{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:10px;font-family:var(--fu);font-size:13.5px;color:#6b6f6a}
.ar-lead figcaption b{font-weight:500;color:var(--g-800);letter-spacing:.06em;text-transform:uppercase;font-size:11.5px;padding-top:2px}

/* the article itself: the live copy, set for reading */
.ar-prose{font-size:clamp(16.5px,1.15vw,18px);line-height:1.78;color:#454945}
.ar-prose > *{max-width:var(--measure)}
.ar-prose > * + *{margin-top:1.05em}
.ar-prose h2{position:relative;font-size:clamp(25px,2.2vw,32px);line-height:1.15;color:var(--ink);margin-top:2.2em;padding-top:26px;border-top:1px solid #e4e7e2;scroll-margin-top:calc(var(--hdr) + 20px)}
.ar-prose h2:before{content:'';position:absolute;left:0;top:-2px;width:54px;height:3px;border-radius:2px;background:var(--g)}
.ar-prose h3{font-size:clamp(20px,1.6vw,23px);line-height:1.25;color:#1f3d33;margin-top:1.7em;scroll-margin-top:calc(var(--hdr) + 20px)}
.ar-prose h4{font-family:var(--fd);font-size:18px;line-height:1.3;color:var(--ink);margin-top:1.5em;scroll-margin-top:calc(var(--hdr) + 20px)}
.ar-prose h2 + *,.ar-prose h3 + *,.ar-prose h4 + *{margin-top:.6em}
.ar-prose a{color:var(--teal);text-decoration:underline;text-decoration-color:rgba(6,122,100,.38);text-underline-offset:3px;text-decoration-thickness:1.5px}
.ar-prose a:hover{color:var(--g-800);text-decoration-color:currentColor}
.ar-prose strong,.ar-prose b{color:#2c302b}
.ar-prose ul,.ar-prose ol{padding-left:0;list-style:none}
.ar-prose li{position:relative;padding-left:28px}
.ar-prose li + li{margin-top:.5em}
.ar-prose ul > li:before{content:'';position:absolute;left:4px;top:.72em;width:9px;height:9px;border-radius:2px;background:var(--g);box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.ar-prose ol{counter-reset:li}
.ar-prose ol > li{counter-increment:li}
.ar-prose ol > li:before{content:counter(li);position:absolute;left:0;top:.1em;font-family:var(--fu);font-weight:600;font-size:.82em;color:var(--g-800);width:20px}
.ar-prose li > ul,.ar-prose li > ol{margin-top:.5em}
.ar-prose blockquote{border-left:4px solid var(--teal);padding:4px 0 4px 20px;color:#3f433e;font-style:italic}
.ar-prose img{display:block;max-width:100%;height:auto;border-radius:var(--r)}
.ar-prose figure{margin-block:1.6em}
.ar-prose figcaption{font-size:14px;color:#6b6f6a;margin-top:8px}
.ar-prose hr{border:0;border-top:1px solid #e4e7e2;margin-block:2em}
.ar-table{max-width:100%;overflow-x:auto;border:1px solid #e1e5df;border-radius:10px}
.ar-table:focus-visible{outline:2px solid var(--g);outline-offset:2px}
.ar-table table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5;min-width:480px}
.ar-table th{background:var(--ink);color:#fff;font-family:var(--fd);font-weight:500;text-align:left;padding:12px 14px}
.ar-table td{padding:11px 14px;border-top:1px solid #e9ece7;vertical-align:top}
.ar-table tr:nth-child(even) td{background:#f7f8f6}
.ar-vid{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#111}
.ar-vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* one related service, set into the article after its second section */
.ar-svc{display:grid;grid-template-columns:1fr auto;gap:6px 24px;align-items:center;margin-block:2em;padding:20px 24px 20px 30px;border-radius:var(--r) var(--r) var(--r) var(--el);background:var(--ink);position:relative;overflow:hidden;max-width:var(--measure)}
.ar-svc:before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#5fb845,#067a64)}
.ar-svc-k{grid-column:1 / -1;font-family:var(--fu);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#a2a7a1}
.ar-prose .ar-svc a{color:#fff;text-decoration:none}
.ar-svc-s{display:inline-flex;align-items:center;gap:14px;font-family:var(--fd);font-weight:700;font-size:clamp(19px,1.6vw,23px);line-height:1.2}
.ar-svc-s .a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--g);color:#0f2409;flex-shrink:0}
.ar-svc-s .a svg{width:17px;height:17px}
.ar-svc-s:hover .a{background:#fff}
.ar-svc-tel{display:inline-flex;align-items:center;gap:8px;font-family:var(--fd);font-weight:700;font-size:18px;white-space:nowrap}
.ar-svc-tel svg{width:17px;height:17px;color:var(--g)}
.ar-prose .ar-svc li:before{display:none}

/* the quiet card on the right */
.ar-rail{display:none}
@media(min-width:1300px){
  .ar-rail{display:block;align-self:start;position:sticky;top:calc(var(--hdr) + 28px)}
}
.ar-rail-card{display:flex;flex-direction:column;gap:12px;padding:22px;background:var(--mist);border-radius:var(--r) var(--r) var(--el) var(--r)}
.ar-rail-card .l{font-family:var(--fu);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#7a7f78}
.ar-rail-card .v{font-family:var(--fd);font-weight:700;font-size:23px;color:var(--ink);text-decoration:none;margin-top:-6px}
.ar-rail-card .btn{justify-content:space-between}
.ar-rail-hub{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid #dcdfda;font-family:var(--fu);font-weight:500;font-size:14.5px;color:var(--ink);text-decoration:none}
.ar-rail-hub .a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #c9cdc7}
.ar-rail-hub .a svg{width:14px;height:14px}
.ar-rail-hub:hover{color:var(--g-800)}

/* ---------------- after the article: the author, the sources, related guides, the topic ---------------- */
.ar-author{padding-block:clamp(44px,5vw,72px);border-top:1px solid #e4e7e2;background:#fff}
.ar-author-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(22px,3vw,40px);align-items:start;max-width:980px}
.ar-author-img{width:clamp(96px,10vw,140px);height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #fff,0 0 0 7px var(--g)}
.ar-author-k{font-family:var(--fu);font-weight:500;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.ar-author-n{font-family:var(--fd);font-weight:700;font-size:clamp(24px,2.2vw,30px);color:var(--ink);line-height:1.15;margin-top:6px}
.ar-author-r{font-family:var(--fu);font-size:15px;color:var(--g-800);margin-top:2px}
.ar-author-bio{margin-top:12px;font-size:16px;line-height:1.7;color:#555a54;max-width:68ch}
.ar-author-bio p + p{margin-top:.7em}
.ar-author-all{display:inline-flex;align-items:center;gap:12px;margin-top:16px;font-family:var(--fu);font-weight:500;color:var(--ink);text-decoration:none}
.ar-author-all .a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--g);color:#0f2409}
.ar-author-all .a svg{width:15px;height:15px}
.ar-author-all:hover{color:var(--g-800)}
.ar-src{padding-block:0 clamp(40px,4.4vw,64px);background:#fff}
.ar-src .wrap{border-top:1px solid #e4e7e2;padding-top:clamp(28px,3vw,40px)}
.ar-src-k{font-family:var(--fu);font-weight:500;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
.ar-src ol{list-style:none;display:grid;gap:8px;counter-reset:s;max-width:980px}
.ar-src li{counter-increment:s;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:6px 12px;align-items:baseline;font-size:15.5px}
.ar-src li:before{content:counter(s);font-family:var(--fu);font-size:13px;color:#8b9089}
.ar-src a{color:var(--teal);text-underline-offset:3px;overflow-wrap:anywhere}
.ar-src span{font-family:var(--fu);font-size:13px;color:#7a7f78}
.ar-rel{padding-block:clamp(48px,5vw,80px)}
.ar-rel-h{font-size:clamp(26px,2.6vw,36px);margin-bottom:clamp(20px,2.4vw,32px);max-width:24ch}
.ar-cards{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
.ar-card a{display:flex;flex-direction:column;gap:12px;height:100%;padding:22px 22px 20px;background:#fff;border-radius:var(--r) var(--r) var(--el) var(--r);text-decoration:none;box-shadow:var(--sh1);transition:transform .45s var(--out),box-shadow .45s var(--out)}
.ar-card a:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.ar-card-k{display:inline-flex;align-items:center;gap:8px;font-family:var(--fu);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.ar-card-k svg{width:16px;height:16px;color:var(--g-800)}
.ar-card-t{font-family:var(--fd);font-weight:700;font-size:20px;line-height:1.25;color:var(--ink);flex:1}
.ar-card-m{font-size:13.5px;color:#7a7f78}
.ar-card .a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #d5d9d3;color:var(--ink);align-self:flex-start;transition:background .35s,color .35s}
.ar-card .a svg{width:15px;height:15px}
.ar-card a:hover .a{background:var(--g);color:#0f2409;box-shadow:none}
.ar-topic{padding-block:clamp(48px,5vw,80px);background:#fff}
.ar-topic-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(24px,4vw,64px);align-items:start}
.ar-topic-k{display:inline-flex;align-items:center;gap:8px;font-family:var(--fu);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.ar-topic-k svg{width:17px;height:17px;color:var(--g-800)}
.ar-topic-h{font-size:clamp(26px,2.6vw,36px);margin-top:8px}
.ar-topic-hubs{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:22px}
.ar-topic-l{list-style:none;columns:2;column-gap:clamp(20px,3vw,44px)}
.ar-topic-l li{break-inside:avoid;border-top:1px solid #e6e9e4}
.ar-topic-l a{display:block;padding:11px 0;color:#3d413c;text-decoration:none;font-size:15.5px;line-height:1.4}
.ar-topic-l a:hover{color:var(--g-800)}
.ar-close .cta-h{max-width:22ch}

/* ---------------- the author page ---------------- */
.aut-grid{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;max-width:1080px}
.aut-img{width:clamp(130px,15vw,200px);height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 6px #fff,0 0 0 10px var(--g)}
.aut-r{font-family:var(--fu);font-size:17px;color:var(--g-800);margin-top:8px}
.aut-bio{margin-top:14px;font-size:16.5px;line-height:1.7;max-width:62ch}
.aut-bio p + p{margin-top:.7em}
.aut-list{padding-block:clamp(44px,5vw,80px)}
.aut-h{font-size:clamp(26px,2.6vw,36px);margin-bottom:clamp(20px,2.4vw,32px)}
.aut-cols{columns:2 420px;column-gap:clamp(24px,4vw,64px)}
.aut-g{break-inside:avoid;margin-bottom:clamp(26px,3vw,40px)}
.aut-g h3{display:flex;align-items:center;gap:10px;font-size:19px;color:var(--ink);padding-bottom:10px;border-bottom:2px solid var(--ink)}
.aut-g h3 svg{width:20px;height:20px;color:var(--g-800)}
.aut-g h3 span{margin-left:auto;font-family:var(--fu);font-weight:500;font-size:13px;color:#7a7f78}
.aut-g ul{list-style:none}
.aut-g li{border-bottom:1px solid #e6e9e4}
.aut-g a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:10px 0;text-decoration:none;color:#3d413c;font-size:15.5px;line-height:1.4}
.aut-g a .d{font-family:var(--fu);font-size:13px;color:#8b9089;white-space:nowrap;padding-top:2px}
.aut-g a:hover{color:var(--g-800)}

/* ---------------- smaller screens ---------------- */
@media(max-width:1023px){
  .ar-hero-grid{grid-template-columns:minmax(0,1fr)}
  .ar-h1{max-width:none}
  .ar-body{max-width:none}
  .ar-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ar-topic-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:700px){
  .ar-meta div{padding-right:14px;margin-right:14px}
  .ar-meta dd{font-size:15px}
  .ar-cards{grid-template-columns:minmax(0,1fr)}
  .ar-topic-l{columns:1}
  .ar-author-grid,.aut-grid{grid-template-columns:minmax(0,1fr)}
  .ar-svc{grid-template-columns:minmax(0,1fr)}
  .aut-cols{columns:1}
}
@media print{
  .ar-form,.ar-rail,.ar-toc,.ar-svc,.ar-rel,.ar-topic,.ar-close,.hdr,.util,.ft,.dock{display:none!important}
  .ar-grid{display:block}
  .ar-prose{font-size:12pt;color:#000}
}
/* the closing band bends up into the section before it: that section keeps the room for the bend */
.ar-topic.pb-bend,.ar-rel.pb-bend{padding-bottom:calc(clamp(48px,5vw,80px) + var(--bend))}
/* a short post with no contents list: the article takes the first column */
@media(min-width:1024px){.ar-grid.no-toc{grid-template-columns:minmax(0,1fr)}}
@media(min-width:1300px){.ar-grid.no-toc{grid-template-columns:minmax(0,1fr) 250px}}
/* long addresses written out in the live copy wrap rather than run past the column */
.ar-prose{overflow-wrap:break-word}
.ar-prose a{overflow-wrap:anywhere}
