:root{
  --bg:#12130f;--bg2:#181a14;--panel:#20231b;--panel2:#272b20;--text:#eee9df;
  --muted:#b8b3a7;--line:#3f4234;--bronze:#b68755;--bronze2:#d0a46e;--green:#6f8b72;
  --max:1180px;--radius:20px;--shadow:0 22px 70px rgba(0,0,0,.28)
}
*{box-sizing:border-box}
section[id]{scroll-margin-top:100px}
:focus-visible{outline:2px solid var(--bronze2);outline-offset:4px}
button:disabled{opacity:.6;cursor:wait}
.member-layout>*{min-width:0}
.contact .btn{overflow-wrap:anywhere;max-width:100%}
.section.narrow{max-width:none}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
a{color:inherit}
img{max-width:100%;height:auto}
button,input,textarea{font:inherit}
button{color:inherit}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:#fff;color:#111;padding:.7rem 1rem;border-radius:.5rem}
.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem max(1.2rem,calc((100vw - var(--max))/2));background:rgba(18,19,15,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.brand img{border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.brand span,.footer-brand span{display:flex;flex-direction:column;line-height:1.12}
.brand strong{letter-spacing:.12em;font-size:.92rem}
.brand small,.footer-brand small{color:var(--muted);font-size:.72rem;margin-top:.18rem}
.main-nav{display:flex;align-items:center;gap:1.15rem}
.main-nav a{text-decoration:none;color:var(--muted);font-size:.94rem}
.main-nav a:hover,.main-nav a:focus{color:var(--text)}
.menu-btn{display:none;background:transparent;border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem}
.section{padding:7rem max(1.25rem,calc((100vw - var(--max))/2))}
.narrow{max-width:var(--max);margin:0 auto}
.hero{min-height:82vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem;overflow:hidden}
.hero-copy{max-width:720px}
.eyebrow{font-size:.74rem;letter-spacing:.18em;font-weight:800;color:var(--bronze2);margin:0 0 1rem}
h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;line-height:1.08;margin-top:0}
h1{font-size:clamp(3.2rem,8vw,7rem);letter-spacing:-.045em;margin-bottom:1.4rem}
h1 span{color:var(--bronze2)}
h2{font-size:clamp(2.2rem,5vw,4.2rem);letter-spacing:-.035em;margin-bottom:2rem}
h3{font-size:1.65rem;margin-bottom:.7rem}
h4{font-size:1.3rem;margin-bottom:.6rem}
.lead{font-size:clamp(1.08rem,2vw,1.35rem);color:#d2cec4;max-width:68ch}
.status-note{font-size:.82rem;color:var(--muted);max-width:65ch;margin-top:1.4rem}
.hero-mark{display:flex;justify-content:center;filter:drop-shadow(0 35px 55px rgba(0,0,0,.45))}
.hero-mark img{width:min(46vw,620px);border-radius:50%}
.actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:2rem}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--bronze);background:linear-gradient(180deg,#bc8e5c,#967047);color:#17140f;text-decoration:none;font-weight:800;padding:.82rem 1.2rem;border-radius:999px;cursor:pointer;transition:.2s transform,.2s filter}
.btn:hover,.btn:focus{transform:translateY(-1px);filter:brightness(1.08)}
.btn-secondary{background:transparent;color:var(--text);border-color:var(--line)}
.btn-small{padding:.58rem .9rem;font-size:.9rem}
.band{background:linear-gradient(180deg,var(--bg2),#171812);border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}
.grid-3,.grid-2{display:grid;gap:1.25rem}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card,.feature,.member-panel,.member-box,.event-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));border-radius:var(--radius)}
.card{padding:1.5rem}
.card p,.feature p{color:var(--muted);margin-bottom:0}
.feature{display:flex;gap:1.1rem;padding:1.4rem}
.feature-num{font-size:.85rem;color:var(--bronze2);font-weight:900;letter-spacing:.08em}
.event-card{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:2rem;box-shadow:var(--shadow)}
.event-card h2{margin-bottom:1rem}
.event-card p{color:var(--muted)}
.event-state{font-size:.75rem!important;font-weight:900;letter-spacing:.14em;color:var(--bronze2)!important}
.event-meta{min-width:190px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-left:1px solid var(--line);padding-left:2rem;text-align:center}
.event-meta span{font-family:Georgia,serif;font-size:1.6rem}
.event-meta small{color:var(--muted)}
.workshops{margin-top:1.2rem}
.workshop-item{padding:1rem 1.2rem;border:1px solid var(--line);border-radius:14px;margin-top:.75rem;background:rgba(255,255,255,.02)}
.member-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:start}
.member-panel{padding:1.5rem}
.member-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.member-status{padding:1rem;border-radius:14px;background:rgba(111,139,114,.12);border:1px solid rgba(111,139,114,.35);margin-bottom:1rem}
.member-box{padding:1.2rem;margin-top:1rem}
.stack{display:grid;gap:.95rem}
label{display:grid;gap:.38rem;font-size:.86rem;color:var(--muted);font-weight:700}
input,textarea{width:100%;color:var(--text);background:#13150f;border:1px solid var(--line);border-radius:12px;padding:.78rem .85rem;outline:none}
input:focus,textarea:focus{border-color:var(--bronze2);box-shadow:0 0 0 3px rgba(208,164,110,.12)}
.check{grid-template-columns:auto 1fr;align-items:start;font-weight:500}
.check input{width:1.05rem;height:1.05rem;margin-top:.18rem}
.form-msg{min-height:1.25rem;color:var(--muted);font-size:.88rem}
.form-msg.error{color:#ef9b91}.form-msg.success{color:#9dcc9f}
.resource-link{display:block;padding:.7rem 0;border-bottom:1px solid var(--line);text-decoration:none}
.contact{background:radial-gradient(circle at 80% 30%,rgba(111,139,114,.18),transparent 32%),var(--panel)}
.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.5rem max(1.25rem,calc((100vw - var(--max))/2));border-top:1px solid var(--line);color:var(--muted);font-size:.83rem}
.footer-brand{display:flex;align-items:center;gap:.65rem}.footer-brand strong{color:var(--text)}
.auth-dialog{width:min(92vw,520px);border:1px solid var(--line);border-radius:22px;padding:1.5rem;background:#1a1c16;color:var(--text);box-shadow:var(--shadow)}
.auth-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.dialog-close{position:absolute;right:1rem;top:.9rem;background:transparent;border:0;font-size:2rem;cursor:pointer;color:var(--muted)}
.auth-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--line);padding-right:2.2rem;margin-bottom:1.4rem}
.auth-tab{background:transparent;border:0;border-bottom:2px solid transparent;padding:.65rem .8rem;color:var(--muted);cursor:pointer}
.auth-tab.active{color:var(--text);border-color:var(--bronze2)}
.auth-pane h2{font-size:2rem;margin-bottom:1rem}
.link-btn{border:0;background:transparent;color:var(--bronze2);cursor:pointer;padding:.65rem 0;text-decoration:underline}
[hidden]{display:none!important}

@media (max-width:900px){
  .main-nav{display:none;position:absolute;left:1rem;right:1rem;top:74px;padding:1rem;background:#191b15;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
  .main-nav.open{display:flex}.menu-btn{display:block}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:4rem}.hero-mark{order:-1}.hero-mark img{width:min(72vw,430px)}
  .grid-3,.grid-2,.member-layout{grid-template-columns:1fr}
  .event-card{grid-template-columns:1fr}.event-meta{border-left:0;border-top:1px solid var(--line);padding:1.2rem 0 0;align-items:flex-start}
  .contact-inner{align-items:flex-start;flex-direction:column}
}
@media (max-width:560px){
  .section{padding-top:4.6rem;padding-bottom:4.6rem}
  h1{font-size:clamp(3rem,17vw,5.2rem)}
  .brand small{display:none}.brand strong{font-size:.82rem}
  .member-head{flex-direction:column}
  .site-footer{align-items:flex-start;flex-direction:column}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
