/* p42 skin v2 — token-driven. Every colour, font, radius and rhythm value comes from the per-site
   :root block written by p42_head_tokens(); this file contains no site-specific value at all.
   Contract enforced by the palette gate: text only ever sits on paper/card/tint/tint2, or white on
   acc/acc2/deep. --line is decorative; --edge is the 3:1 boundary used wherever a control is outlined.
   order: base > chrome > home blocks > shop > single > journal > theme pages > responsive */

/* ---------------------------------------------------------------- base */
html.p42-lock{overflow:hidden}
body.p42-doc{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--fb);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.p42-doc *,body.p42-doc *::before,body.p42-doc *::after{box-sizing:border-box}
body.p42-doc img{max-width:100%;height:auto;display:block}
body.p42-doc svg{flex:none}
body.p42-doc a{color:var(--acc);text-decoration:none}
body.p42-doc a:hover{color:var(--acc2);text-decoration:underline}
body.p42-doc a:focus-visible,body.p42-doc button:focus-visible,body.p42-doc input:focus-visible,body.p42-doc select:focus-visible,body.p42-doc textarea:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
body.p42-doc h1,body.p42-doc h2,body.p42-doc h3,body.p42-doc h4{font-family:var(--fh);line-height:1.12;margin:0;color:var(--ink);font-weight:700}
body.p42-doc p{margin:0 0 1em}
body.p42-doc address{font-style:normal}
body.p42-doc ul,body.p42-doc ol{margin:0;padding:0;list-style:none}
body.p42-doc table{border-collapse:collapse}

.p42-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}
body .p42-skip,body.p42-doc .p42-skip{position:absolute;left:-9999px;top:8px;background:var(--deep);color:#fff!important;padding:14px 18px;z-index:10000;text-decoration:none;font-weight:700}
.p42-skip:focus{left:8px}

.p42-wrap{max-width:var(--hx-wrap);margin:0 auto;padding-left:20px;padding-right:20px}
.p42-sec{padding-block:var(--hx-pad)}
.p42-sec+.p42-sec{padding-top:0}
.p42-sec:last-of-type{padding-bottom:var(--hx-pad)}

.p42-h1{font-size:clamp(34px,5vw,64px);letter-spacing:-.015em;line-height:1.03;margin:0 0 18px}
.p42-h2{font-size:clamp(25px,2.8vw,37px);letter-spacing:-.005em}
.p42-h3{font-size:20px;margin-bottom:8px;line-height:1.2}
.p42-kicker{font-family:var(--fm);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2);margin:0 0 14px}
p.p42-sub{font-family:var(--fm);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);margin:8px 0 0}
.p42-lead{font-size:18px;line-height:1.6;color:var(--ink2);max-width:62ch;margin:0 0 24px}
.p42-dot{color:var(--ink2);padding:0 3px}
.p42-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;border-bottom:2px solid var(--kraft);padding-bottom:12px;margin-bottom:calc(var(--hx-gap) + 6px);flex-wrap:wrap}
.p42-sec-aside{font-family:var(--fm);font-size:12px;color:var(--ink2);margin:0;letter-spacing:.06em;max-width:46ch}
.p42-textlink{font-family:var(--fh);text-transform:uppercase;font-weight:700;font-size:16px;letter-spacing:.04em;display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:var(--acc)}
.p42-foot-note{font-family:var(--fm);font-size:12px;line-height:1.6;color:var(--ink2);margin:14px 0 0}
.p42-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 16px}
.p42-hero-note{font-family:var(--fm);font-size:13px;color:var(--ink2);margin:0}

