
  :root {
    --bg: #070b07;
    --bg-2: #0b130a;
    --panel: #0e1b0d;
    --panel-2: #132512;
    --line: rgba(141,198,63,0.18);
    --line-strong: rgba(141,198,63,0.4);
    --accent: #8dc63f;
    --accent-dim: #6a9c2c;
    --text: #f2f4ee;
    --text-dim: #b6c2b4;
    --radius: 14px;
    --max: 1180px;
  }
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; scroll-padding-top: 76px; }
  body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }
  img { max-width: 100%; display: block; }
  a { color: var(--accent); }
  h1, h2, h3 { font-family: 'Oswald', sans-serif; letter-spacing: 0.02em; line-height: 1.1; margin: 0; }
  h2 { font-size: clamp(30px, 4.5vw, 44px); font-weight: 700; text-transform: uppercase; }
  h2 span, h1 span { color: var(--accent); }
  .wrap { width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 20px; }
  .eyebrow {
    font-family: 'Oswald', sans-serif; font-weight: 500; font-size: 14px;
    letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); margin: 0 0 10px;
  }
  .lead { color: var(--text-dim); max-width: 60ch; margin: 14px 0 0; font-size: 17px; }
  section { padding: 84px 0; }
  section.alt { background: var(--bg-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }

  /* Buttons */
  .btn {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--accent); color: #0a1408; font-weight: 600; font-size: 15px;
    text-decoration: none; padding: 13px 24px; border-radius: 8px; border: 0; cursor: pointer;
    font-family: inherit; transition: background .15s ease, transform .15s ease;
  }
  .btn:hover { background: var(--accent-dim); transform: translateY(-1px); }
  .btn.ghost { background: transparent; color: var(--text); border: 1px solid var(--line-strong); }
  .btn.ghost:hover { background: rgba(141,198,63,0.1); }
  .btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--accent); outline-offset: 3px;
  }


  /* Feedback ticker */
  .ticker { display: flex; align-items: stretch; background: var(--panel); border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1; overflow: hidden; }
  .tk-badge { flex: none; display: flex; align-items: center; gap: 6px; padding: 10px 16px; background: var(--accent); color: #0b130a; text-decoration: none; font-weight: 600; white-space: nowrap; z-index: 1; }
  .tk-badge b { font-family: 'Oswald', sans-serif; font-size: 16px; }
  .tk-viewport { flex: 1; display: flex; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent); }
  .tk-track { flex: none; display: flex; gap: 48px; list-style: none; margin: 0; padding: 0 24px; animation: tk-scroll 120s linear infinite; }
  .tk-track li { display: flex; align-items: center; gap: 8px; white-space: nowrap; color: var(--text); padding: 10px 0; }
  .tk-track em { font-style: normal; color: var(--text-dim); font-size: 12px; border: 1px solid var(--line-strong); border-radius: 999px; padding: 3px 8px; }
  .tk-stars { color: #f5c542; letter-spacing: 1px; }
  .ticker:hover .tk-track, .ticker:focus-within .tk-track { animation-play-state: paused; }
  @keyframes tk-scroll { from { transform: translateX(0); } to { transform: translateX(-100%); } }
  @media (max-width: 700px) { .tk-badge { padding: 9px 10px; font-size: 12px; } .tk-badge b { font-size: 14px; } .ticker { font-size: 13px; } }
  @media (prefers-reduced-motion: reduce) { .tk-track { animation: none; } .tk-viewport { overflow-x: auto; } .tk-track[aria-hidden] { display: none; } }
  /* Header */
  header.site {
    position: sticky; top: 0; z-index: 50;
    background: rgba(7,11,7,0.97); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line);
  }
  header.site .wrap { display: flex; align-items: center; gap: 20px; height: 66px; }
  .brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--text); margin-right: auto; }
  .brand img { width: 44px; height: 44px; object-fit: contain; }
  .brand span { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 19px; letter-spacing: 0.03em; white-space: nowrap; }
  .brand span b { color: var(--accent); font-weight: 600; }
  nav.main { display: flex; gap: 22px; }
  nav.main a { color: var(--text-dim); text-decoration: none; font-weight: 500; font-size: 15px; }
  nav.main a:hover { color: var(--text); }
  header .btn { padding: 9px 16px; font-size: 14px; }
  .menu-btn { display: none; background: none; border: 1px solid var(--line-strong); color: var(--text); border-radius: 8px; padding: 7px 10px; cursor: pointer; }
  @media (max-width: 860px) {
    nav.main {
      display: none; position: absolute; top: 66px; left: 0; right: 0; flex-direction: column; gap: 0;
      background: var(--bg); border-bottom: 1px solid var(--line); padding: 8px 20px 16px;
    }
    nav.main.open { display: flex; }
    nav.main a { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 16px; }
    .menu-btn { display: inline-block; }
    header .btn.shop { display: none; }
    .cart-btn { margin-left: auto; }
  }

  /* Hero */
  .hero { padding: 40px 0 70px; position: relative; overflow: hidden; }
  .hero picture { display: block; }
  .hero::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(circle at 15% 10%, rgba(141,198,63,0.12), transparent 45%),
                radial-gradient(circle at 90% 90%, rgba(141,198,63,0.08), transparent 45%);
  }
  .hero .banner {
    position: relative; width: 100%; border-radius: var(--radius); border: 1px solid var(--line);
    box-shadow: 0 30px 80px rgba(0,0,0,0.55); height: auto;
  }
  .hero-copy { position: relative; display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: end; margin-top: 40px; }
  .hero h1 { font-size: clamp(34px, 5.5vw, 58px); font-weight: 700; text-transform: uppercase; }
  .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }
  @media (max-width: 760px) {
    .hero-copy { grid-template-columns: 1fr; gap: 22px; }
    .hero-actions { justify-content: flex-start; }
  }

  /* USP strip */
  .usps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; margin-top: 48px; position: relative; }
  .usp { background: var(--panel); padding: 20px; display: flex; gap: 14px; align-items: flex-start; }
  .usp svg { flex: none; width: 28px; height: 28px; color: var(--accent); }
  .usp strong { display: block; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 17px; letter-spacing: 0.03em; text-transform: uppercase; }
  .usp small { color: var(--text-dim); font-size: 14px; line-height: 1.45; display: block; margin-top: 2px; }
  @media (max-width: 900px) { .usps { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 480px) { .usps { grid-template-columns: 1fr; } }

  /* Ranges */
  .range-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 40px; }
  .range-card {
    position: relative; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line);
    background: var(--panel); text-decoration: none; color: var(--text); display: flex; flex-direction: column;
    transition: border-color .2s ease, transform .2s ease; cursor: pointer; text-align: left; font: inherit; padding: 0;
  }
  .range-card:hover { border-color: var(--line-strong); transform: translateY(-3px); }
  .range-card .thumb { aspect-ratio: 4/3; background: var(--panel-2); overflow: hidden; }
  .range-card .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
  .range-card:hover .thumb img { transform: scale(1.05); }
  .range-card .body { padding: 16px 18px 18px; }
  .range-card h3 { font-size: 21px; font-weight: 600; text-transform: uppercase; }
  .range-card p { color: var(--text-dim); font-size: 14px; margin: 6px 0 0; line-height: 1.5; }
  .range-card .count { color: var(--accent); font-size: 13px; font-weight: 600; margin-top: 10px; display: block; }
  @media (max-width: 960px) { .range-cards { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 520px) { .range-cards { grid-template-columns: 1fr; } }

  .feature-15 {
    margin-top: 28px; display: grid; grid-template-columns: 1fr 1.2fr; gap: 0; border-radius: var(--radius);
    overflow: hidden; border: 1px solid var(--line-strong); background: linear-gradient(135deg, var(--panel-2), var(--panel));
  }
  .feature-15 .pics { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--bg); }
  .feature-15 .pics img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 1; }
  .feature-15 .txt { padding: 34px; display: flex; flex-direction: column; justify-content: center; }
  .feature-15 h3 { font-size: clamp(24px, 3vw, 32px); text-transform: uppercase; }
  .feature-15 p { color: var(--text-dim); margin: 12px 0 0; }
  .chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 22px; }
  .chip { font-size: 13px; padding: 5px 11px; border-radius: 999px; border: 1px solid var(--line-strong); color: var(--text); }
  @media (max-width: 820px) { .feature-15 { grid-template-columns: 1fr; } .feature-15 .txt { padding: 24px; } }

  /* Catalogue */
  .filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin: 36px 0 24px; }
  .filter-bar.sub { margin: -12px 0 24px; }
  .filter-bar.sub[hidden] { display: none; }
  .filter-bar.sub button { font-size: 13px; padding: 6px 13px; }
  .filter-bar button {
    font: inherit; font-size: 14px; font-weight: 500; cursor: pointer;
    padding: 8px 16px; border-radius: 999px; border: 1px solid var(--line-strong);
    background: transparent; color: var(--text-dim); transition: all .15s ease;
  }
  .filter-bar button:hover { color: var(--text); }
  .filter-bar button[aria-pressed="true"] { background: var(--accent); color: #0a1408; border-color: var(--accent); }
  .filter-bar button .n { opacity: .7; font-size: 12px; margin-left: 4px; }
  .grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
  .item {
    background: var(--panel); border: 1px solid var(--line); border-radius: 12px; overflow: hidden;
    text-decoration: none; color: var(--text); display: flex; flex-direction: column; transition: border-color .2s ease, transform .2s ease;
  }
  .item:hover { border-color: var(--line-strong); transform: translateY(-2px); }
  .item .ph { aspect-ratio: 1; background: #fff; overflow: hidden; }
  .item .ph img { width: 100%; height: 100%; object-fit: cover; }
  .item .meta { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
  .item .name { font-weight: 600; font-size: 15px; line-height: 1.3; }
  .item .tag { font-size: 12px; color: var(--text-dim); }
  .item .go { margin-top: auto; font-size: 13px; font-weight: 600; color: var(--accent); }
  .more { text-align: center; margin-top: 28px; }
  @media (max-width: 480px) { .grid { grid-template-columns: 1fr 1fr; gap: 10px; } .item .meta { padding: 10px; } .item .name { font-size: 14px; } }

  /* Gallery */
  .gallery { columns: 3 280px; column-gap: 14px; margin-top: 40px; }
  .gallery button {
    display: block; width: 100%; margin: 0 0 14px; padding: 0; border: 1px solid var(--line); border-radius: 12px;
    overflow: hidden; background: #fff; cursor: pointer; break-inside: avoid; position: relative;
  }
  .gallery button img { width: 100%; transition: transform .4s ease; }
  .gallery button:hover img { transform: scale(1.04); }
  .gallery button span {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 14px 12px; text-align: left;
    background: linear-gradient(transparent, rgba(0,0,0,0.8)); color: #fff; font-weight: 600; font-size: 14px;
    opacity: 0; transition: opacity .2s ease;
  }
  .gallery button:hover span, .gallery button:focus-visible span { opacity: 1; }
  @media (hover: none) { .gallery button span { opacity: 1; } }
  /* Product window */
  .pm[hidden] { display: none; }
  .pm {
    position: fixed; inset: 0; z-index: 100; background: rgba(0,0,0,0.82);
    display: flex; align-items: center; justify-content: center; padding: 24px;
  }
  .pm-box {
    position: relative; width: 100%; max-width: 1080px; max-height: 100%; overflow-y: auto;
    background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--radius);
    box-shadow: 0 40px 100px rgba(0,0,0,0.6); padding: 28px; overscroll-behavior: contain;
  }
  .pm-close {
    position: sticky; top: 0; display: block; margin: -14px -14px -42px auto; z-index: 3;
    width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line-strong);
    background: var(--bg); color: var(--text); font-size: 24px; line-height: 1; cursor: pointer;
  }
  .pm-close:hover { background: var(--panel-2); }
  .pm-top { display: grid; grid-template-columns: 1.25fr 1fr; gap: 32px; }
  .pm-top > * { min-width: 0; }
  .pm-info h3 { padding-right: 44px; }
  .pm-main { position: relative; background: #fff; border-radius: 12px; overflow: hidden; aspect-ratio: 4 / 3; }
  .pm-main img { width: 100%; height: 100%; object-fit: contain; }
  .pm-nav {
    position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border-radius: 50%;
    border: 0; background: rgba(7,11,7,0.7); color: #fff; font-size: 24px; cursor: pointer; display: grid; place-items: center;
  }
  .pm-nav:hover { background: rgba(7,11,7,0.9); }
  .pm-nav.prev { left: 10px; } .pm-nav.next { right: 10px; }
  .pm-nav[hidden], .pm-count[hidden], .pm-thumbs[hidden] { display: none; }
  .pm-count { position: absolute; bottom: 10px; right: 10px; background: rgba(7,11,7,0.75); color: #fff; font-size: 12px; padding: 3px 9px; border-radius: 999px; }
  .pm-thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
  .pm-thumbs button { flex: none; width: 64px; height: 64px; padding: 0; border-radius: 8px; overflow: hidden; background: #fff; border: 2px solid transparent; cursor: pointer; opacity: .7; }
  .pm-thumbs button:hover { opacity: 1; }
  .pm-thumbs button[aria-current="true"] { border-color: var(--accent); opacity: 1; }
  .pm-thumbs img { width: 100%; height: 100%; object-fit: cover; }
  .pm-info h3 { font-size: clamp(26px, 3.2vw, 36px); font-weight: 700; text-transform: uppercase; }
  .pm-price { font-family: 'Oswald', sans-serif; font-size: 30px; font-weight: 600; color: var(--accent); margin: 14px 0 4px; }
  .pm-note { font-size: 13px; color: var(--text-dim); margin: 0 0 18px; }
  .pm-note a { color: var(--accent); }
  .pm-buy { width: 100%; justify-content: center; font-size: 16px; padding: 15px 24px; }
  .pm-points { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 8px; font-size: 14px; color: var(--text-dim); }
  .pm-points li { padding-left: 22px; position: relative; }
  .pm-points li::before { content: "✓"; position: absolute; left: 0; color: var(--accent); font-weight: 700; }
  .pm-media { position: sticky; top: 0; align-self: start; }
  .pm-desc { margin-top: 26px; border-top: 1px solid var(--line); padding-top: 20px; }
  .pm-desc h4 { font-family: 'Oswald', sans-serif; font-size: 20px; text-transform: uppercase; letter-spacing: .03em; margin: 0 0 12px; }
  .pm-desc iframe { display: block; width: 100%; height: 900px; border: 0; background: #fff; border-radius: 10px; margin-bottom: 18px; }
  .pm-desc .pm-note { margin: 10px 0 0; text-align: center; }
  @media (max-width: 800px) {
    .pm { padding: 0; align-items: stretch; }
    .pm-box { border-radius: 0; max-height: none; height: 100%; padding: 18px 16px 28px; }
    .pm-top { grid-template-columns: 1fr; gap: 20px; }
    .pm-close { margin: -8px -6px -42px auto; }
    .pm-info h3 { padding-right: 0; }
    .pm-media { position: static; }
  }
  .item .price { font-weight: 600; font-size: 14px; color: var(--text); }

  /* Basket */
  .cart-btn { position: relative; background: none; border: 1px solid var(--line-strong); color: var(--text); border-radius: 8px; width: 42px; height: 38px; display: grid; place-items: center; cursor: pointer; }
  .cart-btn[hidden] { display: none; }
  .cart-btn svg { width: 22px; height: 22px; }
  .cart-btn:hover { background: rgba(141,198,63,0.1); }
  .cart-count { position: absolute; top: -7px; right: -7px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--accent); color: #0a1408; font-size: 12px; font-weight: 700; display: grid; place-items: center; }
  .cart-count[hidden] { display: none; }
  .cart { position: fixed; inset: 0; z-index: 120; background: rgba(0,0,0,0.6); display: flex; justify-content: flex-end; }
  .cart[hidden] { display: none; }
  .cart-panel { width: min(440px, 100%); height: 100%; background: var(--panel); border-left: 1px solid var(--line-strong); display: flex; flex-direction: column; }
  .cart-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--line); }
  .cart-head h3 { font-size: 24px; text-transform: uppercase; }
  .cart-head .pm-close { position: static; margin: 0; float: none; }
  .cart-lines { flex: 1; overflow-y: auto; padding: 8px 20px; }
  .cart-empty { color: var(--text-dim); text-align: center; padding: 40px 0; }
  .cline { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); align-items: start; }
  .cline img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; background: #fff; }
  .cline .nm { font-weight: 600; font-size: 15px; line-height: 1.3; }
  .cline .op { font-size: 13px; color: var(--text-dim); margin-top: 2px; }
  .cline .ctl { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
  .cline .lp { font-weight: 600; white-space: nowrap; }
  .cline .rm { background: none; border: 0; color: var(--text-dim); font-size: 13px; text-decoration: underline; cursor: pointer; padding: 0; }
  .cline .rm:hover { color: var(--text); }
  .cart-foot { padding: 16px 20px 22px; border-top: 1px solid var(--line); }
  .cart-foot[hidden] { display: none; }
  .cart-sum { display: flex; justify-content: space-between; font-size: 15px; margin-bottom: 6px; color: var(--text-dim); }
  .cart-sum small { font-size: 12px; }
  .cart-sum.total { color: var(--text); font-family: 'Oswald', sans-serif; font-size: 22px; margin: 10px 0 14px; }
  .cart-go { width: 100%; justify-content: center; font-size: 16px; padding: 15px; }
  .cart-go[disabled] { opacity: .6; cursor: wait; }
  .cart-note { font-size: 12px; color: var(--text-dim); margin: 10px 0 0; text-align: center; line-height: 1.5; }
  .cart-err { font-size: 14px; color: #f0a090; margin: 8px 0 0; text-align: center; }
  .cart-err:empty { display: none; }
  .qty { display: inline-flex; align-items: center; border: 1px solid var(--line-strong); border-radius: 8px; overflow: hidden; }
  .qty button { background: none; border: 0; color: var(--text); width: 34px; height: 38px; font-size: 18px; cursor: pointer; }
  .qty button:hover { background: rgba(141,198,63,0.12); }
  .qty input { width: 40px; height: 38px; border: 0; border-radius: 0; background: transparent; text-align: center; padding: 0; -moz-appearance: textfield; }
  .qty input::-webkit-outer-spin-button, .qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
  .qty.sm button { width: 28px; height: 30px; font-size: 16px; }
  .qty.sm input { width: 30px; height: 30px; font-size: 14px; }
  .pm-cart { margin: 0 0 14px; }
  .pm-cart[hidden] { display: none; }
  .pm-cart .field { margin-bottom: 12px; }
  .pm-row { display: flex; gap: 10px; }
  .pm-add { flex: 1; justify-content: center; font-size: 16px; }
  .pm-added { font-size: 14px; color: var(--accent); margin: 8px 0 0; min-height: 1px; }
  .pm-added a { color: var(--accent); font-weight: 600; }
  .pm-buy.secondary { background: transparent; color: var(--text); border: 1px solid var(--line-strong); font-size: 14px; padding: 11px 20px; }
  .pm-buy.secondary:hover { background: rgba(141,198,63,0.1); }

  /* Info pages (terms, returns, privacy) */
  .info { position: fixed; inset: 0; z-index: 130; background: rgba(0,0,0,0.82); display: flex; align-items: center; justify-content: center; padding: 24px; }
  .info[hidden] { display: none; }
  .info-box { position: relative; width: 100%; max-width: 760px; max-height: 100%; overflow-y: auto; background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 32px; }
  .info-box h2 { font-size: 32px; margin: 0 48px 6px 0; }
  .info-box h3 { font-family: 'Oswald', sans-serif; font-size: 19px; text-transform: uppercase; letter-spacing: .03em; margin: 24px 0 6px; color: var(--accent); }
  .info-box p, .info-box li { color: var(--text-dim); font-size: 15px; }
  .info-box p { margin: 0 0 10px; }
  .info-box ul { padding-left: 20px; margin: 0 0 10px; }
  .info-box strong { color: var(--text); }
  .info-box .upd { font-size: 13px; }
  @media (max-width: 600px) { .info { padding: 0; } .info-box { border-radius: 0; height: 100%; padding: 22px 16px; } }
  .notice { position: fixed; inset: 0; z-index: 140; background: rgba(0,0,0,0.7); display: grid; place-items: center; padding: 20px; }
  .notice[hidden] { display: none; }
  .notice-box { background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 28px; max-width: 440px; text-align: center; }
  .notice-box strong { font-family: 'Oswald', sans-serif; font-size: 26px; text-transform: uppercase; display: block; margin-bottom: 8px; }
  .notice-box p { color: var(--text-dim); margin: 0 0 18px; }

  /* About */
  .about { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; }
  .about .logo-big { width: min(360px, 80%); margin: 0 auto; filter: drop-shadow(0 20px 50px rgba(141,198,63,0.18)); }
  .about p { color: var(--text-dim); margin: 16px 0 0; }
  .about p strong { color: var(--text); font-weight: 600; }
  .facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 28px; }
  .fact { border: 1px solid var(--line); border-radius: 12px; padding: 16px; background: var(--panel); }
  .fact b { display: block; font-family: 'Oswald', sans-serif; font-size: 28px; color: var(--accent); line-height: 1; }
  .fact span { font-size: 13px; color: var(--text-dim); display: block; margin-top: 6px; line-height: 1.4; }
  @media (max-width: 860px) { .about { grid-template-columns: 1fr; gap: 30px; } }
  @media (max-width: 440px) { .facts { grid-template-columns: 1fr; } }

  /* Contact */
  .contact { display: grid; grid-template-columns: 1fr 1.2fr; gap: 48px; align-items: start; }
  .steps { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 14px; counter-reset: s; }
  .steps li { display: flex; gap: 14px; align-items: flex-start; }
  .steps li::before {
    counter-increment: s; content: counter(s); flex: none; width: 34px; height: 34px; border-radius: 50%;
    border: 1px solid var(--line-strong); color: var(--accent); display: grid; place-items: center;
    font-family: 'Oswald', sans-serif; font-weight: 600;
  }
  .steps b { display: block; }
  .steps span { color: var(--text-dim); font-size: 15px; }
  form.card { background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 28px; box-shadow: 0 30px 80px rgba(0,0,0,0.4); }
  .row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
  .field label { font-size: 14px; font-weight: 500; }
  .field label i { color: var(--text-dim); font-style: normal; font-weight: 400; }
  input, select, textarea {
    font: inherit; font-size: 15px; color: var(--text); background: var(--bg); border: 1px solid var(--line-strong);
    border-radius: 8px; padding: 11px 13px; width: 100%;
  }
  textarea { min-height: 130px; resize: vertical; }
  select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--accent) 50%), linear-gradient(135deg, var(--accent) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
  input::placeholder, textarea::placeholder { color: #7f8c7e; }
  .form-note { font-size: 13px; color: var(--text-dim); margin: 12px 0 0; }
  .form-status { margin-top: 14px; padding: 12px 14px; border-radius: 8px; font-size: 14px; display: none; }
  .form-status.ok { display: block; background: rgba(141,198,63,0.12); border: 1px solid var(--line-strong); }
  .form-status.err { display: block; background: rgba(220,80,60,0.12); border: 1px solid rgba(220,80,60,0.4); }
  .hp { position: absolute; left: -9999px; }
  @media (max-width: 860px) { .contact { grid-template-columns: 1fr; } }
  @media (max-width: 480px) { .row { grid-template-columns: 1fr; gap: 0; } form.card { padding: 20px; } }

  footer.site { border-top: 1px solid var(--line); padding: 36px 0; color: var(--text-dim); font-size: 14px; }
  footer.site .wrap { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; justify-content: space-between; }
  footer.site .brand img { width: 36px; height: 36px; }
  footer.site nav { display: flex; gap: 18px; flex-wrap: wrap; }
  footer.site nav a { color: var(--text-dim); text-decoration: none; }
  footer.site nav a:hover { color: var(--text); }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition: none !important; }
  }

  /* ===== Multi-page additions ===== */
  nav.main a[aria-current="page"] { color: var(--text); }
  section.page-head { padding: 48px 0 0; }
  section.page-head + section { padding-top: 32px; }
  h1.page { font-size: clamp(34px, 5vw, 52px); font-weight: 700; text-transform: uppercase; }
  .filter-bar a {
    font-size: 14px; font-weight: 500; text-decoration: none;
    padding: 8px 16px; border-radius: 999px; border: 1px solid var(--line-strong);
    color: var(--text-dim); transition: all .15s ease;
  }
  .filter-bar a:hover { color: var(--text); }
  .filter-bar a[aria-current="page"] { background: var(--accent); color: #0a1408; border-color: var(--accent); }
  .filter-bar a .n { opacity: .7; font-size: 12px; margin-left: 4px; }
  .item[hidden] { display: none; }
  .crumbs { font-size: 14px; color: var(--text-dim); margin-bottom: 20px; display: flex; flex-wrap: wrap; gap: 6px; }
  .crumbs a { color: var(--text-dim); text-decoration: none; }
  .crumbs a:hover { color: var(--text); text-decoration: underline; }
  .crumbs span[aria-current] { color: var(--text); }
  section.product { padding: 32px 0 64px; }
  .product .pm-media { top: 84px; }
  .product .pm-info h1 { font-size: clamp(28px, 3.4vw, 40px); font-weight: 700; text-transform: uppercase; }
  .pm-desc h2 { font-family: 'Oswald', sans-serif; font-size: 20px; text-transform: uppercase; letter-spacing: .03em; margin: 0 0 12px; }
  .pm-ask { display: inline-block; margin-top: 16px; font-size: 14px; }
  .cline a.nm { color: var(--text); text-decoration: none; display: block; }
  .cline a.nm:hover { text-decoration: underline; }
  .gallery a {
    display: block; width: 100%; margin: 0 0 14px; border: 1px solid var(--line); border-radius: 12px;
    overflow: hidden; background: #fff; break-inside: avoid; position: relative;
  }
  .gallery a img { width: 100%; transition: transform .4s ease; }
  .gallery a:hover img { transform: scale(1.04); }
  .gallery a span {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 14px 12px; text-align: left;
    background: linear-gradient(transparent, rgba(0,0,0,0.8)); color: #fff; font-weight: 600; font-size: 14px;
    opacity: 0; transition: opacity .2s ease;
  }
  .gallery a:hover span, .gallery a:focus-visible span { opacity: 1; }
  @media (hover: none) { .gallery a span { opacity: 1; } }
  .center { text-align: center; margin-top: 32px; }
  .cta-band { display: flex; gap: 24px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
  .legal { max-width: 760px; }
  .legal h1 { font-size: clamp(32px, 4.5vw, 44px); font-weight: 700; text-transform: uppercase; margin-bottom: 6px; }
  .legal h3 { font-family: 'Oswald', sans-serif; font-size: 19px; text-transform: uppercase; letter-spacing: .03em; margin: 24px 0 6px; color: var(--accent); }
  .legal p, .legal li { color: var(--text-dim); font-size: 15px; }
  .legal p { margin: 0 0 10px; }
  .legal ul { padding-left: 20px; margin: 0 0 10px; }
  .legal strong { color: var(--text); }
  .legal .upd { font-size: 13px; }
  .not-found { text-align: center; padding: 90px 0; }
  .not-found .btn { margin: 24px 6px 0; }
  @media (max-width: 800px) {
    section.product { padding-top: 20px; }
    .product .pm-top { grid-template-columns: 1fr; gap: 20px; }
    .product .pm-media { position: static; }
  }
  /* Newsletter sign-up */
  section.signup { border-top: 1px solid var(--line); padding: 64px 0; }
  .signup-in { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
  .news-row { display: flex; gap: 10px; }
  .news-row input { flex: 1; min-width: 0; }
  .news-row .btn { white-space: nowrap; }
  .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  @media (max-width: 860px) { .signup-in { grid-template-columns: 1fr; gap: 20px; } }
  @media (max-width: 420px) { .news-row { flex-direction: column; } }
  /* Easier reading on phones */
  @media (max-width: 600px) {
    body { font-size: 16px; line-height: 1.65; }
    .lead { font-size: 16px; }
    .item .name { font-size: 15px; }
    .item .tag { font-size: 13px; }
    .item .price { font-size: 15px; }
    .item .go { font-size: 14px; }
    .pm-note, .form-note, .crumbs, .cart-sum small { font-size: 14px; }
    .pm-points, .legal p, .legal li, .steps span, .about p { font-size: 15px; }
    .usp small, .range-card p, .feature-15 p { font-size: 15px; }
    .fact span { font-size: 14px; }
    .cart-note { font-size: 13px; }
    .cline .op, .cline .rm { font-size: 14px; }
    .filter-bar a, .filter-bar button { font-size: 15px; }
    .filter-bar a .n, .filter-bar button .n { font-size: 13px; }
    footer.site { font-size: 15px; }
    .tk-track em { font-size: 12px; }
    /* range buttons scroll sideways instead of taking up half the screen */
    nav.filter-bar { flex-wrap: nowrap; overflow-x: auto; margin-left: -20px; margin-right: -20px; padding: 0 20px 6px; scrollbar-width: none; }
    nav.filter-bar::-webkit-scrollbar { display: none; }
    nav.filter-bar a { flex: none; }
  }
  /* Shop search */
  .search { position: relative; display: flex; align-items: center; margin: 0 0 8px; max-width: 640px; }
  .search svg { position: absolute; left: 14px; width: 20px; height: 20px; color: var(--text-dim); pointer-events: none; }
  .search input { padding: 13px 44px; font-size: 16px; border-radius: 999px; }
  .search input::-webkit-search-cancel-button { display: none; }
  .search button { position: absolute; right: 8px; width: 32px; height: 32px; border-radius: 50%; border: 0; background: var(--panel-2); color: var(--text); font-size: 20px; cursor: pointer; }
  .search button[hidden] { display: none; }
  .search-info { color: var(--text-dim); font-size: 14px; margin: 0 0 16px; min-height: 1px; }
  .search-info:empty { margin: 0; }
  #browse[hidden], #results[hidden] { display: none; }
  .item mark { background: rgba(141,198,63,0.3); color: inherit; border-radius: 3px; }
  /* Product description */
  .pm-about { color: var(--text); font-size: 16px; margin: 0 0 16px; }
  .pm-specs { list-style: none; padding: 0; margin: 0 0 20px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
  .pm-specs li { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 10px 14px; font-size: 14px; border-top: 1px solid var(--line); }
  .pm-specs li:first-child { border-top: 0; }
  .pm-specs b { color: var(--text-dim); font-weight: 500; }
  .pm-more summary { cursor: pointer; color: var(--accent); font-weight: 600; font-size: 15px; padding: 6px 0; }
  .pm-more[open] summary { margin-bottom: 12px; }

  /* Bundles */
  .was { color: var(--text-dim); font-weight: 400; font-size: .85em; }
  .save { display: inline-block; background: var(--accent); color: #0a1408; font-weight: 700; font-size: 12px; line-height: 1; padding: 4px 7px; border-radius: 999px; vertical-align: middle; letter-spacing: .02em; }
  .pm-price .was { margin-left: 8px; }
  .pm-price .save { margin-left: 6px; font-size: 13px; }
  .bundle-box { margin-top: 18px; background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 16px 18px; }
  .bundle-box h2 { font-size: 20px; margin: 0 0 10px; }
  .bundle-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
  .bundle-list li { display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: center; }
  .bundle-list img { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; background: var(--bg-2); }
  .bundle-list a { color: var(--text); text-decoration: none; }
  .bundle-list a:hover b { color: var(--accent); }
  .bundle-list small { display: block; color: var(--text-dim); font-size: 13px; }
  .bundle-list .bp { color: var(--text-dim); font-size: 14px; font-variant-numeric: tabular-nums; }
  .bundle-total { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--line); }
  .bundle-total s { color: var(--text-dim); }
  .bundle-box .pm-note { margin: 8px 0 0; }
