/* Source section geometry with original TennisScore content and assets. */
body:has(.reference-home){--ink:#000;--paper:#fff;--yellow:#f8df4b;--gutter:5.555556vw;background:#fff}
.reference-home{color:#000;background:#fff;font:13px/1.4 Arial,Helvetica,sans-serif;overflow:clip}
.reference-home h1,.reference-home h2,.reference-home h3,.reference-home blockquote{font-family:Anton,Impact,sans-serif;font-weight:400;letter-spacing:-.025em}
.reference-home h2{font-size:44px;line-height:1.15}
.reference-home em{color:var(--yellow)}
.reference-home button,.reference-home a{touch-action:manipulation}
.reference-home button:focus-visible,.reference-home a:focus-visible,.reference-home canvas:focus-visible{outline:2px solid var(--yellow);outline-offset:5px}
.reference-grid{background-image:linear-gradient(to right,transparent calc(100% - 1px),rgba(0,0,0,.035) calc(100% - 1px));background-size:calc(100% / 7) 100%}
.reference-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:3px;padding:10px 15px;background:var(--yellow);color:#000;font:13px/1.2 Anton,Impact,sans-serif;text-transform:uppercase;min-height:36px;transition:background .2s}
.reference-button:hover{background:#f3d22d}

/* The photograph has rigid pointer parallax; score and grid stay still. */
.reference-home .hero{height:100svh;min-height:600px;background:#000;color:#fff}
.reference-home .hero-image-layer{inset:0;transform:none;transition:none;will-change:auto}
.reference-home .hero-photo{animation:none;filter:grayscale(1);transform:scale(1.065);object-position:50% 50%}
.reference-home .hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.52),transparent 50%),rgba(0,0,0,.08)}
.reference-home .hero-grid{background-size:calc(100% / 7) 100%;opacity:.7}
.reference-home .hero-sequence{left:var(--gutter);top:29.5%;gap:22px}
.reference-home .hero-sequence span{font-size:12px;line-height:1.45}
.reference-home .hero-sequence b{font-size:30px;line-height:1.1}
.reference-home .hero-center{left:50%;top:50%;transform:translate(-50%,-50%);transition:none}
.reference-home .hero-point{display:block;font-size:180px;line-height:1;letter-spacing:-.055em;padding:0;color:#fff;transform:none;transition:none}
.reference-home .hero-note{right:var(--gutter);top:29.5%;width:185px;gap:25px;font-size:12px;line-height:1.45;text-align:right}
.reference-home .hero-note p,.reference-home .hero-note span{font-size:12px}
.reference-home .hero-note b{font-weight:400}
.reference-home .hero-identity{left:var(--gutter);bottom:7%;max-width:300px}
.reference-home .hero-identity h1{font-size:44px;line-height:1.1;letter-spacing:-.035em}
.reference-home .hero-identity p{font-size:13px;line-height:1.4;margin-top:11px}
.reference-home .hero-match{right:var(--gutter);bottom:7%;text-align:right}
.reference-home .hero-match>span{font-size:12px;line-height:1.4;letter-spacing:0}
.reference-home .hero-match>b{display:block;font:28px/1.1 Anton,Impact,sans-serif;letter-spacing:-.025em}

.reference-quote{position:relative;height:100svh;min-height:600px;display:flex;align-items:center;justify-content:center;background-color:#fff}
.reference-quote blockquote{width:45%;max-width:580px;margin:0;text-align:center;font-size:44px;line-height:1.16}
.quote-line{display:block;overflow:hidden}
.quote-line>span{display:block;transform:translateY(var(--quote-line-y,0px));transition:transform .65s cubic-bezier(.16,1,.3,1)}
.quote-photo{position:absolute;width:16.66667vw;height:11.11111vw;transform:translateY(var(--quote-y,0px));overflow:hidden;border-radius:3px}
.quote-photo img{height:100%;object-fit:cover}
.quote-photo.is-active img,.quote-photo:hover img{filter:grayscale(0)}
.quote-photo-left{left:var(--gutter);top:33.5%}.quote-photo-right{right:var(--gutter);top:29.5%}

.reference-home .reference-object{position:relative;height:172.7778svh;min-height:1100px;padding:0;background-color:#fff;color:#000;overflow:clip}
.tennis-wordmark{position:absolute;inset:0;pointer-events:none}
.wordmark-column{position:absolute;top:30px;bottom:30px;width:14.28571%;display:flex;flex-direction:column;align-items:center;justify-content:space-around;transform:translateY(var(--column-y,0px));gap:65px}
.wordmark-column-one{left:0}.wordmark-column-two{left:14.28571%;padding-top:110px}.wordmark-column-three{right:14.28571%;padding-top:30px}.wordmark-column-four{right:0;padding-top:130px}
.wordmark-column>span{display:block;text-align:center;font:25px/1.05 Anton,Impact,sans-serif;letter-spacing:-.02em;max-width:90%}
.wordmark-column .wordmark-small{font:700 15px/1.15 Arial,Helvetica,sans-serif;letter-spacing:0}
.wordmark-column .wordmark-wide{font-size:19px;letter-spacing:.03em}
.wordmark-column .wordmark-serif{font:25px/1.05 Georgia,serif;letter-spacing:-.035em}
.object-sticky{height:100svh;position:sticky;top:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.reference-home .object-display{position:relative;width:380px;height:480px;min-height:0;transform:none;transition:none;pointer-events:auto}
.reference-home #tennis-object{position:absolute;inset:0 0 auto;width:380px;height:400px;touch-action:pan-y;cursor:grab;transform:none}
.reference-home .object-fallback{position:absolute;width:350px;height:380px;left:15px;top:10px;object-fit:contain;filter:none;transform:none}
.reference-home .object-controls{position:absolute;left:0;right:0;bottom:38px;display:flex;justify-content:center;gap:12px}
.reference-home .object-controls button{border:0;border-bottom:1px solid #ddd;background:none;color:#777;padding:6px;font:10px Arial,Helvetica,sans-serif;min-height:27px}
.reference-home #object-instructions{position:absolute;left:0;right:0;bottom:8px;text-align:center;color:#888;font-size:10px;letter-spacing:0;margin:0}
.object-cta{position:absolute;bottom:8.5%;left:50%;transform:translateX(-50%)}

.reference-history{position:relative;height:299.4444svh;min-height:2000px;background:#000;color:#fff}
.history-stage{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden}
#history-title{position:absolute;left:var(--gutter);top:50%;transform:translateY(-50%);width:26%;font-size:44px;line-height:1.15}
.history-images{position:absolute;left:35.714286%;top:calc(40% - 135px);width:21.03125%;display:flex;flex-direction:column;gap:90px;transform:translateY(var(--history-y,0px));will-change:transform}
.history-entry{flex:none;width:100%}
.history-entry img{height:21.03125vw;width:100%;object-fit:cover;filter:grayscale(1) brightness(.5);transition:filter .7s}
.history-entry.is-active img{filter:none}
.history-entry:nth-child(2) img{object-position:50% 28%}.history-entry:nth-child(4) img{object-position:50% 65%}.history-entry:nth-child(5) img{object-position:55% 50%}
.history-mobile-caption{display:none}
#history-copy{position:absolute;left:65.833333%;right:var(--gutter);top:43.5%;transform:translateY(-50%);font-size:14px;line-height:1.7;color:#bbb;max-width:370px}
.history-skip{position:absolute;left:50%;bottom:10%;transform:translateX(-50%);min-width:72px}
.history-progress{position:absolute;right:var(--gutter);bottom:10%;font:24px/1.2 Anton,Impact,sans-serif}

.reference-media{height:100svh;min-height:600px;position:relative;padding:160px 0 70px;background-color:#fff;overflow:hidden}
.section-ghost{position:absolute;pointer-events:none;white-space:nowrap;font-family:Anton,Impact,sans-serif;font-weight:400;line-height:1;letter-spacing:-.03em;color:#f2f2f2}
.media-ghost{left:8px;top:5px;font-size:27vw;transform:scaleY(1.7);transform-origin:top left}
.reference-section-heading{position:relative;margin:0 var(--gutter) 20px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.reference-arrows{display:flex;gap:8px;align-items:center}
.reference-arrows button{width:68px;height:41px;border:1px solid #e4e4e4;border-radius:3px;background:#f3f3f3;color:#888;font:11px Arial,Helvetica,sans-serif;padding:0;transition:background .2s}
.reference-arrows button:hover{background:var(--yellow);color:#000}.reference-arrows button:disabled{opacity:.4}
.media-track{position:relative;display:flex;gap:16px;padding:0 var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-y;cursor:grab}
.media-track::-webkit-scrollbar{display:none}
.media-track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing}
.media-item{display:block;flex:0 0 calc((100vw - var(--gutter)*2 - 32px)/3);scroll-snap-align:start;min-width:0;user-select:none}
.media-item img{height:21.666667vw;object-fit:cover;border-radius:3px;filter:grayscale(1);transition:filter .5s;pointer-events:none}
.media-item:first-child img{object-position:55% 50%}.media-item:hover img,.media-item:focus-visible img{filter:none}
.media-item p{margin-top:11px;font-size:13px;line-height:1.4;color:#999}

.reference-calendar{position:relative;min-height:151.52778svh;padding:114px var(--gutter) 125px;background:#000;color:#fff;overflow:visible;z-index:2}
.reference-calendar h2{text-align:center;margin-bottom:100px}
.calendar-list{position:relative;z-index:1}
.tournament-row,.calendar-row{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 25px;min-height:78px;border-bottom:1px solid #464646;padding:12px 0;color:#fff}
.calendar-row-name{font:24px/1.15 Anton,Impact,sans-serif!important;color:#fff;letter-spacing:-.02em}
.calendar-row-meta{display:block;font:12px/1.4 Arial,Helvetica,sans-serif;color:#ddd}
.calendar-row-date{font:12px/1.4 Arial,Helvetica,sans-serif;text-align:right}
.calendar-row-name{grid-column:1;grid-row:1}.calendar-row-meta{grid-column:1;grid-row:2}.calendar-row-date{grid-column:2;grid-row:1}.tournament-row [data-tournament-status]{grid-column:2;grid-row:2}
.tournament-row[data-tournament-state="current"] .calendar-row-name,.tournament-row[data-tournament-state="upcoming"] .calendar-row-name{color:var(--yellow)}
.tournament-row [data-tournament-status]{font-size:10px;color:var(--yellow);text-align:right}
.tournament-row:hover .calendar-row-name{color:var(--yellow)}
.floating-racket{position:absolute;left:50%;top:5%;width:313px;height:470px;margin-left:-156.5px;pointer-events:none;z-index:5;transform:translate3d(var(--racket-x,0px),var(--racket-y,0px),0) rotate(var(--racket-rotation,0deg)) scale(var(--racket-scale,1));transform-origin:50% 50%;will-change:transform}
.floating-racket img{height:100%;width:100%;object-fit:contain}
.calendar-more{display:block;margin-top:30px;padding:0;border:0;border-bottom:1px solid #555;background:none;color:#999;font:11px/1.5 Arial,Helvetica,sans-serif;position:relative;z-index:6}
.calendar-details{position:relative;z-index:6;max-width:460px;margin-top:15px;font-size:12px;color:#999}

.reference-install{height:100svh;min-height:600px;background-color:#fff;position:relative;z-index:3;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.install-checker{position:absolute;inset:0 0 auto;height:210px;background:conic-gradient(#f4f4f4 25%,#fff 0 50%,#f4f4f4 0 75%,#fff 0);background-size:100px 100px;mask-image:linear-gradient(#000,transparent)}
.install-cta{position:relative;z-index:1;max-width:650px;margin-top:-90px}
.install-cta h2{font-size:44px;line-height:1.15}.install-cta>p{font-size:13px;line-height:1.45;margin:20px 0 24px}
.install-cta .store-install,.install-cta .store-pending{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:0;border-radius:3px;background:var(--yellow);color:#000;padding:11px 17px;font:14px/1.2 Anton,Impact,sans-serif;min-height:36px;width:auto;max-width:none}
.install-cta .store-pending>span{font:10px/1.2 Arial,Helvetica,sans-serif}.install-cta .store-pending-note{font:11px/1.4 Arial,Helvetica,sans-serif!important;color:#777;max-width:330px;margin:12px auto 0!important}.install-android{display:block;font-size:11px;margin-top:17px;color:#777}
.reference-film{position:relative;height:100svh;min-height:600px;background:#fff;padding:0 16px;z-index:3}
.film-frame{position:relative;height:calc(100% + 158px);top:-158px;margin-bottom:-158px;overflow:hidden;border-radius:4px;background:#111}
.film-frame video{display:block;width:100%;height:100%;object-fit:cover}.film-toggle{position:absolute;right:26px;bottom:30px;min-width:80px}
.film-wordmark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font:clamp(180px,28vw,420px)/1 Anton,Impact,sans-serif;letter-spacing:-.055em;pointer-events:none}

.reference-gallery{height:117.22222svh;min-height:750px;position:relative;background-color:#fff;overflow:hidden}
.gallery-ghost{left:8px;top:0;font-size:35.5vw!important;line-height:1;letter-spacing:-.035em;transform:scaleY(1.25);transform-origin:top left}
.reference-home .reference-radial{position:absolute;left:0;right:0;top:100px;height:500px;display:block;padding:0;margin:0;overflow:visible;scroll-snap-type:none;touch-action:pan-y;cursor:grab}
.reference-home .reference-radial .gallery-card{position:absolute;left:50%;top:65px;width:230px;min-width:0;height:255px;opacity:var(--card-opacity,1);transform:translateX(calc(-50% + var(--card-offset,0)*370px + var(--gallery-drag,0px))) translateY(calc(var(--card-distance,0)*145px)) rotate(calc(12deg + var(--card-offset,0)*24deg)) scale(var(--card-scale,1));transform-origin:center;transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .5s;user-select:none}
.reference-home .reference-radial .gallery-photo{width:100%;height:100%;overflow:hidden;border-radius:2px}
.reference-home .reference-radial img{height:100%;width:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s;pointer-events:none}
.reference-home .reference-radial .is-active img,.reference-home .reference-radial .gallery-card:hover img{filter:none}
.reference-home .reference-radial .is-active{z-index:2}.reference-home .reference-radial.is-dragging{cursor:grabbing}.reference-home .reference-radial.is-dragging .gallery-card{transition:none}.reference-home .reference-radial::after{content:none}
.gallery-dial{position:absolute;left:50%;top:505px;width:120px;height:76px;transform:translateX(-50%);z-index:4}
.gallery-dial button{position:absolute;left:50%;bottom:0;width:18px;height:76px;padding:0;border:0;background:none;transform:translateX(-50%) rotate(var(--tick-angle));transform-origin:50% 76px;cursor:pointer}
.gallery-dial button::after{content:"";position:absolute;top:6px;left:8px;width:1px;height:13px;background:#222}
.gallery-dial button[aria-pressed="true"]::after{height:22px;width:3px;background:var(--yellow)}
.gallery-arrows{position:absolute;left:50%;top:615px;transform:translateX(-50%);z-index:4}
.gallery-drag-label{position:absolute;right:0;bottom:85px;padding:10px 14px;background:var(--yellow);font:12px/1.2 Anton,Impact,sans-serif}

.reference-contact{height:90.27778svh;min-height:600px;position:relative;display:flex;align-items:center;justify-content:center;background:#000;color:#000;overflow:hidden}
.contact-ghost{inset:12px auto auto 10px;color:#252525;font-size:32vw;transform:scaleY(1.5);transform-origin:top left}
.contact-panel{position:relative;z-index:1;display:grid;grid-template-columns:28% 1fr;gap:50px;width:73.75%;min-height:422px;padding:53px 4.44444vw;background:#fff;border-radius:7px}
.contact-intro h2{font-size:44px}.contact-intro p{font-size:13px;margin-top:8px;line-height:1.5}
.contact-policies{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;align-content:start;position:relative;min-width:0;padding-bottom:75px}
.contact-policies>a:not(.reference-button){padding:5px 0 15px;border-bottom:1px solid #eee}.contact-policies>a>span{font-size:11px;color:#888}
.contact-policies h3{font-size:24px;line-height:1.2;margin-top:12px}.contact-policies a>p{font-size:12px;color:#888;margin-top:8px}
.contact-draft{grid-column:1/-1;font-size:10px;color:#888;margin-top:28px}.contact-policies .reference-button{position:absolute;left:0;bottom:0}

@media(min-width:701px) and (max-width:1000px){
 body:has(.reference-home){--gutter:3.5vw}
 .reference-grid,.reference-home .hero-grid{background-size:calc(100% / 3) 100%}
 .reference-home .hero-center{display:none}.reference-home .hero-identity{max-width:350px}.reference-home .hero-identity h1{font-size:34px}.reference-home .hero-sequence b{font-size:32px}
 .reference-home .hero-photo{object-position:20% 50%}
 .reference-quote blockquote{font-size:34px;width:46%}.wordmark-column>span,.wordmark-column .wordmark-serif{font-size:21px}
 .reference-home .object-display{width:320px;height:440px}.reference-home #tennis-object{width:320px;height:360px}.reference-home .object-fallback{width:300px;height:340px;left:10px;top:10px}
 .reference-history{height:315svh;min-height:2400px}#history-title{font-size:32px;top:38%;width:46.5%;transform:none}.history-images{left:auto;right:var(--gutter);width:38%;top:calc(50% - 19vw)}.history-entry img{height:38vw}#history-copy{left:var(--gutter);right:auto;top:calc(38% + 82px);width:46.5%;font-size:13px;transform:none}
 .reference-home .reference-radial .gallery-card{transform:translateX(calc(-50% + var(--card-offset,0)*280px + var(--gallery-drag,0px))) translateY(calc(var(--card-distance,0)*130px)) rotate(calc(12deg + var(--card-offset,0)*24deg)) scale(var(--card-scale,1))}
 .contact-panel{width:85%;gap:25px;padding:45px 35px}
}
@media(max-width:700px){
 body:has(.reference-home){--gutter:30px}
 .reference-grid{background-size:calc(100% / 3) 100%}
 .reference-home h2{font-size:44px}
 .reference-home .hero{height:100svh;min-height:740px}.reference-home .hero-photo{object-position:20% 50%;transform:scale(1.065)}
 .reference-home .hero-grid{background-size:calc(100% / 3) 100%}.reference-home .hero-sequence,.reference-home .hero-note{display:none}
 .reference-home .hero-center{display:none}
 .reference-home .hero-identity{bottom:12.4%;left:30px;right:30px;max-width:none}.reference-home .hero-identity h1{font-size:44px}.reference-home .hero-identity p{font-size:14px;line-height:1.45;margin-top:11px}.desktop-break{display:none}
 .reference-home .hero-match{left:30px;right:30px;bottom:5.3%;text-align:left}.reference-home .hero-match>span{font-size:12px;max-width:none}.reference-home .hero-match>b{font-size:30px}
 .reference-quote{height:auto;min-height:427px;padding:70px 30px}.quote-photo{display:none}.reference-quote blockquote{width:100%;max-width:340px;font-size:29px;line-height:1.17}
 .reference-home .reference-object{height:1991px;min-height:0}.tennis-wordmark{left:10px;right:10px;bottom:500px;display:grid;grid-template-columns:1fr 1fr}
 .wordmark-column{position:static;width:auto;height:auto;justify-content:space-around;padding:0;gap:36px;transform:translateY(var(--column-y,0px))}.wordmark-column-three,.wordmark-column-four{display:none}
 .wordmark-column>span{font-size:31px}.wordmark-column .wordmark-small{font-size:17px}.wordmark-column .wordmark-serif{font-size:29px}.wordmark-column .wordmark-wide{font-size:24px}
 .object-sticky{position:absolute;left:0;right:0;bottom:170px;top:auto;height:360px}.reference-home .object-display{width:260px;height:360px}.reference-home #tennis-object{width:260px;height:280px}.reference-home .object-fallback{width:240px;height:260px;left:10px;top:10px}.object-cta{bottom:115px}
 .reference-history{height:auto;min-height:0;padding:110px 30px 135px}.history-stage{position:static;height:auto;min-height:0;overflow:visible}
 #history-title,#history-copy,.history-skip,.history-progress{display:none}.history-images{position:static;width:100%;gap:130px;transform:none!important;will-change:auto}
 .history-entry img{height:auto;aspect-ratio:1;width:100%;filter:none}.history-mobile-caption{display:block;margin-top:20px}.history-mobile-caption h3{font-size:44px;line-height:1.15}.history-mobile-caption p{margin-top:10px;font-size:16px;line-height:1.4;color:#ddd}
 .reference-media{height:593px;min-height:0;padding:84px 0 65px}.reference-section-heading{margin-bottom:25px;gap:10px;align-items:end}.reference-section-heading h2{font-size:44px;line-height:1.1}
 .reference-arrows{gap:7px}.reference-arrows button{width:46px;height:40px;font-size:9px}.media-ghost{display:none}.media-track{gap:16px}.media-item{flex-basis:calc(100vw - 60px)}.media-item img{height:280px}.media-item p{font-size:13px}
 .reference-calendar{min-height:1337px;padding:90px 30px 100px}.reference-calendar h2{font-size:44px;max-width:330px;margin:0 auto 115px}
 .tournament-row,.calendar-row{min-height:110px;gap:8px 12px;padding:14px 0;grid-template-columns:1fr}.calendar-row-name{font-size:23px!important}.calendar-row-meta{font-size:12px}.calendar-row-date,.tournament-row [data-tournament-status]{text-align:left;font-size:11px}
 .calendar-row-name,.calendar-row-meta,.calendar-row-date,.tournament-row [data-tournament-status]{grid-column:1;grid-row:auto}
 .floating-racket{width:200px;height:300px;margin-left:-100px;top:10%}.calendar-more{margin-top:35px}.calendar-details{font-size:12px}
 .reference-install{height:760px;min-height:0;padding:0 30px}.install-checker{height:150px;background-size:60px 60px}.install-cta{margin-top:-70px;width:100%}.install-cta h2{font-size:44px}.install-cta>p{font-size:14px;margin:23px 0}.install-android{font-size:11px}
 .reference-film{height:auto;min-height:0;padding:0 30px 80px}.film-frame{height:auto;aspect-ratio:16/9;top:-105px;margin-bottom:-105px;border-radius:5px}.film-frame video{object-position:center;object-fit:cover}.film-wordmark{font-size:20vw}.film-toggle{right:12px;bottom:12px;min-width:56px;min-height:36px}
 .reference-gallery{height:737px;min-height:0}.gallery-ghost{font-size:40vw!important;top:50px;transform:scaleY(1.5)}
 .reference-home .reference-radial{top:160px;height:340px}.reference-home .reference-radial .gallery-card{width:170px;height:190px;top:0;transform:translateX(calc(-50% + var(--card-offset,0)*210px + var(--gallery-drag,0px))) translateY(calc(var(--card-distance,0)*100px)) rotate(calc(10deg + var(--card-offset,0)*24deg)) scale(var(--card-scale,1))}
 .gallery-dial{top:440px}.gallery-arrows{top:550px}.gallery-drag-label{bottom:75px;font-size:10px}
 .reference-contact{height:726px;min-height:0;padding:85px 30px}.contact-ghost{display:none}.contact-panel{width:100%;height:556px;min-height:0;padding:35px 28px;grid-template-columns:1fr;gap:30px;align-content:start}
 .contact-intro h2{font-size:44px}.contact-intro p{font-size:14px}.contact-policies{grid-template-columns:1fr;gap:18px;padding-bottom:65px}.contact-policies h3{font-size:24px;margin-top:5px}.contact-draft{font-size:9px;margin-top:0}
}
@media(max-width:360px){
 body:has(.reference-home){--gutter:22px}.reference-home .hero-identity,.reference-home .hero-match{left:22px;right:22px}.reference-home .hero-identity h1{font-size:40px}.reference-home .hero-identity p{font-size:12px}
 .reference-quote{padding-left:22px;padding-right:22px}.reference-quote blockquote{font-size:24px}.reference-history{padding-left:22px;padding-right:22px}.history-mobile-caption h3{font-size:40px}.history-mobile-caption p{font-size:15px}
 .reference-section-heading h2{font-size:38px}.media-item{flex-basis:calc(100vw - 44px)}.reference-calendar{padding-left:22px;padding-right:22px}.calendar-row-name{font-size:21px!important}
 .reference-install{padding-left:22px;padding-right:22px}.install-cta h2{font-size:38px}.reference-contact{padding-left:22px;padding-right:22px}.contact-panel{padding-left:22px;padding-right:22px}
}
/* A static reading flow exposes all five chapters when motion is disabled. */
.motion-paused .reference-home .reference-history{height:auto;min-height:0;padding:100px var(--gutter)}
.motion-paused .reference-home .history-stage{position:static;height:auto;min-height:0;overflow:visible}
.motion-paused .reference-home #history-title,.motion-paused .reference-home #history-copy,.motion-paused .reference-home .history-skip,.motion-paused .reference-home .history-progress{display:none}
.motion-paused .reference-home .history-images{position:static;width:min(330px,100%);margin:0 auto;gap:110px;transform:none!important;will-change:auto}
.motion-paused .reference-home .history-entry img{width:100%;height:auto;aspect-ratio:1;filter:none}
.motion-paused .reference-home .history-mobile-caption{display:block;margin-top:20px}
.motion-paused .reference-home .history-mobile-caption h3{font-size:44px;line-height:1.15}
.motion-paused .reference-home .history-mobile-caption p{font-size:16px;line-height:1.4;color:#ddd;margin-top:10px}
.motion-paused .reference-home #floating-racket{transform:none!important;will-change:auto}
.motion-paused .reference-home .quote-photo,.motion-paused .reference-home .wordmark-column{transform:none!important;transition:none}
@media(prefers-reduced-motion:reduce){
 .reference-home *{scroll-behavior:auto!important;transition:none!important}
 .reference-home .reference-history{height:auto;min-height:0;padding:100px var(--gutter)}.reference-home .history-stage{position:static;height:auto;min-height:0;overflow:visible}
 .reference-home #history-title,.reference-home #history-copy,.reference-home .history-skip,.reference-home .history-progress{display:none}
 .reference-home .history-images{position:static;width:min(330px,100%);margin:0 auto;gap:110px;transform:none!important;will-change:auto}
 .reference-home .history-entry img{width:100%;height:auto;aspect-ratio:1;filter:none}.reference-home .history-mobile-caption{display:block;margin-top:20px}
 .reference-home .history-mobile-caption h3{font-size:44px;line-height:1.15}.reference-home .history-mobile-caption p{font-size:16px;line-height:1.4;color:#ddd;margin-top:10px}
 .reference-home #floating-racket{transform:none!important;will-change:auto}.reference-home .quote-photo,.reference-home .wordmark-column{transform:none!important}
}

.reference-home .hero{user-select:none}
.reference-home .reference-radial:not(.radial-ready){display:flex;overflow-x:auto;gap:24px;padding:30px var(--gutter);scroll-snap-type:x mandatory;height:420px;touch-action:pan-x pan-y}
.reference-home .reference-radial:not(.radial-ready) .gallery-card{position:relative;flex:0 0 230px;left:auto;top:auto;transform:none;width:230px;height:300px;opacity:1;scroll-snap-align:center}
/* The film overlaps the installation scene in the document flow, like the source. */
@media(min-width:701px){.reference-film{margin-top:-158px}.film-frame{height:100%;top:0;margin-bottom:0}.reference-contact{margin-top:36px}}
@media(max-width:700px){.reference-home .hero-center{display:block;top:41%;left:50%;transform:translate(-50%,-50%)}.reference-home .hero-point{font-size:150px;line-height:1}.reference-home #hero-countdown{justify-content:flex-start}}
.media-track{scroll-padding-inline:var(--gutter)}
@media(min-width:1001px){
 .gallery-ghost{top:-65px;transform:scaleY(1.5)}
 .reference-gallery::after{content:"";position:absolute;left:0;right:0;top:490px;height:171px;background:linear-gradient(transparent,#fff);pointer-events:none;z-index:3}
 .reference-home .reference-radial{top:207px}
 .reference-home .reference-radial.radial-ready .gallery-card{top:0;width:18.878vw;height:18.878vw;--card-scale:.68;transform:translateX(calc(-50% + var(--card-offset,0)*27.78vw + var(--gallery-drag,0px))) translateY(calc(var(--card-distance,0)*12.8vw)) rotate(calc(var(--card-offset,0)*38.71deg)) scale(var(--card-scale))}
 .reference-home .reference-radial.radial-ready .gallery-card.is-active{--card-scale:1}
 .gallery-dial{top:566px}.gallery-arrows{top:689px}
}
@media(min-width:701px) and (max-width:1000px){#history-copy{top:calc(38% + 50px);line-height:1.4}.history-skip,.history-progress{bottom:3%}}
@media(max-width:360px){.reference-home .hero-identity{bottom:15%}}

/* Product copy follows the existing editorial scenes and their motion. */
.hero-category{display:block;margin-bottom:9px;font:10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.1em}
.reference-home .hero-identity{max-width:330px}
.reference-home .hero-identity p{margin-bottom:0}
.hero-download{margin-top:18px;gap:22px;min-height:42px}
.object-outro{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);width:min(440px,85%);text-align:center}
.object-outro p{font:24px/1.2 Anton,Impact,sans-serif;margin-bottom:19px}
.media-intro{position:relative;margin:0 var(--gutter) 27px;font-size:14px;color:#626262}
.reference-calendar h2{margin-bottom:20px}
.calendar-intro{position:relative;z-index:6;text-align:center;font-size:14px;line-height:1.55;color:#bbb;margin:0 auto 75px;max-width:420px;pointer-events:none}
.reference-faq{display:grid;grid-template-columns:1fr 1.55fr;gap:8vw;padding:110px var(--gutter) 120px;background-color:#fff}
.faq-intro .eyebrow{display:block;font:10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.08em;color:#666;margin-bottom:21px}
.faq-intro h2{font-size:clamp(40px,4.2vw,64px);line-height:1.1}
.faq-intro>p{font-size:14px;line-height:1.5;color:#666;margin-top:20px}
.faq-intro .reference-button{margin-top:28px;min-height:42px}
.faq-list{border-top:1px solid #d6d6d6}
.faq-list details{border-bottom:1px solid #d6d6d6}
.faq-list summary{list-style:none;position:relative;cursor:pointer;padding:24px 36px 24px 0;font-size:17px;line-height:1.45;font-weight:600}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:0;top:22px;font-size:24px;font-weight:400;line-height:1.2}
.faq-list details[open] summary::after{content:'−'}
.faq-list summary:hover{color:#696969}
.faq-list summary:focus-visible{outline:2px solid #111;outline-offset:4px}
.faq-list details>p{max-width:560px;margin:0 36px 25px 0;font-size:15px;line-height:1.7;color:#5a5a5a}
.faq-list a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:701px) and (max-width:1000px){
 .reference-home #history-title{top:31%;max-width:41%}
 .reference-home #history-copy{top:calc(31% + 150px);max-width:41%}
 .reference-faq{gap:5vw}
}
@media(max-width:700px){
 .reference-home .hero-identity{bottom:150px;max-width:none}
 .reference-home .hero-identity p{font-size:13px;line-height:1.5}
 .hero-category{font-size:9px;margin-bottom:8px}
 .hero-download{margin-top:14px}
 .reference-home .hero-match{bottom:39px}
 .object-outro{bottom:70px}
 .object-outro p{font-size:22px}
 .reference-media{height:auto;min-height:593px;padding-bottom:72px}
 .media-intro{font-size:13px;max-width:280px;margin-bottom:24px}
 .reference-calendar h2{margin-bottom:22px}
 .calendar-intro{font-size:13px;margin-bottom:80px}
 .reference-faq{grid-template-columns:1fr;gap:43px;padding:75px 30px 85px}
 .faq-intro h2{font-size:44px}
 .faq-list summary{font-size:16px;padding-top:22px;padding-bottom:22px}
 .faq-list details>p{font-size:14px;margin-right:20px}
}
@media(max-width:360px){
 .reference-home .hero-identity{bottom:148px}
 .reference-faq{padding-left:22px;padding-right:22px}
}