.p42-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;background:var(--acc)!important;color:#fff!important;font-family:var(--fh);font-weight:700;font-size:18px;letter-spacing:.04em;text-transform:uppercase;border:2px solid var(--acc);border-radius:var(--r);cursor:pointer;text-decoration:none!important;line-height:1.1;text-align:center}
.p42-btn:hover{background:var(--acc2)!important;border-color:var(--acc2)}
.p42-btn-o{background:transparent!important;color:var(--deep)!important;border-color:var(--deep)}
.p42-btn-o:hover{background:var(--deep)!important;color:#fff!important;border-color:var(--deep)}
.p42-btn-sm{min-height:40px;padding:0 14px;font-size:15px}

.p42-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.p42-ledger{width:100%;font-variant-numeric:tabular-nums;background:var(--card);border:1px solid var(--edge)}
.p42-ledger th,.p42-ledger td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;font-size:15px}
.p42-ledger thead th{background:var(--acc2);color:#fff;font-family:var(--fm);font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;padding:11px 14px;border:0}
.p42-ledger tbody tr:nth-child(even){background:var(--tint2)}
.p42-ledger tbody th{font-weight:700}
.p42-ledger tbody th a{color:var(--ink)}
.p42-ledger tbody tr:last-child td,.p42-ledger tbody tr:last-child th{border-bottom:0}
.p42-ledger .num{font-family:var(--fm);white-space:nowrap;font-size:14px}
.p42-ledger .p42-pu{color:var(--acc);font-weight:700}
.p42-viewcell{text-align:right}
.p42-view{font-family:var(--fh);text-transform:uppercase;font-weight:700;letter-spacing:.05em;display:inline-block;min-height:40px;line-height:40px;padding:0 8px;color:var(--acc)}
.p42-pu-tick{display:inline-block;font-family:var(--fm);font-size:12px;line-height:1.35;letter-spacing:.05em;text-transform:uppercase;color:var(--acc2);border:1px dashed var(--kraft);padding:4px 8px;border-radius:var(--r);background:var(--card);font-style:normal;white-space:nowrap}

/* dark panels: the only place white text is painted, and only on --deep */
.p42-panel-deep{background:var(--deep);color:#fff;padding:calc(var(--hx-pad) * .8) 20px;border-radius:var(--r);max-width:var(--hx-wrap);margin-inline:auto}
.p42-panel-deep h2,.p42-panel-deep h3,.p42-panel-deep p,.p42-panel-deep dt,.p42-panel-deep dd{color:#fff}
.p42-panel-deep a{color:var(--tint)}
.p42-panel-deep .p42-dot{color:var(--tint)}
.p42-sec-head-inv{border-bottom-color:rgba(255,255,255,.35)}
.p42-sec-head-inv .p42-sec-aside{color:var(--tint)}

/* ---------------------------------------------------------------- header (6 variants) */
.p42-hd{background:var(--card);border-bottom:1px solid var(--edge);position:relative;z-index:50}
.p42-hd-util{background:var(--deep);color:#fff;font-size:13px}
.p42-hd-util a{color:#fff;text-decoration:underline}
.p42-hd-util .p42-dot{color:var(--tint)}
.p42-hd-util-in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px;padding-block:6px;flex-wrap:wrap}
.p42-util-c{margin-inline:auto;text-align:center}
.p42-hd-rail{background:var(--tint2);border-bottom:1px solid var(--line);font-size:13px;color:var(--ink2)}
.p42-hd-rail a{color:var(--acc2)}
.p42-hd-rail-in{display:flex;justify-content:space-between;gap:16px;min-height:36px;align-items:center;flex-wrap:wrap;padding-block:5px}

.p42-brand{display:inline-flex;flex-direction:column;gap:2px;text-decoration:none!important;min-height:44px;justify-content:center}
.p42-wordmark{font-family:var(--fh);font-weight:700;font-size:clamp(21px,2.3vw,30px);letter-spacing:-.01em;color:var(--ink);line-height:1.05}
.p42-brand .p42-ticket{font-family:var(--fm);font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink2)}
.p42-hd-tag{font-size:14px;color:var(--ink2);margin:6px 0 0;max-width:42ch}

.p42-nav ul{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.p42-nav>ul>li{position:relative}
.p42-nav>ul>li>a{display:inline-flex;align-items:center;gap:6px;min-height:46px;padding:0 13px;font-family:var(--fh);font-weight:600;font-size:17px;letter-spacing:.02em;color:var(--ink);text-transform:uppercase;border-radius:var(--r)}
.p42-nav>ul>li>a:hover{background:var(--tint2);color:var(--acc2);text-decoration:none}
.p42-nav ul.p42-sub{display:none;position:absolute;top:100%;left:0;flex-direction:column;gap:0;min-width:248px;background:var(--card);border:1px solid var(--edge);border-radius:var(--r);box-shadow:0 12px 28px rgba(0,0,0,.14);padding:6px;z-index:60}
.p42-nav li.p42-has-kids:hover>ul.p42-sub,.p42-nav li.p42-has-kids:focus-within>ul.p42-sub,.p42-nav li.p42-has-kids.is-open>ul.p42-sub{display:flex}
.p42-nav ul.p42-sub li{width:100%}
.p42-nav ul.p42-sub a{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:42px;padding:0 12px;font-size:15px;color:var(--ink);border-radius:var(--r)}
.p42-nav ul.p42-sub a:hover{background:var(--tint2);text-decoration:none}
.p42-nav ul.p42-sub a span{font-family:var(--fm);font-size:12px;color:var(--ink2)}

.p42-tools{display:flex;align-items:center;gap:8px}
.p42-search{display:flex;align-items:center;border:1px solid var(--edge);border-radius:var(--r);background:var(--card);overflow:hidden;min-width:190px}
.p42-search input[type=search]{border:0;background:transparent;padding:0 12px;min-height:44px;font:inherit;font-size:15px;color:var(--ink);width:100%;min-width:0}
.p42-search input[type=search]::placeholder{color:var(--ink2);opacity:1}
.p42-search button{border:0;background:var(--acc);color:#fff;min-width:46px;min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;font:inherit}
.p42-search button:hover{background:var(--acc2)}
.p42-tool{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:48px;min-height:48px;color:var(--ink);position:relative;border-radius:var(--r);padding:0 6px}
.p42-tool:hover{background:var(--tint2);text-decoration:none;color:var(--acc2)}
.p42-tool-t{font-family:var(--fm);font-size:12px;letter-spacing:.04em;line-height:1}
.p42-cartcount{position:absolute;top:1px;right:1px;min-width:19px;height:19px;border-radius:999px;background:var(--acc);color:#fff;font-family:var(--fm);font-size:12px;line-height:19px;text-align:center;padding:0 5px}
.p42-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;border:1px solid var(--edge);border-radius:var(--r);background:var(--card);cursor:pointer;padding:0 12px}
.p42-burger span:not(.p42-sr){display:block;height:2px;background:var(--ink);border-radius:2px}

.p42-hd-main-in{display:flex;align-items:center;gap:var(--hx-gap);min-height:78px;padding-block:10px}
.p42-hdv-counter .p42-hd-main-in .p42-nav{margin-inline:auto}
.p42-hdv-counter .p42-hd-main-in .p42-tools{margin-left:auto}
.p42-hdv-left .p42-hd-main-in .p42-nav{margin-right:auto}
.p42-hdv-left .p42-hd-main-in{gap:28px}
.p42-hdv-stack .p42-hd-top-in{display:flex;align-items:center;gap:var(--hx-gap);min-height:86px;padding-block:12px}
.p42-hdv-stack .p42-brand{margin-inline:auto;align-items:center;text-align:center}
.p42-hdv-stack .p42-hd-top-in .p42-tools{margin-left:auto}
.p42-hdv-stack .p42-hd-navrow{border-top:1px solid var(--line);background:var(--tint2)}
.p42-hdv-stack .p42-nav>ul{justify-content:center}
.p42-hdv-rail .p42-navbox{margin-inline:auto;background:var(--tint2);border:1px solid var(--line);border-radius:var(--r);padding:2px 8px}
.p42-hdv-rail .p42-hd-main-in .p42-tools{margin-left:auto}
.p42-hd-panel-in{display:flex;align-items:flex-start;gap:var(--hx-gap);padding-block:18px}
.p42-hd-panel-in .p42-tools{margin-left:auto;align-self:center}
.p42-hd-panelnav{border-top:1px solid var(--line);padding-top:4px;padding-bottom:4px}
.p42-hdv-panel .p42-nav>ul>li>a{padding-inline:0;margin-right:26px}
.p42-hdv-panel .p42-nav>ul>li>a:hover{background:transparent;box-shadow:inset 0 -3px 0 var(--acc)}
.p42-hdv-split .p42-wrap{position:relative}
.p42-hd-split-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--hx-gap);min-height:82px;padding-block:10px}
.p42-hd-split-in .p42-brand{align-items:center;text-align:center}
.p42-hd-split-in .p42-tools{justify-content:flex-end}

/* drawer */
.p42-drawer[hidden]{display:none}
.p42-drawer{position:fixed;inset:0;z-index:9000}
.p42-drawer-scrim{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.p42-drawer-panel{position:absolute;top:0;left:0;bottom:0;width:min(88vw,360px);background:var(--card);padding:16px 18px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}
.p42-drawer-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.p42-drawer-x{width:48px;height:48px;border:1px solid var(--edge);border-radius:var(--r);background:var(--card);font-size:26px;line-height:1;cursor:pointer;color:var(--ink)}
.p42-search-m{min-width:0}
.p42-search-m button{padding:0 14px;font-family:var(--fh);text-transform:uppercase;font-weight:700;letter-spacing:.05em;font-size:15px}
.p42-mnav a{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:50px;border-bottom:1px solid var(--line);font-family:var(--fh);font-weight:600;font-size:18px;text-transform:uppercase;color:var(--ink)}
.p42-mnav ul a{min-height:44px;font-family:var(--fb);font-size:15px;text-transform:none;font-weight:400;padding-left:14px;color:var(--ink2)}
.p42-mnav ul a span{font-family:var(--fm);font-size:12px}
.p42-drawer-foot{margin-top:auto;font-size:14px;color:var(--ink2);line-height:1.7}

/* ---------------------------------------------------------------- footer (5 variants) */
.p42-ft{background:var(--deep);color:#fff;margin-top:var(--hx-pad);font-size:15px}
.p42-ft a{color:var(--tint)}
.p42-ft a:hover{color:#fff}
.p42-ft .p42-dot{color:var(--tint)}
.p42-ft-h{font-family:var(--fh);font-size:14px;letter-spacing:.13em;text-transform:uppercase;color:#fff;margin:0 0 14px;font-weight:700}
.p42-ft-col li,.p42-ft-shop p{margin:0 0 9px}
.p42-ft-col a{display:inline-block;min-height:28px;line-height:28px}
.p42-ft-shop address{margin-bottom:9px;line-height:1.7;color:var(--tint)}
.p42-ft-hours,.p42-ft-ship{font-family:var(--fm);font-size:13px;line-height:1.6;color:var(--tint)}
.p42-ft-social a{margin-right:4px}
.p42-ft-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--hx-gap);padding-block:calc(var(--hx-pad) * .75)}
.p42-ft-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1.4fr;gap:var(--hx-gap);padding-block:calc(var(--hx-pad) * .75)}
.p42-ft-ledger{width:100%;font-variant-numeric:tabular-nums}
.p42-ft-ledger td{padding:7px 8px 7px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:14px}
.p42-ft-ledger .num{font-family:var(--fm);white-space:nowrap;color:var(--tint)}
.p42-ft-band{background:var(--acc2);border-bottom:1px solid rgba(255,255,255,.2)}
.p42-ft-band ul{display:flex;flex-wrap:wrap;gap:10px 32px;padding-block:16px;justify-content:center}
.p42-ft-band li{font-family:var(--fm);font-size:13px;letter-spacing:.04em;color:#fff}
.p42-ft-split{display:grid;grid-template-columns:1fr 2fr;gap:calc(var(--hx-gap) * 1.6);padding-block:calc(var(--hx-pad) * .75)}
.p42-ft-splitr{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--hx-gap)}
.p42-ft-rows{padding-block:calc(var(--hx-pad) * .7)}
.p42-ft-rowline{display:grid;grid-template-columns:200px 1fr;gap:var(--hx-gap);padding-block:16px;border-bottom:1px solid rgba(255,255,255,.18);align-items:baseline}
.p42-ft-rowline .p42-ft-h{margin:0}
.p42-ft-rowline p{margin:0;line-height:2}
.p42-ft-rows .p42-ft-shop{padding-top:22px}
.p42-ft-bar{border-top:1px solid rgba(255,255,255,.22)}
.p42-ft-bar-in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:18px;font-family:var(--fm);font-size:13px;color:var(--tint)}

/* ---------------------------------------------------------------- hero (9 variants) */
.sec--hero{padding-top:calc(var(--hx-pad) * .7)}
.p42-hero-in{display:block}
.p42-hero-copy{max-width:62ch}
.p42-hero-fig img,.p42-hero-plate img,.p42-hero-inset img{border-radius:var(--r)}

/* plate: a wide image plate above the copy */
.p42-hero-plate{margin-bottom:calc(var(--hx-gap) + 10px);border:1px solid var(--edge);border-radius:var(--r);overflow:hidden;background:var(--card)}
.p42-hero-plate img{width:100%;aspect-ratio:21/9;object-fit:cover;max-height:420px;border-radius:0}

/* band: solid copy card laid over a full-width image */
.p42-hero-band{position:relative;border-radius:var(--r);overflow:hidden;background:var(--tint2)}
.p42-hero-band>img{width:100%;aspect-ratio:16/7;object-fit:cover;max-height:480px}
.p42-hero-bandcopy{padding:26px}
.p42-hero-bandcopy .p42-hero-copy{background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:28px;max-width:56ch}
@media (min-width:900px){
  .p42-hero-band{display:grid}
  .p42-hero-band>img,.p42-hero-bandcopy{grid-area:1/1}
  .p42-hero-bandcopy{align-self:center;padding:40px}
}

/* stack: copy, then three shelf tiles */
.p42-hero-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--hx-gap);margin-top:calc(var(--hx-gap) + 6px)}
.p42-hero-tiles a{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:14px;color:var(--ink);height:100%}
.p42-hero-tiles a:hover{border-color:var(--acc);text-decoration:none}
.p42-hero-tiles img{width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--tint2);border-radius:var(--r)}
.p42-hero-tiles span{font-family:var(--fh);font-weight:600;font-size:17px;line-height:1.25}
.p42-hero-tiles em{font-family:var(--fm);font-style:normal;font-size:14px;color:var(--acc2);margin-top:auto}

/* rail: copy beside a scrolling strip of stock */
.p42-hero-rail{margin-top:calc(var(--hx-gap) + 4px)}
.p42-hero-rail ul{display:flex;gap:var(--hx-gap);overflow-x:auto;padding-bottom:10px;-webkit-overflow-scrolling:touch}
.p42-hero-rail li{flex:0 0 172px}
.p42-hero-rail a{display:block;color:var(--ink)}
.p42-hero-rail img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:8px}
.p42-hero-rail span{display:block;font-family:var(--fm);font-size:14px;margin-top:8px;color:var(--acc2)}
@media (min-width:1000px){
  .sec--hero.p42-hero-rail .p42-hero-in{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--hx-gap) * 1.5);align-items:center}
  .sec--hero.p42-hero-rail .p42-hero-rail{margin-top:0}
  .sec--hero.p42-hero-rail .p42-hero-rail li{flex-basis:150px}
}

/* spec: copy beside a specification list drawn from the catalogue */
.p42-hero-spec{margin-top:calc(var(--hx-gap) + 4px);background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:22px}
.p42-hero-spec dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 18px;align-items:baseline}
.p42-hero-spec dt{font-family:var(--fm);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2)}
.p42-hero-spec dd{margin:0;font-family:var(--fh);font-size:17px;font-weight:600;color:var(--ink)}
.p42-hero-spec figure{margin:18px 0 0}
.p42-hero-spec figure img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--tint2);border-radius:var(--r)}
@media (min-width:1000px){.sec--hero.p42-hero-spec .p42-hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:calc(var(--hx-gap) * 1.5);align-items:start}.sec--hero.p42-hero-spec .p42-hero-spec{margin-top:0}}

