/* WBS 2.0 — extends the original cream / deep-green visual system. */
[hidden]{display:none!important}html{scroll-padding-top:110px}.wbs-header{position:fixed;background:rgba(248,231,201,.97);border-bottom:1px solid var(--line);padding:14px 0;z-index:1000}.wbs-header .wrap{position:static}.wbs-header nav{gap:24px}.wbs-header .logo img{width:150px;height:auto;max-height:60px;object-fit:contain}.wbs-navigation{display:flex;align-items:center;gap:28px}.wbs-navigation>a,.wbs-extra-menu a,.wbs-services-nav>button{font:600 14px 'Inter',sans-serif;color:var(--primary);text-decoration:none}.wbs-services-nav>button{background:transparent;border:0;padding:16px 0;cursor:pointer}.wbs-services-nav>button span{display:inline-block;transition:transform .2s}.wbs-services-nav>button[aria-expanded=true] span{transform:rotate(180deg)}.wbs-extra-menu{list-style:none;display:flex;gap:28px;margin:0;padding:0}.wbs-navigation .btn{color:#f8e7c9}.wbs-menu-toggle{display:none;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--primary);font:600 14px inherit;cursor:pointer}.wbs-mega{position:absolute;top:100%;left:0;right:0;background:#073e31;color:#f6eedf;border-top:1px solid #ffffff22;box-shadow:0 24px 38px #022c2226;max-height:calc(100dvh - 110px);overflow:auto}.wbs-mega-grid{max-width:1460px;margin:auto;padding:36px 40px;display:grid;grid-template-columns:1.05fr 1fr 1fr 1fr;gap:34px}.wbs-mega-intro{padding-right:30px;border-right:1px solid #ffffff22}.wbs-mega .wbs-kicker{color:#b7d5bc}.wbs-mega h2{font-size:32px;line-height:1.15;letter-spacing:-1px;color:#f8e7c9;margin:14px 0}.wbs-mega p{font-size:13px;color:#c2d5c9;line-height:1.8;margin:0 0 18px}.wbs-mega a{color:#f4e9d2;text-decoration:none;font-size:13px}.wbs-mega-call{display:block;border:1px solid #ffffff30;border-radius:12px;padding:16px;margin-top:24px}.wbs-mega-call strong{display:block;margin-top:8px}.wbs-mega-group h3{font-size:15px;color:#f8e7c9;border-bottom:1px solid #ffffff30;padding-bottom:16px;margin:0 0 12px}.wbs-mega-group ul{list-style:none;margin:0;padding:0}.wbs-mega-group a{display:flex;justify-content:space-between;gap:8px;line-height:1.5;padding:11px 8px;border-radius:6px}.wbs-mega-group a:hover,.wbs-mega-group a:focus-visible{background:#ffffff12}.wbs-skip{position:fixed;top:-100px;left:16px;z-index:2000;background:#fff;padding:14px;border:2px solid #064e3b}.wbs-skip:focus{top:10px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #0d9488;outline-offset:4px}body.admin-bar .wbs-header{top:32px}.wbs-section{padding:80px 0}.wbs-page-hero{padding:160px 0 70px}.wbs-page-hero h1{font-size:clamp(36px,4.6vw,66px);line-height:1.12;letter-spacing:-2px;margin:20px 0 24px;max-width:1000px}.wbs-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:1.8px;color:#087b65;margin-bottom:14px}.wbs-section h2{font-size:clamp(28px,3vw,42px);line-height:1.18;letter-spacing:-1px;margin:0 0 22px}.wbs-section p,.wbs-page-hero p{font-size:16px;line-height:1.85;color:var(--text-dim);margin:0 0 22px}.wbs-two-col{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start}.wbs-grid-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.wbs-panel{padding:32px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;box-shadow:var(--glass-shadow);min-width:0}.wbs-panel h2,.wbs-panel h3{font-size:23px;line-height:1.35;letter-spacing:-.5px;margin:0 0 16px}.wbs-panel p:last-child{margin-bottom:0}.wbs-panel[id]{scroll-margin-top:120px}.wbs-panel a:not(.btn){color:var(--primary);font-weight:600}.wbs-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px}.wbs-actions a:not(.btn){color:var(--primary);font-weight:600;font-size:14px}.wbs-soft{background:#ffffff30}.wbs-inline-note{padding-top:18px;margin-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--primary)}.wbs-breadcrumb{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px;font-size:12px;margin-bottom:30px}.wbs-prose{max-width:920px}.wbs-prose p{margin-bottom:22px}.wbs-prose ul,.wbs-prose ol{padding-left:24px}.wbs-checklist{list-style:none;padding:0;margin:0}.wbs-checklist li{padding:16px 0 16px 24px;border-bottom:1px solid var(--line);position:relative;font-size:15px;line-height:1.7}.wbs-checklist li:before{content:'✓';position:absolute;left:0;color:#087b65}.wbs-process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:30px}.wbs-process-grid .wbs-panel{padding:24px}.wbs-process-grid h3{font-size:19px}.wbs-process-grid p{font-size:14px}.wbs-link-list{display:flex;gap:12px;flex-wrap:wrap}.wbs-link-list a{border:1px solid var(--line);border-radius:24px;padding:12px 18px;text-decoration:none;font-size:14px}.wbs-faqs{margin-top:28px}.wbs-faqs details{border-top:1px solid var(--line);padding:20px 0}.wbs-faqs summary{cursor:pointer;font-size:18px;font-weight:600;line-height:1.5}.wbs-faqs p{margin:16px 0 0}.wbs-cta-band{background:#e8dbc0}.wbs-cta-band p{max-width:760px}.wbs-portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:36px}.wbs-project{overflow:hidden;border:1px solid var(--glass-border);border-radius:24px;background:var(--glass-bg);box-shadow:var(--glass-shadow);min-width:0}.wbs-project-image{display:block;aspect-ratio:3/2;background:#e6ddc7}.wbs-project-image img{display:block;width:100%;height:100%;object-fit:contain}.wbs-project-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:clamp(22px,3vw,40px);color:var(--primary);background:radial-gradient(ellipse at top,#ffffffaa,transparent)}.wbs-project-body{padding:30px}.wbs-project h3{font-size:24px;line-height:1.4;margin:0 0 15px;letter-spacing:-.7px}.wbs-project-body p{font-size:15px}.wbs-role{padding-top:16px;border-top:1px solid var(--line)}.wbs-case-image{width:100%;max-height:760px;object-fit:contain;border-radius:24px}.wbs-trust-band{padding:30px 0;border-block:1px solid var(--line)}.wbs-trust-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;font-weight:600}.wbs-reviews__widget{background:#ffffff00 !important;border-radius:20px;padding:24px;color:#153d31}.wbs-reviews__widget p{color:#153d31}#testimonials .wbs-kicker{color:#c2d5c9}.wbs-contact-form input,.wbs-contact-form select,.wbs-contact-form textarea{max-width:100%}.wbs-contact-form .wpcf7{min-width:0;width:100%}.foot-brand .logo img{width:150px;height:auto}.foot-brand .btn{margin-top:20px}footer .foot-col span{font-size:14px;color:var(--text-dim)}.wbs-header+main #hero{padding-top:170px}.wbs-page-hero .lead{font-size:18px}.wbs-content-empty{min-height:200px}
/* Content remains usable when scripts or icon CDN are unavailable. */
.reveal{opacity:1;transform:none}.wbs-header button{font-family:inherit}body:not(.wbs-js) .wbs-mega{position:static;max-height:none}.wbs-project p,.wbs-panel p{overflow-wrap:anywhere}
@media(max-width:1100px){.wbs-navigation,.wbs-extra-menu{gap:18px}.wbs-mega-grid{gap:22px;padding:28px 24px}.wbs-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}.wbs-process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wbs-two-col{gap:32px}}
@media(max-width:900px){.wbs-menu-toggle{display:inline-flex;gap:12px;align-items:center}.wbs-navigation{position:absolute;top:100%;left:0;right:0;display:block;max-height:calc(100dvh - 100px);overflow:auto;background:#f8e7c9;padding:12px 24px 24px;border-bottom:1px solid var(--line)}.wbs-navigation>a:not(.btn),.wbs-extra-menu a,.wbs-services-nav>button{display:block;width:100%;padding:16px 0;text-align:left;font-size:16px}.wbs-extra-menu{display:block}.wbs-navigation>.btn{display:inline-flex;margin-top:16px}.wbs-mega{position:static!important;margin-inline:-10px;border-radius:16px;max-height:none;overflow:visible}.wbs-mega-grid{grid-template-columns:1fr 1fr;padding:24px;gap:24px}.wbs-mega-intro{grid-column:1/-1;border-right:0;padding:0 0 24px;border-bottom:1px solid #ffffff25}.wbs-two-col{grid-template-columns:1fr}.wbs-page-hero{padding-top:135px}.wbs-section{padding:55px 0}.wbs-portfolio-grid{gap:20px}.wbs-header nav{min-height:54px}.wbs-header{padding:10px 0}}
@media(max-width:782px){body.admin-bar .wbs-header{top:46px}}
@media(max-width:600px){body.admin-bar .wbs-header{top:0}.wbs-grid-three,.wbs-portfolio-grid,.wbs-process-grid,.wbs-mega-grid{grid-template-columns:1fr}.wbs-panel,.wbs-project-body{padding:24px}.wbs-page-hero h1{letter-spacing:-1.2px}.wbs-mega-intro{grid-column:auto}.wbs-actions .btn{width:100%;justify-content:center}.wbs-reviews__widget{padding:12px}.wbs-trust-grid{display:grid;grid-template-columns:1fr 1fr;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.wbs-pagination{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:40px}.wbs-pagination .page-numbers{padding:10px 16px;border:1px solid var(--line);border-radius:10px}.wbs-pagination .current,.wbs-link-list [aria-current=page]{background:var(--primary);color:#f8e7c9}.wbs-business-details{border-top:1px solid var(--line);padding:18px 0}.wbs-business-details address{font-style:normal;line-height:1.8;margin-top:8px}
.wbs-featured{margin-top:36px}.wbs-featured .wbs-project{margin-bottom:24px}.wbs-slider-enabled{overflow:hidden;border:1px solid var(--glass-border);border-radius:24px;background:var(--glass-bg);box-shadow:var(--glass-shadow)}.wbs-slider-enabled .wbs-slider-track{display:flex;align-items:stretch;transition:transform .35s ease}.wbs-slider-enabled .wbs-project{flex:0 0 100%;min-width:100%;display:grid;grid-template-columns:1fr 1.15fr;grid-template-areas:'copy image';border:0;border-radius:0;margin:0;box-shadow:none;background:transparent}.wbs-slider-enabled .wbs-project-image{grid-area:image;aspect-ratio:auto;display:flex;align-items:center;background:#ffffff20;padding:24px}.wbs-slider-enabled .wbs-project-image img{height:auto;aspect-ratio:3/2;border-radius:14px;object-fit:contain}.wbs-slider-enabled .wbs-project-body{grid-area:copy;padding:48px;display:flex;flex-direction:column;justify-content:center}.wbs-slider-controls{display:flex;align-items:center;gap:16px;padding:20px 28px;border-top:1px solid var(--line);font-size:14px}.wbs-slider-controls button{width:44px;height:44px;border-radius:50%;background:#fff9;border:1px solid var(--line);color:var(--primary);font-size:22px;cursor:pointer}.wbs-slider-controls>a{margin-left:auto}.wbs-slider-controls span{min-width:48px;text-align:center}body:not(.wbs-js) .wbs-header{position:static}body:not(.wbs-js) .wbs-header nav,body:not(.wbs-js) .wbs-navigation{display:block}body:not(.wbs-js) .wbs-navigation>a{display:inline-block;margin:12px}body:not(.wbs-js) .wbs-services-nav{margin:12px 0}
@media(max-width:900px){.wbs-slider-enabled .wbs-project{grid-template-columns:1fr;grid-template-areas:'image' 'copy'}.wbs-slider-enabled .wbs-project-body{padding:26px}.wbs-slider-enabled .wbs-project-image{padding:16px}.wbs-slider-controls{padding:16px;gap:10px;flex-wrap:wrap}}
/* Compact contact form */
.wbs-enquiry .wbs-enquiry__panel {
    padding: 28px 32px;
}

.wbs-enquiry .wbs-enquiry__heading {
    margin-bottom: 18px;
}

.wbs-enquiry .wbs-enquiry__heading h3 {
    margin: 8px 0;
    font-size: 26px;
}

/* Two fields next to each other */
.wbs-enquiry .wpcf7 .wbs-lead-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 14px !important;
    align-items: start;
}

.wbs-enquiry .wpcf7 .wbs-lead-grid > p {
    min-width: 0;
    width: auto;
}

/* Remove extra CF7-generated line breaks */
.wbs-enquiry .wbs-lead-fields > br,
.wbs-enquiry .wbs-lead-grid > br,
.wbs-enquiry .wbs-lead-fields label > br {
    display: none;
}

/* Reduce vertical spacing */
.wbs-enquiry .wpcf7 .wbs-lead-fields p {
    margin: 0 0 12px;
    padding: 0;
}

.wbs-enquiry .wpcf7 .wbs-lead-fields label {
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: normal;
}

.wbs-enquiry .wbs-lead-fields .wpcf7-form-control-wrap {
    margin-top: 5px;
}

/* Compact inputs */
.wbs-enquiry .wbs-lead-fields input:not(
    [type="submit"],
    [type="checkbox"],
    [type="radio"],
    [type="hidden"],
    [type="file"]
),
.wbs-enquiry .wbs-lead-fields select {
    height: 42px;
    min-height: 42px;
    padding: 9px 11px;
    font-size: 13px;
}

.wbs-enquiry .wbs-lead-fields textarea {
    height: 88px;
    min-height: 88px;
    padding: 10px 11px;
    font-size: 13px;
    resize: vertical;
}

.wbs-enquiry .wbs-lead-consent {
    margin: 0 0 12px;
}

.wbs-enquiry .wbs-lead-consent label {
    font-size: 11px;
    line-height: 1.5;
}

.wbs-enquiry .wbs-lead-captcha {
    margin-bottom: 12px;
}

.wbs-enquiry .wbs-lead-submit input[type="submit"] {
    height: 46px;
    min-height: 46px;
    margin-top: 0;
    padding: 11px 16px;
    font-size: 13px;
}

.wbs-enquiry .wpcf7 .wbs-lead-note {
    margin: 8px 0 0;
    font-size: 10px;
    line-height: 1.5;
}

/* Keep paired fields on tablets */
@media (max-width: 850px) {
    .wbs-enquiry .wbs-enquiry__panel {
        padding: 28px;
    }
}

/* Stack only on small phones */
@media (max-width: 420px) {
    .wbs-enquiry .wbs-enquiry__panel {
        padding: 24px 18px;
    }

    .wbs-enquiry .wpcf7 .wbs-lead-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}
.wbs-reviews__widget {
    background: #ffffff00 !important;
    border-radius: 20px;
    padding: 24px;
    color: #153d31;
}
/* COMPACT AI SECTION */
.wbs-ai-compact,
.wbs-ai-compact * {
    box-sizing: border-box;
}

.wbs-ai-compact {
    position: relative;
    isolation: isolate;
    padding: clamp(32px, 4vw, 60px) clamp(24px, 5vw, 72px);
    margin: 24px clamp(12px, 2vw, 30px);
    border-radius: 26px;
    background: #092f28;
    color: #fff2d7;
    scroll-margin-top: 100px;
}

/* Image and overlay remain clipped without clipping text or focus outlines */
.wbs-ai-compact::before,
.wbs-ai-compact::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    pointer-events: none;
}

.wbs-ai-compact::before {
    background-image: var(--wbs-ai-image, none);
    background-position: center;
    background-size: cover;
    opacity: .45;
}

.wbs-ai-compact::after {
    background: linear-gradient(
        100deg,
        rgba(5, 35, 28, .94) 0%,
        rgba(5, 35, 28, .86) 45%,
        rgba(5, 35, 28, .82) 100%
    );
}

.wbs-ai-compact__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    align-items: center;
    gap: clamp(30px, 6vw, 90px);
    max-width: 1240px;
    margin: 0 auto;
}

.wbs-ai-compact__intro,
.wbs-ai-compact__services,
.wbs-ai-compact__services a > div {
    min-width: 0;
}

.wbs-ai-compact .wbs-ai-compact__eyebrow {
    display: block;
    margin-bottom: 20px;
    color: #d0dfb8;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .15em;
}

.wbs-ai-compact h2 {
    margin: 0 0 20px;
    color: #fff2d7;
    font-family: inherit;
    font-size: clamp(32px, 3.6vw, 50px);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -.04em;
    text-transform: none;
}

.wbs-ai-compact h2 > span {
    color: #ccddb4;
}

.wbs-ai-compact .wbs-ai-compact__intro > p {
    max-width: 410px;
    margin: 0;
    color: #dce6d7;
    font-size: 15px;
    line-height: 1.8;
}

.wbs-ai-compact .wbs-ai-compact__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 46px;
    margin-top: 24px;
    padding: 12px 18px;
    border: 1px solid #d6e2bd;
    border-radius: 7px;
    background: #d6e2bd;
    color: #173f35;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.5;
    text-decoration: none;
}

.wbs-ai-compact .wbs-ai-compact__cta:hover {
    background: #eef1dc;
    border-color: #eef1dc;
}

.wbs-ai-compact__note {
    margin-top: 18px;
    color: #c7d7c2;
    font-size: 11px;
    line-height: 1.7;
}

.wbs-ai-compact .wbs-ai-compact__services {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbs-ai-compact .wbs-ai-compact__services > li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid rgba(216, 231, 196, .24);
}

.wbs-ai-compact .wbs-ai-compact__services > li:first-child {
    border-top: 1px solid rgba(216, 231, 196, .24);
}

.wbs-ai-compact .wbs-ai-compact__services a {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 14px;
    padding: 17px 0;
    color: #fff2d7;
    text-decoration: none;
}

.wbs-ai-compact__number {
    align-self: start;
    padding-top: 4px;
    color: #ccddb4;
    font-size: 10px;
    line-height: 1.5;
    font-variant-numeric: tabular-nums;
}

.wbs-ai-compact .wbs-ai-compact__services h3 {
    margin: 0 0 5px;
    color: #fff2d7;
    font-family: inherit;
    font-size: clamp(17px, 1.5vw, 21px);
    font-weight: 550;
    line-height: 1.3;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}

.wbs-ai-compact .wbs-ai-compact__services p {
    margin: 0;
    color: #d2dfcc;
    font-size: 12px;
    line-height: 1.65;
}

.wbs-ai-compact__arrow {
    color: #ccddb4;
    font-size: 22px;
    transition: transform .2s ease;
}

@media (hover: hover) {
    .wbs-ai-compact__services a:hover .wbs-ai-compact__arrow {
        transform: translate(3px, -3px);
    }

    .wbs-ai-compact .wbs-ai-compact__services a:hover h3 {
        color: #ccddb4;
    }
}

.wbs-ai-compact a:focus-visible {
    outline: 2px solid #d6e2bd;
    outline-offset: 5px;
    border-radius: 4px;
}

/* Compact spacing for shorter desktop screens */
@media (min-width: 901px) and (max-height: 750px) {
    .wbs-ai-compact {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .wbs-ai-compact .wbs-ai-compact__services a {
        padding: 13px 0;
    }

    .wbs-ai-compact h2 {
        font-size: 38px;
    }
}

@media (max-width: 900px) {
    .wbs-ai-compact__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .wbs-ai-compact .wbs-ai-compact__intro > p {
        max-width: 600px;
    }
}

@media (max-width: 480px) {
    .wbs-ai-compact {
        margin: 18px 12px;
        padding: 30px 22px;
        border-radius: 20px;
    }

    .wbs-ai-compact h2 {
        font-size: 34px;
    }

    .wbs-ai-compact .wbs-ai-compact__services a {
        grid-template-columns: 18px minmax(0, 1fr) 18px;
        gap: 10px;
        padding: 16px 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wbs-ai-compact__arrow {
        transition: none;
    }

    .wbs-ai-compact__services a:hover .wbs-ai-compact__arrow {
        transform: none;
    }
}
.wbs-whatsapp {
    position: fixed;
    right: 24px;
    bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    z-index: 999;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 13px 19px;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 999px;
    background: #173f35;
    color: #fff2d7;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .18);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}

.wbs-whatsapp svg {
    flex-shrink: 0;
    color: #c8e5af;
}

.wbs-whatsapp:hover {
    background: #245744;
    color: #fff2d7;
    transform: translateY(-3px);
}

.wbs-whatsapp:focus-visible {
    outline: 3px solid #64824d;
    outline-offset: 4px;
}

@media (max-width: 600px) {
    .wbs-whatsapp {
        right: 16px;
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        width: 54px;
        height: 54px;
        padding: 13px;
    }

    .wbs-whatsapp > span {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wbs-whatsapp {
        transition: none;
    }

    .wbs-whatsapp:hover {
        transform: none;
    }
}
/* WEB BY STEPS — MEGA NAVIGATION */
.wbs-mnav,
.wbs-mnav * {
    box-sizing: border-box;
}

.wbs-mnav {
    position: relative;
    color: #173f35;
    font-family: inherit;
}

.wbs-mnav .wbs-mnav__list,
.wbs-mnav .wbs-mnav__service-group ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wbs-mnav .wbs-mnav__list {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wbs-mnav .wbs-mnav__item {
    position: static;
    margin: 0;
    padding: 0;
}

.wbs-mnav button {
    font-family: inherit;
    cursor: pointer;
}

.wbs-mnav .wbs-mnav__trigger {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 12px 14px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #173f35;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    box-shadow: none;
}

.wbs-mnav__trigger > span {
    transition: transform .2s ease;
}

.wbs-mnav .wbs-mnav__trigger:hover,
.wbs-mnav .wbs-mnav__trigger[aria-expanded="true"] {
    background: #e8eddd;
}

.wbs-mnav__trigger[aria-expanded="true"] > span {
    transform: rotate(180deg);
}

/* Accessible no-JS fallback */
.wbs-mnav__panel {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: min(1120px, calc(100vw - 48px));
    padding: 32px;
    border: 1px solid #dce2d1;
    border-radius: 18px;
    background: #fffdf7;
    box-shadow: 0 22px 55px rgba(15, 47, 36, .14);
    z-index: 1000;
}

.wbs-mnav:not(.is-enhanced) .wbs-mnav__item:hover > .wbs-mnav__panel,
.wbs-mnav:not(.is-enhanced) .wbs-mnav__item:focus-within > .wbs-mnav__panel,
.wbs-mnav.is-enhanced .wbs-mnav__item.is-open > .wbs-mnav__panel {
    display: block;
}

.wbs-mnav .wbs-mnav__eyebrow {
    display: block;
    margin-bottom: 12px;
    color: #5b704e;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .14em;
}

.wbs-mnav .wbs-mnav__panel h2 {
    margin: 0 0 14px;
    color: #173f35;
    font-size: 28px;
    font-family: inherit;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.035em;
}

.wbs-mnav .wbs-mnav__panel p {
    margin: 0;
    color: #586852;
    font-size: 13px;
    line-height: 1.8;
}

.wbs-mnav .wbs-mnav__panel a {
    color: #173f35;
    text-decoration: none;
}

.wbs-mnav .wbs-mnav__panel a:hover {
    color: #426631;
}

.wbs-mnav__layout {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 42px;
}

.wbs-mnav__intro {
    padding: 24px;
    border-radius: 12px;
    background: #edf1e4;
}

.wbs-mnav .wbs-mnav__intro > a {
    display: inline-flex;
    gap: 14px;
    margin-top: 22px;
    font-size: 13px;
    font-weight: 600;
}

.wbs-mnav__links {
    display: grid;
    align-content: start;
}

.wbs-mnav .wbs-mnav__links > a {
    display: block;
    padding: 18px 0;
    border-bottom: 1px solid #e0e5d7;
}

.wbs-mnav__links strong,
.wbs-mnav__links a > span {
    display: block;
}

.wbs-mnav__links strong {
    margin-bottom: 6px;
    font-size: 17px;
    font-weight: 600;
}

.wbs-mnav__links a > span {
    color: #586852;
    font-size: 12px;
    line-height: 1.7;
}

.wbs-mnav__panel-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 26px;
}

.wbs-mnav__panel-top > a {
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 600;
}

.wbs-mnav__service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px;
}

.wbs-mnav .wbs-mnav__service-group h3 {
    margin: 0 0 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #dce2d1;
    color: #536b45;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}

.wbs-mnav .wbs-mnav__service-group li {
    margin: 0;
    padding: 0;
}

.wbs-mnav .wbs-mnav__service-group a {
    display: block;
    padding: 8px 0;
    font-size: 14px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.wbs-mnav__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #dce2d1;
    font-size: 12px;
    line-height: 1.7;
}

.wbs-mnav__bottom > span {
    color: #586852;
}

.wbs-mnav__bottom > a {
    flex-shrink: 0;
    font-weight: 600;
}

/* Latest articles */
.wbs-mnav__blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.wbs-mnav__article {
    min-width: 0;
}

.wbs-mnav__article-image {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    margin-bottom: 14px;
    border-radius: 10px;
    background: #173f35;
    color: #e1eacb;
}

.wbs-mnav__article-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wbs-mnav__article-image > span {
    font-size: 10px;
    line-height: 2;
    letter-spacing: .15em;
    text-align: center;
}

.wbs-mnav__article time {
    color: #68755e;
    font-size: 10px;
}

.wbs-mnav .wbs-mnav__article h3 {
    margin: 9px 0 12px;
    color: #173f35;
    font-family: inherit;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: -.02em;
}

.wbs-mnav__read {
    font-size: 11px;
    font-weight: 600;
}

.wbs-mnav a:focus-visible,
.wbs-mnav button:focus-visible {
    outline: 2px solid #52754a;
    outline-offset: 4px;
}

.wbs-mnav .wbs-mnav__mobile {
    display: none;
}

/* Panels positioned relative to viewport width, set by JS */
@media (min-width: 1001px) {
    .wbs-mnav.is-enhanced .wbs-mnav__panel {
        position: fixed;
        top: var(--wbs-menu-top, 90px);
        left: 50%;
        max-height: calc(100dvh - var(--wbs-menu-top, 90px) - 20px);
        overflow-y: auto;
    }
}

/* Mobile navigation */
@media (max-width: 1000px) {
    .wbs-mnav.is-enhanced .wbs-mnav__mobile {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        min-height: 44px;
        padding: 9px 14px;
        border: 1px solid #cbd5bf;
        border-radius: 7px;
        background: #f5f0e5;
        color: #173f35;
        font-size: 13px;
    }

    .wbs-mnav .wbs-mnav__list {
        display: block;
    }

    .wbs-mnav.is-enhanced .wbs-mnav__list {
        display: none;
        position: fixed;
        top: var(--wbs-menu-top, 80px);
        left: 12px;
        right: 12px;
        max-height: calc(100dvh - var(--wbs-menu-top, 80px) - 16px);
        overflow-y: auto;
        padding: 12px 20px;
        border: 1px solid #dce2d1;
        border-radius: 12px;
        background: #fffdf7;
        box-shadow: 0 18px 40px rgba(15, 47, 36, .14);
        z-index: 1000;
    }

    .wbs-mnav.is-enhanced.is-mobile-open .wbs-mnav__list {
        display: block;
    }

    .wbs-mnav .wbs-mnav__trigger {
        justify-content: space-between;
        width: 100%;
        padding: 14px 0;
        border-radius: 0;
        border-bottom: 1px solid #e0e5d7;
        background: transparent;
        text-align: left;
    }

    .wbs-mnav .wbs-mnav__panel {
        position: static;
        width: 100%;
        max-height: none;
        padding: 22px 0;
        border: 0;
        border-radius: 0;
        transform: none;
        box-shadow: none;
    }

    .wbs-mnav__layout,
    .wbs-mnav__blog-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }

    .wbs-mnav__service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .wbs-mnav__panel-top,
    .wbs-mnav__bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .wbs-mnav .wbs-mnav__panel h2 {
        font-size: 23px;
    }

    .wbs-mnav__article-image {
        max-height: 200px;
    }
}

@media (max-width: 420px) {
    .wbs-mnav__service-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .wbs-mnav__trigger > span {
        transition: none;
    }
}
.wbs-header .wbs-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
}

.wbs-header-row > .logo,
.wbs-header-row > .wbs-header-project {
    flex-shrink: 0;
}

.wbs-header-row > .wbs-mnav {
    margin-left: auto;
}

.wbs-header-row > .logo img {
    display: block;
    width: 150px;
    height: auto;
}

/* Center desktop mega panels relative to the header row */
@media (min-width: 1001px) {
    .wbs-header-row {
        position: relative;
    }

    .wbs-header-row > .wbs-mnav {
        position: static;
    }
}

@media (max-width: 1000px) {
    .wbs-header .wbs-header-row {
        gap: 14px;
    }

    .wbs-header-row > .wbs-header-project {
        display: none;
    }

    .wbs-header-row > .logo img {
        width: 130px;
    }
}
.wbs-header {
    background: #b4a99600 !important;
}
/* WEB BY STEPS — COMPLETE FOOTER */
.wbs-site-footer,
.wbs-site-footer * {
    box-sizing: border-box;
}

.wbs-site-footer {
    padding: 0 24px;
    border-top: 1px solid #d8decb;
    background: #eaf0df;
    color: #173f35;
}

.wbs-site-footer__inner {
    max-width: 1280px;
    margin: 0 auto;
}

/* Footer CTA */
.wbs-site-footer__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 44px 0;
    border-bottom: 1px solid #cbd5bf;
}

.wbs-site-footer .wbs-site-footer__eyebrow {
    display: block;
    margin-bottom: 12px;
    color: #52684c;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: .16em;
}

.wbs-site-footer h2 {
    margin: 0;
    color: #173f35;
    font-family: inherit;
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.035em;
}

.wbs-site-footer .wbs-site-footer__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-shrink: 0;
    min-height: 48px;
    padding: 13px 20px;
    border: 1px solid #173f35;
    border-radius: 7px;
    background: #173f35;
    color: #fff2d7;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
}

.wbs-site-footer .wbs-site-footer__cta:hover {
    background: #2b5743;
}

/* Four columns */
.wbs-site-footer__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.1fr)
        minmax(0, 1fr)
        minmax(0, .7fr)
        minmax(0, 1.2fr);
    gap: 36px;
    padding: 44px 0;
}

