:root { --fp-content-top: 52px; }

#fp-ed { padding-top: var(--fp-content-top) !important; }

#fp-oem-main > div,
.fp-oem-panel-inner { padding-top: var(--fp-content-top) !important; }

.fp-tab-wrap { min-height: 72px; }

.fp-tab-box { height: 36px; align-items: center; }

@media (max-width: 900px) {
  #fp-reveal-stage {
    height: auto;
    min-height: calc(190svh - 64px);
    margin-top: 64px;
  }
  #fp-scroll-stage {
    height: auto;
    min-height: calc(190svh - 64px);
    margin-top: calc(-1 * (100svh - 64px));
  }
  #fp-root {
    top: 64px;
    height: calc(100svh - 64px);
    min-height: 620px;
    overflow: hidden;
  }
  .fp-page-hero {
    top: 64px;
    height: calc(100svh - 64px);
    min-height: calc(100svh - 64px);
  }
  #fp-body {
    display: flex !important;
    flex-direction: column;
    grid-template-columns: none !important;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }
  #fp-sidebar {
    display: flex !important;
    flex: 0 0 auto;
    width: 100%;
    height: 184px;
    border-right: 0;
    border-bottom: 0.5px solid rgba(255,255,255,0.08);
    background: rgba(7,7,7,0.88);
    box-shadow: 0 18px 42px rgba(0,0,0,0.32);
  }
  .fp-tab-wrap {
    padding: 12px 16px 10px;
    min-height: 58px;
    border-bottom: 0.5px solid rgba(255,255,255,0.07);
    box-shadow: none;
  }
  .fp-tab-box { height: 36px; }
  .fp-tab-btn { font-size: 11px; padding: 7px 0; }
  .fp-sidebar-scroll {
    flex: 1 1 auto;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 12px 16px 14px;
    -webkit-overflow-scrolling: touch;
  }
  .fp-sidebar-scroll::-webkit-scrollbar { display:none; }
  .fp-sidebar-lbl { display: none; }
  #fp-brand-list,
  #fp-oem-cat-list {
    display: flex;
    gap: 10px;
    height: 100%;
  }
  .fp-bi {
    flex: 0 0 236px;
    width: 236px;
    min-height: 92px;
    padding: 17px 18px 16px 22px;
    border-radius: 16px;
    background: rgba(255,255,255,0.045);
    border: 0.5px solid rgba(255,255,255,0.08);
    opacity: 0.55;
  }
  .fp-bi.active {
    background: rgba(255,255,255,0.105);
    border-color: rgba(200,96,42,0.42);
    opacity: 1;
  }
  .fp-bi.active::before {
    left: 10px;
    width: 3px;
    height: 34px;
  }
  .fp-bi-num { font-size: 9px; margin-bottom: 7px; }
  .fp-bi-name {
    font-size: 15px;
    line-height: 1.15;
    max-width: 178px;
  }
  .fp-bi-cat { font-size: 12px; margin-top: 6px; }
  .fp-bi-sku { right: 16px; top: 19px; transform: none; font-size: 10px; }

  #fp-main {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  #fp-ed,
  #fp-root.sku-open #fp-ed {
    padding: 30px 22px 22px !important;
  }
  .fp-ed-idx { margin-bottom: 12px; font-size: 9px; }
  .fp-ed-name,
  #fp-root.sku-open .fp-ed-name {
    font-size: clamp(34px, 12vw, 54px);
    line-height: 0.96;
    margin-bottom: 14px;
  }
  .fp-ed-desc {
    font-size: 13px;
    line-height: 1.68;
    max-width: 100%;
    margin-bottom: 14px;
  }
  .fp-ed-meta { gap: 16px 22px; }
  .fp-ed-claims { margin-top: 14px; }
  #fp-story {
    padding: 0 22px 22px;
    max-height: none;
  }
  .fp-story-grid {
    margin-top: 16px;
    padding-top: 18px;
    gap: 16px;
  }
  .fp-story-section-body { font-size: 12.5px; line-height: 1.7; }
  #fp-sku-toggle {
    margin: 0 22px 16px;
    padding: 13px 16px;
    border-radius: 14px;
  }
  #fp-sku-wrap {
    margin: 0 22px;
    overflow: visible;
  }
  #fp-root.sku-open #fp-sku-wrap { max-height: none; }
  #fp-sku-inner {
    max-height: none;
    overflow: visible;
    padding: 0 0 28px;
  }
  .fp-si {
    grid-template-columns: 1fr auto;
    padding: 14px 0;
    border-bottom: 0.5px solid rgba(255,255,255,0.08);
    border-radius: 0;
  }
  .fp-si-badge { display: none; }
  .fp-si-name { white-space: normal; line-height: 1.35; }
  .fp-si-drawer-in { grid-template-columns: 1fr; }

  #fp-oem-main {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
  }
  #fp-oem-main > div,
  .fp-oem-panel-inner {
    padding: 30px 22px 42px !important;
  }
  #fp-oem-content > div:nth-child(2) {
    font-size: clamp(34px, 11vw, 50px) !important;
    line-height: 0.98 !important;
  }
  #fp-oem-content p {
    font-size: 13.5px !important;
    line-height: 1.72 !important;
    max-width: 100% !important;
  }
  #fp-bg-ov {
    background: linear-gradient(to bottom, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.68) 34%, rgba(0,0,0,0.86) 100%);
  }
}

@media (max-width: 480px) {
  #fp-sidebar { height: 172px; }
  .fp-tab-wrap { padding: 10px 12px 9px; }
  .fp-sidebar-scroll { padding: 10px 12px 12px; }
  .fp-bi { flex-basis: 78vw; width: 78vw; }
  .fp-bi-name { max-width: 66vw; }
  #fp-ed,
  #fp-root.sku-open #fp-ed,
  #fp-oem-main > div,
  .fp-oem-panel-inner { padding-left: 18px !important; padding-right: 18px !important; }
  #fp-story, #fp-sku-toggle, #fp-sku-wrap { margin-left: 18px; margin-right: 18px; }
  #fp-story { padding-left: 18px; padding-right: 18px; margin-left:0; margin-right:0; }
}

.page-hero--team { --page-hero-image: radial-gradient(circle at 72% 24%, rgba(200,96,42,.18), transparent 35%), radial-gradient(circle at 16% 78%, rgba(255,255,255,.10), transparent 36%); }

.page-hero--inquiry { --page-hero-image: radial-gradient(circle at 76% 24%, rgba(200,96,42,.24), transparent 34%), radial-gradient(circle at 18% 80%, rgba(255,255,255,.08), transparent 35%); }

.page-hero--esg { --page-hero-image: radial-gradient(circle at 72% 20%, rgba(112,136,100,.32), transparent 36%), radial-gradient(circle at 24% 76%, rgba(200,96,42,.18), transparent 34%), linear-gradient(135deg, rgba(255,255,255,.08), transparent 48%); }

#fp-body { display:grid; grid-template-columns:320px 1fr; height:100%; overflow:hidden; min-height:0; position:relative; z-index:2; }

#fp-reveal-stage {
  position: relative;
  height: calc(210vh - 72px);
  margin-top: 72px;
  background: #111;
  overflow: visible;
}

#fp-scroll-stage {
  position: relative;
  height: calc(210vh - 72px);
  margin-top: calc(-1 * (100vh - 72px));
  background: transparent;
  z-index: 2;
  pointer-events: none;
}

