/** Shopify CDN: Minification failed

Line 524:0 Unexpected "}"

**/
/* ==========================================================================
   JW Product — fiche produit "SR" (DA Atelier)
   Autonome : ne dépend que de jw-modern.css pour les fondations globales.
   Chargée par : sections/main-product-jw.liquid, jw-collage.liquid,
                 sections/section-geometry-jw.liquid
   ========================================================================== */

.jwp,
.jwcol,
.jwgeo2 {
  --jwp-black: #0b0b0c;
  --jwp-black-2: #141416;
  --jwp-white: #ffffff;
  --jwp-surface: #f3f3f3;
  --jwp-red: #ff0000;
  --jwp-red-lit: #ff2b2b;
  --jwp-display: 'Archivo', var(--font-heading-family, sans-serif), sans-serif;
  --jwp-line-d: rgba(255, 255, 255, 0.14);
  --jwp-line-l: rgba(18, 18, 18, 0.14);
  --jwp-dim: rgba(255, 255, 255, 0.66);
  --jwp-pad: clamp(16px, 3.4vw, 52px);
  --jwp-max: 1320px;
  --jwp-ease: cubic-bezier(.2, .6, .2, 1);
}

/* --- Fonds ---------------------------------------------------------------- */
.jwp-dark { background: var(--jwp-black); color: var(--jwp-white); }
.jwp-light { background: var(--jwp-white); color: var(--jwp-black); }
.jwp-grey { background: var(--jwp-surface); color: var(--jwp-black); }

/* --- Primitives typo ------------------------------------------------------ */
.jwp-eyebrow {
  display: block;
  margin: 0 0 10px;
  font-family: var(--jwp-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--jwp-red-lit);
}
.jwp-light .jwp-eyebrow,
.jwp-grey .jwp-eyebrow { color: var(--jwp-red); }

.jwp-h {
  margin: 0;
  font-family: var(--jwp-display);
  font-weight: 900;
  line-height: .94;
  letter-spacing: -.035em;
  text-transform: uppercase;
  text-wrap: balance;
}
.jwp-h--xl { font-size: clamp(44px, 12vw, 172px); line-height: .82; letter-spacing: -.055em; }
.jwp-h--l { font-size: clamp(26px, 4.4vw, 56px); }
.jwp-h--m { font-size: clamp(20px, 2.6vw, 34px); }

