/* Mouratoglou video component (videos.js): facade, video section, mobile stories + modal, camp hero gallery, badge. */
.mxv{--mxv-ink:#001937;--mxv-muted:#5b6573;--mxv-line:#dfe3e8;--mxv-accent:#1F92F0;--mxv-bg:#FAF8F4;box-sizing:border-box;padding:72px 48px;background:var(--mxv-bg);color:var(--mxv-ink);scroll-margin-top:100px}
.mxv *,.mxv *::before,.mxv *::after{box-sizing:border-box}
.mxv button{font:inherit;color:inherit;cursor:pointer}
.mxv button:focus-visible,.mxv a:focus-visible,.mxv-hero button:focus-visible,.mxv-hero-track:focus-visible,.mxv-badge:focus-visible,.mxv-modal button:focus-visible{outline:3px solid #FFE9B8;outline-offset:3px}
.mxv-head{max-width:1200px;margin:0 auto 24px}
.mxv-eyebrow{margin:0 0 12px;font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--mxv-accent)}
.mxv h2{margin:0;font-size:clamp(28px,3.2vw,46px);line-height:1.06;font-weight:900}
.mxv-intro{margin:12px 0 0;color:var(--mxv-muted);line-height:1.6;max-width:640px}
.mxv-tabs{display:flex;gap:8px;max-width:1200px;margin:0 auto 22px;overflow-x:auto;scrollbar-width:none;padding:2px}
.mxv-tabs::-webkit-scrollbar{display:none}
.mxv-tab{flex:none;border:1px solid var(--mxv-ink);background:transparent;border-radius:999px;padding:9px 16px;font-size:12px!important;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.mxv-tab[aria-pressed="true"]{background:var(--mxv-ink);color:#fff!important}
.mxv-body{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(260px,1fr);gap:28px;max-width:1200px;margin:0 auto;align-items:start}
.mxv-one .mxv-body{grid-template-columns:minmax(0,1fr);max-width:860px}
/* Facade: 16/9 box, the thumbnail covers it, iframe injected in the same box. */
.mxv-facade,.mxv-frame{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;margin:0;border-radius:10px;overflow:hidden;background:#0b1d33;cursor:pointer}
.mxv-facade.mxv-short,.mxv-frame.mxv-short{aspect-ratio:9/16;width:min(100%,360px);margin:0 auto}
.mxv-facade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .3s}
.mxv-facade:hover img{transform:scale(1.02)}
.mxv-frame iframe,.mxv-modal iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mxv-play{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:rgba(0,25,55,.78);box-shadow:0 6px 24px rgba(0,0,0,.25);transition:background .2s,transform .2s}
.mxv-play::after{content:"";position:absolute;left:27px;top:21px;border-style:solid;border-width:13px 0 13px 21px;border-color:transparent transparent transparent #fff}
.mxv-facade:hover .mxv-play,.mxv-item:hover .mxv-play{background:var(--mxv-accent,#1F92F0);transform:scale(1.06)}
.mxv-play-s{width:40px;height:40px;margin:-20px 0 0 -20px}.mxv-play-s::after{left:16px;top:12px;border-width:8px 0 8px 13px}
.mxv-play-xs{width:26px;height:26px;margin:-13px 0 0 -13px}.mxv-play-xs::after{left:10px;top:7.5px;border-width:5.5px 0 5.5px 9px}
.mxv-dur{position:absolute;right:8px;bottom:8px;padding:3px 7px;border-radius:4px;background:rgba(0,0,0,.78);color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1.3;font-variant-numeric:tabular-nums}
.mxv-caption{padding:18px 2px 0}
.mxv-theme{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mxv-muted)}
.mxv-title{margin:0 0 8px;font-size:22px;line-height:1.2;font-weight:900}
.mxv-desc{margin:0;color:var(--mxv-muted);line-height:1.6;max-width:720px}
.mxv-camp{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:14px 16px 14px 20px;border:1px solid var(--mxv-line);border-radius:10px;background:#fff}
.mxv-camp p{margin:0;display:flex;flex-direction:column;gap:2px;min-width:0}
.mxv-camp small{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mxv-muted)}
.mxv-camp strong{font-size:15px;line-height:1.3}
.mxv-book{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:12px 26px;border-radius:999px;background:var(--mxv-ink);color:#fff!important;font-size:11px;font-weight:700;letter-spacing:.14em;text-decoration:none}
.mxv-book:hover{opacity:.85}
.mxv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.mxv-list li[hidden]{display:none}
.mxv-item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center;width:100%;padding:8px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left}
.mxv-item:hover{background:#fff}
.mxv-item[aria-pressed="true"]{background:#fff;border-color:var(--mxv-line)}
.mxv-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:7px;overflow:hidden;background:#0b1d33}
.mxv-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.mxv-thumb .mxv-dur{right:5px;bottom:5px;font-size:10px;padding:2px 5px}
.mxv-item-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.mxv-item-theme{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mxv-muted)}
.mxv-item-title{font-size:14px;font-weight:700;line-height:1.3}
/* Compact (landing pages): inside the article column. */
.mxv-compact{padding:0;margin:40px 0;background:transparent}
.mxv-compact .mxv-head{margin-bottom:16px}
.mxv-compact h2{font-size:clamp(24px,2.4vw,32px)}
.mxv-compact .mxv-head,.mxv-compact .mxv-body{max-width:1100px;margin-left:0}
.mxv-compact .mxv-body{grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:24px}
.mxv-compact .mxv-title{font-size:19px}
/* In the article column ({"videos": true} block): player, then a grid of thumbnails. */
@media(min-width:701px){
.bl-body .mxv-compact .mxv-body{grid-template-columns:minmax(0,1fr)}
.bl-body .mxv-compact .mxv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.bl-body .mxv-compact .mxv-item{grid-template-columns:1fr;padding:0;gap:8px;align-items:start}
.bl-body .mxv-compact .mxv-item[aria-pressed="true"]{background:transparent;border-color:transparent}
.bl-body .mxv-compact .mxv-item[aria-pressed="true"] .mxv-thumb{outline:3px solid var(--mxv-accent);outline-offset:2px}
}
/* Mobile: stories carousel + fullscreen modal (the big player stays for a single video). */
@media(max-width:700px){
 .mxv{padding:40px 20px}
 .mxv-compact{padding:0}
 .mxv-body{display:flex;flex-direction:column-reverse;align-items:stretch;gap:18px}
 .mxv:not(.mxv-one) .mxv-player,.mxv:not(.mxv-one) .mxv-caption{display:none}
 .mxv-camp{margin-top:0}
 .mxv-list,.mxv-compact .mxv-list{display:flex;flex-direction:row;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:2px 20px 4px;scroll-padding:0 20px}
 .mxv-list::-webkit-scrollbar{display:none}
 .mxv-list li{flex:0 0 42%;scroll-snap-align:start}
 .mxv-item,.mxv-compact .mxv-item{display:block;position:relative;padding:0;border:0;border-radius:14px;overflow:hidden;background:#0b1d33!important}
 .mxv-item .mxv-thumb{aspect-ratio:3/4;border-radius:0}
 .mxv-item .mxv-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,25,55,0) 40%,rgba(0,25,55,.9) 100%)}
 .mxv-item .mxv-dur{top:8px;bottom:auto;right:8px;z-index:1}
 .mxv-item .mxv-play-s{top:42%;z-index:1}
 .mxv-item-text{position:absolute;left:10px;right:10px;bottom:10px;z-index:1;color:#fff}
 .mxv-item-theme{color:#cfe6ff}
 .mxv-item-title{font-size:13px}
 .mxv-item[aria-pressed="true"],.mxv-compact .mxv-item[aria-pressed="true"] .mxv-thumb{outline:none}
 .mxv-camp{padding:12px 12px 12px 16px}
}
.mxv-modal{box-sizing:border-box;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#000;color:#fff}
.mxv-modal::backdrop{background:rgba(0,0,0,.92)}
.mxv-modal-box{position:relative;display:flex;flex-direction:column;justify-content:center;height:100%;padding:56px 0 24px}
.mxv-modal-frame{position:relative;width:100%;aspect-ratio:16/9;max-height:calc(100dvh - 140px)}
.mxv-modal-title{margin:16px 20px 0;font-size:15px;font-weight:700;line-height:1.35}
.mxv-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:20px;cursor:pointer}
.mxv-modal-short .mxv-modal-frame{aspect-ratio:9/16;width:auto;height:calc(100dvh - 140px);max-width:100%;margin:0 auto}
html.mxv-lock{overflow:hidden}
/* Camp hero gallery: covers the hero photo (same box), slides = photo + videos. */
.mxv-hero{position:absolute;left:0;top:0;bottom:0;width:50%;z-index:1;background:#001937}
.mxv-hero-track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.mxv-hero-track::-webkit-scrollbar{display:none}
.mxv-hero-slide{position:relative;flex:0 0 100%;height:100%;scroll-snap-align:start;background:#001937}
.mxv-hero-slide>img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;display:block}
.mxv-hero .mxv-facade,.mxv-hero .mxv-frame{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;background:#000}
.mxv-hero .mxv-facade img{object-fit:cover}
.mxv-hero-strip{position:absolute;left:20px;bottom:20px;display:flex;gap:8px;max-width:calc(100% - 40px);overflow-x:auto;scrollbar-width:none;padding:3px}
.mxv-hero-thumb{position:relative;flex:none;width:84px;aspect-ratio:16/10;padding:0;border:2px solid rgba(255,255,255,.55);border-radius:6px;overflow:hidden;background:#001937;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.mxv-hero-thumb img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block}
.mxv-hero-thumb[aria-current="true"]{border-color:#fff;box-shadow:0 0 0 2px #1F92F0,0 4px 14px rgba(0,0,0,.3)}
.mxv-hero-thumb .mxv-dur{right:3px;bottom:3px;font-size:9px;padding:1px 4px}
.mxv-hero-dots{display:none}
.mxv-badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;pointer-events:auto;padding:8px 14px 8px 8px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);color:#fff!important;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.mxv-badge:hover{background:rgba(255,255,255,.22);opacity:1}
.mxv-badge-icon{position:relative;width:22px;height:22px;border-radius:50%;background:#fff}
.mxv-badge-icon::after{content:"";position:absolute;left:8.5px;top:6px;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent #001937}
@media(max-width:900px){
 .mxv-hero{right:0;bottom:auto;width:auto;height:240px}
 .mxv-hero-strip{display:none}
 .mxv-hero-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px;pointer-events:none}
 .mxv-hero-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 1px 3px rgba(0,0,0,.4)}
 .mxv-hero-dots span.mxv-dot-v{border-radius:2px}
 .mxv-hero-dots span.is-on{background:#fff;width:18px;border-radius:4px}
}
@media(prefers-reduced-motion:reduce){.mxv-facade img,.mxv-play{transition:none}}
/* Player pages (players.css look): white section, player-page blue. */
.players-page .mxv{--mxv-ink:var(--global-black,#050505);--mxv-accent:var(--global-blue,#004b87);--mxv-bg:#fff;padding:64px 20px}
.players-page .mxv-head{max-width:1200px}
@media(min-width:900px){.players-page .mxv{padding:96px 48px}}
/* Landing pages (camps-seo): block after the camp cards. */
.cs-wide.cs-videos{padding-bottom:0}
.cs-videos .mxv-compact{margin:16px 0 8px}
/* Blog articles: one video inside the text (figure + caption). */
.mxv-figure{margin:8px 0 26px}
.mxv-figure-short .mxv-facade,.mxv-figure-short .mxv-frame{width:min(100%,320px);margin:0}
.mxv-figure figcaption{margin-top:8px;color:var(--global-muted,#62676d);font-size:13px;line-height:1.5}
.mxv-figure figcaption strong{color:var(--global-black,#050505)}
.mxv-figure-note{display:block}
.mxv-figure .mxv-facade:focus-visible{outline:3px solid #1F92F0;outline-offset:3px}
/* Player pages, desktop: title aligned on the player and the list, list as tall as the player (scrolls inside). */
@media(min-width:901px){
  .players-page .mxv-single{padding-left:max(48px,calc((100vw - 1200px)/2));padding-right:max(48px,calc((100vw - 1200px)/2))}
  .players-page .mxv-head,.players-page .mxv-body{max-width:none;margin-left:0;margin-right:0}
  .players-page .mxv-body{align-items:stretch}
  .players-page .mxv-list{contain:size;align-self:stretch;overflow-y:auto;padding-right:6px;scrollbar-width:thin}
}
