/* Approved V2 dark design: discreet icon-only contacts and layered scroll motion.
   Loaded LAST, so V1/V3 and the existing photographic layout are untouched. */
:root{--v2-parallax:0px;--v2-photo-pan:0px}
.v2-quick-contact{background:#101720!important;color:#ecf0f6!important;border-bottom:1px solid #ffffff21;z-index:105}
.v2-quick-icons{display:flex;align-items:center;justify-content:flex-end;gap:11px;min-height:47px;padding-block:6px}
.v2-contact-actions{display:flex!important;gap:12px;align-items:center!important;flex-wrap:wrap;margin:16px 0 6px}
.contact-icon-link{position:relative;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto;width:44px;height:44px;padding:0!important;margin:0!important;border-radius:13px!important;border:1px solid #ffffff2b;text-decoration:none!important;box-shadow:0 8px 23px #0003;background:#26303d;color:#fff!important;line-height:1!important;overflow:hidden;isolation:isolate;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s,filter .35s}
.contact-icon-link.icon-wa{background:#139e5b;border-color:#48d19a75}
.contact-icon-link.icon-mail{background:linear-gradient(135deg,#c92644,#e84a60);border-color:#fb95a365}
.contact-icon-link.icon-phone{background:#264a72;border-color:#77b5fa57}
.contact-icon-link:before{content:"";position:absolute;inset:0;transform:translateX(-150%) skewX(-25deg);background:linear-gradient(110deg,transparent,#ffffff40,transparent);transition:transform .55s;pointer-events:none}
.contact-icon-link:hover:before,.contact-icon-link:focus-visible:before{transform:translateX(150%) skewX(-25deg)}
.contact-icon-link:hover,.contact-icon-link:focus-visible{transform:translateY(-6px) scale(1.075)!important;box-shadow:0 15px 28px #0006;filter:brightness(1.14);border-color:#fff9}
.contact-icon-link svg,.v2-contact-actions .contact-icon-link svg,.foot-contact .v2-contact-actions svg,.contact-facts .v2-contact-actions svg{display:block!important;margin:0!important;width:22px!important;height:22px!important;flex:none;color:#fff!important;stroke-width:1.8}
.v2-quick-icons .contact-icon-link{width:37px;height:37px;border-radius:11px}
.v2-quick-icons .contact-icon-link svg{width:20px!important;height:20px!important}
.v2-contact-actions-panel{padding:14px 0 5px!important;border:0!important;box-shadow:none!important;background:transparent!important;gap:12px!important}
.contact-panel .v2-contact-actions-panel{border-top:1px solid var(--line)!important;margin-top:10px;padding-top:20px!important}
.contact-facts .v2-contact-actions-panel{align-items:center!important;min-height:72px}
.foot-contact .v2-contact-actions{margin:18px 0 20px;gap:9px}
.foot-contact .contact-icon-link{width:41px;height:41px;border-radius:12px}
.foot-contact .contact-icon-link svg{width:21px!important;height:21px!important}
.social-ornaments{gap:11px!important;margin-top:23px!important}
.social-ornaments .social-icon{height:42px;width:42px;border-radius:12px;box-shadow:0 9px 19px #0004;transition:transform .35s ease,filter .35s ease,box-shadow .35s ease;animation:v2SocialFloat 4.3s ease-in-out infinite;animation-delay:calc(var(--v2-i,0)*-.47s)}
.social-ornaments .social-icon:nth-child(2){--v2-i:1}.social-ornaments .social-icon:nth-child(3){--v2-i:2}.social-ornaments .social-icon:nth-child(4){--v2-i:3}.social-ornaments .social-icon:nth-child(5){--v2-i:4}.social-ornaments .social-icon:nth-child(6){--v2-i:5}
.social-ornaments .social-icon:hover{transform:translateY(-5px) rotate(-4deg);filter:brightness(1.2);box-shadow:0 16px 24px #0005}
.social-ornaments .social-icon svg{width:23px;height:23px}
.v2-quick-icons .contact-icon-link svg,.v2-contact-actions .contact-icon-link svg{animation:v2IconDance 4.7s ease-in-out infinite}
.v2-quick-icons .contact-icon-link:nth-child(2) svg,.v2-contact-actions .contact-icon-link:nth-child(2) svg{animation-delay:-.65s}
.v2-quick-icons .contact-icon-link:nth-child(3) svg,.v2-contact-actions .contact-icon-link:nth-child(3) svg{animation-delay:-1.3s}
.v2-quick-icons .contact-icon-link:nth-child(4) svg,.v2-contact-actions .contact-icon-link:nth-child(4) svg{animation-delay:-1.95s}
.v2-quick-icons .contact-icon-link:nth-child(5) svg,.v2-contact-actions .contact-icon-link:nth-child(5) svg{animation-delay:-2.6s}
.site-header .head-call,.btn,.services-trigger{transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease,filter .3s ease}
.btn,.head-call{position:relative;isolation:isolate;overflow:hidden}
.btn:before,.head-call:before{content:"";position:absolute;z-index:0;inset:0;transform:translateX(-135%) skewX(-23deg);background:linear-gradient(110deg,transparent,#fff4,transparent);transition:transform .6s;pointer-events:none}
.btn:hover:before,.btn:focus-visible:before,.head-call:hover:before,.head-call:focus-visible:before{transform:translateX(135%) skewX(-23deg)}
.btn:hover,.btn:focus-visible,.head-call:hover,.head-call:focus-visible{transform:translateY(-4px)!important;box-shadow:0 16px 28px #e42b4145;filter:brightness(1.06)}
.btn svg,.head-call svg{transition:transform .35s;animation:v2IconDance 5.2s ease-in-out infinite}
.btn:hover svg,.head-call:hover svg{transform:translateX(4px) rotate(-10deg);animation:none}
.division-card,.service-card,.glance-item{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,filter .45s}
.division-card:hover,.service-card:hover{transform:translateY(-8px);box-shadow:0 25px 45px #0003}
.glance-item:hover{transform:translateY(-5px);filter:brightness(1.2)}
.glance-ico svg,.service-card-icon svg,.division-badge svg{animation:v2IconDance 5.2s ease-in-out infinite}
/* The actual skyline photographs travel slowly with the scroll, in either direction. */
.glance:before,.site-footer:before{background-position:center calc(52% + var(--v2-parallax,0px))!important;transition:background-position .14s linear}
.hero-home .stage-picture-city .scenic-photo{transform:translate3d(0,var(--v2-photo-pan,0px),0) scale(1.07);will-change:transform}
.hero-home .stage-picture-work .scenic-photo{transform:translate3d(0,calc(var(--v2-photo-pan,0px) * -.45),0) scale(1.055)}
.inner-stage.inner-scenic .inner-photo{transform:translate3d(0,var(--v2-photo-pan,0px),0) scale(1.06)}
.v2-enhanced .v2-scroll-section{transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.v2-enhanced .v2-scroll-section:not(.v2-in-view){opacity:.88;transform:translate3d(0,23px,0)}
.v2-enhanced .v2-scroll-section.v2-in-view{opacity:1;transform:translate3d(0,0,0)}
.floating-whatsapp{animation:v2FloatContact 4s ease-in-out infinite;transition:filter .3s,box-shadow .3s}
.floating-whatsapp:hover{filter:brightness(1.15);animation-play-state:paused}
@keyframes v2IconDance{0%,100%{transform:translateY(0) rotate(0)}34%{transform:translateY(-2px) rotate(-5deg)}65%{transform:translateY(1px) rotate(4deg)}}
@keyframes v2SocialFloat{0%,100%{translate:0 0}50%{translate:0 -4px}}
@keyframes v2FloatContact{0%,100%{translate:0 0}50%{translate:0 -5px}}
@media(max-width:920px){.v2-quick-icons{justify-content:center;gap:11px;padding:5px 10px;min-height:43px}.v2-quick-icons .contact-icon-link{width:36px;height:36px}}
@media(max-width:650px){.v2-quick-icons{min-height:41px;gap:9px}.v2-quick-icons .contact-icon-link{width:35px;height:35px;border-radius:10px}.v2-quick-icons .contact-icon-link svg{width:19px!important;height:19px!important}.contact-icon-link{width:42px;height:42px}.v2-contact-actions{gap:10px}.foot-contact .v2-contact-actions{gap:10px}.social-ornaments .social-icon{width:37px;height:37px}}
@media(prefers-reduced-motion:reduce){.v2-quick-icons .contact-icon-link svg,.v2-contact-actions .contact-icon-link svg,.social-ornaments .social-icon,.floating-whatsapp,.glance-ico svg,.service-card-icon svg,.division-badge svg,.btn svg,.head-call svg{animation:none!important;translate:none!important}.v2-enhanced .v2-scroll-section,.v2-enhanced .v2-scroll-section:not(.v2-in-view){opacity:1;transform:none;transition:none}.glance:before,.site-footer:before{background-position:center!important;transition:none}.hero-home .stage-picture-city .scenic-photo,.hero-home .stage-picture-work .scenic-photo,.inner-stage.inner-scenic .inner-photo{transform:none!important}}
