/* Shared by public pages, Actual, and the narrow editor preview. */
.cta-content-shell { width:100%; min-width:0; container:cta-layout / inline-size; }
.cta-content { width:100%; display:grid; grid-template-columns:repeat(var(--cta-columns,3),minmax(0,1fr)); gap:24px; text-align:left; }
.cta-content-card { min-width:0; position:relative; display:flex; flex-direction:column; overflow:hidden; border-radius:var(--cta-card-radius,22px); background:var(--cta-card-bg,#f4f8fb); box-shadow:0 12px 32px rgba(22,45,65,.07); color:var(--cta-title-color,#16202b); text-decoration:none; }
.cta-content-card__copy { min-width:0; min-height:260px; padding:30px; display:flex; flex:1; flex-direction:column; align-items:flex-start; }
.cta-content-card__copy > :is(small,h3,p) { max-width:100%; overflow-wrap:anywhere; word-break:keep-all; }
.cta-content-card__marker { display:block; margin:0 0 16px; color:var(--cta-marker-color,#1468b8); font-family:var(--cta-marker-font,Pretendard,sans-serif); font-size:var(--cta-marker-size,11px); font-weight:800; line-height:1.5; letter-spacing:.08em; white-space:normal; }
.cta-content-card__copy h3,.content-layout-surface .cta-content-card__copy h3 { margin:0; color:var(--cta-title-color,#16202b); font-family:var(--cta-title-font,Pretendard,sans-serif); font-size:var(--cta-title-size,32px); line-height:1.3; letter-spacing:-.035em; }
.cta-content-card__copy p,.content-layout-surface .cta-content-card__copy p { margin:16px 0 0; color:var(--cta-body-color,#637587); font-family:var(--cta-body-font,Pretendard,sans-serif); font-size:var(--cta-body-size,16px); line-height:1.75; }
.cta-content-card__image { width:auto; min-width:0; min-height:var(--cta-item-image-height,var(--cta-image-height,210px)); height:var(--cta-item-image-height,var(--cta-image-height,210px)); max-height:none; aspect-ratio:auto; flex:0 0 auto; position:relative; overflow:hidden; background:var(--cta-card-bg,#f4f8fb); }
.cta-content-card__image > img { width:100%; height:100%; max-width:none; max-height:none; position:absolute; inset:0; display:block; margin:0; object-fit:var(--cta-item-image-fit,cover); object-position:center; }
.cta-content-card__button { width:fit-content; max-width:100%; min-height:var(--cta-button-height,46px); flex-shrink:0; margin-top:28px; padding:12px 20px; display:inline-flex; align-items:center; justify-content:center; gap:16px; border:0; border-radius:var(--cta-button-radius,999px); background:var(--cta-button-bg,#1468b8); color:var(--cta-button-text,#fff) !important; font-family:var(--cta-button-font,Pretendard,sans-serif); font-size:var(--cta-button-font-size,14px); font-weight:800; line-height:1.4; overflow-wrap:anywhere; text-decoration:none !important; transition:filter .18s ease; }
.cta-content-card__button i { flex-shrink:0; font-style:normal; font-size:18px; }
.cta-content-card__button:hover { filter:brightness(.92); }
.cta-content-card__button:focus-visible,.cta-content-card.is-clickable-sector:focus-visible { outline:3px solid var(--cta-button-bg,#1468b8); outline-offset:4px; }
.cta-content-card.cta-button-outline .cta-content-card__button { border:2px solid var(--cta-button-bg,#1468b8); background:transparent; }
.cta-content-card.cta-button-soft .cta-content-card__button { background:color-mix(in srgb,var(--cta-button-bg,#1468b8) 14%,var(--cta-card-bg,#fff)); }
.cta-content .cta-content-card.content-left .cta-content-card__copy { align-items:flex-start; text-align:left !important; }
.cta-content .cta-content-card.content-center .cta-content-card__copy { align-items:center; text-align:center !important; }
.cta-content .cta-content-card.content-right .cta-content-card__copy { align-items:flex-end; text-align:right !important; }
.cta-content-card.action-left .cta-content-card__button { align-self:flex-start; }
.cta-content-card.action-center .cta-content-card__button { align-self:center; }
.cta-content-card.action-right .cta-content-card__button { align-self:flex-end; }
.cta-content-card.v-top .cta-content-card__copy { justify-content:flex-start; }
.cta-content-card.v-center .cta-content-card__copy { justify-content:center; }
.cta-content-card.v-bottom .cta-content-card__copy { justify-content:flex-end; }
.cta-content-card.is-clickable-sector { cursor:pointer; }
.cta-content-card.is-clickable-sector .cta-content-card__copy { padding-bottom:84px; }
.cta-content-card.is-clickable-sector::after { content:"→"; width:40px; height:40px; position:absolute; z-index:2; right:24px; bottom:24px; display:grid; place-items:center; border-radius:50%; background:var(--cta-button-bg,#1468b8); color:var(--cta-button-text,#fff); font-size:20px; }

/* Text first, with an optional inset photo below the action. */
.cta-content--cards .cta-content-card__image { order:2; margin:0 26px 26px; border-radius:min(var(--cta-card-radius,22px),12px); aspect-ratio:auto; }
.cta-content--cards .cta-content-card__copy { justify-content:center; }
.cta-content--cards .cta-content-card.has-image.is-clickable-sector::after { top:24px; bottom:auto; }
.cta-content--cards .cta-content-card.has-image.is-clickable-sector .cta-content-card__copy { padding:76px 30px 30px; }

/* Image first: a full-width photo and a separate, readable information area. */
.cta-content--image-cards .cta-content-card__copy { min-height:240px; }
.cta-content--image-cards .cta-content-card__image { aspect-ratio:auto; }

/* Auto-fit uses the card's real width, including narrow inspector previews. */
.cta-content--banner .cta-content-card { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); }
.cta-content--banner .cta-content-card__image { align-self:stretch; max-height:none; aspect-ratio:auto; height:auto; min-height:var(--cta-item-image-height,var(--cta-image-height,210px)); }
.cta-content--banner .cta-content-card__copy { min-height:340px; padding:clamp(28px,4cqi,64px); justify-content:center; }
.cta-content--split-panel .cta-content-card { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); }
.cta-content--split-panel .cta-content-card__image { align-self:stretch; max-height:none; aspect-ratio:auto; height:auto; min-height:var(--cta-item-image-height,var(--cta-image-height,210px)); }
.cta-content--split-panel .cta-content-card__copy { min-height:300px; justify-content:center; }
.cta-content--banner .cta-content-card.no-image,.cta-content--split-panel .cta-content-card.no-image { display:flex; }

.cta-content--compact-actions .cta-content-card { box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cta-button-bg,#1468b8) 15%,transparent); }
.cta-content--compact-actions .cta-content-card__image { width:min(calc(100% - 48px),var(--cta-item-image-height,210px)); height:auto; min-height:0; aspect-ratio:1; margin:24px 24px 0; border-radius:12px; }
.cta-content--compact-actions .cta-content-card__copy { min-height:190px; padding:24px; }
.cta-content--compact-actions .cta-content-card__copy h3 { font-size:min(var(--cta-title-size,32px),28px); }

/* Keep the marker in normal flow; only the complete copy panel overlaps. */
.cta-content--editorial-cover .cta-content-card { isolation:isolate; }
.cta-content--editorial-cover .cta-content-card__image { aspect-ratio:auto; }
.cta-content--editorial-cover .cta-content-card__copy { position:relative; z-index:1; min-height:250px; margin:0 20px 20px; padding:28px; border-radius:min(var(--cta-card-radius,22px),16px); background:color-mix(in srgb,var(--cta-card-bg,#f4f8fb) 35%,#fff); }
.cta-content--editorial-cover .cta-content-card.has-image .cta-content-card__copy { margin-top:-24px; }
.cta-content--editorial-cover .cta-content-card.no-image .cta-content-card__copy { margin-top:20px; }
.cta-content--editorial-cover .cta-content-card__marker { width:fit-content; max-width:100%; margin:0 0 16px; padding:6px 10px; border-radius:6px; background:color-mix(in srgb,var(--cta-marker-color,#1468b8) 12%,#fff); }
.cta-content--editorial-cover .cta-content-card.is-clickable-sector::after { right:40px; bottom:40px; }
.sector-action-preview-badge { position:absolute; top:12px; right:12px; z-index:3; max-width:calc(100% - 24px); padding:7px 10px; border-radius:999px; background:#1568b3; color:#fff; font-size:10px; font-weight:800; line-height:1.4; pointer-events:none; }
.sector-action-preview-badge.is-warning { background:#fff2df; color:#9b5400; }

@container cta-layout (min-width:681px) and (max-width:1100px) {
  .cta-content.cta-columns-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container cta-layout (max-width:680px) {
  .cta-content { grid-template-columns:1fr; gap:18px; }
  .cta-content-card__image { height:var(--cta-item-image-height,var(--cta-image-height,210px)); min-height:var(--cta-item-image-height,var(--cta-image-height,210px)); max-height:none; }
  .cta-content--banner .cta-content-card,.cta-content--split-panel .cta-content-card { display:flex; }
  .cta-content--banner .cta-content-card__image,.cta-content--split-panel .cta-content-card__image { aspect-ratio:auto; height:var(--cta-item-image-height,var(--cta-image-height,210px)); min-height:var(--cta-item-image-height,var(--cta-image-height,210px)); max-height:none; }
  .cta-content .cta-content-card__copy { min-height:0; padding:26px; }
  .cta-content-card__copy h3,.content-layout-surface .cta-content-card__copy h3 { font-size:min(var(--cta-title-size,32px),32px,8cqi); }
  .cta-content-card__copy p,.content-layout-surface .cta-content-card__copy p { font-size:min(var(--cta-body-size,16px),18px); }
  .cta-content-card__marker { font-size:min(var(--cta-marker-size,11px),22px); }
  .cta-content-card__button { margin-top:24px; gap:12px; }
  .cta-content--cards .cta-content-card__image { margin:0 22px 22px; }
  .cta-content--compact-actions .cta-content-card__image { height:auto; min-height:0; }
  .cta-content--editorial-cover .cta-content-card__copy { margin-inline:16px; margin-bottom:16px; padding:24px; }
  .cta-content--editorial-cover .cta-content-card.is-clickable-sector::after { right:32px; bottom:32px; }
  .cta-content-card.is-clickable-sector .cta-content-card__copy { padding-bottom:78px; }
}
@container cta-layout (max-width:380px) {
  .cta-content .cta-content-card__copy { padding:22px 18px; }
  .cta-content--cards .cta-content-card__image { margin:0 18px 18px; }
  .cta-content--editorial-cover .cta-content-card__copy { margin-inline:12px; margin-bottom:12px; }
  .cta-content-card.is-clickable-sector .cta-content-card__copy { padding-bottom:78px; }
}
@media (prefers-reduced-motion:reduce) {
  .cta-content-card__button { transition:none; }
}
