/* Shared look for the club sites and the platform. Light theme by default; dark.css switches the same components to dark. */
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@500;600;700;800&family=Source+Sans+3:wght@400;600;700&display=swap');
:root{--blue:#1C4FA0;--blue-d:#123A7A;--blue-l:#EEF3FB;--ink:#0E1521;--mut:#5A6577;--line:#D9DFE8;--gold:#F2B705;--ok:#1E7B4A;--okbg:#E4F4EA;--warn:#8A5A00;--warnbg:#FFF1D0;--bad:#A12B2B;--badbg:#FBE6E6}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:'Source Sans 3',system-ui,sans-serif;color:var(--ink);background:#fff;font-size:17px;line-height:1.5}
h1,h2,h3,h4{font-family:Barlow,sans-serif;font-weight:700;line-height:1.1;margin:0 0 12px;letter-spacing:-.01em}
h1{font-size:56px;font-weight:800}h2{font-size:38px}h3{font-size:23px}h4{font-size:18px}
p{margin:0 0 14px}a{color:var(--blue);text-decoration:none}
.wrap{max-width:1140px;margin:0 auto;padding:0 32px}
section{padding:64px 0}
.tint{background:var(--blue-l)}.dark{background:var(--ink);color:#fff}.bluebg{background:var(--blue-d);color:#fff}
.dark p,.bluebg p{color:#C9D3E3}
.eyebrow{font-family:Barlow;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:var(--blue);margin-bottom:10px}
.dark .eyebrow,.bluebg .eyebrow{color:var(--gold)}
.lead{font-size:20px;color:var(--mut);max-width:640px}
.btn{display:inline-block;font-family:Barlow;font-weight:700;font-size:16px;padding:12px 22px;border-radius:6px;background:var(--blue);color:#fff;border:2px solid var(--blue);cursor:pointer}
.btn.ghost{background:transparent;color:var(--blue)}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}
.btn.lghost{background:transparent;color:#fff;border-color:#ffffff66}
.btn.sm{padding:7px 14px;font-size:14px}
.btn.ok{background:var(--ok);border-color:var(--ok)}.btn.bad{background:#fff;color:var(--bad);border-color:var(--bad)}
.row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:32px}.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px}
.card.hi{border:2px solid var(--blue);box-shadow:0 10px 30px #1c4fa022}
.mut{color:var(--mut)}.small{font-size:14px}.center{text-align:center}
.badge{display:inline-block;font-family:Barlow;font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:99px;background:#E9ECF1;color:#3C4658;white-space:nowrap}
.badge.ok{background:var(--okbg);color:var(--ok)}.badge.warn{background:var(--warnbg);color:var(--warn)}.badge.bad{background:var(--badbg);color:var(--bad)}.badge.blue{background:var(--blue-l);color:var(--blue)}.badge.gold{background:var(--gold);color:var(--ink)}
table.data{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:16px}
table.data th{font-family:Barlow;font-size:13px;text-transform:uppercase;letter-spacing:.07em;text-align:left;color:var(--mut);background:#F6F8FB;padding:11px 14px;border-bottom:1px solid var(--line)}
table.data td{padding:11px 14px;border-bottom:1px solid #EDF0F5;vertical-align:middle}
table.data tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
td.big{font-family:Barlow;font-weight:700;font-size:18px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{font-family:Barlow;font-weight:600;font-size:14px;padding:6px 14px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.chip.on{background:var(--blue);border-color:var(--blue);color:#fff}
.stat{font-family:Barlow;font-weight:800;font-size:40px;line-height:1}
.statl{font-size:14px;color:var(--mut);margin-top:6px}
label{display:block;font-weight:600;font-size:15px;margin-bottom:5px}
.in{display:block;width:100%;border:1px solid #B9C2D0;border-radius:6px;padding:10px 12px;font:inherit;background:#fff;min-height:44px}
.field{margin-bottom:16px}.hint{font-size:14px;color:var(--mut);margin-top:4px}
.note{background:var(--blue-l);border-left:4px solid var(--blue);padding:12px 16px;border-radius:6px;font-size:15px}
.note.warn{background:var(--warnbg);border-color:var(--gold)}
.pagehead{background:var(--ink);color:#fff;padding:52px 0 48px}.pagehead h1{font-size:46px}.pagehead p{color:#C9D3E3;font-size:19px;max-width:680px;margin:0}
header.nav{background:#fff;border-bottom:1px solid var(--line)}
header.nav .wrap{display:flex;align-items:center;gap:28px;height:72px}
.logo{display:flex;align-items:center;gap:10px;font-family:Barlow;font-weight:800;font-size:19px;color:var(--ink);line-height:1}
.logo small{display:block;font-weight:600;font-size:11px;letter-spacing:.14em;color:var(--blue);text-transform:uppercase;margin-top:3px}
nav.links{display:flex;gap:24px;margin-left:auto;font-family:Barlow;font-weight:600;font-size:16px}
nav.links a{color:var(--ink);padding:25px 0;border-bottom:3px solid transparent}nav.links a.on{color:var(--blue);border-color:var(--blue)}
footer{background:var(--ink);color:#C9D3E3;padding:48px 0 28px;font-size:15px}
footer h4{color:#fff;font-size:15px;text-transform:uppercase;letter-spacing:.08em}
footer a{color:#C9D3E3;display:block;margin-bottom:6px}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
footer .legal{border-top:1px solid #2A3446;margin-top:32px;padding-top:18px;font-size:13px;color:#8D99AD}
.bar{height:12px;background:#ffffff2a;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--gold)}
.bar.lt{background:#E3E8F0}.bar.lt i{background:var(--blue)}
.ph{background:linear-gradient(135deg,#DCE6F6,#F3F6FB);border-radius:10px;display:flex;align-items:center;justify-content:center}
.date{width:64px;text-align:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;flex:none}
.date b{display:block;background:var(--blue);color:#fff;font-family:Barlow;font-size:12px;letter-spacing:.1em;padding:2px 0}
.date span{display:block;font-family:Barlow;font-weight:800;font-size:24px;padding:4px 0}
.ev{display:flex;gap:18px;align-items:center;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:10px}
.ev .grow{flex:1}
img{max-width:100%}
input.in,select.in,textarea.in{font-family:inherit;font-size:16px;color:inherit}
select.in{appearance:auto}
button.btn{font-family:Barlow,sans-serif}
button.link{background:none;border:0;padding:0;color:var(--blue);font:inherit;cursor:pointer}
.msg{padding:12px 16px;border-radius:6px;margin-bottom:18px;background:var(--okbg);color:var(--ok);font-weight:600}
.msg.err{background:var(--badbg);color:var(--bad)}
.dev{background:var(--warnbg);color:var(--warn);border:1px dashed var(--gold);padding:10px 14px;border-radius:6px;font-size:15px;margin-bottom:16px}
.narrow{max-width:460px;margin:0 auto}
.stack>*+*{margin-top:20px}
.inline{display:inline}
nav.links a.btn{padding:7px 14px;border-bottom:2px solid var(--blue);color:#fff}
@media(max-width:900px){.g2,.g3,.g4,footer .cols{grid-template-columns:1fr}h1{font-size:38px}header.nav .wrap{height:auto;flex-wrap:wrap;padding:12px 20px}nav.links{margin-left:0;flex-wrap:wrap;gap:14px}nav.links a{padding:6px 0}table.data{display:block;overflow-x:auto}}
/* Header: main menu in the middle, and on the right whatever fits the person looking (sign in, join, admin, account menu). */
nav.links{margin:0 auto}
.acts{display:flex;align-items:center;gap:10px;flex:none}
.acts a.plain{font-family:Barlow;font-weight:600;font-size:16px;color:var(--ink);padding:10px 8px}
.pill{display:inline-flex;align-items:center;gap:6px;font-family:Barlow;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);border:1px solid currentColor;border-radius:99px;padding:7px 12px;white-space:nowrap}
.pill:hover{background:var(--blue-l)}
details.pop{position:relative}
details.acct summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:44px;padding:3px 10px 3px 3px;border:1px solid var(--line);border-radius:99px;cursor:pointer;color:var(--ink)}
details.acct summary::-webkit-details-marker{display:none}
details.acct summary:focus-visible,.pop .menu a:focus-visible,.pop .menu button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.acct .ini{width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Barlow;font-weight:700;font-size:14px}
.pop .menu{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:290px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px #0e152133;padding:8px}
.acct .who{display:flex;flex-direction:column;gap:2px;padding:10px 12px 14px;border-bottom:1px solid var(--line);margin-bottom:6px}
.acct .who b{font-family:Barlow;font-size:17px}
.acct .who .mail{font-size:14px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct .who .role{font-size:13px;font-weight:600;color:var(--blue);margin-top:4px}
.pop .menu a,.pop .menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:8px;background:none;color:var(--ink);font:inherit;font-weight:600;text-align:left;cursor:pointer}
.pop .menu a:hover,.pop .menu button:hover{background:var(--blue-l)}
.pop .menu .hint{font-size:13px;font-weight:400;color:var(--mut)}
.pop .menu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}
.pop .menu form{margin:0}
@media(max-width:900px){nav.links{margin:0;order:3;width:100%}.acts{margin-left:auto}}
/* Event card: the tick shown when the person is already entered. */
.ev .head{display:flex;gap:18px;align-items:center;flex:1;min-width:0}
.in-ev{display:inline-flex;align-items:center;gap:5px;font-family:Barlow;font-weight:700;font-size:15px;color:var(--ok);white-space:nowrap}
/* The More menu and the tab icons exist only on a phone. */
details.more,nav.links .ic{display:none}
details.pop summary{list-style:none}details.pop summary::-webkit-details-marker{display:none}
/* Phones and small tablets. A club's site gets a short top bar and a tab bar fixed along the bottom. */
@media(max-width:900px){
.wrap{padding:0 20px}
.pagehead{padding:30px 0 28px}.pagehead h1{font-size:38px}.pagehead p{font-size:17px}
/* Menus slide up from the bottom, over a dimmed page. Tapping the dimmed part closes them: it is the menu's own button, stretched. */
.pop .menu{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-width:none;z-index:60;border-radius:16px 16px 0 0;border-width:1px 0 0;padding:12px 12px calc(16px + env(safe-area-inset-bottom))}
.pop .menu a,.pop .menu button{min-height:48px;font-size:17px}
details.pop[open]>summary::before{content:'';position:fixed;inset:0;background:#03080eb8;z-index:55;cursor:default}
body.tabbed{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
body.tabbed header.nav .wrap{height:64px;flex-wrap:nowrap;gap:10px;padding:0 12px 0 16px}
body.tabbed .logo{flex:1;min-width:0;font-size:17px}
body.tabbed .logo span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.tabbed .logo small{font-size:10px;overflow:hidden;text-overflow:ellipsis}
body.tabbed .acts{margin:0;gap:8px}
body.tabbed .acts a.plain{padding:10px 4px;font-size:15px}
body.tabbed .pill.adm{width:44px;height:44px;padding:0;justify-content:center}body.tabbed .pill.adm span{display:none}body.tabbed .pill.adm svg{width:20px;height:20px}
body.tabbed details.acct summary{padding:0;border:0}body.tabbed details.acct summary>svg{display:none}body.tabbed .acct .ini{width:44px;height:44px;font-size:15px}
nav.links.tabs{position:fixed;left:0;right:0;bottom:0;z-index:50;order:0;width:auto;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;background:#fff;border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));font-size:12px}
nav.links.tabs>a,nav.links.tabs summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;padding:4px 0;border:0;color:var(--mut);cursor:pointer}
nav.links.tabs>a.on,nav.links.tabs summary.on,nav.links.tabs details[open] summary{color:var(--blue)}
nav.links.tabs>a.wide{display:none}
nav.links.tabs .ic{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
nav.links.tabs details.more{display:block;position:static}
/* Event cards stack: date and name, then the details, then a full-width button. */
.ev.stk{flex-direction:column;align-items:stretch;gap:12px;padding:16px}
.ev.stk .badge,.ev.stk .in-ev{align-self:flex-start}
.ev.stk .btn{text-align:center;padding:13px 14px;font-size:16px}
}
/* A club location's weekly hours on the public site. */
table.hours{border-collapse:collapse;margin-top:14px;font-size:15px;width:100%}
table.hours th{text-align:left;font-weight:600;padding:5px 16px 5px 0;white-space:nowrap;vertical-align:top;width:1%}
table.hours td{padding:5px 0}
table.hours tr+tr th,table.hours tr+tr td{border-top:1px solid var(--line)}
.acct .nm{display:none}
/* Raffle: the public page, the request form and the home page band. */
.raffle{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:40px;align-items:start}
.raffle.noposter{grid-template-columns:minmax(0,760px)}
.rposter img{display:block;width:100%;border-radius:10px;box-shadow:0 10px 30px #0e152122}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:18px 0}
.facts b{display:block;font:700 20px Barlow;line-height:1.2}.facts span{font-size:14px;color:var(--mut)}
.card .legal{font-size:13px;color:var(--mut);border-top:1px solid var(--line);padding-top:12px}
.card .legal:empty{display:none}
.g2.tight,.g3.tight{gap:12px}.g3.addr{grid-template-columns:1.4fr 1fr 1fr}
.ref{font:600 13px Barlow;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);white-space:nowrap}
.ref b,.refcode{font:800 19px ui-monospace,Consolas,monospace;letter-spacing:.14em;color:var(--ink);text-transform:none}
.ref b{background:var(--blue-l);border:1px solid var(--line);border-radius:6px;padding:3px 8px;margin-left:6px}
.refcode{font-size:16px}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.qty button{width:48px;height:48px;border:0;background:var(--blue-l);font:700 24px Barlow;color:var(--ink);cursor:pointer}
.qty input{width:64px;height:48px;border:0;text-align:center;font:800 22px Barlow;color:inherit;background:transparent;-moz-appearance:textfield;appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.total{font:800 30px Barlow;line-height:1.1}
.btn.wide{display:block;width:100%;padding:15px;text-align:center;overflow-wrap:anywhere}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
select.in:disabled{opacity:1;background:var(--blue-l);color:var(--ink)}
@media(max-width:900px){
.raffle{grid-template-columns:1fr;gap:24px}.rposter{max-width:360px;margin:0 auto}
.facts,.g3.addr,.g2.tight{grid-template-columns:1fr}
/* The tab bar has four or five tabs, depending on whether there is a raffle to show. */
nav.links.tabs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
}
.pagehead .eyebrow{color:var(--gold)}.pagehead .eyebrow a{color:inherit}
/* Events: banner behind the title, poster in the details, shoot lines on the entry form. */
.pagehead.hasbanner{background-size:cover;background-position:center}
.evdetails{display:flex;gap:20px;align-items:flex-start}
.evposter{flex:none;width:130px}.evposter img{display:block;width:100%;border-radius:8px;box-shadow:0 6px 18px #0e152122}
.evdetails .grow{flex:1;min-width:0}
fieldset.lines{border:0;padding:0;margin:0 0 16px;display:grid;gap:10px}
fieldset.lines legend{font-weight:600;font-size:15px;margin-bottom:5px;padding:0}
.line{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff;cursor:pointer;margin:0;font-weight:400}
.line:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:var(--blue-l)}
.line.full{opacity:.6;cursor:not-allowed}
.line .grow{flex:1;display:flex;flex-direction:column}.line b{font:700 17px Barlow}
.line input{width:18px;height:18px;accent-color:var(--blue);flex:none}
table.data tr.grp td{background:var(--blue-l);font:700 13px Barlow;letter-spacing:.08em;text-transform:uppercase}
.ev .evthumb{width:96px;height:64px;object-fit:cover;border-radius:8px;flex:none}
@media(max-width:900px){.evdetails{flex-direction:column}.evposter{width:160px}.ev .evthumb{display:none}}
/* Sponsors. The range wall: for each target, a spot above, the butt, a spot below. */
.wall{background:#D9B98C;border-radius:12px;padding:22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:16px}
.wall .col{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.wall .tn{text-align:center;font:700 12px Barlow;letter-spacing:.12em;text-transform:uppercase;color:#3A2A14}
.wall .gap{min-height:58px}
.spot{position:relative;border:2px dashed #7C5A2E;background:#ffffff8c;color:#3A2A14;border-radius:8px;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:700 15px Barlow;line-height:1.2;text-align:center;padding:4px;margin:0;overflow:hidden;overflow-wrap:anywhere}
.spot small{font:400 13px 'Source Sans 3',sans-serif}
label.spot{cursor:pointer}label.spot:hover{background:#fff}
.spot input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.spot:has(input:checked){border:2px solid var(--blue-d);background:var(--blue);color:#fff}
.spot:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}
.spot .on,.spot:has(input:checked) .off{display:none}.spot:has(input:checked) .on{display:inline}
.spot.taken{border:2px solid #B9C7CC;background:#C9D6DB;color:#3E525D}
.halves{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.butt{background:#16191d;border-radius:8px;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.butt i{width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#F2B705 0 14%,#D93A3A 14% 34%,#2F7FD8 34% 54%,#111 54% 74%,#fff 74% 100%)}
.sponsorgrid{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}
.picks{list-style:none;margin:0;padding:0}.picks li{display:flex;justify-content:space-between;gap:12px;padding:6px 0}
.picks+.row{border-top:1px solid var(--line);margin-top:6px;padding:12px 0 4px}
.pricerow{display:flex;justify-content:space-between;align-items:center;gap:12px}.pricerow+.pricerow{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.pricerow b.t{font:700 18px Barlow;display:block}.pricerow b.p{font:800 24px Barlow}
/* The sponsor band above the footer of every public page. */
.sponsors{background:var(--blue-d);color:#fff;padding:36px 0}
.sponsors.slim{padding:18px 0}
.sponsors .eyebrow{color:var(--gold)}.sponsors h2{margin:0;color:#fff}
.sponsors .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:20px}
.sponsors .cards>*{background:#0000002e;border:1px solid #ffffff3d;border-radius:10px;padding:14px 16px;display:flex;gap:12px;align-items:center;color:#fff;min-width:0}
.sponsors .cards b{font:700 19px Barlow;display:block;color:#fff;overflow-wrap:anywhere}.sponsors .cards small{font-size:13px;color:#ffffffc7}
.sponsors .cards a:hover b{text-decoration:underline}
.slogo{width:56px;height:44px;border-radius:8px;background:#fff;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden}
.slogo img{max-width:100%;max-height:100%;display:block}
@media(max-width:900px){.sponsorgrid{grid-template-columns:1fr}.wall{padding:14px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.sponsors .btn{width:100%;text-align:center}}
/* Resources: the library page. */
.ressearch{display:flex;align-items:center;gap:10px;background:#fff;border-radius:10px;padding:0 6px 0 14px;height:52px;max-width:520px;margin:18px 0 12px}
.ressearch input{flex:1;border:0;outline:0;font:inherit;font-size:17px;color:var(--ink);background:transparent;min-width:0}
.ressearch:focus-within{outline:3px solid var(--gold);outline-offset:2px}
.ressearch button{border:0;background:var(--blue);color:#fff;font:700 15px Barlow;border-radius:8px;padding:9px 14px;cursor:pointer}
.topics{display:flex;flex-wrap:wrap;gap:8px}
.topics a{display:inline-flex;align-items:center;gap:8px;font:700 15px Barlow;padding:8px 14px;min-height:40px;border-radius:99px;border:1px solid #3A4A5C;color:#fff;text-decoration:none}
.topics a.on{background:#fff;border-color:#fff;color:var(--ink)}
.topics a:hover{border-color:#fff}
.dot{width:10px;height:10px;border-radius:3px;flex:none;display:inline-block}
.reshead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:22px}
.reshead h2{margin:0}.reshead .eyebrow{margin-bottom:4px}
.orgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;align-items:start}
.org{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.org .oh{padding:20px 22px 16px;border-bottom:1px solid var(--line)}
.org .lvl{font:700 12px Barlow;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.org h3{margin:2px 0 4px;font-size:24px}.org .oh p{margin:0;font-size:15px;color:var(--mut)}
.rlink{display:flex;gap:14px;padding:16px 22px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.org .oh+.rlink{border-top:0}
.rlink:hover{background:var(--blue-l)}
.rlink .tbar{width:6px;border-radius:3px;flex:none;align-self:stretch}
.rlink .body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.rlink .ttl{font:700 18px Barlow;color:var(--blue-d);display:flex;align-items:center;gap:6px}
.rlink .why{font-size:15px;color:var(--mut);line-height:1.45}
.rtag{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font:700 11px Barlow;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:99px;background:var(--blue-l);color:var(--ink);border:1px solid var(--line)}
.rtag .dot{width:8px;height:8px;border-radius:2px}
.docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.doc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink)}
a.doc:hover{border-color:var(--blue)}
.doc .top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0}
.doc .ico{width:40px;height:40px;border-radius:10px;background:var(--blue-l);display:flex;align-items:center;justify-content:center;color:var(--blue-d)}
.doc b{font:700 18px Barlow}.doc .meta{font-size:14px;color:var(--mut)}
.doc .lock{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--mut)}
.doc.locked{background:transparent;border-style:dashed}
@media(max-width:900px){.orgs{grid-template-columns:1fr}.rlink{padding:14px 16px}.org .oh{padding:16px}}
/* A page heading with a picture on the right: Resources and Raffle. The picture is scaled to the height of the band, so both pages match. */
.bandpic{padding:26px 0}
.bandpic .wrap{display:flex;align-items:center;gap:40px;min-height:290px}
.bandpic.nopic .wrap{min-height:0}
.bandpic .txt{flex:1 1 0;min-width:0}
.bandpic .eyebrow{color:var(--gold);margin-bottom:6px}
.bandpic h1{font-size:42px;line-height:1.05;margin:0 0 8px}
.bandpic p{font-size:18px;max-width:600px}
.bandpic .ressearch{margin:14px 0 10px;height:46px;max-width:480px}
.bandpic .topics a{min-height:36px;padding:6px 12px;font-size:14px}
.bandpic .meta{display:flex;gap:10px 14px;flex-wrap:wrap;align-items:center;margin-top:14px;color:#C9D3E3}
.bandpic .plainlink{color:#fff;text-decoration:underline}
.bandpic .pic{flex:none;height:290px;display:flex;align-items:center}
.bandpic .pic a{display:block;line-height:0}
.bandpic .pic img{display:block;height:290px;width:auto;max-width:420px;object-fit:contain;border-radius:12px;box-shadow:0 14px 36px #0000008c;border:1px solid #ffffff14}
.rafflecols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.rafflecols.one{grid-template-columns:minmax(0,760px)}
/* The club home page heading: the club name on the left, the raffle on sale on the right, at the height of the other headings. */
.homeband .acts{margin-top:18px}
.homeraffle{flex:none;display:flex;align-items:center;gap:22px;max-width:60%}
.homeraffle .info{width:270px;min-width:0}
.homeraffle .name{display:block;font:800 26px Barlow;line-height:1.1;margin-bottom:8px}
.homeraffle .what{color:#ffffffd9;font-size:15px;line-height:1.45}
.homeraffle .btn{margin-top:14px}
.homeband .pic img{max-width:260px}
@media(max-width:900px){
.bandpic{padding:22px 0}
.bandpic .wrap{flex-direction:column;align-items:flex-start;gap:16px;min-height:0}
.bandpic h1{font-size:32px}.bandpic p{font-size:16px}
.bandpic .txt{width:100%}.bandpic .ressearch{max-width:none}
.bandpic .topics a{min-height:40px}
.bandpic .pic{height:170px;align-self:center}.bandpic .pic img{height:170px;max-width:100%}
.rafflecols{grid-template-columns:1fr}
.homeraffle{max-width:none;width:100%;flex-direction:row-reverse;align-items:flex-start;gap:14px;border-top:1px solid #ffffff33;padding-top:18px}
.homeraffle .info{width:auto;flex:1}.homeraffle .name{font-size:20px}.homeraffle .what{font-size:14px}
.homeband .pic{height:150px;align-self:flex-start}.homeband .pic img{height:150px;max-width:130px}
}
