

/* Start:/local/templates/seasons/styles.css?1787735294151196*/
/* ========================================================================== */
/*  Seasons responsive system - mobile first                                  */
/*  Breakpoints: 30rem / 40rem / 48rem / 64rem / 80rem / 100rem             */
/* ========================================================================== */

:root {
  --ice: #edf2f9;
  --ice-2: #e2eaf5;
  --white: #fff;
  --ink: #0d1117;
  --ink-60: rgb(13 17 23 / 0.62);
  --ink-40: rgb(13 17 23 / 0.44);
  --line: rgb(13 17 23 / 0.12);
  --crimson: #c11e4b;
  --crimson-deep: #8e1136;
  --teal: #00748e;
  --emerald: #07403c;
  --sky: #76a2db;
  --sky-deep: #4a7ec2;
  --grad: linear-gradient(90deg, var(--crimson), var(--teal) 52%, var(--sky));
  --disp: "Onest", system-ui, sans-serif;
  --body: "Golos Text", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  --ease: cubic-bezier(0.22, 0.8, 0.24, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --hd: 4rem;
  --container: 90rem;
  --gutter: clamp(1rem, 4vw, 2rem);
  --radius-sm: 0.875rem;
  --radius-md: 1.25rem;
  --radius-lg: 1.75rem;
  --shadow-soft: 0 2rem 5rem -2.5rem rgb(13 17 23 / 0.38);
}

/* Reset and resilient defaults */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-width: 0;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--hd) + 1rem);
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  min-width: 0;
  margin: 0;
  overflow-x: clip;
  background: var(--ice);
  color: var(--ink);
  font-family: var(--body);
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.mm-open,
body.popup-open {
  overflow: hidden;
  overscroll-behavior: none;
}

[hidden] {
  display: none !important;
}

h1,
h2,
h3,
h4,
h5,
p,
ul {
  margin: 0;
}

ul {
  padding: 0;
}

img,
picture,
video,
canvas,
svg,
iframe {
  display: block;
  max-width: 100%;
}

picture {
  width: 100%;
}

img {
  height: auto;
}

button,
input,
textarea,
select {
  min-width: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  font: inherit;
}

button,
select {
  cursor: pointer;
}

button,
a,
input,
textarea,
select {
  touch-action: manipulation;
}

button {
  padding: 0;
  background: none;
}

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

p,
li,
a,
button,
input,
textarea,
select,
h1,
h2,
h3,
h4,
h5 {
  overflow-wrap: anywhere;
}

::selection {
  background: var(--crimson);
  color: #fff;
}

:focus-visible {
  outline: 0.125rem solid var(--crimson);
  outline-offset: 0.1875rem;
}

.skip-link {
  position: fixed;
  z-index: 300;
  inset: 0.75rem auto auto 0.75rem;
  min-height: 2.75rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  font-family: var(--mono);
  font-size: 0.75rem;
  transform: translateY(-160%);
  transition: transform 0.2s ease;
}

.skip-link:focus {
  transform: none;
}

.wrap {
  width: min(calc(100% - (2 * var(--gutter))), var(--container));
  min-width: 0;
  margin-inline: auto;
}

.mono {
  font-family: var(--mono);
}

.disp {
  font-family: var(--disp);
  font-weight: 800;
  letter-spacing: -0.028em;
  line-height: 1.08;
  text-transform: lowercase;
}

.ol {
  color: transparent;
  -webkit-text-stroke: 0.075rem var(--ink);
}

/* Decorative grain stays off on small/mobile devices for cheaper painting. */
body::after {
  content: "";
  position: fixed;
  z-index: 120;
  inset: 0;
  display: none;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity: 0.035;
}

/* Shared section system */
.idx {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.75rem;
  color: var(--ink-60);
  font-family: var(--mono);
  font-size: clamp(0.6875rem, 2.8vw, 0.75rem);
  letter-spacing: 0.11em;
  line-height: 1.45;
  text-transform: uppercase;
}

.idx b {
  flex: 0 0 auto;
  padding: 0.3rem 0.65rem;
  border: 0.0625rem solid currentColor;
  border-radius: 999px;
  color: var(--crimson);
  font-weight: 500;
}

.idx::after {
  content: "";
  flex: 0 0 2rem;
  height: 0.0625rem;
  background: var(--grad);
}

.sec {
  position: relative;
  padding-block: clamp(3.2rem, 10vw, 5.2rem);
}

.sec-head {
  display: flex;
  flex-direction: column;
  gap: clamp(0.85rem, 2.4vw, 1.25rem);
  margin-bottom: clamp(1.5rem, 5.2vw, 2.6rem);
}

.h2 {
  max-width: 16em;
  font-size: clamp(2rem, 9.5vw, 3.5rem);
  text-wrap: balance;
}

.h2 .ol {
  -webkit-text-stroke-width: 0.075rem;
}

.sec-head > p:not(.idx) {
  max-width: 44em;
  color: var(--ink-60);
  font-size: clamp(0.9375rem, 3.9vw, 1.0625rem);
}

/* Reveal animation */
.rv {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 0.75s var(--ease-out), transform 0.75s var(--ease-out);
}

.rv.in {
  opacity: 1;
  transform: none;
}

.rv-d1 { transition-delay: 0.05s; }
.rv-d2 { transition-delay: 0.1s; }
.rv-d3 { transition-delay: 0.15s; }
.rv-d4 { transition-delay: 0.2s; }

/* Progress and custom cursor */
.sprog {
  position: fixed;
  z-index: 110;
  inset: 0 auto auto 0;
  width: 100%;
  height: 0.1875rem;
  pointer-events: none;
  background: var(--grad);
  transform: scaleX(0);
  transform-origin: left;
}

.cur {
  display: none;
}

/* Buttons and controls */
.btn {
  --bg: var(--ink);
  --fg: #fff;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  min-width: 0;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.85rem 1.35rem;
  overflow: hidden;
  border-radius: 999px;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.065em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
  transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), color 0.25s;
}

.btn span {
  position: relative;
  z-index: 2;
}

.btn::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: var(--crimson);
  transform: translate(-50%, -50%);
  transition: width 0.45s var(--ease), height 0.45s var(--ease);
}

.btn-cr { --bg: var(--crimson); }
.btn-cr::before { background: var(--ink); }

.btn-line {
  --bg: transparent;
  --fg: var(--ink);
  box-shadow: inset 0 0 0 0.09375rem var(--ink);
}

.btn-line::before {
  background: var(--ink);
}

.btn-sm {
  min-height: 2.75rem;
  padding: 0.7rem 1.1rem;
  font-size: 0.6875rem;
}

/* Header */
.nav {
  position: fixed;
  z-index: 90;
  inset: 0 0 auto;
  padding-top: env(safe-area-inset-top, 0px);
  background: #fff;
  border-bottom: 0.125rem solid var(--crimson);
  box-shadow: 0 0.75rem 2rem -1rem rgb(13 17 23 / 0.18);
  -webkit-backdrop-filter: blur(1.25rem);
  backdrop-filter: blur(1.25rem);
  transition: background 0.35s, box-shadow 0.35s, backdrop-filter 0.35s;
}

.nav.scrolled {
  background: #fff;
  box-shadow: 0 0.85rem 2.25rem -0.75rem rgb(13 17 23 / 0.2);
}

/* Specialist-only top strip */
.pro-gate {
  position: relative;
  z-index: 95;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.55rem var(--gutter);
  padding-top: calc(0.55rem + env(safe-area-inset-top, 0px));
  background: var(--ink);
  color: #fff;
  font-family: var(--mono);
  font-size: clamp(0.625rem, 2.6vw, 0.75rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
}

.pro-gate b {
  color: var(--crimson);
  font-weight: 700;
}

body.has-pro-gate .nav {
  top: 2.35rem;
}

body.has-pro-gate {
  --pro-gate-h: 2.35rem;
}

@media (min-width: 40rem) {
  body.has-pro-gate .nav {
    top: 2.15rem;
  }
}

body.has-pro-gate {
  scroll-padding-top: calc(var(--hd) + 2.5rem + var(--pro-gate-h, 2.35rem));
}

body.has-pro-gate .hero-in {
  padding-top: calc(var(--hd) + 2.75rem + env(safe-area-inset-top, 0px) + var(--pro-gate-h, 2.35rem));
}

body.has-pro-gate .mmenu {
  padding-top: calc(var(--hd) + env(safe-area-inset-top, 0px) + var(--pro-gate-h, 2.35rem) + 1rem);
}

@media (min-width: 64rem) {
  body.has-pro-gate .mega,
  body.has-pro-gate .wtb {
    top: calc(var(--hd) + env(safe-area-inset-top, 0px) + var(--pro-gate-h, 2.15rem));
  }
}

.nav-in {
  display: flex;
  min-width: 0;
  height: var(--hd);
  align-items: center;
  gap: 0.75rem;
}

.nav-logo {
  display: inline-flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
}

.nav-logo img {
  width: auto;
  height: 1.5rem;
}

.nav-menu,
.nav-right .btn {
  display: none;
}

.nav-right {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.75rem;
  margin-left: auto;
}

.burger {
  position: relative;
  display: block;
  flex: 0 0 3rem;
  width: 3rem;
  height: 3rem;
  border-radius: 0.875rem;
  box-shadow: inset 0 0 0 0.09375rem var(--line);
}

.burger i {
  position: absolute;
  right: 0.8125rem;
  left: 0.8125rem;
  height: 0.1rem;
  background: var(--ink);
  transition: top 0.25s, opacity 0.25s, transform 0.25s;
}

.burger i:nth-child(1) { top: 1.05rem; }
.burger i:nth-child(2) { top: 1.45rem; }
.burger i:nth-child(3) { top: 1.85rem; }

body.mm-open .burger i:nth-child(1) {
  top: 1.45rem;
  transform: rotate(45deg);
}

body.mm-open .burger i:nth-child(2) { opacity: 0; }

body.mm-open .burger i:nth-child(3) {
  top: 1.45rem;
  transform: rotate(-45deg);
}

/* Desktop-only floating menus are defined here, enabled at 64rem. */
.mega,
.wtb {
  display: none;
}

/* Mobile navigation */
.mmenu {
  position: fixed;
  z-index: 87;
  inset: 0;
  display: flex;
  flex-direction: column;
  padding: calc(var(--hd) + env(safe-area-inset-top, 0px) + 1rem) var(--gutter)
    calc(1.5rem + env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--ice);
  transform: translateY(-105%);
  transition: transform 0.42s var(--ease);
  visibility: hidden;
}

body.mm-open .mmenu {
  transform: none;
  visibility: visible;
}

.mmenu > a {
  display: flex;
  min-height: 3.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 0.75rem;
  border-bottom: 0.0625rem solid var(--line);
  font-family: var(--disp);
  font-size: clamp(1.75rem, 8.5vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
  text-transform: lowercase;
}

.mmenu > a.sub {
  min-height: 3rem;
  padding: 0.65rem 0 0.65rem 1rem;
  border-bottom-style: dashed;
  color: var(--ink-60);
  font-family: var(--body);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.mmenu .mm-cta {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: auto;
  padding-top: 1.5rem;
}

.mmenu .mm-cta .btn {
  width: 100%;
}

/* Product availability */
.menu-soon {
  display: inline-flex;
  min-height: 1.5rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: var(--crimson);
  color: #fff;
  font-family: var(--mono);
  font-size: 0.5rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.category-status {
  margin-top: 1rem;
}

.category-status:empty {
  display: none;
}

.availability-badge {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  background: var(--crimson);
  box-shadow: 0 0.75rem 2rem -1rem rgb(193 30 75 / 0.65);
  color: #fff;
  font-family: var(--mono);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.09em;
  line-height: 1.2;
  text-transform: uppercase;
}

.category-status + .page-lead {
  margin-top: 1rem;
}

.catcard.has-status {
  padding-top: 5.25rem;
}

.pcard.is-soon .p-cat {
  margin-top: 2.45rem;
}

.pcard .soon {
  z-index: 2;
}

.pd-status {
  margin-bottom: 0.85rem;
}

/* Hero */
.hero {
  position: relative;
  display: flex;
  min-height: max(35rem, 100svh);
  flex-direction: column;
  overflow: clip;
}

#goo {
  position: absolute;
  inset: 0;
  display: none;
  width: 100%;
  height: 100%;
}

.hero-fallback {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(80vw 80vw at 90% 12%, rgb(193 30 75 / 0.24), transparent 62%),
    radial-gradient(85vw 85vw at 5% 80%, rgb(118 162 219 / 0.38), transparent 64%),
    radial-gradient(70vw 70vw at 70% 100%, rgb(0 116 142 / 0.18), transparent 62%),
    var(--ice);
}

.hero-in {
  position: relative;
  z-index: 3;
  display: grid;
  flex: 1;
  align-content: center;
  padding-top: calc(var(--hd) + 1.25rem + env(safe-area-inset-top, 0px));
  padding-bottom: 5rem;
}

.hero-tag {
  max-width: min(100%, 32rem);
  margin-bottom: clamp(1rem, 6vw, 2rem);
  opacity: 0;
  animation: fadeUp 0.85s var(--ease-out) 0.05s forwards;
}

.hero-tag .idx {
  align-items: flex-start;
}

.hero-tag .idx::after {
  display: none;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(1.25rem); }
  to { opacity: 1; transform: none; }
}

.h1 {
  display: flex;
  max-width: 10ch;
  flex-direction: column;
  font-size: clamp(2.55rem, 13.5vw, 4.75rem);
}

.h1 .row {
  display: block;
  overflow: hidden;
}

.h1 .row i {
  display: block;
  font-style: normal;
  transform: translateY(110%);
  animation: rise 0.95s var(--ease-out) forwards;
}

.h1 .row:nth-child(2) i { animation-delay: 0.1s; }
.h1 .row:nth-child(3) i { animation-delay: 0.2s; }

@keyframes rise {
  to { transform: none; }
}

.h1 .shift {
  padding-left: clamp(1.25rem, 9vw, 4rem);
}

.h1 .outline {
  color: transparent;
  -webkit-text-stroke: 0.1rem var(--crimson);
}

.hero-sub {
  max-width: 34em;
  margin-top: clamp(1.25rem, 5vw, 2rem);
  color: var(--ink-60);
  font-size: clamp(0.9375rem, 4vw, 1.0625rem);
  opacity: 0;
  animation: fadeUp 0.85s var(--ease-out) 0.35s forwards;
}

.hero-cta {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: clamp(1.5rem, 7vw, 2.5rem);
  opacity: 0;
  animation: fadeUp 0.85s var(--ease-out) 0.48s forwards;
}

.hero-cta .btn {
  width: 100%;
}

.hero-data {
  display: none;
}

.bottles {
  position: absolute;
  z-index: 2;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: 0.32;
}

.bottles img {
  position: absolute;
  width: auto;
  max-width: none;
  filter: drop-shadow(0 2rem 2.2rem rgb(13 17 23 / 0.28));
  opacity: 0;
  animation: botIn 1.1s var(--ease-out) 0.35s forwards;
}

@keyframes botIn {
  to { opacity: 1; }
}

.b1 {
  top: 9%;
  right: -16%;
  height: clamp(15rem, 45svh, 22rem);
}

.b2,
.b3 {
  display: none;
}

.marq {
  position: relative;
  z-index: 4;
  overflow: hidden;
  border-top: 0.09375rem solid var(--ink);
  border-bottom: 0.09375rem solid var(--ink);
  background: var(--ice);
  white-space: nowrap;
}

.marq-track {
  display: inline-flex;
  animation: marq 30s linear infinite;
}

.marq span {
  display: inline-flex;
  align-items: center;
  padding-block: 0.75rem;
  font-family: var(--disp);
  font-size: clamp(0.9375rem, 4.2vw, 1.25rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: lowercase;
}

.marq b {
  margin-inline: 1.25rem;
  color: var(--crimson);
  font-family: var(--body);
  font-weight: 400;
}

@keyframes marq {
  to { transform: translateX(-50%); }
}

/* Categories */
.cats {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1rem, 4vw, 1.5rem);
}

.catcard {
  position: relative;
  isolation: isolate;
  display: flex;
  min-width: 0;
  min-height: clamp(18rem, 92vw, 24rem);
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(1.25rem, 6vw, 2rem);
  overflow: hidden;
  border-radius: var(--radius-lg);
  color: #fff;
  contain: layout paint;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}

.catcard::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background: linear-gradient(150deg, var(--c1), var(--c2));
}

.catcard::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, transparent 22%, rgb(0 0 0 / 0.48));
}

.catcard .cat-img,
.catcard .cat-img picture,
.catcard .cat-img img {
  width: 100%;
  height: 100%;
}

.catcard .cat-img {
  position: absolute;
  z-index: -2;
  inset: 0;
  opacity: 0.9;
  mix-blend-mode: multiply;
}

.catcard .cat-img picture,
.catcard .cat-img img {
  display: block;
  object-fit: cover;
  object-position: center;
}

.catcard .badge,
.catcard .count {
  position: absolute;
  top: 1rem;
  font-family: var(--mono);
  font-size: 0.6875rem;
}

