/* Call and booking controls matched to the supplied visual reference. */
body .reference-call,body .nav .reference-call,body .mobilebar>.reference-call{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#f4858b 0%,#df4852 22%,#bd1526 55%,#9b0617 76%,#65000b 100%);color:#fff;border:1px solid #9b2534;border-radius:999px;box-shadow:inset 0 2px 1px #ffd6d9,inset 0 -4px 5px #63000d90,0 8px 18px #9f182c40;text-shadow:0 2px 2px #4e000b70;font-weight:800;letter-spacing:.1px;min-height:56px;padding:15px 24px;line-height:1.2;transform:none}
body .reference-call:hover,body .nav .reference-call:hover,body .mobilebar>.reference-call:hover{background:linear-gradient(180deg,#f6949a,#d73042 35%,#a50b20 70%,#70000f);color:white;box-shadow:inset 0 2px 1px #ffe0e3,0 8px 18px #9f182c45;transform:none}
.reference-call svg,.reference-book svg{flex-shrink:0}.reference-call>span{white-space:nowrap}
body .hero .reference-actions{display:grid;grid-template-columns:1fr;gap:16px;margin-top:10px}.hero .reference-actions .btn{width:100%;font-size:1.12rem;min-height:64px}
body .hero .actions .reference-book{display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;color:#123f76;border:2px solid #174c87;border-radius:999px;font-weight:800;box-shadow:0 5px 14px #142e3b0c;text-shadow:none}
body .hero .actions .reference-book:hover{background:#eef5fc;color:#123f76;border-color:#123f76;box-shadow:none}
body .nav .reference-call{font-size:.93rem;padding:14px 22px;min-height:50px}.navlinks{gap:20px}
.availability-dot{display:inline-block;width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#19c38a;box-shadow:0 0 0 3px #19c38a20}
@media(max-width:650px){
body .nav{gap:12px}.nav .brand img{width:125px}body .nav .reference-call{min-height:43px;font-size:clamp(.62rem,2.65vw,.8rem);gap:5px;padding:10px 11px}.nav .reference-call svg{width:15px;height:15px}.nav-contact .live-clock{font-size:.65rem}body .hero .reference-actions .btn{min-height:58px;font-size:1rem;padding:15px 14px}
body .reference-bar{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:fixed;bottom:0;left:0;right:0;z-index:30;padding:12px 12px max(12px,env(safe-area-inset-bottom));background:#07182f;border-top:1px solid #ffffff20;box-shadow:0 -4px 18px #06152d25}
body .mobilebar>.reference-call,body .mobilebar>.reference-book{min-height:48px;padding:11px 8px;font-size:clamp(.7rem,3vw,.9rem);gap:6px;border-radius:999px;font-weight:800;width:100%;margin:0;white-space:nowrap}
body .mobilebar>.reference-book{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#1767b6,#07468d 52%,#03316b);color:#fff;border:1px solid #9bbfe6;box-shadow:inset 0 2px 0 #ffffff55;text-shadow:0 1px 1px #001d45}
body .mobilebar>.reference-book:hover{background:#124d8e;color:#fff}.reference-bar svg{width:18px;height:18px}.reference-bar .availability-dot{width:8px;height:8px;flex-basis:8px}footer{padding-bottom:110px}}
@media(max-width:360px){.nav .brand img{width:105px}body .nav .reference-call{padding:10px 8px;font-size:.63rem}.reference-bar{gap:8px}}
/* Override the older high-specificity CTA skins only on these requested controls. */
body a.btn.reference-call{background:linear-gradient(180deg,#f4858b 0%,#df4852 22%,#bd1526 55%,#9b0617 76%,#65000b 100%)!important;color:#fff!important;border:1px solid #9b2534!important;border-radius:999px!important;box-shadow:inset 0 2px 1px #ffd6d9,inset 0 -4px 5px #63000d90,0 8px 18px #9f182c40!important;text-shadow:0 2px 2px #4e000b70!important}
/* Slow light pulses and moving reflections from the supplied recording. */
body a.btn.reference-call{position:relative;isolation:isolate;overflow:hidden}
body a.btn.reference-call>span,body a.btn.reference-call>svg{position:relative;z-index:2}
body a.btn.reference-call::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#ffffff08 38%,#ffffff60 49%,#ffffff12 59%,transparent 72%);transform:translateX(-130%);z-index:1}
body a.btn.reference-call::after{content:"";display:block!important;position:absolute;inset:3px;border-radius:inherit;border:2px solid #ffbec580;background:transparent;pointer-events:none;z-index:1;opacity:0}
@keyframes call-reflection{0%,55%{transform:translateX(-130%)}85%,100%{transform:translateX(130%)}}
@keyframes call-halo{0%,100%{filter:drop-shadow(0 0 2px #d8273a20)}50%{filter:drop-shadow(0 0 10px #ed344f80)}}
@keyframes call-inner-pulse{0%,100%{opacity:0}48%{opacity:.65}70%{opacity:0}}
@keyframes available-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 #1ac68c50}55%{opacity:.6;box-shadow:0 0 0 7px #1ac68c00}}
@media(prefers-reduced-motion:no-preference){
body a[href^="tel:"].reference-call{animation:call-halo 2.8s ease-in-out infinite!important}
body a.btn.reference-call::before{animation:call-reflection 4.8s ease-in-out infinite}
body a.btn.reference-call::after{animation:call-inner-pulse 2.8s ease-in-out infinite}
body .availability-dot,body header .live-clock .clock-dot{animation:available-pulse 2.4s ease-in-out infinite!important}
body .nav .reference-call::before{animation-delay:.5s}
body .mobilebar .reference-call::before{animation-delay:1s}
}
@media(prefers-reduced-motion:reduce){body a[href^="tel:"].reference-call,body .availability-dot,body header .live-clock .clock-dot{animation:none!important;filter:none}body a.btn.reference-call::before,body a.btn.reference-call::after{display:none!important;animation:none!important}}
