.print-hero { padding-block: clamp(2.5rem,6vw,6rem); color: var(--blue); }
.print-hero > .page-title { max-width: none; font-size: clamp(3.1rem,9.3vw,9.5rem); font-weight: 500; line-height: .98; letter-spacing: -.075em; margin: 0 0 2.5rem; }
.print-hero > .page-title span { display: block; }
.print-hero .page-hero-grid { display: grid; gap: 2rem; align-items: center; }
.print-intro h2 { font-size: clamp(1.65rem,3vw,3rem); font-weight: 500; line-height: 1.18; letter-spacing: -.055em; margin: 0 0 1.5rem; max-width: 23ch; }
.print-intro p { font-size: 1rem; line-height: 1.75; max-width: 48ch; }
.print-intro p + p { margin-top: 1.25rem; }
.print-hero-photo { aspect-ratio: 1.02; overflow: hidden; border-radius: 50% 50% 0 0; background: var(--blue); }
.print-hero-photo img,.print-hire-image img { display: block; height: 100%; width: 100%; object-fit: cover; filter: none; }
.print-studio,.print-membership,.print-learning { padding-block: clamp(3.5rem,8vw,8rem); }
.print-studio { background: #fff; color: var(--blue); border-top: 1px solid var(--blue); }
.print-studio .split { display: grid; gap: 2.5rem; }
.print-studio .section-heading,.print-learning .section-heading { font-size: clamp(2rem,4.6vw,4.5rem); font-weight: 500; line-height: 1.06; letter-spacing: -.065em; max-width: 13ch; }
.print-section-intro p { font-size: 1.05rem; line-height: 1.7; max-width: 32ch; }
.print-section-intro .inline-cta { margin-top: 1.5rem; }
.print-equipment { list-style: none; margin: 0; padding: 0; }
.print-equipment li { border-top: 1px solid var(--blue); padding: 1.1rem 0; font-size: clamp(1rem,1.65vw,1.35rem); line-height: 1.45; }
.print-equipment li:last-child { border-bottom: 1px solid var(--blue); }
.print-equipment-note { line-height: 1.6; margin-top: 1.5rem; }
.print-membership { color: #fff; background: #0016c9; }
.print-membership .section-heading { color: inherit; font-size: clamp(2.5rem,6.5vw,6rem); font-weight: 500; line-height: 1; letter-spacing: -.06em; margin-bottom: 3rem; max-width: 14ch; }
.print-membership-row { display: grid; gap: 1rem; border-top: 1px solid rgba(255,255,255,.6); padding-block: 2rem; }
.print-membership-row h3 { margin: 0; font-size: clamp(1.1rem,1.8vw,1.5rem); font-weight: 400; line-height: 1.4; }
.print-price { margin: 1.25rem 0 0; font-size: clamp(4.5rem,9vw,8rem); font-weight: 400; line-height: 1; letter-spacing: -.075em; }
.print-price span { display: block; margin-top: .6rem; font-size: 1.2rem; letter-spacing: 0; }
.print-membership .prose { font-size: 1.05rem; line-height: 1.75; }
.print-membership .prose ul { padding-left: 1.3rem; }
.print-membership .prose li + li { margin-top: .6rem; }
.print-day-price span { display: block; margin-top: 1rem; font-size: clamp(1.8rem,3.5vw,3rem); letter-spacing: -.05em; }
.print-apply { padding-bottom: 0; }
.print-ready { font-size: clamp(1.7rem,3vw,2.5rem); line-height: 1.25; margin-top: 0; }
.print-apply a { color: inherit; overflow-wrap: anywhere; text-underline-offset: .2em; }
.print-learning { background: #fff; color: var(--blue); }
.print-learning .split { display: grid; gap: 2.5rem; align-items: center; }
.print-learning .prose { font-size: 1.05rem; line-height: 1.75; }
.print-learning .section-heading { margin-top: 0; }
.print-learning .inline-cta { margin-top: 1rem; }
.print-workshop-rail { min-width: 0; }
.print-workshop-rail .rail-controls { display: flex; gap: .5rem; justify-content: flex-end; margin-bottom: 1rem; }
.print-workshop-rail .rail-controls button { display: grid; place-items: center; width: 3rem; height: 3rem; padding: .7rem; border: 1px solid var(--blue); border-radius: 50%; color: var(--blue); background: #fff; cursor: pointer; }
.print-workshop-rail .rail-controls button:hover { background: var(--blue); color: #fff; }
.print-workshop-rail .rail-controls svg { width: 1.4rem; height: 1.4rem; }
.print-back { transform: rotate(180deg); display: flex; }
.print-workshop-rail .rail-track { display: flex; overflow-x: auto; gap: 1rem; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-bottom: .75rem; }
.print-workshop-rail .rail-panel { flex: 0 0 86%; margin: 0; aspect-ratio: 4/5; overflow: hidden; scroll-snap-align: start; }
.print-workshop-rail .rail-panel:first-child { border-radius: 45% 45% 0 0; }
.print-workshop-rail .rail-panel:nth-child(2) { clip-path: polygon(0 0,85% 0,100% 15%,100% 100%,0 100%); }
.print-workshop-rail img { width: 100%; height: 100%; object-fit: cover; filter: none; }
.print-hire-row { margin-top: clamp(4rem,9vw,8rem); padding-top: clamp(3rem,5vw,5rem); border-top: 1px solid var(--blue); }
.print-hire-image { aspect-ratio: 1.1; overflow: hidden; clip-path: polygon(18% 0,100% 0,100% 100%,0 100%,0 20%); }
.print-hire-price { list-style: none; padding: 1.3rem 0; margin: 1.5rem 0; border-block: 1px solid currentColor; font-size: clamp(1.3rem,2.3vw,2rem); line-height: 1.45; letter-spacing: -.035em; }
@media (min-width: 760px) {
 .print-hero > .page-title { position: relative; z-index: 1; max-width: 10ch; margin-bottom: 0; }
 .print-hero .page-hero-grid { grid-template-columns: .85fr 1.15fr; gap: clamp(3rem,6vw,6rem); align-items: end; margin-top: -4rem; }
 .print-intro { padding-top: 6rem; }
 .print-hero-photo { min-height: 37rem; align-self: stretch; }
 .print-studio .split { grid-template-columns: .85fr 1.15fr; gap: clamp(3rem,6vw,6rem); }
 .print-membership-row { grid-template-columns: 1fr 1fr; gap: clamp(3rem,6vw,6rem); padding-block: 2.75rem; }
 .print-membership-row.print-apply { padding-bottom: 0; }
 .print-learning .split { grid-template-columns: 1fr 1fr; gap: clamp(3rem,6vw,6rem); }
}
@media (prefers-reduced-motion: no-preference) { .print-workshop-rail .rail-track { scroll-behavior: smooth; } }
