/* Real Web Builder AI Solutions v0.3.8
   Component has no surrounding Astroid .container; every section owns its layout. */
.rwb-ai {
    --rwb-ai-ink: #222d36;
    --rwb-ai-muted: #5e6a74;
    --rwb-ai-accent: #f47735;
    --rwb-ai-tint: #f5f7f8;
    --rwb-ai-border: #dce3e7;
    color: var(--rwb-ai-ink);
    overflow-wrap: break-word;
}
.rwb-ai *, .rwb-ai *::before, .rwb-ai *::after { box-sizing: border-box; }
.rwb-ai__section { padding: clamp(3.5rem, 6.5vw, 6.5rem) 0; }
.rwb-ai__intro-note { margin: 1.3rem 0 0; font-size: .94rem; font-weight: 650; color: var(--rwb-ai-muted); }
.rwb-ai__section-heading { max-width: 835px; margin: 0 auto clamp(2.2rem, 4vw, 3.75rem); text-align: center; }
.rwb-ai__section-heading h2, .rwb-ai__benefits h2, .rwb-ai__faq h2 { font-size: clamp(1.85rem, 2.8vw, 2.75rem); font-weight: 750; line-height: 1.2; letter-spacing: -.027em; }
.rwb-ai__section-lead { font-size: 1rem; line-height: 1.75; color: var(--rwb-ai-muted); margin: 1.15rem auto 0; max-width: 700px; }
.rwb-ai__services { padding-top: clamp(.25rem, 1.5vw, 1.4rem); }
.rwb-ai__service { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(2.15rem, 5.2vw, 5.5rem); align-items: center; padding: clamp(2.75rem, 5vw, 5rem) 0; border-top: 1px solid var(--rwb-ai-border); }
.rwb-ai__service--reverse .rwb-ai__media { order: 2; }
.rwb-ai__service--reverse .rwb-ai__copy { order: 1; }
/* The video explanation sits against its adjacent image rather than the far page edge. */
@media (min-width: 992px) {
    .rwb-ai__service--video-marketing .rwb-ai__copy { justify-self: end; width: 60%; }
}
.rwb-ai__image-link { position: relative; display: block; width: 100%; aspect-ratio: 5 / 4; border-radius: .75rem; overflow: hidden; background: #e8edef; text-decoration: none; }
.rwb-ai__feature-image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.rwb-ai__image-link:hover .rwb-ai__feature-image { transform: scale(1.023); }
.rwb-ai__image-placeholder { width: 100%; height: 100%; display: grid; place-items: center; background: linear-gradient(140deg, #e7ecef 0%, #f7f4f0 60%, #ebe0d8 100%); color: #b37352; font-size: clamp(3.2rem, 7vw, 6rem); }
.rwb-ai__media-badge { position: absolute; right: 1rem; bottom: 1rem; z-index: 2; padding: .45rem .7rem; border-radius: 3px; background: rgba(34, 45, 54, .88); color: #fff; font-size: .75rem; font-weight: 700; line-height: 1; letter-spacing: .04em; text-transform: uppercase; pointer-events: none; }
.rwb-ai__slideshow-link { display: block; width: 100%; aspect-ratio: 5 / 4; overflow: hidden; border-radius: .75rem; background: #e8edef; text-decoration: none; }
.rwb-ai__slideshow { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; isolation: isolate; background: #e8edef; }
.rwb-ai__slide { position: absolute; inset: 0; display: block; opacity: 0; z-index: 0; pointer-events: none; backface-visibility: hidden; transform: translateZ(0); }
.rwb-ai__slide.is-current { opacity: 1; z-index: 1; }
.rwb-ai__slide.is-entering { opacity: 0; z-index: 2; transition: opacity .85s cubic-bezier(.4, 0, .2, 1); }
.rwb-ai__slide.is-entering.is-visible { opacity: 1; }
.rwb-ai__slide img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.015); transform-origin: center center; backface-visibility: hidden; will-change: transform; }
.rwb-ai__slide.is-current img, .rwb-ai__slide.is-entering img { animation-duration: 4.8s; animation-timing-function: linear; animation-fill-mode: both; }
.rwb-ai__slide:nth-child(1).is-current img, .rwb-ai__slide:nth-child(1).is-entering img { animation-name: rwb-ai-ken-burns-1; }
.rwb-ai__slide:nth-child(2).is-current img, .rwb-ai__slide:nth-child(2).is-entering img { animation-name: rwb-ai-ken-burns-2; }
.rwb-ai__slide:nth-child(3).is-current img, .rwb-ai__slide:nth-child(3).is-entering img { animation-name: rwb-ai-ken-burns-3; }
.rwb-ai__slide:nth-child(4).is-current img, .rwb-ai__slide:nth-child(4).is-entering img { animation-name: rwb-ai-ken-burns-4; }
.rwb-ai__slideshow.is-paused .rwb-ai__slide img { animation-play-state: paused; }
@keyframes rwb-ai-ken-burns-1 {
    from { transform: scale(1.015) translate3d(.15%, .1%, 0); }
    to   { transform: scale(1.15) translate3d(-1.2%, -.55%, 0); }
}
@keyframes rwb-ai-ken-burns-2 {
    from { transform: scale(1.02) translate3d(.75%, .35%, 0); }
    to   { transform: scale(1.155) translate3d(-1.0%, -.7%, 0); }
}
@keyframes rwb-ai-ken-burns-3 {
    from { transform: scale(1.02) translate3d(-.75%, .35%, 0); }
    to   { transform: scale(1.155) translate3d(1.0%, -.7%, 0); }
}
@keyframes rwb-ai-ken-burns-4 {
    from { transform: scale(1.015) translate3d(-.15%, .45%, 0); }
    to   { transform: scale(1.15) translate3d(.25%, -.85%, 0); }
}
.rwb-ai__copy { max-width: 550px; }
.rwb-ai__copy h3 { font-size: clamp(1.8rem, 2.7vw, 2.8rem); line-height: 1.17; margin: 0 0 .8rem; font-weight: 750; letter-spacing: -.024em; }
.rwb-ai__tagline { font-size: 1rem; font-weight: 650; line-height: 1.5; margin: 0 0 1rem; }
.rwb-ai__summary { color: var(--rwb-ai-muted); line-height: 1.75; margin: 0 0 1.5rem; }
.rwb-ai__service-highlights { list-style: none; margin: 0 0 1.85rem; padding: 0; }
/* The global .rwb-checkmark styles supply the orange-checkmark.svg bullet. */
.rwb-ai__text-link, .rwb-ai__back a { font-size: 1rem; display: inline-flex; align-items: center; gap: .75rem; padding-bottom: .3rem; font-weight: 700; text-decoration: none; color: inherit; border-bottom: 2px solid var(--rwb-ai-accent); }
.rwb-ai__text-link:hover, .rwb-ai__back a:hover { color: #ba4f1d; }
/* Guided process: connected numbers ending in an arrow on desktop. */
.rwb-ai__process { background: #fff; }
.rwb-ai__process .rwb-horizontal__rule { margin-bottom: clamp(3rem, 5vw, 5rem); }
.rwb-ai__steps {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.5rem, 3vw, 3rem);
    list-style: none;
    margin: 0;
    padding: 0 0 0.5rem;
}
.rwb-ai__steps::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0.2rem;
    top: 1.3rem;
    border-top: 1px solid var(--rwb-ai-accent);
}
.rwb-ai__steps::after {
    content: '';
    position: absolute;
    top: calc(1.3rem - 0.25rem);
    right: 0.2rem;
    width: 0.5rem;
    height: 0.5rem;
    border-top: 1px solid var(--rwb-ai-accent);
    border-right: 1px solid var(--rwb-ai-accent);
    transform: rotate(45deg);
}
.rwb-ai__steps li { position: relative; text-align: center; min-width: 0; }
.rwb-ai__step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    margin: 0 auto 1.25rem;
    border: 1px solid var(--rwb-ai-accent);
    border-radius: 50%;
    background: #fff;
    color: #e96223;
    font-size: .92rem;
    font-weight: 650;
}
.rwb-ai__steps h3 { font-size: 1.2rem; font-weight: 750; margin-bottom: .7rem; }
.rwb-ai__steps p { color: var(--rwb-ai-muted); line-height: 1.65; margin: 0; }
/* Below LG, match the vertical numbered timeline used on the Websites & Pricing page. */
@media (max-width: 991.98px) {
    .rwb-ai__steps { grid-template-columns: 1fr; gap: 2rem; }
    .rwb-ai__steps::before, .rwb-ai__steps::after { content: none; }
    .rwb-ai__steps li {
        display: grid;
        grid-template-columns: 2.6rem minmax(0, 1fr);
        column-gap: 1.4rem;
        text-align: left;
    }
    .rwb-ai__steps li:not(:last-child)::after {
        content: '';
        position: absolute;
        left: 1.3rem;
        top: 2.6rem;
        bottom: -2rem;
        border-left: 1px solid var(--rwb-ai-accent);
    }
    .rwb-ai__step-number { grid-column: 1; grid-row: 1 / span 2; margin: 0; }
    .rwb-ai__steps h3 { grid-column: 2; margin: 0 0 .5rem; align-self: center; }
    .rwb-ai__steps p { grid-column: 2; }
}

/* Shared CTA primitives. Page-specific variants follow below. */
.rwb-ai__estimate {
    padding-block: clamp(2.9rem, 5vw, 5rem);
    background: #edf3f8;
    color: #0a2448;
    text-align: center;
}
.rwb-ai__estimate h2 {
    font-size: clamp(1.95rem, 3vw, 2.8rem);
    line-height: 1.2;
    letter-spacing: -.025em;
    color: #071f43;
    margin: 0 0 1rem;
}
.rwb-ai__estimate-description { color: #4e6171; font-size: 1rem; line-height: 1.7; margin: 0 auto 1.5rem; max-width: 640px; }
.rwb-ai__estimate-actions { margin: 1.5rem auto 0; text-align: center; }
.rwb-ai .rwb-ai__button.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    background: #f26726 !important;
    border: 1px solid #f26726 !important;
    border-radius: .22rem;
    color: #fff !important;
    padding: .9rem 1.6rem;
    font-size: .96rem;
    font-weight: 700;
    text-decoration: none !important;
    line-height: 1.4;
    box-shadow: none;
}
.rwb-ai .rwb-ai__button.btn:hover { background: #d94e16 !important; border-color: #d94e16 !important; }
.rwb-ai__text-link:focus-visible,
.rwb-ai__image-link:focus-visible,
.rwb-ai__slideshow-link:focus-visible,
.rwb-ai__button:focus-visible { outline: 3px solid var(--rwb-ai-accent); outline-offset: 4px; }
.rwb-ai__back { margin: 1.65rem 0 0; }
.rwb-ai__back a { font-size: .9rem; color: #17395a; border-color: #8da6b6; font-weight: 600; }
.rwb-ai__back a:hover { border-color: #e96223; }
.rwb-ai__estimate-disclosure { max-width: 720px; margin: 1.7rem auto 0; font-size: .86rem; line-height: 1.6; color: #596d7e; }

/* Main AI Solutions page: dark, photo-backed CTA with one clear action. */
.rwb-ai__estimate--landing {
    background: linear-gradient(90deg, rgba(4,25,53,.92), rgba(4,25,53,.67)), url('../images/ai-solutions-cta.webp') center center / cover no-repeat;
    color: #fff;
    text-align: left;
}
.rwb-ai__estimate--landing .rwb-ai__estimate-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2.5rem; }
.rwb-ai__estimate--landing h2 { color: #fff !important; }
.rwb-ai__estimate--landing .rwb-ai__estimate-description { color: #e4ebf4; margin: 0; max-width: 600px; }
.rwb-ai__estimate--landing .rwb-ai__estimate-actions { margin: 0; }

/* Photo Enhancements: quiet white closing section and two-column introduction. */
.rwb-ai__estimate--photo { background: #fff; text-align: left; padding-top: clamp(2.5rem, 4vw, 4rem); }
.rwb-ai__photo-cta-heading { margin-top: clamp(2.5rem, 4vw, 4rem); }
.rwb-ai__photo-cta-heading .col-lg-8 { text-align: center; }
.rwb-ai__estimate--photo .rwb-ai__estimate-description { margin: 0; max-width: none; }

/* Individual service pages retain their original reusable styles. */
.rwb-ai__prose { max-width: 980px; font-size: 1rem; line-height: 1.85; }
.rwb-ai__prose p:last-child { margin-bottom: 0; }
.rwb-ai__benefits { background: var(--rwb-ai-tint); }
.rwb-ai__benefits-list { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 2rem; row-gap: 1.25rem; }
/* The global .rwb-checkmark styles also apply to secondary service benefit lists. */
.rwb-ai__comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.rwb-ai__comparison figure { padding: 0; margin: 0; background: var(--rwb-ai-tint); border-radius: .65rem; overflow: hidden; }
.rwb-ai__comparison img { display: block; width: 100%; height: auto; }
.rwb-ai__comparison figcaption { font-size: .95rem; font-weight: 650; padding: 1rem; }
.rwb-ai__video { display: block; width: 100%; height: auto; max-width: 1000px; margin: 0 auto; border-radius: .65rem; background: #111; }
.rwb-ai__demo-note { text-align: center; max-width: 780px; margin: 1.5rem auto 0; color: var(--rwb-ai-muted); }
@media (max-width: 767.98px) {
    .rwb-ai__service { grid-template-columns: 1fr; gap: 1.7rem; }
    /* Keep the eyebrow and heading ABOVE the comparison/photograph,
       with the service description and CTA BELOW, in every card. */
    .rwb-ai__copy { display: contents; }
    .rwb-ai__service-heading { order: -1; min-width: 0; }
    .rwb-ai__media { order: 0 !important; min-width: 0; }
    .rwb-ai__service-body { order: 1; min-width: 0; }
    .rwb-ai__service-heading h3 { text-align: center; margin-bottom: 0; }
    .rwb-ai__benefits-list { grid-template-columns: 1fr; }
    .rwb-ai__estimate--landing .rwb-ai__estimate-inner { grid-template-columns: 1fr; gap: 1.7rem; text-align: center; }
    .rwb-ai__estimate--landing .rwb-ai__estimate-description { margin-inline: auto; }
    .rwb-ai__photo-cta-heading .col-lg-8 { text-align: left; }
    .rwb-ai__estimate--photo .rwb-ai__estimate-description { margin-top: 1rem; }
    .rwb-ai__section-heading { margin-bottom: 1.75rem; }
}
@media (max-width: 575.98px) {
    .rwb-ai__comparison { grid-template-columns: 1fr; }
    .rwb-ai__section { padding: 3.35rem 0; }
    .rwb-ai__service { padding: 2.7rem 0; }
}
@media (prefers-reduced-motion: reduce) {
    .rwb-ai__feature-image, .rwb-ai__slide { transition: none; }
    .rwb-ai__slide { opacity: 0 !important; animation: none !important; }
    .rwb-ai__slide.is-current { opacity: 1 !important; }
    .rwb-ai__slide img { animation: none !important; transform: none !important; }
}


/* Shared page header. Real Web Builder typography is inherited from the theme. */
.rwb-ai__page-intro { padding-block: clamp(3.5rem, 6vw, 6rem) clamp(1.5rem, 2.5vw, 2.5rem); }
.rwb-ai__page-intro .rwb-page__header { margin-bottom: clamp(2rem, 3vw, 3rem); }
.rwb-ai--landing .rwb-ai__page-intro { padding-bottom: 0; }
.rwb-ai--landing .rwb-ai__services { padding-top: 0; }
/* Avoid stacking a second thin divider immediately below the decorative header rule. */
.rwb-ai--landing .rwb-ai__service:first-child { border-top: 0; padding-top: clamp(2.5rem, 4vw, 4rem); }
.rwb-ai--detail .rwb-ai__detail-content { padding-top: clamp(2rem, 4vw, 4rem); }
.rwb-ai--detail .rwb-ai__page-intro { padding-bottom: 0; }

@media (max-width: 767.98px) {
  .rwb-ai__page-intro { padding-block: 3rem 1.7rem; }
  .rwb-ai__page-intro .rwb-page__intro { margin-top: 1.25rem; }
}

/* 0.3.2 - Before (left) and after (right) use two aligned full-size layers. */
.rwb-ai__before-after {
    --rwb-ai-reveal: 55%;
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 5 / 4;
    overflow: hidden;
    isolation: isolate;
    border-radius: .75rem;
    background: #e8edef;
    user-select: none;
    -webkit-user-select: none;
}
.rwb-ai__before-after-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    pointer-events: none;
}
/* Clip entire layers (not their images) so the room never resizes while dragging. */
.rwb-ai__before-after-side { position: absolute; inset: 0; pointer-events: none; }
.rwb-ai__before-after-side--before {
    z-index: 2;
    clip-path: inset(0 calc(100% - var(--rwb-ai-reveal)) 0 0);
}
.rwb-ai__before-after-side--after {
    z-index: 1;
    clip-path: inset(0 0 0 var(--rwb-ai-reveal));
}
.rwb-ai__before-after-badge { right: 1rem; left: auto; bottom: 1rem; white-space: nowrap; }
.rwb-ai__before-after-label {
    position: absolute;
    top: 1rem;
    z-index: 1;
    pointer-events: none;
    padding: .4rem .65rem;
    border-radius: 3px;
    background: rgba(27, 39, 51, .80);
    color: #fff;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .045em;
    line-height: 1;
    text-transform: uppercase;
}
.rwb-ai__before-after-label--before { left: 1rem; }
.rwb-ai__before-after-label--after { right: 1rem; }
.rwb-ai__before-after-divider {
    position: absolute;
    z-index: 3;
    pointer-events: none;
    top: 0;
    bottom: 0;
    left: var(--rwb-ai-reveal);
    width: 2px;
    transform: translateX(-50%);
    background: #fff;
    box-shadow: 0 0 3px rgba(0,0,0,.22);
}
.rwb-ai__before-after-handle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    width: 3.1rem;
    height: 3.1rem;
    border-radius: 50%;
    border: 2px solid #fff;
    background: rgba(16, 39, 66, .92);
    color: #fff;
    box-shadow: 0 2px 12px rgba(0,0,0,.25);
    font-size: 2.1rem;
    line-height: .8;
    font-family: Arial, sans-serif;
}
.rwb-ai__before-after-range {
    position: absolute;
    inset: 0;
    z-index: 4;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    opacity: 0;
    cursor: ew-resize;
    touch-action: pan-y;
}
/* Keyboard-only focus ring; clicking or dragging does not leave a visual outline. */
.rwb-ai__before-after:has(.rwb-ai__before-after-range:focus-visible) { outline: 2px solid var(--rwb-ai-accent); outline-offset: 3px; }
@media (max-width: 575.98px) {
    .rwb-ai__before-after-handle { width: 2.75rem; height: 2.75rem; font-size: 1.85rem; }
    .rwb-ai__before-after-label { top: .65rem; }
    .rwb-ai__before-after-label--before { left: .65rem; }
    .rwb-ai__before-after-label--after { right: .65rem; }
    .rwb-ai__before-after-badge { right: .65rem; bottom: .65rem; font-size: .67rem; }
}

/* Alternating photo enhancements, with room for instructions above the first example. */
.rwb-ai__showcases { padding-top: 3rem; }
.rwb-ai__showcase { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(1.75rem, 3.4vw, 3.75rem); padding: clamp(2.75rem, 5vw, 5rem) 0; border-top: 1px solid var(--rwb-ai-border); }
.rwb-ai__showcase:first-of-type { border-top: 0; padding-top: 0; }
.rwb-ai__showcase:last-child { padding-bottom: clamp(2.5rem, 4vw, 3.75rem); }
.rwb-ai__showcase--reverse .rwb-ai__showcase-media { order: 2; }
.rwb-ai__showcase--reverse .rwb-ai__showcase-copy {
    order: 1;
    width: 100%;
    margin-left: auto; /* Align description with the adjacent image, not the page edge. */
    margin-right: 0;
}
.rwb-ai__showcase-copy { max-width: 520px; }
.rwb-ai__showcase-heading h3 { font-size: clamp(1.75rem, 2.65vw, 2.6rem); line-height: 1.2; font-weight: 750; letter-spacing: -.025em; margin: .6rem 0 1rem; }
.rwb-ai__showcase-description { line-height: 1.8; color: var(--rwb-ai-muted); }
.rwb-ai__showcase-media { min-width: 0; }
.rwb-ai__showcase-instructions { margin: .8rem auto 0; text-align: center; color: var(--rwb-ai-muted); line-height: 1.65; }
.rwb-ai__showcases .rwb-ai__section-heading { margin-bottom: 4.25rem; }
@media (max-width: 767.98px) {
    .rwb-ai__showcase { grid-template-columns: 1fr; gap: 1.5rem; }
    .rwb-ai__showcases .rwb-ai__section-heading { margin-bottom: 2.75rem; }
    /* Heading and descriptive introduction above the comparison. */
    .rwb-ai__showcase-copy { display: contents; }
    .rwb-ai__showcase-heading { order: 0; }
    .rwb-ai__showcase-description { order: 1; margin: 0; }
    .rwb-ai__showcase-media,
    .rwb-ai__showcase--reverse .rwb-ai__showcase-media { order: 2; }
    .rwb-ai__showcase-heading h3 { margin-bottom: 0; }
}

/* v0.3.10 - 16:9 listing video beside six equally sized source thumbnails. */
.rwb-ai__section-heading--left {
    max-width: none;
    margin-inline: 0;
    text-align: left;
}
.rwb-ai__demonstration--video-marketing {
    background: #fff;
    padding-top: clamp(2.5rem, 4vw, 4rem);
}
/* Desktop: 2 columns x 3 rows of thumbnails. With 16:9 media, the
   column split accounts for the two thumbnail gaps so the video and
   thumbnail grid have exactly the same rendered height. */
.rwb-ai__video-demo-grid {
    --rwb-ai-gallery-gap: 2rem;
    --rwb-ai-thumb-gap: .625rem;
    display: grid;
    grid-template-columns: minmax(0, calc(60% - var(--rwb-ai-gallery-gap) * .6 + var(--rwb-ai-thumb-gap) * .822222222)) minmax(0, 1fr);
    gap: var(--rwb-ai-gallery-gap);
    align-items: start;
}
.rwb-ai__video-panel,
.rwb-ai__source-photos {
    min-width: 0;
}
.rwb-ai__video-panel .rwb-ai__video {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: contain;
    max-width: none;
    margin: 0;
    border-radius: .45rem;
}
.rwb-ai__source-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--rwb-ai-thumb-gap);
}
.rwb-ai__source-photo {
    display: block;
    margin: 0;
    min-width: 0;
    aspect-ratio: 16 / 9;
    border-radius: .35rem;
    overflow: hidden;
    background: #f5f7f8;
    border: 1px solid var(--rwb-ai-border);
}
.rwb-ai__source-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.rwb-ai__demonstration--video-marketing .rwb-ai__demo-note {
    text-align: left;
    margin: 1.1rem 0 0;
    max-width: none;
    font-size: .92rem;
    line-height: 1.6;
    color: var(--rwb-ai-muted);
}
.rwb-ai__benefits--cards {
    background: #fff;
    padding-top: clamp(2.25rem, 4vw, 3.5rem);
}
.rwb-ai__benefits--cards h2 {
    text-align: center;
    margin-bottom: clamp(2rem, 3vw, 3rem);
}
.rwb-ai__feature-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--rwb-ai-border);
}
.rwb-ai__feature-card {
    padding: 1.8rem 1.4rem 0;
    text-align: center;
}
.rwb-ai__feature-card + .rwb-ai__feature-card {
    border-left: 1px solid var(--rwb-ai-border);
}
.rwb-ai__feature-icon {
    width: 3rem;
    height: 3rem;
    margin: 0 auto 1rem;
    object-fit: contain;
}
.rwb-ai__feature-card h3 {
    margin: 0 0 .7rem;
    font-size: 1.35rem;
    line-height: 1.3;
    font-weight: 750;
}
.rwb-ai__feature-card p {
    margin: 0;
    color: var(--rwb-ai-muted);
    font-size: 1rem;
    line-height: 1.7;
}

/* Tablets (768–991.98px): video above a 3-column x 2-row photo grid. */
@media (max-width: 991.98px) {
    .rwb-ai__video-demo-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.5rem;
    }
    .rwb-ai__source-photo-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Phones (<768px): video above a 2-column x 3-row photo grid. */
@media (max-width: 767.98px) {
    .rwb-ai__source-photo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .rwb-ai__feature-cards {
        grid-template-columns: 1fr;
    }
    .rwb-ai__feature-card + .rwb-ai__feature-card {
        border-left: 0;
        border-top: 1px solid var(--rwb-ai-border);
    }
}
