.wpp-section-component{
    font-family:var(--wpp-font-sans);
    color:var(--wpp-color-text);
}
.wpp-section-soft{
    background:var(--wpp-color-surface-soft);
}
.wpp-section-header{
    max-width:760px;
    margin:0 auto var(--wpp-space-6);
    text-align:center;
}
.wpp-section-eyebrow{
    margin-bottom:var(--wpp-space-2);
    color:var(--wpp-color-primary);
    font-size:var(--wpp-font-size-sm);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.wpp-section-title{
    margin:0;
    color:var(--wpp-color-text);
    font-size:clamp(1.8rem,4vw,2.7rem);
    line-height:1.1;
}
.wpp-section-title--hero{
    font-size:clamp(2.35rem,6vw,4.6rem);
}
.wpp-section-lead{
    max-width:720px;
    margin:var(--wpp-space-4) 0 0;
    color:var(--wpp-color-muted);
    font-size:clamp(1rem,2vw,1.2rem);
    line-height:1.65;
}
.wpp-section-header .wpp-section-lead{
    margin-inline:auto;
}
.wpp-section-actions{
    margin-top:var(--wpp-space-5);
}
.wpp-section-hero__grid,
.wpp-section-split{
    display:grid;
    grid-template-columns:1fr;
    gap:var(--wpp-space-7);
    align-items:center;
}
.wpp-section-hero__grid.has-image,
.wpp-section-split{
    grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);
}
.wpp-section-split.is-image-left .wpp-section-copy{
    order:2;
}
.wpp-section-split.is-image-left .wpp-section-media{
    order:1;
}
.wpp-section-media img{
    display:block;
    width:100%;
    height:auto;
    border-radius:var(--wpp-radius-lg);
    box-shadow:var(--wpp-shadow-md);
}
.wpp-section-placeholder{
    min-height:320px;
    display:grid;
    place-items:center;
    border:1px dashed var(--wpp-color-border);
    border-radius:var(--wpp-radius-lg);
    background:var(--wpp-color-surface-soft);
    color:var(--wpp-color-muted);
}
.wpp-section-richtext{
    margin-top:var(--wpp-space-4);
    color:var(--wpp-color-muted);
    line-height:1.75;
}
.wpp-section-cards,
.wpp-post-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--wpp-space-4);
}
.wpp-feature-card h3,
.wpp-post-card h3{
    margin-top:0;
}
.wpp-feature-card p,
.wpp-post-card p{
    color:var(--wpp-color-muted);
}
.wpp-cta-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--wpp-space-5);
    padding:clamp(1.5rem,4vw,3rem);
    border-radius:var(--wpp-radius-lg);
    background:var(--wpp-color-primary);
    color:#fff;
}
.wpp-cta-box .wpp-section-title,
.wpp-cta-box p{
    color:#fff;
}
.wpp-cta-box .wpp-btn--primary{
    background:#fff;
    color:var(--wpp-color-primary);
}
.wpp-faq-list{
    display:grid;
    gap:var(--wpp-space-3);
}
.wpp-post-card{
    padding:0;
    overflow:hidden;
}
.wpp-post-card__image{
    display:block;
    aspect-ratio:16/9;
    overflow:hidden;
}
.wpp-post-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.wpp-post-card__body{
    padding:var(--wpp-space-4);
}
.wpp-post-card__meta{
    margin-bottom:var(--wpp-space-2);
    color:var(--wpp-color-muted);
    font-size:var(--wpp-font-size-sm);
}
.wpp-post-card h3 a{
    color:inherit;
    text-decoration:none;
}
.wpp-section-muted{
    color:var(--wpp-color-muted);
}
.wpp-section-preview{
    margin:18px 0;
    overflow:hidden;
    border:1px solid #dcdcde;
    border-radius:10px;
    background:#fff;
}
.wpp-section-preview .wpp-section{
    padding-block:36px;
}

