/* MNSOFT V15 — clean, responsive visual layer */
:root {
  --v15-container: 1240px;
  --v15-ink: #071326;
  --v15-text: #263650;
  --v15-muted: #63738d;
  --v15-blue: #2d63ff;
  --v15-blue-2: #5d8bff;
  --v15-cyan: #20b8d8;
  --v15-green: #13b982;
  --v15-soft: #f3f7fd;
  --v15-line: #d9e3f0;
  --v15-white: #fff;
  --v15-shadow: 0 20px 60px rgba(7,19,38,.10);
  --v15-radius: 24px;
}

body.ui-v15 {
  overflow-x: hidden;
  color: var(--v15-text);
  background: #fff;
  font-size: 16px;
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}
body.ui-v15 *, body.ui-v15 *::before, body.ui-v15 *::after { box-sizing: border-box; }
body.ui-v15 img, body.ui-v15 svg { display: block; max-width: 100%; }
body.ui-v15 h1, body.ui-v15 h2, body.ui-v15 h3, body.ui-v15 h4,
body.ui-v15 p, body.ui-v15 li, body.ui-v15 span, body.ui-v15 strong,
body.ui-v15 small, body.ui-v15 a, body.ui-v15 button {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}
body.ui-v15 p, body.ui-v15 li { line-height: 1.74; }
body.ui-v15 .container {
  width: min(var(--v15-container), calc(100% - 48px)) !important;
  margin-inline: auto !important;
}
body.ui-v15 .section { padding-block: clamp(64px, 7vw, 96px) !important; }
body.ui-v15 .section-soft, body.ui-v15 .v15-section-soft { background: var(--v15-soft) !important; }
body.ui-v15 .section-heading { margin-bottom: 34px !important; }
body.ui-v15 .section-heading h2 {
  max-width: 18ch !important;
  margin-bottom: 16px !important;
  font-size: clamp(2.05rem, 3.6vw, 3.6rem) !important;
  line-height: 1.03 !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
}
body.ui-v15 .section-heading p {
  max-width: 66ch !important;
  margin: 0 !important;
  color: var(--v15-muted) !important;
  font-size: 1.03rem !important;
}
body.ui-v15 .split {
  grid-template-columns: minmax(0, 1fr) minmax(340px, .82fr) !important;
  gap: 38px !important;
  align-items: end !important;
}
body.ui-v15 .split > p { max-width: 58ch !important; margin: 0 0 6px !important; }

/* local/file friendly: hide irrelevant PWA-only UI */
body.ui-v15 .skip-link {
  position: fixed !important;
  top: -100px !important;
  left: 18px !important;
  z-index: 10000 !important;
  opacity: 0 !important;
}
body.ui-v15 .skip-link:focus { top: 18px !important; opacity: 1 !important; }

/* Header and mobile navigation */
body.ui-v15 .site-header { position: sticky; top: 0; z-index: 900; }
body.ui-v15 .nav-shell { min-height: 76px; gap: 22px; }
body.ui-v15 .brand { flex: 0 0 auto; }
body.ui-v15 .brand img { width: 168px; height: auto; }
body.ui-v15 .nav-links { gap: 20px; }
body.ui-v15 .nav-links a { white-space: nowrap; }
body.ui-v15 .mobile-panel {
  position: fixed !important;
  inset: 0 0 0 auto !important;
  width: min(390px, 92vw) !important;
  max-width: 100% !important;
  transform: translateX(105%) !important;
  overflow-y: auto !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: transform .28s ease, visibility .28s !important;
}
body.ui-v15.menu-open .mobile-panel {
  transform: translateX(0) !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
body.ui-v15 .mobile-links a { padding-block: 14px; font-size: 1.03rem; }
body.ui-v15 .mobile-actions { display: grid; gap: 10px; }
body.ui-v15 .mobile-actions .btn { width: 100%; justify-content: center; }

/* Reading tools */
body.ui-v15 .reading-tools {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  min-height: 46px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px max(24px, calc((100vw - var(--v15-container)) / 2)) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v15-line) !important;
  border-radius: 0 !important;
  background: #f8faff !important;
  box-shadow: none !important;
}
body.ui-v15 .reading-tools button { flex: 0 0 auto; }

