/* Layout remains owned by LEO rather than by the active theme or Elementor defaults. */
.leo-site{margin:0} .leo-site .elementor{width:100%;--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px}
.leo-site .elementor-element{--container-widget-width:100%;--container-widget-flex-grow:1}.leo-site .elementor-widget:not(:last-child){margin-bottom:0}
.leo-site .elementor-widget-container{width:100%}.leo-site .logo{width:190px!important;height:auto!important;display:inline-flex;align-items:center;background:transparent!important;padding:0!important}
.leo-site .logo img{width:190px!important;height:auto!important;max-height:none!important;object-fit:contain}
.leo-site img{max-width:100%}.leo-site .leo-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.leo-site textarea{width:100%;resize:vertical;border:1px solid #ddd;border-radius:8px;padding:12px;font:inherit;background:#fff;color:#1c2440}
.leo-site .button:disabled{opacity:.6;cursor:wait}.leo-site [role=status]{min-height:24px}.leo-site .header-inner{gap:20px}
.leo-site .home-hero+.elementor-widget-container{padding-top:0}.leo-site .elementor-widget-leo-hero~.elementor-widget{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:32px;padding-right:32px}
.leo-site a:focus-visible,.leo-site button:focus-visible,.leo-site input:focus-visible,.leo-site textarea:focus-visible{outline:3px solid #4169ff;outline-offset:4px}
@media(max-width:767px){.leo-site .logo,.leo-site .logo img{width:148px!important}.leo-site .elementor-widget-leo-hero~.elementor-widget{padding-left:20px;padding-right:20px}.leo-site .header-inner{gap:12px}}
.leo-site .logo{overflow:visible}.leo-site .logo img{position:static!important;left:auto!important;top:auto!important;max-width:100%!important}
.leo-site .elementor .project-photo{height:320px;object-fit:cover}.leo-site .elementor .gallery-photo{height:100%;object-fit:contain}
@media(max-width:900px){.leo-site .elementor .project-photo{height:270px}}
@media(max-width:600px){.leo-site .elementor .project-photo{height:230px}}
.leo-site .product-actions button.button,.leo-site .contact-block button.button{background:#526aab;color:#fff;border:1px solid #526aab;font-weight:600;min-height:52px;border-radius:3px}
.leo-site .product-actions button.button:hover,.leo-site .contact-block button.button:hover{background:#354d90;color:#fff}
html.leo-quote-open{overflow:hidden}
.leo-site .leo-quote-dialog{box-sizing:border-box;width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:36px 38px 24px;border:0;border-radius:12px;background:#fff;color:#1d292e;box-shadow:0 24px 90px #14223c40;overflow:auto;overscroll-behavior:contain}
.leo-quote-dialog::backdrop{background:#15223699;backdrop-filter:blur(4px)}
.leo-site .leo-quote-close{position:absolute;top:12px;right:14px;width:36px;height:36px;padding:0;display:grid;place-items:center;background:#f1f4f7;border:0;border-radius:50%;font-size:26px;line-height:1;color:#344352}
.leo-site .leo-quote-dialog .eyebrow{margin-bottom:10px}.leo-site .leo-quote-dialog h2{font-size:32px;margin:0 28px 12px 0}.leo-site #leo-quote-description{font-size:13px;line-height:1.65;margin-bottom:22px}
.leo-site .leo-quote-dialog form>label,.leo-site .leo-quote-fields label{display:block;font-size:12px;font-weight:600;color:#344352;margin-bottom:14px}
.leo-site .leo-quote-dialog input:not([type=hidden]),.leo-site .leo-quote-dialog textarea{display:block;box-sizing:border-box;width:100%;min-height:44px;margin-top:6px;border:1px solid #d7dfe8;border-radius:5px;padding:10px 12px;background:#fff;color:#1d292e;font:14px/1.5 Manrope,Arial,sans-serif}
.leo-site .leo-quote-dialog textarea{min-height:82px;resize:vertical}.leo-site .leo-quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.leo-site .leo-quote-privacy{font-size:11px;line-height:1.65;margin:0 0 16px}.leo-site .leo-quote-privacy a{color:#526aab}
.leo-site .leo-quote-dialog button.button{width:100%;background:#526aab;color:#fff;border:1px solid #526aab;min-height:50px}.leo-site .leo-quote-dialog button.button:hover{background:#354d90}
.leo-site .leo-quote-status{font-size:13px;line-height:1.6;margin-top:12px;min-height:0}.leo-site .leo-quote-status:empty{display:none}.leo-site .leo-quote-status[data-state=success]{color:#176140;background:#eef8f1;border-radius:5px;padding:12px}.leo-site .leo-quote-status[data-state=error]{color:#a42d2d}
@media(max-width:600px){.leo-site .leo-quote-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:30px 22px 20px}.leo-site .leo-quote-dialog h2{font-size:28px}.leo-site .leo-quote-fields{grid-template-columns:1fr;gap:0}}
.leo-site .case-layout>div{min-width:0}
.leo-site .case-gallery.case-carousel{display:block;min-width:0}
.leo-site .case-carousel-viewport{overflow:hidden;border-radius:10px;background:#f1f4f7;touch-action:pan-y}
.leo-site .case-carousel-track{display:flex;transition:transform .32s ease;will-change:transform}
.leo-site .case-carousel .case-photo-button{flex:0 0 100%;width:100%;height:clamp(320px,34vw,480px);border-radius:0;display:block}
.leo-site .elementor .case-carousel .case-photo-button img{width:100%;height:100%;object-fit:contain}
.leo-site .case-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:12px}
.leo-site .case-carousel-controls button{width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #d7dfe8;border-radius:6px;background:#fff;color:#344f91;font-size:24px;line-height:1;transition:background .15s,color .15s}
.leo-site .case-carousel-controls button:hover{background:#526aab;border-color:#526aab;color:#fff}
.leo-site .case-carousel-count{color:#607079;font-size:12px;letter-spacing:.08em;font-variant-numeric:tabular-nums}
@media(max-width:600px){.leo-site .case-carousel .case-photo-button{height:320px}}
@media(prefers-reduced-motion:reduce){.leo-site .case-carousel-track,.leo-site .case-carousel-controls button{transition:none}}
