/* Hover animates artwork inside a stable hit area, never the control's bounds. */
.hb-interactive{position:relative;isolation:isolate;--hb-line:0;user-select:none}
.hb-interactive>*{pointer-events:none}
.button.hb-interactive:hover,.round-button.hb-interactive:hover,.back-top.hb-interactive:hover{transform:none}
.hb-solid{overflow:hidden}
.hb-interactive .hb-fill{position:absolute;pointer-events:none;z-index:-1;inset:-90% -25%;border-radius:50%;transform:translateY(105%)}
.hb-fill-gold{background:#efba72}
.hb-fill-red{background:#c93018}
.hb-interactive:not(.hb-solid) .hb-fill{display:none}
.hb-interactive .hb-label{display:inline;position:relative;font:inherit;letter-spacing:inherit;line-height:inherit}
.hb-interactive .hb-word{display:inline-block;position:relative;overflow:hidden;vertical-align:bottom;line-height:1.45}
.hb-interactive .hb-word-track{display:block;position:relative}
.hb-interactive .hb-word-copy{position:absolute;left:0;top:120%;white-space:nowrap}
.hb-interactive .hb-arrow{position:relative;display:inline-block;overflow:hidden;flex-shrink:0;width:1.2em;height:1.2em;font-size:23px;line-height:1.2;text-align:center;vertical-align:middle;transform:none!important}
.hb-interactive .hb-arrow-track{display:block;position:relative;width:100%;height:100%}
.hb-interactive .hb-arrow-copy{position:absolute;inset:0}
.header-cta.hb-interactive .hb-arrow{display:grid;place-items:center;width:36px;height:36px;background:var(--red);border-radius:50%;line-height:36px}
.header-cta.hb-interactive .hb-label{width:auto;height:auto;background:none;border-radius:0;white-space:nowrap;transform:none;font:inherit}
.header-cta.hb-interactive .hb-fill{display:none}
.text-link.hb-interactive:hover>span{transform:none}
.text-link.hb-interactive::after,.contact-option.hb-interactive::after{content:'';position:absolute;height:2px;bottom:-1px;left:0;right:0;background:var(--red);transform:scaleX(var(--hb-line));transform-origin:left;pointer-events:none}
.contact-option.hb-interactive .hb-label{display:block}
.button.hb-interactive{transition:background .25s}
.button-cream.hb-interactive:hover{background:var(--cream)}
.button-dark.hb-interactive:hover{background:var(--ink)}
.round-button.hb-interactive,.back-top.hb-interactive{display:inline-flex;align-items:center;justify-content:center}
.hb-interactive:focus-visible{outline:2px solid #e6a650;outline-offset:5px}
.button.hb-interactive:focus-visible{box-shadow:inset 0 0 0 3px #e6a650}
@media(pointer:coarse){.hb-interactive:active{filter:brightness(.85)}}
@media(prefers-reduced-motion:reduce){.hb-interactive,.hb-interactive *{transition:none!important}}
/* Explicit SVG icons share the same bounds before and after motion initialization. */
.button>svg,.text-link>svg,.button>span[aria-hidden]>svg,.text-link>span[aria-hidden]>svg,.header-cta>span[aria-hidden]>svg,.contact-option>span[aria-hidden]>svg{display:block;width:20px;height:20px;flex-shrink:0}
.header-cta>span[aria-hidden]{display:grid;place-items:center}
.hb-interactive .hb-arrow-track,.hb-interactive .hb-arrow-copy{display:grid;place-items:center}
.hb-interactive .hb-arrow svg{display:block;width:20px;height:20px;flex-shrink:0}
.dialog-close,.shortlist-item [data-remove]{display:inline-flex;align-items:center;justify-content:center}
.dialog-close>svg,.shortlist-item [data-remove]>svg,.product-add>svg,.back-top>svg,.round-button>svg{display:block;width:20px;height:20px;flex-shrink:0}
.product-add{display:inline-grid;place-items:center}
.footer-email,#film-external{display:inline-flex;gap:8px;align-items:center}
.footer-email>svg,#film-external>svg,.usp-arrow>svg,.scroll-icon>svg,.product-hover>svg{display:block;width:20px;height:20px;flex-shrink:0}
.intro-star>svg,.huge-asterisk>svg{display:block;width:70px;height:70px}
.ticker b>svg{display:inline-block;width:30px;height:30px;vertical-align:middle}
@media(max-width:760px){.intro-star>svg,.huge-asterisk>svg{width:50px;height:50px}}
.tiny-star>svg{display:block;width:22px;height:22px}.orbit-label>svg{display:inline-block;width:12px;height:12px;vertical-align:middle}
