:root {
  --bg: #070915;
  --bg-2: #0d1224;
  --panel: #11182c;
  --panel-2: #151e35;
  --surface: #f6f8fb;
  --surface-2: #ffffff;
  --text: #dfe8f4;
  --text-dark: #102033;
  --muted: #94a3b8;
  --muted-dark: #5c6a7f;
  --line: rgba(255, 255, 255, 0.12);
  --line-dark: #dce5ef;
  --magenta: #e11e79;
  --violet: #662d80;
  --coral: #ff4a24;
  --rose: #f06767;
  --purple: #8f3fe3;
  --purple-deep: #2b163b;
  --teal: #e11e79;
  --cyan: #ff4a24;
  --gold: #f2b84b;
  --danger: #f25d7a;
  --shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

html {
  scroll-behavior: smooth;
  max-width: 100%;
  overflow-x: clip;
}

body {
  margin: 0;
  color: var(--text);
  background: var(--bg);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  max-width: 100%;
  overflow-x: clip;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

:root {
  --site-header-height: 76px;
}

body.has-site-header {
  padding-top: var(--site-header-height);
}

.site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 30;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(10px, 1.2vw, 18px);
  padding: 10px clamp(16px, 3vw, 48px);
  color: #ffffff;
  background: rgba(7, 9, 21, 0.88);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(16px);
  transition: background-color 180ms ease, box-shadow 180ms ease;
}

.site-header.is-scrolled {
  background: rgba(7, 9, 21, 0.97);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.36);
}

.brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.brand img {
  width: clamp(190px, 17vw, 246px);
  height: auto;
  max-height: 52px;
  padding: 0;
  object-fit: contain;
  filter: drop-shadow(0 8px 18px rgba(225, 30, 121, 0.18));
}

.nav {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  color: rgba(255, 255, 255, 0.72);
  font-size: clamp(12px, 1vw, 13.5px);
  font-weight: 800;
}

.nav a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 7px clamp(7px, 0.8vw, 11px);
  border-radius: 8px;
}

.nav-group {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.nav-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: min(310px, 86vw);
  display: grid;
  gap: 4px;
  padding: 8px;
  color: #ffffff;
  background:
    radial-gradient(circle at 8% 0%, rgba(225, 30, 121, 0.18), transparent 32%),
    rgba(9, 12, 27, 0.96);
  border: 1px solid rgba(225, 30, 121, 0.32);
  border-radius: 8px;
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.36);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.nav-group:hover .nav-menu,
.nav-group:focus-within .nav-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nav-menu a {
  width: 100%;
  justify-content: flex-start;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(255, 255, 255, 0.05);
}

.nav a:hover,
.nav-action {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}

.nav .nav-link--store {
  color: #070915;
  background: #ffd400;
  border: 1px solid rgba(255, 212, 0, 0.86);
  box-shadow: 0 10px 26px rgba(255, 212, 0, 0.2);
}

.nav a[href*="certificacion/"] {
  color: #ffffff;
  background: linear-gradient(135deg, #e11e79 0%, #c11264 52%, #ff4a24 135%);
  border: 1px solid rgba(255, 93, 167, 0.9);
  box-shadow: 0 10px 26px rgba(225, 30, 121, 0.26);
  text-shadow: 0 1px 1px rgba(72, 0, 36, 0.35);
}

.nav a[href*="certificacion/"]:hover,
.nav a[href*="certificacion/"]:focus-visible {
  color: #ffffff;
  background: linear-gradient(135deg, #f02a88 0%, #d71970 52%, #ff5d35 135%);
  border-color: #ff78b5;
  box-shadow: 0 12px 30px rgba(225, 30, 121, 0.38);
  transform: translateY(-1px);
}

.nav .nav-link--store:hover {
  color: #070915;
  background: #ffe15a;
}

.nav .nav-whatsapp {
  color: #ffffff;
  background: #168b46;
  border: 1px solid #35c873;
  box-shadow: 0 10px 25px rgba(22, 139, 70, 0.24);
}

.nav .nav-whatsapp::before {
  content: "●";
  margin-right: 7px;
  color: #a8ffd0;
}

.nav .nav-whatsapp:hover,
.nav .nav-whatsapp:focus-visible {
  color: #ffffff;
  background: #20a858;
}

.nav-action {
  color: #f5f8ff;
  background: linear-gradient(135deg, rgba(225, 30, 121, 0.16), rgba(255, 74, 36, 0.1));
  border: 1px solid rgba(225, 30, 121, 0.42);
}

.is-temp-locked {
  cursor: not-allowed;
  opacity: 0.62;
}

.temp-lock-toast {
  position: fixed;
  right: clamp(18px, 4vw, 38px);
  bottom: clamp(18px, 4vw, 38px);
  z-index: 80;
  width: min(390px, calc(100vw - 36px));
  display: grid;
  gap: 4px;
  padding: 16px 18px;
  color: #ffffff;
  background: rgba(9, 12, 27, 0.96);
  border: 1px solid rgba(255, 212, 0, 0.54);
  border-left: 5px solid #ffd400;
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.temp-lock-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.temp-lock-toast strong {
  color: #ffd400;
  font-size: 14px;
  text-transform: uppercase;
}

.temp-lock-toast span {
  color: rgba(255, 255, 255, 0.82);
  font-weight: 800;
}

body.unit-locked main > :not(.unit-lock-screen) {
  display: none !important;
}

.unit-lock-screen {
  min-height: calc(100vh - 170px);
  display: grid;
  place-items: center;
  padding: clamp(42px, 8vw, 92px) clamp(18px, 5vw, 74px);
  background:
    radial-gradient(circle at 16% 8%, rgba(225, 30, 121, 0.24), transparent 34%),
    radial-gradient(circle at 88% 14%, rgba(255, 212, 0, 0.14), transparent 30%),
    linear-gradient(135deg, #070915, #18071b 52%, #070915);
}

.unit-lock-card {
  width: min(820px, 100%);
  padding: clamp(28px, 5vw, 48px);
  background: rgba(13, 18, 36, 0.84);
  border: 1px solid rgba(255, 212, 0, 0.32);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.unit-lock-card h1 {
  max-width: 720px;
  margin: 8px 0 14px;
  color: #ffffff;
  font-size: clamp(34px, 6vw, 66px);
  line-height: 0.98;
}

.unit-lock-card p:not(.eyebrow) {
  max-width: 680px;
  margin: 0 0 22px;
  color: rgba(255, 255, 255, 0.8);
  font-size: clamp(17px, 2vw, 21px);
  font-weight: 800;
}

.customer-access {
  position: fixed;
  right: 0;
  left: auto;
  top: 50%;
  z-index: 45;
  width: 48px;
  max-width: none;
  min-height: 148px;
  padding: 14px 10px;
  color: #ffffff;
  background: rgba(225, 30, 121, 0.16);
  border: 1px solid rgba(225, 30, 121, 0.48);
  border-radius: 12px 0 0 12px;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.15;
  overflow-wrap: anywhere;
  text-align: center;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.36);
  backdrop-filter: blur(12px);
  transform: translateY(-50%);
}

.hero-stage {
  padding: clamp(14px, 1.8vw, 20px) clamp(18px, 4vw, 64px) 0;
  background: var(--bg);
}

.hero-slider {
  position: relative;
  overflow: hidden;
  aspect-ratio: 2000 / 520;
  min-height: clamp(360px, 25vw, 500px);
  background: #0b1020;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.hero-track {
  height: 100%;
  display: flex;
  transition: transform 560ms ease;
}

.hero-slide {
  position: relative;
  isolation: isolate;
  flex: 0 0 100%;
  min-height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: clamp(20px, 2.4vw, 36px);
  align-items: center;
  padding: clamp(26px, 2.8vw, 44px);
  color: #ffffff;
  background: #0b1020;
}

.hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--hero-image) center center / cover no-repeat;
  opacity: 0.92;
}

.hero-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(7, 9, 21, 0.96) 0%, rgba(7, 9, 21, 0.86) 32%, rgba(7, 9, 21, 0.52) 54%, rgba(7, 9, 21, 0.12) 78%, rgba(7, 9, 21, 0.04) 100%),
    linear-gradient(180deg, rgba(7, 9, 21, 0.08), rgba(7, 9, 21, 0.28));
}

.hero-copy {
  min-width: 0;
  max-width: 650px;
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--teal);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.hero-copy h1,
.studio-copy h1,
.section-heading h2,
.backoffice-section h2,
.certification-feature h2 {
  margin: 0;
  color: inherit;
  line-height: 1;
  letter-spacing: 0;
}

.hero-copy h1 {
  max-width: 650px;
  font-size: clamp(34px, 4.2vw, 60px);
  line-height: 1.03;
  text-wrap: balance;
}

.hero-copy p:not(.eyebrow),
.studio-copy p,
.section-heading p:not(.eyebrow),
.backoffice-section p,
.certification-feature p:not(.eyebrow) {
  max-width: 760px;
  color: inherit;
  opacity: 0.82;
  font-size: clamp(15px, 1.3vw, 18px);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 20px;
}

.button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 8px;
  border: 1px solid transparent;
  font-weight: 950;
  text-align: center;
}

.button.primary {
  color: #ffffff;
  background: linear-gradient(135deg, var(--magenta), var(--coral));
}

.button.secondary {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.11);
  border-color: rgba(255, 255, 255, 0.18);
}

.hero-side {
  display: grid;
  gap: 14px;
  align-content: center;
}

.hero-side strong,
.hero-stat {
  padding: 15px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  backdrop-filter: blur(12px);
}

.hero-side strong {
  display: block;
  color: #ffffff;
  font-size: clamp(18px, 1.25vw, 22px);
  line-height: 1.12;
}

.hero-stat small {
  display: block;
  color: rgba(255, 255, 255, 0.68);
  font-weight: 900;
}

.hero-stat b {
  display: block;
  color: var(--gold);
  font-size: clamp(26px, 2vw, 34px);
}

.hero-controls {
  position: absolute;
  right: 22px;
  bottom: 22px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  color: #ffffff;
  background: rgba(7, 9, 21, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  backdrop-filter: blur(12px);
}

.hero-controls button {
  min-width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.11);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  font-weight: 950;
}

.hero-dots {
  display: flex;
  gap: 6px;
}

.hero-dots button {
  min-width: 8px;
  width: 8px;
  height: 8px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.38);
}

.hero-dots button.is-active {
  width: 24px;
  background: linear-gradient(90deg, var(--magenta), var(--coral));
}

.brand-shortcuts {
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
  gap: 22px;
  padding: 22px clamp(18px, 5vw, 74px) 34px;
  background: var(--bg);
}

.brand-shortcuts h2 {
  max-width: 520px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.06;
}

.shortcut-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.shortcut-grid a {
  min-height: 112px;
  display: grid;
  gap: 6px;
  align-content: center;
  padding: 18px;
  color: #ffffff;
  background: var(--panel);
  border: 1px solid var(--line);
  border-top: 4px solid var(--accent, var(--teal));
  border-radius: 8px;
}

.shortcut-grid strong {
  font-size: 20px;
  line-height: 1.1;
}

.shortcut-grid span {
  color: var(--muted);
  font-weight: 800;
}

.store-nav-section {
  display: grid;
  grid-template-columns: minmax(260px, 0.34fr) minmax(0, 1fr);
  gap: 22px;
  padding: 0 clamp(18px, 5vw, 74px) 38px;
  color: #ffffff;
  background: var(--bg);
}

.store-nav-heading h2 {
  margin: 0;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.06;
}

.store-nav-grid,
.store-banner-grid,
.highlight-grid,
.offer-products {
  display: grid;
  gap: 14px;
}

.store-nav-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.store-nav-card {
  min-height: 132px;
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 18px;
  color: #ffffff;
  background: var(--panel);
  border: 1px solid var(--line);
  border-top: 4px solid var(--accent, var(--teal));
  border-radius: 8px;
}

.store-nav-card strong,
.highlight-card strong {
  font-size: 21px;
  line-height: 1.12;
}

.store-nav-card span,
.highlight-card span {
  color: var(--muted);
  font-weight: 800;
}

.studio-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.62fr);
  gap: clamp(24px, 4vw, 54px);
  align-items: center;
  padding: clamp(58px, 7vw, 98px) clamp(18px, 5vw, 74px);
  color: #ffffff;
  background:
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
}

.studio-copy h1 {
  max-width: 840px;
  font-size: clamp(36px, 5.2vw, 66px);
}

.studio-panel {
  padding: 24px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.studio-panel > img {
  width: min(360px, 100%);
  display: block;
  margin-bottom: 20px;
  padding: 12px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(102, 45, 128, 0.2)) padding-box,
    linear-gradient(135deg, rgba(225, 30, 121, 0.82), rgba(102, 45, 128, 0.68), rgba(255, 74, 36, 0.62)) border-box;
  border: 1px solid transparent;
  border-radius: 8px;
  filter: drop-shadow(0 14px 28px rgba(225, 30, 121, 0.16));
}

.signal-grid {
  display: grid;
  gap: 12px;
}

.signal-grid article,
.service-card,
.certification-grid article,
.process-card,
.product-card {
  padding: 18px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.signal {
  width: 12px;
  height: 12px;
  display: inline-block;
  margin-bottom: 12px;
  border-radius: 999px;
}

.signal-teal {
  background: var(--teal);
}

.signal-cyan {
  background: var(--cyan);
}

.signal-gold {
  background: var(--gold);
}

.signal-grid strong,
.service-card strong,
.certification-grid strong,
.process-card strong,
.product-card strong {
  display: block;
  color: #ffffff;
  font-size: 21px;
  line-height: 1.12;
}

.signal-grid p,
.service-card span,
.certification-grid span,
.process-card span,
.product-card span {
  display: block;
  margin: 9px 0 0;
  color: var(--muted);
  font-weight: 750;
}

.trust-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.trust-strip span {
  min-height: 74px;
  display: grid;
  place-items: center;
  padding: 14px;
  color: #ffffff;
  background: var(--panel-2);
  font-weight: 900;
  text-align: center;
}

.section {
  padding: clamp(58px, 7vw, 98px) clamp(18px, 5vw, 74px);
}

.section-heading {
  display: grid;
  gap: 12px;
  margin-bottom: 28px;
}

.section-heading h2,
.backoffice-section h2,
.certification-feature h2 {
  max-width: 900px;
  font-size: clamp(34px, 5vw, 58px);
}

.services-section,
.catalog-section {
  color: var(--text-dark);
  background: var(--surface);
}

.services-section .section-heading p:not(.eyebrow),
.catalog-section .section-heading p:not(.eyebrow) {
  color: var(--muted-dark);
  opacity: 1;
}

.catalog-section--technology {
  position: relative;
  overflow: hidden;
  color: #f8f4ee;
  background:
    radial-gradient(circle at 14% 16%, rgba(225, 30, 121, 0.14), transparent 28%),
    linear-gradient(180deg, #101010 0%, #090a11 46%, #1c0615 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.catalog-section--technology::after {
  content: "";
  position: absolute;
  right: clamp(18px, 5vw, 72px);
  bottom: clamp(18px, 4vw, 54px);
  z-index: 0;
  width: min(520px, 42vw);
  aspect-ratio: 3 / 1;
  background: url("assets/mgt-studio-pro-logo-on-dark.svg") center / contain no-repeat;
  opacity: 0.1;
  pointer-events: none;
}

.catalog-section--technology > * {
  position: relative;
  z-index: 1;
}

.catalog-store-heading {
  display: grid;
  gap: 12px;
  max-width: 1180px;
  margin-bottom: 42px;
}

.catalog-section--technology .catalog-store-heading {
  margin-bottom: clamp(18px, 3vw, 28px);
}

.catalog-store-heading .eyebrow {
  color: #ffd400;
  letter-spacing: 0.24em;
}

.catalog-store-heading h2 {
  max-width: 1180px;
  color: #f8f4ee;
  font-size: clamp(44px, 7vw, 78px);
  line-height: 0.98;
}

.catalog-section--technology .catalog-store-heading h2 {
  max-width: 980px;
  font-size: clamp(34px, 4.8vw, 56px);
}

.catalog-store-heading p {
  max-width: 820px;
  margin: 0;
  color: #f0ece6;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 600;
}

.catalog-section--technology .catalog-tabs {
  gap: 10px;
  margin-bottom: 22px;
}

.catalog-section--technology .catalog-tabs button {
  min-height: 46px;
  padding: 11px 16px;
  color: #ffd400;
  background: rgba(255, 212, 0, 0.04);
  border: 1px solid rgba(255, 212, 0, 0.28);
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(255, 212, 0, 0.04);
}

.catalog-section--technology .catalog-tabs button.is-active {
  color: #0b0b0d;
  background: #ffd400;
  border-color: #ffd400;
  box-shadow: 0 14px 30px rgba(255, 212, 0, 0.2);
}

.service-layout {
  display: grid;
  grid-template-columns: minmax(250px, 0.34fr) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.service-layout aside {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 10px;
  padding: 22px;
  color: #ffffff;
  background: var(--bg-2);
  border: 1px solid rgba(16, 32, 51, 0.12);
  border-radius: 8px;
}

.service-layout aside strong {
  font-size: 24px;
  line-height: 1.1;
}

.service-layout aside span {
  padding: 12px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  color: var(--muted);
  font-weight: 850;
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.service-card {
  background: #ffffff;
  border-color: var(--line-dark);
  border-top: 5px solid var(--accent, var(--teal));
}

.service-card small,
.process-card small,
.product-card small {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--accent, var(--teal));
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.service-card strong,
.product-card strong {
  color: var(--text-dark);
}

.service-card span,
.product-card span {
  color: var(--muted-dark);
}

.section-heading--compact {
  margin-bottom: 18px;
}

.section-heading--compact h2 {
  max-width: 840px;
  font-size: clamp(28px, 4vw, 46px);
}

.finance-tools {
  margin-top: 34px;
  padding-top: 30px;
  border-top: 1px solid rgba(16, 32, 51, 0.12);
}

.finance-tool-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.finance-tool-card {
  display: grid;
  gap: 12px;
  align-content: start;
  min-height: 100%;
  padding: 20px;
  color: var(--text-dark);
  background: #ffffff;
  border: 1px solid var(--line-dark);
  border-top: 5px solid var(--magenta);
  border-radius: 8px;
}

.finance-tool-card small {
  color: var(--magenta);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.finance-tool-card h3 {
  margin: 0;
  color: var(--text-dark);
  font-size: 23px;
  line-height: 1.08;
}

.finance-tool-card p,
.finance-tool-card span {
  margin: 0;
  color: var(--muted-dark);
  font-weight: 800;
}

.finance-tool-card label {
  display: grid;
  gap: 7px;
  color: var(--text-dark);
  font-weight: 900;
}

.finance-tool-card input,
.finance-tool-card select {
  width: 100%;
  min-height: 42px;
  padding: 10px 11px;
  color: var(--text-dark);
  background: var(--surface);
  border: 1px solid var(--line-dark);
  border-radius: 8px;
}

.finance-tool-card > strong {
  display: block;
  margin-top: 4px;
  color: var(--magenta);
  font-size: 31px;
  line-height: 1;
}

.unit-faq-section {
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 79, 157, 0.18), transparent 32%),
    linear-gradient(145deg, #080915 0%, #11182c 48%, #2b0c24 100%);
  border-top: 1px solid var(--line);
}

.unit-faq-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.unit-faq-card {
  min-height: 100%;
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 20px;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.07), rgba(113, 22, 63, 0.16)) padding-box,
    linear-gradient(135deg, rgba(255, 111, 176, 0.48), rgba(255, 255, 255, 0.12)) border-box;
  border: 1px solid transparent;
  border-radius: 8px;
}

.unit-faq-card > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: #ffffff;
  background: linear-gradient(135deg, var(--magenta), var(--coral));
  border-radius: 8px;
  font-weight: 950;
}

.unit-faq-card h3 {
  margin: 0;
  color: #ffffff;
  font-size: 22px;
  line-height: 1.1;
}

.unit-faq-card details {
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.unit-faq-card summary {
  cursor: pointer;
  color: #ffb6d2;
  font-weight: 950;
}

.unit-faq-card p {
  margin: 9px 0 0;
  color: #f2dbe6;
  font-size: 14px;
  font-weight: 780;
}

.certification-section {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.58fr);
  gap: 20px;
  align-items: stretch;
  color: #ffffff;
  background: var(--bg-2);
}

.certification-feature {
  overflow: hidden;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.certification-feature img {
  width: 100%;
  aspect-ratio: 16 / 7;
  display: block;
  object-fit: cover;
}

.certification-feature div {
  padding: clamp(22px, 4vw, 36px);
}

.certification-grid {
  display: grid;
  gap: 14px;
}

.certification-grid article {
  display: grid;
  align-content: center;
  min-height: 140px;
}

.implementation-section {
  color: #ffffff;
  background:
    linear-gradient(135deg, #10152a 0%, #1b1744 55%, #12293c 100%);
}

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

.process-card {
  min-height: 190px;
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.14);
}

.platform-demo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.platform-demo-grid article {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 20px;
  color: #ffffff;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.08), rgba(225, 30, 121, 0.12)) padding-box,
    linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(225, 30, 121, 0.36)) border-box;
  border: 1px solid transparent;
  border-radius: 8px;
}

.platform-demo-grid small {
  color: #ff7fba;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.platform-demo-grid h3 {
  margin: 0;
  color: #ffffff;
  font-size: 24px;
  line-height: 1.08;
}

.platform-demo-grid p {
  margin: 0;
  color: #dfe8f4;
  font-weight: 800;
}

.store-banners-section {
  color: #ffffff;
  background: var(--bg);
}

.store-banner-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.store-banner-card,
.highlight-card,
.offer-panel,
.offer-product-card {
  overflow: hidden;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.store-banner-card {
  position: relative;
  min-height: 0;
  aspect-ratio: var(--banner-ratio, 2000 / 560);
  display: grid;
  align-content: end;
  padding: 22px;
  isolation: isolate;
}

.store-banner-card[data-location="home-page-tira"] {
  grid-column: 1 / -1;
  aspect-ratio: var(--banner-ratio, 3800 / 140);
}

.store-banner-size {
  width: max-content;
  max-width: 100%;
  margin-bottom: 10px;
  padding: 6px 8px;
  color: #f5f8ff;
  background: rgba(7, 9, 21, 0.66);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 6px;
  font-size: 11px;
  font-weight: 950;
}

.store-banner-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--banner-image) center / cover no-repeat;
  opacity: 0.58;
}

