/* Members portal. Builds on the public site's tokens in styles.css. */
.portal-tag{font:600 .7rem/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase;background:var(--fill);color:var(--on-garnet);padding:.3rem .45rem;border-radius:2px;align-self:center}
.demo-bar{background:var(--brand-truegold);color:#1E1A1B;font:600 .85rem/1.3 var(--f-display);letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:.5rem 16px}
.nav button.linkish{font:600 .95rem/1 var(--f-display);letter-spacing:.1em;text-transform:uppercase;background:none;border:0;color:var(--ink-soft);padding:.6rem .7rem;cursor:pointer;white-space:nowrap}
.nav button.linkish:hover{color:var(--garnet)}
.portal-main{padding-block:clamp(2rem,5vw,3.5rem) 4rem;min-height:60vh}
.view-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;padding-bottom:1.2rem;border-bottom:3px solid var(--ink)}
.view-head h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.view-head .sub{color:var(--ink-soft);margin-top:.5rem}
.muted{color:var(--ink-soft)}
.small{font-size:.9rem}

/* Board layout: news column + events rail */
.board{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.col-label{font:600 .8rem/1 var(--f-display);letter-spacing:.18em;text-transform:uppercase;color:var(--label);margin:0 0 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.posts{display:grid;gap:0}
.post{padding-block:1.4rem;border-bottom:1px solid var(--rule);display:grid;gap:.5rem}
.post:first-child{padding-top:0}
.post h3{font-size:1.6rem;text-transform:none;letter-spacing:0;font-weight:700}
.post .byline{font:600 .78rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.post .body{white-space:pre-line;max-width:65ch}
.pill{display:inline-block;font:600 .7rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;padding:.28rem .45rem;border-radius:2px;background:var(--paper-2);color:var(--ink-soft);border:1px solid var(--rule)}
.pill.garnet{background:var(--fill);color:var(--on-garnet);border-color:var(--fill)}
.pill.gold{background:color-mix(in srgb,var(--gold) 22%,transparent);color:var(--ink);border-color:var(--gold)}
.row-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.btn.sm{padding:.5rem .75rem;font-size:.82rem;border-width:1px}
.btn.ghost{border-color:var(--rule);color:var(--ink-soft)}
.btn.danger{border-color:var(--garnet);color:var(--garnet)}
.btn[disabled]{opacity:.5;cursor:default}

/* Events: date block uses Tuscaloosa (Central) time */
.events{display:grid;gap:0;border-top:1px solid var(--rule)}
.event{display:grid;grid-template-columns:3.6rem minmax(0,1fr);gap:1rem;padding-block:1rem;border-bottom:1px solid var(--rule)}
.datebox{align-self:start;display:grid;justify-items:center;align-content:start;border:1px solid var(--garnet);border-radius:2px;padding-block:.35rem .45rem}
.datebox .m{font:600 .72rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--garnet)}
.datebox .d{font:700 1.7rem/1 var(--f-head);font-variant-numeric:tabular-nums}
.event h4{margin:0;font:700 1.2rem/1.2 var(--f-head)}
.event .when{font-size:.9rem;color:var(--ink-soft)}
.event p{font-size:.95rem}

/* Composer / admin panels */
details.panel{border:1px solid var(--rule);border-radius:2px;background:var(--paper-2);margin-bottom:1.5rem}
details.panel>summary{cursor:pointer;list-style:none;padding:.9rem 1rem;font:600 .9rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--garnet)}
details.panel>summary::-webkit-details-marker{display:none}
details.panel>summary::before{content:"+ "}
details.panel[open]>summary::before{content:"– "}
details.panel .form{border:0;border-top:1px solid var(--rule);background:transparent}
.check{display:flex!important;gap:.5rem;align-items:center;text-transform:none!important;letter-spacing:0!important;font:400 1rem/1.3 var(--f-body)!important;color:var(--ink)!important}
.check input{width:auto}

/* Gallery grid */
.gal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.gal-card{display:grid;gap:.6rem;text-decoration:none;color:var(--ink)}
.gal-card .cover{aspect-ratio:4/3;max-width:100%;background:var(--paper-2) center/cover no-repeat;border:1px solid var(--rule);border-radius:2px}
.gal-card h3{font-size:1.25rem}
.gal-card:hover h3{color:var(--garnet)}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:.6rem}
.ph{position:relative;margin:0}
.ph button.open{display:block;width:100%;padding:0;border:0;background:var(--paper-2);cursor:zoom-in;aspect-ratio:1;max-width:100%;border-radius:2px;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}
.ph .del{position:absolute;top:.4rem;right:.4rem;background:var(--paper);font-size:.72rem}
.lightbox{border:0;padding:0;background:transparent;max-width:min(96vw,1200px);max-height:92vh}
.lightbox::backdrop{background:rgba(10,6,7,.88)}
.lightbox .lb-inner{display:grid;gap:.6rem;justify-items:center}
.lightbox img{max-height:80vh;width:auto;max-width:100%;border-radius:2px}
.lightbox .lb-bar{display:flex;gap:.5rem;align-items:center;color:#EEE6E2;font-size:.95rem;flex-wrap:wrap;justify-content:center}
.lightbox .lb-bar button{font:600 .85rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;background:transparent;color:#EEE6E2;border:1px solid #6B5E60;padding:.55rem .8rem;border-radius:2px;cursor:pointer}

/* Directory */
.dir-tools{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}
.dir-tools input,.dir-tools select{font:400 1rem/1.4 var(--f-body);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:2px;padding:.65rem .8rem;min-width:0}
.dir-tools input{flex:1 1 16rem}
.dir-list{display:grid;border-top:1px solid var(--rule)}
.dir-row{display:grid;grid-template-columns:minmax(0,1.3fr) 6rem minmax(0,1fr) minmax(0,1.3fr);gap:1rem;padding-block:.9rem;border-bottom:1px solid var(--rule);align-items:start}
.dir-row .nm{font:700 1.2rem/1.2 var(--f-head)}
.dir-row .nick{font:400 .9rem/1.3 var(--f-body);color:var(--ink-soft);text-transform:none;letter-spacing:0}
.dir-row .yr{font:700 1.15rem/1.2 var(--f-head);font-variant-numeric:tabular-nums;color:var(--garnet)}
.dir-row .contact{display:grid;gap:.15rem;font-size:.95rem;overflow-wrap:anywhere}
.dir-head{font:600 .72rem/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);padding-block:.6rem}
.dir-head,.dir-head+.dir-row{border-top:0}

/* Boards */
.boards{display:grid;gap:2.5rem}
.board-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:2rem;padding-top:1.4rem;border-top:3px solid var(--garnet)}
.board-block h2{font-size:clamp(1.6rem,3vw,2.1rem)}
.officers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.officer{border:1px solid var(--rule);border-radius:2px;padding:1rem;display:grid;gap:.2rem;align-content:start;overflow-wrap:anywhere}
.officer .t{font:700 .78rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--label)}
.officer .n{font:700 1.2rem/1.2 var(--f-head)}

