/** Shopify CDN: Minification failed

Line 121:0 All "@import" rules must come first
Line 335:0 All "@import" rules must come first
Line 674:0 All "@import" rules must come first
Line 871:0 All "@import" rules must come first
Line 1513:0 All "@import" rules must come first
Line 1699:0 All "@import" rules must come first
Line 2118:0 All "@import" rules must come first
Line 2887:0 All "@import" rules must come first
Line 3212:0 All "@import" rules must come first
Line 3691:0 All "@import" rules must come first
... and 3 more hidden warnings

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:iot-consulting (INDEX:2) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.iotc {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  padding: 96px 24px;
  background: #fff;
  color: #374151;
}
.iotc-wrap {
  max-width: 1200px;
  margin: 0 auto;
}
.iotc-grid {
  display: grid;
  grid-template-columns: 0.95fr 1fr;
  gap: 64px;
  align-items: center;
}

.iotc-img-col {
  display: flex;
  align-items: center;
  justify-content: center;
}
.iotc-img-col img {
  width: 100%;
  height: auto;
  max-width: 520px;
  display: block;
}

.iotc-content { max-width: 560px; }

.iotc-eyebrow {
  display: inline-flex;
  padding: 6px 12px;
  background: #111827;
  color: #fff;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.iotc-title {
  font-size: 40px;
  font-weight: 700;
  color: #111827;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin: 0 0 20px;
}
.iotc-title span {
  background: linear-gradient(135deg, #5cffe6 0%, #00d4b8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline;
}
.iotc-title br { display: none; }

.iotc-desc {
  font-size: 16px;
  color: #374151;
  line-height: 1.65;
  margin-bottom: 32px;
}
.iotc-desc p { margin: 0 0 12px; }
.iotc-desc p:last-child { margin-bottom: 0; }

.iotc-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 28px;
  background: #111827;
  color: #5cffe6;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  transition: transform .15s, background .15s;
}
.iotc-cta:hover {
  transform: translateY(-2px);
  background: #0d6e5f;
  color: #5cffe6;
}
.iotc-cta svg { width: 16px; height: 16px; }

@media (max-width: 900px) {
  .iotc { padding: 64px 20px; }
  .iotc-grid { grid-template-columns: 1fr; gap: 32px; }
  .iotc-title { font-size: 30px; }
  .iotc-img-col img { max-width: 380px; margin: 0 auto; }
}
/* END_SECTION:iot-consulting */

/* START_SECTION:blogs-main (INDEX:12) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.blg {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  padding: 80px 24px;
  background: #fff;
  color: #374151;
}
.blg-wrap { max-width: 1280px; margin: 0 auto; }

/* Header row */
.blg-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 40px;
  gap: 24px;
  flex-wrap: wrap;
}
.blg-head-left { flex: 1 1 auto; max-width: 640px; }
.blg-eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  background: #111827;
  color: #fff;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.blg-title {
  font-size: 36px;
  font-weight: 700;
  color: #111827;
  letter-spacing: -0.025em;
  line-height: 1.15;
  margin: 0 0 10px;
}
.blg-subtitle {
  font-size: 16px;
  color: #6b7280;
  line-height: 1.5;
  margin: 0;
}
.blg-link {
  color: #111827;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-bottom: 2px solid #5cffe6;
  padding-bottom: 2px;
  transition: color .15s, gap .15s;
}
.blg-link:hover { color: #0d6e5f; gap: 8px; }

/* Grid */
.blg-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.blg-empty {
  padding: 40px;
  text-align: center;
  color: #9ca3af;
  background: #f7f8fa;
  border-radius: 12px;
}

/* Card */
.blg-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.blg-card:hover {
  border-color: #5cffe6;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(13, 110, 95, 0.08);
}

.blg-card-img {
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, #1a3a4d 0%, #0d3540 100%);
  position: relative;
  overflow: hidden;
}
.blg-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}
.blg-card:hover .blg-card-img img { transform: scale(1.04); }

