/* ? ==================== MENU ==================== */
header .logo-desktop,header .logo-mobile-menu{width:160px;margin:1rem 0}
@media screen and (min-width: 992px) {
  header .nav-link {line-height: 120%; letter-spacing: 1.6px; text-transform: uppercase; position: relative;}
  header .nav-link:is(.active), header .nav-link:hover {color: var(--primary-color);--bs-navbar-active-color: var(--primary-color)} 
  header .nav-link::before {content: ''; width: 0; height: 2px; display: block; background: var(--primary-color); position: absolute; bottom: 0; left: 5%; transition: .3s;}
  header .nav-link:hover::before, header .nav-link:focus-visible::before, header .nav-link.active::before {width: 90%;}
}

/* ? ================== FIM MENU ================== */

/* ? ==================== FOOTER ==================== */
footer, .copyright-footer{background-color: #141515; }
footer .logo-desktop{max-width:200px;}
footer h3{margin-top:0;font-size:22px;color:var(--light)}
footer .footer__nav li a:not(.btn){display:block;padding:5px 0;font-size:16px;color:var(--light);transition:.3s}
footer .footer__nav li a i{font-size:10px}
footer .footer__nav li a:hover{color:var(--primary-color-light)}
footer .address :is(span,a):not(.btn){color:var(--light);font-size:14px;line-height:25px;transition:.3s}
footer .address a:not(.btn):hover{color:var(--primary-color-light)}
footer .btn-social-footer {border-radius: 8px; border: 1px solid rgba(0, 0, 255, 0.45); background: rgba(0, 0, 255, 0.15); color: #fff;}
footer .btn-social-footer:hover, footer .btn-social-footer:focus {border: 1px solid rgba(0, 0, 255, 0.15); background: rgba(0, 0, 255, 0.45); color: #fff;}
.copyright-footer .btn.selos { min-height: unset; }
@media screen and (max-width: 992.05px) {
  footer .social { justify-content: center; }
}

/* ? COPY */
footer .newsletter-form .form-control {border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.35); background: rgba(255, 255, 255, 0.08); color: #fff;}
footer .newsletter-form .form-floating label {color: #fff;}
footer .newsletter-form .btn{padding: 1rem .75rem;}
footer .newsletter-form .form-check-input[type=checkbox]{border: 1px solid rgba(255, 255, 255, 0.35); background-color: rgba(255, 255, 255, 0.08);}
/* ? ================== FIM FOOTER ================== */

.card.card--23{all:unset;display:flex;flex-flow:column nowrap;gap:1rem;align-items:flex-start;justify-content:space-between;background-color:var(--dark);background-image:linear-gradient(-45deg,var(--dark),var(--grey)),var(--card-background);background-size:cover;background-repeat:no-repeat;background-position:center;background-blend-mode:multiply,normal;border-radius:1rem;padding:1rem;position:relative;float:unset;height: 85%;}
.card.card--23:focus-within,.card.card--23:hover{box-shadow:0 0 0 2px var(--secondary-color)}
.card.card--23 .card__title{color:#fff;font-size:1.25rem;text-shadow:0 0 .25rem var(--dark);margin:0;min-height:calc(1.25rem * 2 * 1.3)}
.card.card--23 .card__link{z-index:1;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;flex-flow:row nowrap;padding:.5rem .75rem;font-size:.875rem;text-transform:uppercase;transition:var(--transition);color:var(--light);font-weight:600;border:2px solid currentColor;border-radius:99px}
.card.card--23 .card__link>span{width:0;max-width:fit-content;opacity:0;transition:var(--transition)}
.card.card--23 .card__link:focus>span,.card.card--23 .card__link:hover>span{width:100px;opacity:1;margin-right:.5rem}
.card.card--23 .card__link::before{content:"";display:block;width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1;backface-visibility:visible}
.card.card--23 .card__link:focus,.card.card--23 .card__link:hover{border-color:var(--primary-color);background-color:var(--primary-color)}

.shadow-19{box-shadow:rgba(50,50,93,.25) 0 2px 5px -1px,rgba(0,0,0,.3) 0 1px 3px -1px}

.title-subtitle{margin-bottom:0}
.title-subtitle span{display:block;font-size:.9rem;color:#000;line-height:1rem;letter-spacing:.25rem;text-transform:uppercase}

.title-barra::after {content: ''; width: 89px; height: 4px; display: block; background: var(--primary-color); margin: 5px 0;}
.text-center.title-barra:after {margin: 5px auto;}

/* ? ==================== CARD SERVICOS ==================== */
.card-serv, .card-serv * {transition: .3s;}
.card-serv {box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.08); border-radius: 1rem; padding: 1rem; height: 100%;}
.card-serv .card-img, .card-serv .card-img img {border-radius: 20px;}
.card-serv .card-img {overflow: hidden; height: 300px;}
.card-serv .card-img img{width: 100%; height: 100%; object-fit: cover;}
.card-serv .card-title, .card-serv .card-text {color: var(--grey);}
.card-serv .card-title {margin: 10px 0; font-size: 23px; }
.card-serv .card-text {padding: 0; margin: 0;}
.card-serv .card-link {text-align: right; color: var(--grey);}
.card-serv:hover, .card-serv:focus-within  {background: #F6F6F6; box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.14);}
.card-serv:hover .card-img img, .card-serv:focus-within .card-img img {transform: scale(1.1);}
.card-serv:hover .card-title, .card-serv:focus-within .card-title {color: #000;}
.card-serv:hover .btn, .card-serv .btn:hover, .card-serv .btn:focus, .card-serv .btn:active, .card-serv:focus-within .btn {background: var(--primary-color); color: #fff;}
@media screen and (max-width: 768px) {
    .card-serv, .card-serv:hover, .card-serv:focus-within  {background: #F6F6F6; box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.14);}
    .card-serv:hover .card-img img, .card-serv:focus-within .card-img im {transform: scale(1.1);}
    .card-serv .btn{background: var(--primary-color); color: #fff;}
    .card-serv:hover .btn, .card-serv .btn:hover, .card-serv .btn:focus, .card-serv .btn:active, .card-serv:focus-within .btn {background: var(--secondary-color); color: #000;}
}
/* ? ================== FIM CARD SERVICOS ================== */

/* ? ==================== CARD PORTFOLIO ==================== */
.card-portfolio{position:relative;border-radius:.5rem;overflow:hidden}
.card-portfolio::before{content:"\f002";position:absolute;left:0;top:0;width:100%;height:100%;padding-top:20px;opacity:0;transition:opacity .3s,padding .3s;color:#fff;font-family:FontAwesome;font-size:1.75rem;display:flex;justify-content:center;align-items:center;background-color:rgba(var(--bs-primary-rgb), .7)}
.card-portfolio:focus-visible::before,.card-portfolio:hover::before{padding-top:0;opacity:1}
.card-portfolio img{width:100%;aspect-ratio:1/1;object-fit:cover}
/* ? ================== FIM CARD PORTFOLIO ================== */

/* * ==================== EMPRESA ==================== */
.img-empresa {width: 100%; height: 400px; object-fit: cover;border-radius: 20px;}
/* * ================== FIM EMPRESA ================== */

/* * ==================== HOME ==================== */
h1.title-subtitle {font-weight: 900;}

/* ? CARD SERV */
.card-serv-home, .card-serv-home * {transition: .3s;}
.card-serv-home {color: #fff; width: 300px; padding: 1rem; height: 100%; border-radius: 20px;}
.card-serv-home .card-icon {background: var(--primary-color);border-radius: 6px; width: 64px; height: 64px; }
.card-serv-home svg {filter: brightness(0) invert(1); }
.card-serv-home .card-title {font-size: 24px;}
.card-serv-home:hover, .card-serv-home:focus-visible {background: var(--primary-color);}
.card-serv-home:hover .card-icon, .card-serv-home:focus-visible .card-icon {background: #fff;}
.card-serv-home:hover svg, .card-serv-home:focus-visible svg {filter: none;}

/* ? PORTFOLIO */
.splide-portfolio .splide__arrow {opacity: 1; background: none; transition: .3s;}
.splide-portfolio .splide__arrow:hover svg, .splide-portfolio .splide__arrow:focus svg {fill: var(--primary-color);}
@media screen and (min-width: 992px) {
  .splide-portfolio .splide__slide img {transition: .3s; object-fit: cover; transform: scale(.9);  position: relative; height: 100%; width: 100%; object-fit: contain; object-position: center; border: 2px solid #fff;}
  .splide-portfolio .splide__slide:is(.is-active) img{transform: scale(1.3);z-index: 3;margin: 1rem;}
  .splide-portfolio .splide__arrow {top: 90%;}
  .splide-portfolio .splide__arrow--prev {left: 85%;}
  .splide-portfolio .splide__arrow--next {right: 7em;}
  .splide-portfolio .splide__arrow svg {width: 4rem; height: 4rem;}
}
/* * ================== FIM HOME ================== */

/* ? ==================== BANNER ==================== */
.splide-banner h2 {font-size: 52px; font-weight: 900;}
.splide-banner p {font-size: 20px; font-weight: 700;}
/* ? ================== FIM BANNER ================== */