/* Admin tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:2px}
table.tbl{border-collapse:collapse;width:100%;min-width:680px;font-size:.95rem}
.tbl th{font:600 .72rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);text-align:left;padding:.75rem;background:var(--paper-2);border-bottom:1px solid var(--rule)}
.tbl td{padding:.7rem .75rem;border-bottom:1px solid var(--rule);vertical-align:top}
.tbl td.num{font-variant-numeric:tabular-nums}
.admin-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem}

/* Auth screens */
.auth{max-width:30rem;margin:clamp(2rem,8vw,5rem) auto;display:grid;gap:1.4rem}
.auth .auth-logo{height:48px;width:auto}
.auth h1{font-size:clamp(2.2rem,6vw,3rem)}

.empty{padding:1.4rem;border:1px dashed var(--rule);border-radius:2px;color:var(--ink-soft)}
.toast{position:fixed;left:50%;bottom:calc(1.2rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:.75rem 1.1rem;border-radius:2px;font-size:.95rem;z-index:50;max-width:calc(100% - 32px)}
.loading{color:var(--ink-soft);padding-block:2rem}

@media (max-width:900px){
  .board,.board-block{grid-template-columns:minmax(0,1fr)}
  .gal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dir-row{grid-template-columns:minmax(0,1fr) 5rem}
  .dir-row .loc,.dir-row .contact{grid-column:1/-1}
  .dir-head{display:none}
}
@media (max-width:560px){
  .gal-grid,.officers{grid-template-columns:minmax(0,1fr)}
}

/* Approval states */
.queue-note{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:-.8rem 0 2rem;padding:.8rem 1rem;border:1px solid var(--garnet);border-radius:2px;color:var(--ink);text-decoration:none;background:color-mix(in srgb,var(--garnet) 7%,transparent)}
.queue-note:hover{color:var(--garnet)}
.post.is-pending{border-left:3px solid var(--gold);padding-left:1rem}
.ph{display:grid;gap:.4rem;align-content:start}
.ph.is-pending button.open,.ph.is-pending>img{outline:2px dashed var(--gold);outline-offset:2px}
.ph-flag{position:absolute;top:.45rem;left:.45rem}
.ph figcaption{font-size:.85rem;line-height:1.35;color:var(--ink-soft);overflow-wrap:anywhere}
.ph-actions{gap:.3rem}
.decade{display:grid;gap:.9rem;margin-bottom:2.2rem}
.decade-label{font:700 2rem/1 var(--f-head);color:var(--garnet);border-bottom:1px solid var(--rule);padding-bottom:.4rem;font-variant-numeric:tabular-nums}
.lightbox .lb-cap{color:#EEE6E2;margin:0;text-align:center;max-width:60ch}
.posts.review .post:first-child{padding-top:1.4rem}
.demo-as{display:inline-flex;gap:.3rem;align-items:center;margin-left:.3rem}
.demo-as button{font:600 .78rem/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase;background:transparent;border:1px solid #1E1A1B;color:#1E1A1B;padding:.3rem .5rem;border-radius:2px;cursor:pointer}
.demo-as button[aria-pressed="true"]{background:#1E1A1B;color:#FFFFFF}

/* Website editor */
.site-secs{display:grid;gap:3rem}
.site-secs .board-block .form{background:var(--paper)}
.sec-checks{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem}
.editor-list{display:grid;border-top:1px solid var(--rule)}
.editor-row{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr) auto;gap:1rem;align-items:start;padding-block:.9rem;border-bottom:1px solid var(--rule)}
@media (max-width:900px){.editor-row{grid-template-columns:minmax(0,1fr)}}
.board-block>.stack{align-content:start}
.stack>.pill{justify-self:start}

/* Recruitment sign-ups */
.recruits{display:grid;border-top:1px solid var(--rule)}
.recruit{display:grid;gap:.7rem;padding-block:1.2rem;border-bottom:1px solid var(--rule)}
.recruit.is-done{opacity:.72}
.recruit-head{display:flex;justify-content:space-between;align-items:start;gap:1rem}
.recruit h3{font-size:1.35rem}
.recruit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1rem}
.recruit .contact{display:grid;gap:.15rem;overflow-wrap:anywhere}
.recruit .k{font:700 .72rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--label);margin-right:.3rem}
@media (max-width:640px){.recruit-grid{grid-template-columns:minmax(0,1fr)}}

/* Admin: edit a member */
.edit-dlg{border:1px solid var(--rule);border-radius:2px;padding:0;background:var(--paper);color:var(--ink);width:min(40rem,calc(100% - 32px));max-height:90vh}
.edit-dlg::backdrop{background:rgba(20,16,17,.55)}
.edit-dlg .form{border:0}
.edit-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.edit-head h2{font-size:1.6rem}

/* Bids */
.bid-tally{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:0 0 1.5rem;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.bid-tally div{padding:.8rem .9rem .9rem 0;display:grid;gap:.3rem}
.bid-tally div+div{padding-left:.9rem;border-left:1px solid var(--rule)}
.bid-tally dt{font:700 .7rem/1.1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--label)}
.bid-tally dd{margin:0;font:700 1.7rem/1 var(--f-head);font-variant-numeric:tabular-nums}
.recruit .pills{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.bid-box{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.4rem;padding:.7rem .9rem;background:var(--paper-2);border:1px solid var(--rule);border-radius:2px}
.bid-choice{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;padding-left:1.1rem;border-left:1px solid var(--rule)}
@media (max-width:760px){.bid-tally{grid-template-columns:repeat(3,minmax(0,1fr))}.bid-tally div:nth-child(4){padding-left:0;border-left:0}.bid-tally div:nth-child(n+4){border-top:1px solid var(--rule)}.bid-choice{padding-left:0;border-left:0}}
.bid-inline{display:flex!important;align-items:center;gap:.6rem!important}
.bid-inline select{width:auto}

/* Chapter email */
.email-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(1.5rem,3vw,2.5rem);align-items:start}
.email-preview{position:sticky;top:1rem;border:1px solid var(--rule);border-radius:2px;background:var(--paper-2);display:grid}
.mail-chrome{padding:.7rem .9rem;border-bottom:1px solid var(--rule);font-size:.92rem;overflow-wrap:anywhere}
.mail-chrome .k{font:700 .7rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--label);margin-right:.4rem}
.email-preview iframe{width:100%;height:760px;border:0;background:#F3F1EE}
@media (max-width:980px){.email-grid{grid-template-columns:minmax(0,1fr)}.email-preview{position:static}.email-preview iframe{height:620px}}

[hidden]{display:none!important}

/* Volunteers */
.vol-jump{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:2.2rem}
.vol-jump a{display:grid;gap:.35rem;padding:.9rem .9rem 1rem 0;text-decoration:none;color:var(--ink)}
.vol-jump a+a{padding-left:.9rem;border-left:1px solid var(--rule)}
.vol-jump span{font:700 .72rem/1.2 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--label)}
.vol-jump strong{font:700 1.8rem/1 var(--f-head);font-variant-numeric:tabular-nums}
.vol-jump a:hover strong{color:var(--garnet)}
.vol-groups{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem}
.vol-group{scroll-margin-top:8rem}
.vol-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;padding-top:1rem;border-top:3px solid var(--garnet)}
.vol-head h2{font-size:1.6rem}
@media (max-width:760px){.vol-jump{grid-template-columns:repeat(2,minmax(0,1fr))}.vol-jump a:nth-child(3){padding-left:0;border-left:0}.vol-jump a:nth-child(n+3){border-top:1px solid var(--rule)}}