.store-banner-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(7, 9, 21, 0.1), rgba(7, 9, 21, 0.9));
}

.store-banner-card small,
.highlight-card small {
  color: var(--teal);
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.store-banner-card strong {
  max-width: 620px;
  color: #ffffff;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1;
}

.store-banner-card span {
  max-width: 620px;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.74);
  font-weight: 800;
}

.featured-store-section {
  color: var(--text-dark);
  background: var(--surface);
}

.featured-store-section .section-heading p:not(.eyebrow) {
  color: var(--muted-dark);
  opacity: 1;
}

.highlight-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.highlight-card {
  background: #ffffff;
  border-color: var(--line-dark);
}

.highlight-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
}

.highlight-card div {
  padding: 18px;
}

.highlight-card strong {
  display: block;
  color: var(--text-dark);
}

.highlight-card span {
  display: block;
  margin-top: 8px;
  color: var(--muted-dark);
}

.offer-section {
  display: grid;
  grid-template-columns: minmax(300px, 0.42fr) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  color: #ffffff;
  background: linear-gradient(135deg, #10152a, #171d35);
}

.offer-panel {
  display: grid;
  align-content: center;
  gap: 14px;
  padding: clamp(24px, 4vw, 38px);
  border-top: 5px solid var(--gold);
}

.offer-panel h2 {
  margin: 0;
  font-size: clamp(32px, 5vw, 58px);
  line-height: 1;
}

.offer-countdown {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.offer-countdown span {
  min-height: 76px;
  display: grid;
  place-items: center;
  padding: 10px;
  color: #06111d;
  background: var(--gold);
  border-radius: 8px;
  font-size: 24px;
  font-weight: 950;
  text-align: center;
}

.offer-countdown small {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
}

.offer-products {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.offer-product-card {
  display: grid;
  grid-template-columns: 140px 1fr;
  min-height: 150px;
}

.offer-product-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.offer-product-card div {
  padding: 16px;
}

.offer-product-card strong,
.offer-product-card b {
  display: block;
}

.offer-product-card b {
  margin-top: 8px;
  color: var(--gold);
  font-size: 22px;
}

.tech-brand-banners {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: clamp(26px, 4vw, 48px) 0 20px;
}

.tech-brand-banners a {
  min-height: 156px;
  display: grid;
  align-content: end;
  gap: 8px;
  padding: 18px;
  color: #ffffff;
  background:
    radial-gradient(circle at 16% 10%, rgba(255, 212, 0, 0.18), transparent 28%),
    linear-gradient(145deg, rgba(72, 18, 52, 0.92), rgba(13, 18, 36, 0.96));
  border: 1px solid rgba(255, 212, 0, 0.28);
  border-radius: 8px;
}

.tech-brand-banners small {
  color: #ffd400;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.tech-brand-banners strong {
  color: #ffffff;
  font-size: 26px;
  line-height: 1;
}

.tech-brand-banners span {
  color: #f3dbe7;
  font-weight: 850;
}

.brand-hub-page .catalog-filter-panel,
.brand-hub-page .catalog-tabs,
.brand-hub-page .cart-summary,
.brand-hub-page .catalog-grid {
  display: none;
}

.brand-hub-page .tech-brand-banners {
  margin-top: 0;
}

[data-brand-page] .catalog-filter-panel {
  display: none;
}

[data-brand-page] .catalog-section--technology {
  padding-top: clamp(18px, 3vw, 34px);
}

[data-brand-page] .catalog-store-heading {
  margin-bottom: 14px;
}

[data-brand-page] .catalog-store-heading h2 {
  max-width: 860px;
  font-size: clamp(30px, 4vw, 46px);
}

[data-brand-page] .catalog-store-heading p {
  max-width: 720px;
  font-size: clamp(16px, 1.4vw, 18px);
}

[data-brand-page] .catalog-tabs {
  margin-top: 6px;
  margin-bottom: 16px;
}

.catalog-filter-panel {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr)) auto;
  gap: 10px;
  align-items: end;
  margin: 0 0 20px;
  padding: 14px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 212, 0, 0.22);
  border-radius: 8px;
}

.catalog-filter-panel label {
  display: grid;
  gap: 7px;
  color: #f0ece6;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.catalog-filter-panel input,
.catalog-filter-panel select,
.catalog-filter-panel button {
  min-height: 42px;
  width: 100%;
  padding: 10px 11px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
}

.catalog-filter-panel button {
  color: #0b0b0d;
  background: #ffd400;
  border-color: #ffd400;
  font-weight: 950;
}

.pc-builder-mini {
  display: grid;
  grid-template-columns: minmax(260px, 0.38fr) minmax(0, 1fr) minmax(220px, 0.26fr);
  gap: 14px;
  align-items: stretch;
  margin: 0 0 22px;
  padding: 18px;
  color: #ffffff;
  background:
    radial-gradient(circle at 4% 12%, rgba(255, 212, 0, 0.18), transparent 30%),
    linear-gradient(145deg, rgba(11, 12, 18, 0.96), rgba(65, 13, 44, 0.9));
  border: 1px solid rgba(255, 212, 0, 0.26);
  border-radius: 8px;
}

.pc-builder-mini h3 {
  margin: 0;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.04;
}

.pc-builder-mini p {
  margin: 8px 0 0;
  color: #f3dbe7;
  font-weight: 800;
}

.pc-builder-mini form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.pc-builder-loading {
  grid-column: 1 / -1;
  min-height: 88px;
  display: grid;
  place-items: center;
  padding: 16px;
  color: #ffd400;
  background: rgba(255, 255, 255, 0.07);
  border: 1px dashed rgba(255, 212, 0, 0.4);
  border-radius: 8px;
  font-weight: 950;
  text-align: center;
}

.pc-builder-mini--advanced {
  grid-template-columns: minmax(240px, 0.28fr) minmax(0, 1fr) minmax(280px, 0.3fr);
}

.pc-builder-mini .pc-builder-advanced {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: start;
}

.pc-builder-preset-field {
  grid-column: 1 / -1;
}

.pc-builder-mini label {
  display: grid;
  gap: 7px;
  color: #f0ece6;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.pc-builder-mini select,
.pc-builder-mini input {
  min-height: 44px;
  width: 100%;
  padding: 10px 11px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
}

.pc-builder-mini input {
  color-scheme: dark;
}

.pc-builder-addons {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
}

.pc-builder-addons legend {
  padding: 0 8px;
  color: #ffd400;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.pc-builder-addons > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.pc-addon-option {
  min-height: 48px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 9px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  text-transform: none;
}

.pc-addon-option input {
  min-height: auto;
  width: auto;
  accent-color: var(--magenta);
}

.pc-addon-option span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.pc-addon-option strong {
  color: #ffd400;
}

.pc-addon-option--select {
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
}

.pc-addon-option--select select {
  min-height: 40px;
  padding: 9px 10px;
  color: #ffffff;
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
}

.pc-builder-mini aside {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
}

.pc-builder-mini aside span,
.pc-builder-mini aside small {
  color: #f3dbe7;
  font-weight: 850;
}

.pc-builder-mini aside > strong,
.pc-builder-mini aside [data-pc-result] {
  color: #ffd400;
  font-size: 34px;
  line-height: 1;
  overflow-wrap: anywhere;
}

.pc-builder-detail {
  display: grid;
  gap: 7px;
  margin-top: 6px;
}

.pc-builder-detail div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
  padding-top: 7px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.pc-builder-detail span {
  color: #ffd400;
  font-size: 12px;
  font-weight: 950;
}

.pc-builder-mini .pc-builder-detail strong {
  color: #ffffff;
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pc-builder-budget {
  display: grid;
  gap: 4px;
  margin-top: 4px;
  padding: 10px;
  border-radius: 8px;
  font-weight: 850;
}

.pc-builder-budget.is-ok {
  color: #064e3b;
  background: #d9fbef;
}

.pc-builder-budget.is-warning {
  color: #7c2d12;
  background: #fff4d6;
}

.pc-builder-mini .pc-builder-budget strong,
.pc-builder-mini .pc-builder-budget span,
.pc-builder-mini .pc-builder-budget small {
  color: inherit;
}

.pc-builder-quote {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--magenta), var(--coral));
  border-radius: 8px;
  font-weight: 950;
}

.pc-preset-section {
  display: grid;
  gap: 16px;
  margin: 0 0 24px;
}

.pc-preset-heading {
  display: grid;
  gap: 8px;
  max-width: 900px;
}

.pc-preset-heading h3 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.05;
}

.pc-preset-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.pc-preset-card {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 18px;
  color: #ffffff;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(255, 212, 0, 0.05)) padding-box,
    linear-gradient(135deg, rgba(255, 212, 0, 0.42), rgba(225, 30, 121, 0.32)) border-box;
  border: 1px solid transparent;
  border-radius: 8px;
}

.pc-preset-card small {
  color: #ffd400;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pc-preset-card h4 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.08;
}

.pc-preset-card dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.pc-preset-card dl div {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
}

.pc-preset-card dt {
  color: #ffd400;
  font-weight: 950;
}

.pc-preset-card dd {
  min-width: 0;
  margin: 0;
  color: #f4e3ec;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.pc-preset-card > strong {
  color: #8cffd9;
  font-size: 20px;
}

.pc-preset-card button {
  min-height: 42px;
  justify-self: start;
  padding: 10px 14px;
  color: #080915;
  background: #ffd400;
  border: 0;
  border-radius: 8px;
  font-weight: 950;
  cursor: pointer;
}

.pc-preset-card button:hover {
  filter: brightness(1.06);
}

.pc-preset-section--implementation {
  margin-bottom: 22px;
}

.catalog-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.catalog-tabs button {
  min-height: 40px;
  padding: 10px 14px;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid var(--line);
  border-radius: 8px;
  font-weight: 900;
}

.catalog-tabs button.is-active {
  color: #ffffff;
  background: linear-gradient(135deg, var(--magenta), var(--coral));
  border-color: var(--teal);
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.catalog-empty {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  padding: 22px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 212, 0, 0.24);
  border-radius: 8px;
}

.catalog-empty strong {
  color: #ffffff;
  font-size: 24px;
}

.catalog-empty span {
  color: #f3dbe7;
  font-weight: 850;
}

.product-card {
  overflow: hidden;
  padding: 0;
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 99, 158, 0.28), transparent 34%) padding-box,
    linear-gradient(155deg, #71163f 0%, #4b102f 52%, #2b0c24 100%) padding-box,
    linear-gradient(135deg, rgba(255, 91, 154, 0.82), rgba(255, 74, 36, 0.5), rgba(255, 255, 255, 0.12)) border-box;
  border-color: transparent;
  box-shadow: 0 18px 46px rgba(17, 5, 18, 0.34);
}

.product-image-panel {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1 / 1;
  max-height: 430px;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 22px;
  background:
    radial-gradient(circle at 20% 18%, rgba(255, 111, 176, 0.24), transparent 34%),
    linear-gradient(145deg, #f5edf3 0%, #eceff7 54%, #eadde7 100%);
  border-bottom: 1px solid rgba(255, 111, 176, 0.38);
}

.product-image-link {
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: inherit;
  text-decoration: none;
  border-radius: 8px;
}

.product-image-link:focus-visible {
  outline: 3px solid #ffd400;
  outline-offset: 4px;
}

.product-image-panel > img:not(.product-watermark-logo),
.product-image-link > img:not(.product-watermark-logo) {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain !important;
  object-position: center;
  mix-blend-mode: multiply;
  filter: saturate(1.04) contrast(1.04);
}

.product-image-link:hover > img:not(.product-watermark-logo) {
  filter: saturate(1.08) contrast(1.08);
}

.catalog-grid .product-image-panel {
  aspect-ratio: 4 / 3;
  max-height: 360px;
  padding: clamp(12px, 1.6vw, 18px);
}

.catalog-grid .product-image-panel > img:not(.product-watermark-logo),
.catalog-grid .product-image-link > img:not(.product-watermark-logo) {
  transform: scale(1.12) translateY(-3%);
  transform-origin: center;
}

.product-image-panel .product-watermark-logo,
.product-page-main-image .product-watermark-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: min(72%, 360px);
  height: auto;
  opacity: 0.1;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: normal;
  filter: saturate(1.1) drop-shadow(0 0 18px rgba(113, 22, 63, 0.18));
  transform: translate(-50%, -50%) rotate(-8deg);
  pointer-events: none;
  user-select: none;
}

.product-card > div {
  padding: 18px;
}

.product-card small {
  color: #ff6fb0;
}

.product-card strong {
  color: #ffffff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.34);
}

.product-card .product-meta {
  color: #f3bfd6;
  font-weight: 900;
}

.product-card p,
.product-card span,
.product-card .product-specs {
  color: #f2dbe6;
}

.product-description {
  margin: 12px 0 0;
  font-size: 15px;
  font-weight: 850;
}

.product-specs {
  display: grid;
  gap: 7px;
  margin: 14px 0 0;
  padding-left: 18px;
  font-size: 14px;
  font-weight: 800;
}

.product-source {
  color: #d9abc0;
  font-size: 12px;
  font-weight: 850;
}

.product-card b {
  display: block;
  margin-top: 14px;
  color: #ff4f9d;
  font-size: 24px;
  text-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}

.price-note {
  display: block;
  margin-top: 5px;
  color: #f7c5db;
  font-size: 12px;
  font-weight: 900;
}

.price-pair {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 12px;
  justify-content: space-between;
  max-width: 100%;
}

.price-pair b {
  display: inline;
  margin: 0;
  color: inherit;
  font: inherit;
  text-shadow: inherit;
}

.price-equivalent {
  display: inline-block;
  color: inherit;
  background: transparent;
  border-radius: 0;
  font-size: 0.72em;
  font-weight: 950;
  line-height: inherit;
  text-align: right;
  white-space: nowrap;
}

.product-card > div > .price-pair {
  margin-top: 14px;
  color: #ff4f9d;
  font-size: 24px;
  font-weight: 950;
  text-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}

.cart-summary .price-pair,
.cart-summary .price-equivalent {
  display: inline-flex;
}

.cart-summary .price-pair b {
  display: inline;
}

.cart-summary .price-pair {
  justify-content: flex-start;
}

.product-card .price-pair,
.product-page-price-card .price-pair,
.product-detail-price .price-pair,
.catalog-workspace .product-price .price-pair {
  display: flex;
  width: 100%;
  align-items: baseline;
  justify-content: space-between;
}

.product-card .price-pair .price-equivalent,
.product-page-price-card .price-equivalent,
.product-detail-price .price-equivalent,
.catalog-workspace .product-price .price-equivalent {
  color: inherit;
  background: transparent;
}