/* index: copy beside a numbered department index */
.p42-hero-idxlist{margin-top:calc(var(--hx-gap) + 4px);border-top:2px solid var(--kraft)}
.p42-hero-idxlist a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;border-bottom:1px solid var(--line);font-family:var(--fh);font-weight:600;font-size:19px;text-transform:uppercase;color:var(--ink)}
.p42-hero-idxlist a:hover{color:var(--acc);text-decoration:none}
.p42-hero-idxlist em{font-family:var(--fm);font-style:normal;font-size:14px;color:var(--ink2)}
@media (min-width:1000px){.p42-hero-idx{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--hx-gap) * 1.6);align-items:start}.p42-hero-idx .p42-hero-idxlist{margin-top:0}}

/* poster: centred copy with an inset picture */
.p42-hero-poster{text-align:center}
.p42-hero-poster .p42-hero-copy{margin-inline:auto;max-width:56ch}
.p42-hero-poster .p42-cta-row{justify-content:center}
.p42-hero-inset{margin:calc(var(--hx-gap) + 8px) auto 0;max-width:760px}
.p42-hero-inset img{width:100%;aspect-ratio:16/9;object-fit:cover}

/* counter: copy beside the shop's own counter card */
.p42-hero-counter{margin-top:calc(var(--hx-gap) + 4px);display:grid;gap:var(--hx-gap)}
.p42-cbox{background:var(--tint2);border:1px solid var(--edge);border-left:4px solid var(--acc);border-radius:var(--r);padding:20px 22px}
.p42-cbox-h{font-family:var(--fh);font-weight:700;font-size:20px;margin:0 0 8px}
.p42-cbox address{line-height:1.7;color:var(--ink2);margin-bottom:8px}
.p42-cbox-hours{font-family:var(--fm);font-size:13px;color:var(--ink2);margin:0 0 8px}
.p42-hero-counter .p42-hero-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;max-height:380px}
@media (min-width:1000px){.sec--hero.p42-hero-counter .p42-hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:calc(var(--hx-gap) * 1.5);align-items:start}.sec--hero.p42-hero-counter .p42-hero-counter{margin-top:0}}

/* ticket: copy beside a docket of live stock */
.p42-hero-side .p42-tick{background:var(--card);border:1px solid var(--edge);border-radius:var(--r);overflow:hidden}
.p42-tick-top{display:flex;justify-content:space-between;gap:12px;background:var(--acc2);color:#fff;padding:11px 14px;font-family:var(--fm);font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.p42-tick-table{width:100%;font-variant-numeric:tabular-nums}
.p42-tick-table td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:15px}
.p42-tick-table td.num{font-family:var(--fm);white-space:nowrap;width:1%;font-size:14px}
.p42-tick-table td.num a{color:var(--acc)}
.p42-tick-table tr:last-child td{border-bottom:0}
.p42-tick .p42-hero-fig{margin:0;border-top:1px solid var(--line)}
.p42-tick .p42-hero-fig img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:0}
.p42-tick-foot{background:var(--tint2);padding:11px 14px;font-family:var(--fm);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink2);border-top:1px solid var(--line)}
.p42-hero-side{margin-top:calc(var(--hx-gap) + 4px)}
@media (min-width:1000px){.sec--hero.p42-hero-ticket .p42-hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:calc(var(--hx-gap) * 1.5);align-items:start}.p42-hero-side{margin-top:0}}

/* ---------------------------------------------------------------- products (9 variants) */
/* the shared card: image box is a fixed ratio so a grid of them can never go ragged */
.p42-pcard{background:var(--card);border:1px solid var(--edge);border-radius:var(--r);overflow:hidden}
.p42-pcard>a{display:flex;flex-direction:column;height:100%;padding:14px;gap:8px;color:var(--ink)}
.p42-pcard>a:hover{text-decoration:none}
.p42-pcard:hover{border-color:var(--acc)}
.p42-pcard-img{display:block;background:var(--tint2);border-radius:var(--r)}
.p42-pcard-img img{width:100%;aspect-ratio:1;object-fit:contain;padding:10px}
.p42-pcard-name{font-family:var(--fh);font-weight:600;font-size:17px;line-height:1.3}
.p42-pcard-line{font-family:var(--fm);font-size:12px;line-height:1.5;color:var(--ink2)}
.p42-pcard-price{margin-top:auto;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-family:var(--fh);font-weight:700;font-size:20px;color:var(--acc2)}
.p42-pcard-price del{font-weight:400;font-size:15px;color:var(--ink2)}
.p42-pcard-price ins{text-decoration:none}

.p42-pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--hx-gap)}
.p42-pmason{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--hx-gap)}
.p42-pmason>li:nth-child(6n+1){grid-column:span 2}
.p42-pmason>li:nth-child(6n+1) .p42-pcard-img img{aspect-ratio:16/9}
.p42-pmason>li:nth-child(6n+1) .p42-pcard-name{font-size:22px}
.p42-prail ul{display:flex;gap:var(--hx-gap);overflow-x:auto;padding-bottom:12px;-webkit-overflow-scrolling:touch}
.p42-prail li{flex:0 0 250px}

/* rows: a full-width line per item, specs inline */
.p42-prows li{border-bottom:1px solid var(--line)}
.p42-prows li:first-child{border-top:2px solid var(--kraft)}
.p42-prows a{display:grid;grid-template-columns:76px 1fr auto;gap:18px;align-items:center;padding:16px 4px;color:var(--ink);min-height:76px}
.p42-prows a:hover{background:var(--tint2);text-decoration:none}
.p42-prow-img img{width:76px;height:76px;object-fit:contain;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:5px}
.p42-prow-b{display:flex;flex-direction:column;gap:5px;min-width:0}
.p42-prow-n{font-family:var(--fh);font-weight:600;font-size:19px;line-height:1.25}
.p42-prow-s{font-family:var(--fm);font-size:12px;line-height:1.55;color:var(--ink2)}
.p42-prow-p{font-family:var(--fh);font-weight:700;font-size:21px;color:var(--acc2);text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.p42-prow-p del{font-weight:400;font-size:15px;color:var(--ink2)}
.p42-prow-p ins{text-decoration:none}

/* pair: two large plates, then the rest as a price list */
.p42-ppair{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--hx-gap)}
.p42-ppair a{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:18px;height:100%;color:var(--ink)}
.p42-ppair a:hover{border-color:var(--acc);text-decoration:none}
.p42-ppair img{width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--tint2);border-radius:var(--r)}
.p42-ppair .p42-pcard-name{font-size:22px}
.p42-plist{margin-top:var(--hx-gap);border-top:1px solid var(--line)}
.p42-plist a{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:52px;border-bottom:1px solid var(--line);color:var(--ink);padding-inline:4px}
.p42-plist a:hover{background:var(--tint2);text-decoration:none}
.p42-plist span{font-family:var(--fh);font-weight:600;font-size:17px}
.p42-plist em{font-family:var(--fm);font-style:normal;font-size:15px;color:var(--acc2)}

/* tiers: three price bands side by side */
.p42-ptiers{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--hx-gap)}
.p42-ptier{background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:20px}
.p42-ptier .p42-h3{border-bottom:2px solid var(--kraft);padding-bottom:10px;margin-bottom:12px}
.p42-ptier a{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;min-height:60px;border-bottom:1px solid var(--line);color:var(--ink);padding-block:6px}
.p42-ptier li:last-child a{border-bottom:0}
.p42-ptier a:hover{text-decoration:none;color:var(--acc2)}
.p42-ptier img{width:48px;height:48px;object-fit:contain;background:var(--tint2);border-radius:var(--r)}
.p42-ptier span{font-size:15px;line-height:1.35}
.p42-ptier em{font-family:var(--fm);font-style:normal;font-size:14px;color:var(--acc2);white-space:nowrap}

/* spectable: the wide comparison table keeps its own column rhythm */
.p42-spec-wide th[scope=row]{min-width:190px}
.p42-spec-wide td{font-size:14px}

/* covers: picture-led, name and price below */
.p42-pcovers{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--hx-gap)}
.p42-pcovers a{display:flex;flex-direction:column;gap:9px;color:var(--ink);height:100%}
.p42-pcovers a:hover{text-decoration:none;color:var(--acc2)}
.p42-pcovers img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--tint2);border:1px solid var(--edge);border-radius:var(--r)}
.p42-pcovers span{font-family:var(--fh);font-weight:600;font-size:17px;line-height:1.3}
.p42-pcovers em{font-family:var(--fm);font-style:normal;font-size:14px;color:var(--acc2);margin-top:auto}

/* ---------------------------------------------------------------- categories (6 variants) */
.p42-ctiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--hx-gap)}
.p42-ctiles a{display:block;position:relative;border:1px solid var(--edge);border-radius:var(--r);overflow:hidden;background:var(--card);color:var(--ink);height:100%}
.p42-ctiles a:hover{border-color:var(--acc);text-decoration:none}
.p42-ctiles img{width:100%;aspect-ratio:3/2;object-fit:cover}
.p42-ctile-b{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 16px;border-top:1px solid var(--line)}
.p42-ctile-b span{font-family:var(--fh);font-weight:700;font-size:19px;text-transform:uppercase;letter-spacing:.01em}
.p42-ctile-b em{font-family:var(--fm);font-style:normal;font-size:13px;color:var(--ink2);white-space:nowrap}

