.store-nav { gap: 22px; margin-left: 42px; }
.speed-nav-link { color: #b8edf7 !important; }
.speed-nav-link::before { content: ""; display: inline-block; width: 5px; height: 5px; margin: 0 7px 1px 0; border-radius: 50%; background: #6bd5e9; box-shadow: 0 0 0 4px rgba(107,213,233,.1); }
.store-nav-menu { position:relative; flex:0 0 auto; }.store-nav-menu summary { display:flex; align-items:center; cursor:pointer; color:#b5cbd4; font-size:12px; list-style:none; white-space:nowrap; }.store-nav-menu summary::-webkit-details-marker { display:none; }.store-nav-menu summary::after { content:"⌄"; margin-left:4px; color:#7fcddd; font-size:12px; }.store-nav-menu[open] summary { color:#d9f7fc; }.store-nav-menu>div { position:absolute; z-index:50; top:calc(100% + 11px); left:-12px; display:grid; min-width:132px; padding:8px; border:1px solid rgba(153,222,238,.25); border-radius:11px; background:rgba(6,31,49,.96); box-shadow:0 18px 42px rgba(0,8,17,.42); backdrop-filter:blur(15px); }.store-nav-menu>div a { padding:8px 9px; border-radius:7px; color:#b9d7de; font-size:11px; text-decoration:none; white-space:nowrap; }.store-nav-menu>div a:hover { background:rgba(94,196,219,.14); color:#e7fbfe; }

.speed-lab-section {
  width: min(1180px, calc(100% - 48px));
  min-height: 420px;
  display: grid;
  grid-template-columns: .94fr 1.06fr;
  gap: 6%;
  align-items: center;
  margin: 80px auto 0;
  padding: 48px 54px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(154, 220, 238, .2);
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 12%, rgba(73, 180, 214, .22), transparent 33%),
    linear-gradient(135deg, rgba(12, 54, 84, .93), rgba(5, 25, 43, .96));
  box-shadow: 0 28px 75px rgba(0, 11, 22, .2), inset 0 1px rgba(255, 255, 255, .035);
}

.speed-lab-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .16;
  pointer-events: none;
  background-image: linear-gradient(rgba(167, 226, 240, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(167, 226, 240, .12) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(90deg, transparent 15%, #000 78%);
}

.speed-lab-copy { position: relative; z-index: 2; }
.speed-lab-copy h2 { margin: 15px 0 12px; font: 900 clamp(34px, 3.8vw, 54px)/1.22 var(--serif); letter-spacing: -.065em; }
.speed-lab-copy > p:not(.eyebrow) { max-width: 510px; margin: 0; color: #adc3cd; font-size: 13px; line-height: 1.9; }
.speed-lab-points { display: flex; gap: 0; margin: 22px 0; }
.speed-lab-points span { display: grid; gap: 1px; min-width: 96px; padding: 0 16px; border-left: 1px solid rgba(176, 224, 237, .16); color: #7f9dac; font-size: 9px; }
.speed-lab-points span:first-child { padding-left: 0; border-left: 0; }
.speed-lab-points b { color: #e5f8fc; font: 700 17px var(--mono); }
.speed-lab-button { min-width: 176px; background: linear-gradient(135deg, #c6f2f8, #82d9ea); color: #08283d; }
.speed-lab-button:hover { background: #effcff; color: #071f31; transform: translateY(-2px); }
.speed-lab-copy > small { display: block; margin-top: 10px; color: #728e9c; font-size: 9px; }

.speed-lab-visual { position: relative; height: 310px; z-index: 1; }
.speed-lab-orbit { position: absolute; left: 53%; top: 47%; transform: translate(-50%, -50%); border: 1px solid rgba(139, 217, 236, .2); border-radius: 50%; }
.speed-lab-orbit.orbit-a { width: 270px; height: 270px; }
.speed-lab-orbit.orbit-b { width: 390px; height: 390px; border-style: dashed; opacity: .72; }
.speed-lab-reading { position: absolute; left: 24px; bottom: 38px; display: grid; z-index: 2; }
.speed-lab-reading small { color: #78d0e5; font: 9px var(--mono); letter-spacing: .18em; }
.speed-lab-reading strong { color: #f0fbfd; font: 700 70px/1 var(--mono); letter-spacing: -.09em; text-shadow: 0 0 28px rgba(89, 206, 232, .2); }
.speed-lab-reading strong em { color: #73d2e7; font-size: 27px; font-style: normal; }
.speed-lab-reading span { color: #809eae; font: 9px var(--mono); letter-spacing: .08em; }
.speed-lab-shuttle { position: absolute; z-index: 3; width: 70px; height: 39px; right: 78px; top: 70px; transform: rotate(-32deg); border: 2px solid rgba(205, 245, 251, .9); border-width: 2px 0 2px 2px; border-radius: 70% 10% 10% 70%; filter: drop-shadow(0 0 9px rgba(111, 218, 238, .48)); }
.speed-lab-shuttle::before, .speed-lab-shuttle::after { content: ""; position: absolute; left: 20px; width: 47px; height: 1px; background: rgba(211, 247, 252, .85); transform-origin: left; }
.speed-lab-shuttle::before { top: 7px; transform: rotate(18deg); }
.speed-lab-shuttle::after { bottom: 7px; transform: rotate(-18deg); }
.speed-lab-shuttle span { position: absolute; left: -12px; top: 10px; width: 17px; height: 18px; border-radius: 45% 45% 52% 52%; background: #e4faff; box-shadow: 0 0 13px rgba(148, 229, 244, .75); }
.speed-lab-court { position: absolute; width: 320px; height: 220px; right: -30px; bottom: -105px; transform: perspective(320px) rotateX(58deg) rotateZ(-12deg); border: 1px solid rgba(147, 220, 238, .26); background-image: linear-gradient(rgba(147, 220, 238, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(147, 220, 238, .14) 1px, transparent 1px); background-size: 25% 25%; }

.craft-section { margin-top: 105px; padding: 82px max(24px, calc((100vw - 1180px) / 2)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: radial-gradient(circle at 82% 8%, rgba(139, 104, 83, .2), transparent 30%), linear-gradient(140deg, #0a2943, #071b2f 72%); }
.craft-heading { display: grid; grid-template-columns: .85fr 1.15fr; gap: 8%; align-items: end; }
.craft-heading h2 { margin: 14px 0 9px; font: 900 clamp(34px, 4vw, 55px)/1.24 var(--serif); letter-spacing: -.065em; }
.craft-heading > p:not(.eyebrow) { grid-column: 2; grid-row: 1; margin: 0 0 18px; color: #afc2ca; font-size: 13px; line-height: 2; }
.craft-heading > .store-btn { grid-column: 2; grid-row: 1; align-self: end; justify-self: start; margin-bottom: -40px; }
.craft-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 76px; }
.craft-process article { min-height: 150px; padding: 18px; border: 1px solid rgba(184, 216, 226, .14); border-radius: 14px; background: rgba(8, 31, 50, .55); }
.craft-process article > b { display: block; color: #c9ab95; font: 10px var(--mono); letter-spacing: .12em; }
.craft-process h3 { margin: 22px 0 5px; font-size: 14px; }
.craft-process p { margin: 0; color: #91aab5; font-size: 11px; line-height: 1.75; }
.craft-gallery-wrap { margin-top: 78px; }
.craft-gallery-wrap .section-title { margin-bottom: 25px; }
.craft-grid .empty-products { min-height: 190px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(122, 92, 72, .08), rgba(10, 44, 66, .3)); }
.craft-note { margin: 18px 0 0; padding: 13px 15px; border-left: 2px solid #ba9b86; background: rgba(176, 137, 110, .06); color: #9cb0b9; font-size: 10px; }

@media (max-width: 980px) and (min-width: 821px) {
  .store-nav { gap: 14px; margin-left: 18px; }
  .store-nav a { font-size: 11px; }
  .speed-lab-section { padding-inline: 38px; }
}

@media (max-width: 820px) {
  .speed-lab-section {
    width: min(100% - 32px, 1180px);
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 26px;
    margin-top: 52px;
    padding: 31px 22px 23px;
    border-radius: 20px;
  }
  .speed-lab-section::before { background-size: 42px 42px; mask-image: linear-gradient(to bottom, transparent 20%, #000 100%); }
  .speed-lab-copy h2 { font-size: clamp(31px, 9vw, 42px); }
  .speed-lab-copy > p:not(.eyebrow) { font-size: 12px; line-height: 1.8; }
  .speed-lab-points { margin: 18px 0; }
  .speed-lab-points span { flex: 1; min-width: 0; padding: 0 10px; }
  .speed-lab-points b { font-size: 15px; }
  .speed-lab-button { width: 100%; }
  .speed-lab-copy > small { text-align: center; }
  .speed-lab-visual { height: 190px; order: -1; overflow: hidden; border-radius: 16px; background: rgba(5, 27, 45, .32); }
  .speed-lab-orbit { left: 69%; top: 48%; }
  .speed-lab-orbit.orbit-a { width: 190px; height: 190px; }
  .speed-lab-orbit.orbit-b { width: 270px; height: 270px; }
  .speed-lab-reading { left: 18px; bottom: 20px; }
  .speed-lab-reading strong { font-size: 51px; }
  .speed-lab-shuttle { right: 42px; top: 44px; transform: scale(.78) rotate(-32deg); }
  .speed-lab-court { width: 240px; height: 165px; right: -61px; bottom: -87px; }
  .craft-section { margin-top: 75px; padding: 58px 16px; }
  .craft-heading { grid-template-columns: 1fr; gap: 0; }
  .craft-heading > p:not(.eyebrow), .craft-heading > .store-btn { grid-column: 1; grid-row: auto; }
  .craft-heading > .store-btn { margin: 15px 0 0; justify-self: stretch; }
  .craft-heading h2 { font-size: 36px; }
  .craft-process { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 35px; }
  .craft-process article { min-height: 145px; padding: 15px; }
  .craft-gallery-wrap { margin-top: 55px; }
}

@media (max-width: 390px) {
  .speed-lab-section { width: calc(100% - 24px); padding-inline: 18px; }
  .speed-lab-points span { padding-inline: 8px; }
  .speed-lab-points b { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .speed-lab-section *, .speed-lab-section *::before, .speed-lab-section *::after { animation: none !important; }
}

/* Mobile product gallery guardrails. Loaded last so long product text or sticky
   actions cannot force the single-column detail grid wider than the viewport. */
.detail-dialog,
.detail-dialog #detailContent,
.detail-layout,
.detail-gallery,
.detail-copy,
.detail-main { min-width: 0; max-width: 100%; }
.detail-dialog { overflow-x: hidden; }
.product-photo img { object-fit: contain !important; object-position: center; padding: 5px; background: #082138; }
.detail-price,
.detail-copy h2,
.detail-specs dd,
.detail-block p { overflow-wrap: anywhere; }

@media (max-width: 820px) {
  .detail-layout { width: 100%; grid-template-columns: minmax(0, 1fr) !important; }
  .detail-gallery, .detail-copy { width: 100%; }
  .detail-main, .detail-main img { width: 100%; }
  .detail-bottom { min-width: 0; flex-wrap: wrap; }
  .detail-bottom small { flex: 1 1 180px; }
  .detail-bottom .store-btn { flex: 1 1 150px; margin-left: 0; }
}
