/* PunchPowerUp design system v4 — loaded last on every page. Main-content rules are scoped to #main so they outrank the older per-page files. */

@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../fonts/archivo-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/geist-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/geist-mono-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --sys-bg:#0a0e0c;--sys-s1:#0f1512;--sys-s2:#131b17;--sys-s3:#1a241f;
  --sys-text:#efe8da;--sys-text-2:#c8c3b7;--sys-text-3:#98968d;
  --sys-gold:#c7a25a;--sys-gold-2:#e0bf76;
  --sys-hair:rgba(239,232,218,.11);--sys-hair-gold:rgba(199,162,90,.3);
  --sys-display:'Archivo','Arial Narrow',Impact,sans-serif;
  --sys-body:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --sys-mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --fs-h1:clamp(2.45rem,1.3rem + 3.2vw,4.4rem);
  --fs-h2:clamp(1.9rem,1.2rem + 2vw,3.1rem);
  --fs-h3:clamp(1.18rem,1.08rem + .42vw,1.45rem);
  --fs-lede:clamp(1.06rem,1rem + .3vw,1.22rem);
  --fs-body:1.0625rem;--fs-small:.9rem;--fs-label:.75rem;
  --sys-measure:66ch;
  --sys-radius:6px;
  --sys-section:clamp(72px,8vw,124px);
  --color-bronze-ink:#e0bf76;
  --forest:#131b17;--forest-2:#1a241f;--ed-forest:#131b17;--ed-moss:#1a241f;--ed-deep:#0f1512;
  --ed-serif:'Geist',ui-sans-serif,system-ui,sans-serif;--ed-sans:'Geist',ui-sans-serif,system-ui,sans-serif;--ed-mono:'Geist Mono',ui-monospace,monospace;--ed-paper:#0f1512;--ed-dark-line:rgba(239,232,218,.11);
}

/* ---------- Base ---------- */
html{-webkit-text-size-adjust:100%}
body{background:var(--sys-bg);color:var(--sys-text);font-family:var(--sys-body);font-size:var(--fs-body);line-height:1.62;font-feature-settings:'ss01' 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--sys-gold);color:#0a0e0c}

/* ---------- Typography (main content) ---------- */
#main :is(h1,h2){font-family:var(--sys-display);font-stretch:72%;font-weight:760;text-transform:uppercase;letter-spacing:-.005em;color:var(--sys-text);text-wrap:balance;margin-top:0}
#main h1{font-size:var(--fs-h1);line-height:.94;max-width:20ch}
#main h2{font-size:var(--fs-h2);line-height:.98;max-width:22ch}
#main :is(h3,h4){font-family:var(--sys-body);font-stretch:100%;font-weight:600;font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.012em;text-transform:none;color:var(--sys-text);text-wrap:balance}
#main h4{font-size:1.08rem}
#main :is(p,li,dd,td,th,dt,label,summary,blockquote,figcaption,small){font-family:var(--sys-body);letter-spacing:normal}
#main :is(p,li,dd){font-size:var(--fs-body);line-height:1.65;color:var(--sys-text-2);text-wrap:pretty}
#main p{max-width:var(--sys-measure)}
#main :is(strong,b){color:var(--sys-text);font-weight:600}
#main :is(.hero-lede,.lede,.intro,.lead,.hero-copy>p:not(.eyebrow):not(.trust-line)){font-size:var(--fs-lede);line-height:1.55;color:var(--sys-text-2)}
#main :is(figcaption,small,.caption,.trust-line,.tax-note){font-size:var(--fs-small);line-height:1.5;color:var(--sys-text-3);letter-spacing:.01em;text-transform:none}
#main :is(td,th,dt){font-size:.95rem;line-height:1.5;color:var(--sys-text-2)}
#main :is(th,dt){color:var(--sys-text);font-weight:600}
#main a:not(.button):not(.text-link){text-underline-offset:.18em}
#main :is(p,li,td,dd) a:not(.button):not(.text-link){color:var(--sys-gold-2);text-decoration:underline;text-decoration-color:rgba(224,191,118,.4)}
#main :is(p,li,td,dd) a:not(.button):not(.text-link):hover{text-decoration-color:currentColor}