.catcard .badge {
  left: 1rem;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  background: rgb(255 255 255 / 0.18);
  box-shadow: inset 0 0 0 0.0625rem rgb(255 255 255 / 0.35);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.catcard .badge.soon-badge {
  background: rgb(255 255 255 / 0.94);
  color: var(--ink);
  box-shadow: 0 0.5rem 1.25rem rgb(0 0 0 / 0.16), inset 0 0 0 0.0625rem rgb(255 255 255 / 0.72);
}

.catcard .count {
  right: 1rem;
  opacity: 0.82;
}

.catcard h3 {
  font-family: var(--disp);
  font-size: clamp(1.75rem, 8vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.08;
  text-transform: lowercase;
}

.catcard p {
  max-width: 28em;
  margin-top: 0.625rem;
  color: rgb(255 255 255 / 0.86);
  font-size: 0.9375rem;
}

.catcard .go {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.625rem;
  margin-top: 0.875rem;
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.catcard .go .arr {
  transition: transform 0.25s var(--ease);
}

.catcard .cat-emb {
  position: absolute;
  z-index: -1;
  right: -7%;
  bottom: -10%;
  width: min(64%, 24rem);
  opacity: 0.13;
  filter: drop-shadow(0 1.25rem 1.75rem rgb(0 0 0 / 0.3));
}

/* Product cards */
.prod-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1rem, 3.5vw, 1.5rem);
}

.pcard {
  --c1: var(--crimson);
  --c2: var(--crimson-deep);
  position: relative;
  display: flex;
  min-width: 0;
  min-height: clamp(27rem, 135vw, 32rem);
  flex-direction: column;
  padding: 1.5rem 1.25rem 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: linear-gradient(160deg, var(--c1), var(--c2));
  color: #fff;
  text-align: left;
  contain: layout paint;
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}

.pcard.c-teal {
  --c1: #0b5a55;
  --c2: var(--emerald);
}

.pcard.c-sky {
  --c1: #6c9bd6;
  --c2: var(--sky-deep);
}

.pcard .p-ph {
  position: absolute;
  top: 0.625rem;
  right: 0.875rem;
  color: transparent;
  font-family: var(--disp);
  font-size: clamp(3rem, 17vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  pointer-events: none;
  -webkit-text-stroke: 0.08rem rgb(255 255 255 / 0.55);
}

.pcard .p-ph small {
  display: block;
  margin-top: -0.2rem;
  color: rgb(255 255 255 / 0.65);
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-align: right;
  -webkit-text-stroke: 0;
}

.pcard .p-cat {
  max-width: 55%;
  color: rgb(255 255 255 / 0.72);
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pcard h3 {
  max-width: 78%;
  margin-top: 0.375rem;
  font-family: var(--disp);
  font-size: clamp(1.5rem, 7vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.08;
  text-transform: lowercase;
}

.pcard .p-tag {
  min-height: 0;
  margin: 0.75rem 0 1rem;
  color: rgb(255 255 255 / 0.84);
  font-size: 0.875rem;
}

.pcard .p-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.pcard .p-chips span {
  padding: 0.4rem 0.65rem;
  border-radius: 999px;
  background: rgb(255 255 255 / 0.16);
  box-shadow: inset 0 0 0 0.0625rem rgb(255 255 255 / 0.24);
  font-family: var(--mono);
  font-size: 0.625rem;
}

.pcard .p-img {
  display: flex;
  min-height: 0;
  justify-content: center;
  margin-top: auto;
  padding-top: 1rem;
}

.pcard .p-img picture {
  display: flex;
  justify-content: center;
}

.pcard .p-img img {
  width: auto;
  height: clamp(12rem, 60vw, 16rem);
  filter: drop-shadow(0 1.75rem 1.8rem rgb(0 0 0 / 0.4));
  transition: transform 0.45s var(--ease);
}

.pcard.ph-card {
  background: linear-gradient(160deg, #2a3340, #161c24);
}

.pcard .p-emb,
.pcard.ph-card .p-emb {
  display: grid;
  place-items: center;
  margin: auto;
  padding-block: 1.5rem;
}

.pcard .p-emb picture {
  width: auto;
}

.pcard .p-emb img {
  width: clamp(6rem, 34vw, 9.5rem);
  opacity: 0.92;
  filter: drop-shadow(0 1.25rem 1.5rem rgb(0 0 0 / 0.4));
}

.pcard.ph-card .p-emb img {
  width: 7.5rem;
  opacity: 0.5;
}

.pcard .soon {
  position: absolute;
  top: 0.875rem;
  left: 0.875rem;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  background: rgb(255 255 255 / 0.14);
  box-shadow: inset 0 0 0 0.0625rem rgb(255 255 255 / 0.3);
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Before/after slider */
.ba-slider {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  aspect-ratio: 4 / 3;
  background: #dfe6ef;
  box-shadow: var(--shadow-soft);
  cursor: ew-resize;
  touch-action: pan-y;
  user-select: none;
}

.ba-slider:focus-visible {
  outline-offset: 0.25rem;
}

.ba-slider img,
.ba-slider picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.ba-slider img {
  object-fit: cover;
}

.ba-clip {
  position: absolute;
  inset: 0;
  width: 100%;
  overflow: hidden;
  clip-path: polygon(0 0, var(--ba-pos, 50%) 0, var(--ba-pos, 50%) 100%, 0 100%);
  will-change: clip-path;
}

.ba-clip picture,
.ba-clip img {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.ba-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 0.125rem;
  background: #fff;
  box-shadow: 0 0 1.25rem rgb(0 0 0 / 0.3);
  transform: translateX(-0.0625rem);
}

.ba-knob {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 50%;
  background: rgb(255 255 255 / 0.94);
  box-shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 0.28);
  transform: translate(-50%, -50%);
  -webkit-backdrop-filter: blur(0.4rem);
  backdrop-filter: blur(0.4rem);
}

.ba-knob svg {
  width: 1.3rem;
  height: 1.3rem;
  fill: none;
  stroke: var(--ink);
  stroke-width: 2;
}

.ba-tag {
  position: absolute;
  bottom: 0.75rem;
  min-height: 2rem;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  background: rgb(13 17 23 / 0.58);
  color: #fff;
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  -webkit-backdrop-filter: blur(0.5rem);
  backdrop-filter: blur(0.5rem);
}

.ba-tag.b { left: 0.75rem; }
.ba-tag.a { right: 0.75rem; }

.ba-note {
  margin-top: 0.75rem;
  color: var(--ink-40);
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.03em;
}

/* Events */
.events {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1rem, 3.5vw, 1.5rem);
}

.evcard {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--line);
  contain: layout paint;
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.evcard .ev-img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.evcard .ev-img picture,
.evcard .ev-img img {
  width: 100%;
  height: 100%;
}

.evcard .ev-img img {
  object-fit: cover;
  transition: transform 0.5s var(--ease);
}

.evcard .ev-tag {
  position: absolute;
  z-index: 1;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  background: rgb(237 242 249 / 0.92);
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  -webkit-backdrop-filter: blur(0.5rem);
  backdrop-filter: blur(0.5rem);
}

.evcard .ev-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.15rem 1.15rem 1.25rem;
}

.evcard .ev-date {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  color: var(--crimson);
  font-family: var(--mono);
  font-size: 0.75rem;
}

.evcard .ev-date .city {
  color: var(--ink-40);
}

.evcard h3 {
  margin: 0.75rem 0 0.9rem;
  font-family: var(--disp);
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.35;
}

.evcard .ev-more {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  align-self: flex-start;
  margin-top: auto;
  color: var(--ink-60);
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Maps and distributors */
.mapwrap {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1rem, 4vw, 2rem);
  align-items: stretch;
}

.mapbox {
  position: relative;
  min-width: 0;
  min-height: clamp(19rem, 85vw, 27rem);
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: radial-gradient(120% 120% at 20% 10%, #f6f9fd, #dbe4f1);
  box-shadow: inset 0 0 0 0.0625rem var(--line);
}

.mapbox .grid-bg {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgb(13 17 23 / 0.08) 0.0625rem, transparent 0.0625rem);
  background-size: 1.625rem 1.625rem;
  mask-image: radial-gradient(120% 100% at 50% 40%, #000, transparent 85%);
}

.mapbox .net {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.mapbox iframe {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.map-fallback {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 1rem;
  padding: 1.5rem;
  background: radial-gradient(120% 120% at 30% 10%, #f6f9fd, #dbe4f1);
  text-align: center;
}

.map-fallback p {
  max-width: 24em;
  color: var(--ink-60);
  font-size: 0.875rem;
}

.pin {
  position: absolute;
  z-index: 2;
  cursor: pointer;
  transform: translate(-50%, -100%);
}

.pin .dot {
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  background: var(--crimson);
  box-shadow: 0 0 0 0.375rem rgb(193 30 75 / 0.18), 0 0.375rem 0.875rem rgb(0 0 0 / 0.25);
  transition: transform 0.25s;
}

.pin .dot::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: var(--crimson);
  animation: ping 2.4s var(--ease) infinite;
}

@keyframes ping {
  0% { transform: scale(1); opacity: 0.6; }
  70%, 100% { transform: scale(3); opacity: 0; }
}

.pin .lab {
  position: absolute;
  bottom: calc(100% + 0.5rem);
  left: 50%;
  padding: 0.3rem 0.625rem;
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  font-family: var(--mono);
  font-size: 0.6875rem;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%);
  transition: opacity 0.2s;
  white-space: nowrap;
}

.pin:hover .lab,
.pin.on .lab { opacity: 1; }

.pin:hover .dot,
.pin.on .dot { transform: scale(1.25); }

.pin.on .dot {
  background: var(--teal);
  box-shadow: 0 0 0 0.375rem rgb(0 116 142 / 0.2), 0 0.375rem 0.875rem rgb(0 0 0 / 0.25);
}

.dist-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.625rem;
}

.dist {
  min-width: 0;
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--line);
  cursor: pointer;
  transition: box-shadow 0.25s, transform 0.25s;
}

.dist .city {
  color: var(--crimson);
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.dist b {
  display: block;
  margin: 0.35rem 0 0.15rem;
  font-size: 1rem;
  font-weight: 600;
}

.dist p {
  color: var(--ink-60);
  font-size: 0.8125rem;
}

.dist a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  margin-top: 0.25rem;
  font-family: var(--mono);
  font-size: 0.75rem;
}

.dist a.onmap {
  margin-left: 0.75rem;
  color: var(--crimson);
  font-size: 0.6875rem;
}

/* FAQ */
.faq {
  max-width: 56.25rem;
}

.faq-nav,
.chips-row,
.tc-tabs,
.adm-tabs {
  display: flex;
  max-width: 100%;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.125rem 0.125rem 0.5rem;
  overflow: visible;
}

.faq-nav::-webkit-scrollbar,
.chips-row::-webkit-scrollbar,
.tc-tabs::-webkit-scrollbar,
.adm-tabs::-webkit-scrollbar {
  display: none;
}

.faq-nav {
  margin-bottom: 1.5rem;
}

.faq-nav button,
.chips-row button,
.tc-tabs button,
.adm-tabs button {
  display: inline-flex;
  min-width: 2.75rem;
  min-height: 2.75rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 0.9rem;
  border-radius: 999px;
  box-shadow: inset 0 0 0 0.0625rem var(--line);
  color: var(--ink-60);
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  scroll-snap-align: start;
  text-transform: uppercase;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
  white-space: nowrap;
}

.faq-nav button.on,
.chips-row button.on,
.tc-tabs button.on,
.adm-tabs button.on {
  background: var(--ink);
  color: #fff;
  box-shadow: none;
}

.chips-row button.on {
  background: var(--crimson);
}

.qa {
  border-bottom: 0.0625rem solid var(--line);
}

.qa-q {
  display: flex;
  width: 100%;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1rem;
  color: var(--ink);
  font-family: var(--disp);
  font-size: clamp(1rem, 4.5vw, 1.25rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.35;
  text-align: left;
}

.qa-q .pm {
  position: relative;
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  box-shadow: inset 0 0 0 0.0625rem var(--line);
}

.qa-q .pm::before,
.qa-q .pm::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.875rem;
  height: 0.1rem;
  background: var(--ink);
  transform: translate(-50%, -50%);
  transition: transform 0.25s;
}

.qa-q .pm::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.qa.open .pm::after {
  transform: translate(-50%, -50%);
}

.qa-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s var(--ease);
}

.qa-a > div {
  max-width: 60em;
  padding: 0 0 1.25rem;
  color: var(--ink-60);
  font-size: 0.9375rem;
}

/* Technology strip and stats */
.home-ba-section {
  padding-bottom: clamp(2.75rem, 5.5vw, 4.75rem);
}

.home-ba-section .ba-slider {
  aspect-ratio: 4 / 3;
  --ba-pos: 50%;
}

.tech-sec {
  margin-inline: max(0.5rem, 1.5vw);
  padding-top: clamp(2.75rem, 5vw, 4.5rem);
  border-radius: clamp(1.5rem, 6vw, 3.75rem);
  background: var(--white);
}

/* Keep section 04 clearly separated from the rounded white technology panel. */
.home-events-section {
  padding-top: clamp(3.5rem, 8vw, 7rem);
}

.tech-list {
  border-top: 0.09375rem solid var(--ink);
}

.trow {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: 0.5rem 0.75rem;
  align-items: baseline;
  padding-block: clamp(1.25rem, 6vw, 2rem);
  border-bottom: 0.0625rem solid var(--line);
}

.trow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, rgb(193 30 75 / 0.07), transparent);
  transition: width 0.4s var(--ease);
}

.trow .n {
  color: var(--crimson);
  font-family: var(--mono);
  font-size: 0.6875rem;
}

.trow h3 {
  font-family: var(--disp);
  font-size: clamp(1.2rem, 5.6vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  text-transform: lowercase;
}

.trow p {
  grid-column: 2;
  max-width: 34em;
  color: var(--ink-60);
  font-size: 0.9rem;
}

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

.stat {
  min-width: 0;
  padding-top: 1.1rem;
  border-top: 0.09375rem solid var(--ink);
}

.stat b {
  display: block;
  font-family: var(--disp);
  font-size: clamp(2.5rem, 13vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
}

.stat b .u {
  margin-left: 0.1rem;
  color: var(--crimson);
  font-size: 0.5em;
  vertical-align: 0.25em;
}

.stat span {
  display: block;
  max-width: 15em;
  margin-top: 0.6rem;
  color: var(--ink-60);
  font-size: 0.8125rem;
}

/* Inner pages */
.page {
  min-height: 70svh;
  padding-top: calc(var(--hd) + clamp(2rem, 9vw, 4rem) + env(safe-area-inset-top, 0px));
  padding-bottom: clamp(4rem, 14vw, 8rem);
}

.crumbs {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.25rem 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
  color: var(--ink-40);
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.crumbs a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--ink-60);
}

.crumbs .sep {
  opacity: 0.5;
}

.page-h {
  max-width: 16ch;
  font-family: var(--disp);
  font-size: clamp(2rem, 10vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -0.028em;
  line-height: 1.04;
  text-transform: lowercase;
  text-wrap: balance;
}

.page-lead {
  max-width: 46em;
  margin-top: 1.1rem;
  color: var(--ink-60);
  font-size: clamp(0.9375rem, 4vw, 1.0625rem);
}

/* Product-list toolbar */
.toolbar {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
  margin: 1.75rem 0 1.25rem;
  padding: 0.75rem;
  border-radius: 1rem;
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--line);
}

.search {
  display: flex;
  min-width: 0;
  min-height: 3rem;
  align-items: center;
  gap: 0.625rem;
  padding-inline: 0.85rem;
  border-radius: 0.75rem;
  box-shadow: inset 0 0 0 0.0625rem var(--line);
}

.search svg {
  flex: 0 0 auto;
  width: 1.125rem;
  height: 1.125rem;
  fill: none;
  stroke: var(--ink-40);
  stroke-width: 2;
}

.search input {
  width: 100%;
  min-height: 3rem;
  padding: 0.65rem 0;
  background: none;
  font-size: 1rem;
}

.search input:focus {
  outline: 0;
}

.search:focus-within {
  box-shadow: inset 0 0 0 0.09375rem var(--crimson);
}

.tsort {
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem 2.5rem 0.75rem 0.9rem;
  border-radius: 0.75rem;
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--line);
  font-family: var(--mono);
  font-size: 1rem;
  letter-spacing: 0.03em;
}

.chips-row {
  margin-bottom: 1.75rem;
}

.empty {
  grid-column: 1 / -1;
  padding: 3rem 0;
  color: var(--ink-40);
  font-family: var(--mono);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
}

/* Product detail */
.pd {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.75rem, 7vw, 3.75rem);
  align-items: start;
}

.pd > * {
  min-width: 0;
}

.pd-media {
  position: relative;
  display: grid;
  min-width: 0;
  max-width: 100%;
  align-self: start;
  min-height: clamp(19rem, 90vw, 26rem);
  place-items: center;
  padding: clamp(1.25rem, 6vw, 2.5rem);
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: linear-gradient(160deg, var(--c1, var(--crimson)), var(--c2, var(--crimson-deep)));
}

.pd-media picture {
  display: grid;
  width: auto;
  place-items: center;
}

.pd-media img {
  width: auto;
  max-height: min(54svh, 25rem);
  filter: drop-shadow(0 2rem 2.25rem rgb(0 0 0 / 0.4));
}

.pd-media .ph-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: transparent;
  font-family: var(--disp);
  font-size: clamp(2.8rem, 15vw, 4rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  -webkit-text-stroke: 0.1rem rgb(255 255 255 / 0.55);
}

.pd-cat {
  color: var(--crimson);
  font-family: var(--mono);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pd h1 {
  max-width: 12ch;
  margin: 0.6rem 0 1rem;
  font-family: var(--disp);
  font-size: clamp(2.25rem, 12vw, 4.25rem);
  font-weight: 800;
  letter-spacing: -0.028em;
  line-height: 1;
  text-transform: lowercase;
}

.pd-desc {
  max-width: 34em;
  color: var(--ink-60);
  font-size: 0.975rem;
}

.pd-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.25rem 0;
  padding-block: 1.1rem;
  border-block: 0.0625rem solid var(--line);
}

.pd-meta > div {
  min-width: 0;
}

.pd-meta b {
  display: block;
  font-family: var(--disp);
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.05;
}

.pd-meta span {
  color: var(--ink-40);
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pd-cta {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.pd-cta .btn {
  width: 100%;
}

.block {
  margin-top: clamp(3rem, 11vw, 5rem);
}

.block-h {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  font-family: var(--disp);
  font-size: clamp(1.35rem, 6.5vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  text-transform: lowercase;
}

.block-h .num {
  flex: 0 0 auto;
  padding-top: 0.25rem;
  color: var(--crimson);
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  -webkit-text-stroke: 0;
}

.comp-grid,
.mats,
.doc-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.875rem;
}

.comp {
  min-width: 0;
  padding: 1.25rem;
  border-radius: 1.125rem;
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--line);
}

.comp b {
  display: block;
  margin-bottom: 0.45rem;
  font-size: 0.975rem;
  font-weight: 600;
}

.comp p {
  color: var(--ink-60);
  font-size: 0.875rem;
}

.applist {
  display: flex;
  flex-direction: column;
}

.applist .ai {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.75rem;
  padding-block: 1rem;
  border-top: 0.0625rem solid var(--line);
}

.applist .ai:last-child {
  border-bottom: 0.0625rem solid var(--line);
}

.applist .ai .n {
  padding-top: 0.15rem;
  color: var(--crimson);
  font-family: var(--mono);
  font-size: 0.6875rem;
}

.applist .ai p {
  color: var(--ink-60);
  font-size: 0.925rem;
}

.mat {
  display: flex;
  min-width: 0;
  min-height: 4.75rem;
  align-items: center;
  gap: 0.875rem;
  padding: 1rem;
  border-radius: 1rem;
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--line);
  transition: box-shadow 0.25s, transform 0.25s;
}

.mat .mi {
  display: grid;
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.75rem;
  background: rgb(193 30 75 / 0.1);
}

.mat .mi svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: var(--crimson);
  stroke-width: 1.6;
}

.mat b {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
}

.mat span span {
  color: var(--ink-40);
  font-family: var(--mono);
  font-size: 0.6875rem;
}

/* Lead forms */
.leadbox {
  position: relative;
  isolation: isolate;
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
  align-items: center;
  padding: clamp(1.5rem, 7vw, 3rem);
  overflow: hidden;
  border-radius: clamp(1.5rem, 7vw, 3rem);
  background: linear-gradient(150deg, var(--crimson), var(--crimson-deep));
  color: #fff;
}