.product-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.product-links a,
.product-links button {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 8px 10px;
  color: #ffffff;
  background: rgba(255, 79, 157, 0.18);
  border: 1px solid rgba(255, 111, 176, 0.42);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.product-links button:disabled {
  cursor: not-allowed;
  opacity: 0.56;
}

.product-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 16px;
}

.product-action {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 111, 176, 0.44);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.15;
  text-align: center;
}

.product-action--ghost {
  background: rgba(255, 255, 255, 0.07);
}

.product-action--primary {
  background: linear-gradient(135deg, var(--magenta), var(--coral));
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 12px 26px rgba(225, 30, 121, 0.22);
}

.product-action--detail,
.product-action--checkout {
  background: rgba(82, 24, 55, 0.82);
  border-color: rgba(255, 139, 190, 0.5);
}

.product-action:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.cart-summary {
  display: grid;
  gap: 14px;
  margin: 0 0 20px;
  padding: 18px;
  color: #ffffff;
  background:
    radial-gradient(circle at 12% 10%, rgba(255, 111, 176, 0.22), transparent 32%),
    linear-gradient(145deg, rgba(91, 15, 52, 0.92), rgba(38, 11, 35, 0.96));
  border: 1px solid rgba(255, 111, 176, 0.32);
  border-radius: 8px;
  box-shadow: 0 20px 50px rgba(15, 4, 19, 0.28);
}

.cart-summary small {
  display: block;
  color: #ff7fba;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cart-summary strong,
.cart-summary span {
  display: block;
}

.cart-summary__head,
.cart-summary__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.cart-summary__head button,
.cart-summary__controls button {
  min-height: 34px;
  padding: 7px 10px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 111, 176, 0.36);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.cart-summary__items {
  display: grid;
  gap: 10px;
}

.cart-summary__items article {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
}

.cart-summary__items img {
  width: 74px;
  aspect-ratio: 1;
  object-fit: contain;
  padding: 8px;
  background: #f2e8ef;
  border-radius: 8px;
}

.cart-summary__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}

.cart-summary__actions {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.cart-summary__actions form {
  margin: 0;
}

.cart-summary__actions .product-action {
  min-width: 168px;
}

.product-modal[hidden] {
  display: none;
}

.has-product-modal {
  overflow: hidden;
}

.product-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: clamp(14px, 3vw, 42px);
}

.product-modal__shade {
  position: absolute;
  inset: 0;
  background: rgba(4, 3, 10, 0.78);
  border: 0;
  backdrop-filter: blur(8px);
}

.product-modal__panel {
  position: relative;
  z-index: 1;
  width: min(1080px, 100%);
  max-height: min(86vh, 860px);
  overflow: auto;
  display: grid;
  grid-template-columns: minmax(260px, 0.46fr) minmax(0, 0.54fr);
  gap: 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 10% 6%, rgba(255, 111, 176, 0.22), transparent 30%),
    linear-gradient(145deg, #71163f 0%, #3a102d 58%, #110817 100%);
  border: 1px solid rgba(255, 111, 176, 0.42);
  border-radius: 8px;
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.58);
}

.product-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  width: 38px;
  height: 38px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  font-weight: 950;
}

.product-modal__media {
  padding: 22px;
  background:
    radial-gradient(circle at 20% 18%, rgba(255, 111, 176, 0.2), transparent 36%),
    linear-gradient(145deg, #f5edf3 0%, #eceff7 54%, #eadde7 100%);
}

.product-modal__main-image {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  margin: 0;
  background: rgba(255, 255, 255, 0.32);
  border: 1px solid rgba(113, 22, 63, 0.12);
  border-radius: 8px;
}

.product-modal__main-image img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  mix-blend-mode: multiply;
  user-select: none;
}

.product-modal__gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.product-modal__gallery button {
  display: grid;
  place-items: center;
  padding: 0;
  background: rgba(255, 255, 255, 0.46);
  border: 1px solid rgba(113, 22, 63, 0.18);
  border-radius: 8px;
}

.product-modal__gallery button.is-active {
  border-color: rgba(225, 30, 121, 0.78);
  box-shadow: 0 0 0 2px rgba(225, 30, 121, 0.18);
}

.product-modal__gallery img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  padding: 6px;
  mix-blend-mode: multiply;
  user-select: none;
}

.product-modal__copy {
  padding: clamp(24px, 4vw, 42px);
}

.product-modal__copy small {
  color: #ff7fba;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-modal__copy h2 {
  margin: 8px 0 10px;
  font-size: clamp(30px, 3.5vw, 52px);
  line-height: 1.02;
}

.product-modal__copy p,
.product-modal__copy li {
  color: #f3dbe7;
  font-weight: 800;
}

.product-modal__copy ul {
  display: grid;
  gap: 8px;
  margin: 16px 0;
  padding-left: 18px;
}

.product-modal__meta {
  color: #f7c5db;
}

.product-summary {
  display: grid;
  gap: 14px;
  margin: 18px 0;
  padding: 16px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 127, 186, 0.26);
  border-radius: 8px;
}

.product-summary__head {
  display: grid;
  gap: 6px;
}

.product-summary__head h3 {
  margin: 0;
  color: #ffffff;
  font-size: 20px;
  line-height: 1.2;
}

.product-summary__head p,
.product-summary__description,
.product-summary__block p,
.product-summary__note {
  margin: 0;
  color: #f3dbe7;
  font-size: 14px;
  font-weight: 800;
}

.product-summary__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.product-summary__grid div {
  padding: 10px;
  background: rgba(13, 18, 36, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 8px;
}

.product-summary__grid dt {
  color: #ff7fba;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.product-summary__grid dd {
  margin: 3px 0 0;
  color: #ffffff;
  font-size: 14px;
  font-weight: 900;
}

.product-summary__block {
  display: grid;
  gap: 8px;
}

.product-summary__block strong {
  color: #ffffff;
  font-size: 15px;
}

.product-summary__block ul {
  margin: 0;
  padding-left: 18px;
}

.product-summary__note {
  padding-top: 10px;
  color: #ffd6e8;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.product-modal__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.product-modal__facts div {
  padding: 12px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
}

.product-modal__facts dt {
  color: #ff7fba;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.product-modal__facts dd {
  margin: 4px 0 0;
  color: #ffffff;
  font-weight: 900;
}

.customer-modal[hidden] {
  display: none;
}

.customer-modal {
  position: fixed;
  inset: 0;
  z-index: 88;
  display: grid;
  place-items: center;
  padding: clamp(14px, 3vw, 42px);
}

.customer-modal__shade {
  position: absolute;
  inset: 0;
  background: rgba(4, 3, 10, 0.78);
  border: 0;
  backdrop-filter: blur(8px);
}

.customer-modal__panel {
  position: relative;
  z-index: 1;
  width: min(980px, calc(100vw - 32px));
  max-height: min(86vh, 760px);
  overflow: auto;
  display: grid;
  gap: 14px;
  padding: clamp(20px, 2.5vw, 30px);
  color: #ffffff;
  background:
    radial-gradient(circle at 12% 8%, rgba(255, 111, 176, 0.22), transparent 34%),
    linear-gradient(145deg, #71163f 0%, #3a102d 58%, #110817 100%);
  border: 1px solid rgba(255, 111, 176, 0.42);
  border-radius: 8px;
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.58);
}

.customer-modal__panel > div:first-of-type {
  padding-right: 52px;
}

.customer-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  font-weight: 950;
}

.customer-modal__panel small,
.customer-modal__panel p,
.customer-session span {
  color: #f3dbe7;
  font-weight: 850;
}

.customer-modal__panel small {
  color: #ff7fba;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.customer-modal__panel h2 {
  margin: 4px 0 6px;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.02;
}

.customer-modal__panel p {
  max-width: 720px;
  margin: 0;
}

.customer-form,
.customer-session,
.identity-panel {
  display: grid;
  gap: 12px;
}

.customer-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
  align-items: start;
}

.customer-form > .identity-panel,
.customer-form > button,
.customer-form > small {
  grid-column: 1 / -1;
}

.identity-panel[hidden] {
  display: none;
}

.identity-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 14px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
}

.identity-panel label:has(.identity-lookup-field),
.identity-panel small {
  grid-column: 1 / -1;
}

.customer-form label {
  display: grid;
  gap: 7px;
  color: #ffffff;
  font-weight: 900;
}

.customer-form input,
.customer-form select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  color: var(--text-dark);
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 8px;
}

.customer-form > button.product-action {
  justify-self: start;
  width: auto;
  min-width: 220px;
  min-height: 44px;
}

.identity-lookup-field {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(92px, max-content) minmax(72px, max-content);
  gap: 8px;
  align-items: stretch;
}

.identity-lookup-field button {
  min-width: 86px;
  padding: 0 12px;
  color: #ffffff;
  background: #11182d;
  border: 1px solid rgba(255, 127, 186, 0.38);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  cursor: pointer;
}

.identity-lookup-field button:hover {
  background: #e11e79;
}

.identity-lookup-field button:disabled {
  cursor: wait;
  opacity: 0.62;
}

@media (max-width: 820px) {
  .customer-modal__panel {
    width: min(640px, calc(100vw - 24px));
    max-height: 90vh;
  }

  .customer-form,
  .identity-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .identity-lookup-field {
    grid-template-columns: 1fr;
  }

  .identity-lookup-field button {
    min-height: 42px;
  }
}

.customer-form small {
  color: #ffd2dd;
  font-weight: 900;
}

.customer-session {
  padding: 16px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
}

.customer-session strong,
.customer-session b {
  color: #ffffff;
}

.product-actions--detail {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.product-actions--detail form {
  grid-column: 1 / -1;
  margin: 0;
}

.product-actions--detail .product-action {
  width: 100%;
  height: auto;
  align-self: start;
}

.product-actions--detail .product-action--add-cart {
  grid-column: 1 / -1;
  min-height: 54px;
  padding: 14px 20px;
  border-radius: 12px;
  font-size: 0.94rem;
  letter-spacing: 0.01em;
  box-shadow: 0 12px 28px rgba(225, 30, 121, 0.24);
}

.product-actions--detail .product-action--add-cart::before {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  margin-right: 9px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  font-size: 1.1rem;
  line-height: 1;
}

.product-actions--detail .product-action--add-cart:hover,
.product-actions--detail .product-action--add-cart:focus-visible {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.checkout-status-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 111, 176, 0.24), transparent 34%),
    linear-gradient(145deg, #070915 0%, #2b0c24 48%, #070915 100%);
}

.checkout-status-card {
  width: min(760px, 100%);
  padding: clamp(26px, 5vw, 48px);
  color: #ffffff;
  background: linear-gradient(145deg, rgba(113, 22, 63, 0.92), rgba(22, 8, 27, 0.96));
  border: 1px solid rgba(255, 111, 176, 0.38);
  border-radius: 8px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.48);
}

.checkout-status-card h1 {
  margin: 8px 0 12px;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.02;
}

.checkout-status-card p,
.checkout-status-card dd {
  color: #f2dbe6;
  font-weight: 800;
}

.checkout-status-card dl {
  display: grid;
  gap: 10px;
  margin: 22px 0;
}

.checkout-status-card dl div {
  padding: 12px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
}

.checkout-status-card dt {
  color: #ff7fba;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.checkout-status-card dd {
  margin: 4px 0 0;
}

.store-page-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.45fr);
  gap: clamp(22px, 4vw, 54px);
  align-items: center;
  padding: clamp(48px, 7vw, 104px) clamp(18px, 5vw, 74px);
  color: #ffffff;
  background:
    radial-gradient(circle at 14% 10%, rgba(255, 212, 0, 0.2), transparent 30%),
    radial-gradient(circle at 84% 0%, rgba(225, 30, 121, 0.24), transparent 34%),
    linear-gradient(145deg, #070915 0%, #210817 58%, #070915 100%);
  border-bottom: 1px solid var(--line);
}

.store-page-hero::after {
  content: "";
  position: absolute;
  right: clamp(18px, 5vw, 72px);
  bottom: clamp(18px, 4vw, 54px);
  z-index: 0;
  width: min(520px, 42vw);
  aspect-ratio: 3 / 1;
  background: url("assets/mgt-studio-pro-logo-on-dark.svg") center / contain no-repeat;
  opacity: 0.1;
  pointer-events: none;
}

.store-page-hero > * {
  position: relative;
  z-index: 1;
}

.store-page-hero::after,
.catalog-section--technology::after,
.implementation-hero::after,
.configurator-section::after {
  content: none;
}

.store-page-hero > .mgt-watermark-logo,
.catalog-section--technology > .mgt-watermark-logo,
.implementation-hero > .mgt-watermark-logo,
.configurator-section > .mgt-watermark-logo {
  position: absolute;
  top: 50%;
  right: 50%;
  bottom: auto;
  z-index: 0;
  width: min(920px, 72vw);
  height: auto;
  opacity: 0.1;
  filter: saturate(1.18) drop-shadow(0 0 34px rgba(255, 111, 176, 0.22));
  transform: translate(50%, -50%) rotate(-8deg);
  pointer-events: none;
  user-select: none;
}

.catalog-section--technology > .mgt-watermark-logo--section,
.configurator-section > .mgt-watermark-logo--section {
  top: min(560px, 36vh);
}

.store-page-hero h1 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(42px, 5.5vw, 78px);
  line-height: 0.96;
}

.store-page-hero p {
  max-width: 780px;
  color: #f3dbe7;
  font-size: clamp(17px, 1.55vw, 22px);
  font-weight: 800;
}

.store-page-hero aside {
  display: grid;
  gap: 10px;
  padding: 22px;
  color: #ffffff;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(102, 45, 128, 0.15)) padding-box,
    linear-gradient(135deg, rgba(255, 212, 0, 0.72), rgba(225, 30, 121, 0.42)) border-box;
  border: 1px solid transparent;
  border-radius: 8px;
}

.store-page-hero aside strong {
  font-size: 24px;
}

.store-page-hero aside span {
  color: #f2dbe6;
  font-weight: 850;
}

.product-page-empty,
.product-page-hero,
.product-page-detail,
.product-page-cart-section {
  width: min(1240px, calc(100% - 40px));
  margin: 0 auto;
}

.product-page-empty {
  min-height: 54vh;
  display: grid;
  align-content: center;
  gap: 16px;
  padding: clamp(52px, 8vw, 110px) 0;
  color: #ffffff;
}

.product-page-empty h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(38px, 6vw, 72px);
  line-height: 0.98;
}

.product-page-empty p {
  max-width: 680px;
  color: #f2dbe6;
  font-weight: 850;
}

.product-page-hero {
  display: grid;
  gap: 22px;
  padding: clamp(30px, 5vw, 68px) 0;
}

.product-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  color: #f2dbe6;
  font-size: 13px;
  font-weight: 900;
}

.product-breadcrumb a,
.product-breadcrumb span,
.product-breadcrumb strong {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 111, 176, 0.22);
  border-radius: 8px;
}

.product-breadcrumb a {
  color: #ffffff;
}

.product-breadcrumb strong {
  color: #ffd400;
}

.product-page-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.44fr) minmax(0, 0.56fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: start;
}

.product-page-gallery,
.product-page-info,
.product-page-copy,
.product-page-resources,
.product-page-cart-section .cart-summary {
  color: #ffffff;
  background:
    radial-gradient(circle at 14% 8%, rgba(255, 212, 0, 0.14), transparent 30%),
    linear-gradient(145deg, rgba(113, 22, 63, 0.92), rgba(20, 9, 27, 0.96));
  border: 1px solid rgba(255, 111, 176, 0.32);
  border-radius: 8px;
  box-shadow: 0 22px 64px rgba(12, 4, 18, 0.34);
}

.product-page-gallery {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.product-page-main-image {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1;
  margin: 0;
  padding: clamp(14px, 3vw, 30px);
  background:
    radial-gradient(circle at 26% 18%, rgba(255, 111, 176, 0.22), transparent 34%),
    linear-gradient(145deg, #f7eef4 0%, #eef1f8 58%, #eee3eb 100%);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 8px;
}

.product-page-main-image > img:not(.product-watermark-logo),
.product-page-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.product-page-main-image > img:not(.product-watermark-logo) {
  mix-blend-mode: multiply;
  filter: saturate(1.04) contrast(1.04);
}

.product-page-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.product-page-thumbs button {
  aspect-ratio: 1 / 1;
  padding: 8px;
  background: #f6edf3;
  border: 2px solid transparent;
  border-radius: 8px;
}

.product-page-thumbs button.is-active {
  border-color: #ffd400;
}

.product-page-info {
  display: grid;
  gap: 16px;
  padding: clamp(20px, 4vw, 36px);
}

.product-page-info h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(32px, 4.4vw, 56px);
  line-height: 1.02;
}

.product-page-meta,
.product-page-description,
.product-page-info dd,
.product-page-copy p,
.product-page-resources span {
  color: #f2dbe6;
  font-weight: 850;
}

.product-page-description {
  margin: 0;
  font-size: clamp(16px, 1.8vw, 20px);
}

.product-page-commerce {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}

.product-page-price-card {
  display: grid;
  align-content: start;
  gap: 5px;
  min-height: 148px;
  padding: 12px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.product-page-price-card:first-child {
  grid-column: 1 / -1;
  min-height: auto;
}

.product-page-price-card--main {
  border-color: rgba(255, 212, 0, 0.38);
}

.product-page-price-card--academic {
  border-color: rgba(82, 183, 255, 0.38);
}

.product-page-price-card span {
  color: #ff7fba;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.product-page-price-card strong {
  color: #ffffff;
  font-size: clamp(21px, 2.6vw, 30px);
  line-height: 1.05;
}

.product-page-price-card .price-pair {
  color: #ffffff;
  font-size: clamp(21px, 2.6vw, 30px);
  font-weight: 950;
  line-height: 1.05;
}

.product-page-price-card .price-equivalent,
.product-detail-price .price-equivalent,
.catalog-workspace .product-price .price-equivalent {
  font-size: 0.72em;
  text-transform: none;
}

.product-page-price-card small,
.product-page-action-panel span,
.product-page-price .price-note {
  color: #f2dbe6;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.35;
}

.product-page-mini-action {
  width: 100%;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  padding: 8px 10px;
  color: #070915;
  background: #ffd400;
  border: 0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
}

.product-page-mini-action:hover {
  background: #ffffff;
}

.product-page-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.product-page-facts div {
  padding: 12px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
}

.product-page-facts dt {
  color: #ff7fba;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.product-page-facts dd {
  margin: 5px 0 0;
}

.product-page-price b {
  color: #ffd400;
  font-size: clamp(26px, 3.4vw, 40px);
}

.product-page-action-panel {
  display: grid;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.product-page-action-panel > div:first-child {
  display: grid;
  gap: 4px;
}

.product-page-action-panel strong {
  color: #ffffff;
  font-size: 18px;
}

.product-page-payment-support {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 212, 0, 0.28);
  border-radius: 8px;
}

.product-page-payment-support__head {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.product-page-payment-support__head div {
  display: grid;
  gap: 5px;
}

.product-page-payment-support span,
.product-page-payment-features b {
  color: #ff7fba;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.product-page-payment-support strong {
  color: #ffffff;
  font-size: 18px;
  line-height: 1.12;
}

.product-page-payment-support p,
.product-page-payment-features small {
  margin: 0;
  color: #f2dbe6;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.35;
}

.product-page-payment-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.payment-badge {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  color: #ffffff;
  background: #1a2135;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 7px;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
}

.payment-badge--visa {
  color: #1434cb;
  background: #ffffff;
}

.payment-badge--mastercard {
  color: #ffffff;
  background: linear-gradient(90deg, #eb001b 0 50%, #f79e1b 50% 100%);
}

.payment-badge--amex {
  background: #1473c7;
}

.payment-badge--diners {
  color: #0c4f8f;
  background: #ffffff;
}

.payment-badge--plin {
  background: #19c6cb;
}

.payment-badge--yape {
  background: #6820a8;
}

.payment-badge--ya {
  background: #55c6b8;
}

.payment-badge--apple-pay,
.payment-badge--google-pay {
  color: #070915;
  background: #ffffff;
}

.product-page-payment-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.product-page-payment-features div {
  display: grid;
  gap: 4px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
}

.product-page-payment-features b {
  color: #ffffff;
}

.product-page-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.34fr);
  gap: 18px;
  padding-bottom: clamp(30px, 5vw, 64px);
}

.product-page-copy,
.product-page-resources {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: clamp(18px, 3vw, 28px);
}

.product-page-copy h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1;
}

.product-page-specs {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 18px;
  color: #f2dbe6;
  font-weight: 850;
}

.product-page-resources strong {
  color: #ffffff;
  font-size: 22px;
}

.product-page-resources a,
.product-page-resources span {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 10px 12px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 111, 176, 0.32);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.product-page-resources a:hover {
  border-color: #ffd400;
}

.product-specification-section {
  display: grid;
  gap: 18px;
  padding-top: 0;
  padding-bottom: clamp(34px, 6vw, 72px);
}

.product-specification-heading {
  max-width: 880px;
}

.product-specification-heading h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(26px, 4vw, 46px);
  line-height: 1.05;
}

