/* FactorPrint CMS 1.2.76 — fractional width image+text cards, up to 4 adjacent cards with responsive fallbacks; CSS Snapshot 2026. */
/* FactorPrint CMS 1.2.44 — transparent image media and Cover surface. */
/* FactorPrint CMS 1.2.43 — responsive Image + Text, CSS Snapshot 2026, no JS requirement. */
.content-block .button:has(>.fp-action-icon){display:inline-flex;align-items:center;justify-content:center;gap:.55em}
.fp-action-icon{display:inline-block;flex:none;line-height:1}
.fp-image-text{display:grid;grid-template-columns:var(--fp-it-ratio) minmax(0,1fr);align-items:stretch;min-width:0;min-height:var(--fp-it-height);border-radius:var(--fp-it-radius);overflow:hidden;isolation:isolate}
.fp-image-text-media{position:relative;min-width:0;min-height:var(--fp-it-height);overflow:hidden;background:transparent}
.fp-image-text-media>img{display:block;width:100%;height:100%;min-height:var(--fp-it-height);object-fit:cover;object-position:center}
.fp-image-text-fit-contain .fp-image-text-media>img{object-fit:contain}
.fp-image-text-focus-top .fp-image-text-media>img{object-position:center top}
.fp-image-text-focus-bottom .fp-image-text-media>img{object-position:center bottom}
.fp-image-text-focus-left .fp-image-text-media>img{object-position:left center}
.fp-image-text-focus-right .fp-image-text-media>img{object-position:right center}
.fp-image-text-copy{display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:clamp(1.25rem,3vw,3.5rem);min-width:0;overflow-wrap:anywhere}
.fp-image-text-copy>*{margin:0;max-width:100%}
.fp-image-text-copy .button{align-self:flex-start}
.fp-image-text-align-center .fp-image-text-copy{text-align:center}
.fp-image-text-align-center .fp-image-text-copy .button{align-self:center}
.fp-image-text-align-right .fp-image-text-copy{text-align:right}
.fp-image-text-align-right .fp-image-text-copy .button{align-self:flex-end}
.fp-image-text-v-top .fp-image-text-copy{justify-content:flex-start}
.fp-image-text-v-bottom .fp-image-text-copy{justify-content:flex-end}
.fp-image-text-eyebrow{font-size:.83rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.82}
.fp-image-text-copy h2{font-size:clamp(1.5rem,2.5vw,2.8rem);line-height:1.18}
.fp-image-text-copy .fp-image-text-description{line-height:1.6}
.fp-image-text-right{grid-template-columns:minmax(0,1fr) var(--fp-it-ratio)}
.fp-image-text-right .fp-image-text-media{order:2}
.fp-image-text-top{grid-template-columns:minmax(0,1fr);min-height:0}
.fp-image-text-top .fp-image-text-media{min-height:var(--fp-it-height);height:var(--fp-it-height)}
.fp-image-text-top .fp-image-text-media>img{min-height:0;height:100%}
.fp-image-text-cover{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(var(--fp-it-height),auto);position:relative;min-height:var(--fp-it-height);background:transparent}
.fp-image-text-cover .fp-image-text-media{position:absolute;inset:0;z-index:-1;min-height:100%}
.fp-image-text-cover .fp-image-text-media>img{height:100%;min-height:100%}
.fp-image-text-cover .fp-image-text-copy{align-self:stretch;position:relative;background:rgb(var(--fp-it-overlay) / var(--fp-it-opacity));color:var(--fp-it-text-color);width:min(60%,640px);min-height:100%;max-width:100%;box-sizing:border-box}
.fp-image-text-cover .fp-image-text-description,.fp-image-text-cover .fp-image-text-description *{color:inherit}
.fp-image-text-cover.fp-image-text-panel-right .fp-image-text-copy{justify-self:end}
.fp-image-text-cover.fp-image-text-panel-left .fp-image-text-copy{justify-self:start}
.fp-image-text-cover.fp-image-text-panel-bottom .fp-image-text-copy{align-self:end;justify-self:stretch;width:100%;min-height:0}
@media(max-width:720px){.fp-image-text:not(.fp-image-text-cover){grid-template-columns:minmax(0,1fr);min-height:0}.fp-image-text:not(.fp-image-text-cover) .fp-image-text-media{order:0;min-height:220px;height:clamp(220px,55vw,360px)}.fp-image-text:not(.fp-image-text-cover) .fp-image-text-media>img{height:100%;min-height:0}.fp-image-text:not(.fp-image-text-cover) .fp-image-text-copy{order:1}.fp-image-text-cover .fp-image-text-copy{width:100%;min-height:0;align-self:end;justify-self:stretch}.fp-image-text-cover{min-height:max(360px,var(--fp-it-height))}.fp-image-text-copy{padding:clamp(1rem,5vw,2rem)}}
@media(prefers-reduced-motion:reduce){.fp-image-text *{scroll-behavior:auto}}

