/* The photograph stays upright inside an independently rotating organic mask. */
.organic-clip-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.editorial-stage .editorial-orbit{border:0;border-radius:0;overflow:visible;transform:translateX(-50%);animation:none!important;will-change:auto}
.portrait-depth .editorial-film{border-radius:46% 54% 49% 51%;-webkit-clip-path:url(#hero-organic-clip);clip-path:url(#hero-organic-clip);animation:none;transform:none;will-change:auto;box-shadow:none}
/* Only the contour turns; labels stay fixed and legible. */
.services-rose .reference-services .service-card>a:before{animation:service-boundary-morph 12s ease-in-out infinite alternate,service-boundary-turn 32s linear infinite;animation-play-state:paused;transform-origin:50% 50%}
.services-rose .reference-services .service-card.organic-visible>a:before{animation-play-state:running}
.services-rose .reference-services .service-card:nth-child(2)>a:before{animation-duration:14s,38s;animation-delay:-4s,-8s;animation-direction:alternate,reverse}
.services-rose .reference-services .service-card:nth-child(3)>a:before{animation-duration:13s,35s;animation-delay:-7s,-15s}
.services-rose .reference-services .service-card:nth-child(4)>a:before{animation-duration:15s,40s;animation-delay:-3s,-10s;animation-direction:alternate,reverse}
.services-rose .reference-services .service-card .service-card-visual{width:48%;margin-bottom:22px}
.services-rose .reference-services .service-card .service-card-visual>.treatment-art{animation:service-art-breathe 10s ease-in-out infinite;animation-play-state:paused;transform-origin:50% 50%}
.services-rose .reference-services .service-card.organic-visible .service-card-visual>.treatment-art{animation-play-state:running}
.effects-suspended .services-rose .reference-services .service-card>a:before,.effects-suspended .services-rose .reference-services .service-card .service-card-visual>.treatment-art{animation-play-state:paused}
@keyframes service-boundary-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes service-boundary-morph{from{border-radius:44% 56% 51% 49% / 53% 47% 53% 47%}to{border-radius:53% 47% 45% 55% / 46% 54% 46% 54%}}
@keyframes service-art-breathe{0%,100%{transform:rotate(-2deg) scale(1)}50%{transform:rotate(2deg) scale(1.025)}}
/* Individual letters rise through word-sized masks, like the supplied scroll clip. */
.split-reveal .word-clip{display:inline-block;overflow:hidden;vertical-align:top;line-height:1.22;padding:0 .015em .1em;margin-bottom:-.1em;max-width:100%}
.split-reveal .reveal-letter{display:inline-block;opacity:0;transform:translateY(112%) rotate(7deg);transform-origin:0 100%;transition:transform .9s cubic-bezier(.22,.61,.36,1),opacity .6s ease;transition-delay:calc(var(--letter-index)*14ms)}
.split-reveal.text-is-visible .reveal-letter{opacity:1;transform:translateY(0) rotate(0deg)}
@media(max-width:700px){.split-reveal .reveal-letter{transition-duration:.75s,.5s;transition-delay:calc(var(--letter-index)*10ms)}.services-rose .reference-services .service-card>a:before{animation-duration:14s,40s}.services-rose .reference-services .service-card .service-card-visual{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.split-reveal .reveal-letter{opacity:1;transform:none;transition:none}.services-rose .reference-services .service-card>a:before,.services-rose .reference-services .service-card .service-card-visual>.treatment-art{animation:none!important;transform:none!important}}
/* A rotating contour may extend slightly beyond its square card. */
.services-rose .reference-services .service-card{overflow:visible}
.services-rose .reference-services .service-card,.services-rose .reference-services .service-card>a,.services-rose .reference-services .service-card>a:hover,.services-rose .reference-services .service-card>a:focus-visible{background:transparent!important;box-shadow:none!important}
.services-rose .reference-services .service-card>a:after{display:none!important}

/* Native SVG rotation matches the hero and runs independently on touch devices. */
.services-rose .reference-services .service-card>a:before{display:none!important}
.services-rose .reference-services .service-card>a{position:relative;isolation:isolate}
.services-rose .reference-services .service-card .service-contour{position:absolute;inset:-2%;width:104%;height:104%;overflow:visible;z-index:-1;pointer-events:none}
.service-contour path{fill:transparent;stroke:#c9a6a8;stroke-width:.24;transition:fill .6s,stroke .6s}
.service-card>a:hover .service-contour path,.service-card>a:focus-visible .service-contour path{fill:#efd7da55;stroke:#ad7d85}
.location-intro{max-width:620px;margin:24px auto 0;text-align:center;font-size:15px;line-height:1.8;color:#765f64}
@media(max-width:700px){.location-intro{font-size:14px;padding:0 12px}.service-card h3.split-reveal .word-clip{white-space:normal}}

/* The native SVG image owns its rotating clip on desktop, iOS and Android. */
.editorial-stage .portrait-depth .editorial-film{border-radius:0;-webkit-clip-path:none;clip-path:none;-webkit-mask-image:none;mask-image:none;isolation:auto;overflow:visible;transform:none!important;animation:none!important}
.editorial-stage .portrait-depth .hero-portrait-art{display:block;width:100%;height:100%;overflow:visible;opacity:1!important;transform:none!important;animation:none!important}

/* Two distinct tones, as in the reference: sage outline and rose illustration. */
.services-rose .reference-services .service-card .service-contour path{fill:#fcf9f6;stroke:#b7c8c1;stroke-width:.28}
.services-rose .reference-services .service-card>a:hover .service-contour path,.services-rose .reference-services .service-card>a:focus-visible .service-contour path{fill:#f7efeb;stroke:#9fb7ad}
.services-rose .reference-services .service-card .treatment-art{opacity:1;filter:saturate(1.15) contrast(1.12)}
.services-rose .reference-services .service-card h3{color:#ad737c}
.services-rose .reference-services .service-card>a,.services-rose .reference-services .service-card>a:hover,.services-rose .reference-services .service-card>a:active,.services-rose .reference-services .service-card>a:focus-visible,.services-rose .reference-services .service-card>a h3{ text-decoration:none!important}
.services-rose .reference-services .service-card>a:focus-visible{outline:2px solid #8da89c;outline-offset:8px;border-radius:45%}
