.fyi-media-player { margin: 1rem 0; max-width: 100%; }
.fyi-media-player audio { display: block; max-width: 100%; }
.fyi-media-video video { display: block; width: 100%; height: auto; max-width: 100%; }
.fyi-media-youtube { position: relative; overflow: hidden; }
.fyi-media-youtube iframe { display: block; width: 100%; height: 100%; border: 0; }
.fyi-media-download { margin: .45rem 0 0; }
.fyi-media-missing { margin: 1rem 0; }
.fyi-media-title { margin: 0 0 .4rem; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }

/* FYI Media Framework v1.3.6 gallery and modal overlay */
.fyi-media-gallery.fyi-gallery{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:1rem 0!important;align-items:start!important}
.fyi-media-gallery.fyi-gallery--grid{display:grid!important;grid-template-columns:repeat(var(--fyi-gallery-columns,var(--fyi-gallery-columns-desktop,3)),minmax(0,1fr))!important;gap:var(--fyi-gallery-gap,12px)!important}
.fyi-media-gallery .fyi-gallery__item{box-sizing:border-box!important;min-width:0!important;width:auto!important;max-width:none!important;margin:0!important;overflow:hidden!important;border-radius:var(--fyi-gallery-radius,0)!important}
.fyi-media-gallery .fyi-gallery__link{display:block!important;position:relative!important;width:100%!important;max-width:none!important;overflow:hidden!important;border-radius:inherit!important;background:#111!important;cursor:zoom-in!important}
.fyi-media-gallery img.fyi-gallery__image{display:block!important;width:100%!important;max-width:none!important;height:var(--fyi-gallery-thumb-height,220px)!important;object-fit:var(--fyi-gallery-object-fit,cover)!important;border-radius:inherit!important;transition:transform .25s ease,opacity .25s ease,filter .25s ease,box-shadow .25s ease!important}
.fyi-media-gallery .fyi-gallery__caption{display:block!important;margin:.4rem 0 0!important;color:var(--fyi-gallery-caption-color,#fff)!important;font-size:var(--fyi-gallery-caption-size,14px)!important;line-height:1.35!important}
.fyi-media-gallery.fyi-gallery--masonry{display:block!important;columns:var(--fyi-gallery-columns,var(--fyi-gallery-columns-desktop,3))!important;column-gap:var(--fyi-gallery-gap,12px)!important}
.fyi-media-gallery.fyi-gallery--masonry .fyi-gallery__item{break-inside:avoid!important;margin:0 0 var(--fyi-gallery-gap,12px)!important}
.fyi-media-gallery.fyi-gallery--masonry img.fyi-gallery__image,.fyi-media-gallery.fyi-gallery--manual img.fyi-gallery__image,.fyi-media-gallery.fyi-gallery--feature img.fyi-gallery__image{height:auto!important;object-fit:contain!important}
.fyi-media-gallery.fyi-gallery--feature{display:grid!important;grid-template-columns:1fr!important;gap:var(--fyi-gallery-gap,12px)!important}
.fyi-media-gallery.fyi-gallery--strip{display:flex!important;overflow-x:auto!important;gap:var(--fyi-gallery-gap,12px)!important;scroll-snap-type:x mandatory!important;padding-bottom:.35rem!important}
.fyi-media-gallery.fyi-gallery--strip .fyi-gallery__item{flex:0 0 min(280px,75vw)!important;scroll-snap-align:start!important}
.fyi-media-gallery.fyi-gallery--manual{display:flex!important;flex-wrap:wrap!important;gap:var(--fyi-gallery-gap,12px)!important;align-items:flex-start!important}
.fyi-media-gallery.fyi-gallery--manual .fyi-gallery__item{flex:0 1 auto!important}
.fyi-gallery[data-hover="none"] .fyi-gallery__image{transition:none!important}
.fyi-gallery[data-hover="zoom"] .fyi-gallery__link:hover .fyi-gallery__image,.fyi-gallery:not([data-hover]) .fyi-gallery__link:hover .fyi-gallery__image{transform:scale(1.035)}
.fyi-gallery[data-hover="fade"] .fyi-gallery__link:hover .fyi-gallery__image{opacity:.78}
.fyi-gallery[data-hover="lift"] .fyi-gallery__link:hover .fyi-gallery__image{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.fyi-lightbox{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,var(--fyi-lightbox-opacity,.94));padding:clamp(16px,4vw,56px)}
.fyi-lightbox.is-open{display:flex}
.fyi-lightbox__dialog{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;outline:0}
.fyi-lightbox__image{display:block;max-width:100%;max-height:calc(100vh - 140px);width:auto;height:auto;object-fit:contain;box-shadow:0 12px 44px rgba(0,0,0,.55)}
.fyi-lightbox__caption{max-width:min(900px,90vw);margin:.75rem auto 0;color:#fff;text-align:center;line-height:1.4}
.fyi-lightbox__close,.fyi-lightbox__prev,.fyi-lightbox__next{position:absolute;display:flex;align-items:center;justify-content:center;border:0;background:rgba(0,0,0,.45);color:#fff;cursor:pointer;border-radius:999px;font-size:30px;line-height:1;width:48px;height:48px}
.fyi-lightbox__close{top:0;right:0}.fyi-lightbox__prev,.fyi-lightbox__next{display:var(--fyi-lightbox-nav,flex);top:50%;transform:translateY(-50%)}.fyi-lightbox__prev{left:0}.fyi-lightbox__next{right:0}
.fyi-lightbox__counter{display:var(--fyi-lightbox-counter,block);position:absolute;top:12px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px}
body.fyi-lightbox-open{overflow:hidden}
@media(max-width:900px){.fyi-media-gallery.fyi-gallery--grid{grid-template-columns:repeat(var(--fyi-gallery-columns-tablet,2),minmax(0,1fr))!important}.fyi-media-gallery.fyi-gallery--masonry{columns:var(--fyi-gallery-columns-tablet,2)!important}}
@media(max-width:600px){.fyi-media-gallery.fyi-gallery--grid{grid-template-columns:repeat(var(--fyi-gallery-columns-mobile,1),minmax(0,1fr))!important}.fyi-media-gallery.fyi-gallery--masonry{columns:var(--fyi-gallery-columns-mobile,1)!important}.fyi-lightbox{padding:12px}.fyi-lightbox__prev,.fyi-lightbox__next{width:40px;height:40px;font-size:24px}.fyi-lightbox__image{max-height:calc(100vh - 120px)}}
@media(prefers-reduced-motion:reduce){.fyi-gallery__image{transition:none!important}.fyi-lightbox *{scroll-behavior:auto!important}}

/* v1.3.6 critical modal overlay protection against broad template rules */
html body .fyi-lightbox{position:fixed!important;inset:0!important;z-index:2147483000!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;margin:0!important;box-sizing:border-box!important;overflow:hidden!important}
html body .fyi-lightbox.is-open{display:flex!important}
html body .fyi-lightbox:not(.is-open){display:none!important}


/* FYI Media Framework v1.4.0 playlist player */
.fyi-media-audio-player{margin:.35rem 0!important;width:100%;max-width:100%;color:var(--fyi-audio-text,#fff);font:inherit;border-bottom:1px dotted var(--fyi-audio-divider,#8f7d00)}
.fyi-media-audio__toggle{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:var(--fyi-audio-row-height,56px)!important;margin:0!important;padding:.4rem .15rem!important;border:0!important;background:transparent!important;color:var(--fyi-audio-title,#ffd900)!important;font:inherit!important;font-size:var(--fyi-audio-title-size,22px)!important;text-align:left!important;cursor:pointer!important}
.fyi-media-audio__toggle:hover,.fyi-media-audio__toggle:focus-visible{color:var(--fyi-audio-accent,#ffd900)!important;outline:0}
.fyi-media-audio__arrow{flex:0 0 auto;margin-left:1rem;transition:transform .2s ease}
.fyi-media-audio-player.is-open .fyi-media-audio__arrow{transform:rotate(90deg)}
.fyi-media-audio__panel{margin:0 0 .75rem;padding:.75rem;border:1px solid var(--fyi-audio-divider,#8f7d00);border-radius:var(--fyi-audio-radius,0);background:var(--fyi-audio-bg,#000);color:var(--fyi-audio-text,#fff)}
.fyi-media-audio__panel[hidden]{display:none!important}
.fyi-media-audio__controls{display:grid;grid-template-columns:auto auto minmax(90px,1fr) auto minmax(70px,110px);align-items:center;gap:.65rem}
.fyi-media-audio__play{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--fyi-audio-accent,#ffd900);border-radius:999px;background:transparent;color:var(--fyi-audio-accent,#ffd900);cursor:pointer}
.fyi-media-audio__play:hover,.fyi-media-audio__play:focus-visible{background:var(--fyi-audio-accent,#ffd900);color:var(--fyi-audio-bg,#000)}
.fyi-media-audio__time{font-size:.85em;white-space:nowrap}
.fyi-media-audio__progress,.fyi-media-audio__volume{width:100%;accent-color:var(--fyi-audio-accent,#ffd900)}
.fyi-media-audio__native{display:none!important}
.fyi-music-page .fyi-media-audio-player{margin:0}
.fyi-music-feature{margin-top:2rem}
@media(max-width:700px){.fyi-media-audio__controls{grid-template-columns:auto auto minmax(80px,1fr) auto}.fyi-media-audio__volume{display:none}}
@media(max-width:480px){.fyi-media-audio__controls{grid-template-columns:auto 1fr auto}.fyi-media-audio__elapsed{display:none}.fyi-media-audio__progress{grid-column:2}.fyi-media-audio__duration{grid-column:3}}
@media(prefers-reduced-motion:reduce){.fyi-media-audio__arrow{transition:none}}
