/* Photo gallery and scorecard reviews share the site's blue, cream and maple palette. */
.community{z-index:5;background:transparent;padding-bottom:65vh}
.community-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 8%;align-items:end;margin-bottom:55px;color:var(--ink);text-shadow:0 1px 12px #fff4dc}
.community-heading .eyebrow{grid-column:1/-1}
.community-heading p{max-width:330px;font-size:17px;line-height:1.7;background:#fff4dce0;padding:14px}
.photo-wall{display:grid;grid-template-columns:1.15fr .85fr;gap:35px 55px;align-items:start}
.venue-shot{margin:0;background:#fffaf0;padding:8px;box-shadow:0 16px 36px #14296d26;transform:rotate(var(--photo-angle,0deg));transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s}
.venue-shot img{display:block;width:100%;height:auto;object-fit:cover}
.shot-wide{--photo-angle:-2deg;margin-top:30px}.shot-exterior{--photo-angle:3deg;width:85%;justify-self:end}.shot-exterior img{max-height:490px}
.shot-detail{--photo-angle:2deg;width:65%;justify-self:center}.shot-concourse{--photo-angle:-2deg;margin-top:25px;width:115%;justify-self:end}
.venue-shot:hover{transform:rotate(0) translateY(-6px);box-shadow:0 24px 45px #14296d38}
.frame-score{position:absolute;bottom:7vh;right:6%;display:flex;align-items:center;gap:22px;padding:15px 22px;background:#fff4dcf2;color:var(--ink);border:1px solid currentColor;box-shadow:5px 5px 0 #172c78;transform:rotate(-2deg);font-size:11px;letter-spacing:1.5px;font-weight:700}
.frame-score div{border:1px solid currentColor;width:75px;text-align:center}.frame-score small{display:block;border-bottom:1px solid currentColor;padding:5px;font-size:8px}.frame-score b{display:block;font:700 38px/1.15 'Barlow Condensed',sans-serif}.frame-score.is-strike{color:#ee5930}
.bowler-reviews{z-index:5;overflow:hidden;background:#14296d;color:var(--cream);padding-top:115px;padding-bottom:90px;isolation:isolate;border-top:10px solid #79cbef}
.bowler-reviews::before{content:'CC';position:absolute;right:-3vw;bottom:-8vw;font:italic 42vw/.72 Georgia,serif;letter-spacing:-.16em;color:transparent;-webkit-text-stroke:2px #fff4dc12;z-index:-1;pointer-events:none;transform:rotate(-5deg)}
.reviews-heading{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:end;gap:8%;margin-bottom:70px;position:relative}.reviews-heading p{font-size:16px;line-height:1.7;margin:24px 0 0;max-width:430px}.reviews-heading h2 em{color:#79cbef}
.review-rack{height:170px;position:relative;border-bottom:4px solid #fff4dc;filter:drop-shadow(8px 9px 0 #091b50)}
.review-rack i{position:absolute;bottom:4px;width:30px;height:82px;background:var(--cream);clip-path:polygon(38% 0,62% 0,68% 15%,61% 30%,77% 53%,88% 80%,80% 96%,65% 100%,35% 100%,20% 96%,12% 80%,23% 53%,39% 30%,32% 15%);transform:translateX(-50%)}
.review-rack i::after{content:'';position:absolute;left:5px;right:5px;top:25px;height:4px;background:var(--orange);box-shadow:0 7px 0 var(--orange)}
.review-rack i:nth-child(1){left:50%;bottom:4px}.review-rack i:nth-child(2){left:38%;bottom:2px}.review-rack i:nth-child(3){left:62%;bottom:2px}.review-rack i:nth-child(4){left:26%;bottom:0}.review-rack i:nth-child(5){left:50%;bottom:0}.review-rack i:nth-child(6){left:74%;bottom:0}.review-rack i:nth-child(7){left:14%;bottom:-2px}.review-rack i:nth-child(8){left:38%;bottom:-2px}.review-rack i:nth-child(9){left:62%;bottom:-2px}.review-rack i:nth-child(10){left:86%;bottom:-2px}
.review-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px;align-items:stretch;counter-reset:reviews}
.review-quote{--paper:#fff4dc;counter-increment:reviews;margin:0;border:2px solid #101f58;border-radius:0;background:var(--paper);color:var(--ink);padding:30px 32px;box-shadow:9px 10px 0 #ee5930;display:flex;flex-direction:column;position:relative;overflow:hidden;transform-origin:50% 100%;min-height:245px;grid-column:span 4;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
.review-quote:nth-child(2){--paper:#bce8f2;grid-column:8/-1;transform:rotate(1deg)}.review-quote:nth-child(3){grid-column:8/-1;transform:rotate(-.7deg)}.review-quote:nth-child(4){--paper:#f7b37f}.review-quote:nth-child(5){transform:rotate(-1deg)}.review-quote:nth-child(6){--paper:#bce8f2;transform:rotate(.6deg)}
.review-featured{grid-column:span 7;grid-row:span 2;min-height:420px;padding:42px;box-shadow:13px 14px 0 #79cbef}.review-featured blockquote{font:italic 29px/1.48 Georgia,serif!important;max-width:680px}
.review-quote::before{content:'0' counter(reviews);position:absolute;right:22px;top:20px;font:800 48px/.8 'Barlow Condensed',Impact,sans-serif;color:#172c7820;letter-spacing:-2px}
.review-quote::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--glow-x,30%) var(--glow-y,20%),#fff8,transparent 55%),repeating-linear-gradient(0deg,transparent 0 27px,#172c7809 28px);opacity:.65;transition:opacity .3s}
.review-quote:hover{transform:rotate(0) translateY(-7px);box-shadow:13px 15px 0 #79cbef}.review-quote:hover::after{opacity:1}
.quote-mark{font:86px/.72 Georgia,serif;color:var(--orange);height:64px;display:block}
.review-stars{display:block;color:var(--orange);letter-spacing:5px;font-size:18px;margin:4px 0 30px}
.review-quote blockquote{font-size:18px;line-height:1.72;margin:0 0 30px;flex:1;position:relative;z-index:1}
.review-quote figcaption{display:flex;flex-direction:column;gap:8px;font-size:14px;border-top:2px solid #172c78;padding-top:18px;position:relative;z-index:1}.review-quote figcaption strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:19px;letter-spacing:.4px;text-transform:uppercase}
.review-quote figcaption span,.review-quote figcaption a{font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;opacity:.75}.review-quote a:hover{text-decoration:underline;text-underline-offset:4px}
.reviews-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #fff4dc55;margin-top:75px;padding-top:30px;font-size:10px;font-weight:800;letter-spacing:1.8px}.reviews-bottom a{display:flex;align-items:center;gap:28px;border:1px solid #fff4dc;padding:14px 18px;font-size:12px;letter-spacing:.3px;transition:background .2s,color .2s}.reviews-bottom a:hover{background:var(--cream);color:var(--ink)}.reviews-bottom b{font-size:20px}
#lane-finale{height:0;min-height:0;padding:0}
.page-progress{position:fixed;top:0;left:0;right:0;height:3px;background:#ee5930;transform:scaleX(var(--page-progress,0));transform-origin:left;z-index:100;pointer-events:none}
@keyframes review-unfold{from{opacity:0;transform:translateY(45px) rotateX(-12deg)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){body:not(.motion-off) .reveal-in.is-waiting{opacity:0;transform:translateY(35px) rotate(0)}.reveal-in{transition:opacity .7s ease,transform .9s cubic-bezier(.22,1,.36,1),box-shadow .6s}body:not(.motion-off) .review-arrived{animation:review-unfold .75s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--review-delay,0ms)}}
@media(max-width:900px){.photo-wall{gap:30px}.reviews-heading{grid-template-columns:1fr 190px}.review-rack{height:135px}.review-rack i{width:23px;height:63px}.review-grid{gap:22px}.review-quote,.review-quote:nth-child(n),.review-featured{grid-column:span 6}.review-featured{grid-column:1/-1;min-height:340px}.review-quote blockquote{font-size:17px}}
@media(max-width:600px){.community-heading{display:block;margin-bottom:35px}.community-heading h2{font-size:52px}.community-heading p{font-size:16px;margin-top:25px}.photo-wall{gap:30px 18px;grid-template-columns:1fr 1fr}.shot-wide{grid-column:1/-1;margin-top:0;width:94%}.shot-exterior{grid-column:2;grid-row:2;width:100%;margin-top:15px}.shot-detail{grid-column:1;grid-row:2;width:100%;margin-top:35px}.shot-concourse{grid-column:1/-1;width:94%;margin-top:10px}.community{padding-bottom:60vh}.bowler-reviews{padding-top:70px;padding-bottom:60px}.reviews-heading{display:block;margin-bottom:46px}.reviews-heading h2{font-size:52px}.reviews-heading p{font-size:15px}.review-rack{width:180px;height:105px;margin:25px 0 0 auto}.review-rack i{width:19px;height:52px}.review-grid{display:block}.review-quote,.review-quote:nth-child(n),.review-featured{min-height:0;margin:0 3px 28px;padding:27px 25px;transform:rotate(var(--ticket-angle,0deg));box-shadow:7px 8px 0 #ee5930}.review-quote:nth-child(2),.review-quote:nth-child(5){--ticket-angle:1deg}.review-quote:nth-child(3),.review-quote:nth-child(6){--ticket-angle:-1deg}.review-featured blockquote{font-size:22px!important}.review-quote blockquote{font-size:17px;margin-bottom:22px}.reviews-bottom{align-items:flex-start;flex-direction:column;margin-top:45px}.frame-score{gap:15px;right:8%;padding:12px 16px}.frame-caption{display:none}}
@media(prefers-reduced-motion:reduce){.venue-shot,.reveal-in{transition:none}.venue-shot:hover{transform:rotate(var(--photo-angle,0deg))}}
.motion-off .venue-shot,.motion-off .reveal-in{transition:none}.motion-off .venue-shot:hover{transform:rotate(var(--photo-angle,0deg))}
/* Desktop: keep a clear center column so the ball's hook stays visible between the photos (Claude, 2026-09-28). */
@media(min-width:901px){.photo-wall{grid-template-columns:1fr 34% 1fr;gap:35px 24px}.shot-wide{grid-column:1;grid-row:1}.shot-exterior{grid-column:3;grid-row:1;width:72%;justify-self:end}.shot-detail{grid-column:1;grid-row:2;width:70%;justify-self:end}.shot-concourse{grid-column:3;grid-row:2;width:100%;justify-self:end}}
