@charset "UTF-8";
/* Launch Updates Form – Native Dark Theme Styling */
#launch-updates .wpforms-container {
  max-width: 100%;
}

#launch-updates .wpforms-form .wpforms-field-label {
  color: #F7F8F9;
  font-weight: 500;
  font-size: 15px;
  margin-bottom: 6px;
}

#launch-updates .wpforms-form .wpforms-field-required {
  color: #E9E1D1;
}

#launch-updates .wpforms-form input[type=email],
#launch-updates .wpforms-form .wpforms-field input {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(247, 248, 249, 0.25);
  border-radius: 4px;
  color: #F7F8F9;
  font-size: 15px;
  padding: 10px 14px;
  transition: border-color 0.2s ease;
}

#launch-updates .wpforms-form input[type=email]:focus,
#launch-updates .wpforms-form .wpforms-field input:focus {
  border-color: rgba(247, 248, 249, 0.5);
  outline: none;
  box-shadow: none;
  background: rgba(255, 255, 255, 0.09);
}

#launch-updates .wpforms-form input[type=email]::placeholder {
  color: rgba(247, 248, 249, 0.45);
}

#launch-updates .wpforms-form .wpforms-submit-container {
  padding-top: 4px;
}

#launch-updates .wpforms-form button[type=submit],
#launch-updates .wpforms-form .wpforms-submit {
  background: #E1E8ED !important;
  color: #192A3D !important;
  border: none !important;
  border-radius: 3px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 8px 24px !important;
  cursor: pointer;
  transition: background 0.2s ease;
}

#launch-updates .wpforms-form button[type=submit]:hover,
#launch-updates .wpforms-form .wpforms-submit:hover {
  background: #F7F8F9 !important;
  color: #192A3D !important;
}

/* Brand Fix (UI Audit 2026-06-21, Fix 1) - Inline link colour in prose contexts. */
/* Reference: RFQS locked palette, brand gold rgb(210, 176, 110). */
/* Excludes button-styled links so CTA buttons keep their gold-on-dark or outlined-gold treatment. */
:where(main, article, .entry-content) a:not(.wp-block-button__link):not(.wp-element-button):not(.ct-button):not(.ct-button-ghost):not(.rfqs-cta-primary):not(.rfqs-cta-ghost) {
  color: rgb(210, 176, 110);
  text-decoration-color: rgb(210, 176, 110);
}

/* Fix 2 — defensive H2 typography for Heading blocks authored without fontFamily attribute. */
/* Reference: Visual UI Audit 2026-06-21 — /services/ H2s falling back to system font instead of brand Cormorant Garamond. */
.entry-content h2.wp-block-heading:not([style*=font-family]):not([class*=has-]) {
  font-family: "Cormorant Garamond", serif;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.42px;
  line-height: 42px;
}

/* Button fix M1 / Fix 4 (UI Audit 2026-06-24, applied 2026-06-26) — /services/ (page 1934) "Request a Free Fit-Check"
   Gutenberg button left at WP default #E1E8ED / #192A3D + no uppercase -> brand gold/navy/uppercase. */
.page-id-1934 .entry-content .wp-block-button:not([class*=rfqs-cta]) > a.wp-block-button__link {
  background-color: #D2B06E !important;
  color: #2E3034 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 12px 22px !important;
  border-radius: 2px !important;
  background-image: none !important;
}

.page-id-1934 .entry-content .wp-block-button:not([class*=rfqs-cta]) > a.wp-block-button__link:hover {
  background-color: #BFA05E !important;
  color: #2E3034 !important;
}

/* B4 (UI 2026-06-26) — mobile nav trigger: hide "Menu" text label, keep hamburger icon (founder pick over MENU text). aria-label="Menu" retained for screen readers. */
.ct-header-trigger .ct-label {
  display: none !important;
}

/* Fix A2 (UI 2026-06-27) — .com mobile H1 scale: stop the 4-line wrap on home at narrow viewports. */
@media (max-width: 480px) {
  h1, .entry-content h1, .ct-container h1 {
    font-size: 30px !important;
    line-height: 33px !important;
  }
}
/* === Contrast Fixes v2 (Audit 07, 2026-06-27) — text-on-background legibility === */
/* C1 footer copyright contact line: black on navy 1.59 -> cream #D7D0C1 8.61 */
.ct-footer-copyright, .ct-footer-copyright p {
  color: #D7D0C1 !important;
}