/* Labels: one mono style everywhere */
#main .eyebrow{font-family:var(--sys-mono);font-size:var(--fs-label);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--sys-gold-2);margin:0 0 20px;position:static;transform:none}
/* Eyebrow restraint: keep the hero label and in-card labels, drop the per-section ones that stacked above every heading */
#main>section:not(:first-of-type)>.shell>.eyebrow,
#main>section:not(:first-of-type) :is(.section-head,.feature-copy,.split-editorial>div:first-child,.shipping-copy,.final-inner,.clarity-grid>div:first-child,.install-copy,.detail-ledger,.target-grid>div,.machine-row>div)>.eyebrow{display:none}

/* Centered blocks keep centered paragraphs */
#main :is(.final-inner,.centered,.text-center,[style*="text-align:center"]) :is(p,h1,h2){margin-inline:auto}

/* ---------- Header / footer / overlays ---------- */
.site-header .brand-copy strong{font-family:var(--sys-display);font-stretch:75%;font-weight:800;font-size:1.3rem;letter-spacing:.01em;text-transform:uppercase}
.site-header .brand-copy small{font-family:var(--sys-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sys-text-3)}
.site-header .nav-link{font-family:var(--sys-body);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.site-header .site-search-trigger{background:transparent;color:var(--sys-text);border:1px solid var(--sys-hair);border-radius:var(--sys-radius);font-family:var(--sys-body);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:0 14px;transition:border-color .2s,color .2s}
.site-header .site-search-trigger:hover{border-color:var(--sys-gold);color:var(--sys-gold-2)}
.mega-menu strong,.mobile-drawer a,.mobile-drawer button{font-family:var(--sys-body)}
.site-footer{font-family:var(--sys-body)}
.site-footer .brand-copy strong,.site-footer .brand strong{font-family:var(--sys-display);font-stretch:75%;font-weight:800;font-size:1.3rem;text-transform:uppercase;letter-spacing:.01em;color:var(--sys-text)}
.site-footer .footer-base span{font-size:.8rem;color:var(--sys-text-3)}
.site-footer h2{font-family:var(--sys-mono);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--sys-gold-2)}
.site-footer a,.site-footer p,.site-footer small{font-size:.92rem;line-height:1.7;color:var(--sys-text-2)}
.site-footer a:hover{color:var(--sys-gold-2)}
.site-search-dialog h2{font-family:var(--sys-display);font-stretch:72%;font-weight:760;text-transform:uppercase}

.site-footer .brand-logo-footer{width:78px;height:66px}
.site-footer .brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--sys-gold);color:var(--sys-gold-2);font-family:var(--sys-display);font-size:.9rem;transform:rotate(45deg)}
.no-js .mega-menu,.no-js .mobile-drawer,.no-js .drawer-overlay{display:none!important}

/* ---------- Articles ---------- */
#main .article-lead{width:min(1240px,calc(100% - 48px));margin:0 auto;background:transparent}
#main .article-lead img{width:100%;height:auto;max-height:none;aspect-ratio:21/9;object-fit:cover;object-position:center 45%;border-radius:var(--sys-radius);filter:none}
#main .article-lead figcaption{padding:10px 0 0}
#main .article-masthead{padding-bottom:clamp(40px,5vw,64px)}
#main .article-masthead h1{max-width:20ch}
#main .article-deck{font-size:var(--fs-lede);color:var(--sys-text-2);max-width:60ch}
#main .article-kicker,#main .article-meta{font-family:var(--sys-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sys-text-3)}
#main .article-body :is(h2){font-size:clamp(1.6rem,1.2rem + 1.4vw,2.35rem);max-width:24ch;margin-top:2.6em;margin-bottom:.6em}
#main .article-body :is(h3){margin-top:1.8em;margin-bottom:.4em}
#main .article-body :is(ul,ol){padding-left:1.2em}
#main .article-body li{margin-bottom:.5em}
#main .article-body figure{margin:2rem 0}
#main .article-body figure img{height:auto;border-radius:var(--sys-radius)}
#main .article-toc a{font-size:.85rem;line-height:1.45;color:var(--sys-text-3)}
#main .article-toc a:hover{color:var(--sys-gold-2)}

