/* Shared motion system. Unenhanced HTML is always the visible, usable baseline. */
:root{--em-ease:cubic-bezier(.22,1,.36,1);--em-header:76px}
.em-active .orbit-rings,.em-active .sr-rings,.em-replaced{display:none!important}
.em-active .edition-hero-copy,.em-active .sr-hero-copy,.em-active .sr-outline,.em-active .edition-partner,.em-active .edition-product p{animation:none;opacity:1;transform:none}
.em-active .reveal,.em-active .reveal.is-visible,.em-active .reveal.in{opacity:1;transform:none;animation:none;transition:none}
.em-mask{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}
.em-mask>span{display:block;transform:translateY(0)}
.em-active .edition-film-canvas{position:relative;isolation:isolate}
.orbit-home .edition-brand.em-hero-title{position:absolute;z-index:2;left:var(--edition-pad);bottom:65px;color:#fff;font:900 clamp(80px,13.2vw,205px)/.8 Arial,sans-serif;letter-spacing:-.075em;margin:0;pointer-events:none;max-width:90%;text-shadow:0 1px 25px #0002}
.orbit-home .edition-brand.em-hero-title .em-mask{padding-bottom:.13em;margin-bottom:-.13em}
.em-active .edition-hero-copy{grid-template-rows:auto auto auto}
.em-active .edition-hero-copy h1{grid-row:2 / 4}
.em-active .edition-hero-copy>p:not(.edition-overline){grid-row:2}
.em-active .edition-hero-copy .edition-actions{grid-row:3}
.em-active .sr-display .em-mask{padding-bottom:.12em;margin-bottom:-.12em}
.em-frame-anchor{position:absolute;pointer-events:none;visibility:hidden;left:31%;top:19%;width:33%;height:52%}
.edition-film-canvas>.em-frame-anchor{left:32%;top:22%;width:43%;height:52%}
.em-circle-anchor{position:absolute;pointer-events:none;visibility:hidden;right:-3%;top:125px;width:clamp(360px,51vw,820px);aspect-ratio:1 / 1}
.edition-collection,#intro{position:relative}
.em-shape{position:fixed;inset:0;z-index:40;pointer-events:none;overflow:visible;clip-path:inset(var(--em-header) 0 0 0);contain:strict}
.em-shape rect{pointer-events:none}
.em-active .header:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:#bfc0b8;transform-origin:left;pointer-events:none}
.em-active .header.em-grid-opening{border-bottom-color:transparent}.em-grid-opening.header:after{animation:em-grid-x .55s var(--em-ease) both}
.em-active .orbit-rail:after,.em-active .sr-rail:after{content:'';position:absolute;right:-1px;top:0;height:100%;width:1px;background:#bfc0b8;transform-origin:top;pointer-events:none}
.em-grid-opening.orbit-rail,.em-grid-opening.sr-rail{border-right-color:transparent}.em-grid-opening.orbit-rail:after,.em-grid-opening.sr-rail:after{animation:em-grid-y .6s var(--em-ease) both}
.em-active .sr-hero:before{content:'';position:absolute;left:53.5%;top:0;height:100%;width:1px;background:#c6c6c2;transform-origin:top;animation:em-grid-y .6s var(--em-ease) both;z-index:1}
.em-rail-marker{position:absolute;left:0;top:0;background:#ff632c;width:2px;height:30px;pointer-events:none;transition:transform .32s var(--em-ease),height .32s var(--em-ease)}
.em-active .orbit-chapters a,.em-active .sr-rail>div a{border-color:transparent!important}
.em-active .orbit-chapters a,.em-active .sr-rail>div a{transition:color .25s}
/* Brand cells: image masks stay inside their grid, with matching keyboard affordances. */
.em-active .edition-product.em-brand{position:relative;overflow:hidden;transition:background-color .3s;padding-top:15px;outline-offset:-3px}
.em-brand>div{overflow:hidden}.em-active .em-brand img,.em-active .em-brand:hover img,.em-active .em-brand:focus-visible img{transform:none;transition:none}
.em-active .em-brand h3{transition:transform .3s var(--em-ease)}
.em-brand-active{background:#f6f6f3}.em-active .em-brand-active h3{transform:translateX(5px)}
.em-active .em-arrow-swap{position:relative;overflow:hidden;width:30px;height:32px;display:block;border:0!important;background:none!important;transform:none!important}
.em-arrow-swap>span{position:absolute;inset:0;display:grid;place-items:center;transition:transform .3s var(--em-ease)}
.em-arrow-swap>span+span{transform:translate(-100%,100%)}.em-brand-active .em-arrow-swap>span:first-child{transform:translate(100%,-100%)}.em-brand-active .em-arrow-swap>span+span{transform:translate(0,0)}
.em-active .edition-button:hover,.em-active .header .consult:hover{transform:none}
/* Sticky labels are bounded by the section itself. No synthetic scroll runway. */
@media(min-width:1101px){
 .em-active .em-sticky-section{display:grid;grid-template-columns:190px minmax(0,1fr);column-gap:30px;align-items:start;overflow:visible!important;padding:0 35px 40px 0;isolation:auto}
 .em-active .em-sticky-section>.orbit-section-label,.em-active .em-sticky-section>.sr-label{position:sticky;top:calc(var(--em-header) + 12px);grid-column:1;grid-row:1 / span 8;display:flex;flex-direction:column;align-items:start;justify-content:start;margin:0;padding:25px 24px;min-height:240px;border:0;border-right:1px solid #c6c6c2;background:#fff;z-index:5}
 .em-active .em-sticky-section>.orbit-section-label>span,.em-active .em-sticky-section>.sr-label>span{font-size:82px;border:0;padding:0;margin:0 0 25px;display:block;line-height:1;height:auto}
 .em-active .em-sticky-section>.orbit-section-label>p,.em-active .em-sticky-section>.sr-label>p{padding:0;border:0;margin:0 0 20px;font-size:10px;letter-spacing:.14em;line-height:1.8}
 .em-active .em-sticky-section>.sr-label h2{font-size:17px;padding:0;line-height:1.8}.em-active .em-sticky-section>.orbit-section-label>a{font-size:11px;line-height:1.8;margin-top:15px}
 .em-active .em-sticky-section>*:not(.orbit-section-label):not(.sr-label):not(.em-circle-anchor){grid-column:2;min-width:0}
 .em-active .edition-collection.em-sticky-section>.edition-section-head{margin:35px 0}.em-active .edition-collection.em-sticky-section>.edition-products{margin-bottom:10px}
 .em-active .edition-services.em-sticky-section{border-top:1px solid #c6c6c2}.em-active .em-sticky-section>.orbit-care-intro{padding-top:35px}.em-active .em-sticky-section>.orbit-service-list{margin:0}.em-active .em-sticky-section .orbit-service-list summary{padding:0}.em-active .em-sticky-section .orbit-service-content{padding:0 20px 25px}
 .em-active #intro.em-sticky-section>.sr-intro{padding:30px 0;grid-template-columns:1fr 1fr}.em-active #intro.em-sticky-section .sr-gallery{padding:0}.em-active #intro.em-sticky-section .sr-more{margin:0 10px}.em-active #intro.em-sticky-section .sr-note{padding:15px 10px}
 .em-active .sr-orbit-zone{overflow:visible;isolation:auto}
}
/* Native summaries wrap real buttons; geometry stays stable while their panels expand. */
.em-active .orbit-service-list summary,.em-active .sr-service summary{display:block;padding:0;list-style:none}
.em-service-button{display:grid;grid-template-columns:40px 1fr 1.5fr 24px;align-items:center;gap:24px;width:100%;padding:23px var(--edition-pad,40px);margin:0;border:0;border-radius:0;background:transparent;color:#111;text-align:left;font:inherit;cursor:pointer}
.store-orbit .em-service-button{padding:23px var(--sr-pad)}
.em-service-button>span{font-size:12px}.em-service-button h3{font-size:17px;font-weight:500;margin:0;letter-spacing:-.04em}.em-service-button p{font-size:12px;line-height:1.8;color:#62625e;margin:0}.em-service-button>b{width:20px;height:20px;position:relative;display:block}.em-service-button>b:before,.em-service-button>b:after{content:'';position:absolute;left:0;top:9px;width:20px;height:1px;background:#111}.em-service-button>b:after{transform:rotate(90deg);transition:transform .3s var(--em-ease)}.em-expanded .em-service-button>b:after{transform:rotate(0)}.em-expanded .em-service-button>span{color:#e95520}.em-service-button:focus-visible{outline:2px solid #d64d16;outline-offset:-4px}.em-service-button:hover{background:#f8f8f6}
.em-active .orbit-service-content,.em-active .sr-panel{animation:none;overflow:hidden;overflow-anchor:none}
.em-drawing{width:100%;height:150px;display:block;color:#222;margin:0 0 12px}.em-active .orbit-service-content figure>img,.em-active .sr-panel figure>img{height:150px;object-fit:cover}
.em-active .orbit-service-list summary h3,.em-active .sr-service summary h3{font-size:17px}.em-active .orbit-service-list summary p,.em-active .sr-service summary p{font-size:12px}
/* Stable gallery viewer. Thumbnails select; enlargement has its own control. */
.em-gallery-viewer{margin:0 10px 25px;min-width:0}.em-gallery-stage{position:relative;height:clamp(300px,37vw,520px);overflow:hidden;background:#f8f8f6}.em-gallery-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;background:#f8f8f6;transform:none!important;filter:none}
.em-gallery-viewer figcaption{display:grid;grid-template-columns:60px 1fr auto;gap:15px;align-items:center;min-height:65px;border-bottom:1px solid #c6c6c2;font-size:11px}.em-gallery-count{font-size:10px;letter-spacing:.07em}.em-gallery-caption{margin:0;line-height:1.7;font-size:12px}.em-gallery-enlarge{border:1px solid #aaa;background:white;padding:9px 12px;white-space:nowrap;font:11px Arial,sans-serif;cursor:pointer}.em-gallery-enlarge:hover,.em-gallery-enlarge:focus-visible{background:#111;color:white}
.em-active .sr-gallery{grid-template-columns:1.3fr 1fr .9fr}.em-active .sr-gallery>li:nth-child(2) img{height:210px}.em-active .sr-gallery>li:nth-child(3) img{height:240px}.em-active .sr-gallery button{cursor:pointer;border:1px solid transparent}.em-active .sr-gallery button[aria-pressed=true]{border-color:#ee5d24}.em-active .sr-gallery button:focus-visible{outline:2px solid #dd4b15;outline-offset:3px}.em-active .sr-gallery button:hover img{transform:none}.em-dialog-open{overflow:hidden}.em-lightbox-image{width:100%;height:100%;object-fit:contain}
/* Fixed-size calls to action: orange moves under a separate text layer. */
.em-fill-button{position:relative;isolation:isolate;overflow:hidden;transition:color .28s,border-color .28s!important;border-radius:0!important;background:white!important;color:#111!important}
.em-fill-button:before{content:'';position:absolute;inset:0;background:#ff632c;transform:scaleX(0);transform-origin:left;transition:transform .32s var(--em-ease);z-index:-1;pointer-events:none}
.em-button-label{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:12px}.em-button-label>span{display:inline-block;transition:transform .3s var(--em-ease)}
.em-fill-button:hover:before,.em-fill-button:focus-visible:before{transform:scaleX(1)}.em-fill-button:hover,.em-fill-button:focus-visible{color:#111!important;border-color:#e65620!important}.em-fill-button:hover .em-button-label>span,.em-fill-button:focus-visible .em-button-label>span{transform:translateX(4px)}.em-fill-button:focus-visible{outline:2px solid #b63508;outline-offset:3px}
/* A finite two-line ending; drift settles at zero as the page finishes. */
.em-closing{font:400 clamp(65px,10vw,160px)/.82 Georgia,serif;text-align:center;letter-spacing:-.07em;padding:60px 30px 50px;border-top:1px solid #c6c6c2;border-bottom:1px solid #c6c6c2;background:#fff;color:#111}
.em-footer{position:relative;overflow:hidden}.em-footer .em-mask>span{translate:0 var(--footer-drift,0px)}.em-footer-dash{display:block;width:45px;height:1px;background:#ff632c;margin:25px auto 0;transform-origin:left}.em-active .sr-closing .em-mask{padding-bottom:.12em;margin-bottom:-.12em}
@keyframes em-grid-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes em-grid-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(max-width:1100px){.em-service-button{grid-template-columns:30px 1fr 1fr 20px;gap:15px}.em-gallery-viewer{margin:0 36px 25px}.em-active .sr-gallery>li:nth-child(2) img,.em-active .sr-gallery>li:nth-child(3) img{height:220px}}
@media(max-width:900px){
 .orbit-home .edition-brand.em-hero-title{font-size:clamp(70px,18vw,130px);bottom:50px;left:24px;max-width:90%}.em-circle-anchor{width:80vw;right:-38vw;top:100px}.em-frame-anchor{left:38%;top:25%;width:55%;height:38%}.edition-film-canvas>.em-frame-anchor{left:30%;top:28%;width:60%;height:42%}.em-active .sr-hero:before{display:none}
 .em-brand-active{background:transparent}.em-active .em-brand h3,.em-active .em-brand-active h3{transform:none}.em-active .edition-product img{clip-path:none!important}
 .em-service-button,.store-orbit .em-service-button{grid-template-columns:24px 1fr 20px;gap:12px;padding:23px 22px}.em-service-button>p{display:none!important}.em-service-button h3,.em-active .orbit-service-list summary h3,.em-active .sr-service summary h3{font-size:16px}.em-drawing{height:125px}.em-gallery-viewer{margin:0 22px 22px}.em-gallery-stage{height:300px}.em-gallery-viewer figcaption{grid-template-columns:45px 1fr;gap:8px;padding:12px 0}.em-gallery-enlarge{grid-column:2;justify-self:start}.em-gallery-caption{font-size:11px}
 .em-active .sr-gallery{grid-template-columns:1.3fr 1fr .9fr;gap:7px}.em-active .sr-gallery>li{padding:0}.em-active .sr-gallery img,.em-active .sr-gallery>li:nth-child(2) img,.em-active .sr-gallery>li:nth-child(3) img{height:86px;aspect-ratio:auto}.em-active .sr-gallery .g-cap{min-height:35px;padding:8px 3px}.em-active .sr-gallery .g-cap b{font-size:9px}.em-active .sr-more .sr-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.em-closing{font-size:clamp(33px,9vw,75px);padding:38px 12px;line-height:.9}.em-active .em-sticky-section>.orbit-section-label,.em-active .em-sticky-section>.sr-label{position:static}
 .em-fill-button:active:before{transform:scaleX(1);transition-duration:.12s}.em-fill-button .em-button-label{gap:7px}
}
@media(prefers-reduced-motion:reduce){
 .em-active *,.em-active *:before,.em-active *:after{scroll-behavior:auto!important}
 .em-active .em-mask>span,.em-active .em-footer .em-mask>span{transform:none!important;translate:none!important;opacity:1!important}
 .em-active .header:after,.em-active .sr-rail:after,.em-active .orbit-rail:after,.em-active .sr-hero:before{animation:none!important;transform:none!important}
 .em-active .em-rail-marker,.em-active .em-service-button>b:after,.em-active .em-fill-button:before,.em-active .em-brand h3,.em-active .em-arrow-swap>span,.em-active .em-button-label>span{transition:none!important}
 .em-active .em-brand img{clip-path:none!important;transform:none!important}.em-active .em-drawing path{stroke-dashoffset:0!important}.em-active .em-sticky-section>.orbit-section-label,.em-active .em-sticky-section>.sr-label{position:static}
}
@media(min-width:901px){.em-circle-anchor{right:0}}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-group(em-gallery-photo){animation-duration:.6s;animation-timing-function:cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:0s!important}}
@media(prefers-reduced-motion:reduce){.em-active .em-frame-anchor{visibility:visible;border:1px solid #ff632c}}
@media(max-width:380px){.orbit-home .header .consult{display:none}.orbit-home .edition-brand.em-hero-title{font-size:61px}}
.em-active .edition-hero-image,.em-active .edition-hero-video{animation:none!important;transform:none}
.em-active .sr-hero:before{animation:none}.em-active .sr-hero.em-opening:before{animation:em-grid-y .6s var(--em-ease) both}
.em-drawing-note{display:block;font-size:9px;line-height:1.6;color:#73736c;margin:-5px 0 15px;letter-spacing:.02em}
@media(prefers-reduced-motion:reduce){.em-active .sr-hero.em-opening:before{animation:none}}
.em-active .orbit-chapters a{height:48px;min-height:48px}.em-active .orbit-chapters b{display:block;visibility:hidden}.em-active .orbit-chapters a.is-active b{visibility:visible}
.em-active .sr-rail>div a{height:42px;min-height:42px}
.em-active .edition-partner .edition-overline{color:#62625e}
.em-button-label>i{display:inline-block;transition:transform .3s var(--em-ease)}.em-fill-button:hover .em-button-label>i,.em-fill-button:focus-visible .em-button-label>i{transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){.em-button-label>i{transition:none}}
::view-transition{pointer-events:none}
.em-active .sr-hero:before{pointer-events:none}