/* C2 WPForms group <legend> labels (dark form): near-black 1.52 -> cream #D7D0C1 8.61 */
legend.wpforms-field-label, .wpforms-field legend.wpforms-field-label {
  color: #D7D0C1 !important;
}

/* C6 home category badges: gold-on-cream 1.93 -> navy text 12.39 (keep gold pill+border) */
/* C6 REVERTED 2026-06-28: navy->gold #D2B06E. Prior fix mis-measured (composited translucent pill over white, not the dark box); badges sit on dark boxes so gold (~5.3:1) is correct, navy was 1.22:1. */
.rfqs-code-badge {
  color: #D2B06E !important;
}

/* C4 footer legal disclaimer: grey 3.31 -> #C6BFB0 7.23 */
.rfqs-footer-disclaimer {
  color: #C6BFB0 !important;
}

/* C3 footer wordmark RFQS: muted gold 3.00 -> brand gold #D2B06E 6.41 */
.rfqs-footer-wordmark {
  color: #D2B06E !important;
}

/* C5 footer legal menu links (Privacy Notice etc): WP-blue 4.29 -> brand gold #D2B06E 6.41 */
#menu-footer-legal .ct-menu-link, #menu-footer-legal a {
  color: #D2B06E !important;
  text-decoration-color: #D2B06E !important;
}

/* C7 hamburger trigger (2026-06-28): mobile menu ≡ icon #192A3D on dark header 1.04 -> brand gold #D2B06E (~7.3:1). Scoped to toggle only. */
.ct-header-trigger .ct-icon, .ct-header-trigger svg, .ct-header-trigger svg * {
  color: #D2B06E !important;
  fill: #D2B06E !important;
}

/* C8 confirmation (2026-06-28): WPForms "Thank You" message #333 on gold-tint-over-dark-form 1.29 -> cream #EDE4D2 (~7:1). Dark-theme override missed the confirmation container. */
.wpforms-confirmation-container-full, .wpforms-confirmation-container-full p, .wpforms-confirmation-container-full li {
  color: #EDE4D2 !important;
}

/* === B1 heading scale 32/22 (WQ-002, 2026-06-28) — converge content heading scale; preserves Fix 2 Cormorant font-family (size only) === */
.rfqs-portal .rfqs-section h2, .entry-content h2.wp-block-heading:not([style*=font-family]):not([class*=has-]) {
  font-size: 32px !important;
  line-height: 46px !important;
}

.rfqs-portal .rfqs-section h3, .rfqs-portal .rfqs-card h3 {
  font-size: 22px !important;
  line-height: 30px !important;
}

/* === RFQS 5-column footer (2026-06-29) START === */
.ct-footer .ct-footer-copyright {
  width: 100% !important;
  flex: 1 1 100% !important;
  max-width: 100% !important;
  text-align: left !important;
}

.ct-footer [data-row=top] > .ct-container-fluid {
  display: block !important;
}

.ct-footer .ct-footer-socials {
  display: none !important;
}

.ct-footer [data-row=bottom] {
  display: none !important;
}

.ct-footer .rfqs-footer-5col {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 32px 28px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 0 26px;
  text-align: left;
}

.ct-footer .rfqs-footer-5col .rfqs-fc-col h4 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 18px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #D2B06E !important;
  margin: 0 0 12px;
  font-weight: 600;
}

.ct-footer .rfqs-footer-5col .rfqs-fc-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ct-footer .rfqs-footer-5col .rfqs-fc-col li {
  margin: 0 0 8px;
}

.ct-footer .rfqs-footer-5col .rfqs-fc-col a {
  color: #D7D0C1 !important;
  text-decoration: none !important;
  font-size: 14px;
  line-height: 1.4;
  opacity: 1 !important;
  transition: color 0.15s ease;
}

.ct-footer .rfqs-footer-5col .rfqs-fc-col a:hover, .ct-footer .rfqs-footer-5col .rfqs-fc-col a:focus {
  color: #EDE4D2 !important;
  text-decoration: underline !important;
}

.ct-footer .rfqs-footer-5col .rfqs-fc-loc {
  color: #C9C2B3 !important;
  font-size: 13px;
  margin: 12px 0 0;
}

.ct-footer .rfqs-footer-credit {
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 0 4px;
  border-top: 1px solid rgba(215, 208, 193, 0.15);
  color: #C9C2B3 !important;
  font-size: 13px;
  text-align: center;
}