/* Width applies only to Image + Text wrapper; old blocks default to full width. */
.fp-page .content-block.block-image_text:is(.fp-image-text-card-width-50,.fp-image-text-card-width-33,.fp-image-text-card-width-25),
.fp-section-group>.content-block.block-image_text:is(.fp-image-text-card-width-50,.fp-image-text-card-width-33,.fp-image-text-card-width-25){display:inline-block;vertical-align:top;box-sizing:border-box;padding-inline:clamp(5px,0.9vw,12px);min-width:0;margin-inline:0;}
.fp-page .content-block.fp-image-text-card-width-50,.fp-section-group>.content-block.fp-image-text-card-width-50{width:50%}
.fp-page .content-block.fp-image-text-card-width-33,.fp-section-group>.content-block.fp-image-text-card-width-33{width:33.333333%}
.fp-page .content-block.fp-image-text-card-width-25,.fp-section-group>.content-block.fp-image-text-card-width-25{width:25%}
/* Narrow cards avoid two nested columns competing for the available width. */
.fp-image-text-card-width-33 .fp-image-text:not(.fp-image-text-cover),.fp-image-text-card-width-25 .fp-image-text:not(.fp-image-text-cover){grid-template-columns:minmax(0,1fr);min-height:0}
.fp-image-text-card-width-33 .fp-image-text:not(.fp-image-text-cover) .fp-image-text-media,.fp-image-text-card-width-25 .fp-image-text:not(.fp-image-text-cover) .fp-image-text-media{order:0;min-height:0;height:var(--fp-it-height)}
.fp-image-text-card-width-33 .fp-image-text:not(.fp-image-text-cover) .fp-image-text-copy,.fp-image-text-card-width-25 .fp-image-text:not(.fp-image-text-cover) .fp-image-text-copy{order:1;padding:clamp(12px,1.8vw,24px)}
.fp-image-text-card-width-33 .fp-image-text:not(.fp-image-text-cover) .fp-image-text-media>img,.fp-image-text-card-width-25 .fp-image-text:not(.fp-image-text-cover) .fp-image-text-media>img{min-height:0;height:100%}
.fp-image-text-card-width-33 .fp-image-text-copy h2,.fp-image-text-card-width-25 .fp-image-text-copy h2{font-size:clamp(1.05rem,1.65vw,1.6rem)}
@media(max-width:1199px){.fp-page .content-block.block-image_text:is(.fp-image-text-card-width-33,.fp-image-text-card-width-25),.fp-section-group>.content-block.block-image_text:is(.fp-image-text-card-width-33,.fp-image-text-card-width-25){width:50%}}
@media(max-width:739px){.fp-page .content-block.block-image_text:is(.fp-image-text-card-width-50,.fp-image-text-card-width-33,.fp-image-text-card-width-25),.fp-section-group>.content-block.block-image_text:is(.fp-image-text-card-width-50,.fp-image-text-card-width-33,.fp-image-text-card-width-25){display:block;width:100%;padding-inline:0}}

