/* ImpactAction block sections (used on the site AND in the page editor) */
.ia-band { margin: 0; padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.ia-wrap { width: min(100% - 2.5rem, 1240px); margin-inline: auto; }
.ia-wrap--narrow { width: min(100% - 2.5rem, 780px); }
.ia-left { text-align: left; }
.ia-center { text-align: center; }
.ia-band--red     { background: var(--ia-red);     color: #fff; }
.ia-band--navy    { background: var(--ia-navy);    color: #fff; }
.ia-band--surface { background: var(--ia-surface); color: var(--ia-text); }
.ia-band--peach   { background: var(--ia-peach);   color: var(--ia-navy); }
.ia-band--red h1, .ia-band--red h2, .ia-band--red h3, .ia-band--navy h1, .ia-band--navy h2, .ia-band--navy h3 { color: #fff; }
.ia-band--peach h1, .ia-band--peach h2, .ia-band--peach h3 { color: var(--ia-navy); }

/* Hero */
.ia-band--hero { padding-block: clamp(3rem, 9vw, 7rem) clamp(2rem, 4vw, 3.5rem); text-align: center; }
.ia-eyebrow { margin: 0 0 1.4rem; color: var(--ia-accent); font-size: .8rem; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; }
.ia-hero-title { margin: 0; font-size: clamp(3.2rem, 11vw, 9rem); line-height: .92; }
.ia-hero-title mark { background: none; color: var(--ia-accent); font-style: var(--ia-l3-style, normal); }
.ia-lead { max-width: 640px; margin: 1.8rem auto 0; font-size: 1.15rem; opacity: .85; }

/* Photo + pillars card */
.ia-band--photo { padding-block: 0 clamp(1rem, 3vw, 2.5rem); }
.ia-photo-wrap { position: relative; margin-bottom: 4.5rem; }
.ia-photo { margin: 0; }
.ia-photo img { display: block; width: 100%; height: clamp(240px, 34vw, var(--ia-photo-h, 440px)); object-fit: cover; border-radius: 28px; }
.ia-pillars-card { position: absolute; right: 2rem; bottom: -2.5rem; width: min(640px, calc(100% - 4rem)); background: var(--ia-peach); color: var(--ia-navy); border-radius: 20px; overflow: hidden; box-shadow: 0 18px 40px rgba(0, 0, 0, .35); }
.ia-pillars-cols { margin: 0 !important; gap: 0 !important; }
.ia-pillars-cols > .wp-block-column { margin: 0; padding: 1.3rem 1.4rem; }
.ia-pillars-cols > .wp-block-column + .wp-block-column { border-left: 1px solid rgba(11, 31, 91, .15); }
.ia-pillars-card h3 { margin: 0 0 .2rem; font-family: var(--ia-font-body); font-size: 1.15rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--ia-navy); }
.ia-pillars-cols > .wp-block-column:nth-child(2) h3 { color: var(--ia-red); }
.ia-pillars-card p { margin: 0; font-size: .9rem; line-height: 1.4; color: var(--ia-navy); }
@media (max-width: 781px) {
	.ia-photo-wrap { margin-bottom: 2rem; }
	.ia-pillars-card { position: relative; right: auto; bottom: auto; width: calc(100% - 2rem); margin: -2rem auto 0; }
	.ia-pillars-cols > .wp-block-column + .wp-block-column { border-left: 0; border-top: 1px solid rgba(11, 31, 91, .15); }
}

/* Buttons */
.wp-block-buttons.ia-btn-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem; margin: 0; }
.wp-block-buttons.ia-btn-row--left { justify-content: flex-start; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border-color: rgba(255, 255, 255, .35); color: var(--ia-text); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .1); border-color: #fff; color: #fff; }
.wp-block-button.ia-btn-lg .wp-block-button__link { padding: 1.4rem 3rem; font-size: 1.05rem; letter-spacing: .12em; box-shadow: 0 14px 32px rgba(0, 0, 0, .4); }
.wp-block-button.ia-btn-peach .wp-block-button__link { background: var(--ia-peach); border-color: var(--ia-peach); color: var(--ia-navy); }
.wp-block-button.ia-btn-peach .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--ia-navy); }
.ia-band--button, .ia-band--buttons { padding-block: clamp(1rem, 3vw, 2rem); }
@media (max-width: 600px) { .ia-btn-row .wp-block-button, .ia-btn-row .wp-block-button__link { width: 100%; text-align: center; } }

/* Heading + text bands */
.ia-band--about { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.ia-band--about + .ia-band--about { border-top: 1px solid rgba(255, 255, 255, .1); }
.ia-about-cols { margin: 0; gap: clamp(1.5rem, 5vw, 4rem); }
.ia-band--about h2 { margin: 0; font-size: clamp(2.4rem, 5vw, 4rem); }
.ia-about-p { margin: 0; font-size: clamp(1.1rem, 1.6vw, 1.35rem); line-height: 1.75; color: color-mix(in srgb, var(--ia-text) 82%, transparent); }

/* Image + text, cards */
.ia-split { align-items: center; gap: clamp(1.5rem, 5vw, 4rem); margin: 0; }
.ia-cards-cols { gap: 1.5rem; margin-top: 2rem; }
.ia-card-block { height: 100%; padding: 1.75rem; background: var(--ia-surface); border: 1px solid rgba(255, 255, 255, .1); border-radius: 24px; }
.ia-card-block h3 { margin-top: 0; font-size: 1.7rem; }
.ia-card-block p { margin-bottom: 0; }
.ia-facts { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem .9rem; margin: 0 0 1rem; padding: 0; font-size: .85rem; color: var(--ia-accent); }
.ia-blocks .alignfull { width: 100%; max-width: none; margin-inline: 0; }
.ia-blocks > .ia-band:last-child { padding-bottom: clamp(3rem, 7vw, 5rem); }
