/* ==========================================================================
   FORGE CORPORATION — COMPREHENSIVE RESPONSIVE DESIGN SYSTEM
   Authoritative Multi-Screen Engine
   Optimized for:
     • Mobile Small (≤ 380px)
     • Mobile Standard (381px - 480px)
     • Phablets & Mobile Landscape (481px - 768px)
     • Tablets & Small Laptops (769px - 1024px)
     • Laptops & Desktops (1025px - 1440px)
     • Large Screens & 2K Monitors (1441px - 1920px)
     • 4K Ultra-HD & TV Displays (≥ 1921px)
   ========================================================================== */

/* ---------- RESET & BASE FLUID SETTINGS ---------- */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 84px;
}

#top, #workwear, #fashion, #gloves, #process, #materials, #export, #contact {
  scroll-margin-top: 84px !important;
}

body {
  overflow-x: hidden !important;
  width: 100%;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, svg, video, canvas {
  max-width: 100%;
  height: auto;
}

a, button, input, select, textarea {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

/* Enforce 16px minimum font size on all form controls to prevent iOS auto-zoom */
input, select, textarea {
  font-size: 16px !important;
  font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  max-width: 100%;
}

/* ==========================================================================
   1. 4K ULTRA-HD & TV DISPLAYS (≥ 1920px and ≥ 2560px)
   ========================================================================== */
@media (min-width: 1920px) {
  /* Expand rigid 1300px containers to fill generous screens gracefully */
  [style*="max-width: 1300px"],
  [style*="max-width:1300px"],
  [style*="max-width: 1240px"],
  [style*="max-width:1240px"],
  [style*="max-width: 1200px"],
  [style*="max-width: 1100px"] {
    max-width: 1680px !important;
    padding-left: 54px !important;
    padding-right: 54px !important;
  }

  /* Cinematic typography scaling */
  h1 { font-size: clamp(68px, 5.5vw, 130px) !important; }
  h2 { font-size: clamp(52px, 4.2vw, 92px) !important; }

  /* Allow 2-column product listing cards to expand to 3 columns on large screens */
  [style*="grid-template-columns: repeat(2, 1fr)"],
  [style*="grid-template-columns:repeat(2,1fr)"],
  [style*="grid-template-columns: repeat(2,1fr)"] {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 36px !important;
  }

  /* Body text scale for comfortable distance reading */
  p, .body-copy {
    font-size: 18.5px !important;
    line-height: 1.75 !important;
  }
}

@media (min-width: 2560px) {
  [style*="max-width: 1300px"],
  [style*="max-width:1300px"] {
    max-width: 2100px !important;
    padding-left: 72px !important;
    padding-right: 72px !important;
  }

  [style*="grid-template-columns: repeat(2, 1fr)"],
  [style*="grid-template-columns:repeat(2,1fr)"] {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* ==========================================================================
   2. DESKTOP & LAPTOP REFINEMENTS (1025px - 1440px)
   ========================================================================== */
@media (max-width: 1300px) {
  /* Hide the lengthy sub-tagline in headers to prevent navbar wrap */
  .brandtag,
  [style*="BUILT TO LAST, DESIGNED TO LEAD"] {
    display: none !important;
  }

  /* Tighten menu link gaps */
  .navdesk,
  div[style*="gap: 30px"],
  div[style*="gap:30px"] {
    gap: 18px !important;
  }
}

/* ==========================================================================
   3. TABLETS & SMALL LAPTOPS (769px - 1024px)
   ========================================================================== */
@media (max-width: 1024px) {
  /* Fluid container gutters */
  [style*="padding: 0 38px"],
  [style*="padding: 14px 38px"],
  [style*="padding: 18px 38px"],
  [style*="padding: 40px 38px"],
  [style*="padding: 80px 38px"],
  [style*="padding: 88px 38px"],
  [style*="padding: 96px 38px"] {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  /* Product catalog cards reflow */
  .wwcard,
  [style*="grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr)"],
  [style*="grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr)"] {
    grid-template-columns: 1fr !important;
  }
  .wwcard > div:first-child {
    min-height: 240px !important;
  }

  /* Hero section on index: prevent 3D canvas and copy collision */
  #top div[ref*="setHeroEl"],
  #top > div[style*="width: 52%"],
  #top > div[style*="width:52%"] {
    width: 44% !important;
    opacity: 0.7 !important;
  }

  /* Product details layout */
  [style*="grid-template-columns: 1.05fr 0.95fr"],
  [style*="grid-template-columns:1.05fr 0.95fr"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Inspector modal on tablet */
  div[style*="z-index: 200"] > div,
  div[style*="z-index:200"] > div,
  [style*="height: 90vh"],
  [style*="height: 88vh"],
  [style*="height:90vh"],
  [style*="height:88vh"] {
    grid-template-columns: 1fr !important;
    grid-template-rows: minmax(320px, 46vh) 1fr !important;
    height: 92vh !important;
    max-height: 92vh !important;
    overflow-y: auto !important;
  }
/* ==========================================================================
   UNIVERSAL MOBILE NAVIGATION SYSTEM (FOR ALL INNER PAGES)
   ========================================================================== */
.forge-universal-burger {
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  background: rgba(243,238,212,0.08);
  border: 1px solid rgba(243,238,212,0.32);
  border-radius: 6px;
  cursor: pointer;
  padding: 0;
  margin-left: auto;
  transition: background .2s ease, border-color .2s ease, transform .15s ease;
  z-index: 101;
}
.forge-universal-burger:active {
  transform: scale(0.96);
}
.forge-universal-burger .fub-bar {
  display: block;
  width: 20px;
  height: 2px;
  background: #f3eed4;
  border-radius: 2px;
  transition: transform .25s ease, opacity .25s ease;
}
.forge-universal-burger.fub-active .fub-bar-1 {
  transform: translateY(7px) rotate(45deg);
}
.forge-universal-burger.fub-active .fub-bar-2 {
  opacity: 0;
}
.forge-universal-burger.fub-active .fub-bar-3 {
  transform: translateY(-7px) rotate(-45deg);
}

.forge-universal-drawer {
  position: fixed;
  inset: 0;
  z-index: 99998;
  pointer-events: none;
  visibility: hidden;
  transition: visibility .3s ease;
}
.forge-universal-drawer.fud-open {
  pointer-events: auto;
  visibility: visible;
}
.forge-universal-drawer .fud-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4,10,22,0.78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  transition: opacity .3s ease;
}
.forge-universal-drawer.fud-open .fud-backdrop {
  opacity: 1;
}
.forge-universal-drawer .fud-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 380px;
  background: #08152b;
  border-left: 1px solid #1d2c4d;
  box-shadow: -15px 0 45px rgba(0,0,0,0.7);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform .32s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}
.forge-universal-drawer.fud-open .fud-panel {
  transform: translateX(0);
}
.fud-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #16264a;
  background: #0a1830;
  flex-shrink: 0;
}
.fud-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
.fud-logo {
  width: 38px;
  height: 38px;
  border-radius: 50%;
}
.fud-brand-title {
  display: block;
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 0.06em;
  color: #f3eed4;
  text-transform: uppercase;
}
.fud-brand-tag {
  display: block;
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 8.5px;
  letter-spacing: 0.22em;
  color: #8b97b8;
  margin-top: 3px;
  text-transform: uppercase;
}
.fud-close {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(243,238,212,0.08);
  border: 1px solid rgba(243,238,212,0.22);
  color: #f3eed4;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  transition: background .2s ease;
}
.fud-close:hover {
  background: rgba(243,238,212,0.2);
}
.fud-content {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 18px 20px 36px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.fud-section {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.fud-section-title {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  color: #8b97b8;
  text-transform: uppercase;
  margin-bottom: 8px;
  padding-left: 6px;
}
.fud-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 14px;
  border-radius: 6px;
  color: #eef0f6;
  text-decoration: none;
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-bottom: 1px solid rgba(22,38,74,0.5);
  transition: background .18s ease, color .18s ease, transform .15s ease;
}
.fud-link:hover, .fud-link:active {
  background: #0f2344;
  color: #f3eed4;
  transform: translateX(4px);
}
.fud-badge {
  font-size: 10px;
  font-weight: 700;
  color: #0f2344;
  background: #f3eed4;
  padding: 2px 7px;
  border-radius: 12px;
  letter-spacing: 0.05em;
}
.fud-cta-section {
  margin-top: 6px;
}
.fud-quote-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f3eed4;
  color: #0f2344 !important;
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 15px 20px;
  border-radius: 4px;
  text-decoration: none;
  min-height: 48px;
  box-shadow: 0 4px 18px rgba(243,238,212,0.2);
  transition: background .2s ease, transform .2s ease;
}
.fud-quote-btn:hover {
  background: #ffffff;
  transform: translateY(-1px);
}
.fud-footer-contacts {
  border-top: 1px solid #16264a;
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fud-contact-item {
  color: #8b97b8;
  text-decoration: none;
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 12.5px;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color .2s ease;
}
.fud-contact-item:hover {
  color: #f3eed4;
}

@media (max-width: 900px) {
  .forge-universal-burger {
    display: flex !important;
  }
  .navdesk,
  div[style*="position: sticky"] > div > div:last-child:not(.forge-universal-burger),
  div[style*="position:sticky"] > div > div:last-child:not(.forge-universal-burger),
  div[style*="position: sticky"] div[style*="display: flex"][style*="text-transform: uppercase"],
  div[style*="position:sticky"] div[style*="display: flex"][style*="text-transform: uppercase"] {
    display: none !important;
  }
}

/* ==========================================================================
   4. ALL MOBILE PHONES & PHABLETS (≤ 768px)
   ========================================================================== */
@media (max-width: 768px) {
  /* Universal mobile gutters */
  [style*="padding: 0 38px"],
  [style*="padding: 14px 38px"],
  [style*="padding: 18px 38px"],
  [style*="padding: 26px 38px"],
  [style*="padding: 30px 38px"],
  [style*="padding: 40px 38px"],
  [style*="padding: 48px 38px"],
  [style*="padding: 60px 38px"],
  [style*="padding: 74px 0"],
  [style*="padding: 80px 38px"],
  [style*="padding: 88px 38px"],
  [style*="padding: 96px 38px"],
  [style*="padding: 96px 0"],
  [style*="padding: 100px 0"] {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* Vertical section rhythm: scale down massive desktop padding */
  [style*="padding: 96px 0"],
  [style*="padding: 100px 0"] {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
  [style*="padding: 80px 38px"],
  [style*="padding: 88px 38px 72px"] {
    padding-top: 48px !important;
    padding-bottom: 40px !important;
  }
  [style*="padding: 64px 0 48px"],
  [style*="padding: 58px 0 42px"],
  [style*="padding: 74px 0 56px"] {
    padding-top: 42px !important;
    padding-bottom: 34px !important;
  }

  /* ------------------------------------------------------------------------
     NAVBARS ACROSS ALL PAGES
     ------------------------------------------------------------------------ */
  div[style*="position: sticky"],
  div[style*="position:sticky"] {
    position: sticky !important;
    top: 0 !important;
    z-index: 150 !important;
  }

  div[style*="position: sticky"] > div,
  div[style*="position:sticky"] > div,
  .navwrap > div {
    padding: 10px 16px !important;
    gap: 8px !important;
  }

  /* Brand Logo & Mark */
  a[href*="index.html"] img,
  a[href="#top"] img {
    width: 36px !important;
    height: 36px !important;
  }
  a[href*="index.html"] div[style*="font-weight: 800"],
  a[href*="index.html"] div[style*="font-weight:800"],
  a[href="#top"] div[style*="font-weight: 800"] {
    font-size: 15px !important;
    letter-spacing: 0.05em !important;
  }

  /* Subtitle hidden on mobile nav */
  .brandtag,
  [style*="BUILT TO LAST, DESIGNED TO LEAD"] {
    display: none !important;
  }

  /* Hide desktop links bar on mobile in favor of universal burger drawer */
  .navdesk,
  div[style*="position: sticky"] > div > div:last-child:not(.forge-universal-burger),
  div[style*="position:sticky"] > div > div:last-child:not(.forge-universal-burger),
  div[style*="position: sticky"] div[style*="display: flex"][style*="text-transform: uppercase"],
  div[style*="position:sticky"] div[style*="display: flex"][style*="text-transform: uppercase"] {
    display: none !important;
  }

  /* Mobile menu drawer on homepage */
  .navburger {
    display: flex !important;
  }
  .navdesk {
    display: none !important;
  }
  .mpanel {
    display: none;
    max-height: 80vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .mnav-open .mpanel {
    display: block !important;
  }

  /* ------------------------------------------------------------------------
     HOMEPAGE HERO SECTION (#top)
     ------------------------------------------------------------------------ */
  #top {
    height: auto !important;
    min-height: auto !important;
    padding: 94px 18px 56px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    position: relative !important;
  }

  /* Hero copy container */
  #top > div[style*="z-index:4"],
  #top > div[style*="z-index: 4"] {
    position: relative !important;
    inset: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    z-index: 10 !important;
    pointer-events: auto !important;
  }

  /* Hero stage (3D canvas / floating product) atmospheric background */
  #top div[ref*="setHeroEl"],
  #top > div[style*="width: 52%"],
  #top > div[style*="width:52%"] {
    position: absolute !important;
    top: 50px !important;
    right: -25px !important;
    bottom: auto !important;
    width: 78% !important;
    max-width: 320px !important;
    height: 380px !important;
    opacity: 0.28 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    filter: blur(0.5px) !important;
  }
  #top div[ref*="setHeroStage"] {
    width: 100% !important;
    height: 100% !important;
  }

  /* Hero Typography & CTAs */
  #top h1 {
    font-size: clamp(34px, 8.8vw, 48px) !important;
    line-height: 1.02 !important;
    margin-top: 14px !important;
    max-width: 100% !important;
  }
  #top p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin-top: 16px !important;
    max-width: 100% !important;
  }

  /* Hero CTA buttons stack cleanly with full tap comfort */
  #top div[style*="gap: 14px"],
  #top div[style*="gap:14px"] {
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 24px !important;
    width: 100% !important;
  }
  #top div[style*="gap: 14px"] a,
  #top div[style*="gap:14px"] a {
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    padding: 14px 20px !important;
    font-size: 13.5px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
  }

  /* Hide mouse scroll cue on small mobile screens */
  #top div[style*="SCROLL"] {
    display: none !important;
  }

  /* ------------------------------------------------------------------------
     MULTI-COLUMN LAYOUTS COLLAPSE TO 1-COLUMN
     ------------------------------------------------------------------------ */
  [style*="grid-template-columns: 1.25fr 0.75fr"],
  [style*="grid-template-columns:1.25fr 0.75fr"],
  [style*="grid-template-columns: 1.15fr 0.85fr"],
  [style*="grid-template-columns: 1.1fr 0.9fr"],
  [style*="grid-template-columns: 1.2fr 0.8fr"],
  [style*="grid-template-columns: 1.5fr 1fr"],
  [style*="grid-template-columns: 1.4fr 1fr 1fr"],
  [style*="grid-template-columns: 1.3fr 1fr"],
  [style*="grid-template-columns: 1.05fr 0.95fr"],
  [style*="grid-template-columns: 1fr 1.2fr"],
  [style*="grid-template-columns: 1fr 1.1fr"],
  [style*="grid-template-columns: 0.9fr 1.1fr"],
  [style*="grid-template-columns: 0.95fr 1.05fr"],
  [style*="grid-template-columns:repeat(2,1fr)"],
  [style*="grid-template-columns: repeat(2, 1fr)"],
  [style*="grid-template-columns: repeat(2,1fr)"],
  .g-export,
  .g-ranges {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  /* Process story layout on mobile */
  [style*="padding: 30px 38px 90px"][style*="display: grid"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding-top: 10px !important;
    padding-bottom: 48px !important;
  }
  [style*="position: sticky"][style*="top: 120px"] {
    position: static !important;
    height: auto !important;
  }
  [style*="position: sticky"][style*="top: 120px"] > div {
    height: auto !important;
    min-height: 240px !important;
  }

  /* ------------------------------------------------------------------------
     REQUEST A QUOTE FORM (quote.html)
     ------------------------------------------------------------------------ */
  [style*="padding: 48px 38px 120px"][style*="display: grid"] {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
    padding: 24px 16px 80px !important;
  }

  /* Form step 2 & 3 input grids collapse from 2 columns to 1 column */
  div[style*="2 · Destination"] + div,
  div[style*="3 · Your Details"] + div,
  [style*="2 · Destination & Terms"] + div {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* Product line items: spacious card on phones with no text truncation */
  div[style*="minmax(0, 1.6fr)"],
  div[style*="minmax(0,1.6fr)"],
  div[style*="minmax(0px, 1.6fr)"],
  div[style*="minmax(0px,1.6fr)"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 16px 14px !important;
    background: #0f2344 !important;
    border: 1px solid #26365c !important;
    border-radius: 8px !important;
  }
  div[style*="minmax(0, 1.6fr)"] > select,
  div[style*="minmax(0,1.6fr)"] > select,
  div[style*="minmax(0px, 1.6fr)"] > select,
  div[style*="minmax(0px,1.6fr)"] > select {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
  }
  div[style*="minmax(0, 1.6fr)"] > input[type="number"],
  div[style*="minmax(0,1.6fr)"] > input[type="number"],
  div[style*="minmax(0px, 1.6fr)"] > input[type="number"],
  div[style*="minmax(0px,1.6fr)"] > input[type="number"] {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
  }
  div[style*="minmax(0, 1.6fr)"] > button,
  div[style*="minmax(0,1.6fr)"] > button,
  div[style*="minmax(0px, 1.6fr)"] > button,
  div[style*="minmax(0px,1.6fr)"] > button {
    width: 100% !important;
    min-height: 42px !important;
    border-radius: 4px !important;
    background: rgba(180,52,38,0.12) !important;
    border: 1px solid rgba(180,52,38,0.4) !important;
    color: #f0b1a8 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
  }
  div[style*="minmax(0, 1.6fr)"] > button::after,
  div[style*="minmax(0,1.6fr)"] > button::after,
  div[style*="minmax(0px, 1.6fr)"] > button::after,
  div[style*="minmax(0px,1.6fr)"] > button::after {
    content: " Remove This Line" !important;
    margin-left: 6px !important;
  }

  /* Quote summary sidebar unsticks */
  [style*="position: sticky"][style*="top: 92px"],
  [style*="position:sticky"][style*="top:92px"] {
    position: static !important;
    width: 100% !important;
  }

  /* ------------------------------------------------------------------------
     COMPARISON TOOL (compare.html)
     ------------------------------------------------------------------------ */
  [style*="padding: 40px 38px 100px"] {
    padding: 24px 16px 60px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  [style*="grid-template-columns: 150px repeat(3, 1fr)"],
  [style*="grid-template-columns:150px repeat(3, 1fr)"],
  [style*="grid-template-columns:150px repeat(3,1fr)"] {
    min-width: 660px !important;
    width: 660px !important;
  }

  /* ------------------------------------------------------------------------
     PRODUCT DETAIL PAGES (product.html & product-fi-*.html)
     ------------------------------------------------------------------------ */
  [style*="padding: 26px 38px 70px"][style*="display: grid"],
  [style*="padding: 26px 38px 70px"] {
    grid-template-columns: 1fr !important;
    padding: 18px 16px 50px !important;
    gap: 24px !important;
  }
  [style*="position: sticky"][style*="top: 96px"],
  [style*="position:sticky"][style*="top:96px"] {
    position: static !important;
  }
  [style*="min-height: 520px"],
  [style*="min-height:520px"] {
    min-height: 340px !important;
    padding: 24px 16px !important;
  }
  [style*="grid-template-columns: repeat(3, 1fr)"][style*="gap: 10px"],
  [style*="grid-template-columns:repeat(3,1fr)"][style*="gap:10px"] {
    gap: 6px !important;
  }
  [style*="grid-template-columns: repeat(3, 1fr)"][style*="gap: 10px"] > div {
    padding: 10px 8px !important;
  }

  /* ------------------------------------------------------------------------
     CONTACT FORMS & SECTIONS
     ------------------------------------------------------------------------ */
  #contact,
  [id="contact"] {
    padding: 56px 0 !important;
  }
  #contact > div,
  [id="contact"] > div {
    display: flex !important;
    flex-direction: column !important;
    gap: 36px !important;
    padding: 0 18px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  #contact > div > div,
  [id="contact"] > div > div {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #contact form > div:first-child,
  [id="contact"] form > div:first-child {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }
  form [style*="grid-template-columns: 1fr 1fr"],
  form [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  form input, form textarea, form select {
    width: 100% !important;
    padding: 13px 14px !important;
    border-radius: 4px !important;
    min-height: 48px !important;
  }
  form button[type="submit"] {
    min-height: 52px !important;
  }

  /* ------------------------------------------------------------------------
     BRAND SYSTEM (brand.html)
     ------------------------------------------------------------------------ */
  [style*="padding: 78px 90px 70px"],
  [style*="padding: 74px 90px 20px"],
  [style*="padding: 64px 90px 20px"] {
    padding: 38px 18px 24px !important;
  }
  /* Brand cover header */
  [style*="font-family:'Barlow'"] [style*="justify-content:space-between"] {
    flex-direction: column-reverse !important;
    gap: 20px !important;
    align-items: flex-start !important;
  }
  [style*="font-family:'Barlow'"] [style*="font-size:84px"],
  [style*="font-family:'Barlow'"] [style*="font-size: 84px"] {
    font-size: clamp(38px, 9vw, 56px) !important;
  }
  [style*="font-family:'Barlow'"] img[alt*="Forge mark"] {
    width: 68px !important;
    height: 68px !important;
  }
  /* Brand grid sections */
  [style*="font-family:'Barlow'"] [style*="grid-template-columns:1.4fr 1fr"],
  [style*="font-family:'Barlow'"] [style*="grid-template-columns: 1.4fr 1fr"],
  [style*="font-family:'Barlow'"] [style*="grid-template-columns:1fr 1fr"],
  [style*="font-family:'Barlow'"] [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  [style*="font-family:'Barlow'"] [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="font-family:'Barlow'"] [style*="grid-template-columns: repeat(4, 1fr)"],
  [style*="font-family:'Barlow'"] [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="font-family:'Barlow'"] [style*="grid-template-columns: repeat(3, 1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* ------------------------------------------------------------------------
     INSPECTOR MODAL (App-like Bottom Sheet on Phones)
     ------------------------------------------------------------------------ */
  .inspector-backdrop,
  div[style*="z-index: 200"],
  div[style*="z-index:200"] {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    background: rgba(5,12,26,0.94) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }

  .inspector-modal,
  div[style*="z-index: 200"] > div,
  div[style*="z-index:200"] > div {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 94dvh !important;
    height: 94vh !important;
    max-height: 94dvh !important;
    border-radius: 18px 18px 0 0 !important;
    border: 1px solid #26365c !important;
    border-bottom: none !important;
    box-shadow: 0 -10px 40px rgba(0,0,0,0.8) !important;
    overflow: hidden !important;
    background: #0a1830 !important;
    margin: 0 !important;
  }

  /* STAGE: Top 38vh with garment */
  .inspector-stage,
  div[style*="z-index: 200"] > div > div:first-child,
  div[style*="z-index:200"] > div > div:first-child {
    flex: 0 0 auto !important;
    width: 100% !important;
    height: 38vh !important;
    min-height: 220px !important;
    max-height: 320px !important;
    position: relative !important;
    padding: 14px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: radial-gradient(120% 100% at 50% 30%, #f7f4e6 0%, #ece6d2 55%, #ddd6bd 100%) !important;
    box-sizing: border-box !important;
  }

  .inspector-stage img,
  div[style*="z-index: 200"] > div > div:first-child img,
  div[style*="z-index:200"] > div > div:first-child img {
    max-height: 30vh !important;
    max-width: 85% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }

  /* Stage hint badge */
  div[style*="z-index: 200"] > div > div:first-child > div[style*="pointer-events:none"],
  div[style*="z-index:200"] > div > div:first-child > div[style*="pointer-events:none"] {
    top: 10px !important;
    left: 12px !important;
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
  }

  /* Hotspots */
  .pin {
    width: 24px !important;
    height: 24px !important;
  }
  .pin .plabel {
    display: none !important;
  }

  /* INFO: Scrollable bottom panel */
  .inspector-info,
  div[style*="z-index: 200"] > div > div:last-child,
  div[style*="z-index:200"] > div > div:last-child {
    flex: 1 1 auto !important;
    width: 100% !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 20px 16px 36px !important;
    background: #0a1830 !important;
    box-sizing: border-box !important;
  }

  /* Close button: prominent touch target */
  .inspector-info button:first-child,
  div[style*="z-index: 200"] > div > div:last-child > button[onClick*="closeViewer"],
  div[style*="z-index:200"] > div > div:last-child > button[onClick*="closeViewer"] {
    top: 12px !important;
    right: 14px !important;
    width: 42px !important;
    height: 42px !important;
    font-size: 32px !important;
    color: #f3eed4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 20 !important;
    background: rgba(15,35,68,0.85) !important;
    border-radius: 50% !important;
    border: 1px solid rgba(243,238,212,0.2) !important;
  }

  /* Title & blurb in inspector */
  div[style*="z-index: 200"] > div > div:last-child div[style*="font-size:29px"],
  div[style*="z-index:200"] > div > div:last-child div[style*="font-size:29px"] {
    font-size: 22px !important;
    line-height: 1.15 !important;
    max-width: calc(100% - 48px) !important;
  }

  /* Specs cards (MOQ, Lead Time, Standard) */
  div[style*="z-index: 200"] > div > div:last-child div[style*="gap:10px; margin-top:18px"],
  div[style*="z-index:200"] > div > div:last-child div[style*="gap:10px; margin-top:18px"] {
    gap: 6px !important;
    margin-top: 14px !important;
  }
  div[style*="z-index: 200"] > div > div:last-child div[style*="gap:10px; margin-top:18px"] > div,
  div[style*="z-index:200"] > div > div:last-child div[style*="gap:10px; margin-top:18px"] > div {
    padding: 8px 10px !important;
  }

  /* ------------------------------------------------------------------------
     FOOTER ACROSS ALL PAGES
     ------------------------------------------------------------------------ */
  [style*="padding: 60px 0 30px"],
  [style*="padding:60px 0 30px"] {
    padding-top: 44px !important;
    padding-bottom: 24px !important;
  }
  [style*="border-top: 1px solid #14233f"],
  [style*="border-top:1px solid #14233f"] {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  /* Floating WhatsApp button: safe-area and touch friendly */
  a[href^="https://wa.me/"] {
    width: 50px !important;
    height: 50px !important;
    right: 14px !important;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }
  a[href^="https://wa.me/"] svg {
    width: 26px !important;
    height: 26px !important;
  }
}

/* ==========================================================================
   5. EXTRA SMALL SCREENS (≤ 380px — iPhone SE, Galaxy Fold)
   ========================================================================== */
@media (max-width: 380px) {
  [style*="padding: 0 38px"],
  [style*="padding: 14px 38px"],
  [style*="padding: 18px 38px"] {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  h1 { font-size: clamp(28px, 8vw, 36px) !important; }
  h2 { font-size: clamp(24px, 7vw, 32px) !important; }

  [style*="grid-template-columns: repeat(3, 1fr)"][style*="gap: 10px"],
  [style*="grid-template-columns:repeat(3,1fr)"][style*="gap:10px"] {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
}

/* ==========================================================================
   6. MOTION PREFERENCES (Accessibility)
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
