/* ============================================================
   ICHIBAN GARMENTS — Global Custom CSS
   Single consolidated file. Replace everything in SeedProd
   Global Settings → Custom CSS with this block.
   ============================================================ */

/* ---------- 1. Resets ---------- */
html, body {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip !important;
}

/* ---------- 2. Helper classes ---------- */
.eyebrow {
  font-family: Archivo, sans-serif;
  font-weight: 700; font-size: 12px;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: #C3262F;
}
.eyebrow .rule {
  display: inline-block; width: 36px; height: 2px;
  background: #C3262F; vertical-align: middle; margin-right: 14px;
}
.mono {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.06em; text-transform: uppercase;
}
.divider-ink   { border-top: 1px solid #141210; }
.section-pad   { padding: 96px 56px; }
.dark-section  { background: #141210; color: #FFFDF8; }
.dark-section h2, .dark-section h3 { color: #FFFDF8 !important; }
.cream-section { background: #FAF6EE; }
.cream2-section{ background: #F2ECE0; }
.red-section   { background: #C3262F; color: #FFFDF8; }
.red-section h1, .red-section h2 { color: #FFFDF8 !important; }
.no-radius button, .no-radius .seedprod-btn { border-radius: 2px !important; }
@media (max-width: 768px) {
  .section-pad { padding: 64px 20px; }
}

/* ---------- 3. Hero override ---------- */
.ichiban-hero {
  border-bottom: none !important;
  border-top: none !important;
}
.ichiban-hero .eyebrow::before { display: none !important; content: none !important; }

/* ============================================================
   4. FULL-WIDTH SYSTEM
   For top utility bar + header: add class "ichiban-fullwidth"
   to the Section in SeedProd's Advanced tab.
   ============================================================ */

/* Strip any constraints on SeedProd's outer page wrapper */
[id*="seedprod"][class*="page"],
[id*="seedprod"][class*="content"],
.sp-page-wrapper,
.sp-page-content {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Sections marked with class="ichiban-fullwidth" break out
   of ANY parent container and span the full viewport */
.ichiban-fullwidth {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Kill padding/margin on nested SeedProd containers inside */
.ichiban-fullwidth [class*="sp-row"],
.ichiban-fullwidth [class*="sp-column"],
.ichiban-fullwidth [class*="sp-section-inner"] {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  .ichiban-fullwidth [class*="sp-row"],
  .ichiban-fullwidth [class*="sp-column"],
  .ichiban-fullwidth [class*="sp-section-inner"] {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ============================================================
   5. STICKY HEADER
   Apply class "ichiban-sticky-nav" to the cream header Section
   that holds logo + nav + Get a Quote.
   ============================================================ */

.ichiban-sticky-nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 100 !important;
  background: rgba(250, 246, 238, 0.95) !important;
  backdrop-filter: blur(10px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
  border-bottom: 1px solid #ECE5DB !important;
}

/* Compensate for the now-fixed header by pushing the rest of the
   page content down. ~88px = utility bar (32px) + header (~56px).
   Tweak this number if your header is taller/shorter. */
body {
  padding-top: 88px !important;
}

@media (max-width: 768px) {
  body { padding-top: 76px !important; }
}

/* ============================================================
   6. FULL-BLEED CONTENT SECTIONS
   Edge-to-edge background, content centered inside.
   Applies to all .ichiban-* content sections.
   ============================================================ */

.ichiban-services,
.ichiban-process,
.ichiban-why,
.ichiban-faq,
.ichiban-articles,
.ichiban-cta,
.ichiban-outfitting {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box !important;
  position: relative;
}

/* Constrain INNER content to a centered 1440px column */
.ichiban-services .head,
.ichiban-services .grid,
.ichiban-process .wrap,
.ichiban-why > h2,
.ichiban-why .grid,
.ichiban-faq .wrap,
.ichiban-articles .head,
.ichiban-articles .grid,
.ichiban-cta .inner {
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

/* ============================================================
   7. MOBILE — global cleanup for every .ichiban-* section
   ============================================================ */

@media (max-width: 768px) {

  /* Tight padding, left-aligned */
  .ichiban-services,
  .ichiban-process,
  .ichiban-why,
  .ichiban-faq,
  .ichiban-articles,
  .ichiban-cta,
  .ichiban-outfitting {
    padding-left: 20px !important;
    padding-right: 20px !important;
    text-align: left !important;
  }

  /* All text left-aligned */
  .ichiban-services *,
  .ichiban-process *,
  .ichiban-why *,
  .ichiban-faq *,
  .ichiban-articles *,
  .ichiban-cta *,
  .ichiban-outfitting * {
    text-align: left !important;
  }

  /* Shrink top/bottom padding */
  .ichiban-services { padding-top: 56px !important; padding-bottom: 48px !important; }
  .ichiban-process,
  .ichiban-why,
  .ichiban-articles,
  .ichiban-faq    { padding-top: 56px !important; padding-bottom: 56px !important; }
  .ichiban-cta    { padding-top: 72px !important; padding-bottom: 72px !important; }
  .ichiban-outfitting { padding-top: 18px !important; padding-bottom: 18px !important; }

  /* Collapse every grid to one column */
  .ichiban-services .grid,
  .ichiban-process .grid,
  .ichiban-why .grid,
  .ichiban-articles .grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .ichiban-process .wrap,
  .ichiban-faq .wrap {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  /* Section header rows stack */
  .ichiban-services .head,
  .ichiban-articles .head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
  }

  /* Headlines shrink */
  .ichiban-services h2,
  .ichiban-process h2,
  .ichiban-why h2,
  .ichiban-faq h2,
  .ichiban-articles h2 {
    font-size: 36px !important;
    line-height: 1 !important;
  }
  .ichiban-cta h2 { font-size: 44px !important; line-height: 0.95 !important; }
  .ichiban-cta .lede { font-size: 15px !important; }
  .ichiban-cta .buttons { flex-wrap: wrap !important; }
  .ichiban-cta .buttons .btn {
    width: 100%;
    justify-content: flex-start !important;
  }

  /* Outfitting strip */
  .ichiban-outfitting {
    justify-content: flex-start !important;
    gap: 10px 18px !important;
  }
  .ichiban-outfitting .item { font-size: 13px !important; }

  /* Hero stats row — 2 across */
  .ichiban-stats,
  div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
  }

  /* FAQ accordion */
  .ichiban-faq summary { font-size: 15px !important; padding: 16px 0 !important; }
  .ichiban-faq .answer { font-size: 13px !important; }

  /* Cards */
  .ichiban-services .body,
  .ichiban-articles .body { padding: 18px !important; }
  .ichiban-services .name { font-size: 22px !important; }
  .ichiban-articles h3 { font-size: 17px !important; }
}

/* Extra-small phones */
@media (max-width: 380px) {
  .ichiban-services h2,
  .ichiban-process h2,
  .ichiban-why h2,
  .ichiban-faq h2,
  .ichiban-articles h2 { font-size: 30px !important; }
  .ichiban-cta h2 { font-size: 36px !important; }
}


```css
/* ICHIBAN — Polo Catalogue */
.cat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 0 auto;
  max-width: 1280px;
}
@media (max-width: 1024px) { .cat-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px)  { .cat-grid { grid-template-columns: repeat(2, 1fr); } }

.cat-card {
  background: #FFFDF8;
  border: 1px solid #ECE5DB;
  box-shadow: 0 1px 0 rgba(20,18,16,0.04), 0 1px 2px rgba(20,18,16,0.05);
  display: flex;
  flex-direction: column;
  text-decoration: none !important;
  color: inherit;
  transition: box-shadow 240ms cubic-bezier(0.2,0.6,0.2,1);
}
.cat-card:hover {
  box-shadow: 0 4px 14px rgba(20,18,16,0.08), 0 1px 2px rgba(20,18,16,0.04);
}

.cat-card-img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: #FFFFFF;
}
.cat-card-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8%;
  box-sizing: border-box;
  transition: transform 500ms cubic-bezier(0.2,0.6,0.2,1);
}
.cat-card:hover .cat-card-img img { transform: scale(1.03); }

.cat-card-meta {
  padding: 12px 14px 14px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
}
.cat-card-code {
  font: 700 11px/1 "JetBrains Mono", ui-monospace, monospace;
  color: #5B554F;
  letter-spacing: 0.06em;
}
.cat-card-pattern {
  font: 700 10px/1 Archivo, sans-serif;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #141210;
}

/* Empty-state callout for Polo Jacks / Jackets / T-shirts */
.cat-empty {
  position: relative;
  overflow: hidden;
  background: #FFFDF8;
  border: 1px solid #ECE5DB;
  padding: 64px 48px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
  align-items: center;
}
@media (max-width: 768px) {
  .cat-empty { grid-template-columns: 1fr; padding: 40px 24px; gap: 28px; }
}
.cat-empty-brief {
  background: #F2ECE0;
  border-left: 3px solid #C3262F;
  padding: 24px 28px;
}

/* Anchor offset so sticky nav doesn't cover the section heading */
.cat-section { scroll-margin-top: 90px; }
```

html, body {
  overflow-x: hidden;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.sp-page-builder,
.sp-page-builder > .sp-section,
#pg-builder,
.entry-content {
  margin-left: 0 !important;
  padding-left: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

cssbody {
  padding-top: 80px !important;
}