.rose-current .cad-stage{background:color-mix(in srgb,#100d10,#f5f0f2 calc(var(--rose-light,0)*100%));opacity:1!important}
.rose-current .cad-atmosphere{background:none;transform:none;filter:none;overflow:visible}
.rose-current .cad-atmosphere::before,.rose-current .cad-atmosphere::after,.rose-current .cad-stage::after,.rose-current .cad-light-texture,.rose-current .cad-display::before,.rose-current .cad-display::after,.rose-current #atelier-background{display:none!important}
.rose-current .cad-stage .cad-atmosphere-hero{display:block;opacity:calc(1 - var(--rose-light,0));transform:none;inset:0}
.rose-current .cad-stage .cad-atmosphere-hero img{filter:none}
.rose-current .cad-stage:not([data-rose-video="ready"]) #rose-environment{visibility:hidden}
.rose-current .cad-environment-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1;pointer-events:none}
.rose-current #rose-environment,.rose-current .cad-display{position:absolute;left:var(--rose-left,0px)!important;top:var(--rose-top,0px)!important;width:var(--rose-width,100%)!important;height:var(--rose-height,100%)!important;inset-inline-end:auto;inset-block-end:auto;transform:none!important;scale:1!important;opacity:var(--rose-model-opacity,1)!important;transition:none;will-change:auto}
.rose-current #rose-environment{left:0!important;top:0!important;width:100%!important;height:100%!important;object-fit:cover;object-position:center;z-index:2}
.rose-current .cad-display{z-index:3;filter:none}
.rose-current #cad-ring{mask:none;-webkit-mask:none}
.rose-current .cad-poster{display:none}
.rose-current .cad-stage:not(.is-ready) .cad-poster-assembled{display:block;opacity:1}
.rose-current .cad-stage:not(.is-ready):is([data-scene-index="0"],[data-scene-index="1"]) .cad-poster-assembled{animation:rose-poster-float 8s ease-in-out infinite}
@keyframes rose-poster-float{0%,100%{translate:0 -3px;rotate:-.5deg}50%{translate:0 3px;rotate:.5deg}}
@media(prefers-reduced-motion:reduce){.rose-current .cad-stage:not(.is-ready) .cad-poster-assembled{animation:none!important}}
.rose-current .cad-stage:not(.is-ready)::before{content:"";position:absolute;z-index:3;inset:0;background:url('cached-media/c0464babf454dde9/environment-poster-web.webp') center/contain no-repeat;pointer-events:none}
.rose-current .cad-stage::before{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 52%,#fff0 20%,#ffecf407 52%,transparent 80%);opacity:var(--rose-white,0)}
.rose-current .cad-stage.rose-exit .layer-reader{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.rose-current .hero-title{opacity:var(--rose-title-opacity,1)!important}
.rose-current .hero-lead{opacity:var(--rose-copy-opacity,0)!important;visibility:visible!important}
.rose-current .hero-title::before{background:radial-gradient(ellipse,#100d1026,transparent 73%)}
.rose-current #construction{background:transparent!important}
.rose-current .ring-journey #construction>.sticky-stage,.rose-current .ring-journey #construction .construction-object{opacity:1!important}
.rose-current #construction .construction-object{box-shadow:none}
.rose-current #construction .construction-object::before{opacity:var(--cad-split,0)}
.rose-current .ring-journey #object{height:140svh}
.rose-current .ring-journey #construction{height:380svh}
.rose-current .construction-light-rays{display:none}
.rose-current #services .service-surface{display:none}
.rose-current #services .services-stage{pointer-events:none!important}
.rose-current #services :is(.services-intro,#services-editorial-root,.service-summary){pointer-events:auto}
.rose-current #services :is(.services-intro,.service-summary){color:#f5edf1}
.rose-current #services :is(h2,h3,p){color:#f5edf1!important;-webkit-text-fill-color:currentColor;background:none;text-shadow:none}
.rose-current #services .services-stage{clip-path:none}
.rose-current #services .services-action a{color:#f4d7e4}
.rose-current .layer-reader{color:#f6edf2}
.rose-current .layer-reader :is(h3,p,b){color:#f6edf2!important;-webkit-text-fill-color:currentColor}
.rose-current .hero-loader-background{background:url('cached-media/c0464babf454dde9/environment-poster-web.webp') center/cover}
.rose-current .hero-loader-tunnel,.rose-current .hero-loader-ring{display:none}
@media(min-width:1024px) and (orientation:landscape){
 .rose-current #services .services-intro{left:5vw!important;right:auto!important;top:22%!important;width:25vw!important;padding:24px!important;display:block!important}
 .rose-current #services .services-intro-side{width:auto!important;padding:0!important}
 .rose-current #services .services-intro h2{font-size:clamp(38px,4vw,60px);margin-bottom:18px}
 .rose-current #services .service-orbit{left:auto!important;right:5vw!important;top:16%!important;bottom:auto!important;width:25vw!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:0!important}
 .rose-current #services .service-summary{padding:16px!important}
 .rose-current #services .service-summary h3{font-size:clamp(20px,1.8vw,28px)}
 .rose-current #services .service-summary p,.rose-current #services .lead{font-size:clamp(14px,1.1vw,17px);line-height:1.6}
 .rose-current #construction .layer-reader{right:4vw!important;width:26vw!important;max-width:350px}
}
@media(max-width:1366px) and (orientation:portrait){
 .rose-current .hero-title{top:7%!important;left:6%!important;width:88%!important;text-align:center}
 .rose-current .hero-title .hero-intro-logo{width:clamp(148px,35vw,230px);margin:0 auto 14px}
 .rose-current .hero-title h1{font-size:clamp(24px,6.4vw,32px)!important;line-height:1.08}
 .rose-current .hero-title h1>span{display:block;white-space:normal!important}
 .rose-current .hero-lead{top:auto!important;bottom:calc(var(--tablet-dock,84px) + 20px)!important;left:6%!important;width:88%!important}
 .rose-current #construction .layer-reader{top:auto!important;bottom:calc(var(--tablet-dock,84px) + 10px)!important;left:18px!important;right:18px!important;width:auto!important;max-width:none;max-height:27svh;gap:8px;padding:12px}
 .rose-current .anatomy-detail-row{flex-shrink:0;min-height:36px}
 .rose-current .anatomy-stone-menu{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;overflow:visible!important}
 .rose-current .anatomy-stone-menu .layer-callout{min-width:0!important;width:auto!important;padding:4px 0!important;display:flex!important;flex-direction:column;gap:3px;white-space:normal}
 .rose-current .anatomy-stone-menu .layer-callout img{width:100%!important;height:34px!important;object-fit:contain}
 .rose-current .anatomy-stone-menu .layer-callout b{font-size:10px!important;line-height:1.25;white-space:normal;overflow-wrap:normal;min-height:38px}
 .rose-current #services.services-flow .services-intro{padding:24px var(--services-gutter)!important}
 .rose-current #services.services-flow .service-summary{padding:24px!important}
}
@media(prefers-reduced-motion:reduce){.rose-current .cad-display{filter:none}.rose-current #rose-environment{opacity:.9}}
@media(min-width:761px) and (orientation:landscape){
 .rose-current .hero .sticky-stage{display:block!important;padding:0!important}
 .rose-current .ring-journey .hero-title{position:absolute!important;left:6%!important;right:6%!important;top:clamp(24px,5svh,56px)!important;width:88%!important;text-align:center}
 .rose-current .ring-journey .hero-title h1{font-size:clamp(26px,2.5vw,40px)!important;line-height:1.06;max-width:900px;margin:0 auto}
 .rose-current .ring-journey .hero-title h1>span{display:block;white-space:normal}
 .rose-current .ring-journey .hero-intro-logo{width:clamp(200px,18vw,280px);margin:0 auto 12px}
 .rose-current .ring-journey .hero-lead{position:absolute!important;left:10%!important;right:10%!important;top:auto!important;bottom:clamp(24px,4svh,44px)!important;width:80%!important;text-align:center}
 .rose-current .ring-journey .hero-lead>p{max-width:800px;margin:0 auto 16px;font-size:clamp(14px,1vw,17px);line-height:1.45}
 .rose-current .hero-lead-full>span,.rose-current .hero-lead-compact>span{white-space:normal}
 .rose-current .hero-actions{display:flex;flex-direction:row;align-items:center;justify-content:center;width:min(500px,100%);gap:12px;margin:0 auto}
 .rose-current .hero-actions .cta{flex:1;width:auto;min-width:0;max-width:244px;min-height:48px;padding:12px 14px}
}
@media(min-width:761px) and (orientation:landscape) and (max-height:600px){
 .rose-current .ring-journey .hero-title{top:12px!important}
 .rose-current .ring-journey .hero-intro-logo{width:180px;margin-bottom:8px}
 .rose-current .ring-journey .hero-title h1{font-size:24px!important}
 .rose-current .ring-journey .hero-lead{bottom:12px!important}
 .rose-current .ring-journey .hero-lead>p{font-size:12px;line-height:1.4;margin-bottom:8px}
 .rose-current .hero-actions .cta{min-height:40px;padding:8px 12px;font-size:14px}
}

.rose-light-field .site-header:not(:has(.chapter-menu[open])){--logo-ink:1!important;color:#251c23}
.rose-light-field .site-header:not(:has(.chapter-menu[open])) :is(.chapter-menu summary,.enquire.contact-action){color:#251c23!important;text-shadow:none}
.rose-light-field .chapter-rail a{color:#251c23!important;text-shadow:none;background:#f5f1f3dc!important;backdrop-filter:blur(12px)}
.rose-light-field .chapter-rail a span{color:inherit!important;text-shadow:none!important}
.rose-light-field .chapter-rail a.active{color:#843d5a!important}
.current-chapter{display:none}
.rose-current .site-header.compact-navigation,.rose-current .site-header.compact-navigation.is-scrolled{grid-template-columns:clamp(80px,26vw,112px) minmax(0,1fr) auto auto;column-gap:4px;padding-inline:12px}
.rose-current .site-header.compact-navigation .brand{width:100%}
.rose-current .site-header.compact-navigation .current-chapter{display:block;grid-column:2;grid-row:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:right;padding-right:4px;font:400 clamp(11px,3.3vw,14px)/1.2 var(--serif);color:color-mix(in srgb,var(--ivory),#171918 calc(var(--logo-ink,0)*100%))}
.rose-current .site-header.compact-navigation .chapter-menu{grid-column:3}
.rose-current .site-header.compact-navigation .enquire.contact-action{grid-column:4;min-width:0}
.rose-current .site-header.compact-navigation :is(.chapter-menu summary,.enquire.contact-action){font-size:16px;padding-inline:6px}
.rose-current .site-header.compact-navigation:has(.chapter-menu[open]) .current-chapter{color:var(--ivory)}
.rose-current .chapter-menu nav a[aria-current=location]{color:#edbdcd}
@media(min-width:761px) and (max-width:1366px) and (orientation:portrait){
 :root:has(.chapter-rail[data-nav-layout=side]){--tablet-side:clamp(120px,12vw,148px)}
 .rose-current .chapter-rail[data-nav-layout=side]{right:8px;padding-block:4px}
 .rose-current .chapter-rail[data-nav-layout=side] a{min-height:44px;padding:8px 10px;font-size:15px}
}
@media(min-width:1024px) and (orientation:landscape){
 .rose-current #services.services-flow{height:160svh!important;min-height:0;padding:0}
 .rose-current #services.services-flow .services-stage{position:sticky!important;top:0!important;height:100svh!important;min-height:0!important;padding:0!important;overflow:visible!important}
 .rose-current #services.services-flow .services-ring-slot{display:none!important}
 .rose-current #services.services-flow .services-intro{position:absolute!important;left:4vw!important;top:22%!important;width:26vw!important}
 .rose-current #services.services-flow #services-editorial-root{position:absolute!important;left:auto!important;right:calc(var(--rose-rail-width,184px) + 24px)!important;top:14%!important;width:20vw!important;padding:0!important}
 .rose-current #services .service-summary{opacity:1!important;transform:none!important}
 .rose-current #construction .layer-reader{left:4vw!important;right:auto!important;width:28vw!important;max-width:350px}
}

@media(max-width:1366px) and (orientation:portrait){
 .rose-current #construction .layer-reader{max-height:36svh;overflow:visible}
 .rose-current #construction .anatomy-detail-row{height:calc(48px + min(16svh,135px)*var(--anatomy-focus,0))!important;min-height:48px;max-height:22svh}
 .rose-current #construction #anatomy-detail{height:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding-right:40px}
 .rose-current #construction #anatomy-detail-title{font-size:20px;min-height:0;padding-right:0}
 .rose-current #construction #anatomy-detail-description{font-size:14px;line-height:1.5;padding-right:0}
 .rose-current #construction .anatomy-stone-menu{flex-shrink:0}
 .rose-current #construction .anatomy-stone-menu .layer-callout{min-height:80px!important}
}
.rose-light-field .site-header:not(:has(.chapter-menu[open])){background:#f5f1f3c9!important;-webkit-backdrop-filter:blur(18px) brightness(1);backdrop-filter:blur(18px) brightness(1)}
.rose-light-field .site-header:not(:has(.chapter-menu[open])) .site-header-shade{opacity:0}

.rose-current #rose-environment{opacity:0!important;transition:opacity .45s ease}
.rose-current .cad-stage[data-rose-video="ready"] #rose-environment{opacity:1!important}
@media(prefers-reduced-motion:reduce){.rose-current #rose-environment{transition:none}}
.rose-current #rose-sketch-video,.rose-current #rose-sketch-end{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;transform:none;filter:none}
.rose-current #rose-sketch-video{z-index:3;opacity:0}
.rose-current #rose-sketch-end{z-index:4;opacity:var(--rose-end-opacity,0)}
.rose-current .cad-display{z-index:5}
.rose-current .process-waves{position:absolute;inset:0;z-index:4;width:100%;height:100%;overflow:hidden;pointer-events:none;visibility:hidden;fill:none;stroke:url(#process-wave-spectrum);stroke-width:2;contain:strict;opacity:var(--wave-color-opacity,0);background:radial-gradient(ellipse 38vmax 30vmax at calc(var(--wave-x) - 18vmin) calc(var(--wave-y) - 20vmin),#d69bb854,transparent 72%),radial-gradient(ellipse 34vmax 42vmax at calc(var(--wave-x) + 28vmin) calc(var(--wave-y) - 6vmin),#a27d973d,transparent 72%),radial-gradient(ellipse 40vmax 28vmax at calc(var(--wave-x) - 22vmin) calc(var(--wave-y) + 28vmin),#fff4f861,transparent 72%),radial-gradient(ellipse 30vmax 34vmax at calc(var(--wave-x) + 24vmin) calc(var(--wave-y) + 30vmin),#c7a47a38,transparent 72%)}
.rose-current .process-waves[data-active=true]{visibility:visible}
.rose-current .process-waves circle{vector-effect:non-scaling-stroke}
.rose-current .process-waves circle:nth-child(2n){stroke-dasharray:.18 .06 .34 .42;stroke-linecap:round;stroke-width:3}
.rose-current .process-waves circle:nth-child(3n){stroke-width:1;stroke-dasharray:3 9}
.rose-current .process-wave-sparks{fill:#fff8f2;stroke:#bd7397;stroke-width:.65;filter:drop-shadow(0 0 3px #fff4f8)}
.rose-current .process-wave-sparks use{width:20px;height:20px;x:-10px;y:-10px;opacity:0}
@media(prefers-reduced-motion:reduce){.rose-current .process-waves{display:none}}
.rose-current .cad-stage.rose-handoff-pinned{position:fixed;inset:0;margin:0;z-index:20;visibility:visible!important}
.rose-current .ring-journey.rose-handoff-layer{z-index:20}
.rose-current .rose-handoff-pinned #rose-sketch-video{opacity:var(--rose-bridge-opacity,0)}
.rose-current .rose-handoff-pinned[data-rose-bridge=fallback] #rose-sketch-video{visibility:hidden}
.rose-current .rose-handoff-pinned::before{display:block;opacity:var(--rose-overlay-opacity,0)}
.rose-current #process .process-stage{height:100svh;opacity:1;background:#d9d7d1}
.rose-current #process .process-frame-stack{inset:0}
.rose-current #process .process-frame:first-child img{transform:none!important;filter:none!important;object-position:center}
.rose-current #process .process-copy-stack,.rose-current #process .process-progress{opacity:var(--rose-process-copy,1)}
.rose-current #process.rose-process-intro{z-index:21}
.rose-current #process.rose-process-intro,.rose-current #process.rose-process-intro .process-stage{background:transparent}
.rose-current #process.rose-process-intro .process-frame-stack{opacity:0;visibility:hidden}
.rose-current #process.rose-process-intro .process-copy-stack{position:fixed;inset:0;z-index:22}
.rose-current #process.rose-process-intro .process-progress{position:fixed;z-index:22}
.rose-current .cad-atmosphere{inset:0!important;width:100%!important;height:100%!important}

.rose-current .hero-effects{--fx-rose:#d69bb8;--fx-pearl:#fff4f8;--fx-silver:#dce6ef;position:absolute;inset:0;overflow:hidden;pointer-events:none!important;opacity:var(--fx-opacity,0);contain:layout style;transition:opacity .12s linear;will-change:opacity}
.rose-current .hero-effects-back{z-index:2}
.rose-current .hero-effects-front{z-index:6;mask-image:radial-gradient(ellipse calc(var(--fx-w)*.85) calc(var(--fx-h)*.72) at var(--fx-x) var(--fx-y),transparent 85%,#000 100%);-webkit-mask-image:radial-gradient(ellipse calc(var(--fx-w)*.85) calc(var(--fx-h)*.72) at var(--fx-x) var(--fx-y),transparent 85%,#000 100%)}
.rose-current .hero-effects[data-active=false]{visibility:hidden}
.rose-current .hero-effects[data-active=false] *,.rose-current .hero-effects[data-paused=true] *{animation-play-state:paused!important}
.hero-effects .fx-layer{position:absolute;left:var(--fx-x);top:var(--fx-y);transform:translate(-50%,-50%);pointer-events:none!important;mix-blend-mode:screen}
.hero-effects .fx-layer>i{display:block;position:absolute;inset:0;pointer-events:none}
.hero-effects .fx-rose-aura{width:calc(var(--fx-w)*2.1);height:calc(var(--fx-h)*1.3)}
.hero-effects .fx-rose-aura>i{background:radial-gradient(ellipse,#f0a3cf88,transparent 67%);animation:fx-breathe 8s ease-in-out infinite alternate}
.hero-effects .fx-pearl-shaft{top:calc(var(--fx-light-y) - var(--fx-h)*.28);width:calc(var(--fx-w)*.6);height:calc(var(--fx-h)*1.25);opacity:.48}
.hero-effects .fx-pearl-shaft>i{mask-image:radial-gradient(ellipse,#000 28%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse,#000 28%,transparent 70%);background:radial-gradient(ellipse at 50% 70%,#fff4f890,transparent 64%);transform:rotate(21deg);animation:fx-shaft 13s ease-in-out infinite alternate}
.hero-effects .fx-silver-rake{top:var(--fx-light-y);width:calc(var(--fx-w)*2.6);height:2px;opacity:.5}
.hero-effects .fx-silver-rake>i{background:linear-gradient(90deg,transparent,#dce6ef,#f4bfd7,transparent);box-shadow:0 0 12px 2px #f4bfd740;transform:rotate(25deg);animation:fx-rake 11s ease-in-out infinite alternate}
.hero-effects .fx-caustics{top:var(--fx-floor);width:calc(var(--fx-w)*2.5);height:calc(var(--fx-h)*.42);color:#f7c9e0;opacity:.45}
.hero-effects .fx-caustics svg{width:100%;height:100%;filter:drop-shadow(0 0 4px #f4bfd7);animation:fx-current 7s ease-in-out infinite alternate}
.hero-effects .fx-reflection{top:var(--fx-floor);width:calc(var(--fx-w)*1.8);height:calc(var(--fx-h)*.25);opacity:.68}
.hero-effects .fx-reflection>i{background:radial-gradient(ellipse,#efc6ddb3,transparent 66%);animation:fx-reflection 9s ease-in-out infinite alternate}
.hero-effects .fx-motes{width:calc(var(--fx-w)*2.4);height:calc(var(--fx-h)*1.5)}
.hero-effects .fx-motes>i{inset:auto;width:calc(2.5px + var(--i)*.1px);height:calc(2.5px + var(--i)*.1px);border-radius:50%;background:#fff4f8;box-shadow:0 0 7px 1px #efb7d0;opacity:.65;animation:fx-mote calc(4s + var(--i)*.35s) ease-in-out infinite alternate}
.hero-effects .fx-prism-mist{width:calc(var(--fx-w)*1.7);height:calc(var(--fx-h)*1.2);opacity:.52}
.hero-effects .fx-prism-mist>i{mask-image:radial-gradient(ellipse,#000 28%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse,#000 28%,transparent 70%);background:radial-gradient(ellipse at 10% 44%,#dc8fb4b0,transparent 40%),radial-gradient(ellipse at 90% 65%,#dce6ef90,transparent 38%);animation:fx-mist 15s ease-in-out infinite alternate}
.hero-effects .fx-pearl-veil{left:calc(var(--fx-x) + var(--fx-w)*1.05);top:calc(var(--fx-y) - var(--fx-h)*.28);width:calc(var(--fx-w)*.6);height:calc(var(--fx-w)*.3);opacity:calc(.4 + var(--fx-energy,0)*.12)}
.hero-effects .fx-pearl-veil>i{background:radial-gradient(ellipse,#ffe5f0a0,#f4bfd73a 30%,transparent 68%);animation:fx-breathe 7s ease-in-out infinite alternate}
.hero-effects .fx-glint{width:36px;height:36px;color:var(--fx-pearl);filter:drop-shadow(0 0 8px #ffd4e7)}
.hero-effects .fx-glint svg{width:100%;height:100%;animation:fx-glint 5.8s ease-in-out infinite;opacity:.28}
.hero-effects .fx-glint-0{left:var(--fx-g0-x);top:var(--fx-g0-y);opacity:var(--fx-g0-visible,0)}
.hero-effects .fx-glint-1{left:var(--fx-g1-x);top:var(--fx-g1-y);width:28px;height:28px;color:var(--fx-silver);opacity:var(--fx-g1-visible,0)}
.hero-effects .fx-glint-1 svg{animation-duration:5.8s;animation-delay:-1.95s;transform:rotate(18deg)}
.hero-effects .fx-glint-2{left:var(--fx-g2-x);top:var(--fx-g2-y);width:20px;height:20px;opacity:var(--fx-g2-visible,0)}
.hero-effects .fx-glint-2 svg{animation-duration:5.8s;animation-delay:-3.85s}
.hero-effects .fx-lens{left:calc(var(--fx-x) + var(--fx-w)*.9);top:calc(var(--fx-y) - var(--fx-h)*.18);width:calc(var(--fx-w)*1.1);height:2px;opacity:.58}
.hero-effects .fx-lens>i{background:linear-gradient(90deg,transparent,#f4bfd72e,#fff4f8ef,#f4bfd72e,transparent);box-shadow:0 0 5px #f4bfd780;animation:fx-lens 5.8s ease-in-out infinite}
.hero-effects .fx-bokeh{width:calc(var(--fx-w)*2.6);height:calc(var(--fx-h)*1.55)}
.hero-effects .fx-bokeh>i{inset:auto;width:calc(18px + var(--i)*11px);height:calc(18px + var(--i)*11px);border-radius:50%;background:radial-gradient(circle,#ffe3f066,transparent 69%);filter:blur(3px);animation:fx-bokeh calc(6s + var(--i)*.7s) ease-in-out infinite alternate;opacity:.5}
.hero-effects .fx-sheen{left:var(--fx-g2-x);top:var(--fx-g2-y);width:calc(var(--fx-w)*.48);height:calc(var(--fx-w)*.08);opacity:var(--fx-g1-visible,0)}
.hero-effects .fx-sheen>i{background:radial-gradient(ellipse,#fff4f89c,#dce6ef25 35%,transparent 70%);animation:fx-sheen 5.8s ease-in-out infinite;animation-delay:-1.95s}
@keyframes fx-breathe{from{opacity:.45;transform:translate(var(--fx-parallax-x),var(--fx-parallax-y)) scale(.93)}to{opacity:.9;transform:translate(var(--fx-parallax-x),var(--fx-parallax-y)) scale(1.06)}}
@keyframes fx-shaft{from{opacity:.35;transform:translateX(-9px) rotate(18deg)}to{opacity:.75;transform:translateX(12px) rotate(25deg)}}
@keyframes fx-rake{from{opacity:.35;transform:translateY(-8px) rotate(25deg) scaleX(.92)}to{opacity:.8;transform:translateY(12px) rotate(25deg) scaleX(1.08)}}
@keyframes fx-current{from{opacity:.3;transform:translateX(-16px) scaleY(.85)}to{opacity:.9;transform:translateX(16px) scaleY(1.08)}}
@keyframes fx-reflection{from{opacity:.45;transform:scaleX(.85)}to{opacity:.85;transform:scaleX(1.12)}}
@keyframes fx-mote{from{opacity:.3;transform:translate3d(-10px,24px,0)}to{opacity:.85;transform:translate3d(14px,-38px,0)}}
@keyframes fx-mist{from{transform:translate(-8px,4px);opacity:.3}to{transform:translate(12px,-6px);opacity:.85}}
@keyframes fx-glint{0%,100%{opacity:.28;scale:.7}20%{opacity:1;scale:1.15}38%{opacity:.45;scale:.9}60%{opacity:.12;scale:.6}80%{opacity:.25;scale:.75}}
@keyframes fx-lens{0%,100%{opacity:.2;scale:.85 1}25%{opacity:.85;scale:1.12 1}65%{opacity:.28;scale:.9 1}}
@keyframes fx-bokeh{from{opacity:.35;transform:translate3d(-12px,24px,0)}to{opacity:.8;transform:translate3d(18px,-40px,0)}}
@keyframes fx-sheen{0%,100%{opacity:.1;scale:.85 1}25%{opacity:.7;scale:1.2 1}65%{opacity:.16;scale:.9 1}}
@media(max-width:760px){
 .hero-effects .fx-motes>i:nth-child(n+7),.hero-effects .fx-bokeh>i:nth-child(n+3){display:none}
 .hero-effects .fx-pearl-shaft,.hero-effects .fx-prism-mist{opacity:.28}
 .hero-effects .fx-glint{width:27px;height:27px}
 .hero-effects .fx-glint-2{width:17px;height:17px}
}
@media(prefers-reduced-motion:reduce){
 .hero-effects *{animation:none!important;transition:none!important}
 .hero-effects .fx-glint,.hero-effects .fx-motes,.hero-effects .fx-bokeh,.hero-effects .fx-lens,.hero-effects .fx-sheen{display:none}
 .hero-effects .fx-rose-aura,.hero-effects .fx-reflection{opacity:.18}
}

.rose-current #services .services-intro,.rose-current #services .service-summary,.rose-current #construction .layer-reader,.rose-current .workshop-department,.rose-current .workshop-department-copy>p{
 background:linear-gradient(135deg,#59414c59,#160f1e8c)!important;
 border:1px solid #fbe6ef47!important;border-radius:14px!important;
 -webkit-backdrop-filter:blur(22px) saturate(1.15) brightness(.72);backdrop-filter:blur(22px) saturate(1.15) brightness(.72);
 box-shadow:0 16px 40px #0a041a30,0 3px 10px #0a041a1a,inset 0 1px 0 #fff4f833!important;
}
.rose-current .workshop-department{padding:8px;overflow:hidden}
.rose-current .workshop-photo-pair{inset:8px;gap:8px}
.rose-current .workshop-photo{border-radius:10px}
.rose-current .workshop-department-copy{gap:8px}
.rose-current .workshop-department-copy h3{text-wrap:balance}
.rose-current .workshop-department-copy>p{padding:24px;color:#f5edf1;text-wrap:pretty}
.rose-current .workshop-toggle-label{margin-top:10px;color:#e2c9d5}
@media(max-width:760px){
 .rose-current .workshop-department-copy{gap:0}
 .rose-current .workshop-department-copy>p{padding:8px 20px 24px;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none}
}
.rose-current #services .services-intro,.rose-current #services .service-summary,.rose-current #construction .layer-reader{
 animation:glass-card-float 8s ease-in-out infinite;animation-play-state:paused;
 rotate:var(--glass-axis-x,0) var(--glass-axis-y,1) 0 var(--glass-angle,0deg);
 transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,rotate .3s ease;
}
.rose-current #services #services-editorial-root{background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;gap:12px!important}
.rose-current #construction .layer-reader{padding:18px!important}
.rose-current #services .service-summary:nth-of-type(2){animation-delay:-2.4s}
.rose-current #services .service-summary:nth-of-type(3){animation-delay:-4.8s}
.rose-current #construction .layer-reader{animation-delay:-1.6s}
.rose-current #services.in-view :is(.services-intro,.service-summary),.rose-current #construction.in-view .layer-reader{animation-play-state:running}
.rose-current #services :is(.services-intro,.service-summary):is(:hover,:focus-within),.rose-current #construction .layer-reader:is(:hover,:focus-within){animation-play-state:paused;border-color:#ffe9f480!important;box-shadow:0 20px 46px #0a041a3d,0 3px 10px #0a041a24,inset 0 1px 0 #fff4f84a!important}
body.contact-open #services :is(.services-intro,.service-summary),body.contact-open #construction .layer-reader{animation-play-state:paused!important}
@keyframes glass-card-float{0%,100%{translate:var(--glass-dx,0px) var(--glass-dy,0px)}50%{translate:var(--glass-dx,0px) calc(var(--glass-dy,0px) - 6px)}}
@media(min-width:1024px) and (orientation:landscape){
 .rose-current #construction .layer-reader{top:50%!important;bottom:auto!important;height:auto!important;min-height:0;max-height:calc(100svh - 152px);transform:translateY(-50%)!important;gap:14px;overflow-y:auto;justify-content:flex-start}
}
@media(max-width:1366px) and (orientation:portrait){
 .rose-current #construction .layer-reader{padding:12px!important}
 .rose-current #services.services-flow .services-intro{margin-inline:18px;width:auto;padding:22px!important}
 .rose-current #services.services-flow .service-summary{padding:22px!important}
}
@media(prefers-reduced-motion:reduce){
 .rose-current #services .services-intro,.rose-current #services .service-summary,.rose-current #construction .layer-reader{animation:none!important;translate:none;transition:none}
}

.rose-current #services :is(.services-intro,.service-summary):is(:hover,:focus-within),.rose-current #construction .layer-reader:is(:hover,:focus-within){
 background:radial-gradient(circle at var(--glass-x,50%) var(--glass-y,35%),#fffaffaa, #ffedf555 24%,transparent 62%),linear-gradient(135deg,#e4d6dfad,#c9bacbd1)!important;
 -webkit-backdrop-filter:blur(28px) saturate(1.08) brightness(.94);backdrop-filter:blur(28px) saturate(1.08) brightness(.94);
 border-color:#fff5fbbd!important;color:#2a2029!important;text-shadow:none;
 box-shadow:0 20px 46px #0a041a3d,0 3px 10px #0a041a24,inset 0 1px 0 #fffaffbb,inset 0 0 28px #fff4f833!important;
}
.rose-current #services :is(.services-intro,.service-summary):is(:hover,:focus-within) :is(h2,h3,p),.rose-current #construction .layer-reader:is(:hover,:focus-within) :is(h3,p,b){color:#2a2029!important;-webkit-text-fill-color:currentColor;text-shadow:none}
.rose-current #construction .layer-reader:is(:hover,:focus-within) .anatomy-return{color:#75405b}
@media(prefers-reduced-motion:reduce){
 .rose-current #services .services-intro,.rose-current #services .service-summary,.rose-current #construction .layer-reader{rotate:none;translate:none}
}

.rose-current .materials .material-world::after,.rose-current .capabilities .cap-scene::after{opacity:.68}
.rose-current .materials .material-photo,.rose-current .materials .material-gallery:has(.material-photo-selector) .material-photo,.rose-current .materials .material-backdrop:not(.material-gallery),.rose-current .materials.fan-preview .material-world.active .material-backdrop:not(.material-gallery),.rose-current .capabilities .cap-photo{filter:saturate(.9) brightness(.9) contrast(1.04)}
.rose-current .materials .material-morph-canvas,.rose-current .capabilities .cap-morph-canvas{filter:brightness(1.25)}


@media(min-width:761px) and (orientation:landscape){
 .rose-current .ring-journey .hero-title{top:calc(var(--scene-header-height,64px) + 20px)!important}
 .rose-current .ring-journey #services.partner{height:160svh!important;min-height:0;padding:0}
 .rose-current .ring-journey #services .services-stage{position:sticky!important;top:0!important;height:100svh!important;min-height:0!important;padding:0!important;display:block;overflow:visible!important}
 .rose-current .ring-journey #services .services-ring-slot{display:none!important}
 .rose-current .ring-journey #services .services-intro{position:absolute!important;left:4vw!important;right:auto!important;top:50%!important;bottom:auto!important;width:26vw!important;max-width:360px;padding:20px!important;margin:0!important;display:block!important;transform:translateY(-50%)!important}
 .rose-current .ring-journey #services .services-intro-side{width:auto;padding:0}
 .rose-current .ring-journey #services .services-action{display:none}
 .rose-current .ring-journey #services #services-editorial-root{position:absolute!important;left:auto!important;right:calc(var(--rose-rail-width,0px) + 24px)!important;top:calc((100svh - var(--tablet-dock,0px) + var(--scene-header-height,64px))/2)!important;bottom:auto!important;width:clamp(210px,22vw,340px)!important;padding:0!important;margin:0!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;transform:translateY(-50%)!important}
 .rose-current .ring-journey #services .service-summary{padding:16px!important;opacity:1!important;transform:none!important}
 .rose-current .ring-journey #services .services-intro h2{font-size:clamp(30px,3vw,44px);margin-bottom:14px}
 .rose-current .ring-journey #services .service-summary h3{font-size:clamp(20px,1.8vw,28px);margin-bottom:8px}
 .rose-current .ring-journey #services :is(.service-summary p,.services-intro .lead){font-size:clamp(14px,1.1vw,17px);line-height:1.5}
 .rose-current #construction .layer-reader{left:4vw!important;right:auto!important;top:calc((100svh + var(--scene-header-height,64px) - var(--tablet-dock,0px))/2)!important;bottom:auto!important;width:clamp(230px,25vw,320px)!important;height:auto!important;min-height:0;max-height:calc(100svh - var(--scene-header-height,64px) - var(--tablet-dock,0px) - 32px);padding:16px!important;gap:12px;overflow:visible;transform:translateY(-50%)!important;justify-content:flex-start}
 .rose-current #construction .anatomy-detail-row{display:flex;position:relative;height:auto!important;min-height:44px;max-height:min(32svh,210px);flex:none;gap:8px}
 .rose-current #construction #anatomy-detail{min-width:0;max-height:min(32svh,210px);overflow-y:auto}
 .rose-current #construction #anatomy-detail-title{font-size:22px;min-height:0;padding:0 40px 0 0}
 .rose-current #construction #anatomy-detail-description{font-size:14px;line-height:1.5;padding:0}
 .rose-current #construction .anatomy-return{position:absolute;top:0;right:0}
 .rose-current #construction .layer-reader .anatomy-stone-menu{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:4px;height:auto;overflow:visible!important;scroll-snap-type:none}
 .rose-current #construction .layer-reader .anatomy-stone-menu .layer-callout{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;min-height:52px;padding:4px 0;flex:none;text-align:left}
 .rose-current #construction .layer-reader .layer-callout img{width:56px;height:44px;object-fit:contain}
 .rose-current #construction .layer-reader .layer-callout b{font-size:16px;line-height:1.2;width:auto}
 .rose-current #process .process-copy-stack .process-copy{top:calc(var(--scene-header-height,64px) + 116px);bottom:auto;left:4vw;width:min(27vw,360px);transform:translateY(10px);text-align:left}
 .rose-current #process .process-copy-stack .process-copy.active{transform:none}
 .rose-current #process .process-copy h2{font-size:clamp(28px,2.5vw,42px);line-height:1.08}
 .rose-current #process .process-copy .lead{font-size:clamp(14px,1.1vw,17px);line-height:1.55}
}
@media(min-width:761px) and (max-height:640px) and (orientation:landscape){
 .rose-current .ring-journey #services .service-summary{padding:12px!important}
 .rose-current .ring-journey #services #services-editorial-root{gap:8px!important}
 .rose-current .ring-journey #services .service-summary h3{font-size:20px;margin-bottom:6px}
 .rose-current .ring-journey #services :is(.service-summary p,.services-intro .lead){font-size:13px;line-height:1.4}
 .rose-current #construction :is(.anatomy-detail-row,#anatomy-detail){max-height:min(32svh,210px,calc(100svh - var(--scene-header-height,64px) - var(--tablet-dock,0px) - 314px))}
 .rose-current #construction .layer-reader .anatomy-stone-menu .layer-callout{min-height:44px;padding:2px 0}
 .rose-current #construction .layer-reader .layer-callout img{height:38px}
 .rose-current #construction .layer-reader .layer-callout b{font-size:14px}
 .rose-current #process .process-copy-stack .process-copy{top:calc(var(--scene-header-height,64px) + 96px)}
}
@media(orientation:portrait){
 .rose-current .ring-journey #services .services-intro{left:0!important;right:0!important;width:min(560px,calc(100% - 36px))!important;max-width:none!important;margin-inline:auto!important;padding:22px!important}
 .rose-current .ring-journey #services.services-flow #services-editorial-root{width:min(560px,calc(100% - 36px))!important;margin-inline:auto!important;padding:0!important}
 .rose-current #process .process-copy-stack .process-copy{top:auto;bottom:calc(var(--tablet-dock,0px) + 24px);width:min(560px,calc(100% - 40px))}
 .rose-current #process .process-copy h2{font-size:clamp(28px,4vw,40px);line-height:1.1}
 .rose-current #process .process-copy .lead{font-size:clamp(14px,1.8vw,17px);line-height:1.5}
}

.rose-current .anatomy-pointer{color:#b51e4c;font-weight:500;text-shadow:0 1px 2px #fff4f8d9,0 0 12px #fff4f880;max-width:min(260px,calc(100vw - 24px))}
.rose-current .anatomy-pointer-line{position:fixed;inset:0;width:100%;height:100%;z-index:39;overflow:visible;pointer-events:none;color:#b51e4c;opacity:0;visibility:hidden;transition:opacity 120ms ease,visibility 120ms}
.rose-current .anatomy-pointer-line.is-visible{opacity:1;visibility:visible}
@media(hover:none),(pointer:coarse){.rose-current .anatomy-pointer-line{display:none}}
@media(prefers-reduced-motion:reduce){.rose-current .anatomy-pointer-line{transition:none}}

.rose-current .cad-stage,.rose-current .anatomy-pointer,.rose-current .anatomy-pointer-line{-webkit-user-select:none;user-select:none}


.rose-current .ring-journey #object .sticky-stage{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr) auto;gap:16px!important;height:100svh;min-height:0;padding:calc(var(--scene-header-height,64px) + 16px) 5vw max(20px,env(safe-area-inset-bottom,0px))!important;align-content:stretch}
.rose-current .ring-journey #object :is(.hero-title,.hero-lead){position:relative!important;inset:auto!important;width:100%!important;max-width:900px;margin:0 auto!important;transform:none!important;text-align:center!important;min-width:0}
.rose-current .ring-journey #object .hero-title{grid-row:1}
.rose-current .ring-journey #object .hero-title .hero-intro-logo{width:clamp(150px,20vw,260px)!important;margin:0 auto 10px!important}
.rose-current .ring-journey #object .hero-title h1{font-size:clamp(24px,3vw,38px)!important;line-height:1.08}
.rose-current .ring-journey #object .hero-title h1>span{white-space:normal!important}
.rose-current .ring-journey #object .hero-lead{grid-row:3;max-width:760px}
.rose-current .ring-journey #object .hero-lead>p{font-size:clamp(16px,1.25vw,19px);line-height:1.45;margin:0 auto 14px!important;text-shadow:0 1px 4px #100d1033}
.rose-current .ring-journey #object .hero-lead :is(.hero-lead-full,.hero-lead-compact)>span{white-space:normal}
.rose-current .ring-journey #object .hero-actions{position:static!important;inset:auto!important;display:flex!important;flex-direction:row;width:min(500px,100%)!important;gap:12px!important;margin:0 auto!important;padding:0!important;background:none;border:0;box-shadow:none;pointer-events:auto}
.rose-current .ring-journey #object .hero-actions .contact-action{flex:1;min-width:0;max-width:none;width:auto!important;height:auto;min-height:48px;padding:12px!important;font-size:clamp(14px,1.2vw,18px);line-height:1.25;border:1px solid #d7dad68c;pointer-events:auto}
.rose-current #process .process-copy-stack .process-copy{left:50%!important;right:auto;top:var(--rose-process-copy-top,176px)!important;bottom:auto;width:min(760px,calc(100% - 40px))!important;margin:0;transform:translate(-50%,10px)!important;text-align:center!important;padding:0;background:none;border-radius:0;transition:transform .5s,filter .35s}
.rose-current #process .process-copy-stack .process-copy.active{transform:translate(-50%,0)!important}
.rose-current #process .process-copy-stack .process-copy.process-copy-below{top:auto!important;bottom:calc(var(--tablet-dock,0px) + 20px);padding:16px;background:radial-gradient(circle at 50% 35%,#fffaff66,#ffedf533 24%,transparent 62%),linear-gradient(135deg,#e4d6dfad,#c9bacbd1);border:1px solid #fff5fbbd;border-radius:14px;-webkit-backdrop-filter:blur(22px) saturate(1.08) brightness(.94);backdrop-filter:blur(22px) saturate(1.08) brightness(.94);box-shadow:0 16px 40px #0a041a30,0 3px 10px #0a041a1a,inset 0 1px 0 #fff4f833}
.rose-current #process .process-copy-stack .process-copy :is(h2,.lead){margin-inline:auto;text-align:center}
.rose-current #process .process-copy-stack h2{font-size:var(--process-title-size,clamp(28px,2.5vw,42px))!important;line-height:1.15;white-space:nowrap}
.rose-current #process .process-copy-stack .lead{max-width:100%;text-wrap:balance}
.rose-current #process .process-copy-stack .site-blur-text{justify-content:center;flex-wrap:nowrap;white-space:nowrap}
@media(max-width:360px){.rose-current #process .process-copy-stack .lead{font-size:13px!important}}
@media(max-height:540px) and (orientation:landscape){
 .rose-current .ring-journey #object .sticky-stage{padding-top:calc(var(--scene-header-height,52px) + 8px)!important;padding-bottom:12px!important;gap:8px!important}
 .rose-current .ring-journey #object .hero-title .hero-intro-logo{width:140px!important;margin-bottom:6px!important}
 .rose-current .ring-journey #object .hero-title h1{font-size:20px!important}
 .rose-current .ring-journey #object .hero-lead>p{font-size:12px;margin-bottom:8px!important}
 .rose-current .ring-journey #object .hero-actions .contact-action{min-height:44px;padding:10px!important}
}


.rose-current .ring-journey #object .hero-title{width:min(780px,60vw)!important;max-width:100%}
.rose-current .ring-journey #object .hero-title .hero-intro-logo{width:100%!important;max-width:100%!important;margin-bottom:12px!important}
.rose-current .ring-journey #object .hero-title h1{display:block;font-size:min(40px,4.8cqi)!important;line-height:1.15;white-space:nowrap!important;text-align:center!important;text-shadow:0 1px 4px #100d1033}
.rose-current .ring-journey #object .hero-title h1>span{display:inline!important;white-space:nowrap!important}
@media(min-width:600px) and (orientation:portrait){
 .rose-current .ring-journey #object .hero-title{width:min(600px,76vw)!important}
}
@media(max-width:599px) and (orientation:portrait){
 .rose-current .ring-journey #object .hero-title{width:min(320px,84vw)!important}
 .rose-current .ring-journey #object .hero-title h1{font-size:clamp(20px,6vw,26px)!important;white-space:normal!important}
 .rose-current .ring-journey #object .hero-title h1>span{display:block!important;white-space:normal!important}
}
@media(max-height:540px) and (orientation:landscape){
 .rose-current .ring-journey #object .hero-title{width:min(420px,62vw)!important}
 .rose-current .ring-journey #object .hero-title .hero-intro-logo{width:100%!important}
 .rose-current .ring-journey #object .hero-title h1{font-size:min(21px,4.8cqi)!important}
}

@media(min-width:600px) and (orientation:portrait){
 .rose-current .ring-journey #object .hero-lead>p{font-size:clamp(18px,2vw,22px)!important;line-height:1.5;margin-bottom:20px!important}
}
@media(max-width:599px) and (orientation:portrait){
 .rose-current .ring-journey #object .hero-lead>p{font-size:15px!important;line-height:1.5}
}
@media(max-height:540px) and (orientation:landscape){
 .rose-current .ring-journey #object .hero-lead>p{font-size:14px!important}
}
.workshop-city-stage{position:fixed;z-index:0;inset:0;pointer-events:none;visibility:hidden;background:#1f120c}.workshop-city-stage>canvas,.workshop-skyline{position:absolute;inset:0;width:100%;height:100%}.workshop-skyline-city,.workshop-city-connector,.workshop-route-stroke{fill:none;stroke:#cfb584;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.workshop.workshop-editorial.workshop-city-ready{background:transparent;isolation:isolate}.workshop-city-ready>.workshop-heading,.workshop-city-ready>.workshop-departments{position:relative;z-index:1}.workshop-city-route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:0}.workshop-city-ready .workshop-heading{text-shadow:0 2px 20px #0006}@media(prefers-reduced-motion:reduce){.workshop-city-route,.workshop-skyline{display:none}}
#jewelloni.shared-city-ready,#jewelloni.shared-city-ready .jewelloni-stage,#jewelloni.shared-city-ready .woven-heritage,#jewelloni.shared-city-ready .woven-bangkok{background:transparent}#jewelloni.shared-city-ready .bangkok-flight,#jewelloni.shared-city-ready .bangkok-flight-shade{visibility:hidden}
.rose-current .ring-journey #services.services-accordion{height:auto!important;min-height:100svh!important;padding:0}
.rose-current .ring-journey #services.services-accordion .services-stage{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-content:start;gap:14px;height:auto!important;min-height:100svh!important;padding:calc(var(--scene-header-height,54px) + 16px) clamp(18px,4vw,32px) 28px!important;overflow:visible!important}
.rose-current .ring-journey #services.services-accordion .services-intro{position:relative!important;inset:auto!important;width:100%!important;max-width:none;padding:0!important;margin:0!important;text-align:center!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important}
.rose-current .ring-journey #services.services-accordion .services-intro-side{width:100%!important;max-width:none;justify-self:stretch;padding:0!important;margin:0!important}
.rose-current .ring-journey #services.services-accordion .services-intro :is(h2,p){color:#f5edf1!important;-webkit-text-fill-color:currentColor}
.rose-current .ring-journey #services.services-accordion .services-intro h2{font-size:30px!important;line-height:1.15;margin-bottom:8px;text-align:center;text-shadow:0 2px 8px #160f1e,0 0 20px #160f1eb3!important}
.rose-current .ring-journey #services.services-accordion .services-intro .lead{max-width:640px;font-size:14px!important;line-height:1.5;margin:0 auto!important;text-shadow:0 1px 6px #160f1e,0 0 20px #160f1eb3!important}
.rose-current .ring-journey #services.services-accordion .services-action{display:none}
.rose-current .ring-journey #services.services-accordion .services-ring-slot{display:block!important;height:clamp(140px,29svh,260px)!important;margin:0!important;pointer-events:none}
.rose-current .ring-journey #services.services-accordion #services-editorial-root{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-self:start;width:100%!important;max-width:none;gap:8px!important;padding:0!important;margin:0!important;max-height:none!important;overflow:visible!important;transform:none!important}
.rose-current .ring-journey #services.services-accordion .service-summary{padding:0!important;opacity:1!important;transform:none!important}
.rose-current .ring-journey #services.services-accordion :is(.services-intro,.service-summary){animation:none!important;rotate:none!important;translate:none!important}
.rose-current .ring-journey #services.services-accordion .service-summary h3{font-size:18px!important;line-height:1.3;margin:0!important}
.rose-current .services-accordion .service-toggle{display:grid;grid-template-columns:minmax(0,1fr) 14px;align-items:center;gap:16px;width:100%;min-height:54px;padding:14px 18px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.rose-current .services-accordion .service-toggle::after{content:"";width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/14px 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px 14px no-repeat}
.rose-current .services-accordion .service-toggle[aria-expanded=true]::after{background-size:14px 1px,1px 0}
.rose-current .services-accordion .service-toggle:focus-visible{outline:2px solid #f1b9d3;outline-offset:-5px;border-radius:12px}
.rose-current .ring-journey #services.services-accordion .service-summary p{padding:0 18px 18px;margin:0;font-size:14px!important;line-height:1.5}
.rose-current .services-accordion .service-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .3s cubic-bezier(.2,.7,.25,1),opacity .2s ease}
.rose-current .services-accordion .service-panel-content{min-height:0;overflow:hidden}
.rose-current .services-accordion .is-expanded .service-panel{grid-template-rows:1fr;opacity:1}
.rose-current #process .process-frame,.rose-current .collection .expression-frame{transition:opacity .65s ease}
.rose-current :is(.material-copy>p,.cap-definition,.cap-practical p,.lookbook-copy p) .site-blur-text>span{opacity:1!important;filter:none!important;transform:none!important;will-change:auto}
.rose-current img[data-scene-media=failed]{opacity:0!important}
.rose-current .process-frame:has(img[data-scene-media=failed]){background:#d9d7d1}
.process-depth>.process-depth-fallback{position:absolute;inset:0;z-index:2;transform:none!important;transition:opacity .12s ease}
.process-depth-scene{position:absolute;z-index:1;left:50%;top:50%;width:max(100%,177.7778svh);aspect-ratio:16/9;transform:translate(-50%,-50%);perspective:1200px;filter:saturate(.95) contrast(1.02);pointer-events:none;visibility:hidden}
.process-depth-ready .process-depth-scene{visibility:visible}
.process-depth-ready>.process-depth-fallback{opacity:0}
.rose-current #process .process-frame{transition:none}
.process-depth-scene{--depth-shift:30px;--depth-rise:12px;--depth-turn:.55deg;--depth-duration:.95s}
.process-depth[data-depth-kind=sketch] .process-depth-scene{filter:none}
.process-depth-layer{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:transform var(--depth-duration) cubic-bezier(.22,1,.36,1),opacity .7s cubic-bezier(.4,0,.2,1);transform-origin:50% 65%}
.depth-background,.depth-ring{opacity:1;transform:none;transition:none}
.depth-hand{transform:translate3d(calc(-1*var(--depth-shift)),var(--depth-rise),0) rotate(calc(-1*var(--depth-turn)));transition-delay:.04s}
.depth-tool{transform:translate3d(var(--depth-shift),calc(-.5*var(--depth-rise)),0) rotate(var(--depth-turn));transition-delay:0s}
.process-depth-ready:is(:not(.active),.process-depth-leaving) :is(.depth-hand,.depth-tool){transition-duration:.4s,.28s}
.process-depth-ready.active:not(.process-depth-leaving) :is(.depth-hand,.depth-tool){opacity:1;transform:translate3d(0,0,0) rotate(0deg)}
.process-depth-ready.active:not(.process-depth-leaving) .depth-hand{transition-delay:.04s}
.process-depth-ready.active:not(.process-depth-leaving) .depth-tool{transition-delay:.16s}
.rose-process-intro .process-depth-ready.active .depth-hand{opacity:0;transform:translate3d(calc(-1*var(--depth-shift)),var(--depth-rise),0) rotate(calc(-1*var(--depth-turn)))}
@media(max-width:1366px) and (orientation:portrait),(max-width:760px){
 .process-depth-scene{--depth-shift:16px;--depth-rise:7px;--depth-turn:.25deg;--depth-duration:.8s}
 .process-depth :is(.depth-hand,.depth-tool)>g{transform-origin:0 0}
 .process-depth[data-depth-kind=sketch] .depth-hand>g{transform:translate(280px,302.4px) scale(.65)}
 .process-depth:is([data-depth-kind=direction],[data-depth-kind=setting]) .depth-hand>g{transform:translate(300px,346px) scale(.6)}
 .process-depth[data-depth-kind=cad] .depth-hand>g{transform:translate(400px,360px) scale(.65)}
 .process-depth[data-depth-kind=prototype] .depth-hand>g{transform:translate(300px,389px) scale(.55)}
 .process-depth[data-depth-kind=casting] .depth-hand>g{transform:translate(380px,302px) scale(.65)}
 .process-depth:is([data-depth-kind=polish],[data-depth-kind=qa]) .depth-hand>g{transform:translate(100px,173px) scale(.8)}
 .process-depth[data-depth-kind=polish] .depth-tool>g{transform:translate(462px,333px) scale(.55)}
 .process-depth[data-depth-kind=qa] .depth-tool>g{transform:translate(423px,432px) scale(.5)}
}
@media(prefers-reduced-motion:reduce){.process-depth-scene{display:none}.process-depth-ready>.process-depth-fallback{opacity:1;animation:none!important}.process-depth-layer{transition:none}}
.rose-current .woven-thread,.rose-current .woven-thread *{pointer-events:none!important;cursor:default!important}
@media(prefers-reduced-motion:reduce){.rose-current #process .process-frame,.rose-current #process .process-frame.process-depth,.rose-current .collection .expression-frame{transition:none}}
@media(prefers-reduced-motion:reduce){.rose-current .services-accordion .service-panel{transition:none}}
@media(min-width:761px){
 .rose-current .ring-journey #services.services-accordion .services-stage{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-rows:auto 1fr;align-items:center;column-gap:32px;row-gap:24px;padding-top:calc(var(--scene-header-height,64px) + clamp(32px,6svh,56px))!important;padding-right:calc(var(--rose-rail-width,0px) + 32px)!important}
 .rose-current .ring-journey #services.services-accordion .services-intro{grid-column:1/-1;width:calc(100% + var(--rose-rail-width,0px))!important}
 .rose-current .ring-journey #services.services-accordion .services-intro h2{font-size:36px!important}
 .rose-current .ring-journey #services.services-accordion .services-intro .lead{font-size:16px!important}
 .rose-current .ring-journey #services.services-accordion .services-ring-slot{grid-column:1;grid-row:2;height:clamp(260px,42svh,520px)!important}
 .rose-current .ring-journey #services.services-accordion #services-editorial-root{grid-column:2;grid-row:2;align-self:center}
 .rose-current .ring-journey #services.services-accordion .service-summary h3{font-size:20px!important}
 .rose-current .ring-journey #services.services-accordion .service-summary p{font-size:16px!important}
 .rose-current .ring-journey #construction .layer-reader{top:calc((100svh + var(--scene-header-height,64px) + clamp(32px,6svh,56px))/2)!important;bottom:auto!important;max-height:calc(100svh - var(--scene-header-height,64px) - clamp(32px,6svh,56px) - 24px)!important;transform:translateY(-50%)!important;overflow-y:auto!important}
}
@media(min-width:761px) and (min-height:650px){
 .rose-current .ring-journey #services.services-accordion{height:160svh!important;min-height:0!important}
 .rose-current .ring-journey #services.services-accordion .services-stage{position:fixed!important;inset:0!important;z-index:20;height:100svh!important;min-height:0!important;padding-top:calc(var(--scene-header-height,64px) + clamp(56px,8svh,96px))!important;visibility:hidden!important;transition:visibility 0s linear .65s}
 .rose-current .ring-journey #services.services-accordion.scene-content-active .services-stage{visibility:visible!important;transition-delay:0s}
 .rose-current .ring-journey #services.services-accordion :is(.services-intro,#services-editorial-root){visibility:inherit!important}
 .rose-current .ring-journey #services.services-accordion .services-intro{opacity:0!important;transition:opacity .45s ease}
 .rose-current .ring-journey #services.services-accordion.scene-content-active .services-intro{opacity:1!important}
 .rose-current .ring-journey #services.services-accordion .service-summary{opacity:0!important;translate:40px 0!important;transition:opacity .45s ease,translate .65s cubic-bezier(.22,1,.36,1)}
 .rose-current .ring-journey #services.services-accordion.scene-content-active .service-summary{opacity:1!important;translate:0 0!important}
 .rose-current .ring-journey #services.services-accordion.scene-content-active .service-summary:nth-child(2){transition-delay:.06s}
 .rose-current .ring-journey #services.services-accordion.scene-content-active .service-summary:nth-child(3){transition-delay:.12s}
 .rose-current .ring-journey #construction .layer-reader{top:calc((100svh + var(--scene-header-height,64px) + clamp(56px,8svh,96px))/2)!important;bottom:auto!important;max-height:calc(100svh - var(--scene-header-height,64px) - clamp(56px,8svh,96px) - 32px)!important;transform:translateY(-50%)!important;animation:none!important;opacity:0!important;translate:-40px 0!important;visibility:hidden!important;transition:opacity .45s ease,translate .65s cubic-bezier(.22,1,.36,1),visibility 0s linear .65s}
 .rose-current .ring-journey #construction.scene-content-active .layer-reader{opacity:1!important;translate:0 0!important;visibility:visible!important;transition-delay:0s}
}
@media(prefers-reduced-motion:reduce){
 .rose-current .ring-journey #services.services-accordion :is(.services-stage,.services-intro,.service-summary),.rose-current .ring-journey #construction .layer-reader{transition:none!important;translate:none!important}
}
@media(min-width:761px) and (orientation:portrait){
 .rose-current .ring-journey #construction .layer-reader{left:32px!important;right:calc(var(--rose-rail-width,128px) + 32px)!important;top:auto!important;bottom:24px!important;width:auto!important;max-height:48svh!important;transform:none!important}
}

.rose-current #process{--process-qa-hold:1.8;height:calc(980svh + var(--process-qa-hold)*100svh)}
.rose-current #materials:not(.scene-flow){height:650svh}
.rose-current #capabilities:not(.scene-flow){height:760svh}
.rose-current .collection-quality-flow{height:650svh}

.rose-current .cad-stage[data-hero-late-fit=true] .cad-display{transition:left .35s ease,top .35s ease,width .35s ease,height .35s ease}

.rose-current .cad-opening-still{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;opacity:1;transition:opacity .65s ease}
.rose-current .cad-stage[data-opening-poster=ready] #cad-ring{opacity:0}
.rose-current .cad-stage[data-opening-poster=crossfade] .cad-opening-still{opacity:0}
@media(prefers-reduced-motion:reduce){.rose-current .cad-opening-still{transition:none}}