.wbs-site-footer__grid > * {
    min-width: 0;
}

.wbs-site-footer__logo {
    display: inline-block;
}

.wbs-site-footer__logo img {
    display: block;
    width: 150px;
    height: auto;
    margin: 0;
}

.wbs-site-footer .wbs-site-footer__brand > p {
    max-width: 270px;
    margin: 18px 0;
    color: #526355;
    font-size: 13px;
    line-height: 1.85;
}

.wbs-site-footer .wbs-site-footer__email {
    display: inline-block;
    color: #173f35;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.wbs-site-footer__location {
    display: block;
    margin-top: 14px;
    color: #526355;
    font-size: 12px;
    line-height: 1.8;
}

.wbs-site-footer h3 {
    margin: 0 0 18px;
    color: #173f35;
    font-family: inherit;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.4;
}

.wbs-site-footer .wbs-site-footer__links ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbs-site-footer .wbs-site-footer__links li {
    margin: 0;
    padding: 0;
}

.wbs-site-footer .wbs-site-footer__links a {
    display: inline-block;
    padding: 6px 0;
    color: #425640;
    font-size: 12px;
    line-height: 1.65;
    text-decoration: none;
}

.wbs-site-footer .wbs-site-footer__links a:hover,
.wbs-site-footer .wbs-site-footer__email:hover {
    color: #173f35;
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* Map */
.wbs-site-footer .wbs-site-footer__map > p {
    margin: -6px 0 16px;
    color: #526355;
    font-size: 12px;
    line-height: 1.7;
}

.wbs-site-footer__map iframe {
    display: block;
    width: 100%;
    height: 190px;
    border: 0;
    border-radius: 10px;
}

.wbs-site-footer .wbs-site-footer__map > a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    margin-top: 5px;
    color: #173f35;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
}

