/* Shared readability and CTA fixes for the whole site */
body{
  font-family:'DM Sans',system-ui,sans-serif !important;
  font-size:16px;
  line-height:1.72;
  text-rendering:optimizeLegibility;
  -webkit-text-size-adjust:100%;
}

p,li,dd,td,th{
  line-height:1.7;
}

/* Improve common body copy sizing/contrast */
.hero p.lede,
.pd-info p.lede,
.pd-hero p.lede,
.pd-spec dd,
.pd-spec p,
.materials-box p,
.materials-band p,
.feat p,
.about-copy p,
.cap-item p,
.cinfo-row p,
.cinfo-note,
.form-note,
.foot-brand p,
.foot-col a,
.foot-addr,
.prod-body p,
.prod-spec span,
.gal-head p,
.ind small,
.metric .lbl,
.metrics-row .lbl,
.contact-line,
.foot-bottom small{
  font-family:'DM Sans',system-ui,sans-serif !important;
  font-size:15px;
}

.foot-col a,
.cinfo-note,
.form-note,
.prod-body p,
.pd-info p.lede,
.pd-hero p.lede,
.about-copy p,
.cap-item p,
.materials-box p,
.materials-band p,
.feat p,
.gal-head p,
.ind small,
.metric .lbl,
.metrics-row .lbl,
.contact-line,
.foot-brand p,
.foot-addr{
  font-family:'DM Sans',system-ui,sans-serif !important;
  color:#4f4f4f;
}

h1,h2,h3,
.brand-name,
.nav-cta,
.btn-primary,
.btn-ghost,
.side-cta,
.prod-more,
.mobile-panel a,
.ind b,
.feat h3,
.rel b{
  font-family:'Plus Jakarta Sans',sans-serif !important;
}

.eyebrow,
.crumb,
.brand-sub,
.menu-btn,
.drop-toggle,
.nav-links a,
.drop-menu a,
.foot-col h4,
.foot-bottom small,
.prod-tag,
.prod-spec span,
.std-chips span,
.matrix th,
.dl-row dt,
.sec-label,
.cinfo-row b,
.field label,
.contact-line,
.tag,
.strip-item,
.gal-item small,
.cap-num,
.metrics-row .lbl,
.metric .lbl,
.ind small{
  font-family:'Google Sans',sans-serif !important;
}

.mono{
  font-family:'Google Sans',sans-serif !important;
}