.jwp-label {
  font-family: var(--jwp-display);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.jwp-body { margin: 0; font-size: 15.5px; line-height: 1.6; text-wrap: pretty; }
.jwp-dark .jwp-body { color: var(--jwp-dim); }
.jwp-light .jwp-body,
.jwp-grey .jwp-body { color: #4a4a4a; }

/* --- Apparition au scroll ------------------------------------------------- */
[data-jwp-reveal] {
  opacity: 0;
  transform: translate3d(0, 26px, 0);
  transition: opacity .7s var(--jwp-ease), transform .7s var(--jwp-ease);
  transition-delay: calc(var(--jwp-i, 0) * 70ms);
  will-change: opacity, transform;
}
[data-jwp-reveal].is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  [data-jwp-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ==========================================================================
   1. HERO
   ========================================================================== */
.jwp__hero {
  position: relative;
  padding: clamp(26px, 5vw, 76px) var(--jwp-pad) clamp(18px, 2.6vw, 34px);
  overflow: hidden;
}
.jwp__hero::after {
  content: '';
  position: absolute;
  inset: auto -10% -40% 40%;
  height: 80%;
  background: radial-gradient(52% 60% at 60% 100%, rgba(255, 0, 0, .18), transparent 66%);
  pointer-events: none;
}
.jwp__hero-in { position: relative; max-width: var(--jwp-max); margin: 0 auto; }

.jwp__flag { display: flex; align-items: center; gap: 10px; margin-bottom: clamp(12px, 2vw, 20px); }
.jwp__flag i {
  width: 7px; height: 7px; flex: 0 0 auto;
  background: var(--jwp-red);
  box-shadow: 0 0 10px var(--jwp-red);
  animation: jwpBlink 1.6s ease-in-out infinite;
}
.jwp__flag span { color: var(--jwp-dim); }
@keyframes jwpBlink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
@media (prefers-reduced-motion: reduce) { .jwp__flag i { animation: none; } }

.jwp__sub {
  margin: clamp(14px, 2vw, 22px) 0 0;
  max-width: 52ch;
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 1.55;
  color: var(--jwp-dim);
  text-wrap: pretty;
}

.jwp__stats {
  display: flex;
  flex-wrap: wrap;
  margin-top: clamp(22px, 3.4vw, 44px);
  border-top: 1px solid var(--jwp-line-d);
}
.jwp__stat {
  flex: 1 1 148px;
  min-width: 0;
  padding: 18px 22px 0 0;
  margin-right: 22px;
  border-right: 1px solid var(--jwp-line-d);
}
.jwp__stat:last-child { border-right: 0; }
.jwp__stat strong {
  display: block;
  font-family: var(--jwp-display);
  font-size: clamp(22px, 3vw, 42px);
  font-weight: 900;
  line-height: .95;
  letter-spacing: -.03em;
}
.jwp__stat--hl strong { color: var(--jwp-red-lit); }
.jwp__stat span { display: block; margin-top: 6px; color: var(--jwp-dim); }

/* ==========================================================================
   2. CORPS : galerie + colonne d'achat
   ========================================================================== */
.jwp__main {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: clamp(20px, 3.4vw, 56px);
  align-items: start;
  max-width: var(--jwp-max);
  margin: 0 auto;
  padding: clamp(14px, 2.4vw, 30px) var(--jwp-pad) clamp(30px, 5vw, 74px);
}
@media screen and (max-width: 989px) {
  .jwp__main { grid-template-columns: minmax(0, 1fr); }
}

/* --- Galerie (structure Dawn conservée, habillage JW) --------------------- */
.jwp__media { position: relative; min-width: 0; }
@media screen and (min-width: 990px) {
  .jwp__media--sticky { position: sticky; top: 90px; }
}
.jwp__stage {
  position: relative;
  background: var(--jwp-surface);
  border: 1px solid var(--jwp-line-d);
  padding: clamp(8px, 1.4vw, 18px);
}
.jwp__stage::before,
.jwp__stage::after {
  content: '';
  position: absolute;
  width: 22px; height: 22px;
  border: 2px solid var(--jwp-red);
  pointer-events: none;
  z-index: 2;
}
.jwp__stage::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; }
.jwp__stage::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }

.jwp .product__media-list { margin: 0; }
.jwp .product__media-item { padding: 0; }
.jwp .media,
.jwp .product__media-item .media { background: transparent; }
.jwp .product__media-item img { mix-blend-mode: normal; }
.jwp .slider-button { color: var(--jwp-black); }
.jwp .slider-counter { color: var(--jwp-black); font-family: var(--jwp-display); font-weight: 700; }

.jwp .thumbnail-list { margin-top: 12px; gap: 10px; }
.jwp .thumbnail-list__item { padding: 0; }
.jwp .thumbnail {
  background: var(--jwp-surface);
  border: 1px solid var(--jwp-line-d);
  border-radius: 0;
  transition: border-color .18s var(--jwp-ease), transform .18s var(--jwp-ease);
}
.jwp .thumbnail:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, .4); }
.jwp .thumbnail[aria-current='true'] { border-color: var(--jwp-red); box-shadow: inset 0 0 0 1px var(--jwp-red); }
.jwp .thumbnail__badge { color: var(--jwp-black); }

.jwp__mediatag {
  position: absolute;
  z-index: 3;
  top: clamp(14px, 2vw, 26px);
  left: clamp(14px, 2vw, 26px);
  padding: 6px 11px;
  background: var(--jwp-black);
  color: var(--jwp-white);
}

/* --- Colonne d'achat ------------------------------------------------------ */
.jwp__info { min-width: 0; display: flex; flex-direction: column; gap: clamp(18px, 2.4vw, 26px); }
.jwp__info > * { min-width: 0; }