/* ---------- Content slots (belts, gloves, shipping pages) ---------- */
#main .ppp-rest-content-section{padding-block:var(--sys-section)}
#main .ppp-content-slot{max-width:820px;margin-inline:auto}
#main .ppp-content-slot a:not(.button){color:var(--sys-gold-2)}
#main .ppp-content-slot :is(h2,h3,h4){font-family:var(--sys-display);font-stretch:72%;font-weight:760;letter-spacing:-.005em}
#main .ppp-content-slot :is(h3,h4){font-family:var(--sys-body);font-stretch:100%;font-weight:600;text-transform:none;font-size:var(--fs-h3);letter-spacing:-.01em;margin-top:1.8em}
#main .ppp-rest-content-section h2{font-size:clamp(1.7rem,1.2rem + 1.6vw,2.6rem);margin-top:2.4em;margin-bottom:.5em;max-width:24ch}
#main .ppp-rest-content-section h2:first-child{margin-top:0}

/* ---------- Buttons & links ---------- */
.button{font-family:var(--sys-body);font-weight:650;font-size:.82rem;letter-spacing:.07em;border-radius:var(--sys-radius);white-space:nowrap;transition:transform .2s cubic-bezier(.2,.8,.2,1),background .2s,color .2s,border-color .2s,box-shadow .2s}
.button:hover{box-shadow:0 10px 30px -12px rgba(199,162,90,.55)}
.button:active{transform:translateY(1px) scale(.985)}
.button-ghost{background:transparent;color:var(--sys-text);border-color:rgba(239,232,218,.34)}
.button-ghost:hover{background:rgba(239,232,218,.06);border-color:var(--sys-gold);color:var(--sys-text);box-shadow:none}
/* On the dark theme the old dark button is the primary action, so it takes the gold treatment */
.button-dark,#main .button-dark,#main button[type=submit].button{background:var(--sys-gold);color:#0a0e0c;border-color:var(--sys-gold)}
.button-dark:hover,#main .button-dark:hover{background:var(--sys-gold-2);color:#0a0e0c}
.text-link{font-family:var(--sys-body);font-weight:650;font-size:.8rem;letter-spacing:.07em}
:focus-visible{outline:2px solid var(--sys-gold-2);outline-offset:3px}