#fp-root {
  position: sticky;
  top: 72px;
  height: calc(100vh - 72px);
  background: #0c0c0c;
  overflow: hidden;
  z-index: 2;
  opacity: 0;
  transform: translateY(46px) scale(0.985);
  pointer-events: none;
  transition: opacity 0.18s linear, transform 0.18s linear;
}

#fp-root.fp-revealed { pointer-events: auto; }

.fp-page-hero {
  position: sticky;
  top: 72px;
  height: calc(100vh - 72px);
  min-height: calc(100vh - 72px);
  margin-top: 0;
  z-index: 1;
  overflow: hidden;
  color: #fff;
  background: #111;
  background-image:
    linear-gradient(to bottom, rgba(0,0,0,0.30), rgba(0,0,0,0.72)),
    linear-gradient(135deg, #141414 0%, #232323 50%, #0f0f0f 100%);
}

.fp-page-hero .page-title { color:#fff; }

.fp-page-hero .page-lead { color:rgba(255,255,255,0.62); }

.fp-scroll-hint {
  margin-top: 36px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.38);
}

.fp-tab-wrap {
  position:relative;
  top:auto;
  left:auto;
  width:auto;
  flex:0 0 auto;
  padding:18px 24px 16px;
  z-index:30;
  background:rgba(10,10,10,0.92);
  border-bottom:0.5px solid rgba(255,255,255,0.08);
  box-shadow:0 18px 36px rgba(0,0,0,0.28);
  backdrop-filter:blur(16px);
  pointer-events:all;
}

.fp-tab-box { display:flex;background:rgba(255,255,255,0.07);border-radius:100px;padding:3px;gap:2px; }

.fp-tab-btn { font-family:Inter,sans-serif;font-size:11px;font-weight:600;flex:1;padding:7px 0;border-radius:100px;border:none;cursor:pointer;transition:all 0.2s;background:transparent;color:rgba(255,255,255,0.4); }

.fp-tab-btn.active { background:#fff;color:#111; }

#fp-sidebar-brands, #fp-sidebar-oem { padding-top:0 !important; }

#fp-ed, #fp-oem-main > div { padding-top:calc(72px + 8vh) !important; }

#fp-bg-layer { position:absolute; inset:0; z-index:0; }

.fp-bg-img {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; transition:opacity 1s ease;
}

.fp-bg-img.active { opacity:1; }

#fp-bg-ov {
  position:absolute; inset:0;
  background: linear-gradient(to right, rgba(0,0,0,0.94) 0%, rgba(0,0,0,0.7) 35%, rgba(0,0,0,0.35) 100%);
}

#fp-sidebar {
  position:relative; z-index:2;
  border-right: 0.5px solid rgba(255,255,255,0.08);
  padding: 0;
  overflow:hidden;
  scrollbar-width:none;
  display:flex; flex-direction:column;
  min-height:0;
  background:linear-gradient(to right,rgba(8,8,8,0.92),rgba(8,8,8,0.70));
  box-shadow:28px 0 64px rgba(0,0,0,0.25);
}

.fp-sidebar-scroll {
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  scrollbar-width:none;
  padding:20px 0 40px;
}

.fp-sidebar-scroll::-webkit-scrollbar { display:none; }

.fp-sidebar-lbl {
  font-size:9px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(255,255,255,0.26); padding:0 24px; margin-bottom:16px;
}

.fp-bi {
  padding:16px 28px 16px 40px;
  cursor:pointer; position:relative;
  transition:background 0.15s, opacity 0.15s;
  opacity:0.62;
}

.fp-bi:hover { background:rgba(255,255,255,0.045); opacity:0.9; }

.fp-bi.active { background:rgba(255,255,255,0.075); opacity:1; }

.fp-bi.active::before {
  content:''; position:absolute;
  left:24px; top:50%; transform:translateY(-50%);
  width:3px; height:24px; border-radius:2px;
  background:#F18B42;
}

.fp-bi-num { font-size:9px; font-weight:700; letter-spacing:0.12em; color:rgba(200,96,42,0.48); margin-bottom:5px; }

.fp-bi-name { font-size:15px; font-weight:650; letter-spacing:-0.02em; color:rgba(255,255,255,0.52); line-height:1.18; transition:color 0.2s; }

.fp-bi.active .fp-bi-name { color:#fff; }

.fp-bi:hover .fp-bi-name { color:rgba(255,255,255,0.75); }

.fp-bi-cat { font-size:12px; font-weight:300; color:rgba(255,255,255,0.32); line-height:1.35; margin-top:5px; }

.fp-bi-sku {
  position:absolute; right:16px; top:50%; transform:translateY(-50%);
  font-size:10px; color:rgba(255,255,255,0.2);
}

.fp-bi.active .fp-bi-sku { color:rgba(200,96,42,0.7); }

#fp-main {
  position:relative; z-index:2;
  display:flex; flex-direction:column;
  overflow:hidden;
  height:100%;
}

#fp-ed {
  flex-shrink:0;
  padding:72px 52px 40px;
  transition:padding 0.45s cubic-bezier(0.16,1,0.3,1);
}

#fp-root.sku-open #fp-ed {
  padding:72px 52px 40px;
}

.fp-ed-idx {
  font-size:10px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase;
  color:rgba(255,255,255,0.25); margin-bottom:14px;
  display:flex; align-items:center; gap:10px;
}

.fp-ed-idx::before { content:''; width:20px; height:1px; background:#F18B42; display:block; }

.fp-ed-name {
  font-size:clamp(40px,5.5vw,80px); font-weight:700;
  letter-spacing:-0.045em; line-height:0.92; color:#fff;
  margin-bottom:16px;
  transition:font-size 0.45s cubic-bezier(0.16,1,0.3,1);
}

#fp-root.sku-open .fp-ed-name {
  font-size:clamp(28px,3.5vw,48px);
}

.fp-ed-desc {
  font-size:14px; font-weight:300; line-height:1.75;
  color:rgba(255,255,255,0.5); max-width:480px;
  margin-bottom:16px;
  transition:opacity 0.3s;
}

.fp-ed-meta {
  display:flex; gap:24px; flex-wrap:wrap;
  transition:opacity 0.3s;
}

.fp-ed-mi { display:flex; flex-direction:column; gap:3px; }

.fp-ed-ml { font-size:9px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.22); }

.fp-ed-mv { font-size:12px; font-weight:400; color:rgba(255,255,255,0.6); }

.fp-ed-claims {
  display:flex; flex-wrap:wrap; gap:7px; margin-top:16px;
  transition:opacity 0.3s;
}

.fp-claim {
  font-size:11px; font-weight:500; color:rgba(255,255,255,0.6);
  border:0.5px solid rgba(255,255,255,0.15);
  padding:5px 14px; border-radius:100px;
  background:rgba(255,255,255,0.05);
}

#fp-story {
  overflow: hidden;
  max-height: 600px;
  padding: 0 52px 32px;
  transition: max-height 0.55s cubic-bezier(0.16,1,0.3,1),
              opacity 0.4s ease,
              padding 0.45s cubic-bezier(0.16,1,0.3,1);
  opacity: 1;
}

#fp-root.sku-open #fp-story {
  max-height: 0;
  opacity: 0;
  padding-bottom: 0;
}

#fp-root.sku-open #fp-story {
  max-height: 0;
  opacity: 0;
  margin-bottom: 0;
}

.fp-story-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 0.5px solid rgba(255,255,255,0.08);
}

