html { scroll-behavior: smooth; }
#main-header { transition: all .4s ease-in-out; }
.header-transparent { background-color: transparent; padding: 1.5rem 0; }
.header-sticky { background-color: rgba(255,255,255,.98); box-shadow: 0 4px 6px -1px rgba(0,0,0,.1); padding: 1rem 0; }
.header-transparent .nav-link { color: #fff; text-shadow: 0 2px 4px rgba(0,0,0,0.5); }
.header-sticky .nav-link { color: #0B1120; text-shadow: none; }
.glass-btn { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.3); color: #fff; }
.header-sticky .glass-btn { background: rgba(0,0,0,.05); border: 1px solid rgba(0,0,0,.1); color: #0B1120; }
.header-transparent .logo-header { content: url('../img/logo-b2t-wt.webp'); }
.header-sticky .logo-header { content: url('../img/logo-b2t.webp'); }
.service-card { transition: all .3s ease; }
.service-card.mobile-active, .service-card:hover { transform: translateY(-10px); box-shadow: 0 20px 25px -5px rgba(0,0,0,.1); border-color: #D81B21; }
.sector-card-enhanced { background: #fff; border-radius: 1rem; overflow: hidden; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05); border: 1px solid #f3f4f6; transition: all .4s ease; height: 100%; display: flex; flex-direction: column; }
.sector-card-enhanced:hover { transform: translateY(-5px); box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1); border-color: #D81B21; }
.sector-img-wrapper { height: 240px; overflow: hidden; position: relative; }
.sector-img-wrapper img { transition: transform .6s ease; width: 100%; height: 100%; object-fit: cover; }
.sector-card-enhanced:hover .sector-img-wrapper img { transform: scale(1.1); }
.sector-card-enhanced.group { min-height: 500px; }
.owl-nav button { position: absolute; top: 35%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50% !important; background: #fff !important; color: #D81B21 !important; box-shadow: 0 4px 6px rgba(0,0,0,0.1); transition: all 0.3s ease; }
.owl-nav button:hover { background: #D81B21 !important; color: #fff !important; }
.owl-prev { left: -20px; }
.owl-next { right: -20px; }
.owl-dots { margin-top: 20px !important; }
.owl-dot span { background: #cbd5e1 !important; width: 10px !important; height: 10px !important; margin: 5px 5px !important; }
.owl-dot.active span { background: #D81B21 !important; width: 30px !important; transition: width 0.3s ease; }
.owl-stage { min-height: 520px; }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details[open] summary ~ * { animation: sweep .3s ease-in-out; }
@keyframes sweep { 0% { opacity: 0; transform: translateY(-10px); } 100% { opacity: 1; transform: translateY(0); } }
#mobile-menu { transition: transform .4s cubic-bezier(.4,0,.2,1); }
.open-menu { transform: translateX(0)!important; }
.mobile-nav-link { display: block; width: 100%; padding: 1rem 0; border-bottom: 1px solid #f3f4f6; color: #374151; font-weight: 500; font-size: 1.1rem; transition: color .3s; }
.mobile-nav-link:hover { color: #D81B21; padding-left: .5rem; }
button#menu-btn { width: 50px; }
.modal-fade-in { animation: fadeIn .3s ease-out forwards; }
@keyframes fadeIn { from { opacity: 0; transform: scale(.95); } to { opacity: 1; transform: scale(1); } }
.recaptcha-wrapper { min-height: 78px; display: flex; align-items: center; justify-content: center; }
@media screen and (max-width: 400px) { .recaptcha-wrapper { background: transparent !important; border: none !important; } .recaptcha-wrapper .g-recaptcha { transform: scale(0.80); transform-origin: center center; } }
@media screen and (max-width: 340px) { .recaptcha-wrapper .g-recaptcha { transform: scale(0.70); } }