.ost-space-host{position:relative;isolation:isolate}
.ost-space-field,.ost-space-field *,.ost-space-art,.ost-space-art *{box-sizing:border-box;pointer-events:none!important;user-select:none}
.ost-space-field{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:inherit;contain:paint}
.ost-space-star{position:absolute;display:block;color:#df9a3d;width:var(--size,15px);height:var(--size,15px);opacity:.4;animation:ostSpaceTwinkle var(--duration,7s) ease-in-out var(--delay,0s) infinite;transform-origin:center}
.ost-space-star svg{display:block;width:100%;height:100%;fill:currentColor}
.ost-space-star:nth-child(3n){color:#aa98cb;animation-name:ostSpaceRotate;animation-duration:24s}
.ost-space-star:nth-child(4n){color:#efbf59}
.ost-space-meteor{position:absolute;top:18px;left:64%;width:120px;height:2px;opacity:0;background:linear-gradient(90deg,transparent,#f0b957);border-radius:50%;transform:rotate(142deg);animation:ostSpaceMeteor 19s ease-out var(--delay,4s) infinite}
.ost-space-meteor:after{content:"";position:absolute;right:0;top:-2px;width:6px;height:6px;border-radius:50%;background:#ffd481;box-shadow:0 0 12px #f8bd5c}
.ost-space-dark .ost-space-star{color:#ffe0a1;opacity:.65}
.ost-space-off *,.ost-space-away *{animation-play-state:paused!important}
.ost-space-toggle{display:inline-flex;align-items:center;gap:6px;background:#fff6e8;border:1px solid #e5c8a6;border-radius:999px;padding:8px 12px;font-family:inherit;font-size:12px;line-height:1.4;color:#764421;cursor:pointer;min-height:36px;text-decoration:none;margin:10px 0}
.ost-space-toggle:hover{background:#ffead1;color:#61320f}
.ost-space-toggle:focus-visible{outline:3px solid #c64b00;outline-offset:3px}
#ost-footer-section .ost-space-toggle{background:#ffffff09;color:#eee5f6;border-color:#ffffff36;margin-left:10px}
@keyframes ostSpaceTwinkle{0%,100%{opacity:.18;transform:scale(.8) rotate(-8deg)}50%{opacity:.65;transform:scale(1.1) rotate(8deg)}}
@keyframes ostSpaceRotate{0%{transform:rotate(0);opacity:.25}50%{opacity:.6}100%{transform:rotate(360deg);opacity:.25}}
@keyframes ostSpaceMeteor{0%,72%,100%{opacity:0;transform:translate(0,0) rotate(142deg)}74%{opacity:.7}84%{opacity:0;transform:translate(-260px,180px) rotate(142deg)}}
@keyframes ostSpaceBob{0%,100%{transform:translateY(3px) rotate(-4deg)}50%{transform:translateY(-5px) rotate(4deg)}}
@keyframes ostSpaceWiggle{0%,100%{transform:translateY(4px) rotate(5deg)}50%{transform:translateY(-5px) rotate(-5deg)}}
@keyframes ostSpaceSaucer{0%,100%{transform:translate(0,0) rotate(-3deg)}35%{transform:translate(8px,-5px) rotate(5deg)}70%{transform:translate(-5px,2px) rotate(-5deg)}}
/* Characters belong to content, never an isolated full-width spacer. */
.ost-space-integrated.ost-space-integrated{display:grid!important;grid-template-columns:minmax(0,1fr) 176px!important;align-items:center!important;gap:24px!important;max-width:1120px!important;text-align:left!important;min-width:0;position:relative}
.ost-space-integrated.ost-space-left{grid-template-columns:176px minmax(0,1fr)!important}
.ost-space-integrated.ost-space-small{--ost-duo-size:130px;grid-template-columns:minmax(0,1fr) 130px!important}
.ost-space-integrated.ost-space-small.ost-space-left{grid-template-columns:130px minmax(0,1fr)!important}
.ost-space-integrated.ost-space-large{--ost-duo-size:224px;grid-template-columns:minmax(0,1fr) 224px!important}
.ost-space-copy{min-width:0;position:relative;z-index:1;grid-column:1;grid-row:1}
.ost-space-art{width:var(--ost-duo-size,176px);max-width:100%;aspect-ratio:1;grid-column:2;grid-row:1;position:relative;min-width:0;pointer-events:none!important}
.ost-space-left>.ost-space-art{grid-column:1}
.ost-space-left>.ost-space-copy{grid-column:2}
.ost-space-duo{display:block!important;width:100%!important;height:100%!important;object-fit:contain;animation:ostSpaceBob 9s ease-in-out infinite;pointer-events:none!important}
.ost-space-duo[data-character=orange-alien]{animation-name:ostSpaceSaucer;animation-duration:13s}
.ost-space-duo[data-character=orange-fox]{animation-name:ostSpaceWiggle;animation-duration:11s}
.ost-space-copy>p:last-child{margin-bottom:0}
@media(max-width:720px){
 .ost-space-integrated.ost-space-integrated{grid-template-columns:minmax(0,1fr) 78px!important;gap:12px!important}
 .ost-space-integrated.ost-space-left{grid-template-columns:78px minmax(0,1fr)!important}
 .ost-space-art{width:78px;align-self:start;margin-top:12px}
 .ost-space-integrated.ost-space-large{grid-template-columns:minmax(0,1fr) 88px!important}
 .ost-space-large>.ost-space-art{width:88px}
 .ost-space-field .ost-space-star:nth-child(n+7){display:none}
 .ost-space-field .ost-space-meteor{display:none}
 .ost-space-star{max-width:13px;max-height:13px}
}
@media(max-width:420px){
 .ost-space-integrated.ost-space-integrated{display:block!important}
 .ost-space-copy{display:contents}
 .ost-space-art{float:right;width:74px;margin:0 0 4px 12px}
 .ost-space-integrated.ost-space-integrated{display:flow-root!important}
 .ost-space-integrated>.ost-space-art{display:block}
 /* Compact companions float within existing text rather than creating a new row. */
}
@media(prefers-reduced-motion:reduce){.ost-space-field *,.ost-space-art *{animation:none!important}.ost-space-meteor{display:none!important}.ost-space-star{opacity:.35}.ost-space-toggle{display:none!important}}

/* Site-wide presentation preference: hide motion controls; keep reduced-motion behavior. */
button.ost-motion-toggle,
button.ost-problem-motion-toggle,
button.ost-service-motion,
button.ost-why-motion,
button.ost-portfolio-motion,
button.ost-process-motion,
button.ost-target-motion,
button.ost-final-motion,
button.ost-footer-motion,
button.ost-about-motion,
button.ost-services-motion,
button.ost-team-motion,
button.ost-space-toggle{display:none!important}
