/* Final approved double-orbit menu, using the LOFP colours and type. */
.orbit-selection { width:100%; max-width:1460px; margin:0 auto; padding:28px 0 12px; }
.orbit-selection-heading { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-bottom:9px; }
.orbit-selection-heading .eyebrow { margin-bottom:7px; }
.orbit-selection-heading h2 { margin:0; color:var(--lofp-blue-deep); font-size:clamp(2rem,3.4vw,3.35rem); line-height:1; letter-spacing:-.055em; font-weight:800; }
.orbit-hint { max-width:460px; margin:0 0 3px; color:var(--muted); font-size:.88rem; line-height:1.55; }
.orbit-showcase { --orbit-rx: 410px; --orbit-rz: 146px; --orbit-tilt: 13px; --planet-size: 310px; --orbit-card-width: 232px; position:relative; overflow:hidden; border:1px solid rgba(47,71,152,.1); border-radius:30px; background:radial-gradient(ellipse at 50% 52%,#fff 0%,#f8fbfe 56%,#eef6fc 100%); box-shadow:0 18px 54px rgba(32,52,113,.085); }
.orbit-stage { position:relative; height:424px; overflow:hidden; perspective:1200px; isolation:isolate; }
.orbit-stage::before { position:absolute; content:""; inset:0; z-index:-1; background:radial-gradient(ellipse at 50% 55%,rgba(0,166,223,.08),transparent 52%); }
.orbit-planet { position:absolute; z-index:20; left:50%; top:50%; width:var(--planet-size); aspect-ratio:1; overflow:hidden; display:grid; place-items:center; border:1px solid rgba(255,255,255,.9); border-radius:50%; transform:translate(-50%,-50%) translateZ(0); background:radial-gradient(circle at 34% 27%,#fff 0 7%,#dff4fb 22%,#a9dbea 43%,#6eafd1 72%,#5089bc 100%); box-shadow:inset -20px -22px 45px rgba(32,75,137,.16),inset 10px 10px 28px rgba(255,255,255,.84),0 24px 60px rgba(51,106,169,.13); pointer-events:none; }
.orbit-planet::before,.orbit-planet::after { position:absolute; content:""; border:1px solid rgba(255,255,255,.43); border-radius:50%; transform:rotate(-24deg) scaleX(1.34); }
.orbit-planet::before { inset:18% -10%; }
.orbit-planet::after { inset:6% 9%; transform:rotate(56deg) scaleX(.52); }
.planet-halo { position:absolute; inset:-16%; border-radius:50%; background:radial-gradient(circle at 34% 27%,rgba(255,255,255,.58),transparent 55%); }
.planet-coast { position:absolute; display:block; opacity:.3; background:rgba(255,255,255,.72); filter:blur(.4px); }
.planet-coast-one { top:24%; left:26%; width:29%; height:17%; border-radius:55% 34% 60% 28%; transform:rotate(-23deg) skewX(-14deg); }
.planet-coast-two { right:19%; bottom:25%; width:25%; height:12%; border-radius:40% 60% 30% 60%; transform:rotate(27deg); }
.planet-copy { position:relative; z-index:1; display:grid; gap:4px; text-align:center; color:#fff; text-shadow:0 1px 12px rgba(32,71,125,.24); }
.planet-copy b { font-size:.75rem; letter-spacing:.16em; text-transform:uppercase; font-weight:800; }
.planet-copy small { font-size:.62rem; letter-spacing:.04em; }
.planet-filiere-art { display:none; }
.orbit-trace { position:absolute; z-index:1; left:50%; top:50%; width:min(82%,1040px); height:220px; border:1px solid rgba(47,112,176,.2); border-radius:50%; transform:translate(-50%,-50%) rotateX(67deg); box-shadow:0 0 0 11px rgba(0,166,223,.018),0 0 0 22px rgba(47,112,152,.015); pointer-events:none; }
.orbit-trace-back { border-color:rgba(47,71,152,.12); }
.orbit-trace-front { width:min(78%,960px); height:190px; border-color:rgba(0,166,223,.13); transform:translate(-50%,-50%) rotateX(70deg) rotateZ(-3deg); }
.orbit-track { position:absolute; z-index:4; inset:0; transform-style:preserve-3d; pointer-events:none; }
.orbit-card { position:absolute; left:50%; top:50%; width:var(--orbit-card-width); padding:0 0 11px; overflow:hidden; border:1px solid rgba(47,71,152,.16); border-radius:17px; color:var(--lofp-blue-deep); text-align:left; background:rgba(255,255,255,.97); box-shadow:0 16px 38px rgba(32,52,113,.17); cursor:pointer; transform-style:preserve-3d; pointer-events:auto; transition:box-shadow .2s,border-color .2s; will-change:transform; }
.orbit-card > * { pointer-events:none; }
.orbit-card:hover,.orbit-card.is-selected { border-color:rgba(0,166,223,.6); box-shadow:0 20px 48px rgba(32,82,146,.23); }
.orbit-card img { display:block; width:100%; height:102px; object-fit:cover; background:#e4f1f9; }
.orbit-card span,.orbit-card b { display:block; margin:8px 11px 0; }
.orbit-card span { overflow:hidden; color:var(--lofp-blue-mid); font-size:.56rem; font-weight:800; letter-spacing:.1em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.orbit-card b { overflow:hidden; font-size:.82rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.orbit-arrow { position:absolute; z-index:50; top:50%; display:grid; place-items:center; width:46px; height:46px; border:1px solid rgba(47,71,152,.12); border-radius:50%; color:var(--lofp-blue); background:rgba(255,255,255,.95); box-shadow:0 8px 22px rgba(32,52,113,.1); font-size:1.4rem; cursor:pointer; transform:translateY(-50%); transition:transform .2s,background .2s; }
.orbit-arrow:hover { background:#fff; transform:translateY(-50%) scale(1.06); }
.orbit-arrow-previous { left:22px; }
.orbit-arrow-next { right:22px; }
.orbit-current { position:absolute; z-index:50; left:50%; bottom:18px; display:flex; align-items:center; gap:12px; margin:0; color:var(--lofp-blue-deep); font-size:.95rem; font-weight:800; transform:translateX(-50%); }
.orbit-current span { color:var(--lofp-blue-mid); font-size:.76rem; letter-spacing:.09em; }
.orbit-review .collection { padding-top:0; }
.orbit-review .section-heading { display:none; }
.orbit-review .collection-stage { margin-top:0; scroll-margin-top:24px; }
.orbit-review .player-section { grid-template-columns:minmax(0,1fr); }
.orbit-review .viewer-card { width:100%; min-width:0; max-width:100%; }
@media (min-width:1001px) {
  .orbit-review .collection-stage { grid-template-areas:"player information"; grid-template-rows:minmax(0,1fr); row-gap:0; }
  .orbit-review .viewer-card { aspect-ratio:auto; min-height:0; }
}
@media (min-width:1001px) and (max-width:1200px) {
  .orbit-review .player-controls { grid-template-columns:auto minmax(85px,1fr) auto auto auto; gap:10px; }
}
.orbit-review .film-grid,.orbit-review .film-grid-heading { display:none; }
.orbit-review .orbit-selection { scroll-margin-top:24px; }
.orbit-review .site-header { width:min(1460px,calc(100% - 64px)); }
.orbit-review .intro { padding-top:38px; }
@media (min-width:851px) {
  .orbit-review .intro { min-height:clamp(405px,calc(40vw - 52px),460px); }
  .orbit-review .intro h1 { font-size:clamp(2.8rem,5.25vw,5.6rem); }
  .orbit-review .intro-art { left:20%; right:0; bottom:0; }
  .orbit-review .intro-art .intro-panorama { opacity:.8; filter:saturate(.86) contrast(1) brightness(1.01); transform:none; }
}
.orbit-review .how-to { width:min(1460px,calc(100% - 64px)); margin-inline:auto; }
.orbit-review .site-footer { width:100%; margin-inline:0; }

/* Variation 02: an inclined plane gives the ring a visible diagonal depth. */
.orbit-showcase[data-orbit-variant="2"] .orbit-trace-back { width:min(70%,900px); height:300px; transform:translate(-50%,-50%) rotateX(57deg) rotateZ(-17deg); }
.orbit-showcase[data-orbit-variant="2"] .orbit-trace-front { width:min(76%,980px); height:230px; transform:translate(-50%,-50%) rotateX(60deg) rotateZ(-17deg); }
/* Variation 03: both visible orbital paths share one center and one plane. */
.orbit-showcase[data-orbit-variant="3"] { --planet-size: 350px; --orbit-card-width: 218px; background:#edf8fc; }
.orbit-showcase[data-orbit-variant="3"] .orbit-stage { height:522px; }
.orbit-showcase[data-orbit-variant="3"] .orbit-stage::before { z-index:0; background:url("assets/hero-scenes/orbite-mer-stylisee.svg?v=2") center / cover no-repeat; }
.orbit-showcase[data-orbit-variant="3"] .orbit-track { top:-19px; bottom:19px; }
.orbit-showcase[data-orbit-variant="3"] .orbit-trace { top:calc(50% - 19px); }
.orbit-showcase[data-orbit-variant="3"] .orbit-card img { height:108px; }
.orbit-showcase[data-orbit-variant="3"] .orbit-planet { overflow:visible; border-color:rgba(255,255,255,.85); background:radial-gradient(circle at 36% 28%,#fff 0 10%,#e5f6fb 32%,#c5e7f3 67%,#9dccdf 100%); box-shadow:inset -14px -16px 34px rgba(36,99,160,.1),0 18px 55px rgba(58,135,178,.13); }
.orbit-showcase[data-orbit-variant="3"] .planet-coast,.orbit-showcase[data-orbit-variant="3"] .planet-copy { display:none; }
.orbit-showcase[data-orbit-variant="3"] .planet-filiere-art { position:absolute; z-index:2; left:50%; top:50%; display:block; width:119%; height:119%; object-fit:contain; opacity:.72; transform:translate(-50%,-50%) translateY(-14px); filter:saturate(.78) contrast(.9) brightness(1.07) drop-shadow(0 13px 16px rgba(33,85,135,.08)); }
.orbit-showcase[data-orbit-variant="3"] .orbit-trace-back { width:min(72%,920px); height:260px; border-color:rgba(40,104,169,.29); transform:translate(-50%,-50%); }
.orbit-showcase[data-orbit-variant="3"] .orbit-trace-front { width:min(61%,740px); height:195px; border-color:rgba(0,166,223,.33); transform:translate(-50%,-50%); }
.orbit-showcase[data-orbit-variant="3"] .orbit-arrow { z-index:100; }
/* Variation 04: a quieter, deeper orbit with farther receding cards. */
.orbit-showcase[data-orbit-variant="4"] { --orbit-rx: 455px; --orbit-rz: 230px; --orbit-tilt: 5px; --planet-size: 290px; }
.orbit-showcase[data-orbit-variant="4"] .orbit-trace-back { width:min(90%,1160px); height:235px; transform:translate(-50%,-50%) rotateX(73deg) rotateZ(0deg); }
.orbit-showcase[data-orbit-variant="4"] .orbit-trace-front { width:min(78%,1000px); height:160px; transform:translate(-50%,-50%) rotateX(75deg) rotateZ(0deg); }

@media (min-width:851px) and (max-width:1120px) {
  .orbit-review .intro-art .intro-panorama { opacity:.75; }
}
@media (max-width:1050px) {
  .orbit-selection { width:100%; }
  .orbit-showcase { --orbit-rx: 34vw; --orbit-rz: 120px; --orbit-card-width:205px; }
  .orbit-showcase[data-orbit-variant="3"] { --planet-size:300px; --orbit-card-width:198px; }
  .orbit-showcase[data-orbit-variant="3"] .orbit-trace-back { height:210px; }
  .orbit-showcase[data-orbit-variant="3"] .orbit-trace-front { height:154px; }
  .orbit-showcase[data-orbit-variant="4"] { --orbit-rx:36vw; --orbit-rz:185px; }
  .orbit-review .site-header,.orbit-review .how-to { width:calc(100% - 42px); }
}
@media (max-width:650px) {
  .orbit-review .orbit-selection { display:none; }
  .orbit-review .film-grid-heading { display:block; }
  .orbit-review .film-grid { display:grid; grid-template-columns:1fr; }
  .orbit-selection { width:100%; padding:30px 0 18px; }
  .orbit-selection-heading { align-items:flex-start; flex-direction:column; gap:8px; margin-bottom:5px; }
  .orbit-selection-heading h2 { font-size:2rem; }
  .orbit-hint { max-width:100%; font-size:.77rem; }
  .orbit-showcase { --orbit-rx: 36vw; --orbit-rz: 88px; --orbit-tilt: 8px; --planet-size: 185px; --orbit-card-width: 160px; border-radius:22px; }
  .orbit-stage { height:300px; perspective:800px; }
  .orbit-card { padding-bottom:8px; border-radius:13px; }
  .orbit-card img { height:70px; }
  .orbit-card span,.orbit-card b { margin:6px 8px 0; }
  .orbit-card span { font-size:.47rem; }
  .orbit-card b { font-size:.68rem; }
  .orbit-planet { transform:translate(-50%,-50%) translateZ(-74px); }
  .planet-copy b { font-size:.58rem; }
  .planet-copy small { font-size:.5rem; }
  .orbit-trace { height:150px; }
  .orbit-arrow { width:36px; height:36px; font-size:1.1rem; }
  .orbit-arrow-previous { left:8px; }
  .orbit-arrow-next { right:8px; }
  .orbit-current { bottom:10px; font-size:.69rem; }
  .orbit-showcase[data-orbit-variant="2"] { --orbit-rx:34vw; --orbit-rz:100px; --orbit-tilt:24px; }
  .orbit-showcase[data-orbit-variant="3"] { --planet-size:215px; --orbit-card-width:116px; }
  .orbit-showcase[data-orbit-variant="3"] .orbit-stage { height:430px; }
  .orbit-showcase[data-orbit-variant="3"] .orbit-trace-back { width:72%; height:170px; }
  .orbit-showcase[data-orbit-variant="3"] .orbit-trace-front { width:61%; height:122px; }
  .orbit-showcase[data-orbit-variant="4"] { --orbit-rx:38vw; --orbit-rz:132px; --orbit-tilt:0px; }
  .orbit-review .site-header,.orbit-review .how-to { width:calc(100% - 28px); }
  .orbit-review .site-header { min-height:72px; }
}
@media (max-height:500px) and (pointer:coarse) {
  .orbit-review .orbit-selection { display:none; }
  .orbit-review .film-grid-heading { display:block; }
  .orbit-review .film-grid { display:grid; grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .orbit-card,.orbit-arrow { transition:none; }
}