.wbs-site-footer .wbs-site-footer__map > a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* Bottom strip */
.wbs-site-footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 22px 0;
    border-top: 1px solid #cbd5bf;
}

.wbs-site-footer .wbs-site-footer__bottom > p {
    margin: 0;
    color: #526355;
    font-size: 11px;
    line-height: 1.7;
}

.wbs-site-footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
}

.wbs-site-footer .wbs-site-footer__legal a {
    color: #425640;
    font-size: 11px;
    line-height: 1.7;
    text-decoration: none;
}

.wbs-site-footer .wbs-site-footer__legal a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.wbs-site-footer a:focus-visible {
    outline: 2px solid #52754a;
    outline-offset: 4px;
    border-radius: 3px;
}

@media (max-width: 1050px) {
    .wbs-site-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px;
    }
}

@media (max-width: 600px) {
    .wbs-site-footer {
        padding: 0 22px;
    }

    .wbs-site-footer__top {
        flex-direction: column;
        align-items: flex-start;
        padding: 34px 0;
        gap: 22px;
    }

    .wbs-site-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 20px;
        padding: 34px 0;
    }

    .wbs-site-footer__brand,
    .wbs-site-footer__map {
        grid-column: 1 / -1;
    }

    .wbs-site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        padding-bottom: 80px;
    }
}
.wbs-footer-map {
    min-width: 0;
    width: 100%;
    max-width: 400px;
}

