/* All panels share the same two grid tracks, including inactive panels.
   Images are positioned inside a reserved frame and never set card height. */
.tzct-carousel { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto; width:100%; max-width:1200px; margin:0 auto; }
.tzct-card { --tzct-navy:#073b69; --tzct-cyan:#19a9c4; display:grid; grid-column:1; grid-row:1 / 3; grid-template-rows:subgrid; gap:0; min-width:0; width:100%; margin:0; box-sizing:border-box; color:var(--tzct-navy); font-family:inherit; }
.tzct-card__heading { display:flex; align-items:center; gap:20px; padding:0 0 16px; min-height:62px; box-sizing:border-box; }
.tzct-card__leaf { width:38px; height:44px; flex-shrink:0; color:#3888be; }
.tzct-card__theme { margin:0!important; color:var(--tzct-navy); font-size:clamp(24px,2.6vw,36px); font-weight:750; line-height:1.18; }
.tzct-card__heading-line { flex:1; min-width:30px; height:1px; background:#689cca; }
.tzct-card__tagline { max-width:270px; color:#528ec1; font-size:11px; font-weight:650; letter-spacing:.15em; text-transform:uppercase; }
.tzct-card__body { display:grid; grid-template-columns:minmax(0,56fr) minmax(0,44fr); grid-template-rows:minmax(0,1fr); height:clamp(340px,62vh,420px); min-height:0; overflow:hidden; border-radius:18px; background:#fff; box-shadow:0 10px 24px #123a5426; }
.tzct-card__media { position:relative; min-width:0; min-height:0; background:#eff7fa; border-right:1px solid #e6eef2; }
.tzct-card__stage { position:absolute; inset:0; }
.tzct-card__main-image { display:block; width:100%!important; max-width:100%!important; height:100%!important; max-height:none!important; margin:0!important; object-fit:contain; object-position:center; }
.tzct-card__content { position:relative; isolation:isolate; display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; padding:22px 26px; background:linear-gradient(135deg,#fff,#f9fcfe); box-sizing:border-box; }
.tzct-card__content::before { content:''; position:absolute; z-index:-1; right:28px; top:30px; width:58px; height:78px; border:7px solid #eaf3f8; border-radius:90% 8% 85% 8%; transform:rotate(20deg); opacity:.65; }
.tzct-card__content::after { content:''; position:absolute; z-index:-1; pointer-events:none; inset:55% 0 0; opacity:.5; background:repeating-radial-gradient(ellipse at -25% -55%,transparent 0 15px,#e8f5fa 16px 18px,transparent 19px 26px); }
.tzct-card__eyebrow { align-self:flex-start; display:inline-flex; align-items:center; gap:8px; margin-bottom:14px; padding:7px 15px; border-radius:999px; color:#073b69; background:#c4f8e0; font-size:13px; font-weight:750; letter-spacing:.04em; }
.tzct-card__eyebrow > span { color:#86b72a; font-size:19px; line-height:1; }
.tzct-card__title { margin:0 0 14px!important; color:var(--tzct-navy); font-size:clamp(23px,2.1vw,29px); font-weight:750; line-height:1.18; overflow-wrap:anywhere; }
.tzct-card__title::after { content:''; display:block; width:56px; height:2px; margin-top:12px; background:#009747; }
.tzct-card__text { flex:1 1 0; min-height:0; overflow-y:auto; scrollbar-width:thin; font-size:16px; line-height:1.5; color:#173c62; overflow-wrap:anywhere; }
.tzct-card__eyebrow,.tzct-card__title,.tzct-card__footer { flex-shrink:0; }
.tzct-card__text p { margin:0 0 1em; }
.tzct-card__footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:auto; padding-top:14px; min-height:44px; }
.tzct-card__button { display:inline-flex; gap:14px; align-items:center; justify-content:center; padding:13px 28px; border-radius:999px; color:#fff!important; background:var(--tzct-navy); font-size:16px; font-weight:700; text-decoration:none!important; }
.tzct-card__button:hover { background:#07518c; }
.tzct-card__controls { display:flex; gap:8px; margin-left:auto; }
.tzct-card__arrow { display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid #aac3d5; border-radius:50%; background:#fff; color:var(--tzct-navy); font-size:32px; line-height:1; cursor:pointer; box-shadow:0 2px 3px #073b6910; }
.tzct-card__arrow[data-tzct-next],.tzct-card__arrow:hover { background:var(--tzct-navy); color:#fff; }
.tzct-card__arrow:focus-visible,.tzct-card__button:focus-visible { outline:3px solid var(--tzct-cyan); outline-offset:3px; }
/* Hidden panels remain in layout for sizing, but cannot be seen, focused or clicked. */
.tzct-carousel > .tzct-card[hidden],.tzct-carousel:not([data-initialized]) > .tzct-card:not(:first-of-type) { display:grid!important; visibility:hidden; pointer-events:none; }
.tzct-card__arrow[hidden],.tzct-card__button[hidden] { display:none!important; }
.tzct-carousel__status { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.tzct-notice { padding:12px 16px; border-left:4px solid #dba617; background:#fff8e5; }
.tzct-home-shortcodes { width:100%; margin:0; padding:0; }
.tzct-home-shortcodes__item + .tzct-home-shortcodes__item { margin-top:32px; }
@media (max-width:1000px) { .tzct-card__tagline { display:none; } .tzct-card__content { padding:26px; } }
@media (max-width:780px) {
    .tzct-card__heading { gap:12px; padding-bottom:20px; }
    .tzct-card__theme { font-size:25px; }
    .tzct-card__leaf { width:30px; }
    .tzct-card__heading-line { display:none; }
    .tzct-card__body { height:auto; grid-template-columns:minmax(0,1fr); grid-template-rows:auto 420px; min-height:0; border-radius:16px; }
    .tzct-card__media { aspect-ratio:16 / 9; border:0; border-bottom:1px solid #e6eef2; }
    .tzct-card__content { padding:24px; }
    .tzct-card__title { font-size:27px; }
    .tzct-card__text { font-size:16px; }
    .tzct-card__button { padding:12px 20px; font-size:15px; }
    .tzct-card__arrow { width:40px; height:40px; }
}
