html { scroll-behavior: smooth; }
.service-areas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.service-areas h4 { font-size:21px; margin:12px 0; }
.service-areas p { margin-bottom:12px; }
@media(max-width:767px) { .service-areas { grid-template-columns:1fr; gap:12px; } }
.contact-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:12px; }
.contact-actions .contact-action { display:inline-flex; align-items:center; gap:14px; padding:15px 22px; border-radius:10px; color:#fff; text-decoration:none; min-height:70px; box-shadow:0 4px 12px #11204d18; }
.contact-action-phone { background:#11204d; }
.contact-action-whatsapp { background:#087b45; }
.contact-action i { font-size:27px; }
.contact-action span { display:flex; flex-direction:column; gap:3px; }
.contact-action small { font-size:14px; line-height:1.3; }
.contact-action strong { font-size:18px; line-height:1.4; font-weight:600; }
.contact-actions .contact-action:hover { color:#fff; filter:brightness(1.12); }
.contact-action:focus-visible { outline:3px solid #6138bd; outline-offset:4px; }
@media(max-width:575px) { .contact-actions .contact-action { width:100%; } }
.service-article h3 { font-size:26px; line-height:1.3; margin-bottom:20px; }
.service-article h4 { font-size:20px; line-height:1.4; margin:24px 0 12px; }
.service-article p { margin-bottom:18px; }
.service-section { padding:60px 0 40px; }
.service-article { columns:2; column-gap:48px; }
.service-article h3 { column-span:all; }
.service-article h4 { break-after:avoid; }
.service-article p { orphans:3; widows:3; }
.elementor-12 .elementor-element.elementor-element-1ae67df { width:100%; }
@media(max-width:767px) { .service-article { columns:1; } .service-section { padding:35px 0 20px; } }
.elementor-12 .elementor-element.elementor-element-c59e726 { width:100%; }
.elementor-12 .elementor-element.elementor-element-ec1e887 img { display:block; width:210px; max-width:100%; height:auto; margin-inline:auto; }
@media(max-width:767px) { .elementor-12 .elementor-element.elementor-element-ec1e887 img { width:170px; } }
.dtr-logo .brand-wordmark { display:inline-flex; flex-direction:column; vertical-align:middle; font-family:Jost,sans-serif; color:#11204d; text-align:left; }
.brand-wordmark .brand-name { font-size:30px; font-weight:600; line-height:1.05; letter-spacing:-.5px; }
.brand-wordmark .brand-service { margin-top:3px; font-size:18px; font-weight:400; line-height:1.1; letter-spacing:2px; color:#6138bd; }
#dtr-responsive-header .brand-name { font-size:25px; }
#dtr-responsive-header .brand-service { font-size:15px; margin-top:2px; letter-spacing:1.6px; }
section[id] { scroll-margin-top: 110px; }
.elementor-invisible { visibility: visible !important; }
.elementor-image-carousel-wrapper { overflow: hidden; }
.elementor-image-carousel { display: flex; transition: transform .5s ease; }
.elementor-image-carousel > .swiper-slide { width: 100%; flex: 0 0 100%; }
.elementor-image-carousel-wrapper:not(.swiper-initialized) .swiper-slide { max-width: none; }
.elementor-image-carousel img { display: block; width: 100%; height: auto; }
.dtr-responsive-header-menu[hidden] { display: none !important; }
.static-mobile-nav { margin: 0; padding: 12px 24px; list-style: none; background: white; }
.static-mobile-nav a { display: block; padding: 10px 0; color: #11204d; }
dialog.static-gallery { padding: 12px; border: 0; background: #fff; max-width: 94vw; max-height: 94vh; }
dialog.static-gallery::backdrop { background: #000c; }
.static-gallery img { display: block; max-width: 85vw; max-height: 78vh; width: auto; margin: auto; }
.static-gallery-controls { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 10px; }
.static-gallery button { cursor: pointer; padding: 6px 14px; }
.dtr-portfolio-item:focus-within .media-zoom { transform:scale(1); opacity:1; z-index:99; }
#form-notice { font-size: 15px; }
input[type=submit]:disabled { opacity: .6; cursor: not-allowed; }
@media(max-width:767px) { .elementor-image-carousel > .swiper-slide { width: 50%; flex-basis: 50%; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .elementor-image-carousel { transition:none; } }