.product-specification-heading p:last-child {
  margin-bottom: 0;
  color: #f2dbe6;
}

.product-specification-table-wrap {
  overflow-x: auto;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 16px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25);
}

.product-specification-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  color: #171722;
  font-size: clamp(14px, 1.5vw, 17px);
}

.product-specification-table th,
.product-specification-table td {
  padding: 16px 18px;
  border-bottom: 1px solid #dfe3ea;
  text-align: left;
  vertical-align: top;
}

.product-specification-table thead th {
  color: #ffffff;
  background: #70bf12;
  font-weight: 950;
}

.product-specification-table thead th:first-child {
  width: 40%;
  background: #17172b;
}

.product-specification-table tbody th {
  background: #f7f8f5;
  font-weight: 900;
}

.product-specification-table tbody tr:last-child th,
.product-specification-table tbody tr:last-child td {
  border-bottom: 0;
}

.product-specification-note {
  margin: 0;
  color: #d9c6d1;
  font-size: 13px;
  font-weight: 800;
}

.top-pc-reference-notice {
  display: grid;
  gap: 6px;
  padding: 14px;
  color: #ffffff;
  background: rgba(82, 183, 255, 0.1);
  border: 1px solid rgba(82, 183, 255, 0.3);
  border-radius: 8px;
}

.top-pc-reference-notice strong {
  font-size: 18px;
}

.top-pc-reference-notice span {
  color: #ffd400;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.top-pc-reference-notice p {
  margin: 0;
  color: #f2dbe6;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.4;
}

.top-pc-tech-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.top-pc-tech-grid div {
  min-width: 0;
  padding: 12px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
}

.top-pc-tech-grid dt {
  color: #ff7fba;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.top-pc-tech-grid dd {
  margin: 5px 0 0;
  color: #ffffff;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.product-page-cart-section {
  padding-bottom: clamp(34px, 6vw, 80px);
}

/* Internal unit pages */
.implementation-hero,
.services-hero,
.cert-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  gap: clamp(24px, 4vw, 58px);
  align-items: center;
  padding: clamp(54px, 7vw, 106px) clamp(18px, 5vw, 74px);
  color: #ffffff;
  background:
    radial-gradient(circle at 12% 16%, rgba(225, 30, 121, 0.28), transparent 34%),
    radial-gradient(circle at 88% 8%, rgba(255, 74, 36, 0.16), transparent 30%),
    linear-gradient(145deg, #070915 0%, #1d0920 52%, #070915 100%);
  border-bottom: 1px solid var(--line);
}

.implementation-hero::after {
  content: none;
  position: absolute;
  right: clamp(18px, 5vw, 72px);
  bottom: clamp(18px, 4vw, 54px);
  z-index: 0;
  width: min(520px, 42vw);
  aspect-ratio: 3 / 1;
  background: none;
  opacity: 0.1;
  pointer-events: none;
}

.implementation-hero > * {
  position: relative;
  z-index: 1;
}

.implementation-hero h1,
.services-hero h1,
.cert-hero h1 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(40px, 5.4vw, 74px);
  line-height: 0.96;
}

.implementation-copy,
.services-hero > div,
.cert-hero > div {
  display: grid;
  gap: 20px;
}

.implementation-copy > p:not(.eyebrow),
.services-hero > div > p:not(.eyebrow),
.cert-hero > div > p:not(.eyebrow) {
  max-width: 760px;
  margin: 0;
  color: #f3dbe7;
  font-size: clamp(17px, 1.6vw, 22px);
  font-weight: 800;
}

.implementation-summary,
.service-snapshot,
.cert-summary {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: clamp(22px, 3vw, 34px);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(102, 45, 128, 0.16)) padding-box,
    linear-gradient(135deg, rgba(255, 111, 176, 0.56), rgba(255, 74, 36, 0.32)) border-box;
  border: 1px solid transparent;
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
}

.implementation-summary img {
  width: min(260px, 100%);
  height: auto;
}

.implementation-summary strong,
.service-snapshot strong,
.cert-summary strong {
  display: block;
  color: #ffffff;
  font-size: clamp(24px, 2.5vw, 38px);
  line-height: 1.02;
}

.implementation-summary span,
.service-snapshot span,
.cert-summary span,
.service-snapshot small,
.cert-summary small {
  color: #f2dbe6;
  font-weight: 850;
}

.metric-row,
.snapshot-grid,
.cert-mode-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.metric-row span,
.snapshot-grid b,
.snapshot-grid small,
.cert-mode-grid article {
  padding: 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.metric-row b,
.snapshot-grid b,
.cert-mode-grid b {
  display: block;
  color: #ffd400;
  font-size: 28px;
  line-height: 1;
}

.segment-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.segment-strip article {
  min-height: 132px;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 18px;
  background: #0b1020;
}

.segment-strip strong {
  color: #ffffff;
  font-size: 18px;
}

.segment-strip span {
  color: #d9e3f3;
  font-weight: 800;
}

.catalog-workspace,
.configurator-section,
.finance-section,
.quote-workflow-section,
.implementation-method,
.acquisition-section,
.faq-section,
.services-lines,
.creative-services,
.app-demo-section,
.service-roadmap,
.cert-modes,
.classroom-section,
.course-section,
.cert-roadmap {
  color: #f7fbff;
  background: #070915;
}

.configurator-section {
  position: relative;
  overflow: hidden;
}

.configurator-section::after {
  content: "";
  position: absolute;
  right: clamp(18px, 5vw, 72px);
  bottom: clamp(18px, 4vw, 54px);
  z-index: 0;
  width: min(520px, 42vw);
  aspect-ratio: 3 / 1;
  background: url("assets/mgt-studio-pro-logo-on-dark.svg") center / contain no-repeat;
  opacity: 0.1;
  pointer-events: none;
}

.configurator-section > * {
  position: relative;
  z-index: 1;
}

.implementation-hero::after,
.configurator-section::after {
  top: 50%;
  right: 50%;
  bottom: auto;
  width: min(920px, 72vw);
  opacity: 0.1;
  filter: saturate(1.18) drop-shadow(0 0 34px rgba(255, 111, 176, 0.22));
  transform: translate(50%, -50%) rotate(-8deg);
}

.catalog-workspace .section-heading p:not(.eyebrow),
.configurator-section .section-heading p:not(.eyebrow),
.finance-section .section-heading p:not(.eyebrow),
.quote-workflow-section .section-heading p:not(.eyebrow) {
  color: #d8e4f5;
}

.brand-store-section,
.brand-zone,
.catalog-layout,
.pc-builder-shell,
.finance-layout,
.quote-workflow-layout,
.app-demo-layout,
.classroom-layout,
.course-layout {
  display: grid;
  gap: 20px;
}

.quote-workflow-layout {
  grid-template-columns: minmax(460px, 0.82fr) minmax(520px, 1.18fr);
  align-items: start;
}

.brand-store-section {
  margin-bottom: 34px;
  padding: clamp(20px, 3vw, 34px);
  background:
    radial-gradient(circle at 8% 0%, rgba(225, 30, 121, 0.2), transparent 34%),
    rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
}

.brand-store-heading,
.brand-store-card__intro,
.catalog-toolbar,
.document-header,
.document-summary,
.document-send-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
}

.brand-store-heading h3,
.brand-store-card h4 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(26px, 3.2vw, 46px);
  line-height: 1.05;
}

.brand-store-heading p,
.brand-store-card p {
  margin: 0;
  color: #f2dbe6;
  font-weight: 800;
}

.brand-store-roadmap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.brand-store-roadmap strong,
.brand-store-roadmap span,
.product-tags span,
.room-equipment span,
.payment-list span,
.related-list span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 10px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.brand-store-card {
  overflow: hidden;
  display: grid;
  gap: 18px;
  padding: clamp(18px, 3vw, 26px);
  background:
    linear-gradient(155deg, rgba(113, 22, 63, 0.88), rgba(43, 12, 36, 0.96)) padding-box,
    linear-gradient(135deg, rgba(255, 111, 176, 0.58), rgba(255, 74, 36, 0.26)) border-box;
  border: 1px solid transparent;
  border-radius: 8px;
}

.brand-store-kicker {
  display: block;
  margin-bottom: 10px;
  color: #ff6fb0;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}

.brand-store-actions,
.product-detail-actions,
.workflow-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.workflow-actions {
  align-items: center;
}

.workflow-actions .button {
  flex: 1 1 170px;
  min-height: 36px;
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1.15;
  white-space: nowrap;
}

.brand-banner-gallery {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: #0a0d18;
}

.brand-banner-track {
  display: flex;
  transition: transform 360ms ease;
}

.brand-banner-tile {
  position: relative;
  flex: 0 0 100%;
  min-width: 100%;
  margin: 0;
  aspect-ratio: 21 / 9;
  background: #f4edf4;
}

.brand-banner-tile img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.brand-banner-controls {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.brand-banner-arrow,
.brand-banner-dots button,
.room-tab,
.course-sidebar button {
  color: #ffffff;
  background: rgba(7, 9, 21, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
}

.brand-banner-arrow {
  width: 38px;
  height: 38px;
  font-size: 24px;
  font-weight: 900;
}

.brand-banner-dots {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: center;
}

.brand-banner-dots button {
  width: 10px;
  height: 10px;
  padding: 0;
  border-radius: 999px;
}

.brand-banner-dots button.is-active,
.room-tab.active,
.course-sidebar button.active {
  background: #ffd400;
  border-color: #ffd400;
  color: #070915;
}

.brand-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.brand-tile {
  min-height: 88px;
  display: grid;
  gap: 6px;
  padding: 14px;
  color: #ffffff;
  text-align: left;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.brand-tile strong {
  font-size: 18px;
}

.brand-tile span {
  color: #d9e4f5;
  font-weight: 800;
}

.catalog-layout {
  grid-template-columns: minmax(250px, 0.27fr) minmax(0, 1fr);
  align-items: start;
}

.filter-panel,
.builder-panel,
.quote-panel,
.finance-panel,
.finance-result,
.quote-request-panel,
.quote-document-card,
.demo-control,
.service-snapshot,
.course-sidebar,
.course-detail,
.classroom-info {
  min-width: 0;
  display: grid;
  gap: 14px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.filter-panel,
.course-sidebar {
  position: sticky;
  top: 96px;
}

.filter-panel h3,
.builder-panel h3,
.quote-panel h3,
.finance-panel h3,
.finance-result h3,
.quote-request-panel h3,
.classroom-info h3,
.course-detail h3 {
  margin: 0 0 16px;
  color: #ffffff;
  font-size: 24px;
  line-height: 1.12;
}

.filter-panel label,
.builder-panel label,
.finance-panel label,
.quote-request-panel label,
.demo-control label,
.course-sidebar {
  display: grid;
  gap: 7px;
  color: #f2dbe6;
  font-weight: 900;
}

.builder-panel fieldset,
.finance-panel fieldset,
.quote-request-panel fieldset {
  min-width: 0;
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 14px;
  border: 1px solid rgba(255, 111, 176, 0.24);
  border-radius: 8px;
}

.quote-request-panel fieldset {
  align-content: start;
  gap: 10px;
  padding: 12px 14px;
}

.builder-panel legend,
.finance-panel legend,
.quote-request-panel legend {
  padding: 0 8px;
  color: #ff7fba;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.filter-panel input,
.filter-panel select,
.builder-panel input,
.builder-panel select,
.finance-panel input,
.finance-panel select,
.quote-request-panel input,
.quote-request-panel select,
.quote-request-panel textarea,
.demo-control select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
}

.quote-request-panel input,
.quote-request-panel select {
  min-height: 40px;
  padding: 9px 11px;
}

.quote-request-panel textarea {
  min-height: 86px;
  resize: vertical;
}

.filter-panel select option,
.builder-panel select option,
.finance-panel select option,
.quote-request-panel select option,
.demo-control select option,
.pc-builder-mini select option,
.catalog-filter-panel select option,
.customer-form select option,
.contact-form select option {
  color: #111827;
  background: #ffffff;
}

.filter-panel button,
.course-sidebar button {
  min-height: 40px;
  padding: 9px 11px;
  font-weight: 900;
}

.catalog-toolbar {
  margin-bottom: 16px;
}

.catalog-toolbar strong,
.quote-total strong,
.finance-result strong,
.course-price strong {
  color: #ff4f9d;
  font-size: clamp(24px, 2.4vw, 38px);
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}

.catalog-workspace .product-card {
  display: grid;
  padding: 0;
}

.catalog-workspace .product-card-media {
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 10;
  padding: 16px;
  background: linear-gradient(145deg, #f4edf4, #e7ecf6);
  border-bottom: 1px solid rgba(255, 111, 176, 0.35);
}

.catalog-workspace .product-card-media img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.catalog-workspace .product-card h3 {
  margin: 0;
  padding: 0 18px;
  color: #ffffff;
  font-size: 22px;
  line-height: 1.1;
}

.catalog-workspace .product-card p,
.catalog-workspace .product-card .product-meta,
.catalog-workspace .product-card .product-status,
.catalog-workspace .product-card .product-price,
.catalog-workspace .product-tags,
.catalog-workspace .product-card-actions {
  margin: 0;
  padding: 0 18px;
}

.catalog-workspace .product-card .product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 18px;
  color: #f3bfd6;
  font-size: 12px;
  font-weight: 900;
}

.catalog-workspace .product-card > p {
  color: #f2dbe6;
  font-weight: 800;
}

.product-tags,
.product-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-status {
  color: #ffd400;
  font-weight: 950;
}

.catalog-workspace .product-price {
  display: grid;
  gap: 5px;
}

.catalog-workspace .product-price small {
  color: #f7c5db;
  font-weight: 900;
}

.catalog-workspace .product-price strong {
  color: #ff4f9d;
  font-size: 28px;
}

.product-card-actions {
  padding-bottom: 18px;
}

.product-detail-link,
.product-quote-link,
.product-resource-link {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 12px;
  color: #ffffff;
  background: rgba(255, 79, 157, 0.18);
  border: 1px solid rgba(255, 111, 176, 0.42);
  border-radius: 8px;
  font-weight: 900;
}

.product-quote-link {
  background: #ffd400;
  border-color: #ffd400;
  color: #070915;
}

.product-detail-modal[hidden] {
  display: none;
}

.product-detail-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 20px;
}

.product-detail-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 9, 21, 0.78);
  border: 0;
}

.product-detail-card {
  position: relative;
  z-index: 1;
  width: min(1120px, 100%);
  max-height: min(88vh, 880px);
  overflow: auto;
  padding: clamp(18px, 3vw, 28px);
  color: #ffffff;
  background: #130817;
  border: 1px solid rgba(255, 111, 176, 0.38);
  border-radius: 8px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.5);
}

.product-detail-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 42px;
  height: 42px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  font-size: 24px;
  font-weight: 900;
}

.product-detail-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
  gap: 24px;
}

.product-detail-gallery,
.product-detail-info,
.product-detail-checkout {
  display: grid;
  gap: 14px;
}

.product-detail-main {
  display: grid;
  place-items: center;
  min-height: 320px;
  padding: 18px;
  background: #f4edf4;
  border-radius: 8px;
}

.product-detail-main img {
  max-width: 100%;
  max-height: 440px;
  object-fit: contain;
}

.product-detail-thumbs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}

.product-detail-thumbs button {
  padding: 4px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
}

.product-detail-thumbs button.is-active {
  border-color: #ffd400;
}

.product-detail-thumbs img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.product-detail-meta,
.product-detail-resources {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-detail-meta span {
  padding: 7px 10px;
  color: #f2dbe6;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  font-weight: 900;
}

.product-detail-specs {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 20px;
  color: #f2dbe6;
  font-weight: 850;
}

.product-detail-price {
  display: grid;
  gap: 6px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 111, 176, 0.28);
  border-radius: 8px;
}

.product-detail-price strong {
  color: #ff4f9d;
  font-size: 34px;
}

.product-video-frame {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
}

.product-video-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.pc-builder-shell,
.finance-layout,
.quote-workflow-layout,
.app-demo-layout,
.classroom-layout,
.course-layout {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.42fr);
}

