/* Featured page v1 */
.fx-hero{position:relative;border-radius:22px;overflow:hidden;background:#fff;color:#16181c;margin-bottom:4.5rem;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.fx-hero:focus-visible{outline:2px solid var(--gold)}
.fx-slide{display:grid;grid-template-columns:1.15fr 1fr;min-height:clamp(420px,62vh,600px)}
.fx-slide.on{animation:fxin .6s ease}
@keyframes fxin{from{opacity:.25}to{opacity:1}}
.fx-slide-img{display:flex;align-items:center;justify-content:center;padding:2.5rem;background:#fff;min-height:0}
.fx-slide-img img{max-width:100%;max-height:min(52vh,500px);object-fit:contain;filter:drop-shadow(0 3px 3px rgba(0,0,0,.25)) drop-shadow(0 18px 22px rgba(0,0,0,.28))}
.fx-slide.is-app .fx-slide-img{padding:0}
.fx-slide.is-app .fx-slide-img img{width:100%;height:100%;max-height:none;object-fit:cover;filter:none}
.fx-slide-txt{padding:3rem 3.4rem 4.5rem;display:flex;flex-direction:column;justify-content:center;gap:.4rem;background:linear-gradient(180deg,#faf8f3,#f2eee5)}
.fx-slide-txt .eyebrow{color:#9a7a42}
.fx-slide-txt h2{font:500 clamp(2rem,3.6vw,3.1rem)/1.05 var(--serif);margin:.3rem 0 .5rem;color:#121316}
.fx-slide-txt p{color:#4b4a46;margin:0 0 .6rem;max-width:46ch;line-height:1.6}
.fx-slide-txt ul{margin:0 0 1rem;padding-left:1.1rem;color:#3c3b38;font-size:.92rem;line-height:1.7}
.fx-slide-txt .btn{color:#16181c}.fx-slide-txt .btn.fill{color:#111}
.fx-btns{display:flex;flex-wrap:wrap;gap:.7rem}
.fx-arr{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid rgba(0,0,0,.12);background:rgba(255,255,255,.92);color:#16181c;display:grid;place-items:center;cursor:pointer;z-index:3;box-shadow:0 6px 18px rgba(0,0,0,.18);transition:.25s}
.fx-arr:hover{background:var(--gold);border-color:var(--gold)}
.fx-hero>.prev{left:14px}.fx-hero>.next{right:14px}
.fx-dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:8px;z-index:3}
.fx-dots button{width:9px;height:9px;padding:0;border-radius:99px;border:0;background:rgba(0,0,0,.22);cursor:pointer;transition:.3s}
.fx-dots button[aria-selected=true]{width:28px;background:var(--gold)}
.fx-sec-h{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:0 0 1.6rem;flex-wrap:wrap}
.fx-sec-h h2{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700;color:#fff;margin:0;line-height:1.1}.fx-sec-h p{color:var(--mute);margin:0;max-width:56ch}
.fx-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:1.6rem}
.fx-card{position:relative;background:var(--char);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .45s}
.fx-card:hover{transform:translateY(-5px);border-color:rgba(201,166,107,.5);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.fx-hit{position:absolute;inset:0;z-index:2;background:none;border:0;cursor:pointer;border-radius:var(--r)}
.fx-hit:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.fx-tile{background:#fff;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:1.4rem;overflow:hidden}
.fx-tile>img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .5s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 2px 2px rgba(0,0,0,.28)) drop-shadow(0 12px 14px rgba(0,0,0,.30))}
.fx-tile.is-app{padding:0}.fx-tile.is-app>img{width:100%;height:100%;object-fit:cover;filter:none}
.fx-card:hover .fx-tile>img{transform:scale(1.06)}
.fx-body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.fx-body h3{font:500 1.5rem/1.15 var(--serif);margin:0}
.fx-type{font-size:.78rem;color:var(--gold2);letter-spacing:.04em}
.fx-body p{margin:.2rem 0 0;color:var(--mute);font-size:.9rem;line-height:1.55}
.fx-more{margin-top:auto;padding-top:.6rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.fx-card.is-group{grid-column:span 2}
.fx-card.is-group .fx-tile{aspect-ratio:auto;height:100%;min-height:260px;padding:1.2rem}
.fx-card.is-group{flex-direction:row}.fx-card.is-group .fx-tile{flex:1.35}.fx-card.is-group .fx-body{flex:1}
.fx-group{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem 1rem;width:100%}
.fx-group figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:.3rem}
.fx-group img{width:100%;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25)) drop-shadow(0 8px 10px rgba(0,0,0,.22))}
.fx-group figcaption{font-size:.68rem;letter-spacing:.06em;color:#555;text-align:center}
/* dialog */
html.fx-lock{overflow:hidden}
.fx-dlg{width:min(1180px,94vw);max-height:92svh;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--char);color:var(--text);overflow:hidden}
.fx-dlg::backdrop{background:rgba(5,6,8,.78);backdrop-filter:blur(6px)}
.fx-dwrap{display:grid;grid-template-columns:1.1fr 1fr;max-height:92svh;position:relative}
.fx-x{position:absolute;top:10px;right:12px;z-index:6;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(14,15,17,.85);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}
.fx-gal{background:#fff;display:flex;flex-direction:column;min-height:0}
.fx-stage{position:relative;flex:1;min-height:340px;display:flex;align-items:center;justify-content:center;padding:2rem;overflow:hidden}
.fx-stage img{max-width:100%;max-height:min(60svh,560px);object-fit:contain;filter:drop-shadow(0 3px 3px rgba(0,0,0,.26)) drop-shadow(0 16px 18px rgba(0,0,0,.28))}
.fx-stage.is-app{padding:0;background:#111}.fx-stage.is-app img{width:100%;height:100%;max-height:min(66svh,620px);object-fit:cover;filter:none}
.fx-stage .prev{left:10px}.fx-stage .next{right:10px}
.fx-count{position:absolute;bottom:10px;right:12px;font-size:.72rem;letter-spacing:.1em;background:rgba(0,0,0,.6);color:#fff;padding:.2rem .55rem;border-radius:99px}
.fx-cap{margin:0;padding:.5rem 1rem 0;font-size:.78rem;color:#666;min-height:1.6em}
.fx-thumbs{display:flex;gap:.5rem;overflow-x:auto;padding:.7rem 1rem 1rem;scrollbar-width:thin}
.fx-thumbs button{flex:0 0 68px;height:68px;border:2px solid #e4e0d8;border-radius:10px;background:#fff;padding:4px;cursor:pointer;overflow:hidden}
.fx-thumbs button.is-app{padding:0}
.fx-thumbs button img{width:100%;height:100%;object-fit:contain}.fx-thumbs button.is-app img{object-fit:cover}
.fx-thumbs button[aria-current=true]{border-color:var(--gold)}
.fx-info{padding:2rem 2.2rem 2rem;overflow-y:auto;max-height:92svh}
.fx-info h2{font:500 2.2rem/1.08 var(--serif);margin:.4rem 0 .3rem}
.fx-date{color:var(--gold2);font-size:.8rem;margin:0 0 .6rem}
.fx-sum{color:var(--text);line-height:1.6;margin:0 0 1rem}
.fx-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.fx-items li{display:grid;grid-template-columns:52px 1fr auto;gap:.8rem;align-items:center;padding:.45rem;border:1px solid var(--line);border-radius:10px}
.fx-items img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:8px;padding:3px}
.fx-items b{display:block;font-weight:500;font-size:.92rem}.fx-items span{font-size:.75rem;color:var(--gold2)}.fx-items small{display:block;color:var(--mute);font-size:.78rem}
.fx-il{display:flex;gap:.6rem}.fx-il a{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
@media(max-width:1000px){.fx-grid{grid-template-columns:repeat(2,1fr)}.fx-slide-txt{padding:2.2rem 2.4rem 4rem}}
@media(max-width:860px){.fx-dwrap{grid-template-columns:1fr;overflow-y:auto}.fx-info{max-height:none;overflow:visible}.fx-stage{min-height:0;height:44svh}.fx-stage img{max-height:100%}.fx-stage.is-app img{max-height:100%}}
@media(max-width:700px){.fx-slide{grid-template-columns:1fr;min-height:0}.fx-slide-img{height:42svh;padding:1.4rem}.fx-slide-img img{max-height:100%}
 .fx-slide-txt{padding:1.6rem 1.3rem 3.6rem}.fx-slide-txt ul{display:none}.fx-hero>.fx-arr{top:21svh;width:38px;height:38px}.fx-hero{border-radius:16px;margin-bottom:3rem}
 .fx-grid{grid-template-columns:1fr;gap:1.2rem}.fx-card.is-group{grid-column:auto;flex-direction:column}.fx-card.is-group .fx-tile{min-height:0}
 .fx-dlg{width:100vw;max-width:100vw;max-height:94svh;margin:auto auto 0;border-radius:18px 18px 0 0}.fx-dwrap{max-height:94svh}.fx-stage{height:38svh;padding:1rem}
 .fx-info{padding:1.4rem 1.2rem 2rem}.fx-info h2{font-size:1.8rem}.fx-btns .btn{flex:1 1 100%;justify-content:center}.fx-items li{grid-template-columns:44px 1fr}.fx-il{grid-column:2}.fx-thumbs button{flex-basis:58px;height:58px}}
/* fx2: full-bleed hero + Apollo showcase */
.fx-slide.is-app{position:relative;display:block;min-height:clamp(480px,74vh,720px)}
.fx-slide.is-app .fx-slide-img{position:absolute;inset:0}
.fx-slide.is-app .fx-slide-txt{position:relative;z-index:1;min-height:inherit;max-width:620px;background:linear-gradient(90deg,rgba(10,11,13,.86),rgba(10,11,13,.55) 70%,transparent);color:#fff;padding:3.4rem 3.8rem 5rem 5.2rem}
.fx-slide.is-app .fx-slide-txt h2{color:#fff}
.fx-slide.is-app .fx-slide-txt p,.fx-slide.is-app .fx-slide-txt ul{color:rgba(255,255,255,.86)}
.fx-slide.is-app .fx-slide-txt .eyebrow{color:var(--gold)}
.fx-slide.is-app .fx-slide-txt .btn{color:#fff;border-color:rgba(255,255,255,.55)}
.fx-slide.is-app .fx-slide-txt .btn.fill{color:#111}
.fx-slide-txt h2{font-size:clamp(2.3rem,4.4vw,3.8rem);letter-spacing:-.01em}
.fx-apollo{margin:-1.5rem 0 5rem}
.ap-head{max-width:62ch;margin-bottom:1.6rem}.ap-head h2{font-size:2.2rem;margin:.3rem 0 .4rem}.ap-head p{color:var(--mute);margin:0}
.ap-video{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 24px 60px rgba(0,0,0,.4);margin-bottom:2.6rem}
.ap-video iframe,.ap-play,.ap-play img{position:absolute;inset:0;width:100%;height:100%;border:0}
.ap-play{padding:0;cursor:pointer;background:#000}.ap-play img{object-fit:cover;opacity:.85;transition:opacity .3s}
.ap-play:hover img{opacity:1}
.ap-pbtn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:50%;background:var(--gold);color:#111;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform .2s}
.ap-play:hover .ap-pbtn{transform:translate(-50%,-50%) scale(1.07)}
.ap-vt{position:absolute;left:1.4rem;bottom:1.2rem;color:#fff;font-weight:600;letter-spacing:.04em;text-shadow:0 2px 8px rgba(0,0,0,.7)}
.ap-sub{font:500 1.5rem var(--serif);margin:0 0 1rem;display:flex;gap:.8rem;align-items:baseline}.ap-sub span{font:500 .8rem var(--sans,inherit);color:var(--mute);letter-spacing:.06em;text-transform:uppercase}
.ap-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:10px;margin-bottom:2.4rem}
.ap-t{padding:0;border:0;border-radius:12px;overflow:hidden;cursor:zoom-in;background:#fff;display:flex;align-items:center;justify-content:center}
.ap-t img{width:100%;height:100%;object-fit:contain;padding:12%;filter:drop-shadow(0 6px 8px rgba(0,0,0,.22));transition:transform .4s}
.ap-t.is-app{background:#111}.ap-t.is-app img{object-fit:cover;padding:0;filter:none}
.ap-t:hover img{transform:scale(1.05)}.ap-t:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ap-t.big{grid-column:span 2;grid-row:span 2}
.ap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.ap-grid .ap-t{aspect-ratio:1}
.ap-cta{margin-top:2rem}
@media(max-width:760px){
.fx-slide.is-app{min-height:0;display:grid}
.fx-slide.is-app .fx-slide-img{position:relative;height:42svh}
.fx-slide.is-app .fx-slide-txt{max-width:none;background:#121316;padding:1.6rem 1.3rem 3.6rem}
.ap-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:130px}
.ap-grid{grid-template-columns:repeat(3,1fr);gap:6px}
.ap-pbtn{width:64px;height:64px}.ap-head h2{font-size:1.8rem}}
.fx-dwrap{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.ap-mosaic{grid-auto-flow:dense}
.ap-t.is-flat img,.fx-stage.is-flat img{filter:none;mix-blend-mode:multiply}
.ap-t.is-flat img{padding:4%}
@media(max-width:760px){.fx-dwrap{grid-template-columns:minmax(0,1fr)}}
/* fx5: video slides, beam animations, trim rows */
.fx-slide-img video{width:100%;height:100%;object-fit:cover;display:block;background:#000}
.fx-slide.is-vid .fx-slide-img{background:#000}
.fx-slide.is-vid .fx-slide-img video{object-fit:contain;object-position:right center}
.fx-stage video{width:100%;height:100%;max-height:min(66svh,620px);object-fit:contain;background:#000}
.fx-stage.is-vid{background:#000;padding:0}
.ap-beams{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:3rem}
.ap-beam{margin:0;background:#000;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.ap-beam video{width:100%;aspect-ratio:16/9;object-fit:contain;background:#000;display:block}
.ap-beam.big{grid-column:span 4;flex-direction:row;align-items:center}
.ap-beam.big video{width:58%;aspect-ratio:1;max-height:560px}
.ap-beam.big figcaption{padding:2rem 2.4rem;font-size:1.05rem}.ap-beam.big figcaption b{font-size:2rem}
.ap-beam figcaption{padding:.9rem 1rem 1.1rem;color:rgba(255,255,255,.78);font-size:.86rem;line-height:1.5}
.ap-beam figcaption b{display:block;font:500 1.25rem var(--serif);color:#fff;margin-bottom:.2rem}
.ap-row{margin-bottom:2.2rem}
.ap-rh{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem}
.ap-rh .ap-sub{margin:0}.ap-rh p{margin:0;color:var(--mute);font-size:.9rem;flex:1}
.ap-rn{display:flex;gap:.5rem}.ap-rn .fx-arr{position:static;transform:none;width:38px;height:38px}
.ap-track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(150px,17%,210px);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px;overscroll-behavior-x:contain}
.ap-track::-webkit-scrollbar{display:none}
.ap-track .ap-t{aspect-ratio:1;scroll-snap-align:start}
@media(max-width:760px){
.fx-slide.is-vid .fx-slide-img video{object-position:center}
.ap-beams{grid-template-columns:1fr 1fr;gap:8px}
.ap-beam.big{grid-column:span 2;flex-direction:column}.ap-beam.big video{width:100%;aspect-ratio:1}
.ap-beam.big figcaption{padding:1rem 1.1rem 1.2rem}.ap-beam.big figcaption b{font-size:1.5rem}
.ap-beam figcaption{font-size:.78rem;padding:.6rem .7rem .8rem}
.ap-rn{display:none}.ap-track{grid-auto-columns:42%}}

.fx-new{display:inline-block;width:fit-content;align-self:flex-start;background:#c9a24a;color:#111;font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:.25em .7em;border-radius:3px;margin:0 .5em .6em 0;vertical-align:middle}
.ap-beam.big.ap-beam-img img{width:58%;height:auto;display:block}
@media(max-width:760px){.ap-beam.big.ap-beam-img img{width:100%}}
/* beam compare crop: fill panel, no dead space */
.ap-beam.big.ap-beam-img img{flex:0 0 58%;width:58%;height:auto;aspect-ratio:2000/1090;object-fit:cover}
@media(max-width:760px){.ap-beam.big.ap-beam-img img{flex:none;width:100%}}