.blg-card-img-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(92, 255, 230, 0.4);
  font-size: 64px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.blg-card-cat {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.96);
  color: #0d6e5f;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  z-index: 2;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.blg-card-body {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-grow: 1;
}
.blg-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #9ca3af;
  font-weight: 500;
}
.blg-card-meta-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #9ca3af;
}
.blg-card-title {
  font-size: 17px;
  font-weight: 600;
  color: #111827;
  line-height: 1.35;
  letter-spacing: -0.01em;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .15s;
}
.blg-card:hover .blg-card-title { color: #0d6e5f; }
.blg-card-snippet {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.55;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blg-card-foot {
  margin-top: auto;
  padding-top: 6px;
  color: #111827;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.blg-card-foot svg {
  width: 14px;
  height: 14px;
  transition: transform .15s;
}
.blg-card:hover .blg-card-foot svg { transform: translateX(3px); }

/* Responsive */
@media (max-width: 1100px) {
  .blg-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .blg { padding: 56px 20px; }
  .blg-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .blg-title { font-size: 28px; }
}
@media (max-width: 540px) {
  .blg-grid { grid-template-columns: 1fr; }
}
/* END_SECTION:blogs-main */

/* START_SECTION:featured-products-tabs (INDEX:35) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.fpt {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  padding: 72px 24px 80px;
  color: #374151;
}
.fpt.fpt-bg-white { background: #fff; }
.fpt.fpt-bg-light { background: #f7f8fa; }
.fpt.fpt-bg-cyan { background: #d2f8f3; }
.fpt.fpt-bg-soft-mint { background: #e6fffc; }

.fpt-wrap { max-width: 1280px; margin: 0 auto; }

/* Header */
.fpt-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.fpt-head-left { flex: 1 1 auto; max-width: 640px; }
.fpt-eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  background: #111827;
  color: #fff;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.fpt-title {
  font-size: 32px;
  font-weight: 700;
  color: #111827;
  letter-spacing: -0.02em;
  margin: 0 0 10px;
  line-height: 1.2;
}
.fpt-subtitle {
  font-size: 16px;
  font-weight: 500;
  color: #374151;
  margin: 0;
  line-height: 1.5;
}
.fpt-link {
  color: #111827;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-bottom: 2px solid #5cffe6;
  padding-bottom: 2px;
  transition: color .15s;
}
.fpt-link:hover { color: #0d6e5f; }
.fpt-link svg { transition: transform .15s; }
.fpt-link:hover svg { transform: translateX(2px); }

/* Tabs */
.fpt-tabs {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 28px;
  flex-wrap: wrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.fpt-tabs::-webkit-scrollbar { display: none; }
.fpt-tab {
  padding: 12px 18px;
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  color: #6b7280;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  margin-bottom: -1px;
  white-space: nowrap;
  transition: color .15s, border-color .15s;
}
.fpt-tab:hover { color: #111827; }
.fpt-tab.is-active {
  color: #111827;
  border-bottom-color: #5cffe6;
}
.fpt-count {
  display: inline-block;
  margin-left: 6px;
  color: #9ca3af;
  font-weight: 500;
  font-size: 12px;
}
.fpt-tab.is-active .fpt-count { color: #6b7280; }

/* Panels */
.fpt-panel { display: none; }
.fpt-panel.is-active { display: block; animation: fpt-fade .18s ease; }
@keyframes fpt-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

/* Grid */
.fpt-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.fpt-empty {
  grid-column: 1 / -1;
  padding: 40px;
  text-align: center;
  color: #9ca3af;
  background: #f7f8fa;
  border-radius: 12px;
}

/* ============ PRODUCT CARD ============ */
.pc {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color .2s, transform .2s, box-shadow .2s;
  position: relative;
}
.pc:hover {
  border-color: #5cffe6;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(13, 110, 95, 0.08);
}
.pc-imglink { display: block; text-decoration: none; }
.pc-img {
  aspect-ratio: 1 / 1;
  background: #f7f8fa;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
.pc-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 12px;
}
.pc-img-fallback {
  font-size: 64px;
  font-weight: 700;
  color: #d1d5db;
}
.pc-badges {
  position: absolute;
  top: 10px;
  left: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 2;
}
.pc-badge {
  background: #111827;
  color: #5cffe6;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 4px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.pc-badge--bestseller {
  background: #5cffe6;
  color: #111827;
}
.pc-badge--sale {
  background: #ef4444;
  color: #fff;
}

.pc-body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-grow: 1;
}

/* Judge.me preview badge override — make stars compact + on-brand */
.pc-stars { min-height: 16px; line-height: 1; }
.pc-stars .jdgm-prev-badge { background: transparent !important; }
.pc-stars .jdgm-prev-badge__stars {
  font-size: 13px !important;
  color: #f59e0b !important;
  letter-spacing: 1px;
}
.pc-stars .jdgm-prev-badge__text {
  font-size: 11px !important;
  color: #6b7280 !important;
  font-weight: 500;
  margin-left: 4px;
}
/* Hide Judge.me empty state ("No reviews") — cleaner than showing greyed-out stars */
.pc-stars .jdgm-prev-badge[data-number-of-reviews="0"] { display: none; }
/* Manual fallback (when Judge.me native metafields are synced) */
.pc-stars--manual {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #6b7280;
}
.pc-stars--manual .pc-stars-icons {
  color: #f59e0b;
  letter-spacing: 1px;
  font-size: 13px;
}
/* Empty state — text instead of greyed-out stars */
.pc-stars--empty {
  font-size: 11px;
  color: #9ca3af;
  font-weight: 500;
  font-style: italic;
}

.pc-titlelink { text-decoration: none; color: inherit; }
.pc-title {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 39px;
}
.pc:hover .pc-titlelink .pc-title { color: #0d6e5f; }

.pc-price-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: auto;
  padding-top: 4px;
}
.pc-price {
  font-size: 18px;
  font-weight: 700;
  color: #111827;
}
.pc-compare {
  font-size: 13px;
  color: #9ca3af;
  text-decoration: line-through;
}

.pc-form { margin: 0; }
.pc-add {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 10px;
  background: #111827;
  color: #5cffe6;
  border: none;
  border-radius: 8px;
  font-family: inherit;
  font-weight: 600;
  font-size: 13px;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .2s, transform .2s, background .15s;
}
.pc:hover .pc-add { opacity: 1; transform: translateY(0); }
.pc-add:hover { background: #0d6e5f; color: #5cffe6; }
.pc-add.is-loading { opacity: 1; transform: translateY(0); cursor: wait; }
.pc-add.is-added { background: #5cffe6; color: #111827; }
.pc-add--soldout {
  opacity: 1;
  transform: none;
  background: #f7f8fa;
  color: #9ca3af;
  cursor: not-allowed;
}

/* CTA */
.fpt-cta-wrap {
  text-align: center;
  margin-top: 44px;
}
.fpt-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: #111827;
  color: #5cffe6;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  transition: transform .15s, background .15s;
}
.fpt-cta:hover { transform: translateY(-2px); background: #0d6e5f; }

/* Responsive */
@media (max-width: 1100px) {
  .fpt-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 800px) {
  .fpt { padding: 56px 20px 64px; }
  .fpt-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .fpt-title { font-size: 26px; }
  .pc-add { opacity: 1; transform: none; } /* always visible on mobile */
}
@media (max-width: 480px) {
  .fpt-grid { grid-template-columns: 1fr; }
}
/* END_SECTION:featured-products-tabs */

/* START_SECTION:homepage-social-proof (INDEX:43) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.sp-section {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  padding: 72px 24px 80px;
  background: #fff;
  color: #374151;
}
.sp-section.sp-bg-cyan { background: #d2f8f3; }
.sp-section.sp-bg-soft-mint { background: #e6fffc; }
.sp-section.sp-bg-light-grey { background: #f7f8fa; }
.sp-section.sp-bg-white { background: #fff; }

/* Inner card adapts to colored backgrounds */
.sp-section.sp-bg-cyan .sp-summary,
.sp-section.sp-bg-soft-mint .sp-summary {
  background: #fff;
  border-color: rgba(13, 110, 95, 0.12);
}
.sp-wrap {
  max-width: 1200px;
  margin: 0 auto;
}

/* Eyebrow */
.sp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: #111827;
  color: #fff;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.sp-eyebrow svg { width: 14px; height: 14px; color: #5cffe6; }

/* Title + subtitle */
.sp-title {
  font-size: 32px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 10px;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.sp-subtitle {
  font-size: 18px;
  color: #111827;
  font-weight: 500;
  margin: 0 0 40px;
  max-width: 620px;
  line-height: 1.5;
  letter-spacing: -0.005em;
}

/* Summary card */
.sp-summary {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) 2.2fr;
  gap: 32px;
  margin-bottom: 32px;
  padding: 44px;
  background: #f7f8fa;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
}
.sp-rating {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 2px solid #e5e7eb;
  padding-right: 32px;
}
.sp-rating-num {
  font-size: 84px;
  font-weight: 700;
  color: #111827;
  line-height: 1;
  letter-spacing: -0.04em;
}
.sp-rating-num span { color: #9ca3af; font-weight: 500; font-size: 36px; }
.sp-stars {
  display: flex;
  gap: 4px;
  margin: 14px 0 10px;
  color: #f59e0b;
  font-size: 32px;
  line-height: 1;
}
.sp-rating-meta {
  font-size: 15px;
  color: #6b7280;
  font-weight: 500;
}
.sp-rating-meta strong { color: #111827; font-weight: 700; }

.sp-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: 20px;
}
.sp-stat {
  text-align: center;
  padding: 0 8px;
}
.sp-stat-num {
  font-size: 44px;
  font-weight: 700;
  color: #111827;
  letter-spacing: -0.03em;
  line-height: 1;
  margin-bottom: 10px;
  white-space: nowrap;
}
.sp-stat-label {
  font-size: 13px;
  color: #6b7280;
  font-weight: 600;
  line-height: 1.4;
}
.sp-stat-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  color: #0d6e5f;
  background: #5cffe6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(13, 110, 95, 0.15);
}
.sp-stat-icon svg { width: 26px; height: 26px; stroke-width: 2.4; }

/* Reviews app block wrapper — gives Judge.me's widget breathing room */
.sp-reviews-app {
  margin: 0 0 8px;
}
.sp-reviews-app .jdgm-carousel-wrapper,
.sp-reviews-app .jdgm-rev-widg {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* CTA */
.sp-foot {
  text-align: center;
  margin-top: 28px;
}
.sp-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #111827;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  padding: 10px 20px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  transition: border-color .15s ease, background .15s ease;
}
.sp-link:hover {
  border-color: #5cffe6;
  background: #e6fffc;
}
.sp-link svg { width: 14px; height: 14px; }

/* Responsive */
@media (max-width: 900px) {
  .sp-section { padding: 56px 20px 64px; }
  .sp-summary { grid-template-columns: 1fr; padding: 28px; gap: 24px; }
  .sp-rating { border-right: none; border-bottom: 2px solid #e5e7eb; padding-right: 0; padding-bottom: 24px; align-items: center; text-align: center; }
  .sp-stars { justify-content: center; }
  .sp-title { font-size: 26px; }
  .sp-rating-num { font-size: 64px; }
  .sp-stars { font-size: 26px; }
  .sp-stat-num { font-size: 36px; }
  .sp-stat-icon { width: 48px; height: 48px; }
  .sp-stat-icon svg { width: 22px; height: 22px; }
}
@media (max-width: 540px) {
  .sp-stats { grid-template-columns: 1fr; gap: 22px; }
  .sp-stat { display: flex; align-items: center; text-align: left; gap: 16px; padding: 0; }
  .sp-stat-icon { margin: 0; flex-shrink: 0; }
  .sp-stat-num { margin-bottom: 4px; font-size: 32px; }
}
/* END_SECTION:homepage-social-proof */

/* START_SECTION:main-about-modern (INDEX:52) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.ab-modern {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  background: #fff;
  color: #374151;
  line-height: 1.55;
}

/* ========== HERO ========== */
.ab-hero {
  background: linear-gradient(135deg, #0d4e44 0%, #111827 55%, #082826 100%);
  background-size: cover;
  background-position: center;
  color: #fff;
  padding: 180px 40px 90px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.ab-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(92,255,230,0.14) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(92,255,230,0.10) 0%, transparent 40%);
  pointer-events: none;
}
.ab-hero-inner { position: relative; z-index: 1; max-width: 820px; margin: 0 auto; }
.ab-hero-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #5cffe6;
  margin-bottom: 14px;
}
.ab-hero-title {
  font-size: 44px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.015em;
  margin: 0 0 18px;
}
/* Aggressive whitewash — richtext wraps the title in <p>, and Spotlight's <p> rules win the cascade.
   Forcing every descendant to white, then re-applying mint to <em> with higher specificity. */
.ab-hero .ab-hero-title,
.ab-hero .ab-hero-title *,
.ab-hero .ab-hero-title p,
.ab-hero .ab-hero-title span,
.ab-hero h1.ab-hero-title,
.ab-hero h1.ab-hero-title * { color: #ffffff !important; }

.ab-hero .ab-hero-title em,
.ab-hero .ab-hero-title em *,
.ab-hero h1.ab-hero-title em,
.ab-hero h1.ab-hero-title em * {
  font-style: normal;
  color: #5cffe6 !important;
}
.ab-hero-sub {
  font-size: 16px;
  color: rgba(255,255,255,0.78);
  max-width: 640px;
  margin: 0 auto 32px;
  line-height: 1.55;
}
.ab-hero-stats {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  background: rgba(255,255,255,0.06);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  padding: 14px 4px;
  flex-wrap: wrap;
  justify-content: center;
}
.ab-hero-stat {
  padding: 4px 22px;
  border-right: 1px solid rgba(255,255,255,0.12);
  text-align: center;
}
.ab-hero-stat:last-child { border-right: 0; }
.ab-hero-stat-num {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 2px;
}
.ab-hero-stat-num .ab-star { color: #f59e0b; }
.ab-hero-stat-label {
  font-size: 10px;
  color: rgba(255,255,255,0.65);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}
.ab-hero-ctas {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 28px;
  flex-wrap: wrap;
}
.ab-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 22px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.15s, background 0.15s, color 0.15s, border-color 0.15s;
  cursor: pointer;
}
.ab-btn-primary {
  background: #5cffe6;
  color: #111827 !important;
  border: 1px solid #5cffe6;
}
.ab-btn-primary:hover { transform: translateY(-2px); background: #80fff0; color: #111827 !important; }
.ab-btn-outline {
  background: transparent;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.3);
}
.ab-btn-outline:hover { border-color: #5cffe6; color: #5cffe6 !important; }
.ab-btn-outline-dark {
  background: transparent;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.3);
}
.ab-btn-outline-dark:hover { border-color: #5cffe6; color: #5cffe6 !important; }

/* ========== Section base ========== */
.ab-section {
  padding: 80px 40px;
  max-width: 1180px;
  margin: 0 auto;
}
.ab-section--mint {
  background: #e6fffc;
  padding: 80px 40px;
}
.ab-section--mint .ab-section-inner {
  max-width: 1180px;
  margin: 0 auto;
}

.ab-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9ca3af;
  margin: 0 0 10px;
  text-align: center;
}
.ab-h2 {
  font-size: 32px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 12px;
  text-align: center;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.ab-sub {
  font-size: 15px;
  color: #6b7280;
  max-width: 700px;
  margin: 0 auto 48px;
  text-align: center;
  line-height: 1.6;
}

/* ========== FLYWHEEL ========== */
.ab-flywheel-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 18px;
  align-items: stretch;
  margin-top: 8px;
}
.ab-flywheel-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 28px 24px;
  text-align: center;
}
.ab-flywheel-icon {
  width: 56px;
  height: 56px;
  background: #e6fffc;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  color: #0d6e5f;
}
.ab-flywheel-icon svg { width: 26px; height: 26px; }
.ab-flywheel-h3 {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 8px;
}
.ab-flywheel-desc {
  font-size: 13px;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}
.ab-flywheel-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #5cffe6;
}
.ab-flywheel-arrow svg { width: 28px; height: 28px; }
.ab-flywheel-tag {
  text-align: center;
  margin-top: 32px;
  font-size: 14px;
  color: #0d6e5f;
  font-weight: 600;
}

/* ========== PILLARS ========== */
.ab-pillars {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 16px;
}
.ab-pillar {
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 28px 26px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}
.ab-pillar:hover {
  border-color: #5cffe6;
  transform: translateY(-3px);
  box-shadow: 0 4px 20px rgba(92,255,230,0.12);
}
.ab-pillar--hero {
  background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
  color: #fff !important;
  border-color: #111827;
  position: relative;
  overflow: hidden;
}
.ab-pillar--hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(92,255,230,0.18) 0%, transparent 50%);
  pointer-events: none;
}
.ab-pillar--hero:hover { border-color: #5cffe6; }
.ab-pillar-tag {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
  display: block;
}
.ab-pillar--hero .ab-pillar-tag { color: #5cffe6; }
.ab-pillar:not(.ab-pillar--hero) .ab-pillar-tag { color: #0d6e5f; }
.ab-pillar-h3 {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 10px;
  line-height: 1.25;
  position: relative;
  z-index: 1;
}
.ab-pillar:not(.ab-pillar--hero) .ab-pillar-h3 { color: #111827; font-size: 18px; }
.ab-pillar--hero .ab-pillar-h3 { color: #fff; }
.ab-pillar-desc {
  font-size: 14px;
  line-height: 1.55;
  margin: 0 0 20px;
  position: relative;
  z-index: 1;
}
.ab-pillar--hero .ab-pillar-desc { color: rgba(255,255,255,0.78); }
.ab-pillar:not(.ab-pillar--hero) .ab-pillar-desc { color: #6b7280; font-size: 13px; }
.ab-pillar-meta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 22px;
  position: relative;
  z-index: 1;
}
.ab-pillar-stat {
  font-size: 12px;
  color: rgba(255,255,255,0.7);
}
.ab-pillar-stat strong {
  display: block;
  font-size: 18px;
  color: #5cffe6;
  font-weight: 700;
  margin-bottom: 1px;
}
.ab-pillar-cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  position: relative;
  z-index: 1;
}
.ab-pillar--hero .ab-pillar-cta { color: #5cffe6; }
.ab-pillar:not(.ab-pillar--hero) .ab-pillar-cta { color: #0d6e5f; }
.ab-pillar-cta svg { width: 14px; height: 14px; transition: transform 0.15s; }
.ab-pillar:hover .ab-pillar-cta svg { transform: translateX(3px); }

/* ========== WHY ========== */
.ab-why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.ab-why-card {
  padding: 24px 22px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  text-align: left;
}
.ab-why-icon {
  width: 40px;
  height: 40px;
  background: #5cffe6;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  color: #111827;
}
.ab-why-icon svg { width: 20px; height: 20px; }
.ab-why-h3 {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 6px;
}
.ab-why-desc {
  font-size: 12.5px;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}

/* ========== FOUNDER ========== */
.ab-founder-grid {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 50px;
  align-items: center;
  background: #f7f8fa;
  border-radius: 18px;
  padding: 40px;
}
.ab-founder-photo {
  display: block !important;
  aspect-ratio: 1/1.05;
  border-radius: 14px;
  background-color: #d1d5db;
  background-size: cover;
  background-position: center;
  min-height: 380px;
}
.ab-founder-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #0d6e5f;
  margin: 0 0 8px;
}
.ab-founder-name {
  font-size: 28px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 6px;
  line-height: 1.2;
}
.ab-founder-role {
  font-size: 14px;
  color: #6b7280;
  margin: 0 0 18px;
}
.ab-founder-bio p {
  font-size: 14.5px;
  color: #374151;
  margin: 0 0 14px;
  line-height: 1.6;
}
.ab-founder-creds {
  display: flex;
  gap: 24px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e5e7eb;
  flex-wrap: wrap;
}
.ab-founder-cred {
  font-size: 12px;
  color: #6b7280;
}
.ab-founder-cred strong {
  display: block;
  font-size: 16px;
  color: #111827;
  font-weight: 700;
  margin-bottom: 2px;
}
.ab-founder-links {
  display: flex;
  gap: 10px;
  margin-top: 20px;
  flex-wrap: wrap;
}
.ab-founder-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  color: #374151;
  text-decoration: none;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.ab-founder-link:hover {
  border-color: #5cffe6;
  background: #e6fffc;
  color: #0d6e5f;
}
.ab-founder-link svg { width: 14px; height: 14px; }

/* ========== TIMELINE ========== */
.ab-timeline {
  position: relative;
  padding: 20px 0;
  max-width: 800px;
  margin: 0 auto;
}
.ab-timeline::before {
  content: '';
  position: absolute;
  left: 25px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #b9f7eb;
}
.ab-tl-item {
  position: relative;
  padding-left: 70px;
  padding-bottom: 32px;
}
.ab-tl-item:last-child { padding-bottom: 0; }
.ab-tl-dot {
  display: block !important;
  position: absolute;
  left: 14px;
  top: 4px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #5cffe6;
  border: 4px solid #ffffff;
  box-shadow: 0 0 0 2px #5cffe6, 0 2px 8px rgba(92,255,230,0.35);
}
.ab-tl-year {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #0d6e5f;
  margin-bottom: 4px;
}
.ab-tl-title {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 6px;
}
.ab-tl-desc {
  font-size: 13.5px;
  color: #374151;
  margin: 0;
  line-height: 1.55;
}

/* ========== REVIEWS ========== */
.ab-reviews {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.ab-review {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 22px 22px 20px;
}
.ab-review-stars {
  display: flex;
  gap: 2px;
  margin-bottom: 12px;
  color: #f59e0b;
}
.ab-review-stars svg { width: 16px; height: 16px; }
.ab-review-text {
  font-size: 13.5px;
  color: #374151;
  line-height: 1.55;
  margin: 0 0 16px;
}
.ab-review-author {
  font-size: 12px;
  color: #6b7280;
  font-weight: 500;
  margin: 0;
}
.ab-review-author strong {
  color: #111827;
  font-weight: 700;
}

/* ========== FINAL CTA ========== */
.ab-final {
  background: linear-gradient(135deg, #0d6e5f 0%, #111827 100%);
  border-radius: 18px;
  padding: 48px 40px;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.ab-final::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 50%, rgba(92,255,230,0.18) 0%, transparent 50%);
  pointer-events: none;
}
.ab-final-inner { position: relative; z-index: 1; }
.ab-final-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #5cffe6;
  margin: 0 0 12px;
}
.ab-final-title {
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 10px;
  color: #fff;
  line-height: 1.2;
}
.ab-final-sub {
  font-size: 14px;
  color: rgba(255,255,255,0.7);
  margin: 0 auto 28px;
  max-width: 540px;
}
.ab-final-ctas {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 900px) {
  .ab-hero { padding: 140px 24px 70px; }
  .ab-hero-title { font-size: 32px; }
  .ab-hero-sub { font-size: 14px; }
  .ab-hero-stat { padding: 4px 14px; }
  .ab-hero-stat-num { font-size: 16px; }
  .ab-section { padding: 60px 24px; }
  .ab-section--mint { padding: 60px 24px; }
  .ab-h2 { font-size: 26px; }
  .ab-flywheel-grid { grid-template-columns: 1fr; gap: 12px; }
  .ab-flywheel-arrow { transform: rotate(90deg); padding: 4px 0; }
  .ab-pillars { grid-template-columns: 1fr; gap: 14px; }
  .ab-why-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .ab-founder-grid {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 28px;
  }
  .ab-founder-photo { aspect-ratio: 1/1; max-width: 280px; margin: 0 auto; width: 100%; }
  .ab-founder-name { font-size: 24px; }
  .ab-reviews { grid-template-columns: 1fr; }
  .ab-final { padding: 36px 24px; border-radius: 14px; }
  .ab-final-title { font-size: 22px; }
}
@media (max-width: 540px) {
  .ab-hero { padding: 120px 16px 60px; }
  .ab-hero-title { font-size: 26px; }
  .ab-hero-stats { padding: 10px 4px; }
  .ab-hero-stat { padding: 4px 10px; border-right: 0; min-width: 40%; }
  .ab-section, .ab-section--mint { padding: 50px 16px; }
  .ab-h2 { font-size: 22px; }
  .ab-why-grid { grid-template-columns: 1fr; }
}
/* END_SECTION:main-about-modern */

/* START_SECTION:main-banner-new (INDEX:59) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.hb {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  background: linear-gradient(135deg, #0a1f2c 0%, #0f2a3a 50%, #0d3540 100%);
  color: #fff;
  padding: 170px 24px 100px;
  text-align: center;
  position: relative;
  overflow: hidden;
  border-bottom-left-radius: 32px;
  border-bottom-right-radius: 32px;
}
/* Grid overlay — subtle uniform.
   NB: Spotlight theme has a global `div:empty { display: none }` rule in base.css
   that hides this empty div. Need !important on display to override. */
.hb-grid-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: block !important;
  background-image:
    linear-gradient(to right, rgba(92, 255, 230, 0.10) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(92, 255, 230, 0.10) 1px, transparent 1px);
  background-size: 50px 50px;
  pointer-events: none;
  z-index: 0;
}
/* Mint glow accent */
.hb::after {
  content: "";
  position: absolute;
  top: -100px;
  right: -100px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(92, 255, 230, 0.15) 0%, transparent 70%);
  pointer-events: none;
}

.hb-wrap {
  max-width: 980px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.hb-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px;
  background: rgba(92, 255, 230, 0.12);
  border: 1px solid rgba(92, 255, 230, 0.3);
  border-radius: 999px;
  color: #5cffe6;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .02em;
  margin-bottom: 26px;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.hb-eyebrow-stars {
  color: #f59e0b;
  letter-spacing: 1px;
  font-size: 13px;
}

.hb-title {
  font-size: 64px;
  font-weight: 700;
  color: #fff;
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 22px;
}
.hb-title-accent {
  display: inline-block;
  background: linear-gradient(135deg, #5cffe6 0%, #00d4b8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #5cffe6;
}

.hb-subtitle {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.78);
  max-width: 720px;
  margin: 0 auto 36px;
  line-height: 1.6;
  font-weight: 400;
}

.hb-cta-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-bottom: 36px;
}
.hb-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 18px 40px;
  background: #5cffe6;
  color: #111827;
  border-radius: 999px;
  font-weight: 700;
  font-size: 17px;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(92, 255, 230, 0.25);
  transition: transform .15s, box-shadow .15s;
}
.hb-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(92, 255, 230, 0.4);
  color: #111827;
}
.hb-btn-primary svg { width: 18px; height: 18px; }

.hb-link-tertiary {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 2px;
  transition: color .15s, border-color .15s;
}
.hb-link-tertiary:hover {
  color: #5cffe6;
  border-bottom-color: #5cffe6;
}
.hb-link-tertiary span { font-weight: 600; }

.hb-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.hb-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
  font-weight: 500;
}
.hb-trust-item svg {
  width: 18px;
  height: 18px;
  color: #5cffe6;
  flex-shrink: 0;
}
.hb-trust-stars {
  color: #f59e0b;
  letter-spacing: 1px;
  font-size: 13px;
}

@media (max-width: 900px) {
  .hb { padding: 130px 20px 72px; border-bottom-left-radius: 24px; border-bottom-right-radius: 24px; }
  .hb-title { font-size: 40px; }
  .hb-subtitle { font-size: 16px; }
  .hb-trust { gap: 18px; }
  .hb-btn-primary { padding: 16px 32px; font-size: 16px; }
}
@media (max-width: 540px) {
  .hb { padding: 110px 18px 60px; }
  .hb-title { font-size: 32px; }
  .hb-eyebrow { font-size: 12px; padding: 7px 14px; }
}
/* END_SECTION:main-banner-new */

/* START_SECTION:main-cart-modern (INDEX:65) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.cm-cart {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  padding: 160px 24px 80px;
  color: #374151;
  background: #fff;
}
.cm-cart-wrap { max-width: 1280px; margin: 0 auto; }

/* Breadcrumb */
.cm-cart-crumbs {
  font-size: 12px; color: #6b7280;
  margin-bottom: 14px; display: flex; gap: 6px;
}
.cm-cart-crumbs a { color: #6b7280; text-decoration: none; }
.cm-cart-crumbs a:hover { color: #111827; }
.cm-cart-sep { color: #9ca3af; }
.cm-cart-current { color: #111827; font-weight: 500; }

/* Header */
.cm-cart-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 16px; margin-bottom: 22px; flex-wrap: wrap;
}
.cm-cart-title {
  font-size: 32px; font-weight: 700; color: #111827;
  letter-spacing: -0.02em; line-height: 1.15; margin: 0;
}
.cm-cart-count {
  color: #6b7280; font-weight: 500; margin-left: 6px; font-size: 18px;
}
.cm-cart-continue {
  font-size: 13px; color: #111827; text-decoration: none; font-weight: 600;
  border-bottom: 2px solid #5cffe6; padding-bottom: 2px;
  transition: color .15s;
}
.cm-cart-continue:hover { color: #0d6e5f; }

/* Free shipping progress bar */
.cm-cart-ship {
  background: linear-gradient(90deg, #e6fffc 0%, #fff 100%);
  border: 1px solid rgba(13, 110, 95, 0.15);
  border-radius: 14px;
  padding: 16px 22px;
  margin-bottom: 28px;
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
}
.cm-cart-ship-icon {
  flex: 0 0 36px; width: 36px; height: 36px;
  border-radius: 50%; background: #5cffe6; color: #111827;
  display: flex; align-items: center; justify-content: center;
}
.cm-cart-ship-icon svg { width: 18px; height: 18px; }
.cm-cart-ship-content { flex: 1; min-width: 240px; }
.cm-cart-ship-label {
  font-size: 13px; font-weight: 600; color: #111827; margin-bottom: 6px;
}
.cm-cart-ship-label strong { color: #0d6e5f; }
.cm-cart-ship-label--done strong { color: #0d6e5f; }
.cm-cart-ship-track {
  height: 6px; background: rgba(13, 110, 95, 0.12);
  border-radius: 999px; overflow: hidden;
}
.cm-cart-ship-fill {
  display: block !important; /* Spotlight theme has div:empty { display:none } that hides this otherwise */
  height: 100%;
  background: linear-gradient(90deg, #5cffe6 0%, #00d4b8 100%);
  border-radius: 999px;
  transition: width .3s ease;
}

/* Layout */
.cm-cart-grid {
  display: grid; grid-template-columns: 1fr 360px;
  gap: 32px; align-items: start;
}

/* Items */
.cm-cart-items {
  border: 1px solid #e5e7eb; border-radius: 14px; overflow: hidden;
}
.cm-cart-items-head {
  display: grid; grid-template-columns: 1fr 110px 90px;
  gap: 14px; padding: 14px 22px;
  background: #f7f8fa; border-bottom: 1px solid #e5e7eb;
  font-size: 11px; font-weight: 700; color: #6b7280;
  text-transform: uppercase; letter-spacing: .06em;
}
.cm-cart-items-head span:nth-child(2),
.cm-cart-items-head span:nth-child(3) { text-align: center; }
.cm-cart-items-head span:nth-child(3) { text-align: right; }

.cm-cart-item {
  display: grid; grid-template-columns: 1fr 110px 90px;
  gap: 14px; padding: 18px 22px;
  border-bottom: 1px solid #e5e7eb; align-items: center;
  transition: opacity .2s;
}
.cm-cart-item:last-child { border-bottom: none; }
.cm-cart-item.is-loading { opacity: 0.5; pointer-events: none; }

.cm-cart-item-product { display: flex; gap: 16px; align-items: center; min-width: 0; }
.cm-cart-item-img-link { display: block; flex-shrink: 0; }
.cm-cart-item-img-link img,
.cm-cart-item-img-fallback {
  width: 80px; height: 80px; border-radius: 10px;
  object-fit: contain; padding: 6px;
  background: #f7f8fa; border: 1px solid #e5e7eb;
}
.cm-cart-item-img-fallback {
  display: flex; align-items: center; justify-content: center;
  font-size: 28px; font-weight: 700; color: #d1d5db;
}
.cm-cart-item-info {
  display: flex; flex-direction: column; gap: 4px; min-width: 0;
}
.cm-cart-item-title {
  font-size: 14px; font-weight: 600; color: #111827; text-decoration: none;
  line-height: 1.4;
}
.cm-cart-item-title:hover { color: #0d6e5f; }
.cm-cart-item-variant { font-size: 12px; color: #6b7280; }
.cm-cart-item-price { font-size: 12px; color: #6b7280; }
.cm-cart-item-discount {
  font-size: 11px; color: #0d6e5f; font-weight: 600;
}
.cm-cart-item-remove {
  background: none; border: 0; padding: 0;
  color: #9ca3af; font-size: 11px; cursor: pointer;
  text-decoration: underline; margin-top: 4px; width: fit-content;
  font-family: inherit;
}
.cm-cart-item-remove:hover { color: #ef4444; }

.cm-cart-item-qty {
  display: flex; align-items: center;
  border: 1px solid #e5e7eb; border-radius: 8px;
  overflow: hidden; width: fit-content; margin: 0 auto;
}
.cm-cart-qty-btn {
  width: 30px; height: 32px; background: #fff; border: 0;
  cursor: pointer; color: #6b7280; font-size: 14px;
  font-family: inherit;
}
.cm-cart-qty-btn:hover { color: #111827; background: #f7f8fa; }
.cm-cart-item-qty input {
  width: 40px; height: 32px; text-align: center; border: 0;
  border-left: 1px solid #e5e7eb; border-right: 1px solid #e5e7eb;
  font-family: inherit; font-size: 13px; font-weight: 600; color: #111827;
  -moz-appearance: textfield;
}
.cm-cart-item-qty input::-webkit-outer-spin-button,
.cm-cart-item-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.cm-cart-item-total {
  text-align: right; font-size: 15px; font-weight: 700; color: #111827;
}
.cm-cart-item-total-final { color: #b91c1c; display: block; }
.cm-cart-item-total-orig {
  font-size: 12px; color: #9ca3af;
  text-decoration: line-through; font-weight: 500; display: block;
}

/* Upsell */
.cm-cart-upsell {
  margin-top: 28px; padding: 24px;
  background: #f7f8fa; border-radius: 14px;
}
.cm-cart-upsell-h {
  font-size: 14px; font-weight: 700; color: #111827; margin: 0 0 4px;
}
.cm-cart-upsell-sub { font-size: 12px; color: #6b7280; margin-bottom: 16px; }
.cm-cart-upsell-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
}
.cm-cart-upsell-loading {
  grid-column: 1 / -1;
  text-align: center; padding: 20px;
  font-size: 12px; color: #9ca3af;
}
.cm-cart-upsell-card {
  background: #fff; border: 1px solid #e5e7eb; border-radius: 10px;
  padding: 12px; display: flex; flex-direction: column; gap: 8px;
  text-decoration: none; color: inherit;
  transition: border-color .15s, transform .15s;
}
.cm-cart-upsell-card:hover { border-color: #5cffe6; transform: translateY(-2px); }
.cm-cart-upsell-img {
  aspect-ratio: 1/1; background: #f7f8fa;
  border-radius: 8px; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid #e5e7eb;
}
.cm-cart-upsell-img img {
  width: 100%; height: 100%; object-fit: contain; padding: 8px;
}
.cm-cart-upsell-title {
  font-size: 12px; font-weight: 600; color: #111827; line-height: 1.3;
  display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
}
.cm-cart-upsell-bottom {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: auto; padding-top: 4px;
}
.cm-cart-upsell-price {
  font-size: 13px; font-weight: 700; color: #111827;
}
.cm-cart-upsell-add {
  font-size: 11px; font-weight: 600; color: #0d6e5f;
  background: #e6fffc; border: 0;
  padding: 5px 10px; border-radius: 6px;
  cursor: pointer; font-family: inherit;
  transition: background .15s, color .15s;
}
.cm-cart-upsell-add:hover { background: #5cffe6; color: #111827; }
.cm-cart-upsell-add:disabled { opacity: 0.6; cursor: wait; }

/* Summary panel */
.cm-cart-summary {
  background: #fff; border: 1px solid #e5e7eb; border-radius: 14px;
  padding: 22px; position: sticky; top: 24px;
}
.cm-cart-summary-h {
  font-size: 15px; font-weight: 700; color: #111827;
  margin: 0 0 16px; padding-bottom: 14px; border-bottom: 1px solid #e5e7eb;
}
.cm-cart-summary-row {
  display: flex; justify-content: space-between; align-items: baseline;
  font-size: 13px; color: #374151; padding: 6px 0;
}
.cm-cart-summary-row strong { color: #111827; font-weight: 600; }
.cm-cart-summary-discount { color: #0d6e5f; }
.cm-cart-summary-muted { color: #6b7280; }
.cm-cart-summary-row.total {
  margin-top: 12px; padding-top: 14px;
  border-top: 1px solid #e5e7eb; font-size: 16px;
}
.cm-cart-summary-row.total span:first-child { font-weight: 700; color: #111827; }
.cm-cart-summary-row.total span:last-child {
  font-size: 22px; font-weight: 700; color: #111827;
}
.cm-cart-summary-tax {
  font-size: 11px; color: #9ca3af; margin: 4px 0 14px;
}

/* Buttons */
.cm-cart-btn-primary,
.cm-cart-checkout {
  display: block; width: 100%; padding: 14px 20px;
  background: #111827; color: #5cffe6;
  border: 0; border-radius: 10px;
  font-family: inherit; font-size: 15px; font-weight: 700;
  cursor: pointer; text-decoration: none; text-align: center;
  transition: background .15s, transform .15s;
  box-shadow: 0 4px 14px rgba(17, 24, 39, 0.2);
}
.cm-cart-btn-primary:hover,
.cm-cart-checkout:hover {
  background: #000; transform: translateY(-1px); color: #5cffe6;
}
.cm-cart-checkout:disabled {
  background: #e5e7eb; color: #9ca3af; cursor: not-allowed;
  box-shadow: none; transform: none;
}
.cm-cart-btn-secondary {
  display: inline-block; padding: 12px 24px;
  background: #fff; color: #111827;
  border: 1px solid #e5e7eb; border-radius: 10px;
  font-family: inherit; font-size: 14px; font-weight: 600;
  text-decoration: none; transition: border-color .15s;
}
.cm-cart-btn-secondary:hover { border-color: #111827; color: #111827; }

/* Express checkout buttons (Shopify renders these natively) */
.cm-cart-express {
  margin-top: 8px;
  display: flex; flex-direction: column; gap: 8px;
}
.cm-cart-express > * { width: 100% !important; }

/* Trust strip */
.cm-cart-trust {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  gap: 10px; margin-top: 18px; padding-top: 14px;
  border-top: 1px solid #e5e7eb;
}
.cm-cart-trust-item {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: 4px; font-size: 10px; color: #6b7280; font-weight: 500;
}
.cm-cart-trust-item svg { width: 18px; height: 18px; color: #0d6e5f; }
.cm-cart-trust-item strong {
  color: #111827; font-weight: 600; font-size: 11px;
}

/* Empty state */
.cm-cart-empty {
  text-align: center; padding: 60px 24px;
  background: #f7f8fa; border-radius: 14px;
  max-width: 600px; margin: 0 auto;
}
.cm-cart-empty-icon {
  width: 64px; height: 64px; border-radius: 50%;
  background: #fff; border: 1px solid #e5e7eb;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px; color: #9ca3af;
}
.cm-cart-empty-icon svg { width: 28px; height: 28px; }
.cm-cart-empty h2 {
  font-size: 26px; font-weight: 700; color: #111827;
  margin: 0 0 10px; letter-spacing: -0.02em;
}
.cm-cart-empty p {
  font-size: 14px; color: #6b7280; line-height: 1.6;
  max-width: 420px; margin: 0 auto 24px;
}
.cm-cart-empty-actions {
  display: flex; gap: 10px; justify-content: center; flex-wrap: wrap;
}

/* Mobile sticky checkout bar — hidden on desktop, shown ≤900px */
.cm-cart-sticky {
  display: none;
}

/* Responsive */
@media (max-width: 900px) {
  .cm-cart { padding: 120px 20px 64px; padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  .cm-cart-grid { grid-template-columns: 1fr; }
  .cm-cart-summary { position: static; }
  .cm-cart-items-head { display: none; }
  .cm-cart-item {
    grid-template-columns: 80px 1fr;
    grid-template-areas: 'img info' 'img qty' 'total total';
    gap: 12px 14px; padding: 16px;
  }
  .cm-cart-item-product { display: contents; }
  .cm-cart-item-product .cm-cart-item-img-link { grid-area: img; }
  .cm-cart-item-info { grid-area: info; }
  .cm-cart-item-qty { grid-area: qty; margin: 0; justify-self: start; }
  .cm-cart-item-total { grid-area: total; text-align: right; }
  .cm-cart-upsell-grid { grid-template-columns: 1fr 1fr; }
  .cm-cart-title { font-size: 26px; }

  /* Sticky bottom checkout bar */
  .cm-cart-sticky {
    display: flex !important;
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 50;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    background: #ffffff;
    border-top: 1px solid #e5e7eb;
    box-shadow: 0 -4px 20px rgba(17, 24, 39, 0.08);
    align-items: center;
    gap: 12px;
  }
  .cm-cart-sticky-totals {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    line-height: 1.2;
  }
  .cm-cart-sticky-label {
    font-size: 11px;
    color: #6b7280;
    font-weight: 500;
  }
  .cm-cart-sticky-amount {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
  }
  .cm-cart-sticky-btn {
    flex: 1 1 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 18px;
    background: #111827;
    color: #5cffe6;
    border: 1px solid #111827;
    border-radius: 12px;
    font-family: inherit;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    transition: background .15s, transform .15s;
  }
  .cm-cart-sticky-btn:hover { background: #000; }
  .cm-cart-sticky-btn:active { transform: translateY(1px); }
  .cm-cart-sticky-btn svg { width: 18px; height: 18px; }
  .cm-cart-sticky-btn:disabled { opacity: 0.5; cursor: not-allowed; }

  /* When the sticky bar is visible, downgrade the in-summary checkout button so we don't have two competing CTAs */
  .cm-cart-checkout {
    background: #fff !important;
    color: #111827 !important;
    border: 1px solid #111827 !important;
  }
  .cm-cart-checkout:hover {
    background: #111827 !important;
    color: #5cffe6 !important;
  }
}
@media (max-width: 540px) {
  .cm-cart { padding: 100px 16px 60px; padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
  .cm-cart-upsell-grid { grid-template-columns: 1fr; }
  .cm-cart-trust { grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
  .cm-cart-trust-item { font-size: 9px; }
  .cm-cart-sticky-amount { font-size: 17px; }
  .cm-cart-sticky-btn { padding: 13px 14px; font-size: 14px; }
}
/* END_SECTION:main-cart-modern */

/* START_SECTION:main-collection-modern (INDEX:67) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.cm {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  padding: 160px 24px 80px;
  color: #374151;
  background: #fff;
}
.cm-wrap { max-width: 1400px; margin: 0 auto; }

/* Breadcrumbs */
.cm-crumbs {
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 14px;
  display: flex;
  gap: 6px;
  align-items: center;
}
.cm-crumbs a { color: #6b7280; text-decoration: none; }
.cm-crumbs a:hover { color: #111827; }
.cm-sep { color: #9ca3af; }
.cm-current { color: #111827; font-weight: 500; }

/* Header */
.cm-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.cm-title {
  font-size: 36px;
  font-weight: 700;
  color: #111827;
  letter-spacing: -0.025em;
  line-height: 1.15;
  margin: 0;
}
.cm-count { color: #6b7280; font-size: 14px; font-weight: 500; }
.cm-desc {
  font-size: 15px;
  color: #6b7280;
  line-height: 1.6;
  max-width: 760px;
  margin-bottom: 28px;
}
.cm-desc p { margin: 0 0 10px; }
.cm-desc p:last-child { margin-bottom: 0; }
.cm-desc a { color: #0d6e5f; text-decoration: underline; }

/* Layout */
.cm-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 32px;
  align-items: start;
}

/* ============== SIDEBAR ============== */
.cm-sidebar {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 18px;
  position: sticky;
  top: 24px;
}
.cm-sidebar-body { display: block; }
/* Mobile collapse toggle — hidden on desktop */
.cm-side-toggle {
  display: none;
  width: 100%;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  background: #f7f8fa;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
.cm-side-toggle:hover { border-color: #5cffe6; background: #fff; }
.cm-side-toggle svg { width: 16px; height: 16px; color: #6b7280; flex-shrink: 0; }
.cm-side-toggle .cm-side-toggle-chevron {
  margin-left: auto;
  transition: transform .2s;
}
.cm-side-toggle[aria-expanded="true"] .cm-side-toggle-chevron { transform: rotate(180deg); }
.cm-side-h {
  font-size: 11px;
  font-weight: 700;
  color: #111827;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e5e7eb;
}
/* Sidebar search */
.cm-side-search-form { margin-bottom: 18px; }
.cm-side-search { position: relative; }
.cm-side-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  color: #9ca3af;
  pointer-events: none;
}
.cm-side-search-input {
  width: 100%;
  padding: 9px 12px 9px 34px;
  background: #f7f8fa;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  color: #111827;
  outline: none;
  transition: border-color .15s, background .15s;
}
.cm-side-search-input:focus {
  border-color: #5cffe6;
  background: #fff;
}
.cm-side-search-input::placeholder { color: #9ca3af; }

/* Search empty state */
.cm-search-empty {
  padding: 32px 24px;
  text-align: center;
  background: #f7f8fa;
  border-radius: 14px;
  margin-top: 16px;
  color: #6b7280;
  font-size: 14px;
}
.cm-search-empty strong { color: #111827; }
.cm-search-empty a { color: #0d6e5f; text-decoration: underline; font-weight: 600; }
.cm-search-empty a:hover { color: #111827; }
.cm-side-section { margin-bottom: 18px; }
.cm-side-section:last-of-type { margin-bottom: 8px; }
.cm-side-section-h {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background: none;
  border: 0;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  margin-bottom: 10px;
  cursor: pointer;
  padding: 0;
  text-align: left;
}
.cm-side-section-h svg { width: 14px; height: 14px; color: #9ca3af; transition: transform .15s; }
.cm-side-section-h[aria-expanded="false"] svg { transform: rotate(-90deg); }
.cm-side-section-h[aria-expanded="false"] + .cm-side-section-body { display: none; }

.cm-side-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.cm-side-item label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 0;
  cursor: pointer;
  font-size: 13px;
  color: #374151;
}
.cm-side-item label:hover .cm-side-label { color: #111827; }
.cm-side-checkbox-input { position: absolute; opacity: 0; pointer-events: none; }
.cm-side-checkbox {
  width: 16px;
  height: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  background: #fff;
  flex-shrink: 0;
  position: relative;
  transition: background .15s, border-color .15s;
}
.cm-side-checkbox-input:checked + .cm-side-checkbox {
  background: #5cffe6;
  border-color: #5cffe6;
}
.cm-side-checkbox-input:checked + .cm-side-checkbox::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 5px;
  width: 4px;
  height: 8px;
  border: solid #111827;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.cm-side-checkbox-input:disabled + .cm-side-checkbox { opacity: 0.4; }
.cm-side-checkbox-input:disabled ~ .cm-side-label { opacity: 0.4; }
.cm-side-label { flex: 1; }
.cm-side-count { color: #9ca3af; font-size: 12px; font-weight: 500; }

/* Price range inputs */
.cm-side-price-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.cm-side-price-inputs label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11px;
  color: #6b7280;
  font-weight: 500;
}
.cm-side-price-inputs input {
  padding: 7px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  color: #111827;
  background: #fff;
}
.cm-side-price-inputs input:focus {
  outline: none;
  border-color: #5cffe6;
}

.cm-clear {
  display: block;
  width: 100%;
  text-align: center;
  padding: 8px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  color: #6b7280;
  cursor: pointer;
  margin-top: 14px;
  text-decoration: none;
  transition: border-color .15s, color .15s;
}
.cm-clear:hover { border-color: #111827; color: #111827; }

/* ============== CONTENT ============== */
.cm-content { min-width: 0; }

.cm-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e5e7eb;
  flex-wrap: wrap;
}
.cm-active-filters {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}
.cm-active-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: #e6fffc;
  color: #0d6e5f;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s;
}
.cm-active-pill:hover { background: #5cffe6; }
.cm-active-pill svg { width: 10px; height: 10px; }

.cm-sort { display: flex; align-items: center; gap: 8px; }
.cm-sort-label { font-size: 12px; color: #6b7280; font-weight: 500; }
.cm-sort-select {
  padding: 8px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  color: #111827;
  background: #fff;
  cursor: pointer;
  font-weight: 500;
}
.cm-sort-select:focus { outline: none; border-color: #5cffe6; }

/* ============== GRID ============== */
.cm-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

/* Product card */
.cm-pc {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, transform .2s, box-shadow .2s;
  position: relative;
}
.cm-pc:hover {
  border-color: #5cffe6;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(13, 110, 95, 0.08);
}
.cm-pc-img {
  aspect-ratio: 1 / 1;
  background: #f7f8fa;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
.cm-pc-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 14px;
  transition: transform .3s;
}
.cm-pc:hover .cm-pc-img img { transform: scale(1.04); }
.cm-pc-img-fallback {
  font-size: 64px;
  font-weight: 700;
  color: #d1d5db;
}
.cm-pc-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 4px;
  letter-spacing: .04em;
  text-transform: uppercase;
  z-index: 2;
}
.cm-pc-badge--sale { background: #ef4444; color: #fff; }
.cm-pc-badge--new { background: #5cffe6; color: #111827; }

.cm-pc-body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  flex-grow: 1;
}
.cm-pc-stars { min-height: 16px; line-height: 1; }
.cm-pc-stars .jdgm-prev-badge { background: transparent !important; }
.cm-pc-stars .jdgm-prev-badge__stars {
  font-size: 13px !important;
  color: #f59e0b !important;
  letter-spacing: 1px;
}
.cm-pc-stars .jdgm-prev-badge__text {
  visibility: visible !important;
  display: inline !important;
  font-size: 11px !important;
  color: #6b7280 !important;
  font-weight: 500;
  margin-left: 4px;
}
.cm-pc-stars .jdgm-prev-badge[data-number-of-reviews="0"] { display: none; }
.cm-pc-stars-empty {
  font-size: 11px;
  color: #9ca3af;
  font-style: italic;
}
.cm-pc-title {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 39px;
}
.cm-pc:hover .cm-pc-title { color: #0d6e5f; }
.cm-pc-price-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: auto;
  padding-top: 4px;
}
.cm-pc-price { font-size: 17px; font-weight: 700; color: #111827; }
.cm-pc-compare { font-size: 13px; color: #9ca3af; text-decoration: line-through; }

/* Image and title links inside card (replaces the old single-card-link pattern) */
.cm-pc-imglink { display: block; text-decoration: none; }
.cm-pc-titlelink { text-decoration: none; color: inherit; }

/* Add row — qty stepper + Add to cart button on the same line */
.cm-pc-add-row {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  align-items: stretch;
}
.cm-pc-qty {
  display: flex;
  align-items: stretch;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
  flex: 0 0 auto;
  background: #fff;
}
.cm-pc-qty-btn {
  width: 26px;
  background: #fff;
  border: 0;
  cursor: pointer;
  color: #6b7280;
  font-size: 14px;
  font-family: inherit;
  padding: 0;
  line-height: 1;
}
.cm-pc-qty-btn:hover { color: #111827; background: #f7f8fa; }
.cm-pc-qty-input {
  width: 32px;
  text-align: center;
  border: 0;
  border-left: 1px solid #e5e7eb;
  border-right: 1px solid #e5e7eb;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  -moz-appearance: textfield;
  background: #fff;
  outline: none;
}
.cm-pc-qty-input::-webkit-outer-spin-button,
.cm-pc-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Quick-add button */
.cm-pc-add {
  display: block !important;
  flex: 1 1 auto;
  width: 100%;
  margin-top: 10px;
  padding: 9px 12px;
  background: #111827;
  color: #5cffe6;
  border: 1px solid #111827;
  border-radius: 8px;
  font-family: inherit;
  font-weight: 600;
  font-size: 13px;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s, color .15s, transform .15s;
}
/* When inside the add-row flex container, kill the top margin so heights align */
.cm-pc-add-row .cm-pc-add { margin-top: 0; }
.cm-pc-add:hover {
  background: #000;
  color: #5cffe6;
  transform: translateY(-1px);
}
.cm-pc-add--link {
  background: #fff;
  color: #111827;
  border-color: #e5e7eb;
}
.cm-pc-add--link:hover {
  background: #111827;
  color: #5cffe6;
  border-color: #111827;
}

/* Mobile: stack qty stepper above Add button so neither gets cramped */
@media (max-width: 768px) {
  .cm-pc-add-row {
    flex-direction: column;
    gap: 6px;
  }
  .cm-pc-qty {
    align-self: stretch;
    width: 100%;
  }
  .cm-pc-qty-btn {
    flex: 0 0 44px;
    width: 44px;
    font-size: 18px;
    padding: 8px 0;
  }
  .cm-pc-qty-input {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    font-size: 14px;
    padding: 8px 0;
  }
  .cm-pc-add-row .cm-pc-add { padding: 11px 8px; white-space: nowrap; }
}
.cm-pc-add--soldout {
  background: #f7f8fa !important;
  color: #9ca3af !important;
  border-color: #e5e7eb !important;
  cursor: not-allowed;
  pointer-events: none;
}
.cm-pc-add.is-loading { opacity: 0.7; cursor: wait; }
.cm-pc-add.is-added {
  background: #5cffe6 !important;
  color: #111827 !important;
  border-color: #5cffe6 !important;
}

/* ============== Cart toast notification ============== */
.cm-cart-toast {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 99999;
  width: 360px;
  max-width: calc(100vw - 32px);
  opacity: 0;
  transform: translateX(20px);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
}
.cm-cart-toast.is-visible {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}
.cm-cart-toast-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 18px;
  position: relative;
  box-shadow: 0 12px 32px rgba(17, 24, 39, 0.15);
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
}
.cm-cart-toast-close {
  position: absolute;
  top: 8px; right: 10px;
  width: 24px; height: 24px;
  background: none;
  border: 0;
  font-size: 20px;
  color: #9ca3af;
  cursor: pointer;
  font-family: inherit;
  line-height: 1;
  padding: 0;
}
.cm-cart-toast-close:hover { color: #111827; }
.cm-cart-toast-row {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 14px;
  padding-right: 22px;
}
.cm-cart-toast-img {
  flex: 0 0 56px;
  width: 56px; height: 56px;
  border-radius: 10px;
  background: #f7f8fa;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cm-cart-toast-img img {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 4px;
}
.cm-cart-toast-img-fallback {
  width: 100%; height: 100%;
  background: #f7f8fa;
}
.cm-cart-toast-info {
  flex: 1;
  min-width: 0;
}
.cm-cart-toast-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #0d6e5f;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 4px;
}
.cm-cart-toast-eyebrow svg {
  width: 14px; height: 14px;
  background: #5cffe6;
  border-radius: 50%;
  padding: 2px;
}
.cm-cart-toast-title {
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cm-cart-toast-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.cm-cart-toast-primary {
  display: block;
  text-align: center;
  padding: 10px;
  background: #111827;
  color: #5cffe6;
  border: 0;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s;
}
.cm-cart-toast-primary:hover { background: #000; color: #5cffe6; }
.cm-cart-toast-secondary {
  display: block;
  text-align: center;
  padding: 10px;
  background: #fff;
  color: #111827;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .15s;
}
.cm-cart-toast-secondary:hover { border-color: #111827; }

@media (max-width: 540px) {
  .cm-cart-toast {
    top: auto; right: 12px; left: 12px; bottom: 12px;
    width: auto; max-width: none;
    transform: translateY(20px);
  }
  .cm-cart-toast.is-visible { transform: translateY(0); }
}

/* Pagination */
.cm-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: 48px;
}
.cm-page {
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 10px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: border-color .15s, background .15s;
}
.cm-page:hover { border-color: #5cffe6; }
.cm-page--active { background: #111827; color: #5cffe6; border-color: #111827; }
.cm-page--disabled { opacity: 0.4; cursor: not-allowed; }
.cm-page--ellipsis { border: none; background: transparent; color: #9ca3af; }

/* Empty state */
.cm-empty {
  text-align: center;
  padding: 80px 24px;
  background: #f7f8fa;
  border-radius: 14px;
}
.cm-empty h2 {
  font-size: 22px;
  color: #111827;
  margin: 0 0 10px;
  font-weight: 700;
}
.cm-empty p { font-size: 14px; color: #6b7280; }
.cm-empty a { color: #0d6e5f; text-decoration: underline; }

/* Responsive */
@media (max-width: 1100px) {
  .cm-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .cm-layout { grid-template-columns: 1fr; }
  .cm-sidebar { position: static; padding: 10px; border-radius: 12px; }
  .cm-side-toggle { display: flex; }
  .cm-sidebar-body { display: none; margin-top: 12px; padding: 0 6px; }
  .cm-sidebar.is-open .cm-sidebar-body { display: block; }
  .cm-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .cm-title { font-size: 28px; }
}
@media (max-width: 900px) {
  .cm { padding: 120px 20px 64px; }
}
@media (max-width: 540px) {
  .cm-grid { grid-template-columns: repeat(2, 1fr); }
  .cm { padding: 100px 16px 60px; }
}
/* END_SECTION:main-collection-modern */

/* START_SECTION:main-collections-list-modern (INDEX:69) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.cm-collist {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  background: #fff;
  color: #374151;
}

/* ============== HERO ============== */
.cm-collist-hero {
  padding: 180px 24px 80px;
  text-align: center;
  color: #fff;
  background-color: #111827;
  background-size: cover;
  background-position: center;
  position: relative;
}
.cm-collist-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(92,255,230,0.12) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(92,255,230,0.08) 0%, transparent 40%);
  pointer-events: none;
}
.cm-collist-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 auto;
}
.cm-collist-hero-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #5cffe6;
  margin-bottom: 12px;
}
.cm-collist-hero-title {
  font-size: 38px;
  font-weight: 700;
  margin: 0 0 12px;
  letter-spacing: -0.01em;
  line-height: 1.15;
  color: #fff;
}
.cm-collist-hero-sub {
  font-size: 15px;
  color: rgba(255,255,255,0.78);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.55;
}

/* ============== BODY ============== */
.cm-collist-body {
  max-width: 1280px;
  margin: 0 auto;
  padding: 60px 24px 80px;
}
.cm-collist-section { margin-bottom: 56px; }
.cm-collist-section:last-child { margin-bottom: 0; }

/* Section labels */
.cm-collist-sec-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #9ca3af;
  margin: 0 0 8px;
}
.cm-collist-sec-h2 {
  font-size: 24px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 6px;
  letter-spacing: -0.01em;
}
.cm-collist-sec-sub {
  font-size: 14px;
  color: #6b7280;
  margin: 0 0 24px;
  max-width: 700px;
  line-height: 1.5;
}

/* ============== PLATFORM CARDS ============== */
.cm-collist-platform-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.cm-collist-platform-grid--2 { grid-template-columns: repeat(2, 1fr); }
.cm-collist-platform-grid--1 { grid-template-columns: 1fr; }

.cm-collist-platform-card {
  position: relative;
  background: #111827;
  border-radius: 14px;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  display: block;
  aspect-ratio: 16/9;
  transition: transform 0.2s, box-shadow 0.2s;
}
.cm-collist-platform-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(92,255,230,0.18);
}
.cm-collist-platform-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-color: #1f2937;
  opacity: 0.45;
  transition: transform 0.4s;
}
.cm-collist-platform-card:hover .cm-collist-platform-img { transform: scale(1.05); }
.cm-collist-platform-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(17,24,39,0.95) 0%, rgba(17,24,39,0.4) 60%, transparent 100%);
}
.cm-collist-platform-content {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 20px 22px 22px;
  z-index: 2;
}
.cm-collist-platform-eyebrow {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #5cffe6;
  margin-bottom: 4px;
}
.cm-collist-platform-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 4px;
  color: #fff;
}
.cm-collist-platform-meta {
  font-size: 12px;
  color: rgba(255,255,255,0.7);
}
.cm-collist-platform-arrow {
  position: absolute;
  top: 18px; right: 18px;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: background 0.15s;
}
.cm-collist-platform-card:hover .cm-collist-platform-arrow { background: #5cffe6; }
.cm-collist-platform-card:hover .cm-collist-platform-arrow svg { color: #111827; }
.cm-collist-platform-arrow svg { width: 16px; height: 16px; color: #fff; transition: color 0.15s; }

/* ============== COMPONENT CARDS ============== */
.cm-collist-component-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.cm-collist-comp-card {
  display: block;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.cm-collist-comp-card:hover {
  border-color: #5cffe6;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(92,255,230,0.1);
}
.cm-collist-comp-img {
  aspect-ratio: 1/1;
  background: #f7f8fa;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.cm-collist-comp-img img {
  max-width: 78%;
  max-height: 78%;
  object-fit: contain;
  transition: transform 0.3s;
}
.cm-collist-comp-card:hover .cm-collist-comp-img img { transform: scale(1.05); }
.cm-collist-comp-count {
  position: absolute;
  top: 10px; right: 10px;
  background: rgba(255,255,255,0.95);
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  color: #111827;
  z-index: 1;
}
.cm-collist-comp-body {
  padding: 14px 16px 16px;
}
.cm-collist-comp-title {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  margin: 0 0 4px;
}
.cm-collist-comp-desc {
  font-size: 12px;
  color: #6b7280;
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ============== PROGRAM CARDS ============== */
.cm-collist-program-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.cm-collist-program-card {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px 24px;
  background: #f7f8fa;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s, background 0.2s, transform 0.2s;
}
.cm-collist-program-card:hover {
  border-color: #5cffe6;
  background: #e6fffc;
  transform: translateY(-2px);
}
.cm-collist-program-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #5cffe6;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #111827;
}
.cm-collist-program-icon svg { width: 22px; height: 22px; }
.cm-collist-program-text { flex: 1; min-width: 0; }
.cm-collist-program-title {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 3px;
}
.cm-collist-program-desc {
  font-size: 12.5px;
  color: #6b7280;
  margin: 0;
  line-height: 1.4;
}
.cm-collist-program-arrow {
  flex-shrink: 0;
  color: #9ca3af;
  transition: color 0.15s, transform 0.15s;
}
.cm-collist-program-card:hover .cm-collist-program-arrow {
  color: #0d6e5f;
  transform: translateX(3px);
}

/* ============== RESPONSIVE ============== */
@media (max-width: 900px) {
  .cm-collist-hero { padding: 140px 20px 60px; }
  .cm-collist-hero-title { font-size: 30px; }
  .cm-collist-hero-sub { font-size: 14px; }
  .cm-collist-body { padding: 48px 20px 60px; }
  .cm-collist-platform-grid,
  .cm-collist-platform-grid--2,
  .cm-collist-platform-grid--3 { grid-template-columns: 1fr; gap: 14px; }
  .cm-collist-platform-card { aspect-ratio: 16/8; }
  .cm-collist-component-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .cm-collist-program-grid { grid-template-columns: 1fr; }
  .cm-collist-sec-h2 { font-size: 20px; }
  .cm-collist-section { margin-bottom: 44px; }
}
@media (max-width: 540px) {
  .cm-collist-hero { padding: 120px 16px 50px; }
  .cm-collist-hero-title { font-size: 26px; }
  .cm-collist-body { padding: 40px 16px 50px; }
  .cm-collist-platform-title { font-size: 18px; }
  .cm-collist-program-card { padding: 18px 18px; gap: 14px; }
}
/* END_SECTION:main-collections-list-modern */

/* START_SECTION:main-contact-modern (INDEX:70) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.ct-modern {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  background: #fff;
  color: #374151;
  line-height: 1.55;
}

/* ========== HERO ========== */
.ct-hero {
  background: linear-gradient(135deg, #0d4e44 0%, #111827 55%, #082826 100%);
  background-size: cover;
  background-position: center;
  color: #fff;
  padding: 180px 40px 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.ct-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(92,255,230,0.12) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(92,255,230,0.10) 0%, transparent 40%);
  pointer-events: none;
}
.ct-hero-inner { position: relative; z-index: 1; max-width: 740px; margin: 0 auto; }
.ct-hero-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #5cffe6;
  margin-bottom: 14px;
}
.ct-hero-title {
  font-size: 42px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.015em;
  margin: 0 0 16px;
}
.ct-hero .ct-hero-title,
.ct-hero .ct-hero-title *,
.ct-hero h1.ct-hero-title,
.ct-hero h1.ct-hero-title * { color: #ffffff !important; }
.ct-hero-sub {
  font-size: 15px;
  color: rgba(255,255,255,0.78);
  max-width: 580px;
  margin: 0 auto 24px;
  line-height: 1.55;
}
.ct-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(92,255,230,0.12);
  border: 1px solid rgba(92,255,230,0.3);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: #5cffe6;
}
.ct-hero-pill svg { width: 14px; height: 14px; }

/* ========== CONTACT PATH CARDS ========== */
.ct-paths {
  max-width: 1180px;
  margin: -40px auto 0;
  padding: 0 24px;
  position: relative;
  z-index: 2;
}
.ct-paths-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.ct-path-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 22px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}
.ct-path-card:hover {
  border-color: #5cffe6;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(92,255,230,0.1);
}
.ct-path-icon {
  display: flex !important;
  width: 40px;
  height: 40px;
  background: #e6fffc;
  border-radius: 10px;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  color: #0d6e5f;
}
.ct-path-icon svg { width: 20px; height: 20px; }
.ct-path-h3 {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 4px;
}
.ct-path-desc {
  font-size: 12px;
  color: #6b7280;
  line-height: 1.5;
  margin: 0 0 10px;
}
.ct-path-value {
  font-size: 13px;
  font-weight: 600;
  color: #0d6e5f;
  margin-top: auto;
}

/* ========== MAIN: info + form ========== */
.ct-main {
  max-width: 1180px;
  margin: 60px auto 0;
  padding: 0 24px 80px;
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 40px;
  align-items: start;
}
.ct-info-h2 {
  font-size: 28px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 12px;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.ct-info-sub {
  font-size: 14px;
  color: #6b7280;
  margin: 0 0 28px;
  line-height: 1.55;
}
.ct-info-block {
  padding: 20px 22px;
  background: #f7f8fa;
  border-radius: 12px;
  margin-bottom: 14px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.ct-info-icon {
  display: flex !important;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: #5cffe6;
  border-radius: 9px;
  align-items: center;
  justify-content: center;
  color: #111827;
}
.ct-info-icon svg { width: 18px; height: 18px; }
.ct-info-h3 {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 3px;
}
.ct-info-desc {
  font-size: 12.5px;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}
.ct-info-desc strong { color: #111827; }

/* ========== FORM ========== */
.ct-form-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 32px 32px 28px;
}
.ct-form-h2 {
  font-size: 22px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 6px;
}
.ct-form-sub {
  font-size: 13px;
  color: #6b7280;
  margin: 0 0 20px;
}
.ct-form-success {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #ecfdf5;
  border: 1px solid #6ee7b7;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 18px;
  color: #065f46;
  font-size: 13px;
  line-height: 1.5;
}
.ct-form-success svg { width: 20px; height: 20px; flex-shrink: 0; margin-top: 1px; color: #059669; }
.ct-form-success strong { display: block; font-size: 14px; font-weight: 700; color: #065f46; }
.ct-form-success span { display: block; color: #047857; }
.ct-form-errors {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 18px;
  color: #991b1b;
  font-size: 13px;
}
.ct-form-errors strong { color: #7f1d1d; }
.ct-form-errors ul { margin: 6px 0 0; padding-left: 20px; }
.ct-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 16px;
}
.ct-form-row .ct-form-field { margin: 0; }
.ct-form-field { margin-bottom: 16px; }
.ct-form-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 6px;
}
.ct-form-label .req { color: #ef4444; }
.ct-form-label .opt { color: #9ca3af; font-weight: 400; }
.ct-form-input,
.ct-form-select,
.ct-form-textarea {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 9px;
  font-family: inherit;
  font-size: 14px;
  color: #111827;
  background: #fff;
  transition: border-color 0.15s, box-shadow 0.15s;
  outline: none;
  box-sizing: border-box;
}
.ct-form-input:focus,
.ct-form-select:focus,
.ct-form-textarea:focus {
  border-color: #5cffe6;
  box-shadow: 0 0 0 3px rgba(92,255,230,0.18);
}
.ct-form-textarea {
  resize: vertical;
  min-height: 120px;
  font-family: inherit;
}
.ct-form-select {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23374151' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px;
  appearance: none;
  -webkit-appearance: none;
  padding-right: 36px;
}
.ct-form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px 20px;
  background: #111827;
  color: #5cffe6;
  border: 1px solid #111827;
  border-radius: 10px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s, transform 0.15s;
  margin-top: 8px;
}
.ct-form-submit:hover {
  background: #000;
  transform: translateY(-1px);
}
.ct-form-submit svg { width: 14px; height: 14px; }
.ct-form-meta {
  font-size: 11px;
  color: #9ca3af;
  margin: 12px 0 0;
  text-align: center;
}
.ct-form-meta a { color: #0d6e5f; }

/* ========== FAQ ========== */
.ct-faq {
  background: #f7f8fa;
  padding: 70px 24px;
}
.ct-faq-inner { max-width: 820px; margin: 0 auto; }
.ct-faq-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9ca3af;
  margin: 0 0 8px;
  text-align: center;
}
.ct-faq-h2 {
  font-size: 28px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 6px;
  text-align: center;
  letter-spacing: -0.01em;
}
.ct-faq-sub {
  font-size: 13px;
  color: #6b7280;
  margin: 0 0 32px;
  text-align: center;
}
.ct-faq-item {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  margin-bottom: 10px;
  overflow: hidden;
}
.ct-faq-q {
  padding: 16px 20px;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
  list-style: none;
}
.ct-faq-q::-webkit-details-marker { display: none; }
.ct-faq-q::after {
  content: '+';
  font-size: 20px;
  color: #6b7280;
  font-weight: 400;
  transition: transform 0.15s;
  margin-left: 12px;
  flex-shrink: 0;
}
.ct-faq-item[open] .ct-faq-q::after { content: '−'; }
.ct-faq-a {
  padding: 0 20px 18px;
  font-size: 13.5px;
  color: #374151;
  line-height: 1.6;
}
.ct-faq-a a { color: #0d6e5f; font-weight: 600; }

/* ========== CONSULTING CTA ========== */
.ct-consult-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 60px 24px;
}
.ct-consult {
  background: linear-gradient(135deg, #0d6e5f 0%, #111827 100%);
  border-radius: 18px;
  padding: 40px;
  color: #fff;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 32px;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.ct-consult::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 30%, rgba(92,255,230,0.2) 0%, transparent 50%);
  pointer-events: none;
}
.ct-consult-inner { position: relative; z-index: 1; }
.ct-consult-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #5cffe6;
  margin-bottom: 8px;
}
.ct-consult-title {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px;
  line-height: 1.25;
}
.ct-consult-desc {
  font-size: 13px;
  color: rgba(255,255,255,0.7);
  margin: 0;
  line-height: 1.55;
}
.ct-consult-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 22px;
  background: #5cffe6;
  color: #111827;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.15s, background 0.15s;
  justify-self: end;
  position: relative;
  z-index: 1;
}
.ct-consult-cta:hover { transform: translateY(-2px); background: #80fff0; }
.ct-consult-cta svg { width: 14px; height: 14px; }

/* ========== RESPONSIVE ========== */
@media (max-width: 900px) {
  .ct-hero { padding: 140px 20px 60px; }
  .ct-hero-title { font-size: 32px; }
  .ct-hero-sub { font-size: 14px; }
  .ct-paths { padding: 0 20px; }
  .ct-paths-grid { grid-template-columns: repeat(2, 1fr); }
  .ct-main { grid-template-columns: 1fr; gap: 32px; padding: 0 20px 60px; }
  .ct-form-card { padding: 24px 20px 22px; }
  .ct-info-h2 { font-size: 22px; }
  .ct-faq { padding: 50px 20px; }
  .ct-faq-h2 { font-size: 22px; }
  .ct-consult-wrap { padding: 40px 20px; }
  .ct-consult { grid-template-columns: 1fr; padding: 28px; }
  .ct-consult-cta { justify-self: start; }
}
@media (max-width: 540px) {
  .ct-hero { padding: 120px 16px 50px; }
  .ct-hero-title { font-size: 26px; }
  .ct-paths-grid { grid-template-columns: 1fr; }
  .ct-paths { margin-top: -30px; }
  .ct-form-row { grid-template-columns: 1fr; }
  .ct-info-h2 { font-size: 20px; }
  .ct-faq-h2 { font-size: 20px; }
}
/* END_SECTION:main-contact-modern */

/* START_SECTION:main-iot-consulting-modern (INDEX:71) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.ic-modern {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  background: #fff;
  color: #374151;
  line-height: 1.6;
}

/* ========== HERO ========== */
.ic-hero {
  background: linear-gradient(135deg, #0d4e44 0%, #111827 55%, #082826 100%);
  background-size: cover;
  background-position: center;
  color: #fff;
  padding: 180px 40px 70px;
  position: relative;
  overflow: hidden;
}
.ic-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(92,255,230,0.14) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(92,255,230,0.10) 0%, transparent 40%);
  pointer-events: none;
}
.ic-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}
.ic-hero-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #5cffe6;
  margin-bottom: 14px;
}
.ic-hero-title {
  font-size: 44px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.015em;
  margin: 0 0 18px;
}
.ic-hero .ic-hero-title,
.ic-hero .ic-hero-title *,
.ic-hero h1.ic-hero-title,
.ic-hero h1.ic-hero-title * { color: #ffffff !important; }
.ic-hero .ic-hero-title em,
.ic-hero h1.ic-hero-title em {
  font-style: normal;
  color: #5cffe6 !important;
}
.ic-hero-sub {
  font-size: 16px;
  color: rgba(255,255,255,0.78);
  max-width: 640px;
  margin: 0 auto 30px;
  line-height: 1.55;
}
.ic-hero-stats {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  background: rgba(255,255,255,0.06);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  padding: 14px 4px;
  margin-bottom: 26px;
  flex-wrap: wrap;
  justify-content: center;
}
.ic-hero-stat {
  padding: 4px 22px;
  border-right: 1px solid rgba(255,255,255,0.12);
  text-align: center;
}
.ic-hero-stat:last-child { border-right: 0; }
.ic-hero-stat-num {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 2px;
}
.ic-hero-stat-num .ic-star { color: #f59e0b; }
.ic-hero-stat-label {
  font-size: 10px;
  color: rgba(255,255,255,0.65);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}
.ic-hero-ctas {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.ic-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 22px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.15s, background 0.15s, color 0.15s, border-color 0.15s;
  cursor: pointer;
}
.ic-btn-primary {
  background: #5cffe6;
  color: #111827 !important;
  border: 1px solid #5cffe6;
}
.ic-btn-primary:hover { background: #80fff0; transform: translateY(-2px); color: #111827 !important; }
.ic-btn-outline {
  background: transparent;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.3);
}
.ic-btn-outline:hover { border-color: #5cffe6; color: #5cffe6 !important; }
.ic-btn-outline--on-dark { color: #fff !important; }

/* ========== UPWORK TRUST BAR ========== */
.ic-trust-bar {
  background: #f7f8fa;
  border-bottom: 1px solid #e5e7eb;
  padding: 24px 40px;
}
.ic-trust-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}
.ic-trust-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9ca3af;
}
.ic-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #374151;
}
.ic-trust-item strong { color: #111827; font-weight: 700; }
.ic-stars { color: #f59e0b; font-size: 14px; letter-spacing: -1px; }
.ic-trust-badge {
  background: #14a800;
  color: #fff;
  padding: 4px 10px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 700;
}

/* ========== Section base ========== */
.ic-section {
  padding: 80px 40px;
  max-width: 1180px;
  margin: 0 auto;
}
.ic-section--gray {
  background: #f7f8fa;
  padding: 80px 40px;
}
.ic-section--gray .ic-section-inner { max-width: 1180px; margin: 0 auto; }
.ic-section--dark {
  background: #111827;
  color: #fff;
  padding: 80px 40px;
}
.ic-section--dark .ic-section-inner { max-width: 1180px; margin: 0 auto; }

.ic-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9ca3af;
  margin: 0 0 10px;
  text-align: center;
}
.ic-section--dark .ic-eyebrow { color: #5cffe6; }
.ic-h2 {
  font-size: 32px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 12px;
  text-align: center;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.ic-section--dark .ic-h2 { color: #fff; }
.ic-sub {
  font-size: 15px;
  color: #6b7280;
  max-width: 700px;
  margin: 0 auto 48px;
  text-align: center;
  line-height: 1.6;
}
.ic-section--dark .ic-sub { color: rgba(255,255,255,0.7); }

/* ========== CASE STUDIES ========== */
.ic-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ic-case-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}
.ic-case-card:hover {
  border-color: #5cffe6;
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(92,255,230,0.12);
}
.ic-case-img {
  display: block !important;
  aspect-ratio: 16/9;
  position: relative;
  background-size: cover;
  background-position: center;
}
.ic-case-tag {
  position: absolute;
  top: 14px; left: 14px;
  background: rgba(255,255,255,0.95);
  color: #0d6e5f;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.ic-case-body { padding: 22px 24px; flex: 1; display: flex; flex-direction: column; }
.ic-case-title { font-size: 16px; font-weight: 700; color: #111827; margin: 0 0 8px; line-height: 1.3; }
.ic-case-desc { font-size: 13px; color: #6b7280; margin: 0 0 14px; line-height: 1.55; }
.ic-case-stats {
  display: flex;
  gap: 16px;
  margin: 0 0 16px;
  padding: 12px 0;
  border-top: 1px solid #f3f4f6;
  border-bottom: 1px solid #f3f4f6;
}
.ic-case-stat { flex: 1; }
.ic-case-stat-num { display: block; font-size: 17px; font-weight: 700; color: #0d6e5f; margin-bottom: 2px; }
.ic-case-stat-label { font-size: 10px; color: #9ca3af; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; }
.ic-case-read {
  margin-top: auto;
  font-size: 12px;
  font-weight: 700;
  color: #0d6e5f;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.ic-case-read svg { width: 12px; height: 12px; transition: transform 0.15s; }
.ic-case-card:hover .ic-case-read svg { transform: translateX(3px); }

/* ========== SERVICES ========== */
.ic-services-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.ic-service-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 28px; }
.ic-service-icon {
  display: flex !important;
  width: 48px;
  height: 48px;
  background: #e6fffc;
  border-radius: 12px;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  color: #0d6e5f;
}
.ic-service-icon svg { width: 24px; height: 24px; }
.ic-service-h3 { font-size: 18px; font-weight: 700; color: #111827; margin: 0 0 8px; }
.ic-service-desc { font-size: 13.5px; color: #6b7280; margin: 0 0 14px; line-height: 1.55; }
.ic-service-list { list-style: none; padding: 0; margin: 0 0 16px; }
.ic-service-list li { font-size: 13px; color: #374151; padding: 4px 0; padding-left: 22px; position: relative; }
.ic-service-list li::before { content: '✓'; position: absolute; left: 0; color: #0d6e5f; font-weight: 700; }
.ic-tech-badges { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 14px; border-top: 1px solid #f3f4f6; }
.ic-tech-badge { background: #f7f8fa; border: 1px solid #e5e7eb; padding: 4px 10px; border-radius: 6px; font-size: 11px; font-weight: 600; color: #374151; }

/* ========== PROCESS ========== */
.ic-process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ic-process-step { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 22px; }
.ic-process-num {
  display: flex !important;
  width: 32px;
  height: 32px;
  background: #5cffe6;
  color: #111827;
  border-radius: 8px;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 12px;
}
.ic-process-h3 { font-size: 15px; font-weight: 700; color: #111827; margin: 0 0 4px; }
.ic-process-time { font-size: 11px; font-weight: 700; color: #0d6e5f; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 8px; }
.ic-process-desc { font-size: 12.5px; color: #6b7280; margin: 0; line-height: 1.5; }

/* ========== PRICING ========== */
.ic-pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: start; }
.ic-pricing-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  position: relative;
}
.ic-pricing-card--featured {
  background: linear-gradient(135deg, #111827, #1f2937);
  color: #fff !important;
  border-color: #111827;
  transform: scale(1.02);
  box-shadow: 0 10px 30px rgba(17,24,39,0.15);
}
.ic-pricing-card--featured::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 16px;
  background: radial-gradient(circle at 80% 20%, rgba(92,255,230,0.15) 0%, transparent 50%);
  pointer-events: none;
}
.ic-pricing-badge {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: #5cffe6;
  color: #111827;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  z-index: 2;
}
.ic-pricing-tag {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #0d6e5f;
  margin: 0 0 6px;
  position: relative;
  z-index: 1;
}
.ic-pricing-card--featured .ic-pricing-tag { color: #5cffe6; }
.ic-pricing-name { font-size: 22px; font-weight: 700; color: #111827; margin: 0 0 6px; position: relative; z-index: 1; }
.ic-pricing-card--featured .ic-pricing-name { color: #fff; }
.ic-pricing-blurb { font-size: 13px; color: #6b7280; margin: 0 0 20px; line-height: 1.5; position: relative; z-index: 1; }
.ic-pricing-card--featured .ic-pricing-blurb { color: rgba(255,255,255,0.7); }
.ic-pricing-price { margin: 0 0 20px; position: relative; z-index: 1; }
.ic-pricing-price-num { font-size: 32px; font-weight: 700; color: #111827; line-height: 1; }
.ic-pricing-card--featured .ic-pricing-price-num { color: #fff; }
.ic-pricing-price-suffix { font-size: 13px; color: #6b7280; font-weight: 500; margin-left: 4px; }
.ic-pricing-card--featured .ic-pricing-price-suffix { color: rgba(255,255,255,0.6); }
.ic-pricing-price-note { display: block; font-size: 12px; color: #9ca3af; margin-top: 4px; }
.ic-pricing-card--featured .ic-pricing-price-note { color: rgba(255,255,255,0.5); }
.ic-pricing-list { list-style: none; padding: 0; margin: 0 0 24px; position: relative; z-index: 1; }
.ic-pricing-list li { font-size: 13px; color: #374151; padding: 6px 0; padding-left: 22px; position: relative; }
.ic-pricing-card--featured .ic-pricing-list li { color: rgba(255,255,255,0.85); }
.ic-pricing-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #0d6e5f;
  font-weight: 700;
}
.ic-pricing-card--featured .ic-pricing-list li::before { color: #5cffe6; }
.ic-pricing-cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 18px;
  background: #fff;
  border: 1px solid #e5e7eb;
  color: #111827;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
  position: relative;
  z-index: 1;
}
.ic-pricing-cta:hover { border-color: #5cffe6; background: #e6fffc; color: #0d6e5f; }
.ic-pricing-card--featured .ic-pricing-cta { background: #5cffe6; color: #111827; border-color: #5cffe6; }
.ic-pricing-card--featured .ic-pricing-cta:hover { background: #80fff0; }

/* Workshop hour packs */
.ic-workshop-packs {
  position: relative;
  z-index: 1;
  margin-bottom: 16px;
}
.ic-workshop-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9ca3af;
  margin: 0 0 10px;
}
.ic-workshop-form { margin: 0 0 8px; }
.ic-workshop-buy {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding: 11px 16px;
  background: #f7f8fa;
  border: 1px solid #e5e7eb;
  border-radius: 9px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.ic-workshop-buy:hover {
  border-color: #5cffe6;
  background: #e6fffc;
  color: #0d6e5f;
}
.ic-workshop-buy-price {
  font-weight: 700;
  color: #0d6e5f;
}
.ic-workshop-note {
  font-size: 11px;
  color: #9ca3af;
  margin: 0 0 18px;
  text-align: center;
  position: relative;
  z-index: 1;
}

/* ========== FOUNDER ========== */
.ic-founder-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 50px;
  align-items: center;
}
.ic-founder-h2 { font-size: 28px; font-weight: 700; color: #fff !important; margin: 0 0 14px; line-height: 1.2; }
.ic-section--dark .ic-founder-h2 { color: #fff !important; }

/* Founder bio — force every descendant light against the dark bg.
   Spotlight's <p> color rules otherwise win the cascade and render text dark. */
.ic-founder-bio,
.ic-founder-bio *,
.ic-founder-bio p,
.ic-founder-bio span,
.ic-section--dark .ic-founder-bio,
.ic-section--dark .ic-founder-bio * { color: rgba(255,255,255,0.85) !important; }
.ic-founder-bio { font-size: 14.5px; line-height: 1.65; margin: 0 0 22px; }
.ic-founder-bio p { margin: 0 0 12px; }

.ic-founder-creds {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
  margin-bottom: 22px;
  max-width: 500px;
}
.ic-founder-cred { font-size: 11px; }
.ic-founder-cred,
.ic-founder-cred span,
.ic-section--dark .ic-founder-cred,
.ic-section--dark .ic-founder-cred span { color: rgba(255,255,255,0.7) !important; }
.ic-founder-cred strong,
.ic-section--dark .ic-founder-cred strong { display: block; font-size: 18px; color: #5cffe6 !important; font-weight: 700; margin-bottom: 2px; }
.ic-founder-links { display: flex; gap: 10px; flex-wrap: wrap; }
.ic-founder-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  transition: all 0.15s;
}
.ic-founder-link:hover { border-color: #5cffe6; color: #5cffe6; }
.ic-founder-link svg { width: 14px; height: 14px; }
.ic-founder-photo {
  display: block !important;
  width: 320px;
  aspect-ratio: 1/1.05;
  border-radius: 16px;
  background-color: #1f2937;
  background-size: cover;
  background-position: center;
}

/* ========== TESTIMONIALS ========== */
.ic-test-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ic-test-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 26px; }
.ic-test-stars { color: #f59e0b; font-size: 14px; letter-spacing: -1px; margin-bottom: 12px; }
.ic-test-quote { font-size: 14px; color: #374151; margin: 0 0 18px; line-height: 1.6; }
.ic-test-author { display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid #f3f4f6; }
.ic-test-avatar {
  display: flex !important;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #5cffe6, #0d6e5f);
  align-items: center;
  justify-content: center;
  color: #111827;
  font-weight: 700;
  font-size: 14px;
}
.ic-test-name { font-size: 13px; font-weight: 700; color: #111827; margin: 0; }
.ic-test-co { font-size: 12px; color: #6b7280; margin: 0; }

/* ========== FAQ ========== */
.ic-faq-grid { max-width: 800px; margin: 0 auto; }
.ic-faq-item { background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; margin-bottom: 10px; overflow: hidden; }
.ic-faq-q {
  padding: 18px 22px;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
  list-style: none;
}
.ic-faq-q::-webkit-details-marker { display: none; }
.ic-faq-q::after { content: '+'; font-size: 20px; color: #6b7280; }
.ic-faq-item[open] .ic-faq-q::after { content: '−'; }
.ic-faq-a { padding: 0 22px 18px; font-size: 13.5px; color: #374151; line-height: 1.6; }
.ic-faq-a a { color: #0d6e5f; font-weight: 600; }

/* ========== FINAL CTA ========== */
.ic-final-wrap { max-width: 1180px; margin: 0 auto; padding: 60px 40px 80px; }
.ic-final {
  background: linear-gradient(135deg, #0d6e5f 0%, #111827 100%);
  border-radius: 20px;
  padding: 56px 48px;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.ic-final::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 50%, rgba(92,255,230,0.2) 0%, transparent 50%);
  pointer-events: none;
}
.ic-final-inner { position: relative; z-index: 1; }
.ic-final-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #5cffe6; margin: 0 0 12px; }
.ic-final-title { font-size: 32px; font-weight: 700; margin: 0 0 12px; color: #fff; }
.ic-final-sub { font-size: 14px; color: rgba(255,255,255,0.7); margin: 0 auto 28px; max-width: 580px; }

/* ========== RESPONSIVE ========== */
@media (max-width: 900px) {
  .ic-hero { padding: 140px 20px 60px; }
  .ic-hero-title { font-size: 32px; }
  .ic-hero-sub { font-size: 14px; }
  .ic-section, .ic-section--gray, .ic-section--dark { padding: 60px 20px; }
  .ic-h2 { font-size: 26px; }
  .ic-case-grid { grid-template-columns: 1fr; }
  .ic-services-grid { grid-template-columns: 1fr; }
  .ic-process-grid { grid-template-columns: repeat(2, 1fr); }
  .ic-pricing-grid { grid-template-columns: 1fr; }
  .ic-pricing-card--featured { transform: none; }
  .ic-founder-grid { grid-template-columns: 1fr; gap: 32px; text-align: left; }
  .ic-founder-photo { width: 100%; max-width: 280px; margin: 0 auto; }
  .ic-test-grid { grid-template-columns: 1fr; }
  .ic-final { padding: 36px 24px; border-radius: 14px; }
  .ic-final-title { font-size: 24px; }
}
@media (max-width: 540px) {
  .ic-hero { padding: 120px 16px 50px; }
  .ic-hero-title { font-size: 26px; }
  .ic-hero-stat { padding: 4px 12px; border-right: 0; min-width: 40%; }
  .ic-process-grid { grid-template-columns: 1fr; }
}
/* END_SECTION:main-iot-consulting-modern */

/* START_SECTION:main-product-consulting (INDEX:78) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.pc-modern {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  background: #fff;
  color: #374151;
  line-height: 1.6;
}

/* ========== HERO ========== */
.pc-hero {
  background: linear-gradient(135deg, #0d4e44 0%, #111827 55%, #082826 100%);
  color: #fff;
  padding: 130px 40px 50px;
  position: relative;
  overflow: hidden;
}
.pc-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(92,255,230,0.12) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(92,255,230,0.10) 0%, transparent 40%);
  pointer-events: none;
}
.pc-hero-inner { position: relative; z-index: 1; max-width: 1180px; margin: 0 auto; }

.pc-breadcrumb {
  font-size: 12px;
  color: rgba(255,255,255,0.65);
  margin-bottom: 24px;
}
.pc-breadcrumb a {
  color: #5cffe6;
  text-decoration: none;
}
.pc-breadcrumb a:hover { text-decoration: underline; }

.pc-hero-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 50px;
  align-items: start;
}

.pc-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(92,255,230,0.12);
  border: 1px solid rgba(92,255,230,0.3);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: #5cffe6;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.pc-pill svg { width: 12px; height: 12px; }

.pc-h1 {
  font-size: 38px;
  font-weight: 700;
  margin: 0 0 16px;
  line-height: 1.15;
  letter-spacing: -0.015em;
}
.pc-modern h1.pc-h1,
.pc-hero .pc-h1,
.pc-hero .pc-h1 * { color: #ffffff !important; }

.pc-sub {
  font-size: 15px;
  color: rgba(255,255,255,0.78);
  margin: 0 0 28px;
  line-height: 1.6;
  max-width: 580px;
}

.pc-hero-stats {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  background: rgba(255,255,255,0.06);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  padding: 12px 4px;
  flex-wrap: wrap;
}
.pc-stat {
  padding: 4px 22px;
  border-right: 1px solid rgba(255,255,255,0.12);
  text-align: left;
}
.pc-stat:last-child { border-right: 0; }
.pc-stat-num {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}
.pc-star { color: #f59e0b; }
.pc-stat-label {
  font-size: 10px;
  color: rgba(255,255,255,0.6);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}

/* ========== BUY PANEL ========== */
.pc-buy-panel {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  color: #374151;
  box-shadow: 0 20px 50px rgba(17,24,39,0.25);
  position: relative;
}

.pc-buy-hours {
  display: flex !important;
  align-items: center;
  gap: 14px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 18px;
}
.pc-buy-hours-num {
  font-size: 44px;
  font-weight: 700;
  color: #0d6e5f;
  line-height: 1;
}
.pc-buy-hours-label {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.3;
}

.pc-buy-price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}
.pc-buy-price-now {
  font-size: 32px;
  font-weight: 700;
  color: #111827;
}
.pc-buy-price-orig {
  font-size: 17px;
  color: #9ca3af;
  text-decoration: line-through;
  font-weight: 500;
}
.pc-buy-price-save {
  background: #e6fffc;
  color: #0d6e5f;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 5px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.pc-buy-form { margin: 0 0 18px; }

/* Suppress Shopify Delivery Promise + any shipping estimator widgets that
   auto-inject into product forms — irrelevant for digital consulting hours. */
.pc-buy-form delivery-promise-wc,
.pc-buy-panel delivery-promise-wc,
.pc-buy-form [is^="shop-pay-shipping"],
.pc-buy-panel [class*="shipping-estimator"],
.pc-buy-panel [class*="shipping-option"],
.pc-buy-panel [class*="delivery-promise"],
.pc-buy-panel shopify-shipping-estimator { display: none !important; }

.pc-buy-btn {
  display: block;
  width: 100%;
  padding: 16px 20px;
  background: #111827;
  color: #5cffe6 !important;
  border: 1px solid #111827;
  border-radius: 10px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s, transform 0.15s;
  margin-bottom: 10px;
}
.pc-buy-btn:hover { background: #000; transform: translateY(-1px); }
.pc-buy-btn:disabled { background: #9ca3af; border-color: #9ca3af; cursor: not-allowed; }

/* Express checkout buttons (Shopify renders these) */
.pc-buy-form .shopify-payment-button {
  margin-top: 8px;
}

.pc-buy-perks {
  list-style: none;
  padding: 0;
  margin: 4px 0 0;
}
.pc-buy-perks li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12.5px;
  color: #374151;
  padding: 5px 0;
  line-height: 1.45;
}
.pc-buy-perks li svg {
  width: 14px;
  height: 14px;
  color: #0d6e5f;
  flex-shrink: 0;
  margin-top: 2px;
}

/* ========== BODY ========== */
.pc-body-wrap {
  padding: 60px 40px 80px;
}
.pc-body-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 50px;
  align-items: start;
}
.pc-article {
  font-size: 15.5px;
  color: #1f2937;
  line-height: 1.75;
  min-width: 0;
}
.pc-article > p { margin: 0 0 16px; }
.pc-article h2,
.pc-h2 {
  font-size: 24px;
  font-weight: 700;
  color: #111827;
  margin: 36px 0 14px;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.pc-eyebrow {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9ca3af;
  margin: 0 0 8px;
}
.pc-article ul, .pc-article ol {
  padding-left: 22px;
  margin: 0 0 16px;
}
.pc-article ul li, .pc-article ol li {
  margin-bottom: 8px;
  line-height: 1.6;
}
.pc-article a {
  color: #0d6e5f;
  font-weight: 600;
}
.pc-article strong { color: #111827; }

/* ========== HOW IT WORKS ========== */
.pc-how-block { margin-top: 44px; }
.pc-how-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 20px;
}
.pc-how-step {
  background: #f7f8fa;
  border-radius: 12px;
  padding: 22px;
}
.pc-how-num {
  display: flex !important;
  width: 32px;
  height: 32px;
  background: #5cffe6;
  color: #111827;
  border-radius: 8px;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 12px;
}
.pc-how-title {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 6px;
}
.pc-how-desc {
  font-size: 13px;
  color: #6b7280;
  margin: 0;
  line-height: 1.55;
}

/* ========== USE CASES ========== */
.pc-use-block { margin-top: 44px; }
.pc-use-sub {
  font-size: 14px;
  color: #6b7280;
  margin: 0 0 16px;
}
.pc-use-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pc-use-list li {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 8px;
  font-size: 14px;
  color: #374151;
  line-height: 1.5;
}
.pc-use-list li strong { color: #111827; font-weight: 700; }

/* ========== FAQ ========== */
.pc-faq-block { margin-top: 44px; }
.pc-faq-item {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  margin-bottom: 10px;
  overflow: hidden;
}
.pc-faq-q {
  padding: 16px 20px;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
  list-style: none;
}
.pc-faq-q::-webkit-details-marker { display: none; }
.pc-faq-q::after { content: '+'; font-size: 20px; color: #6b7280; }
.pc-faq-item[open] .pc-faq-q::after { content: '−'; }
.pc-faq-a {
  padding: 0 20px 18px;
  font-size: 13.5px;
  color: #374151;
  line-height: 1.6;
}
.pc-faq-a a { color: #0d6e5f; font-weight: 600; }

/* ========== SIDE CARDS ========== */
.pc-side {
  position: sticky;
  top: 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.pc-side-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
}
.pc-side-card--author {
  background: #111827;
  border-color: #111827;
  color: #fff;
}
.pc-side-card--cta {
  background: #e6fffc;
  border-color: #b9f7eb;
}

.pc-side-author {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}
.pc-side-photo {
  display: block !important;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #1f2937;
  background-size: cover;
  background-position: center;
}
.pc-side-name {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin: 0;
}
.pc-side-role {
  font-size: 11px;
  color: rgba(255,255,255,0.6);
  margin: 0;
}
.pc-side-card--author .pc-side-desc {
  font-size: 12.5px;
  color: rgba(255,255,255,0.75);
  margin: 0 0 14px;
  line-height: 1.5;
}
.pc-side-links {
  display: flex;
  gap: 8px;
}
.pc-side-links a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 7px;
  font-size: 11px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  transition: all 0.15s;
}
.pc-side-links a:hover { border-color: #5cffe6; color: #5cffe6; }
.pc-side-links a svg { width: 12px; height: 12px; }

.pc-side-eyebrow {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #9ca3af;
  margin: 0 0 10px;
}
.pc-side-pack {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid #f3f4f6;
  text-decoration: none;
  color: inherit;
  font-size: 13px;
}
.pc-side-pack:last-child { border-bottom: 0; padding-bottom: 0; }
.pc-side-pack:hover .pc-side-pack-title { color: #0d6e5f; }
.pc-side-pack-title { color: #111827; font-weight: 600; }
.pc-side-pack-price { color: #0d6e5f; font-weight: 700; }

.pc-side-cta-eyebrow {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #0d6e5f;
  margin: 0 0 6px;
}
.pc-side-cta-title {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 8px;
  line-height: 1.35;
}
.pc-side-cta-desc {
  font-size: 12px;
  color: #374151;
  margin: 0 0 12px;
  line-height: 1.5;
}
.pc-side-cta-link {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  color: #0d6e5f;
  text-decoration: none;
}
.pc-side-cta-link:hover { text-decoration: underline; }

/* ========== RESPONSIVE ========== */
@media (max-width: 960px) {
  .pc-hero { padding: 110px 24px 40px; }
  .pc-hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .pc-buy-panel { order: -1; }
  .pc-h1 { font-size: 30px; }
  .pc-body-wrap { padding: 40px 24px 60px; }
  .pc-body-grid { grid-template-columns: 1fr; gap: 32px; }
  .pc-side { position: static; }
  .pc-how-grid { grid-template-columns: 1fr; }
  .pc-h2 { font-size: 20px; }
}
@media (max-width: 540px) {
  .pc-hero { padding: 100px 16px 32px; }
  .pc-h1 { font-size: 24px; }
  .pc-buy-panel { padding: 22px; }
  .pc-buy-hours-num { font-size: 36px; }
  .pc-buy-price-now { font-size: 26px; }
}
/* END_SECTION:main-product-consulting */

/* START_SECTION:main-product-modern (INDEX:79) */
/* Poppins font — loaded inline in the section since section files can't add
   <link> tags to <head>. Without this, the page falls back to system-ui and
   loses the geometric/crisp feel of the original mockup. */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.product-modern{
  /* Brand variables — scoped to this section so we don't fight the theme's globals */
  --pm-mint: #5cffe6;
  --pm-mint-soft: #e6fffc;
  --pm-mint-text: #0d6e5f;
  --pm-ink: #111827;
  --pm-body: #374151;
  --pm-muted: #6b7280;
  --pm-light-muted: #9ca3af;
  --pm-bg: #f7f8fa;
  --pm-border: #e5e7eb;
  --pm-gold: #b45309;
  --pm-green: #15803d;

  /* Spotlight theme renders <header> as position:absolute with z-index:999 and
     ~148px height. Without this top spacing, the breadcrumbs and H1 sit BEHIND
     the header. Matches the existing main-product template's `margin-top: 111px`
     pattern with extra room for the announcement-bar variant. */
  --pm-header-clearance: 150px;

  font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--pm-body);
  line-height: 1.55;
  max-width: 1280px;
  margin: var(--pm-header-clearance) auto 0;
  padding: 24px 24px 64px;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 768px){
  .product-modern{
    --pm-header-clearance: 100px;
    padding: 16px;
  }
}

.product-modern *,
.product-modern *::before,
.product-modern *::after { box-sizing: border-box }

.product-modern a { color: inherit; text-decoration: none }
.product-modern img { max-width: 100%; display: block }

.product-modern :focus { outline: none }
.product-modern :focus-visible {
  outline: 2px solid var(--pm-mint);
  outline-offset: 2px;
  border-radius: 6px;
}

.pm-sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* Breadcrumbs */
.pm-crumbs{
  font-size:12px;color:var(--pm-muted);
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  margin:8px 0 22px;
}
.pm-crumbs a:hover{color:var(--pm-ink)}
.pm-crumbs .sep{color:var(--pm-light-muted)}
.pm-crumbs .current{color:var(--pm-ink);font-weight:500}

/* Buy area */
.pm-buy-area{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:48px;align-items:start;
}
@media (max-width: 880px){
  .pm-buy-area{ grid-template-columns:1fr; gap:24px }
}

/* Gallery — desktop: thumbs absolutely positioned in a left column, scrollable
   when there are many thumbs (so the column never exceeds the main image's
   height). Mobile: stack with thumbs below the main image as a horizontal strip. */
.pm-gallery{
  position:relative;
}
@media (min-width: 881px){
  .pm-gallery{
    position:sticky;top:96px;align-self:start;
    padding-left:74px; /* 64px thumb column + 10px gap */
  }
}
/* Single-image products: no thumb column, no left padding */
.pm-gallery--single{padding-left:0 !important}
.pm-gallery--single .pm-thumbs{display:none}

.pm-thumbs{display:flex;flex-direction:column;gap:8px}
@media (min-width: 881px){
  .pm-thumbs{
    position:absolute;
    top:0;left:0;bottom:0;
    width:64px;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-width:thin;
    scrollbar-color:var(--pm-border) transparent;
    /* Subtle fade at top/bottom hints there's more to scroll */
    mask-image:linear-gradient(to bottom, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
    -webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
    padding:6px 4px;
  }
  .pm-thumbs::-webkit-scrollbar{width:4px}
  .pm-thumbs::-webkit-scrollbar-track{background:transparent}
  .pm-thumbs::-webkit-scrollbar-thumb{background:var(--pm-border);border-radius:2px}
  .pm-thumbs:hover::-webkit-scrollbar-thumb{background:var(--pm-light-muted)}
}
.pm-thumb{
  aspect-ratio:1/1;width:64px;
  flex:0 0 64px;
  background:#fff;
  border:1px solid var(--pm-border);
  border-radius:10px;
  overflow:hidden;cursor:pointer;padding:0;
  transition:border-color .15s,transform .15s,box-shadow .15s;
}
.pm-thumb img{width:100%;height:100%;object-fit:contain;padding:5px}
.pm-thumb:hover{border-color:var(--pm-mint)}
.pm-thumb.active{border-color:var(--pm-mint);box-shadow:0 0 0 2px var(--pm-mint-soft)}
.pm-main-image{
  background:#fff;
  border:1px solid var(--pm-border);
  border-radius:14px;
  aspect-ratio:1/1;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.pm-main-image img{width:100%;height:100%;object-fit:contain;padding:6px;transition:transform .35s ease}
.pm-main-image:hover img{transform:scale(1.03)}
.pm-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--pm-light-muted)}

@media (max-width: 880px){
  .pm-gallery{
    display:flex;flex-direction:column;gap:10px;
    position:static;padding-left:0;
  }
  .pm-thumbs{
    flex-direction:row;flex-wrap:wrap;
    order:2;position:static;width:auto;
    overflow:visible;mask-image:none;-webkit-mask-image:none;padding:0;
  }
  .pm-main-image{order:1}
  .pm-main-image img{padding:10px}
  .pm-thumb{width:auto;flex:0 0 calc(20% - 8px)}
}

/* Buy info */
.pm-h1{
  font-size:32px;line-height:1.2;font-weight:700;color:var(--pm-ink);
  margin:0 0 8px;letter-spacing:-.02em;
}
@media (max-width: 768px){
  .pm-h1{font-size:28px;line-height:1.22;letter-spacing:-.015em}
}
.pm-sku{
  font-size:12px;color:var(--pm-muted);margin:0 0 12px;
  font-feature-settings:'tnum';
}
.pm-sku strong{color:var(--pm-ink);font-weight:500;letter-spacing:.01em}

.pm-rating-row{margin:0 0 12px;min-height:0}
.pm-rating-row:empty{display:none}
.pm-rating-row .jdgm-widget{font-size:14px}
.pm-rating-row .jdgm-prev-badge{margin:0 !important}

.pm-price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;margin-bottom:14px}
.pm-price{font-size:32px;font-weight:700;color:var(--pm-ink);line-height:1;letter-spacing:-.01em}
.pm-price--sale{color:#b91c1c}
.pm-compare-at{font-size:18px;color:var(--pm-muted);text-decoration:line-through}
.pm-tax-note{font-size:12px;color:var(--pm-muted)}
.pm-tax-note a{color:var(--pm-muted);text-decoration:underline;text-decoration-color:var(--pm-light-muted)}
.pm-tax-note a:hover{color:var(--pm-ink);text-decoration-color:var(--pm-ink)}

.pm-stock-row{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:13px;margin:0 0 18px;
}
.pm-stock-pip{
  width:8px;height:8px;border-radius:50%;
  background:var(--pm-green);
  box-shadow:0 0 0 3px rgba(21,128,61,.15);
  flex:0 0 auto;
}
.pm-stock-pip--out{background:#9ca3af;box-shadow:0 0 0 3px rgba(156,163,175,.15)}
.pm-in-stock{color:var(--pm-green);font-weight:600}
.pm-out-of-stock{color:#9ca3af;font-weight:600}
.pm-ship-note{color:var(--pm-muted)}
.pm-ship-note strong{color:var(--pm-ink);font-weight:600}

.pm-blurb{
  font-size:14px;color:var(--pm-body);
  margin:0 0 24px;
  padding-bottom:24px;
  border-bottom:1px solid var(--pm-border);
}

.pm-variants{margin:0 0 18px;display:flex;flex-direction:column;gap:12px}
.pm-variant-option{display:flex;flex-direction:column;gap:6px}
.pm-variant-label{font-size:13px;font-weight:600;color:var(--pm-ink)}
.pm-variant-select{
  height:44px;border-radius:10px;border:1px solid var(--pm-border);
  background:#fff;font-family:inherit;font-size:14px;color:var(--pm-ink);
  padding:0 12px;cursor:pointer;
}
.pm-variant-select:focus{border-color:var(--pm-mint);outline:none;box-shadow:0 0 0 2px var(--pm-mint-soft)}

.pm-form{display:contents}
/* Manual feature card — sits at top of Documents tab when manual_article_id
   metafield is set. Renders nothing when missing (controlled by Liquid). */
.pm-manual-card{
  display:flex;align-items:center;gap:18px;
  padding:18px 22px;
  border:1px solid var(--pm-border);
  border-radius:14px;
  background:linear-gradient(135deg, #fff 0%, var(--pm-mint-soft) 220%);
  text-decoration:none;
  margin:0 0 20px;
  max-width:780px;
  transition:border-color .15s, transform .15s, box-shadow .15s;
}
.pm-manual-card:hover{
  border-color:var(--pm-mint);
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(92,255,230,.15);
}
.pm-manual-ic{
  flex:0 0 52px;height:52px;border-radius:11px;
  background:var(--pm-ink);color:var(--pm-mint);
  display:flex;align-items:center;justify-content:center;
}
.pm-manual-ic svg{width:24px;height:24px}
.pm-manual-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.pm-manual-eyebrow{
  font-size:10.5px;font-weight:700;color:var(--pm-mint-text);
  text-transform:uppercase;letter-spacing:.08em;
}
.pm-manual-title{
  font-size:15px;font-weight:700;color:var(--pm-ink);
  letter-spacing:-.005em;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.pm-manual-desc{font-size:12.5px;color:var(--pm-muted);line-height:1.45;margin-top:2px}
.pm-manual-arrow{
  flex:0 0 22px;font-size:18px;font-weight:700;color:var(--pm-ink);
  align-self:center;
}

/* Bulk pricing — compact static table with hover tooltip and collection link.
   All classes scoped under .pm-bulk- to avoid collisions.
   NB: no overflow:hidden on the block — that would clip the tooltip popup.
   Inner head + link get matching rounded corners instead. */
.pm-bulk-block{
  border:1px solid var(--pm-border);
  border-radius:10px;
  background:#fff;
  margin:0 0 14px;
}
.pm-bulk-head{
  padding:8px 12px;
  background:var(--pm-bg);
  border-bottom:1px solid var(--pm-border);
  border-radius:9px 9px 0 0;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:8px;
}
.pm-bulk-head-left{display:flex;align-items:center;gap:8px}
.pm-bulk-icon{
  width:22px;height:22px;border-radius:6px;
  background:var(--pm-mint-soft);color:var(--pm-mint-text);
  display:flex;align-items:center;justify-content:center;flex:0 0 22px;
}
.pm-bulk-icon svg{width:12px;height:12px}
.pm-bulk-h{
  font-size:12.5px;font-weight:700;color:var(--pm-ink);
  margin:0;letter-spacing:-.005em;line-height:1.2;
}
.pm-bulk-info{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;color:var(--pm-light-muted);
  cursor:help;border-radius:50%;
}
.pm-bulk-info:hover, .pm-bulk-info:focus-visible{
  color:var(--pm-mint-text);outline:none;background:var(--pm-mint-soft);
}
.pm-bulk-info svg{width:14px;height:14px}
.pm-bulk-tip{
  position:absolute;
  bottom:calc(100% + 8px);left:50%;
  transform:translateX(-50%);
  background:var(--pm-ink);color:#fff;
  font-size:11px;font-weight:400;line-height:1.45;
  padding:9px 11px;border-radius:7px;
  width:240px;text-align:left;
  pointer-events:none;
  opacity:0;visibility:hidden;
  transition:opacity .15s, visibility .15s;
  z-index:10;
}
.pm-bulk-tip::after{
  content:'';position:absolute;top:100%;left:50%;
  transform:translateX(-50%);
  border:5px solid transparent;border-top-color:var(--pm-ink);
}
.pm-bulk-info:hover .pm-bulk-tip,
.pm-bulk-info:focus-visible .pm-bulk-tip,
.pm-bulk-info:focus .pm-bulk-tip{opacity:1;visibility:visible}
.pm-bulk-auto{
  font-size:10.5px;font-weight:500;color:var(--pm-muted);
  display:inline-flex;align-items:center;gap:5px;
  white-space:nowrap;
}
.pm-bulk-auto svg{width:11px;height:11px;color:var(--pm-green)}
.pm-bulk-table{width:100%;border-collapse:collapse}
.pm-bulk-table td{
  padding:8px 12px;
  text-align:left;font-size:12.5px;
  border-bottom:1px solid var(--pm-border);
  font-feature-settings:'tnum';
}
.pm-bulk-table tr:last-child td{border-bottom:0}
.pm-bulk-cell-right{text-align:right}
.pm-bulk-qty{font-weight:600;color:var(--pm-ink);width:28%;white-space:nowrap}
.pm-bulk-price{font-weight:600;color:var(--pm-ink)}
.pm-bulk-pill{
  display:inline-block;
  background:var(--pm-mint-soft);
  color:var(--pm-mint-text);
  padding:1px 8px;border-radius:999px;
  font-size:10.5px;font-weight:600;
}
.pm-bulk-link{
  display:block;text-align:right;
  padding:6px 12px;
  font-size:10.5px;font-weight:500;
  color:var(--pm-mint-text);
  background:#fff;
  border-top:1px solid var(--pm-border);
  border-radius:0 0 9px 9px;
  text-decoration:none;
  transition:color .15s, background .15s;
}
.pm-bulk-link:hover{color:var(--pm-ink);background:var(--pm-bg)}

.pm-qty-cart-row{display:flex;gap:10px;margin-bottom:8px;align-items:stretch}
.pm-qty{
  flex:0 0 auto;
  display:flex;align-items:center;
  border:1px solid var(--pm-border);border-radius:10px;
  overflow:hidden;background:#fff;
  transition:border-color .15s, box-shadow .15s;
}
.pm-qty:focus-within{border-color:var(--pm-mint);box-shadow:0 0 0 2px var(--pm-mint-soft)}
.pm-qty-btn{
  width:38px;height:48px;background:#fff;border:0;cursor:pointer;
  font-size:18px;color:var(--pm-muted);font-family:inherit;
}
.pm-qty-btn:hover{color:var(--pm-ink);background:var(--pm-bg)}
.pm-qty-input{
  width:42px;height:48px;text-align:center;border:0;
  font-family:inherit;font-size:14px;font-weight:600;color:var(--pm-ink);
  -moz-appearance:textfield;background:transparent;
}
.pm-qty-input::-webkit-outer-spin-button,
.pm-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.pm-btn-cart{
  flex:1 1 auto;
  height:48px;border-radius:10px;cursor:pointer;
  font-family:inherit;font-weight:600;font-size:14px;letter-spacing:.005em;
  background:var(--pm-ink);color:var(--pm-mint);
  border:1px solid var(--pm-ink);
  transition:transform .12s,box-shadow .15s,background .15s;
}
.pm-btn-cart:hover:not([disabled]){
  background:#000;
  box-shadow:0 4px 16px rgba(17,24,39,.18);
  transform:translateY(-1px);
}
.pm-btn-cart[disabled]{
  background:var(--pm-bg);color:var(--pm-muted);
  border-color:var(--pm-border);cursor:not-allowed;
}

/* Shopify dynamic checkout payment_button — give it consistent spacing/radius
   and hide the "More payment options" link (matches existing Spotlight buy_buttons). */
.product-modern .shopify-payment-button{margin-top:10px}
.product-modern .shopify-payment-button__button{
  border-radius:10px !important;
  height:48px !important;
}
.product-modern .shopify-payment-button__more-options,
.product-modern .shopify-payment-button [role="button"][type="button"]:not(.shopify-payment-button__button){
  display:none !important;
}

/* Shop Pay installments banner ("Pay over time for orders over $X with Shop Pay") */
.product-modern shopify-payment-terms{
  display:block;
  margin-top:10px;
  font-size:13px;
  color:var(--pm-body);
}

/* App blocks (Judge.me AI summary, Klaviyo, etc.) — rendered after buy buttons */
.pm-app-blocks{
  display:flex;flex-direction:column;gap:10px;
  margin-top:14px;
}
.pm-app-block:empty{display:none}

/* Trust strip — UA <ul> padding reset is critical here */
.pm-trust-strip{
  list-style:none; padding:0; margin:20px 0 0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
.pm-trust-item{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;
  background:#fff;
  border:1px solid var(--pm-border);
  border-radius:12px;
}
.pm-trust-icon{
  flex:0 0 32px;height:32px;border-radius:8px;
  background:var(--pm-mint-soft);color:var(--pm-mint-text);
  display:flex;align-items:center;justify-content:center;
}
.pm-trust-icon svg{width:18px;height:18px;stroke-width:2}
.pm-trust-text{display:flex;flex-direction:column;gap:1px;line-height:1.25;min-width:0}
.pm-trust-text strong{font-size:12px;font-weight:600;color:var(--pm-ink)}
.pm-trust-text span{font-size:11px;color:var(--pm-muted)}

@media (max-width: 520px){
  .pm-trust-strip{gap:6px}
  .pm-trust-item{
    flex-direction:column;align-items:center;text-align:center;
    gap:6px;padding:10px 6px;
  }
  .pm-trust-icon{flex:0 0 28px;width:28px;height:28px;border-radius:7px}
  .pm-trust-icon svg{width:16px;height:16px}
  .pm-trust-text strong{font-size:10.5px;line-height:1.3;letter-spacing:-.005em}
  .pm-trust-text span{font-size:9.5px;line-height:1.3}
}

/* Tabs */
.pm-tabs-wrap{
  position:sticky;top:0;z-index:10;
  margin:64px 0 0;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px);
  -webkit-backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--pm-border);
}
.pm-tabs-wrap::after{
  content:'';position:absolute;top:0;right:0;bottom:1px;width:32px;
  background:linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,.95));
  pointer-events:none;opacity:0;transition:opacity .2s;
}
.pm-tabs-wrap.is-scrollable::after{opacity:1}
.pm-tabs{
  display:flex;justify-content:center;gap:8px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.pm-tabs::-webkit-scrollbar{display:none}
.pm-tab{
  background:transparent;border:0;cursor:pointer;
  font-family:inherit;font-size:14px;font-weight:500;
  color:var(--pm-muted);
  padding:18px 22px 15px;
  border-bottom:3px solid transparent;
  white-space:nowrap;
  text-decoration:none;
  transition:color .15s, border-color .15s;
  position:relative;
}
.pm-tab::before{
  content:attr(data-label);
  display:block;
  font-weight:600;height:0;visibility:hidden;
  overflow:hidden;pointer-events:none;
}
.pm-tab:hover{color:var(--pm-ink)}
.pm-tab[aria-current="location"]{
  color:var(--pm-ink);font-weight:600;
  border-bottom-color:var(--pm-mint);
}
@media (max-width: 768px){
  .pm-tabs{justify-content:flex-start;padding:0 4px}
  .pm-tab{padding:16px 14px 13px;font-size:13px}
}

/* Content panels */
.pm-content{margin-top:36px;display:flex;flex-direction:column;gap:64px}
.pm-panel{scroll-margin-top:80px}
.pm-section-label{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11px;font-weight:600;color:var(--pm-muted);
  text-transform:uppercase;letter-spacing:.08em;
  margin:0 0 10px;
}
.pm-section-label::before{
  content:'';display:inline-block;
  width:24px;height:2px;background:var(--pm-mint);
  border-radius:2px;
}
.pm-section-h2{
  font-size:26px;font-weight:700;color:var(--pm-ink);
  margin:0 0 18px;letter-spacing:-.015em;line-height:1.2;
}
.pm-rich-text{font-size:16px;color:var(--pm-body);line-height:1.6}
.pm-rich-text p{margin:0 0 12px}
.pm-rich-text p:last-child{margin-bottom:0}
.pm-rich-text strong{color:var(--pm-ink);font-weight:600}
.pm-rich-text a{color:var(--pm-mint-text);text-decoration:underline}
.pm-rich-text a:hover{color:var(--pm-ink)}
.pm-rich-text ul,
.pm-rich-text ol{margin:0 0 14px;padding-left:20px}
.pm-rich-text li{margin-bottom:6px}
.pm-rich-text img{margin:14px 0;border-radius:10px;border:1px solid var(--pm-border)}

/* Features & Specs — restyle the rich_text paragraphs as a feature list with
   mint dots and inter-item dividers (matches the original mockup). Each <p>
   in the metafield becomes one feature row. <strong> renders as a block-level
   title above its description. */
.pm-rich-text--features p{
  position:relative;
  margin:0;
  padding:22px 0 22px 32px;
  border-bottom:1px solid var(--pm-border);
  font-size:15px;
  color:var(--pm-body);
  line-height:1.6;
}
.pm-rich-text--features p:first-child{padding-top:4px}
.pm-rich-text--features p:last-child{border-bottom:0;padding-bottom:4px}
/* Hide rich_text "blank line" paragraphs in all the forms Shopify might emit
   them: empty, br-only, &nbsp;-only. Without this, each blank line in the
   metafield renders as a phantom feature row with a stranded bullet dot. */
.pm-rich-text--features p:empty,
.pm-rich-text--features p:has(> br:only-child){display:none}
.pm-rich-text--features p::before{
  content:'';
  position:absolute;
  left:0;
  top:30px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--pm-mint);
  box-shadow:0 0 0 4px var(--pm-mint-soft);
}
.pm-rich-text--features p:first-child::before{top:12px}
.pm-rich-text--features strong{
  display:block;
  color:var(--pm-ink);
  font-weight:600;
  font-size:17px;
  margin-bottom:6px;
  letter-spacing:-.01em;
  line-height:1.3;
}

/* Documents — every link in the rich_text gets the PDF doc-card treatment.
   Non-link content (paragraphs, etc) renders as normal prose. */
.pm-rich-text--documents{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:flex-start;
}
.pm-rich-text--documents > p{margin:0;flex-basis:100%}
.pm-rich-text--documents a{
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:14px 18px;
  border:1px solid var(--pm-border);
  border-radius:12px;
  background:#fff;
  color:var(--pm-ink);
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  transition:border-color .15s, transform .15s, box-shadow .15s;
}
.pm-rich-text--documents a::before{
  content:'PDF';
  flex:0 0 40px;
  height:40px;
  border-radius:8px;
  background:var(--pm-mint-soft);
  color:var(--pm-mint-text);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
}
.pm-rich-text--documents a:hover{
  border-color:var(--pm-mint);
  transform:translateY(-2px);
  box-shadow:0 4px 16px rgba(92,255,230,.10);
  color:var(--pm-ink);
}

/* Videos — clean 4-up grid on desktop, lite-YouTube pattern (thumbnail + play
   button) so each video renders crisp and consistent. Click swaps in iframe. */
.pm-videos{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:16px;
}
@media (max-width: 1024px){ .pm-videos{grid-template-columns:repeat(3, 1fr)} }
@media (max-width: 720px){ .pm-videos{grid-template-columns:repeat(2, 1fr)} }
@media (max-width: 460px){ .pm-videos{grid-template-columns:1fr} }

.pm-video{
  position:relative;
  aspect-ratio:16/9;
  background:#000;
  border:0;
  border-radius:12px;
  overflow:hidden;
  cursor:pointer;
  padding:0;
  font:inherit;
  display:block;
  transition:transform .15s, box-shadow .15s;
}
.pm-video:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.pm-video__thumb{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  /* Slight scale to crop YouTube's hqdefault 4:3 black bars cleanly */
  transform:scale(1.08);
  transition:transform .25s ease;
}
.pm-video:hover .pm-video__thumb{
  transform:scale(1.12);
}
.pm-video__play{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%, -50%);
  width:64px;
  height:46px;
  pointer-events:none;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));
  transition:transform .15s ease;
}
.pm-video:hover .pm-video__play{
  transform:translate(-50%, -50%) scale(1.08);
}
.pm-video__play svg{width:100%;height:100%;display:block}
/* Once JS swaps an iframe in, hide cursor and play overlay */
.pm-video.is-playing{cursor:default}
.pm-video.is-playing .pm-video__play,
.pm-video.is-playing .pm-video__thumb{display:none}
.pm-video iframe{
  width:100%;height:100%;border:0;display:block;
  position:absolute;inset:0;
}

/* Judge.me reviews — light style overrides for visual fit */
.product-modern .jdgm-rev-widg{font-family:inherit !important}

/* Related Products — inline grid of product cards, mockup-style.
   White card + 1px border, mint border on hover, slight lift, square image. */
.pm-related-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:16px;
}
.pm-related-card{
  display:block;
  border:1px solid var(--pm-border);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  text-decoration:none;
  color:inherit;
  transition:border-color .15s, transform .15s, box-shadow .15s;
}
.pm-related-card:hover{
  border-color:var(--pm-mint);
  transform:translateY(-2px);
  box-shadow:0 4px 16px rgba(92,255,230,.10);
}
.pm-related-card__img{
  aspect-ratio:1/1;
  overflow:hidden;
  background:var(--pm-bg);
}
.pm-related-card__img img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:12px;
  transition:transform .3s;
}
.pm-related-card:hover .pm-related-card__img img{
  transform:scale(1.05);
}
.pm-related-card__info{
  padding:14px 16px 16px;
}
.pm-related-card__rating{
  font-size:12px;
  margin-bottom:6px;
  min-height:18px;
}
.pm-related-card__rating .jdgm-prev-badge{margin:0 !important}
.pm-related-card__title{
  font-size:14px;
  font-weight:600;
  color:var(--pm-ink);
  margin:0 0 6px;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.pm-related-card__price{
  font-size:14px;
  font-weight:600;
  color:var(--pm-ink);
}
/* END_SECTION:main-product-modern */

/* START_SECTION:our-video-tutorials (INDEX:89) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

.vt {
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  padding: 96px 24px;
  background: #fff;
  color: #374151;
}
.vt-wrap { max-width: 1280px; margin: 0 auto; }

/* Header */
.vt-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 44px;
  gap: 24px;
  flex-wrap: wrap;
}
.vt-head-left { flex: 1 1 auto; max-width: 640px; }
.vt-eyebrow {
  display: inline-flex;
  padding: 6px 12px;
  background: #111827;
  color: #fff;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.vt-title {
  font-size: 38px;
  font-weight: 700;
  color: #111827;
  letter-spacing: -0.025em;
  line-height: 1.15;
  margin: 0 0 12px;
}
.vt-subtitle {
  font-size: 16px;
  color: #6b7280;
  line-height: 1.55;
  margin: 0;
  max-width: 560px;
}
.vt-link {
  color: #111827;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-bottom: 2px solid #5cffe6;
  padding-bottom: 2px;
  transition: gap .15s, color .15s;
}
.vt-link:hover { color: #0d6e5f; gap: 8px; }

/* Editorial grid */
.vt-grid {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 24px;
}
.vt-side {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Cards — DARK against light section */
.vt-card {
  display: flex;
  flex-direction: column;
  background: #0f1f2e;
  border: 1px solid #1a2c3e;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.vt-card:hover {
  border-color: #5cffe6;
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(15, 31, 46, 0.18);
}

.vt-thumb {
  aspect-ratio: 16/9;
  background: #000;
  position: relative;
  overflow: hidden;
}
.vt-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.05);
  transition: transform .3s ease;
}
.vt-card:hover .vt-thumb img { transform: scale(1.10); }
.vt-thumb-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1a3a4d 0%, #0a1f2c 100%);
  color: rgba(92, 255, 230, 0.3);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.vt-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
  transition: transform .15s, background .15s;
}
.vt-card:hover .vt-play {
  transform: translate(-50%, -50%) scale(1.1);
  background: #5cffe6;
}
.vt-play svg {
  width: 22px;
  height: 22px;
  margin-left: 3px;
  fill: #0a1f2c;
}

.vt-duration {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: rgba(0, 0, 0, 0.85);
  color: #fff;
  padding: 4px 9px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

/* FEATURED card body */
.vt-featured .vt-body { padding: 22px 26px 26px; }
.vt-featured .vt-card-title {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
  letter-spacing: -0.015em;
  margin: 0 0 10px;
  transition: color .15s;
}
.vt-featured:hover .vt-card-title { color: #5cffe6; }
.vt-featured .vt-card-snippet {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.55;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* SIDE cards — horizontal */
.vt-card:not(.vt-featured) {
  flex-direction: row;
  align-items: stretch;
}
.vt-card:not(.vt-featured) .vt-thumb {
  flex: 0 0 180px;
  aspect-ratio: 16/9;
  border-right: 1px solid #1a2c3e;
}
.vt-card:not(.vt-featured) .vt-thumb .vt-play {
  width: 44px;
  height: 44px;
}
.vt-card:not(.vt-featured) .vt-thumb .vt-play svg {
  width: 16px;
  height: 16px;
}
.vt-card:not(.vt-featured) .vt-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 16px 18px;
  flex: 1;
}
.vt-card:not(.vt-featured) .vt-card-title {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  line-height: 1.35;
  letter-spacing: -0.005em;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .15s;
}
.vt-card:not(.vt-featured):hover .vt-card-title { color: #5cffe6; }

.vt-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.55);
  font-weight: 500;
  margin-bottom: 8px;
}
.vt-card-meta-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
}
.vt-card-meta-cat { color: #5cffe6; font-weight: 600; }

@media (max-width: 900px) {
  .vt { padding: 64px 20px; }
  .vt-grid { grid-template-columns: 1fr; gap: 16px; }
  .vt-card:not(.vt-featured) {
    flex-direction: column;
  }
  .vt-card:not(.vt-featured) .vt-thumb {
    flex: none;
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #1a2c3e;
  }
  .vt-title { font-size: 28px; }
  .vt-featured .vt-card-title { font-size: 18px; }
}
/* END_SECTION:our-video-tutorials */