.quote-workflow-layout {
  grid-template-columns: minmax(420px, 0.78fr) minmax(620px, 1.22fr);
}

.pc-builder-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.pc-builder-panel h3,
.pc-builder-panel .compatibility-alert,
.pc-builder-panel .addon-grid {
  grid-column: 1 / -1;
}

.pc-builder-panel fieldset,
.finance-lead-fields {
  grid-column: 1 / -1;
}

.finance-lead-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.finance-lead-fields legend {
  grid-column: 1 / -1;
}

.addon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.addon-source-note {
  grid-column: 1 / -1;
  margin: 0 0 10px;
  color: #c9d3e7;
  font-size: 14px;
  font-weight: 500;
}

.addon-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}

.addon-filter-bar button {
  min-height: 40px;
  padding: 8px 14px;
  color: #f8f7ff;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 111, 176, 0.32);
  border-radius: 999px;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.addon-filter-bar button:hover,
.addon-filter-bar button.is-active {
  color: #ffffff;
  background: linear-gradient(135deg, #e11e79, #ff4a3d);
  border-color: transparent;
}

.addon-option.addon-option--xencelabs {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
}

.addon-option--xencelabs > span {
  display: grid;
  gap: 5px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.addon-option--xencelabs > span small,
.addon-option--xencelabs > span em {
  color: #c7d2e7;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
}

.addon-option--xencelabs > strong {
  grid-column: 2;
  color: #ff93c4;
  font-size: 18px;
}

.addon-grid-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 18px;
  color: #c9d3e7;
  background: rgba(255, 255, 255, 0.04);
  border: 1px dashed rgba(255, 255, 255, 0.18);
  border-radius: 10px;
}

.configurator-section::after {
  content: none !important;
  background: none !important;
}

.addon-option,
.approval-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.addon-option input,
.approval-check input {
  width: auto;
  min-height: 0;
  margin-top: 4px;
}

.compatibility-alert,
.compatibility-score,
.budget-meter,
.quote-status,
.spec-list div,
.finance-result dl,
.document-meta,
.document-items div,
.signature-grid div {
  padding: 12px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
}

.spec-list {
  display: grid;
  gap: 8px;
}

.spec-warning,
.budget-warning {
  color: #ffd400;
}

.budget-ok {
  color: #8cffd9;
}

.budget-meter-bar {
  overflow: hidden;
  height: 12px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 999px;
}

.budget-meter-bar span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #e11e79, #ffd400);
}

.quote-total,
.finance-result dl,
.document-meta,
.document-items,
.signature-grid,
.demo-kpis,
.demo-flow,
.cert-mode-cards,
.service-line-grid,
.creative-grid,
.timeline,
.acquisition-grid,
.faq-grid,
.course-meta-grid,
.course-content-grid {
  display: grid;
  gap: 12px;
}

.finance-result dl,
.document-meta,
.document-items,
.signature-grid,
.demo-kpis,
.cert-mode-cards,
.service-line-grid,
.creative-grid,
.timeline,
.acquisition-grid,
.faq-grid,
.course-meta-grid,
.course-content-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.finance-result dt,
.document-meta dt {
  color: #ff6fb0;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.finance-result dd,
.document-meta dd {
  margin: 4px 0 0;
  color: #ffffff;
  font-weight: 900;
}

.quote-request-panel {
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  align-self: start;
  gap: 14px;
}

.quote-document-card {
  align-self: start;
}

.quote-request-panel h3,
.quote-request-panel .approval-check,
.quote-request-panel .workflow-actions,
.quote-request-panel textarea {
  grid-column: 1 / -1;
}

.quote-request-panel fieldset {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quote-request-panel legend,
.quote-request-panel label:has(textarea) {
  grid-column: 1 / -1;
}

.quote-document-card {
  position: relative;
  overflow: hidden;
  color: #102033;
  background: #ffffff;
  border-color: #dce5ef;
}

.quote-document-card .letterhead-bg {
  position: absolute;
  right: -40px;
  bottom: 20px;
  width: 300px;
  opacity: 0.07;
  filter: saturate(1.18) contrast(1.12);
}

.document-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.quote-document-card .document-header {
  padding: 18px 20px;
  background:
    radial-gradient(circle at 88% 20%, rgba(225, 30, 121, 0.16), transparent 30%),
    #070915;
  border: 1px solid #252b45;
  border-radius: 8px;
}

.quote-document-card .document-header span,
.quote-document-card .document-header small {
  color: #ff77b8;
}

.quote-document-card .document-header strong {
  color: #ffffff;
}

.document-brand-logo {
  display: block;
  width: clamp(150px, 24vw, 230px);
  max-height: 74px;
  object-fit: contain;
  object-position: right top;
}

.document-referral-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  margin-top: 8px;
  padding: 16px;
  background: #f6f8fb;
  border: 1px solid #dce5ef;
  border-radius: 8px;
}

.quote-document-card .document-send-panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.quote-document-card .document-send-panel > .button {
  display: flex;
  justify-content: center;
  width: 100%;
  min-width: 0;
  white-space: normal;
}

.quote-document-card .document-send-panel > .document-referral-form,
.quote-document-card .document-send-panel > p {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.document-referral-form > strong,
.document-referral-form > p,
.document-referral-form .referral-consent,
.document-referral-form output {
  grid-column: 1 / -1;
}

.document-referral-form > strong {
  color: #102033;
}

.document-referral-form > p {
  margin: 0;
}

.document-referral-form label {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: #102033;
  font-size: 13px;
  font-weight: 900;
}

.document-referral-form input[type="text"],
.document-referral-form input[type="email"] {
  min-width: 0;
  box-sizing: border-box;
  width: 100%;
  color: #102033;
  background: #ffffff;
  border: 1px solid #cfdbe7;
}

.document-referral-form > strong,
.document-referral-form > p,
.document-referral-form label,
.document-referral-form span {
  overflow-wrap: normal;
  word-break: normal;
}

.document-referral-form .referral-consent {
  grid-template-columns: auto 1fr;
  align-items: start;
}

.document-referral-form output {
  min-height: 20px;
  color: #5c6a7f;
  font-weight: 850;
}

.document-referral-form output.is-success {
  color: #087f68;
}

.document-referral-form output.is-error {
  color: #b42318;
}

@media (max-width: 720px) {
  .document-header {
    grid-template-columns: 1fr;
  }

  .document-brand-logo {
    width: min(210px, 70%);
    object-position: left top;
  }

  .document-referral-form {
    grid-template-columns: 1fr;
  }

}

.quote-document-card h3,
.quote-document-card strong {
  color: #102033;
}

.quote-document-card span,
.quote-document-card p,
.quote-document-card small,
.document-note {
  color: #5c6a7f;
}

.quote-document-card .document-meta {
  padding: 0;
  background: transparent;
  border: 0;
}

.quote-document-card .document-meta div {
  min-width: 0;
  padding: 12px;
  background: #f6f8fb;
  border: 1px solid #dce5ef;
  border-radius: 8px;
}

.quote-document-card .document-meta dd {
  color: #102033;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.document-items {
  grid-template-columns: 1fr;
}

.document-items div {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(74px, 0.36fr) minmax(0, 1fr) max-content;
  gap: 8px;
  align-items: start;
  background: #f6f8fb;
  border-color: #dce5ef;
}

.document-summary {
  grid-template-columns: 1fr;
  align-items: stretch;
}

.document-summary div {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(96px, max-content);
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  background: #f6f8fb;
  border: 1px solid #dce5ef;
  border-radius: 8px;
}

.document-summary span {
  color: #5c6a7f;
  font-weight: 900;
}

.document-summary strong {
  min-width: 0;
  text-align: right;
  overflow-wrap: anywhere;
}

.document-summary .document-summary__wide {
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
}

.document-summary__wide strong {
  display: block;
  width: 100%;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.38;
}

.document-items span {
  color: #e11e79;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.document-items strong,
.document-items small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.document-items small {
  text-align: right;
  font-weight: 850;
}

.document-items-head {
  color: #ffffff;
  background: #102033 !important;
  border-color: #102033 !important;
}

.document-items-head span,
.document-items-head strong,
.document-items-head small {
  color: #ffffff;
}

.quote-print-pages {
  display: none;
}

@media print {
  @page {
    size: A4;
    margin: 10mm;
  }

  html,
  body {
    width: auto;
    min-height: 0;
    color: #102033 !important;
    background: #ffffff !important;
  }

  .site-header,
  .site-footer,
  main > section:not(.quote-workflow-section),
  .quote-workflow-section > .section-heading,
  .quote-request-panel,
  .quote-document-card > :not(.quote-print-pages) {
    display: none !important;
  }

  main,
  .quote-workflow-section,
  .quote-workflow-layout,
  .quote-document-card,
  .quote-print-pages {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #102033 !important;
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .quote-document-card {
    overflow: visible !important;
  }

  .quote-print-pages {
    font-family: Arial, Helvetica, sans-serif;
  }

  .quote-print-page {
    position: relative;
    display: block !important;
    min-height: 274mm;
    page-break-after: always;
    break-after: page;
    color: #102033 !important;
    background: #ffffff !important;
  }

  .quote-print-page:last-child {
    page-break-after: auto;
    break-after: auto;
  }

  .quote-print-page .letterhead-bg {
    position: absolute;
    right: 0;
    bottom: 2mm;
    width: 58mm;
    opacity: 0.13;
    filter: saturate(1.18) contrast(1.18);
  }

  .quote-print-content {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 4mm;
    font-size: 9.4pt;
    line-height: 1.24;
  }

  .document-header--print {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: start;
    padding: 4mm 5mm;
    background:
      radial-gradient(circle at 88% 20%, rgba(225, 30, 121, 0.16), transparent 30%),
      #070915 !important;
    border: 1px solid #252b45;
    border-radius: 2mm;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .document-header--print .document-brand-logo {
    width: 48mm;
    max-height: 18mm;
  }

  .document-header--print span,
  .document-header--print small,
  .quote-print-content dt,
  .document-items--print span,
  .quote-print-content .document-summary span,
  .quote-print-content .signature-grid span {
    color: #e11e79 !important;
    font-size: 8pt;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .document-header--print strong {
    display: inline-block;
    margin-left: 3mm;
    color: #ffffff !important;
    font-size: 11pt;
    font-weight: 950;
  }

  .document-header--print small {
    display: block;
    margin-top: 1mm;
    color: #d8d3e8 !important;
  }

  .quote-print-content h3 {
    margin: 0;
    color: #102033 !important;
    font-size: 15pt;
    line-height: 1.1;
    font-weight: 950;
  }

  .quote-print-content .document-meta,
  .quote-print-content .signature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.6mm;
  }

  .quote-print-content .document-meta div,
  .quote-print-content .signature-grid div,
  .document-items--print div,
  .quote-print-content .document-summary div {
    break-inside: avoid;
    padding: 2.7mm;
    background: #f6f8fb !important;
    border: 1px solid #dce5ef !important;
    border-radius: 2mm;
  }

  .quote-print-content dd {
    margin: 1mm 0 0;
    color: #102033 !important;
    font-weight: 900;
  }

  .document-items--print {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.4mm;
  }

  .document-items--print div {
    display: grid;
    grid-template-columns: 25mm minmax(0, 1fr) 26mm;
    gap: 2.6mm;
    align-items: start;
  }

  .document-items--print .document-items-head {
    padding: 2.3mm 2.7mm;
    background: #102033 !important;
    border-color: #102033 !important;
  }

  .document-items--print .document-items-head span,
  .document-items--print .document-items-head strong,
  .document-items--print .document-items-head small {
    color: #ffffff !important;
  }

  .document-items--print strong,
  .document-items--print small,
  .quote-print-content .document-summary strong,
  .quote-print-content .signature-grid strong {
    min-width: 0;
    color: #102033 !important;
    font-weight: 950;
    overflow-wrap: anywhere;
  }

  .document-items--print small {
    text-align: right;
    font-size: 8.8pt;
  }

  .quote-print-content .document-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.6mm;
  }

  .quote-print-content .document-summary div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(25mm, max-content);
    gap: 2.6mm;
    align-items: start;
  }

  .quote-print-content .document-summary strong {
    text-align: right;
    font-size: 10pt;
  }

  .quote-print-content .document-summary .document-summary__wide {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.2mm;
  }

  .quote-print-content .document-summary__wide strong {
    text-align: left;
    line-height: 1.35;
  }

  .quote-print-content .document-note,
  .quote-print-content .document-continuation-note {
    margin: 0;
    color: #31445c !important;
    font-size: 9pt;
    font-weight: 850;
  }
}

/* Xencelabs: sistema maestro reutilizable para marcas aliadas. */
.brand-showcase-page {
  --brand-accent: #ffd400;
  --brand-accent-2: #e11e79;
  --brand-surface: #10131f;
  --brand-surface-soft: #171b29;
}

.brand-showcase-page .site-scroll-top,
.brand-showcase-page .site-private-entry,
.xencelabs-product-page .site-scroll-top,
.xencelabs-product-page .site-private-entry {
  display: none !important;
}

.brand-showcase-page .customer-access,
.xencelabs-product-page .customer-access {
  display: none !important;
}

.brand-showcase-hero {
  position: relative;
  min-height: clamp(560px, 52vw, 720px);
  overflow: hidden;
  color: #fff;
  background: #07090f;
}

.brand-showcase-hero::after {
  content: none;
}

.brand-showcase-slider__track,
.brand-showcase-slide {
  position: absolute;
  inset: 0;
}

.brand-showcase-slide {
  display: grid;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 520ms ease, visibility 520ms ease;
}

.brand-showcase-slide.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.brand-showcase-slide > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.015);
  transition: transform 7s ease;
}

.brand-showcase-slide.is-active > img {
  transform: scale(1.055);
}

.brand-showcase-slide__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 7, 13, 0.96) 0%, rgba(5, 7, 13, 0.82) 32%, rgba(5, 7, 13, 0.26) 68%, rgba(5, 7, 13, 0.12) 100%);
}

.brand-showcase-slide__shade--right {
  background: linear-gradient(270deg, rgba(5, 7, 13, 0.96) 0%, rgba(5, 7, 13, 0.78) 35%, rgba(5, 7, 13, 0.18) 72%, rgba(5, 7, 13, 0.08) 100%);
}

.brand-showcase-slider__copy {
  position: relative;
  z-index: 2;
  width: min(760px, calc(100% - 48px));
  margin-left: clamp(24px, 6vw, 96px);
  padding: clamp(70px, 8vw, 118px) 0 clamp(92px, 10vw, 138px);
}

.brand-showcase-slider__copy--right {
  justify-self: end;
  margin-right: clamp(24px, 6vw, 96px);
  margin-left: 0;
}

.brand-showcase-badge {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 18px;
  padding: 9px 14px;
  border: 1px solid rgba(255, 212, 0, 0.55);
  border-radius: 999px;
  color: #fff3ad;
  background: rgba(255, 212, 0, 0.08);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.brand-showcase-hero h1 {
  max-width: 760px;
  margin: 8px 0 18px;
  font-size: clamp(3.2rem, 8vw, 7.8rem);
  line-height: 0.88;
  letter-spacing: -0.065em;
}

.brand-showcase-slide h2 {
  max-width: 720px;
  margin: 10px 0 20px;
  font-size: clamp(2.5rem, 5.6vw, 5.6rem);
  line-height: 0.95;
  letter-spacing: -0.045em;
}

.brand-showcase-slide__shade + .brand-showcase-slider__copy > p:not(.eyebrow):not(.brand-showcase-badge):not(.brand-showcase-slider__status),
.brand-showcase-slider__copy > p:not(.eyebrow):not(.brand-showcase-badge):not(.brand-showcase-slider__status) {
  max-width: 700px;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1rem, 1.7vw, 1.3rem);
  line-height: 1.6;
}

.brand-showcase-lead {
  max-width: 760px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.18rem, 2vw, 1.65rem);
  line-height: 1.45;
}

.brand-showcase-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.brand-showcase-slider__status {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: baseline;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.76);
}

.brand-showcase-slider__controls {
  position: absolute;
  z-index: 3;
  right: clamp(20px, 4vw, 64px);
  bottom: 28px;
  display: flex;
  gap: 12px;
  align-items: center;
}

.brand-showcase-slider__controls > button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0 0 3px;
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 50%;
  color: #fff;
  background: rgba(7, 9, 15, 0.58);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}

.brand-showcase-slider__dots {
  display: flex;
  gap: 8px;
}

.brand-showcase-slider__dots button {
  width: 34px;
  height: 4px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.42);
  cursor: pointer;
}

.brand-showcase-slider__dots button.is-active {
  background: var(--brand-accent);
}

.brand-showcase-proof {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: #0c0e18;
}

.brand-showcase-proof article {
  display: grid;
  gap: 7px;
  min-height: 150px;
  padding: 34px clamp(22px, 3vw, 46px);
  border-right: 1px solid rgba(255, 255, 255, 0.09);
}

.brand-showcase-proof article:last-child {
  border-right: 0;
}

.brand-showcase-proof strong {
  color: #fff;
}

.brand-showcase-proof span {
  color: rgba(255, 255, 255, 0.62);
  line-height: 1.55;
}

.brand-showcase-section-heading {
  max-width: 820px;
  margin-bottom: 32px;
}

.brand-showcase-section-heading h2 {
  margin: 8px 0 12px;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1;
}

.brand-showcase-section-heading > p:last-child {
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.7;
}

.brand-showcase-lines {
  background: #0a0c15;
}