.p42-cchips{display:flex;flex-wrap:wrap;gap:10px}
.p42-cchips a{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 18px;border:1px solid var(--edge);border-radius:999px;background:var(--card);font-family:var(--fh);font-weight:600;font-size:17px;text-transform:uppercase;color:var(--ink)}
.p42-cchips a:hover{background:var(--acc);border-color:var(--acc);color:#fff;text-decoration:none}
.p42-cchips a span{font-family:var(--fm);font-size:13px;color:var(--ink2);text-transform:none}
.p42-cchips a:hover span{color:#fff}

.p42-csplit{display:grid;grid-template-columns:1fr;gap:var(--hx-gap)}
.p42-csplit-a{display:grid;gap:var(--hx-gap)}
.p42-cbig{display:block;position:relative;border:1px solid var(--edge);border-radius:var(--r);overflow:hidden;background:var(--card);color:var(--ink)}
.p42-cbig:hover{border-color:var(--acc);text-decoration:none}
.p42-cbig img{width:100%;aspect-ratio:2/1;object-fit:cover}
.p42-cbig span{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:14px 16px;font-family:var(--fh);font-weight:700;font-size:20px;text-transform:uppercase;border-top:1px solid var(--line)}
.p42-cbig em{font-family:var(--fm);font-style:normal;font-size:13px;color:var(--ink2)}
.p42-csplit-b{border-top:2px solid var(--kraft)}
.p42-csplit-b a{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:54px;border-bottom:1px solid var(--line);font-family:var(--fh);font-weight:600;font-size:18px;text-transform:uppercase;color:var(--ink);padding-inline:4px}
.p42-csplit-b a:hover{color:var(--acc);text-decoration:none}
.p42-csplit-b em{font-family:var(--fm);font-style:normal;font-size:13px;color:var(--ink2)}
@media (min-width:900px){.p42-csplit{grid-template-columns:1.3fr 1fr}.p42-csplit-a{grid-template-columns:1fr}}

.p42-cstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--kraft);border-left:1px solid var(--line)}
.p42-cstrip li{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.p42-cstrip a{display:block;padding:22px 20px;color:var(--ink);height:100%}
.p42-cstrip a:hover{background:var(--tint2);text-decoration:none}
.p42-cstrip em{display:block;font-family:var(--fm);font-style:normal;font-size:13px;letter-spacing:.11em;color:var(--acc2);margin-bottom:8px}
.p42-cstrip span{display:block;font-family:var(--fh);font-weight:700;font-size:21px;text-transform:uppercase;margin-bottom:7px}
.p42-cstrip small{display:block;font-size:14px;line-height:1.6;color:var(--ink2)}

.p42-ccards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--hx-gap)}
.p42-ccards a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:20px 14px;background:var(--card);border:1px solid var(--edge);border-radius:var(--r);height:100%;color:var(--ink)}
.p42-ccards a:hover{border-color:var(--acc);text-decoration:none}
.p42-ccard-img{display:block;width:96px;height:96px;border-radius:999px;overflow:hidden;background:var(--tint2)}
.p42-ccard-img img{width:100%;height:100%;object-fit:cover}
.p42-ccard-n{font-family:var(--fh);font-weight:700;font-size:18px;text-transform:uppercase;line-height:1.25}
.p42-ccard-c{font-family:var(--fm);font-size:13px;color:var(--ink2);margin-top:auto}

.p42-shelves{border-top:2px solid var(--kraft)}
.p42-shelf a{display:grid;grid-template-columns:96px 1fr auto;gap:20px;align-items:center;padding:18px 4px;border-bottom:1px solid var(--line);color:var(--ink);min-height:96px}
.p42-shelf a:hover{background:var(--tint2);text-decoration:none}
.p42-shelf-img img{width:96px;height:96px;object-fit:cover;border-radius:var(--r);background:var(--tint2)}
.p42-shelf-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.p42-shelf-name{font-family:var(--fh);font-weight:700;font-size:21px;text-transform:uppercase}
.p42-shelf-name em{font-family:var(--fm);font-style:normal;font-size:13px;color:var(--ink2);text-transform:none;margin-left:6px}
.p42-shelf-note{font-size:15px;line-height:1.6;color:var(--ink2)}
.p42-shelf-cta{font-family:var(--fh);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--acc);white-space:nowrap}

/* ---------------------------------------------------------------- guide (5 variants) */
.p42-steps{counter-reset:p42s;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--hx-gap)}
.p42-steps li{counter-increment:p42s;background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:22px;position:relative}
.p42-steps li::before{content:counter(p42s);display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:var(--acc);color:#fff;font-family:var(--fm);font-size:15px;margin-bottom:14px}
.p42-steps p{margin:0;font-size:15px;line-height:1.65;color:var(--ink2)}

.p42-chooser{margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:2px solid var(--kraft)}
.p42-chooser>div{display:grid;grid-template-columns:1fr;gap:6px;padding:20px;border-bottom:1px solid var(--line)}
.p42-chooser>div:nth-child(odd){border-right:1px solid var(--line)}
.p42-chooser dt{font-family:var(--fh);font-weight:700;font-size:19px;text-transform:uppercase;color:var(--ink)}
.p42-chooser dd{margin:0;font-size:15px;line-height:1.65;color:var(--ink2)}

.p42-gnotes{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--hx-gap)}
.p42-gnotes li{border-left:3px solid var(--acc);padding:4px 0 4px 18px}
.p42-gnotes p{margin:0;font-size:15px;line-height:1.7;color:var(--ink2)}

.p42-bands{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--hx-gap)}
.p42-bands>div{border:1px solid rgba(255,255,255,.28);border-radius:var(--r);padding:20px}
.p42-bands dt{font-family:var(--fm);font-size:13px;letter-spacing:.09em;color:var(--tint);margin-bottom:8px}
.p42-bands dd{margin:0;font-family:var(--fh);font-weight:700;font-size:21px;line-height:1.25}
.p42-bands-note{font-family:var(--fm);font-size:13px;line-height:1.7;margin:18px 0 0;color:var(--tint)}

/* ---------------------------------------------------------------- trust (4 variants) */
.p42-tcards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--hx-gap)}
.p42-tcards li{display:flex;flex-direction:column;gap:12px;background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:20px;font-size:15px;line-height:1.6;color:var(--ink)}
.p42-tcards svg{color:var(--acc)}
.p42-tband{background:var(--tint2);border-block:1px solid var(--edge);border-radius:var(--r)}
.p42-tband ul{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 40px;padding:20px}
.p42-tband li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ink)}
.p42-tband svg{color:var(--acc2)}
.p42-tlist{border-top:2px solid var(--kraft);max-width:78ch}
.p42-tlist li{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.6;color:var(--ink)}
.p42-tlist svg{color:var(--acc);margin-top:3px}
.p42-facts{display:flex;flex-wrap:wrap;gap:14px 34px}
.p42-facts li{display:flex;align-items:center;gap:10px;font-family:var(--fm);font-size:13px;letter-spacing:.03em;line-height:1.5;color:var(--ink2)}
.p42-facts svg{color:var(--acc)}

/* ---------------------------------------------------------------- FAQ (4 variants) */
.p42-faqrule{margin:0;border-top:2px solid var(--kraft)}
.p42-faqrule>div{display:grid;grid-template-columns:1fr;gap:8px;padding:20px 0;border-bottom:1px solid var(--line)}
.p42-faqrule dt{font-family:var(--fh);font-weight:700;font-size:20px;color:var(--ink)}
.p42-faqrule dd{margin:0;font-size:16px;line-height:1.7;color:var(--ink2);max-width:76ch}
@media (min-width:880px){.p42-faqrule>div{grid-template-columns:minmax(220px,1fr) 2fr;gap:28px}}

.p42-faqcards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--hx-gap)}
.p42-faqcards li{background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:22px}
.p42-faqcards h3{font-family:var(--fh);font-size:19px;margin:0 0 9px;color:var(--ink)}
.p42-faqcards p{margin:0;font-size:15px;line-height:1.7;color:var(--ink2)}

.p42-faq{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--hx-gap) calc(var(--hx-gap) * 2)}
.p42-faq-one{grid-template-columns:1fr;max-width:82ch}
.p42-faq li{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding-bottom:20px;border-bottom:1px solid var(--line)}
.p42-faq-n{font-family:var(--fm);font-size:13px;color:var(--acc2);padding-top:4px}
.p42-faq h3{font-family:var(--fh);font-size:19px;margin:0 0 8px;color:var(--ink)}
.p42-faq p{margin:0;font-size:15px;line-height:1.7;color:var(--ink2)}

/* ---------------------------------------------------------------- journal (3 variants) */
.p42-jlist{border-top:2px solid var(--kraft)}
.p42-jlist a{display:grid;grid-template-columns:110px 1fr;gap:6px 22px;padding:18px 4px;border-bottom:1px solid var(--line);color:var(--ink);align-items:baseline}
.p42-jlist a:hover{background:var(--tint2);text-decoration:none}
.p42-jlist-d{font-family:var(--fm);font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink2)}
.p42-jlist-t{font-family:var(--fh);font-weight:700;font-size:21px;line-height:1.25}
.p42-jlist-x{grid-column:2;font-size:15px;line-height:1.65;color:var(--ink2)}

.p42-jwide{display:grid;grid-template-columns:1fr;gap:var(--hx-gap)}
.p42-jwide-a{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--edge);border-radius:var(--r);overflow:hidden;padding-bottom:20px;color:var(--ink)}
.p42-jwide-a:hover{border-color:var(--acc);text-decoration:none}
.p42-jwide-a img{width:100%;aspect-ratio:16/9;object-fit:cover}
.p42-jwide-a .p42-card-tag,.p42-jwide-a .p42-card-h,.p42-jwide-a .p42-card-x{padding-inline:20px}
.p42-jside li{border-bottom:1px solid var(--line)}
.p42-jside a{display:flex;flex-direction:column;gap:6px;padding:16px 0;color:var(--ink)}
.p42-jside a:hover{text-decoration:none;color:var(--acc2)}
@media (min-width:900px){.p42-jwide{grid-template-columns:1.4fr 1fr}.p42-jside li:first-child a{padding-top:0}}

.p42-cards,.p42-jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--hx-gap)}
.p42-card,.p42-jcard{background:var(--card);border:1px solid var(--edge);border-radius:var(--r);overflow:hidden}
.p42-card:hover,.p42-jcard:hover{border-color:var(--acc)}
.p42-card>a,.p42-jcard>a{display:flex;flex-direction:column;gap:9px;padding:20px;height:100%;color:var(--ink)}
.p42-card>a:hover,.p42-jcard>a:hover{text-decoration:none}
.p42-card-tag{font-family:var(--fm);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--acc2)}
.p42-card-h{font-family:var(--fh);font-weight:700;font-size:20px;line-height:1.28}
.p42-card-x{font-size:15px;line-height:1.65;color:var(--ink2)}
.p42-card-cta{margin-top:auto;font-family:var(--fh);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--acc)}
.p42-jcard-img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.p42-jcard-body{display:flex;flex-direction:column;gap:8px;padding:18px}

