:root{--gold:#b8862b;--gold-dark:#8c6420;--maroon:#6e1f2a;--ink:#211c16;--paper:#fbf7ef;--paper-dim:#f1e9d8;--line:#e2d6b8;--muted:#6b6255}*{box-sizing:border-box;margin:0;padding:0;overflow-wrap:break-word}html{scroll-behavior:smooth}body,html{max-width:100%;overflow-x:hidden}body{font-family:Inter,-apple-system,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;font-size:16px}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600}a{color:inherit}img{max-width:100%;display:block}header.site-nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);padding:.7rem 1.5rem;justify-content:space-between;gap:1rem}.brand,header.site-nav{display:flex;align-items:center}.brand{gap:.65rem;text-decoration:none}.brand img.logo-mark{height:40px;width:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.brand-text{font-family:Fraunces,serif;font-weight:600;font-size:1rem;line-height:1.25;color:var(--ink)}.brand-text small{display:block;font-family:Inter,sans-serif;font-weight:400;font-size:.7rem;letter-spacing:.5px;color:var(--muted);text-transform:uppercase;margin-top:1px}nav.links{display:flex;align-items:center;gap:1.4rem}nav.links a.nav-link{text-decoration:none;font-size:.87rem;font-weight:500;color:var(--ink);opacity:.7;padding-bottom:3px;border-bottom:2px solid transparent}nav.links a.nav-link:hover{opacity:1}nav.links a.nav-link.active{opacity:1;border-bottom-color:var(--gold)}.directions-group{display:flex;align-items:center;gap:.5rem}.dir-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;text-decoration:none;padding:.42rem .75rem;border-radius:6px;border:1px solid var(--line);color:var(--ink);white-space:nowrap;background:#fff}.dir-btn:hover{border-color:var(--gold)}.social-group{display:flex;align-items:center;gap:.5rem}.social-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);color:var(--ink);background:#fff;flex-shrink:0}.social-btn:hover{border-color:var(--gold);color:var(--gold-dark)}.hamburger-btn{display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;flex-shrink:0}.hamburger-btn span{display:block;width:18px;height:2px;border-radius:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}.hamburger-btn.open span:first-child{transform:translateY(6px) rotate(45deg)}.hamburger-btn.open span:nth-child(2){opacity:0}.hamburger-btn.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu{display:none}@media (max-width:860px){.dir-btn span.dir-label,nav.links a.nav-link{display:none}.dir-btn{padding:.5rem}.hamburger-btn{display:flex}.social-group{display:none}.mobile-menu{position:absolute;top:100%;left:0;right:0;max-height:0;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 20px -8px rgba(20,14,8,.15);transition:max-height .25s ease}.mobile-menu.open{display:block;max-height:80vh;overflow-y:auto}.mobile-links{display:flex;flex-direction:column;padding:.5rem 1.5rem}.mobile-nav-link{text-decoration:none;font-size:.95rem;font-weight:500;color:var(--ink);padding:.85rem 0;border-bottom:1px solid var(--line)}.mobile-links a:last-child{border-bottom:none}.mobile-nav-link.active{color:var(--gold-dark);font-weight:600}.mobile-directions{display:flex;gap:.6rem;padding:1rem 1.5rem 0}.mobile-directions .dir-btn{flex:1 1;justify-content:center;padding:.65rem}.mobile-directions .dir-btn span.dir-label{display:inline}.mobile-social{display:flex;gap:.6rem;padding:.8rem 1.5rem 1.4rem}.mobile-social .dir-btn{flex:1 1;justify-content:center;padding:.65rem}.mobile-social .dir-btn span.dir-label{display:inline}}@media (max-width:420px){header.site-nav{padding:.6rem 1rem;gap:.6rem}.brand-text{font-size:.88rem}.brand img.logo-mark{height:34px;width:34px}}.hero{position:relative;min-height:56vh;display:flex;align-items:flex-end;background-size:cover;background-position:center 65%;background-image:linear-gradient(180deg,rgba(20,14,8,.15) 0,rgba(20,14,8,.35) 55%,rgba(15,10,6,.88) 100%),var(--hero-img)}.hero-content{position:relative;max-width:760px;padding:3.2rem 1.5rem 2.6rem;color:#fff}.hero-eyebrow{font-size:.78rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#e8d9ae;margin-bottom:.8rem}.hero h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.08;margin-bottom:.9rem}.hero p.tagline{font-size:1rem;font-weight:400;max-width:520px;color:#efe7d4;margin-bottom:1.6rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.page-hero{padding:3rem 1.5rem 2.4rem;background:var(--paper-dim);border-bottom:1px solid var(--line)}.page-hero-inner{max-width:1040px;margin:0 auto}.page-hero h1{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--ink)}.page-hero p{color:var(--muted);margin-top:.6rem;max-width:60ch}.btn{display:inline-flex;align-items:center;gap:.5rem;font-size:.86rem;font-weight:600;text-decoration:none;padding:.7rem 1.15rem;border-radius:6px;border:none;cursor:pointer;font-family:inherit}.btn-primary{background:var(--gold);color:#221600}.btn-outline{border:1px solid hsla(0,0%,100%,.55);color:#fff;background:transparent}.btn-outline-dark{border:1px solid var(--line);color:var(--ink);background:#fff}.btn-danger{background:#9c3b3b;color:#fff}.btn-small{font-size:.78rem;padding:.45rem .8rem}section{max-width:1040px;margin:0 auto;padding:4.5rem 1.5rem}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-dark);margin-bottom:.6rem}h2.section-title{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--ink);margin-bottom:1.8rem;max-width:30ch}.about-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:3rem;gap:3rem;align-items:start}@media (max-width:780px){.about-grid{grid-template-columns:1fr}}.about-grid p,.prose p{color:#46403a;margin-bottom:1.05rem;font-size:.98rem;white-space:pre-line}.about-grid p:last-child{margin-bottom:0}.about-photo{border-radius:4px;overflow:hidden}.about-photo img{width:100%;height:340px;object-fit:cover}.about-photo figcaption{font-size:.78rem;color:var(--muted);padding-top:.6rem}.gallery-section{background:var(--paper-dim)}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;grid-gap:.9rem;gap:.9rem;height:420px;overflow:hidden}.gallery-grid img{display:block;width:100%;height:100%;min-height:0;min-width:0;object-fit:cover;border-radius:4px}.gallery-grid .g-main{grid-column:1;grid-row:1/3;min-height:0}@media (max-width:700px){.gallery-grid{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.gallery-grid .g-main{grid-row:auto}.gallery-grid img{height:230px}}.full-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.full-gallery-grid figure{border-radius:4px;overflow:hidden;background:var(--paper-dim)}.full-gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.full-gallery-grid figcaption{font-size:.78rem;color:var(--muted);padding:.5rem .1rem 0}@media (max-width:760px){.full-gallery-grid{grid-template-columns:repeat(2,1fr)}}.location-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.6rem}.location-header .addr{font-size:.95rem;color:#46403a;max-width:46ch}.location-header .addr strong{color:var(--ink)}.map-box{border:1px solid var(--line);border-radius:6px;overflow:hidden}.map-box iframe{width:100%;height:460px;border:0;display:block}.map-actions{display:flex;gap:.75rem;flex-wrap:wrap}.fb-section{background:var(--paper-dim)}.fb-wrap{display:flex;justify-content:center}.fb-frame-container{width:100%;max-width:560px;border-radius:6px;overflow:hidden;border:1px solid var(--line)}.fb-fallback{text-align:center;margin-top:1rem;font-size:.85rem;color:var(--muted)}.fb-fallback a{color:var(--maroon);font-weight:600}.committee-section{background:var(--paper)}.officer-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.6rem 1.3rem;gap:1.6rem 1.3rem;margin-bottom:3rem}.officer-photo{border-radius:4px;overflow:hidden;aspect-ratio:3/4;background:var(--paper-dim)}.officer-photo img{width:100%;height:100%;object-fit:cover;display:block}.officer-role{margin-top:.85rem;font-size:.72rem;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold-dark)}.officer-name{font-family:Fraunces,serif;font-weight:600;font-size:1.08rem;color:var(--ink);margin-top:.2rem}.officer-name span{font-family:Inter,sans-serif;font-weight:400;font-size:.85rem;color:var(--muted)}.members-heading{font-family:Fraunces,serif;font-weight:600;font-size:1.15rem;color:var(--ink);margin-bottom:1.3rem;padding-top:.5rem;border-top:1px solid var(--line)}.members-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:1.1rem;gap:1.1rem}.member-photo{border-radius:4px;overflow:hidden;aspect-ratio:3/4;background:var(--paper-dim)}.member-photo img{width:100%;height:100%;object-fit:cover;display:block}.member-name{margin-top:.6rem;font-size:.85rem;font-weight:500;color:var(--ink)}@media (max-width:760px){.members-grid,.officer-grid{grid-template-columns:repeat(2,1fr)}.members-grid{gap:1.4rem 1rem}}.program-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem}.program-card{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;padding:1.3rem 1.5rem;background:#fff;border:1px solid var(--line);border-radius:8px}.program-card>div:first-child{flex:1 1 auto;min-width:0}.program-card h3{font-size:1.05rem;color:var(--ink);margin-bottom:.35rem}.program-card p{font-size:.9rem;color:var(--muted);max-width:55ch}.program-schedule{font-size:.82rem;font-weight:600;color:var(--gold-dark);text-align:right;flex:0 0 auto;width:15rem}@media (max-width:640px){.program-card{flex-wrap:wrap}.program-schedule{width:auto;text-align:left}}.registration-box{margin-top:3rem;padding:1.6rem;background:var(--paper-dim);border-radius:8px;border:1px solid var(--line)}.registration-box h3{font-size:1rem;margin-bottom:.6rem;color:var(--ink)}.registration-box p{font-size:.85rem;color:var(--muted)}.registration-box strong{color:var(--ink)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem}@media (max-width:760px){.contact-grid{grid-template-columns:1fr}}.contact-card{padding:1.5rem;background:#fff;border:1px solid var(--line);border-radius:8px}.contact-card h3{font-size:.95rem;margin-bottom:.8rem;color:var(--gold-dark);text-transform:uppercase;letter-spacing:1px;font-family:Inter,sans-serif;font-weight:600}.contact-card p{font-size:.95rem;margin-bottom:.4rem}.contact-card a{color:var(--maroon);font-weight:600;text-decoration:none}footer{background:var(--ink);color:#c9c1b2;padding:2.6rem 1.5rem 1.8rem;text-align:center;font-size:.85rem}footer img.footer-logo{height:44px;width:44px;border-radius:50%;margin:0 auto .9rem;display:block}footer .footer-name{color:#fff;font-family:Fraunces,serif;font-weight:600;font-size:1.05rem;margin-bottom:.3rem}footer .footer-links{margin-top:.8rem;display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap}footer .footer-links a{color:#e8d9ae;text-decoration:none;font-weight:500;font-size:.82rem}footer .note{max-width:560px;margin:1.6rem auto 0;padding-top:1.4rem;border-top:1px solid hsla(0,0%,100%,.1);font-size:.74rem;color:#837c6e;line-height:1.6}.admin-body{background:#f4f1ea;min-height:100vh}.admin-bar{background:var(--ink);color:#fff;padding:.8rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.admin-bar a{color:#e8d9ae;text-decoration:none;font-size:.85rem;font-weight:500}.admin-bar .admin-bar-title{font-family:Fraunces,serif;font-weight:600}.admin-wrap{max-width:900px;margin:0 auto;padding:2rem 1.5rem 4rem}.admin-nav{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem}.admin-nav a{text-decoration:none;font-size:.85rem;font-weight:600;padding:.5rem .9rem;border-radius:6px;background:#fff;border:1px solid var(--line);color:var(--ink)}.admin-nav a.active{background:var(--gold);border-color:var(--gold);color:#221600}.admin-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.6rem;margin-bottom:1.5rem}.admin-card h2{font-size:1.15rem;margin-bottom:1rem}.admin-login-wrap{max-width:380px;margin:4rem auto;padding:2rem;background:#fff;border:1px solid var(--line);border-radius:10px}.admin-login-wrap h1{font-size:1.3rem;margin-bottom:1.4rem;text-align:center}.form-row{margin-bottom:1.1rem}.form-row label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.35rem;color:var(--ink)}.form-row .hint{font-size:.76rem;color:var(--muted);margin-top:.3rem}.form-row input[type=email],.form-row input[type=number],.form-row input[type=password],.form-row input[type=text],.form-row select,.form-row textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--line);border-radius:6px;font-family:inherit;font-size:.92rem;background:#fff;color:var(--ink)}.form-row textarea{min-height:110px;resize:vertical}.form-row input[type=file]{font-size:.85rem}.form-actions{display:flex;gap:.7rem;margin-top:1.4rem}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 1.2rem;gap:0 1.2rem}@media (max-width:640px){.two-col{grid-template-columns:1fr}}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:.5rem .6rem;border-bottom:1px solid var(--line)}.admin-table td{padding:.7rem .6rem;border-bottom:1px solid var(--paper-dim);font-size:.88rem;vertical-align:middle}.admin-table img.thumb{width:44px;height:44px;object-fit:cover;border-radius:6px}.admin-table .row-actions{display:flex;gap:.5rem;white-space:nowrap}.admin-table .row-actions a,.admin-table .row-actions button{font-size:.78rem}.inline-form{display:inline}.flash-success{background:#e6f0e2;border:1px solid #b9d6ae;color:#33562a;border-radius:6px}.flash-error,.flash-success{padding:.7rem 1rem;font-size:.85rem;margin-bottom:1.2rem}.flash-error{background:#f6e3e3;border:1px solid #e3b4b4;color:#7a2626;border-radius:6px}.gallery-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:1rem;gap:1rem}.gallery-admin-item{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.gallery-admin-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-admin-item .gi-body{padding:.6rem .7rem .8rem}.gallery-admin-item .gi-body input{font-size:.78rem;margin-bottom:.4rem}