.fp-story-section-label {
  font-size: 9px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: rgba(255,255,255,0.25); margin-bottom: 10px;
}

.fp-story-section-body {
  font-size: 13px; font-weight: 300; line-height: 1.8;
  color: rgba(255,255,255,0.5);
}

.fp-story-markets {
  display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px;
}

.fp-story-market {
  font-size: 11px; color: rgba(255,255,255,0.45);
  border: 0.5px solid rgba(255,255,255,0.1);
  padding: 4px 12px; border-radius: 100px;
  background: rgba(255,255,255,0.04);
}

#fp-sku-toggle {
  margin:0 52px;
  flex-shrink:0;
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 20px;
  background:rgba(255,255,255,0.05);
  backdrop-filter:blur(12px);
  border:0.5px solid rgba(255,255,255,0.1);
  border-radius:12px;
  cursor:pointer;
  transition:background 0.2s;
  flex-shrink:0;
}

#fp-sku-toggle:hover { background:rgba(255,255,255,0.08); }

.fp-toggle-left {
  display:flex; align-items:center; gap:12px;
}

.fp-toggle-label {
  font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  color:rgba(255,255,255,0.4);
}

.fp-toggle-count {
  font-size:11px; font-weight:300; color:rgba(255,255,255,0.25);
}

.fp-toggle-arr {
  font-size:16px; color:rgba(255,255,255,0.3);
  transition:transform 0.35s cubic-bezier(0.16,1,0.3,1), color 0.2s;
}

#fp-root.sku-open .fp-toggle-arr { transform:rotate(90deg); color:#C75C0F; }

#fp-sku-wrap {
  flex:1; overflow:hidden;
  max-height:0;
  transition:max-height 0.5s cubic-bezier(0.16,1,0.3,1);
  margin:0 52px;
}

#fp-root.sku-open #fp-sku-wrap {
  max-height:60vh;
}

#fp-sku-inner {
  height:100%; overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,0.08) transparent;
  padding:8px 0 32px;
}

.fp-si {
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:12px; align-items:center;
  padding:13px 20px;
  border-radius:10px;
  cursor:pointer;
  transition:background 0.15s;
  margin-bottom:2px;
}

.fp-si:hover { background:rgba(255,255,255,0.05); }

.fp-si.open { background:rgba(200,96,42,0.1); }

.fp-si-name {
  font-size:14px; font-weight:500;
  color:rgba(255,255,255,0.8);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

.fp-si.open .fp-si-name { color:#fff; }

.fp-si-badge {
  font-size:9px; font-weight:600;
  letter-spacing:0.08em; text-transform:uppercase;
  color:rgba(255,255,255,0.2);
  background:rgba(255,255,255,0.06);
  padding:3px 8px; border-radius:4px; white-space:nowrap;
}

.fp-si.open .fp-si-badge { color:#C75C0F; background:rgba(200,96,42,0.12); border:0.5px solid rgba(200,96,42,0.25); }

.fp-si-arr {
  font-size:12px; color:rgba(255,255,255,0.2);
  transition:transform 0.3s, color 0.2s;
}

.fp-si.open .fp-si-arr { transform:rotate(90deg); color:#C75C0F; }

.fp-si-drawer {
  max-height:0; overflow:hidden;
  transition:max-height 0.4s cubic-bezier(0.16,1,0.3,1);
  margin:0 20px;
}

.fp-si.open + .fp-si-drawer { max-height:200px; }

.fp-si-drawer-in {
  padding:12px 0 16px;
  border-top:0.5px solid rgba(255,255,255,0.06);
  display:grid; grid-template-columns:repeat(3,1fr); gap:8px;
  align-items:start;
}

.fp-si-cell {
  background:rgba(255,255,255,0.04);
  border-radius:8px; padding:10px 12px;
}

.fp-si-cell-label {
  font-size:9px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  color:rgba(255,255,255,0.22); margin-bottom:4px;
}

.fp-si-cell-val {
  font-size:12px; font-weight:300; color:rgba(255,255,255,0.65);
}

.fp-si-feats {
  display:flex; flex-wrap:wrap; gap:4px; margin-top:10px;
}

.fp-si-feat {
  font-size:10px; color:#C75C0F;
  border:0.5px solid rgba(200,96,42,0.3);
  padding:2px 8px; border-radius:100px;
}

.fp-si-inq {
  font-family:Inter,sans-serif;
  font-size:11px; font-weight:600; color:#fff;
  background:#F18B42; border:none;
  padding:8px 16px; border-radius:100px;
  cursor:pointer; margin-top:10px;
  transition:opacity 0.2s; white-space:nowrap;
}

.fp-si-inq:hover { opacity:0.85; }

@media (max-width:900px) {
  #fp-body { display:grid; grid-template-columns:320px 1fr; flex:1; overflow:hidden; min-height:0; position:relative; z-index:2; }

#fp-root { height:calc(100vh - 72px); }
  #fp-sidebar { display:none; }
  #fp-ed { padding:72px 24px 40px; }
  #fp-sku-toggle, #fp-sku-wrap { margin:0 24px; }
}

:root { --fp-content-top: 24px; }

#fp-ed { padding-top: var(--fp-content-top) !important; }

#fp-oem-main > div,
.fp-oem-panel-inner { padding-top: var(--fp-content-top) !important; }

@media (max-width:900px) {
  #fp-ed,
  #fp-root.sku-open #fp-ed,
  #fp-oem-main > div,
  .fp-oem-panel-inner { padding-top: 26px !important; }
  .fp-page-hero { padding-left: 24px !important; padding-right: 24px !important; }
}

#fp-ed,
#fp-story,
#fp-sku-toggle,
#fp-sku-wrap,
#fp-oem-content {
  transition: opacity 220ms ease, transform 220ms ease;
}

.fp-detail-fading {
  opacity: 0 !important;
  transform: translateY(8px) !important;
  pointer-events: none !important;
}

@media (prefers-reduced-motion: reduce) {
  #fp-ed, #fp-story, #fp-sku-toggle, #fp-sku-wrap, #fp-oem-content {
    transition: none !important;
  }
  .fp-detail-fading { transform: none !important; }
}

@media (max-width: 900px) {
  #fp-body {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  #fp-sidebar {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: 186px !important;
    min-height: 186px !important;
    border-right: 0 !important;
    border-bottom: 0.5px solid rgba(255,255,255,0.08) !important;
    background: rgba(7,7,7,0.92) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,0.32) !important;
    overflow: hidden !important;
  }

  .fp-tab-wrap {
    flex: 0 0 auto !important;
    padding: 12px 16px 10px !important;
    min-height: 58px !important;
    border-bottom: 0.5px solid rgba(255,255,255,0.07) !important;
    background: rgba(7,7,7,0.96) !important;
    z-index: 5 !important;
  }

  .fp-sidebar-scroll {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 12px 16px 15px !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: none !important;
    overscroll-behavior-x: contain !important;
    touch-action: pan-x !important;
    cursor: grab !important;
    user-select: none !important;
  }

  .fp-sidebar-scroll.is-dragging {
    cursor: grabbing !important;
    scroll-snap-type: none !important;
  }

  .fp-sidebar-scroll::-webkit-scrollbar { display: none !important; }
  .fp-sidebar-lbl { display: none !important; }

  #fp-brand-list,
  #fp-oem-cat-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: max-content !important;
    height: 100% !important;
    min-width: 100% !important;
  }

  #fp-sidebar-brands,
  #fp-sidebar-oem {
    width: max-content !important;
    min-width: 100% !important;
    height: 100% !important;
  }

  .fp-bi {
    flex: 0 0 236px !important;
    width: 236px !important;
    min-width: 236px !important;
    min-height: 92px !important;
        border-radius: 16px !important;
    padding: 17px 18px 16px 22px !important;
    background: rgba(255,255,255,0.045) !important;
    border: 0.5px solid rgba(255,255,255,0.08) !important;
    opacity: 0.55 !important;
  }

  .fp-bi.active {
    opacity: 1 !important;
    background: rgba(255,255,255,0.105) !important;
    border-color: rgba(200,96,42,0.42) !important;
  }

  .fp-bi-name {
    font-size: 15px !important;
    line-height: 1.15 !important;
    max-width: 178px !important;
  }

  .fp-bi-cat {
    font-size: 12px !important;
    line-height: 1.35 !important;
    margin-top: 6px !important;
  }

  .fp-bi-sku {
    right: 16px !important;
    top: 19px !important;
    transform: none !important;
    font-size: 10px !important;
  }

  #fp-main {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

