/* Frameless, theme-aware sculpture from the approved fluid study. */
@font-face{font-family:PuhuKinetic;src:url('/assets/puhu-kinetic.woff2') format('woff2');font-weight:750;font-style:normal;font-display:swap}
.service-art.fluid-art[data-scene]{background:transparent;border:0;overflow:visible;display:block;perspective:none;min-height:480px;height:clamp(460px,38vw,650px);align-self:center}
.service-art.fluid-art:before{display:none}
.fluid-stage{position:absolute;inset:0 0 36px;isolation:isolate}
.fluid-stage:after{content:'';position:absolute;z-index:-1;pointer-events:none;left:18%;width:64%;bottom:10%;height:11%;background:radial-gradient(ellipse,color-mix(in srgb,var(--ink-base) 34%,transparent),transparent 70%)}
.fluid-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.fluid-art .art-word{font-family:PuhuKinetic,Manrope,sans-serif;font-weight:750;letter-spacing:-.04em;inset:0;display:grid;place-items:center;font-size:clamp(42px,5vw,85px);color:var(--hero-heading);opacity:1;transform:rotate(-6deg);text-shadow:3px 4px 0 var(--main-base),7px 9px 0 var(--main-deep);pointer-events:none}
.fluid-art.fluid-ready .art-word{opacity:0}
.fluid-caption{position:absolute;left:0;right:0;bottom:10px;text-align:center;color:var(--dark-muted);font-size:10px;letter-spacing:.15em}
@media(max-width:1100px){.service-art.fluid-art[data-scene]{min-height:420px;height:480px}}
@media(max-width:760px){.service-art.fluid-art[data-scene]{height:clamp(330px,90vw,480px);min-height:0;max-height:none;aspect-ratio:auto}.fluid-caption{font-size:9px;bottom:5px}.fluid-stage{bottom:24px}.fluid-art .art-word{font-size:clamp(38px,9vw,68px)}.service-layout{gap:20px}}

/* Compact orbit: back spheres retain 68% of the nearest sphere diameter. */
.color-dialog-inner{justify-content:flex-start;gap:20px;padding-top:26px;padding-bottom:22px}
.color-intro{margin-top:clamp(26px,4dvh,52px)}
.color-intro>.eyebrow{margin-bottom:18px}
.color-intro h2{font-size:clamp(56px,5.2vw,78px);letter-spacing:-.035em}
.color-intro h2 em{letter-spacing:inherit;transform:translateX(.065em)}
.color-bottom{margin-top:auto}
.color-dialog.orbit-ready .color-palette{position:relative;display:block;height:clamp(335px,42dvh,450px);max-width:1180px;margin:-32px auto 0;flex-shrink:0;pointer-events:auto;touch-action:pinch-zoom}
.color-dialog.orbit-ready .color-option{--orb-size:90px;position:absolute;left:0;top:0;display:flex;grid-column:auto;width:var(--orb-size);min-width:0;padding:0;border-radius:50% 50% 8px 8px;transform:translate3d(var(--orb-x,0px),var(--orb-y,0px),0)!important;will-change:transform;touch-action:pinch-zoom}
.color-dialog.orbit-ready .sphere-slot{width:var(--orb-size);max-width:none;height:var(--orb-size);aspect-ratio:1;margin-bottom:10px}
.color-dialog.orbit-ready .sphere-fallback{animation:none}
.color-dialog.orbit-ready .pantone-label{font-size:8px;letter-spacing:.1em;margin-bottom:2px}
.color-dialog.orbit-ready .pantone-code{font-size:13px;letter-spacing:.01em;line-height:1.25}
.color-dialog.orbit-ready .pantone-code small{font-size:.82em}
.color-dialog.orbit-ready .color-current{margin-top:6px}
.color-dialog.orbit-ready .color-option:focus-visible{outline-offset:6px;outline-width:2px}
.color-dialog.orbit-ready.has-webgl .color-stars{display:none}
.color-dialog.orbit-ready:not(.has-webgl) .color-stars i{animation:none}
@media(max-width:760px){
 .color-dialog-inner{gap:14px;padding-top:22px;padding-bottom:20px}
 .color-intro{margin-top:clamp(12px,3dvh,30px)}
 .color-intro h2{font-size:clamp(51px,14.7vw,63px)}
 .color-intro>.eyebrow{margin-bottom:15px}
 .color-dialog.orbit-ready .color-palette{height:clamp(335px,44dvh,400px);max-width:600px;margin:-22px auto 0}
 .color-dialog.orbit-ready .pantone-label{font-size:7px}
 .color-dialog.orbit-ready .pantone-code{font-size:11px}
 .color-dialog.orbit-ready .sphere-slot{margin-bottom:7px}
 .color-dialog.orbit-ready .color-current{margin-top:4px}
 .color-motion{min-height:44px}
 .color-close{min-height:44px;min-width:44px}
 .color-bottom{padding-top:12px;gap:10px 15px}
}
@media(max-height:720px) and (min-width:761px){
 .color-dialog-inner{padding-top:18px;padding-bottom:18px;gap:12px}
 .color-top{min-height:44px}.color-top>img{width:48px}
 .color-intro{margin-top:16px}
 .color-intro h2{font-size:56px}.color-intro>.eyebrow{margin-bottom:12px}
 .color-dialog.orbit-ready .color-palette{height:clamp(280px,43dvh,330px)}
 .color-bottom{padding-top:12px}
}
@media(max-height:720px) and (max-width:760px){
 .color-dialog-inner{gap:12px;padding-top:16px;padding-bottom:16px}
 .color-intro{margin-top:12px}
 .color-intro h2{font-size:49px}.color-intro>.eyebrow{margin-bottom:12px}
 .color-dialog.orbit-ready .color-palette{height:320px}
}

.motion-paused .service[open] .service-copy{animation:none}
@media(prefers-reduced-motion:reduce){.service[open] .service-copy{animation:none}}
.motion-paused .site-header.is-scrolled{animation:none;transform:none}

.color-dialog.orbit-ready .color-palette,.color-dialog.orbit-ready .color-option{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
@media(pointer:coarse){.color-dialog.orbit-ready .color-palette{cursor:grab}.color-dialog.orbit-ready .color-palette.is-dragging,.color-dialog.orbit-ready .color-palette.is-dragging .color-option{cursor:grabbing}}
