.booking{position:relative;inset:auto;display:inline-flex;align-items:center;justify-content:center;gap:17px;isolation:isolate;overflow:hidden;padding:15px 27px;border:1px solid #161616;border-radius:30px;background:linear-gradient(160deg,#484644 0%,#272625 45%,#171717 100%);box-shadow:inset 0 1px 0 #ffffff40,inset 0 -1px 0 #00000055,0 3px 5px #1a1a1a13,0 9px 21px #1a1a1a20;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,filter .3s ease}
.booking::before{content:'';position:absolute;inset:-50% -70%;z-index:-1;background:linear-gradient(110deg,transparent 37%,#ffffff00 42%,#ffffff27 50%,#ffffff00 58%,transparent 63%);transform:translateX(-65%);transition:transform .7s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.booking{animation:button-glow 4s ease-in-out infinite}
.booking::before{animation:button-sheen 7s ease-in-out infinite;animation-delay:1s}
@keyframes button-glow{0%,100%{box-shadow:inset 0 1px 0 #ffffff40,inset 0 -1px 0 #00000055,0 3px 5px #1a1a1a13,0 9px 21px #1a1a1a20,0 0 0 0 #b5a89200}50%{box-shadow:inset 0 1px 0 #ffffff66,inset 0 -1px 0 #00000044,0 4px 9px #1a1a1a1c,0 12px 30px #1a1a1a30,0 0 25px 5px #b5a89230}}
@keyframes button-sheen{0%,68%{transform:translateX(-65%)}88%,100%{transform:translateX(65%)}}
.booking:hover,.booking:focus-visible{transform:translateY(-3px);filter:brightness(1.1);box-shadow:inset 0 1px 0 #ffffff55,0 5px 8px #1a1a1a15,0 15px 28px #1a1a1a2b}
.booking:hover::before,.booking:focus-visible::before{transform:translateX(65%)}
.booking:active{transform:translateY(0) scale(.98);box-shadow:inset 0 1px 0 #ffffff30,0 3px 8px #1a1a1a20}
.booking:focus-visible,.newsletter.capsule form button:focus-visible{border-radius:30px}
.booking{position:fixed;right:max(30px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));z-index:20;color:#faf8f4;font:400 17px/1.6 Zen,sans-serif;cursor:pointer}
@font-face{font-family:BookingGothic;src:url("/assets/preview/agency-20261004/portfolio/button-fonts/URWGothic-Book.otf");font-weight:400;font-display:swap}
.booking{font-family:BookingGothic,sans-serif;font-size:18px;font-weight:400;line-height:1.2}
.directory main{padding-bottom:120px}
.booking-dialog{background:#faf8f4;color:#1a1a1a;border:1px solid #1a1a1a26;border-radius:18px;max-width:380px;width:calc(100% - 40px);padding:32px;box-shadow:0 24px 80px #1a1a1a2b}
.booking-dialog::backdrop{background:#1a1a1a30;backdrop-filter:blur(5px)}
.booking-dialog p{margin:0 0 20px}.booking-dialog button{display:block;margin-top:25px;background:none;border:1px solid #1a1a1a44;border-radius:24px;padding:8px 20px;cursor:pointer}
.booking:focus-visible{outline:2px solid #6a645b;outline-offset:5px}
@media(max-width:700px){.booking{right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));padding:14px 24px}}
@media(prefers-reduced-motion:reduce){.booking,.booking::before{animation:none!important;transition:none!important}.booking:hover,.booking:active{transform:none}.booking::before{display:none}}
@font-face{font-family:BookingMono;src:url("/assets/preview/agency-20261004/portfolio/button-fonts/JetBrainsMono-Regular.ttf");font-weight:400;font-display:swap}
.booking{font-family:BookingMono,monospace;font-size:16px;font-weight:400;line-height:1.2;filter:drop-shadow(0 10px 14px #1a1a1a50);transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s ease,box-shadow .45s ease}
.booking:hover,.booking:focus-visible{filter:brightness(1.08) drop-shadow(0 15px 20px #1a1a1a60)}
.booking-dialog{font-family:Zen,system-ui,sans-serif;line-height:1.6}
body > .booking{position:fixed;top:auto;left:auto;right:max(30px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));z-index:50;margin:0}
.site-foot{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
.booking:has(.booking-avatar){display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:10px 26px 10px 10px;min-height:62px;border-radius:40px}
.booking .booking-avatar-frame{display:block;flex:0 0 32.4px;width:32.4px;height:32.4px;border-radius:50%;overflow:hidden}
.booking .booking-avatar{display:block;width:32.4px;height:32.4px;border:0;border-radius:50%;object-fit:cover;object-position:center;transform:scale(1.2);transform-origin:center;box-shadow:none}
.booking > span:not(.booking-avatar-frame){display:block;line-height:1.2}
@media(max-width:700px){body > .booking{right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}}
