/* Boomlink unified product UI — 2026 / V4 */
:root {
  --bl-bg: #f5f7fb;
  --bl-surface: #ffffff;
  --bl-text: #111827;
  --bl-muted: #667085;
  --bl-line: #e7eaf0;
  --bl-blue: #2563eb;
  --bl-radius: 20px;
  --bl-radius-sm: 14px;
  --bl-shadow: 0 12px 32px rgba(15, 23, 42, .07);
}

body { background: var(--bl-bg); color: var(--bl-text); }
body .section { margin-top: 24px; margin-bottom: 24px; }
body .section-title { color: var(--bl-text); font-size: clamp(22px, 2.2vw, 30px); letter-spacing: -.035em; }
body .section-subtitle { color: var(--bl-muted); max-width: 720px; }
body .simple-card,
body .form-card,
body .filter-card,
body .dashboard-card { border: 1px solid var(--bl-line); border-radius: var(--bl-radius); box-shadow: none; }

/* Hero system: useful content, restrained colour, no framed screenshots. */
body .pro-module-hero-mockup,
body .edu-video-orb { display: none !important; }

body .food-home-hero,
body .med-home-hero,
body .edu-hero,
body .module-hero,
body .food-app-hero,
body .premium-page-hero {
  position: relative;
  min-height: 0 !important;
  margin: 22px auto 18px;
  padding: clamp(26px, 4vw, 52px) !important;
  overflow: hidden;
  border: 1px solid var(--bl-line) !important;
  border-radius: 26px !important;
  background: #fff !important;
  box-shadow: var(--bl-shadow) !important;
  color: var(--bl-text) !important;
}
body .food-home-hero::before,
body .med-home-hero::before,
body .edu-hero::before,
body .module-hero::before,
body .food-app-hero::before,
body .premium-page-hero::before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -80px;
  top: -120px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--module-accent, #2563eb) 14%, white);
  pointer-events: none;
}
body .food-home-hero { --module-accent: #f97316; }
body .med-home-hero { --module-accent: #ef4444; }
body .edu-hero { --module-accent: #4f46e5; }
body .module-auto { --module-accent: #0891b2; }
body .module-beauty { --module-accent: #db2777; }
body .food-app-hero { --module-accent: #f97316; }
body .premium-page-hero { --module-accent: #2563eb; }

body .food-home-hero-top,
body .med-home-hero-top { display: flex !important; align-items: center; justify-content: space-between; gap: 24px; }
body .food-home-hero-top > div:first-child,
body .med-home-hero-top > div:first-child,
body .pro-module-copy,
body .edu-hero > div:first-child { width: min(100%, 760px); max-width: 760px !important; position: relative; z-index: 1; }
body .food-home-hero h1,
body .med-home-hero h1,
body .edu-hero h1,
body .module-hero h1,
body .food-app-hero h1,
body .premium-page-hero h1 {
  margin: 8px 0 10px !important;
  color: var(--bl-text) !important;
  font-size: clamp(34px, 5vw, 62px) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}
body .food-home-hero p,
body .med-home-hero p,
body .edu-hero p,
body .module-hero p,
body .food-app-hero p,
body .premium-page-hero p { color: var(--bl-muted) !important; font-size: clamp(15px, 1.6vw, 18px) !important; line-height: 1.55; }
body .hero-eyebrow,
body .premium-page-hero > span { color: var(--module-accent, var(--bl-blue)) !important; letter-spacing: .1em; font-size: 12px; font-weight: 800; text-transform: uppercase; }
body .food-home-avatar,
body .med-home-avatar { position: relative !important; inset: auto !important; flex: 0 0 70px; width: 70px !important; height: 70px !important; border-radius: 20px !important; background: color-mix(in srgb, var(--module-accent) 12%, white) !important; color: var(--module-accent) !important; box-shadow: none !important; }
body .food-home-user,
body .med-home-user { display: inline-flex !important; width: auto !important; margin: 16px 0 0 !important; padding: 8px 12px !important; border: 1px solid var(--bl-line); border-radius: 999px !important; background: #fff !important; color: var(--bl-muted) !important; }
body .food-home-user strong,
body .med-home-user strong { color: var(--bl-text) !important; }
body .food-home-search,
body .med-home-search { position: relative; z-index: 1; width: min(100%, 760px); margin: 22px 0 0 !important; padding: 6px !important; border: 1px solid var(--bl-line); border-radius: 16px !important; background: #fff !important; box-shadow: 0 8px 22px rgba(15, 23, 42, .06) !important; }
body .food-home-search button,
body .med-home-search button { min-height: 46px; border-radius: 12px !important; box-shadow: none !important; }

/* Unified stat and action components. */
body .food-home-stats,
body .med-home-stats,
body .edu-stat-row { gap: 10px !important; margin-top: 14px !important; }
body .food-home-stats > div,
body .med-home-stats > div,
body .edu-stat-card { min-height: 92px !important; padding: 18px !important; border: 1px solid var(--bl-line) !important; border-radius: 16px !important; background: #fff !important; box-shadow: none !important; color: var(--bl-text) !important; }
body .food-home-stats strong,
body .med-home-stats strong,
body .edu-stat-card strong { color: var(--bl-text) !important; font-size: 25px !important; }
body .food-quick-actions,
body .edu-action-grid,
body .module-action-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
body .food-quick-card,
body .edu-action-card,
body .module-action-card {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 0 !important;
  padding: 20px !important;
  border: 1px solid var(--bl-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--bl-text) !important;
}
body .edu-action-card,
body .module-action-card { grid-template-columns: 48px minmax(0, 1fr); }
body .food-quick-card:hover,
body .edu-action-card:hover,
body .module-action-card:hover { transform: translateY(-2px); border-color: #cfd5df !important; box-shadow: var(--bl-shadow) !important; }
body .food-quick-card > span,
body .edu-action-card > span,
body .module-action-card > span { display: grid; place-items: center; width: 44px !important; height: 44px !important; border-radius: 13px !important; background: #f3f6fb !important; color: var(--bl-blue) !important; }
body .edu-action-card h3,
body .module-action-card h3 { margin: 0 0 5px !important; font-size: 18px !important; }
body .edu-action-card p,
body .module-action-card p { grid-column: 2; margin: 0 !important; color: var(--bl-muted) !important; }
body .edu-action-card b { grid-column: 2; margin-top: 10px; color: var(--bl-blue) !important; }

/* Foodlink restaurant cards: photo and brand information never overlap. */
body .food-popular-scroll,
body .restaurant-app-list { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; overflow: visible !important; scroll-snap-type: none !important; }
body .food-popular-card,
body .restaurant-app-card { display: grid !important; grid-template-columns: minmax(180px, 42%) minmax(0, 1fr); min-width: 0 !important; min-height: 250px !important; overflow: hidden; border: 1px solid var(--bl-line) !important; border-radius: 20px !important; background: #fff !important; box-shadow: none !important; }
body .food-popular-card:hover,
body .restaurant-app-card:hover { transform: translateY(-2px); border-color: #cfd5df !important; box-shadow: var(--bl-shadow) !important; }
body .food-popular-cover,
body .restaurant-app-cover { height: 100% !important; min-height: 250px !important; border-radius: 0 !important; }
body .food-popular-cover > img,
body .restaurant-app-cover > img { width: 100%; height: 100%; object-fit: cover; }
body .food-popular-body,
body .restaurant-app-body { display: flex !important; flex-direction: column; min-width: 0; padding: 18px !important; }
body .food-popular-brand,
body .restaurant-card-heading { display: grid; grid-template-columns: 66px minmax(0, 1fr); align-items: center; gap: 12px; min-width: 0; }
body .food-popular-logo,
body .restaurant-logo-small {
  position: relative !important;
  inset: auto !important;
  width: 66px !important;
  height: 66px !important;
  padding: 8px !important;
  overflow: hidden;
  border: 1px solid var(--bl-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
}
body .food-popular-logo img,
body .restaurant-logo-small img,
body .restaurant-logo-badge img { width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: center !important; }
body .food-popular-title,
body .restaurant-card-heading > div:last-child { min-width: 0; }
body .food-popular-title h3,
body .restaurant-card-heading h2 { margin: 0 0 4px !important; overflow: visible !important; color: var(--bl-text) !important; font-size: 18px !important; line-height: 1.2 !important; white-space: normal !important; text-overflow: clip !important; }
body .food-popular-title p,
body .restaurant-card-heading p { margin: 0 !important; color: var(--bl-muted) !important; }
body .food-popular-meta,
body .restaurant-app-meta { display: flex !important; gap: 8px !important; margin: 16px 0 10px !important; }
body .food-popular-meta > span,
body .restaurant-app-meta > div { min-width: 0; padding: 8px 10px !important; border: 0 !important; border-radius: 10px !important; background: #f5f7fa !important; color: #475467 !important; font-size: 12px !important; }
body .restaurant-app-meta > div { flex: 1; }
body .restaurant-app-meta strong { font-size: 13px !important; color: var(--bl-text); }
body .food-popular-tags,
body .restaurant-feature-badges { gap: 6px !important; }
body .food-popular-tags em,
body .restaurant-feature-badges span { padding: 5px 8px !important; border-radius: 999px !important; font-size: 11px !important; font-style: normal; }
body .food-popular-open,
body .restaurant-open-row { display: flex !important; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto !important; padding-top: 14px !important; border-top: 1px solid var(--bl-line) !important; color: #ea580c !important; font-size: 13px; font-weight: 800; }

/* Restaurant detail: logo, heading and metadata have independent columns. */
body .restaurant-hero-pro { margin-top: 20px; }
body .restaurant-hero-cover { min-height: clamp(340px, 42vw, 520px) !important; border-radius: 24px !important; }
body .restaurant-hero-content { display: grid !important; grid-template-columns: 104px minmax(0, 1fr); align-items: end !important; gap: 18px !important; inset: auto 28px 28px 28px !important; }
body .restaurant-logo-badge { width: 104px !important; height: 104px !important; padding: 12px !important; border-radius: 20px !important; background: #fff !important; }
body .restaurant-title-block { min-width: 0; }
body .restaurant-title-block h1 { margin: 0 0 8px !important; font-size: clamp(30px, 4vw, 52px) !important; line-height: 1 !important; overflow-wrap: anywhere; }
body .restaurant-glance-grid { gap: 12px !important; }
body .restaurant-glance-card { min-height: 94px !important; padding: 18px !important; border: 1px solid var(--bl-line) !important; border-radius: 16px !important; box-shadow: none !important; }
body .customer-main-actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
body .customer-action-card { min-height: 0 !important; padding: 17px !important; border: 1px solid var(--bl-line) !important; border-radius: 16px !important; background: #fff !important; box-shadow: none !important; color: var(--bl-text) !important; }

/* Auto/Beauty feature blocks. */
body .module-feature-section { padding: 26px; border: 1px solid var(--bl-line); border-radius: 20px; background: #fff; }
body .module-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
body .module-feature-item { display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 76px; padding: 14px; border: 1px solid var(--bl-line); border-radius: 14px; background: #fafbfc; }
body .module-feature-item > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; background: #fff; color: var(--bl-blue); }
body .module-feature-item h3 { margin: 0; font-size: 15px; line-height: 1.35; }
body .edu-feature-card { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
body .edu-feature-card > div { min-height: 92px !important; padding: 16px !important; border: 1px solid var(--bl-line) !important; border-radius: 16px !important; background: #fff !important; }

/* Services directory. */
body .premium-services-standalone { padding-top: 8px !important; }
body .premium-service-grid-large { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; }
body .premium-service-card { position: relative; display: grid !important; grid-template-columns: 190px minmax(0, 1fr); grid-template-rows: 1fr auto; min-height: 230px !important; overflow: hidden; border: 1px solid var(--bl-line) !important; border-radius: 20px !important; background: #fff !important; box-shadow: none !important; }
body .premium-service-card:hover { transform: translateY(-2px); box-shadow: var(--bl-shadow) !important; }
body .premium-service-image { grid-row: 1 / 3; width: 190px !important; height: 100% !important; min-height: 230px !important; border-radius: 0 !important; }
body .premium-service-image img { width: 100%; height: 100%; object-fit: cover; }
body .premium-service-content { display: grid; grid-template-columns: 68px minmax(0, 1fr); align-items: center; gap: 14px; padding: 20px 20px 12px; }
body .premium-service-logo-wrap { width: 68px !important; height: 68px !important; margin: 0 !important; padding: 8px !important; border: 1px solid var(--bl-line); border-radius: 15px !important; background: #fff !important; }
body .premium-service-logo-wrap img { width: 100%; height: 100%; object-fit: contain; }
body .premium-service-content h2 { margin: 0 0 6px; font-size: 20px; }
body .premium-service-content p { margin: 0; color: var(--bl-muted); font-size: 13px; line-height: 1.45; }
body .premium-service-bottom { margin: 0 20px; padding: 13px 0 18px !important; border-top: 1px solid var(--bl-line) !important; color: var(--bl-text) !important; }

/* Common listing/detail polish across modules. */
body :is(.doctor-card,.clinic-card,.pharmacy-card,.teacher-card,.course-card,.master-card,.salon-card,.service-card) { overflow: hidden; border: 1px solid var(--bl-line) !important; border-radius: 18px !important; background: #fff !important; box-shadow: none !important; }
body :is(.doctor-card,.clinic-card,.pharmacy-card,.teacher-card,.course-card,.master-card,.salon-card,.service-card):hover { transform: translateY(-2px); box-shadow: var(--bl-shadow) !important; }

@media (max-width: 1040px) {
  body .food-popular-scroll,
  body .restaurant-app-list,
  body .premium-service-grid-large { grid-template-columns: 1fr !important; }
}

@media (max-width: 760px) {
  body .section { margin-top: 16px; margin-bottom: 16px; }
  body .food-home-hero,
  body .med-home-hero,
  body .edu-hero,
  body .module-hero,
  body .food-app-hero,
  body .premium-page-hero { margin: 10px 12px 14px !important; padding: 24px 20px !important; border-radius: 20px !important; box-shadow: none !important; }
  body .food-home-hero h1,
  body .med-home-hero h1,
  body .edu-hero h1,
  body .module-hero h1,
  body .food-app-hero h1,
  body .premium-page-hero h1 { font-size: clamp(32px, 11vw, 44px) !important; }
  body .food-home-avatar,
  body .med-home-avatar { display: none !important; }
  body .food-home-search,
  body .med-home-search { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; }
  body .food-home-stats,
  body .med-home-stats,
  body .edu-stat-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; padding-inline: 12px; }
  body .food-quick-actions,
  body .edu-action-grid,
  body .module-action-grid,
  body .module-feature-grid,
  body .edu-feature-card,
  body .customer-main-actions { grid-template-columns: 1fr !important; }
  body .food-quick-card,
  body .edu-action-card,
  body .module-action-card { padding: 16px !important; border-radius: 16px !important; }
  body .food-popular-scroll,
  body .restaurant-app-list { display: flex !important; overflow-x: auto !important; gap: 12px !important; padding: 2px 12px 10px !important; scroll-snap-type: x mandatory !important; }
  body .food-popular-card,
  body .restaurant-app-card { display: block !important; flex: 0 0 min(86vw, 370px); min-height: 0 !important; scroll-snap-align: start; }
  body .food-popular-cover,
  body .restaurant-app-cover { height: 190px !important; min-height: 190px !important; }
  body .restaurant-hero-cover { min-height: 460px !important; border-radius: 18px !important; }
  body .restaurant-hero-content { grid-template-columns: 78px minmax(0, 1fr); align-items: center !important; gap: 12px !important; inset: auto 16px 18px 16px !important; }
  body .restaurant-logo-badge { width: 78px !important; height: 78px !important; padding: 9px !important; border-radius: 16px !important; }
  body .restaurant-title-block h1 { font-size: 29px !important; }
  body .restaurant-top-tags { gap: 5px !important; }
  body .restaurant-top-tags span { font-size: 10px !important; padding: 5px 7px !important; }
  body .module-feature-section { padding: 18px; border-radius: 18px; }
  body .premium-service-card { display: block !important; min-height: 0 !important; }
  body .premium-service-image { width: 100% !important; height: 170px !important; min-height: 170px !important; }
  body .premium-service-content { padding: 16px 16px 10px; }
  body .premium-service-bottom { margin: 0 16px; }
}

/* =========================================================
   V6 — screenshot corrections: clear heroes, safe search,
   restrained arrows and consistent editorial media.
   ========================================================= */
body.page-scope-food-index .food-home-hero,
body.page-scope-med-index .med-home-hero {
  isolation: isolate !important;
  padding: clamp(28px, 4vw, 44px) !important;
  background: linear-gradient(135deg, #fff 0%, #fff 64%, color-mix(in srgb, var(--module-accent) 8%, #fff) 100%) !important;
  box-shadow: 0 16px 44px rgba(15, 23, 42, .075) !important;
}
body.page-scope-food-index .food-home-hero::after,
body.page-scope-med-index .med-home-hero::after { display: none !important; }
body.page-scope-food-index .food-home-hero-top,
body.page-scope-med-index .med-home-hero-top {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 42%) !important;
  gap: 28px !important;
  min-height: 210px !important;
  padding: 0 !important;
  align-items: center !important;
}
body.page-scope-food-index .food-home-hero-top > div:first-child,
body.page-scope-med-index .med-home-hero-top > div:first-child {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 700px !important;
}
body.page-scope-food-index .food-home-hero h1,
body.page-scope-med-index .med-home-hero h1 {
  max-width: none !important;
  margin: 10px 0 12px !important;
  color: #111827 !important;
  font-size: clamp(42px, 5vw, 64px) !important;
  line-height: .96 !important;
  text-shadow: none !important;
}
body.page-scope-food-index .food-home-hero p,
body.page-scope-med-index .med-home-hero p {
  max-width: 650px !important;
  margin: 0 !important;
  color: #667085 !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.55 !important;
}
body.page-scope-food-index .module-hero-visual,
body.page-scope-med-index .module-hero-visual {
  position: relative !important;
  z-index: 1 !important;
  inset: auto !important;
  width: 100% !important;
  height: 210px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  pointer-events: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
body.page-scope-food-index .module-hero-visual::after,
body.page-scope-med-index .module-hero-visual::after {
  background: linear-gradient(90deg, rgba(255,255,255,.18), transparent 35%) !important;
  pointer-events: none !important;
}
body.page-scope-food-index .module-hero-visual img,
body.page-scope-med-index .module-hero-visual img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
body.page-scope-med-index .med-hero-visual img { object-position: center 28% !important; }

body.page-scope-food-index .food-home-search,
body.page-scope-med-index .med-home-search {
  position: relative !important;
  z-index: 20 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  width: min(100%, 820px) !important;
  max-width: 820px !important;
  margin-top: 18px !important;
  pointer-events: auto !important;
  isolation: isolate !important;
}
body.page-scope-food-index .food-home-search > div,
body.page-scope-med-index .med-home-search > div,
body.page-scope-food-index .food-home-search input,
body.page-scope-med-index .med-home-search input,
body.page-scope-food-index .food-home-search button,
body.page-scope-med-index .med-home-search button { position: relative !important; z-index: 21 !important; pointer-events: auto !important; }
body.page-scope-food-index .food-home-search input,
body.page-scope-med-index .med-home-search input { width: 100% !important; min-height: 44px !important; cursor: text !important; }

body.page-scope-food-index .food-popular-open { min-height: 34px !important; }
body.page-scope-food-index .food-popular-open svg,
body.page-scope-food-index .food-popular-card .food-popular-open svg {
  display: block !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  fill: currentColor !important;
}
body.page-scope-food-index .food-popular-card { min-height: 360px !important; }
body.page-scope-food-index .food-popular-cover { flex-basis: 176px !important; height: 176px !important; min-height: 176px !important; }

body.page-scope-beauty-index .beauty-product-card .home-product-media img,
body.page-scope-beauty-services .beauty-service-image img,
body.page-scope-beauty-salons .beauty-salon-image img,
body.page-scope-auto-index .auto-center-home-grid .home-entity-media img,
body.page-scope-auto-service-centers .auto-center-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
body.page-scope-edu-index .edu-person-card:nth-child(4n+1) .home-person-avatar,
body.page-scope-edu-teachers .edu-teacher-card:nth-child(4n+1) .edu-teacher-avatar { background: #eef2ff !important; color: #4f46e5 !important; }
body.page-scope-edu-index .edu-person-card:nth-child(4n+2) .home-person-avatar,
body.page-scope-edu-teachers .edu-teacher-card:nth-child(4n+2) .edu-teacher-avatar { background: #ecfeff !important; color: #0e7490 !important; }
body.page-scope-edu-index .edu-person-card:nth-child(4n+3) .home-person-avatar,
body.page-scope-edu-teachers .edu-teacher-card:nth-child(4n+3) .edu-teacher-avatar { background: #f0fdf4 !important; color: #15803d !important; }
body.page-scope-edu-index .edu-person-card:nth-child(4n) .home-person-avatar,
body.page-scope-edu-teachers .edu-teacher-card:nth-child(4n) .edu-teacher-avatar { background: #fff7ed !important; color: #c2410c !important; }

@media (max-width: 760px) {
  body.page-scope-food-index .food-home-hero,
  body.page-scope-med-index .med-home-hero { margin: 10px 12px 16px !important; padding: 22px 18px 18px !important; border-radius: 22px !important; }
  body.page-scope-food-index .food-home-hero-top,
  body.page-scope-med-index .med-home-hero-top { display: block !important; min-height: 0 !important; padding: 0 !important; }
  body.page-scope-food-index .food-home-hero h1,
  body.page-scope-med-index .med-home-hero h1 { max-width: none !important; font-size: 40px !important; }
  body.page-scope-food-index .food-home-hero p,
  body.page-scope-med-index .med-home-hero p { font-size: 13px !important; }
  body.page-scope-food-index .module-hero-visual,
  body.page-scope-med-index .module-hero-visual { width: 100% !important; height: 150px !important; margin: 18px 0 0 !important; border-radius: 17px !important; }
  body.page-scope-food-index .food-home-search,
  body.page-scope-med-index .med-home-search { margin-top: 14px !important; }
  body.page-scope-food-index .food-popular-card { min-height: 350px !important; }
}

@media (max-width: 430px) {
  body.page-scope-food-index .food-home-search,
  body.page-scope-med-index .med-home-search { grid-template-columns: 1fr !important; }
}

@media (max-width: 430px) {
  body .food-home-search,
  body .med-home-search { grid-template-columns: 1fr; }
  body .food-home-search button,
  body .med-home-search button { width: 100%; }
  body .restaurant-hero-content { display: block !important; }
  body .restaurant-logo-badge { margin-bottom: 12px; }
}

/* Page-scope locks: keep this product layer above the historical page styles. */
body:is(.page-scope-food-index,.page-scope-med-index,.page-scope-edu-index,.page-scope-auto-index,.page-scope-beauty-index) :is(.food-home-hero,.med-home-hero,.pro-edu-hero,.module-hero) {
  min-height: 0 !important;
  padding: clamp(26px, 4vw, 52px) !important;
  border: 1px solid var(--bl-line) !important;
  border-radius: 26px !important;
  background: #fff !important;
  box-shadow: var(--bl-shadow) !important;
  color: var(--bl-text) !important;
}
body.page-scope-food-index .food-home-hero,
body.page-scope-med-index .med-home-hero { display: block !important; }
body.page-scope-food-index .food-home-hero-top,
body.page-scope-med-index .med-home-hero-top { display: flex !important; grid-template-columns: none !important; }
body.page-scope-food-index .food-popular-scroll,
body.page-scope-food-restaurants .restaurant-app-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; }
body.page-scope-food-index .food-popular-card,
body.page-scope-food-restaurants .restaurant-app-card { display: grid !important; grid-template-columns: minmax(180px, 42%) minmax(0, 1fr) !important; min-height: 250px !important; border-radius: 20px !important; box-shadow: none !important; }
body.page-scope-food-index .food-popular-cover,
body.page-scope-food-restaurants .restaurant-app-cover { height: 100% !important; min-height: 250px !important; }
body.page-scope-food-index .food-popular-logo,
body.page-scope-food-restaurants .restaurant-logo-small { position: relative !important; inset: auto !important; width: 66px !important; height: 66px !important; padding: 8px !important; border-radius: 14px !important; box-shadow: none !important; }
body.page-scope-food-restaurant .restaurant-hero-cover { height: auto !important; min-height: clamp(340px, 42vw, 520px) !important; border-radius: 24px !important; }
body.page-scope-food-restaurant .restaurant-hero-content { grid-template-columns: 104px minmax(0, 1fr) !important; gap: 18px !important; left: 28px !important; right: 28px !important; bottom: 28px !important; }
body.page-scope-food-restaurant .restaurant-logo-badge { width: 104px !important; height: 104px !important; padding: 12px !important; border-radius: 20px !important; }
body.page-scope-edu-teachers .edu-teachers-hero-card { padding: 28px !important; border: 1px solid var(--bl-line) !important; border-radius: 22px !important; background: #fff !important; box-shadow: none !important; color: var(--bl-text) !important; }
body.page-scope-edu-teachers .edu-teachers-hero-card h1 { color: var(--bl-text) !important; font-size: clamp(30px, 4vw, 44px) !important; }
body.page-scope-edu-teachers .edu-teachers-hero-card p { color: var(--bl-muted) !important; }
body.page-scope-edu-teachers .edu-teachers-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; }
body.page-scope-edu-teachers .edu-teacher-card { padding: 18px !important; border: 1px solid var(--bl-line) !important; border-radius: 18px !important; box-shadow: none !important; }
body.page-scope-edu-teachers .edu-teacher-avatar { width: 76px !important; height: 76px !important; border-radius: 18px !important; background: #eef2ff !important; }
body.page-scope-edu-teachers .edu-teacher-top { grid-template-columns: 76px minmax(0, 1fr) !important; }
body.page-scope-edu-teachers .edu-teacher-bio { min-height: 0 !important; border-radius: 12px !important; background: #f7f8fa !important; color: #475467 !important; }
body.page-scope-edu-teachers .edu-teacher-info-grid div { padding: 10px !important; border-radius: 12px !important; background: #f7f8fa !important; }

@media (max-width: 1040px) {
  body.page-scope-food-index .food-popular-scroll,
  body.page-scope-food-restaurants .restaurant-app-list { grid-template-columns: 1fr !important; }
}

@media (max-width: 760px) {
  body:is(.page-scope-food-index,.page-scope-med-index,.page-scope-edu-index,.page-scope-auto-index,.page-scope-beauty-index) :is(.food-home-hero,.med-home-hero,.pro-edu-hero,.module-hero) { margin: 10px 12px 14px !important; padding: 24px 20px !important; border-radius: 20px !important; box-shadow: none !important; }
  body.page-scope-food-index .food-popular-scroll,
  body.page-scope-food-restaurants .restaurant-app-list { display: flex !important; grid-template-columns: none !important; }
  body.page-scope-food-index .food-popular-card,
  body.page-scope-food-restaurants .restaurant-app-card { display: block !important; flex: 0 0 min(86vw, 370px) !important; min-height: 0 !important; }
  body.page-scope-food-index .food-popular-cover,
  body.page-scope-food-restaurants .restaurant-app-cover { height: 190px !important; min-height: 190px !important; }
  body.page-scope-food-restaurant .restaurant-hero-content { grid-template-columns: 78px minmax(0, 1fr) !important; left: 16px !important; right: 16px !important; bottom: 18px !important; }
  body.page-scope-food-restaurant .restaurant-logo-badge { width: 78px !important; height: 78px !important; padding: 9px !important; }
  body.page-scope-edu-teachers .edu-teachers-list { grid-template-columns: 1fr !important; }
}

/* =========================================================
   V5 — annotated homepage rebuild
   ========================================================= */
body .module-hero-visual {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  width: 46%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 26%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 26%, #000 100%);
}
body .module-hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--module-accent, #2563eb) 10%, transparent));
}
body .module-hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
body .food-home-hero-top { min-height: 190px; }
body .food-home-hero-top > div:first-child,
body .med-home-hero-top > div:first-child,
body .module-hero .pro-module-copy,
body .pro-edu-hero > div:first-child { position: relative; z-index: 2; width: 58% !important; }
body .food-home-search { position: relative; z-index: 3; }

body .home-directory-section { padding-top: 5px; }
body .home-directory-section .section-head { margin-bottom: 16px; align-items: end; }
body .home-directory-section .section-link { flex: 0 0 auto; padding: 8px 12px; border: 1px solid var(--bl-line); border-radius: 999px; background: #fff; }

/* Foodlink: all restaurants are readable and logo never covers the name. */
body.page-scope-food-index .food-popular-scroll { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 14px !important; }
body.page-scope-food-index .food-popular-card { display: flex !important; flex-direction: column; min-height: 390px !important; border-radius: 20px !important; }
body.page-scope-food-index .food-popular-cover { flex: 0 0 190px; width: 100%; height: 190px !important; min-height: 190px !important; }
body.page-scope-food-index .food-popular-body { flex: 1; padding: 15px !important; }
body.page-scope-food-index .food-popular-brand { display: grid !important; grid-template-columns: 54px minmax(0, 1fr) !important; align-items: center !important; gap: 10px !important; min-height: 58px; }
body.page-scope-food-index .food-popular-logo { position: static !important; width: 54px !important; height: 54px !important; padding: 7px !important; margin: 0 !important; transform: none !important; }
body.page-scope-food-index .food-popular-title { min-width: 0 !important; padding: 0 !important; }
body.page-scope-food-index .food-popular-title h3 { display: block !important; position: static !important; margin: 0 0 4px !important; min-height: 0 !important; overflow: visible !important; font-size: 17px !important; line-height: 1.18 !important; white-space: normal !important; }
body.page-scope-food-index .food-popular-title p { font-size: 12px !important; line-height: 1.35 !important; }
body.page-scope-food-index .food-popular-meta { margin: 13px 0 10px !important; }

body .home-product-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
body .home-product-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--bl-line); border-radius: 20px; background: #fff; color: var(--bl-text); box-shadow: none; transition: transform .2s ease, box-shadow .2s ease; }
body .home-product-card:hover { transform: translateY(-3px); box-shadow: var(--bl-shadow); }
body .home-product-media { position: relative; height: 190px; overflow: hidden; background: #eef2f7; }
body .home-product-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
body .home-product-card:hover .home-product-media img { transform: scale(1.035); }
body .home-product-media > span { position: absolute; right: 10px; bottom: 10px; padding: 7px 10px; border-radius: 999px; background: rgba(17,24,39,.86); color: #fff; font-size: 12px; font-weight: 800; backdrop-filter: blur(8px); }
body .home-product-copy { padding: 15px; }
body .home-product-copy small,
body .home-entity-copy small,
body .home-person-card small,
body .home-course-card small,
body .home-service-card small { display: block; margin-bottom: 5px; overflow: hidden; color: var(--module-accent, var(--bl-blue)); font-size: 11px; font-weight: 800; letter-spacing: .035em; text-overflow: ellipsis; white-space: nowrap; }
body .home-product-copy h3,
body .home-entity-copy h3,
body .home-person-card h3,
body .home-course-card h3,
body .home-service-card h3 { margin: 0 0 6px; color: var(--bl-text); font-size: 17px; line-height: 1.22; letter-spacing: -.025em; }
body .home-product-copy p,
body .home-entity-copy p,
body .home-person-card p,
body .home-course-card p,
body .home-service-card p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--bl-muted); font-size: 12px; line-height: 1.48; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

/* Directories shown on module homepages. */
body .home-entity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
body .home-entity-card { display: grid; grid-template-columns: 42% minmax(0,1fr); min-height: 220px; overflow: hidden; border: 1px solid var(--bl-line); border-radius: 20px; background: #fff; color: var(--bl-text); }
body .home-entity-card:hover { transform: translateY(-3px); box-shadow: var(--bl-shadow); }
body .home-entity-media { position: relative; min-height: 220px; overflow: hidden; background: #eef2f7; }
body .home-entity-media img { width: 100%; height: 100%; object-fit: cover; }
body .home-entity-media span { position: absolute; left: 10px; bottom: 10px; max-width: calc(100% - 20px); padding: 6px 9px; overflow: hidden; border-radius: 999px; background: rgba(17,24,39,.82); color: #fff; font-size: 10px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
body .home-entity-copy { align-self: center; min-width: 0; padding: 17px; }

body .home-person-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
body .home-person-card { display: grid; grid-template-columns: 62px minmax(0,1fr); align-items: center; gap: 12px; min-width: 0; min-height: 112px; padding: 14px; border: 1px solid var(--bl-line); border-radius: 18px; background: #fff; color: var(--bl-text); }
body .home-person-card:hover { transform: translateY(-2px); box-shadow: var(--bl-shadow); }
body .home-person-avatar { display: grid; place-items: center; width: 62px; height: 72px; overflow: hidden; border-radius: 16px; background: #eef2ff; color: #4f46e5; font-size: 24px; font-weight: 800; }
body .beauty-team-avatar { background: #fff0f6; color: #db2777; }
body .home-person-avatar img { width: 100%; height: 100%; object-fit: cover; }
body .home-person-avatar svg { width: 25px; height: 25px; }
body .home-person-card > div:last-child { min-width: 0; }
body .home-person-card h3 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

body .home-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
body .home-service-card { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 11px; min-height: 128px; padding: 15px; border: 1px solid var(--bl-line); border-radius: 17px; background: #fff; }
body .home-service-card > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #edf4ff; color: var(--bl-blue); }

body .home-course-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
body .home-course-card { display: flex; min-height: 235px; flex-direction: column; padding: 18px; border: 1px solid var(--bl-line); border-radius: 20px; background: #fff; color: var(--bl-text); }
body .home-course-card:hover { transform: translateY(-3px); box-shadow: var(--bl-shadow); }
body .home-course-mark { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
body .home-course-mark > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: #ede9fe; color: #6d28d9; }
body .home-course-mark em { padding: 6px 9px; border-radius: 999px; background: #f6f4ff; color: #6d28d9; font-size: 10px; font-style: normal; font-weight: 800; text-transform: capitalize; }
body .home-course-card:nth-child(3n+2) .home-course-mark > span { background:#e0f2fe; color:#0369a1; }
body .home-course-card:nth-child(3n) .home-course-mark > span { background:#dcfce7; color:#15803d; }
body .home-course-card h3 { font-size: 18px; }
body .home-course-foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--bl-line); color: #4f46e5; font-size: 12px; font-weight: 800; }

/* Main ecosystem cards: modern editorial cards with concise copy. */
body.premium-services-page .premium-service-grid-large { grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 16px !important; }
body.premium-services-page .premium-service-card { display: flex !important; min-height: 360px !important; flex-direction: column; border-radius: 22px !important; }
body.premium-services-page .premium-service-image { order: 1; width: 100% !important; height: 190px !important; min-height: 190px !important; border-radius: 0 !important; }
body.premium-services-page .premium-service-content { order: 2; grid-template-columns: 58px minmax(0,1fr); padding: 16px 16px 10px; }
body.premium-services-page .premium-service-logo-wrap { width: 58px !important; height: 58px !important; border-radius: 14px !important; }
body.premium-services-page .premium-service-content h2 { font-size: 19px; }
body.premium-services-page .premium-service-bottom { order: 3; margin-top: auto; }

@media (max-width: 1180px) {
  body.page-scope-food-index .food-popular-scroll,
  body .home-product-rail,
  body .home-person-rail,
  body .home-service-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  body .home-entity-grid,
  body .home-course-grid,
  body.premium-services-page .premium-service-grid-large { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

@media (max-width: 760px) {
  body .module-hero-visual { position: relative; top: auto; right: auto; width: calc(100% + 40px); height: 175px; margin: 20px -20px -24px; -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 22%, #000 100%); mask-image: linear-gradient(180deg, transparent 0%, #000 22%, #000 100%); }
  body .food-home-hero-top { display: block !important; min-height: 0; }
  body .food-home-hero-top > div:first-child,
  body .module-hero .pro-module-copy,
  body .pro-edu-hero > div:first-child { width: 100% !important; }
  body .food-home-search { margin-top: 16px !important; }
  body .home-directory-section .section-head { padding-inline: 12px; }
  body.page-scope-food-index .food-popular-scroll,
  body .home-product-rail,
  body .home-person-rail,
  body .home-service-grid,
  body .home-entity-grid,
  body .home-course-grid { display: flex !important; grid-template-columns: none !important; gap: 12px !important; overflow-x: auto; padding: 2px 12px 12px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  body.page-scope-food-index .food-popular-scroll::-webkit-scrollbar,
  body .home-product-rail::-webkit-scrollbar,
  body .home-person-rail::-webkit-scrollbar,
  body .home-service-grid::-webkit-scrollbar,
  body .home-entity-grid::-webkit-scrollbar,
  body .home-course-grid::-webkit-scrollbar { display:none; }
  body.page-scope-food-index .food-popular-card { flex: 0 0 82vw !important; min-height: 380px !important; scroll-snap-align:start; }
  body .home-product-card { flex: 0 0 76vw; scroll-snap-align:start; }
  body .home-entity-card { display:flex; flex:0 0 86vw; min-height: 210px; scroll-snap-align:start; }
  body .home-entity-media { flex:0 0 42%; min-height:210px; }
  body .home-person-card { flex: 0 0 82vw; min-height: 104px; scroll-snap-align:start; }
  body .home-service-card { flex: 0 0 78vw; min-height: 116px; scroll-snap-align:start; }
  body .home-course-card { flex: 0 0 82vw; min-height: 225px; scroll-snap-align:start; }
  body .home-product-media { height: 175px; }
  body.premium-services-page .premium-service-grid-large { display:flex !important; overflow-x:auto; padding:2px 12px 12px; scroll-snap-type:x mandatory; }
  body.premium-services-page .premium-service-card { flex:0 0 84vw; min-height:350px !important; scroll-snap-align:start; }
}

/* V7 final cascade lock — must remain after V5. */
body.page-scope-food-index .food-home-hero,
body.page-scope-med-index .med-home-hero { padding:clamp(28px,4vw,44px)!important; background:linear-gradient(135deg,#fff 0%,#fff 64%,color-mix(in srgb,var(--module-accent) 8%,#fff) 100%)!important; isolation:isolate!important; }
body.page-scope-food-index .food-home-hero-top,
body.page-scope-med-index .med-home-hero-top { position:relative!important; z-index:1!important; display:grid!important; grid-template-columns:minmax(0,1fr) minmax(280px,42%)!important; gap:28px!important; min-height:210px!important; padding:0!important; align-items:center!important; }
body.page-scope-food-index .food-home-hero-top>div:first-child,
body.page-scope-med-index .med-home-hero-top>div:first-child { width:100%!important; max-width:700px!important; }
body.page-scope-food-index .food-home-hero h1,
body.page-scope-med-index .med-home-hero h1 { max-width:none!important; color:#111827!important; text-shadow:none!important; }
body.page-scope-food-index .food-home-hero p,
body.page-scope-med-index .med-home-hero p { color:#667085!important; font-weight:650!important; }
body.page-scope-food-index .module-hero-visual,
body.page-scope-med-index .module-hero-visual { position:relative!important; z-index:1!important; inset:auto!important; width:100%!important; height:210px!important; margin:0!important; border-radius:22px!important; pointer-events:none!important; -webkit-mask-image:none!important; mask-image:none!important; }
body.page-scope-food-index .food-home-search,
body.page-scope-med-index .med-home-search { position:relative!important; z-index:20!important; pointer-events:auto!important; }
body.page-scope-food-index .food-home-search :is(input,button),
body.page-scope-med-index .med-home-search :is(input,button) { position:relative!important; z-index:21!important; pointer-events:auto!important; }
body.page-scope-food-index .food-popular-open svg { flex:0 0 18px!important; width:18px!important; height:18px!important; max-width:18px!important; max-height:18px!important; }
body.page-scope-food-index .food-popular-card { min-height:360px!important; }
body.page-scope-food-index .food-popular-cover { flex-basis:176px!important; height:176px!important; min-height:176px!important; }

@media(max-width:760px){
  body.page-scope-food-index .food-home-hero,
  body.page-scope-med-index .med-home-hero { margin:10px 12px 16px!important; padding:22px 18px 18px!important; border-radius:22px!important; }
  body.page-scope-food-index .food-home-hero-top,
  body.page-scope-med-index .med-home-hero-top { display:block!important; min-height:0!important; padding:0!important; }
  body.page-scope-food-index .food-home-hero-top>div:first-child,
  body.page-scope-med-index .med-home-hero-top>div:first-child { width:100%!important; padding:0!important; }
  body.page-scope-food-index .food-home-hero h1,
  body.page-scope-med-index .med-home-hero h1 { max-width:none!important; font-size:40px!important; }
  body.page-scope-food-index .module-hero-visual,
  body.page-scope-med-index .module-hero-visual { position:relative!important; inset:auto!important; width:100%!important; height:150px!important; margin:18px 0 0!important; border-radius:17px!important; }
  body.page-scope-food-index .food-popular-card { min-height:350px!important; }
}

/* V8 — Foodlink/Medlink image blend matches the Edulink hero language. */
body.page-scope-food-index .food-home-hero,
body.page-scope-med-index .med-home-hero {
  position: relative !important;
  min-height: 390px !important;
  background: #fff !important;
}
body.page-scope-food-index .food-home-hero::before,
body.page-scope-med-index .med-home-hero::before,
body.page-scope-food-index .food-home-hero::after,
body.page-scope-med-index .med-home-hero::after { display: none !important; }
body.page-scope-food-index .food-home-hero-top,
body.page-scope-med-index .med-home-hero-top {
  position: static !important;
  z-index: auto !important;
  display: block !important;
  min-height: 205px !important;
  padding: 0 !important;
}
body.page-scope-food-index .food-home-hero-top > div:first-child,
body.page-scope-med-index .med-home-hero-top > div:first-child {
  position: relative !important;
  z-index: 3 !important;
  width: 56% !important;
  max-width: 700px !important;
}
body.page-scope-food-index .module-hero-visual,
body.page-scope-med-index .module-hero-visual {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 0 0 auto !important;
  width: 58% !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  pointer-events: none !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 13%, #000 38%, #000 100%) !important;
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 13%, #000 38%, #000 100%) !important;
}
body.page-scope-food-index .module-hero-visual::after,
body.page-scope-med-index .module-hero-visual::after {
  display: block !important;
  background: linear-gradient(90deg, rgba(255,255,255,.42) 0%, transparent 34%) !important;
}
body.page-scope-food-index .module-hero-visual img,
body.page-scope-med-index .module-hero-visual img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}
body.page-scope-food-index .food-home-search,
body.page-scope-med-index .med-home-search {
  width: min(100%, 68%) !important;
  max-width: 820px !important;
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(10px) !important;
}

body.page-scope-edu-index .pro-edu-hero h1 {
  color: #6d28d9 !important;
  text-shadow: none !important;
}

@media(max-width:900px){
  body.page-scope-food-index .food-home-hero,
  body.page-scope-med-index .med-home-hero { min-height: 0 !important; }
  body.page-scope-food-index .food-home-hero-top,
  body.page-scope-med-index .med-home-hero-top { min-height: 0 !important; }
  body.page-scope-food-index .food-home-hero-top > div:first-child,
  body.page-scope-med-index .med-home-hero-top > div:first-child { width: 100% !important; }
  body.page-scope-food-index .module-hero-visual,
  body.page-scope-med-index .module-hero-visual {
    position: relative !important;
    inset: auto !important;
    width: calc(100% + 36px) !important;
    height: 175px !important;
    margin: 18px -18px -18px !important;
    border-radius: 0 0 22px 22px !important;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.35) 18%, #000 42%, #000 100%) !important;
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.35) 18%, #000 42%, #000 100%) !important;
  }
  body.page-scope-food-index .food-home-search,
  body.page-scope-med-index .med-home-search { width: 100% !important; }
}

/* V9 — expanded 2026 homepage, unframed hero and editorial ecosystem sections. */
body.premium-home { background:#f7f9fc !important; }
body.premium-home .premium-app-main { width:min(1450px,calc(100% - 56px)) !important; }
body.premium-home .premium-hero {
  min-height:650px !important;
  grid-template-columns:minmax(0,47%) minmax(0,53%) !important;
  overflow:hidden !important;
  border:1px solid #e8edf4 !important;
  border-radius:30px !important;
  background:#fff !important;
  box-shadow:0 24px 70px rgba(18,43,80,.08) !important;
}
body.premium-home .premium-hero::before {
  display:block !important;
  z-index:2 !important;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 42%,rgba(255,255,255,.54) 53%,transparent 68%) !important;
}
body.premium-home .premium-hero-copy { z-index:4 !important; padding:78px 20px 68px 64px !important; }
body.premium-home .premium-hero h1 { max-width:680px !important; font-size:clamp(52px,5vw,78px) !important; }
body.premium-home .premium-hero-media { min-height:650px !important; overflow:hidden !important; background:#fff !important; }
body.premium-home .premium-hero-media::after {
  inset:auto 0 0 !important;
  height:90px !important;
  background:linear-gradient(180deg,transparent,#fff 95%) !important;
}
body.premium-home .premium-device-scene,
body.premium-home .premium-real-device-stage {
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
}
body.premium-home .premium-real-device-stage::before { display:none !important; }
body.premium-home .premium-real-device-mockup {
  width:111% !important;
  max-width:none !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:translateX(-3%) !important;
  filter:none !important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 11%,#000 30%,#000 100%) !important;
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 11%,#000 30%,#000 100%) !important;
}

body.premium-home .premium-services,
body.premium-home .home-actions,
body.premium-home .home-flow,
body.premium-home .home-ecosystem,
body.premium-home .home-faq { margin-top:22px; }
body.premium-home .premium-services { padding:40px !important; border-radius:28px !important; box-shadow:0 18px 55px rgba(18,43,80,.06) !important; }
body.premium-home .premium-section-head { margin-bottom:26px !important; }
body.premium-home .premium-section-head h2,
body.premium-home .home-section-intro h2,
body.premium-home .home-flow h2,
body.premium-home .home-ecosystem h2,
body.premium-home .premium-why h2 { font-size:clamp(30px,3.2vw,46px) !important; line-height:1.04 !important; letter-spacing:-.05em !important; }
body.premium-home .premium-service-grid { grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:14px !important; }
body.premium-home .premium-service-card {
  display:flex !important;
  min-height:360px !important;
  padding:0 !important;
  flex-direction:column !important;
  overflow:hidden !important;
  border:1px solid #e7ecf3 !important;
  border-radius:22px !important;
  background:#fff !important;
}
body.premium-home .premium-service-card:hover { transform:translateY(-6px) !important; box-shadow:0 24px 52px rgba(21,44,80,.12) !important; }
body.premium-home .premium-service-image { order:1; width:100% !important; height:184px !important; min-height:184px !important; border-radius:0 !important; }
body.premium-home .premium-service-image::after { content:""; position:absolute; inset:auto 0 0; height:48px; background:linear-gradient(180deg,transparent,rgba(255,255,255,.18)); }
body.premium-home .premium-service-image img { object-position:center !important; }
body.premium-home .premium-service-body { position:relative; order:2; display:flex; min-height:176px; padding:17px 18px 18px; flex:1; flex-direction:column; }
body.premium-home .premium-service-logo-wrap { width:100% !important; height:44px !important; overflow:visible !important; }
body.premium-home .premium-service-logo-wrap img { width:auto !important; max-width:142px !important; height:38px !important; object-fit:contain !important; object-position:left center !important; }
body.premium-home .premium-service-card p { min-height:0 !important; margin:10px 34px 0 0 !important; color:#6d7c94 !important; font-size:11.5px !important; line-height:1.55 !important; }
body.premium-home .premium-service-open { position:absolute; right:16px; bottom:16px; display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#f1f5fa; color:#071b3d; font-size:17px; transition:.2s ease; }
body.premium-home .premium-service-card:hover .premium-service-open { background:#071b3d; color:#fff; transform:translateX(2px); }

body.premium-home .home-brand-marquee { margin:18px 0 0; overflow:hidden; border-block:1px solid #e6ebf2; background:rgba(255,255,255,.65); }
body.premium-home .home-brand-marquee-track { display:flex; width:max-content; animation:homeBrandRail 25s linear infinite; }
body.premium-home .home-brand-marquee-group { display:flex; align-items:center; flex-shrink:0; }
body.premium-home .home-brand-marquee-group > span { display:flex; min-width:210px; padding:18px 34px; align-items:center; justify-content:center; gap:11px; color:#44516a; font-size:13px; font-weight:800; letter-spacing:.02em; }
body.premium-home .home-brand-dot { width:9px; height:9px; border-radius:50%; background:#1c62ff; box-shadow:0 0 0 6px rgba(28,98,255,.08); }
body.premium-home .home-brand-dot-food{background:#ef8751} body.premium-home .home-brand-dot-med{background:#16a5bd} body.premium-home .home-brand-dot-edu{background:#705cf3} body.premium-home .home-brand-dot-auto{background:#316bd9} body.premium-home .home-brand-dot-beauty{background:#e66e97}
@keyframes homeBrandRail { to { transform:translateX(-50%); } }

body.premium-home .home-actions { padding:58px 8px 34px; }
body.premium-home .home-section-intro { max-width:790px; margin:0 auto 28px; text-align:center; }
body.premium-home .home-section-intro > span,
body.premium-home .home-flow-copy > span,
body.premium-home .home-ecosystem-copy > span { color:#356ad2; font-size:10px; font-weight:850; letter-spacing:.24em; text-transform:uppercase; }
body.premium-home .home-section-intro h2,
body.premium-home .home-flow h2,
body.premium-home .home-ecosystem h2 { margin:10px 0 0; color:#071b3d; }
body.premium-home .home-section-intro p,
body.premium-home .home-flow-copy > p,
body.premium-home .home-ecosystem-copy > p { margin:15px 0 0; color:#6d7c94; font-size:14px; line-height:1.7; }
body.premium-home .home-action-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
body.premium-home .home-action-card { position:relative; display:flex; min-height:158px; padding:20px; flex-direction:column; justify-content:space-between; overflow:hidden; border:1px solid #e5eaf2; border-radius:22px; background:#fff; color:#071b3d; transition:.25s ease; }
body.premium-home .home-action-card::after { content:""; position:absolute; right:-30px; bottom:-36px; width:110px; height:110px; border-radius:50%; background:var(--action-soft,#edf4ff); transition:.3s ease; }
body.premium-home .home-action-card:hover { transform:translateY(-5px); box-shadow:0 22px 50px rgba(18,43,80,.09); }
body.premium-home .home-action-card:hover::after { transform:scale(1.18); }
body.premium-home .home-action-icon { display:grid; width:46px; height:46px; place-items:center; border-radius:15px; background:var(--action-soft,#edf4ff); color:var(--action,#1c62ff); }
body.premium-home .home-action-icon svg { width:21px; height:21px; }
body.premium-home .home-action-card > div { position:relative; z-index:1; }
body.premium-home .home-action-card strong { display:block; font-size:15px; line-height:1.25; }
body.premium-home .home-action-card small { display:block; margin-top:6px; color:#7b889d; font-size:10.5px; line-height:1.45; }
body.premium-home .home-action-card > b { position:absolute; z-index:1; right:18px; bottom:17px; font-size:18px; font-weight:500; }
body.premium-home .home-action-food{--action:#de6c35;--action-soft:#fff0e8} body.premium-home .home-action-med{--action:#078ca7;--action-soft:#e7f9fb} body.premium-home .home-action-edu{--action:#6651e7;--action-soft:#f0edff} body.premium-home .home-action-auto{--action:#265fc8;--action-soft:#eaf2ff} body.premium-home .home-action-beauty{--action:#d75282;--action-soft:#ffedf4}

body.premium-home .home-flow { display:grid; grid-template-columns:minmax(0,38%) minmax(0,62%); overflow:hidden; border:1px solid #e6ebf2; border-radius:30px; background:#fff; box-shadow:0 20px 60px rgba(18,43,80,.07); }
body.premium-home .home-flow-copy { padding:58px 50px; background:linear-gradient(145deg,#f5f8ff,#fff); }
body.premium-home .home-flow-copy .premium-btn { margin-top:26px; }
body.premium-home .home-flow-steps { position:relative; display:flex; padding:42px; flex-direction:column; justify-content:center; gap:0; }
body.premium-home .home-flow-steps::before { content:""; position:absolute; left:68px; top:82px; bottom:82px; width:2px; background:linear-gradient(#2d6bec,#735be9,#e76795); }
body.premium-home .home-flow-step { position:relative; z-index:1; display:grid; grid-template-columns:54px 1fr; gap:20px; padding:18px 0; align-items:start; }
body.premium-home .home-flow-step > span { display:grid; width:54px; height:54px; place-items:center; border:6px solid #fff; border-radius:50%; background:#eaf1ff; color:#175bdf; box-shadow:0 8px 22px rgba(26,84,196,.13); font-size:11px; font-weight:900; }
body.premium-home .home-flow-step:nth-child(2)>span{background:#f0edff;color:#6851dc} body.premium-home .home-flow-step:nth-child(3)>span{background:#ffedf4;color:#d75282}
body.premium-home .home-flow-step h3 { margin:4px 0 0; color:#102448; font-size:18px; letter-spacing:-.025em; }
body.premium-home .home-flow-step p { max-width:580px; margin:7px 0 0; color:#75839a; font-size:12px; line-height:1.6; }

body.premium-home .home-ecosystem { display:grid; grid-template-columns:1.05fr 1fr; gap:45px; padding:48px 52px; align-items:center; border-radius:28px; background:#081b3b; color:#fff; box-shadow:0 24px 65px rgba(7,27,61,.16); }
body.premium-home .home-ecosystem-copy > span { color:#9dbbf5; }
body.premium-home .home-ecosystem h2 { color:#fff !important; }
body.premium-home .home-ecosystem-copy > p { color:#b4c1d7; }
body.premium-home .home-metric-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(255,255,255,.13); border-radius:22px; overflow:hidden; }
body.premium-home .home-metric-grid > div { min-height:115px; padding:18px 12px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border-right:1px solid rgba(255,255,255,.12); }
body.premium-home .home-metric-grid > div:last-child { border-right:0; }
body.premium-home .home-metric-grid strong { color:#fff; font-size:30px; line-height:1; letter-spacing:-.04em; }
body.premium-home .home-metric-grid small { margin-top:9px; color:#aebbd0; font-size:9.5px; line-height:1.35; }

body.premium-home .premium-why { margin-top:22px !important; padding:42px !important; grid-template-columns:minmax(250px,32%) 1fr !important; border:1px solid #e6ebf2 !important; border-radius:28px !important; background:#fff !important; box-shadow:0 18px 55px rgba(18,43,80,.055) !important; }
body.premium-home .premium-why-heading { padding:0 30px 0 0 !important; }
body.premium-home .premium-why-grid { border-left:0 !important; gap:10px; }
body.premium-home .premium-why-item { min-height:98px !important; padding:17px !important; border:1px solid #edf0f5 !important; border-radius:18px; background:#fbfcff; }

body.premium-home .home-faq { display:grid; grid-template-columns:minmax(260px,36%) 1fr; gap:55px; padding:52px; border:1px solid #e6ebf2; border-radius:28px; background:#fff; }
body.premium-home .home-faq .home-section-intro { margin:0; text-align:left; }
body.premium-home .home-faq-list { border-top:1px solid #e5eaf1; }
body.premium-home .home-faq details { border-bottom:1px solid #e5eaf1; }
body.premium-home .home-faq summary { display:flex; min-height:68px; align-items:center; justify-content:space-between; gap:18px; cursor:pointer; list-style:none; color:#13284d; font-size:14px; font-weight:800; }
body.premium-home .home-faq summary::-webkit-details-marker { display:none; }
body.premium-home .home-faq summary span { display:grid; width:30px; height:30px; place-items:center; flex:0 0 30px; border-radius:50%; background:#f0f4fa; font-size:18px; transition:.2s ease; }
body.premium-home .home-faq details[open] summary span { transform:rotate(45deg); background:#071b3d; color:#fff; }
body.premium-home .home-faq details p { margin:-4px 45px 20px 0; color:#6d7c94; font-size:12px; line-height:1.65; }
body.premium-home .premium-business { margin-top:22px !important; padding:48px 52px !important; border-radius:28px !important; }

body.premium-home.home-motion-ready [data-home-reveal] { opacity:0; transform:translateY(26px); transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1); }
body.premium-home.home-motion-ready [data-home-reveal].is-visible { opacity:1; transform:none; }

@media(max-width:1180px){
  body.premium-home .premium-service-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  body.premium-home .premium-service-card:nth-child(4),body.premium-home .premium-service-card:nth-child(5){ min-height:320px !important; }
  body.premium-home .home-action-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.premium-home .home-flow { grid-template-columns:42% 58%; }
  body.premium-home .home-ecosystem { grid-template-columns:1fr; gap:28px; }
}

@media(max-width:900px){
  body.premium-home .premium-hero { display:flex !important; min-height:0 !important; }
  body.premium-home .premium-hero-copy { padding:54px 42px 12px !important; }
  body.premium-home .premium-hero-media { min-height:430px !important; }
  body.premium-home .premium-real-device-mockup { width:100% !important; transform:none !important; object-fit:contain !important; -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.45) 12%,#000 30%); mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.45) 12%,#000 30%); }
  body.premium-home .home-flow { grid-template-columns:1fr; }
  body.premium-home .home-flow-copy { padding:42px; }
  body.premium-home .home-faq { grid-template-columns:1fr; gap:24px; }
}

@media(max-width:767.98px){
  body.premium-home .premium-app-main { width:100% !important; padding-inline:12px !important; }
  body.premium-home .premium-hero { border-radius:24px !important; }
  body.premium-home .premium-hero::before { display:none !important; }
  body.premium-home .premium-hero-copy { padding:31px 20px 4px !important; }
  body.premium-home .premium-hero-media { min-height:0 !important; height:285px !important; padding:0 !important; }
  body.premium-home .premium-real-device-mockup { width:112% !important; height:100% !important; margin-left:-6% !important; object-fit:cover !important; object-position:center !important; }
  body.premium-home .premium-services { margin-top:12px !important; padding:25px 12px 14px !important; border-radius:23px !important; }
  body.premium-home .premium-section-head { padding-inline:4px !important; margin-bottom:16px !important; }
  body.premium-home .premium-section-head h2,body.premium-home .home-section-intro h2,body.premium-home .home-flow h2,body.premium-home .home-ecosystem h2,body.premium-home .premium-why h2 { font-size:27px !important; }
  body.premium-home .premium-service-grid { display:flex !important; gap:11px !important; overflow-x:auto; padding:2px 2px 12px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  body.premium-home .premium-service-grid::-webkit-scrollbar { display:none; }
  body.premium-home .premium-service-card,body.premium-home .premium-service-card:last-child { display:flex !important; flex:0 0 78vw !important; min-height:336px !important; grid-template-columns:none !important; scroll-snap-align:start; }
  body.premium-home .premium-service-image,body.premium-home .premium-service-card:last-child .premium-service-image { order:1 !important; grid-column:auto !important; grid-row:auto !important; height:168px !important; min-height:168px !important; }
  body.premium-home .premium-service-body { min-height:165px; padding:15px 16px; }
  body.premium-home .premium-service-card p { font-size:10.5px !important; }
  body.premium-home .home-brand-marquee { margin-top:12px; }
  body.premium-home .home-brand-marquee-group>span { min-width:155px; padding:15px 20px; font-size:11px; }
  body.premium-home .home-actions { margin-top:12px; padding:34px 2px 18px; }
  body.premium-home .home-section-intro { margin-bottom:20px; padding-inline:8px; text-align:left; }
  body.premium-home .home-section-intro p { font-size:12px; }
  body.premium-home .home-action-grid { display:flex; gap:10px; overflow-x:auto; padding:2px 2px 12px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  body.premium-home .home-action-grid::-webkit-scrollbar { display:none; }
  body.premium-home .home-action-card { flex:0 0 72vw; min-height:150px; scroll-snap-align:start; }
  body.premium-home .home-flow { margin-top:12px; border-radius:23px; }
  body.premium-home .home-flow-copy { padding:31px 22px; }
  body.premium-home .home-flow-steps { padding:17px 22px 25px; }
  body.premium-home .home-flow-steps::before { left:48px; top:50px; bottom:62px; }
  body.premium-home .home-flow-step { grid-template-columns:52px 1fr; gap:13px; padding:13px 0; }
  body.premium-home .home-flow-step>span { width:52px; height:52px; }
  body.premium-home .home-flow-step h3 { font-size:15px; }
  body.premium-home .home-flow-step p { font-size:10.5px; }
  body.premium-home .home-ecosystem { margin-top:12px; padding:30px 20px; border-radius:23px; }
  body.premium-home .home-metric-grid { grid-template-columns:1fr 1fr; }
  body.premium-home .home-metric-grid>div { min-height:90px; }
  body.premium-home .home-metric-grid>div:nth-child(2){border-right:0} body.premium-home .home-metric-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}
  body.premium-home .premium-why { margin-top:12px !important; padding:25px 16px !important; }
  body.premium-home .premium-why-grid { grid-template-columns:1fr 1fr !important; }
  body.premium-home .premium-why-item { display:flex !important; min-height:118px !important; padding:14px 10px !important; flex-direction:column; align-items:flex-start !important; border:1px solid #edf0f5 !important; }
  body.premium-home .home-faq { margin-top:12px; padding:29px 20px; border-radius:23px; }
  body.premium-home .home-faq .home-section-intro { padding:0; }
  body.premium-home .home-faq summary { min-height:62px; font-size:12px; }
  body.premium-home .premium-business { margin-top:12px !important; padding:30px 22px !important; border-radius:23px !important; }
}

@media(prefers-reduced-motion:reduce){
  body.premium-home .home-brand-marquee-track { animation:none; }
  body.premium-home.home-motion-ready [data-home-reveal] { opacity:1; transform:none; transition:none; }
}
