/* Page-specific layout; typography, navigation and buttons use the shared site CSS. */
.club-page .hero h1{max-width:15ch}
.club-page .hero .small{color:#e5e5e4;font-size:.84rem;margin-top:22px}
.club-page .strip{padding:24px max(20px,calc((100% - 1160px)/2));display:flex;gap:28px;flex-wrap:wrap;background:#f0ecea;font-size:.88rem;font-weight:700}
.club-page .club-section{padding:clamp(64px,7vw,104px) max(20px,calc((100% - 1160px)/2))}
.club-page .tinted{background:#f0ecea}
.club-page .pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:38px}
.club-page .pillar{border-top:1px solid #b9bdc0;padding-top:28px;display:flex;flex-direction:column}
.club-page .pillar h3{font-size:1.6rem;margin:22px 0 16px}
.club-page .pillar p{font-size:1rem;color:#405264}
.club-page .pillar a{color:#4f0113;font-weight:700;text-decoration:underline;text-underline-offset:5px;font-size:.88rem;margin-top:12px}
.club-page .pillar .eyebrow{font-size:.76rem}
.club-page .recognition{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.club-page .club-partner{background:white;border-top:5px solid #4f0113;padding:30px}
.club-page .club-partner h3{font-size:1.6rem}
.club-page .club-partner p{font-size:1rem}
.club-page .small{font-size:.84rem;color:#52606c}
.club-page .wall-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.club-page .count{font-size:2rem;font-weight:700;white-space:nowrap}
.club-page .wall{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin:32px 0 20px}
.club-page .slot{aspect-ratio:1;position:relative;display:flex;align-items:center;justify-content:center;padding:8px 5px;border:1px solid #d9d5d1;background:#f0ecea;color:#63707b;min-width:0}
.club-page .slot.filled{background:#fff;color:#001427}
.club-page .slot-no{position:absolute;top:3px;left:4px;font-size:10px}
.club-page .slot-name{font-size:11px;line-height:1.2;overflow-wrap:anywhere}
.club-page .closing{padding:80px 20px;background:#001427;color:#fff;text-align:center}
.club-page .closing p{margin:0 auto 20px;max-width:60ch}
.club-page .closing .actions{justify-content:center}
.club-page .closing .eyebrow{color:#f3bdc8}
@media(max-width:760px){
 .club-page .pillars,.club-page .recognition{grid-template-columns:1fr}
 .club-page .club-section{padding:60px 20px}
 .club-page .wall{gap:3px}
 .club-page .slot{padding:0}
 .club-page .slot-no{position:static;font-size:10px}
 .club-page .slot-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .club-page .slot.filled{background:#e4d8dc}
 .club-page .count{font-size:1.5rem}
}

/* The generated 100 Club community image is exclusive to this page. */
.club-page .hero.hero-100club{background-image:linear-gradient(90deg,rgba(0,20,39,.93) 0%,rgba(0,20,39,.78) 42%,rgba(0,20,39,.2) 72%,rgba(0,20,39,.02) 100%),url('/assets/100club-business-owners.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
@media(max-width:760px){.club-page .hero.hero-100club{background-image:linear-gradient(90deg,rgba(0,20,39,.9),rgba(0,20,39,.58)),url('/assets/100club-business-owners.webp');background-position:62% center}}

/* Keep the approved desktop title on exactly two lines. */
.club-page .hero-100club h1{max-width:none}
.club-page .hero-100club h1>span{display:block}
@media(min-width:761px){.club-page .hero-100club h1>span{white-space:nowrap}}

/* Partner identity sits at the top-right without overlapping the heading. */
.club-page .club-partner-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.club-page .club-partner-heading h3{flex:1;min-width:0;margin:0}
.club-page .club-partner-logo{width:35%;max-width:150px;height:auto;object-fit:contain;flex:none}
@media(max-width:420px){.club-page .club-partner-heading{gap:12px}.club-page .club-partner-heading h3{font-size:1.3rem}.club-page .club-partner-logo{width:40%}}

/* Display the uploaded FTG mark in landscape, removing only blank canvas. */
.club-page .club-partner-logo-ftg{aspect-ratio:632 / 300;object-fit:cover;object-position:center;height:auto}

/* One shared, centred logo area keeps all member marks aligned. */
.club-page .wall .slot.filled{padding:14px 9px;display:grid;place-items:center}
.club-page .wall .member-logo{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;min-width:0;min-height:0}
.club-page .wall .member-dark{background:#001427}
.club-page .wall .member-dark .slot-no{color:#fff9f9}
@media(max-width:760px){.club-page .wall .slot.filled{padding:8px 3px}.club-page .wall .slot-no{position:absolute;top:1px;left:2px;font-size:8px}.club-page .wall .slot.filled:not(.member-dark){background:#fff}}

/* Enlarge the member artwork smoothly without changing the grid layout. */
.club-page .wall{position:relative;isolation:isolate}
.club-page .wall .slot.filled{z-index:0;transform-origin:center top;transition:transform 360ms cubic-bezier(.2,.75,.25,1),box-shadow 360ms ease;outline-offset:3px}
.club-page .wall .slot.filled:first-child{transform-origin:left top}
.club-page .wall .slot.filled:nth-child(10n){transform-origin:right top}
.club-page .wall .slot.filled:focus-visible{z-index:5;transform:translateY(-3px) scale(1.85);box-shadow:0 12px 30px rgba(0,20,39,.25);outline:2px solid var(--maroon)}
@media(hover:hover) and (pointer:fine){.club-page .wall .slot.filled:hover{z-index:5;transform:translateY(-3px) scale(1.85);box-shadow:0 12px 30px rgba(0,20,39,.25)}}
@media(prefers-reduced-motion:reduce){.club-page .wall .slot.filled{transition:none}}

/* Mobile member orbit. Desktop retains the chronological 10 × 10 wall. */
.club-page .member-explorer{display:none}
@media(max-width:760px){
 .club-page .member-section .wall-heading{align-items:flex-start}
 .club-page .member-section .wall-heading h2{font-size:2rem}
 .club-page .member-section .count{font-size:1.1rem;padding-top:6px}
 .club-page .member-section .wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .club-page .member-section .wall .slot:not(.filled){display:none}
 .club-page .member-section .wall.orbit-enhanced{display:none}
 .club-page .member-explorer{display:block;background:#001427;color:#fff9f9;margin:28px -20px 20px;padding:26px 0 24px;overflow:hidden;--orbit-radius:360px}
 .club-page .orbit-top{padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
 .club-page .orbit-top .eyebrow{font-size:.6rem;max-width:23ch;color:#f3bdc8;line-height:1.6}
 .club-page .member-explorer button{font-family:inherit;cursor:pointer}
 .club-page .orbit-play{border:1px solid #697987;border-radius:3px;background:transparent;color:#fff9f9;font-size:.7rem;min-height:44px;padding:8px 12px;white-space:nowrap}
 .club-page .orbit-stage{height:264px;position:relative;perspective:1000px;touch-action:pan-y;outline-offset:-4px}
 .club-page .orbit-stage:after{content:'';position:absolute;bottom:0;left:10%;width:80%;height:26px;background:radial-gradient(ellipse,rgba(0,0,0,.5),transparent 70%);pointer-events:none}
 .club-page .orbit-ring{position:absolute;width:216px;height:184px;left:calc(50% - 108px);top:40px;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.2,.75,.25,1)}
 .club-page .orbit-card{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border:1px solid #d9d5d1;border-radius:3px;background:#fff;padding:33px 20px 22px;backface-visibility:hidden;box-shadow:0 18px 28px #0004;transition:opacity .6s;overflow:hidden}
 .club-page .orbit-card.member-dark,.club-page .directory-card.member-dark{background:#001427;border-color:#647789;color:white}
 .club-page .orbit-number{position:absolute;left:14px;top:10px;font-size:.65rem;font-weight:700;letter-spacing:.12em;color:#52606c}
 .club-page .member-dark .orbit-number{color:#f3bdc8}
 .club-page .orbit-card img{display:block;width:100%;height:100%;object-fit:contain;min-height:0}
 .club-page .orbit-caption{text-align:center;font-size:1.1rem;font-weight:700;padding:0 20px;min-height:2.8em;display:flex;align-items:center;justify-content:center}
 .club-page .orbit-controls{display:flex;align-items:center;justify-content:center;gap:28px}
 .club-page .orbit-controls button{border:1px solid #697987;border-radius:50%;background:transparent;color:#fff;width:44px;height:44px;font-size:1.3rem}
 .club-page .orbit-controls>span{font-size:.75rem;color:#c1cad2}
 .club-page .orbit-progress{display:flex;gap:5px;justify-content:center;margin:22px 20px}
 .club-page .orbit-progress>span{width:13px;height:3px;background:#52606c;transition:background .3s}
 .club-page .orbit-progress>.active{background:#f3bdc8}
 .club-page .orbit-directory{display:block;margin:0 auto 24px;min-height:44px;padding:10px 16px;border:0;border-bottom:1px solid #f3bdc8;color:#fff9f9;background:none;font-size:.8rem}
 .club-page .member-directory{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px 24px}
 .club-page .member-directory[hidden]{display:none}
 .club-page .directory-card{background:white;color:#001427;border:1px solid #d9d5d1;padding:16px 12px 12px;display:flex;flex-direction:column;gap:12px;border-radius:3px}
 .club-page .directory-card img{width:100%;height:75px;object-fit:contain}
 .club-page .directory-card span{font-size:.65rem;line-height:1.5}
 .club-page .orbit-vacancy{display:flex;align-items:center;gap:16px;margin:0 20px;border-top:1px solid #52606c;padding-top:22px;color:#fff9f9;text-decoration:none}
 .club-page .orbit-vacancy>span{font-size:2rem;color:#f3bdc8}
 .club-page .orbit-vacancy strong{font-size:.85rem;display:block}
 .club-page .orbit-vacancy small{font-size:.75rem;display:block;margin-top:7px;color:#f3bdc8}
 .club-page .member-explorer button:focus-visible,.club-page .orbit-vacancy:focus-visible{outline:2px solid #f3bdc8;outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){.club-page .orbit-ring,.club-page .orbit-card,.club-page .orbit-progress>span{transition:none}}
@media(max-width:760px){.club-page .member-section{padding-top:32px}.club-page .member-section>.small{margin-bottom:0}}

/* Five visible members curve around an enlarged centre logo. */
@media(max-width:760px){
 .club-page .orbit-stage{perspective:900px;height:245px}
 .club-page .orbit-ring{inset:0;width:100%;height:100%;transform:none!important;transition:none}
 .club-page .orbit-card{inset:auto;left:0;top:40px;width:100%;height:174px;padding:34px 32% 22px;background:transparent!important;border:0;box-shadow:none;overflow:visible;transform-style:preserve-3d;backface-visibility:visible;transform:translateX(var(--card-x)) translateZ(var(--card-depth)) rotateY(var(--card-turn)) scale(var(--card-scale));transition:transform 1100ms cubic-bezier(.22,.65,.25,1),opacity 900ms ease;pointer-events:none!important}
 .club-page .orbit-card:before{content:'';position:absolute;top:0;bottom:0;left:30%;right:30%;border:1px solid #d9d5d1;border-radius:3px;background:white;box-shadow:0 16px 30px #0005;z-index:-1;pointer-events:auto}
 .club-page .orbit-card.member-dark:before{background:#001427;border-color:#647789}
 .club-page .orbit-card[aria-hidden="true"]:before{pointer-events:none}
 .club-page .orbit-card img{pointer-events:auto}
 .club-page .orbit-card[aria-hidden="true"] img{pointer-events:none}
 .club-page .orbit-number{left:33%;top:12px;font-size:.6rem}
 .club-page .orbit-card:focus-visible{outline:none}
 .club-page .orbit-card:focus-visible:before{outline:2px solid #f3bdc8;outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){.club-page .orbit-card{transition:none}}
