/* R4 — photographed fittings, cut paper and vertical scenes. Light: upper left. */
:root{--paper-prop:url('assets/props/r4/paper.webp');--ticket-prop:url('assets/props/r4/ticket.webp');--leather-prop:url('assets/props/r4/leather.webp');--brass-prop:url('assets/props/r4/brass.webp');--wood-prop:url('assets/props/r4/wood.webp');--felt-prop:url('assets/props/r4/felt-continuation.webp')}
html{scrollbar-gutter:stable}
body{background-color:#073929;background-image:var(--felt-prop);background-size:540px 800px;background-repeat:repeat}
.mobile-intro{display:none}
.brass-link,.header-phone,.mobile-intro-action{background:none;border:16px solid transparent;border-image:var(--brass-prop) 52 55 fill stretch;border-radius:0;box-shadow:none;padding:0 14px;min-height:50px;color:#2c2014;filter:drop-shadow(3px 6px 4px #0007);font-weight:700;text-align:center;display:inline-flex;justify-content:center;align-items:center}
.text-link,.about-tag,.down-link,.end-links a,.school-cta,.cover-open,.book-controls .book-close{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:7px 18px;border:12px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;background:none;box-shadow:none;border-radius:0;color:#ffefd3;filter:drop-shadow(2px 4px 3px #0006);font:600 14px/1.4 Manrope,sans-serif;text-align:center}
.end-links{border:0}.end-links a:after{display:none}
.menu-toggle,.nojs-menu,.close-dialog{background:none;border:12px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;border-radius:0;box-shadow:none;filter:drop-shadow(2px 4px 3px #0006);padding:0 8px;min-height:48px;font-size:14px}
.menu-toggle img{width:27px;height:27px}
.ball-menu .labelplate,.ball-menu .menu-item[aria-current] .labelplate{background:none;border:9px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;padding:1px 3px;box-shadow:none;max-width:100%;filter:drop-shadow(2px 3px 2px #0007);text-shadow:none}
.ball-menu .plain-label{line-height:1.3}.ball-menu .index{line-height:1.25}
.page-intro .section-heading:after{display:none}
.page-intro .section-heading:before,.game-station .ball-number,.game-lane .ball-number,.cover-ball{border:0;border-radius:0;background:url('assets/props/r4/medallion.webp') center/contain no-repeat;box-shadow:none;color:#302417;filter:drop-shadow(2px 4px 3px #0006)}
.page-intro .section-heading .eyebrow,.rail-caption,.table-annotation{width:fit-content;max-width:100%;padding:8px 15px;border:10px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;background:none;color:#fff0d3;box-shadow:none}
.page-intro h1{margin-top:16px}
.photo-print,.viewer-print,.pinned-photo,.clipping,.games-intro,.paper.small-story,.training-ticket,.booking-ticket{background:none;border:18px solid transparent;border-image:var(--paper-prop) 40 fill stretch;border-radius:0;box-shadow:none;filter:drop-shadow(4px 8px 5px #0007);clip-path:none;color:#302317}
.photo-print{padding:0 0 14px}.pinned-photo{padding:0 0 12px}.clipping{padding:0 0 12px}.games-intro{padding:10px 20px}.small-story{padding:20px 25px}
.photo-print:before,.viewer-print:before{width:70px;height:35px;left:calc(50% - 35px);top:-29px;background:url('assets/props/r4/tape.webp') center/contain no-repeat;clip-path:none;box-shadow:none;transform:rotate(-5deg);filter:drop-shadow(1px 2px 1px #0003)}
.photo-print:nth-child(even):before{transform:rotate(7deg);left:62%}
.photo-corners{inset:-5px;background:url('assets/props/r4/corner-tl.webp') top left/35px 35px no-repeat,url('assets/props/r4/corner-tr.webp') top right/35px 35px no-repeat,url('assets/props/r4/corner-bl.webp') bottom left/35px 35px no-repeat,url('assets/props/r4/corner-br.webp') bottom right/35px 35px no-repeat;filter:drop-shadow(2px 3px 2px #0006)}
.clipping:before,.clipping-pin{width:26px;height:34px;top:-30px;left:calc(50% - 13px);border:0;border-radius:0;background:url('assets/props/r4/pin.webp') center/contain no-repeat;box-shadow:none;filter:drop-shadow(2px 4px 2px #0006)}
.clipping-pin{position:relative;left:auto;top:auto;margin:-44px auto 20px}
.article-clipping{background:none;border:24px solid transparent;border-image:var(--paper-prop) 40 fill stretch;padding:25px 24px 40px;box-shadow:none;clip-path:none;filter:drop-shadow(4px 8px 5px #0007)}
.article-clipping:before{display:none}
.article-photo{border:0;background:none;padding:0 0 12px;filter:none}.article-photo:before{display:none}
.training-ticket,.booking-ticket,.reservation-ticket{background:none;border:22px solid transparent;border-image:var(--ticket-prop) 40 fill stretch;clip-path:none;border-radius:0;box-shadow:none;filter:drop-shadow(3px 6px 4px #0006);color:#302317}
.training-ticket{padding:14px}.booking-ticket{padding:22px}.reservation-ticket{padding:14px}
.booking-ticket:before,.booking-ticket:after,.ticket-notch{display:none}
.booking-ticket>.eyebrow,.booking-ticket .ticket-phone{border:0}
.booking-ticket .reservation-ticket{border:0;background:none;filter:none}
.booking-ticket .direct-form{border:14px solid transparent;border-image:var(--brass-prop) 52 55 fill stretch;background:none;border-radius:0}
.notebook,.training-notebook{background:url('assets/props/r4/paper.webp') center/cover;border:22px solid transparent;border-image:url('assets/props/ledger-1536.webp') 70 fill stretch;border-radius:0;box-shadow:none;filter:drop-shadow(4px 8px 5px #0007);padding:28px 32px 40px}
.notebook:before,.training-notebook:before{display:none}
.notebook-cover{border:0}.notebook-cover>.eyebrow{border:0;background:none;transform:rotate(-1deg);padding:8px 0}
.game-station>.paper{border:18px solid transparent;border-image:var(--paper-prop) 40 fill stretch;background:none;color:#302317;padding:12px 20px;margin-bottom:24px;filter:drop-shadow(3px 6px 4px #0006)}
.game-station h2,.felt-section>.section-heading{width:fit-content;max-width:100%;border:18px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;background:none;color:#fff0d3;padding:4px 15px;filter:drop-shadow(3px 6px 4px #0006)}
.game-lanes{border:0}.game-lane{border:12px solid transparent;border-image:var(--paper-prop) 40 fill stretch;background:none;box-shadow:none;filter:drop-shadow(4px 8px 5px #0007);padding:0 0 28px}.game-lane:before{background:url('assets/props/r4/tape.webp') center/contain no-repeat;clip-path:none;box-shadow:none;top:-23px;height:30px;width:64px;left:calc(50% - 32px)}
.news-notice{border:0;background:none;padding:14px 0 0;color:#fff0d3}
.video-ticket{border:18px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;background:none;padding:8px 15px;filter:drop-shadow(3px 6px 4px #0006)}
.hero-provenance{border:9px solid transparent;border-image:var(--paper-prop) 40 fill stretch;background:none;color:#302317;padding:2px 8px;line-height:1.4}
.book-tabs a,.book-ready .book-tabs a{background:none;border:12px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;border-radius:0;box-shadow:none;filter:drop-shadow(2px 4px 3px #0006);color:#fff0d3}
.book-tabs a[aria-current],.book-ready .book-tabs a[aria-current]{background:none;border-image-source:var(--brass-prop);border-image-slice:52 55 fill;color:#302317}
.book-controls button[data-book-step]{background-position:center;background-size:contain;background-repeat:no-repeat;background-color:transparent;border:0;box-shadow:none;font-size:0;min-height:48px;filter:drop-shadow(2px 4px 3px #0007)}
.book-controls [data-book-step='-1']{background-image:url('assets/props/r4/arrow-left.webp')}.book-controls [data-book-step='1']{background-image:url('assets/props/r4/arrow-right.webp')}
.book-corner:before{background:url('assets/props/r4/curl.webp') center/contain no-repeat;clip-path:none;filter:drop-shadow(1px 2px 2px #70502e44)}
.book-controls .book-close{background:none;border:12px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;padding:2px 16px;font-size:14px;min-height:48px;box-shadow:none}
.object-dialog{border:30px solid transparent;border-image:url('assets/props/r4/scene-navigation-720.webp') 85 45 130 fill stretch;background:none;border-radius:0;padding:12px 20px 25px;filter:drop-shadow(5px 10px 9px #0009);box-shadow:none}
.object-dialog>.close-dialog{border:12px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;background:none;padding:0 12px}
.photo-dialog::backdrop,.object-dialog::backdrop{background:#09271de8 var(--felt-prop) center/540px auto;background-blend-mode:multiply;backdrop-filter:blur(3px)}
.photo-dialog .close-dialog{border:12px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;background:none;padding:0 10px;min-height:48px}
.viewer-print{padding:0 0 14px}.viewer-heading{gap:12px}.photo-controls button{font-size:14px;gap:8px;min-height:48px}.photo-controls button:before{content:'';background:url('assets/props/r4/arrow-left.webp') center/contain no-repeat;border:0;border-radius:0;box-shadow:none;filter:drop-shadow(2px 4px 3px #0006)}
.photo-controls [data-photo-step='1']:before{content:'';background-image:url('assets/props/r4/arrow-right.webp')}
.club-footer .footer-links{border:0}.club-footer h2{padding-top:8px}
.club-footer a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.club-footer .footer-board>div{gap:8px}
.address-plate .brass-link{background:none;border:14px solid transparent;border-image:var(--brass-prop) 52 55 fill stretch;min-height:48px;padding:0 10px;box-shadow:none}
@media(min-width:1101px){
 .rack-condensed .main-navigation:not(.dialog-menu){background:var(--felt-prop) center/540px auto;border-bottom:0;box-shadow:3px 6px 6px #0007;isolation:isolate}
 .rack-condensed .main-navigation:not(.dialog-menu):before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:53px;background:url('assets/props/r4/walnut-grain.webp') center/auto 100% repeat-x}
 .rack-condensed .ball-menu:not(.dialog-menu) .labelplate{margin-top:3px;border-width:5px 9px;padding:0 3px;background:none}
 .rack-condensed .ball-menu:not(.dialog-menu) .menu-item{min-height:94px}
}
@media(max-width:1100px){
 :root{--mobile-header:56px;--mobile-bottom:64px}
 html{scroll-padding-top:0}
 body{padding-top:56px;padding-bottom:calc(64px + env(safe-area-inset-bottom));font-size:16px;line-height:1.6;background-image:var(--felt-prop);background-size:540px 800px}
 [id]{scroll-margin-top:64px}
 .masthead,.home-table .masthead{position:fixed;inset:0 0 auto;height:56px;margin:0;padding:4px 16px;display:flex;z-index:45;background:url('assets/props/r4/wood.webp') center/100% 100% no-repeat;filter:drop-shadow(2px 4px 3px #0007)}
 .brand{width:145px;min-height:44px;display:flex;align-items:center}.brand img{width:145px;height:44px;object-fit:contain}
 .club-address,.header-phone{display:none}
 .menu-toggle,.nojs-menu{position:fixed;z-index:46;top:4px;right:12px;height:48px;min-height:48px;min-width:100px;border-width:10px;padding:0 7px;font-size:14px;gap:6px}
 .header-compact .masthead,.header-compact .home-table .masthead{height:48px}.header-compact .menu-toggle,.header-compact .nojs-menu{top:2px;height:44px;min-height:44px}
 .header-compact .brand img{height:40px}.header-compact .brand{min-height:44px}
 .table-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;max-width:none;padding:0;margin:0;gap:0;position:relative}
 .mobile-intro{display:grid;grid-row:1;grid-column:1;position:relative;isolation:isolate;height:calc(100svh - 120px);min-height:640px;grid-template-rows:auto minmax(50px,1fr) 52px 340px;justify-items:center;align-items:center;padding:14px 18px 0;overflow:hidden}
 .mobile-scene-picture{display:block;position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
 .mobile-scene-picture img{display:block;width:100%;height:100%;object-fit:cover}
 .mobile-intro-head{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:100%;padding:0 4px;text-align:center}
 .mobile-intro .eyebrow{font-size:12px;line-height:1.4;letter-spacing:.6px;padding:7px 14px;border:8px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;background:none;color:#fff0d3}
 .mobile-intro h1{font-size:clamp(26px,6.8vw,38px);line-height:1.04;margin:0;text-wrap:balance;color:#fff0d3;text-shadow:1px 2px 2px #001c12}
 .mobile-club-photo{grid-row:2;width:170px;margin:5px 0 4px;align-self:center;border-width:8px;padding:0 0 4px;transform:rotate(-3deg)}
 .mobile-club-photo:before{width:45px;height:24px;top:-18px;left:calc(50% - 23px)}
 .mobile-club-photo a{display:block}.mobile-club-photo img{display:block;width:100%;height:78px;object-fit:cover}.mobile-club-photo figcaption{font-size:12px;line-height:1.3;padding:5px 0 0;text-align:center}
 .mobile-intro-action{grid-row:3;min-height:48px;height:48px;max-width:100%;font-size:14px;border-width:13px;padding:0 18px;align-self:start}
 .table-navigation{grid-row:1;grid-column:1;position:relative;align-self:end;z-index:2;margin:0 16px 10px;height:298px;pointer-events:none}
 .table-navigation .side-rack{position:relative;width:100%;height:298px;padding:0;margin:0;border:0;pointer-events:auto}
 .table-navigation .side-rack>.rack-frame{display:block;position:absolute;inset:-5px -4px -5px;background-size:100% 100%;transform:none;filter:drop-shadow(3px 6px 4px #0008)}
 .rail-caption,.table-navigation .about-tag,.page-intro{display:none}
 .side-menu,.rack-menu{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:88px 106px 88px;gap:8px 4px;align-items:start;max-width:620px;margin:0 auto}
 .side-menu .menu-item,.rack-menu .menu-item{position:relative;inset:auto;width:auto;min-height:88px;align-self:start;grid-column:span 2}
 .side-menu .m0,.rack-menu .m0{grid-row:1;grid-column:1/span 2}.side-menu .m1,.rack-menu .m1{grid-row:1;grid-column:3/span 2}.side-menu .m7,.rack-menu .m7{grid-row:1;grid-column:5/span 2}
 .side-menu .m2,.rack-menu .m2{grid-row:2;grid-column:2/span 2}.side-menu .m3,.rack-menu .m3{grid-row:2;grid-column:4/span 2}
 .side-menu .m4,.rack-menu .m4{grid-row:3;grid-column:1/span 2}.side-menu .m5,.rack-menu .m5{grid-row:3;grid-column:3/span 2}.side-menu .m6,.rack-menu .m6{grid-row:3;grid-column:5/span 2}
 .side-menu.ball-menu .ball-visual,.rack-menu.ball-menu .ball-visual{height:46px;width:60px;filter:drop-shadow(2px 4px 3px #0008)}
 .side-menu.ball-menu .ball-shell,.rack-menu.ball-menu .ball-shell{width:46px;height:46px}
 .ball-menu .labelplate,.ball-menu .menu-item[aria-current] .labelplate{border-width:5px 7px;padding:1px 0;max-width:100%;min-height:37px}
 .side-menu .plain-label,.rack-menu .plain-label{font-size:14px;line-height:1.2;white-space:normal;letter-spacing:-.3px}
 .ball-menu .index{font-size:11px;line-height:1.1}.ball-menu .current-mark{font-size:12px}
 .home-table{height:calc(100svh - 120px);min-height:640px;background:none;position:relative;display:block;margin:0}
 .home-table .mobile-intro{height:100%;grid-template-rows:auto minmax(50px,1fr) 52px 340px}
 .home-table>.hero-heading,.home-table>.pinned-photo,.home-table>.table-annotation,.home-table>.hero-provenance,.home-table>.home-down{display:none}
 .home-rack{position:absolute;top:auto;bottom:10px;left:16px;right:16px;width:auto;max-width:620px;height:298px;transform:none;margin:0 auto}
 .home-rack>.rack-frame{display:block;inset:-5px -4px -5px;transform:none!important;background-size:100% 100%}
 .table-content{grid-row:2;grid-column:1;padding:42px 16px 55px;min-width:0;background:url('assets/props/r4/scene-lower-720.webp') center top/100% auto no-repeat}
 .table-content>#page-content{width:100%;max-width:720px;margin:0 auto;scroll-margin-top:64px}
 .felt-section,.home-story,.home-gallery,.home-news,.home-booking{background-color:transparent;background-image:url('assets/props/r4/scene-lower-720.webp');background-position:center top;background-size:100% auto;background-repeat:no-repeat;padding:40px 16px 55px}
 .home-story{background-image:url('assets/props/r4/leather-continuation.webp');background-size:700px auto;background-repeat:repeat}
 .home-gallery{background-image:url('assets/props/r4/scene-lower-720.webp')}
 .home-booking{background-image:url('assets/props/r4/leather-continuation.webp');background-size:700px auto;background-repeat:repeat}
 .home-story .small-story,.home-story .outside-print{width:100%;max-width:none}.home-story .small-story{padding:15px 16px}.home-story .outside-print{margin-top:40px}
 .felt-section>.section-heading{padding:5px 10px;border-width:13px;width:100%;margin-bottom:30px}
 .felt-section>.section-heading h2{font-size:32px}
 .notebook,.training-notebook{padding:20px 14px 30px;border-width:16px;font-size:16px;line-height:1.6}
 .notebook-paragraph,.training-notebook>p,.article-clipping>p,.game-station>.paper,.games-intro,.small-story p{font-size:16px;line-height:1.6}
 .article-clipping{padding:20px 8px 30px;border-width:16px}.article-clipping>p{overflow-wrap:anywhere}
 .article-photo{border:0;padding:0 0 12px}.article-photo img{height:auto;max-height:none}
 .game-station{padding:0;margin:35px 0 55px}.game-station h2{font-size:34px;padding:5px 10px;border-width:14px;margin-left:0;margin-bottom:30px}
 .game-station .ball-number{left:auto;right:6px;top:-5px}.game-station>.paper{margin:0 0 24px;padding:12px;border-width:14px;font-size:16px}
 .game-station>.brass-link{margin-left:0}
 .game-lane{height:280px;margin-bottom:38px;padding-bottom:33px}.game-lane b{font-size:30px}
 .news-board,.inner-page .news-board{padding:8px 3px}.clipping{margin-bottom:38px;padding-bottom:12px}.clipping h3,.inner-page .clipping h3{font-size:30px;line-height:1.15}.clipping .read{font-size:14px;min-height:44px;display:flex;align-items:center}
 .photo-print{border-width:12px;padding-bottom:12px}.photo-print figcaption{font-size:18px}
 .mobile-club-photo.photo-print{border-width:8px;padding-bottom:4px}
 .mobile-club-photo.photo-print figcaption{font:600 12px/1.3 Manrope,sans-serif;white-space:nowrap;padding:5px 0 0;letter-spacing:0}
 .photo-fan .photo-print img,.home-gallery .photo-print img{height:auto;max-height:none}
 .training-ticket{padding:12px;border-width:16px}.training-ticket p{font-size:16px;line-height:1.6}
 .booking-ticket{padding:15px 10px;border-width:18px}.booking-ticket>p{font-size:16px}.booking-ticket .ticket-phone{font-size:26px}
 .reservation-ticket{min-width:0;padding:14px;border-width:18px}.reservation-ticket strong{font-size:32px}.reservation-ticket>span{font-size:14px}
 .address-plate{padding:15px 5px;border-width:32px}.address-plate p,.address-plate>a{font-size:16px;line-height:1.6;min-height:44px}.address-plate>a{display:flex;align-items:center}
 .address-plate h2{font-size:32px}
 .end-links{display:flex;flex-wrap:wrap;gap:12px;padding:20px 0}.end-links a{font-size:14px}
 /* The mobile folio grows with its one leaf; controls stay above it, never below a moving edge. */
 .menu-book,.book-ready:not(.book-open){display:grid;grid-template-columns:minmax(0,1fr);margin:0;max-width:720px;width:100%;overflow-anchor:none}
 .book-tabs,.book-ready .book-tabs{grid-row:1;gap:8px;margin-bottom:16px;position:static;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
 .book-ready .book-tabs a{min-height:52px;height:auto;padding:2px 5px;border-width:10px;font-size:14px;line-height:1.35}
 .book-tabs a:last-child{grid-column:1/-1}
 .book-cover,.book-spread{grid-row:3;grid-column:1}
 .book-ready .book-controls,.book-open .book-controls{display:grid;grid-row:2;grid-column:1;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;margin:0 0 16px;min-height:112px;align-items:start;color:#ffefd3}
 .book-controls>div{padding-top:4px}.book-status{font-size:16px}.book-hint{font-size:13px;line-height:1.4}.book-controls .book-close{min-height:44px;margin:0;border-width:9px;font-size:14px;padding:0 14px}
 .book-ready:not(.book-open) .book-close{visibility:hidden}
 .book-cover{min-height:460px;max-width:510px;gap:25px;padding:32px 18px}
 .book-cover strong{font-size:62px}
 .book-open .book-spread{display:block;min-height:0;height:auto;border-width:6px;touch-action:pan-y;perspective:none;overflow:visible}
 .book-open .menu-leaf{height:auto;min-height:0;padding:24px 22px 62px;border:0;background-image:url('assets/props/paper-texture.webp');overflow:visible}
 .book-open .menu-leaf[hidden]{display:none}
 .menu-book .leaf-heading{height:auto;min-height:108px;padding-bottom:15px;margin-bottom:20px}
 .menu-book .leaf-heading h2{font-size:34px;line-height:1.03;margin:12px 0 0}
 .menu-book .leaf-heading .eyebrow{font-size:12px;line-height:1.5}
 .menu-book .menu-entry h3,.menu-book .price{font-size:16px;line-height:1.5}
 .menu-book .ingredients{font-size:16px;line-height:1.5}.menu-book .quantity,.menu-book .allergens{font-size:14px;line-height:1.5}
 .menu-book .menu-entries{gap:20px}.menu-book .menu-entry{padding-bottom:16px}.leaf-number{font-size:13px}
 .book-corner{width:48px;height:48px}.page-curl{display:none!important}
 .menu-book:not(.book-ready){display:block}.menu-book:not(.book-ready) .book-controls{display:none}.menu-book:not(.book-ready) .menu-leaf{height:auto}
 /* Same open accessory drawer, with all eight ball sections and native dialog focus trap. */
 .object-dialog{width:min(680px,calc(100% - 20px));max-height:calc(100dvh - 20px);border-width:22px;padding:0 4px 12px;overflow:auto}
 .object-dialog>.close-dialog{min-height:44px;font-size:14px;padding:0 8px;border-width:9px}
 .object-dialog h2{font-size:30px;line-height:1.05;margin:18px 0}
 .dialog-rack{width:100%;height:auto;margin:0}.dialog-rack>.rack-frame{display:none}
 .dialog-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}
 .dialog-menu .menu-item{position:static;inset:auto;width:auto;min-height:110px}
 .dialog-menu.ball-menu .ball-visual,.dialog-menu.ball-menu .m0 .ball-visual,.dialog-menu.ball-menu .m7 .ball-visual{height:54px;width:70px}
 .dialog-menu.ball-menu .ball-shell,.dialog-menu.ball-menu .m0 .ball-shell,.dialog-menu.ball-menu .m7 .ball-shell{width:54px;height:54px}
 .dialog-menu .plain-label{font-size:14px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
 .dialog-menu .labelplate{min-height:44px}
 .mobile-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:44;height:calc(64px + env(safe-area-inset-bottom));min-height:0;padding:4px 8px calc(4px + env(safe-area-inset-bottom));gap:8px;background:url('assets/props/r4/wood.webp') center/100% 100% no-repeat;border:0;box-shadow:none;filter:drop-shadow(-1px -3px 3px #0005)}
 .mobile-actions a{min-height:48px;height:56px;border:10px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;background:none;color:#fff0d3;padding:0 1px;box-shadow:none;font-size:12px;font-weight:600;letter-spacing:-.3px;line-height:1.25;display:flex;align-items:center;justify-content:center;overflow-wrap:normal}
 .mobile-actions a:first-child{border-image:var(--brass-prop) 52 55 fill stretch;color:#2b2014;font-weight:800}.mobile-actions a:last-child{border-right:10px solid transparent}
 .club-footer{padding:25px 12px 28px}.club-footer>.footer-board{padding:18px 12px 24px;gap:20px;border-width:48px 15px 24px;border-image-source:url('assets/props/scoreboard-surface-640.webp');border-image-slice:71 37 54 fill;grid-template-columns:minmax(0,1fr)}
 .club-footer .footer-brand{width:190px}.club-footer .footer-logo{width:190px}.club-footer .footer-board>div:not(.legal){font-size:16px;line-height:1.6;gap:8px}.club-footer .footer-board>div:not(.legal)>a{font-size:16px}
 .club-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:14px;padding:0;margin:0}.club-footer .footer-board>.legal{flex-direction:column;gap:8px;font-size:12px}.club-footer .concept-note,.club-footer .provenance{font-size:12px;line-height:1.6}
 .photo-dialog{padding:8px 10px 15px;max-height:calc(100dvh - 16px);width:calc(100% - 16px)}
 .viewer-heading>.eyebrow{font-size:12px;max-width:130px}.photo-dialog .close-dialog{font-size:14px;max-width:155px;white-space:normal;min-height:48px;border-width:9px}
 .photo-dialog #enlarged-photo{max-width:calc(100vw - 64px);max-height:calc(100dvh - 270px)}
 .photo-controls{gap:8px}.photo-controls button{font-size:14px;gap:4px;padding:0;min-height:48px}.photo-controls button:before{width:34px;height:34px;min-width:34px}.viewer-print #photo-caption{font-size:22px}
}
@media(min-width:601px) and (max-width:1100px) and (min-height:600px){
 .mobile-intro{min-height:750px;grid-template-rows:auto minmax(120px,1fr) 56px 368px;padding:25px 36px 0}
 .home-table{min-height:750px}.home-table .mobile-intro{grid-template-rows:auto minmax(120px,1fr) 56px 368px}
 .mobile-club-photo{width:240px;border-width:12px}.mobile-club-photo img{height:140px}
 .table-navigation,.table-navigation .side-rack,.home-rack{height:318px;margin-bottom:12px}
 .side-menu,.rack-menu{grid-template-rows:94px 114px 94px;gap:8px}
 .side-menu.ball-menu .ball-visual,.rack-menu.ball-menu .ball-visual{height:54px}.side-menu.ball-menu .ball-shell,.rack-menu.ball-menu .ball-shell{width:54px;height:54px}
 .table-content{padding-left:28px;padding-right:28px}
}
@media(max-width:1100px) and (max-height:500px){
 :root{--mobile-header:48px}
 body{padding-top:48px}.masthead,.home-table .masthead{height:48px}.menu-toggle,.nojs-menu{top:2px;height:44px;min-height:44px}.brand img{height:40px}
 .mobile-intro,.home-table,.home-table .mobile-intro{height:calc(100svh - 112px);min-height:270px}
 .mobile-intro,.home-table .mobile-intro{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:14px 58% 14px 20px;gap:10px}
 .mobile-intro-head{width:100%;padding:0}.mobile-intro h1{font-size:26px}.mobile-intro .eyebrow{font-size:12px;border-width:5px;padding:4px 8px}.mobile-club-photo{display:none}
 .mobile-intro-action{font-size:14px;min-height:44px;height:44px;border-width:11px;padding:0 12px;align-self:center}
 .table-navigation{position:relative;grid-row:1;grid-column:1;align-self:center;justify-self:end;width:54%;height:250px;margin:0 15px 0 0}
 .table-navigation .side-rack{height:250px}.home-rack{left:auto;right:15px;top:12px;bottom:auto;width:54%;height:250px;margin:0}
 .side-menu,.rack-menu{grid-template-rows:repeat(3,76px);gap:6px}.side-menu .menu-item,.rack-menu .menu-item{min-height:76px}
 .side-menu.ball-menu .ball-visual,.rack-menu.ball-menu .ball-visual{height:37px}.side-menu.ball-menu .ball-shell,.rack-menu.ball-menu .ball-shell{width:37px;height:37px}
 .side-menu .plain-label,.rack-menu .plain-label{font-size:14px}.ball-menu .labelplate{border-width:4px 8px;min-height:35px}
 .object-dialog{max-width:760px;width:calc(100% - 24px);max-height:calc(100dvh - 16px);border-width:16px;padding:0 12px 8px}
 .object-dialog h2{font-size:24px;margin:0 100px 12px 0;text-align:left;min-height:38px;display:flex;align-items:center}.object-dialog>.close-dialog{position:absolute;right:10px;top:0;min-height:44px}
 .dialog-menu{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px}.dialog-menu .menu-item{min-height:100px}.dialog-menu.ball-menu .ball-visual,.dialog-menu.ball-menu .m0 .ball-visual,.dialog-menu.ball-menu .m7 .ball-visual{height:42px}.dialog-menu.ball-menu .ball-shell,.dialog-menu.ball-menu .m0 .ball-shell,.dialog-menu.ball-menu .m7 .ball-shell{width:42px;height:42px}
 .photo-dialog #enlarged-photo{max-height:170px}.viewer-heading{margin:0}.viewer-print{margin:8px auto 12px}.viewer-print #photo-caption{font-size:20px;margin-top:10px}.photo-controls{margin:0}
}
@media(prefers-reduced-motion:reduce){.mobile-club-photo{transform:none}.header-compact .masthead{transition:none}}
@media(max-width:600px){
 .article-page:is([data-page='news-1.html'],[data-page='news-4.html'],[data-page='news-5.html']) .mobile-club-photo{display:none}
}
/* Physical edges are nine-sliced; their quiet centers tile at natural grain scale. */
.photo-print,.viewer-print,.pinned-photo,.clipping,.games-intro,.paper.small-story,.article-clipping,.game-station>.paper,.game-lane{border-image-slice:40;border-image-repeat:stretch;background:url('assets/props/r4/paper-grain.webp') center/420px 420px repeat;background-clip:padding-box}
.training-ticket,.booking-ticket,.reservation-ticket{border-image-slice:40;background:url('assets/props/r4/paper-grain.webp') center/420px 420px repeat;background-clip:padding-box}
.booking-ticket .reservation-ticket{background:none;border:0}
.notebook,.training-notebook{border-image-source:url('assets/props/r4/notebook-leaf.webp');border-image-slice:55 45 55 100;border-image-repeat:stretch round;background:url('assets/props/r4/paper-grain.webp') center/420px 420px repeat;background-clip:padding-box;border-left-width:34px}
.notebook:before,.training-notebook:before{display:none}
.club-footer>.footer-board{border-image-slice:170 90 130;background:url('assets/props/r4/slate-grain.webp') center/500px 500px repeat;background-clip:padding-box}
.book-cover{background-image:url('assets/props/menu-cover-r3b-900.webp')}
.menu-book .menu-leaf,.book-open .menu-leaf{background:url('assets/props/r4/paper-grain.webp') center/420px 420px repeat}
.book-open .book-spread{border:7px solid transparent;border-image:var(--leather-prop) 42 55 stretch;background:none}
.book-open .menu-leaf:nth-child(even){border-left:0}
.book-open .book-spread:before{content:'';position:absolute;left:calc(50% - 9px);top:0;bottom:0;width:18px;z-index:2;background:url('assets/props/r4/book-spine.webp') center/100% 100% no-repeat;pointer-events:none}
.album-divider{border:14px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;padding:5px 12px;width:fit-content;max-width:100%;color:#fff0d3}
@media(max-width:1100px){
 .club-footer>.footer-board{border-image-slice:71 37 54}
 .book-open .book-spread:before{display:none}
 .book-open .book-spread{border-width:6px}
 .notebook,.training-notebook{border-left-width:28px}
 .book-cover{background-image:url('assets/props/menu-cover-r3b-480.webp')}
}
@media(max-width:1100px){.article-clipping>p a{display:inline-flex;align-items:center;min-height:44px}}
.home-down{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:10px solid transparent;border-image:var(--leather-prop) 42 55 fill stretch;background:none;padding:0 10px;color:#fff0d3}
.address-plate>a,.article-clipping>p a,.pinned-photo figcaption a{display:inline-flex;align-items:center;min-height:44px}
.news-notice{display:flex;flex-direction:column;min-height:44px}

@media(max-width:1100px){.book-controls{scroll-margin-top:64px}}
/* A shorter next leaf must not make the browser anchor itself to the footer. */
.bar-menu-page{overflow-anchor:none}
@media(max-width:1100px){
 .dialog-menu{grid-template-columns:repeat(6,minmax(0,1fr))}
 .dialog-menu .menu-item{grid-column:span 2}
 .dialog-menu .m6,.dialog-menu .m7{grid-column:span 3}
}
@media(max-width:1100px) and (max-height:500px){
 .dialog-menu{grid-template-columns:repeat(8,minmax(0,1fr))}
 .dialog-menu .menu-item,.dialog-menu .m6,.dialog-menu .m7{grid-column:span 2}
}
@media(max-width:1100px) and (max-height:500px){
 .photo-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 24px;width:min(760px,calc(100% - 24px));padding:8px 18px 14px}
 .photo-dialog .viewer-heading{grid-column:1/-1;grid-row:1;min-height:48px;margin:0}
 .photo-dialog .viewer-print{grid-column:1;grid-row:2;margin:0 auto;padding-bottom:8px;border-width:12px}
 .photo-dialog #enlarged-photo{max-height:190px;max-width:100%}
 .photo-dialog .viewer-bottom{grid-column:2;grid-row:2;align-self:center;display:flex;flex-direction:column;gap:16px;min-width:0}
 .photo-dialog .photo-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .photo-dialog #photo-count{grid-column:1/-1;grid-row:1}
 .photo-dialog .photo-controls button{font-size:14px;gap:4px}
 .photo-dialog #photo-original{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:14px}
}
@media(max-width:1100px){.side-menu,.rack-menu{column-gap:8px}}
@media(max-width:1100px) and (max-height:500px){.side-menu,.rack-menu{gap:8px}}
@media(min-width:601px) and (max-width:1100px) and (min-height:600px){
 .table-navigation,.table-navigation .side-rack,.home-rack{height:322px}
 .side-menu,.rack-menu{grid-template-rows:96px 114px 96px}
}
@media(max-width:1100px) and (max-height:500px){
 .table-navigation,.table-navigation .side-rack,.home-rack{height:256px}
 .side-menu,.rack-menu{grid-template-rows:repeat(3,80px)}
}

/* v2.2 / 6B: one obstruction height for every anchor and heading. */
:root{--desktop-rail-height:112px;--anchor-clearance:calc(var(--desktop-rail-height) + 8px)}
html{scroll-padding-top:0}
[id],h1,h2,h3,.section-heading,.inner-page #page-content,.table-content>#page-content,.menu-book,.book-tabs,.book-controls{scroll-margin-top:var(--anchor-clearance)}
.ball-menu .labelplate,.ball-menu .menu-item[aria-current] .labelplate,.rack-condensed .ball-menu:not(.dialog-menu) .labelplate{border-width:6px 7px;padding:2px 1px;min-width:0}
@media(min-width:1101px){
 body.rack-condensed{padding-top:var(--desktop-rail-height)}
 .rack-condensed .main-navigation:not(.dialog-menu){height:var(--desktop-rail-height)}
 .rack-condensed .main-navigation:not(.dialog-menu) .plain-label{white-space:normal;text-wrap:balance}
}
@media(min-width:1101px) and (max-width:1199px){:root{--desktop-rail-height:132px}}
@media(max-width:1100px){
 :root{--reserved-header-height:56px;--anchor-clearance:calc(var(--reserved-header-height) + 8px)}
 body{padding-top:var(--reserved-header-height)}
 .table-navigation,.table-navigation .side-rack,.home-rack{height:310px}
 .side-menu,.rack-menu{grid-template-rows:92px 110px 92px}
}
@media(max-width:600px) and (min-height:501px){
 .mobile-intro,.home-table .mobile-intro{grid-template-rows:auto minmax(50px,1fr) 52px 352px}
}
@media(min-width:601px) and (max-width:1100px) and (min-height:600px){
 .mobile-intro,.home-table .mobile-intro{grid-template-rows:auto minmax(120px,1fr) 56px 376px}
 .table-navigation,.table-navigation .side-rack,.home-rack{height:330px}
 .side-menu,.rack-menu{grid-template-rows:100px 114px 100px}
}
@media(min-width:901px) and (max-width:1100px) and (min-height:501px) and (max-height:850px){
 .mobile-intro,.home-table{min-height:640px}
 .mobile-intro,.home-table .mobile-intro{grid-template-rows:auto minmax(50px,1fr) 56px 376px}
 .mobile-club-photo{display:none}
}
@media(max-width:1100px) and (max-height:500px){
 :root{--reserved-header-height:48px}
 .table-navigation,.table-navigation .side-rack,.home-rack{height:268px}
 .home-rack{top:5px}
 .side-menu,.rack-menu{grid-template-rows:repeat(3,84px)}
}
@media(min-width:1101px) and (max-width:1199px){
 .home-rack .rack-menu .m0{left:-260px}
 .home-rack .rack-menu .m7{left:650px}
}

/* R4d — captions occupy their own paper area below the photograph.
   Flow layout reserves every line; the original paper edges/grain are retained. */
.game-lanes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start}
.game-lane,.game-lane:last-child{display:flex;flex-direction:column;min-width:0;height:auto;padding:0;border:12px solid transparent;border-image:var(--paper-prop) 40 stretch;background: url('assets/props/r4/paper-grain.webp') center/420px 420px repeat;background-clip:padding-box;overflow:visible}
.game-lane>img{display:block;flex:none;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.game-lane-caption{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;gap:8px;align-items:center;min-height:76px;padding:14px 6px 12px;isolation:isolate}
.game-lane b{position:static;grid-column:2;display:block;margin:0;padding:0;background:none;color:#302317;font:700 21px/1.4 Manrope,sans-serif;letter-spacing:0;text-align:center;overflow-wrap:normal}
.game-lane .lane-arrow{position:static;grid-column:3;display:block;align-self:center;width:28px;height:28px;font-size:0;background:url('assets/props/r4/arrow-right.webp') center/contain no-repeat;filter:drop-shadow(1px 2px 1px #0004)}
.photo-print figcaption,.pinned-photo figcaption,.viewer-print #photo-caption{font:600 16px/1.5 Manrope,sans-serif;letter-spacing:.01em;color:#302317;text-align:center;padding:12px 8px 0;overflow-wrap:anywhere;text-wrap:pretty}
.viewer-print #photo-caption{margin-top:0;font-size:18px}
.pinned-photo figcaption{font-size:14px;padding-top:10px}
.mobile-club-photo.photo-print figcaption{font:600 12px/1.3 Manrope,sans-serif;letter-spacing:0;white-space:nowrap;padding:7px 0 0}
@media(min-width:601px) and (max-width:1100px){.game-lanes{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.game-lane:nth-child(even){margin-top:22px}}
@media(max-width:600px){.game-lanes{grid-template-columns:minmax(0,1fr);gap:36px;padding:0 5px}.game-lane,.game-lane:nth-child(even){height:auto;margin:0;padding:0}.game-lane-caption{min-height:76px}.game-lane b{font-size:22px}}

/* R4e: keep the photographed equilateral rack at its native 1:1 canvas ratio.
   The square contains transparent margins; never stretch it to its slot. */
.rack-frame,.table-navigation .side-rack>.rack-frame,.home-rack>.rack-frame{background-image:url('assets/props/rack-frame-1254.webp');background-size:contain;background-repeat:no-repeat}
@media(min-width:601px) and (max-width:1100px) and (min-height:501px){
 .side-menu,.rack-menu{max-width:360px}
}
@media(max-width:1100px) and (max-height:500px){
 .side-menu,.rack-menu{max-width:300px}
}
