/* Keeps the approved navy / turquoise / yellow visual identity. */
.tct-media-section{padding-block:48px;scroll-margin-top:125px}
.tct-media-heading{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;margin-bottom:22px}
.tct-media-heading h2{font-size:clamp(25px,3.2vw,37px);line-height:1.25;letter-spacing:-.8px;margin:0;max-width:760px}
.tct-media-controls{display:flex;gap:10px;align-items:center;flex-shrink:0}
.tct-media-controls button,.tct-media-viewer-nav button{width:46px;height:46px;border:1px solid #b4cdd6;border-radius:50%;background:#fff;color:#082b49;font-size:23px;cursor:pointer}
.tct-media-controls button:disabled,.tct-media-viewer-nav button:disabled{opacity:.35;cursor:default}
.tct-media-status{font-size:13px;color:#456474;min-width:57px;text-align:center;font-variant-numeric:tabular-nums}
.tct-media-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);column-gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:1px;padding:2px 2px 15px;overscroll-behavior-inline:contain;scrollbar-color:#31b7c2 #eaf3f5;scrollbar-width:thin}
.tct-media-card{min-width:0;margin:0;border:1px solid #d4e2e7;border-radius:18px;background:white;overflow:hidden;scroll-snap-align:start}
.tct-media-open{display:block;position:relative;overflow:hidden;background:#eaf2f4;color:#082b49;cursor:zoom-in;text-decoration:none}
.tct-media-open img{display:block;width:100%;height:245px;object-fit:cover;transition:transform .2s ease}
.tct-media-open:hover img{transform:scale(1.025)}
.tct-media-open[data-media-type=video]{background:#082b49;cursor:pointer}
.tct-media-open[data-media-type=video] img{object-fit:contain}
.tct-media-card figcaption{padding:14px 17px;font-size:13px;line-height:1.65;min-height:66px}
.tct-media-badge{position:absolute;bottom:12px;left:12px;right:auto;max-width:calc(100% - 24px);background:#082b49f0;color:white;border-radius:22px;padding:8px 13px;font-size:12px;line-height:1.4;box-shadow:0 2px 9px #0003}
.tct-media-more{display:inline-flex;align-items:center;min-height:44px;margin-top:13px;font-size:14px;color:#126e7e;text-underline-offset:4px}
.tct-media-viewer{width:min(1050px,95vw);max-width:95vw;max-height:94dvh;border:0;border-radius:20px;padding:62px 24px 22px;background:#f6fafb;color:#082b49;overflow:auto}
.tct-media-viewer::backdrop{background:#061d30e8}
.tct-media-close{position:absolute;right:14px;top:12px;width:44px;height:44px;background:#082b49;color:white;border:0;border-radius:50%;font-size:29px;cursor:pointer}
.tct-media-display{display:flex;align-items:center;justify-content:center;min-height:180px;background:#071b29;border-radius:12px;overflow:hidden}
.tct-media-display img,.tct-media-display video{display:block;max-width:100%;max-height:70dvh;width:auto;height:auto;object-fit:contain}
.tct-media-display video{width:100%;min-height:160px}
.tct-media-caption{margin:14px 0;line-height:1.6;font-size:14px}
.tct-media-viewer-nav{display:flex;gap:18px;align-items:center;justify-content:center;min-height:46px}
.tct-media-open:focus-visible,.tct-media-controls button:focus-visible,.tct-media-track:focus-visible,.tct-media-close:focus-visible,.tct-media-viewer-nav button:focus-visible{outline:3px solid #14839c;outline-offset:3px}
.tct-media-cover{display:block;margin:22px 0 27px;max-width:100%;border-radius:22px;overflow:hidden;background:#eaf2f4}
.tct-media-cover img{display:block;width:100%;height:clamp(230px,35vw,415px);object-fit:cover}
.tct-media-cover figcaption{padding:12px 17px;font-size:13px;line-height:1.55}
.tct-media-hero-card{padding:0;background:#082b49;overflow:hidden;min-height:0;border-radius:70px 10px 70px 10px}
.tct-media-hero-card>.tct-media-editorial-img{width:100%;height:260px;object-fit:cover;display:block;margin:0 0 20px}
.tct-media-hero-card>.eyebrow,.tct-media-hero-card>.editorial-words,.tct-media-hero-card>p,.tct-media-hero-card>ul{margin-inline:26px}
.tct-media-hero-card>.editorial-words{font-size:29px;white-space:normal}
.tct-media-hero-card>p:last-child{padding-bottom:24px;margin-bottom:0;max-width:none}
.tct-program-media{padding:0 16px 15px;margin:0;max-width:100%}
.tct-program-media .tct-media-track{grid-auto-columns:calc((100% - 12px)/2);gap:12px}
.tct-program-media .tct-media-open img{height:150px}
.tct-program-media .tct-media-heading{margin-block:0 12px}
.tct-program-media .tct-media-heading h3{font-size:14px;margin:0}
.tct-program-media .tct-media-controls button{width:38px;height:38px;font-size:20px}
.tct-program-media .tct-media-card figcaption{font-size:12px;padding:10px;min-height:60px}
.tct-media-program-reference{font-size:12px;line-height:1.55;color:#426171;margin:10px 0 0}
.tct-media-service-img{width:100%;height:180px;object-fit:cover;border-radius:12px;margin-bottom:17px;display:block}
.tct-media-card-cover{padding:0!important;display:block!important}
.tct-media-card-cover img{display:block;width:100%;height:230px;object-fit:cover}
.tct-media-card-cover .cover-label{position:absolute;bottom:12px;left:12px;padding:8px 12px;border-radius:22px;background:#082b49e8;color:white;font-size:12px;max-width:calc(100% - 24px)}
.tct-gallery-category{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:13px;color:#426171}.tct-gallery-category select{min-height:44px;border:1px solid #becfd6;border-radius:10px;padding:10px 12px;background:white;color:#082b49;font:inherit}
@media(max-width:900px){.tct-media-track{grid-auto-columns:calc((100% - 20px)/2)}.tct-media-heading{align-items:flex-start}.tct-media-hero-card>.tct-media-editorial-img{height:235px}}
@media(max-width:600px){.tct-media-section{padding-block:34px}.tct-media-heading{flex-wrap:wrap;gap:15px}.tct-media-heading h2{font-size:26px}.tct-media-track{grid-auto-columns:87%;gap:15px}.tct-media-open img{height:230px}.tct-media-card figcaption{min-height:55px}.tct-media-viewer{padding:61px 12px 16px;width:96vw;max-width:96vw}.tct-media-display img,.tct-media-display video{max-height:65dvh}.tct-media-cover img{height:245px}.tct-program-media .tct-media-track{grid-auto-columns:90%}.tct-program-media .tct-media-heading{flex-wrap:nowrap}.tct-media-hero-card{border-radius:42px 8px 42px 8px}.tct-media-hero-card>.tct-media-editorial-img{height:230px}.tct-media-program-reference{font-size:12px}}
@media(prefers-reduced-motion:reduce){.tct-media-open img{transition:none}.tct-media-open:hover img{transform:none}}
