.product-v54 {
  --graphite: var(--surface-dark);
  color: var(--ink);
  background: var(--paper);
  font: 400 17px/1.62 "Barlow", Arial, sans-serif;
}
.product-v54 img { display: block; max-width: 100%; }
.product-v54 h1,.product-v54 h2,.product-v54 h3,.product-v54 p { text-wrap: pretty; }
.product-v54 h1,.product-v54 h2,.product-v54 h3 { color: inherit; }
.product-v54 .v53-kicker { margin: 0 0 1rem; color: var(--orange-text); font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.product-v54 .v53-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem; }
.product-v54 .v53-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: .8rem 1.15rem; border: 1px solid currentColor; border-radius: 4px; font-weight: 700; text-decoration: none; transition: transform .2s ease,background .2s ease,color .2s ease; }
.product-v54 .v53-button:hover { transform: translateY(-2px); }
.product-v54 .v53-button:active { transform: translateY(1px); }
.product-v54 .v53-button--primary { border-color: var(--orange); background: var(--orange); color: #170a05; }
.product-v54 .v53-button--primary:hover { background: #dc591b; }
.product-v54 .v53-button--light { border-color: var(--white); background: var(--white); color: var(--ink); }
.product-v54 .v53-text-link { display: inline-flex; gap: .5rem; align-items: center; color: var(--ink); font-weight: 700; text-decoration: none; }
.product-v54 .v53-text-link span { color: var(--orange); transition: transform .2s ease; }
.product-v54 .v53-text-link:hover span { transform: translate(2px,-2px); }
.product-v54 .v53-text-link--dark { color: var(--white); }

.product-v54-hero { padding-top: 2rem; }
.product-v54-hero-grid { grid-template-columns: minmax(450px,.82fr) minmax(560px,1.18fr); min-height: 690px; }
.product-v54-hero .v53-hero-copy { padding-right: clamp(2.5rem,5vw,5rem); }
.product-v54-hero .v53-hero-copy h1 { max-width: 630px; font-size: clamp(4.25rem,5.9vw,5.35rem); }
.product-v54-hero-media { min-height: 690px; display: grid; place-items: center; background: radial-gradient(circle at 52% 42%,#fffdf8 0,#e7e0d2 56%,#cfc5b5 100%); }
.product-v54-hero-media::before { content: ""; position: absolute; left: 14%; right: 14%; bottom: 8%; height: 10%; border-radius: 50%; background: rgba(47,40,29,.2); filter: blur(24px); }
.product-v54-hero-media > img { position: relative; z-index: 1; width: min(90%,780px); height: auto; max-height: 590px; object-fit: contain; }
.product-v54-object-labels { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.product-v54-object-label { position: absolute; display: inline-flex; align-items: center; min-height: 34px; padding: .42rem .58rem; border-left: 3px solid var(--orange); background: rgba(255,253,248,.94); color: var(--ink); font-size: .76rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; box-shadow: 0 8px 24px rgba(18,19,15,.1); }
.product-v54-object-label--targets { top: 18%; left: 7%; }
.product-v54-object-label--phone { top: 12%; right: 7%; }
.product-v54-object-label--controls { right: 6%; bottom: 24%; }
.product-v54-hero-media figcaption { width: min(390px,76%); }

.product-v54-modes .v53-mode--challenge h3 { font-size: clamp(2.5rem,3.6vw,3.8rem); }
.product-v54-modes .v53-mode--train h3 { max-width: 470px; }
.product-v54-cues { background: var(--white); }
.product-v54-product-proof .v53-product-grid { grid-template-columns: minmax(390px,.68fr) minmax(0,1.32fr); }
.product-v54-product-proof .v53-product-main { height: 560px; }
.product-v54-product-proof .v53-product-main img { padding: 1.5rem; }
.product-v54-product-proof .v53-product-details figure { height: 220px; }

.product-v54-install { padding: clamp(5rem,7vw,7rem) 0; background: var(--paper); }
.product-v54-install-grid { display: grid; grid-template-columns: minmax(320px,.75fr) minmax(0,1.25fr); gap: clamp(3rem,8vw,8rem); align-items: start; }
.product-v54-install-intro { position: sticky; top: 110px; }
.product-v54-install-intro h2 { max-width: 620px; margin: 0 0 1.5rem; font: 700 clamp(3.5rem,5vw,5.2rem)/.92 "Barlow Condensed",sans-serif; letter-spacing: -.03em; }
.product-v54-install-intro > p:not(.v53-kicker) { max-width: 560px; color: var(--muted); font-size: 1.05rem; }
.product-v54-install-boundary { display: grid; gap: .25rem; margin-top: 2.2rem; padding: 1.1rem 1.2rem; border-left: 3px solid var(--orange); background: var(--white); }
.product-v54-install-boundary strong { font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
.product-v54-install-boundary span { font-weight: 600; }
.product-v54-install-steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.product-v54-install-steps li { display: grid; grid-template-columns: 76px 1fr; gap: 1.4rem; padding: 1.5rem 0 1.65rem; border-bottom: 1px solid var(--line); }
.product-v54-install-steps li > span { color: var(--orange); font: 600 1rem/1 "Barlow",sans-serif; letter-spacing: .1em; }
.product-v54-install-steps h3 { margin: 0 0 .35rem; font: 700 clamp(2rem,2.8vw,3rem)/.95 "Barlow Condensed",sans-serif; }
.product-v54-install-steps p { max-width: 650px; margin: 0; color: var(--muted); }
.product-v54-mount-proof { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(360px,.82fr); margin-top: clamp(4rem,7vw,6.5rem); background: var(--ink); color: var(--white); }
.product-v54-mount-proof figure { min-height: 430px; margin: 0; overflow: hidden; background: #d9d5cd; }
.product-v54-mount-proof img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; object-position: 50% center; }
.product-v54-mount-proof > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(2.2rem,5vw,5rem); }
.product-v54-mount-proof h3 { margin: 0 0 1rem; font: 700 clamp(2.8rem,4vw,4.4rem)/.92 "Barlow Condensed",sans-serif; letter-spacing: -.025em; }
.product-v54-mount-proof p:not(.v53-kicker) { color: #c9cbc8; }
.product-v54-mount-proof .v53-text-link { margin-top: 1rem; color: var(--white); }

@media (max-width:1080px) {
  .product-v54-hero-grid,.product-v54-product-proof .v53-product-grid,.product-v54-install-grid,.product-v54-mount-proof { grid-template-columns: 1fr; }
  .product-v54-hero .v53-hero-copy { padding-right: 0; }
  .product-v54-hero-media { min-height: 600px; }
  .product-v54-product-proof .v53-product-copy { max-width: 760px; }
  .product-v54-install-intro { position: static; }
  .product-v54-mount-proof figure { min-height: 520px; }
}

@media (max-width:760px) {
  .product-v54 { font-size: 16px; }
  .product-v54-hero { padding-top: 0; }
  .product-v54-hero .v53-hero-copy { padding: 2.35rem 0 1.45rem; }
  .product-v54-hero .v53-hero-copy h1 { font-size: clamp(3.05rem,13.6vw,3.7rem); }
  .product-v54-hero-media { min-height: 0; height: 390px; }
  .product-v54-hero-media > img { width: 96%; max-height: 310px; }
  .product-v54-object-label { min-height: 28px; padding: .32rem .42rem; font-size: .62rem; }
  .product-v54-object-label--targets { top: 10%; left: 3%; }
  .product-v54-object-label--phone { top: 6%; right: 3%; }
  .product-v54-object-label--controls { right: 3%; bottom: 25%; }
  .product-v54-product-proof .v53-product-main { height: 350px; }
  .product-v54-product-proof .v53-product-main img { padding: .7rem; }
  .product-v54-product-proof .v53-product-details figure { height: 150px; }
  .product-v54-install { padding: 3.2rem 0; }
  .product-v54-install-grid { gap: 2.2rem; }
  .product-v54-install-intro h2 { font-size: 3.1rem; }
  .product-v54-install-steps li { grid-template-columns: 48px 1fr; gap: .75rem; padding: 1.1rem 0 1.25rem; }
  .product-v54-install-steps h3 { font-size: 2rem; }
  .product-v54-mount-proof { margin-top: 3rem; }
  .product-v54-mount-proof figure,.product-v54-mount-proof img { min-height: 270px; }
  .product-v54-mount-proof > div { padding: 1.6rem 1.3rem 1.9rem; }
  .product-v54-mount-proof h3 { font-size: 2.7rem; }
}

@media (prefers-reduced-motion: reduce) {
  .product-v54 .v53-button,.product-v54 .v53-text-link span { transition: none; }
}
