/* V5: the complete lock pair, shown once, followed by its everyday use. */
.v5-product .v5-opening { background: var(--surface-stone); }
.v5-product .v5-opening-layout { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 9%; padding-block: 58px 48px; }
.v5-product .v5-opening-copy { grid-column: 2; grid-row: 1; max-width: 535px; padding-block: 24px; }
.v5-product .v5-opening h1 { font-size: clamp(42px, 4.25vw, 62px); line-height: 1.08; letter-spacing: -.045em; margin-top: 20px; }
.v5-product .v5-opening :is(.product-arrival-name,.product-arrival-lead) { display:none; }
.v5-product .v5-opening-copy > .sp-copy { max-width: 405px; margin-top: 27px; font-size: 18px; line-height: 1.65; }
.v5-product .v5-opening-copy > .sp-link { margin-top: 21px; }
.v5-product .v5-opening-figure { grid-column: 1; grid-row: 1; min-width: 0; text-align: center; }
/* Preserve the approved visible lock height while retaining the original transparent canvas.
   Source: 3044 × 3600; alpha bounds: x743, y148, width1516, height3344. */
.v5-product .v5-opening-art { --v5-lock-height:clamp(460px, 45vw, 650px); position:relative; width:calc(var(--v5-lock-height) * 1516 / 3344); max-width:100%; aspect-ratio:1516 / 3344; margin-inline:auto; overflow:clip; }
.v5-product .v5-opening-art img { position:absolute; left:calc(-100% * 743 / 1516); top:calc(-100% * 148 / 3344); display:block; width:calc(100% * 3044 / 1516); height:auto; max-width:none; }
.v5-product .v5-opening-figure figcaption { margin-top: 22px; color: #586167; font-size: 12px; line-height: 1.5; }
.v5-product .v5-everyday { background: #fff; }
.v5-product .v5-view-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 11%; align-items: end; }
.v5-product .v5-view-heading .sp-heading { margin-top: 18px; }
.v5-product .v5-view-heading > .sp-copy { max-width: 420px; padding-bottom: 3px; }
.v5-product .v5-access { margin-top: 70px; border-top: 1px solid #dee2e4; padding-top: 28px; }
.v5-product .v5-access-methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8%; margin-top: 28px; }
.v5-product .v5-access-methods h3 { font-size: 25px; letter-spacing: -.025em; line-height: 1.25; }
.v5-product .v5-access-methods p { font-size: 16px; line-height: 1.65; color: #5d656a; margin-top: 12px; max-width: 280px; }
.v5-product .v5-fitting { background: var(--surface-stone); }
.v5-product .v5-fitting-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 13%; align-items: center; }
.v5-product .v5-fitting .sp-heading { margin-top: 18px; }
.v5-product .v5-fitting .sp-copy { margin-top: 25px; max-width: 420px; }
.v5-product .v5-fitting .sp-link { margin-top: 18px; }
.v5-product .v5-fit-steps { list-style: none; padding: 0; margin: 0; }
.v5-product .v5-fit-steps li { display: grid; grid-template-columns: 28px 1fr; column-gap: 22px; padding-block: 26px; border-bottom: 1px solid #d8dfe1; }
.v5-product .v5-fit-steps li:first-child { padding-top: 0; }
.v5-product .v5-fit-steps li:last-child { padding-bottom: 0; border-bottom: 0; }
.v5-product .v5-fit-steps li > span { font-size: 13px; color: #5d656a; line-height: 1.6; padding-top: 3px; }
.v5-product .v5-fit-steps h3 { font-size: 21px; line-height: 1.3; letter-spacing: -.02em; }
.v5-product .v5-fit-steps p { font-size: 16px; line-height: 1.65; color: #5d656a; margin-top: 12px; }
.v5-product .v5-enquiry { text-align: center; background: #fff; }
.v5-product .v5-enquiry .sp-heading { max-width: 640px; margin: 20px auto 0; }
.v5-product .v5-enquiry .sp-copy { max-width: 510px; margin: 24px auto 0; }
.v5-product .v5-enquiry-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 34px; margin-top: 25px; }

@media (max-width: 1000px) {
  .v5-product .v5-opening-layout { column-gap: 5%; }
  .v5-product .v5-opening h1 { font-size: 46px; }
  .v5-product .v5-opening-copy > .sp-copy { font-size: 17px; }
  .v5-product .v5-view-heading { column-gap: 8%; }
  .v5-product .v5-fitting-layout { column-gap: 8%; }
}
@media (max-width: 760px) {
  .v5-product .v5-opening-layout { grid-template-columns: 1fr; gap: 32px; padding-block: 45px 33px; }
  .v5-product .v5-opening-copy { grid-column: 1; grid-row: auto; max-width: 550px; padding: 0; }
  .v5-product .v5-opening h1 { font-size: clamp(35px, 8.7vw, 48px); margin-top: 17px; }
  .v5-product .v5-opening-copy > .sp-copy { max-width: 450px; margin-top: 22px; font-size: 16px; }
  .v5-product .v5-opening-copy > .sp-link { margin-top: 13px; }
  .v5-product .v5-opening-figure { grid-column: 1; grid-row: auto; }
  .v5-product .v5-opening-figure figcaption { margin-top: 20px; font-size: 11px; }
  .v5-product .v5-view-heading { grid-template-columns: 1fr; gap: 24px; }
  .v5-product .v5-view-heading > .sp-copy { max-width: 480px; }
  .v5-product .v5-access { margin-top: 42px; padding-top: 24px; }
  .v5-product .v5-access-methods { grid-template-columns: 1fr; gap: 25px; margin-top: 26px; }
  .v5-product .v5-access-methods h3 { font-size: 24px; }
  .v5-product .v5-access-methods p { margin-top: 8px; max-width: 420px; }
  .v5-product .v5-fitting-layout { grid-template-columns: 1fr; gap: 37px; }
  .v5-product .v5-fit-steps li { column-gap: 18px; padding-block: 24px; }
  .v5-product .v5-fit-steps h3 { font-size: 20px; }
  .v5-product .v5-enquiry-actions { flex-direction: column; align-items: center; gap: 5px; margin-top: 20px; }
}
@media (max-width: 360px) {
  .v5-product .v5-opening h1 { font-size: 34px; }
}

.v5-product .v5-installed-photo { margin:38px auto 0; max-width:884px; }
.v5-product .v5-installed-photo img { display:block; width:100%; height:auto; }
@media(max-width:760px) {
  .v5-product .v5-opening-layout { padding-block:28px; gap:24px; }
  .v5-product .v5-opening :is(.sp-eyebrow,.product-arrival-story,.product-arrival-desktop-lead) { display:none; }
  .v5-product .v5-opening :is(.product-arrival-name,.product-arrival-lead) { display:block; }
  .v5-product .v5-opening h1 { font-size:clamp(32px,8.5vw,38px); margin-top:0; }
  .v5-product .v5-opening-copy > .product-arrival-lead { margin-top:14px; }
  .v5-product .v5-opening-art { --v5-lock-height:340px; max-width:90%; }
  .v5-product .v5-opening-figure figcaption { margin-top:12px; }
  .v5-product .v5-installed-photo { margin-top:26px; }
  .v5-product .v5-access { margin-top:30px; padding-top:22px; }
  .v5-product .v5-access-methods { gap:18px; margin-top:22px; }
  .v5-product .v5-access-methods h3 { font-size:20px; }
  .v5-product .v5-access-methods p { font-size:15px; margin-top:5px; }
}

/* Mobile readability: keep the shared heading scale unchanged. */
@media(max-width:760px){
 .v5-product .v5-opening-copy>.sp-copy,.v5-product .v5-access-methods p,.v5-product .v5-fit-steps p{font-size:18px;line-height:1.6}
 .v5-product .v5-access-methods article{grid-template-columns:1fr;gap:8px}
}
