:root{--ink:#10231d;--green:#173f2e;--green2:#315846;--cream:#f7f4ec;--paper:#fffdf8;--line:rgba(23,63,46,.14);--muted:#64716b;--gold:#b79252;--shadow:0 18px 45px rgba(16,35,29,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:20px;padding:12px clamp(18px,4vw,54px);background:rgba(255,253,248,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{border:0;background:transparent;text-align:left}.brand-logo{display:block;width:150px;max-height:64px;object-fit:contain}.brand-tagline{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:9px;letter-spacing:.13em;margin-top:5px;font-weight:700;color:var(--green)}.brand-tagline b{font-size:8px;letter-spacing:0;color:var(--gold)}.public-nav{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.public-nav button,.text-btn,.footer button{border:0;background:transparent;color:var(--ink);padding:9px 10px}.header-actions{display:flex;align-items:center;gap:8px}.pill,.mini{border:1px solid transparent;border-radius:999px;background:var(--green);color:white;font-weight:700;padding:12px 20px}.mini{padding:8px 12px;font-size:12px}.pill.outline,.mini.outline{background:transparent;border-color:var(--green);color:var(--green)}.pill.secondary{background:#dce8df;color:var(--ink)}.pill.light{border-color:#fff;color:#fff}.danger{background:#fff2f0!important;color:#8b2e25!important;border-color:#e6b8b1!important}.mobile-menu{display:none;border:0;background:transparent;font-size:28px;color:var(--green)}main{min-height:60vh}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;min-height:570px;background:#182b21;color:#fff;overflow:hidden}.hero-copy{padding:clamp(48px,6vw,82px);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 22% 28%,rgba(75,105,76,.36),transparent 30%),linear-gradient(135deg,#1b2d23 0%,#10231d 72%);position:relative}.hero h1{font:700 clamp(48px,5.7vw,84px)/.98 "Playfair Display",Georgia,serif;margin:0 0 24px;letter-spacing:-.035em;max-width:620px}.hero .lede{font-size:18px;line-height:1.55;max-width:590px;color:#f1f4f1;margin-bottom:24px}.hero .eyebrow{color:#c7d9cf}.hero-image{background-image:linear-gradient(90deg,rgba(16,35,29,.10),transparent 24%),url('assets/freetown-leadership.jpg');background-size:cover;background-position:center 40%;min-width:0}.hero-motto{margin-top:30px;font-weight:700;letter-spacing:.28em;font-size:12px}.hero-motto span{margin:0 12px}.hero-actions{gap:14px}.hero-primary{background:#173f2e;border-color:#fff}.hero-primary:hover{background:#214f3b}.hero-secondary{background:transparent!important;border-color:#fff!important;color:#fff!important}.membership-levels{padding-top:52px;padding-bottom:52px}.membership-heading{text-align:center;margin:0 auto 30px}.membership-heading h2{margin-bottom:6px}.membership-heading p{margin:0;color:var(--muted);font-size:18px}.membership-levels .level-card{box-shadow:none;background:rgba(255,253,248,.82)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;color:var(--green2)}h2{font:700 clamp(32px,4vw,50px)/1.08 "Playfair Display",Georgia,serif;margin:7px 0 10px}h3{margin:8px 0 8px}.section{padding:64px clamp(20px,5vw,74px);max-width:1440px;margin:auto}.section.alt{max-width:none;background:#edf1eb}.inner{max-width:1292px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.section-head p{max-width:720px;color:var(--muted)}.grid-2,.grid-3,.grid-4,.wall-grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3,.wall-grid{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 5px 22px rgba(16,35,29,.035)}.card p,.subtle,.meta{color:var(--muted);line-height:1.55}.level-card{text-align:center;padding:28px 22px}.level-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#e7ead9;font-size:30px}.leadership-strip{max-width:1440px;margin:auto;padding:48px clamp(20px,5vw,74px);background:var(--green);color:white;display:grid;grid-template-columns:.8fr 2fr auto;gap:34px;align-items:center}.leadership-strip .eyebrow,.leadership-strip p{color:#c7d9cf}.leadership-names{display:grid;grid-template-columns:repeat(3,1fr)}.leadership-names>div{padding:10px 24px;border-left:1px solid rgba(255,255,255,.22)}.leadership-names strong,.leadership-names span{display:block}.leadership-names span{font-size:12px;color:#c7d9cf;margin-top:5px}.team-photo{height:250px;border-radius:14px;background-image:url('assets/freetown-leadership.jpg');background-size:220%;margin-bottom:16px}.team-left{background-position:0 38%}.team-center{background-position:50% 35%}.team-right{background-position:100% 38%}.event{display:grid;grid-template-columns:72px 1fr auto;gap:18px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:12px}.event-date{text-align:center;border-right:1px solid var(--line)}.event-date strong{display:block;font:700 30px "Playfair Display"}.event-date span{font-size:12px;text-transform:uppercase}.actions,.row-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.tag,.status{display:inline-block;padding:5px 9px;border-radius:999px;background:#e4eee8;font-size:11px;font-weight:700}.tag.gray{background:#ececea}.tag.gold{background:#eee3cf}.toolbar{display:flex;gap:10px;margin:16px 0}.toolbar input,.toolbar select,.field input,.field select,.field textarea{width:100%;border:1px solid #ccd5cf;border-radius:12px;padding:12px 13px;background:#fff}.field textarea{min-height:110px}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field.full{grid-column:1/-1}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}.notice,.member-access,.empty{padding:16px;border-radius:14px;background:#edf1eb;color:#42564c}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:24px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:13px}th{background:#f3f4ef}.footer{padding:42px clamp(20px,5vw,74px);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr auto;gap:24px;align-items:center}.footer-logo{width:150px}.footer-links{display:flex;justify-content:center;flex-wrap:wrap}.toast{position:fixed;right:20px;bottom:20px;z-index:80;background:var(--ink);color:white;padding:14px 18px;border-radius:12px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}dialog{border:0;border-radius:20px;max-width:760px;width:min(92vw,760px);padding:0;box-shadow:0 30px 90px rgba(0,0,0,.24)}dialog::backdrop{background:rgba(10,25,19,.5)}#modalBody{padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.x{border:0;background:transparent;font-size:28px}.os-shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 90px)}.sidebar{background:var(--ink);color:white;padding:22px 14px}.sidebar h3{padding:0 10px}.side-nav{display:grid;gap:3px}.side-nav button{border:0;background:transparent;color:#d6e0db;text-align:left;padding:10px;border-radius:9px}.side-nav button.active{background:#315846;color:#fff}.os-main{padding:26px;max-width:1400px;width:100%;margin:auto}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi{background:white;border:1px solid var(--line);border-radius:16px;padding:18px}.kpi strong{font-size:30px;display:block}.loading{padding:70px;text-align:center}.launch-progress{height:9px;border-radius:999px;background:#e2e6e2;overflow:hidden}.launch-progress>div{height:100%;background:var(--green)}.checklist-card{display:flex;gap:14px}.check-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eee3cf}.check-dot.done{background:#dceade}.portrait{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#dce8df;font-weight:800}.profile-meta{font-size:12px;color:var(--green2)}@media(max-width:980px){.site-header{grid-template-columns:1fr auto auto}.public-nav{display:none;position:absolute;left:16px;right:16px;top:88px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--shadow)}.public-nav.open{display:grid!important}.mobile-menu{display:block}.hero{grid-template-columns:1fr}.hero-image{min-height:480px;background-position:center 35%}.grid-4{grid-template-columns:repeat(2,1fr)}.leadership-strip{grid-template-columns:1fr}.os-shell{grid-template-columns:1fr}.sidebar{position:relative}.side-nav{grid-template-columns:repeat(3,1fr)}.kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.site-header{padding:10px 14px;grid-template-columns:1fr auto auto;gap:8px}.brand-logo{width:130px}.brand-tagline{font-size:8px}.header-actions .text-btn{display:none}.header-actions .pill{padding:11px 14px}.hero{min-height:0}.hero-image{min-height:390px}.hero-copy{padding:38px 22px}.hero h1{font-size:45px}.hero .lede{font-size:16px}.section{padding:42px 18px}.grid-2,.grid-3,.grid-4,.wall-grid{grid-template-columns:1fr}.leadership-names{grid-template-columns:1fr}.leadership-names>div{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:12px 0}.section-head{align-items:flex-start;flex-direction:column}.event{grid-template-columns:54px 1fr}.event .row-actions{grid-column:1/-1}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.footer{grid-template-columns:1fr;text-align:center}.footer-links{justify-content:center}.os-main{padding:16px}.side-nav{grid-template-columns:repeat(2,1fr)}.kpis{grid-template-columns:1fr}.team-photo{height:300px;background-size:190%}}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(183,146,82,.55);outline-offset:2px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Launch polish: mobile access, brand line, contact + social footer */
.footer{padding:46px clamp(20px,5vw,74px) 24px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr 1fr 1.35fr;gap:34px;align-items:start;background:#fffdf8}
.footer h3{font-size:13px;text-transform:uppercase;letter-spacing:.14em;margin:2px 0 14px;color:var(--green)}
.footer-logo{width:155px;height:auto}
.footer-brand p{max-width:270px;margin:12px 0 0;color:var(--muted);line-height:1.5}
.footer-motto{display:flex;align-items:center;gap:7px;white-space:nowrap;margin-top:7px;font-size:9px;letter-spacing:.13em;font-weight:800;color:var(--green)}
.footer-motto b{color:var(--gold);letter-spacing:0}
.footer-contact,.footer-social{display:flex;flex-direction:column;gap:9px}
.footer-contact a,.footer-social a{color:var(--ink);text-decoration:none;line-height:1.4}
.footer-contact a:hover,.footer-social a:hover{text-decoration:underline}
.footer-contact span,.footer-social a span{color:var(--muted);font-size:12px}
.footer-links{display:block}
.footer-links>div{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.footer-links button{padding:5px 0;text-align:left}
.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;color:var(--muted)}
@media(max-width:980px){.footer{grid-template-columns:repeat(2,1fr)}.footer-bottom{grid-column:1/-1}}
@media(max-width:650px){.site-header{grid-template-columns:minmax(0,1fr) auto auto}.header-actions{gap:4px}.header-actions .text-btn{display:block!important;padding:9px 8px;font-size:13px;white-space:nowrap;max-width:98px;overflow:hidden;text-overflow:ellipsis}.header-actions .pill{padding:10px 12px;font-size:12px}.brand-logo{width:120px}.brand-tagline{font-size:7.5px;letter-spacing:.08em;gap:4px}.footer{grid-template-columns:1fr;text-align:left;gap:26px}.footer-links>div{align-items:flex-start}.footer-bottom{grid-column:auto}.footer-motto{font-size:8px}.mobile-menu{font-size:25px}}
