/* Restring LA, membership detail pages. Same palette as the main site. */
:root, :root[data-theme="dark"], :root[data-theme="light"]{
  --ground:#0A0A0A; --panel:#161616; --panel-2:#050505;
  --bone:#F4F1EA; --muted:#9C9C97; --brass:#027832; --brass-txt:#04A64B; --brass-hi:#03A043;
  --rule:#2B2B2B; --optic:#FC86C1; --warn:#FC86C1;
}
*{ box-sizing:border-box; }
html,body{ overflow-x:hidden; max-width:100%; }
body{ background:var(--ground); color:var(--bone); margin:0; padding-bottom:96px;
  font-family:"Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
  line-height:1.5; -webkit-font-smoothing:antialiased; }
.wrap{ max-width:760px; margin:0 auto; padding:0 18px; }
a{ color:inherit; }
p{ margin:.5em 0; }

.hero img{ display:block; width:100%; height:auto; }
.back{ display:inline-block; margin:16px 0 0; font-size:.84rem; font-weight:800;
  color:var(--muted); text-decoration:none; letter-spacing:.06em; }
.back:hover{ color:var(--brass-txt); }

h1{ font-family:Didot,"Bodoni 72",Georgia,serif; font-size:clamp(2rem,7vw,2.9rem);
  margin:14px 0 2px; font-weight:400; letter-spacing:.02em; }
.pricetag{ font-size:1.1rem; font-weight:800; color:var(--brass-txt); margin:0 0 4px; }
.lede{ color:var(--muted); font-size:1rem; font-weight:600; margin:0 0 6px; }

h2{ font-size:1.08rem; font-weight:800; color:var(--bone); margin:32px 0 8px;
  padding-bottom:7px; position:relative; }
h2::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:linear-gradient(90deg, var(--optic) 0 34%, var(--rule) 34% 100%); }
h3{ font-size:.95rem; font-weight:800; margin:18px 0 4px; color:var(--bone); }

.card{ background:var(--panel); border:3px solid var(--rule); border-radius:3px;
  padding:15px 17px; margin:11px 0; }
.card.key{ border-left:5px solid var(--brass); }
.card.flag{ border-left:5px solid var(--warn); }
ul{ margin:6px 0; padding-left:19px; }
li{ margin:5px 0; font-size:.93rem; font-weight:600; }
li b{ color:var(--bone); }
.muted{ color:var(--muted); font-size:.9rem; font-weight:600; }

table{ width:100%; border-collapse:collapse; margin:10px 0; font-size:.9rem; }
.tablewrap{ overflow-x:auto; }
th,td{ text-align:left; padding:9px 11px; border-bottom:1px solid var(--rule); font-weight:600; }
th{ background:var(--brass); color:var(--bone); font-weight:800; font-size:.7rem;
  text-transform:uppercase; letter-spacing:.1em; border-bottom:none; }
td:last-child{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }

details{ background:var(--panel); border:3px solid var(--rule); border-radius:3px;
  margin:8px 0; overflow:hidden; }
summary{ cursor:pointer; padding:13px 15px; font-weight:800; font-size:.94rem;
  list-style:none; display:flex; justify-content:space-between; gap:10px; align-items:center; }
summary::-webkit-details-marker{ display:none; }
summary::after{ content:"+"; color:var(--brass-txt); font-size:1.2rem; font-weight:800; }
details[open] summary::after{ content:"\2212"; }
details[open] summary{ border-bottom:3px solid var(--rule); }
.dbody{ padding:13px 15px; font-size:.92rem; font-weight:600; color:var(--muted); }
.dbody strong{ color:var(--bone); }

.cta{ display:block; text-align:center; text-decoration:none; font-weight:800;
  border-radius:3px; padding:15px 16px; margin:11px 0; font-size:1rem;
  border:3px solid var(--optic); background:var(--optic); color:var(--ground); }
.cta.alt{ background:transparent; color:var(--bone); border-color:var(--brass); }
.cta.alt:hover{ background:#1E1E1E; }
.cta .sub{ display:block; font-weight:700; font-size:.8rem; opacity:.8; margin-top:2px; }

.field{ margin:10px 0; }
label.lbl{ display:block; font-size:.76rem; font-weight:800; color:var(--muted);
  text-transform:uppercase; letter-spacing:.1em; margin-bottom:5px; }
input,select,textarea{ width:100%; background:var(--panel); color:var(--bone);
  border:3px solid var(--rule); border-radius:3px; padding:11px 12px;
  font:inherit; font-size:.94rem; font-weight:600; }
input:focus,select:focus,textarea:focus{ border-color:var(--brass); outline:none; }

footer{ margin-top:36px; background:var(--panel-2); color:var(--bone);
  padding:22px 18px; text-align:center; }
footer .big{ font-family:Didot,"Bodoni 72",Georgia,serif; font-size:1.4rem;
  display:block; margin-bottom:4px; }
footer .sm{ font-size:.84rem; color:var(--muted); font-weight:600; }
footer a{ color:var(--brass-txt); }

.sticky{ position:fixed; left:0; right:0; bottom:0; background:var(--panel-2);
  border-top:3px solid var(--rule); padding:11px 16px; display:flex;
  align-items:center; gap:12px; z-index:20; }
.sticky .amt{ font-weight:800; font-size:1.05rem; }
.sticky .amt small{ display:block; font-size:.7rem; color:var(--muted); font-weight:700; }
.sticky a{ margin-left:auto; background:var(--optic); color:var(--ground);
  text-decoration:none; font-weight:800; padding:12px 20px; border-radius:3px; font-size:.95rem; }