@media (max-width: 480px) {
  #fp-sidebar {
    height: 176px !important;
    min-height: 176px !important;
  }
  .fp-tab-wrap { padding: 10px 12px 9px !important; }
  .fp-sidebar-scroll { padding: 10px 12px 13px !important; }
  .fp-bi {
    flex-basis: 78vw !important;
    width: 78vw !important;
    min-width: 78vw !important;
  }
  .fp-bi-name { max-width: 64vw !important; }
}

.fe-img{
  flex:0 0 75% !important;
  min-height:150px !important;
  background-size:contain !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

.fe-img::after{
  width:46px !important;
  height:82px !important;
}

.fe-card-body{
  flex:1 1 25% !important;
  min-height:0 !important;
  padding:9px 13px 9px !important;
  overflow:hidden !important;
}

.fe-card-title{
  font-size:13px !important;
  line-height:1.1 !important;
  margin-bottom:4px !important;
  -webkit-line-clamp:2 !important;
}

.fe-card-sub{
  font-size:10.5px !important;
  line-height:1.2 !important;
  -webkit-line-clamp:1 !important;
}

.fe-card-meta{
  font-size:9.8px !important;
  margin-top:auto !important;
}

.fe-head{
  min-height:126px !important;
  padding:16px 42px 10px !important;
}

.fe-title{
  font-size:clamp(32px,3.6vw,50px) !important;
}

.fe-desc{
  margin-top:7px !important;
  font-size:12.5px !important;
  line-height:1.32 !important;
}

.fe-tags{
  margin-top:7px !important;
}

.fe-tag{
  height:22px !important;
  font-size:10px !important;
}

.fe-content{
  padding:10px 42px 14px !important;
  gap:8px !important;
}

.fe-grid{
  gap:11px !important;
}

.fe-pager{
  min-height:30px !important;
  padding-top:6px !important;
}

.fe-pager button{
  height:27px !important;
  min-width:27px !important;
  font-size:10px !important;
}

@media(max-height:760px) and (min-width:901px){
  .fe-head{
    min-height:112px !important;
    padding:12px 34px 8px !important;
  }
  .fe-title{
    font-size:clamp(28px,3.2vw,44px) !important;
  }
  .fe-desc{
    font-size:11px !important;
    line-height:1.25 !important;
    margin-top:5px !important;
  }
  .fe-tags{
    margin-top:5px !important;
  }
  .fe-tag{
    height:20px !important;
    font-size:9.5px !important;
  }
  .fe-content{
    padding:8px 34px 10px !important;
    gap:7px !important;
  }
  .fe-img{
    flex-basis:74% !important;
    min-height:116px !important;
  }
  .fe-card-body{
    flex-basis:26% !important;
    padding:6px 10px 7px !important;
  }
  .fe-card-title{
    font-size:11.4px !important;
    line-height:1.06 !important;
    margin-bottom:2px !important;
  }
  .fe-card-sub{
    display:none !important;
  }
  .fe-card-meta{
    font-size:9px !important;
  }
}

.fe-head{
  border-bottom:0 !important;
}

.fe-pager{
  border-top:0 !important;
}

.fe-head{ border-bottom:0 !important; }

.fe-pager{ border-top:0 !important; }

.fe-img{ flex:0 0 75% !important; min-height:150px !important; background-size:contain !important; }

.fe-card-body{ flex:1 1 25% !important; min-height:0 !important; overflow:hidden !important; }

.fe-head{border-bottom:0 !important;}

.fe-pager{border-top:0 !important;}

.fe-img{flex:0 0 75% !important;min-height:150px !important;background-size:contain !important;}

.fe-card-body{flex:1 1 25% !important;min-height:0 !important;overflow:hidden !important;}

.fe-shell{
  border-top:0 !important;
}

.fe-side{
  position:relative !important;
  border-right:0 !important;
}

.fe-tabs{
  border-bottom:0 !important;
}

.fe-head{
  border-bottom:0 !important;
}

.fe-pager{
  border-top:0 !important;
}

.fe-head{
  grid-template-columns:minmax(0,1fr) !important;
}

.fe-head-meta{
  display:none !important;
}

.fe-title,
.fe-desc,
.fe-tags{
  max-width:880px !important;
}

.fe-list{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
  padding-bottom:46px !important;
}

.fe-list::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

.fe-side.has-scroll::after{
  content:"Scroll ↓";
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:5;
  height:28px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(210,204,193,.95);
  color:#8a8177;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 8px 22px rgba(0,0,0,.08);
  pointer-events:none;
}

.fe-side.has-scroll::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:76px;
  z-index:4;
  background:linear-gradient(to bottom, rgba(247,245,240,0), rgba(247,245,240,.98) 68%);
  pointer-events:none;
}

.fe-side.is-at-bottom::before,
.fe-side.is-at-bottom::after{
  display:none !important;
}

.fe-shell,
.fe-side,
.fe-tabs,
.fe-list,
.fe-side-head{
  background:#fff !important;
}

.fe-side.has-scroll::before{
  background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.98) 68%) !important;
}

.fe-tabbox{
  background:#f1eee8 !important;
  border-color:#e4ded4 !important;
}

.fe-tab.is-active{
  background:#fff !important;
}

.fe-item{
  background:#fff !important;
}

.fe-item:hover{
  background:#fff !important;
}

.fe-item.is-active{
  background:#fff !important;
}

#fe-list-count,
.fe-side-head span:last-child{
  display:none !important;
}

.fe-side-head{
  justify-content:flex-start !important;
}

:root{
  --fe-nav-h:72px;
  --fe-border:#e7e3dc;
  --fe-soft:#f7f5f0;
  --fe-ink:#151515;
  --fe-muted:#74716b;
  --fe-accent:#c86b35;
}

body{
  background:#fff !important;
  color:var(--fe-ink) !important;
  overflow:hidden;
}

.fe-shell{
  margin-top:var(--fe-nav-h);
  height:calc(100svh - var(--fe-nav-h));
  min-height:620px;
  display:grid;
  grid-template-columns:292px minmax(0,1fr);
  background:#fff;
  border-top:1px solid var(--fe-border);
  overflow:hidden;
}

