/* Layout: navy masthead with one search box; lodge cards to browse from; results column with the man's card and the lodge's men beside it. */
:root{
  --navy:#14243a; --gold:#b99858; --gold-2:#7d6738; --bg:#f8f4ea; --fg:#23272f; --muted:#555b67; --card:#fffdf8; --parch:#f1ebdd; --line:#ddd3bf; --mark:#f3e3b8; --head-fg:#fffdf8; --bar:#2f5d93; --bar-hi:#244a76;
  --display:"Cormorant SC",Georgia,serif; --serif:"Source Serif 4",Georgia,"Times New Roman",serif; --sans:"Source Sans 3",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#161b22;--fg:#e6e0d3;--muted:#a7adb8;--card:#1d232c;--parch:#222a35;--line:#323b48;--mark:#5a4a22;--gold-2:#d1b477;--bar:#5b8fd0;--bar-hi:#7aa3dc;color-scheme:dark}}
:root[data-theme="dark"]{--bar:#5b8fd0;--bar-hi:#7aa3dc;--bg:#161b22;--fg:#e6e0d3;--muted:#a7adb8;--card:#1d232c;--parch:#222a35;--line:#323b48;--mark:#5a4a22;--gold-2:#d1b477;color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--serif);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
header{background:var(--navy);color:var(--head-fg);border-bottom:4px solid var(--gold)}
header .wrap{padding-block:26px 20px;display:grid;gap:12px;justify-items:center;text-align:center}
.brand{font-family:var(--display);font-size:clamp(1.9rem,5vw,2.8rem);letter-spacing:.1em;text-transform:uppercase;line-height:1;margin:0}
.emblem{width:clamp(56px,9vw,78px);height:auto;display:block;margin-bottom:4px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.brand span{color:var(--gold)}.brandbox{display:grid;gap:4px;justify-items:center}.region{margin:0;font-family:var(--sans);font-size:.92rem;letter-spacing:.14em;text-transform:uppercase;color:#d1b477;line-height:1.3}.region i{display:block;font-family:var(--serif);font-size:1.05rem;letter-spacing:.06em;text-transform:none;color:#efe6d2}
.sub{font-family:var(--sans);color:#d1b477;font-size:.92rem;margin:0;max-width:680px}
form{width:100%;max-width:680px;display:flex;background:#fffdf8;border-radius:28px;border:2px solid var(--gold);overflow:hidden}
form input{flex:1;min-width:0;border:0;padding:12px 18px;font:1.05rem var(--sans);color:#14243a;background:transparent;outline:none}
form button{border:0;background:var(--gold);color:#14243a;font:600 .9rem var(--sans);padding:0 20px;cursor:pointer;letter-spacing:.04em;text-transform:uppercase}
.filters{background:var(--parch);border-bottom:1px solid var(--line)}
.filters .wrap{padding-block:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-family:var(--sans);font-size:.85rem}
.filters label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}
select,.yr{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:4px;padding:5px 6px;max-width:100%}
.yr{width:70px}
.linkbtn{background:none;border:0;color:var(--gold-2);cursor:pointer;font:inherit;text-decoration:underline;padding:0}
main .wrap{padding-block:18px 48px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
@media (max-width:880px){main .wrap{grid-template-columns:minmax(0,1fr)}aside{order:-1}}
.lodges{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:22px}
.lodge{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:4px;padding:12px 14px;text-align:left;cursor:pointer;font:inherit;color:var(--fg)}
.lodge:hover{border-color:var(--gold)}
.lodge b{display:block;font-family:var(--display);font-size:1.25rem;line-height:1.1}
.lodge span{font-family:var(--sans);font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}
h2.sec{font-family:var(--display);font-size:1.35rem;margin:0 0 10px;border-bottom:2px solid var(--gold);display:inline-block}
.stats{font-family:var(--sans);font-size:.85rem;color:var(--muted);margin:0 0 10px}
.chipline{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}
.chip{font:600 .75rem var(--sans);border:1px solid var(--gold);color:var(--gold-2);background:transparent;border-radius:12px;padding:1px 9px;cursor:pointer}
.chip.on{background:var(--gold);color:#14243a}
.res{padding:12px 0 14px;border-bottom:1px solid var(--line);min-width:0}
.crumb{font-family:var(--sans);font-size:.78rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.pill{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--gold);color:var(--gold-2);border-radius:10px;padding:0 7px}
.res h3{font-weight:600;font-size:1.06rem;margin:3px 0 2px}
.snip{margin:0;font-size:.95rem;overflow-wrap:anywhere}
mark{background:var(--mark);color:inherit;padding:0 1px;border-radius:2px}
.cite{font-family:var(--sans);font-size:.8rem;color:var(--gold-2);margin-top:4px;overflow-wrap:anywhere}
.cite::before{content:"Book: ";font-weight:600}
.orig{font-family:var(--sans);font-size:.8rem;margin-top:3px;overflow-wrap:anywhere;border-left:3px solid var(--gold);padding-left:8px}
.orig b{font-weight:600}.orig .acc{color:var(--muted)}
.copy{font:600 .75rem var(--sans);background:none;border:1px solid var(--line);color:var(--fg);border-radius:3px;padding:6px 10px;margin-top:6px;cursor:pointer;min-height:36px}
.lodgetag{font-family:var(--sans);font-size:.78rem;color:var(--muted);margin-top:2px}
details{margin-top:4px;font-family:var(--sans);font-size:.82rem}
summary{cursor:pointer;color:var(--muted)}
dl{display:grid;grid-template-columns:minmax(90px,30%) minmax(0,1fr);gap:2px 12px;margin:6px 0 0}
dt{color:var(--muted)} dd{margin:0;overflow-wrap:anywhere}
.more{display:block;margin:18px auto 0;font:600 .85rem var(--sans);text-transform:uppercase;background:var(--gold);color:#14243a;border:0;border-radius:3px;padding:9px 22px;cursor:pointer}
aside .card{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:4px;padding:16px;font-family:var(--sans);font-size:.88rem;margin-bottom:14px}
aside h2{font-family:var(--display);font-size:1.5rem;margin:0 0 2px;line-height:1.1}
aside .k{color:var(--muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.06em;margin-top:10px}
aside ul{margin:4px 0 0;padding-left:18px}
.rows button{display:flex;justify-content:space-between;width:100%;background:none;border:0;border-bottom:1px dotted var(--line);padding:4px 0;font:inherit;color:var(--fg);cursor:pointer;text-align:left;gap:8px}
.rows button span:last-child{color:var(--muted);font-variant-numeric:tabular-nums}
.years{display:flex;align-items:flex-end;gap:2px;height:46px;margin-top:6px}
.years i{flex:1;background:var(--gold);min-height:2px;border-radius:1px 1px 0 0}
.yl{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}
.statgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:8px 0 14px}
.statgrid div{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:4px;padding:10px 12px;font-family:var(--sans)}
.statgrid b{display:block;font-size:1.4rem;font-variant-numeric:tabular-nums}
.statgrid span{font-size:.8rem;color:var(--muted)}
.stt{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:.85rem;margin-bottom:6px;font-variant-numeric:tabular-nums}
.stt th,.stt td{text-align:left;padding:5px 6px;border-bottom:1px solid var(--line)}
.stt th{color:var(--muted);font-weight:600;text-transform:uppercase;font-size:.7rem;letter-spacing:.05em}
.tscroll{overflow-x:auto;max-width:100%;margin-bottom:6px}
.tscroll .stt td,.tscroll .stt th{text-align:right}.tscroll .stt td:first-child,.tscroll .stt th:first-child{text-align:left}
.cols2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.h3s{font-family:var(--display);font-size:1.15rem;margin:10px 0 4px}
.tabs{background:var(--card);border-bottom:1px solid var(--line)}
.tabs .wrap{display:flex;gap:4px;overflow-x:auto;padding-block:0}
.tab{font:600 .85rem var(--sans);background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);padding:12px 10px;min-height:44px;cursor:pointer;white-space:nowrap}
.tab.on{color:var(--fg);border-bottom-color:var(--gold)}
.view .wrap{padding-block:18px 40px}
.tb-controls{display:flex;flex-wrap:wrap;gap:10px 16px;font-family:var(--sans);font-size:.85rem;margin-bottom:10px}
.tb-controls label{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}
.tb-controls select,.tb-controls input{text-transform:none;letter-spacing:0;font-size:.9rem;min-height:40px}#tb-m{width:auto;min-width:0}.yrs{display:flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;font-size:.85rem}.yrs .yr{width:4.6em}#tb-o{max-width:220px}.tb-break{flex-basis:100%;height:0}@media (max-width:640px){.tb-break{display:none}}
.tb-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.chart{margin:8px 0 14px;position:relative}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart .bar{fill:var(--bar)}
.chart .bar:hover,.chart .bar:focus{fill:var(--bar-hi);outline:none}
.chart text{font:11px var(--sans);fill:var(--muted)}
.chart .gl{stroke:var(--line);stroke-width:1}
.tip{position:absolute;pointer-events:none;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:6px 8px;font:12px var(--sans);color:var(--fg);box-shadow:0 2px 8px rgba(0,0,0,.12);white-space:nowrap}
.tip b{font-size:14px;display:block}
.stt tfoot td{font-weight:600;border-top:2px solid var(--line)}
.ixbtns{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:6px 0 16px}
.ixbtns button,.bigb{font:600 1rem var(--sans);background:var(--card);color:var(--fg);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:4px;padding:14px 12px;min-height:56px;cursor:pointer;text-align:left}
.ixbtns button.on{background:var(--navy);color:var(--head-fg);border-color:var(--navy);border-top-color:var(--gold)}
.hi{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:4px 0 18px}
.hi div{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:4px;padding:10px 12px;font-family:var(--sans);font-size:.88rem}
.hi b{display:block;font-family:var(--display);font-size:1.5rem;line-height:1.1;font-variant-numeric:tabular-nums}
.hi button{font:inherit;color:var(--gold-2);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer;text-align:left}
.letters{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 10px}
.letters button{font:600 .9rem var(--sans);min-width:40px;min-height:40px;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:4px;cursor:pointer}
.letters button.on{background:var(--gold);color:#14243a;border-color:var(--gold)}
.names{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}
.names button{font:inherit;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:8px 10px;color:var(--fg);cursor:pointer;min-height:44px}
.names button small{display:block;font-family:var(--sans);color:var(--muted);font-size:.75rem}
.prof h2{font-family:var(--display);font-size:clamp(1.8rem,5vw,2.4rem);margin:0;line-height:1.05}
.prof .trade{font-family:var(--sans);font-size:1rem;color:var(--gold-2);font-weight:600;margin:2px 0 8px}
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 18px;font-family:var(--sans);font-size:.9rem;margin:6px 0 16px}
.facts .k{color:var(--muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.06em}
.doc{border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:4px;background:var(--card);padding:10px 12px;margin-bottom:10px}
.doc .ox{font-family:var(--serif);font-size:.95rem;overflow-wrap:anywhere}
.doc .acc{font-family:var(--sans);font-size:.78rem;color:var(--muted)}
.doc ul{margin:6px 0 0;padding-left:18px;font-size:.92rem}
.xref{font-family:var(--sans);font-size:.85rem}
.xref li{margin-bottom:4px;overflow-wrap:anywhere}
.back{margin-bottom:10px}
.phases{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:6px 0 12px}
.phases button{font:600 .85rem var(--sans);text-align:left;background:var(--card);color:var(--fg);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:4px;padding:8px 10px;min-height:52px;cursor:pointer}
.phases button small{display:block;font-weight:400;color:var(--muted)}
.phases button.on{background:var(--navy);color:var(--head-fg)}
.tl{list-style:none;margin:0 0 16px;padding:0;border-left:2px solid var(--gold);font-family:var(--sans)}
.tl li{position:relative;padding:6px 0 8px 16px;font-size:.9rem;overflow-wrap:anywhere}
.tl li::before{content:"";position:absolute;left:-6px;top:11px;width:10px;height:10px;border-radius:50%;background:var(--bg);border:2px solid var(--gold)}
.tl .yr{font-weight:600;font-variant-numeric:tabular-nums;margin-right:6px}
.tl .ph{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line);border-radius:9px;padding:0 6px;margin-right:6px;color:var(--muted)}
.tl .src{display:block;font-size:.76rem;color:var(--muted);margin-top:1px}
.gfoot a{color:#d1b477}
.eco h2.sec{margin-top:22px}.eco .stt td,.eco .stt th{vertical-align:top}.tscroll .stt td.l,.tscroll .stt th.l{text-align:left}.tscroll .stt.ladder td,.tscroll .stt.ladder th{text-align:left}.eco .num{font-variant-numeric:tabular-nums;white-space:nowrap}
.barc{display:flex;align-items:center;gap:6px;min-width:120px}.barc i{display:block;height:10px;border-radius:0 4px 4px 0;background:var(--bar);min-width:2px}
.flag{color:#a5462b;font-weight:600}.ok{color:var(--muted)}
.grade{margin:16px 0 4px;font:700 1rem var(--display)}.grade small{font:400 .82rem var(--sans);color:var(--muted);display:block}
.ladder td:first-child{font-weight:600;text-align:left;min-width:150px}.ladder td{text-align:left;font-size:.86rem}
a.srclink{color:var(--gold-2);font-family:var(--sans);font-size:.9em;font-weight:600;white-space:nowrap;text-decoration:none;border-bottom:1px solid currentColor}
code.fp{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85em;background:var(--parch);padding:1px 5px;border-radius:3px;overflow-wrap:anywhere}
.method-brief{margin:22px 0 6px;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--gold);background:var(--parch);border-radius:4px;font:.86rem/1.5 var(--sans);color:var(--fg)}
.method-brief b{font-family:var(--display)}.method h3{font-family:var(--display);margin:16px 0 4px}
.ixgrade{margin:14px 0 6px;font:700 .95rem var(--display)}.ixgrade small{font:400 .8rem var(--sans);color:var(--muted)}
.offline-note{margin:0;padding:8px 16px;background:#5a4a22;color:#fffdf8;font:600 .85rem var(--sans);text-align:center}
.atl-left{display:grid;gap:4px;align-content:start}
.btiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.btile{display:grid;grid-template-columns:28px 26px minmax(0,1fr);gap:8px;align-items:start;text-align:left;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:4px;padding:8px 10px;cursor:pointer;color:var(--fg);font:inherit;min-height:44px}
.btile:hover{border-color:var(--gold)}.btile.on{background:var(--navy);color:#fffdf8;border-color:var(--navy)}
.btile .tn{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fffdf8;border:2px solid var(--gold);font:600 .78rem var(--sans)}
.btile.on .tn{background:var(--gold);color:#14243a;border-color:#fffdf8}.btile .ti{color:var(--gold-2);padding-top:2px}.btile.on .ti{color:#d1b477}
.btile .tt{display:grid;gap:1px;min-width:0}.btile b{font-family:var(--sans);font-size:.88rem;line-height:1.2}.btile small{font-family:var(--sans);font-size:.74rem;color:var(--muted);overflow-wrap:anywhere}.btile.on small{color:#d9d2c2}
@media (max-width:820px){.btiles{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(220px,78%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.btile{scroll-snap-align:start}}
.atlas{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:820px){.atlas{grid-template-columns:minmax(0,1fr)}}
.map{margin:0;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:6px}
.map svg{display:block;width:100%;height:auto}
.map .water{fill:none;stroke:#7fa6c9;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.map .creek{fill:none;stroke:#7fa6c9;stroke-width:2.5;opacity:.8}
.map .lbl{font:italic 11px var(--serif);fill:var(--muted)}
.map .pin circle{fill:var(--navy);stroke:var(--gold);stroke-width:2;cursor:pointer}
.map .pin.on circle{fill:var(--gold);stroke:var(--navy)}
.map .pin text{font:600 10px var(--sans);fill:#fffdf8;pointer-events:none}
.map .pin.on text{fill:#14243a}
.map .nm{font:600 10.5px var(--sans);fill:var(--fg);pointer-events:none}
.bcard{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:4px;padding:14px;font-family:var(--sans);font-size:.9rem}
.bcard h3{font-family:var(--display);font-size:1.5rem;margin:0 0 2px;line-height:1.1}
.bcard .k{color:var(--muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.06em;margin-top:10px}
.loc{display:inline-block;margin-top:10px;font:600 .85rem var(--sans);color:#14243a;background:var(--gold);border-radius:3px;padding:9px 14px;text-decoration:none}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 6px}
@media (max-width:720px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tile{position:relative;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:4px;padding:12px 12px 10px;font-family:var(--sans);min-height:118px;display:flex;flex-direction:column;gap:2px}
.tile b{font:600 2rem/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--fg)}
.tile .lb{font-weight:600;font-size:.9rem;line-height:1.25}
.tile .dt{font-size:.78rem;color:var(--muted);line-height:1.3}
.tile .dt button{font:inherit;color:var(--gold-2);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.tile .tg{position:absolute;top:8px;right:10px;font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.tile.rot{border-top-color:var(--bar)}
.rotctl{display:flex;gap:6px;align-items:center;margin:0 0 18px;font-family:var(--sans);font-size:.78rem;color:var(--muted)}
.rotctl .c{font:600 .85rem var(--sans);background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:3px;min-width:40px;min-height:36px;cursor:pointer}
.ic{width:16px;height:16px;vertical-align:-3px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tl li{cursor:pointer;border-radius:4px}
.tl li:hover,.tl li:focus{background:var(--parch);outline:none}
.tl .icons{display:inline-flex;gap:4px;margin-right:6px;color:var(--gold-2)}
.phases .ic{margin-right:4px;color:var(--gold-2)}
dialog.reader{border:0;padding:0;max-width:min(680px,calc(100vw - 24px));width:100%;background:transparent}
dialog.reader::backdrop{background:rgba(10,18,30,.6)}
.paper{background:#fffdf8;color:#14243a;border-radius:4px;padding:28px 30px 22px;font-family:var(--serif);box-shadow:0 10px 40px rgba(0,0,0,.35);max-height:calc(100vh - 40px);overflow:auto}
@media (max-width:520px){.paper{padding:20px 18px}}
.paper .kind{font:600 .72rem var(--sans);text-transform:uppercase;letter-spacing:.08em;color:#8a7240;display:flex;gap:6px;align-items:center}
.paper h3{font-family:var(--display);font-size:1.6rem;margin:6px 0 2px;line-height:1.15}
.paper .date{font:600 .9rem var(--sans);color:#5b6170;margin-bottom:12px}
.paper blockquote{margin:0 0 14px;padding:10px 14px;border-left:3px solid #b99858;background:#f4f0e6;font-size:1.02rem}
.paper dl{font-family:var(--sans);font-size:.85rem}
.paper .cit{font-size:.92rem;margin:12px 0 4px}
.paper .cit b,.paper .k2{font:600 .7rem var(--sans);text-transform:uppercase;letter-spacing:.06em;color:#5b6170;display:block;margin-top:10px}
.paper .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.paper .acts a,.paper .acts button{font:600 .82rem var(--sans);border:1px solid #ded5c3;background:#fff;color:#14243a;border-radius:3px;padding:8px 12px;min-height:40px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.paper .acts .pri{background:#b99858;border-color:#b99858}
@media print{body>*:not(dialog){display:none!important}dialog.reader{position:static;max-width:none}.paper{box-shadow:none;max-height:none}.paper .acts{display:none}}
.site{margin-top:18px}
.tier{position:relative;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:4px;padding:10px 12px;margin:0 0 10px;font-family:var(--sans)}
.tier+.tier::before{content:"";position:absolute;left:22px;top:-11px;height:10px;border-left:2px solid var(--gold)}
.tier h4{margin:0 0 6px;font:600 .74rem var(--sans);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);display:flex;gap:6px;align-items:center}
.tier h4 .n{margin-left:auto;font-variant-numeric:tabular-nums}
.who{display:flex;flex-wrap:wrap;gap:6px}
.who .p{display:inline-flex;flex-direction:column;align-items:flex-start;background:var(--parch);border:1px solid var(--line);border-radius:4px;padding:5px 8px;max-width:100%;font-size:.85rem}
.who .p button{font:600 .88rem var(--sans);background:none;border:0;padding:0;color:var(--fg);cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:var(--gold)}
.who .p small{color:var(--muted);font-size:.74rem;line-height:1.25;cursor:pointer}
.who .p small:hover{color:var(--fg)}
.crew{margin:6px 0 0;font-size:.85rem}
.crew b{font-weight:600}
.firm{font-size:.88rem;margin:2px 0}
.held{border-left-color:var(--line)}.held summary{cursor:pointer;font-size:.85rem;color:var(--fg)}.hb{border-top:1px solid var(--line);padding:8px 0}.hb small{color:var(--muted)}
.empty{font-family:var(--sans);color:var(--muted);padding:24px 0}
footer{font-family:var(--sans);font-size:.78rem;color:var(--muted);border-top:1px solid var(--line)}
footer .wrap{padding-block:14px 24px}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.hallmap{margin-top:12px}.hallmap .st{stroke:var(--line,#c9ced6);stroke-width:1}.hallmap .cap{fill:none;stroke:var(--muted,#8a93a3);stroke-width:2}.hallmap .ave{stroke:var(--muted,#8a93a3);stroke-width:3}
.terms{margin:10px 0 14px}.terms summary{cursor:pointer;min-height:40px;display:flex;align-items:center;gap:6px}
.gm{display:flex;gap:8px;flex-wrap:wrap}.gm .loc{margin-top:8px}
.register{display:grid;gap:10px;margin:6px 0 16px}
.repo{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:4px;padding:0 14px}
.repo>summary{cursor:pointer;list-style:none;display:grid;gap:2px;padding:12px 0;min-height:44px}.repo>summary::-webkit-details-marker{display:none}
.repo .rn{font-family:var(--display);font-size:1.2rem;line-height:1.15}.repo .rk,.repo .rc{font-family:var(--sans);font-size:.8rem;color:var(--muted)}
.repo[open]>summary{border-bottom:1px solid var(--line);margin-bottom:8px}
.rmeta{display:grid;grid-template-columns:130px minmax(0,1fr);gap:4px 12px;margin:0 0 10px;font-family:var(--sans);font-size:.88rem}.rmeta dt{color:var(--muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.06em;padding-top:3px}.rmeta dd{margin:0}
.rg{border-top:1px dashed var(--line);padding:8px 0}.rgt{font-weight:600}.rgs{font-family:var(--sans);font-size:.85rem;color:var(--muted)}
.rs{margin:8px 0 0 12px;padding-left:10px;border-left:2px solid var(--line)}.rst{font-family:var(--sans);font-weight:600;font-size:.92rem}.rst small{font-weight:400;color:var(--muted)}
.rsu{font-family:var(--sans);font-size:.82rem;color:var(--muted)}.rsu.gap{color:#9a5b2e}
.ri{margin:4px 0 0;padding-left:1.1em;font-size:.9rem}.ri .linkbtn{text-align:left}.ri li{margin:2px 0}.ri small{color:var(--muted);font-family:var(--sans)}
.defs{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr);gap:6px 14px;max-width:900px}.defs dt{font-weight:600;font-family:var(--sans);font-size:.9rem}.defs dd{margin:0}
@media (max-width:560px){.rmeta,.defs{grid-template-columns:1fr}.rmeta dd,.defs dd{margin-bottom:6px}}
.about p{max-width:760px}.about .lead{font-size:1.05rem}.method{max-width:760px;padding-left:1.2em}.method li{margin:0 0 8px}
footer .pub{display:flex;align-items:center;gap:6px;margin:0 0 6px}footer .pubi{display:inline-grid;place-items:center;width:44px;height:44px;border:0;background:none;padding:0;cursor:pointer;color:var(--gold-2);border-radius:8px}footer .pubi:hover{background:var(--parch)}footer .pubi img{border-radius:7px}
footer .flinks{display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;margin:0;font-size:.82rem}footer .flinks .linkbtn{min-height:36px;font-size:.82rem;display:inline-flex;align-items:center}footer .fco{opacity:.85}
.legend{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:4px;padding:8px 10px;margin:0 0 12px;font:.8rem var(--sans)}
.legend .lg-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:2px 0}
.legend .lg-h{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;color:var(--muted);min-width:96px}
.legend .lg{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:var(--bg);white-space:nowrap}
.legend .lg .ic{color:var(--gold-2)}.legend .lg-tip{color:var(--muted);margin-top:4px}
.infobox{font-family:var(--sans);font-size:.92rem;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:4px;background:var(--card);margin:8px 0 12px}
.infobox .ib-row{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line)}.infobox .ib-row:last-child{border-bottom:0}
.infobox .k{color:var(--muted);text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;padding-top:3px}
.infobox .ib-v{display:inline-block;margin:0 14px 2px 0}.tscroll.left .stt td,.tscroll.left .stt th{text-align:left}.infobox .ib-v small{color:var(--muted)}
.infobox .chips{display:flex;flex-wrap:wrap;gap:6px}.infobox .chip{font:600 .78rem var(--sans);border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:999px;padding:4px 10px;min-height:32px;cursor:pointer}
.settled{font-family:var(--sans);margin:0 0 12px}.settled .k{color:var(--muted);text-transform:uppercase;font-size:.68rem;letter-spacing:.06em}.settled .k small{text-transform:none;letter-spacing:0}
.settled ul{margin:4px 0 0;padding-left:1.1em}.service{margin:0 0 14px;font-family:var(--sans)}.service summary{cursor:pointer;min-height:40px;display:flex;align-items:center;gap:6px}
@media (max-width:560px){.infobox .ib-row{grid-template-columns:1fr;gap:2px}}
.cite-box{margin:10px 0 0;border:1px solid var(--line);border-radius:4px;padding:6px 10px;font-family:var(--sans);font-size:.85rem}
.cite-box summary{cursor:pointer;font-weight:600;min-height:32px;display:flex;align-items:center}
.cite-box p{margin:6px 0;overflow-wrap:anywhere}
/* Sign-in gate and nav */
.gate{min-height:100vh;background:var(--navy);display:grid;place-items:center;padding:24px 16px}
.gate-card{max-width:460px;width:100%;text-align:center;color:var(--head-fg);border-top:4px solid var(--gold);padding-top:22px}
.sub2{font-family:var(--sans);color:#d1b477;font-size:.95rem}
.gbtn{display:block;width:100%;min-height:48px;margin:14px 0 8px;border:0;border-radius:4px;background:var(--gold);color:#14243a;font:600 1rem var(--sans);cursor:pointer}
.gform{display:flex;flex-direction:column;gap:8px;max-width:none;border:0;background:none;border-radius:0}
.gform input{min-height:48px;border-radius:4px;border:1px solid var(--gold);background:#fffdf8}
.gform button{min-height:44px;border-radius:4px;background:transparent;border:1px solid var(--gold);color:#d1b477}
.gmsg{font-family:var(--sans);font-size:.85rem;color:#d1b477;min-height:1.2em}
.gate .linkbtn{color:#d1b477}
.topnav{background:var(--parch);border-bottom:1px solid var(--line);font-family:var(--sans);font-size:.9rem}
.topnav .wrap{padding-block:8px}
.topnav a{color:var(--gold-2);font-weight:600}
/* Green "signed in" badge in the top bar */
.topnav .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.mbadge{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:3px 10px 3px 8px;border:1px solid #2e8b57;border-radius:999px;background:#e8f5ee;color:#1d5e3a;font:600 .8rem var(--sans);white-space:nowrap}
.mdot{width:9px;height:9px;border-radius:50%;background:#22a05a;box-shadow:0 0 0 3px rgba(34,160,90,.22)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mbadge{background:#123524;color:#9fe0b9;border-color:#2e8b57}}
@media (prefers-reduced-motion:no-preference){.mdot{animation:mpulse 2.4s ease-in-out infinite}@keyframes mpulse{50%{box-shadow:0 0 0 5px rgba(34,160,90,.08)}}}
/* Pay by Zelle */
.zl-btn{display:block;width:100%;min-height:48px;margin:8px 0;border:1px solid #6d1ed4;border-radius:4px;background:#6d1ed4;color:#fff;font:600 1rem var(--sans);cursor:pointer}
.zl-card{text-align:left;background:rgba(255,253,248,.06);border:1px solid var(--gold);border-radius:4px;padding:10px 14px;margin:8px 0;font-family:var(--sans);font-size:.92rem}
.zl-card p{margin:6px 0}.zl-ref{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;color:var(--gold)}
.zl-card form{display:flex;flex-direction:column;gap:8px;margin:8px 0}.zl-card input{min-height:44px;border-radius:4px;border:1px solid var(--gold);background:#fffdf8;padding:0 10px;font:1rem var(--sans);color:#14243a}
.zl-card button{min-height:44px;border-radius:4px;border:0;background:var(--gold);color:#14243a;font:600 .95rem var(--sans);cursor:pointer}
.zl-note{font-family:var(--sans);font-size:.85rem;color:#d1b477}
.panel .zl-note{color:var(--muted)}.panel .zl-card{background:var(--parch)}
/* Opening film and membership card on the sign-in screen */
.intro{position:fixed;inset:0;z-index:50;background:#0b1422;display:grid;place-items:center;transition:opacity .5s}
.intro.out{opacity:0}.intro video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}
.intro.film video{opacity:1}.intro.film .intro-fallback{display:none}
.intro-fallback{text-align:center;animation:introIn 1.6s ease-out both}.intro-em{width:min(42vw,220px);height:auto;filter:drop-shadow(0 6px 24px rgba(185,152,88,.35))}
.intro-name{font:700 clamp(2rem,7vw,3.4rem)/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:#fffdf8;margin:16px 0 0}.intro-name span{color:var(--gold)}
.intro-mark{position:absolute;right:18px;bottom:18px;width:64px;height:auto;opacity:.55}
.intro-skip{position:absolute;top:max(16px,env(safe-area-inset-top));right:16px;min-height:40px;padding:0 16px;border:1px solid rgba(255,253,248,.5);border-radius:20px;background:rgba(11,20,34,.5);color:#fffdf8;font:600 .85rem var(--sans);cursor:pointer}
@keyframes introIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
.gperks{text-align:left;border:1px solid rgba(185,152,88,.6);border-radius:4px;padding:10px 14px;margin:12px 0;font-family:var(--sans);font-size:.9rem;color:#efe6d2}
.gperks ul{margin:6px 0 0;padding-left:18px}.gperks li{margin:2px 0}.gprice{margin:0;display:flex;justify-content:space-between;gap:8px;color:#fffdf8}.gprice span{color:var(--gold);font-weight:600}
.ginstall{display:block;margin:8px auto 0}
.gate .emblem{margin:0 auto 6px}
.gsteps{display:flex;gap:6px;list-style:none;margin:10px 0 12px;padding:0;counter-reset:st;font:600 .78rem var(--sans)}
.gsteps li{flex:1;counter-increment:st;padding:6px 4px;border-top:3px solid rgba(185,152,88,.35);color:#b8ad98;text-align:center}
.gsteps li::before{content:counter(st) ". "}
.gsteps li.done{border-color:#3fa66b;color:#bfe8cf}.gsteps li.done::before{content:"✓ "}
.gsteps li.now{border-color:var(--gold);color:#fffdf8}
.zl-btn.zl-godaddy{background:var(--gold);border-color:var(--gold);color:#14243a}
.zl-btn.zl-paypal{background:#fffdf8;border-color:var(--gold);color:#14243a}
.zl-go{color:var(--gold);font-weight:600}
.gnew summary{color:#fffdf8;font-weight:600}
#g-verify p{font-family:var(--sans);color:#efe6d2}
.intro[hidden]{display:none!important}
[hidden]{display:none!important}
.zl-card form{border:0;background:none;padding:0;border-radius:0;max-width:none;box-shadow:none}
.zl-card button.linkbtn{background:none;color:#d1b477;min-height:32px;font-weight:400;text-decoration:underline;padding:0}
.panel .zl-card button.linkbtn{color:var(--gold-2,#7d6738)}
.owform{display:grid;gap:8px;max-width:520px;border:0;background:none;padding:0}.owform label{display:grid;gap:4px;font:600 .9rem var(--sans)}
.owform input{min-height:42px;border:1px solid var(--line);border-radius:4px;padding:0 10px;font:1rem var(--sans);background:var(--card);color:var(--fg)}
.panel.owner{border-color:var(--gold)}.panel.owner h3{font:600 1rem var(--sans);margin:14px 0 6px}

.backlink{font-weight:700;color:#c9a75f !important;text-decoration:none}.backlink:hover{text-decoration:underline}
.topnav a.backlink,a.backlink{font-weight:700 !important;color:#c9a75f !important;text-decoration:none}
.about .scope{margin:1rem 0 0;padding:.75rem 1rem;border-left:3px solid #c9a75f;background:rgba(201,167,95,.08)}

/* Opening page: a compact sign-in card on navy, details below (Oct 30, 2026) */
.gate{align-content:start;padding-top:min(8vh,64px)}
.gate-card{max-width:420px;border-top:0;padding-top:0}
.gmark{display:block;width:84px;height:84px;margin:0 auto 10px;border-radius:18px;box-shadow:0 8px 26px rgba(0,0,0,.4)}
.gbox{background:#fffdf8;color:#23272f;border-radius:12px;padding:22px 20px 18px;margin:20px 0 12px;text-align:left;box-shadow:0 14px 36px rgba(0,0,0,.38)}
.gbox-h{font:700 1.2rem var(--sans);margin:0 0 12px;color:#14243a;text-align:center}
.gbox .gl{font:600 .9rem var(--sans);color:#14243a}
.gbox .gform input{border:1px solid #cdbf9f;background:#fff;padding:0 12px;font:1rem var(--sans);color:#23272f}
.gbox .gform input:focus{outline:3px solid #c9a75f;outline-offset:1px;border-color:#14243a}
.gmain,.gbox .gform button.gmain,#g-setpw .gform button.gmain{min-height:48px;border:0;border-radius:6px;background:#14243a;color:#fffdf8;font:700 1rem var(--sans);cursor:pointer}
#g-setpw .gform button.gmain{background:var(--gold);color:#14243a}
.gmain:hover{filter:brightness(1.15)}
.gbox .gmsg{color:#555b67;margin:8px 0 0}
.gbox .linkbtn{color:#2f5d93;font-weight:600}
.gor{display:flex;align-items:center;gap:10px;margin:18px 0 10px;color:#7d6738;font:600 .78rem var(--sans);text-transform:uppercase;letter-spacing:.08em}
.gor::before,.gor::after{content:"";flex:1;border-top:1px solid #ddd3bf}
.gremember{display:flex;align-items:center;gap:8px;min-height:36px;font:400 .95rem var(--sans);color:#23272f}
.gremember input{width:18px;height:18px;min-height:0;accent-color:#14243a}
.gbox .gbtn{margin:4px 0 0;background:#fff;color:#14243a;border:1px solid #14243a;border-radius:6px}
.gbox .gbtn:hover{background:#f1ebdd}
.gabout{text-align:left;margin:8px 0 12px;font-family:var(--sans);color:#efe6d2}
.gabout summary{min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#d1b477;font-weight:600}
.gabout .sub2{text-align:left}
#g-setpw p,#gate-sub p,#g-verify p{font-family:var(--sans);color:#efe6d2}
/* Opening animation: the memorial rises, the name opens out */
.intro-em{width:min(40vw,180px);border-radius:28px;animation:emRise 1.3s cubic-bezier(.2,.7,.2,1) both}
.intro-name{animation:nameIn 1.5s .35s ease-out both}
.intro-sub{margin:10px 0 0;font:600 .9rem var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#d1b477;animation:nameIn 1.2s .8s ease-out both}
@keyframes emRise{from{opacity:0;transform:translateY(26px) scale(.92)}to{opacity:1;transform:none}}
@keyframes nameIn{from{opacity:0;letter-spacing:.5em}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.intro-em,.intro-name,.intro-sub{animation:none}}.gbox .gform .gremember{flex-direction:row;justify-content:flex-start}.gbox .gform .gremember input{width:18px;height:18px;min-height:0;flex:none;margin:0;padding:0}

/* Step screens (Oct 30, 2026) */
.gstep[hidden]{display:none}
.glead{font:600 1.08rem/1.5 var(--serif);color:#14243a;margin:0 0 12px;text-align:center}
.gscope{font:400 .9rem/1.5 var(--sans);color:#555b67;margin:0 0 14px;text-align:center}
.gprice2{font:400 1rem var(--sans);color:#23272f;text-align:center;margin:0 0 14px}.gprice2 b{font-size:1.5rem;color:#14243a}
.gbox p{font-family:var(--sans)}
.gsec{min-height:46px;border-radius:6px;border:1px solid #14243a !important;background:#fff !important;color:#14243a !important;font:700 1rem var(--sans);cursor:pointer}
.gsec:hover{background:#f1ebdd !important}
.gbox .gsteps li{color:#7d6738}.gbox .gsteps li.now{color:#14243a}.gbox .gsteps li.done{color:#1d5e3a}
#gate-sub,#g-setpw{color:#23272f}#gate-sub p,#g-setpw p{color:#23272f}
#g-setpw .gform button.gmain{background:#14243a;color:#fffdf8}
.gate > .gate-card > .gmsg#g-msg{color:#ecd49a;font-weight:600}.gstep > .gmain,.gstep > .gsec,.gstep > .gbtn,#g-setpw > .gmain{display:block;width:100%;margin:8px 0}.gstep .gform .gsec{width:100%}
.intro video{object-fit:contain;background:#0b1422}
.boot{position:fixed;inset:0;z-index:45;background:var(--navy);display:grid;place-items:center;transition:opacity .25s}.boot.out{opacity:0;pointer-events:none}.boot img{width:96px;height:96px;border-radius:20px}
.gspam{color:#7d6738 !important;font-weight:600}
.pwcard{background:#fff7e0;border-bottom:2px solid #c9a75f;font-family:var(--sans)}.pwcard .wrap{padding:12px 16px}.pwcard p{margin:0 0 8px}.pwform{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pwform input{min-height:44px;flex:1 1 220px;padding:0 10px;border:1px solid #cdbf9f;border-radius:6px}.pwform button[type=submit]{min-height:44px;padding:0 16px;border:0;border-radius:6px;background:#14243a;color:#fffdf8;font-weight:700}
#gate-sub > .gsec{display:block;width:100%;margin:14px 0 0}
/* Pay page in two numbered steps (Oct 30, 2026) */
#gate-sub .zl-card{text-align:left;font-family:var(--sans);color:#23272f}
.zl-big{font-size:1.05rem;margin:4px 0 8px}
.zl-h{font:700 .8rem var(--sans);text-transform:uppercase;letter-spacing:.08em;color:#7d6738;margin:16px 0 6px}
a.gmain.zl-go{display:flex;align-items:center;justify-content:center;width:100%;text-decoration:none;font-size:1.05rem}
.zl-qrrow{display:flex;justify-content:center;margin:8px 0}
.zl-qr{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0}.zl-qr img{background:#fff;padding:6px;border:1px solid #ddd3bf;border-radius:8px}.zl-qr small{color:#555b67}
.zl-st{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0}.zl-st select{min-height:40px;border:1px solid #cdbf9f;border-radius:6px;padding:0 8px}
#zl-done,#zl-ask .gsec,#zl-back{display:block;width:100%;margin:6px 0}
#zl-ask{border-top:1px solid #ddd3bf;margin-top:8px;padding-top:8px}
.zl-warn{background:#fdecea;color:#8a1c12;padding:8px 10px;border-radius:6px}.zl-small{font-size:.85rem;color:#555b67;text-align:center;margin:6px 0 0}.zl-after{background:#e8f5ee;color:#1d5e3a;padding:8px 10px;border-radius:6px;text-align:center;margin:8px 0}
.pvbar{position:sticky;top:0;z-index:60;display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;padding:8px 12px;background:#c9a75f;color:#14243a;font:600 .9rem var(--sans)}.pvbar button,.pvbar a{min-height:36px;padding:0 12px;border:1px solid #14243a;border-radius:6px;background:#fffdf8;color:#14243a;font:600 .85rem var(--sans);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.gsoon{display:flex;flex-direction:column;align-items:center;gap:6px;margin:6px 0 4px;padding:16px;border:2px solid #c9a75f;border-radius:10px;background:#fffaf0;text-align:center;font-family:var(--sans)}.gsoon b{font:700 1.5rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:#14243a}.gsoon span{color:#555b67}
.gsoon-line{font:600 1.02rem/1.45 var(--serif);color:#14243a;text-align:center;margin:0 0 10px}#p-soon .gform{margin-top:12px}
