/* The reference showreel: 40% to full size, a 70px glass cursor, and a centered player. */
html{scrollbar-gutter:stable}
.tommy-site .intro{--intro-inset:var(--gutter);padding-bottom:0}
.film-reel-stage{position:relative;left:50%;transform:translateX(-50%);width:calc(100% + 2 * var(--intro-inset));max-width:1770px;height:125svh;margin-top:80px}
.film-reel{position:sticky;top:0;display:block;width:100%;height:100svh;border:0;border-radius:50px;padding:0;background:#101419;overflow:hidden;isolation:isolate;will-change:transform}
.film-reel-media{position:relative;width:100%;height:100%;will-change:transform}
.film-preview{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.film-play-static,.film-cursor{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;color:#f2f4f8;background:#0004;backdrop-filter:blur(10px);font:18px/1 Arial,sans-serif;letter-spacing:.05em;padding-left:3px;pointer-events:none}
.film-play-static{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transition:opacity .18s}
.film-cursor{position:fixed;left:0;top:0;z-index:50;opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s;will-change:transform}
.film-cursor.is-visible{opacity:1;visibility:visible}
@media(min-width:810px) and (hover:hover) and (pointer:fine){.film-play-static{opacity:0}.film-reel:focus-visible .film-play-static{opacity:1}}
.film-reel:focus-visible{outline:3px solid #357a60;outline-offset:-6px}
.film-reel-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 0 55px;font-size:12px;line-height:1.6}
.film-reel-caption p{margin:0}.film-reel-caption p:first-child{font-size:9px;letter-spacing:.12em}.film-reel-caption a{text-decoration:underline;text-underline-offset:4px}
.film-nojs{padding-bottom:35px;text-align:center;text-decoration:underline}
.film-is-open{overflow:hidden}
.film-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:transparent;color:#fff;overflow:auto}
.film-dialog[open]{display:grid;place-items:center}
.film-dialog::backdrop{background:#000b;backdrop-filter:blur(20px)}
.film-player-wrap{position:relative;width:min(1000px,var(--film-player-width,80vw),calc((100dvh - 120px) * 16 / 9));aspect-ratio:16/9;isolation:isolate}
.film-player{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;border-radius:20px;background:#000;box-shadow:0 16px 48px #0003}
.film-ambient{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;filter:blur(48px) saturate(1) brightness(.95);opacity:1;pointer-events:none}
.film-close{position:absolute;top:50px;right:50px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:#ffffff1a;display:grid;place-items:center;font:800 18px/1 Arial,sans-serif;transition:background .2s}
.film-close:hover{background:#ffffff30}.film-close:focus-visible{outline-offset:5px}
.film-error{position:absolute;top:calc(50% + 32vh);left:10%;right:10%;text-align:center;font-size:14px}.film-error a{text-decoration:underline}
.film-return{display:flex;align-items:center;gap:18px;margin-top:35px}.film-return>span{font-size:11px;color:var(--muted)}
.film-return .post-button{border:0;background:#244c3f;color:#fff}.film-return .post-button:hover{background:#376b58;color:#fff}
.swim-athletics{padding-top:0}.swim-athletics .event-gallery{margin-top:35px}.swim-athletics .swim-award{font-size:12px;margin-top:28px;color:#bfd4df}
.cycling-record{padding-top:0}.cycling-record h3{font:400 clamp(38px,4vw,62px)/1.12 Bodoni,Georgia,serif;letter-spacing:-.04em}.cycling-intro{max-width:700px;margin-top:25px;color:#bbc3cb}.cycling-record .photo-pair h4{font-size:24px}.cycling-record .photo-pair p{color:#bbc3cb}.cycling-record .photo-pair .small-label{color:#aeb9c3}.cycling-record .photo-pair .post-button{background:#e7eff4;color:#112a3a}
@media(min-width:1900px){.tommy-site .intro{--intro-inset:max(var(--gutter),calc((100vw - 1600px)/2))}}
@media(max-width:1199px){.film-reel-stage{position:relative;left:auto;transform:none;width:100%;height:auto;margin-top:65px}.film-reel{position:relative;top:auto;height:auto;aspect-ratio:16/9;border-radius:20px}.film-reel-media{position:absolute;inset:0}.film-reel-caption{flex-wrap:wrap;gap:10px 24px;padding-bottom:50px}}
@media(max-width:809px){.film-reel{border-radius:10px}.film-reel-stage{margin-top:45px}.film-reel-caption{display:block;padding-top:22px;font-size:11px}.film-reel-caption p+p{margin-top:10px}.film-reel-caption a{display:inline-block;margin-top:12px}.film-play-static{width:58px;height:58px}.film-return{flex-wrap:wrap}.film-error{font-size:12px}.cycling-record .photo-pair h4{font-size:24px}}
@media(max-width:760px){.film-reel-stage{left:50%;transform:translateX(-50%);width:calc(100% + 12px)}}
@media(prefers-reduced-motion:reduce){.film-reel-stage{height:auto}.film-reel{position:relative;height:auto;aspect-ratio:16/9}.film-reel-media{position:absolute;inset:0}.film-cursor{display:none}}
body.motion-paused .film-reel-stage{height:auto}body.motion-paused .film-reel{position:relative;height:auto;aspect-ratio:16/9}body.motion-paused .film-reel-media{position:absolute;inset:0}body.motion-paused .film-cursor{display:none}