@media (max-width: 980px) {
  .ct-footer .rfqs-footer-5col {
    grid-template-columns: repeat(3, 1fr);
    gap: 26px 20px;
  }
}
@media (max-width: 640px) {
  .ct-footer .rfqs-footer-5col {
    grid-template-columns: repeat(2, 1fr);
    gap: 22px 16px;
  }
  .ct-footer .rfqs-footer-credit {
    text-align: left;
  }
}
/* mobile credit overlap fix (line-height:0 -> 1.6) 2026-06-30 */
.ct-footer .rfqs-footer-credit {
  line-height: 1.6 !important;
}

/* === RFQS 5-column footer END === */
/* === RFQS Design System v1 - 2026-08-25 - visual consistency (reversible: delete this block to revert) === */
/* -- Phase 1 -- */
body, .entry-content, .ct-container, .wp-block-group {
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;
}

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-title, .ct-container h1, .ct-container h2, .ct-container h3 {
  color: #FCF4E3 !important;
}

/* -- Phase 2 -- */
/* H2 consistent 32/46 everywhere */
.entry-content h2, .ct-container h2 {
  font-size: 32px !important;
  line-height: 46px !important;
}

/* Body copy: DM Sans 17px / 300 / #D7D0C1 (large-size lead paragraphs excluded; flip 300->400 here if too light) */
.entry-content p:not(.has-large-font-size):not(.has-x-large-font-size):not(.has-xx-large-font-size), .entry-content li:not(.has-large-font-size) {
  font-family: "DM Sans", sans-serif !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  color: #D7D0C1 !important;
}

/* Button system: uppercase, 2px radius, unified size/weight/padding (appearance only; fill colours untouched) */
.ct-button, a.ct-button, .wp-block-button__link, .wp-element-button, a.button, .wpforms-submit, button[type=submit], input[type=submit] {
  border-radius: 2px !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 13px 22px !important;
  line-height: 1.2 !important;
}

/* Form submit button skin only (appearance; no field/logic/integration change) */
.wpforms-container button.wpforms-submit, .wpforms-form button[type=submit], div[class*=wpforms] button.wpforms-submit {
  border-radius: 2px !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 13px 22px !important;
  line-height: 1.2 !important;
}

/* -- Phase 3: imagery + caption normalization (appearance-only; bespoke .rfqs-portal layouts intentionally exempt; container measure unchanged - see applied-changes log) -- */
/* Imagery on the charcoal ground: responsive, never overflows the measure (no !important so it never fights a bespoke layout) */
.entry-content img {
  max-width: 100% !important;
  height: auto;
}

/* Captions on-palette (muted stone) instead of the WordPress default grey; DM Sans for consistency */
.entry-content figcaption, .entry-content .wp-element-caption, .entry-content .wp-caption-text {
  color: #C6C0B3 !important;
  font-family: "DM Sans", sans-serif !important;
}

/* === end RFQS Design System v1 === */
/* ============================================================
   RFQS-A11Y-2026-09-04  — approved four-lane visual-audit fixes
   Palette: charcoal #2E3034 / dark #24262A / gold #D2B06E /
   cream #FCF4E3 / cream-mid #EDE4D2 / stone #D7D0C1 / shadow #C6C0B3
   All rules appended last; scoped; !important only where needed to
   beat theme defaults. Remove this whole block to roll back.
   ============================================================ */
/* P0 — free-products request form (.rfqs-pform): dark-on-dark text */
.rfqs-pform label, .rfqs-pform legend, .rfqs-pform p, .rfqs-pform span,
.rfqs-pform li, .rfqs-pform .rfqs-pform-note {
  color: #FCF4E3 !important;
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;
}

.rfqs-pform input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]),
.rfqs-pform textarea, .rfqs-pform select {
  background-color: #FCF4E3 !important;
  color: #2E3034 !important;
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;
}

.rfqs-pform input::placeholder, .rfqs-pform textarea::placeholder {
  color: #5C5F65 !important;
  opacity: 1 !important;
}

.rfqs-pform a {
  color: #D2B06E !important;
  text-decoration: underline;
}

.rfqs-pform a:hover, .rfqs-pform a:focus {
  color: #FCF4E3 !important;
}

/* P0 — off-palette default link #7293D2 -> on-brand gold (AA 7.3:1 on dark) */
:root, body, .rfqs-portal {
  --theme-link-initial-color:#D2B06E !important;
  --theme-link-hover-color:#FCF4E3 !important;
}