.leadbox .emb {
  position: absolute;
  z-index: -1;
  top: -12%;
  right: -10%;
  width: min(18rem, 70vw);
  opacity: 0.13;
}

.leadbox h2 {
  margin-top: 1rem;
  font-family: var(--disp);
  font-size: clamp(1.75rem, 8vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.028em;
  line-height: 1.08;
  text-transform: lowercase;
}

.leadbox p:not(.idx):not(.fine) {
  max-width: 28em;
  margin-top: 0.9rem;
  color: rgb(255 255 255 / 0.76);
  font-size: 0.925rem;
}

.lead-form {
  display: flex;
  width: 100%;
  max-width: 26.25rem;
  flex-direction: column;
  gap: 0.75rem;
}

.fld input {
  width: 100%;
  min-height: 3.25rem;
  padding: 0.9rem 1rem;
  border-radius: 0.875rem;
  background: rgb(255 255 255 / 0.12);
  box-shadow: inset 0 0 0 0.09375rem rgb(255 255 255 / 0.3);
  color: #fff;
  font-size: 1rem;
  transition: background 0.25s, box-shadow 0.25s;
}

.fld input::placeholder {
  color: rgb(255 255 255 / 0.56);
}

.fld input:focus {
  outline: 0;
  background: rgb(255 255 255 / 0.18);
  box-shadow: inset 0 0 0 0.09375rem rgb(255 255 255 / 0.78);
}

.lead-form .btn {
  width: 100%;
  --bg: #fff;
  --fg: var(--ink);
}

.lead-form .btn::before {
  background: var(--ink);
}

.fine {
  color: rgb(255 255 255 / 0.52);
  font-family: var(--mono);
  font-size: 0.625rem;
  text-align: center;
}

.lead-ok {
  display: none;
  padding-block: 1rem;
  text-align: center;
}

.lead-ok b {
  display: block;
  margin-bottom: 0.4rem;
  font-family: var(--disp);
  font-size: 1.35rem;
  font-weight: 800;
  text-transform: lowercase;
}

.lead-form.sent .fld,
.lead-form.sent .btn,
.lead-form.sent .fine {
  display: none;
}

.lead-form.sent .lead-ok {
  display: block;
}

/* Training */
.tc-tabs {
  margin: 1.75rem 0 1.5rem;
}

.tc-panel {
  display: none;
}

.tc-panel.on {
  display: block;
  animation: fadeUp 0.4s var(--ease-out);
}

.doc {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
  border-radius: 1.125rem;
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--line);
  transition: transform 0.3s, box-shadow 0.3s;
}

.doc .dtag {
  color: var(--crimson);
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.doc h3 {
  font-family: var(--disp);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.35;
}

.doc p {
  flex: 1;
  color: var(--ink-60);
  font-size: 0.875rem;
}

.doc .dl {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.doc .dl svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: var(--crimson);
  stroke-width: 1.8;
}

.ba-focus-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}

.ba-focus-card {
  min-width: 0;
  padding: 1.25rem;
  border-radius: 1.25rem;
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--line);
}

.ba-focus-head {
  margin-bottom: 1rem;
}

.ba-focus-head h3 {
  font-family: var(--disp);
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.ba-focus-head p {
  margin-top: 0.35rem;
  color: var(--ink-60);
  font-size: 0.9rem;
}

@media (min-width: 48rem) {
  .ba-focus-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.speakers-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.speaker-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.35rem 1.25rem;
  border-radius: 1.25rem;
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--line);
  transition: transform 0.3s var(--ease), box-shadow 0.3s;
}

.speaker-card:hover {
  transform: translateY(-0.2rem);
  box-shadow: 0 1rem 2.5rem -1.5rem rgb(13 17 23 / 0.22), inset 0 0 0 0.0625rem var(--line);
}