.jwp__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; }
.jwp__price .price { font-family: var(--jwp-display); }
.jwp__price .price__container .price-item--regular { font-size: clamp(28px, 3.4vw, 46px); font-weight: 900; letter-spacing: -.03em; }
.jwp__price .price--on-sale .price-item--regular { color: rgba(255, 255, 255, .45); font-size: 15px; font-weight: 400; }
.jwp__price .price-item--sale { color: var(--jwp-red-lit); }
.jwp__price .price__badge-sale {
  background: var(--jwp-red) !important;
  color: #fff !important;
  border: 0 !important;
  font-family: var(--jwp-display);
  font-weight: 800;
  letter-spacing: .1em;
}
.jwp__tax { margin: 0; font-size: 13px; color: rgba(255, 255, 255, .5); }
.jwp__tax a { color: #fff; text-decoration: underline; }

/* Sélecteur de variante : pièce maîtresse de la page */
.jwp__picker { border: 1px solid var(--jwp-line-d); background: rgba(255, 255, 255, .03); }
.jwp__picker-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 14px clamp(14px, 2vw, 20px);
  border-bottom: 1px solid var(--jwp-line-d);
}
.jwp__picker-head .jwp-label { color: var(--jwp-white); }
.jwp__picker-head em { font-style: normal; font-size: 12.5px; color: rgba(255, 255, 255, .5); }
.jwp__picker-body { padding: clamp(14px, 2vw, 20px); display: flex; flex-direction: column; gap: 18px; }

.jwp .jwp__opt { border: 0; padding: 0; margin: 0; }
.jwp .jwp__opt legend {
  display: block;
  padding: 0 0 10px;
  font-family: var(--jwp-display);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .6);
}
.jwp__opt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 132px), 1fr)); gap: 10px; }

