.tfcs{--tfcs-height:620px;--tfcs-slide-width:90%;--tfcs-gap:6px;--tfcs-bg:#fff;--tfcs-arrow-size:52px;--tfcs-arrow-bg:#fff;--tfcs-arrow-color:#444;--tfcs-dot:#222;position:relative;width:100%;max-width:100%;height:var(--tfcs-height);background:var(--tfcs-bg);overflow:hidden;container-type:inline-size;touch-action:pan-y}
.tfcs *{box-sizing:border-box}.tfcs__viewport{width:100%;height:100%;overflow:hidden}.tfcs__track{height:100%;display:flex;align-items:stretch;gap:var(--tfcs-gap);transition:transform 650ms cubic-bezier(.22,.61,.36,1);will-change:transform}
.tfcs__slide{height:100%;flex:0 0 var(--tfcs-slide-width);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:var(--tfcs-gap)}
.tfcs__item{display:block!important;position:relative;min-width:0;min-height:0;overflow:hidden;background:#161616}.tfcs__image,.elementor .tfcs__image{display:block!important;width:100%!important;max-width:none!important;height:100%!important;min-height:100%!important;margin:0!important;padding:0!important;object-fit:cover;object-position:center;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.tfcs--zoom .tfcs__item:hover .tfcs__image{transform:scale(1.045)}
.tfcs__item--1{grid-column:1/5;grid-row:1}.tfcs__item--2{grid-column:1/5;grid-row:2}.tfcs__item--3{grid-column:5/9;grid-row:1}.tfcs__item--4{grid-column:5/7;grid-row:2}.tfcs__item--5{grid-column:7/9;grid-row:2}.tfcs__item--6{grid-column:9/11;grid-row:1}.tfcs__item--7{grid-column:11/13;grid-row:1}.tfcs__item--6:last-child,.tfcs__item--7:last-child{grid-row:1/3}.tfcs__item:nth-child(n+6):last-child{grid-column:9/13}.tfcs__item--7{grid-row:2;grid-column:9/13}
.tfcs__arrow{position:absolute!important;z-index:20!important;top:50%;width:var(--tfcs-arrow-size)!important;height:var(--tfcs-arrow-size)!important;min-width:var(--tfcs-arrow-size)!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--tfcs-arrow-bg)!important;color:var(--tfcs-arrow-color)!important;display:flex!important;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;transform:translateY(-50%);transition:opacity .2s,transform .2s}.tfcs__arrow:hover{transform:translateY(-50%) scale(1.06)}.tfcs__arrow:disabled{opacity:.35;cursor:not-allowed}.tfcs__arrow svg{width:46%;height:46%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.tfcs__arrow--prev{left:max(16px,calc((100% - var(--tfcs-slide-width))/2 - var(--tfcs-arrow-size)/2))}.tfcs__arrow--next{right:max(16px,calc((100% - var(--tfcs-slide-width))/2 - var(--tfcs-arrow-size)/2))}
.tfcs__dots{position:absolute;z-index:4;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.tfcs__dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--tfcs-dot);opacity:.35;cursor:pointer}.tfcs__dots button.is-active{opacity:1;transform:scale(1.3)}.tfcs__notice{padding:24px;background:#fff3cd;color:#664d03}
.tfcs-lightbox{position:fixed!important;z-index:2147483647!important;inset:0;background:rgba(0,0,0,.94);display:flex!important;align-items:center;justify-content:center;padding:30px;animation:tfcsFade .2s ease}.tfcs-lightbox img{display:block;max-width:90vw!important;max-height:90vh!important;width:auto!important;height:auto!important;object-fit:contain;box-shadow:0 18px 70px rgba(0,0,0,.45)}.tfcs-lightbox button{position:absolute;z-index:2;border:0!important;background:rgba(255,255,255,.94)!important;color:#222!important;width:52px;height:52px;padding:0!important;border-radius:50%!important;display:flex;align-items:center;justify-content:center;cursor:pointer}.tfcs-lightbox button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tfcs-lightbox__close{top:20px;right:22px;font-size:38px;line-height:1}.tfcs-lightbox__prev{top:50%;left:22px;transform:translateY(-50%)}.tfcs-lightbox__next{top:50%;right:22px;transform:translateY(-50%)}@keyframes tfcsFade{from{opacity:0}to{opacity:1}}
/* Tablet: balanced six-column collage. High specificity prevents theme grid rules from leaking in. */
@media (min-width:768px) and (max-width:1024px){.tfcs{--tfcs-slide-width:96%;--tfcs-height:580px}.tfcs .tfcs__slide{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-template-rows:repeat(3,minmax(0,1fr))!important}.tfcs .tfcs__slide .tfcs__item--1{grid-column:1/3!important;grid-row:1/3!important}.tfcs .tfcs__slide .tfcs__item--2{grid-column:3/5!important;grid-row:1!important}.tfcs .tfcs__slide .tfcs__item--3{grid-column:5/7!important;grid-row:1!important}.tfcs .tfcs__slide .tfcs__item--4{grid-column:3/5!important;grid-row:2!important}.tfcs .tfcs__slide .tfcs__item--5{grid-column:5/7!important;grid-row:2!important}.tfcs .tfcs__slide .tfcs__item--6{grid-column:1/4!important;grid-row:3!important}.tfcs .tfcs__slide .tfcs__item--7{grid-column:4/7!important;grid-row:3!important}}
/* Mobile: one large lead image followed by six readable thumbnails. */
@media (max-width:767px){.tfcs{--tfcs-height:680px;--tfcs-slide-width:100%;--tfcs-gap:4px}.tfcs .tfcs__slide{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(5,minmax(0,1fr))!important}.tfcs .tfcs__slide .tfcs__item{display:block!important}.tfcs .tfcs__slide .tfcs__item--1{grid-column:1/3!important;grid-row:1/3!important}.tfcs .tfcs__slide .tfcs__item--2{grid-column:1!important;grid-row:3!important}.tfcs .tfcs__slide .tfcs__item--3{grid-column:2!important;grid-row:3!important}.tfcs .tfcs__slide .tfcs__item--4{grid-column:1!important;grid-row:4!important}.tfcs .tfcs__slide .tfcs__item--5{grid-column:2!important;grid-row:4!important}.tfcs .tfcs__slide .tfcs__item--6{grid-column:1!important;grid-row:5!important}.tfcs .tfcs__slide .tfcs__item--7{grid-column:2!important;grid-row:5!important}.tfcs__arrow{--tfcs-arrow-size:44px}.tfcs__arrow--prev{left:12px}.tfcs__arrow--next{right:12px}.tfcs-lightbox{padding:14px}.tfcs-lightbox img{max-width:96vw!important;max-height:84vh!important}.tfcs-lightbox__prev{left:10px}.tfcs-lightbox__next{right:10px}}
/* Container fallbacks also protect galleries placed in narrow Elementor columns. */
@container (max-width:767px){.tfcs .tfcs__slide{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(5,minmax(0,1fr))!important}.tfcs .tfcs__slide .tfcs__item--1{grid-column:1/3!important;grid-row:1/3!important}.tfcs .tfcs__slide .tfcs__item--2{grid-column:1!important;grid-row:3!important}.tfcs .tfcs__slide .tfcs__item--3{grid-column:2!important;grid-row:3!important}.tfcs .tfcs__slide .tfcs__item--4{grid-column:1!important;grid-row:4!important}.tfcs .tfcs__slide .tfcs__item--5{grid-column:2!important;grid-row:4!important}.tfcs .tfcs__slide .tfcs__item--6{grid-column:1!important;grid-row:5!important}.tfcs .tfcs__slide .tfcs__item--7{grid-column:2!important;grid-row:5!important}}
@media(max-width:480px){.tfcs{--tfcs-height:620px}.tfcs__arrow{--tfcs-arrow-size:40px}}
@media(prefers-reduced-motion:reduce){.tfcs__track,.tfcs__image,.tfcs__arrow{transition:none!important}}
