
.coach-gallery{margin:8vh 0;border:1px solid #ddd;border-radius:24px;background:linear-gradient(180deg,#efefef 0%,#e2e2e2 76%,#cecece 76.3%,#e4e4e4 100%);padding:65px 5% 105px;display:flex;gap:4%;align-items:flex-start;isolation:isolate}
.coach-item{flex:1;min-width:0;margin:0;text-align:center;position:relative}
.coach-device{display:block;position:relative;width:100%;padding:6px;border:2px solid #888d8f;border-radius:30px;background:#111617;box-shadow:0 15px 20px #0002,inset 0 0 0 1px #ffffff30;cursor:zoom-in;transition:transform .3s ease,box-shadow .3s ease;transform-origin:center 70%;-webkit-box-reflect:below 8px linear-gradient(transparent 74%,rgba(255,255,255,.17));}
.coach-device img{display:block;width:100%;height:auto;border-radius:22px}
.coach-item figcaption{position:relative;margin-top:38px;font-size:13px;letter-spacing:.03em;color:#52525b}
.coach-item:focus-within{z-index:5}.coach-device:focus-visible{outline:3px solid #666;outline-offset:6px}
@media(hover:hover){.coach-item:hover{z-index:5}.coach-device:hover,.coach-device:focus-visible{transform:translateY(-15px) scale(1.4);box-shadow:0 25px 35px #0003}}
.coach-demo{margin:0;border:1px solid #ddd;border-radius:24px;background:#e6e6e6;overflow:hidden;padding:30px;text-align:center}
.coach-demo h3{font-size:23px;letter-spacing:-.03em;margin:0 0 8px}.coach-demo p{font-size:14px;color:#666;max-width:35ch;margin:0 auto 24px}
.coach-demo video{display:block;height:500px;max-width:100%;width:auto;margin:auto;border-radius:20px;background:#101010;box-shadow:0 12px 25px #0002}
.coach-photo{margin:8vh 0;border-radius:24px;overflow:hidden}.coach-photo img{display:block;width:100%;height:auto}
.coach-zoom{padding:0;border:0;border-radius:28px;max-width:min(94vw,480px);max-height:94svh;background:#111;overflow:auto}.coach-zoom::backdrop{background:#000b;backdrop-filter:blur(5px)}.coach-zoom img{display:block;height:88svh;width:auto;max-width:100%;object-fit:contain}.coach-close{position:fixed;top:20px;right:20px;width:44px;height:44px;border:1px solid #ddd;border-radius:50%;background:white;color:#111;font-size:28px;cursor:pointer}
@media(max-width:760px){.coach-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:35px 7% 50px;gap:55px 12%;background:#e6e6e6}.coach-item:last-child{grid-column:1/-1;width:44%;justify-self:center}.coach-device{border-radius:26px}.coach-device img{border-radius:18px}.coach-item figcaption{margin-top:24px}.coach-demo{padding:25px 16px}.coach-demo video{height:auto;max-height:560px;width:100%;object-fit:contain}.coach-photo{border-radius:16px}}
@media(prefers-reduced-motion:reduce){.coach-device{transition:none}}
/* Light controls live outside the screen and never cover app content. */
.coach-demo video{background:#f4f4f4}
.coach-player-controls{display:flex;align-items:center;gap:12px;max-width:360px;margin:20px auto 0;padding:10px 14px;background:#f5f5f3;border:1px solid #d2d2ce;border-radius:999px;color:#353535}
.coach-player-controls button{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#e0e1dd;color:#333;cursor:pointer}
.coach-player-controls button:focus-visible,.coach-player-controls input:focus-visible{outline:2px solid #555;outline-offset:3px}
.coach-player-controls input{width:100%;min-width:0;accent-color:#777b72;cursor:pointer}
.coach-player-controls time{font:12px Arial,sans-serif;white-space:nowrap}

.coach-photo-top{margin:110px 0 0}body:has(.coach-photo-top) .case-hero{padding-top:clamp(40px,6vw,80px)}
@media(max-width:760px){.coach-photo-top{margin-top:100px}}
