/* Shared, restrained interaction treatments. */
body :is(a,button,[role="button"]):focus-visible{outline:2px solid var(--paper);outline-offset:5px}
body :is(input,textarea):focus-visible{outline:1px solid var(--paper);outline-offset:5px}
body :is(nav a,.booking-page__back,.footer__bottom a):hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.video-badge{position:absolute;z-index:3;top:16px;left:16px;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(241,239,233,.6);background:rgba(9,9,9,.85);color:var(--paper);font:10px/1.2 'DM Mono',monospace;letter-spacing:.08em;pointer-events:none;transition:background .25s ease,color .25s ease}
:is(.work-card,.gallery-tile):is(:hover,:focus-visible) .video-badge{background:var(--paper);color:var(--ink)}
.booking-form__hint{margin:0;color:#bdbdb8;font-size:12px;line-height:1.5}
.booking-form [aria-invalid="true"]{border-color:#e6a79a}
.booking-form__submit:disabled{opacity:.65;cursor:wait}
.booking-form__status[data-state]{padding:16px;border:1px solid var(--line);font-size:13px;line-height:1.6}
.booking-form__status[data-state="success"]{background:rgba(241,239,233,.06);border-color:var(--paper)}
.booking-form__status strong{display:block;margin-bottom:8px;color:var(--paper);font:500 12px/1.4 'DM Mono',monospace;letter-spacing:.08em}
.booking-form__status span{display:block}
.booking-form__status[data-state="error"]{border-color:#e6a79a;color:#f0c8be}
@media(max-width:700px){
  .mobile-booking{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px) scale(.985);transition:opacity .48s var(--ease),transform .48s var(--ease),visibility 0s linear .48s}
  body.is-site-ready:not(.is-locked) .mobile-booking.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);transition-delay:.08s,.08s,0s}
  .mobile-booking:not(.is-visible),body:not(.is-site-ready) .mobile-booking,body.is-locked .mobile-booking{opacity:0;transform:translateY(16px) scale(.985)}
  body.is-locked .mobile-booking{transition:none}
  .video-badge{top:12px;left:12px;padding:7px 9px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){.mobile-booking,.video-badge{transition:none!important}.mobile-booking{transform:none!important}}
body.is-site-ready .site-header{opacity:1}