.wbs-footer-map h3 {
    margin: 0 0 10px;
    color: inherit;
    font-family: inherit;
    font-size: 17px;
    font-weight: 600;
}

.wbs-footer-map p {
    margin: 0 0 16px;
    color: inherit;
    font-size: 12px;
    line-height: 1.7;
}

.wbs-footer-map iframe {
    display: block;
    width: 100%;
    height: 200px;
    border: 0;
    border-radius: 12px;
}

.wbs-footer-map > a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    margin-top: 8px;
    color: inherit;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

.wbs-footer-map > a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.wbs-footer-map > a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}
/* CONTACT PAGE */
.wbs-contact-page,
.wbs-contact-page * {
    box-sizing: border-box;
}

.wbs-contact-page {
    padding: 28px 24px 64px;
    background: #f5f0e5;
    color: #173f35;
}

.wbs-contact-page__wrap {
    max-width: 1160px;
    margin: 0 auto;
}

.wbs-contact-page__breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
    color: #596b54;
    font-size: 11px;
    line-height: 1.6;
}

.wbs-contact-page__breadcrumb a {
    color: #173f35;
    text-decoration: none;
}

.wbs-contact-page__layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: start;
    gap: clamp(32px, 6vw, 80px);
}

.wbs-contact-page__intro {
    min-width: 0;
    padding-top: 20px;
}