.jwp .jwp__opt input[type='radio'] { position: absolute; width: 1px; height: 1px; opacity: 0; clip: rect(0 0 0 0); }
.jwp .jwp__opt input[type='radio'] + label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin: 0;
  padding: 12px 14px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 0;
  font-family: var(--jwp-display);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .82);
  cursor: pointer;
  transition: background .16s var(--jwp-ease), border-color .16s var(--jwp-ease), color .16s var(--jwp-ease), transform .16s var(--jwp-ease);
}
.jwp .jwp__opt input[type='radio'] + label:hover { border-color: #fff; color: #fff; }
.jwp .jwp__opt input[type='radio']:checked + label {
  background: var(--jwp-red);
  border-color: var(--jwp-red);
  color: #fff;
  box-shadow: 0 10px 34px rgba(255, 0, 0, .28);
}
.jwp .jwp__opt input[type='radio']:focus-visible + label { outline: 2px solid #fff; outline-offset: 2px; }
.jwp .jwp__opt input[type='radio']:active + label { transform: scale(.98); }

/* Dropdowns (si picker_type = dropdown) */
.jwp .select__select {
  background: rgba(255, 255, 255, .05);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 0;
  min-height: 52px;
  font-family: var(--jwp-display);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.jwp .select .icon-caret { color: #fff; }
.jwp .form__label { font-family: var(--jwp-display); font-size: 10.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }

/* Quantité */
.jwp .quantity {
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .24);
  color: #fff;
  min-height: 52px;
  width: 132px;
}
.jwp .quantity__input,
.jwp .quantity__button { color: #fff; font-family: var(--jwp-display); font-weight: 800; }

/* CTA */
.jwp .product-form__submit {
  min-height: 60px;
  background: var(--jwp-red) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: var(--jwp-display);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  box-shadow: 0 16px 44px rgba(255, 0, 0, .3);
  transition: filter .16s var(--jwp-ease), transform .16s var(--jwp-ease);
}
.jwp .product-form__submit:hover { filter: brightness(.9); }
.jwp .product-form__submit:active { transform: scale(.985); }
.jwp .product-form__submit[disabled] { background: rgba(255, 255, 255, .14) !important; box-shadow: none; }
.jwp .shopify-payment-button__button--unbranded {
  border-radius: 0 !important;
  min-height: 56px;
  background: transparent !important;
  color: #fff !important;
  border: 1px solid #fff !important;
  font-family: var(--jwp-display);
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.jwp .shopify-payment-button__button--unbranded:hover { background: #fff !important; color: var(--jwp-black) !important; }
.jwp .product-form__buttons { display: flex; flex-direction: column; gap: 10px; }
.jwp .product__pickup-availabilities { color: rgba(255, 255, 255, .7); }
.jwp .product-form__error-message-wrapper { color: #fff; }

/* Fiche technique en colonne */
.jwp__specs { border-top: 1px solid var(--jwp-line-d); }
.jwp__spec {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.jwp__spec span { font-size: 14.5px; color: rgba(255, 255, 255, .62); }
.jwp__spec strong { font-family: var(--jwp-display); font-size: 15px; font-weight: 900; text-align: right; }
.jwp__spec--hl strong { color: var(--jwp-red-lit); }

/* Rassurance */
.jwp__trust { display: grid; gap: 12px; }
.jwp__trust-row { display: flex; gap: 12px; align-items: flex-start; padding: 13px 15px; border: 1px solid rgba(255, 255, 255, .13); background: rgba(255, 255, 255, .03); }
.jwp__trust-row b { display: block; font-family: var(--jwp-display); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.jwp__trust-row p { margin: 5px 0 0; font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .7); }
.jwp__trust-row i { font-style: normal; font-size: 19px; line-height: 1.1; }

/* Description + accordéons */
.jwp__rte { font-size: 15.5px; line-height: 1.62; color: rgba(255, 255, 255, .78); }
.jwp__rte a { color: #fff; text-decoration: underline; }
.jwp__rte strong { color: #fff; }
.jwp__rte img { max-width: 100%; height: auto; }

.jwp .jwp__acc { border-top: 1px solid var(--jwp-line-d); }
.jwp .jwp__acc details { border-bottom: 1px solid var(--jwp-line-d); }
.jwp .jwp__acc summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 0;
  cursor: pointer;
  list-style: none;
}
.jwp .jwp__acc summary::-webkit-details-marker { display: none; }
.jwp .jwp__acc summary h2 {
  margin: 0;
  font-family: var(--jwp-display);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff;
}
.jwp .jwp__acc .icon-caret { color: var(--jwp-red); transition: transform .22s var(--jwp-ease); height: 9px; }
.jwp .jwp__acc details[open] .icon-caret { transform: rotate(180deg); }
.jwp .jwp__acc-content { padding: 0 0 20px; font-size: 15px; line-height: 1.6; color: rgba(255, 255, 255, .74); animation: jwpFold .3s var(--jwp-ease); }
@keyframes jwpFold { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* Apps (Globo, BSS, YMQ…) : on neutralise juste le fond clair */
.jwp .globo-option-wrapper,
.jwp .gpo-container,
.jwp .ymq-option { color: #fff; }
.jwp .globo-option-wrapper label,
.jwp .gpo-container label { color: rgba(255, 255, 255, .8); }

/* --- Barre d'achat collante ---------------------------------------------- */
.jwp__bar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 8;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: center;
  justify-content: space-between;
  padding: 12px clamp(14px, 3vw, 44px);
  background: rgba(11, 11, 12, .93);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--jwp-line-d);
  transform: translate3d(0, 105%, 0);
  transition: transform .34s var(--jwp-ease);
}
.jwp__bar.is-in { transform: none; }
.jwp__bar-l { min-width: 0; }
.jwp__bar-l span { display: block; color: rgba(255, 255, 255, .58); }
.jwp__bar-l strong { display: block; margin-top: 3px; font-family: var(--jwp-display); font-size: clamp(18px, 2.4vw, 26px); font-weight: 900; color: #fff; }
.jwp__bar-btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 clamp(18px, 2.6vw, 30px);
  background: var(--jwp-red);
  color: #fff;
  border: 0;
  cursor: pointer;
  font-family: var(--jwp-display);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: filter .16s var(--jwp-ease), transform .16s var(--jwp-ease);
}
.jwp__bar-btn:hover { filter: brightness(.9); }
.jwp__bar-btn:active { transform: scale(.98); }

/* ==========================================================================
   3. COLLAGE / RESPIRATION
   ========================================================================== */
.jwcol { position: relative; padding: clamp(40px, 7vw, 120px) var(--jwp-pad); }
.jwcol__in { max-width: var(--jwp-max); margin: 0 auto; }
.jwcol__head { max-width: 62ch; margin: 0 auto clamp(26px, 4vw, 60px); }
.jwcol__head--left { margin-left: 0; }
.jwcol__head--center { text-align: center; }

.jwcol__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(12px, 2.4vw, 34px);
  align-items: start;
}
.jwcol__cell { position: relative; min-width: 0; grid-column: span var(--jwp-span, 6); }
.jwcol__cell--push { margin-top: var(--jwp-push, 0); }
.jwcol__frame { position: relative; overflow: hidden; background: var(--jwp-black-2); }
.jwcol__frame img { display: block; width: 100%; height: 100%; object-fit: cover; will-change: transform; }
.jwcol__frame--tall { aspect-ratio: 3 / 4; }
.jwcol__frame--square { aspect-ratio: 1 / 1; }
.jwcol__frame--wide { aspect-ratio: 16 / 9; }
.jwcol__frame--cine { aspect-ratio: 21 / 9; }
.jwcol__tag {
  position: absolute;
  top: 0; left: 0;
  padding: 7px 12px;
  background: var(--jwp-black);
  color: #fff;
  z-index: 2;
}
.jwcol__tag--red { background: var(--jwp-red); }
.jwcol__cap { margin: 12px 0 0; font-size: 13.5px; line-height: 1.5; color: rgba(255, 255, 255, .58); max-width: 42ch; }
.jwp-light .jwcol__cap, .jwp-grey .jwcol__cap { color: #5c5c5c; }

.jwcol__quote {
  grid-column: span var(--jwp-span, 6);
  align-self: center;
  padding: clamp(8px, 2vw, 26px) 0;
}
.jwcol__quote p {
  margin: 0;
  font-family: var(--jwp-display);
  font-size: clamp(20px, 2.6vw, 38px);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -.03em;
  text-transform: uppercase;
  text-wrap: balance;
}
.jwcol__quote cite { display: block; margin-top: 14px; font-style: normal; color: rgba(255, 255, 255, .55); font-size: 13.5px; }
.jwp-light .jwcol__quote cite, .jwp-grey .jwcol__quote cite { color: #6b6b6b; }

@media screen and (max-width: 749px) {
  .jwcol__cell,
  .jwcol__quote { grid-column: span 12 !important; }
  .jwcol__cell--push { margin-top: 0 !important; }
}

/* ==========================================================================
   4. GEOMETRIE (section-geometry-jw.liquid)
   ========================================================================== */
}; }

  .jwgeo2 {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    font-family: 'Assistant', 'Helvetica Neue', Arial, sans-serif;
  }
  .jwgeo2.jwp-dark { border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
  .jwgeo2.jwp-light { border-top: 1px solid #121212; border-bottom: 1px solid #121212; }

  .jwgeo2 .jwgeo__panel {
    flex: 1 1 360px;
    min-width: 0;
    padding: clamp(24px, 3.4vw, 56px);
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 2.2vw, 30px);
  }
  .jwgeo2.jwp-dark .jwgeo__panel { border-right: 1px solid rgba(255,255,255,.14); }
  .jwgeo2.jwp-light .jwgeo__panel { border-right: 1px solid #e3e3e3; }

  .jwgeo2 .jwgeo__title { display: block; width: 100%; max-width: 340px; height: auto; }
  .jwgeo2.jwp-dark .jwgeo__title { filter: invert(1); }
  .jwgeo2 .jwgeo__intro { margin: 16px 0 0; font-size: 15px; line-height: 1.55; max-width: 42ch; }
  .jwgeo2.jwp-dark .jwgeo__intro { color: rgba(255,255,255,.66); }
  .jwgeo2.jwp-light .jwgeo__intro { color: #5c5c5c; }

  .jwgeo2 .jwgeo__list { display: flex; flex-direction: column; }
  .jwgeo2 .jwgeo__row {
    appearance: none; background: none; border: 0; margin: 0; padding: 14px 0;
    cursor: pointer; font: inherit; text-align: left; border-radius: 0;
    display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: baseline; gap: 14px;
    transition: color 160ms cubic-bezier(.2,.6,.2,1), padding-left 200ms cubic-bezier(.2,.6,.2,1);
  }
  .jwgeo2.jwp-dark .jwgeo__row { border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.72); }
  .jwgeo2.jwp-light .jwgeo__row { border-top: 1px solid #e3e3e3; color: #3a3a3a; }
  .jwgeo2.jwp-dark .jwgeo__list > .jwgeo__row:last-of-type { border-bottom: 1px solid rgba(255,255,255,.12); }
  .jwgeo2.jwp-light .jwgeo__list > .jwgeo__row:last-of-type { border-bottom: 1px solid #e3e3e3; }
  .jwgeo2.jwp-dark .jwgeo__row[aria-current='true'] { color: #fff; padding-left: 6px; }
  .jwgeo2.jwp-light .jwgeo__row[aria-current='true'] { color: #121212; padding-left: 6px; }

  .jwgeo2 .jwgeo__n {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 0;
    font-family: 'Archivo', sans-serif; font-size: 13px; font-weight: 800;
    background: transparent;
    transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
  }
  .jwgeo2.jwp-dark .jwgeo__n { border: 1px solid rgba(255,255,255,.3); color: rgba(255,255,255,.75); }
  .jwgeo2.jwp-light .jwgeo__n { border: 1px solid #c9c9c9; color: #3a3a3a; }
  .jwgeo2 .jwgeo__row[aria-current='true'] .jwgeo__n {
    background: var(--jwgeo-accent, #ff0000);
    border-color: var(--jwgeo-accent, #ff0000);
    color: #fff;
  }
  .jwgeo2 .jwgeo__name { font-size: clamp(14px, 1.1vw, 16.5px); line-height: 1.3; }
  .jwgeo2 .jwgeo__note { display: block; font-size: 12px; }
  .jwgeo2.jwp-dark .jwgeo__note { color: rgba(255,255,255,.5); }
  .jwgeo2.jwp-light .jwgeo__note { color: #6b6b6b; }
  .jwgeo2 .jwgeo__val {
    font-family: 'Archivo', sans-serif; font-weight: 900; letter-spacing: -.02em;
    font-size: clamp(16px, 1.3vw, 20px); white-space: nowrap;
  }
  .jwgeo2.jwp-dark .jwgeo__val { color: #fff; }
  .jwgeo2.jwp-light .jwgeo__val { color: #121212; }
  .jwgeo2 .jwgeo__foot { margin: 0; font-size: 11.5px; line-height: 1.55; max-width: 54ch; }
  .jwgeo2.jwp-dark .jwgeo__foot { color: rgba(255,255,255,.45); }
  .jwgeo2.jwp-light .jwgeo__foot { color: #6b6b6b; }

  .jwgeo2 .jwgeo__stage {
    flex: 2.1 1 540px; min-width: 0;
    display: flex; align-items: center; justify-content: center;
    padding: clamp(16px, 2.4vw, 44px);
  }
  .jwgeo2 .jwgeo__frame { position: relative; width: 100%; max-width: 860px; }
  .jwgeo2 .jwgeo__photo { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: contain; display: block; }
  .jwgeo2 .jwgeo__svg { position: relative; z-index: 1; display: block; width: 100%; height: auto; overflow: visible; }

  .jwgeo2 .jwgeo__dim { opacity: 0; transition: opacity 260ms ease; }
  .jwgeo2[data-idle='true'] .jwgeo__dim { opacity: 1; }
  .jwgeo2 .jwgeo__dim[data-active] { opacity: 1; }

  .jwgeo2 .jwgeo__line { fill: none; stroke-width: 1.8; stroke-dashoffset: 1; }
  .jwgeo2.jwp-dark .jwgeo__line { stroke: rgba(255,255,255,.55); }
  .jwgeo2.jwp-light .jwgeo__line { stroke: rgba(18,18,18,.5); }
  .jwgeo2[data-idle='true'] .jwgeo__line { stroke-dashoffset: 0; }
  .jwgeo2 .jwgeo__dim[data-active] .jwgeo__line {
    stroke: var(--jwgeo-accent, #ff0000) !important; stroke-width: 3.5; stroke-dashoffset: 0;
  }
  .jwgeo2 .jwgeo__line, .jwgeo2 .jwgeo__halo {
    transition: stroke-dashoffset 620ms cubic-bezier(.22,.61,.36,1), stroke-width 200ms ease, opacity 200ms ease, stroke 200ms ease;
  }
  .jwgeo2 .jwgeo__guide { fill: none; stroke-width: 1.5; }
  .jwgeo2.jwp-dark .jwgeo__guide { stroke: rgba(255,255,255,.3); }
  .jwgeo2.jwp-light .jwgeo__guide { stroke: rgba(18,18,18,.28); }
  .jwgeo2 .jwgeo__dim[data-active] .jwgeo__guide { stroke: var(--jwgeo-accent, #ff0000); opacity: .55; }
  .jwgeo2 .jwgeo__halo { fill: none; stroke-width: 5; opacity: .55; stroke-dashoffset: 1; }
  .jwgeo2.jwp-dark .jwgeo__halo, .jwgeo2.jwp-dark .jwgeo__guide-halo { stroke: #0b0b0c; }
  .jwgeo2.jwp-light .jwgeo__halo, .jwgeo2.jwp-light .jwgeo__guide-halo { stroke: #ffffff; }
  .jwgeo2[data-idle='true'] .jwgeo__halo { stroke-dashoffset: 0; }
  .jwgeo2 .jwgeo__dim[data-active] .jwgeo__halo { opacity: .9; stroke-width: 8; stroke-dashoffset: 0; }
  .jwgeo2 .jwgeo__guide-halo { fill: none; stroke-width: 4.5; opacity: .75; stroke-linecap: round; }

  .jwgeo2 .jwgeo__label { opacity: 0; transition: opacity 260ms ease 110ms; overflow: visible; }
  .jwgeo2 .jwgeo__dim[data-active] .jwgeo__label { opacity: 1; }
  .jwgeo2 .jwgeo__label div {
    font-family: 'Archivo', sans-serif; font-size: 29px; font-weight: 900; line-height: 1;
    letter-spacing: -.03em; color: var(--jwgeo-accent, #ff0000); white-space: nowrap;
  }
  .jwgeo2.jwp-dark .jwgeo__label div { text-shadow: 0 0 8px #0b0b0c, 0 0 8px #0b0b0c, 0 0 3px #0b0b0c; }
  .jwgeo2.jwp-light .jwgeo__label div { text-shadow: 0 0 8px #fff, 0 0 8px #fff, 0 0 3px #fff; }

  .jwgeo2 .jwgeo__num { opacity: .8; transition: opacity 220ms ease; overflow: visible; }
  .jwgeo2 .jwgeo__dim[data-active] .jwgeo__num { opacity: 1; }
  .jwgeo2 .jwgeo__num div {
    font-family: 'Archivo', sans-serif; font-size: 24px; font-weight: 900; line-height: 1; text-align: center;
  }
  .jwgeo2.jwp-dark .jwgeo__num div { color: #fff; text-shadow: 0 0 8px #0b0b0c, 0 0 8px #0b0b0c; }
  .jwgeo2.jwp-light .jwgeo__num div { color: #121212; text-shadow: 0 0 8px #fff, 0 0 8px #fff; }
  .jwgeo2 .jwgeo__dim[data-active] .jwgeo__num div { color: var(--jwgeo-accent, #ff0000); }

  @media screen and (max-width: 989px) {
    .jwgeo2 .jwgeo__panel { border-right: 0 !important; }
    .jwgeo2 .jwgeo__stage { order: -1; }
  }
  @media (prefers-reduced-motion: reduce) {
    .jwgeo2 .jwgeo__line, .jwgeo2 .jwgeo__halo, .jwgeo2 .jwgeo__label, .jwgeo2 .jwgeo__dim { transition-duration: 1ms !important; }
  }
