:root {
      --ink: #0a0a0a;
      --paper: #f4f4f4;
      --white: #ffffff;
      --muted: #666666;
      --line: rgba(10,10,10,.15);
      --panel: #ededed;
      --accent: #d4d4d4;
      --header-h: 72px;
      --ease: cubic-bezier(.2,.8,.2,1);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    html, body { max-width: 100%; overflow-x: hidden; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: Arial, Helvetica, sans-serif;
      -webkit-font-smoothing: antialiased;
    }
    body.locked { overflow: hidden; }
    a { color: inherit; text-decoration: none; }
    button, input { font: inherit; }
    button { color: inherit; }
    img { max-width: 100%; display: block; }

    .announcement {
      position: relative;
      z-index: 60;
      height: 34px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 16px;
      background: var(--ink);
      color: var(--white);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
      white-space: nowrap;
      overflow: hidden;
    }
    .announcement-mobile { display: none; }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      height: var(--header-h);
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 0 24px;
      background: rgba(244,244,244,.94);
      border-bottom: 1px solid var(--line);
      backdrop-filter: blur(14px);
    }

    .nav-left, .nav-right {
      display: flex;
      align-items: center;
      gap: 24px;
    }
    .nav-right { justify-content: flex-end; }

    .nav-link, .icon-button {
      appearance: none;
      border: 0;
      background: transparent;
      cursor: pointer;
      padding: 8px 0;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .nav-link { position: relative; }
    .nav-link::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: 2px;
      height: 1px;
      background: currentColor;
      transition: right .25s var(--ease);
    }
    .nav-link:hover::after { right: 0; }

    .logo {
      display: inline-flex;
      align-items: center;
      font-size: clamp(24px, 3vw, 37px);
      font-weight: 900;
      letter-spacing: -.075em;
      line-height: 1;
    }
    .logo span { letter-spacing: -.02em; margin-left: .06em; }

    .icon-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      min-width: 32px;
    }
    .icon-button svg { width: 18px; height: 18px; stroke-width: 1.8; }
    .cart-count {
      min-width: 18px;
      height: 18px;
      display: inline-grid;
      place-items: center;
      border: 1px solid currentColor;
      border-radius: 999px;
      font-size: 9px;
      line-height: 1;
    }
    .menu-button { display: none; }

    .mega-menu {
      position: fixed;
      top: calc(34px + var(--header-h));
      left: 0;
      right: 0;
      z-index: 45;
      background: var(--paper);
      border-bottom: 1px solid var(--line);
      transform: translateY(-14px);
      opacity: 0;
      visibility: hidden;
      transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
    }
    .mega-menu.open {
      transform: translateY(0);
      opacity: 1;
      visibility: visible;
    }
    .mega-inner {
      display: grid;
      grid-template-columns: 1fr 1fr .85fr 1.15fr;
      gap: 44px;
      max-width: 1440px;
      margin: 0 auto;
      padding: 36px 34px 42px;
    }
    .menu-heading {
      margin: 0 0 16px;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
    .menu-list { display: grid; gap: 11px; }
    .menu-list a {
      width: fit-content;
      font-size: 17px;
      letter-spacing: -.02em;
    }
    .menu-list a:hover { opacity: .55; }
    .menu-feature {
      min-height: 220px;
      padding: 22px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      background:
        linear-gradient(140deg, transparent 0 48%, rgba(255,255,255,.18) 48% 50%, transparent 50%),
        radial-gradient(circle at 70% 20%, rgba(212,212,212,.75), transparent 28%),
        #171717;
      color: var(--white);
      overflow: hidden;
    }
    .menu-feature small {
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .15em;
      text-transform: uppercase;
      opacity: .7;
    }
    .menu-feature strong {
      max-width: 350px;
      margin-top: 9px;
      font-size: clamp(26px, 3vw, 46px);
      line-height: .9;
      letter-spacing: -.06em;
      text-transform: uppercase;
    }

    .hero {
      min-height: calc(100svh - 106px);
      position: relative;
      display: flex;
      align-items: flex-end;
      overflow: hidden;
      background: #161616;
      color: var(--white);
    }
    .hero::before,
    .hero::after {
      content: "";
      position: absolute;
      border-radius: 50%;
      filter: blur(1px);
    }
    .hero::before {
      width: min(70vw, 950px);
      aspect-ratio: 1;
      right: -12vw;
      top: -34vw;
      background: radial-gradient(circle at 38% 55%, rgba(212,212,212,.98), rgba(212,212,212,.08) 48%, transparent 69%);
    }
    .hero::after {
      width: 44vw;
      height: 140%;
      top: -20%;
      left: 47%;
      background: linear-gradient(110deg, transparent, rgba(255,255,255,.075), transparent);
      transform: rotate(11deg);
    }
    .hero-grid {
      position: absolute;
      inset: 0;
      opacity: .16;
      background-image:
        linear-gradient(rgba(255,255,255,.13) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.13) 1px, transparent 1px);
      background-size: 52px 52px;
      mask-image: linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,1));
    }
    .hero-copy {
      position: relative;
      z-index: 2;
      width: 100%;
      padding: clamp(28px, 5vw, 72px);
      padding-top: 130px;
    }
    .eyebrow {
      margin: 0 0 18px;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .19em;
      text-transform: uppercase;
    }
    .hero h1 {
      max-width: 1100px;
      margin: 0;
      font-size: clamp(68px, 12vw, 188px);
      line-height: .78;
      letter-spacing: -.085em;
      text-transform: uppercase;
    }
    .hero-bottom {
      margin-top: 32px;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 28px;
    }
    .hero-bottom p {
      max-width: 540px;
      margin: 0;
      color: rgba(255,255,255,.72);
      font-size: clamp(15px, 1.5vw, 20px);
      line-height: 1.35;
    }
    .cta-row { display: flex; gap: 10px; flex-wrap: wrap; }
    .button {
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 22px;
      border: 1px solid var(--ink);
      background: var(--ink);
      color: var(--white);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .13em;
      text-transform: uppercase;
      cursor: pointer;
      transition: transform .2s var(--ease), background .2s, color .2s;
    }
    .button:hover:not(:disabled) { transform: translateY(-2px); }
    .button:disabled { opacity: .48; cursor: not-allowed; transform: none; }
    .button.light { background: var(--white); color: var(--ink); border-color: var(--white); }
    .button.ghost { background: transparent; color: var(--white); border-color: rgba(255,255,255,.5); }

    .ticker {
      overflow: hidden;
      border-bottom: 1px solid var(--line);
      background: var(--accent);
    }
    .ticker-track {
      width: max-content;
      display: flex;
      animation: ticker 24s linear infinite;
    }
    .ticker-track span {
      display: inline-flex;
      align-items: center;
      gap: 24px;
      padding: 14px 24px;
      font-size: 13px;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .ticker-track span::after { content: "●"; font-size: 8px; }
    @keyframes ticker { to { transform: translateX(-50%); } }

    .section {
      padding: clamp(64px, 9vw, 140px) clamp(20px, 4vw, 64px);
      border-bottom: 1px solid var(--line);
    }
    .section-head {
      display: flex;
      justify-content: space-between;
      gap: 30px;
      align-items: flex-end;
      margin-bottom: 38px;
    }
    .section-kicker {
      margin: 0 0 12px;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .17em;
      text-transform: uppercase;
    }
    .section-title {
      margin: 0;
      font-size: clamp(48px, 7.2vw, 112px);
      line-height: .86;
      letter-spacing: -.075em;
      text-transform: uppercase;
    }
    .section-note {
      max-width: 340px;
      margin: 0;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.45;
    }

    .category-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      border-top: 1px solid var(--line);
      border-left: 1px solid var(--line);
    }
    .category-card {
      position: relative;
      min-height: 430px;
      padding: 22px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      border-right: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      overflow: hidden;
      background: var(--panel);
      transition: background .25s var(--ease);
    }
    .category-card:nth-child(2) { background: #cccccc; }
    .category-card:nth-child(3) { background: #cccccc; }
    .category-card:hover { background: var(--accent); }
    .category-card::before {
      content: "";
      position: absolute;
      width: 68%;
      aspect-ratio: 1;
      top: 14%;
      left: 16%;
      border: 1px solid rgba(10,10,10,.22);
      border-radius: 50%;
      transform: scale(.95);
      transition: transform .5s var(--ease);
    }
    .category-card::after {
      content: "";
      position: absolute;
      width: 34%;
      height: 58%;
      top: 22%;
      left: 33%;
      background: linear-gradient(180deg, rgba(10,10,10,.85), rgba(10,10,10,.22));
      clip-path: polygon(24% 0, 76% 0, 100% 22%, 80% 100%, 20% 100%, 0 22%);
      transition: transform .5s var(--ease);
    }
    .category-card:nth-child(2)::after {
      clip-path: polygon(22% 0, 78% 0, 100% 18%, 82% 48%, 72% 100%, 28% 100%, 18% 48%, 0 18%);
    }
    .category-card:nth-child(3)::after {
      clip-path: polygon(25% 0, 75% 0, 100% 16%, 82% 44%, 95% 100%, 55% 100%, 50% 58%, 45% 100%, 5% 100%, 18% 44%, 0 16%);
    }
    .category-card:hover::before { transform: scale(1.08); }
    .category-card:hover::after { transform: translateY(-8px) rotate(-2deg); }
    .card-label, .card-arrow { position: relative; z-index: 2; }
    .card-label small {
      display: block;
      margin-bottom: 7px;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
    .card-label strong {
      font-size: clamp(31px, 3.5vw, 54px);
      line-height: .9;
      letter-spacing: -.055em;
      text-transform: uppercase;
    }
    .card-arrow {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      align-self: flex-end;
      border: 1px solid currentColor;
      border-radius: 50%;
      font-size: 18px;
    }
    .card-arrow svg {
      width: 17px;
      height: 17px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
      vector-effect: non-scaling-stroke;
    }


    .product-section { background: #ededed; }
    .product-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }
    .product-card {
      min-width: 0;
      background: var(--white);
      border: 1px solid var(--line);
    }
    .product-media {
      position: relative;
      width: 100%;
      aspect-ratio: 1122 / 1402;
      display: block;
      padding: 0;
      border: 0;
      overflow: hidden;
      background: #111;
      cursor: pointer;
    }
    .product-card[data-color="White"] .product-media,
    .product-card[data-product-id="womens-scoop-neck-bra"][data-color="Moonlight White"] .product-media { background: #ededed; }

    .product-card[data-fit="contain"] .product-media { background: #ededed; }
    .product-card[data-fit="contain"] .product-media img { object-fit: contain; }
    .product-card[data-product-id="long-sleeve-compression"] .product-media {
      background: #ededed;
    }
    .product-card[data-product-id="long-sleeve-compression"] .product-media img {
      object-fit: cover;
      object-position: center;
    }
    .product-media img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: opacity .4s var(--ease), transform .65s var(--ease);
    }
    .product-image-primary { opacity: 1; }
    .product-image-secondary { opacity: 0; }
    .product-media:hover .product-image-primary,
    .product-media.side-view .product-image-primary { opacity: 0; }
    .product-media:hover .product-image-secondary,
    .product-media.side-view .product-image-secondary { opacity: 1; }
    .product-media:hover img { transform: scale(1.015); }

    /* Women's contour shorts: add a larger frame so waistband logos are fully visible */
    #womens-shorts .womens-logo-view .product-media {
      background: #ededed;
      aspect-ratio: 1122 / 1500;
    }
    #womens-shorts .womens-logo-view .product-media img {
      inset: 22px;
      width: calc(100% - 44px);
      height: calc(100% - 44px);
      object-fit: contain;
    }
    #womens-shorts .womens-logo-view .product-media:hover img,
    #womens-shorts .womens-logo-view .product-media.side-view img {
      transform: scale(1.008);
    }

    .product-card[data-variant-selector="true"] .product-media .colour-image { opacity: 0; }
    .product-card[data-variant-selector="true"][data-color="Black"] .product-media .black-image.product-image-primary,
    .product-card[data-variant-selector="true"][data-color="White"] .product-media .white-image.product-image-primary,
    .product-card[data-variant-selector="true"][data-color="Navy"] .product-media .navy-image.product-image-primary { opacity: 1; }
    .product-card[data-variant-selector="true"][data-color="Black"] .product-media:hover .black-image.product-image-primary,
    .product-card[data-variant-selector="true"][data-color="Black"] .product-media.side-view .black-image.product-image-primary,
    .product-card[data-variant-selector="true"][data-color="White"] .product-media:hover .white-image.product-image-primary,
    .product-card[data-variant-selector="true"][data-color="White"] .product-media.side-view .white-image.product-image-primary,
    .product-card[data-variant-selector="true"][data-color="Navy"] .product-media:hover .navy-image.product-image-primary,
    .product-card[data-variant-selector="true"][data-color="Navy"] .product-media.side-view .navy-image.product-image-primary { opacity: 0; }
    .product-card[data-variant-selector="true"][data-color="Black"] .product-media:hover .black-image.product-image-secondary,
    .product-card[data-variant-selector="true"][data-color="Black"] .product-media.side-view .black-image.product-image-secondary,
    .product-card[data-variant-selector="true"][data-color="White"] .product-media:hover .white-image.product-image-secondary,
    .product-card[data-variant-selector="true"][data-color="White"] .product-media.side-view .white-image.product-image-secondary,
    .product-card[data-variant-selector="true"][data-color="Navy"] .product-media:hover .navy-image.product-image-secondary,
    .product-card[data-variant-selector="true"][data-color="Navy"] .product-media.side-view .navy-image.product-image-secondary { opacity: 1; }
    .product-card[data-product-id="womens-scoop-neck-bra"][data-color="Retro Black"] .product-media .retro-black-image.product-image-primary,
    .product-card[data-product-id="womens-scoop-neck-bra"][data-color="Moonlight White"] .product-media .moonlight-white-image.product-image-primary { opacity: 1; }
    .product-card[data-product-id="womens-scoop-neck-bra"][data-color="Retro Black"] .product-media:hover .retro-black-image.product-image-primary,
    .product-card[data-product-id="womens-scoop-neck-bra"][data-color="Retro Black"] .product-media.side-view .retro-black-image.product-image-primary,
    .product-card[data-product-id="womens-scoop-neck-bra"][data-color="Moonlight White"] .product-media:hover .moonlight-white-image.product-image-primary,
    .product-card[data-product-id="womens-scoop-neck-bra"][data-color="Moonlight White"] .product-media.side-view .moonlight-white-image.product-image-primary { opacity: 0; }
    .product-card[data-product-id="womens-scoop-neck-bra"][data-color="Retro Black"] .product-media:hover .retro-black-image.product-image-secondary,
    .product-card[data-product-id="womens-scoop-neck-bra"][data-color="Retro Black"] .product-media.side-view .retro-black-image.product-image-secondary,
    .product-card[data-product-id="womens-scoop-neck-bra"][data-color="Moonlight White"] .product-media:hover .moonlight-white-image.product-image-secondary,
    .product-card[data-product-id="womens-scoop-neck-bra"][data-color="Moonlight White"] .product-media.side-view .moonlight-white-image.product-image-secondary { opacity: 1; }
    .product-card[data-variant-selector="true"][data-color="Raspberry"] .product-media .raspberry-image.product-image-primary,
    .product-card[data-variant-selector="true"][data-color="Electric Blue"] .product-media .electric-blue-image.product-image-primary { opacity: 1; }
    .product-card[data-variant-selector="true"][data-color="Raspberry"] .product-media:hover .raspberry-image.product-image-primary,
    .product-card[data-variant-selector="true"][data-color="Raspberry"] .product-media.side-view .raspberry-image.product-image-primary,
    .product-card[data-variant-selector="true"][data-color="Electric Blue"] .product-media:hover .electric-blue-image.product-image-primary,
    .product-card[data-variant-selector="true"][data-color="Electric Blue"] .product-media.side-view .electric-blue-image.product-image-primary { opacity: 0; }
    .product-card[data-variant-selector="true"][data-color="Raspberry"] .product-media:hover .raspberry-image.product-image-secondary,
    .product-card[data-variant-selector="true"][data-color="Raspberry"] .product-media.side-view .raspberry-image.product-image-secondary,
    .product-card[data-variant-selector="true"][data-color="Electric Blue"] .product-media:hover .electric-blue-image.product-image-secondary,
    .product-card[data-variant-selector="true"][data-color="Electric Blue"] .product-media.side-view .electric-blue-image.product-image-secondary { opacity: 1; }
    .product-card[data-variant-selector="true"][data-color="Lavender"] .product-media .lavender-image.product-image-primary { opacity: 1; }
    .product-card[data-variant-selector="true"][data-color="Lavender"] .product-media:hover .lavender-image.product-image-primary,
    .product-card[data-variant-selector="true"][data-color="Lavender"] .product-media.side-view .lavender-image.product-image-primary { opacity: 0; }
    .product-card[data-variant-selector="true"][data-color="Lavender"] .product-media:hover .lavender-image.product-image-secondary,
    .product-card[data-variant-selector="true"][data-color="Lavender"] .product-media.side-view .lavender-image.product-image-secondary { opacity: 1; }
    /* Men's Performance Shorts: exact colourways and three-view gallery */
    .colour-chip.retro-black { background: #0a0a0a; border-color: rgba(255,255,255,.38); }
    .colour-chip.moonlight-white { background: #fff; }
    .product-card[data-product-id="mens-performance-shorts"] .product-media {
      aspect-ratio: 1 / 1;
      background: #ededed;
    }
    .product-card[data-product-id="mens-performance-shorts"] .product-media img {
      object-fit: cover;
    }
    .product-card[data-product-id="mens-performance-shorts"] .three-view-image {
      opacity: 0;
    }
    .product-card[data-product-id="mens-performance-shorts"][data-color="Retro black"] .product-media[data-view="0"] .retro-black-image.front-view,
    .product-card[data-product-id="mens-performance-shorts"][data-color="Retro black"] .product-media[data-view="1"] .retro-black-image.side-view-image,
    .product-card[data-product-id="mens-performance-shorts"][data-color="Retro black"] .product-media[data-view="2"] .retro-black-image.back-view,
    .product-card[data-product-id="mens-performance-shorts"][data-color="Moonlight White"] .product-media[data-view="0"] .moonlight-white-image.front-view,
    .product-card[data-product-id="mens-performance-shorts"][data-color="Moonlight White"] .product-media[data-view="1"] .moonlight-white-image.side-view-image,
    .product-card[data-product-id="mens-performance-shorts"][data-color="Moonlight White"] .product-media[data-view="2"] .moonlight-white-image.back-view {
      opacity: 1;
    }

    .product-badge,
    .media-hint {
      position: absolute;
      z-index: 2;
      top: 14px;
      padding: 8px 10px;
      background: rgba(255,255,255,.92);
      color: var(--ink);
      font-size: 9px;
      font-weight: 900;
      letter-spacing: .13em;
      text-transform: uppercase;
      backdrop-filter: blur(8px);
    }
    .product-badge { left: 14px; }
    .media-hint { right: 14px; }
    .product-details { padding: 20px; }
    .product-line {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 20px;
    }
    .product-category {
      margin: 0 0 7px;
      color: var(--muted);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .product-line h3 {
      margin: 0;
      font-size: clamp(23px, 2.4vw, 36px);
      line-height: .95;
      letter-spacing: -.04em;
      text-transform: uppercase;
    }
    .product-price {
      flex: 0 0 auto;
      margin: 1px 0 0;
      font-size: 15px;
      font-weight: 800;
    }
    .product-colour {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 17px 0 18px;
      font-size: 12px;
      font-weight: 700;
    }
    .colour-swatch {
      width: 15px;
      height: 15px;
      border: 1px solid rgba(0,0,0,.28);
      border-radius: 50%;
      background: #0a0a0a;
    }
    .colour-swatch.white { background: #fff; }

    .colour-picker {
      margin: 17px 0 18px;
      padding: 0;
      border: 0;
    }
    .colour-picker legend {
      margin-bottom: 10px;
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .colour-options {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 6px;
    }
    .colour-button {
      min-height: 42px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      border: 1px solid var(--line);
      background: transparent;
      color: var(--ink);
      font-size: 11px;
      font-weight: 800;
      cursor: pointer;
      transition: background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
    }
    .colour-button:hover,
    .colour-button.selected {
      border-color: var(--ink);
      background: var(--ink);
      color: var(--white);
    }
    .colour-chip {
      width: 15px;
      height: 15px;
      flex: 0 0 auto;
      border: 1px solid rgba(0,0,0,.32);
      border-radius: 50%;
    }
    .colour-chip.black { background: #0a0a0a; border-color: rgba(255,255,255,.38); }
    .colour-chip.white { background: #fff; }
    .colour-chip.navy { background: #17306d; border-color: rgba(255,255,255,.2); }
    .colour-chip.raspberry { background: #cf1d5f; border-color: rgba(255,255,255,.24); }
    .colour-chip.electric-blue { background: #1c64ff; border-color: rgba(255,255,255,.24); }
    .colour-chip.baby-blue { background: #89aef5; border-color: rgba(255,255,255,.34); }
    .product-card[data-product-id="womens-impact-top"][data-color="Retro Black"] .product-media .retro-black-image.product-image-primary,
    .product-card[data-product-id="womens-impact-top"][data-color="Baby Blue"] .product-media .baby-blue-image.product-image-primary { opacity: 1; }
    .product-card[data-product-id="womens-impact-top"][data-color="Retro Black"] .product-media:hover .retro-black-image.product-image-primary,
    .product-card[data-product-id="womens-impact-top"][data-color="Retro Black"] .product-media.side-view .retro-black-image.product-image-primary,
    .product-card[data-product-id="womens-impact-top"][data-color="Baby Blue"] .product-media:hover .baby-blue-image.product-image-primary,
    .product-card[data-product-id="womens-impact-top"][data-color="Baby Blue"] .product-media.side-view .baby-blue-image.product-image-primary { opacity: 0; }
    .product-card[data-product-id="womens-impact-top"][data-color="Retro Black"] .product-media:hover .retro-black-image.product-image-secondary,
    .product-card[data-product-id="womens-impact-top"][data-color="Retro Black"] .product-media.side-view .retro-black-image.product-image-secondary,
    .product-card[data-product-id="womens-impact-top"][data-color="Baby Blue"] .product-media:hover .baby-blue-image.product-image-secondary,
    .product-card[data-product-id="womens-impact-top"][data-color="Baby Blue"] .product-media.side-view .baby-blue-image.product-image-secondary { opacity: 1; }

    .colour-chip.lavender { background: #8a82a7; border-color: rgba(255,255,255,.22); }
    .colour-meta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin: 16px 0 18px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: rgba(17,17,17,.72);
    }
    .size-picker { margin: 0; padding: 0; border: 0; }
    .size-picker legend {
      margin-bottom: 10px;
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .size-options {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 6px;
    }
    .size-button {
      min-height: 42px;
      border: 1px solid var(--line);
      background: transparent;
      font-size: 11px;
      font-weight: 800;
      cursor: pointer;
      transition: background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
    }
    .size-button:hover,
    .size-button.selected {
      border-color: var(--ink);
      background: var(--ink);
      color: var(--white);
    }
    .add-to-cart {
      width: 100%;
      min-height: 52px;
      margin-top: 12px;
      border: 1px solid var(--ink);
      background: var(--ink);
      color: var(--white);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .13em;
      text-transform: uppercase;
      cursor: pointer;
      transition: opacity .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
    }
    .add-to-cart:hover:not(:disabled) { background: var(--accent); color: var(--ink); }
    .add-to-cart:disabled { cursor: not-allowed; opacity: .38; }
    .selection-note {
      min-height: 15px;
      margin: 9px 0 0;
      color: var(--muted);
      font-size: 10px;
      text-align: center;
    }

    .manifesto {
      background: var(--ink);
      color: var(--white);
    }
    .manifesto-text {
      max-width: 1380px;
      margin: 0;
      font-size: clamp(43px, 6.2vw, 98px);
      line-height: .92;
      letter-spacing: -.055em;
      text-transform: uppercase;
    }
    .manifesto-text em { color: var(--accent); font-style: normal; }

    .community-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 10px;
    }
    .community-tile {
      position: relative;
      aspect-ratio: 4 / 5;
      overflow: hidden;
      background: #cccccc;
    }
    .community-tile:nth-child(2) { background: #cccccc; }
    .community-tile:nth-child(3) { background: #181818; color: white; }
    .community-tile:nth-child(4) { background: var(--accent); }
    .community-tile::before {
      content: "";
      position: absolute;
      inset: 17% 18% 12%;
      border: 1px solid currentColor;
      border-radius: 48% 48% 12% 12%;
      opacity: .55;
    }
    .community-tile span {
      position: absolute;
      left: 16px;
      right: 16px;
      bottom: 16px;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .newsletter {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: end;
      background: var(--accent);
    }
    .newsletter h2 {
      margin: 0;
      font-size: clamp(55px, 8.2vw, 130px);
      line-height: .79;
      letter-spacing: -.08em;
      text-transform: uppercase;
    }
    .newsletter-form { max-width: 620px; justify-self: end; width: 100%; }
    .newsletter-form p { margin: 0 0 22px; font-size: 16px; line-height: 1.45; }
    .newsletter-form .newsletter-consent {
      margin: 12px 0 0;
      max-width: 560px;
      color: var(--muted);
      font-size: 10px;
      line-height: 1.45;
    }
    .newsletter-form button:disabled {
      cursor: wait;
      opacity: .58;
    }
    .newsletter-form .form-note {
      min-height: 20px;
      margin-top: 12px;
      font-size: 12px;
      line-height: 1.45;
    }
    .newsletter-form .form-note[data-state="success"] { font-weight: 800; }
    .newsletter-form .form-note[data-state="error"] { text-decoration: underline; }
    .form-honeypot {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      overflow: hidden !important;
      clip: rect(0 0 0 0) !important;
      clip-path: inset(50%) !important;
      white-space: nowrap !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }
    .input-row {
      display: grid;
      grid-template-columns: 1fr auto;
      border-bottom: 2px solid var(--ink);
    }
    .input-row input {
      min-width: 0;
      height: 58px;
      padding: 0;
      border: 0;
      outline: none;
      background: transparent;
      font-size: 17px;
    }
    .input-row button {
      border: 0;
      background: transparent;
      padding: 0 0 0 20px;
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .13em;
      text-transform: uppercase;
      cursor: pointer;
    }
    .form-note { min-height: 20px; margin-top: 12px; font-size: 12px; font-weight: 700; }

    footer {
      padding: 58px clamp(20px, 4vw, 64px) 24px;
      background: var(--ink);
      color: var(--white);
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 1.5fr repeat(3, 1fr);
      gap: 50px;
      padding-bottom: 68px;
    }
    .footer-brand .logo { font-size: clamp(42px, 6vw, 86px); }
    .footer-brand p { max-width: 360px; color: rgba(255,255,255,.55); line-height: 1.5; }
    .footer-column h3 {
      margin: 0 0 16px;
      font-size: 10px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: rgba(255,255,255,.55);
    }
    .footer-column a { display: block; width: fit-content; margin: 0 0 10px; font-size: 14px; }
    .footer-column a:hover { color: var(--accent); }
    .footer-bottom {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      padding-top: 20px;
      border-top: 1px solid rgba(255,255,255,.16);
      color: rgba(255,255,255,.45);
      font-size: 10px;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .overlay {
      position: fixed;
      inset: 0;
      z-index: 80;
      background: rgba(0,0,0,.45);
      opacity: 0;
      visibility: hidden;
      transition: .25s var(--ease);
    }
    .overlay.open { opacity: 1; visibility: visible; }
    .drawer {
      position: fixed;
      top: 0;
      bottom: 0;
      right: 0;
      z-index: 90;
      width: min(440px, 100%);
      display: flex;
      flex-direction: column;
      background: var(--paper);
      transform: translateX(100%);
      transition: transform .35s var(--ease);
    }
    .drawer.open { transform: translateX(0); }
    .drawer-head {
      height: 72px;
      padding: 0 22px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 1px solid var(--line);
    }
    .drawer-head strong { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
    .close-button {
      border: 0;
      background: transparent;
      font-size: 28px;
      cursor: pointer;
      line-height: 1;
    }
    .drawer-body {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: stretch;
      text-align: left;
      padding: 32px;
      overflow-y: auto;
    }
    .drawer-body .empty-icon {
      width: 84px;
      height: 84px;
      display: grid;
      place-items: center;
      margin-bottom: 22px;
      border: 1px solid var(--line);
      border-radius: 50%;
      font-size: 29px;
    }
    .drawer-body h2 {
      margin: 0 0 10px;
      font-size: 34px;
      line-height: 1;
      letter-spacing: -.04em;
      text-transform: uppercase;
    }
    .drawer-body p { margin: 0 0 24px; color: var(--muted); line-height: 1.45; }

    .cart-empty {
      min-height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
    }
    .cart-items { width: 100%; display: grid; gap: 12px; }
    .cart-item {
      display: grid;
      grid-template-columns: 92px 1fr;
      gap: 14px;
      padding-bottom: 12px;
      border-bottom: 1px solid var(--line);
      text-align: left;
    }
    .cart-item img { width: 92px; aspect-ratio: 4 / 5; object-fit: cover; background: #ddd; }
    .cart-item-top { display: flex; justify-content: space-between; gap: 12px; }
    .cart-item h3 { margin: 0 0 5px; font-size: 14px; line-height: 1.15; text-transform: uppercase; }
    .cart-item-meta { margin: 0; color: var(--muted); font-size: 11px; }
    .cart-item-price { flex: 0 0 auto; margin: 0; font-size: 12px; font-weight: 800; }
    .cart-item-actions { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; }
    .quantity-control { display: inline-flex; align-items: center; border: 1px solid var(--line); }
    .quantity-control button { width: 30px; height: 30px; border: 0; background: transparent; cursor: pointer; }
    .quantity-control span { min-width: 24px; text-align: center; font-size: 11px; font-weight: 800; }
    .remove-item { border: 0; padding: 5px 0; background: transparent; font-size: 10px; text-decoration: underline; cursor: pointer; }
    .cart-summary {
      width: 100%;
      margin-top: 22px;
      padding-top: 18px;
      border-top: 1px solid var(--ink);
      text-align: left;
    }
    .cart-total { display: flex; justify-content: space-between; margin-bottom: 15px; font-size: 14px; font-weight: 900; text-transform: uppercase; }
    .cart-summary .button { width: 100%; }
    .cart-summary small { display: block; margin-top: 10px; color: var(--muted); font-size: 10px; line-height: 1.4; text-align: center; }


    .mobile-nav {
      position: fixed;
      inset: 0;
      z-index: 85;
      display: none;
      background: var(--paper);
      transform: translateX(-100%);
      transition: transform .35s var(--ease);
    }
    .mobile-nav.open { transform: translateX(0); }
    .mobile-nav-inner { min-height: 100%; padding: 24px; display: flex; flex-direction: column; }
    .mobile-nav-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 48px; }
    .mobile-nav-links { display: grid; }
    .mobile-nav-links > a,
    .mobile-category-toggle {
      width: 100%;
      padding: 15px 0;
      border: 0;
      border-bottom: 1px solid var(--line);
      background: transparent;
      text-align: left;
      font-size: clamp(34px, 10vw, 52px);
      line-height: .95;
      font-weight: 800;
      letter-spacing: -.05em;
      text-transform: uppercase;
      cursor: pointer;
    }
    .mobile-category-toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
    }
    .mobile-category-toggle span:last-child {
      font-size: 24px;
      font-weight: 400;
      transition: transform .25s var(--ease);
    }
    .mobile-category.open .mobile-category-toggle span:last-child { transform: rotate(45deg); }
    .mobile-category-menu {
      display: grid;
      grid-template-rows: 0fr;
      transition: grid-template-rows .28s var(--ease);
    }
    .mobile-category.open .mobile-category-menu { grid-template-rows: 1fr; }
    .mobile-category-menu-inner {
      min-height: 0;
      overflow: hidden;
      display: grid;
    }
    .mobile-category-menu a {
      padding: 10px 0 10px 14px;
      border-bottom: 1px solid var(--line);
      font-size: 15px;
      line-height: 1.2;
      font-weight: 600;
      letter-spacing: 0;
      text-transform: none;
    }
    .mobile-nav-small { margin-top: auto; padding-top: 32px; display: grid; gap: 12px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

    .search-panel {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 95;
      padding: 26px clamp(20px, 4vw, 64px) 48px;
      background: var(--paper);
      border-bottom: 1px solid var(--line);
      transform: translateY(-110%);
      transition: transform .35s var(--ease);
    }
    .search-panel.open { transform: translateY(0); }
    .search-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 42px; }
    .search-input {
      width: 100%;
      border: 0;
      border-bottom: 2px solid var(--ink);
      outline: none;
      background: transparent;
      padding: 0 0 14px;
      font-size: clamp(30px, 6vw, 78px);
      font-weight: 800;
      letter-spacing: -.05em;
      text-transform: uppercase;
    }
    .search-message { margin-top: 18px; color: var(--muted); font-size: 14px; }

    @media (max-width: 900px) {
      :root { --header-h: 64px; }
      .site-header { grid-template-columns: 1fr auto 1fr; padding: 0 15px; }
      .desktop-only, .nav-left .nav-link { display: none; }
      .nav-right > a[href="#athletes"] { display: none; }
      .menu-button { display: inline-flex; }
      .logo { font-size: 28px; }
      .nav-left, .nav-right { gap: 5px; }
      .nav-right .icon-button span:not(.cart-count) { display: none; }
      .mega-menu { display: none; }
      .mobile-nav { display: block; }

      .hero { min-height: calc(100svh - 98px); }
      .hero-copy { padding: 40px 20px 34px; padding-top: 110px; }
      .hero h1 { font-size: clamp(64px, 20vw, 118px); }
      .hero-bottom { align-items: flex-start; flex-direction: column; }
      .hero-bottom p { max-width: 460px; }

      .section-head { align-items: flex-start; flex-direction: column; }
      .section-note { max-width: 560px; }
      .category-grid { grid-template-columns: 1fr; }
      .category-card { min-height: 390px; }
      .product-grid { grid-template-columns: 1fr 1fr; }
      .community-grid { grid-template-columns: 1fr 1fr; }
      .newsletter { grid-template-columns: 1fr; gap: 42px; }
      .newsletter-form { justify-self: start; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .footer-brand { grid-column: 1 / -1; }
    }

    @media (max-width: 560px) {
      .announcement { font-size: 9px; letter-spacing: .1em; }
      .announcement-wide { display: none; }
      .announcement-mobile { display: inline; }
      .section { padding: 72px 16px; }
      .section-title { font-size: clamp(45px, 16vw, 76px); }
      .hero::before { width: 130vw; top: -45vw; right: -65vw; }
      .hero-bottom p { font-size: 15px; }
      .cta-row { width: 100%; }
      .cta-row .button { flex: 1; }
      .category-card { min-height: 350px; }
      .product-grid { grid-template-columns: 1fr; }
      .product-details { padding: 16px; }
      .media-hint { display: none; }
      .community-grid { gap: 6px; }
      .footer-grid { grid-template-columns: 1fr; }
      .footer-brand { grid-column: auto; }
      .footer-bottom { flex-direction: column; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    }
  
    /* Contact and returns */
    .support-menu {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      margin-top: 30px;
    }
    .support-menu a {
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      padding: 0 17px;
      border: 1px solid var(--line);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .09em;
      text-transform: uppercase;
      transition: background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
    }
    .support-menu a:hover {
      background: var(--ink);
      color: var(--white);
      border-color: var(--ink);
    }
    .contact-support-grid {
      display: grid;
      grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr);
      gap: clamp(22px, 5vw, 72px);
      align-items: start;
    }
    .contact-details {
      display: grid;
      gap: 12px;
    }
    .support-card {
      padding: 24px;
      border: 1px solid var(--line);
      background: var(--panel);
    }
    .support-card h2,
    .contact-form-card h2 {
      margin: 0 0 12px;
      font-size: clamp(27px, 3.2vw, 46px);
      line-height: .95;
      letter-spacing: -.045em;
      text-transform: uppercase;
    }
    .support-card p {
      margin: 0;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.55;
    }
    .support-card a {
      display: inline-block;
      margin-top: 15px;
      font-weight: 800;
      text-decoration: underline;
      text-underline-offset: 4px;
    }
    .contact-form-card {
      padding: clamp(24px, 5vw, 52px);
      border: 1px solid var(--line);
      background: var(--white);
    }
    .contact-form-card > p {
      margin: 0 0 28px;
      color: var(--muted);
      line-height: 1.55;
    }
    .contact-form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }
    .contact-form-card label {
      display: grid;
      gap: 8px;
      margin-bottom: 16px;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .contact-form-card input,
    .contact-form-card select,
    .contact-form-card textarea {
      width: 100%;
      min-height: 50px;
      padding: 13px 14px;
      border: 1px solid var(--line);
      border-radius: 0;
      outline: none;
      background: #ededed;
      color: var(--ink);
      font: inherit;
    }
    .contact-form-card textarea {
      min-height: 160px;
      resize: vertical;
      line-height: 1.45;
    }
    .contact-form-card input:focus,
    .contact-form-card select:focus,
    .contact-form-card textarea:focus {
      border-color: var(--ink);
      box-shadow: 0 0 0 1px var(--ink);
    }
    .contact-form-card .button { width: 100%; }
    .returns-policy {
      margin-top: clamp(70px, 10vw, 150px);
      scroll-margin-top: 110px;
    }
    .returns-intro {
      max-width: 760px;
      margin-bottom: 35px;
    }
    .returns-intro h2 {
      margin: 9px 0 18px;
      font-size: clamp(48px, 7.2vw, 108px);
      line-height: .84;
      letter-spacing: -.07em;
      text-transform: uppercase;
    }
    .returns-intro p {
      margin: 0;
      color: var(--muted);
      font-size: 16px;
      line-height: 1.55;
    }
    .policy-layout {
      display: grid;
      grid-template-columns: minmax(210px, .45fr) minmax(0, 1.55fr);
      gap: clamp(24px, 5vw, 68px);
      align-items: start;
    }
    .policy-summary {
      position: sticky;
      top: 112px;
      padding: 24px;
      background: var(--ink);
      color: var(--white);
    }
    .policy-summary strong {
      display: block;
      margin-bottom: 13px;
      font-size: 11px;
      letter-spacing: .13em;
      text-transform: uppercase;
      color: rgba(255,255,255,.6);
    }
    .policy-summary {
      overflow: hidden;
    }
    .policy-summary > span {
      display: block;
      font-size: clamp(30px, 3.6vw, 54px);
      line-height: .88;
      font-weight: 900;
      letter-spacing: -.055em;
      text-transform: uppercase;
    }
    .policy-summary .return-line {
      display: block;
      white-space: nowrap;
    }
    .policy-summary a {
      width: 100%;
      margin-top: 22px;
      background: var(--accent);
      color: var(--ink);
      border-color: var(--accent);
    }
    .policy-summary a:hover,
    .policy-summary a:focus-visible {
      background: var(--white);
      border-color: var(--white);
      color: var(--ink);
    }
    .policy-content {
      border-top: 1px solid var(--line);
    }
    .policy-block {
      padding: 28px 0;
      border-bottom: 1px solid var(--line);
    }
    .policy-block h3 {
      margin: 0 0 13px;
      font-size: clamp(24px, 3vw, 38px);
      line-height: 1;
      letter-spacing: -.035em;
      text-transform: uppercase;
    }
    .policy-block p,
    .policy-block li {
      color: var(--muted);
      font-size: 14px;
      line-height: 1.65;
    }
    .policy-block p { margin: 0 0 12px; }
    .policy-block p:last-child { margin-bottom: 0; }
    .policy-block ul { margin: 12px 0 0; padding-left: 20px; }
    .policy-block a {
      color: var(--ink);
      font-weight: 800;
      text-decoration: underline;
      text-underline-offset: 3px;
    }
    .policy-note {
      padding: 18px;
      border-left: 4px solid var(--accent);
      background: var(--panel);
    }
    @media (max-width: 820px) {
      .contact-support-grid,
      .policy-layout { grid-template-columns: 1fr; }
      .policy-summary { position: static; }
    }
    @media (max-width: 560px) {
      .contact-form-grid { grid-template-columns: 1fr; gap: 0; }
      .support-menu { display: grid; grid-template-columns: 1fr 1fr; }
      .support-menu a { justify-content: center; }
    }

    [hidden] { display: none !important; }
    .route-link.active { opacity: 1; text-decoration: underline; text-underline-offset: 5px; }
    .route-only-page { min-height: calc(100vh - 110px); padding-top: clamp(70px, 9vw, 130px); }
    .standalone-page-head { max-width: 900px; margin-bottom: clamp(45px, 7vw, 90px); }
    .standalone-page-head h1 { margin: 10px 0 24px; font-size: clamp(60px, 10vw, 150px); line-height: .82; letter-spacing: -.075em; text-transform: uppercase; }
    .standalone-page-head > p:last-child { max-width: 670px; font-size: 17px; line-height: 1.55; color: var(--muted); }
    .standalone-cart-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(290px, .7fr); gap: clamp(30px, 6vw, 90px); align-items: start; }
    .standalone-cart-items { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
    .standalone-cart-item { display: grid; grid-template-columns: 150px 1fr; gap: 22px; padding: 18px; background: var(--white); }
    .standalone-cart-item img { width: 150px; height: 180px; object-fit: contain; background: #ededed; }
    .standalone-cart-item h3 { margin: 0 0 7px; font-size: 20px; }
    .standalone-cart-item p { margin: 0; color: var(--muted); font-size: 12px; }
    .standalone-cart-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 28px; }
    .standalone-cart-actions button { min-width: 38px; min-height: 38px; border: 1px solid var(--line); background: transparent; cursor: pointer; font-weight: 800; }
    .standalone-cart-actions .remove-item { min-width: auto; border: 0; text-decoration: underline; }
    .standalone-summary { position: sticky; top: 112px; padding: 28px; background: var(--ink); color: var(--white); }
    .standalone-summary .section-kicker { color: rgba(255,255,255,.6); }
    .summary-row { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
    .summary-row.total { margin-bottom: 22px; font-size: 19px; }
    .standalone-summary .button { width: 100%; background: var(--accent); color: var(--ink); border-color: var(--accent); text-align: center; }
    .standalone-summary .button:disabled, .cart-summary .button:disabled { cursor: not-allowed; opacity: .45; }
    .checkout-status { min-height: 18px; margin: 12px 0 0; color: rgba(255,255,255,.72); font-size: 11px; line-height: 1.45; text-align: center; }
    .checkout-status.error { color: #ffd0d0; }
    .cart-summary .checkout-status { color: var(--muted); }
    .cart-summary .checkout-status.error { color: #9a1f1f; }
    .text-link { display: block; margin-top: 18px; color: inherit; text-align: center; font-size: 12px; text-decoration: underline; }
    .empty-standalone-cart { padding: 80px 30px; background: var(--white); text-align: center; }
    .empty-standalone-cart h2 { margin: 0 0 12px; font-size: clamp(36px, 6vw, 70px); text-transform: uppercase; }
    .route-mobile-links > a { font-size: clamp(34px, 10vw, 58px); line-height: 1.12; text-transform: uppercase; }
    @media (max-width: 820px) {
      .standalone-cart-layout { grid-template-columns: 1fr; }
      .standalone-summary { position: static; }
      .standalone-cart-item { grid-template-columns: 105px 1fr; }
      .standalone-cart-item img { width: 105px; height: 135px; }
    }


    /* Full approved category catalogues */
    .catalog-page {
      min-height: calc(100svh - 106px);
      padding-top: clamp(58px, 8vw, 112px);
    }
    .catalog-page-head {
      max-width: 920px;
      margin-bottom: clamp(36px, 6vw, 72px);
    }
    /* Homepage Men's category image */
    .category-card.home-men-card {
      background-image:
        linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.18) 42%, rgba(0,0,0,.62) 100%),
        url("assets/category-02-men.png");
      background-size: cover;
      background-position: center 18%;
      background-repeat: no-repeat;
      color: var(--white);
    }
    .category-card.home-men-card::before,
    .category-card.home-men-card::after {
      display: none;
    }
    .category-card.home-men-card:hover {
      background-image:
        linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.16) 42%, rgba(0,0,0,.58) 100%),
        url("assets/category-02-men.png");
      background-size: cover;
      background-position: center 18%;
      background-repeat: no-repeat;
      color: var(--white);
    }
    .category-card.home-men-card .card-arrow {
      border-color: rgba(255,255,255,.85);
    }

    .catalog-page-head h1 {
      margin: 10px 0 20px;
      font-size: clamp(58px, 10vw, 148px);
      line-height: .82;
      letter-spacing: -.075em;
      text-transform: uppercase;
    }
    .catalog-page-head > p:last-child {
      max-width: 670px;
      margin: 0;
      color: var(--muted);
      font-size: 16px;
      line-height: 1.55;
    }
    .category-tabs {
      display: flex;
      gap: 10px;
      overflow-x: auto;
      padding: 0 0 18px;
      margin-bottom: clamp(42px, 6vw, 82px);
      border-bottom: 1px solid var(--line);
      scrollbar-width: thin;
    }
    .category-tab {
      flex: 0 0 auto;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      padding: 0 17px;
      border: 1px solid var(--line);
      background: transparent;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .09em;
      text-transform: uppercase;
      transition: background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
    }
    .category-tab:hover,
    .category-tab.active {
      background: var(--ink);
      color: var(--white);
      border-color: var(--ink);
    }
    .catalog-panels {
      min-height: 480px;
    }
    .category-panel[hidden] {
      display: none !important;
    }
    .category-section-head {
      margin-bottom: clamp(32px, 5vw, 60px);
    }
    .empty-category-grid {
      min-height: clamp(260px, 36vw, 560px);
      border-top: 1px solid var(--line);
      background:
        linear-gradient(90deg, transparent calc(50% - .5px), var(--line) 50%, transparent calc(50% + .5px));
      opacity: .45;
    }
    @media (max-width: 760px) {
      .catalog-page {
        padding-top: 48px;
      }
      .catalog-page-head h1 {
        font-size: clamp(54px, 18vw, 96px);
      }
      .category-tabs {
        margin-left: -20px;
        margin-right: -20px;
        padding-left: 20px;
        padding-right: 20px;
      }
      .empty-category-grid {
        background: none;
      }
    }

    .mega-inner { align-items: start; }
    .mega-menu .menu-list { gap: 9px; }
    .mega-menu .menu-list a { font-size: 15px; line-height: 1.25; }

    /* Homepage Women's category image */
    .category-card.home-women-card {
      background-image:
        linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.06) 45%, rgba(0,0,0,.55) 100%),
        url("assets/media/nagym-f06f5980c66f.webp");
      background-size: cover;
      background-position: center 24%;
      color: #fff;
    }
    .category-card.home-women-card:hover {
      background-image:
        linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.03) 45%, rgba(0,0,0,.48) 100%),
        url("assets/media/nagym-f06f5980c66f.webp");
      background-size: cover;
      background-position: center 24%;
    }
    .category-card.home-women-card::before,
    .category-card.home-women-card::after {
      display: none;
    }
    .category-card.home-women-card .card-label,
    .category-card.home-women-card .card-arrow {
      position: relative;
      z-index: 2;
      color: #fff;
      text-shadow: 0 2px 14px rgba(0,0,0,.35);
    }



    /* Safe homepage recovery: preserve original site, refine only the category cards. */
    #collections .category-grid {
      gap: clamp(14px, 2vw, 22px);
      border: 0;
    }
    #collections .category-card.home-men-card,
    #collections .category-card.home-women-card {
      min-height: clamp(475px, 54vw, 560px);
      padding: clamp(22px, 3vw, 30px);
      border: 0;
      border-radius: 20px;
      isolation: isolate;
      background: #111 !important;
      box-shadow: 0 18px 40px rgba(10,10,10,.10);
      transition: transform .4s var(--ease), box-shadow .4s var(--ease);
    }
    #collections .category-card.home-men-card:hover,
    #collections .category-card.home-women-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 26px 52px rgba(10,10,10,.14);
      background: #111 !important;
    }
    #collections .category-card.home-men-card::before,
    #collections .category-card.home-women-card::before {
      content: "";
      display: block !important;
      position: absolute;
      inset: 0;
      z-index: 0;
      width: auto;
      height: auto;
      aspect-ratio: auto;
      top: 0;
      left: 0;
      border: 0;
      border-radius: 0;
      clip-path: none;
      background-repeat: no-repeat;
      background-size: cover;
      transform: scale(1);
      transition: transform .7s var(--ease), filter .35s var(--ease);
    }
    #collections .category-card.home-men-card::before {
      background-image: url("assets/category-02-men.png");
      background-position: center 18%;
    }
    #collections .category-card.home-women-card::before {
      background-image: url("assets/home-women-hero.webp");
      background-position: center 18%;
    }
    #collections .category-card.home-men-card::after,
    #collections .category-card.home-women-card::after {
      content: "";
      display: block !important;
      position: absolute;
      inset: 0;
      z-index: 1;
      width: auto;
      height: auto;
      top: 0;
      left: 0;
      border-radius: 0;
      clip-path: none;
      background: linear-gradient(180deg, rgba(0,0,0,.24) 0%, rgba(0,0,0,.12) 42%, rgba(0,0,0,.62) 100%);
      transform: none;
      transition: background .35s var(--ease);
    }
    #collections .category-card.home-men-card:hover::before,
    #collections .category-card.home-women-card:hover::before {
      transform: scale(1.04);
      filter: brightness(1.04);
    }
    #collections .category-card.home-men-card:hover::after,
    #collections .category-card.home-women-card:hover::after {
      transform: none;
      background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.08) 42%, rgba(0,0,0,.54) 100%);
    }
    #collections .category-card .card-label,
    #collections .category-card .card-arrow {
      position: relative;
      z-index: 2;
      color: #fff;
      text-shadow: 0 2px 14px rgba(0,0,0,.35);
    }
    #collections .category-card .card-arrow {
      background: rgba(0,0,0,.12);
      backdrop-filter: blur(5px);
      border-color: rgba(255,255,255,.84);
      transition: transform .25s var(--ease), background .25s var(--ease);
    }
    #collections .category-card:hover .card-arrow {
      transform: translateY(-2px);
      background: rgba(255,255,255,.12);
    }
    @media (max-width: 760px) {
      #collections .category-grid { gap: 14px; }
      #collections .category-card.home-men-card,
      #collections .category-card.home-women-card {
        min-height: clamp(390px, 112vw, 500px);
      }
    }


    .social-link {
      display: inline-flex !important;
      align-items: center;
      gap: 9px;
    }
    .social-link svg {
      width: 17px;
      height: 17px;
      flex: 0 0 auto;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .social-link.unlinked {
      width: fit-content;
      margin: 0 0 10px;
      font-size: 14px;
      color: rgba(255,255,255,.5);
      cursor: default;
    }


    /* NAGYM SIZE GUIDE */
    .size-guide-inline {
      position: static;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      width: fit-content;
      margin: 5px 0 13px;
      appearance: none;
      border: 0;
      padding: 0;
      background: transparent;
      color: var(--ink);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .1em;
      line-height: 1.2;
      text-transform: uppercase;
      cursor: pointer;
    }
    .size-guide-inline::before {
      content: "?";
      display: inline-grid;
      width: 20px;
      height: 20px;
      place-items: center;
      border: 1px solid currentColor;
      border-radius: 50%;
      font-size: 12px;
      font-weight: 900;
      line-height: 1;
    }
    .size-guide-inline::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: -3px;
      left: 27px;
      height: 1px;
      background: currentColor;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .2s ease;
    }
    .size-guide-inline:hover::after,
    .size-guide-inline:focus-visible::after { transform: scaleX(1); }
    .size-guide-inline:focus-visible {
      outline: 2px solid var(--ink);
      outline-offset: 4px;
    }
    .size-picker { position: relative; }
    .size-guide-inline { position: relative; }

    .size-guide-page {
      min-height: 100vh;
      padding: clamp(72px, 8vw, 130px) clamp(18px, 4vw, 64px);
      background: var(--paper);
    }
    .size-guide-shell {
      width: min(1380px, 100%);
      margin: 0 auto;
    }
    .size-guide-hero {
      display: grid;
      grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
      gap: clamp(34px, 7vw, 100px);
      align-items: end;
      padding-bottom: clamp(44px, 6vw, 90px);
      border-bottom: 1px solid var(--line);
    }
    .size-guide-hero h1 {
      margin: 12px 0 0;
      max-width: 900px;
      font-size: clamp(66px, 11vw, 170px);
      line-height: .8;
      letter-spacing: -.078em;
      text-transform: uppercase;
    }
    .size-guide-hero-copy {
      max-width: 470px;
      padding-bottom: 10px;
    }
    .size-guide-hero-copy p {
      margin: 0 0 18px;
      color: var(--muted);
      font-size: 16px;
      line-height: 1.55;
    }
    .size-guide-hero-copy strong {
      display: block;
      font-size: 11px;
      letter-spacing: .12em;
      line-height: 1.55;
      text-transform: uppercase;
    }

    .guide-toolbar {
      position: sticky;
      top: calc(34px + var(--header-h));
      z-index: 12;
      display: flex;
      justify-content: space-between;
      gap: 20px;
      padding: 18px 0;
      background: rgba(244,244,244,.96);
      border-bottom: 1px solid var(--line);
      backdrop-filter: blur(14px);
    }
    .guide-switch {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 4px;
      border: 1px solid var(--ink);
      border-radius: 999px;
    }
    .guide-switch button {
      min-width: 86px;
      border: 0;
      border-radius: 999px;
      padding: 10px 16px;
      background: transparent;
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
      cursor: pointer;
    }
    .guide-switch.unit-switch button { min-width: 58px; }
    .guide-switch button.active {
      background: var(--ink);
      color: var(--white);
    }

    .size-finder {
      display: grid;
      grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
      gap: clamp(34px, 6vw, 90px);
      padding: clamp(55px, 8vw, 110px) 0;
      border-bottom: 1px solid var(--line);
    }
    .finder-heading h2,
    .guide-section-heading h2,
    .measure-copy h2 {
      margin: 10px 0 18px;
      font-size: clamp(44px, 6vw, 88px);
      line-height: .88;
      letter-spacing: -.06em;
      text-transform: uppercase;
    }
    .finder-heading p,
    .guide-section-heading p,
    .measure-copy > p {
      max-width: 590px;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.6;
    }
    .finder-card {
      padding: clamp(24px, 4vw, 48px);
      background: var(--ink);
      color: var(--white);
    }
    .finder-card h3 {
      margin: 0 0 28px;
      font-size: clamp(30px, 3.4vw, 52px);
      line-height: .95;
      letter-spacing: -.045em;
      text-transform: uppercase;
    }
    .finder-inputs {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }
    .finder-inputs label {
      display: grid;
      gap: 8px;
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .finder-input-wrap {
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      border: 1px solid rgba(255,255,255,.35);
      background: rgba(255,255,255,.04);
    }
    .finder-input-wrap input {
      width: 100%;
      min-width: 0;
      border: 0;
      padding: 15px 10px 15px 14px;
      outline: 0;
      background: transparent;
      color: var(--white);
      font-size: 16px;
    }
    .finder-input-wrap span {
      padding-right: 13px;
      color: rgba(255,255,255,.62);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .finder-actions {
      display: flex;
      align-items: center;
      gap: 16px;
      margin-top: 18px;
    }
    .finder-actions .button {
      flex: 0 0 auto;
      background: var(--accent);
      color: var(--ink);
    }
    .finder-result {
      min-height: 58px;
      margin: 0;
      color: rgba(255,255,255,.72);
      font-size: 13px;
      line-height: 1.5;
    }
    .finder-result strong {
      display: block;
      color: var(--white);
      font-size: 21px;
      letter-spacing: -.025em;
      text-transform: uppercase;
    }

    .guide-section {
      padding: clamp(60px, 8vw, 110px) 0;
      border-bottom: 1px solid var(--line);
    }
    .guide-section-heading {
      display: grid;
      grid-template-columns: minmax(0, .9fr) minmax(260px, .55fr);
      gap: 40px;
      align-items: end;
      margin-bottom: 36px;
    }
    .guide-table-wrap {
      overflow-x: auto;
      border: 1px solid var(--ink);
      background: var(--white);
    }
    .guide-table {
      width: 100%;
      min-width: 760px;
      border-collapse: collapse;
      table-layout: fixed;
    }
    .guide-table th,
    .guide-table td {
      padding: 18px 16px;
      border-right: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      text-align: center;
      font-size: 13px;
    }
    .guide-table th:last-child,
    .guide-table td:last-child { border-right: 0; }
    .guide-table tr:last-child th,
    .guide-table tr:last-child td { border-bottom: 0; }
    .guide-table thead th {
      background: var(--ink);
      color: var(--white);
      font-size: 11px;
      letter-spacing: .11em;
      text-transform: uppercase;
    }
    .guide-table th:first-child,
    .guide-table td:first-child {
      width: 170px;
      text-align: left;
      font-weight: 900;
      letter-spacing: .06em;
      text-transform: uppercase;
    }
    .guide-table tbody tr:hover { background: rgba(212,212,212,.22); }

    .fit-note-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1px;
      margin-top: 28px;
      background: var(--line);
      border: 1px solid var(--line);
    }
    .fit-note-card {
      min-height: 220px;
      padding: 28px;
      background: var(--paper);
    }
    .fit-note-card span {
      display: inline-grid;
      width: 34px;
      height: 34px;
      place-items: center;
      margin-bottom: 32px;
      border: 1px solid var(--ink);
      border-radius: 999px;
      font-size: 10px;
      font-weight: 900;
    }
    .fit-note-card h3 {
      margin: 0 0 12px;
      font-size: 24px;
      letter-spacing: -.03em;
      text-transform: uppercase;
    }
    .fit-note-card p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.55;
    }

    .measure-guide {
      display: grid;
      grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
      gap: clamp(40px, 8vw, 110px);
      align-items: center;
      padding: clamp(65px, 8vw, 115px) 0 20px;
    }
    .measure-visual {
      position: relative;
      min-height: 590px;
      display: grid;
      place-items: center;
      overflow: hidden;
      background: var(--ink);
      color: var(--white);
    }
    .measure-visual::before {
      content: "NAGYM";
      position: absolute;
      inset: auto auto 16px 20px;
      color: rgba(255,255,255,.08);
      font-size: clamp(68px, 10vw, 130px);
      font-weight: 900;
      letter-spacing: -.07em;
    }
    .measure-visual svg {
      position: relative;
      z-index: 1;
      width: min(82%, 440px);
      height: auto;
    }
    .measure-list {
      display: grid;
      gap: 0;
      margin-top: 38px;
      border-top: 1px solid var(--ink);
    }
    .measure-item {
      display: grid;
      grid-template-columns: 52px 150px 1fr;
      gap: 16px;
      padding: 22px 0;
      border-bottom: 1px solid var(--line);
      align-items: start;
    }
    .measure-item > span {
      display: grid;
      width: 34px;
      height: 34px;
      place-items: center;
      border: 1px solid var(--ink);
      border-radius: 999px;
      font-size: 10px;
      font-weight: 900;
    }
    .measure-item strong {
      font-size: 12px;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .measure-item p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.55;
    }
    .size-disclaimer {
      margin-top: 36px;
      padding: 20px;
      border-left: 4px solid var(--accent);
      background: rgba(255,255,255,.55);
      color: var(--muted);
      font-size: 12px;
      line-height: 1.55;
    }

    @media (max-width: 900px) {
      .size-guide-hero,
      .size-finder,
      .guide-section-heading,
      .measure-guide { grid-template-columns: 1fr; }
      .guide-toolbar { top: calc(34px + var(--header-h)); }
      .measure-visual { min-height: 480px; }
    }
    @media (max-width: 650px) {
      .size-guide-page { padding-left: 14px; padding-right: 14px; }
      .size-guide-hero h1 { font-size: clamp(58px, 19vw, 92px); }
      .guide-toolbar {
        align-items: stretch;
        flex-direction: column;
        padding: 12px 0;
      }
      .guide-switch { display: grid; grid-template-columns: 1fr 1fr; }
      .guide-switch button { min-width: 0; }
      .finder-inputs { grid-template-columns: 1fr; }
      .finder-actions { align-items: stretch; flex-direction: column; }
      .finder-result { min-height: 75px; }
      .fit-note-grid { grid-template-columns: 1fr; }
      .measure-item { grid-template-columns: 42px 1fr; }
      .measure-item p { grid-column: 2; }
      .measure-visual { min-height: 420px; }
    }


    /* PRODUCT SIZE GUIDE MODAL */
    body.size-guide-modal-open { overflow: hidden; }

    .product-size-modal[hidden] { display: none; }
    .product-size-modal {
      position: fixed;
      inset: 0;
      z-index: 4000;
      display: grid;
      place-items: center;
      padding: 18px;
    }
    .product-size-modal__backdrop {
      position: absolute;
      inset: 0;
      border: 0;
      background: rgba(0,0,0,.72);
      cursor: pointer;
    }
    .product-size-modal__dialog {
      position: relative;
      z-index: 1;
      width: min(920px, 100%);
      max-height: min(88vh, 900px);
      overflow-y: auto;
      background: var(--paper);
      border: 1px solid var(--ink);
      box-shadow: 0 30px 90px rgba(0,0,0,.3);
    }
    .product-size-modal__header {
      position: sticky;
      top: 0;
      z-index: 2;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 20px;
      align-items: start;
      padding: 24px 26px;
      background: var(--ink);
      color: var(--white);
    }
    .product-size-modal__header p {
      margin: 0 0 7px;
      color: rgba(255,255,255,.62);
      font-size: 9px;
      font-weight: 900;
      letter-spacing: .13em;
      text-transform: uppercase;
    }
    .product-size-modal__header h2 {
      margin: 0;
      font-size: clamp(30px, 5vw, 58px);
      line-height: .92;
      letter-spacing: -.055em;
      text-transform: uppercase;
    }
    .product-size-modal__close {
      display: grid;
      width: 42px;
      height: 42px;
      place-items: center;
      border: 1px solid rgba(255,255,255,.45);
      border-radius: 50%;
      background: transparent;
      color: var(--white);
      font-size: 23px;
      cursor: pointer;
    }
    .product-size-modal__body { padding: clamp(22px, 4vw, 42px); }
    .product-size-modal__toolbar {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      align-items: center;
      margin-bottom: 24px;
    }
    .product-size-modal__toolbar strong {
      font-size: 11px;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .product-size-modal__units {
      display: inline-flex;
      padding: 3px;
      border: 1px solid var(--ink);
      border-radius: 999px;
    }
    .product-size-modal__units button {
      min-width: 52px;
      border: 0;
      border-radius: 999px;
      padding: 9px 12px;
      background: transparent;
      font-size: 9px;
      font-weight: 900;
      letter-spacing: .1em;
      text-transform: uppercase;
      cursor: pointer;
    }
    .product-size-modal__units button.active {
      background: var(--ink);
      color: var(--white);
    }
    .product-size-modal__table-wrap {
      overflow-x: auto;
      border: 1px solid var(--ink);
      background: var(--white);
    }
    .product-size-modal__table {
      width: 100%;
      min-width: 680px;
      border-collapse: collapse;
      table-layout: fixed;
    }
    .product-size-modal__table th,
    .product-size-modal__table td {
      padding: 15px 12px;
      border-right: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      text-align: center;
      font-size: 12px;
    }
    .product-size-modal__table th:last-child,
    .product-size-modal__table td:last-child { border-right: 0; }
    .product-size-modal__table tr:last-child th,
    .product-size-modal__table tr:last-child td { border-bottom: 0; }
    .product-size-modal__table thead th {
      background: var(--ink);
      color: var(--white);
      font-size: 10px;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .product-size-modal__table th:first-child,
    .product-size-modal__table td:first-child {
      width: 145px;
      text-align: left;
      font-weight: 900;
      text-transform: uppercase;
    }
    .product-size-modal__fit {
      margin: 22px 0 0;
      padding: 18px 20px;
      border-left: 4px solid var(--accent);
      background: var(--white);
      font-size: 13px;
      line-height: 1.55;
    }
    .product-size-modal__measure {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1px;
      margin-top: 24px;
      background: var(--line);
      border: 1px solid var(--line);
    }
    .product-size-modal__measure div {
      padding: 18px;
      background: var(--paper);
    }
    .product-size-modal__measure strong {
      display: block;
      margin-bottom: 8px;
      font-size: 10px;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .product-size-modal__measure p {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
    }
    .product-size-modal__disclaimer {
      margin: 20px 0 0;
      color: var(--muted);
      font-size: 10px;
      line-height: 1.5;
    }

    @media (max-width: 650px) {
      .product-size-modal { padding: 8px; }
      .product-size-modal__dialog { max-height: 94vh; }
      .product-size-modal__header { padding: 20px; }
      .product-size-modal__body { padding: 18px; }
      .product-size-modal__toolbar {
        align-items: flex-start;
        flex-direction: column;
      }
      .product-size-modal__measure { grid-template-columns: 1fr; }
    }


    /* Accessories / Backpack */
    .product-card[data-product-id="nagym-backpack"] .product-media {
      aspect-ratio: 1 / 1;
      background: #ededed;
    }
    .product-card[data-product-id="nagym-backpack"] .product-media img {
      object-fit: cover;
    }
    .product-card[data-product-id="nagym-backpack"] .three-view-image {
      opacity: 0;
    }
    .product-card[data-product-id="nagym-backpack"] .product-media[data-view="0"] .front-view,
    .product-card[data-product-id="nagym-backpack"] .product-media[data-view="1"] .side-view-image,
    .product-card[data-product-id="nagym-backpack"] .product-media[data-view="2"] .back-view {
      opacity: 1;
    }


    /* NAGYM ATHLETES */
    .athlete-page {
      min-height: 100vh;
      padding: clamp(76px, 8vw, 130px) clamp(18px, 4vw, 64px);
      background: var(--paper);
    }
    .athlete-shell {
      width: min(1380px, 100%);
      margin: 0 auto;
    }
    .athlete-intro {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(260px, .55fr);
      gap: clamp(34px, 7vw, 100px);
      align-items: end;
      padding-bottom: clamp(48px, 7vw, 90px);
      border-bottom: 1px solid var(--line);
    }
    .athlete-intro h1 {
      margin: 10px 0 0;
      font-size: clamp(68px, 11vw, 170px);
      line-height: .8;
      letter-spacing: -.075em;
      text-transform: uppercase;
    }
    .athlete-intro > p:last-child {
      margin: 0 0 10px;
      max-width: 500px;
      color: var(--muted);
      font-size: 16px;
      line-height: 1.6;
    }
    .athlete-application-grid {
      display: grid;
      grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr);
      gap: clamp(40px, 7vw, 100px);
      padding-top: clamp(54px, 8vw, 110px);
    }
    .athlete-copy h2 {
      margin: 10px 0 18px;
      font-size: clamp(44px, 6vw, 86px);
      line-height: .9;
      letter-spacing: -.06em;
      text-transform: uppercase;
    }
    .athlete-copy p:last-child {
      max-width: 440px;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.65;
    }
    .athlete-form {
      padding: clamp(24px, 4vw, 44px);
      background: var(--white);
      border: 1px solid var(--line);
    }
    .contact-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }
    .contact-form-grid label {
      display: grid;
      gap: 8px;
    }
    .contact-form-grid label > span {
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .11em;
      text-transform: uppercase;
    }
    .contact-form-grid input,
    .contact-form-grid textarea {
      width: 100%;
      border: 1px solid var(--line);
      padding: 14px 15px;
      background: var(--paper);
      color: var(--ink);
      font: inherit;
      outline: 0;
    }
    .contact-form-grid input:focus,
    .contact-form-grid textarea:focus {
      border-color: var(--ink);
    }
    .contact-form-full {
      grid-column: 1 / -1;
    }
    .athlete-submit {
      margin-top: 20px;
    }
    .athlete-form .form-note {
      min-height: 20px;
      margin-top: 12px;
      font-size: 12px;
      line-height: 1.45;
    }

    @media (max-width: 800px) {
      .athlete-intro,
      .athlete-application-grid {
        grid-template-columns: 1fr;
      }
      .contact-form-grid {
        grid-template-columns: 1fr;
      }
      .contact-form-full {
        grid-column: auto;
      }
    }


    /* Athlete benefits modal */
    .athlete-benefits-button {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      width: fit-content;
      margin-top: 18px;
      border: 1px solid var(--ink);
      padding: 10px 14px;
      background: transparent;
      color: var(--ink);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .1em;
      text-transform: uppercase;
      cursor: pointer;
    }
    .athlete-benefits-button:hover {
      background: var(--ink);
      color: var(--white);
    }
    .athlete-benefits-icon {
      display: inline-grid;
      width: 20px;
      height: 20px;
      place-items: center;
      border: 1px solid currentColor;
      border-radius: 50%;
      font-size: 11px;
      line-height: 1;
    }

    body.athlete-benefits-open { overflow: hidden; }

    .athlete-benefits-modal[hidden] { display: none; }
    .athlete-benefits-modal {
      position: fixed;
      inset: 0;
      z-index: 5000;
      display: grid;
      place-items: center;
      padding: 18px;
    }
    .athlete-benefits-backdrop {
      position: absolute;
      inset: 0;
      border: 0;
      background: rgba(0,0,0,.76);
      cursor: pointer;
    }
    .athlete-benefits-dialog {
      position: relative;
      z-index: 1;
      width: min(1080px, 100%);
      max-height: 90vh;
      overflow-y: auto;
      background: var(--paper);
      border: 1px solid var(--ink);
      box-shadow: 0 30px 100px rgba(0,0,0,.35);
    }
    .athlete-benefits-header {
      position: sticky;
      top: 0;
      z-index: 2;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 20px;
      align-items: start;
      padding: clamp(22px, 3vw, 36px);
      background: var(--ink);
      color: var(--white);
    }
    .athlete-benefits-header p {
      margin: 0 0 8px;
      color: rgba(255,255,255,.62);
      font-size: 9px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .athlete-benefits-header h2 {
      margin: 0;
      font-size: clamp(38px, 6vw, 80px);
      line-height: .9;
      letter-spacing: -.06em;
      text-transform: uppercase;
    }
    .athlete-benefits-close {
      display: grid;
      width: 42px;
      height: 42px;
      place-items: center;
      border: 1px solid rgba(255,255,255,.45);
      border-radius: 50%;
      background: transparent;
      color: var(--white);
      font-size: 24px;
      cursor: pointer;
    }
    .athlete-benefits-body {
      padding: clamp(22px, 4vw, 44px);
    }
    .athlete-benefits-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1px;
      background: var(--line);
      border: 1px solid var(--line);
    }
    .athlete-benefit-card {
      min-height: 210px;
      padding: 26px;
      background: var(--white);
    }
    .athlete-benefit-card > span {
      display: grid;
      width: 34px;
      height: 34px;
      place-items: center;
      margin-bottom: 28px;
      border: 1px solid var(--ink);
      border-radius: 50%;
      font-size: 10px;
      font-weight: 900;
    }
    .athlete-benefit-card h3 {
      margin: 0 0 10px;
      font-size: 23px;
      line-height: 1;
      letter-spacing: -.03em;
      text-transform: uppercase;
    }
    .athlete-benefit-card p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.55;
    }
    .athlete-benefits-note {
      margin: 22px 0;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.5;
    }
    .athlete-benefits-apply {
      width: 100%;
    }

    @media (max-width: 700px) {
      .athlete-benefits-modal {
        padding: 8px;
      }
      .athlete-benefits-dialog {
        max-height: 95vh;
      }
      .athlete-benefits-grid {
        grid-template-columns: 1fr;
      }
      .athlete-benefit-card {
        min-height: 0;
      }
    }