/* Portal menu: many tabs for admins, keep it on one line on desktop */
.site-head .nav a,.site-head .nav button.linkish{padding:.6rem .48rem;letter-spacing:.055em;font-size:.88rem}
.site-head .head-row{flex-wrap:nowrap}
@media (max-width:1180px){.site-head .head-row{flex-wrap:wrap}}

/* Manage menu (admins) */
.navmenu{position:relative;display:flex}
.navmenu-btn{display:flex;align-items:center;gap:.4rem;font:600 .88rem/1 var(--f-display);letter-spacing:.055em;text-transform:uppercase;color:var(--ink);background:transparent;border:0;border-bottom:2px solid transparent;padding:.6rem .55rem;cursor:pointer;white-space:nowrap}
.navmenu-btn:hover,.navmenu-btn[aria-expanded="true"]{color:var(--garnet)}
.navmenu-btn.is-current{color:var(--garnet);border-bottom-color:var(--garnet)}
.navmenu-btn .caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .15s}
.navmenu-btn[aria-expanded="true"] .caret{transform:rotate(180deg)}
.navmenu-badge{font:700 .68rem/1 var(--f-body);letter-spacing:0;background:var(--fill);color:#fff;border-radius:999px;padding:.2rem .4rem;min-width:1.2rem;text-align:center}
.navmenu-list{position:absolute;right:0;top:calc(100% + .35rem);z-index:30;min-width:17rem;background:var(--paper);border:1px solid var(--rule);border-top:3px solid var(--garnet);border-radius:2px;box-shadow:0 14px 34px -18px rgba(20,16,17,.45);display:grid;padding:.35rem 0}
.navmenu-list a{display:grid;gap:.15rem;padding:.6rem 1rem;text-decoration:none;color:var(--ink);border-left:3px solid transparent}
.navmenu-list a .t{font:700 .9rem/1.2 var(--f-display);letter-spacing:.06em;text-transform:uppercase}
.navmenu-list a .d{font-size:.84rem;color:var(--ink-soft)}
.navmenu-list a:hover,.navmenu-list a:focus-visible{background:var(--paper-2);outline:none}
.navmenu-list a[aria-current="page"]{border-left-color:var(--garnet)}
.navmenu-list a[aria-current="page"] .t{color:var(--garnet)}
@media (max-width:560px){.navmenu{position:static}.navmenu-list{left:16px;right:16px;min-width:0}}
.site-head .navmenu-list a{padding:.65rem 1rem .7rem;white-space:normal;letter-spacing:0;text-transform:none;font:inherit;border-bottom:0}
.site-head .navmenu-list a .t{font:700 .9rem/1.2 var(--f-display);letter-spacing:.06em;text-transform:uppercase}
.site-head .navmenu-list a .d{font:400 .86rem/1.35 var(--f-body);letter-spacing:0;text-transform:none;color:var(--ink-soft)}

/* Manage button: same height and baseline as the other tabs */
.site-head .nav{align-items:stretch}
.site-head .navmenu-btn{font:600 .88rem/1 var(--f-display);letter-spacing:.055em;padding:.6rem .48rem;gap:.35rem;align-self:stretch;border-bottom:2px solid transparent}
.site-head .navmenu-btn.is-current{border-bottom-color:var(--garnet)}
.navmenu-badge{font:700 .62rem/1 var(--f-body);height:1rem;min-width:1rem;padding:0 .3rem;margin:-.3rem 0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
.navmenu-btn .caret{margin-left:.05rem;border-top-width:4px;border-left-width:3.5px;border-right-width:3.5px}

/* Volunteer hub */
.hub-tally{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:0 0 1rem}
.hub-tally>div{border:1px solid var(--rule);border-top:3px solid var(--gold);background:var(--paper);padding:.7rem .8rem;display:grid;gap:.15rem}
.hub-tally strong{font:700 1.6rem/1 var(--f-head, var(--f-display));color:var(--garnet)}
.hub-tally span{font:600 .72rem/1.2 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.hub-sec{border-top:1px solid var(--rule);padding-top:1.4rem;margin-top:1.6rem;display:grid;gap:.8rem;scroll-margin-top:5rem}
.hub-sec>h2{margin:0}
.hub-filters select{width:auto;min-width:0}
.task-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}
.task-col{display:grid;gap:.7rem;background:var(--paper-2);padding:.7rem;border-radius:2px;min-width:0}
.task-col-h{font:600 .8rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;margin:.2rem 0 .1rem}
.task{background:var(--paper);border:1px solid var(--rule);border-left:3px solid var(--rule);padding:.8rem;display:grid;gap:.4rem;min-width:0}
.task.mine{border-left-color:var(--garnet)}
.task h3{font-size:1.05rem;margin:0;overflow-wrap:anywhere}
.task p{margin:0}
.task-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.task-details{font-size:.92rem}
.task-update{font-size:.9rem;background:var(--paper-2);padding:.45rem .55rem;border-radius:2px}
.task-update .eyebrow{margin-right:.3rem}
.task .row-actions{flex-wrap:wrap}
.hub-guide p{max-width:68ch}
.nowrap{white-space:nowrap}
@media (max-width:820px){.task-cols{grid-template-columns:minmax(0,1fr)}.hub-tally{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hub-guide p{margin:0 0 .85rem}
.hub-drop{border:1px solid var(--rule);border-top:3px solid var(--garnet);background:var(--paper);margin-top:1rem}
.hub-drop>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.8rem;padding:1rem 1.1rem}
.hub-drop>summary::-webkit-details-marker{display:none}
.hub-drop>summary::after{content:"";width:.55rem;height:.55rem;border-right:2px solid var(--garnet);border-bottom:2px solid var(--garnet);transform:rotate(45deg);margin:-.25rem .2rem 0 auto;transition:transform .15s;flex:none}
.hub-drop[open]>summary::after{transform:rotate(-135deg);margin-top:.25rem}
.hd-t{font:700 1.3rem/1.2 var(--f-head,var(--f-display))}
.hd-n{font:600 .72rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.hub-drop>summary:focus-visible{outline:2px solid var(--garnet);outline-offset:2px}
.hub-body{display:grid;gap:.8rem;padding:0 1.1rem 1.1rem;min-width:0}
.hub-body>.vol-head p{margin:0}
@media (max-width:600px){.hub-drop>summary{padding:.85rem .8rem}.hub-body{padding:0 .8rem .9rem}.hd-t{font-size:1.12rem}}
.site-head .nav button.linkish{border:0;border-bottom:2px solid transparent;border-radius:0;display:block;margin:0}
.hub-one{display:grid;gap:.9rem;min-width:0}
@media (min-width:1001px){.site-head .nav a,.site-head .nav button.linkish,.site-head .navmenu-btn{padding-left:.32rem;padding-right:.32rem;letter-spacing:.035em}}
@media (min-width:1181px){.site-head .nav{flex-wrap:nowrap}.site-head .brand{flex:none}}
.show-set{border:1px solid var(--rule);padding:.7rem .9rem .8rem;margin:0;display:grid;gap:.45rem}.show-set legend{font:600 .78rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;padding:0 .3rem;color:var(--ink-soft)}.show-set .pill{margin-left:.3rem}
.archive-note{border-left:3px solid var(--gold);background:var(--paper-2);padding:.6rem .8rem;margin:0 0 1rem}
.init-choice{border-top:1px dashed var(--rule);padding-top:.5rem;margin-top:.3rem;align-items:center}
.init-choice .k{font:600 .72rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-right:.3rem}
.init-choice.needs .k{color:var(--garnet)}
.close-cycle{margin-top:1.4rem;border-top:3px solid var(--garnet)}
#rc-cycle{width:auto}
.move-bar{position:sticky;bottom:12px;margin-top:1rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;background:var(--paper);border:1px solid var(--rule);border-top:3px solid var(--garnet);padding:.7rem .9rem;box-shadow:0 6px 20px rgba(0,0,0,.12);z-index:5}
.move-bar #ac-count{font:600 .8rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;margin-right:auto}
.tbl tr.muted td{color:var(--ink-soft)}
.site-head .navmenu-list .navmenu-item{display:grid;gap:.15rem;width:100%;text-align:left;background:none;border:0;border-left:3px solid transparent;border-top:1px solid var(--rule);margin-top:.3rem;padding:.7rem 1rem;cursor:pointer;color:var(--ink);font:inherit;letter-spacing:0;text-transform:none}
.site-head .navmenu-list .navmenu-item .t{font:700 .9rem/1.2 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--garnet)}
.site-head .navmenu-list .navmenu-item .d{font:400 .86rem/1.35 var(--f-body);color:var(--ink-soft);overflow-wrap:anywhere}
.site-head .navmenu-list .navmenu-item:hover,.site-head .navmenu-list .navmenu-item:focus-visible{background:var(--paper-2);outline:none}
.site-head .navmenu-list .navmenu-item:first-child{border-top:0;margin-top:0}
.avatar{width:40px;height:40px;border-radius:50%;flex:none;object-fit:cover;display:inline-grid;place-items:center;background:var(--paper-2);border:1px solid var(--rule);color:var(--ink-soft);font:700 .8rem/1 var(--f-display);letter-spacing:.06em}
.avatar.xl{width:160px;height:160px;font-size:2.6rem;border:3px solid var(--gold)}
.dir-who{display:flex;gap:.7rem;align-items:center;min-width:0}
.photo-set{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2rem;align-items:start;max-width:46rem}
@media (max-width:600px){.photo-set{grid-template-columns:minmax(0,1fr);justify-items:start}}
.events-page{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2.5rem;align-items:start}
.events-page section{display:grid;gap:1rem;min-width:0}
.events.past{opacity:.85}
@media (max-width:860px){.events-page{grid-template-columns:minmax(0,1fr)}}
.site-head .nav .navmenu-list a,.site-head .nav .navmenu-list .navmenu-item{padding-left:1rem;padding-right:1rem;letter-spacing:0}
.cycle-bar{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem 1.2rem;margin:0 0 1rem;padding:.8rem 1rem;border:1px solid var(--rule);border-left:3px solid var(--garnet);background:var(--paper)}
.cycle-bar>label{display:grid;gap:.3rem;font:600 .75rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.cycle-bar #rc-cycle{min-width:14rem;font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--ink)}
.cycle-bar p{margin:0 0 .5rem;flex:1 1 14rem}
.cycle-rename summary{cursor:pointer;font:600 .8rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--garnet);padding:.5rem 0}
.inline-form{display:flex;gap:.5rem;align-items:center;margin-top:.4rem}
.inline-form input{width:12rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cycle-bar #rc-cycle{padding:.5rem .6rem;border:1px solid var(--rule);border-radius:2px;background:var(--paper-2)}
/* Regions and Events near you */
.note-box{border:1px solid var(--rule);border-left:3px solid var(--gold);background:var(--paper-2);padding:.75rem .9rem;margin:0 0 1rem}
.note-box .btn{margin-left:.4rem}
.region-chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0 0 1.2rem}
.region-chips .k{font:600 .75rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-right:.2rem}
.near-list{display:grid;gap:.1rem}
.near-row{display:flex;gap:.75rem;align-items:flex-start;padding:.7rem 0;border-bottom:1px solid var(--rule);min-width:0}
.near-row>div{min-width:0;overflow-wrap:anywhere}
.near-row .nm{font-weight:700}
#nb-region{width:auto;margin-bottom:.6rem}
.regions-tbl td{vertical-align:middle}
.loc-set{display:grid;gap:.5rem}
.loc-set .zip-place{margin:0 0 .75rem}
#nb-region{padding:.5rem .6rem;border:1px solid var(--rule);border-radius:2px;background:var(--paper-2);font:inherit;min-width:12rem}
/* Loading overlay */
.page-loader{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:rgba(0,0,0,.55);animation:pl-fade .2s ease-out}
.page-loader[hidden]{display:none}
.pl-ring{position:relative;width:120px;height:120px;display:grid;place-items:center}
.pl-spin{position:absolute;inset:0;border-radius:50%;border:4px solid rgba(170,151,103,.25);border-top-color:var(--brand-truegold,#AA9767);animation:pl-spin .9s linear infinite}
.pl-ring img{width:52px;height:auto;display:block}
@keyframes pl-spin{to{transform:rotate(360deg)}}
@keyframes pl-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.pl-spin{animation-duration:2.4s}.page-loader{animation:none}}