.wbs-contact-page .wbs-contact-page__eyebrow {
    display: block;
    margin-bottom: 20px;
    color: #52684c;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: .15em;
}

.wbs-contact-page h1 {
    margin: 0 0 24px;
    color: #173f35;
    font-family: inherit;
    font-size: clamp(38px, 4.7vw, 62px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.wbs-contact-page h1 > span {
    color: #647953;
}

.wbs-contact-page .wbs-contact-page__description {
    max-width: 420px;
    margin: 0;
    color: #526355;
    font-size: 15px;
    line-height: 1.85;
}

.wbs-contact-page__email {
    margin-top: 30px;
}

.wbs-contact-page__email > span,
.wbs-contact-page__location > span {
    display: block;
    margin-bottom: 8px;
    color: #596b54;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: .12em;
}

.wbs-contact-page .wbs-contact-page__email a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #173f35;
    font-size: clamp(17px, 1.8vw, 23px);
    font-weight: 550;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.wbs-contact-page__location {
    margin-top: 24px;
}

.wbs-contact-page .wbs-contact-page__location p {
    margin: 0 0 5px;
    color: #173f35;
    font-size: 15px;
}

.wbs-contact-page__location small {
    color: #526355;
    font-size: 12px;
    line-height: 1.7;
}

.wbs-contact-page__next {
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid #ccd4c0;
}

.wbs-contact-page .wbs-contact-page__next h2 {
    margin: 0 0 18px;
    color: #173f35;
    font-family: inherit;
    font-size: 17px;
    font-weight: 600;
}

.wbs-contact-page .wbs-contact-page__next ol {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wbs-contact-page .wbs-contact-page__next li {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 12px;
    align-items: baseline;
    margin: 0;
    padding: 0;
}

.wbs-contact-page__next li > span {
    color: #647953;
    font-size: 10px;
    font-variant-numeric: tabular-nums;
}

.wbs-contact-page .wbs-contact-page__next p {
    margin: 0;
    color: #526355;
    font-size: 12px;
    line-height: 1.75;
}

/* Form panel */
.wbs-contact-page__panel {
    min-width: 0;
    padding: 28px;
    border: 1px solid #d8dfcc;
    border-radius: 18px;
    background: #fffdf7;
    scroll-margin-top: 110px;
}

.wbs-contact-page__form-heading {
    margin-bottom: 20px;
}

.wbs-contact-page .wbs-contact-page__form-heading h2 {
    margin: 0 0 8px;
    color: #173f35;
    font-family: inherit;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.025em;
}

.wbs-contact-page .wbs-contact-page__form-heading p {
    margin: 0;
    color: #59685b;
    font-size: 12px;
    line-height: 1.7;
}

/* Reset the old form wrapper */
.wbs-contact-page .wbs-contact-form,
.wbs-contact-page .wpcf7,
.wbs-contact-page .wpcf7-form {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.wbs-contact-page .wpcf7-form p {
    margin: 0 0 12px;
    padding: 0;
}

.wbs-contact-page .wpcf7-form label {
    display: block;
    margin: 0;
    color: #173f35;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: normal;
}

/* Keep the requested pairs side by side */
.wbs-contact-page .wbs-lead-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 14px !important;
}

.wbs-contact-page .wbs-lead-grid > p {
    min-width: 0;
    width: auto;
}

.wbs-contact-page .wbs-lead-fields > br,
.wbs-contact-page .wbs-lead-grid > br,
.wbs-contact-page .wbs-lead-fields label > br {
    display: none;
}

.wbs-contact-page .wpcf7-form-control-wrap {
    display: block;
    margin-top: 5px;
}

.wbs-contact-page .wpcf7 input:not(
    [type="submit"],
    [type="checkbox"],
    [type="radio"],
    [type="hidden"],
    [type="file"]
),
.wbs-contact-page .wpcf7 select,
.wbs-contact-page .wpcf7 textarea {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #d5dccb;
    border-radius: 6px;
    background: #f8f7f0;
    color: #173f35;
    font-family: inherit;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: normal;
    box-shadow: none;
}

.wbs-contact-page .wpcf7 input:not(
    [type="submit"],
    [type="checkbox"],
    [type="radio"],
    [type="hidden"],
    [type="file"]
),
.wbs-contact-page .wpcf7 select {
    height: 42px;
    min-height: 42px;
}

.wbs-contact-page .wpcf7 textarea {
    height: 88px;
    min-height: 88px;
    resize: vertical;
}

.wbs-contact-page .wpcf7 input::placeholder,
.wbs-contact-page .wpcf7 textarea::placeholder {
    color: #70796b;
    opacity: 1;
}

.wbs-contact-page .wpcf7 input:focus,
.wbs-contact-page .wpcf7 select:focus,
.wbs-contact-page .wpcf7 textarea:focus {
    outline: 2px solid #52754d;
    outline-offset: 2px;
    border-color: #52754d;
}

/* Consent and CAPTCHA */
.wbs-contact-page .wbs-lead-consent {
    margin: 0 0 12px;
}

.wbs-contact-page .wbs-lead-consent .wpcf7-list-item {
    margin: 0;
}

.wbs-contact-page .wbs-lead-consent label {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: #526355;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.6;
}

.wbs-contact-page .wbs-lead-consent input[type="checkbox"] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    min-height: 0;
    margin: 2px 0 0;
    accent-color: #173f35;
}

.wbs-contact-page .wbs-lead-captcha {
    margin-bottom: 12px;
}

.wbs-contact-page .wpcf7 input[type="submit"],
.wbs-contact-page .wpcf7 button[type="submit"] {
    display: block;
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 12px 16px;
    border: 1px solid #173f35;
    border-radius: 6px;
    background: #173f35;
    color: #fff2d7;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
    box-shadow: none;
}

.wbs-contact-page .wpcf7 input[type="submit"]:hover,
.wbs-contact-page .wpcf7 button[type="submit"]:hover {
    background: #285744;
}

.wbs-contact-page .wpcf7 input[type="submit"]:disabled {
    opacity: .65;
    cursor: wait;
}

.wbs-contact-page .wpcf7 .wbs-lead-note {
    margin: 8px 0 0;
    color: #59685b;
    font-size: 10px;
    line-height: 1.6;
}

.wbs-contact-page .wpcf7-not-valid-tip {
    margin-top: 5px;
    color: #a52c28;
    font-size: 12px;
    font-weight: 400;
}

.wbs-contact-page .wpcf7 form .wpcf7-response-output {
    margin: 16px 0 0;
    padding: 12px;
    color: #173f35;
    font-size: 12px;
    line-height: 1.7;
}

.wbs-contact-page a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.wbs-contact-page a:focus-visible,
.wbs-contact-page button:focus-visible {
    outline: 2px solid #52754d;
    outline-offset: 4px;
}

@media (max-width: 850px) {
    .wbs-contact-page__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .wbs-contact-page__intro {
        padding-top: 0;
    }
}

@media (max-width: 480px) {
    .wbs-contact-page {
        padding: 24px 18px 40px;
    }

    .wbs-contact-page__panel {
        padding: 24px 18px;
    }

    .wbs-contact-page h1 {
        font-size: 40px;
    }
}

@media (max-width: 420px) {
    .wbs-contact-page .wbs-lead-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}
/* Contact page — Web by Steps brand gradient */
.wbs-contact-page {
    position: relative;
    isolation: isolate;
    background:
        radial-gradient(
            ellipse at 95% 15%,
            rgba(151, 177, 120, .30) 0%,
            transparent 55%
        ),
        radial-gradient(
            ellipse at 5% 85%,
            rgba(229, 197, 137, .24) 0%,
            transparent 55%
        ),
        linear-gradient(
            125deg,
            #faf5e9 0%,
            #f5ecd8 45%,
            #e5ead6 100%
        );
}

/* Keep form readable against the gradient */
.wbs-contact-page .wbs-contact-page__panel {
    background: rgba(255, 253, 247, .94);
    border: 1px solid rgba(255, 255, 255, .85);
    box-shadow:
        0 20px 55px rgba(23, 63, 53, .08),
        inset 0 1px 0 rgba(255, 255, 255, .7);
}

.wbs-contact-page .wbs-contact-page__next {
    border-top-color: rgba(23, 63, 53, .18);
}
/* Compact AI enquiry popup */
.wbs-ai-dialog,
.wbs-ai-dialog * {
    box-sizing: border-box;
}

.wbs-ai-dialog {
    position: fixed;
    inset: 0;
    width: min(540px, calc(100vw - 28px));
    max-width: none;
    max-height: calc(100vh - 28px);
    max-height: calc(100dvh - 28px);
    margin: auto;
    padding: 0;
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid #d7dfcb;
    border-radius: 18px;
    background: #faf6eb;
    color: #173f35;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .25);
}

.wbs-ai-dialog:not([open]) {
    display: none;
}

.wbs-ai-dialog::backdrop {
    background: rgba(4, 25, 20, .72);
}

.wbs-ai-dialog__body {
    position: relative;
    padding: 26px;
}

.wbs-ai-dialog .wbs-ai-dialog__close {
    position: absolute;
    top: 10px;
    right: 10px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #e8eddc;
    color: #173f35;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
}

.wbs-ai-dialog__eyebrow {
    display: block;
    padding-right: 32px;
    color: #52684c;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .13em;
}

.wbs-ai-dialog h2 {
    margin: 10px 25px 8px 0;
    color: #173f35;
    font-family: inherit;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.03em;
}

.wbs-ai-dialog #wbs-ai-dialog-description {
    margin: 0 0 18px;
    color: #566750;
    font-size: 12px;
    line-height: 1.6;
}

.wbs-ai-dialog .wpcf7,
.wbs-ai-dialog .wpcf7-form {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.wbs-ai-dialog .wbs-ai-fields__pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.wbs-ai-dialog .wbs-ai-fields p {
    min-width: 0;
    margin: 0 0 12px;
    padding: 0;
}

.wbs-ai-dialog .wbs-ai-fields label {
    display: block;
    color: #173f35;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: normal;
}

.wbs-ai-dialog .wbs-ai-fields label > br,
.wbs-ai-dialog .wbs-ai-fields > br,
.wbs-ai-dialog .wbs-ai-fields__pair > br {
    display: none;
}

.wbs-ai-dialog .wpcf7-form-control-wrap {
    display: block;
    margin-top: 5px;
}

.wbs-ai-dialog input[type="text"],
.wbs-ai-dialog input[type="email"],
.wbs-ai-dialog select,
.wbs-ai-dialog textarea {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 10px 11px;
    border: 1px solid #cdd7bf;
    border-radius: 6px;
    background: #fffdf7;
    color: #173f35;
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: normal;
    box-shadow: none;
}

.wbs-ai-dialog input[type="text"],
.wbs-ai-dialog input[type="email"],
.wbs-ai-dialog select {
    height: 42px;
    min-height: 42px;
}

.wbs-ai-dialog textarea {
    height: 80px;
    min-height: 80px;
    resize: vertical;
}

.wbs-ai-dialog .wbs-ai-fields__consent {
    margin: 0 0 12px;
}

.wbs-ai-dialog .wpcf7-list-item {
    margin: 0;
}

.wbs-ai-dialog .wbs-ai-fields__consent label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 11px;
    font-weight: 400;
}

.wbs-ai-dialog input[type="checkbox"] {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin: 1px 0 0;
    accent-color: #173f35;
}

.wbs-ai-dialog input[type="submit"] {
    display: block;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 11px 16px;
    border: 0;
    border-radius: 6px;
    background: #173f35;
    color: #fff2d7;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.wbs-ai-dialog input[type="submit"]:disabled {
    opacity: .65;
    cursor: wait;
}

.wbs-ai-dialog .wpcf7-not-valid-tip {
    margin-top: 4px;
    color: #a52c28;
    font-size: 11px;
}

.wbs-ai-dialog .wpcf7 form .wpcf7-response-output {
    margin: 12px 0 0;
    padding: 10px;
    color: #173f35;
    font-size: 12px;
    line-height: 1.6;
}

.wbs-ai-dialog input:focus-visible,
.wbs-ai-dialog select:focus-visible,
.wbs-ai-dialog textarea:focus-visible,
.wbs-ai-dialog button:focus-visible {
    outline: 2px solid #52754a;
    outline-offset: 3px;
}

html.wbs-ai-modal-open,
html.wbs-ai-modal-open body {
    overflow: hidden;
}

@media (max-width: 480px) {
    .wbs-ai-dialog__body {
        padding: 22px 18px;
    }

    .wbs-ai-dialog h2 {
        font-size: 22px;
    }

    .wbs-ai-dialog input[type="text"],
    .wbs-ai-dialog input[type="email"],
    .wbs-ai-dialog select,
    .wbs-ai-dialog textarea {
        font-size: 16px;
    }
}

@media (max-width: 350px) {
    .wbs-ai-dialog .wbs-ai-fields__pair {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }
}