/* ---------------------------------------------------------------- story (3 variants) */
.p42-storyplain{max-width:74ch;font-size:17px;line-height:1.75;color:var(--ink2)}
.p42-storydark{max-width:78ch;font-size:17px;line-height:1.75}
.p42-storypair{display:grid;grid-template-columns:1fr;gap:calc(var(--hx-gap) * 1.4);align-items:start}
.p42-storypair p{font-size:17px;line-height:1.75;color:var(--ink2);max-width:62ch}
.p42-storypair figure{margin:0}
.p42-storypair figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
@media (min-width:900px){.p42-storypair{grid-template-columns:1.15fr .85fr}}

/* ---------------------------------------------------------------- contact (3 variants) */
.p42-visit{display:grid;grid-template-columns:1fr;gap:var(--hx-gap)}
.p42-visit-card,.p42-ccardone{background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:26px}
.p42-visit-name{font-family:var(--fh);font-weight:700;font-size:22px;margin:0 0 8px;color:var(--ink)}
.p42-visit-card address,.p42-ccardone address,.p42-cband address{line-height:1.75;color:var(--ink2);margin-bottom:14px}
.p42-visit-dl{margin:0 0 18px;display:grid;grid-template-columns:auto 1fr;gap:9px 18px;align-items:baseline}
.p42-visit-dl dt{font-family:var(--fm);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2)}
.p42-visit-dl dd{margin:0;font-size:16px;color:var(--ink)}
.p42-visit-side{background:var(--tint2);border:1px solid var(--edge);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;justify-content:center}
.p42-visit-big{font-family:var(--fh);font-weight:700;font-size:clamp(24px,3vw,34px);line-height:1.15;margin:0 0 8px;color:var(--ink)}
.p42-visit-small{font-size:15px;line-height:1.7;color:var(--ink2);margin:0 0 8px}
.p42-visit-small:last-child{margin-bottom:0}
.p42-cband{display:grid;grid-template-columns:1fr;gap:var(--hx-gap);align-items:center;background:var(--tint2);border:1px solid var(--edge);border-left:4px solid var(--acc);border-radius:var(--r);padding:26px}
.p42-cband .p42-visit-dl{margin:0}
.p42-cband .p42-btn{justify-self:start}
.p42-ccardone{max-width:62ch}
@media (min-width:900px){.p42-visit{grid-template-columns:1.1fr .9fr}.p42-cband{grid-template-columns:1.1fr 1fr auto}}

/* ---------------------------------------------------------------- usp (2 variants) */
.p42-usptiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--hx-gap)}
.p42-usptiles li{padding:20px;background:var(--tint2);border-radius:var(--r)}
.p42-usptiles p{margin:0;font-size:15px;line-height:1.65;color:var(--ink2)}
.p42-uspline{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--hx-gap);border-top:2px solid var(--kraft);padding-top:22px}
.p42-uspline li{font-size:15px;line-height:1.65;color:var(--ink2)}
.p42-uspline b{display:block;font-family:var(--fh);font-weight:700;font-size:18px;text-transform:uppercase;color:var(--ink);margin-bottom:6px}

/* ---------------------------------------------------------------- shop */
.p42-crumbs{font-family:var(--fm);font-size:13px;color:var(--ink2);margin-bottom:18px;line-height:2}
.p42-crumbs a{color:var(--acc2);display:inline-block;min-height:26px}
.p42-crumbs span{color:var(--ink2);padding:0 4px}
.p42-shop-head{padding-bottom:0}
.p42-termdesc{max-width:74ch;font-size:16px;line-height:1.7;color:var(--ink2);margin-bottom:20px}
.p42-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.p42-chips a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--edge);border-radius:999px;background:var(--card);font-family:var(--fh);font-weight:600;font-size:16px;color:var(--ink)}
.p42-chips a:hover{border-color:var(--acc);color:var(--acc2);text-decoration:none}
.p42-chips a.is-on{background:var(--acc);border-color:var(--acc);color:#fff}
.p42-chips a span{font-family:var(--fm);font-size:12px;color:var(--ink2)}
.p42-chips a.is-on span{color:#fff}
.p42-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--kraft);padding-bottom:14px;margin-bottom:calc(var(--hx-gap) + 6px)}
.p42-count{font-family:var(--fm);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin:0}
.p42-sort{display:flex;align-items:center;gap:10px}
.p42-sort label{font-family:var(--fm);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2)}
.p42-sort select{min-height:44px;padding:0 12px;border:1px solid var(--edge);border-radius:var(--r);background:var(--card);color:var(--ink);font:inherit;font-size:15px}
.p42-empty{font-size:17px;color:var(--ink2)}
.p42-pag{margin-top:calc(var(--hx-pad) * .5)}
.p42-pag ul{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.p42-pag a,.p42-pag span{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:46px;padding:0 14px;border:1px solid var(--edge);border-radius:var(--r);background:var(--card);font-family:var(--fm);font-size:15px;color:var(--ink)}
.p42-pag a:hover{border-color:var(--acc);color:var(--acc2);text-decoration:none}
.p42-pag .current{background:var(--acc);border-color:var(--acc);color:#fff}
.p42-shop-foot p{font-family:var(--fm);font-size:13px;line-height:1.8;color:var(--ink2);border-top:1px solid var(--line);padding-top:20px;margin:0}

/* ---------------------------------------------------------------- single product */
.p42-single{padding-block:calc(var(--hx-pad) * .6) var(--hx-pad)}
.p42-buy{display:grid;grid-template-columns:1fr;gap:calc(var(--hx-gap) * 1.5)}
.p42-gal{display:grid;grid-template-columns:1fr;gap:12px}
.p42-gal-main{margin:0;background:var(--card);border:1px solid var(--edge);border-radius:var(--r);overflow:hidden}
.p42-gal-zoom{display:block;width:100%;border:0;background:transparent;padding:0;cursor:zoom-in}
.p42-gal-main img{width:100%;aspect-ratio:1;object-fit:contain;padding:16px;background:var(--card)}
.p42-gal-empty{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:var(--tint2);color:var(--ink2);font-family:var(--fm);font-size:14px}
.p42-gal-thumbs{display:flex;gap:10px;flex-wrap:wrap;order:2}
.p42-gal-thumbs button{width:72px;height:72px;padding:4px;border:1px solid var(--edge);border-radius:var(--r);background:var(--card);cursor:pointer}
.p42-gal-thumbs button.is-on{border-color:var(--acc);border-width:2px}
.p42-gal-thumbs img{width:100%;height:100%;object-fit:contain}
.p42-lightbox{border:0;padding:0;background:transparent;max-width:94vw;max-height:94vh}
.p42-lightbox::backdrop{background:rgba(0,0,0,.82)}
.p42-lightbox img{max-width:94vw;max-height:88vh;width:auto;height:auto;border-radius:var(--r);background:var(--card)}
.p42-lightbox-x{position:absolute;top:8px;right:8px;width:48px;height:48px;border:0;border-radius:999px;background:var(--card);color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
.p42-ptitle{font-size:clamp(28px,3.6vw,44px);margin-bottom:14px}
.p42-pricebox{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:10px}
.p42-price{font-family:var(--fh);font-weight:700;font-size:clamp(26px,3vw,36px);color:var(--acc2)}
.p42-price del{font-weight:400;font-size:20px;color:var(--ink2);margin-right:8px}
.p42-price ins{text-decoration:none}
.p42-stock{font-family:var(--fm);font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);margin:0 0 16px}
.p42-chiprow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.p42-chiprow li{font-family:var(--fm);font-size:12px;letter-spacing:.05em;padding:6px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--tint2);color:var(--ink2)}
.p42-short{font-size:17px;line-height:1.7;color:var(--ink2);max-width:62ch;margin-bottom:20px}
.p42-cartform{padding:20px 0;border-block:1px solid var(--line);margin-bottom:20px}
.p42-dfacts{display:grid;gap:12px}
.p42-dfacts li{font-size:15px;line-height:1.65;color:var(--ink2);padding-left:18px;position:relative}
.p42-dfacts li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:999px;background:var(--acc)}
.p42-dfacts b{color:var(--ink)}
.p42-below{margin-top:calc(var(--hx-pad) * .9);display:grid;gap:calc(var(--hx-pad) * .7)}
.p42-spec-table{max-width:760px}
.p42-spec-table th[scope=row]{width:38%;background:var(--tint2);font-family:var(--fm);font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);font-weight:600}
.p42-desc{font-size:17px;line-height:1.75;color:var(--ink2);max-width:76ch}
.p42-desc h2:not(.p42-sr),.p42-desc h3{font-size:22px;margin:28px 0 10px;color:var(--ink)}
.p42-desc ul{list-style:disc;padding-left:22px;margin:0 0 1em}
.p42-desc ul li{margin-bottom:7px}
.p42-desc img{border-radius:var(--r);margin-block:18px}
.p42-sizes-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--hx-gap)}
.p42-sizes-row li{background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:18px}
.p42-sizes-row li.is-self{border-color:var(--acc);border-width:2px;background:var(--tint2)}
.p42-sizes-name{font-family:var(--fh);font-weight:600;font-size:17px;margin:0 0 6px;color:var(--ink)}
.p42-sizes-dims{font-family:var(--fm);font-size:13px;color:var(--acc2);margin:0 0 6px}
.p42-sizes-meta{font-family:var(--fm);font-size:13px;color:var(--ink2);margin:0}
.p42-sr-boxes{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--hx-gap)}
.p42-box{background:var(--tint2);border:1px solid var(--edge);border-radius:var(--r);padding:22px}
.p42-box p{font-size:15px;line-height:1.7;color:var(--ink2);margin:0 0 .8em}
.p42-box p:last-child{margin-bottom:0}
.p42-related .p42-pgrid{grid-template-columns:repeat(4,1fr)}
@media (min-width:960px){
  .p42-buy{grid-template-columns:1.05fr .95fr;align-items:start}
  .p42-gal{grid-template-columns:86px 1fr}
  .p42-gal-thumbs{order:0;flex-direction:column;flex-wrap:nowrap}
  .p42-below{grid-template-columns:1fr;max-width:none}
}

