/* Local preview refinements. Keep the established composition and motion owners. */
.section02-mouse-cue{top:49%}
.section02-cue-bubble{left:calc(100% - 17px);top:-5px;background:rgba(0,0,0,.5);color:rgba(255,255,255,.5);box-shadow:none;animation:s02-bubble-attention .78s ease-in-out infinite alternate}
.section02-cue-bubble::before{top:19px;background:rgba(0,0,0,.5)}
@keyframes s02-bubble-attention{from{background-color:rgba(0,0,0,.5);color:rgba(255,255,255,.5)}to{background-color:rgba(0,0,0,.27);color:rgba(255,255,255,.28)}}
.is-intro-story .psd-brand-mark,.is-contact-story .psd-brand-mark{animation:s02-woogi-mark-pulse 1.2s ease-in-out infinite}
@keyframes s02-woogi-mark-pulse{0%,100%{opacity:1}50%{opacity:.53}}
@media(max-width:700px){.section02-mouse-cue{top:49%}.section02-cue-bubble{left:calc(100% - 11px);top:-5px}.section02-cue-bubble::before{top:15px}}
@media(prefers-reduced-motion:reduce){.section02-cue-bubble,.is-intro-story .psd-brand-mark,.is-contact-story .psd-brand-mark{animation:none}}

.is-contact-story .psd-contact>div{gap:10px;transform:translateY(-14px)}
.is-contact-story .psd-contact a{box-sizing:border-box;position:relative;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end;justify-content:flex-start;gap:5px;min-height:50px;padding:0 25px 1px 0;border-bottom:1px solid rgba(255,255,255,.5);transition:border-color .2s ease,color .2s ease;text-decoration:none;white-space:nowrap}
.is-contact-story .psd-contact a .psd-contact-label{flex:none;font-size:inherit;line-height:1.2;font-weight:650;letter-spacing:-.01em;opacity:.85}
.is-contact-story .psd-contact a .psd-contact-value{flex:none;font-size:inherit;line-height:1.2;white-space:nowrap}
.is-contact-story .psd-contact a .psd-contact-arrow{position:absolute;right:0;bottom:2px;font:400 19px/1 Arial,sans-serif;transition:transform .2s cubic-bezier(.22,1,.36,1)}
.is-contact-story .psd-contact a:is(:hover,:focus-visible){color:#00ffba;border-bottom-color:#00ffba;text-decoration:none}
.is-contact-story .psd-contact a:is(:hover,:focus-visible) .psd-contact-arrow{transform:translate(2px,-2px)}
.is-contact-story .psd-contact a:focus-visible{outline:2px solid #00ffba;outline-offset:3px}
@media(max-width:700px){.is-contact-story .psd-contact>div{display:flex;flex-direction:column;align-items:stretch;gap:5px;transform:translateY(-10px)}.is-contact-story .psd-contact>div>span{display:none}.is-contact-story .psd-contact a{min-height:48px;width:100%;max-width:300px;font-size:clamp(10.5px,3vw,14px)}}
@media(prefers-reduced-motion:reduce){.is-contact-story .psd-contact a,.is-contact-story .psd-contact-arrow{transition:none!important}}

.svc-psd-heading h2{position:relative;width:max-content;max-width:100%;pointer-events:auto;cursor:pointer}
.svc-psd-heading h2:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:7px}
.svc-psd-heading h2.is-title-vibrating>span:not(.svc-title-selection){animation:svc-title-nudge .3s cubic-bezier(.22,1,.36,1) 1}
.svc-psd-heading.is-title-interactive h2.is-title-hovered>span:not(.svc-title-selection){opacity:.64;transition:opacity .18s ease 0s}
.svc-psd-heading h2>span:not(.svc-title-selection){transition:opacity .2s ease}
.svc-psd-heading:not(.is-title-interactive) h2{cursor:default}
@keyframes svc-title-nudge{0%,100%{translate:0 0}25%{translate:2px -1px}50%{translate:-2px 1px}75%{translate:1px 0}}
.svc-title-selection{position:absolute;z-index:4;inset:-8px;border:2px solid #168fff;box-sizing:border-box;pointer-events:none;opacity:var(--svc-box-opacity,0);transition:none}
.svc-title-selection i{position:absolute;width:11px;height:11px;box-sizing:border-box;background:#fff;border:2px solid #168fff;box-shadow:0 0 0 1px rgba(0,24,56,.8)}
.svc-title-selection i:nth-child(1){left:-6px;top:-6px}.svc-title-selection i:nth-child(2){left:calc(50% - 5px);top:-6px}.svc-title-selection i:nth-child(3){right:-6px;top:-6px}.svc-title-selection i:nth-child(4){right:-6px;top:calc(50% - 5px)}
.svc-title-selection i:nth-child(5){right:-6px;bottom:-6px}.svc-title-selection i:nth-child(6){left:calc(50% - 5px);bottom:-6px}.svc-title-selection i:nth-child(7){left:-6px;bottom:-6px}.svc-title-selection i:nth-child(8){left:-6px;top:calc(50% - 5px)}
.svc-psd-card .svc-psd-motion-shell{transition:opacity .26s ease}
.svc-psd-card.is-hover-held .svc-psd-motion-shell{opacity:.65}
.svc-psd-card.is-hover-held .svc-psd-panel-bg{opacity:1}
@media(prefers-reduced-motion:reduce){.svc-psd-heading h2.is-title-vibrating>span:not(.svc-title-selection){animation:none}.svc-psd-heading h2>span:not(.svc-title-selection){transition:none}.svc-title-selection{display:none}.svc-psd-card .svc-psd-motion-shell{transition:none}}

.svc-detail-panel{overflow:hidden}
.svc-detail-scroll{position:absolute;inset:0;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;padding:70px 5% 5%;scrollbar-gutter:stable;outline:none}
.svc-detail-close{z-index:2;top:clamp(10px,1.5vw,28px);right:clamp(10px,1.5vw,28px);width:58px;height:58px;font-size:0;transform-origin:center}
.svc-detail-close::before,.svc-detail-close::after{content:"";position:absolute;width:38px;height:1.5px;background:currentColor;left:10px;top:28px;transform:rotate(45deg)}
.svc-detail-close::after{transform:rotate(-45deg)}
.svc-detail-close:is(:hover,:focus-visible){opacity:1;animation:svc-close-wiggle .27s cubic-bezier(.22,1,.36,1) 1}
@keyframes svc-close-wiggle{0%,100%{translate:0 0;rotate:0deg}30%{translate:2px -1px;rotate:3deg}60%{translate:-2px 1px;rotate:-3deg}}
.svc-detail-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:700px){.svc-detail-panel{border-radius:16px}.svc-detail-close{width:48px;height:48px}.svc-detail-close::before,.svc-detail-close::after{width:32px;left:8px;top:23px}.svc-detail-scroll{padding:65px 6% 6%}}
@media(prefers-reduced-motion:reduce){.svc-detail-close:is(:hover,:focus-visible){animation:none}}

.s03-heading h2{top:573px;height:748px;color:#000;opacity:1}
@media(max-width:700px){.s03-heading h2{left:434px}}
