/* Image-led additions. Load after advertising.css; shared pages remain untouched. */
.ad-lp-visuals .wp-block-group__inner-container { display: contents; }
.ad-lp-visuals :is(.ad-hero-art, .ad-hero-image, .ad-flow-illustration, .ad-support-visual, .ad-example-image, .ad-step-icon) { min-width: 0; margin: 0; }
.ad-lp-visuals :is(.ad-hero-image, .ad-support-visual, .ad-example-image) img { display: block; width: 100%; max-width: 100%; height: 100%; }
.ad-lp-visuals :is(.ad-visual-flow, .ad-support-grid, .ad-example-grid) > *,
.ad-lp-visuals :is(.ad-visual-flow, .ad-support-grid, .ad-example-grid) > .wp-block-group__inner-container > * { min-width: 0; margin-block: 0; }
.ad-lp-visuals :is(.ad-benefit-item, .ad-support-item, .ad-example) p:where(:not(.ad-number, .ad-example-type, .ad-deliverable)) { font-size: 17px; line-height: 1.95; }
.ad-lp-visuals .ad-section-head p:not(.ad-kicker) { font-size: 17px; line-height: 1.95; }

/* A large photograph replaces the dense explanatory panel beside the offer. */
.ad-lp-visuals .ad-hero { padding-block: 39px 46px; }
.ad-lp-visuals .ad-hero-grid { grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr); align-items: center; gap: 44px; }
.ad-lp-visuals :is(.ad-hero-intro, .ad-hero-details) { min-width: 0; margin: 0; }
.ad-lp-visuals .ad-hero-title { max-width: 13em; margin-top: 19px; font-size: clamp(42px, 4.1vw, 60px); line-height: 1.35; }
.ad-lp-visuals .ad-lead { max-width: 39em; margin-top: 23px; font-size: 17px; line-height: 1.85; }
.ad-lp-visuals .ad-hero-prices { margin-top: 23px; }
.ad-lp-visuals .ad-hero-copy .ad-actions { margin-top: 23px; }
.ad-lp-visuals .ad-hero-copy .ad-caption { margin-top: 14px; }
.ad-lp-visuals .ad-hero-art { width: 100%; padding: 0; border: 0; background: transparent; }
.ad-lp-visuals .ad-hero-image { width: 100%; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 8px; background: var(--ad-pale, #f7f9fb); }
.ad-lp-visuals .ad-hero-image img { object-fit: cover; object-position: center; }
.ad-lp-visuals .ad-hero-image-label { display: grid; gap: 9px; margin-top: 23px; padding-bottom: 22px; border-bottom: 1px solid var(--ad-line, #e6ebef); }
.ad-lp-visuals .ad-hero-image-label span { color: var(--ad-action, #ce0714); font-family: var(--font-en, inherit); font-size: 12px; font-weight: 500; line-height: 1.6; letter-spacing: .09em; }
.ad-lp-visuals .ad-hero-image-label strong { color: var(--ad-ink, #334252); font-size: clamp(21px, 1.9vw, 27px); font-weight: 500; line-height: 1.65; letter-spacing: -.025em; }
.ad-lp-visuals .ad-hero-art .ad-caption { max-width: 43em; margin-top: 13px; color: var(--ad-muted, #64717e); font-size: 12px; line-height: 1.85; }

/* Three large illustrations establish the sequence before the supporting copy. */
.ad-lp-visuals .ad-visual-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 48px; margin-block: 34px 43px; padding: 31px 35px 33px; border-radius: 6px; background: var(--ad-pale, #f7f9fb); }
.ad-lp-visuals .ad-visual-step { position: relative; display: grid; justify-items: center; gap: 0; min-width: 0; padding: 0; text-align: center; }
.ad-lp-visuals .ad-flow-illustration { display: block; width: 176px; max-width: 100%; height: 121px; margin: 0 0 19px; }
.ad-lp-visuals .ad-flow-illustration img { display: block; width: 100%; max-width: 100%; height: 100%; margin: 0; object-fit: contain; }
.ad-lp-visuals .ad-visual-step :is(span, .ad-visual-step-label) { margin: 0; color: var(--ad-action, #ce0714); font-size: 12px; font-weight: 500; line-height: 1.75; letter-spacing: .04em; }
.ad-lp-visuals .ad-visual-step h3 { margin-top: 7px; color: var(--ad-ink, #334252); font-size: 22px; font-weight: 500; line-height: 1.6; letter-spacing: -.035em; }
.ad-lp-visuals .ad-visual-step:not(:last-of-type)::after { position: absolute; top: 48px; right: -36px; width: 24px; color: var(--ad-action, #ce0714); font-family: sans-serif; font-size: 29px; font-weight: 400; line-height: 1; text-align: center; content: "\2192"; }
.ad-lp-visuals .ad-benefit-grid { gap: 35px; }
.ad-lp-visuals .ad-benefit-item { padding-top: 22px; }
.ad-lp-visuals .ad-benefit-item h3 { font-size: 23px; }

/* The illustration is the visual anchor; the surrounding content needs no box. */
.ad-lp-visuals .ad-support-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 32px; }
.ad-lp-visuals .ad-support-item { padding-top: 0; border-top: 0; }
.ad-lp-visuals .ad-support-visual { align-self: stretch; width: 100%; aspect-ratio: 12 / 7; margin-bottom: 24px; overflow: hidden; border-radius: 6px; background: var(--ad-pale, #f7f9fb); }
.ad-lp-visuals .ad-support-visual img { object-fit: contain; }
.ad-lp-visuals .ad-support-item .ad-number { margin: 0 0 12px; color: var(--ad-action, #ce0714); font-size: 18px; line-height: 1.3; letter-spacing: .02em; }
.ad-lp-visuals .ad-support-item h3 { font-size: 23px; line-height: 1.65; }
.ad-lp-visuals .ad-support-item ul { margin-block: 17px 23px; font-size: 16px; line-height: 1.9; }
.ad-lp-visuals .ad-support-item .ad-deliverable { margin-top: auto; padding: 15px 0 0; border: 0; border-top: 1px solid var(--ad-line, #e6ebef); background: transparent; color: var(--ad-ink, #334252); font-size: 15px; }
.ad-lp-visuals .ad-deliverable small { margin-bottom: 6px; font-size: 12px; }
.ad-lp-visuals .ad-deliverable strong { font-weight: 500; }

.ad-lp-visuals .ad-example-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; margin-top: 26px; }
.ad-lp-visuals .ad-example { padding: 0 0 25px; border: 0; border-bottom: 1px solid #d2dbe2; border-radius: 0; background: transparent; }
.ad-lp-visuals .ad-example-image { width: 100%; aspect-ratio: 3 / 2; margin-bottom: 23px; overflow: hidden; border-radius: 6px; background: var(--ad-pale, #f7f9fb); }
.ad-lp-visuals .ad-example-image img { object-fit: cover; object-position: center; }
.ad-lp-visuals .ad-example .ad-example-type { margin: 0; color: var(--ad-action, #ce0714); font-size: 13px; font-weight: 500; line-height: 1.7; }
.ad-lp-visuals .ad-example blockquote { margin-block: 13px 18px; padding-bottom: 18px; font-size: 22px; font-weight: 500; line-height: 1.7; }
.ad-lp-visuals .ad-example blockquote p { font: inherit; }
.ad-lp-visuals .ad-example dl { margin-top: 21px; }
.ad-lp-visuals .ad-example dd { font-size: 16px; line-height: 1.9; }

/* Optional process icons add a column only when an icon exists. */
.ad-lp-visuals .ad-steps { max-width: 1040px; }
.ad-lp-visuals .ad-step:has(.ad-step-icon) { grid-template-columns: 72px 62px minmax(0, 1fr); gap: 25px; align-items: start; }
.ad-lp-visuals .ad-step-icon { grid-column: 1; grid-row: 1; display: flex; width: 64px; height: 64px; align-items: center; justify-content: center; }
.ad-lp-visuals .ad-step-icon img { display: block; width: 64px; height: 64px; object-fit: contain; }
.ad-lp-visuals .ad-step:has(.ad-step-icon) > span:not(.ad-step-icon),
.ad-lp-visuals .ad-step:has(.ad-step-icon) > .wp-block-group__inner-container > span:not(.ad-step-icon) { grid-column: 2; grid-row: 1; padding-top: 4px; font-size: 20px; }
.ad-lp-visuals .ad-step:has(.ad-step-icon) > div:not(.ad-step-icon):not(.wp-block-group__inner-container),
.ad-lp-visuals .ad-step:has(.ad-step-icon) > .wp-block-group__inner-container > div:not(.ad-step-icon) { grid-column: 3; grid-row: 1; min-width: 0; }
.ad-lp-visuals .ad-step p { font-size: 17px; line-height: 1.9; }

@media (max-width: 1120px) {
  .ad-lp-visuals .ad-hero-grid { gap: 30px; }
  .ad-lp-visuals .ad-hero-title { font-size: 46px; }
  .ad-lp-visuals .ad-hero-image-label strong { font-size: 23px; }
  .ad-lp-visuals .ad-visual-flow { gap: 36px; padding-inline: 24px; }
  .ad-lp-visuals .ad-visual-step:not(:last-of-type)::after { right: -30px; }
  .ad-lp-visuals .ad-support-grid { gap: 41px 25px; }
  .ad-lp-visuals .ad-example-grid { gap: 26px; }
  .ad-lp-visuals :is(.ad-support-item h3, .ad-example blockquote) { font-size: 21px; }
}

@media (max-width: 900px) {
  .ad-lp-visuals .ad-hero { padding-block: 35px 45px; }
  .ad-lp-visuals .ad-hero-grid { grid-template-columns: 1fr; gap: 22px; }
  .ad-lp-visuals .ad-hero-copy { display: contents; }
  .ad-lp-visuals .ad-hero-intro { grid-column: 1; grid-row: 1; }
  .ad-lp-visuals .ad-hero-art { grid-column: 1; grid-row: 2; }
  .ad-lp-visuals .ad-hero-details { grid-column: 1; grid-row: 3; }
  .ad-lp-visuals .ad-hero-details .ad-lead { margin-top: 0; }
  .ad-lp-visuals .ad-hero-title { max-width: 14em; font-size: 48px; }
  .ad-lp-visuals .ad-hero-art { max-width: 720px; }
  .ad-lp-visuals .ad-hero-image-label { gap: 6px; margin-top: 14px; padding-bottom: 14px; }
  .ad-lp-visuals .ad-hero-image-label strong { font-size: 23px; line-height: 1.55; }
  .ad-lp-visuals .ad-visual-flow { gap: 30px; margin-block: 28px 35px; padding: 25px 20px 27px; }
  .ad-lp-visuals .ad-flow-illustration { width: 144px; height: 99px; margin-bottom: 15px; }
  .ad-lp-visuals .ad-visual-step h3 { font-size: 20px; }
  .ad-lp-visuals .ad-visual-step:not(:last-of-type)::after { top: 38px; right: -27px; font-size: 25px; }
  .ad-lp-visuals .ad-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 26px; }
  .ad-lp-visuals .ad-example-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px 26px; }
  .ad-lp-visuals .ad-step:has(.ad-step-icon) { grid-template-columns: 64px 53px minmax(0, 1fr); gap: 20px; }
}

@media (max-width: 640px) {
  .ad-lp-visuals .ad-hero { padding-block: 30px 36px; }
  .ad-lp-visuals .ad-hero-grid { gap: 20px; }
  .ad-lp-visuals .ad-hero-title { margin-top: 16px; font-size: 36px; line-height: 1.4; }
  .ad-lp-visuals .ad-lead { margin-top: 19px; font-size: 16px; line-height: 1.9; }
  .ad-lp-visuals .ad-hero-prices { gap: 9px; margin-top: 20px; }
  .ad-lp-visuals .ad-hero-copy .ad-actions { margin-top: 20px; }
  .ad-lp-visuals .ad-hero-copy .ad-caption { margin-top: 12px; }
  .ad-lp-visuals .ad-hero-image { border-radius: 6px; }
  .ad-lp-visuals .ad-hero-image-label { gap: 5px; margin-top: 12px; padding-bottom: 12px; }
  .ad-lp-visuals .ad-hero-image-label span { font-size: 10px; letter-spacing: .075em; }
  .ad-lp-visuals .ad-hero-image-label strong { font-size: 20px; line-height: 1.5; }
  .ad-lp-visuals .ad-hero-art .ad-caption { margin-top: 9px; font-size: 12px; line-height: 1.7; }
  .ad-lp-visuals .ad-section-head p:not(.ad-kicker) { font-size: 16px; }
  .ad-lp-visuals .ad-visual-flow { grid-template-columns: 1fr; gap: 32px; margin-block: 26px 31px; padding: 23px 20px; }
  .ad-lp-visuals .ad-visual-step { grid-template-columns: 96px minmax(0, 1fr); justify-items: start; align-items: center; gap: 3px 15px; min-height: 83px; text-align: left; }
  .ad-lp-visuals .ad-flow-illustration { grid-column: 1; grid-row: 1 / span 2; width: 96px; height: 72px; margin: 0; }
  .ad-lp-visuals .ad-visual-step :is(span, .ad-visual-step-label) { grid-column: 2; grid-row: 1; align-self: end; font-size: 11px; line-height: 1.6; }
  .ad-lp-visuals .ad-visual-step h3 { grid-column: 2; align-self: start; margin-top: 2px; font-size: 20px; line-height: 1.6; }
  .ad-lp-visuals .ad-visual-step:not(:last-of-type)::after { top: auto; right: calc(50% - 12px); bottom: -29px; font-size: 24px; content: "\2193"; }
  .ad-lp-visuals .ad-benefit-grid { gap: 25px; }
  .ad-lp-visuals .ad-benefit-item h3 { font-size: 22px; }
  .ad-lp-visuals :is(.ad-benefit-item, .ad-support-item, .ad-example) p:where(:not(.ad-number, .ad-example-type, .ad-deliverable)) { font-size: 16px; line-height: 1.95; }
  .ad-lp-visuals .ad-support-grid { grid-template-columns: 1fr; gap: 38px; }
  .ad-lp-visuals .ad-support-visual { margin-bottom: 21px; }
  .ad-lp-visuals .ad-support-item .ad-number { margin-bottom: 9px; font-size: 17px; }
  .ad-lp-visuals .ad-support-item h3 { font-size: 23px; line-height: 1.6; }
  .ad-lp-visuals .ad-support-item ul { margin-block: 15px 20px; font-size: 16px; }
  .ad-lp-visuals .ad-support-item .ad-deliverable { padding-top: 14px; font-size: 15px; }
  .ad-lp-visuals .ad-example-grid { grid-template-columns: 1fr; gap: 34px; }
  .ad-lp-visuals .ad-example { padding-bottom: 24px; }
  .ad-lp-visuals .ad-example-image { margin-bottom: 20px; }
  .ad-lp-visuals .ad-example blockquote { margin-block: 12px 16px; font-size: 23px; }
  .ad-lp-visuals .ad-example .ad-example-type { font-size: 13px; }
  .ad-lp-visuals .ad-example dd { font-size: 16px; }
  .ad-lp-visuals .ad-step:has(.ad-step-icon) { grid-template-columns: 52px minmax(0, 1fr); gap: 5px 15px; padding-block: 24px; }
  .ad-lp-visuals .ad-step-icon { grid-column: 1; grid-row: 1 / span 2; width: 48px; height: 48px; margin-top: 3px; }
  .ad-lp-visuals .ad-step-icon img { width: 48px; height: 48px; }
  .ad-lp-visuals .ad-step:has(.ad-step-icon) > span:not(.ad-step-icon),
  .ad-lp-visuals .ad-step:has(.ad-step-icon) > .wp-block-group__inner-container > span:not(.ad-step-icon) { grid-column: 2; grid-row: 1; padding-top: 0; font-size: 17px; line-height: 1.4; }
  .ad-lp-visuals .ad-step:has(.ad-step-icon) > div:not(.ad-step-icon):not(.wp-block-group__inner-container),
  .ad-lp-visuals .ad-step:has(.ad-step-icon) > .wp-block-group__inner-container > div:not(.ad-step-icon) { grid-column: 2; grid-row: 2; }
  .ad-lp-visuals .ad-step h3 { font-size: 21px; }
  .ad-lp-visuals .ad-step p { font-size: 16px; }
}

@media (max-width: 380px) {
  .ad-lp-visuals .ad-hero-title { font-size: 30px; }
  .ad-lp-visuals .ad-hero-image-label strong { font-size: 20px; }
  .ad-lp-visuals .ad-visual-flow { padding-inline: 16px; }
  .ad-lp-visuals .ad-visual-step { grid-template-columns: 80px minmax(0, 1fr); column-gap: 12px; }
  .ad-lp-visuals .ad-flow-illustration { width: 80px; height: 64px; }
  .ad-lp-visuals .ad-visual-step h3 { font-size: 19px; }
  .ad-lp-visuals .ad-step:has(.ad-step-icon) { grid-template-columns: 45px minmax(0, 1fr); column-gap: 12px; }
  .ad-lp-visuals .ad-step-icon,
  .ad-lp-visuals .ad-step-icon img { width: 42px; height: 42px; }
}

@media print {
  .ad-lp-visuals .ad-hero-grid { grid-template-columns: 1.1fr 1fr; gap: 25px; }
  .ad-lp-visuals .ad-hero-image { border-radius: 0; }
  .ad-lp-visuals .ad-visual-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 20px; break-inside: avoid; }
  .ad-lp-visuals :is(.ad-support-grid, .ad-example-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .ad-lp-visuals :is(.ad-hero-art, .ad-visual-step, .ad-support-item, .ad-example) { break-inside: avoid; }
}
