:root {
	--nst-tennis-ink: #17171d;
	--nst-tennis-white: #ffffff;
	--nst-tennis-brand: #5252c7;
	--nst-tennis-signal: var(--nst-brand-yellow, #dcff59);
	--nst-tennis-surface: #f5f5f7;
	--nst-tennis-muted: #63636c;
	--nst-tennis-line: rgba(23, 23, 29, 0.16);
	--nst-tennis-ease: cubic-bezier(0.22, 0.82, 0.2, 1);
	--nst-swatch-blue: #3f73c6;
	--nst-swatch-cream: #f1e7d2;
	--nst-swatch-brown: #3a2924;
	--nst-swatch-orange: #f24b1b;
	--nst-swatch-black: #18191b;
	--nst-swatch-lavender: #c9b4ea;
}

.nst-tennis-tote-page,
.nst-tennis-tote,
.nst-tennis-tote * {
	box-sizing: border-box;
}

.nst-tennis-tote-page {
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
}

.nst-tennis-tote {
	background: var(--nst-tennis-white);
	color: var(--nst-tennis-ink);
	font-family: var(--nst-font-sans);
	overflow: clip;
}

.nst-tennis-tote img {
	display: block;
	max-width: 100%;
}

.nst-tennis-tote .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	white-space: nowrap;
	width: 1px;
}

.nst-tennis-shell {
	margin-inline: auto;
	max-width: 1440px;
	padding-inline: clamp(1.25rem, 4vw, 4.5rem);
	width: 100%;
}

.nst-tennis-grid {
	display: grid;
	gap: clamp(1.5rem, 2.8vw, 3rem);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.nst-tennis-section {
	position: relative;
}

.nst-tennis-section h1,
.nst-tennis-section h2,
.nst-tennis-section h3,
.nst-tennis-section p,
.nst-tennis-section figure,
.nst-tennis-section blockquote,
.nst-tennis-section dl,
.nst-tennis-section dd {
	margin-top: 0;
}

.nst-tennis-section h1,
.nst-tennis-section h2 {
	font-family: var(--nst-font-sans);
	text-wrap: balance;
}

.nst-tennis-section h1 > span,
.nst-tennis-section h2 > span {
	display: block;
	white-space: nowrap;
}

.nst-tennis-kicker,
.nst-tennis-register,
.nst-tennis-section-mark {
	font-size: var(--nst-type-label-size);
	font-weight: 800;
	letter-spacing: 0.18em;
	line-height: 1.2;
	text-transform: uppercase;
}

.nst-tennis-register {
	color: var(--nst-tennis-muted);
}

.nst-tennis-section-heading {
	align-items: end;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
	margin-bottom: clamp(2.25rem, 4.5vw, 4.5rem);
	max-width: 1200px;
}

.nst-tennis-section-heading .nst-tennis-register {
	align-self: start;
	padding-top: 0.35rem;
}

.nst-tennis-section-heading h2 {
	font-size: var(--nst-type-h2-size);
	font-weight: var(--nst-type-h2-weight);
	letter-spacing: var(--nst-type-h2-track);
	line-height: var(--nst-type-h2-line);
	margin-bottom: 0;
}

.nst-tennis-section-heading--split {
	grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.55fr);
}

.nst-tennis-section-heading--three-column {
	align-items: start;
	grid-template-columns: minmax(9rem, 0.75fr) minmax(0, 1.55fr) minmax(15rem, 0.7fr);
	max-width: none;
}

.nst-tennis-section-heading--split p {
	border-left: 1px solid var(--nst-tennis-line);
	color: var(--nst-tennis-muted);
	font-size: var(--nst-type-body-size);
	line-height: var(--nst-type-body-line);
	margin-bottom: 0;
	padding-left: 1.25rem;
}

.nst-tennis-tote a:focus-visible,
.nst-tennis-tote button:focus-visible,
.nst-tennis-tote input:focus-visible {
	box-shadow: 0 0 0 5px var(--nst-tennis-white);
	outline: 3px solid var(--nst-tennis-brand);
	outline-offset: 3px;
}

/* Section 01 — feature-first hero. */
.nst-tennis-hero {
	background: var(--nst-tennis-white);
	padding: clamp(5.75rem, 9vw, 9rem) 0 clamp(5rem, 9vw, 8.5rem);
}

.nst-tennis-hero__intro {
	align-items: end;
	margin-bottom: clamp(3rem, 6vw, 5.75rem);
}

.nst-tennis-hero__title-wrap {
	grid-column: 1 / 9;
}

.nst-tennis-hero__title-wrap h2 {
	font-size: var(--nst-type-h1-size);
	font-weight: var(--nst-type-h1-weight);
	letter-spacing: var(--nst-type-h1-track);
	line-height: var(--nst-type-h1-line);
	margin-bottom: 0;
	max-width: none;
}

.nst-tennis-kicker {
	color: var(--nst-tennis-brand);
	margin-bottom: 1.25rem;
}

.nst-tennis-hero__lede {
	font-size: clamp(1.15rem, 1.6vw, 1.45rem);
	grid-column: 9 / 13;
	line-height: 1.42;
	margin-bottom: 0.4rem;
	max-width: 24rem;
	padding-left: 1.25rem;
	position: relative;
}

.nst-tennis-hero__lede::before {
	background: var(--nst-tennis-line);
	content: "";
	inset: 0 auto 0 0;
	position: absolute;
	transform: scaleY(1);
	transform-origin: top;
	width: 1px;
}

.nst-tennis-hero__proof {
	align-items: stretch;
}

.nst-tennis-hero__product {
	align-items: center;
	aspect-ratio: 1;
	background: #f5f2ed;
	display: flex;
	grid-column: 1 / 9;
	height: auto;
	justify-content: center;
	margin-bottom: 0;
	overflow: hidden;
}

.nst-tennis-hero__product img {
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 1000ms var(--nst-tennis-ease);
	width: 100%;
}

.nst-tennis-hero__summary {
	align-self: center;
	grid-column: 9 / 13;
}

.nst-tennis-hero__summary h2 {
	font-size: clamp(2.45rem, 4vw, 4rem);
	font-weight: var(--nst-type-h2-weight);
	letter-spacing: var(--nst-type-h2-track);
	line-height: var(--nst-type-h2-line);
	margin: 0;
}

.nst-tennis-hero__summary > p:not(.nst-tennis-section-mark) {
	color: var(--nst-tennis-muted);
	font-size: var(--nst-type-body-size);
	line-height: var(--nst-type-body-line);
	margin: 1.5rem 0 1.75rem;
	max-width: 28rem;
}

.nst-tennis-text-link {
	align-items: center;
	border-bottom: 1px solid currentColor;
	color: inherit;
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 800;
	gap: 1rem;
	letter-spacing: 0.12em;
	min-height: 44px;
	padding: 0.4rem 0 0.55rem;
	text-decoration: none;
	text-transform: uppercase;
}

.nst-tennis-text-link span {
	transition: transform 420ms var(--nst-tennis-ease);
}

.nst-tennis-text-link:hover span,
.nst-tennis-text-link:focus-visible span {
	transform: translateY(0.25rem);
}

.nst-tennis-story-anchor {
	align-items: center;
	color: inherit;
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 800;
	gap: 0.75rem;
	letter-spacing: 0.12em;
	margin: 2.5rem 0 0 max(1.25rem, calc((100vw - 1440px) / 2 + 4.5rem));
	min-height: 44px;
	text-decoration: none;
	text-transform: uppercase;
}

.nst-tennis-story-anchor span {
	transition: transform 420ms var(--nst-tennis-ease);
}

.nst-tennis-story-anchor:hover span,
.nst-tennis-story-anchor:focus-visible span {
	transform: translateY(0.25rem);
}

/* Section 02 — positioning. */
.nst-tennis-positioning {
	background: var(--nst-tennis-surface);
	padding: clamp(6rem, 10vw, 10rem) 0;
}

.nst-tennis-positioning__copy {
	align-self: center;
	grid-column: 1 / 6;
}

.nst-tennis-positioning__copy h2,
.nst-tennis-material__copy h2,
.nst-tennis-details__content h2 {
	font-size: var(--nst-type-h2-size);
	font-weight: var(--nst-type-h2-weight);
	letter-spacing: var(--nst-type-h2-track);
	line-height: var(--nst-type-h2-line);
}

.nst-tennis-positioning__copy > p:not(.nst-tennis-section-mark) {
	color: var(--nst-tennis-muted);
	font-size: var(--nst-type-body-size);
	line-height: var(--nst-type-body-line);
	margin: 1.6rem 0 2rem;
	max-width: 31rem;
}

.nst-tennis-positioning__notes {
	border-top: 1px solid var(--nst-tennis-line);
}

.nst-tennis-positioning__notes p {
	border-bottom: 1px solid var(--nst-tennis-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: 8.75rem minmax(0, 1fr);
	margin: 0;
	padding: 1rem 0;
}

.nst-tennis-positioning__notes strong {
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.nst-tennis-positioning__notes span {
	color: var(--nst-tennis-muted);
	font-size: 0.88rem;
	line-height: 1.45;
}

.nst-tennis-positioning__media {
	align-items: center;
	aspect-ratio: 3 / 2;
	background: transparent;
	display: flex;
	grid-column: 7 / 13;
	margin-bottom: 0;
	overflow: hidden;
	padding: 0;
}

.nst-tennis-positioning__media img {
	height: 100%;
	object-fit: cover;
	transition: transform 800ms var(--nst-tennis-ease);
	width: 100%;
}

.nst-tennis-positioning__media:hover img {
	transform: scale(1.025);
}

/* Section 03 — three always-visible selling stories. */
.nst-tennis-features {
	padding: clamp(6rem, 10vw, 10rem) 0;
}

.nst-tennis-features .nst-tennis-section-heading--three-column > p:last-child {
	border-left: 1px solid var(--nst-tennis-line);
	color: var(--nst-tennis-muted);
	font-size: var(--nst-type-body-size);
	grid-column: 3;
	grid-row: 1;
	line-height: var(--nst-type-body-line);
	margin: 0;
	max-width: 24rem;
	padding-left: 1.25rem;
}

.nst-tennis-features .nst-tennis-section-heading--three-column .nst-tennis-register {
	grid-column: 1;
	grid-row: 1;
}

.nst-tennis-features .nst-tennis-section-heading--three-column h2 {
	grid-column: 2;
	grid-row: 1;
}

.nst-tennis-feature-stories {
	display: grid;
	gap: clamp(5rem, 9vw, 9rem);
}

.nst-tennis-feature-story {
	align-items: center;
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr);
}

.nst-tennis-feature-story--reverse {
	grid-template-columns: minmax(20rem, 0.92fr) minmax(0, 1.08fr);
}

.nst-tennis-feature-story--reverse figure {
	grid-column: 2;
	grid-row: 1;
}

.nst-tennis-feature-story--reverse .nst-tennis-feature-story__copy {
	grid-column: 1;
	grid-row: 1;
}

.nst-tennis-feature-story__media {
	aspect-ratio: 1 / 1;
	background: #f5f2ed;
	margin-bottom: 0;
	overflow: hidden;
}

.nst-tennis-feature-story__media img {
	height: 100%;
	object-fit: cover;
	transition: filter 500ms ease, transform 900ms var(--nst-tennis-ease);
	width: 100%;
}

.nst-tennis-feature-story__copy h3 {
	font-size: clamp(2.5rem, 3.4vw, 3.5rem);
	font-weight: var(--nst-type-h2-weight);
	letter-spacing: var(--nst-type-h2-track);
	line-height: 0.96;
	margin: 0;
}

.nst-tennis-feature-story__copy h3 > span {
	display: block;
}

.nst-tennis-feature-story__copy > p:not(.nst-tennis-register) {
	color: var(--nst-tennis-muted);
	font-size: var(--nst-type-body-size);
	line-height: var(--nst-type-body-line);
	margin: 1.5rem 0 1.75rem;
	max-width: 31rem;
}

.nst-tennis-feature-story__copy ul {
	border-top: 1px solid var(--nst-tennis-line);
	list-style: none;
	margin: 0;
	max-width: 31rem;
	padding: 0;
}

.nst-tennis-feature-story__copy li {
	border-bottom: 1px solid var(--nst-tennis-line);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	padding: 1rem 0;
	text-transform: uppercase;
}

.nst-tennis-feature-story:hover .nst-tennis-feature-story__media img {
	filter: saturate(1.05);
	transform: scale(1.025);
}

/* Section 04 — capacity and real-life scenes. */
.nst-tennis-capacity-section {
	background: var(--nst-tennis-surface);
	padding: clamp(6rem, 10vw, 10rem) 0;
}

.nst-tennis-capacity {
	align-items: center;
	display: grid;
	gap: clamp(3rem, 8vw, 8rem);
	grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr);
}