/* WooCommerce core add-to-cart markup inside our card */
.p42-cartform .quantity{display:inline-flex;align-items:center;margin-right:12px}
.p42-cartform .quantity input.qty{width:84px;min-height:48px;padding:0 10px;border:1px solid var(--edge);border-radius:var(--r);background:var(--card);color:var(--ink);font:inherit;font-size:16px;text-align:center}
.p42-cartform label{font-family:var(--fm);font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);display:inline-block;margin-bottom:6px}
.p42-cartform select{min-height:48px;padding:0 12px;border:1px solid var(--edge);border-radius:var(--r);background:var(--card);color:var(--ink);font:inherit;font-size:16px;max-width:100%}
.p42-cartform table.variations{width:100%;margin-bottom:14px}
.p42-cartform table.variations td,.p42-cartform table.variations th{padding:6px 0;text-align:left;vertical-align:middle}
.p42-cartform .reset_variations{font-size:14px;margin-left:10px;display:inline-block;min-height:32px;line-height:32px}
.p42-cartform .woocommerce-variation-price{margin-bottom:12px;font-family:var(--fh);font-weight:700;font-size:22px;color:var(--acc2)}
.p42-cartform .single_add_to_cart_button,.p42-cartform button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;background:var(--acc);color:#fff;font-family:var(--fh);font-weight:700;font-size:19px;letter-spacing:.04em;text-transform:uppercase;border:2px solid var(--acc);border-radius:var(--r);cursor:pointer;line-height:1.1}
.p42-cartform .single_add_to_cart_button:hover,.p42-cartform button[type=submit]:hover{background:var(--acc2);border-color:var(--acc2)}
.p42-cartform .stock.out-of-stock{font-family:var(--fm);font-size:14px;color:var(--acc2)}

/* ---------------------------------------------------------------- journal and posts */
.p42-journal,.p42-post{padding-block:calc(var(--hx-pad) * .6) var(--hx-pad)}
.p42-article{max-width:74ch;margin-inline:auto}
.p42-article-head{margin-bottom:24px}
.p42-article-fig{margin:0 0 28px}
.p42-article-fig img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r)}
.p42-article-body{font-size:17px;line-height:1.8;color:var(--ink2)}
.p42-article-body h2,.p42-article-body h3{color:var(--ink);margin:32px 0 12px;font-size:24px}
.p42-article-body ul,.p42-article-body ol{list-style:disc;padding-left:22px;margin:0 0 1.2em}
.p42-article-body ol{list-style:decimal}
.p42-article-body li{margin-bottom:8px}
.p42-article-body img{border-radius:var(--r);margin-block:20px}
.p42-article-foot{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--fm);font-size:13px;color:var(--ink2);line-height:1.8}

/* ---------------------------------------------------------------- responsive
   Every multi-column grid above collapses here. Nothing is allowed to keep a
   min-width wider than the viewport, so the page never scrolls sideways at 390px. */
@media (max-width:1200px){
  .p42-pgrid,.p42-pcovers,.p42-ccards,.p42-related .p42-pgrid{grid-template-columns:repeat(3,1fr)}
  .p42-ft-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1060px){
  .p42-nav{display:none}
  .p42-burger{display:flex}
  .p42-hd-main-in,.p42-hd-top-in{min-height:66px}
  .p42-hdv-stack .p42-hd-navrow{display:none}
  .p42-hd-panelnav{display:none}
  .p42-hd-split-in{display:flex;justify-content:space-between}
  .p42-hd-split-in .p42-brand{margin-inline:auto}
  .p42-hdv-rail .p42-navbox{display:none}
  .p42-hdv-counter .p42-hd-main-in .p42-brand{margin-right:auto}
  .p42-tool-t{display:none}
  .p42-tool{min-width:48px}
  .p42-search{min-width:0;flex:1 1 160px;max-width:280px}
}
@media (max-width:900px){
  .p42-steps,.p42-ctiles,.p42-cstrip,.p42-usptiles,.p42-uspline,.p42-cards,.p42-jgrid,.p42-ptiers,.p42-sizes-row,.p42-bands,.p42-pmason{grid-template-columns:repeat(2,1fr)}
  .p42-pmason>li:nth-child(6n+1){grid-column:span 2}
  .p42-tcards{grid-template-columns:repeat(2,1fr)}
  .p42-hero-tiles{grid-template-columns:repeat(3,1fr);gap:12px}
  .p42-ft-grid,.p42-ft-grid4,.p42-ft-splitr{grid-template-columns:repeat(2,1fr)}
  .p42-ft-split{grid-template-columns:1fr}
  .p42-ft-rowline{grid-template-columns:1fr;gap:8px}
  .p42-search{display:none}
  .p42-sec-head{align-items:flex-start}
}
@media (max-width:760px){
  .p42-wrap{padding-left:16px;padding-right:16px}
  .p42-sec{padding-block:calc(var(--hx-pad) * .62)}
  .p42-pgrid,.p42-pcovers,.p42-ccards,.p42-related .p42-pgrid,.p42-ppair,.p42-faqcards,.p42-faq,.p42-gnotes,.p42-chooser,.p42-sr-boxes{grid-template-columns:1fr}
  .p42-chooser>div:nth-child(odd){border-right:0}
  .p42-pmason{grid-template-columns:1fr}
  .p42-pmason>li:nth-child(6n+1){grid-column:auto}
  .p42-pmason>li:nth-child(6n+1) .p42-pcard-img img{aspect-ratio:1}
  .p42-pmason>li:nth-child(6n+1) .p42-pcard-name{font-size:17px}
  .p42-hero-tiles{grid-template-columns:1fr 1fr}
  .p42-hero-tiles li:nth-child(3){display:none}
  .p42-hero-bandcopy{padding:16px}
  .p42-hero-bandcopy .p42-hero-copy{padding:20px}
  .p42-hero-plate img{aspect-ratio:16/10}
  .p42-prows a{grid-template-columns:60px 1fr;gap:14px;padding:14px 0}
  .p42-prow-img img{width:60px;height:60px}
  .p42-prow-p{grid-column:2;text-align:left;align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:10px}
  .p42-shelf a{grid-template-columns:64px 1fr;gap:14px}
  .p42-shelf-img img{width:64px;height:64px}
  .p42-shelf-cta{grid-column:2}
  .p42-jlist a{grid-template-columns:1fr;gap:5px}
  .p42-jlist-x{grid-column:1}
  .p42-ptier a{grid-template-columns:40px 1fr auto;gap:10px}
  .p42-ptier img{width:40px;height:40px}
  .p42-cstrip{grid-template-columns:1fr}
  .p42-visit-side,.p42-visit-card,.p42-ccardone,.p42-box,.p42-cband{padding:20px}
  .p42-cartform .quantity{display:flex;margin:0 0 12px}
  .p42-cartform .single_add_to_cart_button,.p42-cartform button[type=submit]{width:100%}
  .p42-btn{width:100%}
  .p42-cta-row{flex-direction:column;align-items:stretch}
  .p42-toolbar{gap:12px}
  .p42-ft-bar-in{flex-direction:column;gap:8px}
  /* a wide ledger becomes one labelled card per row rather than a sideways scroll */
  .p42-ledger:not(.p42-spec-table){border:0;background:transparent}
  .p42-ledger:not(.p42-spec-table) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .p42-ledger:not(.p42-spec-table) tbody tr{display:block;background:var(--card);border:1px solid var(--edge);border-radius:var(--r);margin-bottom:12px;padding:6px 14px}
  .p42-ledger:not(.p42-spec-table) tbody tr:nth-child(even){background:var(--card)}
  .p42-ledger:not(.p42-spec-table) tbody th,.p42-ledger:not(.p42-spec-table) tbody td{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);text-align:left}
  .p42-ledger:not(.p42-spec-table) tbody th[scope=row]{font-size:18px;font-family:var(--fh)}
  .p42-ledger:not(.p42-spec-table) tbody td[data-l]::before{content:attr(data-l);font-family:var(--fm);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);flex:none}
  .p42-ledger:not(.p42-spec-table) tbody tr>*:last-child{border-bottom:0}
  .p42-viewcell{text-align:left}
}
@media (max-width:560px){
  .p42-steps,.p42-ctiles,.p42-usptiles,.p42-uspline,.p42-cards,.p42-jgrid,.p42-ptiers,.p42-sizes-row,.p42-bands,.p42-tcards,.p42-ft-grid,.p42-ft-grid4,.p42-ft-splitr,.p42-jwide{grid-template-columns:1fr}
  .p42-hero-tiles{grid-template-columns:1fr}
  .p42-hero-tiles li:nth-child(3){display:block}
  .p42-hero-tiles img{aspect-ratio:16/9}
  .p42-h1{font-size:clamp(29px,7.4vw,38px)}
  .p42-ptitle{font-size:clamp(25px,6.4vw,32px)}
  .p42-gal-thumbs button{width:60px;height:60px}
  .p42-tband ul{gap:12px;padding:16px;justify-content:flex-start}
  .p42-ft-band ul{gap:8px 20px;justify-content:flex-start}
  .p42-visit-dl{grid-template-columns:1fr;gap:2px 0}
  .p42-visit-dl dd{margin-bottom:10px}
  .p42-drawer-panel{width:min(94vw,340px)}
}


/* ---------------------------------------------------------------- pages the skin does not own
   Cart, checkout, account, and every policy, About, Contact and FAQ page are still rendered by the
   theme; our header and footer are hooked around them. Those pages carry body class `p42` but not
   `p42-doc`, so everything here is scoped to `body.p42:not(.p42-doc)` and cannot touch a skin page. */