/* Make the reusable CTA section readable on every page */
.cta{
  background:linear-gradient(135deg,#7d1111 0%,#b11515 42%,#d42020 100%) !important;
  color:#ffffff !important;
}

.cta .cta-glow{
  background:radial-gradient(ellipse 60% 80% at 50% 120%,rgba(255,255,255,.16),transparent 72%) !important;
}

.cta .cta-inner{
  max-width:760px;
}

.cta .eyebrow{
  color:rgba(255,255,255,.9) !important;
}

.cta .eyebrow::before{
  background:rgba(255,255,255,.8) !important;
  opacity:.75;
}

.cta h2,
.cta h2 .accent,
.cta p,
.cta .contact-line,
.cta .contact-line a{
  color:#ffffff !important;
}

.cta p{
  font-size:18px;
  line-height:1.75;
  max-width:560px;
  margin-left:auto;
  margin-right:auto;
}

.cta .contact-line a{
  border-color:rgba(255,255,255,.45) !important;
}

.cta .btn-ghost{
  color:#ffffff !important;
  border-color:rgba(255,255,255,.7) !important;
  background:transparent !important;
}

.cta .btn-ghost:hover{
  background:rgba(255,255,255,.12) !important;
}

.cta .btn-primary{
  box-shadow:0 10px 30px -10px rgba(0,0,0,.25) !important;
}

/* Slightly larger hero and section copy where pages were feeling cramped */
.hero p.lede,
.pd-info p.lede,
.pd-hero p.lede,
section.light .sec-head p,
section.dark2 .sec-head p,
.cinfo p,
.cinfo-note,
.form-note{
  font-size:16px;
}

/* Make small labels clearer without changing the overall layout */
.eyebrow,
.crumb,
.brand-sub,
.menu-btn,
.drop-toggle,
.nav-links a,
.drop-menu a,
.foot-col h4,
.foot-bottom small,
.prod-tag,
.prod-spec span,
.std-chips span,
.matrix th,
.dl-row dt,
.sec-label,
.cinfo-row b,
.field label,
.contact-line,
.tag,
.strip-item,
.gal-item small,
.cap-num,
.metrics-row .lbl,
.metric .lbl,
.ind small{
  letter-spacing:.05em;
}


/* ===== Gallery lightbox ("From our stock") ===== */
.pd-gallery figure,.gal-carousel .gal-item{cursor:zoom-in}
.pd-gallery figure img,.gal-carousel .gal-item img{pointer-events:none}
.lb-overlay{position:fixed;inset:0;z-index:9999;background:rgba(12,12,14,.94);
  display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;
  transition:opacity .25s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.lb-overlay.open{opacity:1;visibility:visible}
.lb-stage{position:relative;width:100%;height:100%;display:flex;flex-direction:column;z-index:1;
  align-items:center;justify-content:center;padding:64px 84px}
.lb-figure{margin:0;display:flex;flex-direction:column;align-items:center}
.lb-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:6px;
  box-shadow:0 24px 70px -24px rgba(0,0,0,.7);user-select:none;-webkit-user-drag:none}
.lb-cap{margin-top:16px;color:#ececec;font-family:'Google Sans',sans-serif !important;
  font-size:14.5px;letter-spacing:.03em;text-align:center}
.lb-count{position:absolute;z-index:3;top:22px;left:50%;transform:translateX(-50%);color:#c9c9c9;
  font-family:'Google Sans',sans-serif !important;font-size:13px;letter-spacing:.12em}
.lb-btn{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .2s,transform .15s}
.lb-btn:hover{background:rgba(255,255,255,.22)}
.lb-btn:active{transform:translateY(-50%) scale(.93)}
.lb-prev{left:24px}.lb-next{right:24px}
.lb-btn svg{width:24px;height:24px}
.lb-close{position:absolute;z-index:3;top:18px;right:22px;width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}
.lb-close:hover{background:rgba(212,32,32,.9)}
.lb-close svg{width:20px;height:20px}
@media(max-width:640px){
  .lb-stage{padding:56px 8px}
  .lb-btn{width:44px;height:44px}.lb-prev{left:8px}.lb-next{right:8px}
  .lb-img{max-height:72vh;max-width:94vw}
}
@media(prefers-reduced-motion:reduce){.lb-overlay{transition:none}}

/* ===== Former inline styles -> utility classes ===== */
.u1{background:transparent !important;color:#FFFFFF !important;border-color:rgba(255,255,255,.6) !important}
.u2{color:#666666 !important;font-size:14px !important;margin-top:8px !important}
.u3{color:#D42020 !important}
.u4{display:block !important;color:#E02020 !important}
.u5{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr)) !important;gap:16px !important}
.u6{display:inline !important;color:#E02020 !important}
.u7{font-family:'Archivo' !important;font-weight:800 !important;font-size:clamp(30px,4vw,46px) !important;color:#D42020 !important;margin-top:18px !important}
.u8{font-size:12.5px !important;color:#666666 !important;margin-top:8px !important}
.u9{font-size:13px !important;color:var(--steel-paper) !important}
.u10{font-size:17px !important;color:var(--steel-paper) !important}
.u11{font-size:17px !important;color:var(--steel-paper) !important;margin-bottom:16px !important}
.u12{font-size:24px !important}
.u13{font-size:28px !important;font-weight:800 !important;color:#D42020 !important}
.u14{font-size:28px !important;font-weight:800 !important;color:#D42020 !important;margin-bottom:26px !important}
.u15{font-size:30px !important;font-weight:800 !important;margin-bottom:18px !important}
.u16{font-size:clamp(40px,6vw,66px) !important;font-weight:800 !important;color:#D42020 !important;margin-top:16px !important}
.u17{font-size:clamp(40px,6vw,68px) !important;font-weight:800 !important;color:#D42020 !important;margin-top:16px !important;max-width:760px !important}
.u18{grid-template-columns:repeat(4,1fr) !important}
.u19{justify-content:center !important;color:rgba(255,255,255,.9) !important}
.u20{justify-content:center !important;margin-top:30px !important}
.u21{margin-top:18px !important}
.u22{margin-top:18px !important;color:#D42020 !important}
.u23{margin-top:18px !important;color:#FFFFFF !important}
.u24{margin-top:18px !important;grid-template-columns:repeat(3,1fr) !important}
.u25{margin-top:20px !important}
.u26{margin:0 !important;background:linear-gradient(160deg,#ffffff,#e9eef3) !important;border:1px solid #E8E8E8 !important;border-radius:10px !important;padding:14px !important;text-align:center !important}
.u27{max-width:560px !important}
.u28{max-width:600px !important}
.u29{max-width:820px !important}
.u30{padding-bottom:40px !important}
.u31{padding-bottom:46px !important}
.u32{padding:60px 0 10px !important}
.u33{width:100% !important;height:190px !important;object-fit:con