/* skip-to-content link: self-contained AA regardless of context */
.skip-link, a.skip-link, .ct-skip-link {
  background-color: #24262A !important;
  color: #FCF4E3 !important;
}

/* P0 (defensive) — footer legal links full opacity + on-brand */
.ct-footer .ct-menu-link, .ct-footer .rfqs-fc-col a, .ct-footer a[href*=privacy], .ct-footer a[href*=terms], .ct-footer a[href*=refund], .ct-footer a[href*=disclaimer] {
  opacity: 1 !important;
}

/* P1 — fonts: DM Sans (body/nav/footer/forms), Cormorant (headings) */
:root, body, .rfqs-portal {
  --theme-font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
}

.ct-header a, .ct-header .ct-menu-link, .ct-main-navigation a, header nav a {
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.ct-footer [data-id=copyright] a, .ct-footer .rfqs-footer-5col a, .ct-footer .rfqs-fc-col a,
.ct-footer .rfqs-fc-col li, .ct-footer .rfqs-fc-col p, .ct-footer .rfqs-fc-col span,
.ct-footer .rfqs-footer-disclaimer, .ct-footer .rfqs-footer-disclaimer * {
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 400 !important;
}

.ct-footer .rfqs-fc-col h4 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

div.wpforms-container, div.wpforms-container input, div.wpforms-container textarea, div.wpforms-container select,
div.wpforms-container label, div.wpforms-container button, div.wpforms-container .wpforms-field-label,
div.wpforms-container .wpforms-field-description {
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.entry-content h1, .entry-content h2, .entry-content h3, .rfqs-portal h1, .rfqs-portal h2, .rfqs-portal h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

/* P2 — footer note bottom padding (sides unchanged) */
.ct-footer .rfqs-footer-disclaimer {
  padding-bottom: 28px !important;
}

@media (max-width: 768px) {
  .ct-footer .rfqs-footer-disclaimer {
    padding-bottom: 32px !important;
  }
}
/* Universal-rule guard: legacy disclaimer class, full-opacity readable */
.rfqs-site-disclaimer {
  color: #C6C0B3 !important;
}

/* === RFQS-A11Y-2026-09-04b — corrective patch (font specificity + footer-note padding) === */
/* Contact/WPForms font: beat inline !important high-specificity Georgia rule */
html body div.wpforms-container input[type=text],
html body div.wpforms-container input[type=email],
html body div.wpforms-container input[type=tel],
html body div.wpforms-container input[type=url],
html body div.wpforms-container input[type=number],
html body div.wpforms-container textarea,
html body div.wpforms-container select,
html body div.wpforms-container label.wpforms-field-label,
html body div.wpforms-container .wpforms-field-label-inline,
html body div.wpforms-container .wpforms-field-description,
html body div.wpforms-container button.wpforms-submit {
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* P2 footer-note padding: note lives in .rfqs-footer (entry-content), not .ct-footer */
p.rfqs-footer-disclaimer, .rfqs-footer .rfqs-footer-disclaimer {
  padding-bottom: 28px !important;
}

@media (max-width: 768px) {
  p.rfqs-footer-disclaimer, .rfqs-footer .rfqs-footer-disclaimer {
    padding-bottom: 32px !important;
  }
}
/* === RFQS-A11Y-2026-09-04c — footer edge inset: L/R/bottom, full-width bar kept, safe-area === */
/* Blocksy theme footer (.ct-footer): keep full-width dark bar, inset the CONTENT container */
.ct-footer .ct-container-fluid {
  padding-left: max(24px, env(safe-area-inset-left)) !important;
  padding-right: max(24px, env(safe-area-inset-right)) !important;
  padding-bottom: calc(28px + env(safe-area-inset-bottom)) !important;
}

/* Custom in-content footer block (.rfqs-footer): matching inset + safe-area bottom */
.rfqs-footer {
  padding-left: max(24px, env(safe-area-inset-left)) !important;
  padding-right: max(24px, env(safe-area-inset-right)) !important;
  padding-bottom: calc(32px + env(safe-area-inset-bottom)) !important;
}

@media (max-width: 768px) {
  .ct-footer .ct-container-fluid {
    padding-left: max(20px, env(safe-area-inset-left)) !important;
    padding-right: max(20px, env(safe-area-inset-right)) !important;
    padding-bottom: calc(32px + env(safe-area-inset-bottom)) !important;
  }
  .rfqs-footer {
    padding-bottom: calc(32px + env(safe-area-inset-bottom)) !important;
  }
}