@font-face {
  font-family: Inter;
  src: url("../../woocommerce/assets/fonts/Inter-VariableFont_slnt,wght.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --vhjpx-ink: #242725;
  --vhjpx-charcoal: #303432;
  --vhjpx-forest: #2f4a43;
  --vhjpx-forest-dark: #233a34;
  --vhjpx-muted: #706f6a;
  --vhjpx-line: #dfddd7;
  --vhjpx-paper: #fff;
  --vhjpx-stone: #f4f1ec;
  --vhjpx-gold: #a38343;
  --vhjpx-gold-dark: #765c2d;
  --vhjpx-success: #587960;
  --vhjpx-ui: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --vhjpx-display: "proxima-nova", "Proxima Nova", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html:has(body.vhjpx-active),
body.vhjpx-active { scroll-behavior: auto !important; }
.vhjpx-active { margin: 0; color: var(--vhjpx-ink); background: var(--vhjpx-paper); font-family: var(--vhjpx-ui); }
.vhjpx-local-stage #site-header,
.vhjpx-local-stage #site-footer { display: none; }
.vhjpx-active * { box-sizing: border-box; }
.vhjpx-active a { color: inherit; }
.vhjpx-active img { display: block; }
.vhjpx-active button,
.vhjpx-active select,
.vhjpx-active input,
.vhjpx-active textarea { font: inherit; }
.vhjpx-active h1,
.vhjpx-active h2,
.vhjpx-active h3,
.vhjpx-active p { overflow-wrap: anywhere; }

.vhjpx-local-header { background: #fff; border-bottom: 1px solid #eeeae4; }
.vhjpx-utility { min-height: 40px; padding: 0 7vw; display: flex; align-items: center; justify-content: center; gap: 46px; color: #d6d6d6; background: #202321; font-size: 12px; }
.vhjpx-utility nav { display: flex; gap: 28px; }
.vhjpx-utility a { text-decoration: none; }
.vhjpx-brand { height: 124px; display: grid; place-items: center; }
.vhjpx-brand img { width: 248px; max-height: 94px; }
.vhjpx-main-nav { min-height: 58px; padding: 0 3.2vw; display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.5vw, 42px); border-top: 1px solid #f1eee9; font-size: 14px; white-space: nowrap; }
.vhjpx-nav-links { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.5vw, 42px); }
.vhjpx-main-nav a { text-decoration: none; }
.vhjpx-main-nav a:hover { color: var(--vhjpx-forest); }
.vhjpx-nav-icons { display: flex; gap: 18px; margin-left: 12px; }
.vhjpx-menu-toggle,
.vhjpx-menu-toggle:hover,
.vhjpx-menu-toggle:focus { display: none; border: 0; background: transparent !important; color: var(--vhjpx-ink) !important; }

.vhjpx-page { width: min(1487px, 100%); margin: 0 auto; padding: 30px 24px 88px; }
.vhjpx-notices { width: min(1439px, calc(100% - 48px)); margin: 24px auto 0; }
.vhjpx-notices:empty { display: none; }
.vhjpx-notices .woocommerce-message,
.vhjpx-notices .woocommerce-error,
.vhjpx-notices .woocommerce-info { position: relative; margin: 0; padding: 17px 190px 17px 52px; border: 1px solid var(--vhjpx-line); border-top: 3px solid var(--vhjpx-success); background: #f7f8f5; color: var(--vhjpx-ink); list-style: none; }
.vhjpx-notices .woocommerce-error { border-top-color: #9a4f49; background: #fbf6f5; }
.vhjpx-notices .woocommerce-message::before,
.vhjpx-notices .woocommerce-error::before,
.vhjpx-notices .woocommerce-info::before { top: 16px; left: 20px; color: var(--vhjpx-success); }
.vhjpx-notices .woocommerce-error::before { color: #9a4f49; }
.vhjpx-active .vhjpx-notices a.button,
.vhjpx-active .vhjpx-notices a.button:hover,
.vhjpx-active .vhjpx-notices a.button:focus { position: absolute; top: 10px; right: 10px; min-height: 40px; padding: 10px 18px; border: 1px solid var(--vhjpx-charcoal) !important; border-radius: 0; background: var(--vhjpx-charcoal) !important; color: #fff !important; font-size: 13px; text-decoration: none; }
.vhjpx-breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 24px; color: #8b8780; font-size: 13px; }
.vhjpx-breadcrumbs a { text-decoration: none; }
.vhjpx-breadcrumbs a:hover { color: var(--vhjpx-ink); }
.vhjpx-product { display: grid; grid-template-columns: minmax(0, 58fr) minmax(0, 42fr); gap: 54px; align-items: start; }

.vhjpx-gallery { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 20px; min-width: 0; }
.vhjpx-gallery-rail { min-width: 0; }
.vhjpx-gallery-rail.has-overflow { height: 690px; display: grid; grid-template-rows: 30px minmax(0, 1fr) 30px; gap: 8px; }
.vhjpx-thumbnails { display: flex; flex-direction: column; gap: 12px; }
.vhjpx-gallery-rail.has-overflow .vhjpx-thumbnails { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scroll-snap-type: y proximity; scrollbar-width: none; }
.vhjpx-gallery-rail.has-overflow .vhjpx-thumbnails::-webkit-scrollbar { display: none; }
.vhjpx-thumb,
.vhjpx-active .vhjpx-thumb:hover,
.vhjpx-active .vhjpx-thumb:focus { flex: 0 0 auto; width: 112px; aspect-ratio: 1 / 1; padding: 0; overflow: hidden; border: 1px solid transparent; background: #fff !important; color: inherit !important; cursor: pointer; scroll-snap-align: start; }
.vhjpx-thumb img { width: 100%; height: 100%; object-fit: cover; }
.vhjpx-thumb--video { position: relative; }
.vhjpx-thumb--video::after { position: absolute; inset: 0; background: rgba(27,31,29,.12); content: ""; pointer-events: none; }
.vhjpx-thumb--video > span { position: absolute; z-index: 1; top: 50%; left: 50%; width: 42px; height: 42px; display: grid; place-items: center; transform: translate(-50%, -50%); border: 1px solid rgba(255,255,255,.82); border-radius: 50%; background: rgba(36,39,37,.72); color: #fff; font-size: 13px; pointer-events: none; }
.vhjpx-thumb--video > span i { margin-left: 2px; }
.vhjpx-thumb.is-selected { border-color: var(--vhjpx-charcoal); }
.vhjpx-gallery-step,
.vhjpx-active .vhjpx-gallery-step:hover,
.vhjpx-active .vhjpx-gallery-step:focus { width: 100%; height: 30px; padding: 0; display: grid; place-items: center; border: 0 !important; background: transparent !important; color: var(--vhjpx-muted) !important; font-size: 12px; cursor: pointer; }
.vhjpx-active .vhjpx-gallery-step:hover { color: var(--vhjpx-forest) !important; }
.vhjpx-gallery-step:disabled { opacity: .22; cursor: default; }
.vhjpx-gallery-step[hidden] { display: none !important; }
.vhjpx-main-image { position: relative; min-height: 690px; margin: 0; display: grid; place-items: center; overflow: hidden; background: #faf9f6; }
.vhjpx-main-image > img { width: 100%; height: 100%; max-height: 720px; object-fit: contain; object-position: center 24%; transform: scale(1.055); }
.vhjpx-video-player { position: relative; min-width: 0; overflow: hidden; background: var(--vhjpx-stone); }
.vhjpx-video-player[hidden] { display: none !important; }
.vhjpx-video-player--gallery { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; background: #f7f4ef; }
.vhjpx-video-frame { position: relative; width: 100%; overflow: hidden; background: #f7f4ef; }
.vhjpx-video-player.is-horizontal .vhjpx-video-frame { aspect-ratio: 16 / 9; }
.vhjpx-video-player.is-vertical .vhjpx-video-frame { aspect-ratio: 9 / 16; }
.vhjpx-video-player--appointment.is-horizontal .vhjpx-video-frame { aspect-ratio: 1 / 1; }
.vhjpx-video-poster { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100% !important; object-fit: cover; background: #f7f4ef; }
.vhjpx-video-player.poster-contain .vhjpx-video-poster { object-fit: contain; }
.vhjpx-video-player.poster-youtube_vertical .vhjpx-video-poster { left: -108%; width: 316%; height: 100% !important; max-width: none; object-fit: cover; }
.vhjpx-video-frame iframe { position: absolute; z-index: 2; top: 0; left: 0; width: 100%; height: 100%; max-width: none; border: 0; background: #f7f4ef; opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.vhjpx-video-player.has-started .vhjpx-video-frame iframe { opacity: 1; }
.vhjpx-video-launch,
.vhjpx-active .vhjpx-video-launch:hover,
.vhjpx-active .vhjpx-video-launch:focus { position: absolute; z-index: 4; top: 50%; left: 50%; width: 72px; height: 72px; padding: 0; display: grid; place-items: center; transform: translate(-50%, -50%); border: 1px solid rgba(255,255,255,.88) !important; border-radius: 50%; background: rgba(32,39,36,.78) !important; box-shadow: 0 12px 32px rgba(24,28,26,.18); color: #fff !important; font-size: 18px; cursor: pointer; transition: background .2s ease, transform .2s ease, opacity .25s ease; }
.vhjpx-active .vhjpx-video-launch:hover { background: rgba(47,74,67,.94) !important; transform: translate(-50%, -50%) scale(1.04); }
.vhjpx-video-launch i { margin-left: 3px; }
.vhjpx-video-player.has-started .vhjpx-video-launch { visibility: hidden; opacity: 0; pointer-events: none; }
/* YouTube encodes vertical clips inside a 16:9 player. This crop removes the
   dark pillarbox while preserving the native 9:16 center frame. */
.vhjpx-video-player.is-vertical .vhjpx-video-frame iframe { left: -108%; width: 316%; }
/* The booking video is horizontal source footage presented as a square showroom
   tile. Crop its edges instead of exposing letterbox bars. */
.vhjpx-video-player--appointment .vhjpx-video-frame iframe { left: -38.9%; width: 177.8%; }
.vhjpx-video-player--gallery.is-horizontal .vhjpx-video-frame { width: 100%; }
.vhjpx-video-player--gallery.is-vertical .vhjpx-video-frame { height: 100%; width: auto; max-width: 72%; }
.vhjpx-video-controls { position: absolute; z-index: 3; right: 16px; bottom: 16px; display: flex; gap: 8px; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.vhjpx-video-player.has-started .vhjpx-video-controls { visibility: visible; opacity: 1; pointer-events: auto; }
.vhjpx-active .vhjpx-video-controls button,
.vhjpx-active .vhjpx-video-controls button:hover,
.vhjpx-active .vhjpx-video-controls button:focus { width: 40px; height: 40px; padding: 0; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.62) !important; border-radius: 50%; background: rgba(36,39,37,.74) !important; color: #fff !important; cursor: pointer; }
.vhjpx-active .vhjpx-video-controls button:hover { background: rgba(47,74,67,.92) !important; }
.vhjpx-main-image.is-video-active > img,
.vhjpx-main-image.is-video-active > .vhjpx-zoom { visibility: hidden; }
.vhjpx-zoom,
.vhjpx-active .vhjpx-zoom:hover,
.vhjpx-active .vhjpx-zoom:focus { position: absolute; right: 18px; bottom: 18px; width: 46px; height: 46px; padding: 0; display: grid; place-items: center; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none !important; color: var(--vhjpx-charcoal) !important; cursor: pointer; }
.vhjpx-zoom:focus-visible { outline: 1px solid var(--vhjpx-charcoal); outline-offset: 3px; border-radius: 50%; }
.vhjpx-zoom i { line-height: 1; }

.vhjpx-panel { padding-top: 4px; }
.vhjpx-eyebrow { margin: 0 0 10px; color: var(--vhjpx-gold-dark); font-size: 11px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.vhjpx-panel h1 { margin: 0 0 8px; font-family: var(--vhjpx-display); font-size: clamp(46px, 3.7vw, 58px); font-weight: 400; line-height: 1.04; letter-spacing: -.035em; }
.vhjpx-lede { max-width: 590px; margin: 0 0 10px; color: var(--vhjpx-muted); font-size: 15px; line-height: 1.55; }
.vhjpx-rating { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 4px; color: #5b5954; font-size: 12px; text-decoration: none; }
.vhjpx-rating > span:first-child { display: inline-flex; color: var(--vhjpx-gold); }
.vhjpx-rating .dashicons { width: 14px; height: 14px; font-size: 14px; }
.vhjpx-rating:hover { color: var(--vhjpx-ink); }
.vhjpx-price { margin: 5px 0 16px; font-family: var(--vhjpx-display); font-size: 37px; line-height: 1.2; }
.vhjpx-divider { height: 1px; margin-bottom: 22px; background: var(--vhjpx-line); }

.vhjpx-fieldset { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 12px; align-items: center; margin: 0 0 17px; padding: 0; border: 0; }
.vhjpx-fieldset legend { float: left; width: 160px; padding: 0; font-size: 14px; font-weight: 720; }
.vhjpx-options { grid-column: 2; display: flex; flex-wrap: wrap; gap: 8px; }
.vhjpx-fieldset[data-attribute="pa_metal"] .vhjpx-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vhjpx-active .vhjpx-option,
.vhjpx-active .vhjpx-option:hover,
.vhjpx-active .vhjpx-option:focus,
.vhjpx-active .vhjpx-option:active { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--vhjpx-line); border-radius: 0; background: #fff !important; color: #3c3d39 !important; font-size: 13px; font-weight: 650; line-height: 1.25; letter-spacing: .025em; text-align: center; cursor: pointer; transition: border-color .18s, color .18s, background .18s; }
.vhjpx-option { max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
.vhjpx-active .vhjpx-option:hover { border-color: #8e8f89; }
.vhjpx-active .vhjpx-option.is-selected,
.vhjpx-active .vhjpx-option.is-selected:hover,
.vhjpx-active .vhjpx-option.is-selected:focus { border-color: var(--vhjpx-charcoal); background: var(--vhjpx-stone) !important; color: var(--vhjpx-ink) !important; box-shadow: inset 0 0 0 1px var(--vhjpx-charcoal); }
.vhjpx-option--compact { min-width: 92px; }
.vhjpx-active .vhjpx-attribute-select,
.vhjpx-active .vhjpx-size-row select { min-height: 44px; font-size: 13px !important; font-weight: 650 !important; letter-spacing: .025em !important; line-height: 1.25; }
.vhjpx-attribute-select { width: 100%; padding: 8px 38px 8px 14px; overflow: hidden; border: 1px solid var(--vhjpx-line); border-radius: 0; background: #fff; color: var(--vhjpx-ink); text-overflow: ellipsis; white-space: nowrap; }
.vhjpx-spec-row,
.vhjpx-size-row { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 12px; align-items: center; margin: 0 0 17px; font-size: 14px; }
.vhjpx-spec-row span { color: var(--vhjpx-muted); }
.vhjpx-size-row > div { display: flex; align-items: center; gap: 20px; }
.vhjpx-size-row select { min-width: 170px; padding: 8px 38px 8px 14px; border: 1px solid var(--vhjpx-line); border-radius: 0; background: #fff; color: var(--vhjpx-ink); }
.vhjpx-size-row a { color: var(--vhjpx-gold-dark); text-underline-offset: 4px; }
.vhjpx-selection-card { margin: 22px 0 18px; padding: 15px 17px; display: grid; gap: 5px; background: var(--vhjpx-stone); font-size: 13px; }
.vhjpx-selection-card > span { color: var(--vhjpx-muted); }
.vhjpx-selection-card strong { font-size: 13px; font-weight: 620; line-height: 1.45; }
.vhjpx-availability { margin: 0 0 18px; }
.vhjpx-availability p { margin: 8px 0; display: flex; align-items: center; gap: 10px; font-size: 13px; line-height: 1.45; }
.vhjpx-stock .dashicons { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--vhjpx-success); font-size: 17px; }
.vhjpx-delivery i { width: 22px; text-align: center; color: var(--vhjpx-charcoal); font-size: 17px; }

.vhjpx-active .vhjpx-primary,
.vhjpx-active .vhjpx-primary:hover,
.vhjpx-active .vhjpx-primary:focus,
.vhjpx-active .vhjpx-primary:active { width: 100%; min-height: 52px; padding: 12px 18px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid var(--vhjpx-charcoal) !important; border-radius: 0; background: var(--vhjpx-charcoal) !important; color: #fff !important; font-size: 14px; font-weight: 650; line-height: 1.25; letter-spacing: .02em; cursor: pointer; text-decoration: none; }
.vhjpx-active .vhjpx-primary:hover { border-color: var(--vhjpx-forest-dark) !important; background: var(--vhjpx-forest-dark) !important; }
.vhjpx-or { display: flex; align-items: center; gap: 14px; margin: 10px 0 4px; color: #9a9892; font-size: 11px; }
.vhjpx-or::before,
.vhjpx-or::after { height: 1px; flex: 1; background: var(--vhjpx-line); content: ""; }
.vhjpx-active .vhjpx-secondary,
.vhjpx-active .vhjpx-secondary:hover,
.vhjpx-active .vhjpx-secondary:focus,
.vhjpx-active .vhjpx-secondary:active { width: 100%; min-height: 44px; padding: 9px 14px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0 !important; border-radius: 0; background: transparent !important; color: var(--vhjpx-charcoal) !important; font-size: 13px; font-weight: 560; line-height: 1.25; letter-spacing: .01em; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.vhjpx-active .vhjpx-secondary:hover { color: var(--vhjpx-forest) !important; }
.vhjpx-secondary i { width: 16px; text-align: center; font-size: 15px; line-height: 1; }

.vhjpx-service-strip { border-top: 1px solid var(--vhjpx-line); border-bottom: 1px solid var(--vhjpx-line); background: #fff; }
.vhjpx-service-strip__inner { width: min(1420px, 100%); margin: 0 auto; padding: 30px 24px; display: grid; grid-template-columns: repeat(4, 1fr); }
.vhjpx-service-strip__inner > div { min-height: 64px; padding: 0 28px; display: flex; align-items: center; gap: 14px; border-right: 1px solid var(--vhjpx-line); }
.vhjpx-service-strip__inner > div:last-child { border: 0; }
.vhjpx-service-icon { width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; color: var(--vhjpx-forest); font-size: 23px; line-height: 1; }
.vhjpx-service-icon .far { font-weight: 400; }
.vhjpx-service-strip p { margin: 0; display: grid; gap: 4px; }
.vhjpx-service-strip strong { font-size: 13px; font-weight: 700; }
.vhjpx-service-strip p span { color: var(--vhjpx-muted); font-size: 11px; }

.vhjpx-editorial { width: min(1487px, 100%); margin: 0 auto; }
.vhjpx-editorial h2 { margin: 0 0 22px; font-family: var(--vhjpx-display); font-size: clamp(36px, 4vw, 58px); font-weight: 400; line-height: 1.08; letter-spacing: -.03em; }
.vhjpx-editorial p { line-height: 1.7; }
.vhjpx-story { display: grid; grid-template-columns: 43% 57%; min-height: 660px; background: var(--vhjpx-forest); color: #fff; }
.vhjpx-story__copy { padding: clamp(60px, 8vw, 126px) clamp(42px, 6.5vw, 96px); align-self: center; }
.vhjpx-story .vhjpx-eyebrow,
.vhjpx-assistance .vhjpx-eyebrow { color: #d6c294; }
.vhjpx-story__copy p:not(.vhjpx-eyebrow) { max-width: 530px; margin: 0 0 18px; color: rgba(255,255,255,.79); font-size: 16px; }
.vhjpx-story figure { min-width: 0; margin: 0; overflow: hidden; background: #faf9f6; }
.vhjpx-story figure img { width: 100%; height: 100%; object-fit: cover; }

.vhjpx-motion { padding: clamp(76px, 8vw, 118px) clamp(30px, 6vw, 90px); display: grid; grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr); gap: clamp(48px, 7vw, 104px); align-items: center; border-bottom: 1px solid var(--vhjpx-line); background: #fbfaf7; }
.vhjpx-motion__heading { max-width: 520px; }
.vhjpx-motion__heading h2 { margin-bottom: 18px; }
.vhjpx-motion__heading > p:last-child { max-width: 460px; margin: 0; color: var(--vhjpx-muted); }
.vhjpx-motion__media { min-width: 0; display: flex; justify-content: center; }
.vhjpx-video-player--editorial.is-horizontal { width: 100%; }
.vhjpx-video-player--editorial.is-vertical { width: min(100%, 430px); }
.vhjpx-video-player--editorial .vhjpx-video-frame { width: 100%; }

.vhjpx-worn { padding: clamp(74px, 8vw, 124px) clamp(30px, 7vw, 105px); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: clamp(52px, 8vw, 118px); align-items: center; }
.vhjpx-worn figure { margin: 0; aspect-ratio: 1.05 / 1; overflow: hidden; background: var(--vhjpx-stone); }
.vhjpx-worn figure img { width: 100%; height: 100%; object-fit: cover; }
.vhjpx-worn__copy { max-width: 490px; }
.vhjpx-worn__copy > p:not(.vhjpx-eyebrow) { color: var(--vhjpx-muted); }
.vhjpx-worn__copy a,
.vhjpx-reviews__copy a { display: inline-flex; gap: 10px; margin-top: 12px; color: var(--vhjpx-forest); font-weight: 650; text-decoration: none; border-bottom: 1px solid currentColor; }

.vhjpx-anatomy { padding: clamp(76px, 8vw, 122px) clamp(30px, 6vw, 90px); background: var(--vhjpx-stone); }
.vhjpx-section-heading { max-width: 760px; margin: 0 auto 54px; text-align: center; }
.vhjpx-section-heading > p:last-child { margin: 0 auto; color: var(--vhjpx-muted); }
.vhjpx-anatomy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.vhjpx-anatomy-grid.is-two { max-width: 980px; margin-inline: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vhjpx-anatomy-grid figure { margin: 0; background: #fff; }
.vhjpx-anatomy-grid img { width: 100%; aspect-ratio: 1 / .88; object-fit: contain; }
.vhjpx-anatomy-grid figcaption { padding: 24px 26px 30px; border-top: 1px solid var(--vhjpx-line); }
.vhjpx-anatomy-grid figcaption > span { display: block; margin-bottom: 16px; color: var(--vhjpx-gold-dark); font-size: 11px; letter-spacing: .14em; }
.vhjpx-anatomy-grid figcaption strong { font-family: var(--vhjpx-display); font-size: 24px; font-weight: 400; }
.vhjpx-anatomy-grid figcaption p { margin: 8px 0 0; color: var(--vhjpx-muted); font-size: 13px; }

.vhjpx-technical { padding: clamp(76px, 8vw, 120px) clamp(30px, 7vw, 105px); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr); gap: clamp(50px, 8vw, 116px); align-items: start; }
.vhjpx-technical h2 { max-width: 660px; }
.vhjpx-technical dl { margin: 40px 0 0; border-top: 1px solid var(--vhjpx-line); }
.vhjpx-technical dl > div { padding: 14px 0; display: grid; grid-template-columns: 180px 1fr; gap: 24px; border-bottom: 1px solid var(--vhjpx-line); }
.vhjpx-technical dt { font-weight: 650; }
.vhjpx-technical dd { margin: 0; color: var(--vhjpx-muted); }
.vhjpx-technical aside { padding: 48px 44px 44px; background: var(--vhjpx-charcoal); color: #fff; }
.vhjpx-technical aside .vhjpx-eyebrow { color: #d6c294; }
.vhjpx-technical aside h3 { margin: 0 0 18px; font-family: var(--vhjpx-display); font-size: 36px; font-weight: 400; line-height: 1.15; }
.vhjpx-technical aside > p:not(.vhjpx-eyebrow) { color: rgba(255,255,255,.72); }
.vhjpx-active .vhjpx-technical aside button,
.vhjpx-active .vhjpx-technical aside button:hover,
.vhjpx-active .vhjpx-technical aside button:focus,
.vhjpx-active .vhjpx-technical aside .vhjpx-consult-link,
.vhjpx-active .vhjpx-technical aside .vhjpx-consult-link:hover,
.vhjpx-active .vhjpx-technical aside .vhjpx-consult-link:focus { margin-top: 18px; padding: 13px 0; display: inline-block; border: 0 !important; border-bottom: 1px solid #d6c294 !important; background: transparent !important; color: #fff !important; cursor: pointer; text-decoration: none; }

.vhjpx-assistance { display: grid; grid-template-columns: 52% 48%; min-height: 560px; background: var(--vhjpx-forest); color: #fff; }
.vhjpx-assistance figure { margin: 0; min-width: 0; overflow: hidden; background: #f7f6f2; }
.vhjpx-assistance figure img { width: 100%; height: 100%; object-fit: cover; }
.vhjpx-assistance > div { padding: clamp(60px, 8vw, 118px) clamp(42px, 7vw, 100px); align-self: center; }
.vhjpx-assistance--text-only { grid-template-columns: minmax(0, 1fr); min-height: 430px; }
.vhjpx-assistance--text-only > div { width: min(780px, 100%); margin-inline: auto; text-align: center; }
.vhjpx-assistance--text-only h2,
.vhjpx-assistance--text-only > div > p:not(.vhjpx-eyebrow) { margin-inline: auto; }
.vhjpx-assistance h2 { max-width: 520px; }
.vhjpx-assistance > div > p:not(.vhjpx-eyebrow) { max-width: 530px; color: rgba(255,255,255,.78); }
.vhjpx-active .vhjpx-assistance button,
.vhjpx-active .vhjpx-assistance button:hover,
.vhjpx-active .vhjpx-assistance button:focus,
.vhjpx-active .vhjpx-assistance .vhjpx-consult-link,
.vhjpx-active .vhjpx-assistance .vhjpx-consult-link:hover,
.vhjpx-active .vhjpx-assistance .vhjpx-consult-link:focus { margin-top: 20px; padding: 16px 22px; display: inline-block; border: 1px solid rgba(255,255,255,.75) !important; border-radius: 0; background: transparent !important; color: #fff !important; cursor: pointer; text-decoration: none; }
.vhjpx-active .vhjpx-assistance button:hover,
.vhjpx-active .vhjpx-assistance .vhjpx-consult-link:hover { background: #fff !important; color: var(--vhjpx-forest) !important; }

.vhjpx-appointment { min-height: 550px; display: grid; grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr); background: #c7c0ab; }
.vhjpx-appointment__copy { padding: clamp(60px, 8vw, 116px) clamp(42px, 7vw, 102px); align-self: center; }
.vhjpx-appointment__copy .vhjpx-eyebrow { color: rgba(255,255,255,.82); }
.vhjpx-appointment__copy h2 { max-width: 420px; margin: 0 0 22px; color: #fff; font-family: var(--vhjpx-display); font-size: clamp(54px, 5.6vw, 86px); font-weight: 300; line-height: .94; letter-spacing: -.045em; text-transform: uppercase; }
.vhjpx-appointment__copy > p:not(.vhjpx-eyebrow) { max-width: 430px; margin: 0; color: var(--vhjpx-ink); font-size: clamp(18px, 1.5vw, 23px); line-height: 1.42; }
.vhjpx-active .vhjpx-appointment__cta,
.vhjpx-active .vhjpx-appointment__cta:hover,
.vhjpx-active .vhjpx-appointment__cta:focus { min-width: 220px; margin-top: 30px; padding: 16px 22px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; border: 1px solid rgba(255,255,255,.78) !important; border-radius: 0; background: rgba(255,255,255,.74) !important; color: #50524e !important; font-size: 13px; font-weight: 650; letter-spacing: .02em; text-decoration: none; }
.vhjpx-active .vhjpx-appointment__cta:hover { background: #fff !important; color: var(--vhjpx-forest) !important; }
.vhjpx-appointment__media { min-width: 0; padding: clamp(30px, 5vw, 76px); display: flex; align-items: center; justify-content: center; }
.vhjpx-video-player--appointment { width: min(100%, 560px); aspect-ratio: 1 / 1; box-shadow: 0 18px 42px rgba(73,66,49,.16); }

.vhjpx-reviews { padding: clamp(70px, 7vw, 104px) clamp(30px, 7vw, 105px); display: grid; grid-template-columns: .7fr 1.4fr .6fr; gap: clamp(36px, 6vw, 88px); align-items: center; background: #faf9f6; }
.vhjpx-reviews__score { padding-right: 44px; border-right: 1px solid var(--vhjpx-line); }
.vhjpx-reviews__score > span { display: block; font-family: var(--vhjpx-display); font-size: 78px; line-height: 1; }
.vhjpx-reviews__score strong { display: block; margin-top: 9px; font-size: 15px; }
.vhjpx-reviews__score p,
.vhjpx-reviews__secondary p { margin: 5px 0 0; color: var(--vhjpx-muted); font-size: 12px; }
.vhjpx-reviews__copy h2 { margin-bottom: 14px; font-size: clamp(34px, 3.5vw, 50px); }
.vhjpx-reviews__copy > p:not(.vhjpx-eyebrow) { color: var(--vhjpx-muted); }
.vhjpx-reviews__secondary { text-align: center; }
.vhjpx-reviews__secondary > span { font-family: var(--vhjpx-display); font-size: 52px; }

.vhjpx-dialog { width: min(640px, calc(100% - 32px)); max-height: calc(100vh - 32px); padding: 28px; overflow-y: auto; border: 0; background: var(--vhjpx-stone); box-shadow: 0 24px 80px rgba(0,0,0,.2); }
.vhjpx-dialog::backdrop,
.vhjpx-lightbox::backdrop { background: rgba(16,15,13,.68); }
.vhjpx-dialog-close,
.vhjpx-active .vhjpx-dialog-close:hover,
.vhjpx-active .vhjpx-dialog-close:focus { position: absolute; top: 12px; right: 16px; border: 0; background: transparent !important; color: var(--vhjpx-ink) !important; font-size: 30px; cursor: pointer; }
.vhjpx-dialog h2 { margin: 0 0 8px; font-family: var(--vhjpx-display); font-size: 28px; font-weight: 400; }
.vhjpx-dialog__header { padding-right: 34px; }
.vhjpx-dialog__header > p:not(.vhjpx-eyebrow) { margin: 0; color: var(--vhjpx-muted); }
.vhjpx-dialog-product { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: center; margin: 12px 0 0; padding: 8px; border: 1px solid var(--vhjpx-line); background: rgba(255,255,255,.52); }
.vhjpx-dialog-product img { width: 72px; aspect-ratio: 1; object-fit: cover; background: #fff; }
.vhjpx-dialog-product figcaption { min-width: 0; }
.vhjpx-dialog-product strong { display: block; margin-bottom: 4px; font-family: var(--vhjpx-display); font-size: 20px; font-weight: 400; line-height: 1.05; }
.vhjpx-dialog-selection { margin: 0; color: var(--vhjpx-muted); font-size: 13px; line-height: 1.45; }
.vhjpx-dialog [data-vhjpx-local-form] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.vhjpx-dialog [data-vhjpx-local-form] input[name="name"],
.vhjpx-dialog [data-vhjpx-local-form] textarea,
.vhjpx-dialog [data-vhjpx-local-form] button,
.vhjpx-dialog [data-vhjpx-local-form] small { grid-column: 1 / -1; }
.vhjpx-dialog input { width: 100%; min-height: 44px; padding: 10px; border: 1px solid var(--vhjpx-line); background: #fff; }
.vhjpx-dialog textarea { width: 100%; height: 76px; min-height: 76px; padding: 10px; border: 1px solid var(--vhjpx-line); background: #fff; resize: vertical; }
.vhjpx-dialog input::placeholder,
.vhjpx-dialog textarea::placeholder { color: var(--vhjpx-muted); opacity: 1; }
.vhjpx-dialog small { display: block; margin-top: 0; color: var(--vhjpx-muted); text-align: center; }
.vhjpx-dialog-success { max-width: 430px; margin: 0 auto; text-align: center; }
.vhjpx-dialog-success img { width: 116px; height: 116px; margin: 0 auto 22px; object-fit: cover; background: #fff; }
.vhjpx-dialog-success h2 { margin-bottom: 10px; }
.vhjpx-dialog-success__selection { margin: 0 0 14px; color: var(--vhjpx-muted); font-size: 13px; line-height: 1.45; }
.vhjpx-dialog-success > p:not(.vhjpx-eyebrow):not(.vhjpx-dialog-success__selection) { margin: 0; color: var(--vhjpx-muted); }
.vhjpx-dialog-success .vhjpx-secondary { margin-top: 24px; }
.vhjpx-dialog-unavailable { padding-top: 12px; }
.vhjpx-dialog-unavailable .vhjpx-primary { display: inline-flex; margin-top: 8px; text-decoration: none; }

/* The Elementor consultation form remains its own submission/CRM owner. These
   rules only present popup 36881 as the same compact PDP consultation modal. */
#elementor-popup-modal-36881 { align-items: center !important; justify-content: center !important; padding: 16px; overflow-y: auto; }
#elementor-popup-modal-36881 .dialog-widget-content { position: relative !important; inset: auto !important; width: min(640px, calc(100vw - 32px)) !important; max-width: 640px !important; max-height: calc(100vh - 32px); margin: auto !important; overflow-x: hidden; overflow-y: auto; background: var(--vhjpx-stone) !important; box-shadow: 0 24px 80px rgba(0,0,0,.2); }
#elementor-popup-modal-36881 .dialog-message { height: auto !important; padding: 0 !important; }
#elementor-popup-modal-36881 .dialog-lightbox-close-button { top: 12px; right: 16px; z-index: 2; color: var(--vhjpx-ink); }
#elementor-popup-modal-36881 .elementor-36881 > .elementor-element-a9bd3a8 { box-sizing: border-box !important; width: 100% !important; max-width: none !important; padding: 24px !important; }
#elementor-popup-modal-36881 .elementor-element-1a2b132 .elementor-heading-title { margin: 0 0 7px; color: var(--vhjpx-muted); font-family: var(--vhjpx-body); font-size: 11px; font-weight: 650; letter-spacing: .09em; line-height: 1.3; text-transform: uppercase; }
#elementor-popup-modal-36881 .elementor-element-e411a4d .elementor-heading-title { margin: 0; color: var(--vhjpx-ink); font-family: var(--vhjpx-display); font-size: 28px; font-weight: 400; line-height: 1.05; }
#elementor-popup-modal-36881 .vhjpx-elementor-consultation-preview { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: center; margin: 11px 0; padding: 8px; border: 1px solid var(--vhjpx-line); background: rgba(255,255,255,.52); }
#elementor-popup-modal-36881 .vhjpx-elementor-consultation-preview img { width: 72px; aspect-ratio: 1; object-fit: cover; background: #fff; }
#elementor-popup-modal-36881 .vhjpx-elementor-consultation-preview strong { display: block; margin-bottom: 4px; color: var(--vhjpx-ink); font-family: var(--vhjpx-display); font-size: 20px; font-weight: 400; line-height: 1.05; }
#elementor-popup-modal-36881 .vhjpx-elementor-consultation-preview p { margin: 0; color: var(--vhjpx-muted); font-size: 13px; line-height: 1.45; }
#elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-form-fields-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-field-group { grid-column: 1 / -1; margin: 0 !important; padding: 0 !important; }
#elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-field-group-correo,
#elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-field-group-Phone { grid-column: auto; }
#elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-field-type-hidden { display: none !important; }
#elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-field-textual { min-height: 44px; padding: 10px !important; border: 1px solid var(--vhjpx-line) !important; border-radius: 0 !important; background: #fff !important; color: var(--vhjpx-ink) !important; box-shadow: none !important; }
#elementor-popup-modal-36881 form[name="Consulta Producto"] textarea.elementor-field-textual { height: 76px; min-height: 76px; resize: vertical; }
#elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-field-textual::placeholder { color: var(--vhjpx-muted); opacity: 1; }
#elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-field-option { display: flex; align-items: flex-start; gap: 9px; color: var(--vhjpx-muted); font-size: 13px; line-height: 1.4; }
#elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-field-option input { margin: 3px 0 0; }
#elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-field-type-submit { margin-top: 2px !important; }
#elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-button { width: 100%; min-height: 46px; border-radius: 0 !important; background: var(--vhjpx-ink) !important; color: #fff !important; font-family: var(--vhjpx-body); font-size: 13px; font-weight: 650; letter-spacing: .02em; }
#elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-message { margin: 0; color: var(--vhjpx-forest); font-size: 14px; text-align: center; }
.vhjpx-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.vhjpx-lightbox { width: min(1000px, calc(100% - 40px)); max-height: 92vh; padding: 16px; border: 0; }
.vhjpx-lightbox img { width: 100%; max-height: calc(92vh - 32px); object-fit: contain; }
.vhjpx-lightbox button,
.vhjpx-active .vhjpx-lightbox button:hover,
.vhjpx-active .vhjpx-lightbox button:focus { position: absolute; top: 16px; right: 20px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92) !important; color: var(--vhjpx-ink) !important; font-size: 28px; cursor: pointer; }
.vhjpx-mobile-bar { display: none; }
.vhjpx-active :focus-visible { outline: 3px solid var(--vhjpx-forest); outline-offset: 3px; }

@media (max-width: 1100px) {
  .vhjpx-main-nav,
  .vhjpx-nav-links { gap: 18px; }
  .vhjpx-product { grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr); gap: 30px; }
  .vhjpx-gallery { grid-template-columns: 82px minmax(0,1fr); gap: 12px; }
  .vhjpx-gallery-rail.has-overflow { height: 560px; }
  .vhjpx-thumb,
  .vhjpx-active .vhjpx-thumb:hover,
  .vhjpx-active .vhjpx-thumb:focus { width: 82px; }
  .vhjpx-main-image { min-height: 560px; }
  .vhjpx-fieldset,
  .vhjpx-spec-row,
  .vhjpx-size-row { grid-template-columns: 138px minmax(0,1fr); }
  .vhjpx-fieldset legend { width: 138px; }
  .vhjpx-service-strip__inner > div { padding: 0 17px; }
  .vhjpx-story { min-height: 560px; }
}

@media (max-width: 820px) {
  /* The legacy Elementor contact dock duplicates and covers the product CTA. */
  .vhjpx-active .elementor-element.elementor-element-2deeb457 { display: none !important; }
  .vhjpx-utility { justify-content: center; }
  .vhjpx-utility nav { display: none; }
  .vhjpx-brand { height: 104px; }
  .vhjpx-brand img { width: 210px; }
  .vhjpx-main-nav { position: relative; min-height: 52px; padding: 0 18px; justify-content: space-between; }
  .vhjpx-menu-toggle,
  .vhjpx-menu-toggle:hover,
  .vhjpx-menu-toggle:focus { display: inline-flex; align-items: center; gap: 7px; padding: 10px 0; color: var(--vhjpx-ink) !important; cursor: pointer; }
  .vhjpx-nav-links { position: absolute; z-index: 20; top: 100%; right: 0; left: 0; display: none; padding: 10px 20px 18px; background: #fff; border-top: 1px solid var(--vhjpx-line); border-bottom: 1px solid var(--vhjpx-line); box-shadow: 0 12px 24px rgba(0,0,0,.08); }
  .vhjpx-nav-links.is-open { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 24px; }
  .vhjpx-nav-links a { padding: 11px 0; white-space: normal; }
  .vhjpx-nav-icons { margin-left: auto; }
  .vhjpx-page { padding: 18px 18px 108px; }
  .vhjpx-breadcrumbs { margin-bottom: 16px; }
  .vhjpx-product { display: block; }
  .vhjpx-gallery { display: flex; flex-direction: column-reverse; }
  .vhjpx-gallery-rail.has-overflow { width: 100%; height: auto; display: grid; grid-template: auto / 30px minmax(0, 1fr) 30px; gap: 8px; }
  .vhjpx-thumbnails { flex-direction: row; overflow-x: auto; }
  .vhjpx-gallery-rail.has-overflow .vhjpx-thumbnails { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; }
  .vhjpx-gallery-rail.has-overflow .vhjpx-gallery-step { width: 30px; height: 78px; align-self: center; }
  .vhjpx-gallery-rail.has-overflow .vhjpx-gallery-step.is-previous i { transform: rotate(-90deg); }
  .vhjpx-gallery-rail.has-overflow .vhjpx-gallery-step.is-next i { transform: rotate(-90deg); }
  .vhjpx-thumb,
  .vhjpx-active .vhjpx-thumb:hover,
  .vhjpx-active .vhjpx-thumb:focus { flex: 0 0 78px; width: 78px; }
  .vhjpx-main-image { min-height: auto; aspect-ratio: 1 / .9; }
  .vhjpx-panel { padding-top: 34px; }
  .vhjpx-panel h1 { font-size: 44px; }
  .vhjpx-price { font-size: 33px; }
  .vhjpx-fieldset,
  .vhjpx-spec-row,
  .vhjpx-size-row { display: block; }
  .vhjpx-fieldset legend { float: none; width: auto; margin-bottom: 9px; }
  .vhjpx-options { grid-column: 1; }
  .vhjpx-spec-row strong { display: block; margin-bottom: 5px; }
  .vhjpx-size-row label { display: block; margin-bottom: 9px; }
  .vhjpx-size-row > div { justify-content: space-between; }
  .vhjpx-size-row select { flex: 1; min-width: 0; }
  .vhjpx-service-strip__inner { padding: 28px 18px; grid-template-columns: repeat(2, 1fr); gap: 0; }
  .vhjpx-service-strip__inner > div { padding: 18px 14px; border-right: 1px solid var(--vhjpx-line); border-bottom: 1px solid var(--vhjpx-line); }
  .vhjpx-service-strip__inner > div:nth-child(2) { border-right: 0; }
  .vhjpx-service-strip__inner > div:nth-child(n+3) { border-bottom: 0; }
  .vhjpx-story,
  .vhjpx-motion,
  .vhjpx-worn,
  .vhjpx-technical,
  .vhjpx-assistance,
  .vhjpx-appointment,
  .vhjpx-reviews { grid-template-columns: minmax(0, 1fr); }
  .vhjpx-story { min-height: 0; }
  .vhjpx-story__copy { padding: 66px 28px; }
  .vhjpx-story figure { min-height: 440px; }
  .vhjpx-motion { padding: 70px 28px; gap: 40px; }
  .vhjpx-motion__heading { max-width: 650px; }
  .vhjpx-video-player--editorial.is-vertical { width: min(78vw, 430px); }
  .vhjpx-worn { padding: 70px 28px; gap: 42px; }
  .vhjpx-worn figure { aspect-ratio: .95 / 1; }
  .vhjpx-worn__copy { max-width: none; }
  .vhjpx-anatomy { padding: 70px 18px; }
  .vhjpx-anatomy-grid { grid-template-columns: 1fr; }
  .vhjpx-anatomy-grid.is-two { grid-template-columns: 1fr; }
  .vhjpx-anatomy-grid figure { display: grid; grid-template-columns: 44% 56%; }
  .vhjpx-anatomy-grid img { height: 100%; aspect-ratio: auto; }
  .vhjpx-anatomy-grid figcaption { border-top: 0; border-left: 1px solid var(--vhjpx-line); }
  .vhjpx-technical { padding: 70px 28px; gap: 48px; }
  .vhjpx-assistance figure { min-height: 420px; }
  .vhjpx-assistance > div { padding: 66px 28px; }
  .vhjpx-appointment { min-height: 0; }
  .vhjpx-appointment__copy { padding: 68px 28px 42px; }
  .vhjpx-appointment__media { padding: 0 28px 68px; }
  .vhjpx-reviews { padding: 64px 28px; gap: 38px; }
  .vhjpx-reviews__score { padding: 0 0 32px; border-right: 0; border-bottom: 1px solid var(--vhjpx-line); }
  .vhjpx-reviews__secondary { text-align: left; }
  .vhjpx-mobile-bar { position: fixed; z-index: 30; right: 0; bottom: 0; left: 0; min-height: 72px; padding: 10px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #444844; background: rgba(36,39,37,.98); color: #fff; box-shadow: 0 -8px 30px rgba(0,0,0,.14); }
  .vhjpx-mobile-bar span { font-family: var(--vhjpx-display); font-size: 20px; }
  .vhjpx-active .vhjpx-mobile-bar button,
  .vhjpx-active .vhjpx-mobile-bar button:hover,
  .vhjpx-active .vhjpx-mobile-bar button:focus { min-height: 48px; padding: 10px 22px; border: 1px solid #fff !important; border-radius: 0; background: #fff !important; color: var(--vhjpx-charcoal) !important; }
}

@media (max-width: 560px) {
  .vhjpx-main-nav { font-size: 13px; }
  .vhjpx-nav-icons { display: flex; gap: 14px; }
  .vhjpx-breadcrumbs { font-size: 12px; }
  .vhjpx-fieldset,
  .vhjpx-spec-row,
  .vhjpx-size-row { display: block; }
  .vhjpx-fieldset legend { float: none; width: auto; margin-bottom: 9px; }
  .vhjpx-options { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .vhjpx-option { padding-inline: 10px; }
  .vhjpx-spec-row strong { display: block; margin-bottom: 5px; }
  .vhjpx-size-row label { display: block; margin-bottom: 9px; }
  .vhjpx-size-row > div { justify-content: space-between; }
  .vhjpx-size-row select { min-width: 150px; }
  .vhjpx-editorial h2 { font-size: 38px; }
  .vhjpx-story figure { min-height: 360px; }
  .vhjpx-motion { padding-inline: 18px; }
  .vhjpx-video-player--gallery.is-vertical .vhjpx-video-frame { max-width: 78%; }
  .vhjpx-video-player--editorial.is-vertical { width: 100%; }
  .vhjpx-video-launch,
  .vhjpx-active .vhjpx-video-launch:hover,
  .vhjpx-active .vhjpx-video-launch:focus { width: 62px; height: 62px; font-size: 16px; }
  .vhjpx-video-controls { right: 12px; bottom: 12px; }
  .vhjpx-video-player--editorial .vhjpx-video-controls { top: 12px; bottom: auto; }
  .vhjpx-active .vhjpx-video-controls button,
  .vhjpx-active .vhjpx-video-controls button:hover,
  .vhjpx-active .vhjpx-video-controls button:focus { width: 38px; height: 38px; }
  .vhjpx-anatomy-grid { width: 100%; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(82vw, 330px); justify-content: start; overflow-x: auto; scroll-snap-type: x mandatory; }
  .vhjpx-anatomy-grid figure { display: block; scroll-snap-align: start; }
  .vhjpx-anatomy-grid img { height: auto; aspect-ratio: 1 / .78; }
  .vhjpx-anatomy-grid figcaption { border-top: 1px solid var(--vhjpx-line); border-left: 0; }
  .vhjpx-technical dl > div { grid-template-columns: 1fr; gap: 5px; }
  .vhjpx-technical aside { padding: 38px 26px; }
  .vhjpx-assistance figure { min-height: 350px; }
  .vhjpx-active .vhjpx-assistance button,
  .vhjpx-active .vhjpx-assistance .vhjpx-consult-link { max-width: 100%; white-space: normal; }
  .vhjpx-appointment__copy h2 { font-size: clamp(52px, 18vw, 72px); }
  .vhjpx-appointment__media { padding-inline: 18px; }
  .vhjpx-reviews__score > span { font-size: 66px; }
  .vhjpx-dialog { padding: 24px 18px 18px; }
  .vhjpx-dialog-product { grid-template-columns: 68px minmax(0, 1fr); gap: 12px; padding: 10px; }
  .vhjpx-dialog-product img { width: 68px; }
  .vhjpx-dialog-product strong { font-size: 20px; }
  .vhjpx-dialog [data-vhjpx-local-form] { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .vhjpx-dialog [data-vhjpx-local-form] input[type="email"],
  .vhjpx-dialog [data-vhjpx-local-form] input[type="tel"] { grid-column: 1 / -1; }
  #elementor-popup-modal-36881 { padding: 10px; }
  #elementor-popup-modal-36881 .dialog-widget-content { width: min(100%, calc(100vw - 20px)) !important; max-height: calc(100vh - 20px); }
  #elementor-popup-modal-36881 .elementor-36881 > .elementor-element-a9bd3a8 { padding: 22px 16px 18px !important; }
  #elementor-popup-modal-36881 .elementor-element-e411a4d .elementor-heading-title { font-size: 28px; }
  #elementor-popup-modal-36881 .vhjpx-elementor-consultation-preview { grid-template-columns: 64px minmax(0, 1fr); gap: 10px; margin: 12px 0; padding: 8px; }
  #elementor-popup-modal-36881 .vhjpx-elementor-consultation-preview img { width: 64px; }
  #elementor-popup-modal-36881 .vhjpx-elementor-consultation-preview strong { font-size: 19px; }
  #elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-form-fields-wrapper { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  #elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-field-group-correo,
  #elementor-popup-modal-36881 form[name="Consulta Producto"] .elementor-field-group-Phone { grid-column: 1 / -1; }
  .vhjpx-notices { width: calc(100% - 36px); margin-top: 18px; }
  .vhjpx-notices .woocommerce-message,
  .vhjpx-notices .woocommerce-error,
  .vhjpx-notices .woocommerce-info { padding: 16px 18px 16px 48px; }
  .vhjpx-active .vhjpx-notices a.button,
  .vhjpx-active .vhjpx-notices a.button:hover,
  .vhjpx-active .vhjpx-notices a.button:focus { position: static; width: 100%; margin: 12px 0 0; display: flex; justify-content: center; }
  .vhjpx-mobile-bar span { font-size: 18px; }
  .vhjpx-active .vhjpx-mobile-bar button,
  .vhjpx-active .vhjpx-mobile-bar button:hover,
  .vhjpx-active .vhjpx-mobile-bar button:focus { padding-inline: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .vhjpx-active * { scroll-behavior: auto !important; transition: none !important; }
}