/* ---------- Theme lock: every former cream/beige section becomes a dark surface ---------- */
#main :is(.ppp-rest-content-section,.ws-decision-axis,.correction-context,.feature,.shipping,.guides,.ready-order,.product-clarity,.machine-install,.belt-anatomy,.belt-materials,.belt-gallery,.product-scope,.product-planning,.product-gallery-batch,.collection-routes,.collection-process,.machine-product-gallery,.quote-form-section,.ring-event-object,.ring-process,.ring-finish,.ring-gallery,.shipping-box-section,.customs-ledger,.shipping-information,.buyer-information,.collaboration,.artwork-approval,.confirmation-next,.continue-exploring,.ppp-shipping-system,.contact-archive,.packing-proof,.guides-masthead,.latest-guides,.planning-guides,.article-masthead,.related-guides,.legal-page,.search-masthead,.ws-route-split,.ws-artwork,.ws-ledger,.ws-final){background:var(--sys-s1);color:var(--sys-text)}
#main :is(.ppp-rest-content-section,.feature,.shipping,.guides,.ready-order,.product-clarity,.machine-install,.belt-anatomy,.belt-materials,.belt-gallery,.product-scope,.product-planning,.product-gallery-batch,.collection-routes,.collection-process,.machine-product-gallery,.quote-form-section,.ring-event-object,.ring-process,.ring-finish,.ring-gallery,.shipping-box-section,.customs-ledger,.shipping-information,.buyer-information,.collaboration,.artwork-approval,.confirmation-next,.continue-exploring,.ppp-shipping-system,.ws-decision-axis,.correction-context,.contact-archive,.packing-proof,.guides-masthead,.latest-guides,.planning-guides,.article-masthead,.related-guides,.legal-page,.search-masthead,.ws-route-split,.ws-artwork,.ws-ledger,.ws-final) :is(h1,h2,h3,h4,strong,dt,th){color:var(--sys-text)}
#main :is(.ppp-rest-content-section,.feature,.shipping,.guides,.ready-order,.product-clarity,.machine-install,.belt-anatomy,.belt-materials,.belt-gallery,.product-scope,.product-planning,.product-gallery-batch,.collection-routes,.collection-process,.machine-product-gallery,.quote-form-section,.ring-event-object,.ring-process,.ring-finish,.ring-gallery,.shipping-box-section,.customs-ledger,.shipping-information,.buyer-information,.collaboration,.artwork-approval,.confirmation-next,.continue-exploring,.ppp-shipping-system,.ws-decision-axis,.correction-context,.contact-archive,.packing-proof,.guides-masthead,.latest-guides,.planning-guides,.article-masthead,.related-guides,.legal-page,.search-masthead,.ws-route-split,.ws-artwork,.ws-ledger,.ws-final) :is(p,li,dd,td,span:not(.button *),small,figcaption,label,summary){color:var(--sys-text-2)}
#main :is(.ppp-rest-content-section,.feature,.shipping,.guides,.ready-order,.product-clarity,.machine-install,.belt-anatomy,.belt-materials,.belt-gallery,.product-scope,.product-planning,.product-gallery-batch,.collection-routes,.collection-process,.machine-product-gallery,.quote-form-section,.ring-event-object,.ring-process,.ring-finish,.ring-gallery,.shipping-box-section,.customs-ledger,.shipping-information,.buyer-information,.collaboration,.artwork-approval,.confirmation-next,.continue-exploring,.ppp-shipping-system,.ws-decision-axis,.correction-context,.contact-archive,.packing-proof,.guides-masthead,.latest-guides,.planning-guides,.article-masthead,.related-guides,.legal-page,.search-masthead,.ws-route-split,.ws-artwork,.ws-ledger,.ws-final) *{border-color:var(--sys-hair)}
#main :is(.scope-ledger article,.collection-route,.collection-process .product-timeline span,.quote-form-panel,.deadline-note,.form-gated,.upload-disabled-note,.custom-policy-note,.ring-timeline span,.delivery-chips span,.shipping-chips span,.collaboration-route,.confirmation-steps span,.ppp-shipping-progress li,.proof-film figure){background:var(--sys-s2);color:var(--sys-text-2);border-color:var(--sys-hair)}
#main .ppp-shipping-progress li.is-active{background:var(--sys-s3);border-color:var(--sys-hair-gold)}
/* Former forest-green bands: same dark family, a whisper of tint and a gold rule, so sections separate without the page changing colour */
#main :is(.catalog-rule,.approval-route,.delivery-note,.belt-styles,.belt-delivery,.custom-fightwear-apparel .product-scope,.collection-sizing,.machine-related,.route-options,.multi-product,.wholesale-qc,.submit-once,.ring-use-cases,.ring-delivery,.quote-process,.process){background:var(--sys-s2);border-top:1px solid var(--sys-hair-gold)}
#main :is(.product-timeline span,.belt-timeline span,.style-panel,.custom-fightwear-apparel .scope-ledger article,.multi-orbit span,.ring-use-case,.quote-process-list span,.process-list li span){background:var(--sys-s3)}
/* Product cut-outs keep a light, neutral stage */
#main :is(.machine-main,.machine-page-gallery figure,.ready-product figure,.catalog-card figure,.machine-photo){background:#e9e7e1}