/* FactorPrint CMS 1.2.77 — scoped button block appearances: loaded with pre-existing image-text.css; no additional global head stylesheet. */
@layer components {
/* Original .button design remains unchanged for existing pages and other blocks. */
.public-body .fp-page .content-block.block-button .button.fp-button-variant-classic{background:var(--fp-blue,#167cb0);color:#fff!important;border-color:var(--fp-blue,#167cb0)}
.public-body .fp-page .content-block.block-button .button.fp-button-variant-outline{background:transparent;color:var(--fp-blue,#167cb0)!important;border:2px solid var(--fp-blue,#167cb0)}
.public-body .fp-page .content-block.block-button .button.fp-button-variant-outline:hover{background:var(--fp-blue,#167cb0);color:#fff!important}
.public-body .fp-page .content-block.block-button .button.fp-button-variant-soft{background:#e5f3fc;color:#125c84!important;border-color:#c6e4f4}
.public-body .fp-page .content-block.block-button .button.fp-button-variant-soft:hover{background:#cfe9f9;color:#103e5b!important}
.public-body .fp-page .content-block.block-button .button.fp-button-variant-pill{border-radius:999px;padding-inline:1.6rem;background:var(--fp-blue,#167cb0);color:#fff!important}
.public-body .fp-page .content-block.block-button .button.fp-button-variant-pill:hover{filter:brightness(.92)}
.public-body .fp-page .content-block.block-button .button.fp-button-variant-gradient{background:linear-gradient(120deg,#08689d,#279dc1);color:#fff!important;border-color:transparent}
.public-body .fp-page .content-block.block-button .button.fp-button-variant-gradient:hover{background:linear-gradient(120deg,#07557f,#137eaf)}
.public-body .fp-page .content-block.block-button .button.fp-button-variant-ghost{background:transparent;color:var(--fp-blue,#167cb0)!important;border-color:transparent;text-decoration:underline!important;text-underline-offset:.2em}
.public-body .fp-page .content-block.block-button .button.fp-button-variant-ghost:hover{background:rgba(9,112,162,.1);color:#094e76!important}
.public-body .fp-page .content-block.block-button .button.fp-button-variant-shadow{background:var(--fp-blue,#167cb0);color:#fff!important;border-color:var(--fp-blue,#167cb0);box-shadow:0 7px 0 #0b456b,0 12px 22px rgba(8,51,82,.18)}
.public-body .fp-page .content-block.block-button .button.fp-button-variant-shadow:hover{background:var(--fp-blue-dark,#065886);transform:translateY(2px);box-shadow:0 5px 0 #0b456b,0 9px 20px rgba(8,51,82,.18)}
.public-body .fp-page .content-block.block-button .button:focus-visible{outline:3px solid #f49f25;outline-offset:3px}
}
/* Component theme has unlayered button backgrounds; these scoped overrides intentionally
   win against that generic rule while foreground colors remain within @layer components. */
.public-body .fp-page .block-button .button.fp-button-variant-outline{background:transparent!important;border-color:var(--fp-blue,#167cb0)!important}
.public-body .fp-page .block-button .button.fp-button-variant-outline:hover{background:var(--fp-blue,#167cb0)!important}
.public-body .fp-page .block-button .button.fp-button-variant-soft{background:#e5f3fc!important;border-color:#c6e4f4!important}
.public-body .fp-page .block-button .button.fp-button-variant-soft:hover{background:#cfe9f9!important}
.public-body .fp-page .block-button .button.fp-button-variant-gradient{background:linear-gradient(120deg,#08689d,#279dc1)!important;border-color:transparent!important}
.public-body .fp-page .block-button .button.fp-button-variant-gradient:hover{background:linear-gradient(120deg,#07557f,#137eaf)!important}
.public-body .fp-page .block-button .button.fp-button-variant-ghost{background:transparent!important;border-color:transparent!important}
.public-body .fp-page .block-button .button.fp-button-variant-ghost:hover{background:rgba(9,112,162,.1)!important}
