.nuva-spaces-carousel{
    --nuva-gap:8px;
    --nuva-bg:#f5f2eb;
    --nuva-ink:#050505;
    --nuva-muted:#777777;
    --nuva-progress:#b7b7b7;
    --nuva-progress-active:#424129;
    width:100%;
    max-width:1280px;
    margin-inline:auto;
    --nuva-heading-size:52.8px;
    display:grid;
    grid-template-columns:minmax(0,48%) minmax(0,52%);
    gap:0;
    overflow:hidden;
    box-sizing:border-box;
    padding:24px 12px 10px 26px;
    background:var(--nuva-bg);
    color:var(--nuva-ink);
    font-family:Arial,Helvetica,sans-serif;
}
.nuva-spaces-carousel *,
.nuva-spaces-carousel *::before,
.nuva-spaces-carousel *::after{box-sizing:border-box}
.nuva-spaces-carousel__left{
    min-width:0;
    padding-right:18px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}
.nuva-spaces-carousel__copy{min-width:0}
.nuva-spaces-carousel__title,
.nuva-spaces-carousel__statement{margin:0;color:var(--nuva-ink)}
.nuva-spaces-carousel__title,
.nuva-spaces-carousel__statement{
    font-family:'Montserrat',Arial,Helvetica,sans-serif !important;
    font-size:var(--nuva-heading-size) !important;
    line-height:1.10 !important;
    letter-spacing:-.02em !important;
}
.nuva-spaces-carousel__title{font-weight:500 !important}
.nuva-spaces-carousel__title span{display:block;white-space:nowrap}
.nuva-spaces-carousel__statement{
    margin-top:12px;
    font-weight:600 !important;
    white-space:nowrap;
}
.nuva-spaces-carousel__controls{
    margin-top:18px;
    transform:none;
}
.nuva-spaces-carousel__progress{
    width:min(380px,70%);
    display:flex;
    align-items:center;
    gap:7px;
}
.nuva-spaces-carousel__dot{
    appearance:none;
    border:0;
    border-radius:0;
    flex:1 1 0;
    min-width:8px;
    height:7px;
    padding:0;
    margin:0;
    background:var(--nuva-progress);
    cursor:pointer;
    transition:background .2s ease,transform .2s ease;
}
.nuva-spaces-carousel__dot:hover{transform:translateY(-1px)}
.nuva-spaces-carousel__dot.is-active{background:var(--nuva-progress-active)}
.nuva-spaces-carousel__arrows{
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:8px;
    padding-left:min(137px,25%);
}
.nuva-spaces-carousel__arrow{
    appearance:none;
    width:50px;
    height:50px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    margin:0;
    cursor:pointer;
    font:400 30px/1 Arial,Helvetica,sans-serif;
    transition:transform .18s ease,opacity .18s ease;
    box-shadow:none;
}
.nuva-spaces-carousel__arrow:hover{transform:scale(1.04)}
.nuva-spaces-carousel__arrow:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.nuva-spaces-carousel__arrow--prev{background:transparent;color:#000;border:3px solid #000}
.nuva-spaces-carousel__arrow--next{background:#000;color:#fff;border:3px solid #000}
.nuva-spaces-carousel__arrow span{display:block;transform:translateY(-1px)}
.nuva-spaces-carousel__right{min-width:0;margin-left:-8px;width:calc(100% + 8px)}
.nuva-spaces-carousel__viewport{width:100%;overflow:hidden;touch-action:pan-y}
.nuva-spaces-carousel__track{
    display:flex;
    align-items:flex-start;
    gap:var(--nuva-gap);
    transform:translate3d(0,0,0);
    transition:transform .55s cubic-bezier(.22,.61,.36,1);
    will-change:transform;
}
.nuva-spaces-carousel__track.is-dragging{transition:none}
.nuva-spaces-carousel__slide{
    flex:0 0 calc((100% - var(--nuva-gap))/2);
    min-width:0;
    margin:0;
    padding:0;
    background:transparent !important;
    box-shadow:none !important;
}
.nuva-spaces-carousel__image-wrap{
    width:100%;
    aspect-ratio:4/3;
    overflow:hidden;
    border-radius:5px;
    background:transparent !important;
    line-height:0;
}
.nuva-spaces-carousel__image{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center;
    background:transparent !important;
    border-radius:5px;
}
.nuva-spaces-carousel__caption{
    margin:6px 0 0;
    background:transparent !important;
    box-shadow:none !important;
    min-height:1.15em;
    padding:0 8px;
    text-align:center;
    color:#737373;
    font-family:'Montserrat',Arial,Helvetica,sans-serif;
    font-size:clamp(11.2px,.868vw,19.2px);
    line-height:1.05;
    letter-spacing:-.028em;
    font-weight:600;
}
.nuva-spaces-carousel__caption p{margin:0}
.nuva-spaces-carousel__setup{
    padding:18px 20px;
    border:1px dashed #a7a7a7;
    background:#fff;
    color:#333;
    font:14px/1.5 Arial,sans-serif;
}
@media (max-width:1100px){
    .nuva-spaces-carousel{
        --nuva-heading-size:clamp(42.24px,4.752vw,52.8px);
        grid-template-columns:minmax(0,48%) minmax(0,52%);
        padding:22px 12px 22px 20px;
    }
    .nuva-spaces-carousel__title span{white-space:nowrap}
    .nuva-spaces-carousel__statement{white-space:nowrap}
    .nuva-spaces-carousel__controls{transform:none}
    .nuva-spaces-carousel__progress{width:min(340px,76%);gap:6px}
    .nuva-spaces-carousel__dot{height:6px;min-width:7px}
    .nuva-spaces-carousel__arrows{padding-left:105px;gap:8px;margin-top:8px}
    .nuva-spaces-carousel__arrow{width:46px;height:46px;font-size:28px;border-width:3px}
}
@media (max-width:767px){
    .nuva-spaces-carousel{
        --nuva-heading-size:clamp(26.4px,7.92vw,36.96px);
        display:block;
        padding:26px 18px 26px;
    }
    .nuva-spaces-carousel__left{padding-right:0}
    .nuva-spaces-carousel__title span{white-space:nowrap;transform:none;width:auto}
    .nuva-spaces-carousel__statement{margin-top:10px;white-space:nowrap;transform:none;width:auto}
    .nuva-spaces-carousel__right{margin-left:0;width:100%}
    .nuva-spaces-carousel__controls{margin-top:18px;margin-bottom:14px;transform:none}
    .nuva-spaces-carousel__progress{width:100%;gap:4px}
    .nuva-spaces-carousel__dot{height:5px;min-width:4px}
    .nuva-spaces-carousel__arrows{padding-left:0;justify-content:center;margin-top:8px;gap:8px}
    .nuva-spaces-carousel__arrow{width:44px;height:44px;font-size:27px;border-width:2px}
    .nuva-spaces-carousel__slide{flex-basis:100%}
    .nuva-spaces-carousel__caption{font-size:12px}
}
@media (prefers-reduced-motion:reduce){
    .nuva-spaces-carousel__track,.nuva-spaces-carousel__arrow,.nuva-spaces-carousel__dot{transition:none}
}
