/* Shape icons render consistently without relying on a platform emoji font. */
.ui-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.125em;overflow:visible;pointer-events:none}
.cta .ui-icon{width:16px;height:16px}
.cta>span:has(.ui-icon),.service-label a>span,.case-link>span,.work-open>b,.footer-contact a>span,.about-service-grid h3>span{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex:none}
.launch-play,.work-play,.case-reel-play{text-indent:0;line-height:0;display:grid;place-items:center;padding:0}
.launch-play .ui-icon,.work-play .ui-icon,.case-reel-play .ui-icon{display:block;width:20px;height:20px}
.monthly-grid .launch-play .ui-icon{width:16px;height:16px}
.monthly-viewer-close{display:grid;place-items:center;padding:0;line-height:0;-webkit-appearance:none;appearance:none}
.monthly-viewer-close .ui-icon{display:block;width:22px;height:22px}
#ob-book .ob-x{padding:0;-webkit-appearance:none;appearance:none}
#ob-book .ob-x .ui-icon{width:20px;height:20px}
#ob-book .ob-opt .arr,#ob-book .ob-btn .material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex:none}
#ob-book .ob-back{display:inline-flex;align-items:center;gap:8px}
#ob-book .ob-done-ico .ui-icon{width:32px;height:32px}
@media(max-width:650px){.header>.cta{gap:12px}.header>.cta .ui-icon{width:14px;height:14px}}