/* ---------- Forms ---------- */
#main :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea){background:var(--sys-s2);color:var(--sys-text);border:1px solid rgba(239,232,218,.22);border-radius:var(--sys-radius);font-family:var(--sys-body);font-size:1rem}
#main :is(input,select,textarea):focus{background:var(--sys-s3);border-color:var(--sys-gold);outline:none;box-shadow:0 0 0 3px rgba(199,162,90,.22)}
#main ::placeholder{color:var(--sys-text-3);opacity:1}
#main :is([aria-invalid="true"]){border-color:#e07a5f}
#main .form-error{background:rgba(224,122,95,.12);color:#f2b8a6;border-color:rgba(224,122,95,.4)}

/* ---------- Images: one honest treatment, no heavy darkening ---------- */
#main img{filter:saturate(.94) contrast(1.02);border-radius:0}
#main :is(.machine-main,.machine-page-gallery,.machine-thumbs,.machine-photo,.ready-product,.catalog-card figure) img{filter:none}

/* ---------- Tables ---------- */
#main table{width:100%;border-collapse:collapse;margin:1.5rem 0 2rem;font-variant-numeric:tabular-nums}
#main :is(table td,table th){padding:.8rem 1rem .8rem 0;border-bottom:1px solid var(--sys-hair);text-align:left;vertical-align:top}
#main table th{font-family:var(--sys-mono);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--sys-gold-2)}
#main table tr>td:first-child{color:var(--sys-text);font-weight:550;white-space:nowrap}

/* ---------- Rhythm ---------- */
#main .section{padding-block:var(--sys-section) calc(var(--sys-section) + 12px)}
#main .section-head{margin-bottom:clamp(36px,4vw,56px);align-items:flex-end}
#main :is(h1+p,h2+p){margin-top:1.1rem}
#main .tag-list li{font-family:var(--sys-mono);font-size:.72rem;letter-spacing:.08em}

/* ---------- Tablet: collapse page-level splits before columns get too narrow ---------- */
@media (max-width:1080px){
  #main :is(.hero-grid,.feature-grid,.feature-grid.reverse,.shipping-grid,.machine-row,.faq-grid,.proof-layout,.hardware-layout,
    .catalog-hero-grid,.ready-order-grid,.ready-product,.catalog-section-head,.product-hero-grid,.review-layout,.clarity-grid,.split-editorial,.machine-hero-grid,.detail-spread,.install-grid,.target-grid,.belt-hero-grid,.anatomy-layout,.materials-grid,.macro-stack,.qc-layout,.delivery-editorial,.planning-grid,.qc-batch-grid,.collection-hero-grid,.collection-sizing-grid,.policy-ledger,
    .quote-hero-grid,.quote-form-layout,.prepare-layout,.ring-hero-grid,.event-object-grid,.event-object-details,.ring-sound-grid,.ring-finish-grid,.ring-delivery-grid,
    .transaction-hero-grid,.shipping-box-layout,.customs-grid,.packing-grid,.information-grid,.factors-grid,.approval-grid,.wholesale-qc-grid,.may-need-grid,.ppp-shipping-system__grid,
    .ws-hero-layout,.ws-canvas-layout,.ws-artwork-layout,.ws-side-label,.ws-wide-heading,.ws-decision-head,.ws-ledger-head,
    .proof-hero-grid,.artwork-split,.qc-evidence-grid,.packing-ledger,.masthead-grid,.featured-spread,.story-row,.story-row:nth-child(even),.buyer-index,.craft-mosaic,.planning-document,.archive-heading){grid-template-columns:minmax(0,1fr);gap:clamp(28px,5vw,48px)}
  #main :is(.ring-decision-ledger,.event-object-ledger,.finish-ledger,.qc-ledger,.factor-ledger,.need-list,.explore-ledger){grid-template-columns:minmax(0,1fr)}
  #main :is(.process-list,.product-timeline,.belt-timeline,.six-step,.ring-timeline,.delivery-timeline,.confirmation-steps,.quote-process-list,.ws-process-ribbon,.trust-grid,.context-line,.styles-spread,.ring-use-case-spread,.technical-ledger,.ring-qc-ledger,.preparation-grid,.planning-strip-grid,.evidence-strip,.collection-route-grid,.decision-ledger,.safety-documentation-matrix){grid-template-columns:repeat(2,minmax(0,1fr))}
  #main h1{max-width:20ch}
}
@media (max-width:600px){
  #main :is(.process-list,.product-timeline,.belt-timeline,.six-step,.ring-timeline,.delivery-timeline,.confirmation-steps,.quote-process-list,.ws-process-ribbon,.context-line,.styles-spread,.ring-use-case-spread,.technical-ledger,.ring-qc-ledger,.preparation-grid,.planning-strip-grid,.evidence-strip,.collection-route-grid,.decision-ledger,.safety-documentation-matrix,.field-grid,.qc-ledger,.finish-ledger,.event-object-ledger,.ring-decision-ledger,.factor-ledger,.need-list,.explore-ledger,.production-routes,.multi-product-grid,.product-route-links,.prepare-checklist,.qc-batch-ledger){grid-template-columns:minmax(0,1fr)}
  #main table tr>td:first-child{white-space:normal}
  :root{--fs-body:1rem}
}

