/* Source: #topomatix-home-dynamic-category-styles */
    .topomatix-home-categories{box-sizing:border-box;width:min(1170px,calc(100% - 40px));margin:24px auto 60px}
    .topomatix-home-categories h2{margin:0 0 20px;color:#24272c;font-size:clamp(26px,2.4vw,36px);line-height:1.2}
    .topomatix-shop-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
    .topomatix-shop-category-card{position:relative;display:flex;aspect-ratio:1/1;min-height:0;overflow:hidden;border:1px solid #e3e6e8;border-radius:8px;background:#f4f6f7;color:#24272c!important;text-decoration:none!important;box-shadow:0 3px 12px rgba(25,31,36,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
    .topomatix-shop-category-card:hover,.topomatix-shop-category-card:focus-visible{border-color:#22aab7;transform:translateY(-3px);box-shadow:0 9px 22px rgba(25,31,36,.13)}
    .topomatix-shop-category-image{position:absolute;inset:0;display:block;background-position:center;background-repeat:no-repeat;background-size:cover;transition:opacity .65s ease-in-out!important}
    .topomatix-shop-category-image:after{position:absolute;inset:25% 0 0;background:linear-gradient(to bottom,transparent,rgba(18,23,27,.88));content:""}
    .topomatix-shop-category-copy{position:relative;z-index:1;align-self:flex-end;display:flex;flex-direction:column;width:100%;padding:18px;color:#fff}
    .topomatix-shop-category-copy strong{font-size:17px;line-height:1.25}.topomatix-shop-category-copy small{margin-top:4px;color:rgba(255,255,255,.82);font-size:13px}
    @media(max-width:1024px){.topomatix-shop-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:520px){
        /* Compensate for the extra mobile padding of the Avada homepage container. */
        .topomatix-home-categories{width:calc(100% + 46px)!important;max-width:none!important;margin:8px -23px 45px!important}
        .topomatix-home-categories .topomatix-shop-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
        .topomatix-home-categories .topomatix-shop-category-card{aspect-ratio:1/1}
        .topomatix-home-categories .topomatix-shop-category-copy{padding:11px}
        .topomatix-home-categories .topomatix-shop-category-copy strong{font-size:14px;line-height:1.2}
        .topomatix-home-categories .topomatix-shop-category-copy small{font-size:11px}
    }
    


/* Source: #topomatix-home-partners-styles */
    .topomatix-home-partners{box-sizing:border-box;width:100%;padding:56px max(24px,calc((100% - 1216px)/2));background:#242a31;color:#fff;overflow:hidden}
    .topomatix-home-partners-heading{margin:0 0 28px!important;color:#fff!important;text-align:center;font-size:30px;line-height:1.25;font-weight:800;text-transform:uppercase}
    .topomatix-partners-viewport{position:relative;margin:-16px 0;padding:16px 0;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}
    .topomatix-partners-track{display:flex;width:max-content;align-items:center;animation:topomatix-partners-scroll 17s linear infinite;will-change:transform}
    .topomatix-partners-viewport:hover .topomatix-partners-track,.topomatix-partners-viewport:focus-within .topomatix-partners-track{animation-play-state:paused}
    .topomatix-partner-group{display:flex;align-items:center;gap:58px;padding-right:58px}
    .topomatix-partner-item{display:flex;flex:0 0 190px;width:190px;height:92px;align-items:center;justify-content:center;text-decoration:none!important}
    .topomatix-partner-card{display:flex;width:100%;height:100%;align-items:center;justify-content:center;padding:12px;box-sizing:border-box;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.045);transition:transform .28s cubic-bezier(.2,.7,.2,1),background-color .28s ease,border-color .28s ease,box-shadow .28s ease}
    .topomatix-partner-logo{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:68px!important;object-fit:contain;filter:none;opacity:1;transition:filter .28s ease,transform .28s cubic-bezier(.2,.7,.2,1)}
    .topomatix-partner-item:hover .topomatix-partner-card,.topomatix-partner-item:focus-visible .topomatix-partner-card{transform:translateY(-5px);border-color:rgba(40,169,183,.48);background:rgba(255,255,255,.09);box-shadow:0 12px 28px rgba(0,0,0,.28)}
    .topomatix-partner-item:hover .topomatix-partner-logo,.topomatix-partner-item:focus-visible .topomatix-partner-logo{filter:saturate(1.12) contrast(1.04);transform:scale(1.08)}
    .topomatix-partner-item:focus-visible{outline:2px solid #28a9b7;outline-offset:3px;border-radius:8px}
    @keyframes topomatix-partners-scroll{to{transform:translateX(-50%)}}
    @media(max-width:767px){.topomatix-home-partners{padding:38px 12px}.topomatix-home-partners-heading{margin-bottom:22px;font-size:24px}.topomatix-partner-group{gap:22px;padding-right:22px}.topomatix-partner-item{flex-basis:260px;width:260px;height:130px}.topomatix-partner-card{padding:10px}.topomatix-partner-logo{width:240px!important;max-width:240px!important;max-height:100px!important}.topomatix-partners-track{animation-duration:14s}}
    @media(prefers-reduced-motion:reduce){.topomatix-partners-track{animation:none;transform:none}.topomatix-partners-viewport{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.topomatix-partner-group[aria-hidden="true"]{display:none}}
    

/* Source: #topomatix-home-news-card-animation */
    body.home .fusion-post-cards-1 .post-card{
        transition:transform .3s cubic-bezier(.2,.7,.2,1)!important
    }
    body.home .fusion-post-cards-1 .fusion-post-card-image{
        position:relative!important;
        border:1px solid rgba(35,63,72,.12)!important;
        border-radius:10px!important;
        box-shadow:0 6px 18px rgba(23,42,49,.08)!important;
        overflow:hidden!important;
        transition:border-color .3s ease,box-shadow .3s ease!important
    }
    body.home .fusion-post-cards-1 .fusion-post-card-image::after{
        content:"";
        position:absolute;
        inset:0;
        z-index:2;
        pointer-events:none;
        background:linear-gradient(135deg,rgba(255,255,255,.13),transparent 48%);
        opacity:0;
        transition:opacity .3s ease
    }
    body.home .fusion-post-cards-1 .fusion-post-card-image img{
        display:block!important;
        transform:scale(1.001);
        transition:transform .48s cubic-bezier(.2,.7,.2,1),filter .3s ease!important;
        will-change:transform
    }
    body.home .fusion-post-cards-1 .post-card:hover,
    body.home .fusion-post-cards-1 .post-card:focus-within{
        transform:translateY(-6px)!important
    }
    body.home .fusion-post-cards-1 .post-card:hover .fusion-post-card-image,
    body.home .fusion-post-cards-1 .post-card:focus-within .fusion-post-card-image{
        border-color:rgba(40,169,183,.4)!important;
        box-shadow:0 15px 30px rgba(23,42,49,.17)!important
    }
    body.home .fusion-post-cards-1 .post-card:hover .fusion-post-card-image::after,
    body.home .fusion-post-cards-1 .post-card:focus-within .fusion-post-card-image::after{
        opacity:1
    }
    body.home .fusion-post-cards-1 .post-card:hover .fusion-post-card-image img,
    body.home .fusion-post-cards-1 .post-card:focus-within .fusion-post-card-image img{
        transform:scale(1.055);
        filter:saturate(1.06) contrast(1.02)
    }
    @media(max-width:767px){
        body.home .fusion-post-cards-1 .post-card:hover,
        body.home .fusion-post-cards-1 .post-card:focus-within{transform:translateY(-3px)!important}
    }
    @media(prefers-reduced-motion:reduce){
        body.home .fusion-post-cards-1 .post-card,
        body.home .fusion-post-cards-1 .fusion-post-card-image,
        body.home .fusion-post-cards-1 .fusion-post-card-image img{transition:none!important}
        body.home .fusion-post-cards-1 .post-card:hover,
        body.home .fusion-post-cards-1 .post-card:focus-within{transform:none!important}
        body.home .fusion-post-cards-1 .post-card:hover .fusion-post-card-image img,
        body.home .fusion-post-cards-1 .post-card:focus-within .fusion-post-card-image img{transform:none!important}
    }
    

/* Source: #topomatix-home-services-compact */
    body.page-id-2489 #main .topomatix-home-services-intro,
    body.page-id-2489 #main .topomatix-home-service-card{box-sizing:border-box;width:min(1170px,calc(100% - 40px));max-width:1170px;margin:20px auto!important;border-radius:14px;box-shadow:0 10px 28px rgba(25,35,45,.1);overflow:hidden}
    body.page-id-2489 .topomatix-home-services-intro{min-height:270px}
    body.page-id-2489 .topomatix-home-service-card{min-height:335px}
    body.page-id-2489 .topomatix-home-services-intro>.fusion-builder-row,
    body.page-id-2489 .topomatix-home-service-card>.fusion-builder-row{display:flex!important;align-items:center!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important}
    body.page-id-2489 .topomatix-home-services-intro>.fusion-builder-row{min-height:270px!important;padding:34px 40px!important}
    body.page-id-2489 .topomatix-home-service-card>.fusion-builder-row{min-height:335px!important;padding:30px!important}
    body.page-id-2489 .topomatix-home-services-intro .fusion-layout-column{width:100%!important;margin:0!important;padding:0!important}
    body.page-id-2489 .topomatix-home-service-card .fusion-layout-column{margin:0!important;padding:0!important}
    body.page-id-2489 .topomatix-home-services-intro .fusion-title{margin:0 0 14px!important}
    body.page-id-2489 .topomatix-home-services-intro .fusion-title-heading{font-size:clamp(30px,3.3vw,40px)!important;line-height:1.15!important}
    body.page-id-2489 .topomatix-home-services-intro .fusion-text h5{max-width:1040px;margin:0!important}
    body.page-id-2489 .topomatix-home-services-intro .fusion-text h5 span{font-size:17px!important;line-height:1.58!important}
    @media(max-width:800px){body.page-id-2489 #main .topomatix-home-services-intro,body.page-id-2489 #main .topomatix-home-service-card{width:calc(100% - 28px);margin:14px auto!important}body.page-id-2489 #main .topomatix-home-services-intro{min-height:0!important}body.page-id-2489 .topomatix-home-services-intro>.fusion-builder-row{min-height:0!important;padding:24px 18px!important}body.page-id-2489 .topomatix-home-services-intro .fusion-layout-column,body.page-id-2489 .topomatix-home-services-intro .fusion-column-wrapper,body.page-id-2489 .topomatix-home-services-intro .fusion-text,body.page-id-2489 .topomatix-home-services-intro .fusion-text h5{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}body.page-id-2489 .topomatix-home-services-intro .fusion-title{margin-bottom:12px!important}body.page-id-2489 .topomatix-home-services-intro .fusion-title-heading{font-size:20px!important;line-height:1.18!important;letter-spacing:-.25px!important;white-space:normal!important}body.page-id-2489 .topomatix-home-services-intro .fusion-text h5,body.page-id-2489 .topomatix-home-services-intro .fusion-text h5 span{display:block!important;width:100%!important;max-width:none!important;font-size:14px!important;line-height:1.5!important;text-align:left!important}body.page-id-2489 .topomatix-home-service-card{min-height:250px!important}body.page-id-2489 .topomatix-home-service-card>.fusion-builder-row{min-height:250px!important;padding:22px!important}}

    body.home #main .hero-seo-title{font-size:clamp(24px,2.4vw,36px);line-height:1.25;font-weight:600;margin:18px 0}

    @media(max-width:640px){
        body.home #main .hero-lcp-title{font-size:26px!important;line-height:1.25!important;font-weight:700!important}
        body.home #main .hero-seo-title{font-size:28px!important;line-height:1.25!important;font-weight:700!important}
        body.home #main .hero-lcp-text{font-size:16px!important;line-height:1.5!important;font-weight:400!important;letter-spacing:normal!important;text-align:left!important;word-spacing:normal!important;hyphens:auto}
        body.home #main .topomatix-home-categories h2{font-size:28px!important;line-height:1.2!important;font-weight:700!important}
        body.home #main .topomatix-shop-category-copy strong{font-size:15px!important;line-height:1.2!important;font-weight:700!important}
        body.home #main .topomatix-home-services-intro .fusion-title-heading{font-size:20px!important;line-height:1.2!important;font-weight:600!important}
        body.home #main .topomatix-home-services-intro .fusion-text h5,
        body.home #main .topomatix-home-services-intro .fusion-text h5 span{font-size:16px!important;line-height:1.5!important;font-weight:400!important;letter-spacing:normal!important}
        body.home #main .topomatix-home-service-card .fusion-title-heading{font-size:20px!important;line-height:1.2!important;font-weight:700!important;letter-spacing:normal!important}
        body.home #main .topomatix-home-service-card .fusion-button{font-size:14px!important;line-height:1.2!important;font-weight:700!important}
        body.home #main .topomatix-home-news .fusion-title-heading{font-size:26px!important;line-height:1.25!important;font-weight:700!important}
        body.home #main .topomatix-home-partners-heading{font-size:28px!important;line-height:1.2!important;font-weight:700!important}
        body.home #main .topomatix-home-contact h5{font-size:18px!important;line-height:1.4!important;font-weight:600!important}
        body.home #main .topomatix-home-contact p,
        body.home #main .topomatix-home-contact li{font-size:16px!important;line-height:1.55!important;font-weight:400!important}
    }

/* Architecture Home slider: match the desktop homepage content width. */
@media (min-width: 1025px) {
    body.home.page-id-2489 #fusion-slider-49 {
        width: 100%;
        max-width: var(--site_width, 1170px) !important;
        margin-inline: auto;
    }
}

/* Architecture Home slider: shared desktop title-frame system. */
@media (min-width: 1025px) {
    body.home.page-id-2489 #fusion-slider-49 .slide-content-container {
        box-sizing: border-box;
        width: 100%;
        padding-inline: 0 !important;
        text-align: left !important;
    }

    body.home.page-id-2489 #fusion-slider-49 .slide-content,
    body.home.page-id-2489 #fusion-slider-49 .heading,
    body.home.page-id-2489 #fusion-slider-49 .fusion-title-sc-wrapper,
    body.home.page-id-2489 #fusion-slider-49 .fusion-title,
    body.home.page-id-2489 #fusion-slider-49 .fusion-title-heading {
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        margin-inline: 0;
        text-align: left !important;
    }

    body.home.page-id-2489 #fusion-slider-49 .slide-content {
        max-width: none !important;
        margin-inline: 0 !important;
    }

    body.home.page-id-2489 #fusion-slider-49 .heading,
    body.home.page-id-2489 #fusion-slider-49 .fusion-title-sc-wrapper {
        display: block;
    }

    body.home.page-id-2489 #fusion-slider-49 .fusion-title {
        display: block;
    }

    body.home.page-id-2489 #fusion-slider-49 .fusion-title-heading {
        display: block;
        margin: 0 !important;
    }

    body.home.page-id-2489 #fusion-slider-49 .text-frame {
        position: relative;
        inset: auto;
        display: flex;
        align-items: center;
        box-sizing: border-box;
        width: fit-content;
        max-width: min(560px, calc(100% - 80px));
        margin-top: 0;
        margin-bottom: 0;
        padding: 18px 24px;
        border-radius: 4px;
        background: rgba(0, 0, 0, 0.40);
        color: #fff;
    }

    body.home.page-id-2489 #fusion-slider-49 .text-frame-title {
        display: block;
        max-width: 100%;
        color: #fff;
        font-size: clamp(42px, 3.75vw, 46px);
        font-weight: 700;
        line-height: 1.1;
        white-space: normal;
        overflow-wrap: break-word;
        text-wrap: balance;
    }

    body.home.page-id-2489 #fusion-slider-49 .text-frame-left {
        margin-inline: 40px auto;
        text-align: left;
    }

    body.home.page-id-2489 #fusion-slider-49 .text-frame-center {
        margin-inline: auto;
        text-align: center;
    }

    body.home.page-id-2489 #fusion-slider-49 .text-frame-right {
        margin-inline: auto 40px;
        text-align: right;
    }

    body.home.page-id-2489 #fusion-slider-49 .text-frame .corner {
        position: absolute;
        width: 28px;
        height: 28px;
        border: 3px solid #fff;
        pointer-events: none;
    }

    body.home.page-id-2489 #fusion-slider-49 .text-frame .tl {
        top: 0;
        left: 0;
        border-right: 0;
        border-bottom: 0;
    }

    body.home.page-id-2489 #fusion-slider-49 .text-frame .tr {
        top: 0;
        right: 0;
        border-bottom: 0;
        border-left: 0;
    }

    body.home.page-id-2489 #fusion-slider-49 .text-frame .bl {
        bottom: 0;
        left: 0;
        border-top: 0;
        border-right: 0;
    }

    body.home.page-id-2489 #fusion-slider-49 .text-frame .br {
        right: 0;
        bottom: 0;
        border-top: 0;
        border-left: 0;
    }
}
    
