:root{--bs-primary:#e50914;--bs-primary-rgb:229, 9, 20;--bs-success:#9cff66;--bs-info:#9bd0ff;--bs-dark:#111;--bs-light:#f8f9fa}
*{scrollbar-width:thin;scrollbar-color:var(--bs-primary) white}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:white}
::-webkit-scrollbar-thumb{background-color:white;border-radius:10px;border:2px solid white}
::-webkit-scrollbar-thumb:hover{background-color:#f34}
.btn-outline-primary{color:var(--bs-primary);border-color:var(--bs-primary);background-color:white;transition:all 0.2s ease-in-out}
.btn-outline-primary:hover,.btn-outline-primary:focus,.btn:first-child:active{background-color:var(--bs-primary);color:var(--bs-primary);border-color:var(--bs-primary);background-color:#fff;box-shadow:0 0 15px 1px #a8a8a8!important}
.btn-primary{background-color:var(--bs-primary);border:none}
.btn-primary:hover{background-color:#c40812}
.btn-lg{border-radius:50px;font-weight:600;text-transform:uppercase}
.form-control:focus {border-color: #e50914 !important;box-shadow: 0 0 0 0.25rem rgba(229, 9, 20, 0.25) !important;}
::selection {background: #e50914;color: #fff}
::-moz-selection {background: #e50914;color: #fff}
a:hover{color:var(--bs-primary)!important}
.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {background-color:#ad050d!important;border-color: var(--bs-primary)!important}

body{scroll-behavior:smooth;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;scroll-behavior:smooth;color: #fff}
.parallax-bg {position: fixed;top: 0;left: 0;width: 100%;height: 100vh;background-image: radial-gradient(#9e9e9e69 0, transparent 2px);background-size: 25px 25px;z-index: -1;animation: fadeIn 2s ease-in-out;}
#main-navbar{min-height:58px;position:sticky;top:0;z-index:1020;background:white;backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);border-bottom: 1px solid rgba(255, 255, 255, 0.1);box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4)}
#main-navbar.scrolled{background: rgb(33 37 41 / 40%)!important}
#main-navbar .navbar-nav .nav-link {color: #212529!important;transition: color 0.3s ease}
#main-navbar.scrolled .navbar-nav .nav-link {color:white!important;transition: color 0.3s ease}
#main-navbar .navbar-nav .nav-link:hover {color: #ff3333 !important}
#main-navbar .navbar-brand img {filter: brightness(1.1);}
.navbar-brand img {transition: height 0.35s ease, opacity 0.35s ease, filter 0.35s ease;will-change: height, opacity;}
.scrolled .navbar .navbar-brand img {height: 28px!important;opacity: 0.9;filter: brightness(0.9)}
#main-navbar .navbar-toggler{border-radius: 50%;width: 32px;height: 32px;padding: 0;box-shadow: none;border-width: 2px}
#main-navbar.scrolled .navbar-toggler{border-color: white;color: white}
.footer-menu ul{list-style:none;padding-left:0}
footer.bg-dark{background-color:#2a2a2a!important;color:#ddd}
footer h5,footer h3{text-transform:uppercase;letter-spacing:1px}
footer a{transition:color 0.2s ease-in-out}
footer .btn-primary{border-radius:0 5px 5px 0}
.social-icons a{font-size:1.5rem;margin:0 0.5rem;color:#333}
.cookie-banner{position:fixed;bottom:20px;left:20px;z-index:1050;width:100%;max-width:400px;background-color:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);padding:1.5rem;display:none}
#footer {position: relative;background-color: #fff;color: #ddd;}
#footer::before {content: "";position: absolute;top: -50px;left: 0;width: 100%;height: 80px;background-color: #fff;transform: skewY(-3deg);transform-origin: 100%;z-index: -1;border-top: 2px solid red}

.section-home .service-img-wrapper {height: 60px}
.section-home .service-img {height: 100%;transition: transform 0.4s ease;}
.section-home .service-item:hover .service-img {transform: scale(1.05);}
.section-home .service-item:hover h3,.section-home .service-item:hover p{color:white!important}
section[style*="background-attachment:fixed"]{border-radius:20px;overflow:hidden}
section[style*="background-attachment:fixed"] .text-white{text-shadow:0 2px 10px rgb(0 0 0 / .7)}
.scroll-indicator {position: absolute;bottom: 25px;left: 50%;transform: translateX(-50%);color: white;opacity: 0.8;font-size: 1.5rem;animation: scroll-down 1.6s infinite;z-index: 2}
@keyframes scroll-down{0%{transform:translate(-50%,0);opacity:.7}50%{transform:translate(-50%,8px);opacity:1}100%{transform:translate(-50%,0);opacity:.7}}

.hero-services{position:relative;width:100%;overflow:hidden;--radius:35vh}
.hero-services .hero-bg{display:block;width:100%;height:auto}
.hero-services .hero-dark-overlay{position:absolute;inset:0;background:rgb(0 0 0 / .3);z-index:1}
.hero-services .hero-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.hero-services .service-item{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;text-decoration:none;width:110px;pointer-events:auto;transform:translate(-50%,-50%) rotate(var(--angle,0deg)) translate(var(--radius)) rotate(calc(-1 * var(--angle, 0deg)))}
.hero-services .service-folder{background:rgb(255 255 255 / .1);backdrop-filter:blur(4px);border-radius:20px;width:100px;height:100px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgb(0 0 0 / .4);position:relative;transition:transform 0.3s ease,background 0.3s ease}
.hero-services .service-icon{width:50px;height:50px;object-fit:contain;margin-bottom:.4rem;z-index:2;transition:transform 0.3s ease}
.hero-services .service-title{font-size:.9rem;font-weight:600}
.hero-services .service-item:hover .service-folder{transform:scale(1.05);background:rgb(255 255 255 / .15)}
.hero-services .service-item:hover .service-icon{transform:scale(1.1)}
.hero-services a:hover .service-title{color:#fff!important}
.hero-services .service-1{--angle:-70deg}
.hero-services .service-2{--angle:-35deg}
.hero-services .service-3{--angle:0deg}
.hero-services .service-4{--angle:35deg}
.hero-services .service-5{--angle:70deg}
.hero-services .service-6{--angle:115deg}
.hero-services .service-7{--angle:155deg}
.hero-services .service-8{--angle:205deg}
.hero-services .service-9{--angle:250deg}
@media (max-width:1400px){
	.hero-services{--radius:30vh}
}
@media (max-width:1200px){
	.hero-services{--radius:24vh}
}
@media (max-width:992px){
	.hero-services .hero-dark-overlay,.hero-services .hero-overlay{display:none!important}
	.hero-services .hero-bg{object-fit:cover}
}
.services-section{border-top:3px solid #d00}
.service-card{background:rgb(255 255 255 / .05);border-radius:16px;transition:all 0.35s ease;position:relative;overflow:hidden;text-decoration:none}
.service-card:hover{transform:translateY(-6px);background:rgb(255 255 255 / .1);box-shadow:0 4px 8px rgb(195 195 195 / 30%);text-decoration:none}
.service-card .icon-wrapper{background:rgb(255 255 255 / .1);width:90px;height:90px;border-radius:18px;display:flex;align-items:center;justify-content:center;transition:transform 0.3s ease}
.service-card:hover .icon-wrapper{transform:scale(1.08)}
.service-icon{width:60px;height:60px;object-fit:contain}
@media (max-width:768px){.services-section{padding:3rem 1rem}
.service-icon{width:50px;height:50px}
.service-card{padding:1.5rem}}

.service-options{display:flex;flex-direction:row;align-items:stretch;overflow:hidden;min-width:600px;max-width:1000px;width:calc(100% - 100px);margin:0 auto;height:400px}
.service-options .option{position:relative;overflow:hidden;min-width:60px;margin:10px;background:var(--optionBackground,#E6E9ED);background-size:cover;background-position:center;border-radius:30px;cursor:pointer;flex-grow:1;transition:flex-grow 0.8s cubic-bezier(.25,.1,.25,1),border-radius 0.8s ease;color:#fff}
.service-options .option.active{flex-grow:8;border-radius:40px}
.service-options .shadow{position:absolute;bottom:0;left:0;right:0;height:120px;box-shadow:inset 0 -120px 100px -100px rgb(0 0 0 / .8)}
.service-options .label{position:absolute;bottom:15px;left:15px;display:flex;align-items:center}
.service-options .label .icon{width:40px;height:40px;background-color:#fff;color:#333;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:10px}
.service-options .label .main{font-weight:700;font-size:1.1rem}
.service-options .label .sub{font-size:.9rem;opacity:.85}

section.py-5.section-blog .card{border:none;background:#fff;transition:transform 0.3s ease,box-shadow 0.3s ease}
section.py-5.section-blog .card:hover{transform:translateY(-6px);box-shadow:0 10px 20px rgb(229 9 20 / .2)}
section.py-5.section-blog .card img{height:200px;object-fit:cover;transition:transform 0.5s ease}
section.py-5.section-blog .card:hover img{transform:scale(1.05)}
section.py-5.section-blog .card-title{color:#111;font-size:1.2rem}
section.py-5.section-blog a.stretched-link{color:var(--bs-primary)}
section.py-5.section-blog a.stretched-link:hover{text-decoration:underline}

.image-zoom-container {border-radius: 0.3rem;box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important}
.image-zoom-container img {transition: transform 0.3s ease-in-out;width: 100%;height: auto;display: block}
.image-zoom-container:hover img {transform: scale(1.05)}
.carousel-control-next,.carousel-control-prev {color:#212529}

.contact-form-overlap {margin-top:-135px;z-index: 10;position: relative}
@media (max-width: 767px) {.contact-form-overlap {margin-top: -40px}}
#contact-map{margin-bottom: 80px;height: 450px;border-radius: 20px;overflow: hidden}
#contact-map iframe{border:0;width:100%;height:450px}
#mainCarousel img {height:500px;object-fit:cover}

.page-blog .blog-card{transition:all 0.3s ease}
.page-blog .blog-card:hover{transform:translateY(-6px);box-shadow:0 .75rem 1.5rem rgb(0 0 0 / .15)}
.page-blog .hover-primary:hover{color:#d92027!important}
.page-blog .line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.page-blog .object-fit-cover{object-fit:cover}
.page-blog .btn-danger{background-color:#d92027;border-color:#d92027}
.page-blog .btn-danger:hover{background-color:#b51a20;border-color:#b51a20}
.page-blog .btn-outline-danger{border-color:#d92027;color:#d92027}
.page-blog .btn-outline-danger.active,.page-blog .btn-outline-danger:hover{background-color:#d92027;color:#fff!important}
.page-blog .btn-danger.active,.page-blog .btn-danger:hover{color:white!important;box-shadow:0 0 15px 1px #a8a8a8!important}
.page-blog .pagination .page-link{color:#d92027;border:none}
.page-blog .pagination .page-item.active a:hover{color:white!important}
.page-blog .pagination .page-item.active .page-link{background-color:#d92027;color:#fff}
.page-blog .blog-share a{transition:color 0.2s ease}
.page-blog .blog-share a:hover{color:#b51a20!important}
.page-blog .blog-img-list{position:relative;bottom:36px;left:22px}
.page-blog .blog-img-list img{width:calc(100% - 22px)!important;border-radius:20px}
.article-content :where(h2,h3){margin-top:1.5rem;margin-bottom:.75rem;font-weight:700}
.article-content p{margin-bottom:1rem;line-height:1.8}
.article-content img{max-width:100%;height:auto;border-radius:.75rem}
.article-content blockquote{padding:1rem 1.25rem;margin:1.25rem 0;border-left:4px solid rgba(0,0,0,.15);background:rgba(0,0,0,.03);border-radius:.5rem}
.article-content pre{padding:1rem;border-radius:.75rem;overflow:auto;background:#111;color:#eee}
.article-content code{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}

.parallax {position:relative; min-height:320px; overflow:hidden}
.parallax-image {position:absolute; inset:0;background-size:contain; background-position:center;background-attachment:fixed;border-radius: 20px}
.parallax-text{position:relative; z-index:1; min-height:320px}
@media (max-width:768px){
.parallax{min-height:200px}
.parallax-image{background-attachment:scroll;background-size:cover;background-position:center center;border-radius:12px}
.parallax-text{min-height:200px}
}

.service-detail h1 {font-size: 2rem;letter-spacing: 0.5px}
.service-detail .video_yt{border-radius:20px;overflow: hidden;}
.service-detail .service-long-text {font-size: 1.1rem;line-height: 1.7;color: #eee}
.service-detail .service-long-text img {max-width: 100%;border-radius: 12px;margin: 1rem 0}
.service-detail .service-gallery .gallery-item {aspect-ratio: 1 / 1;transition: transform 0.3s ease, box-shadow 0.3s ease;cursor: pointer}
.service-detail .service-gallery .gallery-item:hover {transform: scale(1.03);box-shadow: 0 0 15px rgba(255, 255, 255, 0.2)}
.service-detail #galleryModal img {object-fit: contain;height: 85vh;background: #000}
.service-detail .service-text p { line-height:1.8; margin-bottom:1rem; }
.service-detail img { max-width:100%; height:auto; border-radius:.75rem; }
@media (max-width: 768px) {
.service-detail #second-text {flex-direction: row}
.service-detail #second-text .first {order: 1}
.service-detail #second-text .second {order: 2}
}

.section-offers .card {transition: transform .2s, box-shadow .2s;border-top:6px solid #e50914}
.section-offers .card:hover {transform: translateY(-6px);box-shadow: 0 10px 20px rgba(0,0,0,.1)}
.section-offers .price {font-size:2rem; font-weight:700; color:#e50914}
.section-offers .button-offer {background-color: white !important;color: #e50914!important;border-color: var(--bs-primary);background-color: #fff}
.section-offers .card:hover .button-offer, .section-offers .button-offer:active, .section-offers .button-offer.active{box-shadow: 0 0 15px 1px #a8a8a8 !important;}