body.p42:not(.p42-doc){background:var(--paper);color:var(--ink)}
body.p42:not(.p42-doc) .wd-page-wrapper,body.p42:not(.p42-doc) .website-wrapper{padding-top:0!important}
body.p42:not(.p42-doc) .whb-header,body.p42:not(.p42-doc) .wd-footer,body.p42:not(.p42-doc) .footer-container,
body.p42:not(.p42-doc) .wd-header-banner,body.p42:not(.p42-doc) .wd-sticky-nav,body.p42:not(.p42-doc) .wd-toolbar,
body.p42:not(.p42-doc) .cmc-hdr,body.p42:not(.p42-doc) .cmc-ftr,body.p42:not(.p42-doc) .nk-hdr,body.p42:not(.p42-doc) .nk-ftr,
body.p42:not(.p42-doc) .s816-hdr,body.p42:not(.p42-doc) .s816-ftr{display:none!important}
body.p42:not(.p42-doc) .site-content,body.p42:not(.p42-doc) .main-page-wrapper,body.p42:not(.p42-doc) .container{padding-block:26px}
body.p42:not(.p42-doc) .entry-title,body.p42:not(.p42-doc) h1.page-title,body.p42:not(.p42-doc) .wd-entities-title{font-family:var(--fh);font-size:clamp(30px,4vw,48px);line-height:1.1;color:var(--ink);margin:0 0 20px}
body.p42:not(.p42-doc) .entry-content h2,body.p42:not(.p42-doc) .page-content h2,body.p42:not(.p42-doc) article h2{font-family:var(--fh);font-size:26px;color:var(--ink);margin:34px 0 12px;border-bottom:2px solid var(--kraft);padding-bottom:8px}
body.p42:not(.p42-doc) .entry-content h3,body.p42:not(.p42-doc) .page-content h3,body.p42:not(.p42-doc) article h3{font-family:var(--fh);font-size:20px;color:var(--ink);margin:26px 0 10px}
body.p42:not(.p42-doc) .entry-content p,body.p42:not(.p42-doc) .page-content p,body.p42:not(.p42-doc) article p,
body.p42:not(.p42-doc) .entry-content li,body.p42:not(.p42-doc) .page-content li,body.p42:not(.p42-doc) article li{font-size:17px;line-height:1.8;color:var(--ink2);max-width:74ch}
body.p42:not(.p42-doc) .entry-content ul,body.p42:not(.p42-doc) .page-content ul,body.p42:not(.p42-doc) article ul{list-style:disc;padding-left:24px;margin:0 0 1.2em}
body.p42:not(.p42-doc) .entry-content ol,body.p42:not(.p42-doc) .page-content ol,body.p42:not(.p42-doc) article ol{list-style:decimal;padding-left:24px;margin:0 0 1.2em}
body.p42:not(.p42-doc) .entry-content li,body.p42:not(.p42-doc) .page-content li,body.p42:not(.p42-doc) article li{margin-bottom:9px}
body.p42:not(.p42-doc) .entry-content a,body.p42:not(.p42-doc) .page-content a{color:var(--acc);text-decoration:underline}
body.p42:not(.p42-doc) .entry-content table,body.p42:not(.p42-doc) .page-content table{width:100%;background:var(--card);border:1px solid var(--edge);margin-bottom:1.4em}
body.p42:not(.p42-doc) .entry-content table th,body.p42:not(.p42-doc) .entry-content table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:16px}
body.p42:not(.p42-doc) blockquote{border-left:4px solid var(--acc);padding-left:20px;margin:0 0 1.4em;color:var(--ink2)}
/* the theme's own low-contrast helper text has to stay readable under our palette */
body.p42:not(.p42-doc) .wd-post-meta,body.p42:not(.p42-doc) .wd-post-meta a,body.p42:not(.p42-doc) .post-date,
body.p42:not(.p42-doc) .author-name,body.p42:not(.p42-doc) .meta-author,body.p42:not(.p42-doc) .wd-entry-meta,
body.p42:not(.p42-doc) .text-muted{color:var(--p42-ink2)!important}
/* and its controls have to be reachable with a thumb */
body.p42:not(.p42-doc) .btn,body.p42:not(.p42-doc) .button:not(.p42-btn){min-height:44px;display:inline-flex;align-items:center;justify-content:center}
body.p42:not(.p42-doc) a.close-side-widget,body.p42:not(.p42-doc) .wd-close-side,body.p42:not(.p42-doc) [class*="close-side"],
body.p42:not(.p42-doc) .widget-heading-close{min-height:44px;min-width:44px;display:inline-flex!important;align-items:center;justify-content:center}
body.p42:not(.p42-doc) .woocommerce-breadcrumb a,body.p42:not(.p42-doc) .nkpol-crumbs a,body.p42:not(.p42-doc) .b9-crumbs a{min-height:44px;display:inline-flex;align-items:center}
/* breadcrumbs printed by another engine would duplicate ours */
body.p42-doc .woocommerce-breadcrumb,body.p42-doc .yoast-breadcrumb,body.p42-doc .wd-breadcrumbs,body.p42-doc .nkpol-crumbs{display:none!important}