.brand-showcase-line-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.brand-line-card {
  display: grid;
  grid-template-rows: 230px 1fr;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 22px;
  color: #fff;
  text-align: left;
  background: var(--brand-surface);
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.brand-line-card:hover,
.brand-line-card:focus-visible {
  transform: translateY(-5px);
  border-color: rgba(255, 212, 0, 0.6);
  background: var(--brand-surface-soft);
}

.brand-line-card > img {
  width: 100%;
  height: 230px;
  object-fit: contain;
  padding: 18px;
  background: #ffffff;
}

.brand-line-card > span {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 22px;
}

.brand-line-card small {
  color: var(--brand-accent);
  font-weight: 750;
}

.brand-line-card strong {
  font-size: 1.32rem;
}

.brand-line-card em {
  color: rgba(255, 255, 255, 0.64);
  font-size: 0.94rem;
  font-style: normal;
  line-height: 1.55;
}

.brand-master-catalog {
  background: linear-gradient(180deg, #111421, #080a12);
}

.brand-master-catalog .catalog-filter-panel {
  grid-template-columns: minmax(220px, 360px) auto;
  justify-content: start;
  align-items: end;
  max-width: 720px;
}

.brand-master-catalog .catalog-grid {
  gap: 22px;
}

.product-card--brand-master {
  overflow: hidden;
  border-color: rgba(255, 255, 255, 0.13);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(23, 27, 41, 0.98), rgba(12, 14, 24, 0.98));
}

.product-card--brand-master .product-image-panel {
  min-height: 300px;
  background: #f5f5f5;
}

.product-card--brand-master .product-description {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.product-card--brand-master .product-specs {
  min-height: 58px;
}

.product-card--brand-master .product-actions {
  margin-top: auto;
}

.product-detail--xencelabs .product-page-hero {
  background:
    radial-gradient(circle at 12% 20%, rgba(255, 212, 0, 0.08), transparent 24%),
    radial-gradient(circle at 88% 12%, rgba(225, 30, 121, 0.13), transparent 26%),
    #090b14;
}

.product-detail--xencelabs .product-page-layout {
  align-items: start;
}

.product-detail--xencelabs .product-page-main-image {
  min-height: 520px;
  border-radius: 26px;
  background: #f6f6f6;
}

.product-detail--xencelabs .product-page-main-image > img:first-child {
  width: 100%;
  height: min(62vw, 620px);
  object-fit: contain;
  padding: clamp(18px, 3vw, 42px);
}

.product-detail--xencelabs .product-page-resources button {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(255, 212, 0, 0.4);
  border-radius: 10px;
  color: #fff3ad;
  text-align: left;
  background: rgba(255, 212, 0, 0.08);
  cursor: pointer;
}

.xencelabs-answer-zone {
  background: #0e111d;
}

.xencelabs-use-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.xencelabs-use-grid article {
  min-height: 210px;
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 20px;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015));
}

.xencelabs-use-grid strong {
  color: var(--brand-accent, #ffd400);
  font-size: 1.1rem;
}

.xencelabs-use-grid p {
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.65;
}

.xencelabs-story {
  display: grid;
  gap: 22px;
  background: #080a12;
}

.xencelabs-story figure {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  min-height: 430px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 26px;
  background: #121622;
}

.xencelabs-story figure:nth-child(even) img {
  order: 2;
}

.xencelabs-story img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: contain;
  padding: 24px;
  background: #f4f4f4;
}

.xencelabs-story figcaption {
  display: grid;
  align-content: center;
  gap: 14px;
  padding: clamp(32px, 5vw, 76px);
}

.xencelabs-story figcaption strong {
  font-size: clamp(1.6rem, 3vw, 3rem);
  line-height: 1.05;
}

.xencelabs-story figcaption span {
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.7;
}

.xencelabs-decision-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  background: #10131f;
}

.xencelabs-decision-grid article {
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 22px;
  background: #151927;
}

.xencelabs-decision-grid h2 {
  margin: 8px 0 18px;
  font-size: clamp(1.5rem, 2.4vw, 2.35rem);
}

.xencelabs-decision-grid li,
.xencelabs-decision-grid p,
.xencelabs-decision-grid small {
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.65;
}

.xencelabs-faq {
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr);
  gap: 16px 54px;
  background: #090b14;
}

.xencelabs-faq > div {
  grid-row: 1 / span 5;
}

.xencelabs-faq h2 {
  font-size: clamp(2rem, 4vw, 3.8rem);
  line-height: 1;
}

.xencelabs-faq details {
  padding: 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

.xencelabs-faq summary {
  color: #fff;
  font-weight: 750;
  cursor: pointer;
}

.xencelabs-faq details p {
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.65;
}

@media (max-width: 1080px) {
  .brand-showcase-slider__copy {
    width: min(680px, calc(100% - 48px));
  }

  .brand-showcase-proof,
  .brand-showcase-line-grid,
  .xencelabs-use-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .xencelabs-decision-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .brand-showcase-page .site-header,
  .xencelabs-product-page .site-header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px 12px;
    padding: 8px 12px 10px;
  }

  .brand-showcase-page .site-header .brand img,
  .xencelabs-product-page .site-header .brand img {
    width: 138px;
    max-width: 42vw;
  }

  .brand-showcase-page .site-header .nav,
  .xencelabs-product-page .site-header .nav {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    gap: 7px;
    overflow: visible;
  }

  .brand-showcase-page .site-header .nav a,
  .xencelabs-product-page .site-header .nav a {
    display: none !important;
    min-width: 0;
    padding: 8px 10px;
    font-size: 0.76rem;
    text-align: center;
    white-space: normal;
  }

  .brand-showcase-page .site-header .nav .nav-link--store,
  .brand-showcase-page .site-header .nav a[href*="contacto"],
  .xencelabs-product-page .site-header .nav .nav-link--store,
  .xencelabs-product-page .site-header .nav a[href*="contacto"] {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  .brand-showcase-hero {
    min-height: 760px;
  }

  .brand-showcase-hero h1 {
    font-size: clamp(3.2rem, 17vw, 5rem);
  }

  .brand-showcase-slide h2 {
    font-size: clamp(2.5rem, 12vw, 4.2rem);
  }

  .brand-showcase-slide > img {
    object-position: 64% center;
  }

  .brand-showcase-slider__copy,
  .brand-showcase-slider__copy--right {
    justify-self: start;
    width: calc(100% - 36px);
    margin-right: 18px;
    margin-left: 18px;
    padding: 96px 0 132px;
  }

  .brand-showcase-slide__shade,
  .brand-showcase-slide__shade--right {
    background: linear-gradient(180deg, rgba(5, 7, 13, 0.82) 0%, rgba(5, 7, 13, 0.54) 32%, rgba(5, 7, 13, 0.78) 68%, rgba(5, 7, 13, 0.98) 100%);
  }

  .brand-showcase-actions {
    display: grid;
  }

  .brand-showcase-actions .button {
    justify-content: center;
    width: 100%;
  }

  .brand-showcase-slider__controls {
    right: 18px;
    bottom: 22px;
  }

  .brand-showcase-slider__controls > button {
    width: 40px;
    height: 40px;
  }

  .brand-showcase-slider__dots button {
    width: 24px;
  }

  .brand-showcase-proof,
  .brand-showcase-line-grid,
  .xencelabs-use-grid {
    grid-template-columns: 1fr;
  }

  .brand-showcase-proof article {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  }

  .brand-line-card {
    grid-template-rows: 200px 1fr;
  }

  .brand-master-catalog .catalog-filter-panel {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .product-detail--xencelabs .product-page-main-image,
  .product-detail--xencelabs .product-page-main-image > img:first-child {
    min-height: 360px;
    height: 360px;
  }

  .product-detail--xencelabs .product-page-thumbs {
    display: flex;
    gap: 9px;
    overflow-x: auto;
    padding: 2px 0 10px;
    scroll-snap-type: x proximity;
  }

  .product-detail--xencelabs .product-page-thumbs button {
    flex: 0 0 86px;
    width: 86px;
    height: 86px;
    min-height: 86px;
    padding: 5px;
    scroll-snap-align: start;
  }

  .product-detail--xencelabs .product-page-thumbs img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .xencelabs-story figure {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .xencelabs-story figure:nth-child(even) img {
    order: initial;
  }

  .xencelabs-story img {
    min-height: 310px;
  }

  .xencelabs-faq {
    grid-template-columns: 1fr;
  }

  .xencelabs-faq > div {
    grid-row: auto;
  }
}

@media print {
  .site-header,
  .site-footer,
  .product-page-action-panel,
  .product-page-cart-section,
  .site-scroll-top,
  .site-private-entry {
    display: none !important;
  }

  .product-detail--xencelabs,
  .product-detail--xencelabs section,
  .product-detail--xencelabs article {
    color: #111 !important;
    background: #fff !important;
  }

  .product-detail--xencelabs .product-page-layout,
  .xencelabs-decision-grid,
  .xencelabs-use-grid {
    grid-template-columns: 1fr 1fr;
  }

  .xencelabs-story,
  .xencelabs-faq {
    display: none !important;
  }
}

.services-lines article,
.creative-grid article,
.timeline article,
.acquisition-grid article,
.faq-grid article,
.cert-mode-cards article,
.course-meta-grid article,
.course-content-grid article {
  padding: 20px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.services-lines strong,
.creative-grid h3,
.timeline strong,
.acquisition-grid strong,
.faq-grid strong,
.cert-mode-cards strong,
.course-meta-grid strong,
.course-content-grid h3 {
  color: #ffffff;
}

.services-lines span,
.creative-grid p,
.timeline span,
.acquisition-grid span,
.faq-grid span,
.cert-mode-cards span,
.course-meta-grid span,
.course-content-grid li {
  color: #d9e4f5;
  font-weight: 800;
}

.creative-grid span {
  color: #ffd400;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 1px;
}

.app-demo-layout {
  grid-template-columns: minmax(260px, 0.32fr) minmax(0, 1fr);
}

.demo-app-shell {
  overflow: hidden;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  min-height: 460px;
  background: #10172a;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.demo-sidebar {
  padding: 18px;
  background: #080b16;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.demo-menu {
  display: grid;
  gap: 8px;
  margin-top: 18px;
}

.demo-menu span,
.demo-flow span {
  padding: 10px;
  color: #d9e4f5;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  font-weight: 900;
}

.demo-menu span.active,
.demo-flow span.active {
  color: #070915;
  background: #ffd400;
}

.demo-screen {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 18px;
}

.demo-topbar,
.demo-table-head,
.demo-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: center;
}

.demo-kpis article {
  padding: 16px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
}

.demo-kpis small,
.demo-table-head span {
  color: #ff6fb0;
  font-size: 12px;
  font-weight: 950;
}

.demo-kpis strong {
  color: #ffffff;
  font-size: 26px;
}

.demo-table {
  display: grid;
  gap: 8px;
}

.demo-row {
  padding: 12px;
  color: #d9e4f5;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  font-weight: 800;
}

.classroom-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.room-tab,
.course-sidebar button {
  min-height: 42px;
  padding: 10px 12px;
  text-align: left;
  font-weight: 900;
}

.classroom-stage {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  padding: 22px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(102, 45, 128, 0.12)),
    #11182c;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.u-table {
  position: absolute;
  inset: 70px 90px 120px;
  border: 16px solid rgba(255, 255, 255, 0.12);
  border-top: 0;
  border-radius: 0 0 48px 48px;
}

.room-station,
.teacher-station,
.room-device,
.still-life {
  position: relative;
  z-index: 1;
  display: inline-grid;
  gap: 4px;
  align-content: center;
  width: 96px;
  min-height: 72px;
  margin: 6px;
  padding: 10px;
  color: #ffffff;
  text-align: center;
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 850;
}

.room-station i,
.teacher-station i {
  width: 22px;
  height: 22px;
  margin: 0 auto;
  background: #ffd400;
  border-radius: 50%;
}

.teacher-station,
.screen-main {
  background: rgba(225, 30, 121, 0.22);
  border-color: rgba(255, 111, 176, 0.34);
}

.classroom-info {
  display: grid;
  align-content: start;
  gap: 14px;
}

.room-equipment,
.payment-list,
.related-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.course-sidebar {
  align-content: start;
}

.course-hero-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
  padding: 20px;
  background:
    linear-gradient(155deg, rgba(113, 22, 63, 0.86), rgba(43, 12, 36, 0.92)) padding-box,
    linear-gradient(135deg, rgba(255, 111, 176, 0.58), rgba(255, 74, 36, 0.28)) border-box;
  border: 1px solid transparent;
  border-radius: 8px;
}

.course-hero-card small {
  color: #ff6fb0;
  font-weight: 950;
  text-transform: uppercase;
}

.course-hero-card h3 {
  margin: 8px 0;
  color: #ffffff;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.04;
}

.course-price {
  min-width: 150px;
  padding: 16px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
}

.cta-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: clamp(22px, 4vw, 38px);
  background:
    radial-gradient(circle at 8% 0%, rgba(225, 30, 121, 0.2), transparent 34%),
    rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

.cta-band h2,
.cta-band p {
  margin: 0;
}

.workshop-news-section {
  color: #ffffff;
  background:
    radial-gradient(circle at 12% 8%, rgba(255, 212, 0, 0.18), transparent 30%),
    radial-gradient(circle at 86% 20%, rgba(225, 30, 121, 0.22), transparent 34%),
    linear-gradient(135deg, #080812 0%, #101421 48%, #090713 100%);
  border-top: 1px solid rgba(255, 212, 0, 0.22);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.news-slider-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 24px;
}

.news-slider-heading h2 {
  max-width: 820px;
  margin: 5px 0 0;
  color: #ffffff;
  font-size: clamp(25px, 3vw, 42px);
  line-height: 1.06;
}

.news-slider-controls {
  display: flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
}

.news-slider-controls > button {
  width: 44px;
  height: 44px;
  color: #11131a;
  background: #ffd400;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 50%;
  font-size: 29px;
  line-height: 1;
  cursor: pointer;
}

.news-slider-controls > button:focus-visible,
.news-slider-dots button:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 3px;
}

.news-slider-dots {
  display: flex;
  align-items: center;
  gap: 7px;
}

.news-slider-dots button {
  width: 10px;
  height: 10px;
  padding: 0;
  background: rgba(255, 255, 255, 0.34);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition: width 180ms ease, background 180ms ease;
}

.news-slider-dots button[aria-selected="true"] {
  width: 30px;
  background: #ffd400;
}

.news-slider-viewport {
  overflow: hidden;
  border-radius: 10px;
  transition: height 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.news-slider-track {
  display: flex;
  align-items: flex-start;
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.news-slide {
  flex: 0 0 100%;
  min-width: 0;
}

.workshop-news-layout {
  display: grid;
  grid-template-columns: minmax(420px, 1.06fr) minmax(320px, 0.74fr);
  gap: clamp(16px, 2.4vw, 34px);
  align-items: start;
}

.workshop-news-flyer {
  margin: 0;
  position: sticky;
  top: 88px;
  justify-self: stretch;
  width: 100%;
  max-width: 860px;
}

.workshop-news-flyer img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  background: #050507;
  border: 1px solid rgba(255, 212, 0, 0.36);
  border-radius: 8px;
  box-shadow: 0 28px 74px rgba(0, 0, 0, 0.44);
}

.workshop-news-content {
  display: grid;
  gap: 18px;
  align-content: start;
  padding: clamp(18px, 3vw, 34px);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 212, 0, 0.05)) padding-box,
    linear-gradient(135deg, rgba(255, 212, 0, 0.48), rgba(225, 30, 121, 0.42)) border-box;
  border: 1px solid transparent;
  border-radius: 8px;
}

.workshop-news-content h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(32px, 4vw, 58px);
  line-height: 1.02;
  letter-spacing: 0;
}

.workshop-news-content p {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-weight: 800;
}

.workshop-news-badges,
.workshop-news-grid {
  display: grid;
  gap: 10px;
}

.workshop-news-badges {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.workshop-news-badges span,
.workshop-news-grid article {
  min-width: 0;
  display: grid;
  align-content: center;
  min-height: 68px;
  padding: 12px 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 212, 0, 0.28);
  border-radius: 8px;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.workshop-news-badges span {
  color: #ffe36a;
  font-size: clamp(13px, 0.95vw, 15px);
  font-weight: 950;
  line-height: 1.14;
  text-align: center;
}

.workshop-news-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.workshop-news-grid small {
  display: block;
  color: rgba(255, 255, 255, 0.64);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.06em;
  line-height: 1.12;
  text-transform: uppercase;
}

.workshop-news-grid strong {
  display: block;
  color: #ffffff;
  margin-top: 4px;
  font-size: clamp(16px, 1.12vw, 20px);
  line-height: 1.1;
  text-wrap: balance;
}

.workshop-lead-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 4px;
  padding: 18px;
  background: rgba(5, 7, 14, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
}

.workshop-lead-form label {
  display: grid;
  gap: 7px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 14px;
  font-weight: 950;
}

.workshop-lead-form input,
.workshop-lead-form select,
.workshop-lead-form textarea {
  width: 100%;
  min-height: 44px;
  padding: 11px 12px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
}

.workshop-lead-form textarea {
  resize: vertical;
}

.workshop-lead-form__wide {
  grid-column: 1 / -1;
}

.workshop-payment-note {
  padding: 14px 16px;
  color: #ffe9a0 !important;
  background: rgba(255, 212, 0, 0.08);
  border: 1px solid rgba(255, 212, 0, 0.24);
  border-radius: 8px;
}

.news-slide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.institutional-savings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}

.institutional-savings article {
  min-width: 0;
  padding: 17px;
  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(255, 212, 0, 0.28);
  border-radius: 9px;
}