/* Compact editorial headings used on home */
body.ui-v15 .v14-intro,
body.ui-v15 .v14-portfolio-group-intro,
body.ui-v15 .v14-portfolio-entry-intro,
body.ui-v15 .v14-company-intro,
body.ui-v15 .v14-section-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .8fr) !important;
  grid-template-areas: "label copy" "title copy" !important;
  column-gap: 50px !important;
  row-gap: 11px !important;
  align-items: end !important;
  margin: 0 0 38px !important;
}
body.ui-v15 .v14-intro > .eyebrow,
body.ui-v15 .v14-portfolio-group-intro > .eyebrow,
body.ui-v15 .v14-company-intro > .eyebrow,
body.ui-v15 .v14-section-head > .eyebrow { grid-area: label; }
body.ui-v15 .v14-intro > h2,
body.ui-v15 .v14-portfolio-group-intro > h2,
body.ui-v15 .v14-company-intro > h2,
body.ui-v15 .v14-section-head > h2 {
  grid-area: title;
  max-width: 15ch !important;
  margin: 0 !important;
  font-size: clamp(2.2rem, 3.8vw, 3.8rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
}
body.ui-v15 .v14-intro > p,
body.ui-v15 .v14-portfolio-group-intro > p,
body.ui-v15 .v14-company-intro > p,
body.ui-v15 .v14-section-head > p {
  grid-area: copy;
  max-width: 58ch !important;
  margin: 0 !important;
  color: var(--v15-muted) !important;
  font-size: 1.04rem !important;
}
body.ui-v15 .v14-intro-clients { display: block !important; max-width: 900px; margin-inline: auto !important; text-align: center; }
body.ui-v15 .v14-intro-clients h2 { max-width: 18ch !important; margin-inline: auto !important; }
body.ui-v15 .v14-intro-clients p { margin: 16px auto 0 !important; max-width: 68ch !important; }

/* Home product cards */
body.ui-v15 .product-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
body.ui-v15 .product-card {
  min-width: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
body.ui-v15 .product-card-neo {
  grid-column: span 2 !important;
  display: grid !important;
  grid-template-columns: minmax(280px, .92fr) minmax(0, 1.08fr) !important;
}
body.ui-v15 .product-card-neo .product-photo {
  min-height: 100% !important;
  display: grid !important;
  place-items: center !important;
  padding: 24px !important;
  background: #eff4fb !important;
}
body.ui-v15 .product-card-neo .product-photo img {
  width: 100% !important;
  height: auto !important;
  max-height: 340px !important;
  object-fit: contain !important;
}
body.ui-v15 .v15-card-visual {
  margin: -1px -1px 18px !important;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-bottom: 1px solid var(--v15-line);
  background: var(--v15-soft);
}
body.ui-v15 .v15-card-visual img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
body.ui-v15 .product-card > .product-icon,
body.ui-v15 .product-card > .product-code,
body.ui-v15 .product-card > h3,
body.ui-v15 .product-card > p,
body.ui-v15 .product-card > .product-question,
body.ui-v15 .product-card > .text-link { margin-inline: 24px !important; }
body.ui-v15 .product-card > .text-link { margin-top: auto !important; margin-bottom: 24px !important; }
body.ui-v15 .product-card p, body.ui-v15 .product-question { line-height: 1.68 !important; }

/* Factory section on home */
body.ui-v15 .v14-factory-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.03fr) minmax(380px, .97fr) !important;
  gap: 44px !important;
  align-items: center !important;
}
body.ui-v15 .v14-factory-copy h2 {
  max-width: 14ch !important;
  margin: 10px 0 20px !important;
  font-size: clamp(2.25rem, 3.7vw, 3.8rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
}
body.ui-v15 .v14-factory-copy > p { max-width: 65ch !important; color: var(--v15-muted) !important; }
body.ui-v15 .v14-factory-steps { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; margin: 26px 0 !important; }
body.ui-v15 .v14-factory-steps article { min-width: 0; }
body.ui-v15 .v14-factory-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin: 0;
  border-radius: 28px;
  background: var(--v15-ink);
  box-shadow: var(--v15-shadow);
}
body.ui-v15 .v14-factory-media > img { width: 100%; height: 100%; object-fit: cover; }
body.ui-v15 .v14-quality-band { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 12px !important; margin-top: 34px !important; }
body.ui-v15 .v14-quality-band > div { min-width: 0; }

/* Sectors */
body.ui-v15 .sector-grid-v14 { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 18px !important; }
body.ui-v15 .sector-card-v14 { min-width: 0 !important; }