/* ---------------------------------------------------------------- chrome must win over the theme everywhere */
body .p42-hd,body .p42-ft{font-family:var(--fb)}
body .p42-hd .p42-wordmark,body .p42-hd .p42-nav a,body .p42-ft .p42-ft-h{font-family:var(--fh)}
body .p42-hd ul,body .p42-ft ul,body .p42-drawer ul{list-style:none;margin:0;padding:0}
body .p42-hd .p42-search input,body .p42-cform input,body .p42-cform textarea,body .p42-sort select{border-radius:var(--r)!important;box-shadow:none!important}
body .p42-hd .p42-search input{background:transparent!important;border:0!important;padding:0 12px!important;min-width:0}
body .p42-cform input,body .p42-cform textarea{background:var(--card)!important;border:1px solid var(--edge)!important;color:var(--ink)!important;width:100%!important}
body .p42-crumbs a{min-height:44px;display:inline-flex;align-items:center}
body.p42-doc .whb-header,body.p42-doc .site-header,body.p42-doc .main-header,body.p42-doc footer.footer-container,
body.p42-doc .site-footer,body.p42-doc .cmc-hdr,body.p42-doc .cmc-ftr,body.p42-doc .nk-hdr,body.p42-doc .nk-ftr,
body.p42-doc .s816-hdr,body.p42-doc .s816-ftr,body.p42-doc .woodmart-prefooter{display:none!important}
/* print */
@media print{.p42-hd,.p42-ft,.p42-drawer,.p42-skip{display:none!important}body.p42-doc{background:#fff}}

/* ---------------------------------------------------------------- remaining pieces */
.p42-brandblock{display:flex;flex-direction:column;gap:2px;min-width:0}
.p42-util-l,.p42-util-r{min-width:0}
.p42-info{min-width:0}
.p42-ft-pay{font-family:var(--fm);font-size:13px;color:var(--tint)}
.p42-ft-splitl{min-width:0}
.p42-note{font-size:16px;line-height:1.7;color:var(--ink2)}

/* the real contact form, shown only where the site can actually deliver the message */
.p42-cform{display:grid;gap:16px;max-width:560px;background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:24px}
.p42-cform-row{display:grid;gap:6px}
.p42-cform label{font-family:var(--fm);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.p42-cform label small{font-family:var(--fb);font-size:13px;letter-spacing:0;text-transform:none}
.p42-cform input[type=text],.p42-cform input[type=email],.p42-cform textarea{width:100%;min-height:48px;padding:12px;border:1px solid var(--edge);border-radius:var(--r);background:var(--card);color:var(--ink);font:inherit;font-size:16px}
.p42-cform textarea{min-height:130px;resize:vertical;line-height:1.6}
.p42-cform-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.p42-cform-out{margin:0;font-size:15px;line-height:1.6;color:var(--acc2);min-height:24px}
.p42-cform-out.is-bad{color:var(--acc2);font-weight:700}
@media (max-width:560px){.p42-cform{padding:18px}}

/* ---------------------------------------------------------------- specificity corrections
   The base rules `body.p42-doc h1,h2,h3,h4 {color: var(--ink)}` and `body.p42-doc a {color: var(--acc)}`
   score (0,1,2), which outranks a plain `.p42-ft-h` or `.p42-ft a` at (0,1,1). Left alone that paints
   the footer headings dark ink on the dark footer ground — 1.05:1, measured — and turns every card
   title into an accent link. These rules match that (0,1,2) score and come last, so they win on order.
   They are corrections, not new design: each one restores the colour its own block already intended. */

/* dark grounds: the text on them must stay light */
body .p42-ft h2,body .p42-ft h3,body .p42-ft-h{color:#fff}
body .p42-ft a{color:var(--tint)}
body .p42-ft a:hover{color:#fff}
body .p42-hd-util a{color:#fff}
body .p42-panel-deep h2,body .p42-panel-deep h3{color:#fff}
body .p42-panel-deep a{color:var(--tint)}
body .p42-panel-deep a:hover{color:#fff}
body .p42-sec-head-inv h2{color:#fff}

/* a card or a row whose whole surface is the link reads as text, not as a link */
body .p42-pcard a,body .p42-ppair a,body .p42-pcovers a,body .p42-prows a,body .p42-plist a,
body .p42-ptier a,body .p42-prail a,body .p42-ctiles a,body .p42-ccards a,body .p42-cstrip a,
body .p42-csplit-b a,body .p42-cbig,body .p42-shelf a,body .p42-jlist a,body .p42-jside a,
body .p42-jwide-a,body .p42-card>a,body .p42-jcard>a,body .p42-hero-tiles a,body .p42-hero-rail a,
body .p42-hero-idxlist a,body .p42-cchips a,body .p42-chips a,body .p42-mnav a{color:var(--ink)}
body .p42-shelf a:hover,body .p42-jlist a:hover,body .p42-prows a:hover{color:var(--ink)}
body .p42-hero-idxlist a:hover,body .p42-csplit-b a:hover,body .p42-plist a:hover,
body .p42-ptier a:hover,body .p42-jside a:hover,body .p42-pcovers a:hover{color:var(--acc2)}
body .p42-cchips a:hover,body .p42-chips a.is-on,body .p42-chips a.is-on span{color:#fff}
body .p42-mnav ul a{color:var(--ink2)}

/* meta rails keep their own quieter colour */
body .p42-crumbs a,body .p42-hd-rail a{color:var(--acc2)}
body .p42-ledger tbody th a{color:var(--ink)}
body .p42-tick-table td.num a{color:var(--acc)}

/* the theme's sidebar widgets survive on the pages the skin does not render, and they arrive with
   grey-on-white timestamps and 21 px comment links. Both are measured failures, so both are fixed. */
body.p42:not(.p42-doc) .recent-posts-time,body.p42:not(.p42-doc) time.recent-posts-time,
body.p42:not(.p42-doc) .wd-post-date,body.p42:not(.p42-doc) .widget .post-date{color:var(--p42-ink2)!important}
body.p42:not(.p42-doc) .recent-posts-comment,body.p42:not(.p42-doc) .widget a[class*="comment"]{
  color:var(--p42-acc2)!important;min-height:44px;display:inline-flex;align-items:center}
body.p42:not(.p42-doc) .widget li a,body.p42:not(.p42-doc) .wd-widget a{min-height:36px;display:inline-flex;align-items:center}

/* ---------------------------------------------------------------- inherited content
   Product descriptions and policy pages were written by earlier engines and arrive with their own
   inline table of contents, 11 px labels and 19 px links. The text is kept; only the sizes and the
   hit areas are brought up to the bar, because both were measured failures. */
body.p42-doc .p42-desc span,body.p42-doc .p42-desc small,body.p42-doc .p42-desc li,
body.p42-doc .p42-desc td,body.p42-doc .p42-desc th{font-size:inherit}
/* only the standalone links get a hit area; a link inside a sentence is exempt under WCAG 2.5.8
   and turning it into a 40px flex box would break the line it sits in */
body.p42-doc .p42-desc li>a,body.p42-doc .p42-desc nav a,body.p42-doc .p42-desc p>a:only-child{
  min-height:40px;display:inline-flex;align-items:center;color:var(--acc)}
body.p42-doc .p42-desc span[style*="font-size"],body.p42-doc .p42-desc small[style*="font-size"],
body.p42-doc .p42-desc span[style*="0.7"],body.p42-doc .p42-desc span[style*="0.8"]{font-size:15px!important}
/* the nk single-product helper line sits on a tinted panel and misses AA by a whisker */
body .nkt-choose,body.p42-doc .nkt-choose{color:var(--p42-acc2)!important;font-size:13px}

body.p42:not(.p42-doc) .nkpol-eb,body.p42:not(.p42-doc) .nkpol-kicker,
body.p42:not(.p42-doc) summary,body.p42:not(.p42-doc) .nkpol-toc summary{font-size:13px!important}
body.p42:not(.p42-doc) .nkpol-toc a,body.p42:not(.p42-doc) .nkpol-crumbs a,
body.p42:not(.p42-doc) .nkpol-body a,body.p42:not(.p42-doc) .nkpol-lead a,
body.p42:not(.p42-doc) .nkpol-contact a{min-height:40px;display:inline-flex;align-items:center}
body.p42:not(.p42-doc) .nkpol-lead{color:var(--p42-ink2)!important}
body.p42:not(.p42-doc) a[href^="mailto:"],body.p42:not(.p42-doc) a[href^="tel:"]{min-height:40px;display:inline-flex;align-items:center}

/* ---------------------------------------------------------------- measured leftovers on theme pages
   Each rule below answers one element the audit flagged by name on the policy and About pages. */
/* the breadcrumb "Home" link renders 34x22, under the 24 px minimum, and carries no class of its own */
body.p42:not(.p42-doc) nav a,body.p42:not(.p42-doc) .breadcrumb a,body.p42:not(.p42-doc) ol a,
body.p42:not(.p42-doc) [class*="crumb"] a,body.p42:not(.p42-doc) [class*="crumb"] span{
  min-height:26px;display:inline-flex;align-items:center}
/* the theme's own skip links land between 3.6:1 and 4.4:1 */
body .wd-skip-navigation,body .skip-link,body a[class*="skip"]:not(.p42-skip){color:var(--p42-acc2)!important;font-size:13px}
/* our own skip link is white on the deep ground and must not be caught by the rule above */
body .p42-skip,body.p42-doc .p42-skip{color:#fff!important;background:var(--deep)!important}
/* the policy engine's eyebrow, step number and section label */
body.p42:not(.p42-doc) .nkpol-eb,body.p42:not(.p42-doc) .nkpol-sn,body.p42:not(.p42-doc) .s8-eyebrow,
body.p42:not(.p42-doc) .nk-bd2,body.p42:not(.p42-doc) .nk-bl2{font-size:13px!important;color:var(--p42-ink2)!important}
body.p42:not(.p42-doc) .nkpol-crumbs span,body.p42:not(.p42-doc) .nkpol-crumb span{color:var(--p42-ink2)!important}
/* footer column headings printed at 11.5 px by an older engine */
body.p42:not(.p42-doc) h4{font-size:15px}
/* the old engine's "back to the top" button sat at 1.45:1 */
body .nk-btn,body .nk-cn{color:var(--p42-acc2)!important}
body .nk-cn{font-size:12px}
/* the policy engine's breadcrumb renders 12.5px grey at about 4.4:1 */
body.p42:not(.p42-doc) .nkpol-crumb a,body.p42:not(.p42-doc) .nkpol-crumb span,
body.p42:not(.p42-doc) .nkpol-crumbs a,body.p42:not(.p42-doc) .nkpol-crumbs span{
  color:var(--p42-acc2)!important;font-size:13px}
body.p42:not(.p42-doc) .nkpol-crumb [aria-current],body.p42:not(.p42-doc) .nkpol-crumbs [aria-current]{color:var(--p42-ink2)!important}
body.p42:not(.p42-doc) .nkpol-crumb a{min-height:26px;display:inline-flex;align-items:center}
/* the policy engine scopes its own colours under #nkpol, which outranks a class selector however many
   !important flags it carries. Matching the id is the only way to correct the breadcrumb it paints
   at 1.68:1 to 2.86:1 depending on the site's accent. */
body #nkpol .nkpol-crumb a,body #nkpol .nkpol-crumbs a,body #nkpol .nkpol-hd .nkpol-crumb a{
  color:var(--p42-acc2)!important;font-size:13px;min-height:26px;display:inline-flex;align-items:center}
body #nkpol .nkpol-crumb span,body #nkpol .nkpol-crumbs span{color:var(--p42-ink2)!important}
body #nkpol .nkpol-eb,body #nkpol .nkpol-sn{color:var(--p42-ink2)!important;font-size:13px!important}
body #nkpol .nkpol-lead{color:var(--p42-ink2)!important}
/* prose links inside the policy engine take its own accent, which misses AA on some palettes (4.43:1 measured) */
body #nkpol p a,body #nkpol li a,body #nkpol td a,body #nkpol dd a{color:var(--p42-acc2)!important}

/* ---------------------------------------------------------------- single-weight display faces
   Never let the browser invent a bold: a synthetic weight on a heavy display face smears the strokes. */
body.p42 .p42-hd,body.p42 .p42-ft,body.p42-doc{font-synthesis:none}
/* Anton / Bebas Neue: large headings keep the face at its only real weight, with a little air */
body.p42-fh-display .p42-h1,body.p42-fh-display .p42-h2,body.p42-fh-display .p42-wordmark,
body.p42-fh-display .p42-visit-big,body.p42-fh-display .p42-ft-h,body.p42-fh-display .p42-btn,
body.p42-fh-display .p42-nav>ul>li>a,body.p42-fh-display .p42-price{font-weight:400;letter-spacing:.02em}
body.p42-fh-display .p42-h1{line-height:1.08}
/* small headings and product names read in the body face: a condensed poster type is illegible at 17px */
body.p42-fh-display .p42-h3,body.p42-fh-display .p42-pcard-name,body.p42-fh-display .p42-prow-n,
body.p42-fh-display .p42-plist span,body.p42-fh-display .p42-hero-tiles span,body.p42-fh-display .p42-pcovers span,
body.p42-fh-display .p42-card-h,body.p42-fh-display .p42-jlist-t,body.p42-fh-display .p42-shelf-name,
body.p42-fh-display .p42-ctile-b span,body.p42-fh-display .p42-ccard-n,body.p42-fh-display .p42-cstrip span,
body.p42-fh-display .p42-cbig span,body.p42-fh-display .p42-csplit-b a,body.p42-fh-display .p42-hero-idxlist a,
body.p42-fh-display .p42-chooser dt,body.p42-fh-display .p42-faqrule dt,body.p42-fh-display .p42-faq h3,
body.p42-fh-display .p42-faqcards h3,body.p42-fh-display .p42-bands dd,body.p42-fh-display .p42-uspline b,
body.p42-fh-display .p42-visit-name,body.p42-fh-display .p42-cbox-h,body.p42-fh-display .p42-sizes-name,
body.p42-fh-display .p42-hero-spec dd,body.p42-fh-display .p42-mnav a,body.p42-fh-display .p42-chips a,
body.p42-fh-display .p42-cchips a,body.p42-fh-display .p42-textlink,body.p42-fh-display .p42-view,
body.p42-fh-display .p42-card-cta,body.p42-fh-display .p42-shelf-cta{
  font-family:var(--fb);font-weight:700;letter-spacing:0;text-transform:none;line-height:1.35}
body.p42-fh-display .p42-pcard-name,body.p42-fh-display .p42-prow-n{font-size:16px}
/* prices stay in the display face but at a real weight and a size where the digits separate */
body.p42-fh-display .p42-pcard-price,body.p42-fh-display .p42-prow-p{font-weight:400;letter-spacing:.03em;font-size:22px}
/* the live-chat button sits over the bottom-right corner; keep the payment list clear of it */
.p42-ft-bar-in{padding-right:96px}
@media (max-width:760px){.p42-ft-bar-in{padding-right:16px;padding-bottom:72px}}
