/* WordPress content inside the PDF's presentation. */
.pdf-home .skip-link{position:absolute;top:0;left:16px;transform:translateY(-150%);z-index:100000;background:var(--cream);padding:12px 20px}
.pdf-home .skip-link:focus{transform:none}
.pdf-home img{max-width:100%}
.pdf-home .hero{isolation:isolate;background:var(--green)}
.hero-photo{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(#111b0f66,#111b0f8c)}
.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:center 51%}
.hero-inner{position:relative}
.crest{border:0;width:44px;height:44px}
.crest img{width:100%;height:100%;object-fit:contain}
.stat b .club-count{font:inherit;letter-spacing:0;color:inherit}
.card-photo{display:block;overflow:hidden;background:var(--sand)}
.event-image{min-height:194px;background:var(--sand)}
.portrait-placeholder{display:grid;place-items:center;width:78px;height:78px;background:var(--sand);border-radius:50%;margin:0 auto 20px;color:var(--gold);font-size:40px}
.club-timings__list{list-style:none;padding:0;margin:0}
.club-timing{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e4e2d6;padding:9px 0;font-size:11px}
.club-timing__name{font-weight:600}
.club-timing__hours{color:#777b6b;text-align:right;font-size:10px;max-width:72%}
.location-map{min-width:0}
.location-map .club-map{width:100%;height:522px;overflow:hidden;border-radius:3px}
.location-map iframe{width:100%;height:100%;border:0;display:block}
.club-map__link{margin-top:12px;font-size:12px}
.socials .club-social{display:flex;gap:10px}
.socials svg{width:14px;height:14px}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.empty-state{grid-column:1/-1;color:var(--muted)}
.category{text-transform:uppercase}
.pdf-home .sport h3{font-size:17px;font-weight:600;line-height:1.4;margin:0}
.pdf-home .sport .card-body{padding:18px}

/* Sports and dining glide rails: progressive enhancement of the existing grids. */
.pdf-home .club-glide{display:flex;position:relative;gap:20px;overflow-x:auto;overflow-y:hidden;padding:8px 2px 20px;margin-top:36px;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;cursor:grab}
.pdf-home .club-glide>article{flex:0 0 clamp(256px,26.4vw,344px);min-width:0;scroll-snap-align:start;border:1px solid #b29a6226;box-shadow:0 6px 18px #1f332708}
.pdf-home .club-glide .card-photo{aspect-ratio:4/3;overflow:hidden}
.pdf-home .club-glide .card-photo img{width:100%;height:100%;object-fit:cover;transition:transform 800ms cubic-bezier(.2,.65,.3,1)}
.pdf-home .club-glide .card-body{padding:22px 24px}
.pdf-home .club-glide .glide-copy{display:none}
.pdf-home .club-glide.is-looping{scroll-snap-type:none}
.pdf-home .club-glide::-webkit-scrollbar{display:none;width:0;height:0}
.pdf-home .club-glide.is-looping .glide-copy{display:block}
.pdf-home .club-glide.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.pdf-home .club-glide:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.pdf-home .glide-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:8px}
.pdf-home .glide-hint{margin-right:auto;font-size:11px;letter-spacing:.06em;color:var(--muted)}
.pdf-home .glide-controls button{display:grid;place-items:center;min-width:42px;height:42px;border:1px solid #aeb6a7;border-radius:50%;background:transparent;color:var(--green);font-size:20px;cursor:pointer}
.pdf-home .glide-controls .glide-pause{border-radius:24px;padding:0 16px;font-size:12px}
.pdf-home .glide-controls [hidden]{display:none}
.pdf-home .glide-controls button:hover{background:var(--green);color:var(--cream)}
.pdf-home .glide-controls button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(hover:hover) and (pointer:fine){
 .pdf-home .club-glide>article:hover{transform:none;box-shadow:0 8px 20px #1f332714}
 .pdf-home .club-glide>article:hover .card-photo img{transform:scale(1.045)}
}
@media(max-width:767px){
 .pdf-home .club-glide{gap:13px;scroll-padding-inline:2px;margin-top:24px}
 .pdf-home .club-glide>article{flex-basis:82%;max-width:350px}
 .pdf-home .club-glide .card-body{padding:18px}
 .pdf-home .glide-hint{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.pdf-home .club-glide .card-photo img{transition:none}.pdf-home .club-glide>article:hover .card-photo img{transform:none}}
/* The brick course, as on the rest of the site. */
.pdf-home :is(.ranges,.membership,footer){border-top:4px solid #B05438}
.pdf-home :is(.leader,.sport,.dining-card,.event,.amenity){position:relative}
@media(hover:hover) and (pointer:fine){
 .pdf-home :is(.leader,.sport,.dining-card,.event,.amenity){transform-origin:center;transition:transform 550ms cubic-bezier(.22,.61,.36,1),box-shadow 550ms ease}
 .pdf-home :is(.leader,.sport,.dining-card,.event,.amenity):hover{transform:scale(1.05);z-index:10;box-shadow:0 16px 32px #1f33272b;transition-delay:100ms}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
 .pdf-home :is(.leader,.sport,.dining-card,.event,.amenity){transition:transform 550ms cubic-bezier(.22,.61,.36,1),box-shadow 550ms ease}
}
/* The user explicitly requested a smooth, direct hover response even in this
   browser's reduced-motion mode. Scroll entrances remain disabled there. */
@media(prefers-reduced-motion:reduce){.pdf-home :is(.leader,.sport,.dining-card,.event,.amenity){animation:none}}
@media(max-width:600px){.pdf-home .sport h3{font-size:15px}.pdf-home .sport .card-body{padding:15px}}
.amenity .icon{display:flex;justify-content:center;align-items:center;margin-bottom:8px;color:var(--gold)}
.amenity .icon svg{display:block;width:32px;height:32px;flex:none}
.pdf-home .leader img,.pdf-home .portrait-placeholder{width:156px;height:156px}
@media(max-width:600px){.location-map .club-map{height:330px}.portrait-placeholder{width:75px;height:75px}.club-timing{font-size:10px}.club-timing__hours{font-size:9px;max-width:65%}.desktop-break{display:none}}
@media(max-width:600px){.pdf-home .leaders{flex-direction:column;align-items:center}.pdf-home .leader{width:100%;max-width:276px}.pdf-home .leader img,.pdf-home .portrait-placeholder{width:112px;height:112px}}

/* Larger photographic cards with golden titles and readable details. */
.pdf-home .club-glide>article{position:relative;isolation:isolate;background:var(--green);height:408px;border-radius:3px;border:0}
.pdf-home .club-glide .card-photo{position:absolute;inset:0;aspect-ratio:auto;height:100%;background:var(--green)}
.pdf-home .club-glide .card-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(8,22,15,.18) 40%,rgba(8,22,15,.90) 100%);pointer-events:none}
.pdf-home .club-glide .card-body{position:absolute;left:0;right:0;bottom:0;padding:24px;min-height:0;pointer-events:none}
.pdf-home .club-glide .card-body h3{font-family:'Playfair Display',Georgia,serif;font-size:23px;line-height:1.24;font-weight:500;margin:0;color:#edcf87;text-shadow:0 2px 12px #0006}
.pdf-home .club-glide .card-body h3 a{color:inherit;pointer-events:auto;text-decoration:none}
.pdf-home .club-glide .card-body h3 a:focus-visible{outline:2px solid #edcf87;outline-offset:5px}
.pdf-home .club-glide .card-body p{font-size:12px;line-height:1.6;color:#f8f5e9;margin:11px 0 0}
.pdf-home .club-glide .card-body .hours{color:#edcf87;font-size:10px;letter-spacing:.09em;margin-top:11px}
@media(max-width:767px){.pdf-home .club-glide>article{height:352px;flex-basis:86%;max-width:312px}.pdf-home .club-glide .card-body{padding:19px}.pdf-home .club-glide .card-body h3{font-size:20px}}

/* Reciprocal clubs: a strip of discs running round without end.

   Driven by a CSS animation on a doubled track rather than by script, so the
   browser's compositor moves it and it never stutters. The list is printed
   twice; translating the track by exactly half its width returns it to where
   it began, which is what makes the loop invisible. */
.pdf-home .reciprocal{overflow:hidden}
.pdf-home .orbit{position:relative;margin:40px 0 34px;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.pdf-home .orbit-track{display:flex;gap:60px;width:max-content;animation:orbit-run 46s linear infinite}
.pdf-home .orbit:hover .orbit-track,
.pdf-home .orbit:focus-within .orbit-track{animation-play-state:paused}
@keyframes orbit-run{from{transform:translateX(0)}to{transform:translateX(-50%)}}


@media(max-width:767px){
 .pdf-home .orbit{margin:30px 0 26px}
}
/* Asked for less motion: the strip stands still and scrolls by hand instead. */
@media(prefers-reduced-motion:reduce){
 .pdf-home .orbit{overflow-x:auto;scrollbar-width:none;mask-image:none;-webkit-mask-image:none}
 .pdf-home .orbit::-webkit-scrollbar{display:none;width:0;height:0}
 .pdf-home .orbit-track{animation:none}
}

/* Reciprocal clubs, in the manner the network itself is presented: the
   collaboration named beside the heading, then a strip of club cards running
   round without end. 260px of card and 60px of gap put six clubs at 1920px,
   wider than the widest screen, so no club is ever seen twice at once. */
.pdf-home .recip-head{display:grid;grid-template-columns:1fr 330px;gap:48px;align-items:start}
.pdf-home .recip-network{border:1px solid #b29a6244;border-left:3px solid var(--gold);
  background:#fffdf8;padding:22px 24px}
.pdf-home .recip-network__label{display:block;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.pdf-home .recip-network strong{display:block;font:500 19px/1.3 'Playfair Display',Georgia,serif;color:var(--green)}
.pdf-home .recip-network p{margin:10px 0 14px;font-size:12px;line-height:1.6;color:var(--muted)}
.pdf-home .recip-network a{font-size:11px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--gold);border-bottom:1px solid #bb902e55;padding-bottom:3px}

.pdf-home .orbit-club{flex:0 0 auto;width:260px;background:#fff;border:1px solid #b29a6226}
.pdf-home .orbit-photo{display:grid;place-items:center;height:290px;overflow:hidden;background:var(--sand)}
.pdf-home .orbit-photo img{width:100%;height:100%;object-fit:cover}
.pdf-home .orbit-photo b{font:500 24px 'Playfair Display',Georgia,serif;color:var(--gold);
  letter-spacing:.03em;padding:0 18px;text-align:center}
.pdf-home .orbit-body{display:block;padding:18px 20px 20px}
.pdf-home .orbit-name{display:block;font:500 17px/1.3 'Playfair Display',Georgia,serif;color:var(--ink)}
.pdf-home .orbit-name a{color:inherit}
.pdf-home .orbit-where{display:block;margin-top:7px;font-size:10px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--gold)}

@media(hover:hover) and (pointer:fine){
 .pdf-home .orbit-club{transition:border-color 300ms ease,box-shadow 300ms ease}
 .pdf-home .orbit-club:hover{border-color:#b29a6288;box-shadow:0 10px 26px #1f33270f}
}
@media(max-width:900px){
 .pdf-home .recip-head{grid-template-columns:1fr;gap:26px}
 .pdf-home .recip-network{max-width:420px}
}
@media(max-width:767px){
 .pdf-home .orbit-track{gap:34px}
 .pdf-home .orbit-club{width:206px}
 .pdf-home .orbit-photo{height:228px}
 .pdf-home .orbit-name{font-size:15px}
}

/* Keep the homepage sports and dining rails in the same premium style. */
.pdf-home .club-glide>article{border-radius:0;box-shadow:none}
.pdf-home .club-glide>article::after{content:"";position:absolute;inset:8px;border:1px solid #d9bc72;opacity:0;z-index:3;pointer-events:none;transition:inset 550ms ease,opacity 550ms ease}
.pdf-home .club-glide>article:is(:hover,:focus-within)::after{inset:15px;opacity:1}
.pdf-home .club-glide>article:is(:hover,:focus-within){transform:none;box-shadow:none}
.pdf-home .club-glide .card-body{text-align:center;padding:32px 26px 43px}
.pdf-home .club-glide .card-body h3{color:#fff9ed;font-size:25px;line-height:1.3}
.pdf-home .club-glide .card-body h3 a::after{content:"";position:absolute;inset:0}
@media(hover:none){.pdf-home .club-glide>article::after{inset:14px;opacity:.65}}
@media(prefers-reduced-motion:reduce){.pdf-home .club-glide>article::after{transition:none}}

/* The licence on the two borrowed photographs asks for a credit; it is given
   quietly, below the strip, rather than on the cards. */
.pdf-home .orbit-credit{margin:14px 0 0;font-size:10px;line-height:1.6;color:var(--muted)}
.pdf-home .orbit-credit a{color:var(--muted);border-bottom:1px solid #6d716433}

/* The clubs strip fades at both ends so a card leaves the frame rather than
   being cut against it. The rails get the same edge; the pause button and
   the hint are siblings of the rail, so the mask leaves them alone. */
.pdf-home .club-glide{
  width:100vw;margin-inline:calc(50% - 50vw);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
/* 100vw counts the scrollbar, which would otherwise become a horizontal
   scrollbar of the page's own. Clip, not hidden: hidden would make the
   section a scroll container and trap anything sticky in it. */
.pdf-home .section:has(.club-glide){overflow-x:clip}
/* Scrolled by hand, a faded first card is a card being hidden from someone
   reaching for it. Same decision as the clubs strip. */
@media(prefers-reduced-motion:reduce){
 .pdf-home .club-glide{-webkit-mask-image:none;mask-image:none;width:auto;margin-inline:0}
}