.fe-side{
  min-width:0;
  height:100%;
  background:#f7f5f0;
  border-right:1px solid var(--fe-border);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.fe-tabs{flex:0 0 auto;padding:18px 18px 14px;border-bottom:1px solid var(--fe-border);}

.fe-tabbox{height:44px;padding:4px;display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#e9e5dc;border:1px solid #ded8ce;border-radius:999px;}

.fe-tab{border:0;border-radius:999px;background:transparent;color:#77716a;font-size:12px;font-weight:800;letter-spacing:-.02em;cursor:pointer;}

.fe-tab.is-active{background:#fff;color:#111;box-shadow:0 8px 18px rgba(0,0,0,.08);}

.fe-side-head{flex:0 0 auto;padding:14px 18px 10px;display:flex;justify-content:space-between;align-items:center;color:#8d877c;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}

.fe-list{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 18px 20px;}

.fe-item{width:100%;min-height:70px;margin:0 0 9px;padding:13px 14px 12px 18px;border:1px solid #e1dcd2;border-radius:17px;background:#fff;color:#111;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;text-align:left;cursor:pointer;position:relative;}

.fe-item::before{content:"";position:absolute;left:-1px;top:15px;width:3px;height:34px;border-radius:999px;background:transparent;}

.fe-item:hover{border-color:#cfc6b8;}

.fe-item.is-active{border-color:var(--fe-accent);box-shadow:0 12px 24px rgba(0,0,0,.07);}

.fe-item.is-active::before{background:var(--fe-accent);}

.fe-item-num{display:block;margin-bottom:5px;color:#918b82;font-size:10px;font-weight:900;letter-spacing:.08em;}

.fe-item-name{display:block;color:#111;font-size:15px;font-weight:900;line-height:1.1;letter-spacing:-.045em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.fe-item-cat{display:block;margin-top:6px;color:#807b73;font-size:11px;font-weight:600;}

.fe-item-count{align-self:start;color:#77716a;font-size:11px;font-weight:900;white-space:nowrap;}

.fe-main{min-width:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);background:#fff;overflow:hidden;}

.fe-head{min-height:156px;padding:24px 42px 18px;border-bottom:1px solid var(--fe-border);background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;}

.fe-kicker{display:flex;align-items:center;gap:14px;margin-bottom:9px;color:var(--fe-accent);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}

.fe-kicker::before{content:"";display:block;width:22px;height:2px;background:var(--fe-accent);}

.fe-title{margin:0;color:#111;font-size:clamp(38px,4.2vw,62px);line-height:.92;letter-spacing:-.065em;font-weight:900;}

.fe-desc{max-width:820px;margin:11px 0 0;color:#55514c;font-size:14px;line-height:1.48;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

.fe-tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:7px;}

.fe-tag{display:inline-flex;height:26px;align-items:center;padding:0 11px;border-radius:999px;background:#f2efe8;border:1px solid #e2dcd1;color:#47423c;font-size:11px;font-weight:800;}

.fe-head-meta{min-width:160px;text-align:right;color:#77716a;font-size:12px;font-weight:800;line-height:1.8;}

.fe-head-meta b{color:#111;font-size:18px;}

.fe-content{min-height:0;padding:18px 42px 20px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;background:#fff;overflow:hidden;}

.fe-grid{min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;overflow:hidden;}

.fe-grid.is-many{grid-template-rows:repeat(2,minmax(0,1fr));}

.fe-grid.is-few{grid-template-rows:minmax(230px, 280px);align-content:start;}

.fe-card{min-width:0;min-height:0;height:100%;border:1px solid #dfdad1;border-radius:18px;background:#fff;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;box-shadow:0 10px 22px rgba(0,0,0,.045);}

.fe-card:hover{border-color:var(--fe-accent);box-shadow:0 16px 30px rgba(0,0,0,.08);}

.fe-img{flex:0 0 32%;min-height:64px;background:radial-gradient(circle at 50% 52%, rgba(0,0,0,.18), rgba(0,0,0,0) 34%),linear-gradient(135deg,#f1eee8,#e2ddd4);border-bottom:1px solid #e4ded4;position:relative;}

.fe-img::after{content:"";position:absolute;left:50%;top:50%;width:38px;height:66px;transform:translate(-50%,-50%);border-radius:20px;background:rgba(0,0,0,.20);}

.fe-card-body{flex:1 1 auto;min-height:0;padding:12px 13px 12px;display:flex;flex-direction:column;}

.fe-card-title{color:#111;font-size:13.5px;font-weight:900;line-height:1.16;letter-spacing:-.035em;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

.fe-card-sub{color:#5d5851;font-size:11.5px;font-weight:650;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

.fe-card-meta{margin-top:auto;color:#827c73;font-size:10.5px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.fe-pager{min-height:36px;display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid #e7e2d9;padding-top:10px;}

.fe-pager button{min-width:32px;height:32px;padding:0 10px;border:1px solid #d7d1c6;border-radius:999px;background:#fff;color:#5f5851;font-size:11px;font-weight:900;cursor:pointer;}

.fe-pager button:hover:not(:disabled){background:#f2efe8;color:#111;}

.fe-pager button.is-active{background:#111;border-color:#111;color:#fff;}

.fe-pager button:disabled{opacity:.32;cursor:default;}

.fe-oem-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(240px, 310px);align-content:start;}

.fe-oem-card .fe-img{display:none;}

.fe-oem-card .fe-card-body{padding:22px;}

.fe-oem-card .fe-card-title{font-size:24px;line-height:1;margin-bottom:12px;}

.fe-oem-card .fe-card-sub{font-size:13px;line-height:1.5;-webkit-line-clamp:4;}

.fe-modal{position:fixed;inset:0;z-index:900;display:none;align-items:center;justify-content:center;padding:34px;background:rgba(0,0,0,.52);backdrop-filter:blur(8px);}

.fe-modal.is-open{display:flex;}

.fe-modal-card{width:min(940px, calc(100vw - 52px));max-height:calc(100svh - 52px);overflow:auto;border-radius:26px;background:#fff;color:#111;box-shadow:0 34px 90px rgba(0,0,0,.28);}

.fe-modal-top{padding:28px 30px 18px;border-bottom:1px solid #e8e3da;display:flex;justify-content:space-between;gap:20px;}

.fe-modal-eyebrow{color:var(--fe-accent);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}

.fe-modal-title{margin-top:8px;font-size:34px;line-height:1;letter-spacing:-.05em;font-weight:900;}

.fe-modal-close{flex:0 0 auto;width:38px;height:38px;border-radius:999px;border:1px solid #d8d2c7;background:#fff;cursor:pointer;font-size:22px;}

.fe-modal-body{padding:24px 30px 30px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;}

.fe-modal-img{min-height:260px;border-radius:22px;background:radial-gradient(circle at 50% 52%, rgba(0,0,0,.16), rgba(0,0,0,0) 34%),linear-gradient(135deg,#f1eee8,#ded8cd);position:relative;}

.fe-modal-img::after{content:"";position:absolute;left:50%;top:50%;width:58px;height:104px;transform:translate(-50%,-50%);border-radius:28px;background:rgba(0,0,0,.18);}

.fe-modal-copy{color:#55514c;font-size:14px;line-height:1.65;margin-bottom:18px;}

.fe-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;}

.fe-spec{padding:13px 14px;border-radius:15px;background:#f7f5f0;border:1px solid #e6e1d7;}

.fe-spec small{display:block;margin-bottom:5px;color:#8a8379;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}

.fe-spec strong{color:#111;font-size:13px;line-height:1.35;}

@media(max-height:760px) and (min-width:901px){
  .fe-head{min-height:136px;padding:18px 34px 14px}.fe-title{font-size:clamp(34px,3.7vw,50px)}.fe-desc{font-size:12.5px;margin-top:8px}.fe-tags{margin-top:8px}.fe-tag{height:23px;font-size:10px}.fe-content{padding:14px 34px 16px;gap:9px}.fe-grid{gap:10px}.fe-img{flex-basis:28%;min-height:54px}.fe-card-body{padding:9px 11px 10px}.fe-card-title{font-size:12.2px}.fe-card-sub{font-size:10.5px}.fe-card-meta{font-size:9.5px}.fe-pager{min-height:32px;padding-top:7px}.fe-pager button{height:28px;min-width:28px;font-size:10px}
}

@media(max-width:1100px){.fe-shell{grid-template-columns:252px minmax(0,1fr)}.fe-head{padding-left:28px;padding-right:28px}.fe-content{padding-left:28px;padding-right:28px}.fe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fe-grid.is-many{grid-template-rows:repeat(3,minmax(0,1fr));}}

@media(max-width:900px){body{overflow:auto}:root{--fe-nav-h:64px}.fe-shell{height:auto;min-height:0;display:block;overflow:visible}.fe-side{height:auto;border-right:0;border-bottom:1px solid var(--fe-border)}.fe-list{display:flex;overflow-x:auto;overflow-y:hidden;gap:9px;padding:0 18px 16px}.fe-item{flex:0 0 210px}.fe-main{height:auto;overflow:visible}.fe-head{display:block;min-height:0;padding:28px 24px 20px}.fe-head-meta{text-align:left;margin-top:12px}.fe-content{display:block;padding:18px 24px 28px;overflow:visible}.fe-grid,.fe-grid.is-many,.fe-grid.is-few,.fe-oem-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;overflow:visible}.fe-card{min-height:230px}.fe-pager{margin-top:14px}.fe-modal-body{grid-template-columns:1fr}.fe-modal-img{min-height:220px}}

@media(max-width:560px){.fe-grid,.fe-grid.is-many,.fe-grid.is-few,.fe-oem-grid{grid-template-columns:1fr}}

#finished-explorer,
.finished-explorer,
.brand-detail-view,
.sku-detail-view{
  display:none !important;
}

#fp-flow{
  width:auto !important;
  max-width:none !important;
  margin:0 20px !important;
  padding:34px 34px 72px !important;
  box-sizing:border-box !important;
}

.fp-list-head{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:24px !important;
  margin-bottom:24px !important;
}

.fp-list-head h2{
  margin:0 !important;
  font-size:clamp(34px,3.2vw,56px) !important;
  line-height:.95 !important;
  letter-spacing:-.06em !important;
  color:#111 !important;
}

.fp-list-head p{
  max-width:560px !important;
  margin:0 !important;
  font-size:14px !important;
  line-height:1.65 !important;
  color:#777 !important;
}

.fp-card-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.fp-card{
  min-height:210px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:20px !important;
  padding:28px !important;
  border:1px solid rgba(17,17,17,.10) !important;
  border-radius:24px !important;
  background:#fff !important;
  cursor:pointer !important;
  overflow:hidden !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.fp-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 24px 60px rgba(17,17,17,.10) !important;
  border-color:rgba(17,17,17,.18) !important;
}

.fp-card.oem{
  background:
    radial-gradient(circle at 86% 12%,rgba(200,96,42,.16),transparent 32%),
    linear-gradient(135deg,#fff,rgba(200,96,42,.08)) !important;
  border-color:rgba(200,96,42,.28) !important;
}

.fp-card-kicker{
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  color:#C75C0F !important;
  margin-bottom:12px !important;
}

.fp-card h3{
  margin:0 !important;
  font-size:clamp(26px,2.2vw,40px) !important;
  line-height:.96 !important;
  letter-spacing:-.055em !important;
  color:#111 !important;
}

.fp-card p{
  margin:18px 0 0 !important;
  font-size:13px !important;
  line-height:1.65 !important;
  color:#666 !important;
}

.fp-card-meta{
  display:flex !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-top:28px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(17,17,17,.09) !important;
  color:#777 !important;
  font-size:12px !important;
}

/* --- redesigned card: logo + description only --- */
.fp-card-logo{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  height:56px !important;
}
.fp-card-logo img{
  max-height:56px !important;
  max-width:80% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:left center !important;
  display:block !important;
}
/* OEM / ODM card text label (no logo image) */
.fp-card-oemlabel{
  font-size:22px !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  color:#C75C0F !important;
}
.fp-card-desc{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.7 !important;
  color:#555 !important;
}

.fp-detail{
  display:none !important;
}

.fp-detail.is-active{
  display:block !important;
}

.fp-back{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  margin-bottom:24px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#555 !important;
  font-size:13px !important;
  font-weight:700 !important;
  cursor:pointer !important;
}

.fp-detail-intro{
  display:grid !important;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) !important;
  gap:42px !important;
  margin-bottom:28px !important;
  padding-bottom:28px !important;
  border-bottom:1px solid rgba(17,17,17,.10) !important;
}

.fp-detail-intro h2{
  margin:0 !important;
  font-size:clamp(38px,4vw,72px) !important;
  line-height:.92 !important;
  letter-spacing:-.06em !important;
  color:#111 !important;
}

.fp-detail-intro p{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.78 !important;
  color:#666 !important;
}

.fp-item-tabs{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-bottom:22px !important;
}
.fp-tab{
  border:1px solid rgba(17,17,17,.14) !important;
  background:#fff !important;
  color:#555 !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  cursor:pointer !important;
  transition:background .15s ease, color .15s ease, border-color .15s ease !important;
}
.fp-tab:hover{ border-color:rgba(17,17,17,.32) !important; color:#222 !important; }
.fp-tab.is-active{ background:#181410 !important; border-color:#181410 !important; color:#fff !important; }

.fp-item-pager{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin-top:32px !important;
}
.fp-page-btn{
  min-width:38px !important;
  height:38px !important;
  padding:0 10px !important;
  border:1px solid rgba(17,17,17,.14) !important;
  background:#fff !important;
  color:#555 !important;
  font-size:13px !important;
  border-radius:10px !important;
  cursor:pointer !important;
  transition:background .15s ease, color .15s ease, border-color .15s ease !important;
}
.fp-page-btn:hover:not(:disabled){ border-color:rgba(17,17,17,.32) !important; color:#222 !important; }
.fp-page-btn.is-active{ background:#181410 !important; border-color:#181410 !important; color:#fff !important; }
.fp-page-btn:disabled{ opacity:.35 !important; cursor:default !important; }
.fp-page-nav{ font-size:16px !important; line-height:1 !important; }

.fp-item-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}

.fp-item{
  min-height:260px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  padding:18px !important;
  border:1px solid rgba(17,17,17,.10) !important;
  border-radius:20px !important;
  background:#fff !important;
  cursor:pointer !important;
  transition:transform .18s ease, box-shadow .18s ease !important;
}

.fp-item:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 18px 42px rgba(17,17,17,.09) !important;
}

.fp-item-type{
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  color:#C75C0F !important;
}

.fp-item h3{
  margin:12px 0 8px !important;
  font-size:20px !important;
  line-height:1.05 !important;
  letter-spacing:-.04em !important;
  color:#111 !important;
}

.fp-item p{
  margin:0 !important;
  font-size:12px !important;
  line-height:1.55 !important;
  color:#666 !important;
}

.fp-item-meta{
  margin-top:auto !important;
  padding-top:14px !important;
  border-top:1px solid rgba(17,17,17,.08) !important;
  font-size:11px !important;
  line-height:1.5 !important;
  color:#777 !important;
}

/* SKU card image slot */
.fp-item-img{
  width:100% !important;
  aspect-ratio:1/1 !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#f4f2ef !important;
  margin-bottom:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.fp-item-img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
.fp-item-img.is-empty{background:linear-gradient(135deg,#f5f3f0,#eceae6) !important;}
.fp-item-body{display:flex !important;flex-direction:column !important;}

.fp-modal{
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  z-index:2000 !important;
}

.fp-modal.is-open{
  display:block !important;
}

.fp-modal-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(0,0,0,.42) !important;
  backdrop-filter:blur(6px) !important;
}

.fp-modal-panel{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:min(720px,calc(100% - 48px)) !important;
  max-height:calc(100svh - 80px) !important;
  transform:translate(-50%,-50%) !important;
  background:#fff !important;
  border-radius:28px !important;
  box-shadow:0 30px 90px rgba(0,0,0,.26) !important;
  overflow:hidden !important;
}

.fp-modal-head{
  display:flex !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:24px 28px 18px !important;
  border-bottom:1px solid rgba(17,17,17,.10) !important;
}

.fp-modal-head h3{
  margin:0 !important;
  font-size:28px !important;
  line-height:1.02 !important;
  letter-spacing:-.05em !important;
  color:#111 !important;
}

.fp-modal-close{
  width:34px !important;
  height:34px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  cursor:pointer !important;
}

.fp-modal-body{
  padding:24px 28px 30px !important;
}

.fp-modal-body p{
  margin:0 0 18px !important;
  font-size:14px !important;
  line-height:1.7 !important;
  color:#666 !important;
}

.fp-modal-facts{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}

.fp-modal-fact{
  padding:14px !important;
  border-radius:14px !important;
  background:#f6f6f6 !important;
  font-size:12px !important;
  line-height:1.5 !important;
  color:#555 !important;
}

@media(max-width:980px){
  #fp-flow{
    margin:0 8px !important;
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .fp-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .fp-item-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .fp-detail-intro{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
}

@media(max-width:620px){
  .fp-card-grid,
  .fp-item-grid,
  .fp-modal-facts{
    grid-template-columns:1fr !important;
  }
}

html body:not(.home) #fp-flow{
  margin-left:20px !important; margin-right:20px !important;
  padding-left:56px !important; padding-right:56px !important;
  padding-top:72px !important; padding-bottom:72px !important;
  max-width:none !important; width:auto !important;
}

html body:not(.home) #fp-flow > section:not(#__z){
  margin-left:0 !important; margin-right:0 !important;
  padding-left:0 !important; padding-right:0 !important;
  max-width:none !important; width:auto !important;
}

#fp-flow #fp-detail-title{display:none !important;}

#fp-flow .fp-detail-intro{display:block !important;grid-template-columns:none !important;}

#fp-flow .fp-detail-intro p{max-width:none !important;font-size:16px !important;line-height:1.8 !important;color:#555 !important;}

#fp-flow .fp-back{
  padding:9px 18px 9px 13px !important;
  border:1px solid rgba(17,17,17,.14) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#555 !important;
  font-size:13px !important;font-weight:600 !important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease !important;
}

#fp-flow .fp-back:hover{
  background:#faf6f2 !important;border-color:rgba(200,96,42,.45) !important;
  color:#C75C0F !important;transform:translateX(-2px) !important;
}

#fp-flow .fp-back:focus-visible{outline:2px solid rgba(200,96,42,.5) !important;outline-offset:2px !important;}

@media(max-width:760px){
  html body:not(.home) #fp-flow{margin-left:16px !important;margin-right:16px !important;padding-left:22px !important;padding-right:22px !important;}
}

#fp-hero-back{display:none;margin-top:22px;position:relative;z-index:2;}

body.fp-detail-mode #fp-hero-back{display:inline-flex;}

#fp-hero-back .fp-hero-back-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 18px 9px 13px;
  border:1px solid rgba(17,17,17,.18);border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#333;font-size:13px;font-weight:600;cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}

#fp-hero-back .fp-hero-back-btn:hover{background:#fff;border-color:rgba(200,96,42,.5);color:#C75C0F;transform:translateX(-2px);}

#fp-hero-back .fp-hero-back-btn:focus-visible{outline:2px solid rgba(200,96,42,.5);outline-offset:2px;}

#fp-flow #fp-back{display:none !important;}

.fp-logo{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:12px;flex:0 0 auto;
  background:var(--acc,#F18B42);color:#fff;font-weight:800;font-size:16px;
  letter-spacing:.02em;line-height:1;overflow:hidden;
}

.fp-logo img{width:100%;height:100%;object-fit:contain;background:#fff}

.fp-logo--lg{width:84px;height:84px;border-radius:20px;font-size:30px}

.fp-card-top{display:flex !important;align-items:center;gap:12px;margin-bottom:6px}

.fp-card-top .fp-card-kicker{margin-bottom:0 !important}

.fp-detail-brand{display:flex;flex-direction:column;gap:18px}

.fp-detail-metalist{display:flex;flex-direction:column;gap:0}

.fp-meta-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(17,17,17,.08);font-size:12.5px}

.fp-meta-row span{color:#888}

.fp-meta-row b{color:#222;font-weight:600;text-align:right}

.fp-sig{margin-top:18px;display:flex;flex-wrap:wrap;gap:7px}

.fp-sig-label{flex-basis:100%;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#C75C0F;margin-bottom:2px}

.fp-chip{display:inline-block;padding:6px 11px;border-radius:999px;background:#f3f1ee;border:1px solid rgba(17,17,17,.07);font-size:12px;color:#444}

.fp-item-note{margin:6px 0 22px;font-size:14px;color:#777;line-height:1.6}

.fp-item-note a{color:#C75C0F;font-weight:600}

.fp-item-flag{display:block;margin-top:4px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#C75C0F}

.fp-modal-panel{padding:0 !important}

.fp-modal-close{position:absolute !important;top:16px;right:16px;z-index:3}

.fp-modal-grid{display:grid !important;grid-template-columns:minmax(0,300px) minmax(0,1fr);max-height:calc(100svh - 80px);overflow:hidden}

.fp-m-gallery{background:#faf8f6;display:flex;flex-direction:column;gap:10px;padding:18px}

.fp-m-photo{position:relative;flex:1 1 auto;min-height:240px;border-radius:18px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}

.fp-m-photo img{width:100%;height:100%;object-fit:cover}

.fp-m-photo--ph{flex-direction:column;gap:10px;background:
  radial-gradient(circle at 30% 22%,color-mix(in srgb,var(--acc,#F18B42) 26%,#fff),transparent 60%),
  linear-gradient(150deg,color-mix(in srgb,var(--acc,#C75C0F) 14%,#fff),#fff)}

.fp-m-ph-mono{font-size:46px;font-weight:800;color:var(--acc,#C75C0F);opacity:.85;letter-spacing:.02em}

.fp-m-ph-type{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9a9a96}

.fp-m-thumbs{display:flex;gap:8px;flex:0 0 auto;flex-wrap:wrap}

.fp-m-thumb{width:48px;height:48px;border-radius:10px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:#fff}

.fp-m-thumb.is-active{border-color:var(--acc,#F18B42)}

.fp-m-thumb img{width:100%;height:100%;object-fit:cover}

.fp-m-main{padding:30px 30px 28px;overflow:auto}

.fp-m-brand{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#C75C0F;margin-bottom:8px}

.fp-m-main h3{margin:0 0 12px;font-size:26px;line-height:1.05;letter-spacing:-.04em;color:#111}

.fp-m-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}

.fp-m-meta span{font-size:11.5px;color:#555;background:#f4f2ef;border-radius:8px;padding:5px 10px}

.fp-m-desc{margin:0 0 18px !important;font-size:13.5px;line-height:1.7;color:#555}

.fp-m-sec{margin-top:16px}

.fp-m-sec h4{margin:0 0 9px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#999}

.fp-m-chips{display:flex;flex-wrap:wrap;gap:7px}

.fp-m-list{margin:0;padding-left:18px}

.fp-m-list li{font-size:13px;line-height:1.6;color:#555;margin-bottom:4px}

.fp-m-cta{display:inline-flex;align-items:center;margin-top:24px;padding:12px 20px;border-radius:999px;background:#111;color:#fff;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s}

.fp-m-cta:hover{background:#F18B42}

@media(max-width:760px){
  .fp-modal-grid{grid-template-columns:1fr;overflow:auto}
  .fp-m-gallery{padding:16px}
  .fp-m-photo{min-height:200px}
  .fp-detail-intro .fp-detail-brand{flex-direction:row;align-items:center;flex-wrap:wrap}
  .fp-detail-metalist{flex:1 1 200px}
}

.fp-m-secp{margin:0;font-size:13px;line-height:1.7;color:#555}

.fp-m-list li b{color:#222}

.fp-m-spec{display:flex;flex-direction:column;gap:0}
.fp-spec-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid rgba(17,17,17,.08);font-size:13px}
.fp-spec-row span{color:#888}
.fp-spec-row b{color:#222;font-weight:600;text-align:right}
.fp-m-badge{display:inline-block;padding:6px 13px;border-radius:999px;font-size:12.5px;font-weight:600;background:#f4f2ef;color:#777;border:1px solid rgba(17,17,17,.08)}
.fp-m-badge.is-yes{background:rgba(200,96,42,.10);color:#C75C0F;border-color:rgba(200,96,42,.25)}
.fp-m-inci{border:1px solid rgba(17,17,17,.10);border-radius:12px;padding:14px 16px;background:#faf9f7}
.fp-m-inci summary{cursor:pointer;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#999;list-style:none}
.fp-m-inci summary::-webkit-details-marker{display:none}
.fp-m-inci summary::after{content:" +";color:#C75C0F}
.fp-m-inci[open] summary::after{content:" \2212";color:#C75C0F}
.fp-m-inci .fp-m-secp{margin-top:10px;font-size:12px;color:#666;word-break:break-word}

.fp-m-ingcards{display:flex;flex-direction:column;gap:12px}

.fp-m-ingcard{display:flex;gap:12px;align-items:flex-start}

.fp-m-ingdot{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--acc,#F18B42) 16%,#fff);color:var(--acc,#C75C0F);font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center}

.fp-m-ingcard b{display:block;font-size:13px;color:#222;margin-bottom:2px}

.fp-m-ingcard span{font-size:12px;line-height:1.55;color:#777}

/* ===== 브랜드 모달 (히어로 고정 + 본문 스크롤) ===== */
.bm-ov{display:none;position:fixed;inset:0;background:rgba(24,20,17,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99999;align-items:center;justify-content:center;padding:32px 20px}
.bm-ov.is-open{display:flex}
.bm{position:relative;width:100%;max-width:720px;height:min(660px,88vh);background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.32);display:flex;flex-direction:column;animation:bmpop .22s cubic-bezier(.2,.8,.3,1)}
@keyframes bmpop{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.bm-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:17px;line-height:1;cursor:pointer;color:#333;z-index:6}
.bm-hero{position:relative;flex:0 0 auto;aspect-ratio:16/9;overflow:hidden;background:#fff}
.bm-hero img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}
.bm-hero.is-brand{background:linear-gradient(135deg,var(--acc,#F18B42) 0%,#2a2724 100%)}
.bm-hero.is-brand::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 20%,rgba(255,255,255,.16),transparent 48%),radial-gradient(circle at 18% 84%,rgba(255,255,255,.09),transparent 46%)}
.bm-hero.is-brand img{object-fit:cover}
.bm-scrim{position:absolute;left:0;right:0;bottom:0;height:58%;background:linear-gradient(to top,rgba(15,14,12,.80) 0%,rgba(15,14,12,.34) 48%,transparent 100%);z-index:3}
.bm-cap{position:absolute;left:0;right:0;bottom:0;padding:0 38px 24px;z-index:4;font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.36;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.28)}
.bm-skuname{position:absolute;left:0;right:0;bottom:0;padding:0 38px 14px;z-index:4;font-size:12.5px;color:#8a847c;text-align:center}
.bm-scroll{flex:1 1 auto;overflow-y:auto;padding:24px 38px 32px}
.bm-name{margin:0 0 10px;font-size:26px;line-height:1.05;letter-spacing:-.04em;color:#111}
.bm-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.bm-meta span{font-size:11.5px;color:#555;background:#f4f2ef;border-radius:8px;padding:5px 10px}
.bm-lead p{margin:0;font-size:13.5px;line-height:1.75;color:#555}
.bm-lead p+p{margin-top:11px}
.bm-sec{margin-top:22px;padding-top:18px;border-top:1px solid #f1efec}
.bm-sec h4{margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#999}
.bm-tech{margin-bottom:11px}
.bm-tech b{display:block;font-size:13.5px;font-weight:700;color:#111;margin-bottom:3px}
.bm-tech span{font-size:13px;line-height:1.7;color:#555}
.bm-stat{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;border-bottom:1px solid #f4f2ef}
.bm-stat:last-child{border-bottom:0}
.bm-stat span{font-size:13px;color:#555;line-height:1.6}
.bm-stat b{font-size:13px;font-weight:700;color:#111;text-align:right}
.bm-lineup{margin:0 0 14px;font-size:13.5px;line-height:1.75;color:#555}
/* 사진 썸네일 — 사진이 하나라도 로드되면 노출 */
.bm-thumbs{display:none;grid-template-columns:repeat(3,1fr);gap:8px}
.bm-thumbs.is-ready{display:grid}
.bm-th{border:1px solid #eeebe7;border-radius:10px;overflow:hidden;cursor:pointer;background:#fff;padding:0;aspect-ratio:1/1}
.bm-th img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}
.bm-th.is-fb{background:linear-gradient(135deg,var(--acc,#F18B42) 0%,#2a2724 100%)}
.bm-th.is-on{border-color:#111;box-shadow:0 0 0 1px #111}
.bm-cta{display:inline-flex;align-items:center;margin-top:24px;padding:12px 20px;border-radius:999px;background:#111;color:#fff;font-size:13px;font-weight:600;text-decoration:none}
@media (max-width:640px){
  .bm{height:92vh;border-radius:18px}
  .bm-cap{padding:0 22px 18px;font-size:16px}
  .bm-scroll{padding:20px 22px 26px}
  .bm-name{font-size:22px}
}

/* 로고 이미지가 로드된 브랜드만 카드 노출 */
.fp-card.is-pending{display:none !important;}