@media(max-width:900px){
    .wpp-section-hero__grid.has-image,
    .wpp-section-split{
        grid-template-columns:1fr;
    }
    .wpp-section-split.is-image-left .wpp-section-copy,
    .wpp-section-split.is-image-left .wpp-section-media{
        order:initial;
    }
    .wpp-section-cards,
    .wpp-post-grid{
        grid-template-columns:1fr;
    }
    .wpp-cta-box{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* v0.21.0 · per-section Page Composer layout controls */
.wpp-section-frame{
    width:100%;
}
.wpp-section-frame--width-narrow .wpp-container{
    max-width:var(--wpp-container-sm);
}
.wpp-section-frame--width-normal .wpp-container{
    max-width:var(--wpp-container-md);
}
.wpp-section-frame--width-wide .wpp-container{
    max-width:var(--wpp-container-lg);
}

.wpp-section-frame--space-compact .wpp-section{
    padding-block:calc(var(--wpp-section-space,48px) * .58);
}
.wpp-section-frame--space-large .wpp-section{
    padding-block:calc(var(--wpp-section-space,48px) * 1.5);
}

.wpp-section-frame--bg-surface,
.wpp-section-frame--bg-surface>.wpp-section{
    background:var(--wpp-color-surface,#fff);
}
.wpp-section-frame--bg-soft,
.wpp-section-frame--bg-soft>.wpp-section{
    background:var(--wpp-color-surface-soft,#f7f8f7);
}
.wpp-section-frame--bg-custom,
.wpp-section-frame--bg-custom>.wpp-section{
    background:var(--wpp-section-custom-bg,transparent);
}

@media(min-width:1101px){
    .wpp-section-hide-desktop{display:none!important}
}
@media(min-width:701px) and (max-width:1100px){
    .wpp-section-hide-tablet{display:none!important}
}
@media(max-width:700px){
    .wpp-section-frame--space-compact .wpp-section{
        padding-block:calc(var(--wpp-section-space-mobile,32px) * .62);
    }
    .wpp-section-frame--space-large .wpp-section{
        padding-block:calc(var(--wpp-section-space-mobile,32px) * 1.45);
    }
    .wpp-section-hide-mobile{display:none!important}
}

/* v0.26.0 · Page Composer v2 */
.wpp-section-frame--width-full .wpp-container{max-width:none}
.wpp-section-frame--space-custom .wpp-section{padding-block:var(--wpp-section-custom-space,64px)}
.wpp-section-frame--bg-primary,
.wpp-section-frame--bg-primary>.wpp-section{background:var(--wpp-color-primary)}
.wpp-section-frame--bg-primary .wpp-section-title,
.wpp-section-frame--bg-primary .wpp-section-eyebrow,
.wpp-section-frame--bg-primary .wpp-section-richtext,
.wpp-section-frame--bg-primary .wpp-section-lead,
.wpp-section-frame--bg-primary .wpp-section-muted{color:#fff}
.wpp-section-frame--bg-image,
.wpp-section-frame--bg-image>.wpp-section{
    background-image:var(--wpp-section-bg-image);
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
}
.wpp-section-actions--multi{display:flex;flex-wrap:wrap;gap:var(--wpp-space-3)}
.wpp-section-hero__grid.is-layout-image-left .wpp-section-copy{order:2}
.wpp-section-hero__grid.is-layout-image-left .wpp-section-media{order:1}
.wpp-section-hero__grid.is-layout-centered{display:block;max-width:900px;text-align:center}
.wpp-section-hero__grid.is-layout-centered .wpp-section-lead{margin-inline:auto}
.wpp-section-hero__grid.is-layout-centered .wpp-section-actions{justify-content:center}
.wpp-section-hero__grid.is-layout-centered .wpp-section-media{max-width:760px;margin:var(--wpp-space-6) auto 0}
.wpp-section-split.is-ratio-60-40{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}
.wpp-section-split.is-ratio-40-60{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}
.wpp-section-cards.is-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.wpp-section-cards.is-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.wpp-section-cards.is-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.wpp-feature-card.is-clickable{display:block;color:inherit;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}
.wpp-feature-card.is-clickable:hover{transform:translateY(-2px);box-shadow:var(--wpp-shadow-md)}
.wpp-feature-card__icon{margin-bottom:var(--wpp-space-3);font-size:1.65rem;line-height:1}
.wpp-feature-card__link{display:inline-block;margin-top:var(--wpp-space-3);color:var(--wpp-color-primary);font-weight:700}
.wpp-cta-box.has-image{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr)}
.wpp-cta-box__media img{display:block;width:100%;height:100%;max-height:280px;object-fit:cover;border-radius:var(--wpp-radius-lg)}
.wpp-cta-box.is-variant-split{background:var(--wpp-color-text)}
.wpp-cta-box.is-variant-soft{background:var(--wpp-color-surface-soft);color:var(--wpp-color-text);border:1px solid var(--wpp-color-border)}
.wpp-cta-box.is-variant-soft .wpp-section-title,
.wpp-cta-box.is-variant-soft p{color:var(--wpp-color-text)}
.wpp-cta-box.is-variant-soft .wpp-btn--primary{background:var(--wpp-color-primary);color:#fff}
.wpp-testimonial-grid{display:grid;gap:var(--wpp-space-4)}
.wpp-testimonial-grid.is-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.wpp-testimonial-grid.is-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.wpp-testimonial-card{position:relative}
.wpp-testimonial-card__image{width:54px;height:54px;object-fit:cover;border-radius:999px;margin-bottom:var(--wpp-space-3)}
.wpp-testimonial-card blockquote{margin:0;color:var(--wpp-color-muted)}
.wpp-testimonial-card blockquote p:first-child{margin-top:0}
.wpp-testimonial-card__author{display:grid;gap:2px;margin-top:var(--wpp-space-4)}
.wpp-testimonial-card__author span{color:var(--wpp-color-muted);font-size:var(--wpp-font-size-sm)}
.wpp-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:var(--wpp-space-7);align-items:start}
.wpp-contact-grid.has-image.has-form{grid-template-columns:minmax(0,.9fr) minmax(240px,.65fr) minmax(320px,1fr)}
.wpp-contact-details{display:grid;gap:var(--wpp-space-2);margin-top:var(--wpp-space-5)}
.wpp-contact-details>a{color:var(--wpp-color-text);font-weight:700;text-decoration:none}
.wpp-contact-form{min-width:0}
@media(max-width:1000px){
    .wpp-section-cards.is-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}
    .wpp-contact-grid,.wpp-contact-grid.has-image.has-form{grid-template-columns:1fr 1fr}
    .wpp-contact-grid.has-form .wpp-contact-form{grid-column:1/-1}
}
@media(max-width:700px){
    .wpp-section-frame--space-custom .wpp-section{padding-block:var(--wpp-section-custom-space-mobile,40px)}
    .wpp-section-hero__grid.is-layout-image-left .wpp-section-copy,
    .wpp-section-hero__grid.is-layout-image-left .wpp-section-media{order:initial}
    .wpp-section-split.is-ratio-60-40,.wpp-section-split.is-ratio-40-60{grid-template-columns:1fr}
    .wpp-section-cards.is-columns-2,.wpp-section-cards.is-columns-3,.wpp-section-cards.is-columns-4,
    .wpp-testimonial-grid.is-columns-2,.wpp-testimonial-grid.is-columns-3,
    .wpp-contact-grid,.wpp-contact-grid.has-image.has-form,.wpp-cta-box.has-image{grid-template-columns:1fr}
    .wpp-contact-grid.has-form .wpp-contact-form{grid-column:auto}
}
