/* Measurements: native radio controls highlight the corresponding SVG dimension. */
.fit-section { background: transparent; color: #f1f2f5; padding: 100px 0 105px; scroll-margin-top: 45px; }
.fit-inner { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
.fit-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 80px; margin-bottom: 52px; }
.fit-heading h2 { font-size: clamp(38px, 3.8vw, 54px); font-weight: 500; line-height: 1.08; letter-spacing: -.045em; margin: 0; }
.fit-heading > p { width: 410px; max-width: 42%; color: #969ba8; font-size: 16px; line-height: 1.7; margin: 0 0 3px; }
.fit-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: start; column-gap: 80px; row-gap: 0; }
.fit-visual, .fit-data { min-width: 0; }
.fit-visual { grid-column: 1; grid-row: 1; }
.fit-data { grid-column: 2; grid-row: 1 / span 2; }
.fit-drawing { margin: 0; }
.fit-drawing > svg { width: 100%; height: auto; display: block; overflow: visible; }
.fit-spool { stroke: #6d727d; stroke-width: 1.1; }
.fit-core-seam { stroke: #555a65; stroke-width: .7; }
.fit-hidden-core { fill: none; stroke: #626773; stroke-dasharray: 4 5; }
.fit-axis { stroke: #656b77; stroke-width: .8; stroke-dasharray: 12 5 2 5; opacity: .7; }
.fit-measure { color: #6f7582; fill: none; stroke: currentColor; stroke-width: 1.1; transition: color .25s, stroke-width .25s; }
.fit-measure text { fill: currentColor; stroke: none; text-anchor: middle; font: italic 25px Georgia, serif; }
.fit-extension { opacity: .5; stroke-width: .8; }
.fit-section:has([value="D"]:checked) .fit-measure-D,
.fit-section:has([value="d"]:checked) .fit-measure-d,
.fit-section:has([value="L"]:checked) .fit-measure-L,
.fit-section:has([value="bore"]:checked) .fit-measure-bore { color: #deb993; stroke-width: 1.6; }
.fit-section:has([value="bore"]:checked) .fit-bore { stroke: #deb993; stroke-width: 1.8; }
.fit-drawing figcaption { display: flex; justify-content: space-between; gap: 20px; color: #858c9a; font-size: 12px; margin-top: 15px; padding-top: 20px; border-top: 1px solid #272a31; }
.fit-drawing figcaption span { color: #abb0bc; }
.fit-action { grid-column: 1; grid-row: 2; margin-top: 30px; display: flex; align-items: center; gap: 25px; }
.fit-action .button { flex: none; min-height: 50px; padding-inline: 22px; border-radius: 7px; background: linear-gradient(#fafafa, #dedee0); border: 1px solid #eee; color: #16171a; font-size: 14px; font-weight: 550; }
.fit-action .button:hover { background: #fff; }
.fit-action > p { color: #9399a6; font-size: 12px; max-width: 185px; line-height: 1.6; margin: 0; }
.fit-measurements { margin: 0; padding: 0; border: 0; min-width: 0; }
.fit-measurements legend { padding: 0; margin-bottom: 16px; color: #8e95a3; font-size: 13px; }
.fit-choice { position: relative; display: grid; grid-template-columns: 36px 1fr 18px; align-items: center; gap: 16px; min-height: 90px; padding: 17px 0; border-bottom: 1px solid #2a2d34; cursor: pointer; }
.fit-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fit-symbol { font: italic 31px/1 Georgia, serif; color: #828997; text-align: center; transition: color .25s; }
.fit-choice-copy { display: block; }
.fit-choice-copy strong { display: block; color: #b3b8c3; font-size: 18px; font-weight: 500; letter-spacing: -.02em; line-height: 1.35; transition: color .25s; }
.fit-choice-copy > span { display: block; font-size: 12px; color: #939aa8; line-height: 1.55; margin-top: 5px; }
.fit-choice > svg { fill: none; stroke: #deb993; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; opacity: 0; }
.fit-choice:has(input:checked) .fit-symbol { color: #deb993; }
.fit-choice:has(input:checked) strong, .fit-choice:hover strong { color: #f1f2f5; }
.fit-choice:has(input:checked) > svg { opacity: 1; }
.fit-choice:has(input:focus-visible) { outline: 2px solid #e6e7eb; outline-offset: 4px; border-radius: 3px; }
.fit-section .button:focus-visible { outline: 2px solid #e6e7eb; outline-offset: 5px; }
.fit-readout { display: none; }
.fit-materials { margin-top: 31px; }
.fit-materials h3 { margin: 0 0 17px; font-size: 14px; color: #afb5c1; font-weight: 500; }
.fit-materials dl { margin: 0; }
.fit-materials dl > div { display: grid; grid-template-columns: 140px 1fr; gap: 12px; margin-top: 12px; font-size: 13px; line-height: 1.6; }
.fit-materials dt { color: #d0d4dd; }
.fit-materials dd { color: #979eac; margin: 0; }
.fit-materials > p { margin: 23px 0 0; font-size: 12px; line-height: 1.65; color: #858d9b; }
@media (max-width: 1050px) {
  .fit-inner { width: calc(100% - 64px); }
  .fit-heading { gap: 40px; margin-bottom: 38px; }
  .fit-heading > p { font-size: 14px; }
  .fit-layout { column-gap: 36px; row-gap: 0; grid-template-columns: 1.1fr 1fr; }
  .fit-choice { grid-template-columns: 29px 1fr 16px; gap: 12px; min-height: 87px; }
  .fit-choice-copy strong { font-size: 16px; }
  .fit-action { align-items: flex-start; flex-direction: column; gap: 13px; }
  .fit-action > p { max-width: none; }
  .fit-materials dl > div { grid-template-columns: 1fr; gap: 3px; }
}
@media (max-width: 700px) {
  .fit-section { padding-block: 65px; }
  .fit-inner { width: calc(100% - 40px); }
  .fit-heading { display: block; margin-bottom: 25px; }
  .fit-heading h2 { font-size: 39px; }
  .fit-heading > p { width: auto; max-width: 360px; margin-top: 19px; font-size: 14px; }
  .fit-layout { display: flex; flex-direction: column; gap: 30px; }
  .fit-visual { display: contents; }
  .fit-drawing { width: 100%; order: 0; }
  .fit-drawing figcaption { padding-top: 15px; margin-top: 8px; font-size: 10px; }
  .fit-data { width: 100%; order: 1; }
  .fit-measurements { display: grid; grid-template-columns: repeat(4, 1fr); }
  .fit-measurements legend { margin-bottom: 7px; }
  .fit-choice { display: flex; justify-content: center; min-height: 56px; padding-block: 10px; }
  .fit-choice-copy, .fit-choice > svg { display: none; }
  .fit-choice:has(input:checked) { border-bottom-color: #deb993; }
  .fit-readout { display: block; min-height: 74px; margin-top: 18px; }
  .fit-readout p { display: none; margin: 0; }
  .fit-readout strong { display: block; color: #e0e3e9; font-size: 16px; font-weight: 500; }
  .fit-readout span { display: block; color: #969eac; font-size: 12px; line-height: 1.6; margin-top: 5px; }
  .fit-section:has([value="D"]:checked) .fit-readout-D,
  .fit-section:has([value="d"]:checked) .fit-readout-d,
  .fit-section:has([value="L"]:checked) .fit-readout-L,
  .fit-section:has([value="bore"]:checked) .fit-readout-bore { display: block; }
  .fit-symbol { font-size: 29px; }
  .fit-materials dl > div { grid-template-columns: 126px 1fr; gap: 12px; font-size: 12px; }
  .fit-action { order: 2; width: 100%; margin-top: 0; }
  .fit-action .button { width: 100%; justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) {
  .fit-measure, .fit-symbol, .fit-choice-copy strong { transition: none; }
}
