/* ==========================================================================
   Government CIO Knowledge Portal — Full-Width Design System
   ========================================================================== */

/* ── Design Tokens ──────────────────────────────────────────────────────── */
:root {
    /* Backgrounds */
    --bg:           #07090f;
    --bg-soft:      #0b1020;
    --surface:      #111827;
    --surface-alt:  #161f30;
    --surface-hi:   #1c2640;

    /* Borders */
    --border:       rgba(99,120,200,.15);
    --border-hi:    rgba(99,120,200,.28);

    /* Text — higher contrast for readability */
    --text:         #d4e0f7;
    --text-strong:  #ffffff;
    --text-body:    #b8cfec;
    --muted:        #7a96be;
    --muted-hi:     #9db4d6;

    /* Brand */
    --blue:         #3b46cc;
    --blue-dk:      #1e1f8e;
    --blue-mid:     #4a56d6;
    --blue-lo:      rgba(59,70,204,.12);
    --gold:         #f2c300;
    --red:          #ed1c24;
    --green:        #10b981;

    /* Gradients */
    --g-blue:       linear-gradient(135deg,#1e1f8e 0%,#3b46cc 100%);
    --g-hero:       linear-gradient(160deg,#07090f 0%,#0b1020 50%,#0d1530 100%);
    --g-section:    linear-gradient(180deg,rgba(59,70,204,.04) 0%,transparent 100%);

    /* Shadows */
    --sh:           0 4px 24px rgba(0,0,0,.4), 0 1px 4px rgba(0,0,0,.3);
    --sh-lg:        0 20px 60px rgba(0,0,0,.5), 0 4px 20px rgba(59,70,204,.12);
    --sh-card:      0 2px 12px rgba(0,0,0,.35), 0 0 0 1px rgba(99,120,200,.08);

    /* Radii */
    --r:            12px;
    --r-sm:         8px;
    --r-lg:         16px;
    --r-pill:       999px;

    /* Layout — full-width */
    --content-max:  none;
    --content-pad:  clamp(1rem,3vw,3.5rem);
    --prose-max:    72ch;            /* readable paragraph width   */
}

/* ── Animations ──────────────────────────────────────────────────────────── */
@keyframes spin   { to { transform:rotate(360deg); } }
@keyframes fadeUp { from { opacity:0;transform:translateY(18px); } to { opacity:1;transform:none; } }

/* ── Reset & Base ────────────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
[id] { scroll-margin-top:7rem; }
::selection { background:rgba(59,70,204,.35); color:#fff; }

body {
    margin:0;
    background:var(--bg);
    color:var(--text-body);
    font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,sans-serif;
    font-size:16px;
    line-height:1.7;
    min-height:100vh;
}

img  { display:block; max-width:100%; height:auto; }
a    { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }

h1,h2,h3,h4,h5,h6 {
    margin:0;
    line-height:1.15;
    font-family:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;
    color:var(--text-strong);
    letter-spacing:0;
}
p  { margin:0; line-height:1.75; }
ul,ol { margin:0; padding:0; }

/* ── Full-width Layout ───────────────────────────────────────────────────── */

/* Inner content wrapper — centred, max width, with breathing room */
.container,.shell {
    width:100%;
    max-width:var(--content-max);
    margin-inline:auto;
    padding-inline:var(--content-pad);
}

/* Section wrappers go 100vw wide, backgrounds edge-to-edge */
.w-full {
    width:100%;
    padding-inline:0;
}

.screen-reader-text {
    position:absolute; width:1px; height:1px;
    padding:0; margin:-1px; overflow:hidden;
    clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* ── Navigation ──────────────────────────────────────────────────────────── */
.site-header {
    position:fixed; inset:0 0 auto; z-index:100;
    padding:.9rem var(--content-pad);
    transition:background .25s,box-shadow .25s,padding .25s;
    background:rgba(7,9,15,.0);
}
.site-header.is-condensed {
    padding:.55rem var(--content-pad);
    background:rgba(7,9,15,.92);
    backdrop-filter:blur(24px) saturate(150%);
    box-shadow:0 1px 0 rgba(59,70,204,.14), 0 8px 32px rgba(0,0,0,.45);
}
.site-header > .shell,
.hub-footer > .shell { padding-inline:0; }

/* Nav pill floats inside the full-width header */
.site-nav {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    max-width:var(--content-max);
    margin:0 auto;
    padding:.5rem .9rem;
    border:1px solid rgba(59,70,204,.2);
    border-radius:var(--r-pill);
    background:rgba(11,16,32,.88);
    backdrop-filter:blur(28px);
    box-shadow:0 8px 32px rgba(0,0,0,.45), 0 0 0 1px rgba(59,70,204,.06);
}

.brand-mark {
    display:inline-flex; align-items:center; gap:.8rem;
    text-decoration:none; flex-shrink:0;
}
.brand-logo {
    display:block; width:clamp(8.25rem,10vw,11.5rem); height:auto;
    padding:.35rem .65rem; border-radius:8px;
    object-fit:contain; background:#fff;
    box-shadow:0 2px 10px rgba(0,0,0,.3);
    flex-shrink:0;
}
.brand-copy { display:flex; flex-direction:column; gap:.1rem; }
.brand-kicker {
    font-size:.6rem; letter-spacing:.22em; text-transform:uppercase;
    color:var(--blue-mid); font-weight:700;
}
.brand-title {
    font-family:"Space Grotesk",sans-serif;
    font-size:1rem; font-weight:700; line-height:1.1;
    background:linear-gradient(90deg,#fff 40%,var(--blue-mid));
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text; max-width:16rem;
}

.site-nav-end {
    display:flex; align-items:center; flex:1 1 auto;
    gap:.75rem; justify-content:flex-end; min-width:0;
}
.site-nav-links,.site-nav-links-inner {
    display:flex; align-items:center; flex-wrap:wrap;
    gap:.18rem; list-style:none; padding:0; margin:0;
}
.site-nav-links { justify-content:flex-end; min-width:0; }
.nav-item { position:relative; }
.nav-link {
    display:inline-flex; align-items:center;
    padding:.58rem .72rem; border-radius:var(--r-pill);
    color:var(--muted-hi); font-weight:750; font-size:.84rem;
    transition:background .15s,color .15s;
    white-space:nowrap;
}
.nav-link:hover,.nav-link.is-active {
    color:#fff; background:rgba(59,70,204,.18);
}
.nav-link-parent::after {
    content:'';
    width:.42rem; height:.42rem; margin-left:.45rem; margin-top:-.12rem;
    border-right:2px solid currentColor; border-bottom:2px solid currentColor;
    transform:rotate(45deg); opacity:.7;
}
.nav-submenu {
    position:absolute; top:100%; left:0;
    min-width:15rem; padding:.55rem; margin:0; list-style:none;
    border:1px solid rgba(59,70,204,.18); border-radius:14px;
    background:rgba(10,14,28,.98); backdrop-filter:blur(24px);
    box-shadow:0 18px 44px rgba(0,0,0,.52);
    opacity:0; transform:translateY(6px); pointer-events:none;
    transition:opacity .16s,transform .16s; z-index:220;
}
.has-submenu:hover .nav-submenu,
.has-submenu:focus-within .nav-submenu,
.has-submenu.is-submenu-open .nav-submenu {
    opacity:1; transform:translateY(0); pointer-events:auto;
}
.nav-submenu-link {
    display:block; padding:.78rem .85rem; border-radius:10px;
    color:var(--muted-hi); font-size:.82rem; font-weight:700;
    white-space:nowrap; transition:background .15s,color .15s;
}
.nav-submenu-link:hover,
.nav-submenu-link:focus {
    color:#fff; background:rgba(59,70,204,.16); outline:none;
}

.nav-action-cluster { display:flex; align-items:center; gap:.65rem; margin-left:auto; }

/* Profile dropdown */
.nav-profile-menu { position:relative; }
.nav-profile-avatar {
    display:inline-grid; place-items:center;
    width:2.2rem; height:2.2rem; border-radius:50%;
    background:var(--g-blue); color:#fff;
    font-size:.75rem; font-weight:800; flex-shrink:0;
    overflow:hidden;
}
.nav-profile-avatar img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 28% !important; }
.nav-profile-toggle {
    display:inline-flex; align-items:center; gap:.65rem;
    padding:.42rem .75rem .42rem .42rem;
    border:1px solid rgba(59,70,204,.2); border-radius:var(--r-pill);
    background:rgba(11,16,32,.88); color:var(--text); cursor:pointer;
    min-width:11rem; text-align:left;
    box-shadow:0 4px 14px rgba(0,0,0,.28);
    transition:border-color .15s,box-shadow .15s;
}
.nav-profile-toggle:hover,
.nav-profile-toggle[aria-expanded="true"] {
    border-color:rgba(59,70,204,.4);
    box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.nav-profile-toggle::after {
    content:''; width:.48rem; height:.48rem; margin-left:auto;
    border-right:2px solid rgba(59,70,204,.55);
    border-bottom:2px solid rgba(59,70,204,.55);
    transform:rotate(45deg) translateY(-2px);
    transition:transform .2s ease; flex-shrink:0;
}
.nav-profile-toggle[aria-expanded="true"]::after { transform:rotate(-135deg) translateY(-2px); }
.nav-profile-copy { display:grid; gap:.05rem; min-width:0; }
.nav-profile-copy strong {
    display:block; font-size:.88rem; font-weight:700; color:var(--text-strong);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:10rem;
}
.nav-member-role {
    display:block; font-size:.64rem; letter-spacing:.1em;
    text-transform:uppercase; color:var(--blue-mid); font-weight:700;
}
.nav-profile-dropdown {
    position:absolute; top:calc(100% + .55rem); right:0;
    min-width:13rem; padding:.4rem;
    border:1px solid rgba(59,70,204,.18); border-radius:18px;
    background:rgba(10,14,28,.97); backdrop-filter:blur(24px);
    box-shadow:0 20px 60px rgba(0,0,0,.6);
    z-index:200;
    opacity:0; transform:translateY(6px) scale(.97);
    transform-origin:top right;
    transition:opacity .18s,transform .18s; pointer-events:none;
    display:block !important;
}
.nav-profile-dropdown.is-visible {
    opacity:1; transform:translateY(0) scale(1); pointer-events:auto;
}
.nav-profile-item {
    display:flex; align-items:center; gap:.7rem;
    padding:.7rem .85rem; border-radius:12px;
    color:var(--text); font-size:.9rem; font-weight:700;
    transition:background .12s,color .12s;
    text-decoration:none; cursor:pointer; width:100%;
}
.nav-profile-item:hover { background:rgba(59,70,204,.14); color:var(--blue-mid); outline:none; }
.nav-profile-item i[data-lucide] { flex-shrink:0; opacity:.7; }
.nav-profile-item:hover i[data-lucide] { opacity:1; }
.nav-profile-signout { color:rgba(237,28,36,.85); }
.nav-profile-signout:hover { background:rgba(237,28,36,.1); color:var(--red); }
.nav-profile-divider { height:1px; background:rgba(59,70,204,.14); margin:.35rem .5rem; }

/* Mobile toggle */
.forum-toggler {
    display:none; align-items:center; justify-content:center;
    width:2.4rem; height:2.4rem;
    border:1px solid rgba(59,70,204,.22); border-radius:10px;
    background:rgba(11,16,32,.7); cursor:pointer; padding:0;
}
.navbar-toggler-icon {
    display:block; width:1.25rem; height:.95rem;
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(180,200,230,.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    background-repeat:no-repeat; background-size:contain;
}

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.btn,.button,.hero-btn {
    display:inline-flex; align-items:center; justify-content:center;
    gap:.5rem; padding:.8rem 1.35rem;
    border:1px solid transparent; border-radius:var(--r-pill);
    font-family:"Manrope",sans-serif; font-size:.9375rem; font-weight:700;
    cursor:pointer; text-decoration:none; white-space:nowrap;
    transition:transform .15s,box-shadow .15s,background .15s,filter .15s,border-color .15s;
    line-height:1.2;
}
.btn:hover,.button:hover,.hero-btn:hover { transform:translateY(-2px); }
.btn:active { transform:translateY(0); }

.btn-primary,.button-primary {
    background:var(--g-blue); color:#fff; border-color:transparent;
    box-shadow:0 4px 18px rgba(59,70,204,.35);
}
.btn-primary:hover,.button-primary:hover { box-shadow:0 8px 28px rgba(59,70,204,.5); filter:brightness(1.08); }

.btn-outline-light,.button-secondary,.nav-ghost {
    background:rgba(59,70,204,.08); border-color:rgba(59,70,204,.25); color:var(--text);
}
.btn-outline-light:hover,.button-secondary:hover,.nav-ghost:hover {
    background:rgba(59,70,204,.16); border-color:rgba(59,70,204,.45); color:#fff;
}

.btn-danger { background:rgba(237,28,36,.1); border-color:rgba(237,28,36,.3); color:var(--red); }
.btn-danger:hover { background:rgba(237,28,36,.2); }

.btn-full,.button-full,.auth-submit { width:100%; justify-content:center; }
.btn-sm,.button-sm  { padding:.55rem .95rem; font-size:.875rem; }
.btn-lg,.button-lg  { padding:.95rem 1.65rem; font-size:1rem; }
.section-create-btn {
    background:rgba(59,70,204,.08);
    border-color:rgba(59,70,204,.25);
    color:var(--text);
    box-shadow:none;
    gap:.35rem;
}
.section-create-btn:hover {
    background:rgba(59,70,204,.16);
    border-color:rgba(59,70,204,.45);
    color:#fff;
    box-shadow:none;
    filter:none;
}
.section-create-btn svg,
.section-create-btn i { width:14px; height:14px; }

.nav-cta { background:var(--g-blue); color:#fff; box-shadow:0 2px 12px rgba(59,70,204,.3); }
.nav-cta:hover { box-shadow:0 6px 22px rgba(59,70,204,.5); }

.is-loading { position:relative; color:transparent !important; pointer-events:none; }
.is-loading::after {
    content:''; position:absolute;
    width:1rem; height:1rem;
    border:2px solid rgba(255,255,255,.25); border-top-color:#fff;
    border-radius:50%; animation:spin .75s linear infinite;
}
:focus-visible { outline:2px solid var(--blue-mid); outline-offset:3px; }

/* ── Alerts ──────────────────────────────────────────────────────────────── */
.alert {
    display:flex; align-items:flex-start; gap:.75rem;
    padding:.95rem 1.1rem; border-radius:var(--r-sm);
    font-size:.9rem; line-height:1.6; border:1px solid transparent;
}
.alert-success { color:#34d399; background:rgba(16,185,129,.1); border-color:rgba(16,185,129,.22); }
.alert-error   { color:#f87171; background:rgba(239,68,68,.1);  border-color:rgba(239,68,68,.22); }
.alert-warning { color:var(--gold); background:rgba(242,195,0,.1); border-color:rgba(242,195,0,.22); }
.alert-info    { color:#60a5fa; background:rgba(59,130,246,.1); border-color:rgba(59,130,246,.22); }

/* ── Forms ───────────────────────────────────────────────────────────────── */
.form-group,.form-field { display:grid; gap:.5rem; }
.form-row,.form-grid    { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }

.form-label {
    font-size:.84rem; font-weight:700;
    color:var(--muted-hi); letter-spacing:.01em;
}
.form-label .required,.required { color:var(--red); margin-left:2px; }

.form-input,.auth-input,
.form-select,.auth-select,
.form-textarea,.auth-textarea {
    width:100%; min-height:3rem;
    padding:.82rem 1rem;
    border:1px solid rgba(59,70,204,.2);
    border-radius:var(--r-sm);
    background:rgba(11,16,32,.88);
    color:var(--text-strong);
    font-size:.95rem; font-family:"Manrope",sans-serif;
    transition:border-color .15s,box-shadow .15s;
    appearance:none;
}
.form-input::placeholder,.auth-input::placeholder { color:var(--muted); }
.form-input:focus,.auth-input:focus,
.form-select:focus,.auth-select:focus,
.form-textarea:focus,.auth-textarea:focus {
    outline:none;
    border-color:rgba(59,70,204,.55);
    box-shadow:0 0 0 3px rgba(59,70,204,.12);
    background:rgba(11,16,32,.95);
}
.form-input.is-error { border-color:rgba(239,68,68,.45); }
.file-input { padding:.65rem 1rem; }
.file-input::file-selector-button {
    margin-right:.85rem;
    padding:.5rem .8rem;
    border:1px solid rgba(59,70,204,.28);
    border-radius:var(--r-sm);
    background:rgba(59,70,204,.14);
    color:var(--text-strong);
    font-weight:700;
    cursor:pointer;
}
.file-input::file-selector-button:hover { background:rgba(59,70,204,.22); }

.form-select,.auth-select {
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%237a96be' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 12px center;
    padding-right:36px; cursor:pointer;
}
.form-textarea,.auth-textarea { min-height:5rem; resize:vertical; line-height:1.6; }

.input-wrapper { position:relative; }
.input-wrapper .form-input,.input-wrapper .auth-input { padding-left:2.75rem; }
.input-wrapper.password-input-wrapper .form-input,
.input-wrapper.password-input-wrapper .auth-input { padding-right:2.75rem; }
.input-wrapper .input-icon {
    position:absolute; left:.9rem; top:50%; transform:translateY(-50%);
    color:var(--muted); pointer-events:none; transition:color .15s;
}
.input-wrapper:focus-within .input-icon { color:var(--blue-mid); }
.input-wrapper .input-action {
    position:absolute; right:.6rem; top:50%; transform:translateY(-50%);
    background:none; border:none; padding:.4rem; cursor:pointer;
    color:var(--muted); border-radius:6px; display:grid; place-items:center;
}
.input-wrapper .input-action:hover { color:var(--text-strong); }

.form-hint  { font-size:.82rem; color:var(--muted); margin-top:.2rem; }
.form-error { font-size:.82rem; color:var(--red); margin-top:.2rem; display:flex; align-items:center; gap:4px; }

/* Strength meter */
.strength-bar { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; margin-top:8px; }
.strength-bar span { height:3px; background:rgba(59,70,204,.2); border-radius:2px; transition:background .3s; }
.strength-bar.weak   span:nth-child(1)    { background:var(--red); }
.strength-bar.fair   span:nth-child(-n+2) { background:var(--gold); }
.strength-bar.good   span:nth-child(-n+3) { background:var(--green); }
.strength-bar.strong span                 { background:var(--green); }
.strength-label { font-size:.8rem; color:var(--muted); margin-top:.3rem; }

.form-check {
    display:inline-flex; align-items:flex-start; gap:.75rem;
    color:var(--text-body); font-size:.9rem; cursor:pointer;
}
.form-check input[type="checkbox"] {
    width:1rem; height:1rem; flex-shrink:0; margin-top:.2rem;
    accent-color:var(--blue-mid); cursor:pointer;
}
.form-check-label { line-height:1.6; }

.auth-fieldset {
    display:grid; gap:.9rem; margin:0;
    padding:1.1rem; border:1px solid rgba(59,70,204,.14); border-radius:var(--r-sm);
    background:rgba(11,16,32,.5);
}
.auth-fieldset legend {
    float:none; width:auto; margin:0; padding:0 .35rem;
    font-size:.78rem; font-weight:800; letter-spacing:.08em;
    text-transform:uppercase; color:var(--blue-mid);
}
.form-section-title {
    display:flex; align-items:center; gap:.5rem;
    font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
    color:var(--blue-mid); padding-bottom:.65rem;
    border-bottom:1px solid rgba(59,70,204,.15); margin-bottom:.85rem;
}
.checkbox-row {
    display:inline-flex; align-items:flex-start; gap:.75rem;
    color:var(--text-body); font-size:.9rem;
}
.checkbox-row input { accent-color:var(--blue-mid); }

/* ── Page padding (fixed nav offset) ─────────────────────────────────────── */
.hub-page      { padding-top:6rem; overflow:hidden; }
.auth-page     { padding:6.5rem 0 3rem; }
.status-page   { padding:6.5rem 0 3rem; }
.content-page  { padding-top:6rem; }

/* ── Eyebrows ────────────────────────────────────────────────────────────── */
.eyebrow,.section-kicker {
    display:inline-flex; align-items:center; gap:.45rem;
    font-size:.78rem; letter-spacing:.18em; text-transform:uppercase;
    color:var(--blue-mid); font-weight:700;
}
.eyebrow::before,.section-kicker::before {
    content:''; width:.75rem; height:2px; background:currentColor; border-radius:2px;
}

/* ── Section headings ────────────────────────────────────────────────────── */
.section-heading {
    display:grid; gap:.75rem;
    max-width:min(54rem,100%); margin-bottom:2.25rem;
    padding-left:1rem; border-left:3px solid var(--blue-mid);
}
.section-heading h2 { font-size:clamp(1.75rem,3vw,2.8rem); }
.section-heading p  { color:var(--text-body); line-height:1.75; max-width:var(--prose-max); }
.section-heading.compact { max-width:46rem; }
.page-section-heading {
    padding-left:0;
    border-left:0;
}

.inline-heading {
    display:flex; align-items:flex-end; justify-content:space-between;
    flex-wrap:wrap; gap:1rem; margin-bottom:1.75rem;
}
.inline-heading h2 { font-size:clamp(1.5rem,2.8vw,2.1rem); }

/* ── Sections — full-width backgrounds ───────────────────────────────────── */
.section          { padding:4rem 0; }
.section-compact  { padding:2rem 0; }
.hero-section     { padding:4rem 0 3rem; }

/* Full-width section background tints */
.metrics-section    { background:rgba(59,70,204,.025); }
.focus-section      { background:rgba(47,47,147,.025); }
.committees-section { background:rgba(242,195,0,.02); }
.board-section      { background:rgba(16,185,129,.02); }
.bylaws-section     { background:rgba(242,195,0,.02); }
.resources-section  { background:rgba(59,70,204,.025); }
.events-section     { background:rgba(237,28,36,.018); }
.insights-section   { background:rgba(16,185,129,.02); }
.voices-section     { background:rgba(47,47,147,.025); }
.track-section      { background:rgba(59,70,204,.03); }
.cta-section        { padding:4rem 0; }
.security-section   { padding:1.5rem 0 3.5rem; }
.split-section      { padding:4rem 0; }

/* ── Hero ────────────────────────────────────────────────────────────────── */
.hero-section {
    position:relative; overflow:hidden;
    background:var(--g-hero);
}
/* Subtle grid overlay for texture */
.hero-section::after {
    content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
    opacity:.035;
    background-image:
        linear-gradient(rgba(255,255,255,1) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,1) 1px,transparent 1px);
    background-size:56px 56px;
}

/* Two-column layout — proportional */
.hero-grid {
    position:relative; z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(min(100%,360px),.8fr);
    gap:clamp(1.25rem,2vw,2.5rem); align-items:stretch;
    padding-block:1.5rem;
}

/* Left copy card */
.hero-copy {
    position:relative; padding:3rem;
    border-radius:var(--r-lg);
    background:linear-gradient(160deg,rgba(17,24,39,.96),rgba(7,9,15,.99));
    border:1px solid rgba(59,70,204,.16); box-shadow:var(--sh-lg);
    overflow:hidden;
}
.hero-copy::before {
    content:''; position:absolute; inset:0;
    background:radial-gradient(ellipse 75% 65% at 20% 15%,rgba(59,70,204,.08) 0%,transparent 60%);
    pointer-events:none;
}

.hero-copy h1 {
    position:relative;
    font-size:clamp(2.4rem,4vw,4.6rem);
    line-height:1.05; max-width:14ch; margin-top:1rem;
    background:linear-gradient(135deg,#fff 0%,rgba(147,158,255,1) 100%);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text;
}

.hero-summary {
    position:relative;
    font-size:1.05rem; line-height:1.78; color:var(--text-body);
    max-width:56ch; margin:1.1rem 0 0;
}

/* Trust badges */
.trust-strip {
    position:relative; z-index:1;
    display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.5rem;
}
.trust-strip span {
    padding:.4rem .85rem; border-radius:var(--r-pill);
    background:rgba(59,70,204,.1); border:1px solid rgba(59,70,204,.22);
    color:var(--blue-mid); font-size:.84rem; font-weight:600;
}

.hero-actions {
    position:relative; z-index:1;
    display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.75rem;
}
.hero-member-actions {
    display:flex; flex-wrap:wrap; align-items:center;
    gap:.85rem; margin-top:.85rem;
}

/* About page */
.about-page { padding-top:6rem; overflow:hidden; }
.about-hero {
    position:relative; overflow:hidden;
    padding:4.5rem 0 3rem;
    background:var(--g-hero);
}
.about-hero::after {
    content:''; position:absolute; inset:0; pointer-events:none; opacity:.04;
    background-image:
        linear-gradient(rgba(255,255,255,1) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,1) 1px,transparent 1px);
    background-size:56px 56px;
}
.about-hero-grid {
    position:relative; z-index:1;
    display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.75fr);
    gap:clamp(1.25rem,3vw,3rem); align-items:center;
}
.about-hero-copy h1 {
    margin-top:1rem; max-width:15ch;
    font-size:clamp(2.5rem,5vw,5rem); line-height:1.02;
    background:linear-gradient(135deg,#fff 0%,#aeb7ff 100%);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.about-hero-copy p {
    margin-top:1rem; max-width:54ch;
    color:var(--text-body); font-size:1.08rem; line-height:1.75;
}
.about-hero-actions { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.7rem; }
.about-logo-stage {
    display:grid; gap:1rem; justify-items:center;
    padding:1.35rem; border-radius:var(--r-lg);
    background:linear-gradient(180deg,rgba(17,24,39,.92),rgba(11,16,32,.98));
    border:1px solid rgba(59,70,204,.18); box-shadow:var(--sh-lg);
}
.about-logo-panel {
    width:100%; min-height:180px;
    display:grid; place-items:center;
    border-radius:var(--r);
    background:#fff; border:1px solid rgba(255,255,255,.18);
}
.about-logo-panel img { width:min(88%,420px); height:auto; }
.about-logo-stage p {
    margin:0; color:var(--gold); font-weight:800; line-height:1.45; text-align:center;
    text-shadow:0 1px 0 rgba(0,0,0,.35);
}
.about-jump-nav {
    position:sticky; top:5rem; z-index:4;
    padding:.85rem 0;
    background:rgba(7,9,15,.88); backdrop-filter:blur(18px);
    border-block:1px solid rgba(59,70,204,.18);
}
.about-jump-nav ul {
    display:flex; flex-wrap:wrap; gap:.55rem;
    margin:0; padding:0; list-style:none;
}
.about-jump-nav a {
    display:inline-flex; align-items:center; min-height:2.2rem;
    padding:.45rem .8rem; border-radius:var(--r-pill);
    background:rgba(59,70,204,.1); border:1px solid rgba(59,70,204,.2);
    color:var(--text-body); font-size:.84rem; font-weight:700;
}
.about-jump-nav a:hover { color:#fff; border-color:rgba(74,86,214,.55); background:rgba(59,70,204,.18); }
.about-band { padding:4rem 0; }
.about-band-soft { background:rgba(59,70,204,.025); }
.about-two-col {
    display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:clamp(1.5rem,4vw,4rem); align-items:start;
}
.about-prose {
    padding:1.5rem 0 0;
    border-top:1px solid rgba(59,70,204,.22);
}
.about-prose p {
    margin:0; color:var(--text-body); font-size:1.05rem; line-height:1.85;
    max-width:var(--prose-max);
}
.about-list-panel ol {
    display:grid; gap:.85rem; margin:0; padding:0; list-style:none; counter-reset:about-list;
}
.about-list-panel li {
    counter-increment:about-list;
    display:flex; align-items:flex-start; gap:.85rem;
    padding:1rem 1.1rem; border-radius:var(--r-sm);
    background:rgba(17,24,39,.82); border:1px solid rgba(59,70,204,.16);
    color:var(--text-body); font-weight:700;
}
.about-list-panel li::before {
    content:counter(about-list);
    display:grid; place-items:center; flex:0 0 1.85rem; height:1.85rem;
    border-radius:50%; background:var(--blue); color:#fff; font-size:.85rem;
}
.what-ciof-why {
    margin-top:clamp(3rem,6vw,5rem);
}
.what-ciof-membership {
    margin-top:clamp(3rem,6vw,5rem);
    padding-top:clamp(2rem,4vw,3rem);
    border-top:1px solid rgba(59,70,204,.16);
}
.membership-page-section + .membership-page-section {
    margin-top:clamp(3rem,6vw,5rem);
}
.about-membership-grid,
.about-benefit-grid {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}
.about-info-card,
.about-benefit-card {
    padding:1.35rem; border-radius:var(--r-sm);
    background:linear-gradient(180deg,rgba(17,24,39,.92),rgba(11,16,32,.98));
    border:1px solid rgba(59,70,204,.16); box-shadow:var(--sh-card);
}
.about-info-card h3,
.about-benefit-card h3 {
    margin:0 0 .8rem; color:var(--gold); font-size:1rem;
}
.about-info-card p,
.about-info-card li,
.about-benefit-card li {
    color:var(--text-body); line-height:1.72;
}
.about-info-card ul,
.about-benefit-card ul {
    display:grid; gap:.55rem; margin:0; padding-left:1.1rem;
}
.about-reason-grid {
    display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
    gap:.85rem; margin:0; padding:0; list-style:none;
}
.about-reason-grid li {
    min-height:8rem; display:grid; align-content:center; gap:.9rem;
    padding:1.1rem; border-radius:var(--r-sm);
    background:rgba(17,24,39,.88); border:1px solid rgba(59,70,204,.16);
    color:var(--text-strong); font-weight:800; text-align:center;
}
.about-reason-grid i { width:1.5rem; height:1.5rem; margin:0 auto; color:var(--blue-mid); }
.about-contact-band {
    padding:4rem 0;
    background:linear-gradient(135deg,rgba(30,31,142,.32),rgba(59,70,204,.14));
    border-top:1px solid rgba(59,70,204,.2);
}
.about-contact-grid {
    display:grid; grid-template-columns:minmax(0,1fr) auto;
    gap:1.5rem; align-items:center;
}
.about-contact-grid h2 { margin-top:.75rem; font-size:clamp(1.8rem,3vw,3rem); }
.about-contact-grid p { margin-top:.75rem; color:var(--text-body); }
.about-contact-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.85rem; }
.about-contact-actions .hero-btn { gap:.5rem; }
.about-contact-actions i { width:1.1rem; height:1.1rem; }

/* Contact page */
.contact-shell { padding:clamp(2rem,4vw,4rem) 0 5rem; }
.contact-card {
    display:grid; grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);
    overflow:hidden; border:1px solid var(--border); border-radius:16px;
    background:rgba(17,24,39,.86); box-shadow:0 28px 80px rgba(0,0,0,.35);
}
.contact-info-panel {
    display:flex; flex-direction:column; min-height:620px;
    padding:clamp(2rem,4vw,3.5rem); background:#121c2a;
    border-right:1px solid rgba(59,70,204,.16);
}
.contact-logo {
    width:min(240px,100%); height:auto; padding:.35rem .65rem; margin-bottom:2.25rem;
    background:#fff; border-radius:8px; box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.contact-info-panel h1 { margin:.85rem 0 1rem; font-size:clamp(2rem,3vw,3rem); line-height:1.08; }
.contact-info-panel p { max-width:30rem; color:#d6e4f7; font-size:1.08rem; line-height:1.65; }
.contact-info-list { display:grid; gap:2.1rem; margin-top:3rem; }
.contact-info-item { display:grid; grid-template-columns:32px minmax(0,1fr); gap:1rem; align-items:start; }
.contact-info-item i { color:#93a4ba; width:26px; height:26px; margin-top:.2rem; }
.contact-info-item span {
    display:block; margin-bottom:.45rem; color:#93a4ba;
    font-size:.78rem; letter-spacing:.16em; text-transform:uppercase;
}
.contact-info-item a { color:#fff; font-size:1.08rem; font-weight:700; overflow-wrap:anywhere; }
.contact-info-item a:hover { color:#aebcff; }
.contact-form-panel { padding:clamp(2rem,4vw,3.5rem); background:rgba(248,250,252,.98); color:#0f172a; }
.contact-form-heading { margin-bottom:1.6rem; }
.contact-form-heading .eyebrow { color:#2e3192; }
.contact-form-heading h2 { font-size:clamp(1.75rem,2.4vw,2.45rem); color:#0f172a; }
.contact-form-heading p { margin-top:.6rem; color:#334155; font-size:1.05rem; }
.contact-manager-shortcut { margin:-.5rem 0 1.25rem; }
.contact-manager-shortcut .btn {
    border-color:#d9e1ee; color:#1f2a44; background:#fff;
}
.contact-manager-shortcut .btn:hover { border-color:#3b46cc; color:#2e3192; }
.contact-form { display:grid; gap:1.4rem; }
.contact-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.35rem 1.2rem; }
.contact-form .form-label { color:#0f172a; font-size:.95rem; font-weight:800; }
.contact-form .label-optional { color:#475569; font-weight:500; }
.contact-form .form-input,
.contact-form .form-textarea {
    background:#fff; border:1px solid #d9e1ee; color:#0f172a;
    min-height:70px; border-radius:14px; box-shadow:none;
}
.contact-form .form-textarea { min-height:190px; resize:vertical; }
.contact-form .form-input:focus,
.contact-form .form-textarea:focus {
    border-color:#3b46cc; box-shadow:0 0 0 4px rgba(59,70,204,.12);
}
.contact-submit { min-height:74px; border-radius:14px; font-size:1.1rem; justify-content:center; }
.contact-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* Right panel */
.hero-panel {
    display:grid; gap:1.1rem; padding:1.1rem;
    border-radius:var(--r-lg);
    background:linear-gradient(180deg,rgba(17,24,39,.95),rgba(11,16,32,.98));
    border:1px solid rgba(59,70,204,.14); box-shadow:var(--sh-lg);
    overflow:hidden;
}

.signal-card {
    padding:1.5rem; border-radius:var(--r-sm);
    background:linear-gradient(160deg,rgba(30,31,142,.1),rgba(59,70,204,.06));
    border:1px solid rgba(59,70,204,.2);
}
.signal-card h2 { font-size:1.6rem; margin:.6rem 0 .75rem; }
.signal-card p  { color:var(--text-body); line-height:1.75; font-size:.95rem; }

.member-access-card {
    padding:1.35rem; border-radius:var(--r-sm);
    background:linear-gradient(160deg,rgba(17,24,39,.95),rgba(11,16,32,.98));
    border:1px solid rgba(59,70,204,.22);
}
.member-access-card h3 { font-size:1.15rem; margin:.65rem 0; }
.member-access-card p  { color:var(--text-body); line-height:1.75; font-size:.9rem; }
.member-access-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:.9rem; }

.insight-mini-card {
    padding:1.1rem; border-radius:var(--r-sm);
    background:rgba(17,24,39,.8); border:1px solid rgba(59,70,204,.12);
    transition:transform .18s,border-color .18s;
}
.insight-mini-card:hover { transform:translateY(-2px); border-color:rgba(59,70,204,.25); }
.insight-mini-card h3 { font-size:.975rem; font-weight:800; }
.insight-mini-card p  { margin:.6rem 0 0; color:var(--text-body); font-size:.875rem; }
.mini-meta {
    display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.75rem;
}
.mini-meta span {
    padding:.35rem .65rem; border:1px solid rgba(59,70,204,.12);
    border-radius:var(--r-pill); background:rgba(59,70,204,.06);
    color:var(--muted-hi); font-size:.82rem;
}

/* ── Card base ───────────────────────────────────────────────────────────── */
.card,.resource-card,.event-card,.metric-card,.focus-card,
.committee-card,.board-card,.bylaw-card,.insight-card,.voice-card {
    border:1px solid var(--border); background:var(--surface);
    box-shadow:var(--sh-card); border-radius:var(--r);
    transition:transform .2s,box-shadow .2s,border-color .2s;
}
.resource-card:hover,.event-card:hover,.metric-card:hover,.focus-card:hover,
.committee-card:hover,.board-card:hover,.bylaw-card:hover,
.insight-card:hover,.voice-card:hover {
    transform:translateY(-3px); box-shadow:var(--sh-lg);
    border-color:rgba(59,70,204,.3);
}
.content-card-link { display:block; color:inherit; text-decoration:none; }
[data-card-href] { cursor:pointer; }
.content-card-link:focus-visible,
.insight-card-link:focus-visible { outline:2px solid var(--blue-mid); outline-offset:4px; }

/* ── Grids — responsive auto-fill ────────────────────────────────────────── */
.card-grid,
.content-grid     { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:clamp(1rem,1.4vw,1.65rem); }
.track-grid       { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1rem,1.2vw,1.4rem); }
.committee-grid   { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:clamp(1rem,1.2vw,1.4rem); }
.board-grid       { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1rem,1.2vw,1.4rem); }
.bylaws-list      { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); gap:clamp(1rem,1.2vw,1.4rem); }
.metrics-grid     { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:clamp(1rem,1.2vw,1.4rem); }
.focus-grid       { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:clamp(1rem,1.2vw,1.4rem); }
.voices-grid      { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:clamp(1rem,1.2vw,1.4rem); }
.testimonial-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1rem,1.2vw,1.4rem); }
.insights-grid    { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:clamp(1rem,1.2vw,1.4rem); }
.events-grid      { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1rem,1.2vw,1.4rem); }
.events-grid .empty-state { grid-column:1 / -1; }
.content-grid .pagination-wrap,
.content-grid .empty-state { grid-column:1 / -1; }
.home-scroll-row.board-grid,
.home-scroll-row.bylaws-list {
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(18rem,24rem);
    grid-template-columns:none;
    gap:clamp(1rem,1.2vw,1.4rem);
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:.9rem;
    scroll-snap-type:x proximity;
    scrollbar-color:rgba(99,120,200,.45) rgba(99,120,200,.12);
}
.home-scroll-row.bylaws-list { grid-auto-columns:minmax(20rem,28rem); }
.board-trustees-heading {
    max-width:min(48rem,100%);
    margin-bottom:2.35rem;
}
.board-trustees-heading h2 {
    font-size:clamp(2.25rem,4vw,3.6rem);
    line-height:1.16;
    letter-spacing:0;
}
.board-trustees-row {
    grid-auto-columns:minmax(18rem,19rem);
    align-items:stretch;
}
.board-trustees-row .board-card {
    min-height:19rem;
}
.home-scroll-row > * {
    min-width:0;
    scroll-snap-align:start;
}

/* ── Quick routes ────────────────────────────────────────────────────────── */
.quick-routes { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:1rem; }
.quick-routes a {
    display:flex; align-items:center; gap:.75rem;
    padding:1.1rem 1.25rem;
    border:1px solid var(--border); border-radius:var(--r);
    background:var(--surface); color:var(--text); font-weight:700; font-size:.9rem;
    box-shadow:var(--sh-card);
    transition:border-color .18s,transform .18s,box-shadow .18s;
}
.quick-routes a:hover { border-color:rgba(59,70,204,.35); transform:translateY(-2px); box-shadow:var(--sh-lg); }
.quick-routes a i { color:var(--blue-mid); flex-shrink:0; }

/* ── Resource cards ──────────────────────────────────────────────────────── */
.resource-card { display:flex; flex-direction:column; overflow:hidden; padding:0; }
.card-media { display:block; aspect-ratio:16/9; overflow:hidden; background:var(--surface-alt); }
.card-media > a,
.card-media picture { display:block; width:100%; height:100%; }
.card-media img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.resource-card:hover .card-media img { transform:scale(1.04); }
.card-body { padding:1.4rem 1.5rem; display:flex; flex-direction:column; gap:.65rem; flex:1; }
.card-kicker { font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); }
.card-body h3 { font-size:1.05rem; line-height:1.35; }
.card-body h3 a { color:inherit; transition:color .15s; }
.card-body h3 a:hover { color:var(--blue-mid); }
.card-body p { font-size:.9rem; color:var(--text-body); line-height:1.72; flex:1; }
.topic-chip {
    display:inline-flex; padding:.32rem .8rem;
    background:rgba(59,70,204,.12); color:var(--blue-mid);
    border:1px solid rgba(59,70,204,.22); border-radius:var(--r-pill);
    font-size:.76rem; font-weight:700; align-self:flex-start;
}
.text-link {
    display:inline-flex; align-items:center; gap:.4rem;
    font-size:.875rem; font-weight:700; color:var(--blue-mid);
    transition:gap .15s,color .15s;
}
.text-link:hover { color:#818cf8; gap:.7rem; }
.resources-testimonials {
    margin-top:clamp(2.5rem,5vw,4rem);
    padding-top:clamp(1.75rem,3vw,2.5rem);
    border-top:1px solid rgba(99,120,200,.16);
}

/* ── Track / Pillar cards ────────────────────────────────────────────────── */
.track-card {
    padding:1.6rem; display:flex; flex-direction:column; gap:.9rem;
    border:1px solid var(--border); background:var(--surface); border-radius:var(--r);
    transition:transform .2s,box-shadow .2s,border-color .2s;
}
.track-card:hover { transform:translateY(-3px); box-shadow:var(--sh-lg); border-color:rgba(59,70,204,.3); }
.track-icon {
    width:50px; height:50px;
    background:linear-gradient(135deg,rgba(59,70,204,.22),rgba(47,47,147,.14));
    border:1px solid rgba(59,70,204,.22); border-radius:10px;
    display:grid; place-items:center; color:#a5b4fc;
}
.track-card h3 { font-size:1.05rem; font-weight:800; }
.track-card p  { font-size:.9rem; color:var(--text-body); line-height:1.72; margin:0; }

/* ── Focus / Pillar cards ────────────────────────────────────────────────── */
.focus-card { padding:1.5rem; display:flex; flex-direction:column; }
.focus-chip { display:inline-block; margin-bottom:.9rem; color:var(--gold); font-size:.82rem; font-weight:700; }
.focus-card h3 { font-size:1.05rem; font-weight:800; }
.focus-card p  { font-size:.9rem; color:var(--text-body); line-height:1.72; margin:.65rem 0 0; }
.focus-card strong { display:block; margin-top:.9rem; color:var(--blue-mid); font-size:.92rem; }

.strategic-plan-stack {
    display:grid;
    gap:1.5rem;
}
.strategic-plan {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:1.1rem;
    padding:clamp(1.25rem,3vw,2.4rem);
    border:1px solid rgba(99,120,200,.18);
    border-radius:8px;
    overflow:visible;
    background:
        linear-gradient(135deg,rgba(28,38,64,.92),rgba(11,16,32,.96)),
        linear-gradient(180deg,rgba(59,70,204,.12),transparent 58%);
    box-shadow:var(--sh-card);
}
.strategic-plan::before {
    content:'';
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:
        linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px) 0 0/72px 72px,
        linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/72px 72px;
    opacity:.32;
    pointer-events:none;
}
.strategic-plan-heading {
    position:relative;
    z-index:1;
    grid-column:1 / -1;
    max-width:58rem;
    color:var(--text-strong);
}
.strategic-plan-badge {
    display:inline-flex;
    align-items:center;
    width:max-content;
    margin-bottom:.85rem;
    padding:.34rem .68rem;
    border:1px solid rgba(242,195,0,.35);
    border-radius:999px;
    background:rgba(242,195,0,.12);
    color:var(--gold);
    font-size:.74rem;
    font-weight:850;
    letter-spacing:.1em;
    line-height:1.2;
    text-transform:uppercase;
}
.strategic-plan-heading h2 {
    margin:0;
    font-size:clamp(2rem,4vw,3.6rem);
    line-height:1.02;
    font-weight:850;
    color:var(--text-strong);
}
.strategic-plan-heading p {
    margin:.85rem 0 0;
    max-width:44rem;
    color:var(--text-body);
    font-size:clamp(1rem,1.35vw,1.18rem);
    line-height:1.7;
}
.strategic-plan-summary {
    color:var(--muted-hi) !important;
    font-size:.96rem !important;
}
.strategic-pillar-row {
    --pillar-color:#f97316;
    --pillar-glow:rgba(249,115,22,.16);
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:start;
    gap:1.15rem;
    min-height:100%;
    padding:1.35rem;
    border:1px solid rgba(255,255,255,.1);
    border-left:4px solid var(--pillar-color);
    border-radius:8px;
    background:rgba(7,9,15,.72);
    box-shadow:0 16px 34px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.05);
    transition:transform .2s, border-color .2s, box-shadow .2s;
}
.strategic-pillar-row:hover {
    transform:translateX(3px);
    border-color:rgba(255,255,255,.2);
    box-shadow:0 22px 42px rgba(0,0,0,.34), 0 0 0 1px var(--pillar-glow);
}
.strategic-pillar-row-1 { --pillar-color:#f97316; --pillar-glow:rgba(249,115,22,.18); }
.strategic-pillar-row-2 { --pillar-color:#38bdf8; --pillar-glow:rgba(56,189,248,.18); }
.strategic-pillar-row-3 { --pillar-color:#22c55e; --pillar-glow:rgba(34,197,94,.18); }
.strategic-pillar-row-4 { --pillar-color:#facc15; --pillar-glow:rgba(250,204,21,.18); }
.strategic-pillar-row::before {
    content:'';
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:linear-gradient(90deg,var(--pillar-glow),transparent 48%);
    pointer-events:none;
}
.strategic-pillar-icon {
    position:relative;
    z-index:2;
    display:grid;
    place-items:center;
    width:3.5rem;
    height:3.5rem;
    border-radius:8px;
    background:rgba(255,255,255,.06);
    border:1px solid var(--pillar-glow);
    color:var(--pillar-color);
    box-shadow:0 10px 22px rgba(0,0,0,.2);
}
.strategic-pillar-icon i {
    width:1.75rem;
    height:1.75rem;
    stroke-width:1.8;
}
.strategic-pillar-content {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:.65rem;
    color:var(--text-body);
}
.strategic-pillar-kicker {
    display:inline-flex;
    align-self:flex-start;
    color:var(--pillar-color);
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.12em;
    line-height:1.2;
    text-transform:uppercase;
}
.strategic-pillar-content h3 {
    margin:0;
    color:var(--text-strong);
    font-size:clamp(1.08rem,1.45vw,1.34rem);
    font-weight:850;
    line-height:1.18;
}
.strategic-pillar-body {
    color:var(--text-body);
    font-size:.94rem;
    line-height:1.72;
}
.strategic-pillar-body p,
.strategic-pillar-body ul,
.strategic-pillar-body ol { margin:.25rem 0 0; }
.strategic-pillar-body ul,
.strategic-pillar-body ol { padding-left:1.1rem; }
.strategic-pillar-targets {
    display:grid;
    gap:.55rem;
    margin-top:.2rem;
    padding-top:.85rem;
    border-top:1px solid rgba(255,255,255,.09);
}
.strategic-pillar-targets > span {
    color:var(--pillar-color);
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.1em;
    line-height:1.2;
    text-transform:uppercase;
}
.strategic-pillar-targets ul {
    display:grid;
    gap:.4rem;
    margin:0;
    padding:0;
    list-style:none;
}
.strategic-pillar-targets li {
    position:relative;
    padding-left:1rem;
    color:var(--text-body);
    font-size:.9rem;
    line-height:1.55;
}
.strategic-pillar-targets li strong {
    display:block;
    color:var(--text-strong);
    font-size:.94rem;
    line-height:1.45;
}
.strategic-pillar-targets li em {
    display:block;
    margin-top:.12rem;
    color:var(--muted-hi);
    font-size:.82rem;
    font-style:normal;
    font-weight:750;
}
.strategic-pillar-targets li::before {
    content:'';
    position:absolute;
    left:0;
    top:.65em;
    width:.38rem;
    height:.38rem;
    border-radius:50%;
    background:var(--pillar-color);
}
.strategic-plan-single {
    margin-top:1.4rem;
    padding:1rem;
}

/* ── Committee cards ─────────────────────────────────────────────────────── */
.committee-card { padding:1.6rem; }
.committee-head { display:flex; flex-direction:column; gap:.25rem; margin-bottom:.9rem; }
.committee-head span { color:var(--blue-mid); font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; font-weight:700; }
.committee-card strong { font-size:1.15rem; font-weight:800; display:block; margin-bottom:.65rem; }
.committee-highlight { font-size:.9rem; color:var(--text-body); line-height:1.72; margin:.65rem 0 0; }
.committee-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin-top:1.25rem; }
.committee-meta dt { color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.07em; margin:0; }
.committee-meta dd { margin:.3rem 0 0; font-weight:700; font-size:.88rem; }

/* ── Board cards ─────────────────────────────────────────────────────────── */
.board-card { padding:1.5rem; }
.board-head { display:flex; align-items:center; gap:.9rem; margin-bottom:.9rem; }
.board-head h3 { font-size:1.05rem; font-weight:800; margin:0; }
.board-head p  { font-size:.84rem; color:var(--text-body); margin:.3rem 0 0; }
.board-avatar {
    display:inline-grid; place-items:center; flex:0 0 auto;
    width:3.5rem; height:3.5rem; border-radius:50%;
    background:var(--g-blue); color:#fff; font-weight:800; overflow:hidden; font-size:.95rem;
}
.board-avatar img { display:block; object-fit:cover; object-position:50% 28% !important; width:100%; height:100%; }
.board-card > p { font-size:.9rem; color:var(--text-body); line-height:1.72; }
.board-committee {
    display:inline-flex; align-items:center; width:max-content; max-width:100%;
    margin-top:.65rem; padding:.32rem .55rem; border:1px solid rgba(59,70,204,.24);
    border-radius:var(--r-pill); background:rgba(59,70,204,.1);
    color:var(--muted-hi); font-size:.76rem; font-weight:800;
}
.board-org { display:inline-flex; margin-top:.85rem; color:var(--blue-mid); font-weight:700; font-size:.88rem; }

/* ── By-Laws cards ───────────────────────────────────────────────────────── */
.bylaw-card { display:grid; gap:.9rem; padding:1.5rem; }
.bylaw-card h3 { font-size:1.1rem; font-weight:800; }
.bylaw-body { padding-top:.85rem; border-top:1px solid rgba(59,70,204,.12); color:var(--text-body); line-height:1.75; font-size:.9rem; white-space:pre-line; }

/* ── Events ──────────────────────────────────────────────────────────────── */
.event-card {
    display:flex; flex-direction:column; min-width:0; overflow:hidden;
    border:1px solid var(--border); background:var(--surface);
    box-shadow:var(--sh-card); border-radius:var(--r);
    transition:transform .2s,box-shadow .2s,border-color .2s;
}
.event-card:hover { transform:translateY(-3px); box-shadow:var(--sh-lg); border-color:rgba(59,70,204,.3); }
.event-card-top {
    display:flex; align-items:flex-start; justify-content:space-between; gap:1rem;
    padding:1.25rem 1.25rem 0;
}
.event-date-badge {
    display:grid; place-items:center; width:64px; height:64px; flex:0 0 auto;
    border-radius:var(--r-sm); background:var(--g-blue); color:#fff; text-align:center; line-height:1.05;
}
.event-date-badge strong { font-family:"Space Grotesk",sans-serif; font-size:1.5rem; }
.event-date-badge span { font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.event-status {
    display:inline-flex; padding:.28rem .65rem; border-radius:var(--r-pill);
    border:1px solid rgba(59,70,204,.2); background:rgba(59,70,204,.08);
    color:var(--blue-mid); font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em;
}
.event-card-body { display:flex; flex-direction:column; gap:.65rem; padding:1.15rem 1.25rem; flex:1; }
.event-card-body h3 { font-size:1.02rem; line-height:1.4; }
.event-card-body h3 a { transition:color .15s; }
.event-card-body h3 a:hover { color:var(--blue-mid); }
.event-card-body > p { color:var(--text-body); font-size:.88rem; line-height:1.7; }
.event-facts { display:grid; gap:.45rem; margin-top:auto; padding-top:.5rem; }
.event-facts span { display:flex; align-items:flex-start; gap:.5rem; color:var(--muted-hi); font-size:.78rem; line-height:1.5; }
.event-facts svg { width:15px; height:15px; flex:0 0 auto; margin-top:.12rem; color:var(--blue-mid); }
.event-card-actions {
    display:flex; align-items:center; justify-content:space-between; gap:.75rem;
    padding:1rem 1.25rem; border-top:1px solid rgba(59,70,204,.12); background:rgba(11,16,32,.35);
}
.section-admin-action { margin-top:1.5rem; text-align:right; }

/* ── Voices and insights ─────────────────────────────────────────────────── */
.voice-card   { padding:1.5rem; }
.voice-head   { display:flex; align-items:center; gap:.9rem; margin-bottom:.9rem; }
.voice-avatar {
    display:inline-grid; place-items:center; width:3rem; height:3rem;
    border-radius:50%; background:var(--g-blue); color:#fff; font-weight:800; overflow:hidden;
}
.voice-avatar img { display:block; object-fit:cover; object-position:50% 28% !important; width:100%; height:100%; }
.voice-card h3  { font-size:1rem; font-weight:800; margin:0; }
.voice-card blockquote { margin:.9rem 0; color:var(--text-body); font-style:italic; line-height:1.78; font-size:.95rem; }
.voice-card p   { font-size:.84rem; color:var(--muted); margin:0; }

/* ── Insight / Special Project cards ────────────────────────────────────── */
.testimonial-card {
    display:flex; flex-direction:column; min-width:0; min-height:218px;
    padding:1.5rem; border:1px solid var(--border); border-radius:8px;
    background:rgba(17,24,39,.78); box-shadow:var(--sh-card);
    transition:transform .2s,box-shadow .2s,border-color .2s;
}
.testimonial-card:hover { transform:translateY(-3px); box-shadow:var(--sh-lg); border-color:rgba(59,70,204,.34); }
.testimonial-card-gold { border-color:rgba(234,179,8,.34); background:rgba(28,28,23,.72); }
.testimonial-card-rose { border-color:rgba(244,63,94,.28); background:rgba(28,21,32,.72); }
.testimonial-card-violet { border-color:rgba(99,102,241,.32); }
.testimonial-card-blue { border-color:rgba(59,130,246,.34); }
.testimonial-head { display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; }
.testimonial-avatar {
    display:inline-grid; place-items:center; width:45px; height:45px; flex:0 0 auto;
    border-radius:50%; background:linear-gradient(135deg,#2e3192,#3b3bcc);
    color:#fff; font-size:.78rem; font-weight:800; overflow:hidden;
}
.testimonial-avatar img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 28% !important; }
.testimonial-head h3 { margin:0; font-size:1rem; line-height:1.35; font-weight:800; color:var(--text-strong); }
.testimonial-head p { margin:.35rem 0 0; font-size:.84rem; color:#e6edff; }
.testimonial-card blockquote {
    margin:0; color:#c7d7ff; font-size:.88rem; font-style:italic;
    line-height:1.78; flex:1;
}
.testimonial-org {
    margin-top:1.25rem; color:#8fb1ff; font-size:.84rem; line-height:1.55;
}

.insight-card { padding:1.5rem; }
.insight-card-link { display:block; color:inherit; text-decoration:none; }
.insight-card-link:focus-visible { outline:2px solid var(--blue-mid); outline-offset:4px; }
.insight-card h3 { font-size:1.05rem; font-weight:800; margin-top:.5rem; }
.insight-card p  { font-size:.9rem; color:var(--text-body); line-height:1.72; margin:.65rem 0 0; }

.resource-label,.mini-tag {
    font-size:.76rem; font-weight:700; letter-spacing:.1em;
    text-transform:uppercase; color:var(--gold);
}
.resource-meta,.insight-meta,.resource-tags {
    display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.9rem;
}
.resource-meta span,.insight-meta span,.resource-tags span {
    padding:.35rem .7rem; border:1px solid rgba(59,70,204,.14);
    border-radius:var(--r-pill); background:rgba(59,70,204,.06);
    color:var(--muted-hi); font-size:.82rem;
}

/* ── Metric cards ─────────────────────────────────────────────────────────── */
.metric-card  { padding:1.5rem; }
.metric-value-wrap {
    font-family:"Space Grotesk",sans-serif;
    font-size:clamp(2.2rem,3.5vw,3.2rem); font-weight:800; color:var(--blue-mid);
    margin-bottom:.75rem; line-height:1;
}
.metric-card h3 { font-size:1.05rem; font-weight:800; margin-bottom:.5rem; }
.metric-card p  { font-size:.9rem; color:var(--text-body); line-height:1.72; margin:0; }

/* ── Security section ─────────────────────────────────────────────────────── */
.security-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:1.25rem; }
.security-card,.security-mini-card {
    padding:1.6rem; border-radius:var(--r); border:1px solid var(--border);
    background:var(--surface); box-shadow:var(--sh-card);
}
.security-card h2 { font-size:1.55rem; margin:.65rem 0 0; }
.security-mini-card h3 { font-size:1rem; font-weight:800; }
.security-card p,.security-mini-card p { margin:.85rem 0 0; color:var(--text-body); line-height:1.75; }

/* ── Resource toolbar ─────────────────────────────────────────────────────── */
.resource-toolbar {
    display:flex; flex-wrap:wrap; align-items:flex-end;
    justify-content:space-between; gap:1rem;
    margin-bottom:1.5rem; padding:1.1rem 1.25rem;
    border:1px solid rgba(59,70,204,.14); border-radius:var(--r);
    background:rgba(17,24,39,.8); box-shadow:var(--sh-card);
}
.pill-button {
    padding:.65rem 1rem; border:1px solid rgba(59,70,204,.16);
    border-radius:var(--r-pill); background:rgba(17,24,39,.8);
    color:var(--muted-hi); font-family:"Manrope",sans-serif;
    font-size:.875rem; font-weight:700; cursor:pointer;
    transition:all .18s;
}
.pill-button:hover,.pill-button.is-active {
    background:rgba(59,70,204,.16); border-color:rgba(59,70,204,.4);
    color:var(--blue-mid); transform:translateY(-1px);
}
.search-field { display:grid; gap:.45rem; min-width:min(100%,340px); font-size:.8rem; color:var(--muted); text-transform:uppercase; letter-spacing:.07em; }
.search-field input {
    width:100%; padding:.9rem 1rem;
    border:1px solid rgba(59,70,204,.18); border-radius:var(--r-sm);
    background:rgba(11,16,32,.9); color:var(--text-strong); font-family:"Manrope",sans-serif;
}
.search-field input::placeholder { color:var(--muted); }
.search-field input:focus { outline:none; border-color:rgba(59,70,204,.5); }

.resource-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:1.25rem; }
.resource-grid   { display:grid; gap:1.25rem; }
.featured-resource {
    position:relative; padding:2rem;
    border-radius:var(--r-lg); overflow:hidden;
    background:linear-gradient(160deg,rgba(30,31,142,.14),rgba(59,70,204,.07));
    border:1px solid rgba(59,70,204,.22); box-shadow:var(--sh-card);
}
.featured-resource h3 { margin-top:.85rem; font-size:1.75rem; max-width:14ch; }
.featured-resource p  { color:var(--text-body); line-height:1.75; margin-top:.65rem; }
.empty-state {
    padding:3rem 2rem; text-align:center;
    border:1px dashed rgba(59,70,204,.22); border-radius:var(--r);
    color:var(--muted);
}

/* ── CTA band ────────────────────────────────────────────────────────────── */
.cta-band,.cta-panel {
    display:flex; flex-wrap:wrap; align-items:center;
    justify-content:space-between; gap:1.5rem;
    padding:3rem 3.5rem;
    border-radius:var(--r-lg);
    background:linear-gradient(135deg,rgba(30,31,142,.16),rgba(47,47,147,.1));
    border:1px solid rgba(59,70,204,.24); box-shadow:var(--sh-lg);
    position:relative; overflow:hidden;
}
.cta-band::before {
    content:''; position:absolute; inset:0; opacity:.03;
    background-image:
        linear-gradient(rgba(255,255,255,1) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,1) 1px,transparent 1px);
    background-size:44px 44px; pointer-events:none;
}
.cta-band-inner { position:relative; z-index:1; }
.cta-band-inner .eyebrow { margin-bottom:.75rem; }
.cta-band h2,.cta-panel h2 { font-size:clamp(1.5rem,2.5vw,2.1rem); max-width:26ch; }
.cta-band p,.cta-panel p   { color:var(--text-body); margin:.5rem 0 0; line-height:1.75; max-width:52ch; }
.cta-band-actions,.cta-actions { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:.85rem; }

/* Split section */
.split-section { padding:4rem 0; }
.split-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.feature-copy p { color:var(--text-body); line-height:1.78; margin:.65rem 0 1.35rem; }
.feature-image { border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-lg); aspect-ratio:4/3; }
.feature-image img { width:100%; height:100%; object-fit:cover; }
.check-list { list-style:none; display:grid; gap:.9rem; }
.check-list li { display:flex; align-items:center; gap:.8rem; font-size:.975rem; color:var(--text-body); }
.check-list li i { color:var(--green); flex-shrink:0; }

/* ── Auth pages ──────────────────────────────────────────────────────────── */
.auth-grid {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(360px,.9fr);
    gap:1.5rem; align-items:stretch;
}
.auth-intro-panel,.auth-card {
    border:1px solid var(--border); background:var(--surface);
    box-shadow:var(--sh-lg); border-radius:var(--r-lg); padding:2rem;
}
.auth-intro-panel { align-self:start; }
.auth-card        { align-self:start; }
.auth-brand-logo {
    display:block; width:min(17rem,100%); height:auto;
    margin-bottom:1.35rem; border-radius:8px; background:#fff;
    box-shadow:0 0 0 1px rgba(59,70,204,.15),var(--sh);
}
.auth-intro-panel h1 {
    margin:.75rem 0 0;
    font-size:clamp(1.8rem,3.2vw,2.9rem); line-height:1.08;
    background:linear-gradient(135deg,#fff 0%,#9ba8f8 100%);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text;
}
.auth-intro-panel > p { color:var(--text-body); line-height:1.78; margin-top:.85rem; font-size:.975rem; }
.auth-process-list { display:grid; gap:.9rem; margin-top:1.5rem; }
.auth-process-item {
    display:grid; grid-template-columns:auto 1fr;
    gap:.9rem; align-items:start; padding:1.15rem;
    border-radius:var(--r-sm); border:1px solid rgba(59,70,204,.12);
    background:rgba(11,16,32,.7);
}
.auth-process-step {
    display:inline-grid; place-items:center;
    width:2.15rem; height:2.15rem; border-radius:50%;
    background:var(--g-blue); color:#fff; font-weight:800; font-size:.9rem;
}
.auth-process-item h2 { margin:0; font-size:.975rem; font-weight:800; }
.auth-process-item p  { margin:.5rem 0 0; color:var(--text-body); line-height:1.72; font-size:.9rem; }
.auth-form-header { display:grid; gap:.5rem; margin-bottom:1.35rem; }
.auth-form-header h2 { font-size:1.5rem; }
.auth-form-header p  { color:var(--text-body); line-height:1.75; font-size:.95rem; }
.auth-form { display:grid; gap:.9rem; }
.auth-validation {
    margin:0; padding:.9rem 1.1rem; border-radius:var(--r-sm);
    background:rgba(239,68,68,.1); border:1px solid rgba(239,68,68,.25);
    color:#f87171; list-style:none;
}
.auth-form-links { display:flex; justify-content:flex-end; margin-top:.25rem; }
.auth-inline-link { color:var(--blue-mid); font-size:.9rem; font-weight:700; transition:color .15s; }
.auth-inline-link:hover { color:#818cf8; }
.auth-switch { margin:.9rem 0 0; color:var(--muted); font-size:.9rem; }
.auth-switch a { color:var(--blue-mid); font-weight:700; }
.auth-note { margin:0; color:var(--muted); line-height:1.7; font-size:.875rem; }
.auth-code-input { font-size:1.5rem; letter-spacing:.35em; text-align:center; min-height:4rem; }

/* ── Status pages ────────────────────────────────────────────────────────── */
.status-shell { width:min(700px,calc(100% - 2rem)); margin:0 auto; }
.status-card {
    display:grid; gap:1.25rem; padding:2rem;
    border-radius:var(--r-lg); border:1px solid var(--border);
    background:var(--surface); box-shadow:var(--sh-lg);
}
.status-icon {
    display:inline-grid; place-items:center;
    width:4rem; height:4rem; border-radius:50%; font-size:1.5rem; font-weight:800;
}
.status-icon-success { background:rgba(16,185,129,.15); color:var(--green); }
.status-icon-failure { background:rgba(239,68,68,.15); color:var(--red); }
.status-icon-warning { background:rgba(242,195,0,.15); color:var(--gold); }
.status-card h1 { font-size:clamp(1.75rem,3vw,2.5rem); }
.status-card > p { color:var(--text-body); line-height:1.78; }
.status-actions { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:.25rem; }

/* ── Dashboard ───────────────────────────────────────────────────────────── */
.dashboard-page { padding-top:6rem; overflow:hidden; }
.dashboard-hero {
    position:relative; overflow:hidden;
    background:var(--g-hero);
    padding:3.5rem 0 5.5rem;
}
.dashboard-hero::before {
    content:''; position:absolute; inset:0; pointer-events:none; opacity:.04;
    background-image:
        linear-gradient(rgba(255,255,255,1) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,1) 1px,transparent 1px);
    background-size:48px 48px;
}
.dashboard-hero-grid { display:none; }
.dashboard-hero-inner {
    position:relative; z-index:1;
    display:flex; align-items:flex-start;
    justify-content:space-between; flex-wrap:wrap; gap:1.5rem;
}
.dashboard-welcome .greeting {
    font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
    color:rgba(255,255,255,.45); margin-bottom:.55rem;
}
.dashboard-welcome h1 {
    font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:800; margin-bottom:.9rem;
    background:linear-gradient(135deg,#fff 0%,#9ba8f8 100%);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text;
}
.role-badge {
    display:inline-flex; align-items:center; gap:.4rem;
    padding:.4rem .9rem; border-radius:var(--r-pill);
    background:rgba(59,70,204,.12); border:1px solid rgba(59,70,204,.25);
    color:var(--blue-mid); font-size:.8rem; font-weight:700;
}
.dashboard-quick-actions { display:flex; flex-wrap:wrap; gap:.65rem; align-self:flex-start; margin-top:.35rem; }
.dashboard-action {
    display:inline-flex; align-items:center; gap:.6rem; padding:.75rem 1.1rem;
    background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14);
    border-radius:var(--r-sm); color:#fff; font-size:.875rem; font-weight:700;
    transition:background .15s,border-color .15s; text-decoration:none;
}
.dashboard-action:hover { background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.28); }
.dashboard-action.primary-action { background:var(--g-blue); border-color:transparent; box-shadow:0 4px 16px rgba(59,70,204,.4); }
.dashboard-action.primary-action:hover { filter:brightness(1.08); }
.dashboard-body { margin-top:-4rem; position:relative; z-index:2; padding-bottom:4rem; }
.dashboard-grid {
    display:grid; grid-template-columns:minmax(0,1fr) 320px;
    gap:1.5rem; align-items:start;
}
.dash-card {
    background:var(--surface); border:1px solid var(--border);
    border-radius:var(--r); box-shadow:var(--sh-card); overflow:hidden;
}
.dash-card-header {
    display:flex; align-items:center; justify-content:space-between; gap:.85rem;
    padding:1.1rem 1.35rem;
    border-bottom:1px solid rgba(59,70,204,.1);
    background:rgba(17,24,39,.6);
}
.dash-card-title { display:flex; align-items:center; gap:.6rem; font-size:.875rem; font-weight:800; }
.dash-card-title i { color:var(--blue-mid); }
.dash-card-body { padding:1.35rem; }
.dash-stats { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid rgba(59,70,204,.1); }
.dash-stat { padding:1.35rem 1.1rem; border-right:1px solid rgba(59,70,204,.1); transition:background .15s; }
.dash-stat:last-child { border-right:none; }
.dash-stat:hover { background:var(--surface-alt); }
.dash-stat-value {
    font-family:"Space Grotesk",sans-serif;
    font-size:2rem; font-weight:800; color:var(--blue-mid);
    line-height:1; margin-bottom:.35rem;
}
.dash-stat-label { font-size:.76rem; color:var(--muted); font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.resource-list { display:grid; gap:1px; background:rgba(59,70,204,.08); }
.resource-item {
    display:grid; grid-template-columns:56px minmax(0,1fr) auto;
    align-items:center; gap:1rem; padding:1rem 1.35rem;
    background:var(--surface); transition:background .15s;
    text-decoration:none; color:inherit;
}
.resource-item:hover { background:var(--surface-alt); }
.resource-item-thumb { width:56px; height:40px; border-radius:6px; overflow:hidden; background:var(--surface-alt); flex-shrink:0; }
.resource-item-thumb img { width:100%; height:100%; object-fit:cover; }
.resource-item-body h4 { font-size:.875rem; font-weight:700; margin-bottom:.2rem; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.resource-item-body span { font-size:.78rem; color:var(--muted); }
.resource-item-action { color:var(--muted); transition:color .15s,transform .15s; }
.resource-item:hover .resource-item-action { color:var(--blue-mid); transform:translateX(3px); }
.profile-card .dash-card-body { display:grid; gap:1rem; }
.profile-avatar {
    width:4rem; height:4rem; border-radius:50%; background:var(--g-blue);
    display:grid; place-items:center; color:#fff; font-size:1.35rem; font-weight:800;
    margin:0 auto; box-shadow:0 4px 16px rgba(0,0,0,.45);
    overflow:hidden;
}
.profile-avatar img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 28% !important; }
.profile-name  { text-align:center; font-size:1rem; font-weight:800; margin-top:.4rem; }
.profile-email { text-align:center; font-size:.82rem; color:var(--muted); }
.profile-meta-list { display:grid; gap:.8rem; padding-top:.9rem; border-top:1px solid rgba(59,70,204,.1); }
.profile-meta-item { display:flex; align-items:center; justify-content:space-between; font-size:.86rem; }
.profile-meta-item .key { color:var(--muted); }
.profile-meta-item .val { font-weight:700; font-size:.82rem; text-align:right; max-width:55%; }
.status-badge { display:inline-flex; align-items:center; gap:.35rem; padding:.3rem .75rem; border-radius:var(--r-pill); font-size:.74rem; font-weight:700; }
.status-active   { background:rgba(16,185,129,.12); color:var(--green); border:1px solid rgba(16,185,129,.22); }
.status-pending  { background:rgba(242,195,0,.12);  color:var(--gold);  border:1px solid rgba(242,195,0,.22); }
.status-inactive { background:rgba(59,70,204,.08);  color:var(--muted); border:1px solid var(--border); }
.admin-action-grid { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }

/* Front-end knowledge resource manager */
.resource-manager-page .dashboard-body { min-height:60vh; }
.resource-manager-page .alert { margin-bottom:1rem; }
.resource-manager-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:1.25rem; align-items:start; }
.resource-publish-card { position:sticky; top:7rem; }
.resource-form-fields { display:grid; gap:1rem; }
.resource-form-fields .form-group { display:grid; gap:.4rem; min-width:0; }
.content-manager-fieldset {
    display:grid; gap:1rem;
    padding:1.1rem; border:1px solid rgba(59,70,204,.16);
    border-radius:var(--r-sm); background:rgba(11,16,32,.55);
}
.content-manager-fieldset h2 {
    margin:0; color:var(--text-strong);
    font-size:1rem; letter-spacing:0; line-height:1.35;
}
.form-full { grid-column:1 / -1; }
.resource-current-image { display:grid; gap:.65rem; color:var(--muted); font-size:.82rem; }
.resource-current-image img { width:100%; height:auto; border-radius:10px; }
.gallery-current-images { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gallery-current-images label { display:grid; gap:.35rem; }
.gallery-current-images img { aspect-ratio:1; object-fit:cover; }
.resource-list-header { gap:1rem; flex-wrap:wrap; }
.resource-search { display:flex; gap:.5rem; margin-left:auto; }
.resource-search .form-select { min-width:170px; }
.resource-search .form-input { min-width:240px; }
.board-order-panel { margin-bottom:1rem; overflow:hidden; }
.board-order-panel > summary { cursor:pointer; list-style:none; }
.board-order-panel > summary::-webkit-details-marker { display:none; }
.board-order-summary { margin-left:auto; color:var(--muted); font-size:.78rem; font-weight:700; }
.board-order-form { border-top:1px solid var(--border); }
.board-order-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.board-order-row {
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
    padding:.85rem 1.1rem; border-bottom:1px solid var(--border);
}
.board-order-row:nth-child(odd) { border-right:1px solid var(--border); }
.board-order-identity { display:grid; gap:.15rem; min-width:0; }
.board-order-identity strong { color:var(--text-strong); font-size:.88rem; }
.board-order-identity small { color:var(--muted); font-size:.74rem; }
.board-order-control { display:flex; align-items:center; gap:.5rem; color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.board-order-control .form-input { width:68px; padding:.55rem .65rem; text-align:center; }
.board-order-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1.1rem; }
.board-order-footer p { margin:0; color:var(--muted); font-size:.78rem; }
.resource-manager-list { display:grid; }
.resource-manager-row { display:grid; grid-template-columns:84px minmax(0,1fr) auto; gap:1rem; align-items:center; padding:1rem 1.25rem; border-top:1px solid var(--border); }
.resource-manager-row:first-child { border-top:0; }
.resource-manager-thumb { width:84px; aspect-ratio:1; display:grid; place-items:center; overflow:hidden; border-radius:10px; color:var(--blue-mid); background:var(--surface-2); }
.resource-manager-thumb img { width:100%; height:100%; object-fit:cover; }
.resource-manager-thumb svg { width:28px; height:28px; }
.resource-manager-info { min-width:0; }
.resource-manager-info h2 { margin:.2rem 0; font-size:1rem; }
.resource-manager-info p,.resource-manager-info small { color:var(--muted); font-size:.8rem; }
.resource-status { display:inline-flex; padding:.12rem .4rem; border-radius:999px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; font-size:.68rem; background:var(--surface-2); }
.resource-status-publish { color:#138a52; background:rgba(19,138,82,.12); }
.resource-status-draft,.resource-status-pending { color:#9a6a00; background:rgba(214,154,0,.14); }
.resource-status-archived { color:#7b61d1; background:rgba(123,97,209,.14); }
.resource-manager-actions { display:flex; align-items:center; justify-content:flex-end; gap:.45rem; flex-wrap:wrap; }
.resource-manager-actions form { margin:0; }
.resource-manager-empty { padding:3rem 1rem; display:grid; justify-items:center; gap:1rem; text-align:center; }
.content-manager-tabs { display:flex; gap:.55rem; flex-wrap:wrap; margin-bottom:1rem; }
.content-manager-tabs a {
    display:flex; align-items:center; gap:.45rem; padding:.7rem .85rem;
    border:1px solid var(--border); border-radius:var(--r-sm);
    background:rgba(17,24,39,.72); color:var(--muted); text-decoration:none;
    font-size:.8rem; font-weight:800; transition:all .18s;
}
.content-manager-tabs a:hover,
.content-manager-tabs a.is-active { color:var(--text); background:rgba(59,70,204,.16); border-color:rgba(59,70,204,.42); }
.content-manager-tabs i { width:16px; height:16px; color:var(--blue-mid); }

/* Members directory and front-end profile */
.member-directory-controls {
    display:grid; grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(150px,.7fr)) auto;
    gap:1rem; align-items:end; margin-bottom:1rem;
    padding:1rem; border:1px solid var(--border); border-radius:var(--r-sm);
    background:rgba(11,16,32,.72);
}
.member-directory-actions { display:flex; gap:.55rem; align-items:center; }
.member-directory-meta {
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:.75rem;
    margin:.75rem 0 1rem; color:var(--muted); font-size:.86rem;
}
.member-table-wrap {
    overflow:auto; border:1px solid var(--border); border-radius:var(--r-sm);
    background:rgba(11,16,32,.82); box-shadow:var(--sh-card);
}
.member-directory-table {
    width:100%; min-width:1180px; border-collapse:collapse;
    color:var(--text-body); font-size:.88rem;
}
.member-directory-table th,
.member-directory-table td {
    padding:.85rem .9rem; border-bottom:1px solid rgba(59,70,204,.12);
    text-align:left; vertical-align:top;
}
.member-directory-table th {
    position:sticky; top:0; z-index:1;
    background:#0b1020; color:var(--text-strong);
    font-size:.74rem; letter-spacing:.08em; text-transform:uppercase;
}
.member-directory-table tbody tr:hover { background:rgba(59,70,204,.07); }
.member-directory-table a { color:var(--blue-mid); font-weight:700; }
.member-photo-cell { width:76px; }
.member-directory-avatar {
    display:grid; place-items:center; width:46px; height:46px;
    border:1px solid rgba(255,255,255,.16); border-radius:50%;
    overflow:hidden; background:linear-gradient(135deg, var(--blue), var(--blue-mid));
    color:#fff; font-size:.78rem; font-weight:900; letter-spacing:.04em;
}
.member-directory-avatar img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 28% !important; }
.muted-value { color:var(--muted); }
.member-table-empty { text-align:center; color:var(--muted); padding:2rem!important; }
.member-pagination {
    display:flex; flex-wrap:wrap; gap:.4rem; justify-content:flex-end;
    margin-top:1rem;
}
.member-pagination a {
    display:grid; place-items:center; min-width:2.4rem; min-height:2.4rem;
    padding:.35rem .7rem; border:1px solid var(--border); border-radius:var(--r-sm);
    color:var(--text-body); font-weight:800;
}
.member-pagination a:hover,
.member-pagination a.is-active { color:#fff; background:var(--blue); border-color:var(--blue); }
.member-profile-page .alert { margin-bottom:1rem; }
.profile-avatar-large { width:132px; height:132px; margin-inline:auto; font-size:2rem; }
.profile-readonly-grid {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem 1.25rem;
}
.profile-readonly-grid > div {
    display:grid; gap:.35rem; min-width:0;
    padding:.9rem; border:1px solid rgba(59,70,204,.12);
    border-radius:var(--r-sm); background:rgba(255,255,255,.025);
}
.profile-readonly-grid strong,
.profile-readonly-grid a { overflow-wrap:anywhere; }
.profile-sharing-grid { display:grid; gap:.75rem; }

.admin-action {
    display:flex; align-items:center; gap:.75rem; padding:1rem 1.1rem;
    border:1px solid var(--border); border-radius:var(--r-sm);
    background:rgba(17,24,39,.7); color:var(--text); font-size:.875rem; font-weight:700;
    transition:all .18s; text-decoration:none; cursor:pointer;
}
.admin-action:hover { background:rgba(59,70,204,.1); border-color:rgba(59,70,204,.3); transform:translateY(-1px); }
.admin-action i { color:var(--blue-mid); flex-shrink:0; }
.pending-list { display:grid; }
.pending-item { display:flex; align-items:center; justify-content:space-between; gap:.85rem; padding:.9rem 0; border-bottom:1px solid rgba(59,70,204,.1); }
.pending-item:last-child { border-bottom:none; }
.pending-item-info h4 { font-size:.875rem; font-weight:700; margin-bottom:.2rem; }
.pending-item-info span { font-size:.78rem; color:var(--muted); }
.pending-item-actions { display:flex; gap:.5rem; flex-shrink:0; }

/* ── Register form ────────────────────────────────────────────────────────── */
.register-page { padding-top:6.5rem; padding-bottom:4rem; overflow:hidden; }
.register-header { text-align:center; margin-bottom:2.25rem; }
.register-header h1 { font-size:clamp(1.75rem,3.5vw,2.5rem); margin-top:.7rem; }
.register-header p  { color:var(--text-body); max-width:52ch; margin:.65rem auto 0; font-size:1rem; line-height:1.75; }
.register-card {
    max-width:860px; margin-inline:auto;
    background:var(--surface); border:1px solid var(--border);
    border-radius:var(--r-lg); box-shadow:var(--sh-lg); overflow:hidden;
}
.register-section { padding:2rem 2.25rem; border-bottom:1px solid rgba(59,70,204,.1); display:grid; gap:1.1rem; }
.register-section:last-of-type { border-bottom:none; }
.registration-grid {
    grid-template-columns:minmax(240px,.34fr) minmax(0,1.66fr);
    gap:clamp(1rem,1.5vw,1.5rem);
    align-items:start;
}
.registration-card { padding:1.35rem; }
.registration-card .auth-form-header {
    grid-template-columns:minmax(0,1fr);
    margin-inline:auto;
    max-width:none;
}
.registration-card .register-card {
    max-width:none;
    width:100%;
}
.registration-card .register-section {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1rem;
}
.registration-card .form-section-title,
.registration-card .register-section > div[style*="display:grid"],
.registration-card .auth-fieldset,
.registration-card .form-note-full {
    grid-column:1 / -1;
}
.registration-card .form-row { display:contents; }
.registration-card .form-group { min-width:0; }
.registration-card .register-section > .form-group,
.registration-card .form-group:has(.form-textarea),
.registration-card .form-group:has(.file-input) {
    grid-column:span 2;
}
.registration-card .form-group:has(.form-textarea) {
    grid-column:1 / -1;
}
.register-footer {
    padding:1.35rem 2.25rem;
    background:rgba(17,24,39,.6); border-top:1px solid rgba(59,70,204,.1);
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:1rem;
}

/* ── Footer ──────────────────────────────────────────────────────────────── */
.hub-footer,.site-footer {
    padding:3rem var(--content-pad) 2rem;
    background:rgba(5,7,14,.9);
    color:var(--muted);
    border-top:1px solid rgba(59,70,204,.12);
}
.footer-grid {
    display:grid; grid-template-columns:minmax(260px,1fr) minmax(0,auto) auto;
    align-items:flex-start; gap:clamp(1rem,2vw,2rem);
    max-width:var(--content-max); margin:0 auto;
    padding-top:1rem;
}
.footer-brand-lockup { display:flex; align-items:center; gap:.85rem; }
.footer-logo {
    width:9.75rem; height:auto; padding:.25rem .55rem; border-radius:8px;
    object-fit:contain; background:#fff; flex:0 0 auto;
    box-shadow:0 2px 8px rgba(0,0,0,.3);
}
.footer-brand { margin:0; font-weight:800; color:var(--text-strong); font-size:1rem; }
.footer-copy  { color:var(--muted); font-size:.875rem; max-width:34ch; margin-top:.3rem; line-height:1.65; }
.footer-legal { max-width:none; }
.footer-links { display:flex; flex-wrap:wrap; gap:1.1rem 1.35rem; list-style:none; color:var(--muted); align-items:flex-start; }
.footer-link-item { display:grid; gap:.45rem; }
.footer-policy-links { display:inline-flex; flex-wrap:wrap; gap:.55rem .8rem; margin-left:.75rem; }
.footer-policy-links a { color:var(--muted); font-weight:700; }
.footer-policy-links a:hover { color:var(--blue-mid); }
.footer-links a { color:var(--muted); transition:color .15s; font-size:.9rem; font-weight:700; }
.footer-links a:hover { color:var(--blue-mid); }
.footer-submenu {
    display:grid; gap:.3rem; list-style:none; padding:0; margin:0;
}
.footer-submenu a {
    font-size:.78rem; font-weight:600; color:rgba(122,150,190,.82);
}
.social-links { display:flex; gap:.5rem; }
.social-links a {
    display:grid; place-items:center; width:2.5rem; height:2.5rem;
    color:var(--muted); background:rgba(59,70,204,.08);
    border:1px solid rgba(59,70,204,.14); border-radius:var(--r-sm);
    transition:all .15s;
}
.social-links a:hover { background:rgba(59,70,204,.2); color:var(--text-strong); }
.newsletter-form { display:grid; grid-template-columns:minmax(0,1fr) 48px; gap:8px; margin-top:.9rem; }
.newsletter-form input {
    min-height:48px; padding:.7rem 1rem;
    border:1px solid rgba(59,70,204,.2); border-radius:var(--r-sm);
    background:rgba(11,16,32,.9); color:var(--text-strong); font-family:"Manrope",sans-serif;
}
.newsletter-form input::placeholder { color:var(--muted); }
.newsletter-form input:focus { outline:none; border-color:rgba(59,70,204,.5); }
.newsletter-form button {
    display:grid; place-items:center;
    background:var(--g-blue); border:none; border-radius:var(--r-sm);
    cursor:pointer; color:#fff; transition:filter .15s;
}
.newsletter-form button:hover { filter:brightness(1.1); }

/* Board member profile */
.board-profile-page { background:var(--bg); }
.board-profile-hero {
    padding:clamp(2.5rem,5vw,4.5rem) 0;
    border-bottom:1px solid rgba(59,70,204,.12);
    background:
        linear-gradient(135deg,rgba(15,23,42,.98),rgba(9,13,26,.96)),
        radial-gradient(circle at 20% 20%,rgba(59,70,204,.16),transparent 42%);
}
.board-profile-breadcrumb {
    display:flex; align-items:center; flex-wrap:wrap; gap:.5rem;
    margin-bottom:1.6rem; color:var(--muted); font-size:.82rem;
}
.board-profile-breadcrumb a { color:var(--muted-hi); }
.board-profile-breadcrumb a:hover { color:var(--blue-mid); }
.board-profile-hero-grid {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,420px);
    gap:clamp(2rem,5vw,4.5rem); align-items:center;
}
.board-profile-copy { max-width:46rem; }
.board-profile-copy h1 {
    margin:.7rem 0 0; color:var(--text-strong);
    font-size:clamp(2.2rem,5vw,4.75rem); line-height:.98;
}
.board-profile-role {
    margin:1rem 0 0; color:var(--blue-mid);
    font-size:clamp(1rem,1.5vw,1.24rem); font-weight:850;
}
.board-profile-summary {
    max-width:58ch; margin:1.2rem 0 0;
    color:var(--text-body); font-size:1rem; line-height:1.8;
}
.board-profile-summary > * + * { margin-top:.85rem; }
.board-profile-actions { margin-top:1.45rem; }
.board-profile-photo {
    align-self:start; aspect-ratio:4/5; margin:0; padding:.75rem;
    width:100%; max-height:560px;
    border:1px solid rgba(99,120,200,.2); border-radius:12px;
    background:rgba(255,255,255,.035); box-shadow:var(--sh-card);
}
.board-profile-photo img {
    display:block; width:100%; height:100%;
    border-radius:8px; object-fit:cover; object-position:50% 18%;
}
.board-profile-body { padding-block:clamp(2.5rem,5vw,4.5rem); }
.board-profile-layout {
    display:grid; grid-template-columns:minmax(260px,340px) minmax(0,1fr);
    gap:clamp(1.5rem,4vw,3.5rem); align-items:start;
}
.board-profile-credentials {
    position:sticky; top:7.5rem;
    padding:1.25rem; border:1px solid var(--border); border-radius:10px;
    background:rgba(11,16,32,.82); box-shadow:var(--sh-card);
}
.board-profile-credentials h2 {
    margin:0 0 1rem; color:var(--text-strong);
    font-size:.86rem; letter-spacing:.1em; text-transform:uppercase;
}
.board-profile-credentials dl { display:grid; gap:.85rem; margin:0; }
.board-profile-credentials dl > div {
    padding-bottom:.85rem; border-bottom:1px solid rgba(99,120,200,.13);
}
.board-profile-credentials dl > div:last-child { padding-bottom:0; border-bottom:0; }
.board-profile-credentials dt {
    margin:0 0 .25rem; color:var(--muted);
    font-size:.74rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
}
.board-profile-credentials dd {
    margin:0; color:var(--text-strong); font-weight:800; line-height:1.45;
}
.board-profile-biography {
    padding:clamp(1.25rem,3vw,2rem);
    border:1px solid rgba(99,120,200,.15); border-radius:10px;
    background:rgba(11,16,32,.5);
}
.board-profile-biography h2 {
    margin:.45rem 0 0; color:var(--text-strong);
    font-size:clamp(1.6rem,3vw,2.35rem); line-height:1.1;
}
.board-profile-biography .prose {
    max-width:74ch; padding-block:1.4rem 0;
    font-size:1.02rem; line-height:1.86;
}

/* ── Archive / Single pages ───────────────────────────────────────────────── */
.archive-hero,.single-hero {
    background:var(--g-hero);
    border-bottom:1px solid rgba(59,70,204,.12);
    padding:3.5rem 0;
}
.archive-hero h1,.single-hero h1 { font-size:clamp(1.85rem,4vw,3rem); }
.archive-hero-desc { color:var(--text-body); line-height:1.78; margin-top:.85rem; max-width:60ch; font-size:1rem; }
.prose { max-width:80ch; padding-block:3rem; color:var(--text-body); line-height:1.82; font-size:1rem; }
.prose > * + * { margin-top:1.1em; }
.prose h2,.prose h3 { color:var(--text-strong); margin-top:1.5em; }
.prose a { color:var(--blue-mid); text-decoration:underline; text-underline-offset:4px; }
.single-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(240px,280px);
    gap:clamp(1.5rem,3vw,3rem);
    align-items:start;
}
.single-feature-media {
    aspect-ratio:16/9;
    max-height:clamp(260px,42vw,560px);
    border:1px solid var(--border);
    border-radius:10px;
    box-shadow:var(--sh);
    overflow:hidden;
    background:var(--surface-alt);
}
.single-feature-media img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.single-ciof_board_member .single-feature-media {
    aspect-ratio:auto;
    width:min(720px,100%);
    max-height:none;
    margin-inline:auto;
    background:rgba(11,16,32,.6);
}
.single-ciof_board_member .single-feature-media img {
    display:block;
    width:100%;
    height:auto;
    max-height:760px;
    object-fit:contain;
    object-position:center top;
}
.single-image-carousel {
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(82%,1fr);
    gap:1rem;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:.8rem;
    scrollbar-color:rgba(59,70,204,.55) transparent;
}
.single-carousel-slide {
    aspect-ratio:16/9;
    max-height:clamp(260px,42vw,560px);
    margin:0;
    border:1px solid var(--border);
    border-radius:10px;
    box-shadow:var(--sh);
    overflow:hidden;
    background:var(--surface-alt);
    scroll-snap-align:start;
}
.single-carousel-slide img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.article-sidebar {
    position:sticky;
    top:7.5rem;
    display:grid;
    gap:1rem;
}
.empty-state { padding:3rem 2rem; text-align:center; border:1px dashed rgba(59,70,204,.22); border-radius:var(--r); color:var(--muted); }
.pagination .page-numbers {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:40px; min-height:40px; padding:7px 11px;
    border:1px solid var(--border); border-radius:var(--r-sm);
    font-size:.9rem; font-weight:700; color:var(--text);
    transition:background .15s; margin:2px;
}
.pagination .page-numbers.current { background:var(--blue); color:#fff; border-color:var(--blue); }
.pagination .page-numbers:hover:not(.current) { background:rgba(59,70,204,.12); }

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width:1200px) {
    .hero-grid      { grid-template-columns:1fr; }
    .about-hero-grid { grid-template-columns:1fr; }
    .auth-grid      { grid-template-columns:1fr; }
    .registration-grid { grid-template-columns:1fr; }
    .dashboard-grid { grid-template-columns:1fr; }
    .member-directory-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .member-directory-actions { grid-column:1 / -1; }
    .security-grid  { grid-template-columns:1fr 1fr; }
    .resource-layout{ grid-template-columns:1fr; }
    .split-grid     { grid-template-columns:1fr; gap:2.5rem; }
    .dash-stats     { grid-template-columns:repeat(2,1fr); }
    .dash-stat:nth-child(2) { border-right:none; }
    .testimonial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:980px) {
    .board-grid,.track-grid,.events-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .board-profile-hero-grid,
    .board-profile-layout { grid-template-columns:1fr; }
    .board-profile-photo { max-width:420px; width:100%; justify-self:start; }
    .board-profile-credentials { position:static; }
    .strategic-plan {
        grid-template-columns:1fr;
        gap:1rem;
        padding:1.25rem;
    }
    .strategic-pillar-row,
    .strategic-pillar-row:nth-of-type(even) {
        grid-template-columns:auto minmax(0,1fr);
        margin-left:0;
        min-height:0;
    }
    .about-two-col,
    .about-contact-grid { grid-template-columns:1fr; }
    .about-benefit-grid,
    .about-membership-grid { grid-template-columns:1fr; }
    .about-reason-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .about-contact-actions { justify-content:flex-start; }
    .site-nav-end { display:none; }
    .site-nav-end.is-open {
        display:flex; flex-direction:column; align-items:stretch;
        position:fixed; inset:auto 0 0; z-index:99;
        background:rgba(7,9,15,.97); padding:1.5rem;
        border-top:1px solid rgba(59,70,204,.22);
        backdrop-filter:blur(24px);
    }
    .site-nav-end.is-open .site-nav-links,
    .site-nav-end.is-open .site-nav-links-inner {
        width:100%; flex-direction:column; align-items:stretch; gap:.25rem;
    }
    .site-nav-end.is-open .nav-link {
        width:100%; justify-content:space-between; padding:.7rem .85rem;
    }
    .site-nav-end.is-open .nav-submenu {
        position:static; opacity:1; transform:none; pointer-events:auto;
        min-width:0; width:100%; margin:.1rem 0 .35rem; padding:.3rem 0 .3rem .7rem;
        background:transparent; border:0; box-shadow:none; backdrop-filter:none;
    }
    .site-nav-end.is-open .nav-submenu-link {
        white-space:normal; padding:.48rem .8rem; color:var(--muted);
    }
    .forum-toggler { display:flex; }
    .cta-band,.cta-panel { flex-direction:column; padding:2rem; }
    .single-layout { grid-template-columns:1fr; }
    .article-sidebar { position:static; }
    .footer-grid { grid-template-columns:1fr; }
    .resource-manager-layout { grid-template-columns:1fr; }
    .resource-publish-card { position:static; }
    .registration-card .register-section { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .contact-card { grid-template-columns:1fr; }
    .contact-info-panel {
        min-height:auto; border-right:0; border-bottom:1px solid rgba(59,70,204,.16);
    }
}

@media (max-width:680px) {
    :root { --content-pad:1.25rem; }
    .brand-mark { min-width:0; }
    .brand-logo { width:min(12rem,46vw); }
    .brand-copy { display:none; }
    .board-profile-hero { padding-top:2rem; }
    .board-profile-copy h1 { font-size:2.4rem; }
    .board-profile-photo { max-width:none; padding:.5rem; }
    .board-profile-photo img { max-height:520px; }
    .board-profile-biography { padding:1rem; }
    .strategic-plan {
        grid-template-columns:1fr;
        padding:1rem;
    }
    .strategic-plan-heading h2 { font-size:2rem; }
    .strategic-plan-heading p { font-size:1rem; }
    .strategic-pillar-row,
    .strategic-pillar-row:nth-of-type(even) {
        grid-template-columns:1fr;
        gap:.9rem;
        padding:1rem;
    }
    .strategic-pillar-icon {
        width:3.1rem;
        height:3.1rem;
    }
    .strategic-pillar-icon i { width:1.55rem; height:1.55rem; }
    .strategic-pillar-content h3 {
        font-size:1.12rem;
    }
    .hub-page,.dashboard-page,.register-page,.auth-page,.status-page,.about-page { padding-top:7rem; }
    .about-hero { padding:2.5rem 0 2rem; }
    .about-hero-copy h1 { font-size:2.2rem; }
    .about-jump-nav { position:relative; top:auto; }
    .about-jump-nav ul { flex-wrap:nowrap; overflow-x:auto; padding-bottom:.2rem; }
    .about-jump-nav a { white-space:nowrap; }
    .about-band,.about-contact-band { padding:2.5rem 0; }
    .about-reason-grid { grid-template-columns:1fr; }
    .about-contact-actions .hero-btn { width:100%; justify-content:center; }
    .testimonial-grid { grid-template-columns:1fr; }
    .hero-copy { padding:1.75rem; }
    .hero-copy h1 { font-size:2.2rem; }
    .hero-section { padding:2.5rem 0 2rem; }
    .card-grid,.board-grid,.committee-grid,.focus-grid,.events-grid,
    .voices-grid,.insights-grid,.track-grid { grid-template-columns:1fr; }
    .bylaws-list { grid-template-columns:1fr; }
    .dash-stats  { grid-template-columns:1fr 1fr; }
    .form-row,.form-grid { grid-template-columns:1fr; }
    .registration-card { padding:0; }
    .registration-card .register-section { grid-template-columns:1fr; }
    .registration-card .register-section > .form-group,
    .registration-card .form-group:has(.form-textarea),
    .registration-card .form-group:has(.file-input) {
        grid-column:1 / -1;
    }
    .register-section { padding:1.4rem 1.25rem; }
    .register-footer  { padding:1rem 1.25rem; }
    .admin-action-grid { grid-template-columns:1fr; }
    .resource-manager-layout { grid-template-columns:1fr; }
    .resource-publish-card { position:static; }
    .resource-manager-row { grid-template-columns:64px minmax(0,1fr); }
    .resource-manager-thumb { width:64px; }
    .resource-manager-actions { grid-column:1 / -1; justify-content:flex-start; }
    .resource-search { width:100%; margin-left:0; }
    .resource-search .form-select { min-width:0; flex:1; }
    .resource-search .form-input { min-width:0; flex:1; }
    .board-order-list { grid-template-columns:1fr; }
    .board-order-row:nth-child(odd) { border-right:0; }
    .board-order-footer { align-items:stretch; flex-direction:column; }
    .member-directory-controls { grid-template-columns:1fr; }
    .member-directory-actions { flex-direction:column; align-items:stretch; }
    .member-directory-actions .btn { justify-content:center; }
    .member-table-wrap { overflow:visible; border:0; background:transparent; box-shadow:none; }
    .member-directory-table { min-width:0; display:block; }
    .member-directory-table thead { display:none; }
    .member-directory-table tbody,
    .member-directory-table tr,
    .member-directory-table td { display:block; width:100%; }
    .member-directory-table tr {
        margin-bottom:1rem; border:1px solid var(--border);
        border-radius:var(--r-sm); background:rgba(11,16,32,.82); overflow:hidden;
    }
    .member-directory-table td {
        display:grid; grid-template-columns:minmax(120px,.45fr) minmax(0,1fr);
        gap:.8rem; padding:.75rem .9rem;
    }
    .member-directory-table td::before {
        content:attr(data-label); color:var(--muted);
        font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em;
    }
    .member-photo-cell { width:100%; align-items:center; }
    .profile-readonly-grid { grid-template-columns:1fr; }
    .member-pagination { justify-content:flex-start; }
    .contact-shell { padding-top:1.25rem; }
    .contact-card { border-radius:12px; }
    .contact-form-grid { grid-template-columns:1fr; }
    .contact-info-list { gap:1.35rem; margin-top:2rem; }
    .contact-form .form-input { min-height:58px; }
    .contact-submit { min-height:62px; }
    .section,.section-compact { padding:2.5rem 0; }
    .security-grid { grid-template-columns:1fr; }
    .event-card-actions { align-items:stretch; flex-direction:column; }
    .event-card-actions .btn { justify-content:center; width:100%; }
    .committee-meta { grid-template-columns:1fr; }
    .footer-brand-lockup { align-items:flex-start; }
}