/* Company vector */
body.ui-v15 .company-sectors-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important; gap: 48px !important; align-items: center !important; }
body.ui-v15 .v15-company-visual { position: relative; margin: 0; overflow: hidden; border-radius: 28px; box-shadow: var(--v15-shadow); background: var(--v15-soft); }
body.ui-v15 .v15-company-visual img { width: 100%; height: auto; }
body.ui-v15 .v15-company-visual figcaption { padding: 18px 22px; border-top: 1px solid var(--v15-line); background: #fff; }
body.ui-v15 .v15-company-visual figcaption strong, body.ui-v15 .v15-company-visual figcaption span { display: block; }
body.ui-v15 .v15-company-visual figcaption span { margin-top: 5px; color: var(--v15-muted); }

/* Factory page visual */
body.ui-v15 .v15-factory-hero-visual { margin: 22px 0 0; overflow: hidden; border-radius: 20px; }
body.ui-v15 .v15-factory-hero-visual img { width: 100%; height: auto; }

/* Portfolio hero */
body.ui-v15 .v15-portfolio-page { background: #fff; }
body.ui-v15 .v15-portfolio-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(72px, 8vw, 112px);
  color: #fff;
  background: radial-gradient(circle at 90% 0, rgba(45,99,255,.32), transparent 34%), linear-gradient(135deg, #071326, #0c2850 70%);
}
body.ui-v15 .v15-portfolio-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .16;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 58px 58px;
}
body.ui-v15 .v15-portfolio-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 54px; align-items: center; }
body.ui-v15 .v15-portfolio-hero-copy h1 {
  max-width: 12ch;
  margin: 14px 0 24px;
  font-size: clamp(3rem, 5.3vw, 5.5rem);
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: balance;
}
body.ui-v15 .v15-portfolio-hero-copy > p { max-width: 65ch; color: rgba(255,255,255,.80); font-size: 1.08rem; }
body.ui-v15 .v15-hero-proof { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
body.ui-v15 .v15-hero-proof span { padding: 8px 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: rgba(255,255,255,.84); background: rgba(255,255,255,.06); font-size: .74rem; font-weight: 750; }
body.ui-v15 .v15-portfolio-hero-media { margin: 0; min-width: 0; overflow: hidden; border-radius: 30px; background: #071326; box-shadow: 0 32px 80px rgba(0,0,0,.34); }
body.ui-v15 .v15-portfolio-hero-media img { width: 100%; height: auto; }
body.ui-v15 .v15-portfolio-hero-media figcaption { padding: 14px 18px 18px; color: rgba(255,255,255,.72); font-size: .88rem; }

body.ui-v15 .v15-portfolio-nav { position: sticky; top: 76px; z-index: 820; overflow-x: auto; border-bottom: 1px solid var(--v15-line); background: rgba(255,255,255,.97); backdrop-filter: blur(18px); }
body.ui-v15 .v15-portfolio-nav .container { display: flex; gap: 24px; min-height: 58px; align-items: center; overflow-x: auto; scrollbar-width: thin; white-space: nowrap; }
body.ui-v15 .v15-portfolio-nav a { flex: 0 0 auto; color: #43526b; font-size: .78rem; font-weight: 800; }
body.ui-v15 .v15-portfolio-nav a:hover { color: var(--v15-blue); }

/* Problem navigation */
body.ui-v15 .v15-section-intro { max-width: 920px; margin-bottom: 34px; }
body.ui-v15 .v15-section-intro h2 { max-width: 18ch; margin: 8px 0 14px; font-size: clamp(2.2rem, 3.7vw, 3.7rem); line-height: 1.03; letter-spacing: -.035em; }
body.ui-v15 .v15-section-intro p { max-width: 70ch; margin: 0; color: var(--v15-muted); }
body.ui-v15 .v15-problem-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
body.ui-v15 .v15-problem-grid a { min-height: 190px; display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--v15-line); border-radius: 20px; background: #fff; box-shadow: 0 10px 30px rgba(7,19,38,.05); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
body.ui-v15 .v15-problem-grid a:hover { transform: translateY(-4px); border-color: #aebfe8; box-shadow: var(--v15-shadow); }
body.ui-v15 .v15-problem-grid .icon { width: 38px; height: 38px; margin-bottom: 26px; color: var(--v15-blue); }
body.ui-v15 .v15-problem-grid strong { color: var(--v15-ink); font-size: 1.17rem; line-height: 1.28; }
body.ui-v15 .v15-problem-grid span { margin-top: auto; padding-top: 18px; color: var(--v15-muted); font-size: .92rem; }

/* Product storytelling sections */
body.ui-v15 .v15-product-section { overflow: hidden; }
body.ui-v15 .v15-product-dark { color: #fff; background: radial-gradient(circle at 88% 10%, rgba(45,99,255,.26), transparent 36%), #071326 !important; }
body.ui-v15 .v15-product-layout { display: grid; grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr); gap: clamp(38px, 5vw, 66px); align-items: center; }
body.ui-v15 .v15-product-reverse .v15-product-media { order: 2; }
body.ui-v15 .v15-product-reverse .v15-product-copy { order: 1; }
body.ui-v15 .v15-product-media { margin: 0; min-width: 0; overflow: hidden; border: 1px solid var(--v15-line); border-radius: 28px; background: #f5f8fd; box-shadow: var(--v15-shadow); }
body.ui-v15 .v15-product-dark .v15-product-media { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.06); }
body.ui-v15 .v15-product-media img { width: 100%; height: auto; }
body.ui-v15 .v15-product-copy { min-width: 0; }
body.ui-v15 .v15-product-code { display: inline-flex; margin-bottom: 14px; color: var(--v15-blue); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
body.ui-v15 .v15-product-dark .v15-product-code { color: #8eadff; }
body.ui-v15 .v15-product-copy h2 { max-width: 12ch; margin: 0 0 9px; color: var(--v15-ink); font-size: clamp(2.3rem, 4.1vw, 4.25rem); line-height: .98; letter-spacing: -.04em; text-wrap: balance; }
body.ui-v15 .v15-product-dark .v15-product-copy h2 { color: #fff; }
body.ui-v15 .v15-product-subtitle { max-width: 60ch; margin: 0 0 18px; color: #3c506f; font-size: 1.12rem; font-weight: 700; line-height: 1.55; }
body.ui-v15 .v15-product-dark .v15-product-subtitle { color: rgba(255,255,255,.84); }
body.ui-v15 .v15-product-copy > p:not(.v15-product-subtitle) { max-width: 67ch; color: var(--v15-muted); }
body.ui-v15 .v15-product-dark .v15-product-copy > p { color: rgba(255,255,255,.75); }
body.ui-v15 .v15-outcome-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin: 24px 0; }
body.ui-v15 .v15-outcome-grid > div { padding: 17px; border: 1px solid var(--v15-line); border-radius: 16px; background: var(--v15-soft); }
body.ui-v15 .v15-product-dark .v15-outcome-grid > div { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.06); }
body.ui-v15 .v15-outcome-grid strong, body.ui-v15 .v15-outcome-grid span { display: block; }
body.ui-v15 .v15-outcome-grid strong { color: var(--v15-ink); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
body.ui-v15 .v15-outcome-grid span { margin-top: 7px; color: var(--v15-muted); font-size: .86rem; line-height: 1.6; }
body.ui-v15 .v15-product-dark .v15-outcome-grid strong { color: #fff; }
body.ui-v15 .v15-product-dark .v15-outcome-grid span { color: rgba(255,255,255,.72); }
body.ui-v15 .v15-feature-list { list-style: none; display: grid; gap: 10px; margin: 0 0 26px; padding: 0; }
body.ui-v15 .v15-feature-list li { position: relative; padding-left: 26px; color: #334763; font-size: .94rem; }
body.ui-v15 .v15-feature-list li::before { content: '✓'; position: absolute; left: 0; top: 0; color: var(--v15-green); font-weight: 900; }
body.ui-v15 .v15-product-dark .v15-feature-list li { color: rgba(255,255,255,.88); }

/* Portfolio closing CTA */
body.ui-v15 .v15-portfolio-cta { background: linear-gradient(135deg, #eef4ff, #fff 62%); }
body.ui-v15 .v15-portfolio-cta-grid { display: grid; grid-template-columns: 1fr auto; gap: 42px; align-items: center; }
body.ui-v15 .v15-portfolio-cta h2 { max-width: 17ch; margin: 8px 0 14px; font-size: clamp(2.2rem, 3.5vw, 3.5rem); line-height: 1.03; }
body.ui-v15 .v15-portfolio-cta p { max-width: 70ch; color: var(--v15-muted); }
body.ui-v15 .v15-portfolio-cta-actions { min-width: 250px; display: grid; gap: 10px; }

/* Neo complementary architecture */
body.ui-v15 .v15-neo-architecture { background: #fff; }

/* Lightbox */
body.ui-v15 .lightbox-tip { display: none !important; }
body.ui-v15 .image-lightbox { position: fixed !important; inset: 0 !important; z-index: 10000 !important; display: grid !important; place-items: center !important; padding: 18px !important; background: rgba(2,8,20,.92) !important; }
body.ui-v15 .image-lightbox-dialog { width: min(1120px, 96vw) !important; max-height: 92vh !important; overflow: hidden !important; padding: 14px !important; border-radius: 24px !important; background: #0b1c39 !important; }
body.ui-v15 .image-lightbox img { width: 100% !important; height: auto !important; max-height: calc(92vh - 104px) !important; object-fit: contain !important; border-radius: 16px !important; background: #f5f8fd !important; }
body.ui-v15.lightbox-open { overflow: hidden; }

/* Cookie and floating action: no overlap on small screens */
body.ui-v15 .whatsapp-float { max-width: calc(100vw - 28px); }
body.ui-v15 .cookie-banner { max-width: min(680px, calc(100vw - 28px)); }

/* Tablet */
@media (max-width: 1180px) {
  body.ui-v15 .nav-links, body.ui-v15 .nav-actions { display: none !important; }
  body.ui-v15 .menu-toggle { display: inline-flex !important; }
  body.ui-v15 .v14-intro,
  body.ui-v15 .v14-portfolio-group-intro,
  body.ui-v15 .v14-portfolio-entry-intro,
  body.ui-v15 .v14-company-intro,
  body.ui-v15 .v14-section-head,
  body.ui-v15 .v14-factory-grid,
  body.ui-v15 .company-sectors-grid,
  body.ui-v15 .v15-portfolio-hero-grid,
  body.ui-v15 .v15-product-layout,
  body.ui-v15 .v15-portfolio-cta-grid {
    grid-template-columns: 1fr !important;
    grid-template-areas: none !important;
  }
  body.ui-v15 .v14-intro > *,
  body.ui-v15 .v14-portfolio-group-intro > *,
  body.ui-v15 .v14-company-intro > *,
  body.ui-v15 .v14-section-head > * { grid-area: auto !important; }
  body.ui-v15 .v15-product-reverse .v15-product-media,
  body.ui-v15 .v15-product-reverse .v15-product-copy { order: initial; }
  body.ui-v15 .v15-product-media { max-width: 900px; }
  body.ui-v15 .v15-portfolio-hero-media { max-width: 900px; }
  body.ui-v15 .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  body.ui-v15 .product-card-neo { grid-column: 1 / -1 !important; }
  body.ui-v15 .v15-problem-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  body.ui-v15 .sector-grid-v14 { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  body.ui-v15 .v14-quality-band { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  body.ui-v15 .v15-portfolio-cta-actions { min-width: 0; max-width: 440px; }
}

/* Mobile */
@media (max-width: 760px) {
  body.ui-v15 .container { width: min(var(--v15-container), calc(100% - 28px)) !important; }
  body.ui-v15 .section { padding-block: 52px !important; }
  body.ui-v15 .top-note { display: none !important; }
  body.ui-v15 .nav-shell { min-height: 68px; }
  body.ui-v15 .brand img { width: 145px; }
  body.ui-v15 .reading-tools { justify-content: center !important; padding: 5px 10px !important; }
  body.ui-v15 .reading-tools-label { display: inline !important; font-size: .68rem !important; }
  body.ui-v15 h1 { font-size: clamp(2.3rem, 11vw, 3.5rem) !important; line-height: 1 !important; }
  body.ui-v15 .section-heading h2,
  body.ui-v15 .v14-intro > h2,
  body.ui-v15 .v14-portfolio-group-intro > h2,
  body.ui-v15 .v14-company-intro > h2,
  body.ui-v15 .v14-section-head > h2,
  body.ui-v15 .v15-section-intro h2,
  body.ui-v15 .v15-portfolio-cta h2,
  body.ui-v15 .v14-factory-copy h2 {
    max-width: none !important;
    font-size: clamp(1.95rem, 8.7vw, 2.8rem) !important;
    line-height: 1.05 !important;
  }
  body.ui-v15 .v14-intro,
  body.ui-v15 .v14-portfolio-group-intro,
  body.ui-v15 .v14-portfolio-entry-intro,
  body.ui-v15 .v14-company-intro,
  body.ui-v15 .v14-section-head { gap: 10px !important; margin-bottom: 28px !important; }
  body.ui-v15 .product-grid,
  body.ui-v15 .v15-problem-grid,
  body.ui-v15 .sector-grid-v14,
  body.ui-v15 .v14-factory-steps,
  body.ui-v15 .v14-quality-band,
  body.ui-v15 .v15-outcome-grid { grid-template-columns: 1fr !important; }
  body.ui-v15 .product-card-neo { grid-template-columns: 1fr !important; }
  body.ui-v15 .product-card-neo .product-photo { min-height: 230px !important; }
  body.ui-v15 .product-card-neo .product-photo img { max-height: 210px !important; }
  body.ui-v15 .v15-card-visual { aspect-ratio: 16 / 10; }
  body.ui-v15 .v14-factory-media { aspect-ratio: 16 / 11; }
  body.ui-v15 .v14-quality-band > div { min-height: auto; }
  body.ui-v15 .v15-portfolio-hero { padding-block: 62px; }
  body.ui-v15 .v15-portfolio-hero-copy h1 { max-width: none; font-size: clamp(2.45rem, 12vw, 4rem); }
  body.ui-v15 .v15-portfolio-hero-copy > p { font-size: 1rem; }
  body.ui-v15 .v15-portfolio-nav { top: 68px; }
  body.ui-v15 .v15-portfolio-nav .container { width: 100% !important; padding-inline: 14px; }
  body.ui-v15 .v15-problem-grid a { min-height: auto; }
  body.ui-v15 .v15-product-layout { gap: 28px; }
  body.ui-v15 .v15-product-media { border-radius: 20px; }
  body.ui-v15 .v15-product-copy h2 { max-width: none; font-size: clamp(2.25rem, 11vw, 3.4rem); }
  body.ui-v15 .v15-product-subtitle { font-size: 1.02rem; }
  body.ui-v15 .v15-product-copy > p { font-size: .98rem; }
  body.ui-v15 .v15-feature-list li { font-size: .93rem; }
  body.ui-v15 .button-row { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  body.ui-v15 .button-row .btn,
  body.ui-v15 .v15-product-copy > .btn,
  body.ui-v15 .v15-portfolio-cta-actions .btn { width: 100%; justify-content: center; }
  body.ui-v15 .whatsapp-float { right: 14px !important; bottom: 14px !important; max-width: calc(100vw - 28px) !important; }
  body.ui-v15 .whatsapp-float strong { display: none; }
  body.ui-v15 .cookie-banner { left: 14px !important; right: 14px !important; bottom: 14px !important; width: auto !important; }
  body.ui-v15 .cookie-open .whatsapp-float { opacity: 0; visibility: hidden; pointer-events: none; }
  body.ui-v15 .image-lightbox { padding: 8px !important; }
  body.ui-v15 .image-lightbox-dialog { width: 100% !important; max-height: 96vh !important; padding: 9px !important; }
  body.ui-v15 .image-lightbox img { max-height: calc(96vh - 96px) !important; }
}

/* Extra small phones */
@media (max-width: 420px) {
  body.ui-v15 .container { width: calc(100% - 22px) !important; }
  body.ui-v15 .brand img { width: 132px; }
  body.ui-v15 .v15-hero-proof { gap: 6px; }
  body.ui-v15 .v15-hero-proof span { font-size: .67rem; padding: 7px 9px; }
  body.ui-v15 .product-card > .product-icon,
  body.ui-v15 .product-card > .product-code,
  body.ui-v15 .product-card > h3,
  body.ui-v15 .product-card > p,
  body.ui-v15 .product-card > .product-question,
  body.ui-v15 .product-card > .text-link { margin-inline: 18px !important; }
  body.ui-v15 .product-card > .text-link { margin-bottom: 20px !important; }
}

/* Factory cards and quality band — explicit styling independent of legacy layers */
body.ui-v15 .v14-factory-steps article {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 13px !important;
  align-items: start !important;
  padding: 17px !important;
  border: 1px solid var(--v15-line) !important;
  border-radius: 17px !important;
  background: #fff !important;
}
body.ui-v15 .v14-factory-steps article > span {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: var(--v15-blue) !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
}
body.ui-v15 .v14-factory-steps article > div { min-width: 0; }
body.ui-v15 .v14-factory-steps strong {
  display: block !important;
  margin: 1px 0 5px !important;
  color: var(--v15-ink) !important;
  line-height: 1.28 !important;
}
body.ui-v15 .v14-factory-steps p {
  margin: 0 !important;
  color: var(--v15-muted) !important;
  font-size: .88rem !important;
  line-height: 1.6 !important;
}
body.ui-v15 .v14-quality-band > div {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 4px 12px !important;
  align-items: start !important;
  padding: 17px !important;
  border: 1px solid var(--v15-line) !important;
  border-radius: 16px !important;
  background: var(--v15-soft) !important;
}
body.ui-v15 .v14-quality-band .icon {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  width: 28px !important;
  height: 28px !important;
  color: var(--v15-blue) !important;
}
body.ui-v15 .v14-quality-band strong {
  grid-column: 2 !important;
  display: block !important;
  color: var(--v15-ink) !important;
  line-height: 1.27 !important;
}
body.ui-v15 .v14-quality-band span {
  grid-column: 2 !important;
  display: block !important;
  color: var(--v15-muted) !important;
  font-size: .84rem !important;
  line-height: 1.55 !important;
}

/* Company section rebuilt with a crisp vector visual */
body.ui-v15 .v14-company-showcase {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}
body.ui-v15 .v14-company-main-media {
  position: relative !important;
  overflow: hidden !important;
  min-height: 470px !important;
  margin: 0 !important;
  border-radius: 28px !important;
  border: 1px solid var(--v15-line) !important;
  background: var(--v15-soft) !important;
  box-shadow: var(--v15-shadow) !important;
}
body.ui-v15 .v14-company-main-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
body.ui-v15 .v14-company-main-media::after { display: none !important; }
body.ui-v15 .v14-company-main-media figcaption {
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 16px !important;
  color: #fff !important;
  background: rgba(7,19,38,.88) !important;
}
body.ui-v15 .v14-company-main-media figcaption strong,
body.ui-v15 .v14-company-main-media figcaption span { display: block !important; }
body.ui-v15 .v14-company-main-media figcaption span { margin-top: 5px !important; color: rgba(255,255,255,.78) !important; }
body.ui-v15 .v14-company-cards { display: grid !important; gap: 14px !important; }
body.ui-v15 .v14-company-cards article {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0,1fr) !important;
  gap: 13px !important;
  align-content: center !important;
  padding: 21px !important;
  border: 1px solid var(--v15-line) !important;
  border-radius: 19px !important;
  background: var(--v15-soft) !important;
}
body.ui-v15 .v14-company-cards .icon { width: 28px !important; height: 28px !important; color: var(--v15-blue) !important; }
body.ui-v15 .v14-company-cards strong,
body.ui-v15 .v14-company-cards span { grid-column: 2 !important; display: block !important; }
body.ui-v15 .v14-company-cards strong { color: var(--v15-ink) !important; line-height: 1.25 !important; }
body.ui-v15 .v14-company-cards span { margin-top: 5px !important; color: var(--v15-muted) !important; font-size: .89rem !important; line-height: 1.58 !important; }

@media (max-width: 1180px) {
  body.ui-v15 .v14-company-showcase { grid-template-columns: 1fr !important; }
  body.ui-v15 .v14-company-main-media { min-height: 360px !important; }
}
@media (max-width: 760px) {
  body.ui-v15 .v14-company-main-media { min-height: 280px !important; }
  body.ui-v15 .v14-factory-steps article { padding: 15px !important; }
  body.ui-v15 .v14-quality-band > div { padding: 15px !important; }
}

/* Neo V14 structural blocks — restyled for V15 without relying on legacy V14 CSS */
body.ui-v15 .neo-hero-media-v14,
body.ui-v15 .neo-official-gallery {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 14px !important;
  min-width: 0 !important;
  padding: 15px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 29px !important;
  background: rgba(255,255,255,.055) !important;
}
body.ui-v15 .neo-media-card-v14 {
  position: relative !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  margin: 0 !important;
  border-radius: 20px !important;
  background: #f2f6fc !important;
}
body.ui-v15 .neo-media-device-v14 { grid-row: 1 / 3 !important; }
body.ui-v15 .neo-media-card-v14 > img {
  width: 100% !important;
  min-height: 210px !important;
  flex: 1 1 auto !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #f2f6fc !important;
}
body.ui-v15 .neo-media-device-v14 > img {
  min-height: 420px !important;
  object-fit: contain !important;
  padding: 20px !important;
}
body.ui-v15 .neo-media-card-v14 figcaption {
  display: block !important;
  padding: 14px 16px 16px !important;
  border-top: 1px solid var(--v15-line) !important;
  color: var(--v15-ink) !important;
  background: #fff !important;
}
body.ui-v15 .neo-media-card-v14 figcaption strong,
body.ui-v15 .neo-media-card-v14 figcaption span {
  display: block !important;
}
body.ui-v15 .neo-media-card-v14 figcaption strong {
  margin-bottom: 5px !important;
  color: var(--v15-ink) !important;
  font-size: .94rem !important;
  line-height: 1.32 !important;
}
body.ui-v15 .neo-media-card-v14 figcaption span {
  color: var(--v15-muted) !important;
  font-size: .81rem !important;
  line-height: 1.55 !important;
}

/* Neo download strip */
body.ui-v15 .neo-download-card {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 24px !important;
  align-items: center !important;
  padding: 26px 28px !important;
  border: 1px solid var(--v15-line) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(7,19,38,.05) !important;
}
body.ui-v15 .neo-download-card h2 { margin: 6px 0 10px !important; font-size: clamp(1.7rem,2.4vw,2.35rem) !important; }
body.ui-v15 .neo-download-card p { max-width: 70ch !important; margin: 0 !important; color: var(--v15-muted) !important; }
body.ui-v15 .neo-download-actions { display: grid !important; gap: 9px !important; min-width: 240px !important; }
body.ui-v15 .neo-download-actions span { color: var(--v15-muted) !important; font-size: .82rem !important; }

/* Minute Zero */
body.ui-v15 .minute-zero-v14 { background: #fff !important; }
body.ui-v15 .minute-zero-layout-v14 {
  display: grid !important;
  grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr) !important;
  gap: 34px !important;
  align-items: start !important;
}
body.ui-v15 .minute-zero-copy-v14 > p { max-width: 66ch !important; color: var(--v15-muted) !important; }
body.ui-v15 .minute-alert-v14 {
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  margin-top: 24px !important;
  padding: 18px !important;
  border-radius: 17px !important;
  color: #fff !important;
  background: var(--v15-ink) !important;
}
body.ui-v15 .minute-alert-v14 .icon { width: 28px !important; height: 28px !important; color: #8eadff !important; }
body.ui-v15 .minute-alert-v14 strong,
body.ui-v15 .minute-alert-v14 span { display: block !important; }
body.ui-v15 .minute-alert-v14 strong { margin-bottom: 5px !important; color: #fff !important; line-height: 1.35 !important; }
body.ui-v15 .minute-alert-v14 span { color: rgba(255,255,255,.75) !important; font-size: .86rem !important; line-height: 1.6 !important; }
body.ui-v15 .minute-flow-v14 {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 13px !important;
}
body.ui-v15 .minute-flow-v14 article {
  position: relative !important;
  min-width: 0 !important;
  min-height: 210px !important;
  padding: 21px !important;
  border: 1px solid var(--v15-line) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(7,19,38,.05) !important;
}
body.ui-v15 .minute-flow-v14 .icon { width: 32px !important; height: 32px !important; margin: 25px 0 16px !important; color: var(--v15-blue) !important; }
body.ui-v15 .minute-step-v14 {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  padding: 5px 8px !important;
  border-radius: 999px !important;
  color: var(--v15-blue) !important;
  background: #eaf0ff !important;
  font-size: .66rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
body.ui-v15 .minute-flow-v14 h3 { margin: 0 0 8px !important; color: var(--v15-ink) !important; font-size: 1.18rem !important; line-height: 1.2 !important; }
body.ui-v15 .minute-flow-v14 p { margin: 0 !important; color: var(--v15-muted) !important; font-size: .9rem !important; line-height: 1.62 !important; }
body.ui-v15 .minute-risk-v14 { grid-column: 1 / -1 !important; min-height: auto !important; background: #f8faff !important; }

/* Neo process */
body.ui-v15 .neo-process-v14 {
  color: #fff !important;
  background: radial-gradient(circle at 85% 0,rgba(45,99,255,.22),transparent 34%), radial-gradient(circle at 0 100%,rgba(32,184,216,.10),transparent 31%), #071326 !important;
}
body.ui-v15 .v14-section-head-light { color: #fff !important; }
body.ui-v15 .v14-section-head-light .eyebrow { color: #8eadff !important; }
body.ui-v15 .v14-section-head-light h2 { color: #fff !important; }
body.ui-v15 .v14-section-head-light p { color: rgba(255,255,255,.73) !important; }
body.ui-v15 .v14-section-head-center { max-width: 1120px !important; margin-inline: auto !important; margin-bottom: 34px !important; }
body.ui-v15 .neo-process-grid-v14 {
  list-style: none !important;
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 14px !important;
  padding: 0 !important;
  margin: 0 !important;
  counter-reset: none !important;
}
body.ui-v15 .neo-process-grid-v14 li {
  position: relative !important;
  min-width: 0 !important;
  min-height: 220px !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 22px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.06) !important;
}
body.ui-v15 .neo-process-grid-v14 li::marker { content: '' !important; }
body.ui-v15 .neo-process-grid-v14 li > span {
  display: inline-grid !important;
  place-items: center !important;
  width: 40px !important;
  height: 40px !important;
  margin-bottom: 24px !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: var(--v15-blue) !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
}
body.ui-v15 .neo-process-grid-v14 h3 { margin: 0 0 10px !important; color: #fff !important; font-size: 1.22rem !important; line-height: 1.18 !important; }
body.ui-v15 .neo-process-grid-v14 p { margin: 0 !important; color: rgba(255,255,255,.72) !important; font-size: .91rem !important; line-height: 1.65 !important; }
body.ui-v15 .neo-evidence-v14 {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 12px !important;
  margin-top: 24px !important;
  padding: 18px !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 23px !important;
  background: rgba(255,255,255,.045) !important;
}
body.ui-v15 .neo-evidence-v14 article { min-width: 0 !important; padding: 17px !important; border-radius: 16px !important; background: rgba(255,255,255,.065) !important; }
body.ui-v15 .neo-evidence-v14 strong { display: block !important; margin-bottom: 6px !important; color: #fff !important; line-height: 1.25 !important; }
body.ui-v15 .neo-evidence-v14 p { margin: 0 !important; color: rgba(255,255,255,.68) !important; font-size: .84rem !important; line-height: 1.58 !important; }

/* Neo risk */
body.ui-v15 .v14-risk-section { background: #fff !important; }
body.ui-v15 .v14-risk-intro { max-width: 900px !important; margin-bottom: 30px !important; }
body.ui-v15 .v14-risk-intro h2 { max-width: 17ch !important; margin: 10px 0 16px !important; font-size: clamp(2.25rem,3.7vw,3.8rem) !important; line-height: 1.02 !important; }
body.ui-v15 .v14-risk-intro p { max-width: 70ch !important; color: var(--v15-muted) !important; }
body.ui-v15 .v14-risk-grid { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 14px !important; }
body.ui-v15 .v14-risk-grid article { min-width: 0 !important; min-height: 185px !important; padding: 22px !important; border: 1px solid #f0cfd5 !important; border-radius: 20px !important; background: #fff !important; }
body.ui-v15 .v14-risk-grid article > span { display: block !important; margin-bottom: 7px !important; color: var(--v15-text) !important; }
body.ui-v15 .v14-risk-grid strong { display: block !important; margin-bottom: 10px !important; color: var(--v15-ink) !important; font-size: 1.22rem !important; line-height: 1.15 !important; }
body.ui-v15 .v14-risk-grid p { margin: 0 !important; color: var(--v15-muted) !important; font-size: .9rem !important; line-height: 1.62 !important; }
body.ui-v15 .v14-risk-message { grid-column: 1 / -1 !important; padding: 15px 18px !important; border-radius: 15px !important; color: var(--v15-blue) !important; background: #eef4ff !important; font-weight: 800 !important; text-align: center !important; }

@media (max-width: 1180px) {
  body.ui-v15 .neo-hero-media-v14,
  body.ui-v15 .neo-official-gallery,
  body.ui-v15 .minute-zero-layout-v14 { grid-template-columns: 1fr !important; grid-template-rows: auto !important; }
  body.ui-v15 .neo-media-device-v14 { grid-row: auto !important; }
  body.ui-v15 .neo-process-grid-v14,
  body.ui-v15 .neo-evidence-v14,
  body.ui-v15 .v14-risk-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.ui-v15 .minute-flow-v14 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.ui-v15 .minute-risk-v14 { grid-column: 1 / -1 !important; }
  body.ui-v15 .neo-download-card { grid-template-columns: 1fr !important; }
  body.ui-v15 .neo-download-actions { min-width: 0 !important; max-width: 440px !important; }
}
@media (max-width: 760px) {
  body.ui-v15 .neo-hero-media-v14,
  body.ui-v15 .neo-official-gallery { padding: 10px !important; gap: 10px !important; }
  body.ui-v15 .neo-media-card-v14 > img { min-height: 180px !important; }
  body.ui-v15 .neo-media-device-v14 > img { min-height: 230px !important; padding: 14px !important; }
  body.ui-v15 .minute-flow-v14,
  body.ui-v15 .neo-process-grid-v14,
  body.ui-v15 .neo-evidence-v14,
  body.ui-v15 .v14-risk-grid { grid-template-columns: 1fr !important; }
  body.ui-v15 .minute-risk-v14,
  body.ui-v15 .v14-risk-message { grid-column: auto !important; }
  body.ui-v15 .neo-process-grid-v14 li { min-height: auto !important; padding: 19px !important; }
  body.ui-v15 .neo-process-grid-v14 li > span { margin-bottom: 16px !important; }
  body.ui-v15 .neo-evidence-v14 { padding: 12px !important; }
  body.ui-v15 .minute-alert-v14 { grid-template-columns: 1fr !important; }
  body.ui-v15 .neo-download-actions .btn { width: 100% !important; justify-content: center !important; }
}
body.ui-v15 .v14-factory-media > img[src$=".svg"] {
  object-fit: contain !important;
  object-position: center !important;
  background: #071326 !important;
}
body.ui-v15 .v15-card-visual {
  display: grid !important;
  place-items: center !important;
  padding: 10px !important;
  background: #f3f7fd !important;
}
body.ui-v15 .v15-card-visual img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