@media (prefers-reduced-motion:reduce){.button,.text-link{transition:none}}

/* ---------- Category pages: checks list replacing the empty evidence boxes ---------- */
#main .qc-steps{list-style:none;padding:0;margin:0;display:grid;gap:0;border-top:1px solid var(--sys-hair)}
#main .qc-steps li{display:grid;grid-template-columns:48px 1fr;column-gap:14px;padding:18px 0;border-bottom:1px solid var(--sys-hair)}
#main .qc-steps span{grid-row:1/3;font-family:var(--sys-mono);font-size:.75rem;letter-spacing:.1em;color:var(--sys-gold-2);padding-top:3px}
#main .qc-steps strong{font-size:1.05rem}
#main .qc-steps p{margin:4px 0 0;font-size:.95rem;color:var(--sys-text-3)}
#main .batch-gallery figcaption{font-size:.82rem}

/* ---------- Proof archive: 7-cell bento, no hand-placed coordinates ---------- */
#main .contact-sheet{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(180px,17vw,250px);gap:12px}
#main .contact-frame{grid-column:auto!important;grid-row:auto!important;aspect-ratio:auto;height:auto;margin:0;border-radius:var(--sys-radius);background:var(--sys-s2)}
#main .contact-frame:nth-child(1){grid-column:span 2!important;grid-row:span 2!important}
#main .contact-frame:nth-child(6),#main .contact-frame:nth-child(7){grid-column:span 2!important}
#main .contact-frame figure{height:100%;margin:0}
#main .contact-frame figcaption,#main .contact-frame figcaption :is(small,span){color:var(--sys-text-2)}
#main .contact-frame>nav a{color:var(--sys-gold-2)}
@media (max-width:760px){#main .contact-sheet{grid-template-columns:1fr 1fr;grid-auto-rows:200px}#main .contact-frame:nth-child(1){grid-column:span 2!important;grid-row:span 1!important}}
@media (max-width:480px){#main .contact-sheet{grid-template-columns:1fr}#main .contact-frame:nth-child(n){grid-column:auto!important}}
#main .contact-frame{display:flex;flex-direction:column}
#main .contact-frame figure{flex:1 1 auto;min-height:0;position:relative}
#main .contact-frame>nav{flex:0 0 auto;padding:10px 12px;gap:4px 14px;border:0;border-top:1px solid var(--sys-hair)}
#main .contact-frame>nav a{min-height:32px;font-size:.78rem}

/* ---------- Audit fixes ---------- */
#main .ws-artwork-sheet{background:var(--sys-s2);color:var(--sys-text-2);border-color:var(--sys-hair)}
#main .button-ghost{background:transparent;color:var(--sys-text);border-color:rgba(239,232,218,.34)}
/* Gold accent bands keep dark text */
#main :is(.evidence-limitations,.guides-bridge) :is(h1,h2,h3,h4,p,li,span,strong,small,a:not(.button)){color:#0a0e0c}
#main :is(.evidence-limitations,.guides-bridge) a:not(.button){text-decoration-color:rgba(10,14,12,.5)}
/* Minimum label size: nothing under ~12.5px */
#main :is(.breadcrumb a,.breadcrumb span,.context-line span,.article-meta span,.article-kicker,.story-meta span,.form-index span,.field-helper span,label>span,.machine-price span,.expectation-line span,.sound-signal span,.size-tape span,.application-note span,.route-manifest span,.manifest-code,.ppp-shipping-blueprint span,.ppp-shipping-complete span,.ppp-shipping-complete strong,.ppp-shipping-pause b,.ws-route-code,.ws-document-code,.ws-map-node,.ws-register-head span,.ws-rail-track span,.ws-side-label span,.ws-decision-axis span,.ws-wide-heading span,.ws-canvas-note span,.ws-decision-head span,.ws-fork-merge span,.ws-ribbon-head span,.ws-ledger-head span,.ws-faq-head span,.ws-final-layout>span,.h-tile__label,.h-guide__label,.h-prices dt,figcaption span,table th,.eyebrow,.tag-list li,.proof-legend span,.story-meta a){font-size:.8rem;letter-spacing:.08em}
#main .breadcrumb{font-size:.8rem;gap:8px}
#main summary{font-size:max(1rem,1em)}
#main .ws-final .text-link,#main .text-link{color:var(--sys-gold-2)}
#main :is(.product-hero-grid,.machine-hero-grid,.collection-hero-grid,.catalog-hero-grid,.belt-hero-grid,.ring-hero-grid,.transaction-hero-grid,.quote-hero-grid,.ws-hero-layout) h1{font-size:clamp(2.05rem,1.1rem + 2.5vw,3.7rem);max-width:24ch}
#main :is(.featured-spread,.story-row) h2{font-size:clamp(1.6rem,1.1rem + 1.5vw,2.5rem)}
#main .ws-final h2,#main .ws-wide-heading h2{font-size:clamp(1.8rem,1.1rem + 1.8vw,2.8rem)}
#main .wholesale-desk h2{max-width:26ch}
#main .related-index span{color:var(--sys-gold-2)}
html body :is(.mobile-drawer,.mega-menu,.site-search-dialog) :is(a,button,span,strong,p,small,input,label){font-family:var(--sys-body)}
html body .mobile-drawer nav>a,html body .mobile-drawer .drawer-products{font-size:1.05rem;font-weight:550;letter-spacing:0}
#main .wholesale-desk h2{max-width:30ch}
#main .ws-review-desk h2{max-width:none;font-size:clamp(1.7rem,1.1rem + 1.5vw,2.5rem)}
/* Search dialog + search/404 forms */
html body :is(.site-search-dialog,.search-masthead,.error-search,.no-results) form :is(input[type=search],input[type=text]){background:var(--sys-s2);color:var(--sys-text);border:1px solid rgba(239,232,218,.22);border-radius:var(--sys-radius);min-height:50px;padding:0 16px;font:400 1rem var(--sys-body)}
html body :is(.site-search-dialog,.search-masthead,.error-search,.no-results) form :is(button,input[type=submit]){background:var(--sys-gold);color:#0a0e0c;border:1px solid var(--sys-gold);border-radius:var(--sys-radius);min-height:50px;padding:0 22px;font:650 .82rem var(--sys-body);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
html body :is(.site-search-dialog,.search-masthead,.error-search,.no-results) form :is(button,input[type=submit]):hover{background:var(--sys-gold-2)}
