/* Small refinements to the original Elementor design. */
:root { --ux-ink:#24241f; --ux-paper:#fbfaf5; --ux-beige:#e2d3bf; --ux-focus:#655947; }
html { scroll-padding-top:80px; }
body a:focus-visible, body button:focus-visible, body [role="button"]:focus-visible { outline:2px solid var(--ux-focus); outline-offset:5px; }
.elementor-location-header, .elementor-location-header .elementor-sticky--active { background:transparent !important; box-shadow:none; }
.ux-site-logo { text-align:left; z-index:40; }
.ux-site-logo img { width:170px; }
.ux-logo-section { max-width:1270px; margin-inline:auto; padding:10px; position:relative; z-index:40; }
@media(max-width:767px) {
  .ux-site-logo { text-align:center; }
  .ux-site-logo img { width:124px; }
}
.elementor-location-header .elementor-nav-menu--main .elementor-item { min-height:44px; }
.elementor-location-footer a { text-underline-offset:4px; }
.elementor-location-footer a:hover { text-decoration:underline; }
.elementor-location-footer .elementor-icon-list-item > a { min-height:36px; display:flex; align-items:center; }
.elementor.elementor-location-footer [data-id="7f361ca5"] { --column-gap:clamp(40px,8vw,131px); }
.elementor-location-header a[data-menu-open] { border-radius:50%; background:rgba(226,212,191,.35); }
.elementor-location-header a[data-menu-open] circle { opacity:0; }
#elementor-popup-modal-165 .dialog-widget-content { animation-duration:.3s; box-shadow:none; }
#elementor-popup-modal-165 .dialog-message { height:100dvh; }
#elementor-popup-modal-165 .elementor.elementor-165 [data-id="26a3b6ef"] { min-height:100dvh; padding:96px 32px 32px; }
#elementor-popup-modal-165 .elementor.elementor-165 [data-id="4b065f83"] { width:min(100%,440px); min-height:0; margin:0 auto; border:0; justify-content:center; }
#elementor-popup-modal-165 .elementor.elementor-165 [data-id="36e255fc"] { position:fixed; top:var(--ux-menu-top,9px); left:var(--ux-menu-left,calc(100% - 68px)); right:auto; width:var(--ux-menu-size,48px); height:var(--ux-menu-size,48px); z-index:2; }
#elementor-popup-modal-165 .elementor.elementor-165 [data-id="36e255fc"] > .elementor-widget-container { margin:0; padding:0; }
#elementor-popup-modal-165 .elementor.elementor-165 a[data-menu-close] { width:var(--ux-menu-size,48px); height:var(--ux-menu-size,48px); display:flex; align-items:center; justify-content:center; padding:0; border-radius:50%; background:rgba(226,212,191,.35); color:var(--ux-ink); }
#elementor-popup-modal-165 .elementor.elementor-165 a[data-menu-close] svg { width:22px; height:22px; fill:currentColor; }
#elementor-popup-modal-165 .elementor.elementor-165 a[data-menu-close]:hover, .elementor-location-header a[data-menu-open]:hover { background:#e2d3bf; color:var(--ux-ink); }
#elementor-popup-modal-165 .elementor.elementor-165 [data-id="145a4601"] { width:100%; }
#elementor-popup-modal-165 .elementor.elementor-165 [data-id="145a4601"] .elementor-nav-menu > li { margin:0; border-bottom:1px solid rgba(101,89,71,.2); }
#elementor-popup-modal-165 .elementor.elementor-165 [data-id="145a4601"] .elementor-item { display:flex; width:100%; gap:18px; min-height:74px; padding:12px 0; font-size:clamp(28px,4.5vw,36px); font-weight:400; color:var(--ux-ink); text-decoration:none; }
#elementor-popup-modal-165 .elementor.elementor-165 .elementor-item::after { display:none; }
.ux-menu-number { font-size:12px; letter-spacing:.06em; color:var(--ux-focus); }
.ux-menu-arrow { margin-left:auto; font-size:24px; opacity:0; transform:translate(-4px,4px); transition:opacity .2s,transform .2s; }
.elementor-165 .elementor-item:is(:hover,:focus-visible,.elementor-item-active) .ux-menu-arrow { opacity:1; transform:none; }
.elementor-165 .elementor-item-active { color:var(--ux-focus) !important; }
.ux-menu-eyebrow, .ux-menu-signature { font:400 13px/1.5 "Post Grotesk",sans-serif; color:var(--ux-focus); }
.ux-menu-eyebrow { margin:0 0 26px; letter-spacing:.12em; text-transform:uppercase; }
.ux-menu-signature { margin:30px 0 0; }
.uxMenuIn { animation-name:uxMenuIn; }
.uxMenuOut { animation-name:uxMenuOut; }
@keyframes uxMenuIn { from {opacity:0;transform:translateY(-8px);} to {opacity:1;transform:none;} }
@keyframes uxMenuOut { from {opacity:1;} to {opacity:0;} }
@media(max-height:600px) {
  #elementor-popup-modal-165 .elementor.elementor-165 [data-id="26a3b6ef"] { padding-top:74px; }
  #elementor-popup-modal-165 .elementor.elementor-165 [data-id="145a4601"] .elementor-item { min-height:52px; padding:6px 0; }
  .ux-menu-eyebrow { margin-bottom:12px; }
  .ux-menu-signature { margin-top:18px; }
}
.ux-project-return { display:inline-flex; align-items:center; min-height:44px; margin:0 0 16px; font:400 16px/1.5 "Post Grotesk",sans-serif; color:var(--ux-ink); text-decoration:underline; text-underline-offset:4px; }
.ux-project-return:hover { color:var(--ux-focus); }
.ux-project-return-bottom { align-self:flex-start; margin:10px 10px 30px; }
.elementor-widget-testimonial-carousel .elementor-swiper-button { width:44px; height:44px; justify-content:center; align-items:center; border-radius:50%; background:#ece5db; color:var(--ux-ink) !important; font-size:18px; }
.elementor-widget-testimonial-carousel .elementor-swiper-button svg { fill:var(--ux-ink) !important; }
.elementor-widget-testimonial-carousel .elementor-testimonial { padding-inline:50px; }
.elementor-widget-testimonial-carousel .swiper-autoheight .swiper-slide { height:auto !important; }
.elementor-widget-testimonial-carousel .swiper-autoheight .swiper-wrapper { align-items:flex-start !important; }
.ux-carousel-toggle { display:block; margin:14px 0 0 auto; padding:8px 12px; font:400 14px/1.5 "Post Grotesk",sans-serif; color:var(--ux-ink); background:transparent; border:1px solid #a59b8b; border-radius:0; }
.ux-carousel-toggle:hover, .ux-carousel-toggle:focus { background:#ece5db; color:var(--ux-ink); }
.elementor-form .ux-form-help, .elementor-form .ux-preview-note { font:400 16px/1.6 "Post Grotesk",sans-serif; color:var(--ux-ink); }
.elementor-form .ux-form-help { max-width:52ch; margin:0 0 28px; }
.elementor-form .ux-preview-note { flex-basis:100%; padding:0 7.5px; margin:2px 0 16px; font-size:14px; }
body .elementor-form .elementor-field-group > label { padding-bottom:8px !important; }
body .elementor-form .elementor-field-textual { min-height:48px; }
body .elementor-form textarea.elementor-field-textual { resize:vertical; min-height:160px; }
body .elementor-form .elementor-field-textual:focus { outline:2px solid var(--ux-focus); outline-offset:2px; box-shadow:none; }
body .elementor-form .elementor-field-textual[aria-invalid="true"] { outline:1px solid #963e32; outline-offset:1px; }
.elementor-form .ux-field-error { flex-basis:100%; margin:6px 0 0; color:#963e32; font:400 14px/1.5 "Post Grotesk",sans-serif; }
body .elementor-form .elementor-button { min-height:48px; min-width:150px; }
.elementor-form [data-preview-notice] { margin:28px 0 0; padding:16px; border-left:2px solid var(--ux-focus); background:#ece5db; }
@media(min-width:768px) and (max-width:1024px) {
  .elementor.elementor-104 [data-id="65c52f2"] { --gap:24px; --column-gap:24px; }
}
@media(max-width:1024px) {
  .elementor.elementor-location-footer [data-id="e0b114c"] { --padding-left:20px; --padding-right:20px; }
}
@media(max-width:767px) {
  .elementor.elementor-location-footer [data-id="7f361ca5"] { --column-gap:40px; justify-content:space-between; width:100%; }
  .elementor-location-footer .elementor-icon-list-item > a { min-height:44px; }
  .elementor.elementor-location-footer [data-id="954dd59"] { --align-items:flex-start; --padding-top:0; }
  .elementor.elementor-117 [data-id="65c52f2"] { --padding-top:32px; --padding-bottom:40px; }
  .elementor.elementor-117 > .e-con { --padding-left:20px; --padding-right:20px; }
  .elementor-form .elementor-button { width:100%; }
  .elementor-widget-testimonial-carousel .elementor-testimonial { padding-inline:30px; }
  .elementor-widget-testimonial-carousel .elementor-swiper-button { width:44px; height:44px; }
  .elementor-widget-testimonial-carousel .elementor-swiper-button-prev { left:-8px; }
  .elementor-widget-testimonial-carousel .elementor-swiper-button-next { right:-8px; }
  .ux-project-return { margin-bottom:12px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  .elementor *, .dialog-widget * { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .elementor .e-transform, .elementor [class*="elementor-animation-"] { transform:none !important; }
}

/* Bilingual navigation and concise service information, in the existing palette. */
.ux-language-switch { display:flex; align-items:center; gap:0; font:400 12px/1 "Post Grotesk",sans-serif; letter-spacing:.06em; }
.ux-language-switch a { display:inline-flex; align-items:center; justify-content:center; min-width:36px; min-height:44px; color:var(--ux-focus); text-decoration:none; }
.ux-language-switch a[aria-current] { color:var(--ux-ink); text-decoration:underline; text-underline-offset:5px; }
.ux-language-switch a:hover { color:var(--ux-ink); }
.ux-language-item { display:flex !important; align-items:center; margin-left:18px !important; }
.ux-language-popup { position:static; margin-top:20px; gap:16px; font-size:14px; letter-spacing:0; }
.ux-language-popup a { min-width:72px; justify-content:flex-start; }
.ux-language-footer { justify-content:center; padding:0 20px 24px; }
.ux-home-intro { max-width:42ch; margin:24px auto 0; font:400 16px/1.65 "Post Grotesk",sans-serif; color:var(--ux-focus); }
.ux-project-intro { max-width:64ch; margin:20px 0 28px; font:400 18px/1.65 "Post Grotesk",sans-serif; color:var(--ux-focus); }
.ux-contact-title { font:400 clamp(28px,4vw,48px)/1.2 "Post Grotesk",sans-serif; margin:0 0 28px; }
.ux-enquiry { max-width:680px; font:400 21px/1.65 "Post Grotesk",sans-serif; }
.ux-enquiry-link { display:inline-flex; align-items:center; gap:24px; margin:20px 0; padding:16px 24px; border:1px solid currentColor; border-radius:2px; color:var(--ux-ink); text-decoration:none; }
.ux-enquiry-link:hover { background:#ece5db; }
.ux-enquiry .ux-enquiry-note { font-size:15px; line-height:1.6; }
.ux-faq { max-width:1000px; width:100%; margin:70px auto; padding:0 32px; color:var(--ux-ink); font:400 18px/1.65 "Post Grotesk",sans-serif; }
.ux-section-label { color:var(--ux-focus); font-size:12px; letter-spacing:.1em; text-transform:uppercase; margin:0 0 18px; }
.ux-faq h2 { font:400 clamp(30px,4vw,44px)/1.2 "Post Grotesk",sans-serif; margin-bottom:36px; }
.ux-faq details { border-bottom:1px solid #d8cfc1; }
.ux-faq summary { cursor:pointer; padding:22px 28px 22px 0; position:relative; list-style:none; font-size:22px; }
.ux-faq summary::-webkit-details-marker { display:none; }
.ux-faq summary::after { content:'+'; position:absolute; right:0; }
.ux-faq details[open] summary::after { content:'−'; }
.ux-faq details p { max-width:65ch; padding-bottom:16px; margin:0; }
.ux-faq summary:focus-visible { outline:2px solid var(--ux-focus); outline-offset:4px; }
.ux-text-link { display:inline-flex; min-height:44px; align-items:center; margin-top:28px; color:var(--ux-ink); text-decoration:underline; text-underline-offset:5px; }
@media(max-width:767px) {
 .ux-home-intro { padding-inline:16px; font-size:15px; }
 .ux-project-intro { font-size:16px; }
 .ux-faq { padding-inline:20px; margin-block:48px; }
 .ux-faq summary { font-size:20px; }
 html[lang^="sr"] .elementor-element .elementor-heading-title { overflow-wrap:break-word; }
}

/* Elementor reverses exit animations; this one already fades out. */
#elementor-popup-modal-165 .uxMenuOut.reverse { animation-direction:normal !important; animation-fill-mode:both; }
@keyframes uxReveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.ux-reveal-in { animation:uxReveal .6s cubic-bezier(.2,.7,.3,1) both; }
@media(prefers-reduced-motion:reduce) {
 .ux-reveal-in { animation:none !important; }
 #elementor-popup-modal-165 .dialog-widget-content { animation-duration:.01ms !important; }
}
@media(max-width:1024px) {
 .elementor-128 [data-id="fb01036"] br { display:none; }
}
html[lang^="sr"] .elementor-nav-menu .elementor-item { text-transform:none !important; }
@media(min-width:768px) { .ux-home-intro { margin-left:0; margin-right:0; } }