.institutional-savings small,
.institutional-savings span {
  display: block;
  color: rgba(255, 255, 255, 0.68);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

.institutional-savings strong {
  display: block;
  margin-top: 5px;
  color: #ffffff;
  font-size: clamp(22px, 2.4vw, 36px);
  line-height: 1;
}

.institutional-savings__highlight {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, #ffd400, #ffad00) !important;
  border-color: #ffe36a !important;
  box-shadow: 0 16px 38px rgba(255, 184, 0, 0.18);
}

.institutional-savings__highlight small,
.institutional-savings__highlight strong,
.institutional-savings__highlight span {
  color: #11131a;
}

.institutional-note {
  padding: 15px 16px;
  color: rgba(255, 255, 255, 0.78) !important;
  background: rgba(7, 9, 21, 0.7);
  border-left: 4px solid #ffd400;
  border-radius: 7px;
  font-size: 14px;
}

.has-modal-open {
  overflow: hidden;
}

.contact-section {
  color: #ffffff;
  background:
    radial-gradient(circle at 12% 12%, rgba(255, 79, 157, 0.22), transparent 34%),
    linear-gradient(145deg, #090714 0%, #2b0c24 44%, #070915 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.section-heading--row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.34fr);
  gap: 22px;
  align-items: end;
}

.section-note {
  padding: 18px;
  color: #f2dbe6;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 111, 176, 0.28);
  border-radius: 8px;
  font-weight: 850;
}

.contact-grid {
  display: grid;
  grid-template-columns: minmax(340px, 1.18fr) repeat(3, minmax(210px, 0.82fr));
  gap: 16px;
}

.contact-card {
  min-width: 0;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px;
  background:
    linear-gradient(155deg, rgba(113, 22, 63, 0.92), rgba(43, 12, 36, 0.96)) padding-box,
    linear-gradient(135deg, rgba(255, 111, 176, 0.62), rgba(255, 74, 36, 0.34)) border-box;
  border: 1px solid transparent;
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.26);
}

.contact-card--primary {
  min-height: 100%;
  background:
    radial-gradient(circle at 18% 8%, rgba(255, 111, 176, 0.28), transparent 35%) padding-box,
    linear-gradient(145deg, #811b49, #4b102f 58%, #210a1d) padding-box,
    linear-gradient(135deg, rgba(255, 111, 176, 0.78), rgba(255, 74, 36, 0.42)) border-box;
}

.contact-card small {
  color: #ff6fb0;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.contact-card h3 {
  margin: 0;
  color: #ffffff;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  font-size: clamp(18px, 1.25vw, 24px);
  line-height: 1.05;
}

.contact-card--primary h3 {
  font-size: clamp(25px, 1.85vw, 34px);
}

@media (min-width: 940px) {
  .contact-card:not(.contact-card--primary) h3 {
    font-size: clamp(15px, 0.92vw, 18px);
    line-height: 1.16;
    white-space: nowrap;
    overflow-wrap: normal;
  }
}

.contact-card p {
  margin: 0;
  color: #f2dbe6;
  font-weight: 800;
}

.contact-actions,
.contact-link {
  margin-top: auto;
}

.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contact-actions .button {
  white-space: normal;
  text-align: center;
}

.contact-link {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  width: fit-content;
  padding: 8px 11px;
  color: #ffffff;
  background: rgba(255, 79, 157, 0.16);
  border: 1px solid rgba(255, 111, 176, 0.38);
  border-radius: 8px;
  font-weight: 900;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.contact-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 22px;
  color: #ffffff;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.07), rgba(102, 45, 128, 0.12)) padding-box,
    linear-gradient(135deg, rgba(255, 111, 176, 0.5), rgba(255, 74, 36, 0.28)) border-box;
  border: 1px solid transparent;
  border-radius: 8px;
}

.contact-form label {
  display: grid;
  gap: 7px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .005em;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  min-height: 44px;
  padding: 11px 12px;
  color: #ffffff;
  background: rgba(20, 7, 22, 0.38);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 8px;
  font-weight: 700;
  caret-color: #ffd400;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.7);
  opacity: 1;
  font-weight: 700;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  outline: none;
  background: rgba(13, 5, 17, 0.62);
  border-color: #ffd400;
  box-shadow: 0 0 0 3px rgba(255, 212, 0, 0.16);
}

.contact-form textarea,
.contact-form button,
.hidden-field {
  grid-column: 1 / -1;
}

.hidden-field {
  position: absolute;
  left: -9999px;
}

.backoffice-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  color: #ffffff;
  background: var(--bg);
  border-top: 1px solid var(--line);
}

.site-footer {
  display: grid;
  grid-template-columns: 1.15fr repeat(3, minmax(150px, 1fr)) 1.25fr;
  align-items: start;
  gap: clamp(24px, 4vw, 54px);
  padding: 52px clamp(18px, 5vw, 74px);
  color: rgba(255, 255, 255, 0.72);
  background:
    linear-gradient(120deg, rgba(13, 27, 54, 0.98), rgba(4, 8, 23, 0.99)),
    #050711;
  border-top: 1px solid var(--line);
  font-weight: 400;
}

.site-footer,
.site-footer * {
  font-weight: 400 !important;
}

.site-footer-brand,
.site-footer-nav,
.site-footer-legal {
  display: grid;
  align-content: start;
  gap: 9px;
}

.site-footer-brand strong,
.site-footer-nav strong,
.site-footer-legal strong {
  color: #ffffff;
}

.site-footer-nav a,
.site-footer-legal a {
  color: rgba(255, 255, 255, 0.76);
  text-decoration: none;
  font-weight: 400;
}

.site-footer-nav a:hover,
.site-footer-nav a:focus-visible,
.site-footer-legal a:hover,
.site-footer-legal a:focus-visible {
  color: #ffffff;
  text-decoration: underline;
}

.site-footer .site-footer-claim {
  width: fit-content;
  margin: 4px 0;
  padding: 12px 15px;
  color: #ffffff;
  background: rgba(69, 215, 238, 0.08);
  border: 1px solid rgba(69, 215, 238, 0.42);
  border-radius: 8px;
  text-decoration: none;
}

.site-footer .site-footer-claim::before {
  content: "▤";
  margin-right: 9px;
  color: #45d7ee;
  font-size: 1.2em;
}

@media (max-width: 1080px) {
  .site-footer {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-access {
    margin-left: 0;
  }
}

@media (max-width: 640px) {
  .site-footer {
    grid-template-columns: 1fr;
  }
}

.admin-access {
  margin-left: auto;
  color: rgba(255, 255, 255, 0.52);
  font-size: 12px;
  font-weight: 800;
}

.admin-access summary {
  cursor: pointer;
  list-style: none;
}

.admin-access summary::-webkit-details-marker {
  display: none;
}

.admin-access a {
  display: inline-flex;
  margin-top: 8px;
  padding: 7px 9px;
  color: #f5f8ff;
  background: rgba(225, 30, 121, 0.14);
  border: 1px solid rgba(225, 30, 121, 0.34);
  border-radius: 7px;
  font-weight: 900;
}

@media (max-width: 1080px) {
  .site-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-access {
    margin-left: 0;
  }

  .brand-shortcuts,
  .store-nav-section,
  .store-page-hero,
  .studio-section,
  .certification-section,
  .service-layout,
  .pc-builder-mini,
  .backoffice-section,
  .offer-section,
  .implementation-hero,
  .services-hero,
  .cert-hero,
  .product-page-layout,
  .product-page-detail,
  .brand-store-heading,
  .brand-store-card__intro,
  .catalog-layout,
  .pc-preset-grid,
  .pc-builder-shell,
  .finance-layout,
  .quote-workflow-layout,
  .app-demo-layout,
  .classroom-layout,
  .course-layout,
  .product-detail-layout,
  .workshop-news-layout,
  .cta-band {
    grid-template-columns: 1fr;
  }

  .shortcut-grid,
  .store-nav-grid,
  .process-grid,
  .platform-demo-grid,
  .finance-tool-grid,
  .tech-brand-banners,
  .unit-faq-grid,
  .contact-grid,
  .catalog-grid,
  .workshop-news-badges,
  .workshop-news-grid,
  .highlight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-filter-panel,
  .pc-builder-mini form,
  .pc-builder-addons > div,
  .segment-strip,
  .finance-result dl,
  .document-meta,
  .signature-grid,
  .demo-kpis,
  .cert-mode-cards,
  .service-line-grid,
  .creative-grid,
  .timeline,
  .acquisition-grid,
  .faq-grid,
  .course-meta-grid,
  .course-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-heading--row {
    grid-template-columns: 1fr;
  }

  .service-layout aside,
  .filter-panel,
  .course-sidebar {
    position: static;
  }

  .workshop-news-flyer {
    position: static;
    justify-self: center;
    max-width: min(100%, 860px);
  }
}

@media (max-width: 720px) {
  .site-header {
    position: fixed;
    align-items: center;
    flex-direction: row;
    gap: 8px;
    min-height: 62px;
    padding: 8px 10px;
  }

  .site-header .brand img {
    width: clamp(126px, 37vw, 158px);
    max-height: 42px;
  }

  .site-header .nav {
    width: auto;
    flex: 1 1 auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .site-header .nav::-webkit-scrollbar {
    display: none;
  }

  .site-header .nav-group,
  .site-header .nav a {
    width: auto;
    flex: 0 0 auto;
  }

  .site-header .nav a {
    min-height: 38px;
    padding: 6px 9px;
    font-size: 11px;
    white-space: nowrap;
  }

  .site-header .nav-menu {
    display: none;
  }

  .customer-access {
    top: 52%;
    right: 0;
    bottom: auto;
    left: auto;
    width: 42px;
    min-height: 132px;
    padding: 12px 8px;
    border-radius: 10px 0 0 10px;
    transform: translateY(-50%);
  }

  .nav-menu {
    position: static;
    width: 100%;
    margin-top: 4px;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
  }

  .hero-stage,
  .brand-shortcuts,
  .studio-section,
  .section {
    padding-right: 14px;
    padding-left: 14px;
  }

  .hero-slider {
    aspect-ratio: auto;
    min-height: 620px;
  }

  .hero-slide {
    min-height: 620px;
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .hero-copy h1 {
    font-size: 42px;
  }

  .product-page-empty,
  .product-page-hero,
  .product-page-detail,
  .product-page-cart-section {
    width: min(100% - 28px, 1240px);
  }

  .shortcut-grid,
  .store-nav-grid,
    .service-grid,
    .finance-tool-grid,
    .process-grid,
    .platform-demo-grid,
    .unit-faq-grid,
    .store-banner-grid,
    .tech-brand-banners,
    .catalog-filter-panel,
    .pc-builder-mini,
    .pc-builder-mini form,
    .pc-builder-addons > div,
    .pc-preset-grid,
    .pc-builder-panel,
    .quote-request-panel,
    .highlight-grid,
    .offer-products,
    .contact-grid,
    .catalog-grid,
    .trust-strip,
    .segment-strip,
    .metric-row,
    .snapshot-grid,
    .cert-mode-grid,
    .finance-result dl,
    .finance-lead-fields,
    .document-meta,
    .signature-grid,
    .demo-kpis,
    .demo-flow,
    .cert-mode-cards,
    .service-line-grid,
    .creative-grid,
    .timeline,
    .acquisition-grid,
    .faq-grid,
    .course-meta-grid,
    .course-content-grid,
    .demo-app-shell,
    .course-hero-card,
    .product-page-layout,
    .product-page-commerce,
    .product-page-payment-support__head,
    .product-page-payment-features,
    .product-page-detail,
    .product-page-facts,
    .top-pc-tech-grid,
    .product-page-thumbs,
    .workshop-news-badges,
    .workshop-news-grid,
    .workshop-lead-form {
    grid-template-columns: 1fr;
  }

  .workshop-news-content {
    padding: 18px;
  }

  .workshop-news-flyer img {
    width: 100%;
    max-height: none;
  }

  .news-slider-heading {
    display: grid;
    align-items: start;
  }

  .news-slider-controls {
    justify-content: space-between;
  }

  .news-slide-actions,
  .news-slide-actions .button {
    width: 100%;
  }

  .news-slide-actions .button {
    justify-content: center;
    text-align: center;
  }

  .institutional-savings {
    grid-template-columns: 1fr;
  }

  .institutional-savings__highlight {
    grid-column: auto;
  }

  .implementation-hero,
  .services-hero,
  .store-page-hero,
  .product-page-hero,
  .cert-hero {
    padding-top: 34px;
  }

  .implementation-hero h1,
  .services-hero h1,
  .store-page-hero h1,
  .product-page-info h1,
  .cert-hero h1 {
    font-size: 40px;
  }

  .pc-preset-card dl div {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .brand-store-actions,
  .product-detail-actions,
  .workflow-actions,
  .document-send-panel,
  .catalog-toolbar {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .brand-store-actions .button,
  .product-detail-actions .button,
  .workflow-actions .button,
  .document-send-panel .button {
    width: 100%;
  }

  .quote-request-panel fieldset {
    grid-template-columns: 1fr;
  }

  .brand-banner-tile {
    aspect-ratio: 16 / 9;
  }

  .product-detail-modal {
    align-items: start;
    overflow: auto;
    padding: 12px;
  }

  .product-detail-card {
    max-height: none;
  }

  .product-detail-thumbs {
    grid-template-columns: repeat(3, 1fr);
  }

  .classroom-stage {
    min-height: 620px;
  }

  .contact-form {
    grid-template-columns: 1fr;
  }

  .offer-product-card {
    grid-template-columns: 1fr;
  }

  .offer-product-card img {
    aspect-ratio: 16 / 9;
  }

  .store-banner-card,
  .store-banner-card[data-location="home-page-tira"] {
    aspect-ratio: 16 / 9;
  }

  .hero-controls {
    right: 12px;
    bottom: 12px;
  }

  .product-actions,
  .product-actions--detail,
  .cart-summary__head,
  .cart-summary__actions,
  .product-modal__panel,
  .product-summary__grid,
  .product-modal__facts {
    grid-template-columns: 1fr;
  }

  .cart-summary__head,
  .cart-summary__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .cart-summary__actions .product-action {
    width: 100%;
  }

  .product-modal {
    align-items: start;
    overflow: auto;
  }

  .product-modal__panel {
    max-height: none;
  }

}
.product-detail-international,
.product-international-option {
  display: grid;
  gap: 0.35rem;
  width: 100%;
  padding: 0.8rem;
  border: 1px solid rgba(83, 216, 255, 0.24);
  border-radius: 14px;
  background: rgba(7, 24, 38, 0.72);
}

.product-detail-international span,
.product-international-option span {
  color: #f6fbff;
  font-weight: 700;
}

.product-detail-international select,
.product-international-option select {
  width: 100%;
  min-height: 42px;
  color: #eefaff;
  border: 1px solid rgba(83, 216, 255, 0.35);
  border-radius: 10px;
  background: #0b2233;
  padding: 0.55rem 0.7rem;
}
/* MGT Puntos */
.rewards-floating-cta {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 72;
  display: grid;
  gap: 2px;
  width: min(310px, calc(100vw - 36px));
  padding: 14px 18px;
  color: #ffffff;
  text-decoration: none;
  background: radial-gradient(circle at 88% 18%, rgba(255,255,255,.26), transparent 24%), linear-gradient(135deg, #e11e79 0%, #7b2cff 58%, #0f6ec9 100%);
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(28,8,55,.42);
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.rewards-floating-cta:hover,.rewards-floating-cta:focus-visible { transform: translateY(-4px); box-shadow: 0 24px 58px rgba(28,8,55,.52); }
.rewards-floating-cta span { color:#ffe3f2; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.rewards-floating-cta strong { color:#fff; font-size:15px; }
.rewards-page { color:#f9f7ff; background:radial-gradient(circle at 80% 8%,rgba(99,66,255,.25),transparent 28%),radial-gradient(circle at 8% 34%,rgba(225,30,121,.18),transparent 26%),#080914; }
.rewards-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:clamp(30px,7vw,90px); align-items:center; min-height:72vh; padding:clamp(58px,8vw,110px) max(5vw,24px); }
.rewards-hero__copy h1 { max-width:760px; margin:10px 0 18px; font-size:clamp(44px,7vw,92px); line-height:.98; }
.rewards-hero__copy>p { max-width:720px; color:#d8d3e8; font-size:clamp(17px,2vw,22px); line-height:1.6; }
.rewards-hero__actions,.rewards-share-actions { display:flex; flex-wrap:wrap; gap:12px; margin:26px 0 12px; }
.rewards-card-preview { position:relative; overflow:hidden; display:grid; grid-template-columns:repeat(2,1fr); gap:20px; width:min(520px,100%); min-height:310px; padding:clamp(28px,5vw,46px); color:#fff; background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.22),transparent 20%),linear-gradient(145deg,#e11e79 0%,#6f34d8 48%,#102c72 100%); border:1px solid rgba(255,255,255,.4); border-radius:24px; box-shadow:0 38px 90px rgba(0,0,0,.45); }
.rewards-card-preview::after { content:""; position:absolute; right:-90px; bottom:-120px; width:290px; height:290px; border:42px solid rgba(255,255,255,.08); border-radius:50%; }
.rewards-card-preview__brand,.rewards-card-preview>strong,.rewards-card-preview>p,.rewards-card-preview>code { grid-column:1/-1; }
.rewards-card-preview__brand { display:flex; justify-content:space-between; align-items:start; }
.rewards-card-preview__brand img { width:190px; max-height:58px; object-fit:contain; object-position:left top; }
.rewards-card-preview__brand span,.rewards-card-preview div span { color:#fbe4f1; font-size:11px; font-weight:950; letter-spacing:.08em; }
.rewards-card-preview>strong { align-self:end; color:#fff; font-size:clamp(25px,4vw,38px); }
.rewards-card-preview>p { margin:-18px 0 0; color:#fbe4f1; font-weight:900; }
.rewards-card-preview>code { color:#fff; font-size:clamp(16px,2.4vw,22px); font-weight:950; letter-spacing:.09em; }
.rewards-card-preview div { display:grid; gap:4px; }
.rewards-card-preview div b { color:#fff; font-size:22px; }
.rewards-steps,.rewards-enrollment { color:#102033; background:#f7f9fc; }
.rewards-step-grid,.rewards-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.rewards-step-grid article,.rewards-categories article { padding:24px; background:#fff; border:1px solid #dce5ef; border-radius:14px; }
.rewards-step-grid article>span { display:grid; place-items:center; width:42px; height:42px; color:#fff; background:linear-gradient(135deg,#e11e79,#6f34d8); border-radius:50%; font-weight:950; }
.rewards-categories { grid-template-columns:repeat(3,minmax(0,1fr)); padding:clamp(50px,7vw,90px) max(5vw,24px); background:#101326; }
.rewards-categories article { color:#fff; background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14); }
.rewards-categories article>span { color:#ff77b8; font-weight:950; text-transform:uppercase; }
.rewards-enrollment { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(420px,1fr); gap:clamp(28px,6vw,72px); align-items:start; }
.rewards-enrollment__copy { position:sticky; top:100px; }
.rewards-enrollment__copy ul { display:grid; gap:10px; padding-left:20px; }
.rewards-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:clamp(22px,4vw,36px); background:#fff; border:1px solid #dce5ef; border-radius:16px; box-shadow:0 20px 60px rgba(16,32,51,.1); }
.rewards-form label { display:grid; gap:7px; color:#102033; font-size:13px; font-weight:900; }
.rewards-form input,.rewards-form select { width:100%; color:#102033; background:#f7f9fc; border:1px solid #cdd9e6; }
.rewards-form__wide { grid-column:1/-1; }
.rewards-consent { grid-template-columns:auto 1fr !important; align-items:start; }
.rewards-form output { min-height:20px; color:#5c6a7f; font-weight:850; }
.rewards-form output.is-success { color:#087f68; }
.rewards-form output.is-error { color:#b42318; }
.rewards-result { grid-column:1/-1; display:grid; justify-items:center; padding-top:30px; text-align:center; }
.rewards-result[hidden] { display:none; }
.rewards-card-preview--issued { text-align:left; }
.rewards-example { color:#102033; background:#eef3f8; }
.rewards-example .section-heading>p:not(.eyebrow) { max-width:820px; color:#5c6a7f; }
.rewards-example-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.rewards-example-flow article { position:relative; padding:24px; background:#fff; border:1px solid #d9e3ee; border-radius:15px; }
.rewards-example-flow article>span { display:grid; place-items:center; width:38px; height:38px; color:#fff; background:linear-gradient(135deg,#e11e79,#6f34d8); border-radius:50%; font-weight:950; }
.rewards-example-flow h3 { margin:16px 0 8px; }
.rewards-example-flow p { color:#4a5b70; }
.rewards-example-flow small { display:block; margin-top:14px; color:#a21762; font-weight:950; }
.rewards-redemption { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(330px,.75fr); gap:clamp(28px,6vw,76px); align-items:start; color:#fff; background:radial-gradient(circle at 86% 12%,rgba(111,52,216,.28),transparent 28%),#101326; }
.rewards-redemption__copy>p:not(.eyebrow) { max-width:760px; color:#c7cce0; font-size:18px; }
.rewards-redemption-steps { display:grid; gap:12px; margin:26px 0; padding:0; counter-reset:rewards-redemption; list-style:none; }
.rewards-redemption-steps li { position:relative; display:grid; gap:4px; padding:16px 18px 16px 58px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13); border-radius:12px; }
.rewards-redemption-steps li::before { counter-increment:rewards-redemption; content:counter(rewards-redemption); position:absolute; top:15px; left:16px; display:grid; place-items:center; width:28px; height:28px; color:#101326; background:#ffd400; border-radius:50%; font-weight:950; }
.rewards-redemption-steps span { color:#c7cce0; }
.rewards-balance-guide { display:grid; gap:12px; padding:24px; background:#fff; border-radius:18px; color:#102033; box-shadow:0 26px 70px rgba(0,0,0,.3); }
.rewards-balance-guide h3 { margin:0 0 4px; font-size:1.5rem; }
.rewards-balance-guide div { padding:15px; background:#f3f6fa; border:1px solid #dce5ef; border-radius:12px; }
.rewards-balance-guide span { display:block; color:#e11e79; font-size:12px; font-weight:950; text-transform:uppercase; letter-spacing:.05em; }
.rewards-balance-guide strong { display:block; margin:5px 0; }
.rewards-balance-guide p { margin:0; color:#5c6a7f; }
.rewards-rules { color:#102033; background:#fff; }
.rewards-rules-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.rewards-rules-grid article { padding:22px; background:#f6f8fb; border:1px solid #dce5ef; border-radius:14px; }
.rewards-rules-grid h3 { margin-top:0; }
.rewards-rules-grid p { margin-bottom:0; color:#5c6a7f; }
@media (max-width:900px) {
  .rewards-hero,.rewards-enrollment { grid-template-columns:1fr; }
  .rewards-step-grid,.rewards-categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rewards-enrollment__copy { position:static; }
  .rewards-example-flow,.rewards-rules-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rewards-redemption { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .rewards-floating-cta { right:12px; bottom:12px; }
  .rewards-step-grid,.rewards-categories,.rewards-form { grid-template-columns:1fr; }
  .rewards-form__wide { grid-column:1; }
  .rewards-card-preview { min-height:280px; border-radius:18px; }
  .rewards-example-flow,.rewards-rules-grid { grid-template-columns:1fr; }
}
.pc-preset-card[data-pc-route] {
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.pc-preset-card[data-pc-route]:hover,
.pc-preset-card[data-pc-route]:focus-visible,
.pc-preset-card[data-pc-route].is-selected {
  transform: translateY(-4px);
  border-color: #ff77b8;
  box-shadow: 0 18px 42px rgba(225, 30, 121, 0.24);
  outline: none;
}

.pc-preset-card[data-pc-route].is-selected {
  box-shadow: 0 0 0 3px rgba(255, 119, 184, 0.2), 0 18px 42px rgba(225, 30, 121, 0.24);
}

.pc-preset-card__action {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  margin-top: 16px;
  padding: 10px 12px;
  color: #ffffff;
  background: rgba(7, 9, 21, 0.42);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 950;
  text-align: center;
}
/* Galería de eventos MGT */
.event-gallery-section {
  background:
    radial-gradient(circle at 10% 0%, rgba(225, 30, 121, 0.16), transparent 28%),
    linear-gradient(180deg, #0b0d1b 0%, #11162a 100%);
}

.event-gallery-section .section-heading > p {
  max-width: 620px;
  color: #cfd8e8;
}

.event-gallery-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 22px;
}

.event-gallery-filters button {
  padding: 10px 15px;
  color: #dfe8f4;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  font-weight: 900;
}

.event-gallery-filters button.is-active {
  color: #ffffff;
  background: linear-gradient(135deg, #e11e79, #6f34d8);
  border-color: transparent;
}

.event-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.event-gallery-card {
  overflow: hidden;
  display: grid;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
}

.event-gallery-card__media {
  overflow: hidden;
  display: block;
  padding: 0;
  background: #080914;
  border: 0;
}

.event-gallery-card__media img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform 300ms ease;
}

.event-gallery-card__media:hover img,
.event-gallery-card__media:focus-visible img {
  transform: scale(1.045);
}

.event-gallery-card > div {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 20px;
}

.event-gallery-card span {
  color: #ff77b8;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.event-gallery-card h3 {
  margin: 0;
  color: #ffffff;
  font-size: 22px;
}

.event-gallery-card strong {
  color: #dfe8f4;
}

.event-gallery-card p,
.event-gallery-card small,
.event-gallery-note {
  margin: 0;
  color: #b9c4d7;
}

.event-gallery-note {
  margin-top: 18px;
  font-size: 12px;
}

.event-gallery-dialog {
  width: min(1180px, calc(100vw - 32px));
  padding: 0;
  background: #070915;
  border: 1px solid #343b58;
  border-radius: 14px;
}

.event-gallery-dialog::backdrop {
  background: rgba(3, 4, 12, 0.86);
  backdrop-filter: blur(8px);
}

.event-gallery-dialog img {
  display: block;
  width: 100%;
  max-height: 84vh;
  object-fit: contain;
}

.event-gallery-dialog button {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 1;
  width: 42px;
  height: 42px;
  color: #ffffff;
  background: rgba(7, 9, 21, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 50%;
  font-size: 26px;
}

@media (max-width: 920px) {
  .event-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .event-gallery-grid {
    grid-template-columns: 1fr;
  }
}

.technology-entry-button {
  display: grid;
  gap: 7px;
  margin: 0 0 22px;
  padding: 18px;
  color: #ffffff;
  text-decoration: none;
  background:
    radial-gradient(circle at 8% 10%, rgba(24, 213, 186, 0.22), transparent 34%),
    linear-gradient(135deg, rgba(113, 22, 63, 0.96), rgba(43, 12, 36, 0.96));
  border: 1px solid rgba(255, 212, 0, 0.34);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(17, 5, 18, 0.32);
}

.technology-entry-button small {
  color: #ffd400;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.technology-entry-button strong {
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1;
}

.technology-entry-button span {
  max-width: 760px;
  color: #f3dbe7;
  font-weight: 850;
}

.laptop-page-hero {
  min-height: 420px;
}

.laptop-catalog-section {
  padding-top: 42px;
}

.laptop-search-panel {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(180px, 0.28fr) auto;
  gap: 12px;
  align-items: end;
  margin: 0 0 14px;
  padding: 14px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 212, 0, 0.22);
  border-radius: 8px;
}

.laptop-search-panel label {
  display: grid;
  gap: 7px;
  color: #f0ece6;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.laptop-search-panel input,
.laptop-search-panel button {
  min-height: 42px;
  width: 100%;
  padding: 10px 11px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
}

.laptop-search-panel button {
  color: #0b0b0d;
  background: #ffd400;
  border-color: #ffd400;
  font-weight: 950;
}

.laptop-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 36px;
  margin-bottom: 18px;
  color: #f3dbe7;
  font-weight: 850;
}

.laptop-active-filters button {
  min-height: 34px;
  padding: 7px 11px;
  color: #ffffff;
  background: rgba(225, 30, 121, 0.22);
  border: 1px solid rgba(255, 111, 176, 0.4);
  border-radius: 999px;
  font-weight: 900;
}

.laptop-page-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.28fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.laptop-filter-panel {
  position: sticky;
  top: 92px;
  display: grid;
  gap: 14px;
  padding: 16px;
  color: #ffffff;
  background: linear-gradient(145deg, rgba(43, 12, 36, 0.96), rgba(12, 13, 22, 0.95));
  border: 1px solid rgba(255, 212, 0, 0.26);
  border-radius: 8px;
}

.laptop-filter-panel__head {
  display: grid;
  gap: 4px;
}

.laptop-filter-panel__head strong {
  font-size: 22px;
}

.laptop-filter-panel__head span {
  color: #f3dbe7;
  font-size: 13px;
  font-weight: 850;
}

.laptop-filter-groups {
  display: grid;
  gap: 14px;
}

.laptop-filter-group {
  display: grid;
  gap: 9px;
}

.laptop-filter-group h3 {
  margin: 0;
  color: #ffd400;
  font-size: 13px;
  line-height: 1.2;
  text-transform: uppercase;
}

.laptop-filter-group[data-kind="promotion"] h3 {
  color: #52b7ff;
}

.laptop-filter-group > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.laptop-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 7px 10px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.laptop-filter-chip small {
  min-width: 22px;
  padding: 2px 6px;
  color: #0b0b0d;
  background: #ffd400;
  border-radius: 999px;
  text-align: center;
}

.laptop-filter-chip.is-active {
  background: linear-gradient(135deg, var(--magenta), var(--coral));
  border-color: var(--teal);
}

.laptop-filter-chip[data-empty="true"]:not(.is-active) {
  opacity: 0.62;
}

.laptop-results {
  min-width: 0;
}

.laptop-catalog-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

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

.laptop-product-tags span {
  padding: 5px 8px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

.laptop-product-tags span[data-kind="promotion"] {
  color: #0b0b0d;
  background: #ffd400;
  border-color: #ffd400;
}

@media (max-width: 980px) {
  .laptop-search-panel,
  .laptop-page-layout {
    grid-template-columns: 1fr;
  }

  .laptop-filter-panel {
    position: static;
  }

  .laptop-catalog-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .technology-entry-button,
  .laptop-search-panel,
  .laptop-filter-panel {
    padding: 14px;
  }

  .laptop-filter-chip {
    width: 100%;
    justify-content: space-between;
  }
}

/* Banner stabilization system - 2026-07-31 */
:root {
  --banner-radius: 18px;
  --banner-line: rgba(255, 255, 255, 0.16);
}

.hero-stage { padding-top: clamp(14px, 1.8vw, 24px); }

.hero-slider {
  aspect-ratio: auto;
  min-height: clamp(500px, 38vw, 620px);
  border-radius: var(--banner-radius);
}

.hero-track {
  height: auto;
  min-height: inherit;
  align-items: stretch;
}

.hero-slide {
  min-height: inherit;
  overflow: hidden;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  padding: clamp(34px, 4.4vw, 68px);
}

.hero-slide::before {
  background-position: center;
  opacity: 0.96;
  transform: scale(1.01);
}

.hero-slide::after {
  background:
    linear-gradient(90deg, rgba(5, 7, 17, 0.98) 0%, rgba(5, 7, 17, 0.9) 36%, rgba(5, 7, 17, 0.58) 62%, rgba(5, 7, 17, 0.2) 100%),
    linear-gradient(180deg, rgba(5, 7, 17, 0.18), rgba(5, 7, 17, 0.48));
}

.hero-copy {
  width: min(100%, 720px);
  max-width: 720px;
  padding: clamp(20px, 2.6vw, 36px);
  background: linear-gradient(145deg, rgba(7, 9, 21, 0.78), rgba(7, 9, 21, 0.48));
  border: 1px solid var(--banner-line);
  border-radius: 16px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(8px);
}

.hero-copy h1 {
  max-width: 680px;
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.04;
  overflow-wrap: anywhere;
  text-shadow: 0 3px 24px rgba(0, 0, 0, 0.5);
}

.hero-copy p:not(.eyebrow) { line-height: 1.55; }
.hero-side { align-self: center; min-width: 0; }

.hero-side strong,
.hero-stat {
  background: rgba(7, 9, 21, 0.7);
  border-color: rgba(255, 255, 255, 0.22);
}

/* News artwork keeps all text and QR information visible. */
.news-slider-track { align-items: flex-start; }
.news-slide,
.workshop-news-layout { min-width: 0; }

.workshop-news-layout {
  grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1fr);
  align-items: start;
}

.workshop-news-flyer {
  position: sticky;
  top: 88px;
  align-self: start;
  width: min(100%, 520px);
  height: auto;
  aspect-ratio: 2 / 3;
  justify-self: center;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #050507;
  border: 1px solid rgba(255, 212, 0, 0.36);
  border-radius: 14px;
  box-shadow: 0 28px 74px rgba(0, 0, 0, 0.44);
}

.workshop-news-flyer img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  background: #050507;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.workshop-news-content { height: auto; align-self: start; }
.workshop-news-content h2 {
  font-size: clamp(30px, 3.4vw, 52px);
  line-height: 1.06;
  overflow-wrap: anywhere;
}

/* Public typography: comfortable body copy with emphasis reserved for hierarchy. */
body {
  font-weight: 400;
}

body :where(p, li, dd, figcaption) {
  font-weight: 400 !important;
}

body :where(label, .form-helper, .helper-text) {
  font-weight: 600 !important;
}

body :where(input, select, textarea) {
  font-weight: 400 !important;
}

/* Internal heroes share a protected text rhythm. */
.implementation-hero,
.services-hero,
.cert-hero,
.store-page-hero {
  min-height: clamp(560px, 68svh, 760px);
  overflow: hidden;
  padding: clamp(50px, 6vw, 84px) clamp(20px, 5vw, 72px);
}

.implementation-hero h1,
.services-hero h1,
.cert-hero h1,
.store-page-hero h1 {
  font-size: clamp(38px, 4.8vw, 64px);
  line-height: 1.03;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.implementation-copy,
.services-hero > div,
.cert-hero > div,
.store-page-hero > div { min-width: 0; }

.implementation-summary,
.service-snapshot,
.cert-summary,
.store-page-hero aside {
  align-self: center;
  max-width: 560px;
  background-color: rgba(7, 9, 21, 0.72);
  backdrop-filter: blur(16px);
}

.store-page-hero.brand-page-hero { min-height: clamp(380px, 42vw, 520px); }

.membership-banner,
.tech-brand-banners > *,
.store-banner-card,
.brand-banner-tile {
  overflow: hidden;
  border-radius: 16px;
}

.course-card img,
.pack-grid img,
.brand-banner-tile img,
.store-banner-card img { object-position: center; }

.rewards-hero {
  min-height: clamp(680px, 76svh, 840px);
  padding-block: clamp(64px, 7vw, 96px);
}

.rewards-hero__copy h1 {
  font-size: clamp(42px, 6vw, 76px);
  line-height: 1.02;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

@media (max-width: 1080px) {
  .hero-slider { min-height: 620px; }
  .hero-slide { grid-template-columns: minmax(0, 1fr) minmax(190px, 240px); }
  .workshop-news-layout { grid-template-columns: 1fr; }
  .workshop-news-flyer { position: static; width: min(100%, 600px); }
}

@media (max-width: 720px) {
  .hero-slider,
  .hero-slide { min-height: 0; }

  .hero-slide {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 18px 72px;
  }

  .hero-copy { padding: 20px; background: rgba(7, 9, 21, 0.8); }
  .hero-copy h1 { font-size: clamp(32px, 10.5vw, 42px); line-height: 1.07; }
  .hero-actions,
  .hero-actions .button { width: 100%; }
  .hero-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workshop-news-flyer { width: 100%; aspect-ratio: 2 / 3; }
  .workshop-news-content h2 { font-size: clamp(28px, 9vw, 38px); }

  .implementation-hero,
  .services-hero,
  .cert-hero,
  .store-page-hero,
  .store-page-hero.brand-page-hero,
  .rewards-hero {
    min-height: 0;
    padding: 42px 18px 54px;
  }

  .implementation-hero h1,
  .services-hero h1,
  .cert-hero h1,
  .store-page-hero h1,
  .rewards-hero__copy h1 {
    font-size: clamp(34px, 10.5vw, 44px);
    line-height: 1.07;
  }

  .implementation-summary,
  .service-snapshot,
  .cert-summary,
  .store-page-hero aside { width: 100%; max-width: none; }
  .rewards-card-preview { width: 100%; min-height: 0; }

  .hero-copy h1,
  .implementation-hero h1,
  .services-hero h1,
  .cert-hero h1,
  .store-page-hero h1,
  .rewards-hero__copy h1 {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    text-wrap: pretty;
  }

  .hero-copy h1 { font-size: clamp(30px, 9vw, 36px); }

  .customer-access {
    top: auto;
    right: 10px;
    bottom: 76px;
    width: 54px;
    height: 54px;
    padding: 6px;
    writing-mode: horizontal-tb;
    transform: none;
    border-radius: 50%;
    font-size: 9px;
    line-height: 1.05;
  }

  .customer-access:hover,
  .customer-access:focus-visible { width: 54px; }

  .rewards-floating-cta {
    right: 10px;
    bottom: 12px;
    width: 54px;
    height: 54px;
    padding: 0;
    place-items: center;
    border-radius: 50%;
  }

  .rewards-floating-cta::before {
    content: "★";
    font-size: 22px;
    line-height: 1;
  }

  .rewards-floating-cta span,
  .rewards-floating-cta strong {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
}

/* Navegacion persistente y accesos discretos compartidos por la web publica. */
.site-scroll-top,
.site-private-entry {
  position: fixed;
  z-index: 44;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 50%;
  backdrop-filter: blur(12px);
  transition: opacity 180ms ease, transform 180ms ease, background-color 180ms ease;
}

.site-scroll-top {
  right: 18px;
  bottom: 88px;
  color: #080914;
  background: #ffd400;
  border: 1px solid rgba(255, 255, 255, 0.42);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.34);
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
}

.site-scroll-top.is-visible {
  opacity: 0.92;
  pointer-events: auto;
  transform: translateY(0);
}

.site-private-entry {
  left: 12px;
  bottom: 12px;
  color: #ffffff;
  background: rgba(225, 30, 121, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.22);
  opacity: 0.1;
  text-decoration: none;
}

.site-private-entry:hover,
.site-private-entry:focus-visible {
  opacity: 0.82;
  background: rgba(225, 30, 121, 0.48);
  transform: scale(1.06);
}

.site-scroll-top:hover,
.site-scroll-top:focus-visible {
  opacity: 1;
  transform: translateY(-2px);
}

.site-scroll-top svg,
.site-private-entry svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* El acceso textual anterior se sustituye por el icono privado. */
.admin-access {
  display: none !important;
}

@media (max-width: 720px) {
  .site-scroll-top {
    right: 12px;
    bottom: 140px;
  }

  .site-private-entry {
    width: 40px;
    height: 40px;
  }
}
