  :root {
    /* palette — warm cream paper, espresso ink, single rust accent */
    --bg:           #FFFFFF;
    --bg-soft:      #FCF8EC;
    --bg-card:      #F7F7F5;
    --paper:        #FFFFFF;
    --ink:          #1F2937;
    --ink-2:        #374151;
    --ink-muted:    #6B7280;
    --rule:         #E5E7EB;
    --rule-soft:    #F3F4F6;
    --accent:       #C2410C;
    --accent-deep:  #9A3412;
    --accent-soft:  #FDE7D3;
    --espresso:     #1B130C;
    --on-dark:      #FAF6ED;
    --on-dark-muted:#B5A48A;
    --green:        #4F6A36;
    --green-soft:   #E2EBD3;

    /* type — clean technical pair */
    --font-display: 'Inter', system-ui, sans-serif;
    --font-sans:    'Inter', system-ui, sans-serif;
    --font-mono:    'Inter', system-ui, sans-serif;

    /* card density */
    --card-pad:     26px;
    --card-img-h:   320px;
    --card-gap:     28px;

    /* layout */
    --maxw:         1320px;
    --gutter:       40px;
  }

  /* type-pair variants */
  [data-type='modern'] {
    --font-display: 'Inter', system-ui, sans-serif;
    --font-sans:    'Inter', system-ui, sans-serif;
    --font-mono:    'Inter', system-ui, sans-serif;
  }
  [data-type='caslon'] {
    --font-display: 'Inter', system-ui, sans-serif;
    --font-sans:    'Inter', system-ui, sans-serif;
    --font-mono:    'Inter', system-ui, sans-serif;
  }

  /* card density variants */
  [data-density='compact'] {
    --card-pad:   14px;
    --card-img-h: 220px;
    --card-gap:   18px;
  }
  [data-density='showcase'] {
    --card-pad:   28px;
    --card-img-h: 420px;
    --card-gap:   40px;
  }

  * { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; overflow-x: clip; }
  body { max-width: 100vw; }
  body {
    background: var(--bg);
    color: var(--ink);
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  a { color: inherit; text-decoration: none; }
  button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; }

  .wrap {
    max-width: var(--maxw);
    margin: 0 auto;
    padding: 0 var(--gutter);
  }
  @media (max-width: 720px) {
    :root { --gutter: 20px; }
  }

  .mono {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 500;
  }

  .display {
    font-family: var(--font-display);
    font-weight: 700 !important;
    line-height: 1.05;
    letter-spacing: -0.022em !important;
    -webkit-text-stroke: 0 !important;
  }
  .display span { letter-spacing: inherit !important; }

  /* Emphasis — accent color instead of italic */
  [style*="italic"] {
    font-style: normal !important;
    color: var(--accent);
    font-weight: inherit;
  }

  .rule { height: 1px; background: var(--rule); border: 0; margin: 0; }

  /* base button */
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 22px;
    font-family: var(--font-sans);
    font-size: 13px;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 600;
    border-radius: 0;
    border: 1px solid var(--ink);
    transition: background .18s ease, color .18s ease, border-color .18s ease, transform .12s ease;
    cursor: pointer;
  }
  .btn:active { transform: translateY(1px); }
  .btn--primary {
    background: var(--ink);
    color: var(--paper);
    border-color: var(--ink);
  }
  .btn--primary:hover {
    background: var(--accent);
    border-color: var(--accent);
  }
  .btn--ghost {
    background: transparent;
    color: var(--ink);
  }
  .btn--ghost:hover { background: var(--ink); color: var(--paper); }
  .btn--small { padding: 10px 14px; font-size: 10px; }

  /* form elements */
  input[type='email'], input[type='text'] {
    font: inherit;
    font-family: var(--font-sans);
    font-size: 14px;
    padding: 14px 16px;
    border: 1px solid var(--rule);
    background: var(--paper);
    color: var(--ink);
    border-radius: 0;
    width: 100%;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
  }
  input[type='email']:focus, input[type='text']:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(27,19,12,0.06); }

  /* scroll niceties */
  html { scroll-behavior: smooth; }
  ::selection { background: var(--ink); color: var(--paper); }

  /* announcement bar */
  .ann {
    background: var(--espresso);
    color: var(--on-dark);
    border-bottom: 1px solid #2a1f15;
  }
  .ann__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 36px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.1em;
  }
  .ann__ticker { overflow: hidden; flex: 1; text-align: center; }
  .ann__lang { display: flex; gap: 8px; align-items: center; }
  .ann__lang button { color: var(--on-dark-muted); padding: 2px 4px; transition: color .15s; }
  .ann__lang button[aria-pressed='true'] { color: var(--on-dark); }
  .ann__lang button:hover { color: var(--on-dark); }

  /* header */
  header.site {
    background: var(--bg);
    border-bottom: 1px solid var(--rule);
    position: sticky;
    top: 0;
    z-index: 40;
  }
  .site__inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    height: 78px;
    gap: 32px;
  }
  .site__nav { display: flex; gap: 28px; align-items: center; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }
  .site__nav button, .site__nav a { color: var(--ink); padding: 6px 0; position: relative; }
  .site__nav a:hover, .site__nav button:hover { color: var(--accent); }
  .site__nav-b2b {
    margin-left: 6px;
    padding: 7px 12px !important;
    border: 1px solid var(--rule);
    color: var(--accent) !important;
    transition: background .15s, color .15s, border-color .15s;
  }
  .site__nav-b2b:hover { background: var(--accent); color: #fff !important; border-color: var(--accent); }
  .mobile-menu__b2b {
    margin-top: 8px;
    color: var(--accent) !important;
    border-top: 1px solid var(--rule);
    padding-top: 18px !important;
  }
  .site__logo { font-family: var(--font-display); font-size: 22px; font-weight: 700; letter-spacing: -0.03em; line-height: 1; text-align: center; }
  .site__logo small { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.3em; display: block; margin-top: 4px; font-style: normal; color: var(--ink-muted); }
  .site__actions { display: flex; justify-content: flex-end; gap: 22px; align-items: center; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }
  .site__actions button { display: inline-flex; align-items: center; gap: 8px; }
  .cart-count { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; background: var(--accent); color: var(--paper); border-radius: 999px; font-size: 10px; font-weight: 500; }

  /* dropdown */
  .dropdown { position: relative; }
  .dropdown::after {
    content: '';
    position: absolute;
    top: 100%;
    left: -20px;
    width: calc(100% + 40px);
    height: 12px;
    z-index: 49;
  }
  .dropdown__panel {
    position: absolute;
    top: calc(100% + 10px);
    left: -20px;
    background: var(--paper);
    border: 1px solid var(--rule);
    border-radius: 12px;
    padding: 22px 26px;
    min-width: 260px;
    z-index: 50;
    box-shadow: 0 30px 60px -20px rgba(27,19,12,0.18);
  }
  .dropdown__panel a { display: block; padding: 8px 0; font-family: var(--font-sans); font-size: 14px; letter-spacing: 0; text-transform: none; border-bottom: 1px solid var(--rule-soft); }
  .dropdown__panel a:last-child { border-bottom: 0; }
  .dropdown__panel a:hover { color: var(--accent); }
  .dropdown__head { font-family: var(--font-mono); font-size: 10px; color: var(--ink-muted); letter-spacing: 0.15em; margin-bottom: 8px; }

  /* striped placeholders */
  .ph {
    position: relative;
    background: var(--bg-soft);
    overflow: hidden;
    border: 1px solid var(--rule);
    border-radius: 12px;
  }
  .ph::before {
    content: '';
    position: absolute; inset: 0;
    background: repeating-linear-gradient(135deg, transparent 0 14px, rgba(27,19,12,0.045) 14px 15px);
  }
  .ph__label {
    position: absolute;
    bottom: 12px; left: 12px;
    font-family: var(--font-sans);
    font-size: 10px;
    letter-spacing: 0;
    color: var(--ink-2);
    background: var(--paper);
    padding: 4px 10px;
    border: 1px solid var(--rule);
    border-radius: 999px;
    font-weight: 500;
  }
  .ph--dark { background: #2a2017; border-color: #3a2d20; }
  .ph--dark::before { background: repeating-linear-gradient(135deg, transparent 0 14px, rgba(244,235,218,0.04) 14px 15px); }
  .ph--dark .ph__label { background: #1b130c; color: var(--on-dark); border-color: #3a2d20; }
  .ph--photo { display: flex; align-items: center; justify-content: center; padding: 12px; background: #fff; }
  .ph--photo::before { display: none; }
  .ph--photo img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: transform .35s ease;
  }
  .pcard__img .ph--wide-photo {
    padding-left: 0;
    padding-right: 0;
    justify-content: flex-start;
  }
  .pcard__img .ph--wide-photo img {
    width: auto;
    height: 100%;
    max-width: none;
    max-height: 100%;
    object-position: left center;
  }
  .pcard:hover .ph--photo img { transform: scale(1.04); }

  /* Editorial / lifestyle photo blocks (hero + category cards) */
  .hero-img, .cat-img {
    position: relative;
    overflow: hidden;
    background: #2a1f15;
    border: 1px solid var(--rule);
    border-radius: 16px;
  }
  .hero-img--mobile { display: none; }

  /* Hero A grid — desktop: image spans all rows on right */
  .hero-a-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    grid-template-areas:
      "title image"
      "sub   image"
      "ctas  image"
      "meta  image";
    column-gap: 64px;
    row-gap: 0;
    align-items: center;
  }
  .hero-a-title { grid-area: title; }
  .hero-a-image-col { grid-area: image; align-self: stretch; }
  .hero-a-sub { grid-area: sub; }
  .hero-a-buttons { grid-area: ctas; }
  .hero-meta-grid { grid-area: meta; }
  .hero-img img, .cat-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease, filter .3s ease;
  }
  .cat-img img { filter: saturate(0.9); }
  a:hover .cat-img img { transform: scale(1.03); filter: saturate(1); }

  /* Category cards — icon + content with foot row */
  .cat-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--paper);
    border: 1px solid var(--rule);
    overflow: hidden;
    transition: border-color .2s ease, transform .2s ease, box-shadow .25s ease;
  }
  .cat-card:hover {
    border-color: var(--ink);
    transform: translateY(-3px);
    box-shadow: 0 18px 36px -22px rgba(27,19,12,0.22);
  }
  .cat-card__icon {
    position: relative;
    height: 150px;
    display: flex; align-items: center; justify-content: center;
    background: var(--bg-soft);
    color: var(--ink);
    overflow: hidden;
    transition: background .25s ease, color .25s ease;
  }
  .cat-card__icon::after {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(circle at top right, var(--accent-soft) 0%, transparent 65%);
    opacity: 0;
    transition: opacity .3s ease;
  }
  .cat-card:hover .cat-card__icon { color: var(--accent); }
  .cat-card:hover .cat-card__icon::after { opacity: 1; }
  .cat-card__num {
    position: absolute;
    top: 14px; right: 16px;
    font-size: 10px;
    color: var(--ink-muted);
    z-index: 2;
    transition: color .25s;
  }
  .cat-card:hover .cat-card__num { color: var(--accent-deep); }
  .cat-card__icon svg {
    position: relative; z-index: 1;
    width: 72px; height: 72px;
    transition: transform .4s ease;
  }
  .cat-card:hover .cat-card__icon svg { transform: scale(1.08); }
  .cat-card__body {
    padding: 20px 20px 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
  }
  .cat-card__title {
    font-family: var(--font-sans);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.015em;
    line-height: 1.15;
    margin: 0;
    color: var(--ink);
  }
  .cat-card__desc {
    font-size: 13px;
    line-height: 1.5;
    color: var(--ink-2);
    margin: 0 0 8px;
    flex: 1;
  }
  .cat-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px;
    border-top: 1px solid var(--rule-soft);
  }
  .cat-card__count { font-size: 10px; color: var(--ink-muted); }
  .cat-card__arrow {
    width: 18px; height: 18px;
    color: var(--ink);
    transition: transform .25s ease, color .2s ease;
  }
  .cat-card:hover .cat-card__arrow { transform: translateX(5px); color: var(--accent); }

  /* Hero collage — simple 2x2 grid of pack photos */
  .hero-collage {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 0;
    background: var(--paper);
    border: 1px solid var(--rule);
    border-radius: 16px;
    overflow: hidden;
  }
  .hero-collage > .hero-pack {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* sections shared */
  section { padding: 64px 0; }
  section.tight { padding: 64px 0; }
  .section__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 48px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--rule);
  }
  .section__eyebrow { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 14px; }
  .section__title { font-family: var(--font-display); font-size: clamp(28px, 4vw, 44px); font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; margin: 0; max-width: 800px; }
  .section__title em { font-style: italic; }
  .section__link { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; border-bottom: 1px solid var(--ink); padding-bottom: 4px; white-space: nowrap; }
  .section__link:hover { color: var(--accent); border-color: var(--accent); }

  /* product card */
  .pcard {
    background: var(--paper);
    border: 1px solid var(--rule);
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    min-width: 0;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 1px 1px rgba(0,0,0,0.03);
    transition: border-color .2s ease, transform .2s ease, box-shadow .25s ease;
  }
  .pcard:hover {
    border-color: var(--ink-muted);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px -12px rgba(0,0,0,0.12);
  }
  .pcard__img {
    height: var(--card-img-h);
    position: relative;
    background: var(--bg-soft);
    overflow: hidden;
  }
  .pcard__img::before {
    content: '';
    position: absolute; inset: 0;
    background: repeating-linear-gradient(135deg, transparent 0 12px, rgba(27,19,12,0.045) 12px 13px);
  }
  .pcard__body { padding: 22px 22px 0; display: flex; flex-direction: column; gap: 0; flex: 1; }
  .pcard__brand {
    display: inline-flex;
    align-items: center;
    padding: 6px 11px 7px;
    background: var(--ink);
    color: var(--paper);
    border-radius: 999px;
    font-family: var(--font-sans);
    font-style: normal;
    font-size: 12px;
    letter-spacing: 0.01em;
    text-transform: none;
    font-weight: 600;
    line-height: 1;
    transition: background .2s ease;
  }
  .pcard:hover .pcard__brand { background: var(--accent); }
  .pcard__name { font-family: var(--font-display); font-size: 15px; line-height: 21px; letter-spacing: -0.005em; font-weight: 700; color: var(--ink); margin-top: 12px; }
  .pcard__name a { color: inherit; transition: color .15s; }
  .pcard__name a:hover { color: var(--accent); }
  .pcard__spec { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); margin-top: 2px; }
  .pcard__foot {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-top: auto;
    padding-top: 0;
    gap: 0;
  }
  .pcard__price { font-family: var(--font-sans); font-size: 22px; line-height: 27px; font-weight: 700; letter-spacing: -0.01em; display: inline-flex; align-items: flex-end; gap: 6px; color: var(--ink); margin-top: 10px; }
  .pcard__price s { color: var(--ink-muted); font-size: 14px; line-height: 17px; font-weight: 400; padding-bottom: 2px; text-decoration-thickness: 1px; }
  .pcard__price .new { color: var(--accent); }
  .pcard__price small { font-family: var(--font-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.08em; color: var(--ink-muted); text-transform: uppercase; margin-left: 2px; }

  /* weight tag — prominent */
  .pcard__weight {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    background: var(--bg-soft);
    border: 1px solid var(--rule);
    border-radius: 999px;
    font-family: var(--font-sans);
    font-size: 11px;
    letter-spacing: 0;
    color: var(--ink);
    font-weight: 600;
    line-height: 1.4;
  }
  .pcard__meta-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
  .pcard__meta-row .pcard__spec { margin-top: 0; }

  /* wholesale strip — inset from card edges, left rust border */
  .pcard__wholesale {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 14px 0 22px;
    height: 36px;
    padding: 0 14px;
    background: var(--accent-soft);
    border-left: 3px solid var(--accent);
    font-family: var(--font-sans);
    letter-spacing: 0;
    color: var(--ink);
    white-space: nowrap;
    flex-wrap: nowrap;
    min-width: 0;
    line-height: 1;
  }
  .pcard__wholesale-tag { padding: 3px 6px; background: #111827; color: #fff; font-weight: 700; letter-spacing: 0.02em; font-size: 10px; flex-shrink: 0; line-height: 1; }
  .pcard__wholesale-discount { font-weight: 600; color: var(--ink); font-size: 12px; flex-shrink: 0; line-height: 1; }
  .pcard__wholesale-price { font-family: var(--font-sans); font-size: 14px; font-weight: 700; color: var(--accent); letter-spacing: -0.005em; white-space: nowrap; flex-shrink: 0; margin-left: auto; line-height: 1; display: inline-flex; align-items: baseline; gap: 3px; }
  .pcard__wholesale-price small { font-family: var(--font-sans); font-size: 11px; font-weight: 400; color: var(--ink-muted); letter-spacing: 0; line-height: 1; }
  .pcard__add {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%;
    height: 33px;
    font-family: var(--font-sans); font-size: 14px; letter-spacing: 0; font-weight: 600;
    padding: 0 14px;
    border: 1px solid var(--accent);
    background: var(--paper);
    color: var(--accent);
    border-radius: 2px;
    margin-top: 18px;
    transition: background .15s, color .15s, border-color .15s, transform .12s;
    cursor: pointer;
  }
  .pcard__add:active { transform: translateY(1px); }
  .pcard__add svg { display: block; }
  .pcard__add:hover { background: var(--accent); border-color: var(--accent); color: var(--paper); }
  .pcard__add.added { background: var(--green); border-color: var(--green); color: var(--paper); }
  .pcard__badge {
    position: absolute; top: 12px; left: 12px;
    font-family: var(--font-sans); font-size: 11px; letter-spacing: 0; font-weight: 600;
    padding: 4px 10px; background: var(--ink); color: var(--paper);
    border-radius: 999px;
    z-index: 3;
  }
  .pcard__badge--sale { background: var(--accent); }
  .pcard__badge--new  { background: var(--paper); color: var(--ink); border: 1px solid var(--ink); }

  /* compact card adjustments */
  [data-density='compact'] .pcard__name  { font-size: 18px; }
  [data-density='compact'] .pcard__price { font-size: 17px; }
  [data-density='compact'] .pcard__brand { font-size: 11px; padding: 5px 9px 6px; }
  [data-density='showcase'] .pcard__name  { font-size: 28px; }
  [data-density='showcase'] .pcard__price { font-size: 24px; }
  [data-density='showcase'] .pcard__brand { font-size: 14px; padding: 7px 13px 8px; }

  .product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--card-gap);
  }
  [data-density='compact'] .product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  [data-density='showcase'] .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  @media (max-width: 1100px) { .product-grid, [data-density='compact'] .product-grid, [data-density='showcase'] .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media (max-width: 820px)  { .product-grid, [data-density='compact'] .product-grid, [data-density='showcase'] .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 520px)  { .product-grid, [data-density='compact'] .product-grid, [data-density='showcase'] .product-grid { grid-template-columns: minmax(0, 1fr); } }

  /* footer */
  footer.site {
    background: var(--espresso);
    color: var(--on-dark);
    padding: 88px 0 32px;
    font-family: var(--font-sans);
  }
  footer .grid {
    display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 56px;
  }
  @media (max-width: 820px) { footer .grid { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 520px) { footer .grid { grid-template-columns: 1fr; } }
  footer h4 { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--on-dark-muted); margin: 0 0 18px; font-weight: 500; }
  footer ul { list-style: none; margin: 0; padding: 0; }
  footer li { margin-bottom: 10px; font-size: 14px; }
  footer a:hover { color: var(--accent-soft); }
  footer .brand { font-family: var(--font-display); font-weight: 700; font-size: 28px; line-height: 1; margin-bottom: 16px; letter-spacing: -0.02em; }
  footer .brand small { display: block; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.3em; margin-top: 6px; font-style: normal; color: var(--on-dark-muted); }
  footer .meta {
    border-top: 1px solid #2a1f15;
    margin-top: 64px;
    padding-top: 28px;
    display: flex; justify-content: space-between; align-items: center;
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--on-dark-muted);
    gap: 24px; flex-wrap: wrap;
  }
  footer .pay { display: flex; gap: 10px; }
  footer .pay span { padding: 4px 8px; border: 1px solid #2a1f15; color: var(--on-dark-muted); }

  /* cart drawer */
  .drawer-mask {
    position: fixed; inset: 0;
    background: rgba(27,19,12,0.4);
    backdrop-filter: blur(2px);
    z-index: 80;
    opacity: 0; pointer-events: none;
    transition: opacity .2s ease;
  }
  .drawer-mask.open { opacity: 1; pointer-events: auto; }
  .drawer {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: 460px; max-width: 100vw;
    background: var(--paper);
    z-index: 90;
    transform: translateX(100%);
    transition: transform .25s cubic-bezier(.6,.2,.2,1);
    display: flex; flex-direction: column;
    border-left: 1px solid var(--rule);
  }
  .drawer.open { transform: translateX(0); }
  .drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 24px 28px; border-bottom: 1px solid var(--rule); }
  .drawer__head h3 { margin: 0; font-family: var(--font-display); font-size: 20px; font-weight: 600; letter-spacing: -0.01em; }
  .drawer__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 16px 28px; -webkit-overflow-scrolling: touch; }
  .drawer__foot { padding: 24px 28px; border-top: 1px solid var(--rule); background: var(--bg-card); flex-shrink: 0; }
  .drawer__line { display: flex; justify-content: space-between; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 8px; }
  .drawer__total { display: flex; justify-content: space-between; align-items: baseline; font-family: var(--font-sans); font-size: 20px; font-weight: 700; margin-bottom: 16px; padding-top: 12px; border-top: 1px solid var(--rule); letter-spacing: -0.01em; }
  .drawer__total small { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; }

  .citem { display: grid; grid-template-columns: 72px 1fr auto; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--rule-soft); align-items: start; }
  .citem__img { height: 90px; }
  .citem__name { font-family: var(--font-display); font-size: 14px; line-height: 1.3; margin: 0 0 4px; letter-spacing: -0.005em; font-weight: 600; }
  .citem__brand { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 8px; }
  .citem__qty { display: inline-flex; border: 1px solid var(--rule); }
  .citem__qty button { width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; color: var(--ink-2); }
  .citem__qty button:hover { background: var(--bg-soft); }
  .citem__qty span { width: 30px; height: 24px; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 11px; }
  .citem__price { font-family: var(--font-sans); font-size: 15px; font-weight: 700; text-align: right; letter-spacing: -0.005em; }
  .citem__remove { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); margin-top: 6px; }
  .citem__remove:hover { color: var(--accent); }
  .citem__b2b { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; padding: 4px 8px; background: var(--accent-soft); color: var(--accent-deep); font-size: 10px; letter-spacing: 0.04em; }
  .citem__b2b-tag { background: var(--accent); color: var(--paper); padding: 1px 5px; font-weight: 700; }

  /* free shipping progress */
  .ship-bar { padding: 16px 28px; background: var(--bg-card); border-bottom: 1px solid var(--rule); }
  .ship-bar__txt { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 8px; }
  .ship-bar__track { height: 3px; background: var(--rule); position: relative; }
  .ship-bar__fill { position: absolute; left: 0; top: 0; bottom: 0; background: var(--accent); transition: width .25s; }

  /* search overlay */
  .search-overlay {
    position: fixed; top: 0; left: 0; right: 0;
    background: var(--bg);
    border-bottom: 1px solid var(--rule);
    z-index: 70;
    padding: 32px 0;
    transform: translateY(-100%);
    transition: transform .25s cubic-bezier(.6,.2,.2,1);
  }
  .search-overlay.open { transform: translateY(0); }
  .search-overlay__head { display: flex; gap: 24px; align-items: center; padding-bottom: 24px; border-bottom: 1px solid var(--rule); }
  .search-overlay input { flex: 1; border: 0; background: transparent; font-family: var(--font-display); font-size: 36px; padding: 8px 0; letter-spacing: 0.02em; }
  .search-overlay input:focus { border: 0; }
  .search-overlay__suggest { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; padding-top: 24px; }
  .search-overlay__suggest h5 { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 14px; font-weight: 500; }
  .search-overlay__suggest a { display: block; padding: 6px 0; font-family: var(--font-sans); }
  .search-overlay__suggest a:hover { color: var(--accent); }

  /* cookie banner */
  .cookie {
    position: fixed; left: 24px; bottom: 24px; right: auto;
    max-width: 440px; background: var(--paper);
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 22px 24px;
    z-index: 60;
    box-shadow: 0 30px 60px -20px rgba(27,19,12,0.25);
  }
  .cookie h5 { font-family: var(--font-display); font-size: 22px; margin: 0 0 8px; font-weight: 400; letter-spacing: 0.02em; }
  .cookie p { font-size: 13px; color: var(--ink-2); margin: 0 0 16px; line-height: 1.45; }
  .cookie__actions { display: flex; gap: 10px; flex-wrap: wrap; }

  /* utility */
  .stack { display: flex; flex-direction: column; }
  .row { display: flex; align-items: center; }
  .gap-8 { gap: 8px; } .gap-12 { gap: 12px; } .gap-16 { gap: 16px; } .gap-24 { gap: 24px; }
  .mt-4 { margin-top: 4px; } .mt-8 { margin-top: 8px; } .mt-16 { margin-top: 16px; } .mt-24 { margin-top: 24px; }

  /* keyframes */
  @keyframes fadeUp { from { opacity: 0; transform: translateY(10px);} to { opacity: 1; transform: translateY(0);} }
  .fade-in { animation: fadeUp .4s ease both; }

  /* icons */
  .ico { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.5; }

  /* Revert: no rounded corners on rectangular elements (kept pill counters + dots circular) */
  .btn, .pcard, .pcard__brand, .pcard__weight, .pcard__add, .pcard__badge,
  .pcard__wholesale, .pcard__wholesale-tag, .ph, .ph__label, .stock-badge,
  .toast, .cookie, .dropdown__panel, .cat-card, .hero-img, .cat-img, .hero-collage,
  .prod-gallery__main, .prod-wholesale, .prod-qty, .ck-pay-opt, .ck-summary,
  .bundle-card, .gift-card-art, .gift-amount, .pay-tile, .ship-table,
  .fav-heart, .toast__icon,
  input[type='text'], input[type='email'], .ck-textarea, .ck-select,
  .size-pill {
    border-radius: 0 !important;
  }

  /* === MOBILE — comprehensive adaptation === */
  @media (max-width: 1100px) {
    .cat-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .recent-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .hero-c-grid { grid-template-columns: 1fr 1.4fr !important; }
    .hero-c-grid > div:nth-child(3) { display: none; }
  }
  @media (max-width: 980px) {
    section { padding: 64px 0; }
    section.tight { padding: 44px 0; }
    .promo-section { padding: 72px 0 !important; }
    .hero-b-grid { grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
    .hero-b-grid > *:nth-child(n) { grid-column: auto !important; grid-row: auto !important; }
    .hero-c-grid { grid-template-columns: 1fr !important; }
    .hero-c-grid > div { height: 320px !important; }
    .recent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .section__head { margin-bottom: 32px; padding-bottom: 18px; gap: 18px; }
    .section__title { font-size: clamp(30px, 5.5vw, 56px) !important; }
    .hero-a-grid { grid-template-columns: 1fr !important; gap: 36px !important; align-items: start !important; }
    .hero-img { height: 460px !important; }
    .trust-section { padding: 24px 0 !important; }
    .trust-grid { grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
    .trust-grid > .trust-item { padding-left: 0 !important; border-left: 0 !important; gap: 10px !important; }
    .cat-grid { grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
    .cat-grid { gap: 12px !important; }
    .cat-card__icon { height: 120px !important; background: var(--bg-soft); }
    .cat-card__icon::after { opacity: 0.45 !important; }
    .cat-card__icon svg { width: 56px !important; height: 56px !important; color: var(--accent); }
    .cat-card__body { padding: 16px 16px 14px !important; gap: 4px; }
    .cat-card__title { font-size: 18px !important; }
    .cat-card__desc { font-size: 12.5px !important; line-height: 1.45; }
    .cat-card__arrow { width: 16px !important; height: 16px !important; color: var(--accent); }
    .brands-grid { grid-template-columns: repeat(3, 1fr) !important; }
    .promo-grid { grid-template-columns: 1fr !important; gap: 36px !important; padding-top: 0 !important; }
    .news-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .bundles-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
    .ship-hero-grid, .cat-hero-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
    .ship-carrier-grid, .ship-info-grid, .ship-returns-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
    .ck-layout { grid-template-columns: 1fr !important; gap: 28px !important; }
    .ck-summary { position: relative !important; top: 0 !important; order: -1; }
    .gift-layout { grid-template-columns: 1fr !important; gap: 28px !important; }
    .gift-preview { position: relative !important; top: 0 !important; max-width: 480px; margin: 0 auto; }
    .prod-layout { grid-template-columns: minmax(0, 1fr) !important; gap: 32px !important; }
    .prod-specs { grid-template-columns: minmax(0, 1fr) !important; }
    .prod-reviews__summary { grid-template-columns: 1fr !important; text-align: center; }
  }

  @media (max-width: 820px) {
    :root { --gutter: 20px; }
    section { padding: 48px 0; }
    section.tight { padding: 36px 0; }
    .section__head { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 24px; }
    .section__link { align-self: flex-start; }
    .section__title { font-size: clamp(28px, 7vw, 48px) !important; }
    .display { letter-spacing: 0.005em !important; }
    .hero-img--desktop { display: none !important; }
    .hero-img--mobile { display: block; }
    .hero-img--mobile img { width: 100%; height: auto; display: block; }
    .hero-ship-badge { display: none !important; }
    .hero-a-grid {
      grid-template-columns: 1fr 150px !important;
      grid-template-areas:
        "title image"
        "sub   sub"
        "ctas  ctas"
        "meta  meta" !important;
      column-gap: 16px !important;
      align-items: start !important;
    }
    .hero-a-title { font-size: 34px !important; text-align: left !important; line-height: 1.05 !important; }
    .hero-a-sub { text-align: center !important; margin-left: auto !important; margin-right: auto !important; max-width: 100% !important; font-size: 15px !important; margin-top: 18px !important; }
    .hero-a-buttons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; margin-top: 14px !important; }
    .hero-a-buttons .btn { width: 100% !important; }
    .hero-meta-grid { display: none !important; }
    .promo-pack-grid { display: none !important; }
    .brands-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .pay-grid { grid-template-columns: 1fr 1fr !important; }
    .ck-grid { grid-template-columns: 1fr !important; }
    .ck-grid .ck-field[style*="span 2"] { grid-column: span 1 !important; }
    .ck-summary { padding: 18px 18px !important; }
    .ck-summary__lines { max-height: 240px !important; }
    .ck-express__grid { grid-template-columns: 1fr 1fr !important; }
    .ck-express__btn { height: 50px !important; }
    .ship-table__head, .ship-table__row { grid-template-columns: 1fr 1fr !important; gap: 8px 16px !important; padding: 12px 14px !important; }
    .ship-table__head span:nth-child(3), .ship-table__head span:nth-child(4) { display: none; }
    .ship-table__row > *:nth-child(3) { grid-column: 1; font-size: 11px; color: var(--ink-muted); }
    .ship-table__row > *:nth-child(4) { grid-column: 2; text-align: right; }
    .prod-section { padding: 32px 0 56px !important; }
    .prod-layout { gap: 24px !important; }
    .prod-info { padding-top: 0 !important; }
    .prod-info > h1.display { font-size: clamp(26px, 6.5vw, 36px) !important; margin: 6px 0 12px !important; letter-spacing: 0.01em !important; }
    .prod-info .pcard__brand-row { flex-wrap: wrap; gap: 8px 12px; }
    .prod-info .pcard__meta-row { gap: 6px 10px !important; margin-bottom: 14px !important; font-size: 12px; }
    .prod-price { font-size: 28px !important; margin: 4px 0 0 !important; }
    .prod-actions { flex-direction: column !important; align-items: stretch !important; margin-top: 22px !important; }
    .prod-qty {
      display: grid !important;
      grid-template-columns: 1fr 1.2fr 1fr;
      width: 100%;
      align-self: stretch;
    }
    .prod-qty button { width: auto !important; min-height: 48px; }
    .prod-qty span { min-width: 0 !important; border-left: 1px solid var(--rule); border-right: 1px solid var(--rule); }
    .prod-add { width: 100% !important; padding: 16px 18px !important; font-size: 16px !important; min-height: 52px !important; }
    .prod-wholesale { padding: 12px 14px !important; gap: 10px !important; margin: 4px 0 18px !important; }
    .prod-wholesale .pcard__wholesale-tag { font-size: 9px !important; padding: 3px 7px !important; }
    .prod-wholesale > div:last-child > div:first-child { font-size: 10px !important; letter-spacing: 0.04em !important; }
    .prod-wholesale > div:last-child > div:last-child { font-size: 16px !important; }
    .prod-trust-row { gap: 6px !important; margin: 12px 0 18px !important; padding-top: 12px !important; }
    .prod-trust, .prod-trust-row .stock-inline { padding: 6px 10px !important; font-size: 10px !important; letter-spacing: 0.05em !important; gap: 6px !important; }
    .prod-trust .ico, .prod-trust-row .stock-inline .ico { width: 11px !important; height: 11px !important; }
    .prod-trust-row .stock-inline__dot { width: 6px !important; height: 6px !important; }
    .prod-specs { gap: 4px 0 !important; }
    .prod-spec { padding: 9px 0 !important; }
    .prod-spec__v { font-size: 13px !important; word-break: break-word; }
    .prod-tabs { margin-top: 8px; }
    .prod-tabs__bar { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin-bottom: 22px !important; }
    .prod-tabs__bar::-webkit-scrollbar { display: none; }
    .prod-tabs__btn { padding: 12px 18px 12px 0 !important; margin-right: 18px !important; white-space: nowrap; }
    .prod-tabs__shipping { grid-template-columns: 1fr !important; gap: 16px !important; }
    .prod-review__head { flex-wrap: wrap; gap: 8px !important; }
    .prod-bundles { margin-top: 24px; padding-top: 20px; }
    .citem { grid-template-columns: 56px 1fr auto !important; gap: 10px !important; }
    .citem__img { height: 64px !important; }
    .drawer { width: 100vw; max-width: 100vw; }
    footer.site { padding: 56px 0 24px; }
    footer .grid { gap: 40px !important; }
    .ck-steps { display: none !important; }
    .prod-reviews__big { font-size: 42px; }
    .promo-section { padding: 48px 0 !important; }
    .recent-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
    .hero-c-grid > div { height: 240px !important; }

    /* product card image height on mobile */
    :root { --card-gap: 14px; --card-pad: 14px; }
    .pcard__img { height: 240px !important; }

    /* catalog page mobile */
    .cat-pagination { justify-content: center !important; }
    .cat-pagination__nav { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .cat-pagination__nav::-webkit-scrollbar { display: none; }
    .cat-pagination > .mono { width: 100%; text-align: center; }
    .cat-row { grid-template-columns: 1fr !important; gap: 14px !important; padding: 14px !important; }
    .cat-row > a:first-child { height: 220px !important; }
    .cat-row > a:first-child .ph { height: 100% !important; }
    .cat-row > div:nth-child(2) { gap: 4px !important; }
    .cat-row > div:nth-child(3) { align-items: flex-start !important; gap: 12px !important; }
    .cat-row > div:nth-child(3) > div:first-child { justify-content: flex-start !important; }
    .cat-row .pcard__add { align-self: stretch !important; justify-content: center; }
    .cat-product-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
    /* toolbar wrap nicely */
    .cat-main { width: 100%; min-width: 0; }
  }
  @media (max-width: 520px) {
    .cat-row { grid-template-columns: 1fr !important; }
    .cat-row > a:first-child { height: 180px !important; }
  }

  @media (max-width: 520px) {
    :root { --card-gap: 10px; --card-pad: 12px; }
    section { padding: 40px 0; }
    section.tight { padding: 30px 0; }
    .promo-section { padding: 40px 0 !important; }
    .recent-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .pcard__img { height: 200px !important; }
    .pcard__body { padding: 12px !important; }
    .pcard__foot { flex-direction: column !important; align-items: stretch !important; gap: 8px !important; padding-top: 10px !important; }
    .pcard__price { justify-content: flex-start !important; text-align: left; align-self: flex-start; }
    .pcard__add { width: 100%; justify-content: center; }
    .hero-b-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
    .hero-c-grid > div { height: 200px !important; }
    .ann { display: none; }
    .section__head { margin-bottom: 18px; padding-bottom: 14px; }
    .section__title { font-size: clamp(24px, 7vw, 36px) !important; }
    .display { font-size: clamp(28px, 7vw, 44px) !important; }
    .hero-img { height: 320px !important; }
    .trust-section { padding: 20px 0 !important; }
    .trust-grid { grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
    .trust-grid h4 { font-size: 15px !important; }
    .trust-grid p { font-size: 11.5px !important; }
    .trust-grid svg { width: 18px !important; height: 18px !important; }
    .cat-grid {
      grid-template-columns: 1fr !important;
      gap: 10px !important;
    }
    .cat-card {
      flex-direction: row !important;
    }
    .cat-card__icon {
      height: auto !important;
      width: 116px !important;
      flex-shrink: 0;
      border-right: 1px solid var(--rule);
      background: var(--bg-soft) !important;
    }
    .cat-card__icon::after { opacity: 0.6 !important; }
    .cat-card__icon svg { width: 48px !important; height: 48px !important; color: var(--accent); }
    .cat-card__num {
      top: 8px !important; right: 8px !important;
      font-size: 9px !important;
      color: var(--accent-deep) !important;
    }
    .cat-card__body {
      padding: 14px 16px !important;
      flex: 1; min-width: 0;
      justify-content: center;
    }
    .cat-card__title {
      font-size: 17px !important;
      margin: 0 0 4px !important;
    }
    .cat-card__desc {
      font-size: 12.5px !important;
      margin: 0 0 10px !important;
      flex: 0 !important;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .cat-card__foot {
      padding-top: 8px !important;
      border-top: 1px solid var(--rule-soft) !important;
    }
    .cat-card__count { font-size: 9.5px !important; }
    .cat-card__arrow { width: 18px !important; height: 18px !important; color: var(--accent) !important; }
    .cat-img { height: 240px !important; }
    .cat-card__icon { height: 110px !important; }
    .cat-card__icon svg { width: 52px !important; height: 52px !important; }
    .cat-card__body { padding: 14px 14px 12px !important; }
    .cat-card__title { font-size: 16px !important; }
    .cat-card__desc { font-size: 11.5px !important; }
    .brands-grid { grid-template-columns: 1fr 1fr !important; }
    .brands-grid > a { padding: 22px 14px !important; }
    .ann__inner { font-size: 9px; height: 32px; }
    .promo-bar__cta { display: none; }
    .promo-bar__inner { padding: 7px 0 !important; gap: 8px !important; }
    .pcard__name { font-size: 17px !important; }
    .pcard__brand { font-size: 11px !important; padding: 4px 8px 5px !important; }
    .pcard__weight { font-size: 10px; padding: 3px 7px; }
    .pcard__add { padding: 10px 14px !important; font-size: 13px !important; letter-spacing: 0 !important; }
    .pcard__price { font-size: 17px !important; }
    .pcard__wholesale { padding: 6px 8px !important; font-size: 8.5px !important; }
    .pcard__wholesale-price { font-size: 11px !important; }
    .pcard__wholesale-tag { font-size: 8px; padding: 2px 4px; }
    .pcard__badge { font-size: 9px; padding: 3px 6px; }
    .fav-heart { width: 28px; height: 28px; top: 10px; right: 10px; }
    .stock-badge { font-size: 9px; padding: 3px 7px; }
    .prod-section { padding: 24px 0 48px !important; }
    .prod-price { font-size: 24px !important; }
    .prod-info > h1.display { font-size: 24px !important; line-height: 1.1 !important; }
    .prod-gallery__main { aspect-ratio: 1 / 1 !important; }
    .prod-trust-row { margin: 10px 0 14px !important; gap: 5px !important; }
    .prod-trust, .prod-trust-row .stock-inline { padding: 5px 8px !important; font-size: 9.5px !important; }
    .prod-actions { margin-top: 18px !important; gap: 10px !important; }
    .prod-add { padding: 14px 16px !important; font-size: 15px !important; min-height: 48px !important; }
    .prod-qty button { width: 44px; }
    .prod-qty span { min-width: 40px; font-size: 15px; }
    .ck-express__grid { grid-template-columns: 1fr !important; }
    .ck-express__btn { height: 48px !important; font-size: 13px; }
    .ck-pay-opt { padding: 12px 14px !important; }
    .gift-amounts { grid-template-columns: repeat(2, 1fr) !important; }
    .toast { left: 8px; right: 8px; top: 8px; max-width: none; }
    .toast__inner { padding: 10px 12px; }
    .toast__title { font-size: 12px; }
    .citem__name { font-size: 15px; }
    .drawer__head { padding: 18px 18px !important; }
    .drawer__head h3 { font-size: 22px !important; }
    .drawer__body { padding: 12px 18px !important; }
    .drawer__foot { padding: 16px 18px !important; }
    .drawer__total { font-size: 20px !important; }
    .lang-switch { font-size: 10px; }
    .lang-switch button { padding: 3px 6px; }
    .site__actions { gap: 8px !important; }
    .site__logo { font-size: 26px !important; }
    .site__logo small { font-size: 8px; letter-spacing: 0.2em; }
    .site__inner { height: 56px !important; }
    .bundle-card__cover { height: 180px !important; }
    .bundle-card__body { padding: 18px !important; }
    .bundle-card__foot { flex-direction: column; align-items: stretch; gap: 18px !important; }
    .bundle-card__price { gap: 10px !important; }
    .bundle-card__old { font-size: 22px !important; }
    .bundle-card__new { font-size: 34px !important; }
    .bundle-card__btn { padding: 16px 22px !important; font-size: 16px !important; }
    .prod-tabs__bar { margin-bottom: 22px !important; }
    .prod-reviews__big { font-size: 36px !important; }
  }

  /* card rating row (minimalistic) */
  .pcard__brand-row, .pcard__rating-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin-bottom: 0;
  }
  .pcard__rating {
    display: inline-flex; align-items: center; gap: 4px;
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: 0;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
  }
  .pcard__rating .ico { width: 13px; height: 13px; color: var(--accent); fill: currentColor; stroke: none; }
  .pcard__rating span { font-weight: 400; color: var(--ink-muted); }

  /* mobile menu drawer */
  .site__burger { display: none; align-items: center; justify-content: center; width: 32px; height: 32px; color: var(--ink); }
  .mobile-menu {
    position: fixed; top: 0; left: 0; bottom: 0;
    width: 320px; max-width: 90vw;
    background: var(--paper);
    z-index: 90;
    transform: translateX(-100%);
    transition: transform .25s cubic-bezier(.6,.2,.2,1);
    display: flex; flex-direction: column;
    border-right: 1px solid var(--rule);
  }
  .mobile-menu.open { transform: translateX(0); }
  .mobile-menu__head { display: flex; align-items: center; justify-content: space-between; padding: 22px 24px; border-bottom: 1px solid var(--rule); }
  .mobile-menu__nav { flex: 1; overflow-y: auto; padding: 14px 0; }
  .mobile-menu__nav > button {
    display: block; width: 100%;
    padding: 16px 24px;
    text-align: left;
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 0.02em;
    color: var(--ink);
    border-bottom: 1px solid var(--rule-soft);
  }
  .mobile-menu__nav > button:hover { background: var(--bg-soft); }
  .mobile-menu__sub { padding: 6px 0 14px 24px; display: flex; flex-direction: column; }
  .mobile-menu__sub button {
    padding: 10px 24px 10px 16px;
    text-align: left;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-muted);
    border-left: 1px solid var(--rule);
  }
  .mobile-menu__sub button:hover { color: var(--accent); border-left-color: var(--accent); }
  .mobile-menu__foot { padding: 22px 24px; border-top: 1px solid var(--rule); display: flex; flex-direction: column; gap: 18px; }
  .mobile-menu__lang { display: flex; gap: 6px; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.14em; }
  .mobile-menu__lang button { padding: 4px 8px; color: var(--ink-muted); border: 1px solid transparent; }
  .mobile-menu__lang button[aria-pressed='true'] { color: var(--ink); border-color: var(--ink); }
  .mobile-menu__lang span { color: var(--ink-muted); opacity: 0.5; }
  .mobile-menu__contact { display: flex; flex-direction: column; gap: 4px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; color: var(--ink-muted); }

  /* bottom tab bar */
  .bottom-tabs {
    display: none;
    position: fixed; left: 0; right: 0; bottom: 0;
    background: var(--paper);
    border-top: 1px solid var(--rule);
    z-index: 50;
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  .bottom-tabs button {
    flex: 1;
    padding: 8px 4px 10px;
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    color: var(--ink-muted);
    transition: color .15s;
  }
  .bottom-tabs button.is-active { color: var(--ink); }
  .bottom-tabs button:hover { color: var(--ink); }
  .bottom-tabs button .ico { width: 20px; height: 20px; }
  .bottom-tabs button span {
    font-family: var(--font-mono);
    font-size: 9px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .bottom-tabs__count {
    position: absolute;
    top: 4px; right: 50%;
    transform: translateX(14px);
    min-width: 16px; height: 16px;
    padding: 0 4px;
    background: var(--accent);
    color: var(--paper);
    border-radius: 999px;
    font-family: var(--font-mono);
    font-size: 9px;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 600;
    letter-spacing: 0;
  }

  /* product section default desktop padding (overridden on mobile) */
  .prod-section { padding: 56px 0 80px; }

  /* sticky product CTA bar (mobile) */
  .prod-sticky-bar {
    display: none;
    position: fixed; left: 0; right: 0; bottom: 0;
    background: var(--paper);
    border-top: 1px solid var(--rule);
    box-shadow: 0 -8px 24px -12px rgba(27,19,12,0.12);
    z-index: 45;
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  .prod-sticky-bar__inner {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    padding: 12px 20px;
  }

  /* checkout: express checkout */
  .ck-express { display: flex; flex-direction: column; gap: 14px; margin-bottom: 8px; }
  .ck-express__title { display: flex; align-items: center; justify-content: space-between; }
  .ck-express__title .mono { color: var(--ink-muted); font-size: 11px; letter-spacing: 0.14em; }
  .ck-express__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
  }
  .ck-express__btn {
    height: 48px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--ink);
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
    transition: opacity .15s, transform .1s;
    cursor: pointer;
  }
  .ck-express__btn:hover { opacity: 0.85; }
  .ck-express__btn:active { transform: scale(0.98); }
  .ck-express__btn--apple   { background: #000; color: #fff; border-color: #000; font-family: -apple-system, system-ui, sans-serif; }
  .ck-express__btn--apple::before { content: ''; width: 14px; height: 16px; background: currentColor; -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.6 13.4c0-2.4 2-3.6 2.1-3.6-1.2-1.7-3-1.9-3.6-2-1.6-.2-3 .9-3.8.9-.8 0-2-.9-3.3-.9-1.7 0-3.3 1-4.2 2.5-1.8 3.1-.5 7.7 1.3 10.2.9 1.2 1.9 2.6 3.3 2.5 1.3 0 1.8-.9 3.4-.9 1.6 0 2.1.9 3.4.8 1.4 0 2.3-1.2 3.2-2.5 1-1.4 1.4-2.8 1.4-2.9-.1 0-2.7-1-2.7-4.1zM15 5.6c.7-.9 1.2-2.1 1-3.3-1 .1-2.3.7-3 1.6-.7.8-1.3 2-1.1 3.2 1.2.1 2.3-.6 3.1-1.5z"/></svg>') no-repeat center / contain; mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.6 13.4c0-2.4 2-3.6 2.1-3.6-1.2-1.7-3-1.9-3.6-2-1.6-.2-3 .9-3.8.9-.8 0-2-.9-3.3-.9-1.7 0-3.3 1-4.2 2.5-1.8 3.1-.5 7.7 1.3 10.2.9 1.2 1.9 2.6 3.3 2.5 1.3 0 1.8-.9 3.4-.9 1.6 0 2.1.9 3.4.8 1.4 0 2.3-1.2 3.2-2.5 1-1.4 1.4-2.8 1.4-2.9-.1 0-2.7-1-2.7-4.1zM15 5.6c.7-.9 1.2-2.1 1-3.3-1 .1-2.3.7-3 1.6-.7.8-1.3 2-1.1 3.2 1.2.1 2.3-.6 3.1-1.5z"/></svg>') no-repeat center / contain; display: inline-block; margin-right: 4px; }
  .ck-express__btn--paypal  { background: #ffc439; color: #003087; border-color: #ffc439; font-style: italic; }
  .ck-express__btn--google  { background: #fff; color: #000; }
  .ck-express__btn--klarna  { background: #ffa8cd; color: #17120f; border-color: #ffa8cd; }
  .ck-express__sep {
    position: relative;
    text-align: center;
    margin: 8px 0 4px;
  }
  .ck-express__sep::before {
    content: ''; position: absolute; left: 0; right: 0; top: 50%;
    height: 1px; background: var(--rule);
  }
  .ck-express__sep span {
    position: relative;
    background: var(--bg);
    padding: 0 14px;
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-muted);
  }

  /* reviews */
  .prod-reviews__summary {
    display: grid;
    grid-template-columns: 220px 1fr auto;
    gap: 32px;
    align-items: center;
    padding: 24px;
    background: var(--bg-card);
    border: 1px solid var(--rule);
    margin-bottom: 32px;
  }
  .prod-reviews__score { text-align: center; }
  .prod-reviews__big {
    font-family: var(--font-display);
    font-size: 56px;
    line-height: 1;
    letter-spacing: 0.02em;
    margin-bottom: 8px;
  }
  .prod-reviews__bars { display: flex; flex-direction: column; gap: 6px; }
  .prod-reviews__bar-row { display: flex; align-items: center; gap: 12px; font-family: var(--font-mono); font-size: 11px; color: var(--ink-2); }
  .prod-reviews__bar { flex: 1; height: 6px; background: var(--rule); position: relative; }
  .prod-reviews__bar > div { position: absolute; left: 0; top: 0; bottom: 0; background: var(--accent); }
  .prod-reviews__write { display: flex; align-items: center; }
  .prod-reviews__list { display: flex; flex-direction: column; gap: 0; }
  .prod-review { padding: 24px 0; border-bottom: 1px solid var(--rule-soft); }
  .prod-review:last-child { border-bottom: 0; }
  .prod-review__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }

  /* responsive: mobile activations */
  @media (max-width: 820px) {
    .site__inner { grid-template-columns: auto 1fr auto !important; height: 64px !important; gap: 14px !important; }
    .site__nav { display: none !important; }
    .site__actions { gap: 10px !important; }
    .site__actions > button:first-child > span { display: none; }
    .site__burger { display: inline-flex; }
    .bottom-tabs { display: none !important; }
    .cookie { bottom: 24px !important; }
  }
  @media (max-width: 980px) {
    .prod-sticky-bar { display: block; }
    /* leave room for sticky CTA so it doesn't cover last content */
    body:has(.prod-sticky-bar) { padding-bottom: 76px; }
  }
  @media (max-width: 820px) {
    .prod-reviews__summary { grid-template-columns: 1fr; text-align: center; gap: 20px; padding: 20px; }
    .ck-express__grid { grid-template-columns: 1fr 1fr; }
    .ck-express__btn { height: 52px; }
  }

  /* B2B lead form */
  .b2b-field { display: flex; flex-direction: column; gap: 6px; }
  .b2b-field--full { grid-column: span 2; }
  .b2b-field__l { font-family: var(--font-sans); font-size: 12px; font-weight: 500; color: var(--ink-muted); letter-spacing: 0; }
  .b2b-field__e { font-family: var(--font-sans); font-size: 11px; color: var(--accent); }
  .b2b-form input, .b2b-form textarea {
    font: inherit; font-family: var(--font-sans);
    font-size: 14px;
    padding: 11px 14px;
    border: 1px solid var(--rule);
    background: var(--paper);
    color: var(--ink);
    width: 100%;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
  }
  .b2b-form input:focus, .b2b-form textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(0,0,0,0.04); }
  .b2b-form input.is-error, .b2b-form textarea.is-error { border-color: var(--accent); }
  .b2b-form textarea { resize: vertical; min-height: 72px; line-height: 1.5; }
  @media (max-width: 520px) {
    .b2b-fields { grid-template-columns: 1fr !important; }
    .b2b-field--full { grid-column: span 1 !important; }
  }

  /* lang switch in header */
  .lang-switch {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-right: 4px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.14em;
  }
  .lang-switch button {
    padding: 4px 8px;
    color: var(--ink-muted);
    border: 1px solid transparent;
    transition: color .15s, border-color .15s;
  }
  .lang-switch button:hover { color: var(--ink); }
  .lang-switch button[aria-pressed='true'] { color: var(--ink); border-color: var(--rule); }
  .lang-switch span { color: var(--ink-muted); opacity: 0.4; }

  /* promo top bar */
  .promo-bar {
    background: var(--accent);
    color: var(--paper);
  }
  .promo-bar__inner {
    display: flex; align-items: center; justify-content: center; gap: 14px;
    padding: 9px 0;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.01em;
  }
  .promo-bar__pulse {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--paper);
    animation: pulse 1.6s ease-in-out infinite;
    flex-shrink: 0;
  }
  @keyframes pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%      { opacity: 0.4; transform: scale(0.85); }
  }
  .promo-bar__text { font-weight: 500; }
  .promo-bar__cta {
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 600;
    color: inherit;
  }
  .promo-bar__cta:hover { color: var(--ink); }

  /* toast */
  .toast {
    position: fixed; top: 90px; right: 24px;
    z-index: 110;
    max-width: 360px;
    background: var(--paper);
    border: 1px solid var(--rule);
    border-radius: 14px;
    box-shadow: 0 24px 60px -16px rgba(27,19,12,0.22), 0 6px 16px -8px rgba(27,19,12,0.08);
    animation: toastIn .25s cubic-bezier(.5,1.5,.5,1);
  }
  @keyframes toastIn {
    from { transform: translateY(-12px); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
  }
  .toast__inner {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
  }
  .toast__icon {
    width: 28px; height: 28px;
    background: var(--green);
    color: var(--paper);
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
  }
  .toast__body { min-width: 0; }
  .toast__title { font-family: var(--font-sans); font-size: 14px; font-weight: 600; color: var(--ink); }
  .toast__sub { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.05em; color: var(--ink-muted); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .toast__cta {
    padding: 8px 12px;
    border: 1px solid var(--ink);
    background: var(--ink);
    color: var(--paper);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: background .15s;
    white-space: nowrap;
  }
  .toast__cta:hover { background: var(--accent); border-color: var(--accent); }
  .toast__close { color: var(--ink-muted); padding: 4px; }
  .toast__close:hover { color: var(--ink); }

  /* fav heart */
  .fav-heart {
    position: absolute;
    top: 12px; right: 12px;
    width: 34px; height: 34px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--paper);
    border: 1px solid var(--rule);
    border-radius: 50%;
    color: var(--ink-muted);
    transition: color .15s, border-color .15s, background .15s, transform .15s;
    z-index: 2;
    box-shadow: 0 2px 8px -2px rgba(27,19,12,0.08);
  }
  .fav-heart:hover { transform: scale(1.08); }
  .fav-heart .ico { width: 14px; height: 14px; stroke-width: 1.5; }
  .fav-heart:hover { color: var(--accent); border-color: var(--accent); }
  .fav-heart.is-on { color: var(--accent); border-color: var(--accent); }

  /* stock badges */
  .stock-badge {
    position: absolute;
    bottom: 12px; right: 12px;
    padding: 5px 10px;
    font-family: var(--font-sans);
    font-size: 11px;
    letter-spacing: 0;
    font-weight: 600;
    border: 1px solid currentColor;
    border-radius: 999px;
    background: var(--paper);
    z-index: 2;
  }
  .stock-badge--low { color: var(--accent); }
  .stock-badge--out { color: var(--ink-muted); }
  .stock-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-2);
  }
  .stock-inline__dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .stock-inline--low { color: var(--accent); }
  .stock-inline--out { color: var(--ink-muted); }

  /* cart upsell */
  .cart-upsell {
    margin: 20px -28px 0;
    padding: 18px 28px;
    background: var(--bg-card);
    border-top: 1px solid var(--rule);
  }
  .cart-upsell__title {
    color: var(--ink-muted);
    margin-bottom: 12px;
  }
  .cart-upsell__item {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--rule-soft);
  }
  .cart-upsell__item:last-child { border-bottom: 0; }
  .cart-upsell__img { width: 56px; height: 64px; flex-shrink: 0; }
  .cart-upsell__add {
    width: 32px; height: 32px;
    border: 1px solid var(--ink);
    color: var(--ink);
    flex-shrink: 0;
    transition: background .15s, color .15s;
  }
  .cart-upsell__add:hover { background: var(--ink); color: var(--paper); }

  /* size pills (variants) */
  .size-pills { display: flex; gap: 8px; flex-wrap: wrap; }
  .size-pill {
    display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px;
    padding: 10px 14px;
    border: 1px solid var(--rule);
    background: var(--paper);
    color: var(--ink);
    transition: border-color .15s, background .15s;
    cursor: pointer;
    min-width: 88px;
  }
  .size-pill:hover { border-color: var(--ink-muted); }
  .size-pill.is-active { border-color: var(--ink); background: var(--bg-card); }
  .size-pill__w { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; }
  .size-pill__p { font-family: var(--font-sans); font-size: 13px; font-weight: 600; color: var(--ink-2); }
  .size-pill.is-active .size-pill__p { color: var(--accent); }

  /* bundle card */
  .bundle-card {
    background: var(--paper);
    border: 1px solid var(--rule);
    border-radius: 14px;
    overflow: hidden;
    display: flex; flex-direction: column;
    transition: border-color .2s, transform .2s, box-shadow .25s;
  }
  .bundle-card:hover { border-color: var(--ink); transform: translateY(-2px); box-shadow: 0 14px 32px -16px rgba(27,19,12,0.18); }
  .bundle-card__cover {
    position: relative;
    height: 280px;
    background: #2a1f15;
    overflow: hidden;
  }
  .bundle-card__cover-grid {
    display: grid;
    height: 100%;
    gap: 1px;
    background: #1b130c;
  }
  .bundle-card__cover-grid > div .ph { border: 0 !important; }
  .bundle-card__save {
    position: absolute;
    top: 14px; right: 14px;
    background: var(--accent);
    color: var(--paper);
    padding: 6px 10px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
  }
  .bundle-card__body { padding: 24px; display: flex; flex-direction: column; gap: 0; flex: 1; }
  .bundle-card__list {
    list-style: none; padding: 0; margin: 0 0 24px;
    border-top: 1px solid var(--rule-soft);
  }
  .bundle-card__list li {
    display: flex; justify-content: space-between; align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--rule-soft);
    font-size: 14px;
  }
  .bundle-card__list li > span:first-child { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; }
  .bundle-card__list li > .mono { color: var(--ink-muted); }
  .bundle-card__foot {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--rule);
  }
  .bundle-card__price { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
  .bundle-card__old { font-family: var(--font-sans); font-size: 18px; font-weight: 400; color: var(--ink-muted); text-decoration: line-through; text-decoration-thickness: 1.5px; line-height: 1; }
  .bundle-card__new { font-family: var(--font-sans); font-size: 30px; font-weight: 700; color: var(--accent); letter-spacing: -0.015em; line-height: 1.05; }
  .bundle-card__btn { padding: 14px 22px !important; font-size: 15px !important; font-weight: 600; }

  /* gift cards */
  .gift-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 48px; align-items: start; }
  .gift-preview { position: sticky; top: 100px; }
  .gift-card-art {
    aspect-ratio: 1.586 / 1;
    padding: 32px;
    color: var(--paper);
    display: flex;
    flex-direction: column;
    border-radius: 18px;
    box-shadow: 0 30px 60px -20px rgba(27,19,12,0.4);
  }
  .gift-card-art__logo { margin-bottom: 24px; }
  .gift-form { display: flex; flex-direction: column; gap: 32px; }
  .gift-form fieldset { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
  .gift-form legend {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink);
    margin-bottom: 8px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--rule);
    width: 100%;
  }
  .gift-form input[type='text'], .gift-form input[type='email'], .gift-form input[type='number'] {
    font: inherit; font-family: var(--font-sans);
    padding: 12px 14px;
    border: 1px solid var(--rule);
    background: var(--paper);
    outline: none;
    width: 100%;
    transition: border-color .15s;
  }
  .gift-form input:focus { border-color: var(--ink); }
  .gift-amounts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .gift-amount {
    padding: 14px 12px;
    background: var(--paper);
    border: 1px solid var(--rule);
    border-radius: 10px;
    text-align: center;
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 600;
    color: var(--ink);
    cursor: pointer;
    transition: border-color .15s, background .15s;
  }
  .gift-amount:hover { border-color: var(--ink-muted); }
  .gift-amount.is-active { background: var(--ink); color: var(--paper); border-color: var(--ink); }

  @media (max-width: 980px) {
    .gift-layout { grid-template-columns: 1fr; }
    .gift-preview { position: relative; top: 0; max-width: 480px; margin: 0 auto; }
  }
  @media (max-width: 720px) {
    .toast { left: 12px; right: 12px; top: 12px; max-width: none; }
    .gift-amounts { grid-template-columns: repeat(2, 1fr); }
    .bundle-card__cover { height: 220px; }
    .bundles-grid, .wrap[style*='gridTemplateColumns'] { grid-template-columns: 1fr !important; }
  }
  @media (max-width: 820px) {
    .promo-bar__inner { font-size: 11px; padding: 8px 16px; }
    .promo-bar__cta { font-size: 9px; }
  }

  /* catalog page */
  .cat-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 56px;
    align-items: start;
  }
  .cat-sidebar {
    position: sticky;
    top: 100px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    padding-right: 8px;
  }
  .cat-sidebar::-webkit-scrollbar { width: 6px; }
  .cat-sidebar::-webkit-scrollbar-thumb { background: var(--rule); }
  .cat-main { min-width: 0; }
  .cat-mobile-filter { display: none; }
  .cat-toolbar-anchor { position: absolute; }

  /* range thumb styling */
  .prng::-webkit-slider-thumb {
    appearance: none;
    width: 16px; height: 16px;
    background: var(--paper);
    border: 1.5px solid var(--ink);
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    margin-top: -6px;
  }
  .prng::-moz-range-thumb {
    width: 16px; height: 16px;
    background: var(--paper);
    border: 1.5px solid var(--ink);
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
  }
  .prng::-webkit-slider-runnable-track { background: transparent; height: 2px; }
  .prng::-moz-range-track { background: transparent; height: 2px; }

  .cat-filter-drawer { width: 360px; }

  @media (max-width: 980px) {
    .cat-layout { grid-template-columns: 1fr; gap: 0; }
    .cat-sidebar { display: none; }
    .cat-mobile-filter { display: inline-flex !important; }
    .cat-hero-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  }
  @media (max-width: 720px) {
    .product-grid, [data-density='standard'] .product-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
  }

  /* product page */
  .prod-crumb { font-size: 11px; }
  .prod-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 64px;
    align-items: flex-start;
  }
  .prod-info, .prod-gallery { min-width: 0; }
  .prod-gallery { position: relative; }
  .prod-gallery__main { position: relative; aspect-ratio: 1 / 1.05; background: var(--paper); border: 1px solid var(--rule); border-radius: 16px; overflow: hidden; }
  .prod-gallery__main .ph { height: 100% !important; width: 100% !important; border: 0; border-radius: 0; }
  .prod-gallery__main .ph--photo img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }

  .prod-info { padding-top: 4px; }
  .prod-price {
    display: inline-flex; align-items: baseline; gap: 10px;
    font-family: var(--font-sans);
    font-size: 36px;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin: 12px 0 4px;
  }
  .prod-price s { color: var(--ink-muted); font-size: 20px; font-weight: 400; }
  .prod-price .new { color: var(--accent); }
  .prod-price__unit { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); font-weight: 500; }

  .prod-trust-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; padding-top: 0; }
  .prod-trust,
  .prod-trust-row .stock-inline {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 9px 13px;
    background: var(--bg-card);
    border: 1px solid var(--rule);
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink);
    font-weight: 600;
  }
  .prod-trust-row .stock-inline--in    { color: var(--green); border-color: var(--green); background: var(--green-soft); }
  .prod-trust-row .stock-inline--low   { color: var(--accent-deep); border-color: var(--accent); background: var(--accent-soft); }
  .prod-trust-row .stock-inline--out   { color: var(--ink-muted); }

  .prod-wholesale {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 16px;
    background: var(--accent-soft);
    border-left: 2px solid var(--accent);
    border-radius: 10px;
    margin: 4px 0 24px;
  }
  .prod-wholesale .pcard__wholesale-tag { font-size: 10px; padding: 4px 9px; letter-spacing: 0; font-weight: 700; }

  .prod-actions { display: flex; gap: 12px; align-items: stretch; margin-top: 36px; }
  .prod-qty {
    display: inline-flex;
    border: 1px solid var(--ink);
    align-items: stretch;
    background: var(--paper);
    border-radius: 10px;
    overflow: hidden;
  }
  .prod-qty button {
    width: 48px;
    font-size: 18px;
    color: var(--ink);
    transition: background .15s, color .15s;
  }
  .prod-qty button:hover { background: var(--ink); color: var(--paper); }
  .prod-qty span {
    min-width: 44px;
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 600;
    border-left: 1px solid var(--rule);
    border-right: 1px solid var(--rule);
  }
  .prod-add {
    flex: 1;
    padding: 18px 24px;
    font-size: 17px;
    letter-spacing: 0;
    font-weight: 600;
    min-height: 56px;
  }

  .prod-specs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 32px;
  }
  .prod-spec {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--rule-soft);
    align-items: center;
  }
  .prod-spec__l { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); }
  .prod-spec__v { font-size: 14px; color: var(--ink); text-align: right; }

  /* product bundles — expandable rows */
  .prod-bundles { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--rule); min-width: 0; }
  .prod-bundles__head { color: var(--ink-muted); margin-bottom: 14px; }
  .prod-bundles__list { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
  .prod-bundle {
    background: var(--bg-card);
    border: 1px solid var(--rule);
    transition: border-color .15s;
    min-width: 0;
    overflow: hidden;
  }
  .prod-bundle:hover { border-color: var(--ink-muted); }
  .prod-bundle.is-open { border-color: var(--accent); background: var(--paper); }
  .prod-bundle__row {
    display: flex; align-items: center; gap: 14px;
    padding: 12px 14px;
    cursor: pointer;
    min-width: 0;
  }
  .prod-bundle__stack { display: inline-flex; align-items: center; flex-shrink: 0; min-width: 80px; }
  .prod-bundle__avatar { width: 44px; height: 44px; position: relative; }
  .prod-bundle__avatar .ph { height: 100% !important; border: 1px solid var(--rule); background: #fff; border-radius: 0; }
  .prod-bundle__body { flex: 1; min-width: 0; }
  .prod-bundle__title { font-family: var(--font-sans); font-size: 14px; font-weight: 600; color: var(--ink); line-height: 1.2; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
  .prod-bundle__discount { font-size: 11px; font-weight: 700; color: var(--paper); background: var(--accent); padding: 2px 6px; }
  .prod-bundle__names { font-family: var(--font-sans); font-size: 11.5px; color: var(--ink-muted); margin-top: 4px; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .prod-bundle__right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
  .prod-bundle__priceblock { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; line-height: 1; }
  .prod-bundle__old { font-family: var(--font-sans); font-size: 12px; font-weight: 400; color: var(--ink-muted); text-decoration: line-through; }
  .prod-bundle__price { font-family: var(--font-sans); font-size: 17px; font-weight: 700; color: var(--accent); letter-spacing: -0.005em; }
  .prod-bundle__chev { color: var(--ink-muted); transition: transform .2s; }
  .prod-bundle.is-open .prod-bundle__chev { transform: rotate(180deg); }
  .prod-bundle__expand {
    border-top: 1px solid var(--rule);
    padding: 12px 14px 14px;
  }
  .prod-bundle__items { list-style: none; padding: 0; margin: 0 0 14px; display: flex; flex-direction: column; gap: 0; }
  .prod-bundle__items li {
    display: grid; grid-template-columns: 44px minmax(0, 1fr) auto auto; gap: 12px; align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid var(--rule-soft);
    font-size: 13px;
  }
  .prod-bundle__items li:last-child { border-bottom: 0; }
  .prod-bundle__items li .ph { height: 44px !important; width: 44px; border: 1px solid var(--rule); background: #fff; border-radius: 0; }
  .prod-bundle__item-name { font-weight: 500; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .prod-bundle__item-meta { font-family: var(--font-mono); font-size: 10px; color: var(--ink-muted); letter-spacing: 0.04em; }
  .prod-bundle__item-price { font-family: var(--font-sans); font-size: 13px; font-weight: 600; color: var(--ink); text-align: right; min-width: 56px; }
  .prod-bundle__summary {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--rule-soft);
    flex-wrap: wrap;
  }
  .prod-bundle__add-full { padding: 10px 14px; font-size: 13px; }
  @media (max-width: 520px) {
    .prod-bundle__row { padding: 10px 12px; gap: 10px; }
    .prod-bundle__stack { min-width: 60px; }
    .prod-bundle__avatar { width: 36px; height: 36px; }
    .prod-bundle__title { font-size: 13px; }
    .prod-bundle__names { font-size: 10.5px; }
    .prod-bundle__price { font-size: 15px; }
    .prod-bundle__items li { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 10px; font-size: 12px; }
    .prod-bundle__item-meta { display: none; }
  }

  .prod-tabs__bar {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--rule);
    margin-bottom: 32px;
  }
  .prod-tabs__btn {
    padding: 14px 24px 14px 0;
    margin-right: 24px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-muted);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color .15s, border-color .15s;
  }
  .prod-tabs__btn:hover { color: var(--ink); }
  .prod-tabs__btn.is-active { color: var(--ink); border-bottom-color: var(--ink); }

  @media (max-width: 960px) {
    .prod-layout { grid-template-columns: minmax(0, 1fr); gap: 40px; }
    .prod-specs { grid-template-columns: 1fr; }
  }
  @media (max-width: 520px) {
    .prod-price { font-size: 28px; }
    .prod-add { font-size: 16px; padding: 16px 20px; min-height: 52px; }
  }

  /* shipping page — content blocks */
  .ship-blocks {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    max-width: 800px;
    margin: 0 auto;
  }
  .ship-block {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 24px;
    padding: 28px 0;
    border-bottom: 1px solid var(--rule);
  }
  .ship-block:last-child { border-bottom: 0; }
  .ship-block__num { font-size: 13px; padding-top: 4px; }
  .ship-block__title {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.2;
    margin: 0 0 10px;
    color: var(--ink);
  }
  .ship-block__text {
    font-size: 15px;
    line-height: 1.65;
    color: var(--ink-2);
    margin: 0;
    max-width: 640px;
  }
  @media (max-width: 720px) {
    .ship-block { grid-template-columns: 1fr; gap: 6px; padding: 22px 0; }
    .ship-block__title { font-size: 19px; }
  }

  /* shipping page */
  .ship-table {
    border: 1px solid var(--rule);
    border-radius: 14px;
    overflow: hidden;
    background: var(--paper);
  }
  .ship-table__head,
  .ship-table__row {
    display: grid;
    grid-template-columns: 120px 1fr 1fr 110px;
    gap: 24px;
    padding: 18px 24px;
    align-items: center;
  }
  .ship-table__head {
    background: var(--bg-card);
    border-bottom: 1px solid var(--rule);
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-muted);
  }
  .ship-table__row {
    border-bottom: 1px solid var(--rule-soft);
  }
  .ship-table__row:last-child { border-bottom: 0; }
  .ship-table__row:hover { background: var(--bg-card); }

  .pay-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 12px;
  }
  .pay-tile {
    padding: 28px 18px;
    background: var(--paper);
    border: 1px solid var(--rule);
    border-radius: 12px;
    text-align: center;
    transition: border-color .15s, background .15s;
  }
  .pay-tile:hover { border-color: var(--ink); }
  .pay-tile span {
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink);
    font-weight: 500;
  }
  .pay-attrs {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--rule);
  }

  @media (max-width: 820px) {
    .ship-table__head, .ship-table__row { grid-template-columns: 1fr 1fr; gap: 8px 16px; padding: 14px 16px; }
    .ship-table__head span:nth-child(3), .ship-table__head span:nth-child(4) { display: none; }
    .ship-table__row > *:nth-child(3) { grid-column: 1; font-size: 11px; color: var(--ink-muted); }
    .ship-table__row > *:nth-child(4) { grid-column: 2; text-align: right; }
    .pay-grid { grid-template-columns: repeat(2, 1fr); }
    .ship-carrier-grid, .ship-info-grid, .ship-returns-grid, .ship-hero-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  }

  /* checkout */
  .ck-steps {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }
  .ck-step { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-muted); }
  .ck-step__num {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px;
    border: 1px solid var(--rule);
    background: var(--paper);
    font-size: 10px;
    transition: background .15s, color .15s, border-color .15s;
  }
  .ck-step.is-active { color: var(--ink); }
  .ck-step.is-active .ck-step__num { background: var(--ink); color: var(--paper); border-color: var(--ink); }
  .ck-step.is-done { color: var(--accent); }
  .ck-step.is-done .ck-step__num { background: var(--accent); color: var(--paper); border-color: var(--accent); }
  .ck-step__sep { width: 24px; height: 1px; background: var(--rule); }

  .ck-layout {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 56px;
    align-items: start;
  }
  .ck-form { display: flex; flex-direction: column; gap: 32px; }
  .ck-form fieldset {
    border: 0;
    padding: 0;
    margin: 0;
    display: flex; flex-direction: column; gap: 16px;
  }
  .ck-form legend {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink);
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--rule);
    width: 100%;
  }
  .ck-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .ck-field { display: flex; flex-direction: column; gap: 6px; }
  .ck-field__l {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-muted);
  }
  .ck-field__err {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--accent);
    letter-spacing: 0.06em;
  }
  .ck-form input[type='text'],
  .ck-form input[type='email'],
  .ck-form input[type='tel'],
  .ck-select,
  .ck-textarea {
    font: inherit;
    font-family: var(--font-sans);
    font-size: 14px;
    padding: 12px 14px;
    border: 1px solid var(--rule);
    background: var(--paper);
    color: var(--ink);
    border-radius: 0;
    width: 100%;
    outline: none;
    transition: border-color .15s;
  }
  .ck-form input:focus, .ck-select:focus, .ck-textarea:focus { border-color: var(--ink); }
  .ck-select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);
    background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    padding-right: 36px;
    cursor: pointer;
  }
  .ck-textarea { resize: vertical; min-height: 72px; line-height: 1.5; }

  .ck-pay-options { display: flex; flex-direction: column; gap: 8px; }
  .ck-pay-opt {
    position: relative;
    display: flex; align-items: center; gap: 14px;
    padding: 16px 18px;
    border: 1px solid var(--rule);
    border-radius: 12px;
    background: var(--paper);
    cursor: pointer;
    transition: border-color .15s, background .15s;
  }
  .ck-pay-opt:hover { border-color: var(--ink-muted); }
  .ck-pay-opt.is-active { border-color: var(--ink); background: var(--bg-card); }
  .ck-pay-opt input { position: absolute; opacity: 0; pointer-events: none; }
  .ck-pay-opt__radio {
    width: 16px; height: 16px;
    border-radius: 50%;
    border: 1.5px solid var(--rule);
    background: var(--paper);
    flex-shrink: 0;
    position: relative;
    transition: border-color .15s;
  }
  .ck-pay-opt.is-active .ck-pay-opt__radio { border-color: var(--ink); }
  .ck-pay-opt.is-active .ck-pay-opt__radio::after {
    content: '';
    position: absolute; inset: 3px;
    background: var(--ink);
    border-radius: 50%;
  }
  .ck-pay-opt__l { display: flex; flex-direction: column; gap: 4px; flex: 1; }
  .ck-pay-opt__title { font-family: var(--font-sans); font-size: 15px; font-weight: 500; color: var(--ink); }
  .ck-pay-opt__hint { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); }

  .ck-terms {
    display: flex; gap: 12px; align-items: flex-start;
    padding: 18px 20px;
    background: var(--bg-card);
    border: 1px solid var(--rule);
    cursor: pointer;
  }
  .ck-terms input { position: absolute; opacity: 0; pointer-events: none; }
  .ck-terms__box {
    width: 18px; height: 18px;
    border: 1.5px solid var(--rule);
    background: var(--paper);
    flex-shrink: 0;
    position: relative;
    transition: background .15s, border-color .15s;
    margin-top: 1px;
  }
  .ck-terms input:checked + .ck-terms__box {
    background: var(--ink);
    border-color: var(--ink);
  }
  .ck-terms input:checked + .ck-terms__box::after {
    content: '';
    position: absolute;
    left: 4px; top: 1px;
    width: 6px; height: 11px;
    border-right: 1.5px solid var(--paper);
    border-bottom: 1.5px solid var(--paper);
    transform: rotate(45deg);
  }

  .ck-submit {
    width: 100%;
    padding: 18px 24px;
    font-size: 12px;
    letter-spacing: 0.14em;
  }

  /* summary */
  .ck-summary {
    position: sticky;
    top: 100px;
    background: var(--paper);
    border: 1px solid var(--rule);
    border-radius: 14px;
    padding: 24px 24px 24px;
  }
  .ck-summary__head {
    display: flex; align-items: center; justify-content: space-between;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--rule);
  }
  .ck-summary__lines {
    max-height: 320px;
    overflow-y: auto;
    margin-bottom: 16px;
  }
  .ck-summary__lines::-webkit-scrollbar { width: 4px; }
  .ck-summary__lines::-webkit-scrollbar-thumb { background: var(--rule); }

  .ck-line {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--rule-soft);
    align-items: start;
  }
  .ck-line:last-child { border-bottom: 0; }
  .ck-line__img {
    height: 64px;
    position: relative;
  }
  .ck-line__qty {
    position: absolute;
    top: -8px; right: -8px;
    min-width: 20px; height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--ink);
    color: var(--paper);
    font-family: var(--font-mono);
    font-size: 10px;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 500;
  }
  .ck-line__name {
    font-family: var(--font-display);
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    margin: 4px 0 2px;
  }
  .ck-line__price {
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
  }

  .ck-promo {
    display: grid;
    grid-template-columns: 1fr auto;
    border: 1px solid var(--rule);
    background: var(--paper);
    margin-bottom: 16px;
  }
  .ck-promo input {
    font: inherit; font-family: var(--font-sans);
    border: 0; padding: 12px 14px;
    background: transparent;
    color: var(--ink);
    outline: none;
  }
  .ck-promo button {
    padding: 0 18px;
    background: var(--ink);
    color: var(--paper);
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transition: background .15s;
  }
  .ck-promo button:hover { background: var(--accent); }

  .ck-summary__totals { padding-top: 16px; border-top: 1px solid var(--rule); }
  .ck-row {
    display: flex; justify-content: space-between;
    padding: 8px 0;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.06em;
    color: var(--ink-2);
  }
  .ck-row--total {
    margin-top: 8px;
    padding-top: 14px;
    border-top: 1px solid var(--rule);
    font-family: var(--font-sans);
    font-size: 22px;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: -0.005em;
    align-items: baseline;
    text-transform: none;
  }

  @media (max-width: 960px) {
    .ck-layout { grid-template-columns: 1fr; gap: 32px; }
    .ck-summary { position: relative; top: 0; order: -1; }
    .ck-summary__lines { max-height: 240px; }
  }
  @media (max-width: 520px) {
    .ck-grid { grid-template-columns: 1fr; }
    .ck-field[style*="span 2"] { grid-column: span 1 !important; }
    .ck-steps { font-size: 10px; gap: 8px; }
    .ck-step__sep { width: 12px; }
  }

  /* ============ B2B LANDING — technical palette ============ */
  .b2b-page {
    --b2b-bg: #FFFFFF;
    --b2b-bg-soft: #F4F5F8;
    --b2b-bg-accent: #EEF0F5;
    --b2b-bg-dark: #0B0F1A;
    --b2b-ink: #0B0F1A;
    --b2b-ink-2: #3A4256;
    --b2b-ink-muted: #6B7280;
    --b2b-rule: #E6E8EE;
    --b2b-rule-strong: #C9CDD7;
    --b2b-rule-soft: #F0F1F4;
    --b2b-accent: #C45824;
    --b2b-accent-deep: #9A3412;
    --b2b-accent-2: #0EA5E9;
    --b2b-on-dark: #E6E8EE;
    --b2b-on-dark-muted: #8C93A4;
    font-family: 'Inter', system-ui, sans-serif;
    color: var(--b2b-ink);
    background: var(--b2b-bg);
    line-height: 1.55;
    font-size: 15px;
    font-feature-settings: "ss01", "cv11";
  }
  .b2b-page * { box-sizing: border-box; }
  .b2b-page img { max-width: 100%; display: block; }
  .b2b-page button { font-family: inherit; cursor: pointer; }
  .b2b-page a { color: inherit; text-decoration: none; }
  .b2b-page strong, .b2b-page .b2b-stat strong, .b2b-page .b2b-table { font-variant-numeric: tabular-nums; }

  .b2b-wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
  .b2b-mono {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 11px; letter-spacing: 0.04em;
    color: var(--b2b-ink-muted); font-weight: 500;
    text-transform: uppercase;
    font-variant-numeric: tabular-nums;
  }
  .b2b-accent { color: var(--b2b-accent); }

  .b2b-eyebrow {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase;
    color: var(--b2b-accent); font-weight: 500;
    display: inline-flex; align-items: center; gap: 8px;
    margin-bottom: 18px;
  }
  .b2b-eyebrow::before {
    content: '';
    width: 20px; height: 1px;
    background: var(--b2b-accent);
  }
  .b2b-h1 {
    font-size: clamp(36px, 5.6vw, 64px);
    line-height: 1.04; margin: 0; font-weight: 700; letter-spacing: -0.02em;
  }
  .b2b-h1 span { display: block; }
  .b2b-h2 {
    font-size: clamp(32px, 4.2vw, 56px);
    line-height: 1.05; margin: 0 0 14px; font-weight: 800; letter-spacing: -0.02em;
  }
  .b2b-h3 { font-size: 18px; font-weight: 600; margin: 0 0 12px; }

  /* Buttons */
  .b2b-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    padding: 14px 24px; border: 1.5px solid transparent;
    font-size: 14px; font-weight: 700; letter-spacing: 0.01em;
    background: transparent; color: inherit; border-radius: 0;
    transition: transform 0.15s, background 0.15s, color 0.15s, border-color 0.15s, box-shadow 0.15s;
    line-height: 1; white-space: nowrap;
  }
  .b2b-btn--primary { background: var(--b2b-accent); color: #fff; border-color: var(--b2b-accent); box-shadow: 0 6px 20px rgba(196,88,36,0.25); }
  .b2b-btn--primary:hover { background: var(--b2b-accent-deep); border-color: var(--b2b-accent-deep); transform: translateY(-1px); box-shadow: 0 10px 28px rgba(196,88,36,0.35); }
  .b2b-btn--ghost { background: transparent; color: var(--b2b-ink); border-color: var(--b2b-ink); }
  .b2b-btn--ghost:hover { background: var(--b2b-ink); color: #fff; }
  .b2b-btn--onDark { background: rgba(255,255,255,0.06); color: #fff; border-color: rgba(255,255,255,0.4); backdrop-filter: blur(8px); }
  .b2b-btn--onDark:hover { background: #fff; color: var(--b2b-bg-dark); border-color: #fff; }
  .b2b-btn--outline { background: transparent; color: var(--b2b-accent); border-color: var(--b2b-accent); }
  .b2b-btn--outline:hover { background: var(--b2b-accent); color: #fff; }
  .b2b-btn--block { display: flex; width: 100%; }
  .b2b-btn--xl { padding: 18px 32px; font-size: 16px; }
  .b2b-btn.is-on { background: var(--b2b-bg-accent); }

  .b2b-badge {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 20px; height: 20px; padding: 0 6px;
    background: #fff; color: var(--b2b-accent); font-size: 11px; font-weight: 700;
    margin-left: 4px;
  }

  /* Header */
  .b2b-header {
    position: sticky; top: 0; z-index: 30;
    background: rgba(255,255,255,0.92);
    backdrop-filter: saturate(180%) blur(10px);
    border-bottom: 1px solid var(--b2b-rule);
  }
  .b2b-header__inner {
    display: flex; align-items: center; justify-content: space-between;
    height: 72px; gap: 32px;
  }
  .b2b-logo {
    display: inline-flex; align-items: baseline; gap: 10px;
    padding: 10px 0; cursor: pointer;
  }
  .b2b-logo:hover .b2b-logo__name,
  .b2b-logo:focus-visible .b2b-logo__name { color: var(--b2b-accent); }
  .b2b-logo__name { font-size: 20px; font-weight: 700; letter-spacing: -0.02em; }
  .b2b-logo__tag {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 10px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase;
    color: var(--b2b-accent);
  }
  .b2b-nav { display: flex; align-items: center; gap: 8px; }
  .b2b-nav__link {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 40px; padding: 0 10px; border: 1px solid transparent;
    font-size: 14px; font-weight: 500; color: var(--b2b-ink-2);
    cursor: pointer; transition: color .16s ease, background-color .16s ease, border-color .16s ease;
  }
  .b2b-nav__link:hover,
  .b2b-nav__link:focus-visible {
    color: var(--b2b-accent); background: var(--b2b-bg-soft); border-color: var(--b2b-rule);
  }
  .b2b-header__actions { display: flex; align-items: center; gap: 16px; }
  .b2b-lang { display: flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 500; color: var(--b2b-ink-muted); }
  .b2b-lang button {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 32px; height: 32px; background: transparent; border: 1px solid transparent;
    padding: 0 8px; color: inherit; font-size: 12px; font-weight: 500; cursor: pointer;
  }
  .b2b-lang button:hover,
  .b2b-lang button:focus-visible { color: var(--b2b-accent); border-color: var(--b2b-rule); background: var(--b2b-bg-soft); }
  .b2b-lang button.is-on { color: var(--b2b-ink); font-weight: 700; border-color: var(--b2b-rule); background: #fff; }
  .b2b-header__cta { cursor: pointer; }
  .b2b-burger { display: none; background: none; border: 0; padding: 8px; flex-direction: column; gap: 4px; cursor: pointer; }
  .b2b-burger span { width: 22px; height: 1.5px; background: var(--b2b-ink); display: block; }

  /* Hero — blueprint grid */
  .b2b-hero {
    position: relative;
    padding: 64px 0 80px;
    border-bottom: 1px solid var(--b2b-rule);
    background-color: var(--b2b-bg);
    background-image:
      linear-gradient(to right, rgba(11,15,26,0.04) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(11,15,26,0.04) 1px, transparent 1px);
    background-size: 80px 80px;
    background-position: -1px -1px;
  }
  .b2b-hero::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 0%, var(--b2b-bg) 90%);
    pointer-events: none;
  }
  .b2b-hero > * { position: relative; z-index: 1; }
  .b2b-hero__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center; }
  .b2b-hero__sub { font-size: 17px; line-height: 1.6; color: var(--b2b-ink-2); margin: 28px 0 28px; max-width: 540px; }
  .b2b-hero__bullets { list-style: none; padding: 0; margin: 0 0 36px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
  .b2b-hero__bullets li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--b2b-ink-2); }
  .b2b-hero__bullets svg { color: var(--b2b-accent); flex-shrink: 0; }
  .b2b-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 56px; }
  .b2b-hero__meta {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0;
    padding-top: 24px; border-top: 1px solid var(--b2b-rule);
  }
  .b2b-hero__meta > div {
    font-size: 12px; color: var(--b2b-ink); font-weight: 600;
    min-width: 0; line-height: 1.35; white-space: nowrap;
    padding-right: 8px; border-right: 1px solid var(--b2b-rule);
  }
  .b2b-hero__meta > div:last-child { border-right: 0; }
  .b2b-hero__meta .b2b-mono { display: block; margin-bottom: 6px; font-size: 10px; color: var(--b2b-accent); }
  .b2b-hero__right { position: relative; }
  .b2b-hero__img {
    aspect-ratio: 4/5; background: var(--b2b-bg-soft); overflow: hidden;
    border: 1px solid var(--b2b-rule);
  }
  .b2b-hero__img img { width: 100%; height: 100%; object-fit: cover; }
  .b2b-hero__badge {
    position: absolute; right: -16px; top: -16px;
    background: var(--b2b-ink); color: #fff;
    padding: 14px 16px; max-width: 200px;
    border-left: 4px solid var(--b2b-accent);
  }
  .b2b-hero__badge .b2b-mono { color: var(--b2b-accent); font-size: 10px; display: block; margin-bottom: 4px; }
  .b2b-hero__badge strong { font-size: 16px; font-weight: 700; letter-spacing: -0.01em; }

  /* Section base */
  .b2b-section { padding: 80px 0; }
  .b2b-section--soft { background: var(--b2b-bg-soft); }
  .b2b-section--accent { background: var(--b2b-bg-accent); }
  .b2b-section--dark { background: var(--b2b-bg-dark); color: var(--b2b-on-dark); }
  .b2b-section--dark .b2b-h2 { color: #fff; }
  .b2b-section--dark .b2b-section__sub { color: rgba(250,246,237,0.75); }
  .b2b-section--dark .b2b-form__privacy { color: rgba(250,246,237,0.55); }
  .b2b-section__head { max-width: 820px; margin-bottom: 44px; }
  .b2b-section__sub { font-size: 16px; color: var(--b2b-ink-2); margin: 14px 0 0; line-height: 1.6; max-width: 680px; }
  .b2b-section__cta { display: flex; justify-content: center; margin-top: 36px; }

  /* Advantages — tech grid */
  .b2b-adv-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
    border-top: 1px solid var(--b2b-rule); border-left: 1px solid var(--b2b-rule);
  }
  .b2b-adv-card {
    padding: 36px;
    border-right: 1px solid var(--b2b-rule);
    border-bottom: 1px solid var(--b2b-rule);
    background: #fff;
    position: relative;
    transition: background 0.15s;
  }
  .b2b-adv-card:hover { background: var(--b2b-bg-soft); }
  .b2b-adv-card:hover .b2b-adv-card__icon { color: var(--b2b-accent-deep); }
  .b2b-adv-card__icon {
    width: 36px; height: 36px; color: var(--b2b-accent);
    margin-bottom: 24px; transition: color 0.15s;
  }
  .b2b-adv-card__icon svg { width: 100%; height: 100%; }
  .b2b-adv-card__k {
    position: absolute; top: 36px; right: 36px;
    display: block; font-size: 10px; color: var(--b2b-ink-muted);
  }
  .b2b-adv-card h3 { font-size: 18px; font-weight: 600; margin: 0 0 8px; letter-spacing: -0.01em; }
  .b2b-adv-card p { font-size: 14px; color: var(--b2b-ink-2); margin: 0; line-height: 1.6; }

  /* Categories */
  .b2b-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--b2b-rule); border: 1px solid var(--b2b-rule); }
  .b2b-cat {
    background: #fff; padding: 28px;
    display: flex; flex-direction: column; gap: 18px; min-height: 240px;
    transition: background 0.15s;
  }
  .b2b-cat:hover { background: var(--b2b-bg-soft); }
  .b2b-cat__icon { width: 48px; height: 48px; color: var(--b2b-accent); }
  .b2b-cat__icon svg { width: 100%; height: 100%; }
  .b2b-cat__body { flex: 1; display: flex; flex-direction: column; }
  .b2b-cat__body h3 { font-size: 17px; font-weight: 600; margin: 0 0 8px; letter-spacing: -0.01em; }
  .b2b-cat__body p { font-size: 13px; color: var(--b2b-ink-2); margin: 0 0 12px; line-height: 1.55; flex: 1; }
  .b2b-cat__count { font-size: 10px; }

  /* Table (catalog & tiers) — data-grid feel */
  .b2b-table-wrap { background: #fff; border: 1px solid var(--b2b-rule); overflow-x: auto; }
  .b2b-table { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
  .b2b-table th, .b2b-table td { padding: 16px 20px; text-align: left; border-bottom: 1px solid var(--b2b-rule); }
  .b2b-table th {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 10px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase;
    color: var(--b2b-ink); background: var(--b2b-ink); color: #fff;
    border-bottom: 1px solid var(--b2b-ink);
  }
  .b2b-table tbody tr:last-child td { border-bottom: 0; }
  .b2b-table tbody tr:hover { background: var(--b2b-bg-soft); }
  .b2b-table__product { min-width: 200px; }
  .b2b-table__brand { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 10px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; color: var(--b2b-accent); margin-bottom: 4px; }
  .b2b-table__name { font-size: 15px; font-weight: 600; }
  .b2b-strike { text-decoration: line-through; color: var(--b2b-ink-muted); }
  .b2b-table__best { color: var(--b2b-accent); font-weight: 700; }

  .b2b-table-cards { display: none; }

  /* Form */
  .b2b-form-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 64px; }
  .b2b-form { display: flex; flex-direction: column; gap: 18px; background: #fff; padding: 36px; border: 1px solid var(--b2b-rule); }
  .b2b-form__row { display: grid; gap: 18px; }
  .b2b-form__row--two { grid-template-columns: 1fr 1fr; }
  .b2b-field { display: flex; flex-direction: column; gap: 6px; }
  .b2b-field span { font-size: 12px; font-weight: 600; color: var(--b2b-ink-2); letter-spacing: 0.02em; }
  .b2b-field input, .b2b-field textarea, .b2b-field select {
    width: 100%; padding: 12px 14px; border: 1px solid var(--b2b-rule); background: #fff;
    font-family: inherit; font-size: 14px; color: var(--b2b-ink); border-radius: 0;
    transition: border-color 0.15s;
  }
  .b2b-field input:focus, .b2b-field textarea:focus, .b2b-field select:focus { outline: none; border-color: var(--b2b-accent); }
  .b2b-field .is-err { border-color: #dc2626; }
  .b2b-field em { font-size: 11px; color: #dc2626; font-style: normal; margin-top: 2px; }
  .b2b-chips { display: flex; flex-wrap: wrap; gap: 8px; }
  .b2b-chip {
    padding: 8px 14px; border: 1px solid var(--b2b-rule); background: #fff;
    font-size: 13px; color: var(--b2b-ink-2); font-weight: 500; border-radius: 0;
  }
  .b2b-chip.is-on { background: var(--b2b-accent); color: #fff; border-color: var(--b2b-accent); }
  .b2b-form__privacy { font-size: 12px; color: var(--b2b-ink-muted); margin: 0; line-height: 1.5; }
  .b2b-form__success { font-size: 16px; color: var(--b2b-accent); font-weight: 600; padding: 24px 0; }

  .b2b-success { background: #fff; border: 1px solid var(--b2b-accent); padding: 56px 40px; text-align: center; }
  .b2b-success h2, .b2b-success h3 { color: var(--b2b-accent); margin-bottom: 12px; }

  /* How it works — terminal-step cards */
  .b2b-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; position: relative; }
  .b2b-step {
    position: relative; padding: 28px;
    background: #fff; border: 1px solid var(--b2b-rule);
    border-top: 2px solid var(--b2b-accent);
  }
  .b2b-step__icon {
    width: 44px; height: 44px; color: var(--b2b-accent);
    background: var(--b2b-bg-soft);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 20px;
  }
  .b2b-step__icon svg { width: 26px; height: 26px; }
  .b2b-step__k {
    position: absolute; top: 18px; right: 20px;
    display: block; color: var(--b2b-ink-muted);
  }
  .b2b-step h3 { font-size: 17px; font-weight: 600; margin: 0 0 8px; letter-spacing: -0.01em; }
  .b2b-step p { font-size: 14px; color: var(--b2b-ink-2); margin: 0; line-height: 1.55; }
  .b2b-step__arrow {
    position: absolute; right: -12px; top: 50%; transform: translateY(-50%);
    color: var(--b2b-accent); font-size: 18px; font-weight: 500;
    background: var(--b2b-bg); padding: 0 2px;
  }

  /* Tiers cards (mobile) */
  .b2b-tiers-cards { display: none; }

  /* Who we serve */
  .b2b-who { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .b2b-who-card { display: grid; grid-template-columns: 200px 1fr; gap: 24px; align-items: stretch; background: #fff; border: 1px solid var(--b2b-rule); }
  .b2b-who-card__img { overflow: hidden; position: relative; }
  .b2b-who-card__img img { width: 100%; height: 100%; object-fit: cover; min-height: 200px; }
  .b2b-who-card__icon {
    position: absolute; top: 12px; left: 12px;
    width: 44px; height: 44px; background: var(--b2b-accent); color: #fff;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 6px 16px rgba(0,0,0,0.2);
  }
  .b2b-who-card__icon svg { width: 26px; height: 26px; }
  .b2b-who-card__body { padding: 24px 24px 24px 0; align-self: center; }
  .b2b-who-card__body h3 { font-size: 19px; font-weight: 600; margin: 0 0 8px; }
  .b2b-who-card__body p { font-size: 14px; color: var(--b2b-ink-2); margin: 0; line-height: 1.6; }

  /* Warehouse */
  .b2b-warehouse { display: grid; grid-template-columns: 1fr 1.2fr; gap: 56px; align-items: center; }
  .b2b-warehouse__copy { max-width: 480px; }
  .b2b-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 32px; }
  .b2b-stat {
    position: relative; padding: 24px 0 0;
    border-top: 2px solid var(--b2b-accent);
  }
  .b2b-stat__icon {
    position: absolute; top: -16px; right: 0;
    width: 28px; height: 28px; color: var(--b2b-accent);
    background: #fff; padding: 4px;
  }
  .b2b-stat__icon svg { width: 100%; height: 100%; }
  .b2b-stat strong {
    display: block; font-size: 48px; font-weight: 700;
    color: var(--b2b-ink); letter-spacing: -0.03em; line-height: 1;
    margin-bottom: 8px;
    font-variant-numeric: tabular-nums;
  }
  .b2b-stat span {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 11px; color: var(--b2b-ink-muted); font-weight: 500;
    letter-spacing: 0.04em; text-transform: uppercase;
  }
  .b2b-warehouse__gallery { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; height: 480px; }
  .b2b-warehouse__big { grid-column: 1 / -1; }
  .b2b-warehouse__big, .b2b-warehouse__small { overflow: hidden; background: #ddd; }
  .b2b-warehouse__big img, .b2b-warehouse__small img { width: 100%; height: 100%; object-fit: cover; }

  /* Contact */
  .b2b-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
  .b2b-contact__list { list-style: none; padding: 0; margin: 32px 0 0; display: flex; flex-direction: column; gap: 20px; }
  .b2b-contact__list li {
    display: grid; grid-template-columns: 44px 140px 1fr; gap: 16px;
    padding-bottom: 20px; border-bottom: 1px solid var(--b2b-rule);
    align-items: center;
  }
  .b2b-contact__ico {
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    background: var(--b2b-bg-soft); color: var(--b2b-accent);
  }
  .b2b-contact__ico svg { width: 22px; height: 22px; }
  .b2b-contact__label { font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--b2b-ink-muted); }
  .b2b-contact__list li a, .b2b-contact__list li strong { font-size: 16px; font-weight: 600; color: var(--b2b-ink); }
  .b2b-contact__list li a:hover { color: var(--b2b-accent); }

  /* Brands */
  .b2b-brands { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--b2b-rule); border-left: 1px solid var(--b2b-rule); background: #fff; }
  .b2b-brand {
    padding: 32px; border-right: 1px solid var(--b2b-rule); border-bottom: 1px solid var(--b2b-rule);
    transition: background 0.15s, color 0.15s;
  }
  .b2b-brand:hover { background: var(--b2b-ink); color: #fff; }
  .b2b-brand:hover .b2b-brand__since { color: var(--b2b-accent); }
  .b2b-brand__name { display: block; font-size: 20px; font-weight: 700; letter-spacing: -0.01em; margin-bottom: 4px; }
  .b2b-brand__since { font-size: 10px; color: var(--b2b-ink-muted); }

  /* FAQ */
  .b2b-faq { max-width: 920px; margin: 0 auto; border-top: 1px solid var(--b2b-rule); }
  .b2b-faq__item { border-bottom: 1px solid var(--b2b-rule); }
  .b2b-faq__q { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 24px 0; background: none; border: 0; text-align: left; font-size: 17px; font-weight: 600; color: var(--b2b-ink); cursor: pointer; }
  .b2b-faq__q:hover { color: var(--b2b-accent); }
  .b2b-faq__icon { font-size: 22px; color: var(--b2b-accent); font-weight: 300; min-width: 24px; text-align: center; }
  .b2b-faq__a { padding: 0 32px 24px 0; font-size: 15px; color: var(--b2b-ink-2); line-height: 1.65; }

  /* Final CTA */
  .b2b-final {
    position: relative; overflow: hidden;
    background: var(--b2b-bg-dark); color: var(--b2b-on-dark);
    padding: 96px 0;
  }
  .b2b-final::before {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(ellipse at center, rgba(196,88,36,0.25), transparent 70%);
    pointer-events: none;
  }
  .b2b-final__inner { text-align: center; max-width: 820px; margin: 0 auto; position: relative; z-index: 1; }
  .b2b-final__eye { color: var(--b2b-accent); }
  .b2b-final__title { color: var(--b2b-on-dark); margin-bottom: 24px; font-size: clamp(36px, 5.5vw, 72px); font-weight: 800; }
  .b2b-final__title span { display: block; }
  .b2b-final__sub { font-size: 18px; line-height: 1.6; color: rgba(250,246,237,0.78); margin: 0 auto 40px; max-width: 620px; }
  .b2b-final__cta { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
  .b2b-final .b2b-btn--ghost, .b2b-final .b2b-btn--onDark { color: #fff; border-color: rgba(255,255,255,0.4); }
  .b2b-final .b2b-btn--ghost:hover { background: #fff; color: var(--b2b-bg-dark); }

  /* Footer */
  .b2b-footer { background: var(--b2b-bg-dark); color: var(--b2b-on-dark); padding: 48px 0 32px; border-top: 1px solid rgba(255,255,255,0.08); }
  .b2b-footer__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 48px; padding-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,0.08); }
  .b2b-footer .b2b-logo__name { color: #fff; }
  .b2b-footer__tag { font-size: 14px; color: rgba(250,246,237,0.75); margin: 18px 0 8px; max-width: 420px; line-height: 1.55; }
  .b2b-footer__addr { font-size: 13px; color: rgba(250,246,237,0.55); margin: 0; }
  .b2b-footer__legal { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
  .b2b-footer__legal a { font-size: 13px; color: rgba(250,246,237,0.75); }
  .b2b-footer__legal a:hover { color: var(--b2b-accent); }
  .b2b-footer__copy { font-size: 12px; color: rgba(250,246,237,0.5); padding-top: 24px; }

  /* Request modal */
  .b2b-modal-backdrop {
    position: fixed; inset: 0; z-index: 60;
    background: rgba(11,15,26,0.6);
    backdrop-filter: blur(4px);
    display: flex; align-items: flex-start; justify-content: center;
    padding: 6vh 20px 20px;
    overflow-y: auto;
    animation: b2bFadeIn 0.15s ease-out;
  }
  .b2b-modal {
    position: relative; background: #fff;
    width: 100%; max-width: 580px;
    padding: 40px 40px 36px;
    border: 1px solid var(--b2b-rule);
    box-shadow: 0 24px 60px rgba(11,15,26,0.25);
    animation: b2bModalIn 0.2s ease-out;
  }
  .b2b-modal__close {
    position: absolute; top: 12px; right: 12px;
    background: none; border: 0;
    width: 36px; height: 36px;
    font-size: 24px; line-height: 1;
    color: var(--b2b-ink-muted); cursor: pointer;
  }
  .b2b-modal__close:hover { color: var(--b2b-accent); }
  .b2b-modal__head { margin-bottom: 24px; }
  .b2b-modal__title { font-size: clamp(24px, 3vw, 32px); margin: 0 0 10px; }
  .b2b-modal__sub { font-size: 14px; color: var(--b2b-ink-2); margin: 0; line-height: 1.55; }
  .b2b-modal__form { background: transparent; border: 0; padding: 0; gap: 16px; }
  @keyframes b2bFadeIn { from { opacity: 0; } to { opacity: 1; } }
  @keyframes b2bModalIn {
    from { opacity: 0; transform: translateY(-12px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @media (max-width: 520px) {
    .b2b-modal-backdrop { padding: 0; }
    .b2b-modal { max-width: 100%; min-height: 100%; padding: 56px 20px 28px; box-shadow: none; }
  }

  /* Anfrage FAB & drawer (legacy — kept for safety) */
  .b2b-anfrage-fab {
    position: fixed; bottom: 24px; right: 24px; z-index: 25;
    background: var(--b2b-accent); color: #fff; border: 0;
    padding: 14px 18px; font-size: 14px; font-weight: 600;
    display: inline-flex; align-items: center; gap: 10px;
    box-shadow: 0 8px 24px rgba(196,88,36,0.32);
  }
  .b2b-anfrage-fab:hover { background: var(--b2b-accent-deep); }
  .b2b-drawer__backdrop { position: fixed; inset: 0; background: rgba(15,15,15,0.5); z-index: 50; display: flex; justify-content: flex-end; }
  .b2b-drawer { width: 100%; max-width: 480px; background: #fff; height: 100%; display: flex; flex-direction: column; }
  .b2b-drawer__head { display: flex; align-items: center; gap: 14px; padding: 20px 24px; border-bottom: 1px solid var(--b2b-rule); }
  .b2b-drawer__head h3 { margin: 0; font-size: 18px; font-weight: 700; flex: 1; }
  .b2b-drawer__close { background: none; border: 0; font-size: 28px; line-height: 1; color: var(--b2b-ink); padding: 0 4px; }
  .b2b-drawer__body { flex: 1; overflow-y: auto; padding: 24px; min-height: 0; }
  .b2b-drawer__empty { color: var(--b2b-ink-muted); font-size: 14px; text-align: center; padding: 48px 0; }
  .b2b-drawer__list { list-style: none; padding: 0; margin: 0 0 28px; display: flex; flex-direction: column; gap: 12px; }
  .b2b-drawer__list li { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; align-items: center; padding: 14px; background: var(--b2b-bg-soft); }
  .b2b-drawer__list li > div:first-child { grid-row: 1; }
  .b2b-drawer__qty { display: flex; align-items: center; gap: 4px; }
  .b2b-drawer__qty button { width: 28px; height: 28px; background: #fff; border: 1px solid var(--b2b-rule); font-size: 16px; }
  .b2b-drawer__qty input { width: 40px; height: 28px; text-align: center; border: 1px solid var(--b2b-rule); font-family: inherit; font-size: 14px; padding: 0 4px; }
  .b2b-drawer__remove { background: none; border: 0; color: var(--b2b-ink-muted); font-size: 12px; grid-column: 1 / -1; text-align: right; padding: 0; }
  .b2b-drawer__remove:hover { color: var(--b2b-accent); }

  /* Mobile menu */
  .b2b-mobile-menu { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 40; display: flex; justify-content: flex-end; }
  .b2b-mobile-menu__panel { background: #fff; width: 86%; max-width: 360px; height: 100%; padding: 32px 28px; display: flex; flex-direction: column; gap: 24px; position: relative; }
  .b2b-mobile-menu__close { position: absolute; top: 16px; right: 16px; background: none; border: 0; font-size: 28px; line-height: 1; }
  .b2b-mobile-menu nav { display: flex; flex-direction: column; gap: 16px; margin-top: 24px; }
  .b2b-mobile-menu nav a { font-size: 18px; font-weight: 600; color: var(--b2b-ink); }
  .b2b-mobile-menu__lang { display: flex; gap: 8px; padding-top: 12px; border-top: 1px solid var(--b2b-rule); }
  .b2b-mobile-menu__lang button { padding: 6px 14px; border: 1px solid var(--b2b-rule); background: #fff; font-size: 13px; font-weight: 600; }
  .b2b-mobile-menu__lang button.is-on { background: var(--b2b-ink); color: #fff; border-color: var(--b2b-ink); }

  /* Responsive */
  @media (max-width: 1080px) {
    .b2b-nav { gap: 20px; }
    .b2b-hero__grid { gap: 40px; }
    .b2b-adv-grid { grid-template-columns: repeat(2, 1fr); }
    .b2b-cats { grid-template-columns: repeat(2, 1fr); }
    .b2b-steps { grid-template-columns: repeat(2, 1fr); }
    .b2b-step__arrow { display: none; }
    .b2b-brands { grid-template-columns: repeat(3, 1fr); }
  }
  @media (max-width: 820px) {
    .b2b-wrap { padding: 0 20px; }
    .b2b-header__inner { height: 60px; gap: 12px; }
    .b2b-logo__name { font-size: 18px; }
    .b2b-logo__tag { display: none; }
    .b2b-nav { display: none; }
    .b2b-burger { display: flex; }
    .b2b-lang { display: none; }
    .b2b-header__cta { padding: 10px 14px; font-size: 13px; }
    .b2b-section { padding: 56px 0; }
    .b2b-section__head { margin-bottom: 28px; }
    .b2b-hero { padding: 40px 0 56px; background-size: 40px 40px; }
    .b2b-hero__grid { grid-template-columns: 1fr; gap: 32px; }
    .b2b-hero__right { order: -1; }
    .b2b-hero__img { aspect-ratio: 16/11; }
    .b2b-hero__sub { font-size: 16px; margin: 20px 0 24px; }
    .b2b-hero__bullets { grid-template-columns: 1fr; gap: 10px; margin-bottom: 28px; }
    .b2b-hero__cta { gap: 10px; margin-bottom: 36px; }
    .b2b-hero__cta .b2b-btn { flex: 1; min-width: 0; }
    .b2b-hero__meta { grid-template-columns: 1fr 1fr; gap: 16px; padding-top: 20px; }
    .b2b-hero__meta > div { padding-right: 12px; }
    .b2b-hero__meta > div:nth-child(2n) { border-right: 0; padding-right: 0; }
    .b2b-hero__badge { top: auto; bottom: -12px; right: -8px; padding: 10px 12px; max-width: 170px; }
    .b2b-hero__badge strong { font-size: 14px; }
    .b2b-adv-card { padding: 28px 24px; }
    .b2b-adv-card__k { top: 28px; right: 24px; }
    .b2b-step { padding: 22px 20px; }
    .b2b-step__k { top: 14px; right: 16px; }
    .b2b-form-grid { grid-template-columns: 1fr; gap: 24px; }
    .b2b-form { padding: 20px; }
    .b2b-who { grid-template-columns: 1fr; gap: 16px; }
    .b2b-who-card { grid-template-columns: 1fr; }
    .b2b-who-card__img img { min-height: 200px; max-height: 220px; }
    .b2b-who-card__body { padding: 20px; }
    .b2b-warehouse { grid-template-columns: 1fr; gap: 28px; }
    .b2b-warehouse__copy { max-width: none; }
    .b2b-warehouse__gallery { height: 280px; }
    .b2b-stats { grid-template-columns: 1fr 1fr; gap: 20px 24px; margin-top: 24px; }
    .b2b-stat strong { font-size: 36px; }
    .b2b-contact { grid-template-columns: 1fr; gap: 28px; }
    .b2b-contact__info > p { margin-bottom: 4px; }
    .b2b-contact__form { width: 100%; }
    .b2b-footer { padding: 36px 0 24px; }
    .b2b-footer__top { flex-direction: column; gap: 24px; padding-bottom: 24px; }
    .b2b-footer__legal { flex-direction: row; flex-wrap: wrap; gap: 16px; }
    .b2b-final { padding: 72px 0; }
    .b2b-final__cta { flex-direction: column; width: 100%; }
    .b2b-final__cta .b2b-btn { width: 100%; }
    .b2b-faq__q { padding: 20px 0; font-size: 16px; }
    .b2b-faq__a { padding: 0 0 20px; font-size: 14px; }
  }
  @media (max-width: 640px) {
    .b2b-table-wrap { display: none; }
    .b2b-table-cards { display: flex; flex-direction: column; gap: 12px; }
    .b2b-table-card { background: #fff; border: 1px solid var(--b2b-rule); padding: 16px; display: flex; flex-direction: column; gap: 14px; }
    .b2b-table-card__unit { margin-top: 6px; }
    .b2b-table-card__prices { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; font-size: 13px; }
    .b2b-table-card__prices > div { display: flex; justify-content: space-between; gap: 8px; }
    .b2b-table-card__prices span:first-child { color: var(--b2b-ink-muted); font-size: 12px; }
    .b2b-tiers-cards { display: grid; gap: 10px; }
    .b2b-tier-card { background: #fff; padding: 18px; border: 1px solid var(--b2b-rule); border-top: 2px solid var(--b2b-accent); }
    .b2b-tier-card__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; font-size: 17px; }
    .b2b-tier-card__head strong { font-weight: 700; }
    .b2b-tier-card__vol { font-size: 14px; color: var(--b2b-ink-2); margin-bottom: 10px; }
    .b2b-tier-card p { margin: 0; font-size: 13px; color: var(--b2b-ink-2); line-height: 1.55; }
    #preise .b2b-table-wrap { display: none; }
  }
  @media (max-width: 520px) {
    .b2b-wrap { padding: 0 16px; }
    .b2b-header__inner { height: 56px; }
    .b2b-header__cta { padding: 9px 12px; font-size: 12px; letter-spacing: 0; }
    .b2b-h1 { font-size: 30px; }
    .b2b-h2 { font-size: 26px; }
    .b2b-section { padding: 44px 0; }
    .b2b-section__head { margin-bottom: 24px; }
    .b2b-hero { padding: 28px 0 44px; }
    .b2b-hero__sub { font-size: 15px; }
    .b2b-hero__cta { flex-direction: column; }
    .b2b-hero__cta .b2b-btn { width: 100%; }
    .b2b-adv-grid { grid-template-columns: 1fr; }
    .b2b-adv-card { padding: 22px 20px; }
    .b2b-adv-card__k { top: 22px; right: 20px; }
    .b2b-cats { grid-template-columns: 1fr; }
    .b2b-cat { min-height: 0; flex-direction: row; align-items: flex-start; gap: 16px; padding: 20px; }
    .b2b-cat__icon { width: 36px; height: 36px; flex-shrink: 0; }
    .b2b-cat__body p { font-size: 13px; }
    .b2b-steps { grid-template-columns: 1fr; gap: 10px; }
    .b2b-step { padding: 20px 18px; }
    .b2b-step__icon { width: 40px; height: 40px; margin-bottom: 14px; }
    .b2b-step__icon svg { width: 22px; height: 22px; }
    .b2b-brands { grid-template-columns: repeat(2, 1fr); }
    .b2b-brand { padding: 18px; }
    .b2b-brand__name { font-size: 16px; }
    .b2b-form__row--two { grid-template-columns: 1fr; }
    .b2b-stats { grid-template-columns: 1fr 1fr; gap: 18px 16px; }
    .b2b-stat strong { font-size: 30px; }
    .b2b-stat__icon { width: 22px; height: 22px; top: -12px; }
    .b2b-contact__list li { grid-template-columns: 36px 1fr; gap: 12px; }
    .b2b-contact__ico { width: 36px; height: 36px; }
    .b2b-contact__ico svg { width: 18px; height: 18px; }
    .b2b-contact__label { grid-column: 2; }
    .b2b-contact__list li a, .b2b-contact__list li strong { grid-column: 2; font-size: 15px; }
    .b2b-warehouse__gallery { grid-template-rows: 1fr 0.7fr; height: 240px; gap: 8px; }
    .b2b-modal { padding: 44px 18px 24px; }
    .b2b-modal__title { font-size: 22px; }
  }
