/* Présentation du carrousel existant ; comportement partagé via assets/platforms.js. */
.platform-carousel{min-width:0;overflow-x:clip;padding:4px 0 0}
.examples-heading{display:flex;align-items:baseline;justify-content:space-between;gap:32px;max-width:1040px;margin:0 auto 29px}
.examples-heading h3{font-size:22px;line-height:1.3;letter-spacing:-.025em;flex-shrink:0}
.examples-heading p{max-width:550px;color:var(--muted);font-size:14px;line-height:1.7}
.platform-stage{position:relative;touch-action:pan-y pinch-zoom;max-width:1040px;margin:0 auto}
.platform-shot{display:block;width:100%;margin:0 0 24px;padding:0;border:0;background:transparent;border-radius:0;box-shadow:none}
.platform-shot img{width:100%;height:auto;user-select:none}
.is-ready .platform-stage{height:var(--stage-height,356px);perspective:1200px;perspective-origin:50% 43%;cursor:grab}
.platform-ring{position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(calc(-1 * var(--radius))) rotateY(var(--rotation,0deg))}
.is-ready .platform-shot{position:absolute;left:50%;top:43%;width:var(--card-width);height:calc(var(--card-width) * .53375);margin:calc(var(--card-width) * -.266875) 0 0 calc(var(--card-width) * -.5);transform:rotateY(var(--face-angle)) translateZ(var(--radius));backface-visibility:hidden;cursor:pointer;transition:none;filter:brightness(var(--face-light,1))}
.is-ready .platform-shot>img:not(.platform-reflection){height:100%;object-fit:contain;pointer-events:none}
.is-ready .platform-shot.is-current{cursor:zoom-in}
.is-ready .platform-reflection{position:absolute;top:calc(100% + 10px);left:0;width:100%;height:100%;object-fit:contain;transform:scaleY(-1);mask-image:linear-gradient(to top,#00000026,transparent 30%);pointer-events:none}
.is-rotating .platform-ring,.is-dragging .platform-ring{will-change:transform}
.is-dragging .platform-stage,.is-dragging .platform-shot{cursor:grabbing}
.platform-controls{display:flex;align-items:center;justify-content:center;gap:26px;margin:14px 0 0;position:relative}
.platform-arrow{flex-shrink:0;width:44px;height:44px;background:transparent;border:1px solid #675372;border-radius:50%;color:var(--text);font-size:22px;line-height:1;transition:background .2s,border-color .2s}
.platform-arrow:hover{border-color:var(--violet);color:var(--violet);background:#c19cde12}
.platform-choices{display:flex;min-width:0;gap:27px;align-items:stretch;flex-wrap:wrap;justify-content:center}
.platform-choices button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:12px 0;font-size:13px;line-height:1.5;min-height:44px}
.platform-choices button[aria-pressed="true"]{color:var(--text);border-bottom-color:var(--violet)}
.platform-choices button:hover{color:var(--violet)}
.platform-hint{display:none;text-align:center;font-size:11px;line-height:1.7;color:var(--muted);margin:15px 0 30px}
.is-ready .platform-hint{display:block}
.platform-panel{display:grid;grid-template-columns:1.08fr 1fr;gap:60px;align-items:center;margin-bottom:30px;min-width:0;padding-top:23px;border-top:1px solid var(--line)}
.platform-panel .project-meta{margin-top:0;justify-content:flex-start;gap:4px 14px;flex-wrap:wrap}
.platform-panel h3{font-size:25px;margin-top:11px;line-height:1.25}
.platform-panel>p{margin:0;font-size:14px;line-height:1.8}
.is-ready .platform-panels{display:grid;max-width:1040px;margin:0 auto}
.is-ready .platform-panel{grid-area:1/1;visibility:hidden;opacity:0;margin:0;transform:translateY(8px);transition:opacity .3s,transform .4s}
.is-ready .platform-panel.is-current{visibility:visible;opacity:1;transform:translateY(0)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
html.platform-zoom-open{overflow:hidden}
.platform-zoom{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:56px 24px 30px;border:0;background:rgba(10,9,14,.96);color:var(--text);cursor:zoom-out;overflow:hidden}
.platform-zoom[open]{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:16px}
.platform-zoom::backdrop{background:rgba(10,9,14,.6)}
.platform-zoom-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain;user-select:none}
.platform-zoom-close{position:absolute;top:10px;right:16px;width:40px;height:40px;padding:0;border:1px solid #ffffff50;border-radius:50%;background:#211b2b;color:var(--text);font-size:28px;line-height:1;cursor:pointer}
.platform-zoom-hint{margin:0;text-align:center;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:960px){.platform-panel{gap:32px}.platform-panel h3{font-size:23px}}
@media(max-width:700px){
  .examples-heading{display:block;margin-bottom:25px}
  .examples-heading h3{font-size:21px;margin-bottom:10px}
  .examples-heading p{font-size:13px}
  .is-ready .platform-stage{perspective:750px}
  .platform-controls{gap:12px;margin-top:8px}
  .platform-choices{gap:0 17px}
  .platform-choices button{font-size:12px;padding:10px 0}
  .platform-hint{font-size:11px;margin:13px auto 24px;max-width:320px}
  .platform-panel{grid-template-columns:1fr;gap:13px;padding-top:20px}
  .platform-panel h3{font-size:24px}
  .platform-panel>p{font-size:13px}
  .platform-zoom{padding:56px 8px 24px}
  .platform-zoom-hint{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.platform-reflection{display:none}}
