/* Bundled stylesheet. See assets/src/css/manifest.json. */


/* three routes, Gourara Lab, categorized training.
   Scoped to the new components: existing carousel, film, hero and navigation CSS stays intact. */
.tm-initiatives, .tm-initiatives *, .tm-gourara, .tm-gourara *, .tm-workshop-tabs, .tm-workshop-tabs * { box-sizing:border-box; }
.tm-initiatives { width:100%; margin:0; padding:clamp(52px,6.5vw,104px) 0 clamp(62px,7vw,108px); background:#f4f3f1; color:#151519; }
.tm-initiatives__inner { max-width:1420px; margin-inline:auto; }
.tm-initiatives__head { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:22px; margin-bottom:clamp(28px,3vw,42px); }
.tm-initiatives__eyebrow { display:inline-block; color:#b24c32; font-size:clamp(12px,1vw,14px); font-weight:800; letter-spacing:.035em; margin-bottom:9px; }
.tm-initiatives__head h2 { margin:0; color:#111216; font-size:clamp(31px,3.7vw,58px); line-height:1.16; font-weight:850; }
.tm-initiatives__head > p { max-width:34ch; margin:0; color:#73716f; font-size:clamp(14px,1.2vw,17px); line-height:1.85; }
.tm-initiatives__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,2.1vw,28px); }
.tm-initiative-card { min-width:0; aspect-ratio:2 / 3; overflow:hidden; background:#1a1b1c; position:relative; isolation:isolate; border-radius:3px; }
.tm-initiative-card__link { display:block; position:relative; width:100%; height:100%; overflow:hidden; color:#fff; isolation:isolate; text-decoration:none; }
.tm-initiative-card__link:hover, .tm-initiative-card__link:focus { color:#fff; }
.tm-initiative-card__link:focus-visible { outline:3px solid #e7b576; outline-offset:-6px; }
.tm-initiative-card__image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.7) contrast(1.05); transform:scale(1); transition:transform .55s ease,filter .4s ease; }
.tm-initiative-card--cine .tm-initiative-card__image { object-position:17% center; }
.tm-initiative-card__link:hover .tm-initiative-card__image,.tm-initiative-card__link:focus-visible .tm-initiative-card__image { transform:scale(1.035); filter:saturate(1) contrast(1.05); }
.tm-initiative-card--gourara { background:radial-gradient(circle at 35% 40%,#bf613f 0 15%,transparent 15.4%),linear-gradient(147deg,#9f321f,#3b0d0b 65%,#171113); }
.tm-initiative-card--cine { background:linear-gradient(135deg,#161a20,#050609 57%,#5d1017); }
.tm-initiative-card--training { background:linear-gradient(145deg,#b57d52,#60352c 44%,#15191d 96%); }
.tm-initiative-card__pattern { position:absolute; z-index:1; inset:0; pointer-events:none; overflow:hidden; }
.tm-initiative-card__pattern::before { content:""; position:absolute; width:75%; aspect-ratio:1; border-radius:50%; border:clamp(20px,4vw,52px) solid rgba(235,182,132,.19); inset-inline-end:-32%; top:16%; transform:rotate(-22deg); }
.tm-initiative-card__pattern::after { content:""; position:absolute; width:70%; height:1px; top:23%; inset-inline-start:10%; background:rgba(255,255,255,.23); transform:rotate(-24deg); }
.tm-initiative-card__pattern i { position:absolute; display:block; width:14px; height:14px; transform:rotate(45deg); background:rgba(255,239,217,.48); }
.tm-initiative-card__pattern i:nth-child(1) { top:20%; inset-inline-start:20%; }
.tm-initiative-card__pattern i:nth-child(2) { top:34%; inset-inline-start:28%; width:22px; height:22px; }
.tm-initiative-card__pattern i:nth-child(3) { top:48%; inset-inline-end:9%; width:9px; height:9px; }
.tm-initiative-card--cine .tm-initiative-card__pattern::before { border:1px solid rgba(255,255,255,.33); width:52%; inset-inline-start:8%; top:11%; }
.tm-initiative-card--training .tm-initiative-card__pattern::before { border-radius:0; width:68%; transform:rotate(32deg); border-width:clamp(14px,3vw,34px); top:9%; inset-inline-end:10%; }
.tm-initiative-card__index { position:absolute; inset-block-start:clamp(19px,2vw,32px); inset-inline-start:clamp(17px,2vw,30px); z-index:3; font:800 12px/1.5 Arial,sans-serif; letter-spacing:.14em; color:#ffead7; }
.tm-initiative-card__overlay { position:absolute; inset:0; z-index:2; background:linear-gradient(180deg,rgba(0,0,0,.02) 3%,rgba(0,0,0,.02) 20%,rgba(2,2,5,.48) 55%,rgba(3,3,7,.97) 100%); }
.tm-initiative-card__content { position:absolute; z-index:3; inset-inline:clamp(20px,2.4vw,36px); bottom:clamp(24px,3.2vw,42px); display:flex; align-items:flex-start; flex-direction:column; gap:11px; color:#fff; min-width:0; }
.tm-initiative-card__content small { font-size:clamp(11px,.96vw,13px); color:#eabd91; font-weight:750; }
.tm-initiative-card__content strong { font-family:var(--tm-font-heading,var(--tm-font-body)) !important; font-size:clamp(27px,3vw,44px); font-weight:900; line-height:1.05; overflow-wrap:anywhere; max-width:100%; color:#fff; }
.tm-initiative-card--training .tm-initiative-card__content strong { font-size:clamp(25px,2.6vw,39px); line-height:1.22; }
.tm-initiative-card__description { color:#e0d9d2; font-size:clamp(13px,1.03vw,15px); line-height:1.75; min-height:3em; max-width:30ch; }
.tm-initiative-card__more { margin-top:clamp(12px,1.5vw,20px); align-self:stretch; border-top:1px solid rgba(255,255,255,.27); padding-top:14px; display:flex; gap:12px; justify-content:space-between; align-items:center; color:#fff; font-size:13px; font-weight:800; }
.tm-initiative-card__arrow { font:28px/1 Arial,sans-serif; transition:transform .2s ease; }
.tm-initiative-card__link:hover .tm-initiative-card__arrow { transform:translateY(-3px); }

/* GOURARA LAB */
.tm-gourara { background:#f5f4f2; padding:clamp(48px,5vw,82px) 0 clamp(82px,9vw,130px); color:#17191c; }
.tm-gourara__container { max-width:1320px; }
.tm-gourara__lead { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:clamp(28px,5vw,82px); align-items:center; }
.tm-gourara__copy { display:flex; flex-direction:column; align-items:flex-start; gap:24px; min-width:0; }
.tm-gourara__eyebrow { display:inline-flex; gap:12px; align-items:center; color:#a43d26; font-size:12px; font-weight:850; }
.tm-gourara__eyebrow::before { content:""; width:26px; height:2px; background:currentColor; }
.tm-gourara__copy h2 { color:#151519; margin:0; max-width:12ch; font-size:clamp(36px,5vw,75px); line-height:1.18; font-weight:900; }
.tm-gourara__copy p { max-width:54ch; font-size:clamp(16px,1.4vw,19px); line-height:1.95; margin:0; color:#676765; }
.tm-gourara__readmore { display:inline-flex; align-items:center; gap:25px; padding-bottom:12px; border-bottom:2px solid #17191c; color:#17191c; text-decoration:none; font-size:14px; font-weight:850; }
.tm-gourara__readmore:hover { color:#a43d26; border-bottom-color:#a43d26; }
.tm-gourara__readmore span { font-size:24px; }
.tm-gourara__art { position:relative; isolation:isolate; width:100%; min-height:410px; aspect-ratio:4/5; overflow:hidden; background:linear-gradient(135deg,#a73a25,#2d1419 80%); color:#fff; }
.tm-gourara__art img { position:absolute; width:100%; height:100%; object-fit:cover; z-index:-1; }
.tm-gourara__art.has-photo::before { content:""; position:absolute; inset:0; background:rgba(25,4,4,.34); }
.tm-gourara__art::after { content:""; position:absolute; width:95%; aspect-ratio:1; border:clamp(28px,5vw,80px) solid rgba(255,223,188,.19); border-radius:50%; inset-inline-end:-44%; top:14%; }
.tm-gourara__art-orbit { position:absolute; z-index:1; width:77%; aspect-ratio:1; border:1px solid rgba(255,240,221,.3); border-radius:50%; inset-inline-end:0; top:21%; }
.tm-gourara__art-top { position:absolute; z-index:2; inset-block-start:34px; inset-inline-start:35px; font:900 clamp(40px,5vw,72px)/.94 Arial,sans-serif; letter-spacing:-.06em; max-width:7ch; }
.tm-gourara__art-top small { display:block; color:#ffe0ad; font:900 clamp(70px,9vw,120px)/1 Arial,sans-serif; letter-spacing:-.09em; }
.tm-gourara__art-bottom { position:absolute; inset-block-end:27px; inset-inline-start:35px; font:750 12px/1.4 Arial,sans-serif; letter-spacing:.14em; z-index:2; }
.tm-gourara__pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:clamp(50px,7vw,104px) 0; border-top:1px solid #bdbbb7; border-bottom:1px solid #bdbbb7; }
.tm-gourara__pillar { padding:clamp(20px,3vw,40px); border-inline-start:1px solid #c6c3be; }
.tm-gourara__pillar:first-child { border-inline-start:0; }
.tm-gourara__pillar > span { display:block; font:800 13px/1.2 Arial,sans-serif; color:#b34830; margin-bottom:18px; }
.tm-gourara__pillar strong { display:block; color:#161719; font-size:clamp(20px,2.15vw,30px); font-weight:800; }
.tm-gourara__pillar p { color:#71716f; font-size:14px; line-height:1.7; margin:9px 0 0; }
.tm-gourara__editorial { display:grid; grid-template-columns:minmax(180px,.35fr) minmax(0,1fr); gap:clamp(24px,7vw,100px); align-items:start; scroll-margin-top:120px; }
.tm-gourara__aside { display:flex; flex-direction:column; align-items:flex-start; position:sticky; top:30px; }
.tm-gourara__aside span { font:800 clamp(18px,2vw,27px)/1.3 Arial,sans-serif; letter-spacing:.07em; }
.tm-gourara__aside strong { font:900 clamp(80px,10vw,140px)/1 Arial,sans-serif; letter-spacing:-.08em; color:#bd4930; }
.tm-gourara__aside small { font-size:13px; color:#7c7b77; }
.tm-gourara__article { min-width:0; max-width:76ch; color:#343331; font-size:clamp(16px,1.27vw,18px); line-height:2.05; }
.tm-gourara__article h2,.tm-gourara__article h3 { font-weight:850; color:#111217; line-height:1.45; margin:0 0 18px; }
.tm-gourara__article h2 { font-size:clamp(25px,2.4vw,38px); }
.tm-gourara__article h2:not(:first-child) { margin-top:42px; }
.tm-gourara__article p { margin:0 0 20px; }
.tm-gourara__article img { height:auto; max-width:100%; }
.tm-gourara__next { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:32px; margin-top:clamp(72px,9vw,130px); padding:clamp(28px,4vw,55px); background:#151619; color:#fff; }
.tm-gourara__next > div:first-child { max-width:46ch; }
.tm-gourara__next span { color:#e7b684; font-size:13px; font-weight:800; }
.tm-gourara__next h2 { color:#fff; font-size:clamp(23px,2.4vw,33px); line-height:1.4; margin:10px 0 0; }
.tm-gourara__next-links { display:grid; gap:12px; min-width:min(100%,280px); }
.tm-gourara__next-links a { display:flex; justify-content:space-between; align-items:center; padding:14px 16px; border:1px solid rgba(255,255,255,.4); color:#fff; font-size:13px; font-weight:750; text-decoration:none; }
.tm-gourara__next-links a:hover { border-color:#e7b684; color:#e7b684; }

/* Category tabs for existing workshop CPT and current registration modal system. */
.tm-workshops-heading--curated { margin-bottom:30px; align-items:flex-end; }
.tm-workshops-heading--curated > div > span { display:inline-block; margin-bottom:12px; color:#b64f33; font-weight:850; letter-spacing:.07em; }
.tm-workshops-heading--curated h2 { font-size:clamp(31px,3.8vw,56px); color:#14161a; margin:0 0 10px; }
.tm-workshops-heading--curated p { margin:0; max-width:65ch; color:#777370; line-height:1.8; font-size:15px; }
.tm-workshop-tabs[data-tabs-ready="true"] .tm-workshop-tabs__panel[hidden] { display:none !important; }
.tm-workshop-tabs__panel { min-width:0; }
.tm-workshop-tabs__panel-title { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 24px; }
.tm-workshop-tabs__panel-title span { color:#b74d34; font:800 12px/1.4 Arial,sans-serif; letter-spacing:.08em; }
.tm-workshop-tabs__panel-title h3 { margin:0; font-size:clamp(22px,2.7vw,37px); color:#141519; font-weight:850; }
.tm-workshop-tabs__empty { padding:54px 30px; border:1px solid #d2cec8; background:#fff; color:#62605d; font-size:16px; line-height:1.8; }
.tm-workshop-tabs .tm-workshops-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; align-items:stretch !important; gap:clamp(16px,2vw,28px) !important; overflow:visible !important; padding:0 !important; margin:0 !important; max-width:none !important; width:100% !important; transform:none !important; }
.tm-workshop-tabs .tm-workshop-card { flex:none !important; width:auto !important; min-width:0 !important; scroll-snap-align:none !important; border-radius:3px; box-shadow:0 8px 26px rgba(13,13,15,.08); }
.tm-workshop-tabs .tm-workshop-card__button { display:flex !important; flex-direction:column !important; grid-template-columns:none !important; grid-template-rows:none !important; gap:0; min-height:100% !important; height:100%; border:0; background:#fff; text-align:start; }
.tm-workshop-tabs .tm-workshop-card__media { display:block; width:100%; height:auto; aspect-ratio:4/5; min-height:0 !important; max-height:none !important; overflow:hidden; background:#b5aaa0; }
.tm-workshop-tabs .tm-workshop-card__media img { display:block; width:100%; height:100%; object-fit:cover; }
.tm-workshop-tabs .tm-workshop-card__media--placeholder { position:relative; display:grid; place-items:center; isolation:isolate; background:radial-gradient(circle at 75% 30%,rgba(229,176,128,.25) 0 20%,transparent 21%),linear-gradient(145deg,#a64c37 5%,#49242b 55%,#1a1b20 100%); }
.tm-workshop-tabs .tm-workshop-card__media--placeholder::before { content:""; width:76%; aspect-ratio:1; border:30px solid rgba(255,255,255,.15); border-radius:50%; position:absolute; left:41%; top:13%; }
.tm-workshop-tabs .tm-workshop-card__placeholder-mark { position:relative; z-index:1; color:#fff3e5; font:900 clamp(25px,3vw,44px)/1 Arial,sans-serif; letter-spacing:-.03em; transform:rotate(-9deg); text-shadow:0 3px 20px rgba(0,0,0,.2); }
.tm-workshop-tabs .tm-workshop-card__body { flex:1 1 auto; min-height:180px; width:100%; padding:clamp(16px,2vw,25px) !important; display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:9px !important; justify-content:flex-start !important; }
.tm-workshop-tabs .tm-workshop-card__body strong { color:#141519; font-size:clamp(18px,1.7vw,25px) !important; line-height:1.35; font-weight:850; }
.tm-workshop-tabs .tm-workshop-card__meta { font-size:12px; line-height:1.6; color:#767371; }
.tm-workshop-tabs .tm-workshop-card__action { margin-top:auto; padding-top:12px; font-size:12px; }
.tm-workshop-tabs .tm-workshop-card__type { border-radius:3px; padding:7px 10px; font-size:11px; }

@media(max-width:1100px) { .tm-initiatives__inner { padding-inline:24px; } .tm-workshop-tabs .tm-workshops-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media(max-width:820px) {
  .tm-initiatives { padding:42px 0 56px; }
  .tm-initiatives__inner { padding-inline:16px; }
  .tm-initiatives__head { margin-bottom:23px; align-items:start; gap:8px; }
  .tm-initiatives__head h2 { font-size:clamp(29px,5vw,42px); }
  .tm-initiatives__head > p { max-width:48ch; font-size:13px; }
  .tm-initiatives__grid { gap:12px; }
  .tm-initiative-card__content { inset-inline:15px; bottom:21px; gap:8px; }
  .tm-initiative-card__content strong { font-size:clamp(21px,2.9vw,28px); }
  .tm-initiative-card--training .tm-initiative-card__content strong { font-size:clamp(20px,2.8vw,28px); }
  .tm-initiative-card__description { font-size:12px; }
  .tm-gourara { padding:35px 0 70px; }
  .tm-gourara__lead { gap:30px; }
  .tm-gourara__copy h2 { font-size:clamp(32px,4.2vw,48px); }
  .tm-gourara__art { min-height:290px; }
  .tm-gourara__art-top { inset-inline-start:18px; inset-block-start:20px; font-size:42px; }
  .tm-gourara__art-top small { font-size:75px; }
  .tm-gourara__art-bottom { inset-inline-start:20px; }
  .tm-gourara__aside strong { font-size:85px; }
}
@media(max-width:680px) {
  .tm-initiatives { overflow:hidden; }
  .tm-initiatives__inner { padding-inline:0; }
  .tm-initiatives__head { padding-inline:16px; }
  .tm-initiatives__grid { display:flex !important; flex-wrap:nowrap !important; gap:12px !important; overflow-x:auto !important; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scroll-padding-inline:16px; padding:3px 16px 14px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .tm-initiatives__grid::-webkit-scrollbar { display:none; }
  .tm-initiative-card { flex:0 0 min(72vw,294px); width:min(72vw,294px); scroll-snap-align:start; aspect-ratio:2/3; }
  .tm-initiative-card__content strong { font-size:30px; }
  .tm-initiative-card--training .tm-initiative-card__content strong { font-size:27px; }
  .tm-gourara__lead { grid-template-columns:1fr; }
  .tm-gourara__copy { gap:16px; }
  .tm-gourara__copy h2 { font-size:40px; max-width:14ch; }
  .tm-gourara__copy p { font-size:15px; }
  .tm-gourara__art { min-height:0; max-height:460px; }
  .tm-gourara__pillars { grid-template-columns:1fr; margin:46px 0; }
  .tm-gourara__pillar { border-inline-start:0; border-bottom:1px solid #c6c3be; padding:18px 6px; }
  .tm-gourara__pillar:last-child { border-bottom:0; }
  .tm-gourara__pillar > span { margin-bottom:7px; }
  .tm-gourara__editorial { grid-template-columns:1fr; gap:16px; }
  .tm-gourara__aside { position:static; }
  .tm-gourara__aside strong { font-size:72px; }
  .tm-gourara__article h2 { font-size:24px; }
  .tm-gourara__next { padding:24px; margin-top:55px; }
  .tm-gourara__next-links { width:100%; }
  .tm-workshop-tabs .tm-workshops-grid { display:flex !important; flex-flow:row nowrap !important; gap:13px !important; overflow-x:auto !important; margin:0 -16px !important; padding:0 16px 18px !important; width:calc(100% + 32px) !important; scroll-snap-type:x mandatory; scroll-padding-inline:16px; -webkit-overflow-scrolling:touch; }
  .tm-workshop-tabs .tm-workshop-card { flex:0 0 min(76vw,295px) !important; width:min(76vw,295px) !important; scroll-snap-align:start !important; }
  .tm-workshop-tabs .tm-workshop-card__body { padding:16px !important; min-height:175px; }
  .tm-workshop-tabs .tm-workshop-card__body strong { font-size:19px !important; }
}
@media(prefers-reduced-motion:reduce) { .tm-initiative-card__image,.tm-initiative-card__arrow { transition:none !important; } }

/* / Gourara Lab - editorial content as a cinematic, accessible domains slider */
.tm-gourara-showcase, .tm-gourara-showcase * { box-sizing:border-box; }
.tm-gourara-showcase { margin:clamp(58px,7.3vw,112px) 0 0; scroll-margin-top:90px; }
.tm-gourara-showcase__heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:0 0 clamp(24px,3vw,36px); }
.tm-gourara-showcase__heading > div { min-width:0; }
.tm-gourara-showcase__eyebrow { display:inline-block; color:#a54832; font:850 12px/1.5 var(--tm-font-body,Arial,sans-serif); letter-spacing:.05em; margin-bottom:13px; }
.tm-gourara-showcase__heading h2 { color:#121318; font-family:var(--tm-font-heading,var(--tm-font-body)) !important; font-size:clamp(32px,3.7vw,56px); font-weight:900; line-height:1.18; margin:0; }
.tm-gourara-showcase__heading p { max-width:28ch; color:#77736e; font-size:clamp(13px,1.06vw,15px); line-height:1.85; margin:0 0 4px; }
@keyframes tm-gourara-slide-enter { from { opacity:.5; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:750px) {
  .tm-gourara-showcase { margin-top:58px; }
  .tm-gourara-showcase__heading { flex-direction:column; align-items:flex-start; gap:12px; margin-bottom:22px; }
  .tm-gourara-showcase__heading p { max-width:49ch; }
}
@media(max-width:420px) {
  .tm-gourara-showcase__heading h2 { font-size:30px; }
}

/* Keep the decorative GOURARA wordmark intact on narrow French layouts. */
.tm-gourara__art-top { max-width:none; white-space:nowrap; }
@media(max-width:680px) {
  .tm-gourara__art-top { font-size:clamp(30px,9vw,40px); }
}


/* The experiences heading matches the typography of the homepage sections. */
.home .tm-initiatives__head h2, .front-page .tm-initiatives__head h2,
body.tme-english .tm-initiatives__head h2 {
  font-family:var(--tm-font-heading,var(--tm-font-body)) !important;
  font-size:clamp(2rem, 3vw, 3.05rem) !important;
  line-height:1.22 !important;
  font-weight:700 !important;
  letter-spacing:-.035em !important;
  color:#111318 !important;
}
@media(max-width:680px) {
  .home .tm-initiatives__head h2,.front-page .tm-initiatives__head h2,body.tme-english .tm-initiatives__head h2 { font-size:var(--tm-section-heading-size, 26px) !important; }
}


/* Workshops and masterclasses: two visible, independent carousels. */
.tm-workshop-decks {display:grid;gap:clamp(45px,5.5vw,78px);}
.tm-workshop-decks .tm-workshop-tabs__panel {display:block!important;min-width:0;scroll-margin-top:96px;}
.tm-workshop-decks .tm-workshop-tabs__panel-title {display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #d8d1cb;}
.tm-workshop-decks .tm-workshop-tabs__panel-title h3 {margin-top:10px;font-size:clamp(25px,3vw,39px);}
.tm-workshop-deck__nav {display:flex;gap:8px;flex:none;}
.tm-workshop-deck__nav button {display:grid;place-items:center;width:43px;height:43px;padding:0;border:1px solid #c7c1bb;border-radius:6px;background:#fff;color:#18191b;cursor:pointer;font:600 24px/1 Arial,sans-serif;}
.tm-workshop-deck__nav button:not(:disabled):hover {background:#18191b;color:#fff;border-color:#18191b;}
.tm-workshop-deck__nav button:disabled {opacity:.35;cursor:default;}
.tm-workshop-decks .tm-workshops-grid {display:flex!important;flex-flow:row nowrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:clamp(14px,1.8vw,24px)!important;width:100%!important;max-width:100%!important;margin:0!important;padding:3px 2px 16px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;transform:none!important;}
.tm-workshop-decks .tm-workshops-grid::-webkit-scrollbar {display:none;}
.tm-workshop-decks .tm-workshop-card {display:block!important;flex:0 0 clamp(200px,22vw,270px)!important;width:clamp(200px,22vw,270px)!important;max-width:270px;min-width:0!important;scroll-snap-align:start!important;}
.tm-workshop-decks .tm-workshop-card__button {height:100%!important;}
.tm-workshop-decks .tm-workshop-card__media {aspect-ratio:2/3!important;}
.tm-workshop-decks :is(.tm-workshop-deck__nav button,.tm-workshop-card__button):focus-visible {outline:3px solid #bc6244;outline-offset:3px;}
@media(max-width:680px) {
  .tm-workshop-decks {gap:46px;}
  .tm-workshop-decks .tm-workshop-tabs__panel-title h3 {font-size:25px;}
  .tm-workshop-decks .tm-workshop-deck__nav button {width:37px;height:37px;font-size:20px;}
  .tm-workshop-decks .tm-workshops-grid {width:100%!important;margin:0!important;padding:3px 2px 15px!important;gap:13px!important;}
  .tm-workshop-decks .tm-workshop-card {flex:0 0 min(62vw,238px)!important;width:min(62vw,238px)!important;}
}

/* CINE POCKET: illustrated slides rather than long stacked text. */
.tmcp-page--cinematic {background:#f5f4f2;color:#161719;padding:clamp(35px,4vw,60px) 0 clamp(80px,8vw,120px);}
.tmcp-page--cinematic,.tmcp-page--cinematic * {box-sizing:border-box;}
.tmcp-cinematic__container {max-width:1320px;}
.tmcp-cinematic__intro {display:block;max-width:850px;}
.tmcp-cinematic__intro > span {display:block;margin-bottom:13px;color:#a44934;font:900 12px/1.6 Arial,sans-serif;letter-spacing:.08em;}
.tmcp-cinematic__intro h2 {color:#171719;font-size:clamp(30px,3.8vw,54px);line-height:1.28;margin:0 0 14px;font-weight:900;}
.tmcp-cinematic__intro p {max-width:75ch;margin:0;color:#5d5b5a;font-size:clamp(15px,1.3vw,18px);line-height:1.9;}
.tmcp-slide-showcase {margin-top:clamp(40px,6vw,75px);}
@media(max-width:750px) {
  .tmcp-cinematic__container {padding-inline:14px;}
  .tmcp-page--cinematic {padding:32px 0 70px;}
  .tmcp-cinematic__intro h2 {font-size:30px;}
}

/* Editorial Instagram-inspired 4:5 film, jury, CINE and training reels. */
.tm-gourara-reels, .tm-cine-social { background:#f4f2ef; color:#141519; padding:clamp(38px,5vw,74px) 0 clamp(72px,8vw,125px); overflow:hidden; }
.tm-gourara-reels *, .tm-cine-social *, .tm-reels *, .tm-reel-dialog * { box-sizing:border-box; }
.tm-gourara-reels__container, .tm-cine-social__container { width:min(1320px,calc(100% - 48px)); max-width:1320px; margin-inline:auto; }
.tm-gourara-reels__intro { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.5fr); align-items:center; gap:clamp(24px,6vw,90px); border-bottom:1px solid #d8d3cc; padding-bottom:clamp(38px,5vw,72px); margin-bottom:clamp(55px,6vw,92px); }
.tm-gourara-reels__mark { min-height:240px; padding:28px; background:linear-gradient(145deg,#aa3f2e,#681c27 58%,#1a1b22); display:flex; flex-direction:column; justify-content:center; color:#fff; overflow:hidden; isolation:isolate; position:relative; box-shadow:0 20px 44px rgba(41,24,17,.12); }
.tm-gourara-reels__mark::before { content:""; position:absolute; width:73%; aspect-ratio:1; border:30px solid rgba(255,255,255,.09); border-radius:50%; right:-22%; top:-20%; z-index:-1; }
.tm-gourara-reels__mark > span { font:750 clamp(28px,3vw,46px)/1 Arial,sans-serif; letter-spacing:.11em; }
.tm-gourara-reels__mark > strong { font:900 clamp(70px,8vw,128px)/.95 Arial,sans-serif; letter-spacing:-.075em; }
.tm-gourara-reels__mark > strong span { color:#f4b87d; }
.tm-gourara-reels__mark small { font:700 11px/1.4 Arial,sans-serif; letter-spacing:.16em; margin-top:26px; color:#f2ceae; }
.tm-gourara-reels__eyebrow, .tm-cine-social__intro > span { color:#a55037; font-weight:850; font-size:12px; letter-spacing:.045em; }
.tm-gourara-reels__intro-copy h2, .tm-cine-social__intro h2 { margin:12px 0 16px; font-size:clamp(30px,3.7vw,53px); line-height:1.19; font-weight:900; color:#101115; }
.tm-gourara-reels__intro-copy p, .tm-cine-social__intro p { font-size:clamp(16px,1.3vw,19px); line-height:2; color:#52545a; margin:0; max-width:66ch; }
.tm-cine-social__intro { max-width:880px; margin-bottom:clamp(40px,5vw,70px); }
.tm-reels { margin:0 0 clamp(56px,6.8vw,100px); min-width:0; scroll-margin-top:105px; }
.tm-reels__header { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin:0 0 22px; padding-bottom:18px; border-bottom:1px solid #d8d1ca; }
.tm-reels__heading { min-width:0; }
.tm-reels__kicker { display:block; color:#a75239; font:800 12px/1.5 Arial,sans-serif; letter-spacing:.075em; margin-bottom:10px; }
.tm-reels__heading h2 { margin:0; font-size:clamp(29px,3.4vw,46px); line-height:1.2; font-weight:850; color:#141519; }
.tm-reels__heading p { margin:10px 0 0; max-width:58ch; font-size:clamp(14px,1.15vw,16px); line-height:1.8; color:#77726e; }
.tm-reels__navigation { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.tm-reels__count { font:750 13px/1.4 Arial,sans-serif; white-space:nowrap; color:#9b543e; margin-inline-end:8px; }
.tm-reels__count strong { font-size:16px; color:#1d1d21; }
.tm-reels__arrow { width:45px; height:45px; display:grid; place-items:center; flex:none; font:600 24px/1 Arial,sans-serif; border:1px solid #cfc8c1; background:#fff; color:#18191c; border-radius:50%; cursor:pointer; padding:0; transition:background .18s,border-color .18s,color .18s,transform .18s; }
.tm-reels__arrow:not(:disabled):hover { color:white; background:#16171b; border-color:#16171b; transform:translateY(-2px); }
.tm-reels__arrow:disabled { opacity:.35; cursor:default; }
.tm-reels__arrow:focus-visible, .tm-reels__card-button:focus-visible, .tm-reel-dialog button:focus-visible, .tm-reel-dialog a:focus-visible { outline:3px solid #db9362; outline-offset:3px; }
.tm-reels__track { display:flex; flex-flow:row nowrap; align-items:stretch; justify-content:flex-start; gap:clamp(12px,1.5vw,20px); width:100%; max-width:100%; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:2px; padding:3px 2px 15px; scrollbar-width:none; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
.tm-reels__track::-webkit-scrollbar { display:none; }
.tm-reels__card { flex:0 0 clamp(218px,23vw,295px); min-width:0; width:clamp(218px,23vw,295px); scroll-snap-align:start; }
.tm-reels__card-button { display:block; text-align:start; width:100%; padding:0; margin:0; border:0; background:none; cursor:pointer; border-radius:12px; overflow:hidden; }
.tm-reels__media { display:block; width:100%; aspect-ratio:4/5; position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(circle at 62% 30%,#bc7f5a 0 18%,transparent 19%),linear-gradient(135deg,#a34831,#5a2731 55%,#191c25); color:#fff; }
.tm-reels__card--theme-1 .tm-reels__media { background:radial-gradient(circle at 25% 65%,#b08272 0 19%,transparent 20%),linear-gradient(140deg,#263c50,#0b1119 60%,#883a42); }
.tm-reels__card--theme-2 .tm-reels__media { background:radial-gradient(circle at 74% 45%,#b78969 0 17%,transparent 18%),linear-gradient(150deg,#aa4c2c,#2c2234 70%); }
.tm-reels__card--theme-3 .tm-reels__media { background:linear-gradient(145deg,#695651,#b47544 38%,#15191a 92%); }
.tm-reels__card--theme-4 .tm-reels__media { background:linear-gradient(130deg,#4c6470,#252b31 50%,#ba5742 98%); }
.tm-reels__media > img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.91); transition:transform .45s ease, filter .45s ease; }
.tm-reels__card-button:hover img { transform:scale(1.045); filter:saturate(1.07); }
.tm-reels__fallback { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:20px; text-align:center; transform:rotate(-9deg); color:#f8e4d4; }
.tm-reels__fallback > span { font:800 11px/1.2 Arial,sans-serif; letter-spacing:.3em; }
.tm-reels__fallback > b { font:900 clamp(24px,3vw,38px)/.97 Arial,sans-serif; max-width:9ch; }
.tm-reels__number { position:absolute; top:16px; inset-inline-end:16px; font:800 12px/1.3 Arial,sans-serif; letter-spacing:.06em; color:white; z-index:3; background:rgba(10,10,14,.28); padding:5px 8px; border-radius:999px; }
.tm-reels__shade { position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.01) 38%,rgba(2,3,6,.62) 72%,rgba(2,3,6,.94) 100%); }
.tm-reels__card-caption { position:absolute; z-index:2; bottom:0; inset-inline:0; padding:clamp(17px,2vw,25px); color:#fff; display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.tm-reels__card-caption small { font-size:12px; font-weight:700; color:#efbb96; line-height:1.4; }
.tm-reels__card-caption strong { color:#fff; font-size:clamp(19px,1.75vw,25px); line-height:1.25; font-weight:850; max-width:100%; text-wrap:balance; }
.tm-reels__card-action { display:flex; width:100%; align-items:center; justify-content:space-between; gap:10px; padding-top:12px; margin-top:6px; border-top:1px solid rgba(255,255,255,.3); color:#f3e5da; font-size:12px; font-weight:700; }
.tm-reels__card-action > span { font-size:18px; }
.tm-reels__footer { display:flex; align-items:center; gap:18px; margin-top:3px; color:#89837f; font-size:12px; font-weight:650; }
.tm-reels__line { height:3px; width:100%; max-width:240px; background:#ddd7d1; overflow:hidden; display:block; border-radius:10px; }
.tm-reels__line > i { width:0; height:100%; display:block; background:#b45b41; transition:width .25s ease; border-radius:10px; }
.tm-reels__empty { padding:60px 25px; min-height:185px; background:#ebe6e0; display:grid; place-items:center; text-align:center; gap:8px; border:1px solid #e0d9d2; color:#65615e; }
.tm-reels__empty > span { color:#a75239; font-size:26px; }
.tm-reels__empty p { margin:0; font-size:16px; line-height:1.75; }
.tm-gourara-reels__related { margin-top:15px; padding:24px 28px; border-top:1px solid #cfcbc5; display:flex; align-items:center; flex-wrap:wrap; gap:18px 30px; }
.tm-gourara-reels__related > span { color:#a8543d; font-size:13px; font-weight:800; margin-inline-end:auto; }
.tm-gourara-reels__related a { display:inline-flex; gap:20px; align-items:center; color:#18191c; text-decoration:none; font-weight:800; padding:8px 0; border-bottom:1px solid #212121; }
.tm-gourara-reels__related a:hover { color:#b14c31; }
.tm-reel-dialog[hidden] { display:none !important; }
.tm-reel-dialog { position:fixed; z-index:100050; inset:0; display:grid; place-items:center; padding:clamp(12px,3vw,32px); }
.tm-reel-dialog__scrim { position:absolute; inset:0; background:rgba(9,10,13,.86); cursor:pointer; }
.tm-reel-dialog__panel { position:relative; z-index:1; display:grid; grid-template-columns:minmax(220px,.84fr) minmax(0,1.16fr); width:min(950px,100%); max-height:min(88vh,800px); min-height:340px; overflow:hidden; background:#faf8f5; box-shadow:0 26px 80px rgba(0,0,0,.3); color:#17181c; }
.tm-reel-dialog__close { position:absolute; z-index:4; top:15px; inset-inline-end:15px; border:1px solid #ded8d2; border-radius:50%; width:40px; height:40px; display:grid; place-items:center; font:32px/1 Arial,sans-serif; color:#16171b; background:#fff; cursor:pointer; }
.tm-reel-dialog__visual { min-height:320px; max-height:800px; background:linear-gradient(135deg,#a94b37,#351c23); position:relative; display:grid; place-items:center; overflow:hidden; }
.tm-reel-dialog__visual img { display:block; width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.tm-reel-dialog__visual--fallback > span { font:900 33px/1 Arial,sans-serif; letter-spacing:.05em; color:#fff; transform:rotate(-10deg); text-align:center; }
.tm-reel-dialog__copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; overflow-y:auto; padding:clamp(28px,4vw,62px); }
.tm-reel-dialog__eyebrow { color:#ab5239; font-size:13px; font-weight:800; margin-bottom:12px; }
.tm-reel-dialog__copy h3 { margin:0 0 20px; color:#141519; font-size:clamp(27px,3vw,41px); line-height:1.22; font-weight:900; }
.tm-reel-dialog__body { color:#55545a; font-size:16px; line-height:1.95; max-width:58ch; }
.tm-reel-dialog__body p { margin:0 0 16px; }
.tm-reel-dialog__link { display:inline-flex; gap:16px; color:#1e1c1c; font-size:14px; font-weight:800; border-bottom:2px solid #b2553c; padding-bottom:10px; margin-top:18px; text-decoration:none; }
body.tm-reel-modal-open { overflow:hidden; }
/* The existing workshop content is unchanged. Only its visual 4:5 cards are redesigned. */
.tm-workshop-decks .tm-workshops-grid { gap:clamp(12px,1.5vw,20px)!important; }
.tm-workshop-decks .tm-workshop-card { flex:0 0 clamp(218px,23vw,295px)!important; width:clamp(218px,23vw,295px)!important; max-width:295px!important; border:0!important; border-radius:12px!important; box-shadow:none!important; overflow:hidden!important; background:#21191b!important; }
.tm-workshop-decks .tm-workshop-card__button { position:relative!important; display:block!important; width:100%!important; height:auto!important; min-height:0!important; padding:0!important; border:0!important; border-radius:12px!important; aspect-ratio:4/5!important; overflow:hidden!important; background:#34222b!important; isolation:isolate; cursor:pointer; }
.tm-workshop-decks .tm-workshop-card__media { position:absolute!important; inset:0!important; display:block!important; width:100%!important; height:100%!important; min-height:0!important; max-height:none!important; aspect-ratio:4/5!important; border-radius:0!important; }
.tm-workshop-decks .tm-workshop-card__media img { width:100%!important; height:100%!important; object-fit:cover!important; transition:transform .4s ease; }
.tm-workshop-decks .tm-workshop-card__button:hover img { transform:scale(1.04); }
.tm-workshop-decks .tm-workshop-card__button::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,transparent 28%,rgba(0,0,0,.12) 45%,rgba(1,1,4,.95) 100%); pointer-events:none; }
.tm-workshop-decks .tm-workshop-card__body { position:absolute!important; z-index:2!important; inset:auto 0 0!important; display:flex!important; flex-direction:column!important; justify-content:flex-end!important; align-items:flex-start!important; gap:9px!important; width:100%!important; min-height:0!important; height:auto!important; padding:clamp(17px,2vw,25px)!important; background:transparent!important; }
.tm-workshop-decks .tm-workshop-card__body :is(strong,.tm-workshop-card__meta,.tm-workshop-card__action) { color:#fff!important; }
.tm-workshop-decks .tm-workshop-card__body strong { font-size:clamp(19px,1.8vw,25px)!important; line-height:1.25!important; text-wrap:balance; }
.tm-workshop-decks .tm-workshop-card__type { background:rgba(255,255,255,.18)!important; border:1px solid rgba(255,255,255,.2)!important; color:#fff!important; font-size:11px!important; }
.tm-workshop-decks .tm-workshop-card__action { display:flex!important; width:100%!important; align-items:center!important; justify-content:space-between!important; font-size:12px!important; margin-top:5px!important; padding-top:12px!important; border-top:1px solid rgba(255,255,255,.3)!important; }
.tm-workshop-decks .tm-workshop-card__reel-number { position:absolute; z-index:3; top:15px; inset-inline-end:15px; border-radius:999px; padding:5px 8px; background:rgba(8,10,12,.38); color:#fff; font:800 12px/1.2 Arial,sans-serif; letter-spacing:.06em; }
.tm-workshop-decks :is(.tm-workshop-card__button,.tm-workshop-deck__nav button):focus-visible { outline:3px solid #ce7951; outline-offset:3px; }
@media(max-width:800px){
  .tm-gourara-reels__intro { grid-template-columns:1fr; gap:25px; }
  .tm-gourara-reels__mark { min-height:185px; max-height:255px; }
  .tm-gourara-reels__mark > strong { font-size:85px; }
  .tm-reel-dialog__panel { grid-template-columns:1fr; max-width:530px; max-height:90vh; overflow:auto; }
  .tm-reel-dialog__visual { min-height:0; aspect-ratio:4 / 3; max-height:230px; }
  .tm-reel-dialog__copy { overflow:visible; padding:22px 23px 30px; }
}
@media(max-width:680px){
  .tm-gourara-reels, .tm-cine-social { padding:35px 0 70px; }
  .tm-gourara-reels__container,.tm-cine-social__container { width:calc(100% - 28px); }
  .tm-gourara-reels__intro { margin-bottom:45px; padding-bottom:42px; }
  .tm-gourara-reels__mark { min-height:180px; }
  .tm-gourara-reels__mark > span { font-size:32px; }
  .tm-gourara-reels__mark > strong { font-size:75px; }
  .tm-reels { margin-bottom:57px; }
  .tm-reels__header { align-items:flex-start; flex-direction:column; gap:15px; }
  .tm-reels__heading h2 { font-size:clamp(25px,7vw,32px); }
  .tm-reels__navigation { align-self:flex-end; }
  .tm-reels__arrow { width:40px; height:40px; font-size:21px; }
  .tm-reels__track { margin-inline:0; padding-inline:1px; gap:12px; }
  .tm-reels__card { flex:0 0 min(70vw,285px); width:min(70vw,285px); }
  .tm-reels__card-caption { padding:18px; }
  .tm-reels__card-caption strong { font-size:21px; }
  .tm-reels__footer { gap:12px; }
  .tm-reels__line { max-width:130px; }
  .tm-workshop-decks .tm-workshop-card { flex:0 0 min(70vw,285px)!important; width:min(70vw,285px)!important; max-width:285px!important; }
  .tm-workshop-decks .tm-workshop-card__body { padding:18px!important; }
  .tm-workshop-decks .tm-workshop-card__body strong { font-size:21px!important; }
}
@media(prefers-reduced-motion:reduce){.tm-reels__media>img,.tm-workshop-decks .tm-workshop-card__media img,.tm-reels__arrow,.tm-reels__line>i { transition:none!important; }}
/* Keep fallback labels centered and fully visible for training entries without art. */
.tm-workshop-decks .tm-workshop-card__media--placeholder { display:grid!important; place-items:center!important; }
.tm-workshop-decks .tm-workshop-card__placeholder-mark {
  position:relative!important; inset:auto!important; display:block!important;
  max-width:88%!important; margin:0 auto 85px!important; padding:0!important;
  color:rgba(255,238,218,.78)!important; font:900 clamp(20px,2.2vw,30px)/1.15 Arial,sans-serif!important;
  letter-spacing:.02em!important; text-align:center!important; transform:rotate(-7deg)!important;
  overflow-wrap:anywhere!important; white-space:normal!important;
}


/* true photo-only festival reels; no typography or numbers on posters. */
.tm-gourara-reels .tm-reels__media,
.tm-cine-social .tm-reels__media,
.tm-workshop-decks .tm-workshop-card__button {
  aspect-ratio: 1125 / 1406 !important;
}
.tm-reels--photos .tm-reels__card-button {
  border-radius: 9px !important;
  background: #181a1e !important;
}
.tm-reels--photos .tm-reels__media {
  border-radius: 9px !important;
  background: #181a1e !important;
}
.tm-reels--photos .tm-reels__media > img {
  object-fit: contain !important;
  object-position: center center !important;
  filter: none !important;
  transition: transform .3s ease !important;
}
.tm-reels--photos .tm-reels__card-button:hover img { transform: scale(1.012) !important; filter: none !important; }
.tm-reels--photos :is(.tm-reels__number,.tm-reels__shade,.tm-reels__card-caption,.tm-reels__fallback) { display:none !important; }
.tm-reel-dialog--image-only .tm-reel-dialog__panel {
  display:block;
  width:min(680px,calc(100vw - 32px));
  max-width:min(680px,calc(100vw - 32px));
  background:#151515;
}
.tm-reel-dialog--image-only .tm-reel-dialog__visual {
  width:100%; height:auto; min-height:0; max-height:calc(90vh - 32px);
  aspect-ratio:1125 / 1406; background:#151515;
}
.tm-reel-dialog--image-only .tm-reel-dialog__visual img { object-fit:contain; }
/* Workshop and masterclass: image only, while registration stays in popup. */
.tm-workshop-decks .tm-workshop-card__button { background:#171923 !important; }
.tm-workshop-decks .tm-workshop-card__media { background:linear-gradient(135deg,#9e513b,#2b2733 56%,#11151a) !important; }
.tm-workshop-decks .tm-workshop-card__media img { object-fit:contain !important; object-position:center center !important; }
.tm-workshop-decks .tm-workshop-card__button::after,
.tm-workshop-decks .tm-workshop-card__reel-number,
.tm-workshop-decks .tm-workshop-card__body,
.tm-workshop-decks .tm-workshop-card__placeholder-mark { display:none !important; content:none !important; }
.tm-workshop-decks .tm-workshop-card__media--placeholder::after {
  content:''; display:block; position:absolute; inset:18% 22%; border:2px solid rgba(255,255,255,.18);
  border-radius:50%; transform:rotate(-20deg);
}
@media(max-width:680px) {
  .tm-reel-dialog--image-only .tm-reel-dialog__visual { max-height:calc(90vh - 32px); }
}


/* Consistent three-up cinematic galleries and restrained typography.
   Desktop cards match the three creative-experiences cards exactly: three items,
   one gap system, 2:3 poster area. Images are not cropped in the lightbox. */
:root { --tm-showcase-gap:clamp(14px,2vw,24px); --tm-showcase-heading:clamp(27px,2.5vw,40px); }
.tm-initiatives__inner,.tm-gourara-reels__container,.tm-cine-social__container { width:min(1320px,calc(100% - 48px)) !important; max-width:1320px !important; }
.tm-initiatives__grid { gap:var(--tm-showcase-gap) !important; }
.tm-reels__track,.tm-workshop-decks .tm-workshops-grid { gap:var(--tm-showcase-gap) !important; }
.tm-reels__track { box-sizing:border-box; }
.tm-reels__card { flex:0 0 calc((100% - 2 * var(--tm-showcase-gap))/3) !important; width:calc((100% - 2 * var(--tm-showcase-gap))/3) !important; max-width:none !important; }
.tm-reels--photos .tm-reels__media,.tm-reels--photos .tm-reels__card-button,
.tm-workshop-decks .tm-workshop-card__button,
.tm-workshop-decks .tm-workshop-card__media { aspect-ratio:2/3 !important; }
.tm-reels--photos .tm-reels__media > img,.tm-workshop-decks .tm-workshop-card__media > img { object-fit:contain !important; }
.tm-workshop-decks .tm-workshop-card { flex:0 0 calc((100% - 2 * var(--tm-showcase-gap))/3) !important; width:calc((100% - 2 * var(--tm-showcase-gap))/3) !important; max-width:none !important; }
.tm-reels__heading h2,.tm-gourara-reels__intro-copy h2,
.tm-cine-social__intro h2,.tm-workshop-decks .tm-workshop-tabs__panel-title h3,
.tm-gourara-reels__intro h2 { font-size:var(--tm-showcase-heading) !important; line-height:1.25 !important; font-weight:800 !important; letter-spacing:0 !important; text-wrap:balance; }
.tm-reels__heading h2 { margin-block:7px 0 !important; }
.tm-gourara-reels__intro-copy p,.tm-cine-social__intro p { font-size:clamp(15px,1.35vw,18px) !important; line-height:1.85 !important; }
.tm-cine-social__intro { max-width:none !important; width:100%; display:grid !important; grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr); align-items:center; gap:clamp(24px,4vw,70px); margin:0 0 clamp(54px,6vw,85px) !important; padding:clamp(24px,4vw,45px) 0 clamp(34px,4.5vw,62px); border-bottom:1px solid #d9d2cc; }
.tm-cine-social__intro-content { min-width:0; max-width:670px; }
.tm-cine-social__intro-content > span { display:block; color:#a55037; font-size:12px; font-weight:850; letter-spacing:.045em; }
.tm-cine-social__intro h2 { max-width:19ch; margin:14px 0 18px !important; }
.tm-cine-social__intro p { max-width:57ch !important; }
.tm-cine-social__intro-image { width:100%; aspect-ratio:4/3; margin:0; overflow:hidden; background:#271c29; border-radius:5px; box-shadow:0 18px 45px rgba(24,18,20,.14); }
.tm-cine-social__intro-image img { display:block; width:100%; height:100%; object-fit:cover; }
@media (min-width:760px) and (max-width:1049px) {
 .tm-reels__card { flex-basis:calc((100% - var(--tm-showcase-gap))/2) !important; width:calc((100% - var(--tm-showcase-gap))/2) !important; }
 .tm-workshop-decks .tm-workshop-card { flex-basis:calc((100% - var(--tm-showcase-gap))/2) !important; width:calc((100% - var(--tm-showcase-gap))/2) !important; }
 .tm-cine-social__intro { grid-template-columns:minmax(0,1fr) minmax(230px,.8fr); }
}
@media (max-width:759px) {
 .tm-gourara-reels__container,.tm-cine-social__container { width:calc(100% - 28px) !important; }
 .tm-cine-social__intro { grid-template-columns:minmax(0,1fr) !important; gap:25px; padding-top:14px; }
 .tm-cine-social__intro h2 { font-size:clamp(27px,6.7vw,34px) !important; }
 .tm-cine-social__intro-image { aspect-ratio:16/11; }
 .tm-reels__card { flex:0 0 min(76vw,315px) !important; width:min(76vw,315px) !important; }
 .tm-workshop-decks .tm-workshop-card { flex:0 0 min(76vw,315px) !important; width:min(76vw,315px) !important; }
 .tm-reels__heading h2,.tm-workshop-decks .tm-workshop-tabs__panel-title h3,.tm-gourara-reels__intro-copy h2 { font-size:clamp(24px,6vw,31px) !important; }
}


/* no automatic sample image when CINE POCKET has no hero. */
.tm-cine-social__intro.tm-cine-social__intro--no-image {
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: start;
}
.tm-cine-social__intro--no-image .tm-cine-social__intro-content {
  max-width: min(100%, 800px);
}


/* Five independent cinematic experiences on the homepage. */
@media (min-width: 1240px) {
  .tm-initiatives__grid { grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:clamp(12px,1.2vw,19px) !important; }
  .tm-initiatives__grid > .tm-initiative-card { width:auto !important; min-width:0; }
}
@media (min-width: 800px) and (max-width: 1239px) {
  .tm-initiatives__grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:clamp(12px,1.5vw,20px) !important; }
}
@media (min-width: 681px) and (max-width: 799px) {
  .tm-initiatives__grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px !important; }
}
@media (min-width: 800px) {
  .tm-initiative-card { aspect-ratio:2 / 3 !important; }
  .tm-initiative-card__content { inset-inline:clamp(13px,1.45vw,22px) !important; bottom:clamp(17px,1.8vw,25px) !important; gap:7px !important; }
  .tm-initiative-card__content strong, .tm-initiative-card--training .tm-initiative-card__content strong {
    font-size:clamp(18px,1.6vw,29px) !important; line-height:1.23 !important;
  }
  .tm-initiative-card__description { font-size:clamp(11px,.82vw,13px) !important; line-height:1.6 !important; min-height:0 !important; }
  .tm-initiative-card__more { margin-top:5px !important; padding-top:9px !important; font-size:11px !important; }
  .tm-initiative-card__index { inset-block-start:15px !important; inset-inline-start:15px !important; }
}
.tm-initiative-card--masterclass { background:linear-gradient(145deg,#a46a44,#56382d 52%,#171a24); }
.tm-initiative-card--workshops { background:linear-gradient(142deg,#6a606a,#2f3c4b 55%,#17151a); }
.tm-initiative-card--sunset { background:radial-gradient(circle at 45% 32%,#db8954 0 14%, transparent 14.5%),linear-gradient(160deg,#b16c4b 0%,#9b443d 35%,#362634 75%,#12131b 100%); }
.tm-initiative-card--sunset .tm-initiative-card__pattern::before { border-color:rgba(255,212,164,.27); top:12%; }
@media (max-width: 680px) {
  .tm-initiatives__grid { display:flex !important; flex-wrap:nowrap !important; gap:12px !important; }
  .tm-initiatives__grid > .tm-initiative-card { flex:0 0 min(72vw,294px); width:min(72vw,294px); }
}

/* Sunset Meetings - an editable, content-safe landing page. */
.tm-sunset-page { background:#f4f3f1; color:#141519; padding:clamp(45px,6vw,92px) 0 clamp(72px,8vw,110px); min-height:55vh; }
.tm-sunset-page,.tm-sunset-page * { box-sizing:border-box; }
.tm-sunset-page__inner { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.tm-sunset-page__hero { display:grid; gap:clamp(24px,4vw,55px); padding-bottom:clamp(25px,4vw,55px); border-bottom:1px solid #d9d3cd; }
.tm-sunset-page__hero.has-image { grid-template-columns: minmax(0,1fr) minmax(0,.8fr); align-items:center; }
.tm-sunset-page__eyebrow { color:#a64d37; font-size:14px; font-weight:750; }
.tm-sunset-page__lead h1 { margin:13px 0 16px; font:700 clamp(35px,4.2vw,62px)/1.23 var(--tm-font-heading,var(--tm-font-body),sans-serif); }
.tm-sunset-page__lead p { max-width:56ch; font-size:clamp(16px,1.4vw,20px); line-height:1.9; color:#60605e; }
.tm-sunset-page__image { margin:0; width:100%; aspect-ratio:4/5; overflow:hidden; border-radius:6px; background:#302d32; }
.tm-sunset-page__image img { display:block; width:100%; height:100%; object-fit:cover; }
.tm-sunset-page__content { max-width:800px; padding:clamp(29px,5vw,70px) 0 0; font-size:clamp(16px,1.4vw,19px); line-height:1.95; }
.tm-sunset-page__content img { max-width:100%; height:auto; }
.tm-sunset-page__empty { padding:28px 0 0; color:#78716c; font-size:15px; }
@media(max-width:720px) { .tm-sunset-page__inner { width:calc(100% - 32px); } .tm-sunset-page__hero.has-image { grid-template-columns:1fr; } .tm-sunset-page__image { max-height:520px; } }

/* carousel arrows beside poster rail, never above headings. */
.tm-reels__viewport,
.tm-workshop-decks .tm-workshop-deck__viewport {
  position:relative;
  isolation:isolate;
  min-width:0;
}
.tm-reels__navigation,
.tm-workshop-decks .tm-workshop-deck__nav {
  position:absolute;
  z-index:5;
  inset:0;
  display:block;
  margin:0;
  padding:0;
  pointer-events:none;
}
.tm-reels__navigation .tm-reels__arrow,
.tm-workshop-decks .tm-workshop-deck__nav button {
  position:absolute;
  top:50%;
  inset-inline-start:9px;
  inset-inline-end:auto;
  transform:translateY(-50%);
  width:clamp(37px,3.5vw,48px);
  height:clamp(37px,3.5vw,48px);
  display:grid;
  place-items:center;
  padding:0;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(18,19,22,.83);
  color:white;
  box-shadow:0 6px 26px rgba(0,0,0,.23);
  pointer-events:auto;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.tm-reels__navigation .tm-reels__arrow--next,
.tm-workshop-decks .tm-workshop-deck__nav button[data-festival-next] {
  inset-inline-start:auto;
  inset-inline-end:9px;
}
.tm-reels__navigation .tm-reels__arrow:not(:disabled):hover,
.tm-workshop-decks .tm-workshop-deck__nav button:not(:disabled):hover {
  transform:translateY(-50%) scale(1.06);
  background:#a64f37;
  border-color:#a64f37;
  color:#fff;
}
.tm-reels__navigation .tm-reels__arrow:disabled,
.tm-workshop-decks .tm-workshop-deck__nav button:disabled {
  opacity:.15;
  pointer-events:none;
}
.tm-reels__header .tm-reels__count { margin-inline-start:auto; }
.tm-sunset-page__galleries { padding-top:clamp(36px,5vw,65px); }
.tm-sunset-page__galleries .tm-reels { margin-bottom:clamp(42px,5vw,72px); }
.tm-workshop-decks > .tm-reels { min-width:0; margin:clamp(-9px,0vw,0px) 0 clamp(35px,5vw,58px); }
.tm-workshop-decks > .tm-reels:last-child { margin-bottom:0; }
@media (max-width:680px) {
  .tm-reels__navigation .tm-reels__arrow,
  .tm-workshop-decks .tm-workshop-deck__nav button { width:36px;height:36px; inset-inline-start:5px; font-size:21px; }
  .tm-reels__navigation .tm-reels__arrow--next,
  .tm-workshop-decks .tm-workshop-deck__nav button[data-festival-next] { inset-inline-end:5px; inset-inline-start:auto; }
  .tm-reels__header .tm-reels__count { margin-inline-start:0; }
  .tm-sunset-page__galleries { padding-top:28px; }
}
@media (prefers-reduced-motion:reduce) {
  .tm-reels__navigation .tm-reels__arrow,
  .tm-workshop-decks .tm-workshop-deck__nav button { transition:none!important; }
}

/* Fix absolutely-positioned nav centering on mobile browsers with static-position fallback. */
.tm-reels__viewport > .tm-reels__navigation,
.tm-workshop-decks .tm-workshop-deck__viewport > .tm-workshop-deck__nav {
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  bottom:auto !important;
  left:0 !important;
  height:100% !important;
  width:100% !important;
}

/* Four-up cinematic editorial carousels, shared by every initiative. */
.tm-gourara-reels, .tm-cine-social, .tm-workshops-page, .tm-workshop-decks, .tm-sunset-page {
  --tm-gallery-gap: clamp(12px, 1.4vw, 20px);
}
.tm-gourara-reels__container, .tm-cine-social__container {
  width: min(1320px, calc(100% - 48px)) !important;
  max-width: 1320px !important;
}
/* The same introduction component now serves Gourara Lab and Cinepocket. */
.tm-cine-social--unified .tm-gourara-reels__intro {
  display: grid !important;
  grid-template-columns: minmax(230px, .7fr) minmax(0, 1.5fr) !important;
  align-items: center !important;
  max-width: none !important;
  gap: clamp(24px, 6vw, 90px) !important;
  margin-bottom: clamp(25px, 3vw, 44px) !important;
  padding: 0 0 clamp(21px, 2.5vw, 36px) !important;
  border-bottom: 1px solid #d8d3cc !important;
}
.tm-initiative-page__mark { min-width: 0; }
.tm-initiative-page__mark--has-image { position: relative; }
.tm-initiative-page__mark--has-image > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  z-index: 0;
}
.tm-initiative-page__mark--has-image::before {
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(9,8,10,.38), rgba(9,8,10,.66));
}
.tm-initiative-page__mark--has-image > :is(span, strong, small) {
  position: relative;
  z-index: 2;
  text-shadow: 0 2px 16px rgba(0,0,0,.65);
}
.tm-cine-social--unified .tm-gourara-reels__intro-copy {
  min-width: 0;
  max-width: none;
}
.tm-cine-social--unified .tm-gourara-reels__intro-copy h2 {
  max-width: 22ch;
}
.tm-cine-social--unified .tm-gourara-reels__intro-copy p {
  max-width: 66ch;
}
.tm-cine-social--unified .tm-gourara-reels__mark > strong {
  font-size: clamp(44px, 4.8vw, 68px);
  letter-spacing: -.085em;
  overflow-wrap: normal;
  white-space: nowrap;
}
:is(.tm-gourara-reels, .tm-cine-social, .tm-sunset-page, .tm-workshop-decks) .tm-reels__track,
.tm-workshop-decks .tm-workshops-grid {
  gap: var(--tm-gallery-gap) !important;
  padding-inline: 0 !important;
}
@media (min-width: 1100px) {
  :is(.tm-gourara-reels, .tm-cine-social, .tm-sunset-page, .tm-workshop-decks) .tm-reels__card {
    flex: 0 0 calc((100% - 3 * var(--tm-gallery-gap)) / 4) !important;
    width: calc((100% - 3 * var(--tm-gallery-gap)) / 4) !important;
    min-width: 0;
    max-width: none !important;
  }
  .tm-workshop-decks .tm-workshop-card {
    flex: 0 0 calc((100% - 3 * var(--tm-gallery-gap)) / 4) !important;
    width: calc((100% - 3 * var(--tm-gallery-gap)) / 4) !important;
    min-width: 0;
    max-width: none !important;
  }
}
@media (min-width: 780px) and (max-width: 1099px) {
  :is(.tm-gourara-reels, .tm-cine-social, .tm-sunset-page, .tm-workshop-decks) .tm-reels__card,
  .tm-workshop-decks .tm-workshop-card {
    flex: 0 0 calc((100% - 2 * var(--tm-gallery-gap)) / 3) !important;
    width: calc((100% - 2 * var(--tm-gallery-gap)) / 3) !important;
    max-width: none !important;
  }
}
@media (min-width: 600px) and (max-width: 779px) {
  :is(.tm-gourara-reels, .tm-cine-social, .tm-sunset-page, .tm-workshop-decks) .tm-reels__card,
  .tm-workshop-decks .tm-workshop-card {
    flex: 0 0 calc((100% - var(--tm-gallery-gap)) / 2) !important;
    width: calc((100% - var(--tm-gallery-gap)) / 2) !important;
    max-width: none !important;
  }
}
@media (max-width: 800px) {
  .tm-cine-social--unified .tm-gourara-reels__intro {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 23px !important;
  }
}
@media (max-width: 599px) {
  .tm-gourara-reels__container, .tm-cine-social__container {
    width: calc(100% - 28px) !important;
  }
  .tm-initiative-page__mark { min-height: 200px; }
  .tm-cine-social--unified .tm-gourara-reels__mark > strong {
    font-size: clamp(44px, 11.8vw, 78px);
  }
  :is(.tm-gourara-reels, .tm-cine-social, .tm-sunset-page, .tm-workshop-decks) .tm-reels__card,
  .tm-workshop-decks .tm-workshop-card {
    flex: 0 0 min(76vw, 315px) !important;
    width: min(76vw, 315px) !important;
  }
}
/* Match the same editorial poster shape on every programme gallery. */
:is(.tm-gourara-reels, .tm-cine-social, .tm-sunset-page, .tm-workshop-decks) .tm-reels--photos .tm-reels__card-button,
:is(.tm-gourara-reels, .tm-cine-social, .tm-sunset-page, .tm-workshop-decks) .tm-reels--photos .tm-reels__media,
.tm-workshop-decks .tm-workshop-card__button,
.tm-workshop-decks .tm-workshop-card__media {
  aspect-ratio: 4 / 5 !important;
}
:is(.tm-gourara-reels, .tm-cine-social, .tm-sunset-page, .tm-workshop-decks) .tm-reels--photos .tm-reels__media > img,
.tm-workshop-decks .tm-workshop-card__media > img {
  object-fit: contain !important;
}


/* A supplied Cinepocket poster already contains its own typography; keep it unobscured. */
.tm-initiative-page__mark--has-image { background:#19191d; }
.tm-initiative-page__mark--has-image::before { content:none !important; }
.tm-initiative-page__mark--has-image > img { object-fit:contain; }

/* Home initiative cards: full-bleed artwork + a single discovery action.
   Keep accessible initiative titles on the links, but do not overlay card headings,
   teaser text or index counters on top of the visual artwork. */
.tm-initiatives .tm-initiative-card__overlay {
  background:linear-gradient(180deg, transparent 0%, transparent 55%, rgba(0,0,0,.08) 68%, rgba(0,0,0,.78) 100%);
}
.tm-initiatives .tm-initiative-card__content {
  inset-inline:clamp(14px,1.5vw,22px) !important;
  bottom:clamp(14px,1.8vw,24px) !important;
  display:block;
  width:auto;
}
.tm-initiatives .tm-initiative-card__more {
  margin-top:0 !important;
  padding-top:11px !important;
  border-top:1px solid rgba(255,255,255,.54);
  font-size:clamp(12px,.95vw,14px) !important;
  font-weight:750;
  line-height:1.5;
  text-shadow:0 1px 7px rgba(0,0,0,.45);
}
.tm-initiatives .tm-initiative-card__arrow {
  flex:none;
  font-size:clamp(23px,2vw,29px);
}
@media(max-width:680px) {
  .tm-initiatives .tm-initiative-card__more {font-size:14px !important;}
}

/* Optional, side-by-side film/project information in the gallery dialog.
   The poster remains unobscured; images with no publisher details remain image-only. */
.tm-reel-dialog--film .tm-reel-dialog__panel {
  width:min(1020px,100%);
  min-height:min(480px,82vh);
  max-height:88vh;
  grid-template-columns:minmax(260px,.92fr) minmax(0,1.08fr);
  border-radius:9px;
}
.tm-reel-dialog--film .tm-reel-dialog__visual {
  min-height:0;
  max-height:none;
  background:#19191d;
}
.tm-reel-dialog--film .tm-reel-dialog__visual img { object-fit:contain; object-position:center; }
.tm-reel-dialog--film .tm-reel-dialog__copy {
  align-items:stretch;
  text-align:start;
  justify-content:center;
  gap:0;
  padding:clamp(26px,4vw,54px);
  scrollbar-width:thin;
}
.tm-reel-dialog--film .tm-reel-dialog__eyebrow { margin-bottom:10px; }
.tm-reel-dialog--film .tm-reel-dialog__copy h3 {
  font-size:clamp(25px,2.9vw,39px);
  line-height:1.3;
  margin:0 0 22px;
  overflow-wrap:anywhere;
}
.tm-reel-dialog__metadata {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:22px;
  row-gap:17px;
  margin:0 0 25px;
  padding:0 0 20px;
  border-bottom:1px solid #dedad5;
}
.tm-reel-dialog__metadata > div { min-width:0; }
.tm-reel-dialog__metadata dt, .tm-reel-dialog__summary-label {
  display:block;
  color:#955139;
  font-size:12px;
  line-height:1.55;
  font-weight:800;
  margin:0 0 6px;
}
.tm-reel-dialog__metadata dd {
  color:#262325;
  font-size:clamp(15px,1.4vw,18px);
  font-weight:700;
  line-height:1.6;
  margin:0;
  overflow-wrap:anywhere;
}
.tm-reel-dialog--film .tm-reel-dialog__summary-label { margin:0 0 9px; }
.tm-reel-dialog--film .tm-reel-dialog__body {
  font-size:clamp(14px,1.15vw,16px);
  line-height:1.9;
  color:#4b494b;
  max-width:57ch;
  overflow-wrap:anywhere;
}
.tm-reel-dialog--film .tm-reel-dialog__body p:last-child { margin-bottom:0; }
@media(max-width:700px) {
  .tm-reel-dialog--film .tm-reel-dialog__panel {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:min(480px,100%);
    min-height:0;
    max-height:90vh;
    overflow-y:auto;
  }
  .tm-reel-dialog--film .tm-reel-dialog__visual {
    width:100%;
    height:auto;
    min-height:205px;
    max-height:43vh;
    aspect-ratio:4 / 3;
    flex:none;
  }
  .tm-reel-dialog--film .tm-reel-dialog__copy {
    padding:24px 23px 28px;
    overflow:visible;
  }
  .tm-reel-dialog--film .tm-reel-dialog__metadata { gap:12px; margin-bottom:20px; }
  .tm-reel-dialog--film .tm-reel-dialog__copy h3 { font-size:clamp(23px,6vw,30px); margin-bottom:16px; }
}
@media(max-width:370px) {
  .tm-reel-dialog--film .tm-reel-dialog__metadata { grid-template-columns:minmax(0,1fr); }
}


/* Masterclass / Sunset: biography labels, independently per gallery. */
:is(.tm-reels--extra-sunset, .tm-reels--extra-animation) .tm-reels__media { position: relative; }
:is(.tm-reels--extra-sunset, .tm-reels--extra-animation) .tm-reels__person-label {
  position:absolute; z-index:3; inset-inline:0; bottom:0;
  display:flex; flex-direction:column; align-items:flex-start; gap:4px;
  padding:clamp(12px,1.4vw,20px) clamp(13px,1.6vw,22px);
  background:rgba(8,9,11,.94); color:#fff; text-align:start;
  pointer-events:none;
}
:is(.tm-reels--extra-sunset, .tm-reels--extra-animation) .tm-reels__person-label strong {
  display:block; width:100%; color:#fff; font-family:var(--tm-font-heading,var(--tm-font-body),sans-serif);
  font-size:clamp(16px,1.5vw,22px); font-weight:800; line-height:1.35;
  overflow-wrap:anywhere;
}
:is(.tm-reels--extra-sunset, .tm-reels--extra-animation) .tm-reels__person-label small {
  display:block; color:#e6ded8; font-size:clamp(12px,1vw,14px); font-weight:650; line-height:1.5;
}
.tm-reel-dialog--person .tm-reel-dialog__panel { background:#faf8f5; }
.tm-reel-dialog--person .tm-reel-dialog__copy { align-items:flex-start; justify-content:center; }
.tm-reel-dialog--person .tm-reel-dialog__copy h3 { margin-bottom:14px; }
.tm-reel-dialog--person .tm-reel-dialog__country {
  display:inline-flex; align-items:center; flex-wrap:wrap; gap:9px;
  margin:0 0 24px; padding:9px 14px; background:#17181b; color:#fff;
  font-size:14px; line-height:1.5; border-radius:4px;
}
.tm-reel-dialog--person .tm-reel-dialog__country span { color:#d6ccc6; font-weight:600; }
.tm-reel-dialog--person .tm-reel-dialog__country strong { color:#fff; font-weight:750; }
.tm-reel-dialog--person .tm-reel-dialog__summary-label {
  display:block; margin-bottom:12px; font-size:14px; color:#9c4931; font-weight:800;
}
.tm-reel-dialog--person .tm-reel-dialog__body { width:100%; }
@media(max-width:680px) {
  :is(.tm-reels--extra-sunset, .tm-reels--extra-animation) .tm-reels__person-label { padding:13px 15px; }
  :is(.tm-reels--extra-sunset, .tm-reels--extra-animation) .tm-reels__person-label strong { font-size:18px; }
  .tm-reel-dialog--person .tm-reel-dialog__country { margin-bottom:16px; }
}
@media(prefers-reduced-motion:reduce) {
  :is(.tm-reels--extra-sunset, .tm-reels--extra-animation) .tm-reels__person-label { transition:none; }
}


/* Workshop card: poster above an always-readable caption, on all breakpoints. */
.tm-workshop-decks .tm-workshop-card {
  background:#fff!important;
  border:1px solid #e4dcd3!important;
  border-radius:14px!important;
  overflow:hidden!important;
  box-shadow:0 14px 30px rgba(26,20,20,.10)!important;
  min-width:0;
}
.tm-workshop-decks .tm-workshop-card__button {
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:14px!important;
  aspect-ratio:auto!important;
  background:#fff!important;
  overflow:hidden!important;
  text-align:start!important;
}
.tm-workshop-decks .tm-workshop-card__media {
  position:relative!important;
  inset:auto!important;
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:4/5!important;
  background:linear-gradient(135deg,#9e513b,#2b2733 56%,#11151a)!important;
  border-radius:0!important;
}
.tm-workshop-decks .tm-workshop-card__media > img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.tm-workshop-decks .tm-workshop-card__button::after,
.tm-workshop-decks .tm-workshop-card__reel-number,
.tm-workshop-decks .tm-workshop-card__body,
.tm-workshop-decks .tm-workshop-card__placeholder-mark { display:none!important; content:none!important; }
.tm-workshop-decks .tm-workshop-card__summary {
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  flex:1 0 auto!important;
  width:100%!important;
  padding:16px 17px 18px!important;
  border-top:1px solid #eae0d5!important;
  background:#faf7f3!important;
  color:#17181c!important;
  text-align:start!important;
  overflow-wrap:anywhere;
}
.tm-workshop-decks .tm-workshop-card__summary strong {
  display:block!important;
  color:#17181c!important;
  font-size:clamp(17px,1.5vw,21px)!important;
  line-height:1.4!important;
  font-weight:800!important;
  margin:0 0 8px!important;
}
.tm-workshop-decks .tm-workshop-card__trainer {
  display:block!important;
  color:#242125!important;
  font-size:14px!important;
  line-height:1.6!important;
  font-weight:700!important;
}
.tm-workshop-decks .tm-workshop-card__trainer-role {
  display:block!important;
  margin-top:2px!important;
  color:#746d69!important;
  font-size:12px!important;
  line-height:1.65!important;
  font-weight:500!important;
}
.tm-workshop-trainers .tm-workshop-trainer__bio {
  display:block;
  margin:9px 0 0!important;
  max-width:100%;
  color:#514a45;
  font-size:14px;
  line-height:1.85;
  overflow-wrap:break-word;
  white-space:pre-line;
}
@media(max-width:680px){
  .tm-workshop-decks .tm-workshop-card__summary {padding:13px 14px 16px!important;}
  .tm-workshop-decks .tm-workshop-card__summary strong {font-size:18px!important;}
}


/* v4.19.18 — workshops: image first, legible title and named instructor below. */
.tm-workshop-decks .tm-workshop-card,
.tm-workshop-decks .tm-workshop-card__button{border-radius:2px!important}
.tm-workshop-decks .tm-workshop-card__media{overflow:hidden;display:grid;place-items:center;min-height:0}
.tm-workshop-decks .tm-workshop-card__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.tm-workshop-decks .tm-workshop-card__image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:100%;width:100%;padding:20px;color:#f6eae0;font-size:clamp(18px,2vw,26px);font-weight:900;letter-spacing:.14em;line-height:1.25;text-align:center}
.tm-workshop-decks .tm-workshop-card__image-placeholder small{font-size:13px;font-weight:600;letter-spacing:.025em}
.tm-workshop-decks .tm-workshop-card__summary{background:#fcfaf6!important;min-height:120px}
.tm-workshop-decks .tm-workshop-card__trainer{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:5px 10px;font-size:15px!important;font-weight:800!important;line-height:1.6!important}
.tm-workshop-decks .tm-workshop-card__trainer-label{display:inline-block;color:#a34b38;font-size:12px;font-weight:800;white-space:nowrap}
.tm-workshop-decks .tm-workshop-card__trainer-role{padding-inline-start:0;color:#706965!important}
.tm-workshop-decks .tm-workshop-card__button:focus-visible{outline:3px solid #a44b35!important;outline-offset:-3px}
.tm-workshop-description h3{font-size:clamp(19px,2vw,25px);line-height:1.35;margin:0 0 15px;color:inherit}
.tm-workshop-modal__panel .tm-workshop-trainer__bio{white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:680px){.tm-workshop-decks .tm-workshop-card__summary{min-height:112px;padding:15px!important}.tm-workshop-decks .tm-workshop-card__trainer{font-size:14px!important}.tm-workshop-decks .tm-workshop-card__trainer-label{font-size:12px}}
