/* Compact editorial service rows */
.services-dark{padding-left:max(7%,calc((100% - 1200px)/2));padding-right:max(7%,calc((100% - 1200px)/2))}
.scroll-service{border-top:1px solid #ffffff25;padding:28px 0;min-height:0}
.scroll-service-inner{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);grid-template-rows:auto 1fr;column-gap:56px;row-gap:18px;position:relative}
.scroll-service-heading{grid-column:1;grid-row:1;display:flex;align-items:center;gap:16px;margin:12px 0 0}
.scroll-service-heading>span{font-size:11px;color:var(--pink);border:1px solid #E7A2B655;border-radius:50%;width:32px;height:32px;flex-shrink:0;display:grid;place-items:center}
.scroll-service-heading h3{font-size:clamp(28px,3vw,42px);line-height:1.1;font-weight:400;letter-spacing:-.045em}
.scroll-service-body{display:contents}
.scroll-service-body>p{grid-column:1;grid-row:2;margin:0 0 12px 48px;color:#aaa;font-size:14px;line-height:1.75;align-self:start}
.service-name{display:block;margin-bottom:4px}
.scroll-service-photo{grid-column:2;grid-row:1/3;height:240px;overflow:hidden;border-radius:10px}
.scroll-service-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.scroll-service:nth-of-type(3) img{object-position:50% 50%}
.version-2 .membership{width:86%;max-width:1200px;margin:0 auto;border-radius:18px;padding:65px 5%;gap:9%}
@media(prefers-reduced-motion:no-preference){.scroll-service-photo{opacity:calc(.65 + var(--reveal,1)*.35);transform:translateY(calc((1 - var(--reveal,1))*14px))}.scroll-service-photo img{transform:scale(calc(1.035 - var(--reveal,1)*.035))}}
@media(max-width:800px){.scroll-service-inner{column-gap:28px;grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr)}.scroll-service-photo{height:210px}.scroll-service-heading{gap:12px}.scroll-service-body>p{margin-left:44px;font-size:13px}}
@media(max-width:600px){.scroll-service{padding:24px 0}.scroll-service-inner{grid-template-columns:1fr;gap:14px}.scroll-service-heading{margin-top:0}.scroll-service-body>p{grid-row:2;margin-bottom:4px}.scroll-service-photo{grid-column:1;grid-row:3;height:190px}.version-2 .membership{padding:45px 7%;border-radius:14px}}

/* Each crop follows the treatment, independent of the reveal animation. */
.scroll-service-photo img{transform:none!important}
.service-focus-1 .scroll-service-photo img{object-position:50% 25%}
.service-focus-2 .scroll-service-photo img{object-position:47% 5%;transform:scale(1.6)!important;transform-origin:50% 40%}
.service-focus-3 .scroll-service-photo img{object-position:34% 96%;transform:scale(1.65)!important;transform-origin:0% 100%}
.service-focus-4 .scroll-service-photo img{object-position:100% 72%;transform:scale(1.15)!important;transform-origin:100% 50%}
.scroll-service-photo{opacity:1;transform:none}
.service-reveal-ready .scroll-service-inner{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .75s cubic-bezier(.22,1,.36,1)}
.service-reveal-ready .scroll-service.is-visible .scroll-service-inner{opacity:1;transform:none}
.booking-notice{display:flex;align-items:center;gap:22px;padding:26px 30px;margin-top:20px;border:1px solid #E7A2B640;border-radius:12px;background:#E7A2B60d}
.booking-notice>svg{width:34px;height:34px;flex-shrink:0;color:var(--pink)}
.booking-notice strong{font-size:16px;font-weight:500;color:#fff;display:block;margin-bottom:5px}.booking-notice p{color:#bbb;font-size:14px;line-height:1.65}
footer.clean-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 max(7%,calc((100% - 1200px)/2));padding:36px 0;border-top:1px solid #10101020;background:#fff}
.footer-brand{display:block;flex-shrink:0}.footer-brand img{width:155px;height:auto}.clean-footer .footer-signature{font-size:9px;letter-spacing:.19em;color:#777;width:auto;order:0}.clean-footer .studio-credit{margin:0}.clean-footer .studio-credit img{width:110px;max-height:30px}
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:100;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #ffffff30;background:#101010;color:#fff;box-shadow:0 4px 18px #0002;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility .25s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.back-to-top svg{width:22px;height:22px}.back-to-top:hover{background:var(--pink);color:#101010}
@media(max-width:600px){.booking-notice{align-items:flex-start;padding:22px 18px;gap:14px}.booking-notice p{font-size:13px}.booking-notice strong{font-size:15px}footer.clean-footer{flex-wrap:wrap;padding:28px 0;gap:22px}.clean-footer .footer-signature{width:100%;order:3}.footer-brand img{width:140px}.clean-footer .studio-credit img{width:95px}.back-to-top{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){.service-reveal-ready .scroll-service-inner{opacity:1;transform:none;transition:none}.back-to-top{transition:none}}

@media(max-width:800px){.back-to-top{right:12px;bottom:100px;width:42px;height:42px}}

/* Stable crops: no scaling around a variable transform origin. */
.scroll-service-photo{height:auto;aspect-ratio:2.4;position:relative}
.scroll-service-photo img{position:absolute;inset:0;transform:none!important;object-fit:cover}
.service-focus-2 .scroll-service-photo img{object-position:50% 17%;transform:none!important}
.service-focus-3 .scroll-service-photo img{object-position:50% 88%;transform:none!important}
.service-focus-4 .scroll-service-photo{background:#303030}
.service-focus-4 .scroll-service-photo img{object-fit:contain;object-position:center;transform:none!important}
@media(max-width:600px){.scroll-service-photo{aspect-ratio:2.1}.service-focus-2 .scroll-service-photo img{object-position:50% 16%}.service-focus-3 .scroll-service-photo img{object-position:50% 89%}}

.service-focus-4 .scroll-service-photo img{object-fit:cover;object-position:50% 40%}

.service-focus-4 .scroll-service-photo img{object-fit:cover;object-position:50% 32%}
@media(max-width:600px){.version-2 .membership{grid-template-columns:minmax(0,1fr);gap:32px;height:auto;min-height:0;padding-bottom:40px}.membership-copy,.membership-offer{min-width:0}.membership .note{max-width:100%;overflow-wrap:break-word;line-height:1.65}.membership .button{gap:12px;font-size:12px}.membership .button>span{flex-shrink:0}}