.nst-tennis-capacity__media {
	aspect-ratio: 4 / 5;
	margin-bottom: 0;
	overflow: hidden;
}

.nst-tennis-capacity__media img {
	height: 100%;
	object-fit: cover;
	transition: transform 900ms var(--nst-tennis-ease);
	width: 100%;
}

.nst-tennis-capacity:hover .nst-tennis-capacity__media img {
	transform: scale(1.02);
}

.nst-tennis-capacity__copy h2,
.nst-tennis-scenes__copy h2 {
	font-size: var(--nst-type-h2-size);
	font-weight: var(--nst-type-h2-weight);
	letter-spacing: var(--nst-type-h2-track);
	line-height: var(--nst-type-h2-line);
	margin: 0;
}

.nst-tennis-capacity__copy > p:not(.nst-tennis-register),
.nst-tennis-scenes__copy > p:not(.nst-tennis-register) {
	color: var(--nst-tennis-muted);
	font-size: var(--nst-type-body-size);
	line-height: var(--nst-type-body-line);
	margin: 1.5rem 0 2rem;
	max-width: 32rem;
}

.nst-tennis-capacity__copy dl {
	border-top: 1px solid var(--nst-tennis-line);
	margin: 0;
}

.nst-tennis-capacity__copy dl > div {
	border-bottom: 1px solid var(--nst-tennis-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: 6rem minmax(0, 1fr);
	padding: 1rem 0;
}

.nst-tennis-capacity__copy dt {
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.nst-tennis-capacity__copy dd {
	color: var(--nst-tennis-muted);
	font-size: 0.9rem;
	line-height: 1.5;
	margin: 0;
}

.nst-tennis-scenes {
	align-items: end;
	display: grid;
	gap: clamp(1rem, 2vw, 2rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: clamp(7rem, 13vw, 13rem);
}

.nst-tennis-scenes__copy {
	align-self: center;
	grid-column: 1 / -1;
	max-width: 42rem;
	padding: 0 0 clamp(1rem, 2vw, 2rem);
}

.nst-tennis-scenes figure {
	margin: 0;
	overflow: hidden;
}

.nst-tennis-scenes__primary,
.nst-tennis-scenes__secondary {
	aspect-ratio: 1 / 1;
}

.nst-tennis-scenes figure img {
	height: 100%;
	object-fit: cover;
	transition: transform 900ms var(--nst-tennis-ease);
	width: 100%;
}

.nst-tennis-scenes figure:hover img {
	transform: scale(1.025);
}

/* Section 05 — material. */
.nst-tennis-material {
	background: var(--nst-tennis-brand);
	color: var(--nst-tennis-white);
	padding: clamp(5rem, 9vw, 9rem) 0;
}

.nst-tennis-material .nst-tennis-register {
	color: var(--nst-brand-yellow, #dcff59);
}

.nst-tennis-material__macro {
	grid-column: 1 / 8;
	margin-bottom: 0;
	min-height: clamp(38rem, 56vw, 51rem);
	overflow: hidden;
}

.nst-tennis-material__macro img {
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 900ms var(--nst-tennis-ease);
	width: 100%;
}

.nst-tennis-material__macro:hover img {
	transform: scale(1.025);
}

.nst-tennis-material__copy {
	align-self: center;
	grid-column: 9 / 13;
}

.nst-tennis-material__copy > p:not(.nst-tennis-register) {
	color: rgba(255, 255, 255, 0.8);
	font-size: var(--nst-type-body-size);
	line-height: var(--nst-type-body-line);
	margin: 1.5rem 0 1.75rem;
}

.nst-tennis-material__copy ul {
	border-top: 1px solid rgba(255, 255, 255, 0.28);
	list-style: none;
	margin: 0;
	padding: 0;
}

.nst-tennis-material__copy li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.28);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	padding: 0.9rem 0;
	text-transform: uppercase;
}

.nst-tennis-material__copy figure {
	aspect-ratio: 16 / 9;
	margin: 2rem 0 0;
	overflow: hidden;
}

.nst-tennis-material__copy figure img {
	height: 100%;
	object-fit: cover;
	object-position: 50% 64%;
	width: 100%;
}

/* Section 01 — live purchase. */
.nst-tennis-purchase {
	align-items: center;
	background: var(--nst-tennis-white);
	display: flex;
	min-height: calc(100svh - var(--nst-header-height-scrolled, 68px));
	padding: clamp(6rem, 10vw, 10rem) 0;
}

.nst-tennis-purchase > .nst-tennis-shell {
	width: 100%;
}

.nst-tennis-gallery {
	grid-column: 1 / 9;
}

.nst-tennis-gallery__grid {
	display: grid;
	gap: clamp(0.65rem, 1vw, 0.9rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nst-tennis-gallery__tile {
	align-items: center;
	aspect-ratio: 1;
	background: #f5f2ed;
	display: flex;
	justify-content: center;
	overflow: hidden;
	position: relative;
}

.nst-tennis-gallery__tile img {
	height: 100%;
	object-fit: contain;
	transition: transform 620ms var(--nst-tennis-ease);
	width: 100%;
}

.nst-tennis-gallery__tile:hover img,
.nst-tennis-gallery__tile:focus-visible img {
	transform: scale(1.018);
}

.nst-tennis-gallery__tile:focus-visible {
	outline: 2px solid var(--nst-tennis-signal);
	outline-offset: 3px;
}

.nst-tennis-gallery.has-single-image .nst-tennis-gallery__tile {
	grid-column: 1 / -1;
}

.nst-tennis-gallery.has-single-image .nst-tennis-gallery__nav,
.nst-tennis-gallery.has-single-image .nst-tennis-gallery-dialog__prev,
.nst-tennis-gallery.has-single-image .nst-tennis-gallery-dialog__next {
	pointer-events: none;
	visibility: hidden;
}

.nst-tennis-gallery__stage {
	align-items: center;
	background: #f5f2ed;
	display: none;
	height: clamp(37rem, 53vw, 49rem);
	justify-content: center;
	overflow: hidden;
	position: relative;
}

.nst-tennis-gallery__stage img {
	height: 100%;
	object-fit: contain;
	opacity: 1;
	transition: opacity 260ms ease, transform 760ms var(--nst-tennis-ease);
	width: 100%;
}

.nst-tennis-gallery__stage img.is-changing {
	opacity: 0.15;
	transform: scale(0.985);
}

.nst-tennis-gallery__nav {
	align-items: center;
	appearance: none;
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(23, 23, 29, 0.24);
	top: 50%;
	color: var(--nst-tennis-ink);
	cursor: pointer;
	display: inline-flex;
	height: 48px;
	justify-content: center;
	overflow: hidden;
	padding: 0;
	position: absolute;
	transform: translateY(-50%);
	transition: border-color 240ms ease, color 240ms ease, transform 360ms var(--nst-tennis-ease);
	width: 48px;
	z-index: 2;
}

.nst-tennis-gallery__nav::before {
	background: var(--nst-tennis-signal);
	content: "";
	inset: -45% -28%;
	position: absolute;
	transform: translate3d(-118%, 0, 0) rotate(-9deg);
	transition: transform 560ms var(--nst-tennis-ease);
	z-index: -1;
}

.nst-tennis-gallery__nav--prev { left: clamp(0.75rem, 1.5vw, 1.5rem); }
.nst-tennis-gallery__nav--next { right: clamp(0.75rem, 1.5vw, 1.5rem); }

.nst-tennis-gallery__nav svg {
	fill: none;
	height: 20px;
	position: relative;
	stroke: currentColor;
	stroke-linecap: square;
	stroke-linejoin: miter;
	stroke-width: 1.8;
	width: 20px;
}

.nst-tennis-gallery__nav:hover {
	border-color: var(--nst-tennis-ink);
	transform: translateY(calc(-50% - 2px));
}

.nst-tennis-gallery__nav:hover::before {
	transform: translate3d(0, 0, 0) rotate(-9deg);
}

.nst-tennis-gallery__nav:active { transform: translateY(-50%); }

.nst-tennis-gallery__nav:disabled {
	cursor: default;
	display: none;
	opacity: 0;
}

body.nst-tennis-gallery-dialog-open {
	overflow: hidden;
}

.nst-tennis-gallery-dialog {
	background: var(--nst-tennis-white);
	border: 0;
	height: 100dvh;
	position: fixed;
	inset: 0;
	margin: 0;
	max-height: none;
	max-width: none;
	overflow: hidden;
	padding: 0;
	width: 100vw;
}

.nst-tennis-gallery-dialog::backdrop {
	background: rgba(23, 23, 29, 0.58);
}

.nst-tennis-gallery-dialog[open] {
	display: block;
}

.nst-tennis-gallery-dialog__viewport {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	overflow: hidden;
	padding: clamp(2rem, 5vw, 5.5rem) clamp(5.5rem, 8vw, 9rem);
	position: relative;
	width: 100%;
}

.nst-tennis-gallery-dialog__viewport::after {
	color: var(--nst-tennis-muted);
	content: "Click image to zoom";
	font-size: 0.68rem;
	font-weight: 700;
	left: 50%;
	letter-spacing: 0.12em;
	opacity: 0.8;
	pointer-events: none;
	position: absolute;
	text-transform: uppercase;
	top: 1.2rem;
	transform: translateX(-50%);
}

.nst-tennis-gallery-dialog__viewport.is-zoomed::after {
	content: "Drag to inspect · click to reset";
}

.nst-tennis-gallery-dialog__viewport img {
	cursor: zoom-in;
	display: block;
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
	opacity: 1;
	transform: translate3d(var(--nst-gallery-pan-x, 0), var(--nst-gallery-pan-y, 0), 0) scale(1);
	transform-origin: 50% 50%;
	transition: opacity 180ms ease, transform 320ms var(--nst-tennis-ease);
	user-select: none;
}

.nst-tennis-gallery-dialog__viewport img.is-loading {
	opacity: 0.18;
}

.nst-tennis-gallery-dialog__viewport.is-zoomed img {
	cursor: grab;
	touch-action: none;
	transform: translate3d(var(--nst-gallery-pan-x, 0), var(--nst-gallery-pan-y, 0), 0) scale(2);
}

.nst-tennis-gallery-dialog__viewport.is-zoomed.is-dragging img {
	cursor: grabbing;
	transition: opacity 180ms ease;
}

.nst-tennis-gallery-dialog__control {
	align-items: center;
	appearance: none;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(23, 23, 29, 0.24);
	color: var(--nst-tennis-ink);
	cursor: pointer;
	display: inline-flex;
	height: 56px;
	justify-content: center;
	overflow: hidden;
	padding: 0;
	position: fixed;
	transition: border-color 240ms ease, transform 360ms var(--nst-tennis-ease);
	width: 56px;
	z-index: 3;
}

.nst-tennis-gallery-dialog__control::before {
	background: var(--nst-tennis-signal);
	content: "";
	inset: -45% -28%;
	position: absolute;
	transform: translate3d(-118%, 0, 0) rotate(-9deg);
	transition: transform 560ms var(--nst-tennis-ease);
	z-index: -1;
}

.nst-tennis-gallery-dialog__control:hover,
.nst-tennis-gallery-dialog__control:focus-visible {
	border-color: var(--nst-tennis-ink);
}

.nst-tennis-gallery-dialog__control:hover::before,
.nst-tennis-gallery-dialog__control:focus-visible::before {
	transform: translate3d(0, 0, 0) rotate(-9deg);
}

.nst-tennis-gallery-dialog__control:focus-visible {
	outline: 2px solid var(--nst-tennis-signal);
	outline-offset: 3px;
}

.nst-tennis-gallery-dialog__control svg {
	fill: none;
	height: 22px;
	position: relative;
	stroke: currentColor;
	stroke-linecap: square;
	stroke-linejoin: miter;
	stroke-width: 1.8;
	width: 22px;
}

.nst-tennis-gallery-dialog__close {
	right: clamp(1rem, 2.25vw, 2.5rem);
	top: clamp(1rem, 2.25vw, 2.5rem);
}

.nst-tennis-gallery-dialog__prev,
.nst-tennis-gallery-dialog__next {
	top: 50%;
	transform: translateY(-50%);
}

.nst-tennis-gallery-dialog__prev { left: clamp(1rem, 2.25vw, 2.5rem); }
.nst-tennis-gallery-dialog__next { right: clamp(1rem, 2.25vw, 2.5rem); }

.nst-tennis-gallery-dialog__prev:hover,
.nst-tennis-gallery-dialog__prev:focus-visible,
.nst-tennis-gallery-dialog__next:hover,
.nst-tennis-gallery-dialog__next:focus-visible {
	transform: translateY(calc(-50% - 2px));
}

.nst-tennis-gallery-dialog__control:disabled {
	display: none;
}

.nst-tennis-buy {
	align-self: start;
	grid-column: 9 / 13;
	position: sticky;
	top: calc(var(--nst-header-height-scrolled, 68px) + 2rem);
}

.nst-tennis-buy > .nst-tennis-section-mark {
	color: var(--wp--preset--color--brand, #5252c7);
}

.nst-tennis-buy h1 {
	font-size: var(--nst-type-h2-size);
	font-weight: var(--nst-type-h2-weight);
	letter-spacing: var(--nst-type-h2-track);
	line-height: var(--nst-type-h2-line);
	margin-bottom: 0.3rem;
}

.nst-tennis-buy__colour {
	color: var(--nst-tennis-muted);
	font-size: 0.9rem;
	margin-bottom: 1.5rem;
}

.nst-tennis-buy__rating {
	align-items: center;
	border-top: 1px solid var(--nst-tennis-line);
	display: flex;
	font-size: 0.78rem;
	gap: 0.75rem;
	padding-top: 1rem;
}

.nst-tennis-buy__rating .star-rating {
	float: none;
	margin: 0;
}

.nst-tennis-buy__price {
	font-size: clamp(1.65rem, 2.5vw, 2.25rem);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1;
	margin: 1.25rem 0;
}

.nst-tennis-buy__price del {
	color: var(--nst-tennis-muted);
	font-size: 0.72em;
	font-weight: 500;
}

.nst-tennis-colours {
	border: 0;
	margin: 0.25rem 0 1.25rem;
	min-inline-size: 0;
	padding: 0;
}

.nst-tennis-colours legend {
	color: var(--nst-tennis-ink);
	float: none;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.11em;
	line-height: 1.2;
	margin: 0 0 0.55rem;
	padding: 0;
	text-transform: uppercase;
}

.nst-tennis-colours__list {
	display: flex;
	flex-wrap: nowrap;
	gap: 4px;
}

.nst-tennis-colour-option {
	--nst-colour-swatch: transparent;
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 0;
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 44px;
	justify-content: center;
	margin: 0;
	overflow: visible;
	padding: 5px;
	position: relative;
	width: 44px;
	height: 44px;
}

.nst-tennis-colour-option::after {
	background: var(--nst-tennis-signal);
	bottom: 0;
	content: "";
	height: 3px;
	left: 5px;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 180ms var(--nst-tennis-ease);
	width: 14px;
}

.nst-tennis-colour-option:hover::after,
.nst-tennis-colour-option:focus-visible::after,
.nst-tennis-colour-option[aria-pressed="true"]::after {
	transform: scaleX(1);
}

.nst-tennis-colour-option__chip {
	background: var(--nst-colour-swatch);
	display: block;
	position: relative;
	width: 34px;
	height: 34px;
}

.nst-tennis-colour-option[aria-pressed="true"] .nst-tennis-colour-option__chip {
	box-shadow: inset 0 0 0 1px var(--nst-tennis-ink), 0 0 0 2px var(--nst-tennis-white), 0 0 0 3px var(--nst-tennis-ink);
}

.nst-tennis-colour-option--blue { --nst-colour-swatch: var(--nst-swatch-blue); }
.nst-tennis-colour-option--cream { --nst-colour-swatch: var(--nst-swatch-cream); }
.nst-tennis-colour-option--chocolate-brown { --nst-colour-swatch: var(--nst-swatch-brown); }
.nst-tennis-colour-option--orange { --nst-colour-swatch: var(--nst-swatch-orange); }
.nst-tennis-colour-option--black { --nst-colour-swatch: var(--nst-swatch-black); }
.nst-tennis-colour-option--lavender { --nst-colour-swatch: var(--nst-swatch-lavender); }

.nst-tennis-colour-option--cream .nst-tennis-colour-option__chip {
	box-shadow: inset 0 0 0 1px #b9b7b1;
}

.nst-tennis-colour-option--cream[aria-pressed="true"] .nst-tennis-colour-option__chip {
	box-shadow: inset 0 0 0 1px var(--nst-tennis-ink), 0 0 0 2px var(--nst-tennis-white), 0 0 0 3px var(--nst-tennis-ink);
}

.nst-tennis-colour-option.is-unavailable {
	filter: grayscale(0.72);
	opacity: 0.48;
}

.nst-tennis-colour-option.is-unavailable .nst-tennis-colour-option__chip::after {
	background: var(--nst-tennis-ink);
	content: "";
	height: 1px;
	inset: 50% -3px auto;
	position: absolute;
	transform: rotate(-45deg);
}

.nst-tennis-buy__stock {
	font-size: 0.82rem;
	font-weight: 700;
	margin: 0 0 1rem;
}

.nst-tennis-buy__stock .stock {
	margin: 0;
}

.nst-tennis-buy__stock:empty {
	display: none;
}

.nst-tennis-buy__intro {
	border-bottom: 1px solid var(--nst-tennis-line);
	border-top: 1px solid var(--nst-tennis-line);
	margin: 1.5rem 0;
	padding: 1.2rem 0;
}

.nst-tennis-buy__intro p {
	color: var(--nst-tennis-muted);
	font-size: 0.95rem;
	line-height: 1.55;
	margin-bottom: 0;
}

.nst-tennis-buy__form form.cart {
	align-items: stretch;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 7rem minmax(0, 1fr);
	margin: 0;
}

.nst-tennis-buy__form .quantity {
	display: block;
	float: none;
	margin: 0 !important;
}

.nst-tennis-buy__form .qty {
	appearance: textfield;
	background: var(--nst-tennis-white);
	border: 1px solid var(--nst-tennis-ink);
	border-radius: 0;
	font: inherit;
	font-weight: 700;
	height: 56px;
	text-align: center;
	width: 100%;
}

.nst-tennis-buy__form button,
.nst-tennis-quick-form button,
.nst-tennis-sticky-buy button {
	align-items: center;
	background: var(--nst-tennis-ink);
	border: 1px solid var(--nst-tennis-ink);
	border-radius: 0;
	color: var(--nst-tennis-white);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	justify-content: center;
	line-height: 1;
	min-height: 56px;
	overflow: hidden;
	padding: 0.75rem 1.25rem;
	position: relative;
	text-transform: uppercase;
	transition: color 300ms ease, transform 420ms var(--nst-tennis-ease);
	z-index: 0;
}

.nst-tennis-buy__form button::before,
.nst-tennis-quick-form button::before,
.nst-tennis-sticky-buy button::before {
	background: var(--nst-tennis-signal);
	content: "";
	inset: -55% -18%;
	position: absolute;
	transform: translate3d(-112%, 0, 0) rotate(-6deg);
	transition: transform 720ms var(--nst-tennis-ease);
	z-index: -1;
}

.nst-tennis-buy__form button:hover,
.nst-tennis-quick-form button:hover,
.nst-tennis-sticky-buy button:hover {
	color: var(--nst-tennis-ink);
	transform: translateY(-3px);
}

.nst-tennis-buy__form button:hover::before,
.nst-tennis-quick-form button:hover::before,
.nst-tennis-sticky-buy button:hover::before {
	transform: translate3d(0, 0, 0) rotate(-6deg);
}

.nst-tennis-buy__form button:active,
.nst-tennis-quick-form button:active,
.nst-tennis-sticky-buy button:active {
	transform: translateY(0);
	transition-duration: 180ms;
}

.nst-tennis-buy__form button:disabled,
.nst-tennis-quick-form button:disabled,
.nst-tennis-sticky-buy button:disabled {
	cursor: wait;
	opacity: 0.62;
}

.nst-tennis-buy__form .paypal-buttons,
.nst-tennis-buy__form [class*="paypal"] {
	margin-top: 0.75rem;
	max-width: 100%;
}

.nst-tennis-form-status {
	font-size: 0.82rem;
	line-height: 1.4;
	margin: 0.85rem 0 0;
	min-height: 1.2em;
}

.nst-tennis-form-status.is-error { color: #9a1b1b; }
.nst-tennis-form-status.is-success { color: #28573d; }

.nst-tennis-buy__assurance {
	display: grid;
	gap: 1.75rem;
	margin-top: 2rem;
}

.nst-tennis-buy__group-label {
	color: var(--wp--preset--color--brand, #5252c7);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1.2;
	margin: 0 0 0.9rem;
	text-transform: uppercase;
}

.nst-tennis-buy__assurance-group {
	display: grid;
	gap: 1rem;
}

.nst-tennis-buy__assurance-row {
	align-items: center;
	display: grid;
	gap: 1.15rem;
	grid-template-columns: 56px minmax(0, 1fr);
}

.nst-tennis-buy__icon {
	fill: none;
	height: 56px;
	overflow: visible;
	stroke: currentColor;
	stroke-linecap: square;
	stroke-linejoin: miter;
	width: 56px;
}

.nst-tennis-buy__icon-signal {
	fill: var(--nst-tennis-signal);
	stroke: var(--nst-tennis-signal);
}

.nst-tennis-buy__racket-net,
.nst-tennis-buy__return-signal {
	fill: none;
}

.nst-tennis-buy__shoe,
.nst-tennis-buy__gift .nst-tennis-buy__icon-signal {
	stroke: var(--nst-tennis-ink);
}

.nst-tennis-buy__return-outline {
	stroke: var(--nst-tennis-ink);
	stroke-width: 7px;
}

.nst-tennis-buy__return-signal {
	stroke: var(--nst-tennis-signal);
	stroke-width: 4.2px;
}

.nst-tennis-buy__assurance-row h3 {
	font-size: 0.96rem;
	font-weight: 750;
	letter-spacing: -0.012em;
	line-height: 1.25;
	margin: 0 0 0.28rem;
}

.nst-tennis-buy__assurance-row p {
	color: var(--nst-tennis-muted);
	font-size: 0.82rem;
	line-height: 1.45;
	margin: 0;
}

/* Section 02A — racket storage. */
.nst-tennis-racket-storage {
	--nst-tennis-racket-ease: cubic-bezier(0.22, 0.82, 0.2, 1);
	background: var(--nst-tennis-white);
	padding: clamp(5rem, 8vw, 8rem) 0;
}

.nst-tennis-racket-storage__layout {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 4vw, 4.5rem);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.nst-tennis-racket-storage__copy {
	grid-column: 1 / 5;
	max-width: 30rem;
}

.nst-tennis-racket-storage__eyebrow {
	color: #5252c7;
	font-size: var(--nst-type-label-size);
	font-weight: 800;
	letter-spacing: 0.18em;
	line-height: 1.2;
	margin-bottom: 1rem;
	text-transform: uppercase;
	transition: opacity 400ms var(--nst-tennis-ease), transform 400ms var(--nst-tennis-ease);
}

.nst-tennis-racket-storage__copy h2 {
	font-size: clamp(2.1rem, 2.4vw, 2.2rem);
	font-weight: 800;
	letter-spacing: -0.045em;
	line-height: 0.98;
	margin-bottom: clamp(1.5rem, 2.5vw, 2rem);
}

.nst-tennis-racket-storage__copy h2 span {
	clip-path: inset(0 0 0 0);
	opacity: 1;
	transform: translateY(0);
	transition: clip-path 600ms var(--nst-tennis-ease), opacity 600ms var(--nst-tennis-ease), transform 600ms var(--nst-tennis-ease);
}

.nst-tennis-racket-storage__copy h2 span + span {
	transition-delay: 80ms;
}

.nst-tennis-racket-storage__description {
	color: var(--nst-tennis-muted);
	font-size: clamp(0.98rem, 1.2vw, 1.08rem);
	line-height: 1.7;
	margin-bottom: 0;
	max-width: 34rem;
	transition: opacity 500ms var(--nst-tennis-ease) 260ms, transform 500ms var(--nst-tennis-ease) 260ms;
}

.nst-tennis-racket-storage__media {
	display: grid;
	gap: clamp(0.75rem, 1.25vw, 1.25rem);
	grid-column: 5 / 13;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-width: 0;
}

.nst-tennis-racket-storage__figure {
	margin: 0;
	min-width: 0;
}

.nst-tennis-racket-storage__frame {
	clip-path: inset(0 0 0 0);
	overflow: hidden;
	position: relative;
	transition: clip-path 700ms var(--nst-tennis-ease) 240ms;
}

.nst-tennis-racket-storage__frame::after {
	background: linear-gradient(112deg, transparent 28%, rgba(255, 255, 255, 0.3) 48%, transparent 68%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	transform: translateX(-120%);
	transition: transform 900ms var(--nst-tennis-ease);
}

.nst-tennis-racket-storage__figure--rear .nst-tennis-racket-storage__frame {
	transition-delay: 360ms;
}

.nst-tennis-racket-storage__frame img {
	aspect-ratio: 1;
	height: auto;
	object-fit: cover;
	transform: scale(1);
	transition: transform 700ms var(--nst-tennis-ease) 240ms;
	width: 100%;
}

.nst-tennis-racket-storage__figure--rear .nst-tennis-racket-storage__frame img {
	transition-delay: 360ms;
}

.nst-tennis-racket-storage__figure figcaption {
	color: var(--nst-tennis-ink);
	font-size: clamp(0.68rem, 0.75vw, 0.76rem);
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1.3;
	margin-top: 0.875rem;
	opacity: 1;
	text-transform: uppercase;
	transform: translateY(0);
	transition: color 300ms ease, opacity 420ms var(--nst-tennis-ease) 660ms, transform 420ms var(--nst-tennis-ease) 660ms;
}

.nst-tennis-racket-storage__figure figcaption::before {
	background: #5252c7;
	content: "";
	display: block;
	height: 2px;
	margin-bottom: 0.75rem;
	transform: scaleX(1);
	transform-origin: left center;
	transition: transform 520ms var(--nst-tennis-ease) 520ms, width 420ms var(--nst-tennis-ease);
	width: 2.75rem;
}

.nst-tennis-racket-storage__figure--rear figcaption,
.nst-tennis-racket-storage__figure--rear figcaption::before {
	transition-delay: 780ms;
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-racket-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-racket-storage__eyebrow,
.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-racket-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-racket-storage__description,
.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-racket-storage__layout[data-nst-reveal]:not(.is-visible) figcaption {
	opacity: 0;
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-racket-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-racket-storage__eyebrow {
	transform: translateY(8px);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-racket-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-racket-storage__copy h2 span {
	clip-path: inset(100% 0 0 0);
	opacity: 0;
	transform: translateY(1rem);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-racket-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-racket-storage__description {
	transform: translateY(12px);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-racket-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-racket-storage__frame {
	clip-path: inset(0 100% 0 0);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-racket-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-racket-storage__frame img {
	transform: scale(0.98);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-racket-storage__layout[data-nst-reveal]:not(.is-visible) figcaption {
	transform: translateY(8px);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-racket-storage__layout[data-nst-reveal]:not(.is-visible) figcaption::before {
	transform: scaleX(0);
}

@media (hover: hover) and (pointer: fine) {
	.nst-tennis-racket-storage__figure:hover .nst-tennis-racket-storage__frame img {
		transform: scale(1.035);
		transition-delay: 0ms;
	}

	.nst-tennis-racket-storage__figure:hover .nst-tennis-racket-storage__frame::after {
		transform: translateX(120%);
	}

	.nst-tennis-racket-storage__figure:not(.nst-tennis-racket-storage__figure--front):hover figcaption {
		color: #5252c7;
	}

	.nst-tennis-racket-storage__figure:not(.nst-tennis-racket-storage__figure--front):hover figcaption::before {
		width: 6rem;
	}
}

@media (max-width: 1024px) {
	.nst-tennis-racket-storage__layout {
		gap: clamp(2.5rem, 6vw, 4rem);
		grid-template-columns: minmax(0, 1fr);
	}

	.nst-tennis-racket-storage__copy,
	.nst-tennis-racket-storage__media {
		grid-column: 1;
	}

	.nst-tennis-racket-storage__copy {
		max-width: 42rem;
	}
}

@media (max-width: 768px) {
	.nst-tennis-racket-storage {
		padding: 4rem 0;
	}

	.nst-tennis-racket-storage__layout {
		gap: 2.25rem;
	}

	.nst-tennis-racket-storage .nst-tennis-racket-storage__copy h2 {
		font-size: clamp(1.75rem, 7.2vw, 2rem);
	}

	.nst-tennis-racket-storage__media {
		gap: 0.625rem;
	}

	.nst-tennis-racket-storage__figure figcaption {
		font-size: clamp(0.58rem, 2.4vw, 0.7rem);
		letter-spacing: 0.11em;
		margin-top: 0.7rem;
	}

	.nst-tennis-racket-storage__eyebrow,
	.nst-tennis-racket-storage__copy h2 span,
	.nst-tennis-racket-storage__description,
	.nst-tennis-racket-storage__frame,
	.nst-tennis-racket-storage__frame img,
	.nst-tennis-racket-storage__figure figcaption,
	.nst-tennis-racket-storage__figure figcaption::before {
		transition-duration: 360ms;
	}
}

@media (max-width: 340px) {
	.nst-tennis-racket-storage .nst-tennis-racket-storage__copy h2 {
		font-size: 1.65rem;
	}

	.nst-tennis-racket-storage__media {
		gap: 1.5rem;
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nst-tennis-racket-storage__eyebrow,
	.nst-tennis-racket-storage__copy h2 span,
	.nst-tennis-racket-storage__description,
	.nst-tennis-racket-storage__frame,
	.nst-tennis-racket-storage__frame img,
	.nst-tennis-racket-storage__figure figcaption,
	.nst-tennis-racket-storage__figure figcaption::before {
		clip-path: none !important;
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.nst-tennis-racket-storage__frame::after {
		display: none !important;
	}
}

/* Section 02B — shoe compartment. */
.nst-tennis-shoe-storage {
	--nst-tennis-shoe-ease: cubic-bezier(0.22, 0.82, 0.2, 1);
	background: var(--nst-tennis-white);
	padding: clamp(5rem, 8vw, 8rem) 0;
}

.nst-tennis-shoe-storage__layout {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
}

.nst-tennis-shoe-storage__media {
	justify-self: center;
	margin: 0;
	min-width: 0;
	width: 88%;
}

.nst-tennis-shoe-storage__frame {
	aspect-ratio: 1200 / 1005;
	clip-path: inset(0 0 0 0);
	overflow: hidden;
	position: relative;
	transition: clip-path 850ms var(--nst-tennis-shoe-ease) 80ms;
}

.nst-tennis-shoe-storage__frame::after {
	background: linear-gradient(112deg, transparent 28%, rgba(255, 255, 255, 0.32) 48%, transparent 68%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	transform: translateX(-120%);
	transition: transform 900ms var(--nst-tennis-shoe-ease);
}

.nst-tennis-shoe-storage__frame img {
	aspect-ratio: 1;
	height: auto;
	object-fit: cover;
	transform: scale(1);
	transition: transform 850ms var(--nst-tennis-shoe-ease) 80ms;
	width: 100%;
}

.nst-tennis-shoe-storage__copy {
	max-width: 36rem;
	min-width: 0;
}

.nst-tennis-shoe-storage__eyebrow {
	color: #5252c7;
	font-size: var(--nst-type-label-size);
	font-weight: 800;
	letter-spacing: 0.18em;
	line-height: 1.2;
	margin-bottom: 1rem;
	text-transform: uppercase;
	transition: opacity 400ms var(--nst-tennis-shoe-ease) 180ms, transform 400ms var(--nst-tennis-shoe-ease) 180ms;
}

.nst-tennis-shoe-storage__copy h2 {
	font-size: clamp(2.25rem, 2.8vw, 2.7rem);
	font-weight: 800;
	letter-spacing: -0.045em;
	line-height: 0.98;
	margin-bottom: clamp(1.5rem, 2.5vw, 2rem);
}

.nst-tennis-shoe-storage__copy h2 span {
	clip-path: inset(0 0 0 0);
	opacity: 1;
	transform: translateY(0);
	transition: clip-path 620ms var(--nst-tennis-shoe-ease) 240ms, opacity 620ms var(--nst-tennis-shoe-ease) 240ms, transform 620ms var(--nst-tennis-shoe-ease) 240ms;
}

.nst-tennis-shoe-storage__copy h2 span + span {
	transition-delay: 330ms;
}

.nst-tennis-shoe-storage__description {
	color: var(--nst-tennis-muted);
	font-size: clamp(0.98rem, 1.15vw, 1.08rem);
	line-height: 1.7;
	margin-bottom: 0;
	transition: opacity 500ms var(--nst-tennis-shoe-ease) 390ms, transform 500ms var(--nst-tennis-shoe-ease) 390ms;
}

.nst-tennis-shoe-storage__details {
	list-style: none;
	margin: clamp(2rem, 3.5vw, 3rem) 0 0;
	padding: 0;
}

.nst-tennis-shoe-storage__details li {
	display: grid;
	gap: 1rem;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	opacity: 1;
	padding: 1.25rem 0;
	transform: translateX(0);
	transition: opacity 520ms var(--nst-tennis-shoe-ease) 500ms, transform 520ms var(--nst-tennis-shoe-ease) 500ms;
}

.nst-tennis-shoe-storage__details li + li {
	transition-delay: 620ms;
}

.nst-tennis-shoe-storage__index {
	color: #5252c7;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.5;
	opacity: 1;
	padding-top: 0.05rem;
	transform: scale(1);
	transition: opacity 360ms var(--nst-tennis-shoe-ease) 650ms, transform 420ms var(--nst-tennis-shoe-ease) 650ms;
}

.nst-tennis-shoe-storage__details h3 {
	color: var(--nst-tennis-ink);
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.25;
	margin: 0;
}

.nst-tennis-shoe-storage__details h3::before {
	background: #5252c7;
	content: "";
	display: block;
	height: 2px;
	margin-bottom: 0.75rem;
	transform: scaleX(1);
	transform-origin: left center;
	transition: transform 520ms var(--nst-tennis-shoe-ease) 580ms;
	width: 2.75rem;
}

.nst-tennis-shoe-storage__details li + li h3::before {
	transition-delay: 700ms;
}

.nst-tennis-shoe-storage__details p {
	color: var(--nst-tennis-muted);
	font-size: 0.86rem;
	line-height: 1.55;
	margin: 0.45rem 0 0;
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-shoe-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-shoe-storage__frame {
	clip-path: inset(0 100% 0 0);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-shoe-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-shoe-storage__frame img {
	transform: scale(1.035);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-shoe-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-shoe-storage__eyebrow,
.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-shoe-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-shoe-storage__copy h2 span,
.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-shoe-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-shoe-storage__description,
.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-shoe-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-shoe-storage__details li {
	opacity: 0;
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-shoe-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-shoe-storage__eyebrow {
	transform: translateY(8px);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-shoe-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-shoe-storage__copy h2 span {
	clip-path: inset(100% 0 0 0);
	transform: translateY(1rem);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-shoe-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-shoe-storage__description {
	transform: translateY(12px);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-shoe-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-shoe-storage__details li {
	transform: translateX(16px);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-shoe-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-shoe-storage__details h3::before {
	transform: scaleX(0);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-shoe-storage__layout[data-nst-reveal]:not(.is-visible) .nst-tennis-shoe-storage__index {
	opacity: 0;
	transform: scale(0.82);
}

@media (hover: hover) and (pointer: fine) {
	.nst-tennis-shoe-storage__media:hover .nst-tennis-shoe-storage__frame img {
		transform: scale(1.025);
		transition-delay: 0ms;
	}

	.nst-tennis-shoe-storage__media:hover .nst-tennis-shoe-storage__frame::after {
		transform: translateX(120%);
	}

	.nst-tennis-shoe-storage__details li {
		transition-property: opacity, transform;
	}

	.nst-tennis-shoe-storage__details li:hover {
		transform: translateY(-3px);
	}

	.nst-tennis-shoe-storage__details li:hover h3::before {
		transform: scaleX(1.25);
	}
}

@media (min-width: 901px) and (max-width: 1180px) {
	.nst-tennis-shoe-storage.nst-tennis-section .nst-tennis-shoe-storage__copy h2 {
		font-size: clamp(1.65rem, 2.5vw, 2rem);
	}
}

@media (max-width: 900px) {
	.nst-tennis-shoe-storage__layout {
		gap: clamp(2.5rem, 7vw, 4rem);
		grid-template-columns: minmax(0, 1fr);
	}

	.nst-tennis-shoe-storage__media {
		max-width: none;
		width: 100%;
	}

	.nst-tennis-shoe-storage__copy {
		max-width: 42rem;
	}
}

@media (max-width: 768px) {
	.nst-tennis-shoe-storage {
		padding: 4rem 0;
	}

	.nst-tennis-shoe-storage.nst-tennis-section .nst-tennis-shoe-storage__copy h2 {
		font-size: clamp(2.1rem, 8.5vw, 3rem);
	}

	.nst-tennis-shoe-storage__eyebrow,
	.nst-tennis-shoe-storage__copy h2 span,
	.nst-tennis-shoe-storage__description,
	.nst-tennis-shoe-storage__details li,
	.nst-tennis-shoe-storage__details h3::before,
	.nst-tennis-shoe-storage__frame,
	.nst-tennis-shoe-storage__frame img {
		transition-duration: 360ms;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nst-tennis-shoe-storage__eyebrow,
	.nst-tennis-shoe-storage__copy h2 span,
	.nst-tennis-shoe-storage__description,
	.nst-tennis-shoe-storage__details li,
	.nst-tennis-shoe-storage__details h3::before,
	.nst-tennis-shoe-storage__frame,
	.nst-tennis-shoe-storage__frame img {
		clip-path: none !important;
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.nst-tennis-shoe-storage__frame::after {
		display: none !important;
	}

	.nst-tennis-shoe-storage__index {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* Section 02C — organized capacity tabs. */
.nst-tennis-organized-capacity {
	--nst-capacity-ease: cubic-bezier(0.22, 0.82, 0.2, 1);
	background: var(--nst-tennis-white);
	padding: clamp(5rem, 8vw, 8rem) 0;
}

.nst-tennis-organized-capacity__heading {
	margin: 0 auto clamp(3rem, 5vw, 5rem);
	max-width: 62rem;
	text-align: center;
}

.nst-tennis-organized-capacity__eyebrow {
	color: #5252c7;
	font-size: var(--nst-type-label-size);
	font-weight: 800;
	letter-spacing: 0.2em;
	margin: 0 0 1.1rem;
	text-transform: uppercase;
}

.nst-tennis-organized-capacity__heading h2 {
	color: var(--nst-tennis-ink);
	font-size: clamp(2.4rem, 4vw, 4.4rem);
	font-weight: 800;
	letter-spacing: -0.05em;
	line-height: 0.98;
	margin: 0;
}

.nst-tennis-organized-capacity__layout {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 5vw, 5rem);
	grid-template-areas:
		"tabs overview"
		"details overview";
	grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
	grid-template-rows: auto 1fr;
}

.nst-tennis-organized-capacity__tabs {
	display: flex;
	gap: 2rem;
	grid-area: tabs;
}

.nst-tennis-organized-capacity__tabs button {
	appearance: none;
	background: transparent;
	border: 0;
	color: var(--nst-tennis-muted);
	cursor: pointer;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	padding: 0 0 0.75rem;
	position: relative;
	text-transform: uppercase;
}

.nst-tennis-organized-capacity__tabs button::after {
	background: #5252c7;
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 280ms var(--nst-capacity-ease);
	width: 100%;
}

.nst-tennis-organized-capacity__tabs button[aria-selected="true"] {
	color: var(--nst-tennis-ink);
}

.nst-tennis-organized-capacity__tabs button[aria-selected="true"]::after {
	transform: scaleX(1);
}

.nst-tennis-organized-capacity__tabs button:focus-visible {
	outline: 2px solid #5252c7;
	outline-offset: 5px;
}

.nst-tennis-organized-capacity__details {
	display: block;
	grid-area: details;
	min-width: 0;
}

.nst-tennis-organized-capacity__panel {
	min-width: 0;
}

.nst-tennis-organized-capacity__panel + .nst-tennis-organized-capacity__panel {
	margin-top: 2rem;
}

.nst-tennis-organized-capacity__cards {
	display: grid;
	gap: clamp(0.9rem, 1.4vw, 1.35rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nst-tennis-organized-capacity__card {
	margin: 0;
	min-width: 0;
}

.nst-tennis-organized-capacity__card-media {
	aspect-ratio: 3 / 2;
	overflow: hidden;
	position: relative;
}

.nst-tennis-organized-capacity__card img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 460ms var(--nst-capacity-ease);
	width: 100%;
}

.nst-tennis-organized-capacity__badge {
	align-items: center;
	background: #5252c7;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 0.72rem;
	font-weight: 800;
	height: 1.9rem;
	justify-content: center;
	left: 0.7rem;
	position: absolute;
	top: 0.7rem;
	width: 1.9rem;
}

.nst-tennis-organized-capacity__panel[data-nst-capacity-state="front"] .nst-tennis-organized-capacity__badge {
	background: #fff;
	color: #5252c7;
	box-shadow: 0 0 0 1px rgba(82, 82, 199, 0.14), 0 1px 3px rgba(23, 23, 29, 0.08);
}

.nst-tennis-organized-capacity__card figcaption {
	color: var(--nst-tennis-ink);
	font-size: clamp(0.78rem, 0.9vw, 0.9rem);
	font-weight: 800;
	line-height: 1.3;
	margin-top: 0.7rem;
	min-height: 2.6em;
}

.nst-tennis-organized-capacity__overviews {
	display: block;
	grid-area: overview;
	min-width: 0;
}

.nst-tennis-organized-capacity__overview {
	margin: 0;
	overflow: hidden;
}

.nst-tennis-organized-capacity__overview + .nst-tennis-organized-capacity__overview {
	margin-top: 2rem;
}

.nst-tennis-organized-capacity__overview img {
	aspect-ratio: 1;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.nst-tennis-organized-capacity__layout.is-enhanced .nst-tennis-organized-capacity__details,
.nst-tennis-organized-capacity__layout.is-enhanced .nst-tennis-organized-capacity__overviews {
	display: grid;
}

.nst-tennis-organized-capacity__layout.is-enhanced .nst-tennis-organized-capacity__panel,
.nst-tennis-organized-capacity__layout.is-enhanced .nst-tennis-organized-capacity__overview {
	grid-area: 1 / 1;
	margin-top: 0;
}

.nst-tennis-organized-capacity__layout.is-enhanced [hidden] {
	display: none !important;
}

.nst-tennis-organized-capacity__eyebrow,
.nst-tennis-organized-capacity__heading h2,
.nst-tennis-organized-capacity__tabs,
.nst-tennis-organized-capacity__overview,
.nst-tennis-organized-capacity__card {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 520ms var(--nst-capacity-ease), transform 560ms var(--nst-capacity-ease);
}

.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-organized-capacity [data-nst-reveal]:not(.is-visible) .nst-tennis-organized-capacity__eyebrow,
.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-organized-capacity [data-nst-reveal]:not(.is-visible) .nst-tennis-organized-capacity__heading h2,
.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-organized-capacity [data-nst-reveal]:not(.is-visible) .nst-tennis-organized-capacity__tabs,
.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-organized-capacity [data-nst-reveal]:not(.is-visible) .nst-tennis-organized-capacity__overview,
.nst-tennis-js .nst-tennis-tote.is-ready .nst-tennis-organized-capacity [data-nst-reveal]:not(.is-visible) .nst-tennis-organized-capacity__card {
	opacity: 0;
	transform: translateY(14px);
}

.nst-tennis-organized-capacity__heading h2 {
	transition-delay: 70ms;
}

.nst-tennis-organized-capacity__tabs {
	transition-delay: 140ms;
}

.nst-tennis-organized-capacity__overview {
	transition-delay: 200ms;
}

.nst-tennis-organized-capacity__card:nth-child(1) {
	transition-delay: 240ms;
}

.nst-tennis-organized-capacity__card:nth-child(2) {
	transition-delay: 295ms;
}

.nst-tennis-organized-capacity__card:nth-child(3) {
	transition-delay: 350ms;
}

.nst-tennis-organized-capacity__card:nth-child(4) {
	transition-delay: 405ms;
}

.nst-tennis-organized-capacity__panel.is-entering .nst-tennis-organized-capacity__card {
	animation: nst-capacity-card-in 320ms var(--nst-capacity-ease) both;
}

.nst-tennis-organized-capacity__panel.is-entering .nst-tennis-organized-capacity__card:nth-child(2) {
	animation-delay: 35ms;
}

.nst-tennis-organized-capacity__panel.is-entering .nst-tennis-organized-capacity__card:nth-child(3) {
	animation-delay: 70ms;
}

.nst-tennis-organized-capacity__panel.is-entering .nst-tennis-organized-capacity__card:nth-child(4) {
	animation-delay: 105ms;
}

.nst-tennis-organized-capacity__overview.is-entering {
	animation: nst-capacity-overview-in 360ms var(--nst-capacity-ease) both;
}

@keyframes nst-capacity-card-in {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes nst-capacity-overview-in {
	from { opacity: 0; transform: scale(0.99); }
	to { opacity: 1; transform: scale(1); }
}

@media (hover: hover) and (pointer: fine) {
	.nst-tennis-organized-capacity__card:hover img {
		transform: scale(1.025);
	}

	.nst-tennis-organized-capacity__card:hover .nst-tennis-organized-capacity__card-media {
		box-shadow: inset 0 0 0 1px rgba(82, 82, 199, 0.34);
	}
}

@media (max-width: 900px) {
	.nst-tennis-organized-capacity__heading {
		text-align: left;
	}

	.nst-tennis-organized-capacity__layout {
		align-items: stretch;
		grid-template-areas:
			"tabs"
			"overview"
			"details";
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
	}

	.nst-tennis-organized-capacity__tabs {
		display: grid;
		gap: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nst-tennis-organized-capacity__tabs button {
		text-align: center;
	}
}

@media (max-width: 480px) {
	.nst-tennis-organized-capacity {
		padding: 4rem 0;
	}

	.nst-tennis-organized-capacity__cards {
		gap: 0.75rem;
	}

	.nst-tennis-organized-capacity__badge {
		height: 1.65rem;
		left: 0.5rem;
		top: 0.5rem;
		width: 1.65rem;
	}

	.nst-tennis-organized-capacity__card figcaption {
		font-size: 0.72rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nst-tennis-organized-capacity *,
	.nst-tennis-organized-capacity *::before,
	.nst-tennis-organized-capacity *::after {
		animation: none !important;
		scroll-behavior: auto !important;
		transition: none !important;
	}
}

/* Section 02 — size, capacity and on-body scale. */
.nst-tennis-size-context {
	background: var(--nst-tennis-white);
	padding: clamp(4rem, 5vw, 4.5rem) 0;
}

.nst-tennis-size-context__grid {
	align-items: stretch;
	display: grid;
	gap: clamp(1rem, 1.25vw, 1.125rem);
	grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
}

.nst-tennis-size-context__card,
.nst-tennis-size-context__card figure {
	margin: 0;
	min-width: 0;
}

.nst-tennis-size-context__spec {
	background: transparent;
	display: grid;
	grid-template-areas: "copy media";
	grid-template-columns: minmax(0, 32fr) minmax(0, 68fr);
}

.nst-tennis-size-context__copy {
	align-self: start;
	grid-area: copy;
	padding: 0 clamp(1rem, 1.5vw, 1.5rem) 0 0;
}

.nst-tennis-size-context__copy h2 {
	font-size: clamp(1.7rem, 2.15vw, 2.3rem);
	letter-spacing: -0.035em;
	line-height: 0.98;
	margin: 0.75rem 0 0;
}

.nst-tennis-size-context__facts {
	margin: clamp(1.25rem, 2vw, 1.75rem) 0 0;
}

.nst-tennis-size-context__fact {
	border-top: 1px solid var(--nst-tennis-line);
	padding: clamp(0.7rem, 1vw, 0.9rem) 0;
}

.nst-tennis-size-context__fact dt {
	color: var(--nst-tennis-ink);
	font-size: clamp(0.78rem, 0.85vw, 0.88rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.25;
	margin: 0;
}

.nst-tennis-size-context__fact dd {
	color: var(--nst-tennis-muted);
	font-size: clamp(0.76rem, 0.8vw, 0.84rem);
	line-height: 1.48;
	margin: 0.35rem 0 0;
}

.nst-tennis-size-context__media {
	align-items: flex-start;
	display: flex;
	grid-area: media;
	justify-content: center;
	overflow: hidden;
}

.nst-tennis-size-context__dimension-image {
	height: auto;
	object-fit: contain;
	width: 100%;
}

.nst-tennis-size-context__scenes {
	background: transparent;
	display: grid;
	gap: 0.5rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: hidden;
}

.nst-tennis-size-context__scene {
	min-height: 100%;
	overflow: hidden;
}

.nst-tennis-size-context__scene img {
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	width: 100%;
}

/* Section 08 — verified details. */
.nst-tennis-details {
	background: var(--nst-tennis-surface);
	padding: clamp(6rem, 10vw, 10rem) 0;
}

.nst-tennis-details__media {
	align-self: start;
	aspect-ratio: auto;
	background: transparent;
	grid-column: 1 / 7;
	margin-bottom: 0;
	overflow: hidden;
	padding: 0;
}

.nst-tennis-details__media img {
	height: auto;
	object-fit: contain;
	width: 100%;
}

.nst-tennis-details__content {
	grid-column: 8 / 13;
}

.nst-tennis-details__content h2 {
	margin-bottom: clamp(2rem, 4vw, 3.75rem);
}

.nst-tennis-accordion {
	border-top: 1px solid var(--nst-tennis-line);
}

.nst-tennis-detail {
	border-bottom: 1px solid var(--nst-tennis-line);
}

.nst-tennis-detail h3 {
	margin: 0;
}

.nst-tennis-detail h3 button {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: flex;
	font: inherit;
	font-size: 0.8rem;
	font-weight: 800;
	justify-content: space-between;
	letter-spacing: 0.08em;
	min-height: 68px;
	padding: 0;
	text-align: left;
	text-transform: uppercase;
	width: 100%;
}

.nst-tennis-detail h3 button span:last-child {
	font-size: 1.25rem;
	font-weight: 400;
	transition: transform 420ms var(--nst-tennis-ease);
}

.nst-tennis-detail h3 button[aria-expanded="true"] span:last-child {
	transform: rotate(45deg);
}

.nst-tennis-detail__panel {
	padding: 0 0 1.5rem;
}

.nst-tennis-detail__panel[hidden] {
	display: none;
}

.nst-tennis-detail__panel dl,
.nst-tennis-detail__panel dl > div {
	margin: 0;
}

.nst-tennis-detail__panel dl > div {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(7rem, 0.42fr) minmax(0, 1fr);
	padding: 0.45rem 0;
}

.nst-tennis-detail__panel dt {
	color: var(--nst-tennis-muted);
	font-size: 0.78rem;
}

.nst-tennis-detail__panel dd {
	font-size: 0.9rem;
	line-height: 1.5;
}

.nst-tennis-detail__panel a {
	color: inherit;
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

/* Section 09 — optional real reviews and final conversion. */
.nst-tennis-reviews {
	padding-bottom: clamp(5rem, 8vw, 8rem);
	padding-top: clamp(5rem, 8vw, 8rem);
}

.nst-tennis-reviews__head {
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	margin-bottom: 2.5rem;
}

.nst-tennis-reviews__head h3 {
	font-size: var(--nst-type-h3-size);
	letter-spacing: var(--nst-type-h3-track);
	line-height: var(--nst-type-h3-line);
	margin-bottom: 0;
}

.nst-tennis-reviews__rail {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nst-tennis-reviews figure {
	align-items: center;
	background: var(--nst-tennis-surface);
	border: 1px solid var(--nst-tennis-line);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	min-height: clamp(18rem, 24vw, 23rem);
	padding: clamp(2rem, 3.5vw, 3.5rem);
	text-align: center;
}

.nst-tennis-reviews blockquote {
	font-size: clamp(1.15rem, 1.7vw, 1.5rem);
	letter-spacing: -0.02em;
	line-height: 1.4;
	margin: 0;
	max-width: 23rem;
}

.nst-tennis-reviews figcaption {
	align-items: center;
	display: flex;
	flex-direction: column;
	font-size: 0.75rem;
	gap: 0.25rem;
	margin-top: 1.65rem;
	text-align: center;
}

.nst-tennis-reviews figcaption::before {
	background: var(--nst-tennis-brand);
	content: "";
	height: 2px;
	margin-bottom: 1rem;
	width: 2.5rem;
}

.nst-tennis-reviews figcaption span {
	color: var(--nst-tennis-muted);
}

.nst-tennis-final {
	align-items: center;
	background: var(--nst-tennis-ink);
	color: var(--nst-tennis-white);
	display: flex;
	min-height: clamp(23.75rem, 24vw, 27.5rem);
	padding: clamp(4.5rem, 7vw, 7rem) 0;
}

.nst-tennis-final__inner {
	align-items: center;
	display: grid;
	gap: clamp(1.5rem, 2.8vw, 3rem);
	grid-template-columns: repeat(12, minmax(0, 1fr));
	width: 100%;
}

.nst-tennis-final__lead {
	grid-column: 1 / 9;
}

.nst-tennis-final__action {
	grid-column: 9 / 13;
}

.nst-tennis-final__lead .nst-tennis-register {
	color: var(--nst-brand-yellow, #dcff59);
	margin-bottom: 1.25rem;
}

.nst-tennis-final__lead h2 {
	font-size: var(--nst-type-h2-size);
	font-weight: var(--nst-type-h2-weight);
	letter-spacing: var(--nst-type-h2-track);
	line-height: var(--nst-type-h2-line);
	margin: 0;
	max-width: 10ch;
}

.nst-tennis-final__action > p {
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--nst-type-body-size);
	line-height: var(--nst-type-body-line);
	margin: 0;
	max-width: 32rem;
}

.nst-tennis-quick-form {
	margin-top: 1rem;
	max-width: 24rem;
}

.nst-tennis-final__action .nst-tennis-quick-form {
	margin-top: 2rem;
}

.nst-tennis-quick-form button {
	min-height: 58px;
	width: 100%;
}

.nst-tennis-final .nst-tennis-quick-form button {
	background: var(--nst-tennis-white);
	border-color: var(--nst-tennis-white);
	color: var(--nst-tennis-ink);
	justify-content: center;
	text-align: center;
}

.nst-tennis-sticky-buy {
	align-items: center;
	background: var(--nst-tennis-white);
	border-top: 1px solid var(--nst-tennis-line);
	bottom: 0;
	display: none;
	gap: 0.75rem;
	justify-content: space-between;
	left: 0;
	opacity: 0;
	padding: 0.65rem 1rem;
	pointer-events: none;
	position: fixed;
	right: 0;
	transform: translateY(105%);
	transition: opacity 320ms ease, transform 520ms var(--nst-tennis-ease);
	z-index: 55;
}

.nst-tennis-sticky-buy > div {
	display: grid;
	gap: 0.2rem;
}

.nst-tennis-sticky-buy strong {
	font-size: 0.82rem;
}

.nst-tennis-sticky-buy > div span {
	font-size: 0.75rem;
}

.nst-tennis-sticky-buy form {
	margin: 0;
}

.nst-tennis-sticky-buy button {
	min-height: 44px;
	padding-inline: 1.15rem;
}

/* First-paint purchase orchestration remains fail-open when the shared boot is unavailable. */
html.nst-motion-boot .nst-tennis-tote:not(.is-ready) [data-nst-tennis-intro] {
	opacity: 0;
}

html.nst-motion-boot .nst-tennis-tote:not(.is-ready) [data-nst-tennis-section="1"] .nst-tennis-gallery {
	clip-path: inset(0 0 100% 0);
	transform: scale(1.015);
}

html.nst-motion-boot .nst-tennis-tote:not(.is-ready) [data-nst-tennis-section="1"] .nst-tennis-gallery__stage img {
	transform: scale(1.025);
}

html.nst-motion-boot .nst-tennis-tote:not(.is-ready) [data-nst-tennis-section="1"] .nst-tennis-buy {
	transform: translate3d(0, 1.2rem, 0);
}

html.nst-motion-boot .nst-tennis-tote.is-ready [data-nst-tennis-section="1"] .nst-tennis-gallery {
	animation: nst-tennis-intro-product 850ms var(--nst-tennis-ease) both;
}

html.nst-motion-boot .nst-tennis-tote.is-ready [data-nst-tennis-section="1"] .nst-tennis-gallery__stage img {
	animation: nst-tennis-intro-image 850ms var(--nst-tennis-ease) both;
}

html.nst-motion-boot .nst-tennis-tote.is-ready [data-nst-tennis-section="1"] .nst-tennis-buy {
	animation: nst-tennis-intro-rise 680ms var(--nst-tennis-ease) both;
	animation-delay: 150ms;
}

@keyframes nst-tennis-intro-rise {
	from {
		opacity: 0;
		transform: translate3d(0, 0.9rem, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes nst-tennis-intro-title {
	from {
		clip-path: inset(100% 0 0 0);
		opacity: 0;
		transform: translate3d(0, 1em, 0);
	}
	to {
		clip-path: inset(0);
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes nst-tennis-intro-rule {
	from {
		transform: scaleY(0);
	}
	to {
		transform: scaleY(1);
	}
}

@keyframes nst-tennis-intro-product {
	from {
		clip-path: inset(0 0 100% 0);
		opacity: 0;
		transform: scale(1.02);
	}
	to {
		clip-path: inset(0);
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes nst-tennis-intro-image {
	from {
		transform: scale(1.035);
	}
	to {
		transform: scale(1);
	}
}

/* Progressive reveal remains visible until JavaScript opts in. */
.nst-tennis-js .nst-tennis-tote.is-ready [data-nst-reveal]:not([data-nst-tennis-intro]) {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition: opacity 720ms ease, transform 820ms var(--nst-tennis-ease);
}

.nst-tennis-js .nst-tennis-tote.is-ready [data-nst-reveal]:not([data-nst-tennis-intro]):not(.is-visible) {
	opacity: 0;
	transform: translate3d(0, 1.5rem, 0);
}

@media (min-width: 1025px) {
	.nst-tennis-purchase {
		padding-top: clamp(3rem, 4vw, 5rem);
	}
}

@media (max-width: 1024px) {
	.nst-tennis-final {
		min-height: clamp(23.75rem, 45vw, 27.5rem);
		padding: clamp(4rem, 7vw, 5.5rem) 0;
	}

	.nst-tennis-final__lead { grid-column: 1 / 8; }
	.nst-tennis-final__action { grid-column: 8 / 13; }

	.nst-tennis-section h2 {
		font-size: clamp(2.25rem, 3.8vw, 2.75rem);
	}

	.nst-tennis-shell {
		padding-inline: clamp(1.25rem, 3.2vw, 2.5rem);
	}

	.nst-tennis-hero__title-wrap { grid-column: 1 / 8; }
	.nst-tennis-hero__lede { grid-column: 8 / 13; }
	.nst-tennis-hero__product { grid-column: 1 / 8; }
	.nst-tennis-hero__summary { grid-column: 8 / 13; }
	.nst-tennis-positioning__copy { grid-column: 1 / 6; }
	.nst-tennis-positioning__media { grid-column: 6 / 13; }
	.nst-tennis-material__macro { grid-column: 1 / 8; }
	.nst-tennis-material__copy { grid-column: 8 / 13; }
	.nst-tennis-gallery { grid-column: 1 / 8; }
	.nst-tennis-buy { grid-column: 8 / 13; }
	.nst-tennis-details__media { grid-column: 1 / 7; }
	.nst-tennis-details__content { grid-column: 7 / 13; }

	.nst-tennis-section-heading--three-column {
		gap: 1rem;
		grid-template-columns: minmax(7rem, 0.58fr) minmax(0, 1.25fr) minmax(13rem, 0.65fr);
	}

	.nst-tennis-feature-story {
		gap: clamp(2.5rem, 5vw, 4rem);
	}

	.nst-tennis-buy__form form.cart {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.nst-tennis-shell {
		padding-inline: 1rem;
	}

	.nst-tennis-grid,
	.nst-tennis-section-heading,
	.nst-tennis-section-heading--split,
	.nst-tennis-section-heading--three-column {
		display: block;
	}

	.nst-tennis-size-context {
		padding: 3rem 0 4rem;
	}

	.nst-tennis-size-context__grid {
		gap: 1.5rem;
		grid-template-columns: 1fr;
	}

	.nst-tennis-size-context__spec {
		grid-template-areas:
			"copy"
			"media";
		grid-template-columns: 1fr;
	}

	.nst-tennis-size-context__media {
		aspect-ratio: auto;
		margin-top: 1rem;
	}

	.nst-tennis-size-context__dimension-image {
		height: auto;
		width: 100%;
	}

	.nst-tennis-size-context__copy {
		padding: 0;
	}

	.nst-tennis-size-context__scenes {
		gap: clamp(0.375rem, 2vw, 0.5rem);
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nst-tennis-size-context__scene {
		aspect-ratio: 4 / 5;
		min-height: 0;
	}

	.nst-tennis-hero {
		padding: 3.75rem 0 4.5rem;
	}

	.nst-tennis-hero__intro {
		margin-bottom: 2rem;
	}

	.nst-tennis-hero__title-wrap h2 {
		font-size: var(--nst-type-h1-size);
		max-width: none;
	}

	.nst-tennis-kicker {
		margin-bottom: 0.9rem;
	}

	.nst-tennis-section .nst-tennis-hero__lede {
		font-size: 1.05rem;
		margin: 2rem 0 0;
		max-width: 26rem;
		padding-left: 0.9rem;
	}

	.nst-tennis-hero__product {
		aspect-ratio: 1;
		height: auto;
	}

	.nst-tennis-reviews__rail::-webkit-scrollbar {
		display: none;
	}

	.nst-tennis-hero__summary {
		border-top: 1px solid var(--nst-tennis-line);
		margin-top: 1.5rem;
		padding-top: 2rem;
	}

	.nst-tennis-story-anchor {
		margin: 1.5rem 0 0 1rem;
	}

	.nst-tennis-positioning,
	.nst-tennis-features,
	.nst-tennis-capacity-section,
	.nst-tennis-material,
	.nst-tennis-details {
		padding: 4.5rem 0;
	}

	.nst-tennis-purchase {
		display: block;
		min-height: 0;
		padding: 2rem 0 4.5rem;
	}

	.nst-tennis-positioning__copy > p:not(.nst-tennis-section-mark) {
		margin: 1.25rem 0 1.5rem;
	}

	.nst-tennis-positioning__media {
		margin-inline: -1rem;
		margin-top: 2rem;
		width: calc(100% + 2rem);
	}

	.nst-tennis-section-heading {
		margin-bottom: 2rem;
	}

	.nst-tennis-section-heading .nst-tennis-register {
		margin-bottom: 0.85rem;
	}

	.nst-tennis-section-heading--split p {
		margin: 1.25rem 0 0;
		padding-left: 0.9rem;
	}

	.nst-tennis-features .nst-tennis-section-heading--three-column > p:last-child {
		margin-top: 1.35rem;
		max-width: 32rem;
		padding-left: 0.9rem;
	}

	.nst-tennis-section-heading--three-column h2 span {
		display: block;
	}

	.nst-tennis-feature-stories {
		gap: 5rem;
	}

	.nst-tennis-feature-story,
	.nst-tennis-feature-story--reverse {
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}

	.nst-tennis-feature-story__media,
	.nst-tennis-feature-story--reverse .nst-tennis-feature-story__media,
	.nst-tennis-feature-story--reverse .nst-tennis-feature-story__copy {
		grid-column: auto;
		grid-row: auto;
		order: initial;
		width: 100%;
	}

	.nst-tennis-feature-story__copy {
		width: 100%;
	}

	.nst-tennis-feature-story__copy h3 {
		font-size: clamp(1.9rem, 8vw, 2.5rem);
		line-height: 0.98;
	}

	.nst-tennis-feature-story__copy h3 > span,
	.nst-tennis-section h2 > span {
		white-space: normal;
	}

	.nst-tennis-capacity {
		display: flex;
		flex-direction: column;
		gap: 2.5rem;
	}

	.nst-tennis-capacity__media {
		width: 100%;
	}

	.nst-tennis-scenes {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 6rem;
	}

	.nst-tennis-scenes__copy {
		grid-column: 1 / -1;
		padding: 0 0 1rem;
	}

	.nst-tennis-material__macro {
		aspect-ratio: 4 / 5;
		min-height: 0;
	}

	.nst-tennis-material__copy {
		margin-top: 2.5rem;
	}

	.nst-tennis-gallery__grid {
		display: none;
	}

	.nst-tennis-gallery__stage {
		aspect-ratio: 1 / 1;
		background: transparent;
		display: flex;
		height: auto;
	}

	.nst-tennis-gallery__stage img {
		height: 100%;
		object-fit: cover;
		object-position: center;
		width: 100%;
	}

	.nst-tennis-gallery-dialog {
		display: none;
	}

	.nst-tennis-gallery__nav--prev { left: 1rem; }
	.nst-tennis-gallery__nav--next { right: 1rem; }

	.nst-tennis-buy {
		margin-top: 3rem;
		position: static;
	}

	.nst-tennis-buy__form form.cart {
		grid-template-columns: 6.5rem minmax(0, 1fr);
	}

	.nst-tennis-details__media {
		aspect-ratio: auto;
		margin-inline: -1rem;
		margin-bottom: 2.5rem;
		width: calc(100% + 2rem);
	}

	.nst-tennis-details__media img {
		height: auto;
	}

	.nst-tennis-detail h3 button {
		min-height: 64px;
	}

	.nst-tennis-reviews {
		padding-bottom: 4.5rem;
		padding-top: 4.5rem;
	}

	.nst-tennis-reviews__head {
		display: block;
	}

	.nst-tennis-reviews__head h3 {
		margin-top: 0.8rem;
	}

	.nst-tennis-reviews__rail {
		display: flex;
		gap: 1rem;
		margin-right: -1rem;
		overflow-x: auto;
		padding-right: 2.5rem;
		scroll-padding-left: 0;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.nst-tennis-reviews figure {
		flex: 0 0 min(82vw, 21rem);
		min-height: 20rem;
		scroll-snap-align: start;
	}

	.nst-tennis-final {
		min-height: 0;
		padding: 4rem 0 5rem;
	}

	.nst-tennis-final__inner {
		display: block;
	}

	.nst-tennis-final__action {
		margin-top: 2rem;
	}

	.nst-tennis-final__action .nst-tennis-quick-form {
		margin-top: 1.75rem;
		max-width: none;
	}

	.nst-tennis-sticky-buy {
		display: flex;
	}

	.nst-tennis-tote.has-reached-commerce:not(.is-final-visible) .nst-tennis-sticky-buy {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.nst-tennis-tote.has-reached-commerce:not(.is-final-visible) .nst-tennis-sticky-buy[aria-hidden="true"] {
		visibility: hidden;
	}
}

@media (min-width: 640px) and (max-width: 768px) {
	.nst-tennis-feature-story,
	.nst-tennis-feature-story--reverse {
		align-items: center;
		display: grid;
		gap: 2rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nst-tennis-feature-story--reverse .nst-tennis-feature-story__media {
		grid-column: 2;
		grid-row: 1;
	}

	.nst-tennis-feature-story--reverse .nst-tennis-feature-story__copy {
		grid-column: 1;
		grid-row: 1;
	}

	.nst-tennis-feature-story__copy h3 {
		font-size: clamp(1.8rem, 4.4vw, 2.2rem);
	}

	.nst-tennis-capacity {
		align-items: center;
		display: grid;
		gap: 2.5rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 390px) {
	.nst-tennis-hero__title-wrap h2 {
		font-size: clamp(2.9rem, 14vw, 3.35rem);
	}

	.nst-tennis-section h2 {
		font-size: clamp(2rem, 8.8vw, 2.35rem);
	}

	.nst-tennis-positioning__notes p {
		grid-template-columns: 6.75rem minmax(0, 1fr);
	}

	.nst-tennis-scenes {
		gap: 0.65rem;
	}

	.nst-tennis-buy__form form.cart {
		grid-template-columns: 5.75rem minmax(0, 1fr);
	}

	.nst-tennis-detail__panel dl > div {
		grid-template-columns: 6.75rem minmax(0, 1fr);
	}

	.nst-tennis-sticky-buy {
		padding-inline: 0.75rem;
	}

	.nst-tennis-sticky-buy button {
		font-size: 0.68rem;
		padding-inline: 0.85rem;
	}
}

@media (max-width: 340px) {
	.nst-tennis-shell {
		padding-inline: 0.75rem;
	}

	.nst-tennis-hero__title-wrap h2 {
		font-size: 2.85rem;
	}

	.nst-tennis-buy__form form.cart {
		grid-template-columns: 1fr;
	}

	.nst-tennis-sticky-buy > div span {
		display: none;
	}
}

.nst-cart-drawer__body.is-nst-cart-pending {
	display: flex;
	align-items: stretch;
	padding: 0;
}

.nst-cart-pending {
	animation: nst-cart-pending-in 160ms ease-out both;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	min-height: 16rem;
	padding: 2rem 1.75rem;
}

.nst-cart-pending::before {
	background: var(--nst-tennis-signal);
	content: "";
	height: 3px;
	margin-bottom: 1.5rem;
	width: 3rem;
}

.nst-cart-pending__eyebrow {
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.2;
}

.nst-cart-pending strong {
	font-size: clamp(1.75rem, 7vw, 2.35rem);
	letter-spacing: -0.045em;
	line-height: 1;
	margin-top: 0.85rem;
}

.nst-cart-pending > span:last-child {
	color: var(--nst-tennis-muted);
	font-size: 0.9375rem;
	line-height: 1.5;
	margin-top: 1rem;
	max-width: 19rem;
}

@keyframes nst-cart-pending-in {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Size and on-body reference: isolated from the original size section. */
.nst-tennis-size-fit { padding: clamp(4rem, 7vw, 7rem) 0; }
.nst-tennis-size-fit__heading { margin: 0 auto clamp(2.5rem, 4vw, 4rem); text-align: center; max-width: 54rem; }
.nst-tennis-size-fit__eyebrow { color: var(--nst-tennis-brand); font-size: var(--nst-type-label-size); font-weight: 800; letter-spacing: 0.2em; margin-bottom: 1rem; }
.nst-tennis-tote .nst-tennis-size-fit h2 { font-size: clamp(2.1rem, 2.4vw, 2.2rem); font-weight: 800; letter-spacing: -0.045em; line-height: 0.98; margin-bottom: 1.5rem; }
.nst-tennis-size-fit__intro { color: var(--nst-tennis-muted); font-size: 1rem; line-height: 1.75; margin-bottom: 0; }
.nst-tennis-size-fit__intro mark { background: none; color: var(--nst-tennis-ink); font-weight: 700; white-space: nowrap; isolation: isolate; position: relative; }
.nst-tennis-size-fit__intro mark::after { background: var(--nst-brand-yellow, #dcff59); bottom: 0.03em; content: ''; height: 0.28em; left: 0; position: absolute; width: 100%; z-index: -1; transform: scaleX(1); transform-origin: left; transition: transform 650ms var(--nst-tennis-ease); }
.nst-tennis-size-fit__intro mark + mark::after { transition-delay: 100ms; }
.nst-tennis-js .nst-tennis-size-fit__heading:not(.is-visible) mark::after { transform: scaleX(0); }
.nst-tennis-size-fit__layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: center; }
.nst-tennis-size-fit__diagram, .nst-tennis-size-fit__scene { margin: 0; min-width: 0; }
.nst-tennis-size-fit__diagram { width: 84%; justify-self: center; margin-bottom: 2.04rem; }
.nst-tennis-size-fit__diagram img, .nst-tennis-size-fit__scene img { width: 100%; height: auto; object-fit: contain; transition: transform 500ms var(--nst-tennis-ease); }
.nst-tennis-size-fit__scenes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(0.625rem, 1.2vw, 1rem); align-items: center; }
.nst-tennis-size-fit figcaption { color: var(--nst-tennis-ink); font-size: 0.65rem; font-weight: 800; letter-spacing: 0.13em; line-height: 1.6; margin-top: 1rem; }
.nst-tennis-size-fit__scene:nth-child(2) { transition-delay: 90ms; }
@media (hover: hover) and (pointer: fine) {
	.nst-tennis-size-fit__diagram:hover img, .nst-tennis-size-fit__scene:hover img { transform: translateY(-3px); }
	.nst-tennis-size-fit__intro mark:hover::after { transform: scaleX(1.04); }
}
@media (max-width: 900px) {
	.nst-tennis-size-fit__heading { text-align: left; }
	.nst-tennis-size-fit__layout { grid-template-columns: minmax(0,1fr); gap: 2rem; }
	.nst-tennis-size-fit__diagram { width: 100%; max-width: 34rem; justify-self: center; margin-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.nst-tennis-size-fit [data-nst-reveal], .nst-tennis-size-fit__intro mark::after, .nst-tennis-size-fit img { transition: none !important; transform: none !important; opacity: 1 !important; }
}

/* Material detail follows size-fit; original material section stays untouched. */
.nst-tennis-materials-detail { padding: clamp(4rem, 7vw, 7rem) 0; }
.nst-tennis-materials-detail__layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.nst-tennis-materials-detail__media { margin: 0; overflow: hidden; aspect-ratio: 1; }
.nst-tennis-materials-detail__media img { display: block; width: 100%; height: auto; transition: transform 700ms var(--nst-tennis-ease); }
.nst-tennis-materials-detail__copy { min-width: 0; }
.nst-tennis-materials-detail__eyebrow { color: var(--nst-tennis-brand); font-size: var(--nst-type-label-size); font-weight: 800; letter-spacing: 0.2em; line-height: 1.2; margin-bottom: 1rem; }
.nst-tennis-tote .nst-tennis-materials-detail h2 { font-size: clamp(2.1rem, 2.4vw, 2.2rem); font-weight: 800; letter-spacing: -0.045em; line-height: 0.98; margin-bottom: 2rem; }
.nst-tennis-materials-detail__description { color: var(--nst-tennis-muted); font-size: clamp(0.98rem, 1.2vw, 1.08rem); line-height: 1.75; margin-bottom: 0; max-width: 36rem; }
@media (prefers-reduced-motion: no-preference) {
	.nst-tennis-materials-detail__layout.is-visible .nst-tennis-materials-detail__copy { animation: nst-tennis-materials-settle 650ms var(--nst-tennis-ease) both; }
	@keyframes nst-tennis-materials-settle { from { transform: translateY(12px); } to { transform: translateY(0); } }
}
@media (hover: hover) and (pointer: fine) {
	.nst-tennis-materials-detail__media:hover img { transform: scale(1.025); }
}
@media (max-width: 768px) {
	.nst-tennis-materials-detail__layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
	.nst-tennis-materials-detail__copy { grid-row: 1; }
	.nst-tennis-materials-detail__description { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
	.nst-tennis-materials-detail [data-nst-reveal], .nst-tennis-materials-detail img, .nst-tennis-materials-detail__copy { animation: none !important; transition: none !important; transform: none !important; opacity: 1 !important; }
}

/* Full-width photo closing the newly designed sequence. */
.nst-tennis-brand-life { background: #202b13; color: var(--nst-tennis-white); position: relative; isolation: isolate; overflow: hidden; min-height: max(40rem, 56.25vw); }
.nst-tennis-brand-life__media { position: absolute; inset: 0; z-index: -2; }
.nst-tennis-brand-life__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.nst-tennis-brand-life::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(110deg, rgba(0, 0, 0, 0.56), rgba(0, 0, 0, 0.12) 52%, transparent 75%); }
.nst-tennis-brand-life__shell { padding-block: clamp(3rem, 5vw, 6rem); }
.nst-tennis-brand-life__copy { width: 64%; max-width: 44rem; }
.nst-tennis-brand-life__eyebrow { color: inherit; font-size: var(--nst-type-label-size); font-weight: 800; letter-spacing: 0.18em; line-height: 1.3; margin-bottom: 1rem; }
.nst-tennis-tote .nst-tennis-brand-life h2 { color: inherit; font-size: clamp(2rem, 3.2vw, 3.5rem); font-weight: 800; line-height: 1.1; letter-spacing: -0.035em; margin-bottom: 1.25rem; text-wrap: balance; }
.nst-tennis-brand-life h2 br { display: none; }
.nst-tennis-brand-life__description { color: inherit; font-size: clamp(1rem, 1.2vw, 1.125rem); line-height: 1.65; max-width: 42ch; margin-bottom: 0; text-wrap: balance; }
@media (prefers-reduced-motion: no-preference) {
	.nst-tennis-brand-life__copy.is-visible { animation: nst-tennis-brand-life-in 800ms var(--nst-tennis-ease) both; }
	@keyframes nst-tennis-brand-life-in { from { transform: translateY(14px); } to { transform: translateY(0); } }
}
@media (max-width: 768px) {
	.nst-tennis-brand-life { min-height: max(49rem, 115vw); }
	.nst-tennis-brand-life__media { top: 8rem; }
	.nst-tennis-brand-life__media img { object-position: 59% center; }
	.nst-tennis-brand-life::before { background: linear-gradient(180deg, #202b13 0%, rgba(32, 43, 19, 0.96) 17%, rgba(32, 43, 19, 0.72) 32%, transparent 60%); }
	.nst-tennis-brand-life__shell { padding-block: 2.5rem; }
	.nst-tennis-brand-life__copy { width: 100%; max-width: 30rem; }
	.nst-tennis-brand-life__eyebrow { margin-bottom: 1rem; }
	.nst-tennis-brand-life__description { font-size: 1rem; line-height: 1.65; }
}
@media (prefers-reduced-motion: reduce) {
	.nst-tennis-brand-life__copy { animation: none !important; transition: none !important; transform: none !important; opacity: 1 !important; }
}

/* Shared mobile section-heading scale; purchase UI and desktop stay unchanged. */
@media (max-width: 768px) {
	.nst-tennis-tote {
		--nst-tennis-mobile-section-title-size: clamp(1.75rem, 7.2vw, 2rem);
	}

	.nst-tennis-tote .nst-tennis-section:not(.nst-tennis-purchase) h2,
	.nst-tennis-tote .nst-tennis-feature-story__copy h3,
	.nst-tennis-tote #nst-tennis-reviews-title {
		font-size: var(--nst-tennis-mobile-section-title-size);
		font-weight: 800;
		letter-spacing: -0.045em;
		line-height: 0.98;
	}
}

@media (max-width: 340px) {
	.nst-tennis-tote {
		--nst-tennis-mobile-section-title-size: 1.65rem;
	}
}

/* Capacity emphasis uses the same type scale as the preceding racket title. */
.nst-tennis-tote #nst-tennis-organized-capacity-title {
	font-size: clamp(2.1rem, 2.4vw, 2.2rem);
	font-weight: 800;
	letter-spacing: -0.045em;
	line-height: 0.98;
}

#nst-tennis-organized-capacity-title .nst-tennis-organized-capacity__value {
	display: inline-block;
	font-size: 1.2em;
	isolation: isolate;
	margin-bottom: 0.32em;
	position: relative;
}

#nst-tennis-organized-capacity-title .nst-tennis-organized-capacity__value::after {
	background: var(--nst-brand-yellow, #dcff59);
	bottom: -0.035em;
	content: "";
	height: 0.16em;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

#nst-tennis-organized-capacity-title .nst-tennis-organized-capacity__label {
	display: block;
	font-size: 1em;
	white-space: normal;
}

@media (min-width: 769px) and (max-width: 1024px) {
	.nst-tennis-tote #nst-tennis-organized-capacity-title {
		font-size: clamp(2.25rem, 3.8vw, 2.75rem);
	}
}

@media (max-width: 768px) {
	.nst-tennis-tote #nst-tennis-organized-capacity-title {
		font-size: var(--nst-tennis-mobile-section-title-size);
	}

	#nst-tennis-organized-capacity-title .nst-tennis-organized-capacity__label {
		letter-spacing: -0.065em;
		word-spacing: -0.06em;
	}
}

/* Match the capacity value's solid highlight, including its baseline offset. */
.nst-tennis-tote .nst-tennis-feature-keyword {
	background: transparent;
	color: inherit;
	display: inline-block;
	font: inherit;
	isolation: isolate;
	padding: 0;
	position: relative;
}

.nst-tennis-tote .nst-tennis-feature-keyword::after {
	background: var(--nst-brand-yellow, #dcff59);
	bottom: -0.035em;
	content: "";
	height: 0.16em;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
	transform: scaleX(1);
	transform-origin: left;
	transition: transform 650ms var(--nst-tennis-ease);
}

.nst-tennis-racket-storage__copy h2 > span,
.nst-tennis-shoe-storage__copy h2 > span {
	clip-path: inset(-0.2em 0 -0.2em 0);
}

@media (prefers-reduced-motion: no-preference) {
	.nst-tennis-js .nst-tennis-tote.is-ready [data-nst-reveal]:not(.is-visible) .nst-tennis-feature-keyword::after {
		transform: scaleX(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.nst-tennis-tote .nst-tennis-feature-keyword::after {
		transition: none;
	}
}

@media print {
	.nst-tennis-sticky-buy,
	.nst-tennis-story-anchor,
	.nst-tennis-buy__form,
	.nst-tennis-quick-form {
		display: none !important;
	}

	.nst-tennis-section {
		break-inside: avoid;
	}

	.nst-tennis-js .nst-tennis-tote [data-nst-reveal]:not([data-nst-tennis-intro]) {
		opacity: 1 !important;
		transform: none !important;
	}
}

.nst-tennis-tote [data-nst-form-status]:empty,
.nst-tennis-tote [data-nst-form-status].is-success {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	max-height: 1px;
	min-height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.nst-tennis-tote [data-nst-form-status].is-error {
	clip: auto;
	clip-path: none;
	color: var(--nst-tennis-ink, #17171d);
	display: block;
	height: auto;
	max-height: none;
	min-height: 0;
	margin-top: .75rem;
	position: static;
	white-space: normal;
	width: auto;
}

/* Product specifications and supporting storage copy. */
.nst-tennis-organized-capacity__description { max-width: 50rem; margin: 1.25rem auto 0; font-size: 1rem; line-height: 1.7; color: var(--nst-tennis-muted); }
.nst-tennis-size-fit__specs { max-width: 54rem; margin: 0 auto clamp(2.5rem, 4vw, 4rem); }
.nst-tennis-size-fit__specs table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 1rem; line-height: 1.6; }
.nst-tennis-size-fit__specs th, .nst-tennis-size-fit__specs td { padding: 0.85rem 1rem; border-bottom: 1px solid rgba(20, 20, 20, 0.15); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.nst-tennis-size-fit__specs th:first-child { width: 32%; }
.nst-tennis-size-fit__specs thead th { font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; }
.nst-tennis-size-fit__specs tbody th { font-weight: 500; }
.nst-tennis-size-fit__specs > .nst-tennis-size-fit__actions {
	display: flex;
	justify-content: center;
	margin: 1.75rem 0 0;
}

.nst-tennis-size-fit__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
	max-width: 100%;
	min-height: 3.25rem;
	padding: 0.875rem 1.5rem;
	border: 1px solid var(--nst-tennis-ink);
	border-radius: 0;
	background: var(--nst-tennis-white);
	color: var(--nst-tennis-ink);
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	transition: background-color 240ms ease, border-color 240ms ease;
}

.nst-tennis-size-fit__link svg {
	flex: 0 0 auto;
	transition: transform 240ms var(--nst-tennis-ease);
}

.nst-tennis-size-fit__link:hover,
.nst-tennis-size-fit__link:focus-visible {
	background: var(--nst-brand-yellow, #dcff59);
	border-color: var(--nst-brand-yellow, #dcff59);
	color: var(--nst-tennis-ink);
	text-decoration: none;
}

.nst-tennis-size-fit__link:hover svg,
.nst-tennis-size-fit__link:focus-visible svg {
	transform: translateX(3px);
}

.nst-tennis-size-fit__link:focus-visible {
	outline: 2px solid var(--nst-tennis-ink);
	outline-offset: 4px;
}
.nst-tennis-size-fit__diagram figcaption { margin-top: 1rem; font-size: 0.8rem; line-height: 1.5; color: var(--nst-tennis-muted); text-align: center; }
@media (max-width: 600px) {
 .nst-tennis-size-fit__specs th, .nst-tennis-size-fit__specs td { padding: 0.75rem 0.5rem; font-size: 0.9rem; }
 .nst-tennis-size-fit__specs th:first-child { width: 38%; }
}
