/* Compact competition typography and a collectible, responsive honours grid. */
#leaderboard .page-heading{min-height:210px;padding:16px 0 26px;align-items:start}#leaderboard .page-heading .eyebrow{font:550 7px 'Plus Jakarta Sans';letter-spacing:2px}#leaderboard .page-heading h1{font:650 clamp(38px,4.2vw,57px)/1.03 Outfit;letter-spacing:-1.9px;margin:19px 0 15px}#leaderboard .page-heading h1 em{font:400 italic 1.02em Georgia,serif;letter-spacing:-2px;color:var(--accent)}#leaderboard .page-heading p{font:400 14px/1.7 Outfit;color:var(--muted);margin:0;max-width:400px}#leaderboard .heading-art{height:235px;top:0}#leaderboard .demo-pill{margin-top:14px}
#badges .achievement-heading{padding:29px 0 25px;margin-bottom:0;position:relative}#badges .achievement-title{margin:16px 0 12px;align-items:end}#badges .achievement-title h1{font:600 clamp(35px,3.8vw,49px)/1.02 Outfit;letter-spacing:-1.4px}#badges .achievement-title h1 em{letter-spacing:-1.5px}#badges .achievement-heading>p{font-size:13px;line-height:1.6}#badges .honours-edition{font-size:6px;letter-spacing:1.1px}#badges .badges-gallery-header{margin:22px 0 15px}#badges .badges-gallery-header h2{font:500 14px Outfit;letter-spacing:0;color:var(--muted)}#badges .badges-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;border:0;margin-bottom:25px;align-items:start}#badges .minimal-badge{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:19px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(140deg,#ffffff05,transparent),var(--sidebar);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff08;animation:collection-enter 260ms var(--ease-out) var(--card-delay) both}#badges .minimal-badge:before{content:'';display:block;position:absolute;inset:0;background:radial-gradient(ellipse at 50% 10%,#ad7cda09,transparent 60%);pointer-events:none}#badges .honour-art{height:110px;margin:0 0 13px;position:relative;display:grid;place-items:center;isolation:isolate}#badges .honour-art:before{content:'';position:absolute;width:95px;height:95px;border:1px solid var(--line);border-radius:50%;z-index:-1;opacity:.5}#badges .honour-art:after{content:'';position:absolute;width:110px;height:110px;border-radius:50%;background:radial-gradient(ellipse,#b88ce514,transparent 68%);z-index:-1}#badges .honour-index{font:450 8px Outfit;top:0;left:0;color:var(--muted)}#badges .badge-card-image{height:95px;width:95px;filter:drop-shadow(0 5px 10px #0002);animation:collectible-float 5s ease-in-out infinite;animation-delay:calc(var(--card-delay)*-12)}#badges .honour-category{font:550 5px 'Plus Jakarta Sans';letter-spacing:1.5px;margin:0 0 9px;color:var(--accent)}#badges .badge-card-title{font:600 21px/1.15 Outfit;letter-spacing:-.5px;margin:0 0 9px}#badges .badge-card-desc{font:400 12px/1.7 Outfit;margin:0 0 11px;color:var(--muted);min-height:42px}#badges .honour-rule{border-top:1px solid var(--line);padding-top:10px;margin-top:8px}#badges .honour-rule summary{display:flex;justify-content:space-between;gap:15px;font:500 10px Outfit;min-height:29px;width:100%;color:var(--text)}#badges .honour-rule summary>span{font-size:16px;transition:transform 180ms var(--ease-out)}#badges .honour-rule .badge-card-criteria-text{font:400 12px/1.75 Outfit;padding-top:10px;color:var(--muted)}:root[data-theme=light] #badges .minimal-badge{background:#fffdfd;border-color:#d8cbe2;box-shadow:0 5px 16px #38244c04}:root[data-theme=light] #badges .badge-card-title{color:#30213d}:root[data-theme=light] #badges .honour-category,:root[data-theme=light] #badges .honour-rule summary{color:#5e3f75}:root[data-theme=light] #badges .badge-card-desc,:root[data-theme=light] #badges .honour-rule .badge-card-criteria-text{color:#665270}:root[data-theme=light] #leaderboard .page-heading h1 em{color:#76508f}
@keyframes collection-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes collectible-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(2deg)}}
@media(hover:hover) and (pointer:fine){#badges .minimal-badge{transition:border-color 180ms ease}#badges .minimal-badge:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:none}#badges .minimal-badge:hover .badge-card-image{animation-play-state:paused}#badges .honour-rule summary:hover{color:var(--accent)}}
@media(max-width:1100px) and (min-width:701px){#badges .badges-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#leaderboard .page-heading h1{font-size:43px}#leaderboard .heading-art{opacity:.4}}
@media(max-width:700px){#leaderboard .page-heading{padding:9px 0 23px;min-height:205px;margin-bottom:15px}#leaderboard .page-heading .eyebrow{font-size:5px;letter-spacing:1.4px}#leaderboard .page-heading h1{font-size:39px;letter-spacing:-1.3px;margin:17px 0 13px}#leaderboard .page-heading h1 em{letter-spacing:-1.4px}#leaderboard .page-heading p{font-size:12px;line-height:1.7;max-width:225px}#leaderboard .heading-art{height:200px;top:20px;opacity:.45}#leaderboard .demo-pill{margin:0;top:5px}#badges .achievement-heading{padding:23px 0 20px}#badges .achievement-title{margin:17px 0 12px;display:flex;align-items:end;gap:15px}#badges .achievement-title h1{font-size:35px;letter-spacing:-1.1px}#badges .achievement-title h1 em{letter-spacing:-1.2px}#badges .honours-edition{font-size:4px;line-height:1.8;margin-bottom:3px;letter-spacing:.6px;max-width:75px}#badges .achievement-heading>p{font-size:12px;max-width:280px}#badges .badges-gallery-header{margin:18px 0 13px}#badges .badges-gallery-header h2{font-size:12px}#badges .badges-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#badges .minimal-badge{padding:14px 12px;border-radius:13px}#badges .honour-art{height:87px;margin:0 0 12px}#badges .honour-art:before{width:74px;height:74px}#badges .honour-art:after{width:86px;height:86px}#badges .badge-card-image{height:76px;width:76px}#badges .honour-index{font-size:6px;top:0;left:0}#badges .honour-category{font-size:4px;letter-spacing:1px;margin-bottom:7px}#badges .badge-card-title{font-size:18px;letter-spacing:-.4px;margin-bottom:8px}#badges .badge-card-desc{font-size:11px;line-height:1.7;min-height:56px;margin-bottom:10px}#badges .honour-rule{margin-top:4px;padding-top:7px}#badges .honour-rule summary{font-size:9px;min-height:36px;gap:8px}#badges .honour-rule summary>span{font-size:14px}#badges .honour-rule .badge-card-criteria-text{font-size:11px;line-height:1.8;padding-top:7px}}
@media(max-width:360px){#badges .badges-grid{grid-template-columns:1fr}#badges .minimal-badge{padding:20px}#badges .honour-art{height:95px}#badges .badge-card-title{font-size:22px}#badges .badge-card-desc{font-size:13px;min-height:0}#badges .honour-rule summary{font-size:11px}#badges .honour-rule .badge-card-criteria-text{font-size:12px}}
@media(prefers-reduced-motion:reduce){#badges .minimal-badge,#badges .badge-card-image{animation:none}#badges .minimal-badge,#badges .honour-rule summary>span{transition:none}}

/* One collectible per mobile viewport; native gestures retain vertical page scrolling. */
.badge-carousel-controls{display:none}
@media(max-width:700px){
 #badges .badges-grid{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;align-items:stretch;margin-bottom:18px;padding:2px 0 12px;touch-action:pan-x pan-y pinch-zoom}
 #badges .badges-grid::-webkit-scrollbar{display:none}
 #badges .minimal-badge{box-sizing:border-box;flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;padding:25px;animation:none;min-height:360px}
 #badges .honour-art{height:160px;margin-bottom:23px}
 #badges .badge-card-image{width:145px;height:145px}
 #badges .honour-art:before{width:142px;height:142px}
 #badges .honour-art:after{width:165px;height:165px}
 #badges .honour-category{font-size:9px;letter-spacing:1.6px}
 #badges .badge-card-title{font-size:28px;line-height:1.12;margin-bottom:12px}
 #badges .badge-card-desc{font-size:14px;line-height:1.65;min-height:0}
 #badges .honour-rule summary{font-size:13px;min-height:44px;touch-action:manipulation}
 #badges .honour-rule .badge-card-criteria-text{font-size:13px}
 .badge-carousel-controls{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;max-width:360px;margin:0 auto 28px}
 .badge-carousel-controls>button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--sidebar);color:var(--text);touch-action:manipulation;cursor:pointer}
 .badge-carousel-controls>button svg{width:20px;height:20px}
 .badge-carousel-controls>button:disabled{opacity:.3;cursor:default}
 .badge-carousel-controls button:active:not(:disabled){transform:scale(.94)}
 .badge-carousel-dots{display:flex;justify-content:center;gap:0}
 .badge-carousel-dots button{width:26px;height:44px;padding:0;border:0;background:none;position:relative;touch-action:manipulation;cursor:pointer}
 .badge-carousel-dots button:after{content:'';position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:9px;background:var(--muted);opacity:.4;transform:translate(-50%,-50%);transition:width 180ms ease,opacity 180ms ease}
 .badge-carousel-dots button[aria-current]:after{width:18px;background:var(--accent);opacity:1}
 .badge-carousel-status{grid-column:1/-1;text-align:center;font:500 11px Outfit;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:2px}
 .badge-carousel-controls button:focus-visible,#badges-grid:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){.badge-carousel-dots button:after{transition:none}}

/* Center the mobile collectible and club signature on one consistent axis. */
@media(max-width:700px){
 #badges .minimal-badge .honour-copy{text-align:center;width:100%;min-width:0}
 #badges .badge-card-desc{margin-left:auto;margin-right:auto;max-width:30ch}
 #badges .honour-rule summary{justify-content:center;gap:14px}
 #badges .honour-rule .badge-card-criteria-text{text-align:center;margin-left:auto;margin-right:auto;max-width:34ch}
 .club-footer.main-footer{text-align:center;justify-items:center;gap:26px;padding-top:32px}
 .club-footer .footer-identity{flex-direction:column;align-items:center;gap:17px;width:100%}
 .club-footer .footer-kicker{font-size:8px;line-height:1.6;letter-spacing:1.5px;margin-bottom:8px}
 .club-footer .footer-identity strong{display:block;font-size:23px;line-height:1.2}
 .club-footer .footer-identity p{font-size:12px;line-height:1.7;max-width:30ch;margin:10px auto 0}
 .club-footer .footer-destinations{width:100%;max-width:360px;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;justify-items:center}
 .club-footer .footer-destinations a{width:100%;min-height:54px;text-align:center}
 .club-footer .footer-destinations a>span{font-size:8px;line-height:1.6;letter-spacing:1.1px}
 .club-footer .footer-destinations b{justify-content:center;align-items:center;gap:8px;margin-top:9px}
 .club-footer .footer-baseline{width:100%;flex-direction:column;justify-content:center;gap:5px;font-size:10px;line-height:1.7;padding-top:20px}
 .club-footer .footer-baseline>span:first-child{max-width:none}
}