.speaker-card .sp-role {
  color: var(--crimson);
  font-family: var(--mono);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.speaker-card h3 {
  font-family: var(--disp);
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.speaker-card p {
  color: var(--ink-60);
  font-size: 0.875rem;
  line-height: 1.55;
}

.speaker-card .sp-topics {
  margin-top: auto;
  padding-top: 0.5rem;
  color: var(--ink);
  font-size: 0.8125rem;
  font-weight: 500;
}

@media (min-width: 40rem) {
  .speakers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 64rem) {
  .speakers-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}


.soon-wrap {
  position: relative;
  margin-top: clamp(3rem, 10vw, 5.5rem);
  padding: clamp(1.5rem, 7vw, 4rem);
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: linear-gradient(150deg, #141b24, #0d1117);
  color: #fff;
}

.soon-wrap .lab {
  color: var(--sky);
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.soon-wrap h2 {
  margin: 0.8rem 0 0.65rem;
  font-family: var(--disp);
  font-size: clamp(1.7rem, 8vw, 2.9rem);
  font-weight: 800;
  letter-spacing: -0.028em;
  line-height: 1.08;
  text-transform: lowercase;
}

.soon-wrap > p {
  max-width: 40em;
  color: rgb(255 255 255 / 0.62);
}

/* Popup */
.popup {
  position: fixed;
  z-index: 150;
  inset: 0;
  display: grid;
  place-items: center;
  padding: max(0.75rem, env(safe-area-inset-top, 0px)) max(0.75rem, env(safe-area-inset-right, 0px))
    max(0.75rem, env(safe-area-inset-bottom, 0px)) max(0.75rem, env(safe-area-inset-left, 0px));
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.popup.show {
  opacity: 1;
  visibility: visible;
}

.popup-bg {
  position: absolute;
  inset: 0;
  background: rgb(9 12 17 / 0.64);
  -webkit-backdrop-filter: blur(0.4rem);
  backdrop-filter: blur(0.4rem);
}

.popup-card {
  position: relative;
  z-index: 2;
  width: min(100%, 35rem);
  max-height: min(92dvh, 44rem);
  overflow: auto;
  border-radius: 1.35rem;
  background: var(--ice);
  box-shadow: 0 3.75rem 7.5rem -2.5rem rgb(0 0 0 / 0.6);
  transform: translateY(1rem) scale(0.98);
  transition: transform 0.35s var(--ease);
}

.popup.show .popup-card {
  transform: none;
}

.popup-head {
  position: relative;
  padding: 1.5rem 1.25rem 0;
}

.popup-head .idx {
  margin-bottom: 0.8rem;
  padding-right: 3rem;
}

.popup-head h3 {
  max-width: 12ch;
  font-family: var(--disp);
  font-size: clamp(1.75rem, 8.5vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.028em;
  line-height: 1.03;
  text-transform: lowercase;
}

.popup-head p {
  max-width: 32em;
  margin-top: 0.7rem;
  color: var(--ink-60);
  font-size: 0.875rem;
}

.popup-close {
  position: absolute;
  top: 0.9rem;
  right: 0.9rem;
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 50%;
  box-shadow: inset 0 0 0 0.09375rem var(--line);
  transition: background 0.2s;
}

.popup-close svg {
  width: 1.1rem;
  height: 1.1rem;
  fill: none;
  stroke: var(--ink);
  stroke-width: 2;
  transition: stroke 0.2s;
}

.popup-body {
  padding: 1.25rem;
}

.popup-body .fld {
  margin-bottom: 0;
}

.popup-body .fld input {
  background: var(--white);
  box-shadow: inset 0 0 0 0.09375rem var(--line);
  color: var(--ink);
}

.popup-body .fld input::placeholder {
  color: var(--ink-40);
}

.popup-body .fld input:focus {
  box-shadow: inset 0 0 0 0.09375rem var(--crimson);
}

.popup-body .btn {
  --bg: var(--crimson);
  --fg: #fff;
}

.popup-body .fine {
  color: var(--ink-40);
}

.popup-body .lead-ok b { color: var(--ink); }
.popup-body .lead-ok p { color: var(--ink-60); }

.goal-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.goal-btn {
  min-height: 2.75rem;
  padding: 0.55rem 0.75rem;
  border-radius: 999px;
  box-shadow: inset 0 0 0 0.09375rem var(--line);
  background: var(--ice);
  color: var(--ink-60);
  font-family: var(--mono);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}

.goal-btn.on {
  background: var(--crimson);
  box-shadow: none;
  color: #fff;
}

/* Footer */
.foot-thread {
  height: 0.125rem;
  background: var(--grad);
}

.footer {
  padding: clamp(3.5rem, 12vw, 5.5rem) 0 calc(2rem + env(safe-area-inset-bottom, 0px));
  overflow: hidden;
  background: var(--ink);
  color: rgb(255 255 255 / 0.62);
}

.foot-big {
  max-width: 100%;
  margin-bottom: clamp(2.5rem, 10vw, 4.5rem);
  color: transparent;
  font-family: var(--disp);
  font-size: clamp(1.5rem, 8vw, 4.75rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.08;
  text-transform: lowercase;
  text-wrap: balance;
  -webkit-text-stroke: 0.075rem rgb(255 255 255 / 0.42);
}

.foot-big em {
  color: #fff;
  font-style: normal;
  -webkit-text-stroke: 0;
}

.foot-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
  padding-bottom: 2rem;
  border-bottom: 0.0625rem solid rgb(255 255 255 / 0.14);
}

.foot-grid > * {
  min-width: 0;
}

.foot-grid img {
  width: auto;
  height: 1.5rem;
  margin-bottom: 1rem;
}

.foot-brand p {
  max-width: 22em;
  font-size: 0.875rem;
}

.foot-brand .btn {
  margin-top: 1rem;
}

.foot-col h4 {
  margin-bottom: 0.75rem;
  color: #fff;
  font-family: var(--mono);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.foot-col ul {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  list-style: none;
  font-size: 0.875rem;
}

.foot-legal ul {
  gap: 0.45rem;
}

.foot-legal li {
  max-width: 29rem;
  line-height: 1.5;
}

.foot-legal strong {
  color: #fff;
  font-weight: 600;
}

.foot-col a,
.foot-bottom a {
  display: inline-flex;
  min-width: 2.75rem;
  min-height: 2.75rem;
  align-items: center;
  transition: color 0.2s;
}


.foot-bottom {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-top: 1.25rem;
  color: rgb(255 255 255 / 0.38);
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
}

/* CMS/admin */
.adm-tabs {
  margin: 1.5rem 0;
}

.adm-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.625rem;
  margin: 1.25rem 0 0.5rem;
}

.adm-bar .btn {
  width: 100%;
}

.adm-panel {
  display: none;
}

.adm-panel.on {
  display: block;
}

.adm-item {
  position: relative;
  min-width: 0;
  margin-bottom: 1rem;
  padding: 3.25rem 1rem 1rem;
  border-radius: 1rem;
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--line);
}

.adm-item .rm {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  padding-inline: 0.75rem;
  border-radius: 999px;
  box-shadow: inset 0 0 0 0.0625rem rgb(193 30 75 / 0.3);
  color: var(--crimson);
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.adm-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
}

.adm-f {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.35rem;
}

.adm-f.full {
  grid-column: 1 / -1;
}

.adm-f label {
  color: var(--ink-40);
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.adm-f input,
.adm-f textarea,
.adm-f select {
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.75rem;
  background: var(--ice);
  box-shadow: inset 0 0 0 0.0625rem var(--line);
  color: var(--ink);
  font-size: 1rem;
}

.adm-f input:focus,
.adm-f textarea:focus,
.adm-f select:focus {
  outline: 0;
  box-shadow: inset 0 0 0 0.09375rem var(--crimson);
}

.adm-f textarea {
  min-height: 6rem;
  resize: vertical;
  line-height: 1.5;
}

.adm-hint {
  margin: 0.15rem 0.15rem 1rem;
  color: var(--ink-40);
  font-family: var(--mono);
  font-size: 0.6875rem;
}

.adm-note {
  margin-bottom: 1.25rem;
  padding: 1rem;
  border-radius: 0.875rem;
  background: rgb(0 116 142 / 0.08);
  color: var(--teal);
  font-size: 0.8125rem;
  line-height: 1.6;
}

.adm-toast {
  position: fixed;
  z-index: 160;
  right: var(--gutter);
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  left: var(--gutter);
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  background: var(--ink);
  color: #fff;
  font-family: var(--mono);
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  opacity: 0;
  pointer-events: none;
  text-align: center;
  transform: translateY(1rem);
  transition: opacity 0.3s, transform 0.3s;
}

.adm-toast.show {
  opacity: 1;
  transform: none;
}


/* ============ DISTRIBUTOR FILTER PANEL ============ */
.dist-filter-panel{
  display:grid;
  gap:1rem;
  margin:0 0 clamp(1.25rem,3vw,2rem);
  padding:clamp(1rem,3vw,1.5rem);
  border:1px solid rgb(13 17 23 / .08);
  border-radius:clamp(1.25rem,3vw,1.75rem);
  background:rgb(255 255 255 / .88);
  box-shadow:0 1.5rem 4rem -2.5rem rgb(13 17 23 / .34);
  backdrop-filter:blur(1rem);
}
.dist-filter-search{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-width:0;
  min-height:3.25rem;
  padding:0 1rem;
  border-radius:1rem;
  background:var(--ice);
  box-shadow:inset 0 0 0 1px var(--line);
}
.dist-filter-search svg{width:1.2rem;height:1.2rem;flex:0 0 auto;fill:none;stroke:var(--ink-40);stroke-width:2}
.dist-filter-search input{width:100%;min-width:0;min-height:3.25rem;border:0;outline:0;background:transparent;color:var(--ink);font-size:1rem}
.dist-filter-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}
.dist-filter-field{display:grid;gap:.4rem;min-width:0}
.dist-filter-field>span{padding-left:.15rem;color:var(--ink-40);font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}
.dist-filter-field select{
  width:100%;min-width:0;min-height:3rem;padding:.7rem 2.4rem .7rem .85rem;border:0;border-radius:.9rem;
  background-color:var(--white);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font-size:1rem
}
.dist-filter-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding-top:.1rem}
.dist-filter-count{font-family:var(--mono);font-size:.75rem;letter-spacing:.05em;color:var(--ink-60)}
.dist-filter-count b{color:var(--crimson);font-size:1rem}
.dist-filter-actions{display:flex;flex-wrap:wrap;gap:.6rem;width:100%}
.dist-filter-reset{min-height:2.75rem;padding:.65rem 1rem;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-60);font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}
.dist-filter-reset:hover,.dist-filter-reset:focus-visible{background:var(--ink);color:#fff;outline:0}
.dist-country{display:block;margin-bottom:.35rem;color:var(--ink-40);font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
.dist-empty{padding:2rem 1.25rem;border-radius:1.125rem;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-60);text-align:center}
.dist-list{scrollbar-width:thin;scrollbar-color:rgb(13 17 23 / .2) transparent}
@media (min-width:40rem){
  .dist-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dist-filter-meta{flex-direction:row;align-items:center;justify-content:space-between}
  .dist-filter-actions{width:auto;justify-content:flex-end}
}
@media (min-width:64rem){
  .dist-filter-panel{grid-template-columns:minmax(16rem,1.2fr) minmax(0,2fr);align-items:end}
  .dist-filter-search{grid-row:1}
  .dist-filter-grid{grid-row:1}
  .dist-filter-meta{grid-column:1/-1}
}

/* -------------------------------------------------------------------------- */
/* 30rem / 480px: large phones                                                */
/* -------------------------------------------------------------------------- */
@media (min-width: 30rem) {
  .hero-cta,
  .pd-cta {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .hero-cta .btn,
  .pd-cta .btn {
    width: auto;
  }

  .popup-head {
    padding: 1.75rem 1.75rem 0;
  }

  .popup-body {
    padding: 1.5rem 1.75rem 1.75rem;
  }

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

/* -------------------------------------------------------------------------- */
/* 40rem / 640px: small tablets and wide phones                               */
/* -------------------------------------------------------------------------- */
@media (min-width: 40rem) {
  :root {
    --gutter: clamp(1.5rem, 4vw, 2.5rem);
  }

  .cats,
  .prod-grid,
  .events {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catcard {
    min-height: 22rem;
  }

  .pcard {
    min-height: 31rem;
    padding-inline: 1.5rem;
  }

  .pcard .p-tag {
    min-height: 3.4em;
  }

  .pcard .p-img img {
    height: 15.5rem;
  }

  .ba-slider {
    aspect-ratio: 16 / 10;
  }

  .toolbar {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .tsort {
    width: auto;
    min-width: 14rem;
  }

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

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

  .foot-bottom {
    flex-direction: row;
    justify-content: space-between;
    gap: 1.5rem;
  }

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

  .adm-bar {
    display: flex;
    flex-wrap: wrap;
  }

  .adm-bar .btn {
    width: auto;
  }

  .adm-toast {
    right: auto;
    bottom: 1.75rem;
    left: 50%;
    max-width: min(90vw, 40rem);
    border-radius: 999px;
    transform: translate(-50%, 1rem);
  }

  .adm-toast.show {
    transform: translate(-50%, 0);
  }
}

/* -------------------------------------------------------------------------- */
/* 48rem / 768px: tablets                                                      */
/* -------------------------------------------------------------------------- */
@media (min-width: 48rem) {
  :root {
    --hd: 4.25rem;
  }

  .sec {
    padding-block: clamp(4.5rem, 8vw, 6.25rem);
  }

  .h2 {
    font-size: clamp(2.75rem, 7.5vw, 4rem);
  }

  .hero-in {
    padding-bottom: 5.6rem;
  }

  .h1 {
    max-width: 11ch;
    font-size: clamp(4rem, 9.2vw, 6.25rem);
  }

  .bottles {
    opacity: 0.42;
  }

  .b1 {
    right: 0;
    height: clamp(19rem, 48svh, 27rem);
  }

  .b2 {
    display: block;
    top: 47%;
    right: -2%;
    height: clamp(10rem, 25svh, 16rem);
  }

  .faq-nav,
  .chips-row,
  .tc-tabs,
  .adm-tabs {
    flex-wrap: wrap;
    overflow: visible;
  }

  .trow {
    grid-template-columns: 3.75rem minmax(0, 1fr);
    gap: 0.75rem 1rem;
  }

  .page-h {
    font-size: clamp(3.5rem, 8vw, 4.75rem);
  }

  .leadbox {
    padding: clamp(2.5rem, 6vw, 4rem);
  }

  .popup-card {
    border-radius: 1.75rem;
  }
}

/* -------------------------------------------------------------------------- */
/* 64rem / 1024px: laptops and landscape tablets                              */
/* -------------------------------------------------------------------------- */
@media (min-width: 64rem) {
  :root {
    --hd: 4.875rem;
  }

  body::after {
    display: block;
  }

  .nav-in {
    gap: 1rem;
  }

  .nav-logo img {
    height: 1.5rem;
  }

  .nav-menu {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.65rem;
    margin-left: 1rem;
  }

  .nav-menu > a,
  .nav-menu > button {
    display: inline-flex;
    min-height: 2.85rem;
    align-items: center;
    gap: 0.45rem;
    padding: 0.7rem 1.15rem;
    border-radius: 999px;
    color: var(--ink);
    font-family: var(--mono);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: color 0.2s, background 0.2s;
    white-space: nowrap;
  }

  .nav-menu > a:hover,
  .nav-menu > button:hover {
    background: rgb(13 17 23 / 0.05);
    color: var(--crimson);
  }

  .nav-menu > a.on,
  .nav-menu .has-mega.on {
    background: rgb(193 30 75 / 0.1);
    color: var(--crimson);
  }

  .nav-menu .caret {
    width: 0.45rem;
    height: 0.45rem;
    margin-top: -0.2rem;
    border-right: 0.09375rem solid currentColor;
    border-bottom: 0.09375rem solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.25s;
  }

  .nav-menu .has-mega.open .caret {
    margin-top: 0.1rem;
    transform: rotate(-135deg);
  }

  .nav-right .btn {
    display: inline-flex;
  }

  .burger,
  .mmenu {
    display: none;
  }

  .mega {
    position: fixed;
    z-index: 88;
    top: calc(var(--hd) + env(safe-area-inset-top, 0px));
    right: 0;
    left: 0;
    display: block;
    opacity: 0;
    transform: translateY(-0.625rem);
    transition: opacity 0.25s, transform 0.25s, visibility 0.25s;
    visibility: hidden;
  }

  .mega.show {
    opacity: 1;
    transform: none;
    visibility: visible;
  }

  .mega-card {
    display: grid;
    width: min(calc(100% - (2 * var(--gutter))), var(--container));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.875rem;
    margin: 0.625rem auto 0;
    padding: 1.5rem;
    border-radius: 1.5rem;
    background: rgb(255 255 255 / 0.94);
    box-shadow: 0 2.5rem 5.5rem -2.5rem rgb(13 17 23 / 0.45), inset 0 0 0 0.0625rem rgb(255 255 255 / 0.7);
    -webkit-backdrop-filter: blur(1.25rem);
    backdrop-filter: blur(1.25rem);
  }

  .mega-col h5 {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin-bottom: 0.75rem;
    color: var(--ink-40);
    font-family: var(--mono);
    font-size: 0.625rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .mega-col h5 .dot {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: var(--crimson);
  }

  .mega-col:nth-child(2) h5 .dot {
    background: var(--sky);
  }

  .mega-link {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 4.25rem;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0.65rem;
    border-radius: 0.875rem;
    transition: background 0.2s;
  }

  .mega-link .thumb {
    display: grid;
    flex: 0 0 3rem;
    width: 3rem;
    height: 3rem;
    place-items: center;
    overflow: hidden;
    border-radius: 0.75rem;
    background: linear-gradient(150deg, var(--c1, var(--crimson)), var(--c2, var(--crimson-deep)));
  }

  .mega-link .thumb picture {
    display: grid;
    width: auto;
    place-items: center;
  }

  .mega-link .thumb img {
    width: auto;
    height: 2.35rem;
    filter: drop-shadow(0 0.375rem 0.5rem rgb(0 0 0 / 0.35));
  }

  .mega-link > span:nth-child(2) {
    min-width: 0;
  }

  .mega-link b {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
  }

  .mega-link span span {
    display: block;
    color: var(--ink-60);
    font-size: 0.75rem;
  }

  .mega-link .ph {
    margin-left: auto;
    color: var(--ink-40);
    font-family: var(--mono);
    font-size: 0.6875rem;
  }

  .mega-all {
    display: flex;
    min-height: 2.75rem;
    grid-column: 1 / -1;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.25rem;
    padding: 0.75rem 0.65rem 0;
    border-top: 0.0625rem solid var(--line);
    color: var(--ink-60);
    font-family: var(--mono);
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .wtb {
    position: fixed;
    z-index: 88;
    top: calc(var(--hd) + env(safe-area-inset-top, 0px));
    right: max(var(--gutter), calc((100vw - var(--container)) / 2));
    display: block;
    opacity: 0;
    transform: translateY(-0.625rem);
    transition: opacity 0.25s, transform 0.25s, visibility 0.25s;
    visibility: hidden;
  }

  .wtb.show {
    opacity: 1;
    transform: none;
    visibility: visible;
  }

  .wtb-card {
    width: min(20rem, calc(100vw - (2 * var(--gutter))));
    margin-top: 0.625rem;
    padding: 1rem;
    border-radius: 1.25rem;
    background: rgb(255 255 255 / 0.96);
    box-shadow: 0 2.5rem 5.5rem -2.5rem rgb(13 17 23 / 0.45), inset 0 0 0 0.0625rem rgb(255 255 255 / 0.7);
    -webkit-backdrop-filter: blur(1.25rem);
    backdrop-filter: blur(1.25rem);
  }

  .wtb-card h5 {
    margin: 0.25rem 0.35rem 0.6rem;
    color: var(--ink-40);
    font-family: var(--mono);
    font-size: 0.625rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .wtb-city {
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.75rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    transition: background 0.2s;
  }

  .wtb-city span {
    color: var(--ink-40);
    font-family: var(--mono);
    font-size: 0.6875rem;
  }

  .wtb-card .btn {
    width: 100%;
    margin-top: 0.625rem;
  }

  #goo {
    display: block;
  }

  .hero-fallback {
    opacity: 0.4;
  }

  .hero-in {
    padding-top: calc(var(--hd) + 2rem);
    padding-bottom: 7.5rem;
  }

  .h1 {
    max-width: 12ch;
    font-size: clamp(5.5rem, 8vw, 8rem);
  }

  .h1 .shift {
    padding-left: clamp(4rem, 8vw, 8rem);
  }

  .hero-sub {
    font-size: clamp(1rem, 1.35vw, 1.15rem);
  }

  .hero-data {
    position: absolute;
    z-index: 3;
    right: max(4vw, calc((100vw - var(--container)) / 2));
    bottom: clamp(6rem, 12vh, 8.5rem);
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    color: var(--ink-60);
    font-family: var(--mono);
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
    text-align: right;
    opacity: 0;
    animation: fadeUp 1s var(--ease-out) 0.7s forwards;
  }

  .hero-data b {
    color: var(--ink);
    font-weight: 500;
  }

  .bottles {
    opacity: 1;
  }

  .b1 {
    top: 14%;
    right: max(9%, calc((100vw - var(--container)) / 2 + 4rem));
    height: clamp(19rem, 42vh, 28rem);
  }

  .b2 {
    top: 47%;
    right: max(2.5%, calc((100vw - var(--container)) / 2));
    height: clamp(11rem, 25vh, 18rem);
  }

  .b3 {
    top: 55%;
    right: max(25%, calc((100vw - var(--container)) / 2 + 18rem));
    display: block;
    height: clamp(9rem, 21vh, 14rem);
  }

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

  .catcard {
    min-height: clamp(22rem, 34vw, 27rem);
    padding: 2rem;
  }

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

  .pcard {
    min-height: 32.5rem;
    padding: 1.75rem 1.6rem 0;
  }

  .pcard .p-img img {
    height: 16.75rem;
  }

  .mapwrap {
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
  }

  .mapbox {
    min-height: 27.5rem;
  }

  .dist-list {
    max-height: 27.5rem;
    padding-right: 0.25rem;
    overflow-y: auto;
  }

  .trow {
    grid-template-columns: 5.5rem minmax(0, 1fr) minmax(0, 1.1fr);
    gap: clamp(1rem, 3vw, 3rem);
    padding-block: clamp(1.5rem, 3vw, 2.5rem);
  }

  .trow p {
    grid-column: auto;
  }

  .stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
  }

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

  .pd-media {
    position: sticky;
    top: calc(var(--hd) + 1.25rem);
    min-height: 28.75rem;
  }

  .pd-media img {
    max-height: min(52vh, 27.5rem);
  }

  .leadbox {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 2.5rem;
  }

  .lead-form {
    justify-self: end;
  }

  .foot-grid {
    grid-template-columns: minmax(16rem, 1.3fr) repeat(3, minmax(0, 1fr));
    gap: 2.5rem;
  }

  .foot-big {
    white-space: nowrap;
  }
}

/* -------------------------------------------------------------------------- */
/* 80rem / 1280px: desktops                                                    */
/* -------------------------------------------------------------------------- */
@media (min-width: 80rem) {
  :root {
    --gutter: clamp(2rem, 3vw, 3rem);
  }

  .nav-menu > a,
  .nav-menu > button {
    padding-inline: 1.05rem;
    font-size: 0.875rem;
  }

  .h2 {
    font-size: clamp(3.5rem, 4.8vw, 4.25rem);
  }

  .catcard {
    min-height: 26rem;
  }

  .pcard {
    min-height: 33rem;
  }

  .popup-head {
    padding: 2.1rem 2.1rem 0;
  }

  .popup-body {
    padding: 1.6rem 2.1rem 2.1rem;
  }
}

/* -------------------------------------------------------------------------- */
/* 100rem / 1600px: wide and ultra-wide desktops                              */
/* -------------------------------------------------------------------------- */
@media (min-width: 100rem) {
  :root {
    --container: 96rem;
  }

  .h1 {
    font-size: 8.25rem;
  }

  .sec {
    padding-block: 7rem;
  }

  .catcard {
    min-height: 28rem;
  }

  .pcard {
    min-height: 34rem;
  }
}

/* Short landscape screens: keep the hero and modal usable. */
@media (orientation: landscape) and (max-height: 36rem) {
  .hero {
    min-height: max(28rem, 100svh);
  }

  .hero-in {
    align-content: start;
    padding-top: calc(var(--hd) + 0.75rem + env(safe-area-inset-top, 0px));
    padding-bottom: 5.5rem;
  }

  .hero-tag {
    margin-bottom: 0.75rem;
  }

  .h1 {
    font-size: clamp(2.1rem, 8vw, 4rem);
  }

  .hero-sub {
    max-width: 58%;
    margin-top: 0.75rem;
    font-size: 0.875rem;
  }

  .hero-cta {
    margin-top: 1rem;
  }

  .b1 {
    top: 5%;
    right: -2%;
    height: 82svh;
  }

  .b2,
  .b3,
  .hero-data {
    display: none;
  }

  .popup-card {
    max-height: calc(100dvh - 1rem);
  }

  .sec {
    padding-block: 3rem;
  }
}

/* Hover effects are opt-in and never relied on for touch interaction. */
@media (hover: hover) and (pointer: fine) {
  body.has-custom-cursor .cur {
    position: fixed;
    z-index: 200;
    top: 0;
    left: 0;
    display: block;
    pointer-events: none;
    mix-blend-mode: difference;
  }

  .cur i {
    position: absolute;
    display: block;
    width: 2.125rem;
    height: 2.125rem;
    margin: -1.0625rem 0 0 -1.0625rem;
    border: 0.09375rem solid #fff;
    border-radius: 50%;
    transition: transform 0.2s var(--ease);
  }

  .cur b {
    position: absolute;
    display: block;
    width: 0.3125rem;
    height: 0.3125rem;
    margin: -0.15625rem 0 0 -0.15625rem;
    border-radius: 50%;
    background: #fff;
  }

  body.cur-big .cur i {
    transform: scale(1.9);
  }

  .btn:hover::before {
    width: 135%;
    height: 350%;
  }

  .btn:hover {
    color: #fff;
    box-shadow: 0 1.125rem 2.5rem -0.875rem rgb(193 30 75 / 0.55);
    transform: translateY(-0.125rem);
  }

  .btn-cr:hover {
    box-shadow: 0 1.125rem 2.5rem -0.875rem rgb(13 17 23 / 0.5);
  }

  .btn-line:hover {
    color: #fff;
    box-shadow: inset 0 0 0 0.09375rem var(--ink), 0 1.125rem 2.5rem -1rem rgb(13 17 23 / 0.4);
  }

  .lead-form .btn:hover {
    color: #fff;
  }

  .catcard:hover,
  .pcard:hover,
  .evcard:hover,
  .doc:hover {
    transform: translateY(-0.45rem);
  }

  .catcard:hover {
    box-shadow: 0 2.75rem 5.5rem -2.5rem color-mix(in srgb, var(--c1) 60%, transparent);
  }

  .pcard:hover {
    box-shadow: 0 2.75rem 5.5rem -2.4rem color-mix(in srgb, var(--c1) 62%, transparent);
  }

  .evcard:hover,
  .doc:hover {
    box-shadow: 0 2rem 4rem -2rem rgb(13 17 23 / 0.34);
  }

  .catcard:hover .go .arr {
    transform: translateX(0.3rem);
  }

  .pcard:hover .p-img img {
    transform: translateY(-0.65rem) rotate(-2deg) scale(1.03);
  }

  .evcard:hover .ev-img img {
    transform: scale(1.05);
  }

  .mega-link:hover,
  .wtb-city:hover {
    background: rgb(13 17 23 / 0.05);
  }

  .dist:hover,
  .dist.on {
    box-shadow: inset 0 0 0 0.09375rem var(--crimson);
    transform: translateX(0.25rem);
  }

  .trow:hover::before {
    width: 100%;
  }

  .mat:hover {
    box-shadow: inset 0 0 0 0.09375rem var(--crimson);
    transform: translateY(-0.2rem);
  }

  .popup-close:hover {
    background: var(--ink);
  }

  .popup-close:hover svg {
    stroke: #fff;
  }

  .foot-col a:hover,
  .foot-bottom a:hover {
    color: #fff;
  }

  .adm-item .rm:hover {
    background: var(--crimson);
    color: #fff;
  }
}

/* Reduced motion and reduced data */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }

  .rv {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-data: reduce) {
  #goo,
  .bottles,
  body::after {
    display: none !important;
  }
}

@media (prefers-contrast: more) {
  :root {
    --ink-60: rgb(13 17 23 / 0.78);
    --ink-40: rgb(13 17 23 / 0.64);
    --line: rgb(13 17 23 / 0.28);
  }
}


/* v5 patch: local distributor map + active distributor states */
.map-note{position:absolute;left:1rem;top:1rem;z-index:3;display:grid;gap:.2rem;padding:.7rem .9rem;border-radius:1rem;background:rgba(255,255,255,.72);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px var(--line)}
.map-note b{font-size:.9rem;line-height:1.1}
.map-note span{color:var(--ink-60);font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}
.map-status{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:3;display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.8rem 1rem;border-radius:1rem;background:rgba(255,255,255,.75);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px var(--line);font-size:.8rem;color:var(--ink-60)}
.map-status b{color:var(--ink);font-size:.95rem}
.pin{outline:none}
.pin:focus-visible .dot{transform:scale(1.25);box-shadow:0 0 0 .2rem rgba(0,0,0,.08),0 0 0 .45rem rgb(193 30 75 / .18),0 .375rem .875rem rgb(0 0 0 / .25)}
.dist.on{box-shadow:inset 0 0 0 2px var(--crimson);transform:translateY(-2px)}
.dist .onmap{display:inline-flex;align-items:center;min-height:2rem;border:0;background:transparent;padding:0;cursor:pointer}



/* v8: persistent "Где купить" action on the home page */
.home-buy-fab {
  position: fixed;
  z-index: 170;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  display: inline-flex;
  min-width: 2.75rem;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.8rem 1.05rem;
  border-radius: 999px;
  background: var(--crimson);
  color: #fff;
  box-shadow: 0 0.9rem 2.4rem rgb(193 30 75 / 0.32), inset 0 0 0 0.0625rem rgb(255 255 255 / 0.2);
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  line-height: 1;
  text-transform: uppercase;
  transition: transform 0.22s var(--ease), box-shadow 0.22s var(--ease), opacity 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}

.home-buy-fab svg {
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.home-buy-fab:hover,
.home-buy-fab:focus-visible {
  transform: translateY(-0.2rem);
  box-shadow: 0 1.15rem 3rem rgb(193 30 75 / 0.4), inset 0 0 0 0.0625rem rgb(255 255 255 / 0.25);
}

.home-buy-fab:active {
  transform: translateY(0) scale(0.98);
}

body.popup-open .home-buy-fab,
body.mm-open .home-buy-fab {
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 29.99rem) {
  .home-buy-fab {
    right: max(0.75rem, env(safe-area-inset-right));
    bottom: max(0.75rem, env(safe-area-inset-bottom));
    padding-inline: 0.95rem;
    font-size: 0.67rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-buy-fab { transition: none; }
}


/* v9: real interactive distributor map (Leaflet + OpenStreetMap) */
.mapbox .leaflet-map{position:absolute;inset:0;z-index:1;width:100%;height:100%;min-height:inherit}
.mapbox .leaflet-container{background:#e5edf6;font-family:var(--sans);font-size:.875rem}
.mapbox .leaflet-control-zoom a{display:grid;place-items:center;width:2.5rem;height:2.5rem;line-height:1;border:0;color:var(--ink);font-size:1.25rem}
.mapbox .leaflet-control-zoom{overflow:hidden;border:0!important;border-radius:.8rem;box-shadow:0 .5rem 1.5rem rgb(13 17 23 / .16)!important}
.mapbox .leaflet-control-attribution{padding:.2rem .4rem;background:rgb(255 255 255 / .88);font-size:.625rem}
.mapbox .leaflet-popup-content-wrapper{border-radius:1rem;box-shadow:0 1rem 2.5rem rgb(13 17 23 / .2)}
.mapbox .leaflet-popup-content{min-width:13rem;margin:1rem 1.1rem;color:var(--ink)}
.mapbox .leaflet-popup-tip{box-shadow:none}
.map-popup-country{display:block;margin-bottom:.35rem;color:var(--ink-40);font-family:var(--mono);font-size:.62rem;letter-spacing:.07em;text-transform:uppercase}
.map-popup-city{display:block;margin-bottom:.25rem;color:var(--crimson);font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.map-popup-title{display:block;margin-bottom:.25rem;font-size:.98rem}
.map-popup-address{margin:0 0 .6rem;color:var(--ink-60);font-size:.76rem;line-height:1.45}
.map-popup-links{display:flex;flex-wrap:wrap;gap:.4rem .75rem;align-items:center}
.map-popup-links a{color:var(--crimson);font-family:var(--mono);font-size:.68rem;text-decoration:none}
.leaflet-map-loading,.leaflet-map-error{position:absolute;z-index:2;inset:0;display:grid;place-content:center;gap:.8rem;padding:2rem;background:radial-gradient(120% 120% at 30% 10%,#f6f9fd,#dbe4f1);color:var(--ink-60);text-align:center}
.leaflet-map-error b{color:var(--ink)}
.dist button.onmap{display:inline-flex;min-height:2.75rem;align-items:center;margin-top:.25rem;margin-left:.75rem;border:0;background:none;padding:0;color:var(--crimson);font-family:var(--mono);font-size:.6875rem;cursor:pointer}
.dist a.twogis{margin-left:.75rem;color:var(--teal);font-size:.6875rem}
.dist.on{box-shadow:inset 0 0 0 .125rem var(--crimson),0 .8rem 2rem rgb(13 17 23 / .08);transform:translateY(-.125rem)}
@media (max-width:35rem){.mapbox .leaflet-control-attribution{max-width:75%;font-size:.55rem}.dist button.onmap,.dist a.twogis{margin-left:0;margin-right:.75rem}}


/* v10: official Yandex Maps iframe widget */
.mapbox .yandex-map-frame{position:absolute;z-index:1;inset:0;width:100%;height:100%;min-height:inherit;border:0;background:#e5edf6}
.yandex-map-badge{position:absolute;z-index:3;top:1rem;left:1rem;display:flex;align-items:center;gap:.55rem;min-height:2.75rem;padding:.65rem .85rem;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 .5rem 1.5rem rgb(13 17 23 / .12),inset 0 0 0 1px var(--line);backdrop-filter:blur(12px);color:var(--ink);font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
.yandex-map-badge svg{width:1rem;height:1rem;fill:none;stroke:var(--crimson);stroke-width:2}
.yandex-map-open{position:absolute;z-index:3;right:1rem;bottom:1rem;display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.65rem .95rem;border-radius:999px;background:var(--crimson);box-shadow:0 .65rem 1.6rem rgb(193 30 75 / .25);color:#fff;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
.yandex-map-open:hover,.yandex-map-open:focus-visible{transform:translateY(-1px);outline:0}
.yandex-map-empty{position:absolute;z-index:2;inset:0;display:grid;place-content:center;padding:2rem;background:radial-gradient(120% 120% at 30% 10%,#f6f9fd,#dbe4f1);color:var(--ink-60);text-align:center}
.dist button.onmap{display:inline-flex;align-items:center;min-height:2.75rem;margin:.25rem .75rem 0 0;color:var(--crimson);font-family:var(--mono);font-size:.6875rem;cursor:pointer}
.dist a.yandex-link{display:inline-flex;align-items:center;min-height:2.75rem;margin:.25rem 0 0;color:var(--teal);font-family:var(--mono);font-size:.6875rem}
@media (max-width:35rem){.yandex-map-badge{top:.75rem;left:.75rem}.yandex-map-open{right:.75rem;bottom:.75rem}.dist button.onmap,.dist a.yandex-link{margin-right:.65rem}}


/* v11: consent controls and legal documents */
.consent-stack{display:grid;gap:.7rem;margin:.2rem 0 .25rem}
.consent-row{display:grid;grid-template-columns:1.35rem minmax(0,1fr);gap:.7rem;align-items:start;color:var(--ink-60);font-size:.76rem;line-height:1.45;cursor:pointer}
.consent-row input{appearance:none;width:1.25rem;height:1.25rem;margin:.08rem 0 0;border:1px solid var(--line);border-radius:.35rem;background:#fff;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.consent-row input::after{content:'✓';font-size:.82rem;font-weight:800;color:#fff;transform:scale(0);transition:transform .15s ease}
.consent-row input:checked{border-color:var(--crimson);background:var(--crimson)}
.consent-row input:checked::after{transform:scale(1)}
.consent-row input:focus-visible{outline:.2rem solid rgb(193 30 75 / .2);outline-offset:.12rem}
.consent-row a,.policy-note a{color:var(--crimson);text-decoration:underline;text-underline-offset:.18em}
.consent-row.optional{color:var(--ink-40)}
.policy-note{margin:0;color:var(--ink-40);font-size:.72rem;line-height:1.45}
.lead-form.sent .consent-stack{display:none}
.legal-doc{max-width:58rem;margin-top:clamp(2rem,5vw,4.5rem);padding:clamp(1.25rem,3vw,2.75rem);border-radius:1.75rem;background:rgba(255,255,255,.8);box-shadow:inset 0 0 0 1px var(--line);backdrop-filter:blur(14px)}
.legal-doc h2{margin:2rem 0 .75rem;font-size:clamp(1.2rem,2vw,1.65rem)}
.legal-doc h2:first-child{margin-top:0}
.legal-doc p,.legal-doc li{color:var(--ink-60);font-size:.95rem;line-height:1.7}
.legal-doc ul{display:grid;gap:.45rem;padding-left:1.2rem}
.legal-doc strong{color:var(--ink)}
.legal-meta{display:grid;gap:.35rem;padding:1rem 1.1rem;border-radius:1rem;background:var(--ice);margin-bottom:1.5rem}
.legal-warning{margin-top:1rem;padding:.9rem 1rem;border-radius:1rem;background:rgb(193 30 75 / .08);color:var(--crimson);font-size:.82rem;line-height:1.5}
.adm-legal-warning{margin:0 0 1rem;padding:1rem 1.1rem;border-radius:1rem;background:rgb(193 30 75 / .1);color:var(--crimson);font-size:.82rem;line-height:1.5}
@media (min-width:48rem){.lead-form .consent-stack{grid-column:1/-1}.legal-meta{grid-template-columns:auto 1fr;column-gap:1rem}}


/* v12: расширенная карточка мезопрепаратов JUFORA */
.pro-source-note{margin-top:1rem;padding:.9rem 1rem;border-radius:1rem;background:rgb(255 255 255 / .65);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-60);font-size:.78rem;line-height:1.55}
.pro-source-note a{color:var(--crimson);text-decoration:underline;text-underline-offset:.18em}
.indication-list{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem}
.indication-item{position:relative;min-width:0;padding:.9rem 1rem .9rem 2.35rem;border-radius:1rem;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-60);font-size:.9rem;line-height:1.55}
.indication-item::before{content:"";position:absolute;left:1rem;top:1.25rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--crimson);box-shadow:0 0 0 .25rem rgb(193 30 75 / .1)}
@media (min-width:48rem){.indication-list{grid-template-columns:repeat(2,minmax(0,1fr))}}



/* v14: softer mesotherapy cards with smaller pack visuals */
.pcard.is-meso {
  color: #18202a;
  background: linear-gradient(180deg, var(--c1), var(--c2));
  box-shadow: inset 0 0 0 0.0625rem rgb(24 32 42 / 0.06);
}
.pcard.is-meso .p-cat { color: rgb(24 32 42 / 0.56); }
.pcard.is-meso h3 { color: #101722; }
.pcard.is-meso .p-tag { color: rgb(24 32 42 / 0.74); }
.pcard.is-meso .p-chips span {
  background: rgb(255 255 255 / 0.66);
  box-shadow: inset 0 0 0 0.0625rem rgb(24 32 42 / 0.08);
  color: rgb(24 32 42 / 0.78);
}
.pcard.is-meso .soon {
  background: var(--meso-accent, #8ea4c2);
  box-shadow: none;
  color: #fff;
}
.pcard.is-meso .p-ph { color: rgb(24 32 42 / 0.08); -webkit-text-stroke: 0; }
.pcard.is-meso .p-ph small { color: rgb(24 32 42 / 0.38); }
.pcard.is-meso .p-img { align-items: flex-end; padding-top: 0.5rem; }
.pcard.is-meso .p-img img {
  height: clamp(10.5rem, 47vw, 13.25rem);
  border-radius: 1rem;
  filter: drop-shadow(0 1rem 1.5rem rgb(24 32 42 / 0.14));
}
@media (min-width: 40rem) { .pcard.is-meso .p-img img { height: 12.5rem; } }
@media (min-width: 64rem) { .pcard.is-meso .p-img img { height: 13.2rem; } }
@media (min-width: 100rem) { .pcard.is-meso .p-img img { height: 14rem; } }



/* v17: multi-task product selector */
.task-combo-panel {
  display: grid;
  gap: 1rem;
  margin: 0 0 1.75rem;
  padding: clamp(1rem, 3vw, 1.4rem);
  border-radius: 1.25rem;
  background: color-mix(in srgb, var(--white) 90%, var(--sand));
  box-shadow: inset 0 0 0 0.0625rem var(--line);
}

.task-combo-head,
.task-combo-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}

.task-combo-title {
  display: grid;
  gap: 0.25rem;
}

.task-combo-title strong {
  font-family: var(--disp);
  font-size: clamp(1.15rem, 4vw, 1.45rem);
  letter-spacing: -0.015em;
}

.task-combo-title span,
.task-combo-meta {
  color: var(--ink-60);
  font-size: 0.8125rem;
}

.task-mode {
  min-height: 2.75rem;
  padding: 0.65rem 2.2rem 0.65rem 0.85rem;
  border-radius: 999px;
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625rem var(--line);
  color: var(--ink);
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.03em;
}

.task-reset {
  min-height: 2.75rem;
  padding: 0.65rem 0.95rem;
  border-radius: 999px;
  box-shadow: inset 0 0 0 0.0625rem var(--line);
  color: var(--ink-60);
  font-family: var(--mono);
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.task-reset:not(:disabled):hover,
.task-reset:not(:disabled):focus-visible {
  background: var(--ink);
  color: #fff;
  outline: 0;
}

.task-reset:disabled {
  opacity: 0.42;
  cursor: default;
}

.task-combo-panel .chips-row {
  margin: 0;
  padding-bottom: 0;
}

.task-combo-panel .chips-row button {
  position: relative;
  padding-left: 2rem;
  background: rgb(255 255 255 / 0.64);
}

.task-combo-panel .chips-row button::before {
  content: '';
  position: absolute;
  left: 0.72rem;
  width: 0.72rem;
  height: 0.72rem;
  border-radius: 0.22rem;
  box-shadow: inset 0 0 0 0.0625rem currentColor;
  opacity: 0.55;
}

.task-combo-panel .chips-row button.on {
  background: var(--crimson);
  color: #fff;
}

.task-combo-panel .chips-row button.on::before {
  content: '✓';
  display: grid;
  place-items: center;
  box-shadow: none;
  font-size: 0.68rem;
  font-weight: 800;
  opacity: 1;
}

.task-combo-panel .chips-row button[data-concern=""] {
  padding-left: 0.9rem;
}

.task-combo-panel .chips-row button[data-concern=""]::before {
  display: none;
}

.task-summary {
  min-width: 0;
  font-family: var(--mono);
  line-height: 1.5;
}

.task-summary b {
  color: var(--crimson);
}

.task-result-count {
  flex: 0 0 auto;
  font-family: var(--mono);
}

.pcard .match-badge {
  position: absolute;
  z-index: 3;
  right: 0.875rem;
  bottom: 0.875rem;
  display: inline-flex;
  min-height: 2.2rem;
  align-items: center;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  background: rgb(255 255 255 / 0.9);
  box-shadow: 0 0.5rem 1.4rem rgb(13 17 23 / 0.14);
  color: var(--ink);
  font-family: var(--mono);
  font-size: 0.625rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pcard .match-badge b {
  margin-right: 0.25rem;
  color: var(--crimson);
  font-size: 0.75rem;
}

@media (min-width: 48rem) {
  .task-combo-controls {
    display: flex;
    align-items: center;
    gap: 0.65rem;
  }
}



/* v20: mobile distributor map remains visible and the list no longer stretches the page */
@media (max-width: 63.99rem) {
  .mapwrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }

  .mapwrap > .mapbox {
    order: 0;
    display: block;
    width: 100%;
    height: clamp(20rem, 76vw, 26rem);
    min-height: 20rem;
    flex: 0 0 auto;
  }

  .mapbox iframe,
  .mapbox .yandex-map-frame {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
  }

  .mapwrap .dist-list,
  #home-dist,
  #ct-dist,
  #pd-dist {
    order: 1;
    width: 100%;
    max-height: min(32rem, 58vh);
    padding-right: 0.2rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 35rem) {
  .mapwrap > .mapbox {
    height: 22rem;
    min-height: 22rem;
  }

  .mapwrap .dist-list,
  #home-dist,
  #ct-dist,
  #pd-dist {
    max-height: 27rem;
  }
}



/* v22: stable mobile map on the home page */
.home-map-mobile-tabs {
  display: none;
}

@media (max-width: 63.99rem) {
  .home-map-mobile-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    margin-bottom: 0.875rem;
    padding: 0.35rem;
    border-radius: 1rem;
    background: rgb(13 17 23 / 0.055);
  }

  .home-map-mobile-tabs button {
    min-height: 2.875rem;
    padding: 0.7rem 1rem;
    border-radius: 0.75rem;
    color: var(--ink-60);
    font-family: var(--mono);
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .home-map-mobile-tabs button.on {
    background: var(--white);
    box-shadow: 0 0.45rem 1.3rem rgb(13 17 23 / 0.1), inset 0 0 0 0.0625rem var(--line);
    color: var(--ink);
  }

  .home-mapwrap {
    display: block !important;
    width: 100%;
    min-width: 0;
  }

  .home-mapwrap > #home-map {
    display: block !important;
    width: 100% !important;
    height: clamp(21rem, 92vw, 27rem) !important;
    min-height: 21rem !important;
    max-height: none !important;
    overflow: hidden !important;
    visibility: visible !important;
    opacity: 1 !important;
    border-radius: 1.25rem;
    background: radial-gradient(120% 120% at 20% 10%, #f6f9fd, #dbe4f1);
  }

  .home-mapwrap > #home-map::before {
    content: "Карта дистрибьюторов";
    position: absolute;
    z-index: 0;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1.5rem;
    color: var(--ink-40);
    font-family: var(--mono);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
  }

  .home-mapwrap > #home-map .yandex-map-frame,
  .home-mapwrap > #home-map iframe {
    position: absolute !important;
    z-index: 2 !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    border: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .home-mapwrap > #home-dist {
    display: none !important;
    width: 100%;
    max-height: min(31rem, 62vh) !important;
    padding-right: 0.25rem;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .home-mapwrap.mobile-show-list > #home-map {
    display: none !important;
  }

  .home-mapwrap.mobile-show-list > #home-dist {
    display: flex !important;
  }

  #ct-map,
  #pd-map {
    display: block !important;
    width: 100% !important;
    height: clamp(21rem, 92vw, 27rem) !important;
    min-height: 21rem !important;
  }

  #ct-dist,
  #pd-dist {
    max-height: min(31rem, 62vh) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
}

@media (max-width: 35rem) {
  .home-mapwrap > #home-map,
  #ct-map,
  #pd-map {
    height: 22rem !important;
    min-height: 22rem !important;
  }

  .home-mapwrap > #home-dist,
  #ct-dist,
  #pd-dist {
    max-height: 25rem !important;
  }
}



/* v23: verified peel data and professional protocols */
.peel-pro-note{margin-top:1rem;padding:.9rem 1rem;border-radius:1rem;background:rgb(255 255 255 / .68);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-60);font-size:.8rem;line-height:1.55}
.protocol-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.protocol-card{overflow:hidden;border-radius:1.25rem;background:var(--white);box-shadow:inset 0 0 0 1px var(--line)}
.protocol-card summary{position:relative;display:grid;gap:.3rem;padding:1.15rem 3rem 1.15rem 1.2rem;cursor:pointer;list-style:none}
.protocol-card summary::-webkit-details-marker{display:none}
.protocol-card summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:1.3rem;color:var(--crimson)}
.protocol-card[open] summary::after{content:"−"}
.protocol-card summary b{font-size:1rem}
.protocol-card summary span{color:var(--crimson);font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase}
.protocol-summary{padding:0 1.2rem 1rem;color:var(--ink-60);font-size:.86rem;line-height:1.55}
.proto-steps{border-top:1px solid var(--line)}
.proto-step{display:grid;grid-template-columns:minmax(7.5rem,.42fr) minmax(0,1fr);gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line)}
.proto-step:last-child{border-bottom:0}
.proto-step b{font-size:.82rem}
.proto-step p{color:var(--ink-60);font-size:.84rem;line-height:1.55}
.course-grid,.complex-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}
.course-card,.complex-card{padding:1rem 1.1rem;border-radius:1rem;background:var(--white);box-shadow:inset 0 0 0 1px var(--line)}
.course-card b,.complex-card h4{display:block;margin-bottom:.35rem;font-size:.92rem}
.course-card p,.complex-card>p{color:var(--ink-60);font-size:.84rem;line-height:1.5}
.complex-stage{display:grid;grid-template-columns:minmax(6.7rem,.34fr) minmax(0,1fr);gap:.8rem;padding-top:.75rem;margin-top:.75rem;border-top:1px solid var(--line)}
.complex-stage b{font-size:.76rem;color:var(--crimson)}
.complex-stage p{color:var(--ink-60);font-size:.82rem;line-height:1.5}
@media (min-width:48rem){.protocol-grid,.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.complex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:39.99rem){.proto-step,.complex-stage{grid-template-columns:minmax(0,1fr);gap:.35rem}}



/* ========================================================================== */
/* v27: friendlier catalog mega menu + training hub + webinar pages           */
/* ========================================================================== */
.mega-category-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.5rem 1rem;
  align-items:center;
  margin-bottom:.55rem;
  padding:1rem 1.05rem;
  border-radius:1.05rem;
  background:linear-gradient(135deg,var(--mc1),var(--mc2));
  color:#fff;
  box-shadow:0 .9rem 2rem -1.4rem rgb(13 17 23 / .5);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.mega-category-card .mcc-kicker{grid-column:1; font-family:var(--mono);font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;opacity:.72}
.mega-category-card strong{grid-column:1;font-family:var(--disp);font-size:1.3rem;font-weight:800;line-height:1.08;letter-spacing:-.02em}
.mega-category-card .mcc-meta{grid-column:1;color:rgb(255 255 255 / .76);font-size:.76rem;line-height:1.35}
.mega-category-card .mcc-arr{grid-column:2;grid-row:1 / span 3;display:grid;width:2.6rem;height:2.6rem;place-items:center;border-radius:50%;background:rgb(255 255 255 / .16);font-size:1.1rem}
.mega-category-more{display:flex;min-height:2.75rem;align-items:center;justify-content:space-between;margin-top:.35rem;padding:.55rem .7rem;border-radius:.8rem;color:var(--ink-60);font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;transition:background .2s,color .2s}
.mega-category-more:hover,.mega-category-more:focus-visible{background:var(--ice);color:var(--ink)}
.mega-products{display:grid;gap:.12rem}

.training-hub{margin-top:clamp(2.5rem,5vw,4.5rem)}
.training-category-card{min-height:clamp(18rem,72vw,24rem);text-align:left}
.training-category-card::after{background:linear-gradient(180deg,rgb(0 0 0 / .02) 6%,rgb(0 0 0 / .55) 100%)}
.training-category-card .training-symbol{position:absolute;z-index:-1;top:50%;right:-.05em;color:rgb(255 255 255 / .12);font-family:var(--disp);font-size:clamp(9rem,38vw,18rem);font-weight:800;letter-spacing:-.08em;line-height:.72;transform:translateY(-50%);pointer-events:none}
.training-category-card .badge{background:rgb(255 255 255 / .16);-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem)}
.training-category-card .count{display:flex;align-items:center;gap:.4rem;padding:.4rem .65rem;border-radius:999px;background:rgb(13 17 23 / .2);-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem)}
.training-category-card h3{position:relative;z-index:1;max-width:11ch}
.training-category-card p{position:relative;z-index:1;max-width:31em}
.training-category-card .go{position:relative;z-index:1}
.training-section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:clamp(2rem,4vw,3rem) 0 1.5rem;padding-bottom:1rem;border-bottom:.0625rem solid var(--line)}
.training-back{display:inline-flex;min-height:2.75rem;align-items:center;gap:.55rem;color:var(--crimson);font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.training-section{scroll-margin-top:calc(var(--hd) + 1.5rem);margin-top:0}
.training-section-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem;padding-bottom:1rem;border-bottom:.0625rem solid var(--line)}
.training-section-head h2{font-family:var(--disp);font-size:clamp(1.65rem,6vw,2.5rem);font-weight:800;letter-spacing:-.025em;line-height:1.08;text-transform:lowercase}
.training-section-head p{max-width:38em;color:var(--ink-60);font-size:.9rem}
.training-empty{padding:1.4rem;border-radius:1rem;background:var(--white);box-shadow:inset 0 0 0 .0625rem var(--line);color:var(--ink-60);font-size:.9rem}

.evcard.webinar-card .ev-tag{background:var(--ink);color:#fff}
.evcard .ev-link-title{display:block}
.evcard .ev-more-link{display:inline-flex;min-height:2.75rem;align-items:center;align-self:flex-start;margin-top:auto;color:var(--crimson);font-family:var(--mono);font-size:.6875rem;letter-spacing:.07em;text-transform:uppercase}

.webinar-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,5vw,3.5rem);align-items:start;margin-top:2rem}
.webinar-video{position:relative;overflow:hidden;border-radius:1.35rem;background:#10151d;box-shadow:var(--shadow-soft);aspect-ratio:16/9}
.webinar-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.webinar-video-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:1.5rem;text-align:center;color:#fff}
.webinar-video-placeholder::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(10 14 20 / .18),rgb(10 14 20 / .78))}
.webinar-video-placeholder picture,.webinar-video-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.webinar-video-placeholder .wvp-in{position:relative;z-index:2;display:grid;justify-items:center;gap:.75rem}
.webinar-video-placeholder .play{display:grid;width:4rem;height:4rem;place-items:center;border-radius:50%;background:#fff;color:var(--ink);font-size:1.25rem;box-shadow:0 1rem 2.5rem rgb(0 0 0 / .35)}
.webinar-video-placeholder b{font-family:var(--disp);font-size:1.2rem}
.webinar-video-placeholder span{max-width:27em;color:rgb(255 255 255 / .72);font-size:.82rem}
.webinar-side{min-width:0}
.webinar-kicker{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;color:var(--crimson);font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.webinar-side h1{max-width:13ch;margin:.8rem 0 1rem;font-family:var(--disp);font-size:clamp(2rem,8vw,4rem);font-weight:800;letter-spacing:-.03em;line-height:1.02;text-transform:none}
.webinar-lead{max-width:42em;color:var(--ink-60);font-size:.98rem}
.webinar-agenda{display:grid;gap:.65rem;margin:1.4rem 0}
.webinar-agenda li{display:grid;grid-template-columns:1.8rem minmax(0,1fr);gap:.65rem;align-items:start;padding:.75rem 0;border-top:.0625rem solid var(--line);list-style:none;font-size:.9rem}
.webinar-agenda li::before{content:counter(item,decimal-leading-zero);counter-increment:item;color:var(--crimson);font-family:var(--mono);font-size:.68rem;padding-top:.12rem}
.webinar-agenda{counter-reset:item}
.webinar-speaker{display:grid;grid-template-columns:4.75rem minmax(0,1fr);gap:1rem;align-items:center;margin:1.5rem 0;padding:1rem;border-radius:1rem;background:var(--white);box-shadow:inset 0 0 0 .0625rem var(--line)}
.webinar-speaker-media{display:grid;width:4.75rem;height:4.75rem;place-items:center;overflow:hidden;border-radius:1rem;background:linear-gradient(145deg,var(--crimson),var(--teal));color:#fff;font-family:var(--disp);font-size:1.35rem;font-weight:800}
.webinar-speaker-media picture,.webinar-speaker-media img{width:100%;height:100%;object-fit:cover}
.webinar-speaker b{display:block;font-size:.98rem}
.webinar-speaker small{display:block;margin-top:.2rem;color:var(--crimson);font-family:var(--mono);font-size:.65rem;letter-spacing:.04em;text-transform:uppercase}
.webinar-speaker p{margin-top:.45rem;color:var(--ink-60);font-size:.8rem;line-height:1.48}
.webinar-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.webinar-note{margin-top:.75rem;color:var(--ink-40);font-family:var(--mono);font-size:.66rem;line-height:1.45}

.detail-date{display:grid;gap:.25rem;margin-bottom:1.15rem;padding-bottom:1rem;border-bottom:.0625rem solid var(--line)}
.detail-date strong{display:block;color:var(--ink);font-family:var(--disp);font-size:clamp(2.6rem,9vw,5rem);font-weight:800;letter-spacing:-.045em;line-height:.92}
.detail-date span{color:var(--crimson);font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.webinar-platform{display:flex;align-items:center;gap:.8rem;margin:1rem 0 1.25rem;padding:.9rem 1rem;border-radius:1rem;background:rgb(193 30 75 / .07);box-shadow:inset 0 0 0 .0625rem rgb(193 30 75 / .17)}
.webinar-platform b{flex:0 0 auto;color:var(--crimson);font-family:var(--disp);font-size:1rem;font-weight:800}
.webinar-platform span{color:var(--ink-60);font-size:.84rem;line-height:1.45}
.event-detail-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,5vw,3.5rem);align-items:start;margin-top:2rem}
.event-detail-media{position:relative;overflow:hidden;border-radius:1.35rem;background:#dfe6ef;box-shadow:var(--shadow-soft);aspect-ratio:16/10}
.event-detail-media picture,.event-detail-media img{width:100%;height:100%}
.event-detail-media img{object-fit:cover}
.event-detail-side{min-width:0}
.event-meta-card{display:grid;gap:.55rem;margin:1.25rem 0;padding:1rem;border-radius:1rem;background:var(--white);box-shadow:inset 0 0 0 .0625rem var(--line)}
.event-meta-row{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.75rem;align-items:start}
.event-meta-row b{color:var(--ink-40);font-family:var(--mono);font-size:.65rem;letter-spacing:.07em;text-transform:uppercase}
.event-meta-row span{color:var(--ink);font-size:.88rem}
@media (min-width:64rem){.event-detail-layout{grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr)}.event-detail-media{position:sticky;top:calc(var(--hd) + 2rem)}}

@media (hover:hover){
  .mega-category-card:hover{transform:translateY(-.12rem);box-shadow:0 1.2rem 2.6rem -1.4rem rgb(13 17 23 / .45)}
  .training-category-card:hover{transform:translateY(-.22rem);box-shadow:0 1.6rem 3rem -1.8rem rgb(13 17 23 / .42)}
}
@media (min-width:40rem){.training-category-card{min-height:22rem}}
@media (min-width:64rem){.webinar-layout{grid-template-columns:minmax(0,1.18fr) minmax(20rem,.82fr)}.webinar-video{position:sticky;top:calc(var(--hd) + 2rem)}}



/* v36 — calmer hierarchy, denser homepage and mobile-first training UX */
#v-home .sec-head > .idx { display:none; }
#v-home .h2 { max-width:19em; text-transform:none; }
#v-home .h2 .ol { color:inherit; -webkit-text-stroke:0; }
#v-home .sec-head { max-width:68rem; }
#v-home .sec-head > p:not(.idx) { max-width:48rem; }
#v-home .sec { padding-block:clamp(3rem,7vw,5.5rem); }
#v-home .sec-head { gap:.9rem; margin-bottom:clamp(1.5rem,3.5vw,2.6rem); }
#v-home .home-ba-section { padding-bottom:clamp(3rem,6vw,5rem); }
#v-home .home-events-section { padding-top:clamp(3rem,6vw,5rem); }
#v-home .tech-sec { margin-inline:max(.4rem,1vw); border-radius:clamp(1.5rem,4vw,3rem); }

/* Replace the numbered “presentation” rows with a more editorial benefit grid. */
#v-home .tech-list { display:grid; grid-template-columns:minmax(0,1fr); gap:.85rem; border-top:0; }
#v-home .trow { display:block; min-width:0; padding:1.25rem; border:0; border-radius:1.15rem; background:rgb(237 242 249 / .72); box-shadow:inset 0 0 0 .0625rem var(--line); }
#v-home .trow::before { display:none; }
#v-home .trow .n { display:none; }
#v-home .trow h3 { font-size:clamp(1.15rem,4.8vw,1.5rem); text-transform:none; }
#v-home .trow p { margin-top:.55rem; color:var(--ink-60); font-size:.9rem; line-height:1.58; }

/* Training hub: remove giant decorative numbers and keep cards readable on phones. */
#v-training .page-h { text-transform:none; max-width:18ch; }
#v-training .page-lead { max-width:52rem; }
.training-hub { margin-top:clamp(1.6rem,4vw,3rem); }
.training-category-card { min-height:14.25rem; padding:1.25rem; justify-content:flex-end; }
.training-category-card .training-symbol { display:none; }
.training-category-card h3 { max-width:none; font-size:clamp(1.65rem,7vw,2.35rem); text-transform:none; }
.training-category-card p { max-width:28rem; margin-top:.45rem; font-size:.9rem; line-height:1.52; }
.training-category-card .go { margin-top:.75rem; }
.training-category-card .badge,
.training-category-card .count { top:.85rem; font-size:.6rem; }
.training-category-card .badge { left:.85rem; }
.training-category-card .count { right:.85rem; }
.training-section-toolbar { margin:1.4rem 0 1.25rem; }
.training-section-head { display:grid; grid-template-columns:minmax(0,1fr); gap:.45rem; align-items:start; margin-bottom:1.25rem; padding-bottom:.85rem; }
.training-section-head .idx { display:none; }
.training-section-head h2 { font-size:clamp(1.75rem,7vw,2.6rem); text-transform:none; }
.training-section-head p { max-width:42rem; font-size:.9rem; line-height:1.55; }

/* Event/webinar pages: one clear primary hierarchy, compact date, fewer competing accents. */
.webinar-layout,.event-detail-layout { margin-top:1.25rem; gap:clamp(1.25rem,4vw,3rem); }
.detail-date { display:inline-flex; max-width:100%; align-items:center; gap:.7rem; margin:0 0 .9rem; padding:.65rem .8rem; border:0; border-radius:.85rem; background:var(--white); box-shadow:inset 0 0 0 .0625rem var(--line); }
.detail-date strong { font-size:clamp(1.25rem,4.6vw,1.85rem); letter-spacing:-.025em; line-height:1; white-space:normal; }
.detail-date span { font-size:.62rem; line-height:1.25; }
.webinar-kicker { gap:.4rem; font-size:.62rem; letter-spacing:.06em; }
.webinar-side h1,.event-detail-title { max-width:18ch; margin:.65rem 0 .85rem; font-size:clamp(1.9rem,7vw,3.25rem); line-height:1.05; }
.webinar-platform { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.3rem .75rem; margin:.85rem 0 1.1rem; padding:.8rem .9rem; }
.webinar-platform b { font-size:.9rem; }
.webinar-platform span { font-size:.8rem; }
.detail-section-title { margin:1.35rem 0 .55rem; font-family:var(--disp); font-size:clamp(1.2rem,5vw,1.55rem); font-weight:800; letter-spacing:-.015em; line-height:1.2; }
.webinar-agenda { gap:0; margin:.35rem 0 1.1rem; }
.webinar-agenda li { grid-template-columns:1.6rem minmax(0,1fr); padding:.65rem 0; font-size:.86rem; line-height:1.5; }
.webinar-agenda li::before { font-size:.62rem; }
.webinar-speaker { grid-template-columns:4rem minmax(0,1fr); gap:.85rem; margin:.65rem 0 1rem; padding:.85rem; }
.webinar-speaker-media { width:4rem; height:4rem; border-radius:.85rem; }
.webinar-speaker b { font-size:.93rem; }
.webinar-speaker small { font-size:.59rem; }
.webinar-speaker p { font-size:.76rem; }
.event-meta-card { margin:.9rem 0 1.1rem; padding:.85rem; }
.event-meta-row { grid-template-columns:5.5rem minmax(0,1fr); gap:.55rem; }
.webinar-cta { margin-top:1rem; }

@media (max-width:39.99rem){
  #v-training .page { padding-top:calc(var(--hd) + 1.25rem + env(safe-area-inset-top,0px)); }
  #v-training .crumbs { margin-bottom:.75rem; }
  #v-training .page-lead { margin-top:.75rem; font-size:.9rem; line-height:1.55; }
  .training-hub { gap:.8rem; }
  .training-category-card { min-height:13rem; padding:1.1rem; border-radius:1.25rem; }
  .training-category-card .count { display:none; }
  .training-category-card p { max-width:24rem; font-size:.84rem; }
  .training-category-card .go { min-height:2.4rem; }
  .training-back { font-size:.62rem; letter-spacing:.04em; }
  .webinar-video,.event-detail-media { border-radius:1rem; }
  .detail-date { display:grid; justify-items:start; gap:.3rem; width:fit-content; }
  .webinar-platform { grid-template-columns:1fr; }
  .webinar-speaker { grid-template-columns:3.6rem minmax(0,1fr); }
  .webinar-speaker-media { width:3.6rem; height:3.6rem; }
  .event-meta-row { grid-template-columns:1fr; gap:.08rem; padding-bottom:.45rem; border-bottom:.0625rem solid var(--line); }
  .event-meta-row:last-child { padding-bottom:0; border-bottom:0; }
  .webinar-cta { display:grid; grid-template-columns:1fr; }
  .webinar-cta .btn { width:100%; }
}

@media (min-width:40rem){
  .training-category-card { min-height:17rem; padding:1.5rem; }
}
@media (min-width:64rem){
  #v-home .tech-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #v-home .trow { padding:1.5rem; }
  .training-hub { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .training-category-card { min-height:19rem; }
  .training-section-head { grid-template-columns:minmax(0,.72fr) minmax(20rem,1.28fr); align-items:end; }
  .webinar-layout { grid-template-columns:minmax(0,1.12fr) minmax(22rem,.88fr); }
}



/* v37 — event / webinar indexes inspired by editorial event guides */
.academy-filterbar,.publication-tabs{display:flex;max-width:100%;gap:.55rem;margin:0 0 1.5rem;padding:.15rem 0 .45rem;overflow-x:auto;scrollbar-width:none}
.academy-filterbar::-webkit-scrollbar,.publication-tabs::-webkit-scrollbar{display:none}
.academy-filterbar button,.publication-tabs button,.publication-tabs a{flex:0 0 auto;min-height:2.75rem;padding:.62rem .95rem;border-radius:999px;background:var(--white);box-shadow:inset 0 0 0 .0625rem var(--line);color:var(--ink-60);font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center;text-decoration:none}
.academy-filterbar button.on,.publication-tabs button.on,.publication-tabs a.on{background:var(--ink);box-shadow:none;color:#fff}
.academy-showcase{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.academy-card{min-width:0;overflow:hidden;border-radius:1.35rem;background:var(--white);box-shadow:inset 0 0 0 .0625rem var(--line);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.academy-card-media{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;background:#dfe6ef}
.academy-card-media picture,.academy-card-media img{width:100%;height:100%}
.academy-card-media img{object-fit:cover;transition:transform .45s var(--ease)}
.academy-date-chip,.academy-status{position:absolute;z-index:2;top:.85rem;padding:.48rem .7rem;border-radius:999px;background:rgb(255 255 255 / .94);box-shadow:0 .45rem 1.25rem rgb(13 17 23 / .12);font-family:var(--mono);font-size:.64rem;font-weight:600;letter-spacing:.04em}
.academy-date-chip{left:.85rem;color:var(--ink)}
.academy-status{right:.85rem;color:var(--crimson);text-transform:uppercase}
.academy-status.recording{background:var(--ink);color:#fff}
.academy-card-body{display:flex;min-height:13rem;flex-direction:column;padding:1.05rem 1.05rem 1.15rem}
.academy-card-meta{display:flex;flex-wrap:wrap;gap:.4rem .75rem;color:var(--ink-40);font-family:var(--mono);font-size:.63rem;letter-spacing:.06em;text-transform:uppercase}
.academy-card-title{display:block;margin:.65rem 0 .55rem;font-family:var(--disp);font-size:clamp(1.1rem,4.5vw,1.45rem);font-weight:800;letter-spacing:-.02em;line-height:1.18}
.academy-card-speaker{color:var(--ink-60);font-size:.82rem}
.academy-card-go{display:inline-flex;min-height:2.75rem;align-items:center;gap:.5rem;align-self:flex-start;margin-top:auto;padding-top:.55rem;color:var(--crimson);font-family:var(--mono);font-size:.67rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
@media (min-width:40rem){.academy-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:80rem){.academy-showcase{grid-template-columns:repeat(3,minmax(0,1fr))}.academy-card.featured{grid-column:span 2}.academy-card.featured{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(17rem,.85fr)}.academy-card.featured .academy-card-media{height:100%;aspect-ratio:auto}.academy-card.featured .academy-card-body{min-height:22rem;padding:1.5rem}.academy-card.featured .academy-card-title{font-size:clamp(1.7rem,2.4vw,2.4rem)}}
@media (hover:hover){.academy-card:hover{transform:translateY(-.2rem);box-shadow:0 1.4rem 2.8rem -1.8rem rgb(13 17 23 / .3),inset 0 0 0 .0625rem var(--line)}.academy-card:hover .academy-card-media img{transform:scale(1.035)}}

/* v37 — academy landing page */
.academy-detail-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:center;margin-top:1rem;padding:clamp(1.2rem,4vw,2.4rem);border-radius:clamp(1.4rem,4vw,2.2rem);background:var(--white);box-shadow:inset 0 0 0 .0625rem var(--line)}
.academy-detail-copy{min-width:0}
.academy-detail-kicker{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--crimson);font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.academy-detail-date{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .9rem;margin:1rem 0 .8rem}
.academy-detail-date b{font-family:var(--disp);font-size:clamp(1.35rem,5vw,2.1rem);font-weight:800;letter-spacing:-.025em;line-height:1.05}
.academy-detail-date span{color:var(--ink-60);font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}
.academy-detail-copy h1{max-width:18ch;font-family:var(--disp);font-size:clamp(2rem,8.2vw,4.3rem);font-weight:800;letter-spacing:-.035em;line-height:.98;text-wrap:balance}
.academy-detail-copy>p{max-width:43em;margin-top:1rem;color:var(--ink-60);font-size:clamp(.92rem,3.8vw,1.05rem)}
.academy-detail-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.35rem}
.academy-detail-cover{position:relative;overflow:hidden;border-radius:1.25rem;background:#dfe6ef;aspect-ratio:4/3}
.academy-detail-cover picture,.academy-detail-cover img{width:100%;height:100%}
.academy-detail-cover img{object-fit:cover}
.academy-detail-cover>span{position:absolute;right:.75rem;bottom:.75rem;left:.75rem;padding:.65rem .8rem;border-radius:.8rem;background:rgb(13 17 23 / .7);color:#fff;font-size:.78rem;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem)}
.academy-detail-section{margin-top:clamp(2.8rem,8vw,5.2rem)}
.academy-section-title{margin-bottom:1.3rem}
.academy-section-title>span{display:block;margin-bottom:.35rem;color:var(--crimson);font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.academy-section-title h2{max-width:18ch;font-family:var(--disp);font-size:clamp(1.65rem,6vw,2.7rem);font-weight:800;letter-spacing:-.028em;line-height:1.05}
.academy-audience-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}
.academy-audience-item{display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:.7rem;align-items:center;padding:1rem;border-radius:1rem;background:var(--white);box-shadow:inset 0 0 0 .0625rem var(--line)}
.academy-audience-item span{display:grid;width:2.4rem;height:2.4rem;place-items:center;border-radius:50%;background:var(--ice);color:var(--crimson);font-family:var(--mono);font-size:.67rem}
.academy-audience-item b{font-size:.9rem;font-weight:600}
.academy-two-col{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}
.academy-program{counter-reset:program;display:grid;border-top:.0625rem solid var(--line)}
.academy-program li{counter-increment:program;display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.75rem;padding:1rem 0;border-bottom:.0625rem solid var(--line);list-style:none;color:var(--ink-60);font-size:.92rem}
.academy-program li::before{content:counter(program,decimal-leading-zero);color:var(--crimson);font-family:var(--mono);font-size:.68rem;font-weight:600}
.academy-speaker-card{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding:1.1rem;border-radius:1.25rem;background:linear-gradient(145deg,#111821,#273242);color:#fff}
.webinar-speaker-media.large{width:100%;height:auto;aspect-ratio:4/3;border-radius:1rem;font-size:clamp(2rem,10vw,4rem)}
.academy-speaker-card>div:last-child>span{color:var(--sky);font-family:var(--mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}
.academy-speaker-card h2{margin:.35rem 0;font-family:var(--disp);font-size:1.55rem;font-weight:800;letter-spacing:-.02em;line-height:1.08}
.academy-speaker-card b{font-size:.82rem;font-weight:500;color:rgb(255 255 255 / .78)}
.academy-speaker-card p{margin-top:.65rem;color:rgb(255 255 255 / .66);font-size:.83rem;line-height:1.55}
.academy-speaker-card.compact{margin-top:1rem;grid-template-columns:4.75rem minmax(0,1fr);background:var(--white);color:var(--ink);box-shadow:inset 0 0 0 .0625rem var(--line)}
.academy-speaker-card.compact p,.academy-speaker-card.compact b{color:var(--ink-60)}
.academy-recording{position:relative;overflow:hidden;border-radius:1.25rem;background:#0e141c;aspect-ratio:16/9;box-shadow:var(--shadow-soft)}
.academy-recording iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.academy-recording.placeholder{display:grid;place-items:center;color:#fff;text-align:center}
.academy-recording.placeholder::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(10 14 20 / .12),rgb(10 14 20 / .78))}
.academy-recording.placeholder picture,.academy-recording.placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.academy-recording.placeholder>div{position:relative;z-index:2;display:grid;justify-items:center;gap:.6rem;padding:1rem}
.academy-recording .play{display:grid;width:3.6rem;height:3.6rem;place-items:center;border-radius:50%;background:#fff;color:var(--ink)}
.academy-recording p{color:rgb(255 255 255 / .68);font-size:.8rem}
.academy-facts{display:grid;border-radius:1.05rem;background:var(--white);box-shadow:inset 0 0 0 .0625rem var(--line);overflow:hidden}
.academy-facts>div{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:.75rem;padding:.85rem 1rem;border-bottom:.0625rem solid var(--line)}
.academy-facts>div:last-child{border-bottom:0}.academy-facts span{color:var(--ink-40);font-family:var(--mono);font-size:.63rem;text-transform:uppercase}.academy-facts b{font-size:.86rem;font-weight:600}
.academy-final-cta{display:flex;flex-direction:column;gap:1.25rem;align-items:flex-start;margin-top:clamp(3rem,8vw,5rem);padding:clamp(1.35rem,5vw,2.6rem);border-radius:1.5rem;background:linear-gradient(135deg,var(--crimson),var(--crimson-deep));color:#fff}
.academy-final-cta>div>span{font-family:var(--mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.academy-final-cta h2{margin:.35rem 0;font-family:var(--disp);font-size:clamp(1.7rem,6vw,2.7rem);font-weight:800;letter-spacing:-.028em}.academy-final-cta p{max-width:38em;color:rgb(255 255 255 / .75);font-size:.9rem}.academy-final-cta .btn{--bg:#fff;--fg:var(--ink)}
@media(min-width:40rem){.academy-audience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.academy-speaker-card{grid-template-columns:minmax(10rem,.75fr) minmax(0,1.25fr);align-items:center}.academy-final-cta{flex-direction:row;justify-content:space-between;align-items:center}}
@media(min-width:64rem){.academy-detail-hero{grid-template-columns:minmax(0,1.12fr) minmax(22rem,.88fr);padding:2.2rem}.academy-two-col{grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);gap:2.5rem}.academy-speaker-card{position:sticky;top:calc(var(--hd) + 1.5rem)}}

/* v37 — publications */
.publication-tabs{margin-top:2rem}
.publication-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.publication-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border-radius:1.25rem;background:var(--white);box-shadow:inset 0 0 0 .0625rem var(--line)}
.publication-media{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;background:#dfe6ef}.publication-media picture,.publication-media img{width:100%;height:100%}.publication-media img{object-fit:cover;transition:transform .4s var(--ease)}.publication-media>span{position:absolute;left:.75rem;bottom:.75rem;padding:.42rem .65rem;border-radius:999px;background:rgb(255 255 255 / .94);font-family:var(--mono);font-size:.62rem;letter-spacing:.05em;text-transform:uppercase}
.publication-body{display:flex;flex:1;flex-direction:column;padding:1.05rem}.publication-meta{display:flex;flex-wrap:wrap;gap:.5rem .8rem;color:var(--ink-40);font-family:var(--mono);font-size:.63rem;letter-spacing:.05em;text-transform:uppercase}.publication-title{margin:.65rem 0;font-family:var(--disp);font-size:1.25rem;font-weight:800;letter-spacing:-.02em;line-height:1.18}.publication-body>p{color:var(--ink-60);font-size:.86rem}.publication-body>b{margin-top:.7rem;font-size:.78rem;font-weight:600}.publication-go{display:inline-flex;min-height:2.75rem;align-items:center;align-self:flex-start;gap:.45rem;margin-top:auto;padding-top:.6rem;color:var(--crimson);font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.article-layout{max-width:70rem;margin:1.5rem auto 0}.article-hero{max-width:58rem}.article-hero h1{margin:.7rem 0 1rem;font-family:var(--disp);font-size:clamp(2.1rem,8vw,4.6rem);font-weight:800;letter-spacing:-.038em;line-height:.98;text-wrap:balance}.article-hero>p{max-width:45em;color:var(--ink-60);font-size:clamp(.95rem,3vw,1.1rem)}.article-by{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;font-size:.8rem}.article-by span{color:var(--crimson);font-family:var(--mono);text-transform:uppercase}.article-cover{margin-top:1.75rem;overflow:hidden;border-radius:1.35rem;aspect-ratio:16/8;background:#dfe6ef}.article-cover picture,.article-cover img{width:100%;height:100%}.article-cover img{object-fit:cover}.article-content{max-width:48rem;margin:2rem auto 0}.article-content>p{margin-bottom:1.15rem;color:var(--ink);font-size:clamp(.98rem,2.2vw,1.08rem);line-height:1.75}.article-source{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:2rem;padding-top:1rem;border-top:.0625rem solid var(--line);font-size:.78rem}.article-source span{color:var(--ink-40)}.article-source a{color:var(--crimson)}.article-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
@media(min-width:40rem){.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:80rem){.publication-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(hover:hover){.publication-card:hover .publication-media img{transform:scale(1.035)}}

/* Distributor contacts */
.dist-contact-links{display:flex;flex-wrap:wrap;gap:.35rem .75rem;margin-top:.45rem}.dist-contact-link{display:inline-flex;min-height:2.25rem;align-items:center;color:var(--ink);font-family:var(--mono);font-size:.7rem}.dist-contact-links>span{color:var(--ink-40);font-size:.75rem}.dist .onmap{display:inline-flex;min-height:2.5rem;align-items:center;margin-top:.25rem;margin-right:.65rem;color:var(--crimson);font-family:var(--mono);font-size:.68rem}.dist .yandex-link{margin-right:.65rem}.map-popup-links .dist-contact-links{margin:0 0 .35rem}


/* v38 — language toggle (show only the other language) */
.lang-switch{
  display:inline-flex;
  align-items:center;
}
.lang-switch-btn{
  display:inline-flex;
  min-width:2.7rem;
  height:2.7rem;
  align-items:center;
  justify-content:center;
  padding:0 .7rem;
  border-radius:.85rem;
  box-shadow:inset 0 0 0 .09375rem var(--line);
  color:inherit;
  font-family:var(--mono);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
  transition:background .2s,color .2s,box-shadow .2s;
}
.lang-switch-btn:hover{
  background:var(--ink);
  color:var(--white);
  box-shadow:none;
}
/* текущий язык скрыт (класс ставит yatranslate.js) */
.lang-switch-btn.language__img_active{
  display:none !important;
}
.mmenu .mm-lang{
  display:flex;
  gap:.55rem;
  padding:.8rem 0 1rem;
  border-bottom:.0625rem solid var(--line);
}
.mmenu .mm-lang .lang-switch-btn{
  min-width:3.2rem;
  min-height:2.55rem;
  height:auto;
  font-size:.72rem;
}
html[data-ui-lang="ru"] [data-ya-lang="ru"],
html[data-ui-lang="en"] [data-ya-lang="en"]{
  display:none !important;
}
#google_translate_element,
.goog-te-banner-frame,
.goog-te-balloon-frame,
.goog-te-menu-frame,
.goog-te-gadget,
.goog-logo-link,
.skiptranslate,
body > .skiptranslate{
  display:none !important;
}
body{top:0 !important}
font{background:transparent !important;box-shadow:none !important}



/* v39 — production story */
.company-sec {
  padding-top: clamp(2.5rem, 5vw, 4.5rem) !important;
  padding-bottom: clamp(3rem, 6vw, 5.5rem) !important;
}
.company-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  border-radius: clamp(1.5rem, 4vw, 3rem);
  background: #0d1117;
  color: #fff;
  box-shadow: 0 2rem 5rem -3rem rgb(13 17 23 / .55);
}
.company-media {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: clamp(.85rem, 3vw, 1.25rem);
  background: #111821;
}
.company-video {
  display: block;
  width: min(100%, 24rem);
  aspect-ratio: 9 / 16;
  border-radius: clamp(1rem, 3vw, 1.5rem);
  object-fit: cover;
  object-position: center;
  background: #111821;
}
.company-copy {
  min-width: 0;
  padding: clamp(1.5rem, 5vw, 3.5rem);
}
.company-title {
  max-width: 15ch;
  font-size: clamp(2rem, 8vw, 3.8rem);
  line-height: .98;
  letter-spacing: -.045em;
  text-transform: none;
}
.company-lead {
  max-width: 42rem;
  margin-top: clamp(1rem, 3vw, 1.5rem);
  color: rgb(255 255 255 / .72);
  font-size: clamp(.98rem, 2vw, 1.08rem);
  line-height: 1.65;
}
.company-resident {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1.25rem;
  padding: .7rem .9rem;
  border: .0625rem solid rgb(255 255 255 / .22);
  border-radius: 999px;
  color: rgb(255 255 255 / .9);
  font-family: var(--mono);
  font-size: .68rem;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.company-resident::before {
  content: '';
  width: .45rem;
  height: .45rem;
  border-radius: 50%;
  background: var(--crimson);
  box-shadow: 0 0 0 .25rem rgb(193 30 75 / .14);
}
.company-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(2rem, 5vw, 3rem);
  border-top: .0625rem solid rgb(255 255 255 / .16);
}
.company-stat {
  min-width: 0;
  padding: clamp(1.2rem, 3vw, 1.7rem) .8rem clamp(1.1rem, 3vw, 1.5rem) 0;
  border-bottom: .0625rem solid rgb(255 255 255 / .16);
}
.company-stat:nth-child(odd) {
  padding-right: clamp(1rem, 3vw, 1.75rem);
  border-right: .0625rem solid rgb(255 255 255 / .16);
}
.company-stat:nth-child(even) {
  padding-left: clamp(1rem, 3vw, 1.75rem);
}
.company-stat strong {
  display: block;
  color: #fff;
  font-family: var(--disp);
  font-size: clamp(2rem, 7vw, 3.7rem);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.055em;
}
.company-stat span {
  display: block;
  max-width: 15rem;
  margin-top: .55rem;
  color: rgb(255 255 255 / .62);
  font-size: clamp(.78rem, 1.6vw, .9rem);
  line-height: 1.45;
}
.company-stat sup {
  font-size: .48em;
  vertical-align: super;
}
@media (min-width: 64rem) {
  .company-story {
    grid-template-columns: minmax(20rem, .78fr) minmax(0, 1.22fr);
    align-items: stretch;
  }
  .company-media {
    min-height: 39rem;
    padding: 1.25rem;
  }
  .company-video {
    width: 100%;
    height: 100%;
    max-height: 44rem;
    min-height: 39rem;
    aspect-ratio: auto;
    object-position: center;
  }
  .company-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2.5rem, 5vw, 5rem);
  }
  .company-title {
    font-size: clamp(3rem, 4.7vw, 5.1rem);
  }
}
@media (max-width: 30rem) {
  .company-copy { padding: 1.25rem; }
  .company-stats { grid-template-columns: 1fr; }
  .company-stat,
  .company-stat:nth-child(odd),
  .company-stat:nth-child(even) {
    padding: 1rem 0;
    border-right: 0;
  }
}


/* v40 — seamless production film + scale counters */
.company-media{padding:0;background:#0a0f15}
.company-video{width:100%;height:100%;min-height:32rem;max-height:none;border-radius:0;object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none}
.company-stats{overflow:hidden;border-radius:0 0 1.1rem 1.1rem}
.company-stat{position:relative;display:flex;min-height:clamp(8.75rem,15vw,11.5rem);flex-direction:column;justify-content:flex-end;overflow:hidden;padding-top:clamp(1.4rem,3vw,2rem);padding-bottom:clamp(1.3rem,3vw,1.8rem)}
.company-stat::before{content:"";position:absolute;inset:auto -15% -45% 10%;height:75%;border-radius:50%;background:radial-gradient(circle,rgb(118 162 219 / .15),transparent 68%);opacity:0;transform:scale(.72);transition:opacity .8s var(--ease-out),transform 1.1s var(--ease-out);pointer-events:none}
.company-stat.is-counted::before{opacity:1;transform:scale(1)}
.company-stat strong{position:relative;z-index:1;font-size:clamp(3.25rem,9vw,6.6rem);font-weight:700;line-height:.82;letter-spacing:-.07em;font-variant-numeric:tabular-nums;white-space:nowrap;transform-origin:left bottom}
.company-stat span{position:relative;z-index:1;max-width:17rem;margin-top:.8rem;color:rgb(255 255 255 / .67);font-size:clamp(.8rem,1.5vw,.95rem);line-height:1.38}
.company-stat.is-counting strong{animation:companyStatReveal 1.1s var(--ease-out) both}
@keyframes companyStatReveal{0%{opacity:.12;transform:translateY(.35em) scale(.74)}55%{opacity:1;transform:translateY(0) scale(1.055)}100%{opacity:1;transform:none}}
@media(min-width:64rem){.company-media{min-height:44rem}.company-video{min-height:44rem}.company-copy{padding-top:clamp(2.75rem,4vw,4rem);padding-bottom:clamp(2.75rem,4vw,4rem)}.company-stat strong{font-size:clamp(4.25rem,5.55vw,7rem)}}
@media(max-width:30rem){.company-video{min-height:27rem;aspect-ratio:4/5}.company-stat{min-height:7.75rem}.company-stat strong{font-size:clamp(3.45rem,17vw,5.2rem)}}
@media(prefers-reduced-motion:reduce){.company-stat.is-counting strong{animation:none}.company-stat::before{transition:none}}


/* v41 — LIPOSCULPT launch */
.pcard.is-liposculpt{background:#fff;box-shadow:inset 0 0 0 1px rgba(120,76,166,.13),0 1.2rem 3rem -2.2rem rgba(91,53,134,.25)}
.pcard.is-liposculpt .p-cat,.pcard.is-liposculpt h3{color:#20152d}
.pcard.is-liposculpt .p-tag{color:rgba(32,21,45,.68)}
.pcard.is-liposculpt .p-chips span{background:#f5effb;color:#60427c;box-shadow:inset 0 0 0 1px rgba(120,76,166,.10)}
.pcard.is-liposculpt .p-ph{color:rgba(126,82,171,.09)}
.pcard.is-liposculpt .p-ph small{color:rgba(66,42,88,.42)}
.pcard.is-liposculpt .p-img{padding-top:1.3rem;align-items:center}
.pcard.is-liposculpt .p-img img{width:100%;height:auto;max-width:25rem;max-height:none;border-radius:1rem;filter:drop-shadow(0 1rem 1.2rem rgba(74,49,98,.13))}
.pcard .new-badge{background:#8356ad!important;color:#fff!important;box-shadow:none!important}
.pd-status.is-new{background:#8356ad;color:#fff;border-color:transparent}
.pd-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .7rem;margin:0 0 .35rem}
.pd-eyebrow .pd-status{min-height:1.9rem;margin:0;padding:.42rem .7rem;box-shadow:none;font-size:.59rem;letter-spacing:.08em}
.pd-eyebrow .pd-cat{line-height:1.2}
.protocol-materials{margin-top:1rem}
.lipo-product-media{background:#fff!important;box-shadow:inset 0 0 0 1px rgba(120,76,166,.11),0 2rem 5rem -3.2rem rgba(80,51,111,.28)}
.lipo-product-media img{width:100%;max-width:48rem;max-height:none!important;filter:drop-shadow(0 1.25rem 1.8rem rgba(69,47,91,.12))!important}
.lipo-kicker{display:inline-flex;margin:.65rem 0 0;padding:.55rem .75rem;border-radius:999px;background:#f2eafa;color:#644581;font-family:var(--mono);font-size:.68rem;line-height:1.35}
.lipo-warning{margin-top:1rem;padding:1rem 1.1rem;border-radius:1rem;background:#fff7e8;box-shadow:inset 0 0 0 1px rgba(167,111,22,.16);color:#5e4319;font-size:.9rem;line-height:1.55}
.lipo-warning b{color:#3e2b0d}
.lipo-section{margin-top:clamp(3rem,7vw,5.2rem)}
.lipo-section-h{max-width:18ch;margin:0 0 1.3rem;font-family:var(--disp);font-size:clamp(1.8rem,4.5vw,3rem);font-weight:800;letter-spacing:-.035em;line-height:1.02}
.lipo-section-lead{max-width:52rem;margin:-.5rem 0 1.4rem;color:var(--ink-60);font-size:.95rem;line-height:1.65}
.lipo-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.lipo-fact{padding:1rem;border-radius:1rem;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.lipo-fact b{display:block;margin-bottom:.35rem;font-family:var(--disp);font-size:1rem}
.lipo-fact p{margin:0;color:var(--ink-60);font-size:.86rem;line-height:1.55}
.lipo-zone-grid,.lipo-synergy-grid,.lipo-company-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}
.lipo-panel{padding:1.2rem;border-radius:1.2rem;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.lipo-panel h4{margin:0 0 .5rem;font-family:var(--disp);font-size:1.12rem}
.lipo-panel .lead{margin:0 0 .75rem;color:#78509c;font-family:var(--mono);font-size:.68rem;line-height:1.45}
.lipo-panel ul{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}
.lipo-panel li{position:relative;padding-left:1rem;color:var(--ink-60);font-size:.87rem;line-height:1.55}
.lipo-panel li:before{content:"";position:absolute;left:0;top:.65em;width:.38rem;height:.38rem;border-radius:50%;background:#9b6bc4}
.lipo-restrictions{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}
.lipo-restrictions .lipo-panel:first-child{background:#fff8f7}
.lipo-restrictions .lipo-panel:last-child{background:#faf7ff}
.lipo-doc-note{margin-top:.85rem;color:var(--ink-60);font-size:.8rem;line-height:1.55}
.lipo-contact{margin-top:1rem;padding:1rem;border-radius:1rem;background:#f6f1fa;color:#5f4a70;font-size:.85rem;line-height:1.6}
@media(min-width:48rem){.lipo-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.lipo-zone-grid,.lipo-synergy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lipo-restrictions{grid-template-columns:repeat(2,minmax(0,1fr))}.lipo-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v42 — product polish, education navigation, speaker portraits and responsive UX */
:root{--lipo-purple:#8356ad;--lipo-purple-deep:#63378e;--lipo-purple-soft:#eee3f8}
.lipo-product-media{background:radial-gradient(circle at 28% 18%,#fbf8fe 0 16%,transparent 46%),linear-gradient(145deg,#f1e8f9 0%,#d8c0ed 52%,#a472ce 100%)!important;box-shadow:inset 0 0 0 1px rgba(96,54,135,.12),0 2rem 5rem -3.1rem rgba(92,52,130,.34)!important}
.lipo-product-media img{max-width:min(47rem,94%)!important;filter:drop-shadow(0 1.45rem 1.45rem rgba(52,24,78,.22))!important}
.pcard.is-liposculpt{background:linear-gradient(145deg,#fff 0%,#f8f2fc 100%)}
.pcard.is-liposculpt .p-img img{border-radius:0!important;filter:drop-shadow(0 1rem 1rem rgba(74,49,98,.18))}
.training-mega-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem!important}
.training-mega-link{display:grid;grid-template-columns:3.25rem minmax(0,1fr) 1.5rem;gap:.8rem;align-items:center;min-width:0;padding:.9rem;border-radius:1rem;transition:background .2s,transform .2s}
.training-mega-link:hover,.training-mega-link:focus-visible{background:#f6f1fb;transform:translateY(-1px)}
.training-mega-icon,.training-icon{display:grid;place-items:center;color:var(--lipo-purple)}
.training-mega-icon{width:3.25rem;height:3.25rem;border-radius:.9rem;background:#f4edf9;box-shadow:inset 0 0 0 1px rgba(131,86,173,.12)}
.training-mega-icon svg,.training-icon svg{width:1.65rem;height:1.65rem;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.training-mega-link b{display:block;font-family:var(--disp);font-size:.98rem;line-height:1.15}.training-mega-link small{display:block;margin-top:.2rem;color:var(--ink-60);font-size:.72rem;line-height:1.35}.training-mega-arrow{color:var(--lipo-purple);font-size:1.1rem}
.training-category-card{min-height:16rem!important;justify-content:flex-start!important;padding:1.25rem!important;background:#fff!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--line),0 1.4rem 3rem -2.5rem rgba(50,39,65,.22)}
.training-category-card::before{background:linear-gradient(145deg,rgba(255,255,255,.98),color-mix(in srgb,var(--c1) 8%,#fff))!important}.training-category-card::after{display:none!important}
.training-category-card .badge{background:color-mix(in srgb,var(--c1) 12%,#fff)!important;color:var(--c2)!important;box-shadow:none!important}.training-category-card .count{background:transparent!important;color:var(--ink-40)!important;backdrop-filter:none!important}
.training-category-card .training-icon{position:relative;display:grid;width:4.4rem;height:4.4rem;margin-top:2.35rem;margin-bottom:auto;border-radius:1.25rem;background:linear-gradient(145deg,color-mix(in srgb,var(--c1) 16%,#fff),color-mix(in srgb,var(--c1) 6%,#fff));color:var(--c1);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c1) 16%,transparent)}
.training-category-card .training-icon svg{width:2.15rem;height:2.15rem}.training-category-card h3{margin-top:1.2rem;color:var(--ink)!important;font-size:clamp(1.45rem,4vw,2rem)!important}.training-category-card p{color:var(--ink-60)!important;font-size:.85rem!important}.training-category-card .go{color:var(--c2)!important;margin-top:.7rem!important}
.training-partner{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:clamp(2.5rem,6vw,4.5rem);padding:clamp(1.15rem,4vw,2rem);border-radius:1.5rem;background:linear-gradient(135deg,#f8f3fc,#eee1f8);box-shadow:inset 0 0 0 1px rgba(131,86,173,.12)}
.training-partner-copy{display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:1rem;align-items:start}.training-partner-icon{display:grid;width:3.4rem;height:3.4rem;place-items:center;border-radius:1rem;background:#fff;color:var(--lipo-purple);box-shadow:0 .8rem 1.8rem -1.2rem rgba(99,55,142,.35)}.training-partner-icon svg{width:1.8rem;height:1.8rem;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.training-partner-kicker{color:var(--lipo-purple);font-family:var(--mono);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.training-partner h2{margin:.35rem 0 .65rem;font-family:var(--disp);font-size:clamp(1.7rem,5vw,2.5rem);letter-spacing:-.03em}.training-partner-copy p{max-width:42rem;color:var(--ink-60);font-size:.9rem;line-height:1.6}.training-partner-points{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}.training-partner-points span{padding:.45rem .65rem;border-radius:999px;background:#fff;color:#60427c;font-size:.72rem}
.training-partner-form{display:grid!important;grid-template-columns:minmax(0,1fr);gap:.7rem;padding:1rem;border-radius:1.2rem;background:rgba(255,255,255,.78);box-shadow:inset 0 0 0 1px rgba(131,86,173,.1)}.training-partner-form .fld{margin:0!important}.training-partner-form textarea{width:100%;min-height:7rem;resize:vertical;border:0;border-radius:.9rem;padding:1rem;background:#fff;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font:inherit}.training-partner-form .training-comment,.training-partner-form .training-consent,.training-partner-form .btn,.training-partner-form .lead-ok{grid-column:1/-1}.training-partner-form .btn{justify-self:start}
.speaker-card{overflow:hidden;padding:0!important;gap:0!important}.speaker-photo{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#eef0f3}.speaker-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(1);transition:transform .4s var(--ease),filter .35s var(--ease)}.speaker-card:hover .speaker-photo img{transform:scale(1.025);filter:grayscale(.55)}.speaker-card-body{display:flex;min-height:13rem;flex:1;flex-direction:column;gap:.55rem;padding:1rem 1.05rem 1.15rem}.speaker-card .sp-role{font-size:.6rem!important;line-height:1.35}.speaker-card h3{font-size:1.08rem!important}.speaker-card p{font-size:.8rem!important;line-height:1.48}.speaker-card .sp-topics{font-size:.74rem!important}
@media(min-width:40rem){.training-hub{grid-template-columns:repeat(2,minmax(0,1fr))!important}.training-partner-form{grid-template-columns:repeat(2,minmax(0,1fr))}.speakers-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:64rem){.training-mega-card{grid-template-columns:repeat(4,minmax(0,1fr))}.training-partner{grid-template-columns:minmax(0,.9fr) minmax(28rem,1.1fr);align-items:center}.speakers-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.training-hub{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:80rem){.training-hub{grid-template-columns:repeat(4,minmax(0,1fr))!important}.speakers-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:39.99rem){#v-training .page{padding-top:calc(var(--hd) + .8rem + env(safe-area-inset-top,0px))!important}.training-hub{gap:.7rem!important}.training-category-card{min-height:12.5rem!important;border-radius:1.1rem!important}.training-category-card .training-icon{width:3.65rem;height:3.65rem;margin-top:2rem}.training-category-card .training-icon svg{width:1.75rem;height:1.75rem}.training-category-card h3{margin-top:.85rem!important}.training-partner{padding:1rem;border-radius:1.2rem}.training-partner-copy{grid-template-columns:1fr}.training-partner-icon{width:3rem;height:3rem}.training-partner-form{padding:.8rem}.speakers-grid{gap:.75rem!important}.speaker-card{display:grid!important;grid-template-columns:7.1rem minmax(0,1fr)!important}.speaker-photo{height:100%;aspect-ratio:auto}.speaker-card-body{min-height:10rem;padding:.85rem}.speaker-card p{display:none}.speaker-card .sp-topics{margin-top:auto}}
@media(max-width:22rem){.speaker-card{grid-template-columns:5.8rem minmax(0,1fr)!important}.training-category-card .count{display:none!important}}

/* v42 tablet navigation guard: keep compact mobile navigation until 1280px so labels and CTAs never collide. */
@media (min-width:64rem) and (max-width:79.999rem){
  .nav-menu,.nav-right .btn{display:none}
  .burger{display:block}
  .mmenu{display:flex}
  .mega,.wtb{display:none!important}
}


/* v45 — restored USP and clean mesotherapy cards */
.seasons-usp .usp-mark{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin-bottom:.85rem;border-radius:999px;background:rgba(192,45,75,.09);color:var(--crimson);font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.08em}
.seasons-usp .trow{position:relative;overflow:hidden}
.seasons-usp .trow::after{content:"";position:absolute;right:-2.2rem;bottom:-2.8rem;width:7rem;height:7rem;border-radius:50%;background:radial-gradient(circle,rgba(192,45,75,.08),transparent 68%);pointer-events:none}
@media(min-width:64rem){#v-home .seasons-usp .tech-list{grid-template-columns:repeat(4,minmax(0,1fr))}.seasons-usp .trow{padding:1.65rem}}

/* v46 — GENTLE BY DESIGN, LIPOSCULPT card/page consistency */
.gentle-sec{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(244,247,251,.72) 48%,rgba(255,255,255,0))}
.gentle-sec .sec-head{max-width:58rem}
.gentle-sec .sec-head .h2{max-width:12ch;letter-spacing:-.045em}
.gentle-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem}
.gentle-card{position:relative;min-height:13.5rem;padding:1.35rem;border-radius:1.35rem;background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 1.6rem 3.4rem -3rem rgba(32,39,51,.2);overflow:hidden}
.gentle-card::before{content:"";display:block;width:2.1rem;height:.22rem;margin-bottom:2.2rem;border-radius:999px;background:linear-gradient(90deg,var(--crimson),var(--sky-deep))}
.gentle-card h3{max-width:14ch;margin:0 0 .8rem;font-family:var(--disp);font-size:clamp(1.45rem,4vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.02}
.gentle-card p{max-width:34rem;margin:0;color:var(--ink-60);font-size:.9rem;line-height:1.62}
.pcard.is-new-product .soon.new-badge{left:auto;right:.875rem;top:.875rem}
.pcard.is-new-product .p-cat{max-width:58%}
.pd-media.pd-media-liposculpt{background:radial-gradient(circle at 20% 12%,rgba(255,255,255,.44),transparent 36%),linear-gradient(145deg,#a977d4 0%,#8454b1 52%,#66358e 100%);box-shadow:inset 0 0 0 1px rgba(81,39,116,.12),0 2rem 5rem -3.15rem rgba(84,45,118,.36)}
.pd-media.pd-media-liposculpt img{width:min(96%,46rem);max-height:none;filter:drop-shadow(0 1.5rem 1.5rem rgba(50,24,72,.25))}
@media(min-width:48rem){.gentle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gentle-card{min-height:16rem;padding:1.6rem}.gentle-card::before{margin-bottom:3rem}}
@media(max-width:30rem){.gentle-card{min-height:0}.gentle-card::before{margin-bottom:1.6rem}.pcard.is-new-product .p-cat{max-width:52%}}


/* v48 — global live search */
.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}
body.search-open{overflow:hidden;overscroll-behavior:none}
.site-search-btn{display:grid;place-items:center;flex:0 0 2.85rem;width:2.85rem;height:2.85rem;border-radius:999px;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);transition:background .2s,color .2s,box-shadow .2s,transform .2s}
.site-search-btn:hover,.site-search-btn:focus-visible{background:#fff;color:var(--crimson);box-shadow:inset 0 0 0 1px rgba(193,30,75,.28),0 .7rem 1.6rem -1.1rem rgba(20,25,32,.3);transform:translateY(-1px)}
.site-search-btn svg{width:1.22rem;height:1.22rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-search-overlay{position:fixed;z-index:140;inset:0;display:grid;align-items:start;padding:calc(var(--hd) + env(safe-area-inset-top,0px) + .7rem) var(--gutter) max(1rem,env(safe-area-inset-bottom,0px));background:rgba(9,14,20,.34);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.site-search-overlay.show{opacity:1;visibility:visible;pointer-events:auto}
.site-search-panel{width:min(54rem,100%);max-height:calc(100dvh - var(--hd) - 1.5rem);margin:0 auto;overflow:hidden;border-radius:1.4rem;background:#fff;box-shadow:0 2rem 6rem -2rem rgba(2,9,17,.45);transform:translateY(-.75rem) scale(.985);transition:transform .28s var(--ease-out)}
.site-search-overlay.show .site-search-panel{transform:none}
.site-search-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.9rem;border-bottom:1px solid var(--line)}
.site-search-head>.search-glyph{display:grid;place-items:center;width:2.7rem;height:2.7rem;color:var(--ink-40)}
.site-search-head>.search-glyph svg{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.site-search-input{width:100%;min-width:0;height:3.25rem;border:0;outline:0;background:transparent;color:var(--ink);font-family:var(--disp);font-size:clamp(1rem,2.4vw,1.25rem);font-weight:600;letter-spacing:-.01em}
.site-search-input::placeholder{color:var(--ink-40);font-weight:500}
.site-search-close{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:999px;background:#f3f5f8;color:var(--ink-60);font-size:1.25rem;line-height:1;transition:background .2s,color .2s}
.site-search-close:hover,.site-search-close:focus-visible{background:#eceff3;color:var(--ink)}
.site-search-body{overflow:auto;max-height:calc(100dvh - var(--hd) - 6.7rem);padding:.75rem}
.site-search-hint{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem .45rem .8rem;color:var(--ink-40);font-family:var(--mono);font-size:.67rem;letter-spacing:.045em;text-transform:uppercase}
.site-search-hint kbd{padding:.18rem .4rem;border:1px solid var(--line);border-radius:.4rem;background:#f7f8fa;color:var(--ink-60);font:inherit;text-transform:none}
.site-search-results{display:grid;gap:.35rem}
.site-search-result{display:grid;grid-template-columns:2.65rem minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:4.65rem;padding:.72rem .8rem;border-radius:1rem;color:var(--ink);transition:background .16s,transform .16s}
.site-search-result:hover,.site-search-result.is-active,.site-search-result:focus-visible{outline:0;background:#f5f1f8;transform:translateX(.1rem)}
.site-search-type{display:grid;place-items:center;width:2.65rem;height:2.65rem;border-radius:.8rem;background:#f0f3f7;color:var(--crimson);font-family:var(--mono);font-size:.66rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.site-search-copy{min-width:0}
.site-search-copy b{display:block;overflow:hidden;color:var(--ink);font-family:var(--disp);font-size:.98rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.site-search-copy span{display:block;overflow:hidden;margin-top:.22rem;color:var(--ink-60);font-size:.77rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.site-search-arr{color:var(--crimson);font-size:1.15rem}
.site-search-empty{padding:2.4rem 1rem 2.7rem;text-align:center}
.site-search-empty b{display:block;font-family:var(--disp);font-size:1.15rem}.site-search-empty p{margin:.45rem auto 0;max-width:31rem;color:var(--ink-60);font-size:.86rem}
.site-search-section-label{padding:.7rem .45rem .35rem;color:var(--ink-40);font-family:var(--mono);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:39.99rem){.nav-right{gap:.45rem}.site-search-btn{width:2.75rem;height:2.75rem;flex-basis:2.75rem}.site-search-overlay{padding:calc(env(safe-area-inset-top,0px) + .45rem) .45rem max(.45rem,env(safe-area-inset-bottom,0px));align-items:stretch}.site-search-panel{height:calc(100dvh - max(.9rem,env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px)));max-height:none;border-radius:1.15rem}.site-search-body{max-height:calc(100dvh - 5.7rem)}.site-search-head{padding:.65rem;gap:.35rem}.site-search-head>.search-glyph{display:none}.site-search-input{font-size:1.05rem}.site-search-result{grid-template-columns:2.45rem minmax(0,1fr) auto;min-height:4.4rem;padding:.65rem}.site-search-type{width:2.45rem;height:2.45rem}.site-search-hint kbd{display:none}}
@media(min-width:80rem) and (max-width:89.999rem){.nav-menu{gap:.25rem;margin-left:.35rem}.nav-menu>a,.nav-menu>button{padding-inline:.72rem;font-size:.74rem}.nav-right{gap:.42rem}.nav-right .btn{padding-inline:.78rem}.site-search-btn{width:2.65rem;height:2.65rem;flex-basis:2.65rem}}
@media(prefers-reduced-motion:reduce){.site-search-overlay,.site-search-panel,.site-search-result,.site-search-btn{transition:none!important}}

/* End */


/* Start:/local/templates/seasons/template_styles.css?178773529363*/
/* Page-level overrides — reserved for Bitrix page styles */

/* End */
/* /local/templates/seasons/styles.css?1787735294151196 */
/* /local/templates/seasons/template_styles.css?178773529363 */
