:root {
--m3-red: #BC1919;
--m3-red-dark: #8f1313;
--m3-red-light: #d42a2a;
--m3-dark: #0a0a0a;
--m3-dark-card: #111111;
--m3-dark-alt: #0f0f0f;
} [data-bs-theme="dark"] {
--bs-body-bg: var(--m3-dark);
--bs-body-color: #ccc;
} body {
font-family: 'Montserrat', sans-serif;
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
}
a { transition: color .3s; }
.text-accent { color: var(--m3-red) !important; }
.bg-accent   { background-color: var(--m3-red) !important; }
.bg-dark-card {
background-color: var(--m3-dark-card) !important;
border-color: #222 !important;
}
.bg-dark-alt {
background-color: var(--m3-dark-alt);
}
.bg-dark-subtle {
background-color: #111 !important;
} .btn-accent {
background-color: var(--m3-red);
border-color: var(--m3-red);
color: #fff;
}
.btn-accent:hover,
.btn-accent:focus {
background-color: var(--m3-red-dark);
border-color: var(--m3-red-dark);
color: #fff;
box-shadow: 0 0 20px rgba(188, 25, 25, .3);
transform: translateY(-2px);
} .badge-accent {
padding: 6px 20px;
background: rgba(188, 25, 25, .1);
border: 1px solid rgba(188, 25, 25, .4);
color: var(--m3-red);
font-weight: 600;
font-style: italic;
font-size: .8rem;
text-transform: uppercase;
letter-spacing: 2px;
border-radius: 50px;
} .py-section { padding: 100px 0; }
@media (max-width: 767.98px) {
.py-section { padding: 60px 0; }
} .icon-circle {
width: 70px;
height: 70px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: rgba(188, 25, 25, .1);
border: 2px solid rgba(188, 25, 25, .3);
color: var(--m3-red);
font-size: 1.5rem;
transition: all .3s;
}
.icon-circle-lg {
width: 80px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: rgba(188, 25, 25, .1);
border: 2px solid rgba(188, 25, 25, .3);
color: var(--m3-red);
font-size: 1.5rem;
transition: all .3s;
}
.icon-box {
width: 60px;
height: 60px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(188, 25, 25, .1);
border-radius: 8px;
color: var(--m3-red);
font-size: 1.4rem;
transition: all .3s;
} .feature-card,
.service-card,
.trust-card,
.detail-card,
.contact-card,
.process-icon {
transition: all .35s ease;
position: relative;
overflow: hidden;
}
.feature-card::before,
.service-card::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 3px;
background: var(--m3-red);
transform: scaleX(0);
transform-origin: left;
transition: transform .3s;
}
.feature-card:hover::before,
.service-card:hover::after {
transform: scaleX(1);
}
.feature-card:hover,
.service-card:hover,
.trust-card:hover,
.detail-card:hover {
transform: translateY(-6px);
box-shadow: 0 10px 40px rgba(0, 0, 0, .5);
border-color: rgba(188, 25, 25, .25) !important;
}
.feature-card:hover .icon-circle,
.process-icon:hover,
.service-card:hover .icon-box,
.detail-card:hover .icon-box {
background: var(--m3-red);
color: #fff;
box-shadow: 0 0 20px rgba(188, 25, 25, .3);
}
.contact-card:hover {
transform: translateX(5px);
border-color: rgba(188, 25, 25, .25) !important;
}
.service-arrow { transition: transform .3s; }
.service-card:hover .service-arrow { transform: translateX(5px); } .footer-link { transition: all .3s; }
.footer-link:hover {
color: var(--m3-red) !important;
padding-left: 5px;
} .social-icon {
width: 42px !important;
height: 42px !important;
padding: 0 !important;
transition: all .3s;
}
.social-icon:hover {
background-color: var(--m3-red) !important;
border-color: var(--m3-red) !important;
color: #fff !important;
transform: translateY(-3px);
} #main-nav.scrolled {
background: rgba(0, 0, 0, .98) !important;
box-shadow: 0 5px 25px rgba(0, 0, 0, .4);
}
#main-nav .nav-link {
font-size: .85rem;
letter-spacing: 1px;
position: relative;
color: rgba(255,255,255,.85);
}
#main-nav .nav-link::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 2px;
background: var(--m3-red);
transition: width .3s;
}
#main-nav .nav-link:hover,
#main-nav .nav-link.active {
color: var(--m3-red);
}
#main-nav .nav-link:hover::after,
#main-nav .nav-link.active::after {
width: 60%;
} .hero-section {
min-height: calc(100vh - var(--header-h, 80px));
background-color: var(--m3-dark);
background-size: cover;
background-position: center;
background-attachment: fixed;
}
.hero-overlay {
background: linear-gradient(135deg,
rgba(0, 0, 0, .85) 0%,
rgba(10, 10, 10, .7) 50%,
rgba(188, 25, 25, .15) 100%);
z-index: 1;
}
.hero-particles {
z-index: 2;
pointer-events: none;
} .page-hero {
background: linear-gradient(135deg,
#111 0%, var(--m3-dark) 50%, rgba(188, 25, 25, .08) 100%);
} .cta-bg {
background: linear-gradient(135deg,
#111 0%, var(--m3-dark) 50%, rgba(188, 25, 25, .1) 100%);
} .scroll-top-btn.visible {
opacity: 1 !important;
visibility: visible !important;
}
.scroll-top-btn:hover {
transform: translateY(-3px);
} @keyframes fadeInUp {
from { opacity: 0; transform: translateY(30px); }
to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDown {
from { opacity: 0; transform: translateY(-20px); }
to   { opacity: 1; transform: translateY(0); }
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
40%  { transform: translateX(-50%) translateY(-15px); }
60%  { transform: translateX(-50%) translateY(-7px); }
}
.animate-fadeInDown { animation: fadeInDown .8s ease both; }
.animate-fadeInUp   { animation: fadeInUp  .8s ease .2s both; } .fade-in-up {
opacity: 0;
transform: translateY(30px);
transition: opacity .6s ease, transform .6s ease;
}
.fade-in-up.visible {
opacity: 1;
transform: translateY(0);
} .screen-reader-text {
border: 0;
clip: rect(1px, 1px, 1px, 1px);
clip-path: inset(50%);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.custom-logo-link img {
max-height: 50px;
width: auto;
} .blog-content h2 { color: #fff; font-weight: 700; font-style: italic; margin-top: 3rem; margin-bottom: 1rem; font-size: 1.5rem; }
.blog-content h3 { color: #fff; font-weight: 700; font-style: italic; margin-top: 2.5rem; margin-bottom: .75rem; font-size: 1.25rem; }
.blog-content p { color: #ccc; margin-bottom: 1.75rem; }
.blog-content ul, .blog-content ol { color: #ccc; padding-left: 1.75rem; margin-bottom: 1.75rem; }
.blog-content li { margin-bottom: .75rem; }
.blog-content strong { color: #fff; }
.blog-content a { color: var(--m3-red); text-underline-offset: 3px; }
.blog-content blockquote { border-left: 3px solid var(--m3-red); padding-left: 1.5rem; color: #aaa; font-style: italic; margin: 2.5rem 0; }
.blog-content img { max-width: 100%; height: auto; border-radius: 6px; margin: 1.5rem 0; } .blog-content .wp-block-button__link,
.blog-content .wp-element-button {
background-color: var(--m3-red);
border: 2px solid var(--m3-red);
color: #fff !important;
font-weight: 700;
font-style: italic;
text-transform: uppercase;
letter-spacing: 1px;
border-radius: .375rem;
padding: .6rem 1.75rem;
text-decoration: none;
display: inline-block;
transition: background-color .3s, border-color .3s, box-shadow .3s, transform .3s;
}
.blog-content .wp-block-button__link:hover,
.blog-content .wp-element-button:hover {
background-color: var(--m3-red-dark);
border-color: var(--m3-red-dark);
color: #fff !important;
box-shadow: 0 0 20px rgba(188, 25, 25, .3);
transform: translateY(-2px);
text-decoration: none;
}
.blog-content .wp-block-button.is-style-outline .wp-block-button__link {
background-color: transparent;
border: 2px solid var(--m3-red);
color: var(--m3-red) !important;
}
.blog-content .wp-block-button.is-style-outline .wp-block-button__link:hover {
background-color: var(--m3-red);
color: #fff !important;
}  @media (min-width: 992px) {
#navbarMain {
display: flex !important;
align-items: center;
flex-grow: 1;
}
.nav-drawer-close { display: none; }
#nav-backdrop { display: none !important; }
} @media (max-width: 991.98px) {
#navbarMain {
position: fixed;
top: 0;
right: 0;
width: min(300px, 85vw);
height: 100dvh;
background: rgba(10,10,10,.98);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
z-index: 1050;
overflow-y: auto;
padding: 4.5rem 1.5rem 2rem;
transform: translateX(100%);
visibility: hidden;
transition: transform .3s ease, visibility .3s ease;
display: flex !important;
flex-direction: column;
}
#navbarMain.nav-open {
transform: translateX(0);
visibility: visible;
}
#navbarMain .navbar-nav {
flex-direction: column;
width: 100%;
margin: 0 !important;
}
#navbarMain .nav-link {
font-size: 1rem !important;
padding: .8rem 0 !important;
border-bottom: 1px solid rgba(255,255,255,.06);
}
#navbarMain .btn-accent {
width: 100%;
text-align: center;
margin: 1.25rem 0 0 0 !important;
} #main-nav .nav-link::after {
left: 0;
transform: none;
} #nav-backdrop {
position: fixed;
inset: 0;
background: rgba(0,0,0,.55);
z-index: 1019;
opacity: 0;
visibility: hidden;
transition: opacity .3s ease, visibility .3s ease;
}
#nav-backdrop.nav-open {
opacity: 1;
visibility: visible;
} .nav-drawer-close {
position: absolute;
top: 1rem;
right: 1rem;
background: none;
border: none;
color: rgba(255,255,255,.6);
font-size: 1.25rem;
line-height: 1;
padding: .25rem .5rem;
cursor: pointer;
transition: color .2s;
}
.nav-drawer-close:hover { color: #fff; }
} @media (max-width: 991.98px) {
.hero-section {
background-attachment: scroll;
}
.py-section { padding: 70px 0; }
}
@media (max-width: 767.98px) {
.top-bar { display: none !important; }
.py-section { padding: 50px 0; } .page-hero .display-4 { font-size: 2rem; }
.page-hero .fs-5 { font-size: 1rem !important; }
.page-hero .container { padding-top: 2rem !important; padding-bottom: 2rem !important; } .hero-section .hero-logo { max-width: 260px !important; } .hero-brands span[style*="letter-spacing"] { font-size: .7rem; letter-spacing: 1px !important; }
.hero-brands .fs-5 { font-size: .9rem !important; }
.hero-brands { gap: .4rem !important; margin-bottom: 1.5rem !important; }
.hero-btns .btn { font-size: .8rem; padding: .45rem 1rem; }
.hero-btns { gap: .6rem !important; } .icon-circle { width: 52px; height: 52px; font-size: 1.1rem; }
.icon-circle-lg { width: 60px; height: 60px; font-size: 1.2rem; }
.icon-box { width: 46px; height: 46px; font-size: 1rem; border-radius: 6px; } .service-card, .feature-card, .detail-card, .contact-card { padding: 1.25rem !important; } .btn-lg { font-size: .95rem; padding: .5rem 1.25rem; } .blog-card .card-img-top { height: 180px !important; } .article-nav { flex-direction: column; gap: 1rem; }
.article-nav > div:last-child { text-align: left; } .map-wrapper { min-height: 300px !important; }
.map-wrapper iframe { min-height: 300px !important; } .table td { padding: .6rem .5rem; font-size: .9rem; }
.table td.text-nowrap { white-space: normal !important; } .footer-col-services { display: none; } .badge-accent { letter-spacing: 1px; padding: 5px 14px; }
} .moto3-cf7 .wpcf7-form p { margin-bottom: .75rem; }
.moto3-cf7 .wpcf7-form input[type="text"],
.moto3-cf7 .wpcf7-form input[type="email"],
.moto3-cf7 .wpcf7-form input[type="tel"],
.moto3-cf7 .wpcf7-form textarea,
.moto3-cf7 .wpcf7-form select {
width: 100%;
background: #1a1a1a;
border: 1px solid rgba(255,255,255,.15);
border-radius: .375rem;
color: #f8f9fa;
padding: .6rem .9rem;
font-size: .95rem;
transition: border-color .2s;
}
.moto3-cf7 .wpcf7-form input:focus,
.moto3-cf7 .wpcf7-form textarea:focus {
outline: none;
border-color: var(--m3-red);
box-shadow: 0 0 0 3px rgba(188,25,25,.2);
}
.moto3-cf7 .wpcf7-form textarea { min-height: 120px; resize: vertical; }
.moto3-cf7 .wpcf7-form label { color: #adb5bd; font-size: .88rem; margin-bottom: .25rem; display: block; }
.moto3-cf7 .wpcf7-form .wpcf7-acceptance label { display: flex; align-items: flex-start; gap: .5rem; cursor: pointer; }
.moto3-cf7 .wpcf7-form .wpcf7-acceptance input[type="checkbox"] { width: auto; margin-top: .2rem; flex-shrink: 0; accent-color: var(--m3-red); }
.moto3-cf7 .wpcf7-form .wpcf7-submit {
background: var(--m3-red);
border: none;
border-radius: .375rem;
color: #fff;
font-weight: 700;
font-style: italic;
text-transform: uppercase;
letter-spacing: 1px;
padding: .65rem 2rem;
cursor: pointer;
transition: opacity .2s;
}
.moto3-cf7 .wpcf7-submit:hover { opacity: .85; }
.moto3-cf7 .wpcf7-not-valid-tip { color: #ff6b6b; font-size: .8rem; }
.moto3-cf7 .wpcf7-response-output {
border-radius: .375rem;
padding: .75rem 1rem;
font-size: .9rem;
margin-top: 1rem;
border: 1px solid transparent;
}
.moto3-cf7 .wpcf7-mail-sent-ok { background: rgba(25,135,84,.15); border-color: rgba(25,135,84,.4); color: #75b798; }
.moto3-cf7 .wpcf7-mail-sent-ng,
.moto3-cf7 .wpcf7-aborted { background: rgba(188,25,25,.15); border-color: rgba(188,25,25,.4); color: #ea868f; }
.moto3-cf7 .wpcf7-spam-blocked { background: rgba(255,193,7,.1); border-color: rgba(255,193,7,.3); color: #ffc107; } .grecaptcha-badge { visibility: hidden !important; }