/* Page-specific choreography for the service and location collections. */
.cm-intro[data-cinematic="left"]{animation:im-open-left 1s cubic-bezier(.2,.7,.2,1) both}
.cm-intro[data-cinematic="right"]{animation:im-open-right 1s cubic-bezier(.2,.7,.2,1) both}
.cm-intro[data-cinematic="image"]{animation:im-open-image 1.25s cubic-bezier(.2,.7,.2,1) both}
.cm-intro[data-cinematic="iris"]{animation:im-open-iris 1.5s cubic-bezier(.2,.7,.2,1) both}
.cm-intro[data-cinematic="line"]{animation:im-open-line 1.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes im-open-left{from{opacity:0;translate:-32px 0}to{opacity:1;translate:0 0}}
@keyframes im-open-right{from{opacity:0;translate:32px 0}to{opacity:1;translate:0 0}}
@keyframes im-open-image{from{clip-path:inset(0 0 75% 0);opacity:.5}to{clip-path:inset(0);opacity:1}}
@keyframes im-open-iris{from{clip-path:inset(18% 27% round 48%);opacity:.5}to{clip-path:inset(0 round 0);opacity:1}}
@keyframes im-open-line{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
[data-cinematic="left"].cm-pending{translate:-32px 0}
[data-cinematic="right"].cm-pending{translate:32px 0}
[data-cinematic="left"].cm-visible,[data-cinematic="right"].cm-visible{translate:0 0}
[data-cinematic="iris"]{transition:clip-path 1.35s cubic-bezier(.2,.75,.2,1),opacity 1s ease,translate 1.15s ease}
[data-cinematic="iris"].cm-pending{clip-path:inset(14% 24% round 48%);opacity:.5;translate:0 18px}
[data-cinematic="iris"].cm-visible{clip-path:inset(0 round 0);opacity:1;translate:0 0}
[data-cinematic="line"]{transition:clip-path 1.2s cubic-bezier(.16,.7,.25,1),opacity .8s ease;translate:none}
[data-cinematic="line"].cm-pending{clip-path:inset(0 100% 0 0);opacity:.5;translate:none}
[data-cinematic="line"].cm-visible{clip-path:inset(0);opacity:1}
[data-cinematic="stagger"].cm-reveal{opacity:1;translate:none;transition:none}
[data-cinematic="stagger"]>*{transition:opacity .7s ease,translate .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--cm-child-delay,0ms)}
[data-cinematic="stagger"].cm-pending>*{opacity:0;translate:0 25px}
[data-cinematic="stagger"].cm-visible>*{opacity:1;translate:0 0}
[data-scene]{scroll-margin-top:115px}
[data-scene]:focus{outline:none}
.im-focus-image{scale:1.075;transition:scale 1.8s cubic-bezier(.2,.7,.2,1)}
.im-active .im-focus-image{scale:1}
.im-focus-image.cm-parallax-image{scale:1.15}
.im-active .im-focus-image.cm-parallax-image{scale:1.08}
[data-focus-image]{overflow:hidden}
[data-drift].im-active{animation:im-drift 12s ease-in-out infinite alternate}
@keyframes im-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-9px,0)}}
[data-line-draw].im-draw-ready{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.2,.7,.2,1)}
[data-line-draw].im-draw-ready.im-active{stroke-dashoffset:0}
.im-chapters{position:fixed;right:26px;bottom:26px;z-index:50;color:#f5f3ed;filter:drop-shadow(0 8px 20px #141a1425);transition:opacity .25s,translate .25s;opacity:0;translate:0 12px;pointer-events:none}
.im-chapters.is-visible,.im-chapters:focus-within{opacity:1;translate:0 0;pointer-events:auto}
.im-chapters>summary{list-style:none;display:flex;align-items:center;gap:13px;min-height:48px;min-width:190px;padding:8px 10px 8px 17px;cursor:pointer;background:#243128f2;border:1px solid #ffffff25;border-radius:30px;font-size:12px;line-height:1.3;backdrop-filter:blur(16px)}
.im-chapters>summary::-webkit-details-marker{display:none}
.im-chapter-count{font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:#d2c2a1}
.im-current-title{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.im-chapter-icon{position:relative;display:grid;place-items:center;width:30px;height:30px;margin-left:auto;border-radius:50%;background:conic-gradient(#c4a474 var(--im-progress,0%),#ffffff20 0)}
.im-chapter-icon::after{content:'+';position:absolute;inset:2px;display:grid;place-items:center;border-radius:50%;background:#243128;font-size:17px;font-weight:300}
.im-chapters[open] .im-chapter-icon::after{content:'−'}
.im-chapters nav{position:absolute;bottom:calc(100% + 10px);right:0;width:292px;padding:20px;background:#f9f7f0;color:#202520;border:1px solid #deddd4;border-radius:3px;box-shadow:0 12px 40px #20252020}
.im-chapters nav>p{font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:#5a6252;padding-bottom:12px}
.im-chapters ol{list-style:none;padding:0;margin:0}
.im-chapters li+li{border-top:1px solid #deddd4}
.im-chapters a{display:flex;align-items:center;gap:15px;text-decoration:none;font-size:12px;padding:12px 3px;line-height:1.4}
.im-chapters a>span{color:#80502f;font-size:12px;font-variant-numeric:tabular-nums}
.im-chapters a[aria-current]{color:#80502f}
.im-chapters a[aria-current]::after{content:'←';margin-left:auto}
.im-chapters[open] nav{animation:im-nav-in .25s ease both}
@keyframes im-nav-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:1050px){.im-chapters{bottom:96px;right:18px}.im-chapters>summary{min-height:42px;min-width:0;padding:6px 7px 6px 12px;gap:9px}.im-current-title{max-width:135px}.im-chapters nav{width:min(290px,calc(100vw - 36px));max-height:55vh;overflow:auto}}
@media(prefers-reduced-motion:reduce){[data-cinematic], [data-cinematic="stagger"]>*{opacity:1!important;translate:none!important;clip-path:none!important;transition:none!important;animation:none!important}[data-drift].im-active{animation:none!important}.im-focus-image{scale:1;transition:none}[data-line-draw]{stroke-dashoffset:0!important;transition:none!important}.im-chapters,.im-chapters[open] nav{transition:none;animation:none}}
@media print{.im-chapters{display:none}[data-cinematic="stagger"]>*{opacity:1!important;translate:none!important}[data-line-draw]{stroke-dashoffset:0!important}.im-focus-image{scale:1}}
.nv-photo-caption .nv-photo-credit{display:inline-block;margin-left:10px;color:inherit;font-size:inherit;white-space:nowrap;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;opacity:.8}
.nv-photo-caption .nv-photo-credit:hover,.nv-photo-caption .nv-photo-credit:focus-visible{opacity:1}
.nv-photo-caption .nv-photo-credit:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.sv-directory-photo .nv-photo-caption .nv-photo-credit{margin-left:0;font-size:12px;letter-spacing:.06em}
.sv-gcc-feature figure{position:relative}
.sv-gcc-feature .nv-photo-caption{position:absolute;left:0;right:0;bottom:0;padding:32px 20px 15px;background:linear-gradient(transparent,#162018a3);color:#fff;font-size:12px;line-height:1.6;letter-spacing:.06em}
