/* Shared visitor footer. Opaque base hides the page's fixed decorative wordmark. */
body #bicen-site footer.corporate-footer,body footer.corporate-footer{position:relative;isolation:isolate;display:block;background:#161817!important;color:#d2d5d2;padding:0!important;margin-top:0!important;overflow:hidden;border:0;font-family:inherit;}
.corporate-footer *{box-sizing:border-box;}
.corporate-footer .footer-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%;opacity:.07;pointer-events:none;z-index:-1;}
.footer-inner{width:90%;margin:auto;padding:48px 0 24px;}
.footer-shine{position:relative;width:min(72%,850px);aspect-ratio:188/54;margin:0 auto;}
.footer-shine img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(.085) grayscale(1);}
.footer-shine span{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 28% 90% at var(--light-x,50%) var(--light-y,50%),#fff 0%,#9b9f9b 40%,transparent 75%);mask:url('/brand/wordmark.svg') center/contain no-repeat;-webkit-mask:url('/brand/wordmark.svg') center/contain no-repeat;opacity:0;transition:opacity .5s ease;}
@media(hover:hover){.footer-shine:hover span{opacity:.65;}}
.footer-columns{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:clamp(28px,5vw,90px);align-items:start;}
.corporate-footer .footer-logo{display:inline-flex;max-width:100%;margin-bottom:20px;}
.footer-logo img{width:188px;height:54px;object-fit:contain;}
body footer.corporate-footer h3{color:#fff;font:inherit;font-size:16px;font-weight:500;margin:0 0 18px;line-height:1.4;}
body footer.corporate-footer h3::after{content:'';display:block;width:24px;height:2px;margin-top:10px;background:#f4c400;opacity:1;}
.corporate-footer address{font-style:normal;font-size:15px;line-height:1.75;overflow-wrap:anywhere;}
body footer.corporate-footer a{color:inherit;text-decoration:none;font-size:15px;line-height:1.5;min-height:44px;display:flex;align-items:center;transition:color .2s ease;overflow-wrap:anywhere;}
body footer.corporate-footer a:hover,body footer.corporate-footer a:focus-visible{color:#f4c400!important;}
.corporate-footer a:focus-visible{outline:2px solid #f4c400;outline-offset:3px;border-radius:4px;}
.footer-directions{gap:8px;margin-top:8px;}
.footer-directions span{color:#f4c400;}
.footer-navigation nav{display:grid;gap:0;}
.corporate-footer .footer-phones a{font-size:18px;font-variant-numeric:tabular-nums;}
.footer-email{margin-top:8px;min-width:0;}
.footer-contact p{font-size:14px;line-height:1.7;margin:16px 0 0;}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px 28px;border-top:1px solid #ffffff24;margin-top:36px;padding-top:20px;}
.footer-bottom p{font-size:12px;line-height:1.6;margin:0;}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:4px 20px;}
body footer.corporate-footer .footer-bottom a{font-size:12px;}
.footer-social{display:flex;gap:8px;}
.footer-social a{width:44px;justify-content:center;}
.footer-social svg{width:20px;height:20px;flex:none;}
body footer.corporate-footer .footer-guide{font-size:11px;color:#acb3ac;width:fit-content;margin-top:8px;}
@media(max-width:767px){
 .footer-inner{width:auto;margin:0 20px;padding:28px 0 calc(28px + env(safe-area-inset-bottom));}
 .footer-columns{grid-template-columns:minmax(0,1fr);gap:20px;}
 .footer-shine{width:100%;}
 .corporate-footer .footer-logo{margin-bottom:16px;}
 .footer-navigation nav{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;}
 .corporate-footer .footer-photo{object-position:62% center;}
 body footer.corporate-footer h3{margin-bottom:12px;}
 .footer-bottom{margin-top:24px;padding-top:16px;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;}
 .footer-contact p{margin-top:12px;}
 .footer-email{overflow-wrap:anywhere;word-break:break-word;}
}
@media(prefers-reduced-motion:reduce){.footer-shine span,.corporate-footer a{transition:none!important;}}
/* Override legacy mobile footer anchor rules without affecting other links. */
.footer-phones{display:grid;grid-template-columns:minmax(0,1fr);}
body #bicen-site footer.corporate-footer a{display:flex;}
body #bicen-site footer.corporate-footer .footer-phones a{font-size:18px;}
body #bicen-site footer.corporate-footer .footer-bottom a{font-size:12px;}
body #bicen-site footer.corporate-footer .footer-guide{font-size:11px;}

/* The interactive wordmark is a separate stage above the photographic footer. */
.bicen-footer-wrap{position:relative;margin-top:0;background:#080a09;}
.bicen-logo-stage{position:relative;isolation:isolate;background:#080a09;padding:64px 5%;}
@media(max-width:767px){.bicen-footer-wrap{margin-top:0;}.bicen-logo-stage{padding:40px 20px;}}
body footer.corporate-footer .footer-pages-heading{margin-top:24px;}
/* Compact direct-call cards; one vertical stack on every screen. */
.bicen-call-cards{position:fixed;z-index:60;right:24px;bottom:24px;display:grid;gap:8px;width:184px;transition:opacity .18s ease,visibility .18s ease;}
.bicen-call-cards a{display:flex;align-items:center;gap:10px;justify-content:flex-start;min-height:46px;padding:10px 14px;border:1px solid #ffffff24;border-radius:10px;background:#161817f5;color:#f5f5f2;font-family:inherit;font-weight:400;font-size:13px;line-height:1.3;text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums;box-shadow:0 3px 14px #00000012;transition:background .18s ease,border-color .18s ease;}
.bicen-call-cards svg{width:16px;height:16px;flex:none;color:#e6bd35;}
.bicen-call-cards a:hover{background:#262a27;border-color:#e6bd3570;}
.bicen-call-cards a:focus-visible{outline:2px solid #f4c400;outline-offset:3px;}
.bicen-welcome-active .bicen-call-cards,.bicen-call-cards.is-footer-visible,body:has(.bicen-contact-page) .bicen-call-cards{opacity:0;visibility:hidden;pointer-events:none;}
@media(max-width:767px){
 .bicen-call-cards{left:auto;right:max(12px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:160px;gap:8px;}
 .bicen-call-cards a{min-height:44px;padding:10px 12px;gap:9px;font-size:12px;border-radius:9px;}
 .bicen-call-cards svg{width:15px;height:15px;}
}
@media(prefers-reduced-motion:reduce){.bicen-call-cards,.bicen-call-cards a{transition:none;}}

/* The three direct phone cards replace the old floating contact trigger. */
.nav-container.svelte-9pkgjn{display:none!important;}


.bicen-call-cards .call-order{flex:none;font-size:10px;line-height:1;color:#bfc4bd;min-width:6px;}
.bicen-call-cards a{gap:8px;}
@media(max-width:767px){.bicen-call-cards a{gap:7px;padding-inline:10px;}}

/* A restrained hierarchy: identity, useful links and direct contact. */
.footer-inner{max-width:1440px;}
.footer-identity address{max-width:31ch;color:#bcc2bc;}
.footer-navigation nav{row-gap:3px;}
.footer-contact p{max-width:30ch;color:#aeb6ae;}
.footer-email{font-size:14px!important;}
.footer-bottom{border-top-color:#ffffff16;}
.footer-bottom p,.footer-bottom nav{color:#aeb6ae;}
@media(max-width:767px){
 .footer-columns{gap:28px;}
 .footer-identity{padding-bottom:20px;border-bottom:1px solid #ffffff16;}
 .footer-navigation nav{gap:4px 20px;}
 .footer-contact{padding-top:20px;border-top:1px solid #ffffff16;}
 .footer-contact p{max-width:none;}
 .footer-bottom{margin-top:28px;gap:12px;}
 .footer-bottom nav{gap:8px 20px;}
}

/* Small linked location preview; the map never captures page scrolling. */
body footer.corporate-footer .footer-address-link{display:block;line-height:1.75;font-size:15px;}
.footer-map{position:relative;width:100%;max-width:320px;height:160px;margin-top:18px;overflow:hidden;border:1px solid #ffffff24;border-radius:8px;background:#e5e7e1;}
.footer-map iframe{display:block;width:100%;height:100%;border:0;pointer-events:none;}
body footer.corporate-footer .footer-map>a{position:absolute;inset:0;display:block;color:#fff;}
.footer-map>a>span{position:absolute;right:10px;top:10px;display:flex;gap:8px;align-items:center;padding:6px 9px;background:#161817ed;border:1px solid #ffffff24;border-radius:5px;font-size:11px;line-height:1.4;}
.footer-map>a>span>span{color:#f4c400;}
body footer.corporate-footer .footer-map>a:focus-visible{outline-offset:-3px;}
@media(max-width:767px){.footer-map{max-width:100%;height:150px;margin-top:16px;}}

/* A stationary logo mask with a gently wandering flashlight on touch screens. */
@keyframes bicen-flashlight {
  0%,100%{background-position:94% 58%;}
  28%{background-position:12% 42%;}
  53%{background-position:40% 62%;}
  76%{background-position:83% 38%;}
}
@media(max-width:800px),(hover:none) {
 .footer-shine span{
  background-image:radial-gradient(ellipse 19% 40% at center,#fff 0%,#d7d8d0 22%,#777d77 46%,transparent 76%);
  background-size:200% 200%;background-repeat:no-repeat;background-position:94% 58%;
  opacity:.72;animation:bicen-flashlight 12s cubic-bezier(.45,0,.55,1) infinite;
  animation-play-state:paused;
 }
 .footer-shine.is-light-active span{animation-play-state:running;}
}
@media(prefers-reduced-motion:reduce){
 .footer-shine span{animation:none!important;}
}

/* Shared communication channels on every visitor footer. */
.footer-contact-channels{display:block;}
.footer-navigation .footer-contact-channels nav{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;}
body footer.corporate-footer .footer-contact-channels a{gap:12px;padding:10px 0;min-height:56px;}
.footer-contact-channels svg{width:22px;height:22px;flex:none;fill:none;stroke:#f4c400;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.footer-contact-channels span{min-width:0;}
.footer-contact-channels small{display:block;font-size:12px;line-height:1.6;color:#b4b9b4;overflow-wrap:anywhere;}

.footer-contact-channels svg.footer-whatsapp-logo{fill:#f4c400;stroke:none;}

.corporate-footer img.footer-app-logo{display:block;width:22px;height:22px;object-fit:contain;flex:none;}

.corporate-footer .footer-phones a{gap:10px;}
.footer-phone-order{width:12px;flex:0 0 12px;font-size:12px;color:#f4c400;text-align:center;}
.footer-phone-icon{width:20px;height:20px;flex:0 0 20px;fill:#f4c400;}

/* Detail heroes provide the shared contact dialog instead of floating phones. */
body:has(.bicen-service-hero) .bicen-call-cards{display:none;}

/* A single entry into the existing contact dialog replaces the phone stack. */
.bicen-footer-wrap .bicen-call-cards{width:auto;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));}
.floating-contact-trigger{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 18px;background:#f4c400;color:#161817;border:1px solid #f4c400;border-radius:12px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #0002;}
.floating-contact-trigger svg{color:currentColor;width:18px;height:18px;}
.floating-contact-trigger:hover{background:#ffda38;}
.floating-contact-trigger:focus-visible{outline:2px solid #fff;outline-offset:4px;}
html.mobile-drawer-open .bicen-call-cards{visibility:hidden;pointer-events:none;}
/* The former spotlight stage is now a quiet, fully visible brand signature. */
body .bicen-logo-stage{background:#f4c400;padding:clamp(24px,4vw,56px) 5%;}
.bicen-logo-stage .footer-shine{width:min(70%,800px);}
.bicen-logo-stage .footer-shine img{filter:none;opacity:1;}
.bicen-logo-stage .footer-shine span{display:none;animation:none!important;}
.footer-address-link{gap:10px;align-items:flex-start!important;}
.footer-address-icon{width:22px;height:22px;flex:none;margin-top:4px;filter:none;}
body #bicen-site .home-site-summary{margin:0!important;padding:72px 5vw;background:#161817;color:#fff;display:grid;grid-template-columns:1fr 1.3fr;gap:48px;}
.home-site-summary h2{font-size:clamp(26px,3vw,40px);line-height:1.15;margin:0 0 20px;}
.home-site-summary p{font-size:16px;line-height:1.7;color:#c4cac4;max-width:460px;}
.home-site-summary nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.home-site-summary a{display:flex;flex-direction:column;padding:22px;border:1px solid #ffffff25;border-radius:8px;color:#fff;gap:8px;text-decoration:none;}
.home-site-summary a:hover{border-color:#f4c400;background:#ffffff06;}
.home-site-summary a span{font-size:13px;line-height:1.5;color:#bac2ba;}
body:has(.bicen-reviews) .bicen-footer-wrap{padding-top:clamp(64px,8vw,110px);}
.inline-contact-trigger{border:0;background:#f4c400;color:#161817;padding:15px 24px;border-radius:7px;min-height:48px;font:inherit;font-weight:600;cursor:pointer;}
.inline-contact-trigger:focus-visible{outline:3px solid #9e7900;outline-offset:4px;}
@media(max-width:767px){body #bicen-site .home-site-summary{grid-template-columns:1fr;padding:36px 20px;gap:24px;}.home-site-summary nav{gap:10px;}.home-site-summary a{padding:16px;}.bicen-logo-stage .footer-shine{width:100%;}}

.home-site-summary nav a{justify-content:center;min-height:64px;gap:0}.home-site-summary h2{margin-bottom:0}.home-site-summary>div{align-self:center}

/* Explicit contrast independent of the scroll theme. */
body #bicen-site .home-site-summary :is(h2,strong,a){color:#fff!important;}

.bicen-call-cards:not(.is-contact-ready){opacity:0;visibility:hidden;pointer-events:none}

/* Compact shared mobile footer, retaining readable contact links and touch areas. */
@media(max-width:767px){
 body footer.corporate-footer .footer-inner{margin:0 16px;padding:24px 0 calc(18px + env(safe-area-inset-bottom));}
 .corporate-footer .footer-columns{gap:18px;}
 .corporate-footer .footer-identity{padding-bottom:16px;}
 .corporate-footer .footer-logo{margin-bottom:10px;}
 .corporate-footer .footer-logo img{width:156px;height:45px;}
 body footer.corporate-footer .footer-address-link{font-size:14px;line-height:1.55;}
 .corporate-footer .footer-identity address{max-width:none;}
 .corporate-footer .footer-map{height:112px;margin-top:12px;}
 body footer.corporate-footer h3{font-size:15px;margin-bottom:10px;}
 body footer.corporate-footer h3:after{margin-top:7px;}
 .corporate-footer .footer-navigation .footer-contact-channels nav{gap:2px;}
 body footer.corporate-footer .footer-contact-channels a{min-height:48px;padding:5px 0;gap:10px;font-size:14px;}
 .corporate-footer .footer-contact{padding-top:16px;}
 .corporate-footer .footer-phones{gap:2px 12px;}
 body #bicen-site footer.corporate-footer .footer-phones a{min-height:44px;font-size:15px;gap:7px;white-space:nowrap;}
 .corporate-footer .footer-phone-icon{width:17px;height:17px;}
 .corporate-footer .footer-phone-order{width:9px;flex-basis:9px;}
 .corporate-footer .footer-contact p{font-size:12px;line-height:1.6;margin-top:8px;}
 .corporate-footer .footer-bottom{margin-top:18px;padding-top:12px;gap:4px;}
 .corporate-footer .footer-bottom nav{gap:0 14px;}
}
@media(min-width:360px) and (max-width:767px){
 .corporate-footer .footer-phones{grid-template-columns:repeat(2,minmax(0,1fr));}
 body #bicen-site footer.corporate-footer .footer-phones a{font-size:13px;gap:5px;}
}
