:root { --bg:#07111a; --bg-strong:#03080d; --panel:rgba(9,22,34,.91); --panel-soft:rgba(255,255,255,.05); --text:#f4f7fb; --muted:#bfccd7; --line:rgba(255,255,255,.14); --orange:#ec6d2f; --blue:#4bb4ff; --green:#39c68a; --gold:#d7a928; --red:#e05b5b; --cyan:#35d1d1; --neutral:#9aa9b5; --shadow:0 24px 70px rgba(0,0,0,.35); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } *{box-sizing:border-box} body{margin:0;color:var(--text);background:var(--bg)} a{color:inherit}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:92px;padding:0 70px;display:grid;grid-template-columns:250px 1fr auto;align-items:center;gap:32px;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.56),rgba(0,0,0,0))}.brand{display:flex;align-items:center;min-width:0;text-decoration:none;gap:12px}.brand img{display:block;object-fit:contain}.brand-logo-icon{height:54px;width:54px;flex:0 0 auto}.brand-logo-text{height:40px;width:188px;max-width:188px;flex:0 0 auto;object-fit:contain}.main-nav{display:flex;justify-content:center;gap:42px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.main-nav a,.header-actions a{text-decoration:none}.header-actions{display:flex;align-items:center;gap:22px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.login{padding:10px 16px;border:1px solid rgba(255,255,255,.38);border-radius:999px}.langs{display:flex;gap:12px;padding-left:20px;border-left:1px solid rgba(255,255,255,.35)}.langs a{opacity:.66}.langs a.active{opacity:1;color:var(--orange)}.hero{position:relative;overflow:hidden;min-height:620px;display:flex;align-items:center;padding:132px 72px 72px;background-image:none!important}.hero::before{content:"";position:absolute;inset:0;z-index:0;background:var(--hero-image) center center/cover no-repeat;transform:scale(1.012);will-change:transform,background-position}.hero-motion-dark::before,.hero-panorama-dark::before,.hero-stones-light::before{animation:heroDrift 24s ease-in-out infinite alternate}.hero-panorama-dark::before{background-position:center center;transform:scale(1.012)}.hero-stones-light::before{background-position:center center;transform:scale(1.012)}.hero-backdrop{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,12,18,.94) 0%,rgba(4,12,18,.76) 42%,rgba(4,12,18,.24) 100%)}.hero-stones-light .hero-backdrop{background:linear-gradient(90deg,rgba(248,246,240,.95) 0%,rgba(248,246,240,.82) 45%,rgba(248,246,240,.34) 100%)}.hero-stones-light .section-title{color:#b64d21}.hero-content{position:relative;z-index:2;max-width:920px}.eyebrow{margin:0 0 18px;color:var(--orange);font-weight:900;letter-spacing:.18em;text-transform:uppercase}h1{margin:0;font-size:clamp(36px,4.8vw,68px);line-height:.96;letter-spacing:-.045em;max-width:820px}.lead{max-width:700px;margin:26px 0 0;color:var(--muted);font-size:clamp(16px,1.28vw,22px);line-height:1.38;font-weight:500}.cta{display:inline-flex;align-items:center;gap:14px;margin-top:38px;padding:16px 24px;color:#fff;background:var(--orange);border-radius:7px;text-decoration:none;font-weight:900}.hero-stones-light h1,.hero-stones-light .lead{color:#13202c}.hero-stones-light .eyebrow{color:#b64d21}.section{padding:58px 72px}.section-title{margin:0 0 22px;color:var(--orange);font-size:14px;line-height:1.2;font-weight:900;letter-spacing:.32em;text-transform:uppercase}.products{display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:12px}.product-card{min-height:230px;padding:28px 30px;border:1px solid rgba(255,255,255,.12);border-top:4px solid var(--accent, var(--blue));background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));box-shadow:var(--shadow)}.product-index{display:none}.product-card h3{margin:0 0 14px;font-size:21px;line-height:1.12;letter-spacing:-.025em}.product-card p{margin:0;color:var(--muted);line-height:1.55}.news-section{padding-top:16px}.news{display:grid;grid-template-columns:repeat(var(--cols,2),1fr);gap:14px}.news-card{min-height:310px;display:grid;grid-template-columns:1.05fr 1fr;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-top:4px solid var(--accent, var(--blue));background:var(--panel);box-shadow:var(--shadow)}.news-card img{width:100%;height:100%;object-fit:cover}.news-card div{padding:32px}.news-card span{color:var(--accent, var(--blue));text-transform:uppercase;letter-spacing:.15em;font-weight:900;font-size:12px}.news-card h3{margin:18px 0 10px;font-size:23px;line-height:1.08}.news-card p{margin:0;color:var(--muted);line-height:1.55}.site-footer{margin-top:28px;padding:28px 72px 42px;display:flex;justify-content:space-between;gap:24px;background:var(--bg-strong);border-top:3px solid var(--orange)}.site-footer div{display:flex;flex-wrap:wrap;gap:24px}.site-footer a{color:var(--muted);text-decoration:none}.page-hero{min-height:380px;display:flex;align-items:end;padding:130px 72px 58px;background:linear-gradient(90deg,rgba(4,12,18,.94),rgba(4,12,18,.45)),var(--hero-image) center/cover no-repeat}.page-body{max-width:1180px;margin:0 auto;padding:48px 72px;display:grid;grid-template-columns:1fr;gap:18px}.page-card{padding:30px;background:var(--panel-soft);border:1px solid var(--line)}.load-error{max-width:920px;margin:12vh auto;padding:32px;font-family:system-ui,sans-serif}.load-error pre{white-space:pre-wrap;background:#101820;color:#f4f4f4;padding:16px;overflow:auto}@keyframes heroDrift{from{transform:scale(1.012) translate3d(-.45%,-.35%,0);background-position:center 48%}to{transform:scale(1.035) translate3d(.55%,.45%,0);background-position:center 52%}}@media(max-width:980px){.site-header{position:absolute;grid-template-columns:1fr;height:auto;padding:22px;gap:16px;background:rgba(0,0,0,.5)}.brand-logo-icon{height:54px;width:54px;flex:0 0 auto}.brand-logo-text{height:40px;width:188px;max-width:188px;flex:0 0 auto;object-fit:contain}.main-nav,.header-actions{justify-content:flex-start;flex-wrap:wrap}.hero{min-height:650px;padding:220px 24px 62px}.section{padding:42px 24px}.products,.news,.page-body{grid-template-columns:1fr}.news-card{grid-template-columns:1fr}.site-footer{display:block;padding:28px 24px}}


/* v7.2: iconos elegantes de acceso a detalle en servicios y actualidad */
.product-card-has-link,
.news-card-has-link {
  position: relative;
}

.card-detail-link {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

.card-detail-link svg {
  width: 18px;
  height: 18px;
}

.card-detail-link:hover,
.card-detail-link:focus-visible {
  transform: translateY(-2px);
  color: #fff;
  background: var(--orange);
  border-color: rgba(255, 255, 255, 0.28);
  outline: none;
}

.product-card-has-link {
  padding-bottom: 72px;
}

.news-card-has-link {
  padding-bottom: 28px;
}

.news-card-has-link .card-detail-link {
  right: 22px;
  bottom: 22px;
}

@media (max-width: 720px) {
  .card-detail-link {
    right: 14px;
    bottom: 14px;
  }
}


/* v7.3: imagen hero panorámica con paneo y tipografías solicitadas */
.hero {
  overflow: hidden;
}

.hero-backdrop {
  background-size: cover;
  background-position: center center;
  animation: nvtkHeroPan 34s ease-in-out infinite alternate;
  will-change: transform, background-position;
}

@keyframes nvtkHeroPan {
  0% {
    transform: scale(1.035) translate3d(-1.8%, 0, 0);
    background-position: 42% center;
  }
  50% {
    transform: scale(1.055) translate3d(0.4%, -0.35%, 0);
    background-position: 50% center;
  }
  100% {
    transform: scale(1.075) translate3d(1.8%, 0.2%, 0);
    background-position: 58% center;
  }
}

h1 {
  margin: 0;
  font-size: clamp(36px, 4.8vw, 54px);
  line-height: .96;
  letter-spacing: -.045em;
  max-width: 820px;
}

.product-card h3 {
  margin: 0 0 14px;
  font-size: 19px;
  line-height: 1.12;
  letter-spacing: -.025em;
}


/* v7.4: barco completo visible + movimiento sutil sin recorte */
.hero-backdrop {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-color: #0b0c0d;
  transform: none;
  animation: nvtkHeroShipFullPan 28s ease-in-out infinite alternate;
  will-change: background-position, filter;
}

@keyframes nvtkHeroShipFullPan {
  0% {
    background-position: 47% 50%;
    filter: saturate(1.02) brightness(.96);
  }
  50% {
    background-position: 50% 49%;
    filter: saturate(1.06) brightness(1);
  }
  100% {
    background-position: 53% 50%;
    filter: saturate(1.03) brightness(.98);
  }
}

@media (max-width: 900px) {
  .hero-backdrop {
    background-size: contain;
    background-position: 50% 50%;
  }
}


/* v7.5: corrección visibilidad del hero ship */
.hero {
  background: #0b0c0d;
}

.hero-backdrop {
  background-image: var(--hero-image);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-color: #0b0c0d;
  opacity: 1;
  transform: none;
  animation: nvtkHeroShipFullPan 28s ease-in-out infinite alternate;
  will-change: background-position, filter;
}

@keyframes nvtkHeroShipFullPan {
  0% {
    background-position: 46% 50%;
    filter: saturate(1.03) brightness(.96);
  }
  50% {
    background-position: 50% 49%;
    filter: saturate(1.07) brightness(1);
  }
  100% {
    background-position: 54% 50%;
    filter: saturate(1.03) brightness(.98);
  }
}


/* v7.6: nueva imagen panorámica del barco */
.hero {
  background: #0b0c0d;
}

.hero-backdrop {
  background-image: var(--hero-image);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  opacity: 1;
  transform: none;
  animation: nvtkHeroShipPanV2 32s ease-in-out infinite alternate;
  will-change: background-position, filter;
}

@keyframes nvtkHeroShipPanV2 {
  0% {
    background-position: 45% 50%;
    filter: saturate(1.02) brightness(.96);
  }
  50% {
    background-position: 50% 49%;
    filter: saturate(1.06) brightness(1);
  }
  100% {
    background-position: 55% 50%;
    filter: saturate(1.03) brightness(.98);
  }
}


/* v7.7: restaura oscurecimiento lateral izquierdo del hero */
.hero {
  position: relative;
  isolation: isolate;
  background: #05090d;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      rgba(2, 7, 12, 0.92) 0%,
      rgba(2, 7, 12, 0.78) 22%,
      rgba(2, 7, 12, 0.44) 43%,
      rgba(2, 7, 12, 0.16) 66%,
      rgba(2, 7, 12, 0.05) 100%),
    linear-gradient(180deg,
      rgba(2, 7, 12, 0.26) 0%,
      rgba(2, 7, 12, 0.06) 42%,
      rgba(2, 7, 12, 0.42) 100%);
}

.hero-backdrop {
  z-index: 0;
}

.hero-content {
  position: relative;
  z-index: 2;
}


/* v7.8: padding de secciones y corrección de animación visible del hero */
.section {
  padding: 26px 72px 0px 72px;
}

.hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.hero-backdrop {
  position: absolute;
  inset: -3%;
  z-index: 0;
  background-image: var(--hero-image);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  opacity: 1;
  transform-origin: center center;
  animation: nvtkHeroShipVisibleMotion 30s ease-in-out infinite alternate;
  will-change: transform, background-position, filter;
}

@keyframes nvtkHeroShipVisibleMotion {
  0% {
    transform: scale(1.025) translate3d(-1.2%, -0.35%, 0);
    background-position: 47% 50%;
    filter: saturate(1.02) brightness(.96);
  }
  50% {
    transform: scale(1.045) translate3d(0.2%, 0.1%, 0);
    background-position: 50% 49%;
    filter: saturate(1.06) brightness(1);
  }
  100% {
    transform: scale(1.065) translate3d(1.2%, 0.35%, 0);
    background-position: 53% 50%;
    filter: saturate(1.03) brightness(.98);
  }
}

.hero::after {
  z-index: 1;
}

.hero-content {
  position: relative;
  z-index: 2;
}

/* v7.9: H1 consistente en home y páginas internas */
h1,
.hero h1,
.page-hero h1,
.detail-hero h1 {
  margin: 0;
  font-size: clamp(36px, 4.8vw, 54px);
  line-height: .96;
  letter-spacing: -.045em;
  max-width: 820px;
}

/* V5.362: carrusel de textos sobre imagen del hero */
.hero-carousel {
  position: absolute;
  z-index: 2;
  right: clamp(32px, 7vw, 96px);
  top: 50%;
  transform: translateY(-50%) translateX(10px);
  width: min(34vw, 460px);
  min-height: 3.2em;
  color: rgba(255, 255, 255, .86);
  font-size: clamp(16px, 1.55vw, 22px);
  line-height: 1.45;
  letter-spacing: -.015em;
  font-style: italic;
  font-weight: 400;
  text-align: left;
  text-shadow: 0 18px 42px rgba(0, 0, 0, .68);
  opacity: 0;
  transition: opacity .55s ease, transform .55s ease;
  pointer-events: none;
}

.hero-carousel.is-visible {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

@media (max-width: 980px) {
  .hero-carousel {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    width: auto;
    margin: 26px 24px 0;
  }

  .hero-carousel.is-visible {
    transform: none;
  }
}

/* V5.363: carrusel centrado en la segunda mitad horizontal del hero */
.hero-carousel {
  left: 50%;
  right: 0;
  width: 50%;
  max-width: none;
  box-sizing: border-box;
  padding: 0 clamp(32px, 5vw, 72px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transform: translateY(-50%) translateX(0);
}

.hero-carousel.is-visible {
  transform: translateY(-50%) translateX(0);
}

@media (max-width: 980px) {
  .hero-carousel {
    left: auto;
    right: auto;
    width: auto;
    max-width: none;
    padding: 0;
    display: block;
    text-align: left;
  }
}

/* V5.364: altura fija del cuadro principal hero */
.hero {
  height: 580px;
  min-height: 580px;
}



/* v8.2: news-card stacks image vertically when 3+ per row */
@media (min-width:981px) {
  .news[style*="--cols:3"] .news-card,
  .news[style*="--cols:4"] .news-card {
    grid-template-columns: 1fr;
    grid-template-rows: 180px auto;
    min-height: 340px;
  }
  .news[style*="--cols:3"] .news-card img,
  .news[style*="--cols:4"] .news-card img {
    width: 100%; height: 100%; object-fit: cover;
  }
}

/* V5.499: persisted landing image presentation. */
.hero::before {
  background-position: var(--hero-position-x, 50%) var(--hero-position-y, 50%);
  background-size: var(--hero-size, 100%);
}
.hero.nvtk-image-adjusted::before,
.hero[style*="--hero-size"]::before {
  animation: none;
}
.news-card img,
.blog-related a img {
  will-change: transform, object-position;
}

/* V5.500: image presentation scale supports 50% through 200%; values below 100% intentionally reveal the container background. */


/* V5.501: landing image presentation is clipped to the original design frame. */
.nvtk-image-clip-frame {
  position: relative;
  overflow: hidden !important;
  contain: paint;
}
.nvtk-image-clip-frame > img.nvtk-preview-editable-image,
.news-card > img,
.blog-related a > img {
  max-width: none;
  will-change: transform, object-position;
}
.hero,
.detail-hero,
.news-card,
.blog-related a {
  overflow: hidden;
  contain: paint;
}


/* V5.969: portable landing brand palette / light appearance */
.landing-light{--bg:var(--brand-bg,#f7f9ff);--bg-strong:#eef2ff;--panel:var(--brand-panel,#fff);--panel-soft:#fff;--text:var(--brand-text,#111b3c);--muted:var(--brand-muted,#5f6780);--line:rgba(17,27,60,.12);--orange:var(--brand-accent,#5157c2);--blue:var(--brand-primary,#5157c2);--shadow:0 12px 34px rgba(31,43,90,.10);background:var(--bg);color:var(--text)}
.landing-light .site-header{color:var(--text);background:rgba(255,255,255,.94);box-shadow:0 1px 0 rgba(17,27,60,.08);backdrop-filter:blur(12px)}
.landing-light .main-nav a,.landing-light .header-actions a{color:var(--text)}
.landing-light .login{border-color:rgba(81,87,194,.35);background:var(--brand-primary,#5157c2);color:#fff}
.landing-light .langs{border-left-color:rgba(17,27,60,.16)} .landing-light .langs a.active{color:var(--brand-primary,#5157c2)}
.landing-light .hero{background:#f7f9ff}.landing-light .hero::after{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 38%,rgba(255,255,255,.28) 70%,rgba(255,255,255,.10) 100%)}
.landing-light .hero h1,.landing-light .hero .lead{color:var(--text)} .landing-light .eyebrow,.landing-light .section-title{color:var(--brand-primary,#5157c2)}
.landing-light .cta{background:var(--brand-primary,#5157c2);color:#fff}.landing-light .hero-carousel{color:var(--text);text-shadow:none}
.landing-light .product-card,.landing-light .news-card{background:#fff;border-color:rgba(17,27,60,.10);box-shadow:var(--shadow);color:var(--text)}
.landing-light .product-card p,.landing-light .news-card p,.landing-light .site-footer a{color:var(--muted)}
.landing-light .card-detail-link{color:var(--brand-primary,#5157c2);background:#f3f4ff;border-color:rgba(81,87,194,.18);box-shadow:none}.landing-light .card-detail-link:hover{background:var(--brand-primary,#5157c2);color:#fff}
.landing-light .site-footer{background:#111b3c;border-top-color:var(--brand-primary,#5157c2);color:#fff}.landing-light .site-footer a{color:#dce1f5}


/* V6.046: configurable landing appearance + clipped news media */
.site-header {
  background: var(--brand-header-bg, linear-gradient(180deg,rgba(0,0,0,.56),rgba(0,0,0,0)));
  color: var(--brand-header-text, #fff);
}
.brand,
.main-nav a,
.header-actions a,
.header-actions .langs a {
  color: var(--brand-header-text, inherit);
}
.login {
  background: var(--brand-button-bg, transparent);
  color: var(--brand-button-text, #fff);
  border-color: color-mix(in srgb, var(--brand-button-text, #fff) 38%, transparent);
}
.site-footer {
  background: var(--brand-footer-bg, var(--bg-strong));
  color: var(--brand-footer-text, #fff);
  border-top-color: var(--brand-primary, var(--orange));
}
.site-footer strong,
.site-footer span,
.site-footer p {
  color: var(--brand-footer-text, inherit);
}
.site-footer a {
  color: color-mix(in srgb, var(--brand-footer-text, #fff) 78%, transparent);
}
.hero::after {
  background: var(--hero-overlay-gradient, linear-gradient(90deg, rgba(2, 7, 12, 0.92) 0%, rgba(2, 7, 12, 0.78) 22%, rgba(2, 7, 12, 0.44) 43%, rgba(2, 7, 12, 0.16) 66%, rgba(2, 7, 12, 0.05) 100%), linear-gradient(180deg, rgba(2, 7, 12, 0.26) 0%, rgba(2, 7, 12, 0.06) 42%, rgba(2, 7, 12, 0.42) 100%));
}
.news-card {
  align-items: stretch;
}
.news-card > .news-card-media {
  position: relative;
  overflow: hidden;
  min-width: 0;
  min-height: 100%;
  padding: 0;
  background: color-mix(in srgb, var(--panel) 88%, var(--bg) 12%);
}
.news-card > .news-card-media > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-card > .news-card-body {
  min-width: 0;
  padding: 32px;
  position: relative;
  z-index: 1;
}
.news-card > .news-card-body > * {
  position: relative;
  z-index: 1;
}
@media (min-width:981px) {
  .news[style*="--cols:3"] .news-card,
  .news[style*="--cols:4"] .news-card {
    grid-template-columns: 1fr;
    grid-template-rows: 180px auto;
    min-height: 340px;
  }
  .news[style*="--cols:3"] .news-card > .news-card-media,
  .news[style*="--cols:4"] .news-card > .news-card-media {
    min-height: 180px;
  }
  .news[style*="--cols:3"] .news-card > .news-card-media > img,
  .news[style*="--cols:4"] .news-card > .news-card-media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media (max-width:980px) {
  .news-card {
    grid-template-columns: 1fr;
  }
  .news-card > .news-card-media {
    min-height: 220px;
  }
}

/* V6.057: compatibility-isolated optional landing visuals */
.landing-scroll-cue-hero .hero {
  padding-bottom: 88px;
}
.landing-scroll-cue-hero .hero-scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  z-index: 3;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: inherit;
  opacity: .92;
}
.landing-scroll-cue-hero .hero-scroll-cue-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-align: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand-panel, #fff) 18%, transparent);
  backdrop-filter: blur(7px);
}
.landing-scroll-cue-hero .hero-scroll-cue-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand-button-bg, var(--orange)) 72%, transparent);
  color: var(--brand-button-text, #fff);
  box-shadow: 0 10px 22px rgba(0,0,0,.16);
  animation: nvtkScrollCueBounce 1.8s ease-in-out infinite;
}
@keyframes nvtkScrollCueBounce {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(6px); }
}

/* Background-image product cards: enabled only by an opted-in package/landing. */
.landing-product-cards-background .product-card {
  position: relative;
  overflow: hidden;
  color: var(--product-text-color, var(--text));
}
.landing-product-cards-background .product-card > .product-card-media {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.10)),
    linear-gradient(180deg, color-mix(in srgb, var(--product-overlay-color, #0B1422) calc(var(--product-overlay-opacity, 0) * 100%), transparent), color-mix(in srgb, var(--product-overlay-color, #0B1422) calc(var(--product-overlay-opacity, 0) * 100%), transparent)),
    var(--product-image, none);
  background-repeat: no-repeat;
  background-size: 100% 100%, 100% 100%, var(--product-size, cover);
  background-position: center center, center center, var(--product-position-x, 50%) var(--product-position-y, 50%);
  filter: saturate(1.02);
}
.landing-product-cards-background .product-card > .product-card-body,
.landing-product-cards-background .product-card > .card-detail-link {
  position: relative;
  z-index: 1;
}
.landing-product-cards-background .product-card > .product-card-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.landing-product-cards-background .product-card h3,
.landing-product-cards-background .product-card p {
  color: var(--product-text-color, inherit);
}
.landing-product-cards-background .product-card p { opacity: .96; }
.landing-light.landing-product-cards-background .product-card {
  color: var(--product-text-color, var(--text));
}

/* Icon product cards: enabled only when icon_image/variant is present. */
.landing-product-cards-icon .product-card {
  position: relative;
  overflow: hidden;
}
.landing-product-cards-icon .product-card > .product-card-icon-wrap {
  position: absolute;
  left: 18px;
  top: 24px;
  z-index: 1;
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent, var(--blue)) 7%, transparent);
  overflow: hidden;
}
.landing-product-cards-icon .product-card > .product-card-icon-wrap > .product-card-icon {
  width: 68px;
  height: 68px;
  object-fit: contain;
  opacity: var(--product-icon-opacity, .96);
}
.landing-product-cards-icon .product-card > .product-card-body,
.landing-product-cards-icon .product-card > .card-detail-link {
  position: relative;
  z-index: 1;
}

@media (max-width:980px) {
  .landing-scroll-cue-hero .hero-scroll-cue { bottom: 18px; }
  .landing-scroll-cue-hero .hero-scroll-cue-label {
    font-size: 11px;
    letter-spacing: .1em;
  }
}

/* V6.049: mapped hero features */
.hero-features {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 24px;
}
.hero-feature {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  max-width: 220px;
}
.hero-feature-icon {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1.6px solid color-mix(in srgb, var(--brand-accent, var(--orange)) 72%, transparent);
  color: color-mix(in srgb, var(--brand-accent, var(--orange)) 88%, #3f2b00 12%);
  font-size: 18px;
  line-height: 1;
  background: color-mix(in srgb, var(--brand-panel, #fff) 18%, transparent);
}
.hero-feature-icon-image {
  width: 22px;
  height: 22px;
  display: block;
  background: currentColor;
  -webkit-mask: var(--feature-icon-url) center / contain no-repeat;
  mask: var(--feature-icon-url) center / contain no-repeat;
}
.hero-feature-icon-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.hero-feature-copy {
  display: grid;
  gap: 4px;
}
.hero-feature-copy strong {
  font-size: 14px;
  line-height: 1.25;
  color: var(--text);
}
.hero-feature-copy span {
  font-size: 13px;
  line-height: 1.42;
  color: var(--muted);
}
@media (max-width: 980px) {
  .hero-features {
    gap: 14px;
  }
  .hero-feature {
    max-width: none;
  }
}



/* V6.063: preserve explicit line breaks entered in landing text fields. */
.hero h1,
.hero .lead,
.hero-feature-copy strong,
.hero-feature-copy span,
.product-card h3,
.product-card p,
.news-card span,
.news-card h3,
.news-card p,
.detail-hero .eyebrow,
.detail-hero h1,
.detail-hero .lead,
.detail-card h2,
.detail-card h3,
.detail-card p,
.blog-article h1,
.blog-article h2,
.blog-article h3,
.blog-article p,
.site-footer strong,
.site-footer a {
  white-space: pre-line;
}

/* V6.137: mobile landing density and non-overlapping header. Desktop remains unchanged. */
@media (max-width: 720px) {
  .site-header {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    height: auto;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    padding: 12px 16px 14px;
  }
  .brand { gap: 9px; }
  .brand-logo-icon { width: 42px; height: 42px; }
  .brand-logo-text { width: 150px; max-width: 150px; height: 32px; }
  .main-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
    gap: 8px 18px;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: .055em;
  }
  .main-nav a { min-width: 0; }
  .header-actions {
    justify-content: flex-start;
    gap: 10px;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: .05em;
  }
  .login { padding: 8px 13px; }
  .langs { gap: 10px; padding-left: 12px; }

  .hero {
    height: auto;
    min-height: 480px;
    padding: 30px 18px 38px;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
  }
  .landing-scroll-cue-hero .hero { padding-bottom: 72px; }
  .hero-content { width: 100%; max-width: none; }
  .eyebrow { margin-bottom: 12px; font-size: 12px; letter-spacing: .14em; }
  .hero h1 { font-size: clamp(30px, 9.6vw, 38px); line-height: 1; }
  .hero .lead { margin-top: 18px; font-size: 15px; line-height: 1.45; }
  .cta {
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 22px;
    padding: 10px 15px;
    gap: 10px;
    font-size: 14px;
    line-height: 1.2;
    white-space: normal;
  }
  .hero-carousel {
    margin: 24px 0 0;
    font-size: 15px;
    line-height: 1.45;
  }
  .hero-features { gap: 12px; margin-top: 18px; }
  .hero-feature { grid-template-columns: 36px minmax(0, 1fr); gap: 10px; }
  .hero-feature-icon { width: 36px; height: 36px; }

  .section { padding: 28px 16px 0; }
  .section-title { margin-bottom: 16px; font-size: 12px; letter-spacing: .24em; }
  .products, .news { gap: 10px; }
  .product-card { min-height: 0; padding: 18px; }
  .product-card-has-link { padding-bottom: 58px; }
  .product-card h3 { margin-bottom: 10px; font-size: 18px; }
  .product-card p { font-size: 14px; line-height: 1.45; }
  .landing-product-cards-icon .product-card > .product-card-icon-wrap {
    left: 16px;
    top: 18px;
    width: 64px;
    height: 64px;
  }
  .landing-product-cards-icon .product-card > .product-card-icon-wrap > .product-card-icon {
    width: 56px;
    height: 56px;
  }

  .news-card { min-height: 0; }
  .news-card > .news-card-media { min-height: 180px; }
  .news-card > .news-card-body { padding: 18px; }
  .news-card h3 { margin: 12px 0 8px; font-size: 19px; }
  .news-card p { font-size: 14px; line-height: 1.45; }
  .news-card-has-link { padding-bottom: 20px; }

  .site-footer { margin-top: 20px; padding: 22px 16px 28px; }
  .site-footer div { gap: 14px; }

  .page-hero { min-height: 260px; padding: 32px 18px 30px; }
  .page-hero h1 { font-size: clamp(30px, 9.6vw, 38px); line-height: 1; }
  .page-body { padding: 26px 16px 40px; gap: 12px; }
  .page-card { padding: 20px 18px; }
}

