/* Custom style sheet for NSA Socal */

html {
    font-size: 16px;
}

body > div {
    font-size: 16px;
    font-size: ;
}

.site-inner,
.wrap {
    margin: 0 auto;
    max-width: 1920px;
    padding-top: 20px;
}

.entry {
    background-color: #fff;
    margin-bottom: 0;
    padding: 0;
}

.home .entry-header {
    display: none;
}

#siteHeaderSpacer {
    display: none;
}

.site-header>.wrap {
    padding: 0;
}

:focus {
  outline: none;
}

.icon-box {
    text-align: center;
}

.icon-box svg {
    width: 64px;
    height: 64px;
    color: #b5541f;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    --accent-light: #d98a4f;
}

.icon-box p {
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: #6b6a63;
}

input,
select,
textarea {
    font-size: 1rem;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
    margin-block-end: 1rem;
    margin-block-start: .5rem;
}

button, input[type="button"], input[type="reset"], input[type="submit"], .button {
    background-color: transparent;
}

button:focus, button:hover, input[type="button"]:focus, input[type="button"]:hover, input[type="reset"]:focus, input[type="reset"]:hover, input[type="submit"]:focus, input[type="submit"]:hover, .button:focus, .button:hover {
    background-color: transparent;
}

form#ws-plugin--s2member-profile input[type="submit"] {
    background: #ff6b4a;
    border-radius: 50px;
}

/* Navigation */


/* ─── HEADER WRAPPER — fixed to viewport, full width always ─── */

.site-header-wrap {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
}

.site-header-spacer {
    height: 76px;
    /* fallback; overridden by JS */
}



/* ── Scroll-reveal (legacy pages only) ──────────────────────
   These classes are intentionally removed from all the
   native-block conversions. Keep this block so any pages
   still on the original Custom HTML blocks don't break.    */

.reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

.delay-1 {
    transition-delay: 0.08s;
}

.delay-2 {
    transition-delay: 0.16s;
}

.delay-3 {
    transition-delay: 0.24s;
}

.delay-4 {
    transition-delay: 0.32s;
}

.delay-5 {
    transition-delay: 0.40s;
}

@media (prefers-reduced-motion: reduce) {
    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}



/* ─── ANNOUNCE BAR ─────────────────────────────────────────── */

#wpfront-notification-bar a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 12px 20px;
    color: #FFFFFF;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: background 0.2s;
}

#wpfront-notification-bar a:hover {
    background: #E5482E;
}



/* =========================================================
   HEADER WRAPPER
   ========================================================= */
.site-header-wrap {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    background: transparent;
}

.nav-primary {
  background-color: transparent;
  border-top: none;
}

/* =========================================================
   HEADER
   ========================================================= */

.site-header {
  position: fixed;
  width: 100%;
  margin: 0;
  padding: 0;
  background: #0b0f1c;
  z-index: 1001;
}

/*
 * The Genesis header contains the logo.
 * Keep this short so it doesn't make the hero/header huge.
 */

.site-header > .wrap {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 1920px;
  min-height: 76px;
  margin: 0 auto;
  padding: 8px 40px;
  justify-content: space-between;
}



/* =========================================================
   LOGO
   ========================================================= */

.site-header .title-area {
  position: relative;
  width: inherit;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  z-index: 1000;
  max-width: 175px;
}

.site-header .title-area img {
    display: block;
    width: auto;
    max-width: 180px;
    height: auto;
}

/* =========================================================
   NATIVE GENESIS PRIMARY NAV
   ========================================================= */
/*
 * IMPORTANT:
 *
 * Genesis outputs .nav-primary outside of the
 * .site-header > .wrap.
 *
 * Therefore we position it over the header rather
 * than trying to make it a flex child of the logo.
 */

.site-header-wrap>.nav-primary,
.site-header-wrap .nav-primary {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    margin: 0;
    padding: 0 40px;
    background: transparent;
    border: 0;
    z-index: 1002;
}

/*
 * Genesis navigation wrapper
 */

.site-header-wrap .nav-primary>.wrap {
    width: auto;
    max-width: none;
  margin: 0;
    padding: 0;
}



/* =========================================================
   MENU
   ========================================================= */

.site-header-wrap .genesis-nav-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    margin: 0;
    padding: 0;
    list-style: none;
}



/* =========================================================
   MENU ITEMS
   ========================================================= */

.site-header-wrap .genesis-nav-menu>li {
    display: block;
    float: none;
    margin: 0;
    padding: 0;
}



/* =========================================================
   MENU LINKS
   ========================================================= */

.genesis-nav-menu > li > a {
  display: flex;
  align-items: center;
  justify-content: left;
  height: 45px;
  margin: 0;
  padding: 0 12px;
  color: #C3CADB;
  background: transparent;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .2s ease, color .2s ease;
  text-transform: uppercase;
}

.genesis-nav-menu .sub-menu a {
    background-color: #0b0f1c;
    border: none;
    color: #c3cadb;
    font-weight: normal !important;
    font-size: .85rem;
}

.genesis-nav-menu {
  background: #0b0f1c;
  color: #fff;
  padding-bottom: 10px !important;
}

.nav-login {
  color: #FFB347 !important;
  border: 2px solid #FFB347;
  padding: 0px 13px !important;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  border-radius: 50px;
}

.nav-login:hover {
    background: #FFB347 !important;
    color: #0b0f1c;
}

.nav-login a {
  color: #FFB347 !important;
  font-size: .85rem !important;
  font-weight: 900 !important;
  justify-content: center !important;
}

.nav-login a:hover span{
    color: #0b0f1c;
}

.pill-button {
  background: #FF6B4A !important;
  color: #0B0F1C !important;
  font-weight: 600;
  padding: 0px 16px !important;
  font-size: 12px;
  border: 2px solid #FF6B4A;
  white-space: nowrap;
  border-radius: 50px;
}

.pill-button a {
  color: #0B0F1C !important;
  font-weight: 900 !important;
  font-size: .85rem !important;
  justify-content: center !important;
}

.pill-button:hover {
    background: #E5482E !important;
    border-color: #E5482E;
    color: #0B0F1C !important;
}

/* =========================================================
   HOVER
   ========================================================= */

.site-header-wrap .genesis-nav-menu>li>a:hover,
.site-header-wrap .genesis-nav-menu>li>a:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, .10);
}

.genesis-nav-menu a:focus, .genesis-nav-menu a:hover, .genesis-nav-menu .current-menu-item > a, .genesis-nav-menu .sub-menu .current-menu-item > a:focus, .genesis-nav-menu .sub-menu .current-menu-item > a:hover {
    color: #ff6b4a;
    text-decoration: none;
}

/* =========================================================
   ACTIVE ITEM
   ========================================================= */

.site-header-wrap .genesis-nav-menu>li.current-menu-item>a,
.site-header-wrap .genesis-nav-menu>li.current-menu-ancestor>a,
.site-header-wrap .genesis-nav-menu>li.current-menu-parent>a {
    color: #ffffff;
    background: rgba(255, 255, 255, .08);
}



/* =========================================================
   JOIN BUTTON
   ========================================================= */

.site-header-wrap .genesis-nav-menu>li.menu-join {
    margin-left: 8px;
}

.site-header-wrap .genesis-nav-menu>li.menu-join>a {
    height: 36px;
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 0 18px;
    color: #ffffff;
    background: #ff6b4a;
    border-radius: 999px;
}

.site-header-wrap .genesis-nav-menu>li.menu-join>a:hover,
.site-header-wrap .genesis-nav-menu>li.menu-join>a:focus {
    color: #ffffff;
    background: #e5482e;
}



/* =========================================================
   DROPDOWN MENUS
   ========================================================= */
.dashicons, .dashicons-before::before {
  font-size: 3rem !important;
  width: 30px;
  height: 30px;
}


.genesis-nav-menu .sub-menu {
    border-top: none;
}

.genesis-nav-menu .sub-menu .menu-item a:hover {
    position: static;
    background: #17203A;
    color: #FFB347;
    text-decoration: none;
}

.site-header-wrap .genesis-nav-menu .sub-menu li {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

.site-header-wrap .genesis-nav-menu .sub-menu li a {
    display: block;
    width: 100%;
    height: auto;
    padding: 12px 16px;
    color: #ffffff;
    background: #0f1525;
    font-size: 13px;
    line-height: 1.4;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.site-header-wrap .genesis-nav-menu .sub-menu li a:hover,
.site-header-wrap .genesis-nav-menu .sub-menu li a:focus {
    color: #ffffff;
    background: #ff6b4a;
}



/* =========================================================
   REMOVE OLD WHITE NAVIGATION BAR
   ========================================================= */

.site-header-wrap .nav-primary,
.site-header-wrap .nav-primary>.wrap {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none;
}



/* =========================================================
   TABLET
   ========================================================= */

@media only screen and (max-width: 1200px) {

    .site-header>.wrap {
        min-height: 70px;
        padding-left: 25px;
        padding-right: 25px;
    }

    .site-header .title-area img {
        max-width: 160px;
    }

    .site-header-wrap .nav-primary {
        padding-right: 25px;
    }

    .site-header-wrap .genesis-nav-menu>li>a {
        height: 70px;
        padding-left: 8px;
        padding-right: 8px;
        font-size: 12px;
    }

    .site-header-wrap .genesis-nav-menu>li.menu-join>a {
        height: 34px;
        margin-top: 18px;
        margin-bottom: 18px;
        padding-left: 13px;
        padding-right: 13px;
    }
}



/* =========================================================
   SMALL TABLET
   ========================================================= */

@media only screen and (max-width: 1023px) {

    .site-header > .wrap {
      min-height: 64px;
      padding-left: 0;
      padding-right: 0;
    }

  .genesis-responsive-menu {
    position: absolute;
    top: 100px;
    width: 100%;
    border: none;
    background: #0b0f1c;
  }

    .site-header .title-area img {
        max-width: 135px;
    }

    .site-header-wrap .nav-primary {
        padding-right: 20px;
    }

    .site-header-wrap .genesis-nav-menu>li>a {
        height: 64px;
        padding-left: 5px;
        padding-right: 5px;
        font-size: 11px;
    }

  .menu-toggle {
    line-height: 22px;
    position: absolute;
    width: 80px;
    z-index: 1000;
    right: 0px;
    border: none !important;
    margin: 0px !important;
    background: transparent;
    color: #fff;
  }

    .menu-toggle, .sub-menu-toggle {
      background-color: transparent;
      border-width: 0;
      color: #C3CADB;
      display: block;
      margin: 0 auto;
      overflow: hidden;
      text-align: center;
      visibility: visible;
    }

  .menu-toggle:focus, .menu-toggle:hover, .sub-menu-toggle:focus, .sub-menu-toggle:hover {
    background-color: transparent;
    border-width: 0;
    color: #ff6b4a;
  }

  .nav-login {
    margin: 10px 30px !important;
  }

  .pill-button {
    margin: 10px 30px;
  }
}



/* =========================================================
   MOBILE
   ========================================================= */

@media only screen and (max-width: 767px) {

    /*
     * Mobile header
     */
    .site-header-wrap {
        position: relative;
        background: #080d1b;
    }


    .site-header {
        background: #080d1b;
    }


    .site-header>.wrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 64px;
        padding: 10px 15px;
    }


    .site-header .title-area {
        margin: 0;
    }


    .site-header .title-area img {
        max-width: 150px;
    }


    /*
     * Native mobile Genesis menu
     */
    .site-header-wrap .nav-primary {
        position: static;
        width: 100%;
        padding: 0;
        background: #080d1b;
        text-align: left;
    }


    .site-header-wrap .nav-primary>.wrap {
        width: 100%;
        padding: 0;
    }


    .site-header-wrap .genesis-nav-menu {
        display: block;
        width: 100%;
    }


    .site-header-wrap .genesis-nav-menu>li {
        display: block;
        width: 100%;
    }


    .site-header-wrap .genesis-nav-menu>li>a {
        display: block;
        width: 100%;
        height: auto;
        padding: 14px 18px;
        color: #ffffff;
        font-size: 15px;
        line-height: 1.3;
        text-align: left;
        border-bottom: 1px solid rgba(255, 255, 255, .07);
    }


    /*
     * Join
     */
    .site-header-wrap .genesis-nav-menu>li.menu-join {
        margin: 10px 15px;
        width: auto;
    }

    .site-header-wrap .genesis-nav-menu>li.menu-join>a {
        height: auto;
        margin: 0;
        padding: 12px 18px;
        text-align: center;
    }


    /*
     * Dropdowns
     */
    .site-header-wrap .genesis-nav-menu .sub-menu {
        position: static !important;
        width: 100%;
        border: 0;
        box-shadow: none;
    }

    .site-header-wrap .genesis-nav-menu .sub-menu li a {
        padding-left: 32px;
        background: #0f1525;
    }
}


/* home */
.hero {
    padding: clamp(2rem, 5vh, 4.5rem) 1.5rem clamp(2rem, 5vh, 4.5rem);
    min-height: calc(100vh - 220px);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: var(--bg) !important;
}

.hero h1 {
    font-family: var(--display);
    font-size: clamp(2.6rem, 8vw, 6.4rem);
    font-weight: 700;
    letter-spacing: -0.045em;
    line-height: 0.92;
    color: var(--text);
    text-transform: uppercase;
    margin-bottom: 1.8rem;
}

.nsa-hero .nsa-hero-logo img {
    filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.7));
}

.nsa-hero .nsa-hero-heading {
    font-size: clamp(2rem, min(7.5vw, 9vh), 5.5rem);
    line-height: 0.95;
    color: #fff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.85), 0 1px 4px rgba(0, 0, 0, 0.6);
}

.nsa-hero .nsa-hero-accent {
    display: block;
    color: #ff6b4a;
}

.nsa-hero .nsa-hero-tagline {
    font-size: clamp(0.78rem, 1.1vh, 0.95rem);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.85);
}

.nsa-hero .nsa-hero-sep {
    opacity: 0.6;
    margin: 0 0.4em;
}

.nsa-hero .nsa-hero-body {
    font-size: clamp(0.92rem, 1.3vh, 1.05rem);
    line-height: 1.6;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    color: #fff;
    text-shadow: 0 1px 16px rgba(0, 0, 0, 0.9), 0 1px 4px rgba(0, 0, 0, 0.7);
}

.nsa-hero .nsa-hero-button a {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.85em 1.8em;
    border-radius: 999px;
    background: #ff6b4a;
    color: #fff;
    font-weight: 600;
    transition: transform 0.15s ease, background 0.15s ease;
}

.nsa-hero .nsa-hero-button a:hover,
.nsa-hero .nsa-hero-button a:focus {
    background: #ff8367;
    transform: translateY(-2px);
    color: #fff;
}

@media (max-height: 700px) {
    .nsa-hero .nsa-hero-logo img {
        height: 64px;
        width: auto;
    }
    .nsa-hero .nsa-hero-heading {
        font-size: clamp(1.9rem, 6.5vw, 3rem);
    }
    .nsa-hero .nsa-hero-body {
        display: none;
    }
}

@media (min-height: 1100px) {
    .nsa-hero .nsa-hero-heading {
        font-size: clamp(3rem, 7vw, 6.4rem);
    }
}

.container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 1.5rem;
}


/* ════════════════════════════════════════════════════════════
   NSA SoCal — Additional CSS for the native block conversion
   Paste into Appearance → Customize → Additional CSS
   ════════════════════════════════════════════════════════════ */

:root {
    --nsa-bg: #0b0f1c;
    --nsa-bg-strip: #0F1525;
    --nsa-bg-card: #17203A;
    --nsa-hairline: #1F2638;
    --nsa-hairline-strong: #2A3147;
    --nsa-accent: #FF6B4A;
    --nsa-accent-light: #FFB347;
    --nsa-text: #F4F5F8;
    --nsa-text-body: #C3CADB;
    --nsa-text-dim: #5C6582;
    --nsa-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --bg: #0B0F1C;
  --bg-elevated: #131A2D;
  --bg-card: #17203A;
  --bg-strip: #0F1525;
  --accent: #FF6B4A;
  --accent-light: #FFB347;
  --accent-strong: #E5482E;
  --accent-warm: #FFB347;
  --accent-soft: rgba(255, 179, 71, 0.10);
  --hairline: #1F2638;
  --hairline-strong: #2A3147;
  --text: #F4F5F8;
  --text-body: #C3CADB;
  --text-dim: #8993AE;
  --text-very-dim: #5C6582;
  --gold: #D4B07A;
  --display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --body: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}


/* ── Shared type helpers used across sections ─────────────── */

.nsa-eyebrow {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--nsa-accent-light);
    margin-bottom: 0.6rem;
}

.nsa-accent {
    color: var(--nsa-accent);
}

.nsa-lede {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    color: var(--nsa-text-body);
    font-size: 1rem;
    line-height: 1.7;
}


/* ── Hero ────────────────────────────────────────────────── */

.nsa-hero .nsa-hero-logo img {
    filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.7));
}

.nsa-hero .nsa-hero-heading {
    font-size: clamp(2rem, min(7.5vw, 9vh), 8.5rem);
    line-height: 0.95;
    color: #fff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.85), 0 1px 4px rgba(0, 0, 0, 0.6);
    text-transform: uppercase;
}

.nsa-hero .nsa-hero-accent {
    display: block;
    color: var(--nsa-accent-light);
}

.nsa-hero .nsa-hero-tagline {
    font-size: clamp(0.78rem, 1.1vh, 0.95rem);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.85);
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--accent-light);
    margin-bottom: 2rem;
}

.nsa-hero .nsa-hero-sep {
    opacity: 0.6;
    margin: 0 0.4em;
}

.nsa-hero .nsa-hero-body {
    font-size: clamp(0.92rem, 1.3vh, 1.05rem);
    line-height: 1.6;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    color: #fff;
    text-shadow: 0 1px 16px rgba(0, 0, 0, 0.9), 0 1px 4px rgba(0, 0, 0, 0.7);
}

.nsa-hero .nsa-hero-button a {
    border-radius: 999px;
    background: var(--nsa-accent);
    font-weight: 600;
    padding: 0.85em 1.8em;
}

.nsa-hero .nsa-hero-button a:hover {
    background: #ff8367;
}


/* ── Welcome / Academy shared "duo" sections ───────────────── */

.nsa-welcome,
.nsa-academy {
    background: var(--nsa-bg);
    padding: 6rem 1.5rem;
    color: var(--nsa-text);
}

.nsa-welcome p,
.nsa-academy p {
    color: var(--nsa-text-body);
}

.nsa-welcome .wp-block-video video,
.nsa-academy .nsa-academy-visual {
    border-radius: 16px;
    overflow: hidden;
}

.nsa-academy-visual {
    aspect-ratio: 1/1;
}

.nsa-academy .nsa-stat-num {
    font-size: 4rem;
    font-weight: 800;
    color: #fff;
    margin: 0;
    line-height: 1;
}

.nsa-academy .nsa-stat-label {
    color: #fff;
    font-weight: 600;
    margin: 0.25rem 0 0;
}

.nsa-academy .nsa-stat-sub {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
    margin: 0.25rem 0 0;
}

.nsa-button-secondary a {
    border-radius: 999px;
    border-color: var(--nsa-accent);
    color: var(--nsa-accent);
}


/* ── Moments grid ───────────────────────────────────────────
   Approximate the original mosaic: make the first and fourth
   tiles span two grid cells on wide screens. */

.nsa-moments {
    background: var(--nsa-bg-strip);
    border-bottom: 1px solid var(--nsa-hairline);
    padding: 6rem 0;
    color: var(--nsa-text);
}

.nsa-moments-grid.wp-block-gallery {
    gap: 1rem;
}

.nsa-moments-grid .wp-block-image img {
    border-radius: 14px;
    aspect-ratio: 1/1;
    object-fit: cover;
}

@media (min-width: 782px) {
    .nsa-moments-grid .wp-block-image:first-child,
    .nsa-moments-grid .wp-block-image:nth-child(4) {
        grid-column: span 2;
    }
}


/* ── Segments ───────────────────────────────────────────────*/

.nsa-segments {
    background: var(--nsa-bg);
    padding: 6rem 1.5rem;
    color: var(--nsa-text);
}

.nsa-segments-grid.wp-block-columns {
    gap: 1.5rem;
}

.nsa-segment-card {
    background: var(--nsa-bg-card);
    border: 1px solid var(--nsa-hairline-strong);
    border-radius: 18px;
    padding: 2rem;
}

.nsa-segment-card p {
    color: var(--nsa-text-body);
    font-size: 0.92rem;
}

.nsa-segment-card a {
    color: var(--nsa-accent-light);
    font-weight: 600;
    text-decoration: none;
}

.nsa-segment-card a:hover {
    text-decoration: underline;
}


/* ── President quote ───────────────────────────────────────*/
blockquote::before {
    top: -50px;
}

.nsa-president {
    background: var(--nsa-bg-strip);
    padding: 6rem 1.5rem;
    text-align: center;
}

.nsa-president-quote {
    border: none;
    max-width: 1180px;
    margin: 0 auto;
}

.nsa-president-quote p {
    font-size: 1.4rem;
    line-height: 1.5;
    color: var(--nsa-text);
    font-style: normal;
}

.nsa-president-quote cite {
    color: var(--nsa-accent-light);
    font-style: normal;
    font-weight: 600;
}

/* home events */
.events-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem 1.8rem;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.event-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    transition: transform 0.3s var(--ease);
}

.event-card:hover .event-poster {
    border-color: var(--accent);
    box-shadow: 0 12px 40px rgba(255, 107, 74, 0.22);
}

.event-poster::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 80% 0%, rgba(255, 179, 71, 0.14), transparent 60%);
    pointer-events: none;
}

.event-poster {
    aspect-ratio: 1 / 1;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--hairline-strong);
    position: relative;
    background: linear-gradient(135deg, var(--bg-card), var(--bg-elevated));
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.8rem 1.6rem;
    text-align: left;
    transition: border-color 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.event-poster-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient( to bottom, rgba(11, 15, 28, 0.55) 0%, rgba(11, 15, 28, 0.15) 35%, rgba(11, 15, 28, 0.45) 65%, rgba(11, 15, 28, 0.92) 100% );
    z-index: 1;
}

.event-poster-flag {
    position: absolute;
    top: 1.2rem;
    right: 1.2rem;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gold);
    background: rgba(212, 176, 122, 0.10);
    border: 1px solid rgba(212, 176, 122, 0.4);
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    z-index: 2;
}

.event-poster-content {
    position: relative;
    z-index: 1;
    flex: 1;
    display: flex;
    flex-direction: column;
}



.event-poster-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    z-index: 0;
}

.event-poster-with-image .event-poster-content {
    position: relative;
    z-index: 2;
}

.event-poster-date {
    font-family: var(--display);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--accent-light);
    margin-bottom: 0.6rem;
}

.event-poster-title {
    font-family: var(--display);
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.12;
    color: var(--text);
    margin-bottom: auto;
    padding-bottom: 1.2rem;
}

.event-poster-with-image .event-poster-title {
    color: #fff;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}

.event-poster-speaker {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-body);
    margin-top: 0.5rem;
}

.event-poster-with-image .event-poster-speaker, .event-poster-with-image .event-poster-time {
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
}

.event-poster-time {
    font-size: 0.76rem;
    color: var(--text-dim);
    margin-top: 0.3rem;
}

.event-card .learn-more {
    margin-top: 1.2rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--accent-light);
    transition: color 0.2s var(--ease);
}

.event-card .learn-more .arrow {
    display: inline-block;
    transition: transform 0.25s var(--ease);
    margin-left: 0.3rem;
}

.event-card:hover .learn-more {
    color: var(--text);
}

.event-card:hover .learn-more .arrow {
    transform: translateX(4px);
}

.events-section .events-cta {
    text-align: center;
    margin-top: 4rem;
    padding: 0 1.5rem;
}

.button-secondary:hover {
    border-color: var(--accent);
    background: var(--accent-soft);
    color: #fff;
}

.button {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-family: var(--body);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 1rem 2rem;
    border-radius: 999px;
    transition: transform 0.2s var(--ease), background 0.2s var(--ease), box-shadow 0.25s var(--ease);
    border: none;
}

/* ── Standing meetings ─────────────────────────────────────*/

.nsa-standing {
    background: var(--nsa-bg);
    padding: 6rem 1.5rem;
    color: var(--nsa-text);
    width: 100%;
}

.nsa-meetings-table table {
    border-collapse: collapse;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.wp-block-table td, .wp-block-table th {
    border: none;
}

.nsa-meetings-table td {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--nsa-hairline);
    color: var(--nsa-text-body);
}

.nsa-meetings-table td:first-child {
    color: var(--nsa-text);
    font-weight: 600;
    width: 40%;
}


/* ── Membership ─────────────────────────────────────────────*/

.nsa-membership {
    background: var(--nsa-bg-strip);
    border-bottom: 1px solid var(--nsa-hairline);
    padding: 6rem 1.5rem;
    color: var(--nsa-text);
}

.nsa-members-strip .wp-block-image img {
    border-radius: 10px;
    aspect-ratio: 1/1;
    object-fit: cover;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    background: var(--bg-card);
    border: 2px solid var(--hairline-strong);
    transition: border-color 0.3s var(--ease), transform 0.3s var(--ease);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--display);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--accent-light);
    letter-spacing: -0.02em;
}

.nsa-membership p {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    color: var(--nsa-text-body);
}


/* ── In the room / playlists ───────────────────────────────*/

.nsa-in-the-room {
    background: var(--nsa-bg);
    padding: 6rem 1.5rem;
    color: var(--nsa-text);
}

.nsa-playlist-grid .wp-block-image img {
    border-radius: 12px;
    aspect-ratio: 16/9;
    object-fit: cover;
}

.nsa-playlist-grid p {
    text-align: center;
    font-size: 0.85rem;
    color: var(--nsa-text-body);
}


/* ── Partners ───────────────────────────────────────────────*/

.nsa-partners {
    background: var(--nsa-bg-strip);
    border-top: 1px solid var(--nsa-hairline);
    padding: 6rem 1.5rem;
    color: var(--nsa-text);
}

.sp-partners-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.nsa-partner-card {
    background: var(--nsa-bg-card);
    padding: 2rem;
    flex: 0 1 360px;
    border: 1px solid var(--hairline-strong, #2A3147);
    border-radius: 20px;
    padding: 2rem 1.75rem;
    display: flex;
    flex-direction: column;
    transition: border-color 0.3s var(--ease, cubic-bezier(0.22,1,0.36,1)), transform 0.3s var(--ease, cubic-bezier(0.22,1,0.36,1));
}

.nsa-partner-card p {
    color: var(--nsa-text-body);
    font-size: 0.92rem;
}

.nsa-partner-logo {
    height: 104px;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
}

.sp-partner-card h3 {
    font-family: var(--display, -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--text, #F4F5F8);
    margin: 0 0 0.6rem;
}

.sp-partner-card p {
    font-size: 0.92rem;
    line-height: 1.62;
    color: var(--text-body, #C3CADB);
    margin: 0 0 1rem;
}

.sp-partner-card p.sp-partner-benefit {
    margin: 0 0 1.4rem;
}

.nsa-partner-card a {
    color: var(--nsa-accent-light);
}

.sp-partner-link {
    margin-top: auto;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-family: var(--body, "Inter", -apple-system, sans-serif);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent-light, #FFB347) !important;
    text-decoration: none;
}

/* ── Join community ────────────────────────────────────────*/

.nsa-join-community {
    background: var(--nsa-bg);
    padding: 6rem 1.5rem;
    text-align: center;
    color: var(--nsa-text);
}

.nsa-community-montage.wp-block-gallery {
    max-width: 900px;
    margin: 0 auto 3rem;
}

.nsa-community-montage .wp-block-image img {
    border-radius: 14px;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.nsa-join-heading .nsa-join-big {
    display: block;
    font-size: 1.4em;
    color: var(--nsa-accent);
}

.nsa-join-community p {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    color: var(--nsa-text-body);
}

.nsa-click-prompt {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--nsa-text-dim);
}


/* ── Sponsors row ───────────────────────────────────────────*/

.nsa-sponsors {
    background: var(--nsa-bg-strip);
    padding: 3rem 1.5rem;
    text-align: center;
    margin: 0 auto;
}

.nsa-sponsors-label {
    font-size: 0.8rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--nsa-text-dim);
    margin-bottom: 1.5rem;
}


/* ── Generic button-outline style used above ───────────────*/

.wp-block-button.is-style-outline .wp-block-button__link {
    border: 1px solid var(--nsa-accent-light);
    color: var(--nsa-accent-light);
    background: transparent;
    border-radius: 999px;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background: var(--nsa-accent);
    border-radius: 999px;
}



/* ════════════════════════════════════════════════════════════
   NSA SoCal — Membership page — Additional CSS
   Paste into Appearance → Customize → Additional CSS
   (Assumes the shared tokens from additional-css.css are already
   loaded — --nsa-bg, --nsa-accent, etc. If not, add that file too.)
   ════════════════════════════════════════════════════════════ */

.nsa-container-narrow {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 1.5rem;
    text-align: center;
}


/* ── Member hero ────────────────────────────────────────────*/

.nsa-member-hero {
    background: var(--nsa-bg, #0b0f1c);
    color: var(--nsa-text, #F4F5F8);
    padding: clamp(4rem, 10vh, 7rem) 1.5rem;
    text-align: center;
}

.nsa-member-hero h1 {
    font-size: clamp(2.2rem, 5vw, 4rem);
    line-height: 1.05;
}

.nsa-member-hero-lede {
    max-width: 620px;
    margin: 1.25rem auto 2rem;
    color: var(--nsa-text-body, #C3CADB);
    font-size: 1.05rem;
    line-height: 1.7;
}


/* ── What's Included ───────────────────────────────────────*/

.nsa-whats-included {
    background: var(--nsa-bg-strip, #0F1525);
    padding: 6rem 1.5rem;
    color: var(--nsa-text, #F4F5F8);
}

.nsa-benefits-grid {
    max-width: 1180px;
    margin: 3rem auto 0;
    gap: 1.5rem !important;
    align-items: flex-start;
}

.nsa-benefit-card {
    background: var(--nsa-bg-card, #17203A);
    border: 1px solid var(--nsa-hairline-strong, #2A3147);
    border-radius: 18px;
    padding: 2rem;
    flex: 1 1 320px;
    max-width: 360px;
}

.nsa-benefit-card p {
    color: var(--nsa-text-body, #C3CADB);
    font-size: 0.92rem;
    line-height: 1.6;
}


/* ── Price block ─────────────────────────────────────────────*/

.nsa-price-block {
    background: var(--nsa-bg, #0b0f1c);
    padding: 6rem 1.5rem;
    color: var(--nsa-text, #F4F5F8);
}

.nsa-price-card {
    background: var(--nsa-bg-card, #17203A);
    border: 1px solid var(--nsa-hairline-strong, #2A3147);
    border-radius: 24px;
    padding: 3rem 2rem;
    max-width: 480px;
    margin: 0 auto;
}

.nsa-price-eyebrow {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--nsa-accent-light, #FFB347);
}

.nsa-price-amount {
    margin: 0.75rem 0;
}

.nsa-price-currency {
    font-size: 1.5rem;
    vertical-align: top;
    color: var(--nsa-text-body, #C3CADB);
}

.nsa-price-figure {
    font-size: 3.5rem;
    font-weight: 800;
}

.nsa-price-period {
    font-size: 1rem;
    color: var(--nsa-text-body, #C3CADB);
}

.nsa-price-line {
    color: var(--nsa-text-body, #C3CADB);
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
}

.nsa-price-cta a {
    border-radius: 999px;
    padding: 0.9em 2em;
}

.nsa-price-foot {
    margin-top: 1.25rem;
    font-size: 0.85rem;
    color: var(--nsa-text-dim, #5C6582);
}

.nsa-price-foot a {
    color: var(--nsa-accent-light, #FFB347);
}

.nsa-price-aside {
    margin-top: 2rem;
    font-size: 0.9rem;
    color: var(--nsa-text-dim, #5C6582);
}

.nsa-price-aside a {
    color: var(--nsa-accent-light, #FFB347);
}


/* ── Academy upsell ─────────────────────────────────────────*/

.nsa-academy-upsell {
    background: var(--nsa-bg-strip, #0F1525);
    padding: 6rem 1.5rem;
    color: var(--nsa-text, #F4F5F8);
}

.nsa-academy-upsell p {
    color: var(--nsa-text-body, #C3CADB);
}

.nsa-academy-visual {
    aspect-ratio: 1/1;
    border-radius: 16px;
    overflow: hidden;
}

.nsa-academy-visual .nsa-stat-num {
    font-size: 4rem;
    font-weight: 800;
    color: #fff;
    margin: 0;
    line-height: 1;
}

.nsa-academy-visual .nsa-stat-label {
    color: #fff;
    font-weight: 600;
    margin: 0.25rem 0 0;
}

.nsa-academy-visual .nsa-stat-sub {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
    margin: 0.25rem 0 1.25rem;
}


/* ── Buttons/eyebrow/accent shared helpers, in case the home-page
   additional-css.css isn't already loaded on this page ───────*/

.nsa-eyebrow {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--nsa-accent-light, #FFB347);
    margin-bottom: 0.6rem;
}

.nsa-accent {
    color: var(--nsa-accent, #FF6B4A);
}

.nsa-lede {
    max-width: 640px;
    margin: 0 auto;
    color: var(--nsa-text-body, #C3CADB);
    font-size: 1rem;
    line-height: 1.7;
}

.wp-block-button.is-style-outline .wp-block-button__link {
    border: 1px solid var(--nsa-accent-light, #FFB347);
    color: var(--nsa-accent-light, #FFB347);
    background: transparent;
    border-radius: 999px;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background: var(--nsa-accent, #FF6B4A);
    border-radius: 999px;
}


/* ── Mobile ─────────────────────────────────────────────────*/

@media (max-width: 700px) {
    .nsa-benefit-card {
        flex-basis: 100%;
        max-width: 100%;
    }
    .nsa-price-card {
        padding: 2rem 1.5rem;
    }
    .nsa-price-figure {
        font-size: 2.75rem;
    }
}



/* ════════════════════════════════════════════════════════════
   NSA SoCal — About page — Additional CSS
   Paste into Appearance → Customize → Additional CSS
   Uses the same --nsa-* tokens as the home page. If the home-page
   additional-css.css :root block isn't already loaded on this page,
   uncomment and adjust the fallback :root below.
   ════════════════════════════════════════════════════════════ */


/*
:root {
  --nsa-bg: #0B0F1C; --nsa-bg-elevated: #131A2D; --nsa-bg-card: #17203A;
  --nsa-bg-strip: #0F1525; --nsa-accent: #FF6B4A; --nsa-accent-light: #FFB347;
  --nsa-hairline: #1F2638; --nsa-hairline-strong: #2A3147;
  --nsa-text: #F4F5F8; --nsa-text-body: #C3CADB; --nsa-text-dim: #8993AE;
}
*/

.nsa-container-narrow {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 1.5rem;
    text-align: center;
}

.nsa-eyebrow {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--nsa-accent-light, #FFB347);
    margin-bottom: 0.6rem;
}

.nsa-accent {
    color: var(--nsa-accent, #FF6B4A);
}

.nsa-lede {
    max-width: 640px;
    margin: 0 auto 1rem;
    color: var(--nsa-text-body, #C3CADB);
    font-size: 1rem;
    line-height: 1.7;
}

.wp-block-button.is-style-outline .wp-block-button__link {
    border: 1px solid var(--nsa-accent-light, #FFB347);
    color: var(--nsa-accent-light, #FFB347);
    background: transparent;
    border-radius: 999px;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background: var(--nsa-accent, #FF6B4A);
    border-radius: 999px;
}


/* ── Hero ───────────────────────────────────────────────────*/

.nsa-about-hero {
    background: var(--nsa-bg, #0B0F1C);
    color: var(--nsa-text, #F4F5F8);
    padding: 5rem 1.5rem 3.5rem;
    text-align: center;
}

.nsa-about-hero h1 {
    font-size: clamp(2.6rem, 7vw, 5.4rem);
    line-height: 0.96;
}

.nsa-about-tagline {
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--nsa-accent-light, #FFB347);
    margin: 0 auto 2rem;
}

.nsa-about-tagline .nsa-sep {
    opacity: 0.6;
    margin: 0 0.4em;
}

.nsa-about-hero-photo img {
    border-radius: 18px;
    aspect-ratio: 21/9;
    object-fit: cover;
}


/* ── Who we are ─────────────────────────────────────────────*/

.nsa-who-section {
    background: var(--nsa-bg, #0B0F1C);
    padding: 6rem 1.5rem;
    color: var(--nsa-text, #F4F5F8);
}

.nsa-who-section p {
    color: var(--nsa-text-body, #C3CADB);
}

.nsa-who-photo img {
    border-radius: 16px;
    aspect-ratio: 4/5;
    object-fit: cover;
}

.nsa-theme-callout {
    margin-top: 1.5rem;
    padding: 1.4rem 1.6rem;
    background: rgba(255, 179, 71, 0.10);
    border: 1px solid rgba(255, 179, 71, 0.28);
    border-radius: 12px;
}

.nsa-theme-line {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--nsa-text, #F4F5F8);
    margin: 0;
}


/* ── Mission/Vision + Pillars shared card grid ────────────────*/

.nsa-mvp-section {
    background: var(--nsa-bg, #0B0F1C);
    padding: 6rem 1.5rem;
    color: var(--nsa-text, #F4F5F8);
}

.nsa-mvp-grid.wp-block-columns {
    max-width: 900px;
    margin: 3rem auto 0;
    gap: 2rem;
}

.nsa-mvp-card,
.nsa-pillar-card {
    background: var(--nsa-bg-card, #17203A);
    border: 1px solid var(--nsa-hairline-strong, #2A3147);
    border-radius: 18px;
    padding: 2rem;
}

.nsa-mvp-card p,
.nsa-pillar-card p {
    color: var(--nsa-text-body, #C3CADB);
    font-size: 0.92rem;
}

.nsa-card-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--nsa-accent-light, #FFB347);
}


/* ── Pillars ─────────────────────────────────────────────────*/

.nsa-pillars-grid.wp-block-columns {
    max-width: 1100px;
    margin: 3rem auto 0;
    gap: 1rem;
}

.nsa-pillar-card {
    position: relative;
    text-align: center;
}

.nsa-ghost-num {
    position: absolute;
    top: 1rem;
    right: 1.1rem;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--nsa-accent-light, #FFB347);
    opacity: 0.5;
    margin: 0;
}

.nsa-pillar-name {
    font-weight: 600;
    color: var(--nsa-text, #F4F5F8);
    font-size: 1.05rem;
    margin: 0.5rem 0 0.5rem;
}

.nsa-pillar-desc {
    font-size: 0.9rem;
    opacity: 0.75;
    margin: 0;
}


/* ── Five levels ────────────────────────────────────────────*/

.nsa-levels-section {
    background: var(--nsa-bg-strip, #0F1525);
    padding: 6rem 1.5rem;
    color: var(--nsa-text, #F4F5F8);
}

.nsa-levels-grid {
    max-width: 1180px;
    margin: 3rem auto 0 !important;
    gap: 1rem !important;
    align-items: flex-start;
}

.nsa-level-card {
    background: var(--nsa-bg-card, #17203A);
    border: 1px solid var(--nsa-hairline-strong, #2A3147);
    border-radius: 16px;
    padding: 1.75rem 1.5rem;
    flex: 1 1 200px;
    max-width: 260px;
}

.nsa-level-num {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--nsa-accent-light, #FFB347);
    margin-bottom: 0.4rem;
}

.nsa-level-quote {
    font-size: 0.92rem;
    font-style: italic;
    color: var(--nsa-accent-light, #FFB347);
    border-left: 2px solid rgba(255, 179, 71, 0.5);
    padding-left: 0.7rem;
    margin: 0.6rem 0;
}

.nsa-level-card p:not(.nsa-level-num):not(.nsa-level-quote) {
    color: var(--nsa-text-body, #C3CADB);
    font-size: 0.88rem;
}


/* ── Programming ────────────────────────────────────────────*/

.nsa-programs-section {
    background: var(--nsa-bg, #0B0F1C);
    padding: 6rem 1.5rem;
    color: var(--nsa-text, #F4F5F8);
}

.nsa-programs-grid {
    max-width: 1180px;
    margin: 3rem auto 0 !important;
    gap: 1.5rem !important;
    align-items: flex-start;
}

.nsa-program-card {
    background: var(--nsa-bg-card, #17203A);
    border: 1px solid var(--nsa-hairline-strong, #2A3147);
    border-radius: 16px;
    padding: 2rem 1.8rem;
    flex: 1 1 300px;
    max-width: 360px;
}

.nsa-program-card p:not(.nsa-program-meta):not(.nsa-program-cta) {
    color: var(--nsa-text-body, #C3CADB);
    font-size: 0.93rem;
}

.nsa-program-meta {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--nsa-text-dim, #8993AE);
    margin-top: 1rem;
}

.nsa-program-cta a {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--nsa-accent-light, #FFB347);
    text-decoration: none;
}

.nsa-program-cta a:hover {
    text-decoration: underline;
}


/* ── Legacy & Leadership ───────────────────────────────────*/

.nsa-legacy-section {
    background: var(--nsa-bg, #0B0F1C);
    padding: 6rem 1.5rem;
    color: var(--nsa-text, #F4F5F8);
}

.nsa-legacy-section p {
    color: var(--nsa-text-body, #C3CADB);
}

.nsa-legacy-photo img {
    border-radius: 16px;
    aspect-ratio: 5/4;
    object-fit: cover;
}


/* ── CTA ────────────────────────────────────────────────────*/

.nsa-about-cta {
    background: var(--nsa-bg-strip, #0F1525);
    padding: 5rem 1.5rem 7rem;
    color: var(--nsa-text, #F4F5F8);
}

.nsa-about-cta h2 {
    font-size: clamp(2.2rem, 5vw, 3.6rem);
}

.nsa-about-cta p {
    color: var(--nsa-text-body, #C3CADB);
    font-size: 1.05rem;
    max-width: 640px;
    margin: 0 auto 1rem;
}


/* ── Mobile ─────────────────────────────────────────────────*/

@media (max-width: 700px) {
    .nsa-level-card,
    .nsa-program-card {
        flex-basis: 100%;
        max-width: 100%;
    }
}


/* contact page */

.nsa-contact-channels {
    position: relative;
    overflow: hidden;
    padding: 6rem 1.5rem;
    background: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(255, 179, 71, 0.12), transparent 65%),
    radial-gradient(ellipse 50% 50% at 80% 18%, rgba(255, 107, 74, 0.10), transparent 70%),
    #0F1525;
    border-bottom: 1px solid #1F2638;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
}

.nsa-cc-inner {
    position: relative;
    max-width: 940px;
    margin: 0 auto;
    text-align: center;
}

.nsa-contact-channels .nsa-eyebrow {
    font-size: 1.15rem;
    font-weight: 600;
    color: #8993AE;
    text-transform: none;
    letter-spacing: normal;
}

.nsa-contact-channels h2 {
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1;
    color: #F4F5F8;
    margin: 0 0 1.4rem;
}

.nsa-contact-channels .nsa-accent {
    color: #FFB347;
}

.nsa-contact-channels .nsa-lede {
    font-size: 1rem;
    line-height: 1.7;
    color: #C3CADB;
    max-width: 620px;
    margin: 0 auto 1.6rem;
}

.nsa-cc-rule.wp-block-separator {
    width: 84px;
    height: 4px;
    margin: 0 auto 3rem;
    border: none;
    border-radius: 999px;
    background: linear-gradient(90deg, #E5482E, #FF6B4A, #FFB347);
    box-shadow: 0 4px 18px rgba(255, 107, 74, 0.45);
}

.nsa-cc-grid.wp-block-columns {
    gap: 1.2rem !important;
    text-align: left;
}

.nsa-cc-card {
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 14px;
    padding: 1.3rem 1.5rem;
    transition: border-color 0.3s ease, transform 0.3s ease;
}

.nsa-cc-card:hover {
    border-color: #FF6B4A;
    transform: translateY(-2px);
}

.nsa-cc-label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #FFB347;
    margin-bottom: 0.3rem;
}

.nsa-cc-value {
    font-size: 0.95rem;
    font-weight: 500;
    color: #F4F5F8;
    word-break: break-word;
    margin: 0;
}

.nsa-cc-value a {
    color: #F4F5F8;
    text-decoration: none;
    transition: color 0.2s ease;
}

.nsa-cc-value a:hover {
    color: #FFB347;
}

.nsa-cc-sub {
    font-size: 0.82rem;
    color: #8993AE;
    margin-top: 0.25rem;
}

@media (max-width: 700px) {
    .nsa-cc-grid.wp-block-columns {
        flex-wrap: wrap;
    }
    .nsa-cc-grid .wp-block-column {
        flex-basis: 100% !important;
    }
}



/* ════════════════════════════════════════════════════════════
   NSA SoCal — Cookie Declaration page — Additional CSS
   Paste into Appearance → Customize → Additional CSS
   Self-contained (hard-coded colors), matches the original design.
   ════════════════════════════════════════════════════════════ */

.nsa-legal-wrap {
    --lg-bg: #0B0F1C;
    --lg-bg-strip: #0F1525;
    --lg-bg-card: #17203A;
    --lg-accent: #FF6B4A;
    --lg-accent-light: #FFB347;
    --lg-hairline: #1F2638;
    --lg-hairline-strong: #2A3147;
    --lg-text: #F4F5F8;
    --lg-text-body: #C3CADB;
    --lg-text-dim: #8993AE;
    background: var(--lg-bg);
    color: var(--lg-text-body);
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
    line-height: 1.7;
}


/* ── Hero ───────────────────────────────────────────────────*/

.nsa-legal-hero {
    background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255, 107, 74, .18) 0%, rgba(255, 179, 71, .07) 45%, transparent 78%), var(--lg-bg);
    border-bottom: 1px solid var(--lg-hairline);
    padding: 84px 24px 56px;
    text-align: center;
}

.nsa-legal-hero .nsa-eyebrow {
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--lg-accent-light);
}

.nsa-legal-hero h1 {
    color: var(--lg-text);
    font-weight: 700;
    font-size: clamp(2.1rem, 5.2vw, 3.4rem);
    letter-spacing: -.03em;
    line-height: 1.04;
}

.nsa-legal-dates {
    font-size: .82rem;
    color: var(--lg-text-dim);
}

.nsa-legal-dates strong {
    color: var(--lg-text-body);
    font-weight: 600;
}


/* ── Body ───────────────────────────────────────────────────*/

.nsa-legal-body {
    max-width: 820px;
    margin: 0 auto;
    padding: 56px 24px 88px;
    color: var(--lg-text-body);
}

.nsa-legal-body h2 {
    color: var(--lg-text);
    font-weight: 700;
    font-size: clamp(1.3rem, 2.6vw, 1.7rem);
    letter-spacing: -.02em;
    line-height: 1.2;
    margin: 2.8rem 0 1rem;
    padding-top: 1.6rem;
    border-top: 1px solid var(--lg-hairline);
}

.nsa-legal-body>.wp-block-heading:first-of-type {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}

.nsa-legal-body h3 {
    color: var(--lg-text);
    font-weight: 600;
    font-size: 1.05rem;
}

.nsa-legal-body p {
    margin: 0 0 1.1rem;
    font-size: 1rem;
    color: var(--lg-text-body);
}

.nsa-legal-body ul,
.nsa-legal-body ol {
    margin: 0 0 1.2rem;
    padding-left: 1.3rem;
}

.nsa-legal-body li {
    margin: 0 0 .55rem;
    font-size: 1rem;
    color: var(--lg-text-body);
}

.nsa-legal-body strong {
    color: var(--lg-text);
}

.nsa-legal-body a {
    color: var(--lg-accent-light);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 179, 71, .3);
}

.nsa-legal-body a:hover {
    color: var(--lg-accent);
    border-bottom-color: var(--lg-accent);
}


/* ── Note box ───────────────────────────────────────────────*/

.nsa-legal-note {
    background: rgba(255, 179, 71, .06);
    border: 1px solid rgba(255, 179, 71, .28);
    border-left: 3px solid var(--lg-accent-light);
    border-radius: 12px;
    padding: 1.1rem 1.3rem;
    margin: 0 0 2.4rem;
    font-size: .93rem;
    color: var(--lg-text-body);
}

.nsa-legal-note strong {
    color: var(--lg-accent-light);
}

.nsa-legal-note p {
    margin: 0;
}


/* ── Table of contents ─────────────────────────────────────*/

.nsa-legal-toc {
    background: var(--lg-bg-strip);
    border: 1px solid var(--lg-hairline);
    border-radius: 14px;
    padding: 1.4rem 1.6rem;
    margin: 0 0 2.6rem;
}

.nsa-legal-toc-title {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--lg-text-dim);
    margin: 0 0 .9rem;
}

.nsa-legal-toc-list {
    margin: 0;
    padding-left: 1.2rem;
    columns: 2;
    column-gap: 2rem;
}

.nsa-legal-toc-list li {
    margin: 0 0 .5rem;
    font-size: .92rem;
}

@media (max-width: 560px) {
    .nsa-legal-toc-list {
        columns: 1;
    }
}


/* ── Contact card ───────────────────────────────────────────*/

.nsa-legal-contact {
    background: var(--lg-bg-card);
    border: 1px solid var(--lg-hairline-strong);
    border-radius: 14px;
    padding: 1.5rem 1.7rem;
    margin: 2.4rem 0 0;
}

.nsa-legal-contact h3 {
    margin-top: 0;
}

.nsa-legal-contact p {
    margin-bottom: .4rem;
    font-size: .95rem;
}


/* ── Cookie table ───────────────────────────────────────────*/

.nsa-legal-table.wp-block-table {
    overflow-x: auto;
    margin: 0 0 1.6rem;
    border: 1px solid var(--lg-hairline);
    border-radius: 12px;
}

.nsa-legal-table table {
    width: 100%;
    border-collapse: collapse;
    min-width: 640px;
    font-size: .9rem;
}

.nsa-legal-table thead th {
    background: var(--lg-bg-strip);
    color: var(--lg-accent-light);
    text-align: left;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--lg-hairline-strong);
}

.nsa-legal-table td {
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--lg-hairline);
    color: var(--lg-text-body);
    vertical-align: top;
}

.nsa-legal-table tr:last-child td {
    border-bottom: none;
}

.nsa-legal-table td strong {
    color: var(--lg-text);
}

.nsa-legal-table tr.nsa-cat-row td {
    background: rgba(255, 107, 74, .06);
    color: var(--lg-text);
    font-weight: 600;
    letter-spacing: -.01em;
}


/* ── Related policies ───────────────────────────────────────*/

.nsa-legal-related {
    margin: 2.4rem 0 0;
    padding-top: 1.8rem;
    border-top: 1px solid var(--lg-hairline);
}

.nsa-legal-related-title {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--lg-text-dim);
    margin: 0 0 .9rem;
}

.nsa-legal-related-links .wp-block-button__link {
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .02em;
    border-radius: 999px;
    padding: .5rem 1rem;
}

.nsa-legal-updated-foot {
    margin-top: 3rem;
    padding-top: 1.4rem;
    border-top: 1px solid var(--lg-hairline);
    font-size: .8rem;
    color: var(--lg-text-dim);
}


/* ── Shared button-outline style, in case not already loaded ──*/

.wp-block-button.is-style-outline .wp-block-button__link {
    border: 1px solid var(--lg-accent-light, #FFB347);
    color: var(--lg-accent-light, #FFB347);
    background: rgba(255, 179, 71, .06);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: var(--lg-accent-light, #FFB347);
    color: var(--lg-bg, #0B0F1C);
}


/* ════════════════════════════════════════════════════════════
   NSA SoCal — Events page — Additional CSS
   Paste into Appearance → Customize → Additional CSS
   ════════════════════════════════════════════════════════════ */


/* ---------- Page-level dark background ---------- */

body,
main#content,
.page-content {
    background-color: #0B0F1C !important;
}

main#content>.page-header {
    display: none !important;
}


/* ---------- Hero ---------- */

.nsa-ev-hero {
    background: linear-gradient(180deg, rgba(255, 107, 74, 0.08), transparent 65%), #0B0F1C;
    padding: 72px 24px 44px;
    text-align: center;
}

.nsa-ev-hero-inner {
    max-width: 760px;
    margin: 0 auto;
}

.nsa-ev-hero-eyebrow {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.75rem;
    font-weight: 600;
    color: #FF6B4A;
}

.nsa-ev-hero-title {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    letter-spacing: -0.02em;
    font-size: clamp(2.1rem, 5vw, 3.3rem);
    color: #FFFFFF;
    margin: 10px 0 14px;
}

.nsa-ev-hero-subtitle {
    font-family: 'Inter', sans-serif;
    color: #A9AFC2;
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 600px) {
    .nsa-ev-hero {
        padding: 52px 20px 32px;
    }
}


/* ---------- General text/heading colors on this page ---------- */

.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5 {
    color: #F4F6FB !important;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
}

.page-content p,
.page-content li,
.page-content span {
    color: #A9AFC2 !important;
    font-family: 'Inter', sans-serif !important;
}

.page-content strong {
    color: #F4F6FB !important;
}


/* ---------- Event Espresso: event card ---------- */

.espresso_events {
    background: #121829 !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    padding: 28px !important;
    max-width: 1200px !important;
    margin: 0 auto 24px !important;
    box-sizing: border-box !important;
}

.espresso-event-header-dv {
    display: flex !important;
    align-items: flex-start !important;
    gap: 24px !important;
    margin-bottom: 20px !important;
}

.ee-event-img-dv {
    flex-shrink: 0 !important;
}

.ee-event-img {
    border-radius: 12px !important;
    display: block !important;
}

@media (max-width: 640px) {
    .espresso-event-header-dv {
        flex-direction: column !important;
    }
}

.entry-title .ee-event-header-lnk {
    color: #F4F6FB !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
    text-decoration: none !important;
}

.entry-title .ee-event-header-lnk:hover {
    color: #FF6B4A !important;
}

.event-datetimes h3 {
    font-family: 'Inter', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    color: #FFB347 !important;
    margin-bottom: 12px !important;
}

.ee-rem-dates-list {
    background: transparent !important;
    box-sizing: border-box;
    margin: 0 0 0rem !important;
}

.ee-ical-sbmt {
    font-size: 2.25rem !important;
}

.ee-ical-sbmt {
    margin-left: 10px !important;
}

.ee-rem-date__wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    margin-bottom: 8px !important;
}

.ee-rem-date__stripe {
    width: 4px !important;
    align-self: stretch !important;
    background: #FF6B4A !important;
    border-radius: 4px !important;
}

.ee-rem-date__date {
    text-align: center !important;
    min-width: 48px !important;
}

.ee-rem-date__date--day {
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    color: #F4F6FB !important;
    line-height: 1 !important;
}

.ee-rem-date__date--month {
    font-size: 0.72rem !important;
    text-transform: uppercase !important;
    color: #FFB347 !important;
    letter-spacing: 0.06em !important;
}

.ee-rem-date__time {
    display: flex !important;
    gap: 6px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.88rem !important;
    color: #C7CCDA !important;
}

.ee-ical-sbmt {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 8px !important;
}

.ticket-selector-submit-btn.view-details-btn {
    background: #FF6B4A !important;
    color: #0B0F1C !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 12px 28px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    cursor: pointer !important;
    margin-top: 12px !important;
}

.ticket-selector-submit-btn.view-details-btn:hover {
    background: #E5482E !important;
}


/* ---------- West Coast Alliance section ---------- */

.nsa-wca-section {
    max-width: 1200px !important;
    margin: 0 auto 40px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}

.nsa-wca-heading {
    color: #F4F6FB !important;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.8rem !important;
    margin-bottom: 16px !important;
}

.nsa-wca-events-heading {
    margin-top: 32px !important;
}

.nsa-wca-text {
    color: #A9AFC2 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    margin-bottom: 28px !important;
}

.nsa-wca-text a {
    color: #FF6B4A !important;
    text-decoration: underline !important;
}

.nsa-wca-text a:hover {
    color: #FFB347 !important;
}


/* Gallery block used for the logo grid — style each figure as a white card */

.nsa-wca-logo-grid.wp-block-gallery {
    gap: 24px !important;
}

.nsa-wca-logo-card {
    background: #FFFFFF !important;
    border-radius: 12px !important;
    padding: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 100px !important;
    box-sizing: border-box !important;
}

.nsa-wca-logo-card img {
    max-width: 100% !important;
    max-height: 80px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
}

@media (max-width: 600px) {
    .nsa-wca-logo-grid.wp-block-gallery {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}


/* ---------- Calendar embed ---------- */

.nsa-calendar-embed-wrap {
    background: #121829 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    max-width: 1200px !important;
    margin: 0 auto 24px !important;
}

.nsa-calendar-embed-wrap iframe {
    border-radius: 10px !important;
    max-width: 100% !important;
    display: block !important;
    width: 100%;
}


/* ════════════════════════════════════════════════════════════
   NSA SoCal — Leadership & Committee Interest page — Additional CSS
   Paste into Appearance → Customize → Additional CSS
   ════════════════════════════════════════════════════════════ */

.nsa-container-narrow {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 1.5rem;
    text-align: center;
}

.nsa-eyebrow {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--nsa-accent-light, #FFB347);
    margin-bottom: 0.6rem;
}

.nsa-accent {
    color: var(--nsa-accent, #FF6B4A);
}

.nsa-lede {
    max-width: 640px;
    margin: 0 auto 1rem;
    color: var(--nsa-text-body, #C3CADB);
    font-size: 1rem;
    line-height: 1.7;
}

.wp-block-button .wp-block-button__link {
    border-radius: 999px;
    background: var(--nsa-accent, #FF6B4A);
}


/* ── Hero ───────────────────────────────────────────────────*/

.nsa-lc-hero {
    background: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(255, 179, 71, 0.14), transparent 70%),
    radial-gradient(ellipse 40% 40% at 80% 30%, rgba(255, 107, 74, 0.10), transparent 70%),
    var(--nsa-bg, #0B0F1C);
    padding: 5rem 1.5rem 4rem;
    border-bottom: 1px solid var(--nsa-hairline, #1F2638);
    color: var(--nsa-text, #F4F5F8);
}

.nsa-lc-hero h1 {
    font-size: clamp(2.4rem, 6.5vw, 4.8rem);
    line-height: 1;
}

.nsa-lc-eyebrow-pill {
    display: block;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255, 179, 71, 0.10);
    border: 1px solid rgba(255, 179, 71, 0.32);
    color: var(--nsa-accent-light, #FFB347);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    padding: 0.5rem 1.05rem;
    border-radius: 999px;
    margin-bottom: 1.6rem;
    margin: 10px auto !important;
    width: fit-content;
}

.nsa-lc-cta-meta {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--nsa-text-dim, #8993AE);
    margin-top: 0.7rem;
}

.nsa-lc-why-strip {
    max-width: 900px;
    margin: 0 auto 1rem !important;
    gap: 1rem !important;
}

.nsa-lc-why {
    background: var(--nsa-bg-card, #17203A);
    border: 1px solid var(--nsa-hairline-strong, #2A3147);
    border-radius: 14px;
    padding: 1.4rem 1.2rem;
    text-align: center;
    flex: 1 1 260px;
    max-width: 300px;
}

.nsa-lc-why h3 {
    font-size: 0.95rem;
    margin-bottom: 0.5rem;
}

.nsa-lc-why p {
    font-size: 0.86rem;
    color: var(--nsa-text-body, #C3CADB);
    margin: 0;
}


/* ── Form section ───────────────────────────────────────────*/

.nsa-lc-form-section {
    background: var(--nsa-bg-strip, #0F1525);
    padding: 5rem 1.5rem;
    border-bottom: 1px solid var(--nsa-hairline, #1F2638);
    color: var(--nsa-text, #F4F5F8);
}

.nsa-lc-form-inner {
    max-width: 820px;
    margin: 0 auto;
}

.nsa-lc-form-inner h2 {
    font-size: clamp(1.7rem, 3.2vw, 2.2rem);
}

.nsa-lc-form-wrap {
    background: var(--nsa-bg-card, #17203A);
    border: 1px solid var(--nsa-hairline-strong, #2A3147);
    border-radius: 16px;
    padding: 1.2rem;
    position: relative;
    overflow: hidden;
    margin-top: 2rem;
}

.nsa-lc-form-wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--nsa-accent, #FF6B4A) 0%, var(--nsa-accent-light, #FFB347) 100%);
}

.nsa-lc-form-wrap iframe {
    display: block;
    width: 100%;
    border: 0;
    border-radius: 10px;
    background: #fff;
    height: 1400px;
}

@media (max-width: 720px) {
    .nsa-lc-form-wrap iframe {
        height: 1600px;
    }
}

.nsa-lc-form-fallback {
    margin-top: 1.6rem;
    padding: 1rem 1.2rem;
    background: var(--nsa-bg-elevated, #131A2D);
    border: 1px dashed var(--nsa-hairline-strong, #2A3147);
    border-radius: 12px;
    font-size: 0.88rem;
    color: var(--nsa-text-dim, #8993AE);
}

.nsa-lc-form-fallback a {
    color: var(--nsa-accent-light, #FFB347);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 179, 71, 0.4);
}

.nsa-lc-form-fallback a:hover {
    border-bottom-color: var(--nsa-accent-light, #FFB347);
}


/* ── Got questions ─────────────────────────────────────────*/

.nsa-lc-questions {
    background: var(--nsa-bg, #0B0F1C);
    padding: 4rem 1.5rem;
    color: var(--nsa-text, #F4F5F8);
}

.nsa-lc-questions p {
    color: var(--nsa-text-body, #C3CADB);
    font-size: 0.98rem;
}

.nsa-lc-questions a {
    color: var(--nsa-accent-light, #FFB347);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 179, 71, 0.4);
}

.nsa-lc-questions a:hover {
    border-bottom-color: var(--nsa-accent-light, #FFB347);
}



/* NSA SoCal Member Vault — Gutenberg block styling
 * Paste into custom-style.css or enqueue as a separate stylesheet.
 */


body,
.site-main,
.page-content,
.entry-content {
    background: var(--bg)!important;
    color: var(--text-body)!important
}

.page-header,
.entry-title,
.page-header .entry-title {
    display: none!important
}

.wp-block-group,
.wp-block-columns,
.wp-block-column {
    box-sizing: border-box
}

.vault-hero,
.quick-actions,
.cal-section,
.resources,
.espeakers-section,
.regs-section,
.mission-section,
.newsletter-section {
    width: 100%
}

.vault-hero {
    background: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(255, 179, 71, .14), transparent 70%), radial-gradient(ellipse 40% 40% at 80% 20%, rgba(255, 107, 74, .10), transparent 70%), var(--bg);
    text-align: center;
    padding: 5rem 1.5rem 4rem;
    border-bottom: 1px solid var(--hairline);
    position: relative;
    overflow: hidden
}

.vault-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(to right, rgba(255, 179, 71, .04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255, 179, 71, .04) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse 70% 70% at 50% 30%, #000 30%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 30%, #000 30%, transparent 75%);
    pointer-events: none
}

.vault-hero>* {
    position: relative;
    z-index: 1
}

.container-narrow {
    max-width: 820px;
    margin: 0 auto!important;
    padding: 0 1.5rem
}

.members-only-badge {
    display: inline-flex!important;
    align-items: center;
    gap: .5rem;
    background: var(--accent-soft);
    border: 1px solid rgba(255, 179, 71, .32);
    color: var(--accent-light);
    font-family: var(--display);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    padding: .45rem 1rem;
    border-radius: 999px;
    margin: 0 auto 1.5rem!important
}

.members-only-badge .dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent-light);
    box-shadow: 0 0 12px rgba(255, 179, 71, .7)
}

.vault-hero h1 {
    font-family: var(--display);
    font-size: clamp(2.4rem, 6.5vw, 4.8rem);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: .98;
    color: var(--text);
    margin: 0 0 1.4rem
}

.accent {
    color: var(--accent-light)
}

.vault-hero .lede {
    max-width: 620px;
    margin: 0 auto;
    font-size: 1.08rem;
    line-height: 1.65;
    color: var(--text-body)
}

.quick-actions {
    background: var(--bg);
    border-bottom: 1px solid var(--hairline);
    padding: 5rem 1.5rem
}

.section-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 4rem!important;
    padding: 0 1.5rem
}

.section-head .eyebrow,
.eyebrow {
    font-family: var(--display);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--accent-light);
    margin: 0 0 1rem
}

.section-head h2 {
    font-family: var(--display);
    font-size: clamp(2.4rem, 6vw, 4.8rem);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: .95;
    color: var(--text);
    margin: 0 0 1.5rem
}

.section-head .lede {
    font-size: 1.05rem;
    line-height: 1.65;
    color: var(--text-body);
    max-width: 620px;
    margin: 0 auto
}

.actions-grid {
    max-width: 1180px;
    margin: 0 auto!important;
    gap: 1.2rem
}

.actions-grid>.wp-block-column {
    flex-basis: 25%!important;
    margin: 0!important
}

.action-card {
    height: 100%;
    background: var(--bg-card);
    border: 1px solid var(--hairline-strong);
    border-radius: 16px;
    padding: 1.6rem 1.4rem;
    position: relative;
    transition: border-color .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease)
}

.action-card:hover {
    transform: translateY(-3px);
    border-color: var(--accent);
    box-shadow: 0 12px 32px rgba(255, 107, 74, .18)
}

.action-card:after {
    content: "→";
    position: absolute;
    top: 1.4rem;
    right: 1.4rem;
    color: var(--text-very-dim);
    font-size: 1.1rem
}

.action-card h4 {
    font-family: var(--display);
    font-size: 1.02rem;
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--text);
    margin: 0 0 .8rem
}

.action-card p {
    font-size: .85rem;
    color: var(--text-dim);
    line-height: 1.5
}

.action-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--accent-soft);
    border: 1px solid rgba(255, 179, 71, .28);
    display: flex!important;
    align-items: center;
    justify-content: center;
    color: var(--accent-light)!important;
    font-weight: 700;
    margin: 0 0 1rem!important
}

.card-link .wp-block-button__link {
    background: none!important;
    color: var(--accent-light)!important;
    padding: 0!important;
    text-transform: uppercase;
    font-size: .78rem;
    letter-spacing: .08em
}

.card-link {
    margin-top: auto!important
}

.cal-section {
    background: var(--bg-strip);
    border-bottom: 1px solid var(--hairline);
    padding: 5rem 1.5rem
}

.cal-wrap {
    max-width: 1180px;
    margin: 0 auto!important;
    gap: 3.5rem
}

.cal-wrap>.wp-block-column {
    margin: 0!important
}

.cal-text h2 {
    font-family: var(--display);
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1;
    color: var(--text);
    margin: 0 0 1.4rem
}

.cal-text p {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--text-body);
    margin: 0 0 1rem
}

.cal-options {
    display: grid!important;
    grid-template-columns: 1fr 1fr;
    gap: .9rem
}

.cal-option {
    background: var(--bg-card);
    border: 1px solid var(--hairline-strong);
    border-radius: 14px;
    padding: 1.4rem 1.3rem;
    transition: border-color .25s var(--ease), transform .25s var(--ease)
}

.cal-option:hover {
    border-color: var(--accent);
    transform: translateY(-2px)
}

.cal-option-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--accent-soft);
    border: 1px solid rgba(255, 179, 71, .28);
    display: flex!important;
    align-items: center;
    justify-content: center;
    color: var(--accent-light)!important;
    margin: 0 0 .8rem!important
}

.cal-option h5 {
    font-family: var(--display);
    font-size: .95rem;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 .6rem
}

.cal-option p {
    font-size: .83rem;
    color: var(--text-dim);
    line-height: 1.5
}

.text-link .wp-block-button__link {
    background: none!important;
    color: var(--accent-light)!important;
    padding: 0!important;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase
}

.resources {
    background: var(--bg);
    border-bottom: 1px solid var(--hairline);
    padding: 6rem 1.5rem
}

.res-grid {
    max-width: 1180px;
    margin: 0 auto!important;
    gap: 1.5rem
}

.res-grid>.wp-block-column {
    margin: 0!important;
    flex-basis: calc(50% - .75rem)!important
}

.res-grid>.res-full {
    flex-basis: 100%!important
}

.res-card {
    height: 100%;
    background: var(--bg-card);
    border: 1px solid var(--hairline-strong);
    border-radius: 18px;
    padding: 2.2rem 2rem;
    position: relative;
    overflow: hidden;
    transition: border-color .3s var(--ease), transform .3s var(--ease)
}

.res-card:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, var(--accent), var(--accent-warm));
    opacity: .85
}

.res-card:hover {
    border-color: var(--accent);
    transform: translateY(-2px)
}

.res-card h3 {
    font-family: var(--display);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -.02em;
    color: var(--text);
    margin: 0 0 1rem;
    line-height: 1.15
}

.res-card p,
.res-card li {
    font-size: .95rem;
    line-height: 1.65;
    color: var(--text-body)
}

.res-card ul {
    margin: 0 0 1.2rem;
    padding-left: 1.2rem
}

.res-card li {
    margin-bottom: .7rem
}

.res-card a.inline {
    color: var(--accent-light);
    font-weight: 600;
    border-bottom: 1px solid rgba(255, 179, 71, .3)
}

.res-card strong {
    color: var(--text);
    font-weight: 600
}

.callout-code {
    display: inline-block;
    font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
    background: var(--accent-soft);
    border: 1px dashed rgba(255, 179, 71, .45);
    color: var(--accent-light);
    padding: .25rem .7rem;
    border-radius: 6px;
    font-size: .88rem;
    letter-spacing: .05em
}

.wca-pills {
    display: flex!important;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 1.1rem 0 0!important
}

.wca-pills .wp-block-button__link {
    font-size: .8rem;
    font-weight: 500;
    padding: .45rem .95rem;
    border-radius: 999px;
    background: var(--bg-elevated)!important;
    border: 1px solid var(--hairline-strong);
    color: var(--text-body)!important
}

.wca-pills .wp-block-button__link:hover {
    border-color: var(--accent);
    color: var(--accent-light)!important;
    background: var(--accent-soft)!important
}

.espeakers-section {
    background: var(--bg-strip);
    border-bottom: 1px solid var(--hairline);
    padding: 6rem 1.5rem
}

.steps-wrap {
    max-width: 980px;
    margin: 0 auto!important
}

.steps-intro {
    text-align: center;
    margin-bottom: 3rem!important
}

.steps-intro h2 {
    font-family: var(--display);
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1;
    color: var(--text);
    margin: 0 0 1.2rem
}

.steps-intro p {
    font-size: 1.02rem;
    line-height: 1.65;
    color: var(--text-body);
    max-width: 660px;
    margin: 0 auto
}

.steps-account-note {
    color: var(--text-body);
    margin: 0 auto 2rem!important
}

.steps-account-note a,
.step-body a {
    color: var(--accent-light);
    font-weight: 600;
    border-bottom: 1px solid rgba(255, 179, 71, .3)
}

.steps-stack {
    display: grid!important;
    gap: 1rem
}

.step {
    background: var(--bg-card);
    border: 1px solid var(--hairline-strong);
    border-radius: 14px;
    padding: 1.3rem 1.6rem 1.3rem 1.3rem;
    display: grid!important;
    grid-template-columns: auto 1fr;
    gap: 1.1rem;
    align-items: start;
    transition: border-color .25s var(--ease)
}

.step:hover {
    border-color: var(--accent)
}

.step-num {
    font-family: var(--display);
    font-size: 1.1rem;
    font-weight: 700;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent), var(--accent-warm));
    color: var(--bg);
    display: flex;
    align-items: center;
    justify-content: center
}

.step-body {
    font-size: .95rem;
    line-height: 1.6;
    color: var(--text-body)
}

.step-body strong {
    color: var(--text);
    font-weight: 600
}

.steps-divider {
    text-align: center;
    font-family: var(--display);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .28em;
    color: var(--text-dim);
    text-transform: uppercase;
    margin: 1.8rem 0 .8rem!important;
    position: relative
}

.steps-divider:before,
.steps-divider:after {
    content: "";
    position: absolute;
    top: 50%;
    width: calc(50% - 70px);
    height: 1px;
    background: var(--hairline)
}

.steps-divider:before {
    left: 0
}

.steps-divider:after {
    right: 0
}

.regs-section {
    background: var(--bg);
    border-bottom: 1px solid var(--hairline);
    padding: 6rem 1.5rem
}

.regs-wrap {
    max-width: 820px;
    margin: 0 auto!important
}

.regs-card {
    background: linear-gradient(180deg, var(--bg-card), var(--bg-elevated));
    border: 1px solid var(--hairline-strong);
    border-radius: 18px;
    padding: 2.4rem 2rem;
    text-align: center;
    position: relative;
    overflow: hidden
}

.regs-card:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--accent), var(--accent-warm))
}

.regs-card h3 {
    font-family: var(--display);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--accent-light);
    margin: 0 0 1.5rem
}

.regs-card .button-primary .wp-block-button__link {
    background: linear-gradient(135deg, var(--accent), var(--accent-warm));
    color: #fff!important;
    border-radius: 999px;
    padding: 1rem 2rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 6px 20px rgba(255, 107, 74, .38)
}

.regs-card .button-primary .wp-block-button__link:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, var(--accent-strong), var(--accent));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 10px 32px rgba(255, 107, 74, .55)
}

.regs-card .espresso-my-events table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: .9rem
}

.regs-card .espresso-my-events th {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--text-dim);
    padding: 0 12px 12px;
    border-bottom: 1px solid var(--hairline)
}

.regs-card .espresso-my-events td {
    padding: 14px 12px;
    color: var(--text-body);
    border-bottom: 1px solid var(--hairline)
}

.regs-card .espresso-my-events a {
    color: var(--accent-light)
}

.regs-card .espresso-my-events-legend-container {
    display: none
}

.mission-section {
    background: var(--bg-strip);
    border-bottom: 1px solid var(--hairline);
    padding: 6rem 1.5rem;
    text-align: center
}

.mission-wrap {
    max-width: 760px;
    margin: 0 auto!important
}

.mission-section h2 {
    font-family: var(--display);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.25;
    color: var(--text);
    margin: 0 0 1.4rem
}

.mission-section p {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--text-body);
    margin: 0 0 1rem
}

.newsletter-section {
    background: var(--bg);
    padding: 6rem 1.5rem
}

.newsletter-wrap {
    max-width: 720px;
    margin: 0 auto!important;
    text-align: center
}

.newsletter-wrap h2 {
    font-family: var(--display);
    font-size: clamp(2rem, 4.5vw, 3rem);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1;
    color: var(--text);
    margin: 0 0 1.2rem
}

.newsletter-wrap p {
    font-size: 1rem;
    line-height: 1.65;
    color: var(--text-body);
    max-width: 540px;
    margin: 0 auto 2rem
}

.newsletter-form {
    display: flex;
    gap: .6rem;
    max-width: 520px;
    margin: 0 auto;
    flex-wrap: wrap;
    justify-content: center
}

.newsletter-form input[type=email] {
    flex: 1 1 280px;
    min-width: 0;
    background: var(--bg-card);
    border: 1px solid var(--hairline-strong);
    border-radius: 999px;
    padding: .95rem 1.4rem;
    color: var(--text);
    font-family: var(--body);
    font-size: .95rem
}

.newsletter-form input[type=email]:focus {
    outline: none;
    border-color: var(--accent-light);
    background: var(--bg-elevated)
}

.newsletter-form button {
    background: linear-gradient(135deg, var(--accent), var(--accent-warm));
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: .95rem 2rem;
    font-family: var(--body);
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 6px 20px rgba(255, 107, 74, .38)
}

.newsletter-success {
    display: none;
    background: var(--accent-soft);
    border: 1px solid rgba(255, 179, 71, .32);
    color: var(--accent-light);
    padding: 1rem 1.4rem;
    border-radius: 12px;
    margin-top: 1.2rem;
    font-size: .95rem
}

@media(max-width:980px) {
    .actions-grid {
        flex-wrap: wrap
    }
    .actions-grid>.wp-block-column {
        flex-basis: calc(50% - .6rem)!important
    }
    .cal-wrap {
        flex-wrap: wrap
    }
    .cal-wrap>.wp-block-column {
        flex-basis: 100%!important
    }
    .res-grid {
        flex-wrap: wrap
    }
    .res-grid>.wp-block-column,
    .res-grid>.res-full {
        flex-basis: 100%!important
    }
}

@media(max-width:820px) {
    .cal-options {
        grid-template-columns: 1fr
    }
}

@media(max-width:560px) {
    .actions-grid>.wp-block-column {
        flex-basis: 100%!important
    }
    .actions-grid {
        max-width: 460px
    }
    .cal-options {
        grid-template-columns: 1fr
    }
    .vault-hero {
        padding-top: 4rem
    }
    .resources,
    .espeakers-section,
    .regs-section,
    .newsletter-section,
    .mission-section {
        padding-top: 4rem;
        padding-bottom: 4rem
    }
}


/* NSA SoCal Past Presidents — external stylesheet */

.pp-video-wrap {
    overflow: visible !important;
    height: auto !important;
}

.pp-video-placeholder {
    height: auto !important;
    aspect-ratio: auto !important;
    padding: 0 !important;
    overflow: hidden;
}

.pp-tribute-photo img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: inherit;
}

.pp-video-caption {
    margin-top: 14px;
}

.pp-video-caption .pp-cap-name {
    font-family: var(--display, -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--text, #F4F5F8);
    line-height: 1.2;
}

.pp-video-caption .pp-cap-role {
    display: block;
    margin-top: 4px;
    font-size: .72rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--accent-light, #FFB347);
}

.pp-hero,
.pp-video-section,
.pp-hall,
.pp-help {
    box-sizing: border-box;
}

.pp-card-photo img {
    display: block;
    width: 100%;
    height: auto;
}

.pp-card-body {
    display: block;
}

.pp-card-name,
.pp-card-years,
.pp-cap-name,
.pp-cap-role,
.num,
.label {
    margin-top: 0;
    margin-bottom: 0;
}

.pp-card-years {
    color: var(--accent-light, #FFB347);
}

.pp-card.reveal,
.reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .7s var(--ease, cubic-bezier(.22, 1, .36, 1)), transform .7s var(--ease, cubic-bezier(.22, 1, .36, 1));
}

.reveal.visible {
    opacity: 1;
    transform: none;
}

.delay-1 {
    transition-delay: .08s;
}

.delay-2 {
    transition-delay: .16s;
}

.delay-3 {
    transition-delay: .24s;
}

@media (prefers-reduced-motion: reduce) {
    .reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}


.page-id-12 .entry-content {
    padding: 0 5%;
}

/* ════════════════════════════════════════════════════════════
   NSA SoCal — Podcast / In The Room page — Additional CSS
   Paste into Appearance → Customize → Additional CSS
   ════════════════════════════════════════════════════════════ */


/* ── Shared helpers ─────────────────────────────────────────*/

.nsa-section-inner {
    max-width: 960px;
    margin: 0 auto;
}

.nsa-section-label {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #D4B07A;
    margin-bottom: 0.6rem;
}

.nsa-accent {
    color: #FFB347;
}

.nsa-card-link a {
    color: #FFB347;
    font-weight: 600;
    font-size: 0.78rem;
    text-decoration: none;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.nsa-card-link a:hover {
    color: #FF6B4A;
}

.nsa-divider.wp-block-separator {
    width: 40px;
    height: 2px;
    border: none;
    border-radius: 2px;
    background: linear-gradient(135deg, #FF6B4A, #FFB347);
    margin: 18px 0 28px;
}

.nsa-pull-quote.wp-block-quote {
    border-left: 3px solid #FF6B4A;
    padding: 18px 22px;
    background: #131A2D;
    border-radius: 0 10px 10px 0;
    margin-top: 24px;
}

.nsa-pull-quote p {
    font-style: italic;
    font-size: 1rem;
    color: #F4F5F8;
    line-height: 1.55;
    margin-bottom: 8px;
}

.nsa-pull-quote cite {
    font-size: 0.72rem;
    color: #FFB347;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}


/* ── Hero ───────────────────────────────────────────────────*/

.nsa-podcast-hero {
    padding: 72px 40px 60px;
    text-align: center;
    background: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(255, 107, 74, 0.10) 0%, transparent 70%), #0B0F1C;
    color: #F4F5F8;
}

.nsa-podcast-eyebrow {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #FFB347;
    margin-bottom: 1.25rem;
}

.nsa-podcast-hero h1 {
    font-size: clamp(2.8rem, 6vw, 5rem);
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.nsa-podcast-hero .nsa-lede {
    color: #C3CADB;
    max-width: 560px;
    margin: 1.4rem auto 0;
}

.nsa-podcast-pills .wp-block-button__link {
    border-radius: 40px;
    padding: 8px 16px;
    font-size: 0.78rem;
    font-weight: 500;
    border: 1px solid #2A3147;
    color: #C3CADB;
    background: #131A2D;
}

.nsa-podcast-pills .wp-block-button__link:hover {
    border-color: #FF6B4A;
    color: #F4F5F8;
}


/* ── YouTube section ─────────────────────────────────────────*/

.nsa-yt-section {
    background: #0F1525;
    padding: 72px 40px;
    color: #F4F5F8;
}

.nsa-yt-section p {
    color: #C3CADB;
}

.nsa-yt-card {
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 16px;
    padding: 32px 28px;
    position: relative;
    overflow: hidden;
}

.nsa-yt-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #FF0000;
}

.nsa-yt-brand-name {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
}

.nsa-yt-stats {
    gap: 12px !important;
    margin-bottom: 1.5rem;
}

.nsa-yt-stat {
    background: #131A2D;
    border: 1px solid #1F2638;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8993AE;
    text-align: center;
    margin: 0;
}

.nsa-yt-subscribe-btn .wp-block-button__link {
    background: #FF0000;
    color: #fff;
    border-radius: 8px;
    width: 100%;
    text-align: center;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
}

.nsa-yt-subscribe-btn .wp-block-button__link:hover {
    background: #CC0000;
}

.nsa-featured-pl {
    margin-top: 52px;
    padding-top: 40px;
    border-top: 1px solid #1F2638;
}

.nsa-featured-pl h3 {
    font-size: clamp(1.3rem, 2.5vw, 1.9rem);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.01em;
}

.nsa-pl-embed-wrap {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    background: #000;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #2A3147;
}

.nsa-pl-embed-wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}


/* ── Playlist grid ───────────────────────────────────────────*/

.nsa-playlists-section {
    background: #0F1525;
    padding: 72px 40px;
    color: #F4F5F8;
}

.nsa-pl-grid.wp-block-columns {
    gap: 24px;
    margin-top: 2rem;
}

.nsa-pl-card {
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 14px;
    overflow: hidden;
    padding: 0 0 1.2rem;
}

.nsa-pl-card .nsa-pl-embed-wrap {
    border-radius: 0;
    border: none;
    margin-bottom: 1rem;
}

.nsa-pl-card h4 {
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0 1.2rem;
}

.nsa-pl-card p {
    font-size: 0.73rem;
    color: #8993AE;
    line-height: 1.45;
    padding: 0 1.2rem;
}

.nsa-pl-card .nsa-card-link {
    padding: 0 1.2rem;
}


/* ── Content types ───────────────────────────────────────────*/

.nsa-content-types-section {
    background: #0B0F1C;
    padding: 72px 40px;
    color: #F4F5F8;
}

.nsa-ct-grid {
    max-width: 960px;
    margin: 2rem auto 0 !important;
    gap: 14px !important;
}

.nsa-ct-card {
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 12px;
    padding: 24px 18px;
    text-align: center;
    flex: 1 1 200px;
}

.nsa-ct-card h4 {
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.5rem;
}

.nsa-ct-card p {
    font-size: 0.76rem;
    color: #8993AE;
    line-height: 1.55;
    margin: 0;
}


/* ── About section ───────────────────────────────────────────*/

.nsa-about-section {
    background: #0F1525;
    padding: 72px 40px;
    color: #F4F5F8;
}

.nsa-about-section p {
    color: #C3CADB;
}

.nsa-listen-badges .wp-block-button__link {
    border: 1px solid #2A3147;
    color: #C3CADB;
    background: #131A2D;
    border-radius: 8px;
    font-size: 0.76rem;
    font-weight: 500;
    padding: 7px 13px;
}

.nsa-listen-badges .wp-block-button__link:hover {
    border-color: #FF6B4A;
    color: #F4F5F8;
}


/* ── CTA band ────────────────────────────────────────────────*/

.nsa-cta-band {
    background: #131A2D;
    border-top: 1px solid #1F2638;
    border-bottom: 1px solid #1F2638;
    padding: 60px 40px;
    text-align: center;
    color: #F4F5F8;
}

.nsa-cta-band h2 {
    font-size: clamp(1.6rem, 3vw, 2.6rem);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.01em;
}

.nsa-cta-band p {
    color: #8993AE;
    font-size: 0.95rem;
}

.nsa-cta-band .wp-block-button__link {
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.nsa-cta-band .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background: linear-gradient(135deg, #FF6B4A, #FFB347);
}

.nsa-cta-band .wp-block-button.is-style-outline .wp-block-button__link {
    border: 1px solid #2A3147;
    color: #C3CADB;
    background: transparent;
}

.nsa-cta-band .wp-block-button.is-style-outline .wp-block-button__link:hover {
    border-color: #FF6B4A;
    color: #F4F5F8;
    background: #17203A;
}


/* ── Mobile ─────────────────────────────────────────────────*/

@media (max-width: 768px) {
    .nsa-podcast-hero,
    .nsa-yt-section,
    .nsa-playlists-section,
    .nsa-content-types-section,
    .nsa-about-section,
    .nsa-cta-band {
        padding: 52px 20px;
    }
    .nsa-ct-card {
        flex-basis: 45%;
    }
    .nsa-featured-pl {
        margin-top: 36px;
        padding-top: 28px;
    }
}

@media (max-width: 480px) {
    .nsa-ct-card {
        flex-basis: 100%;
    }
}


/* ════════════════════════════════════════════════════════════
   NSA SoCal — Cookie Declaration page — Additional CSS
   Paste into Appearance → Customize → Additional CSS
   Self-contained (hard-coded colors), matches the original design.
   ════════════════════════════════════════════════════════════ */

.nsa-legal-wrap {
    --lg-bg: #0B0F1C;
    --lg-bg-strip: #0F1525;
    --lg-bg-card: #17203A;
    --lg-accent: #FF6B4A;
    --lg-accent-light: #FFB347;
    --lg-hairline: #1F2638;
    --lg-hairline-strong: #2A3147;
    --lg-text: #F4F5F8;
    --lg-text-body: #C3CADB;
    --lg-text-dim: #8993AE;
    background: var(--lg-bg);
    color: var(--lg-text-body);
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
    line-height: 1.7;
}


/* ── Hero ───────────────────────────────────────────────────*/

.nsa-legal-hero {
    background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255, 107, 74, .18) 0%, rgba(255, 179, 71, .07) 45%, transparent 78%), var(--lg-bg);
    border-bottom: 1px solid var(--lg-hairline);
    padding: 84px 24px 56px;
    text-align: center;
}

.nsa-legal-hero .nsa-eyebrow {
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--lg-accent-light);
}

.nsa-legal-hero h1 {
    color: var(--lg-text);
    font-weight: 700;
    font-size: clamp(2.1rem, 5.2vw, 3.4rem);
    letter-spacing: -.03em;
    line-height: 1.04;
}

.nsa-legal-dates {
    font-size: .82rem;
    color: var(--lg-text-dim);
}

.nsa-legal-dates strong {
    color: var(--lg-text-body);
    font-weight: 600;
}


/* ── Body ───────────────────────────────────────────────────*/

.nsa-legal-body {
    max-width: 820px;
    margin: 0 auto;
    padding: 56px 24px 88px;
    color: var(--lg-text-body);
}

.nsa-legal-body h2 {
    color: var(--lg-text);
    font-weight: 700;
    font-size: clamp(1.3rem, 2.6vw, 1.7rem);
    letter-spacing: -.02em;
    line-height: 1.2;
    margin: 2.8rem 0 1rem;
    padding-top: 1.6rem;
    border-top: 1px solid var(--lg-hairline);
}

.nsa-legal-body>.wp-block-heading:first-of-type {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}

.nsa-legal-body h3 {
    color: var(--lg-text);
    font-weight: 600;
    font-size: 1.05rem;
}

.nsa-legal-body p {
    margin: 0 0 1.1rem;
    font-size: 1rem;
    color: var(--lg-text-body);
}

.nsa-legal-body ul,
.nsa-legal-body ol {
    margin: 0 0 1.2rem;
    padding-left: 1.3rem;
}

.nsa-legal-body li {
    margin: 0 0 .55rem;
    font-size: 1rem;
    color: var(--lg-text-body);
}

.nsa-legal-body strong {
    color: var(--lg-text);
}

.nsa-legal-body a {
    color: var(--lg-accent-light);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 179, 71, .3);
}

.nsa-legal-body a:hover {
    color: var(--lg-accent);
    border-bottom-color: var(--lg-accent);
}


/* ── Note box ───────────────────────────────────────────────*/

.nsa-legal-note {
    background: rgba(255, 179, 71, .06);
    border: 1px solid rgba(255, 179, 71, .28);
    border-left: 3px solid var(--lg-accent-light);
    border-radius: 12px;
    padding: 1.1rem 1.3rem;
    margin: 0 0 2.4rem;
    font-size: .93rem;
    color: var(--lg-text-body);
}

.nsa-legal-note strong {
    color: var(--lg-accent-light);
}

.nsa-legal-note p {
    margin: 0;
}


/* ── Table of contents ─────────────────────────────────────*/

.nsa-legal-toc {
    background: var(--lg-bg-strip);
    border: 1px solid var(--lg-hairline);
    border-radius: 14px;
    padding: 1.4rem 1.6rem;
    margin: 0 0 2.6rem;
}

.nsa-legal-toc-title {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--lg-text-dim);
    margin: 0 0 .9rem;
}

.nsa-legal-toc-list {
    margin: 0;
    padding-left: 1.2rem;
    columns: 2;
    column-gap: 2rem;
}

.nsa-legal-toc-list li {
    margin: 0 0 .5rem;
    font-size: .92rem;
}

@media (max-width: 560px) {
    .nsa-legal-toc-list {
        columns: 1;
    }
}


/* ── Contact card ───────────────────────────────────────────*/

.nsa-legal-contact {
    background: var(--lg-bg-card);
    border: 1px solid var(--lg-hairline-strong);
    border-radius: 14px;
    padding: 1.5rem 1.7rem;
    margin: 2.4rem 0 0;
}

.nsa-legal-contact h3 {
    margin-top: 0;
}

.nsa-legal-contact p {
    margin-bottom: .4rem;
    font-size: .95rem;
}


/* ── Cookie table ───────────────────────────────────────────*/

.nsa-legal-table.wp-block-table {
    overflow-x: auto;
    margin: 0 0 1.6rem;
    border: 1px solid var(--lg-hairline);
    border-radius: 12px;
}

.nsa-legal-table table {
    width: 100%;
    border-collapse: collapse;
    min-width: 640px;
    font-size: .9rem;
}

.nsa-legal-table thead th {
    background: var(--lg-bg-strip);
    color: var(--lg-accent-light);
    text-align: left;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--lg-hairline-strong);
}

.nsa-legal-table td {
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--lg-hairline);
    color: var(--lg-text-body);
    vertical-align: top;
}

.nsa-legal-table tr:last-child td {
    border-bottom: none;
}

.nsa-legal-table td strong {
    color: var(--lg-text);
}

.nsa-legal-table tr.nsa-cat-row td {
    background: rgba(255, 107, 74, .06);
    color: var(--lg-text);
    font-weight: 600;
    letter-spacing: -.01em;
}


/* ── Related policies ───────────────────────────────────────*/

.nsa-legal-related {
    margin: 2.4rem 0 0;
    padding-top: 1.8rem;
    border-top: 1px solid var(--lg-hairline);
}

.nsa-legal-related-title {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--lg-text-dim);
    margin: 0 0 .9rem;
}

.nsa-legal-related-links .wp-block-button__link {
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .02em;
    border-radius: 999px;
    padding: .5rem 1rem;
}

.nsa-legal-updated-foot {
    margin-top: 3rem;
    padding-top: 1.4rem;
    border-top: 1px solid var(--lg-hairline);
    font-size: .8rem;
    color: var(--lg-text-dim);
}


/* ── Shared button-outline style, in case not already loaded ──*/

.wp-block-button.is-style-outline .wp-block-button__link {
    border: 1px solid var(--lg-accent-light, #FFB347);
    color: var(--lg-accent-light, #FFB347);
    background: rgba(255, 179, 71, .06);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: var(--lg-accent-light, #FFB347);
    color: var(--lg-bg, #0B0F1C);
}



/* ════════════════════════════════════════════════════════════
   NSA SoCal — Video Vault page — Additional CSS
   Paste into Appearance → Customize → Additional CSS
   ════════════════════════════════════════════════════════════ */


/* ── Page-level dark background ─────────────────────────────*/

body {
    background-color: #0B0F1C !important;
}


/* ── Hero ───────────────────────────────────────────────────*/

.nsa-vv-hero {
    background: linear-gradient(180deg, rgba(255, 107, 74, 0.08), transparent 65%), #0B0F1C;
    padding: 72px 24px 44px;
    text-align: center;
}

.nsa-vv-hero-inner {
    max-width: 760px;
    margin: 0 auto;
}

.nsa-vv-eyebrow {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.75rem;
    font-weight: 600;
    color: #FF6B4A;
}

.nsa-vv-title {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    letter-spacing: -0.02em;
    font-size: clamp(2.1rem, 5vw, 3.3rem);
    color: #FFFFFF;
    margin: 10px 0 14px;
}

.nsa-vv-subtitle {
    font-family: 'Inter', sans-serif;
    color: #A9AFC2;
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 600px) {
    .nsa-vv-hero {
        padding: 52px 20px 32px;
    }
}


/* ── AIOVG plugin container ─────────────────────────────────*/

.elementor-shortcode,
#aiovg-6a331419d11371 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px 80px;
    box-sizing: border-box;
    display: block;
}


/* ── AIOVG search bar ───────────────────────────────────────*/

.aiovg-search-form-template-compact form {
    max-width: 480px;
    margin: 0 auto 44px;
    position: relative;
}

.aiovg-form-control {
    width: 100%;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #F4F6FB !important;
    border-radius: 999px !important;
    padding: 14px 52px 14px 22px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    box-sizing: border-box;
}

.aiovg-form-control::placeholder {
    color: #6E7488 !important;
}

.aiovg-form-control:focus {
    outline: none !important;
    border-color: #FF6B4A !important;
    box-shadow: 0 0 0 3px rgba(255, 107, 74, 0.18) !important;
}

.aiovg-button-submit,
.aiovg-button-reset {
    color: #FF6B4A !important;
    background: transparent !important;
    border: none !important;
}


/* ── AIOVG video grid ───────────────────────────────────────*/

.aiovg-section-videos.aiovg-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 28px !important;
}

@media (max-width: 1024px) {
    .aiovg-section-videos.aiovg-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .aiovg-section-videos.aiovg-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
}

@media (max-width: 480px) {
    .aiovg-section-videos.aiovg-grid {
        grid-template-columns: 1fr !important;
    }
}

.aiovg-item-video {
    width: auto !important;
    margin: 0 !important;
    background: #121829 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.aiovg-item-video:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 30px rgba(255, 107, 74, 0.18) !important;
    border-color: #FF6B4A !important;
}

.aiovg-svg-icon-play {
    transition: transform 0.25s ease;
    filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.6));
}

.aiovg-item-video:hover .aiovg-svg-icon-play {
    transform: scale(1.12);
}

.aiovg-caption {
    background: transparent !important;
    padding: 16px 18px !important;
}

.aiovg-title,
.aiovg-link-title {
    font-family: 'Inter', sans-serif !important;
    color: #F4F6FB !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
}

.aiovg-item-video:hover .aiovg-link-title {
    color: #FF6B4A !important;
}


/* ── AIOVG category tag ─────────────────────────────────────*/

.aiovg-category {
    margin-top: 8px !important;
}

.aiovg-category svg {
    color: #6E7488 !important;
    width: 14px !important;
    height: 14px !important;
}

.aiovg-link-category {
    font-family: 'Inter', sans-serif !important;
    color: #8B93A8 !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.aiovg-link-category:hover {
    color: #FFB347 !important;
}


/* ── AIOVG pagination ───────────────────────────────────────*/

.aiovg-pagination {
    margin-top: 48px !important;
    text-align: center;
}

.aiovg-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    margin: 0 4px;
    padding: 0 12px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    color: #C7CCDA;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease;
}

.aiovg-pagination .page-numbers:hover,
.aiovg-pagination .page-numbers.current {
    background: #FF6B4A !important;
    color: #0B0F1C !important;
}

.aiovg-pagination-info {
    color: #8B93A8 !important;
    font-family: 'Inter', sans-serif !important;
    margin-top: 10px !important;
}


/* ════════════════════════════════════════════════════════════
   NSA SoCal — Speakers Academy 2026–27 — Additional CSS
   Paste into Appearance → Customize → Additional CSS
   Scroll-reveal (.reveal) and heroBgFade animation removed.
   ════════════════════════════════════════════════════════════ */


/* ── Page base ──────────────────────────────────────────────*/

body {
    background: var(--ac-bg);
    color: var(--ac-text-body);
    font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
}


/* ── Hero ───────────────────────────────────────────────────*/

.nsa-ac-hero {
    min-height: calc(100vh - 115px) !important;
}

.nsa-ac-hero .wp-block-cover__inner-container {
    padding: 4.5rem 1.5rem 6rem;
}

.nsa-ac-kicker {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--ac-accent-light);
    margin-bottom: 1rem;
}

.nsa-ac-virtual-badge {
    display: block;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.95rem;
    background: linear-gradient(180deg, rgba(113, 134, 181, 0.22), rgba(113, 134, 181, 0.12));
    border: 1px solid var(--ac-accent);
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--ac-accent-light);
    margin: 2rem auto;
    width: fit-content;
}

.nsa-ac-hero-h1 {
    font-size: clamp(3.5rem, 11vw, 9rem) !important;
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 0.94;
    color: #fff;
}

.nsa-ac-year {
    display: block;
    font-weight: 300;
    color: var(--ac-text-dim);
    font-size: 0.45em;
    letter-spacing: -0.02em;
    margin-top: 0.4em;
}

.nsa-ac-subhead {
    font-size: clamp(1.6rem, 3.2vw, 2.6rem);
    line-height: 1.18;
    letter-spacing: -0.025em;
    color: #fff;
}

.nsa-ac-subhead em {
    font-style: normal;
    color: var(--ac-accent-light);
    display: block;
}

.nsa-ac-hero-desc {
    max-width: 52ch;
    margin: 0 auto;
    font-size: clamp(1rem, 1.25vw, 1.15rem);
    color: var(--ac-text-dim);
}

.nsa-ac-hero-desc strong {
    color: #fff;
}

.nsa-ac-meta-pills {
    gap: 0.75rem !important;
    margin-top: 2.8rem;
}

.nsa-ac-meta-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.5rem 1rem 0.5rem 0.5rem;
    background: rgba(15, 21, 37, 0.7);
    border: 1px solid var(--ac-hairline-strong);
    border-radius: 999px;
    backdrop-filter: blur(10px);
}

.nsa-ac-pill-label {
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ac-accent-light);
    background: rgba(113, 134, 181, 0.18);
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
}

.nsa-ac-pill-value {
    font-size: 0.85rem;
    font-weight: 600;
    color: #fff;
}

.nsa-ac-tertiary-link a {
    color: var(--ac-text-dim);
    font-size: 0.88rem;
    font-weight: 500;
}

.nsa-ac-tertiary-link a:hover {
    color: #fff;
}

.nsa-ac-btn-cohort .wp-block-button__link {
    padding: 0.85rem 1.35rem;
    font-size: 0.85rem;
    border-radius: 999px;
}

.nsa-ac-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background: linear-gradient(180deg, #7E94C2, #5D72A1);
    color: #fff;
}

.nsa-ac-hero .wp-block-button.is-style-outline .wp-block-button__link {
    border: 1px solid var(--ac-hairline-strong);
    color: #fff;
    background: transparent;
}


/* download-trigger inline button (used in hero and closing) */

button.download-trigger,
.download-trigger {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    color: var(--ac-text-dim) !important;
    cursor: pointer !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    text-decoration: underline !important;
    text-decoration-color: var(--ac-text-very-dim) !important;
    text-underline-offset: 4px !important;
    font-family: inherit !important;
    transition: color 0.2s !important;
}

button.download-trigger:hover,
.download-trigger:hover {
    color: var(--ac-accent-light) !important;
}


/* ── Sections ───────────────────────────────────────────────*/

.nsa-ac-promise,
.nsa-ac-cohorts,
.nsa-ac-outcomes,
.nsa-ac-testimonials,
.nsa-ac-included,
.nsa-ac-investment,
.nsa-ac-scholarship-wrap,
.nsa-ac-partners,
.nsa-ac-closing {
    padding: 7rem 1.5rem;
    border-top: 1px solid var(--ac-hairline);
    color: var(--ac-text-body);
}

.nsa-ac-cohorts,
.nsa-ac-outcomes,
.nsa-ac-included,
.nsa-ac-scholarship-wrap {
    background: var(--ac-bg-soft);
}

.nsa-ac-promise,
.nsa-ac-testimonials,
.nsa-ac-investment,
.nsa-ac-partners,
.nsa-ac-closing {
    background: var(--ac-bg);
}


/* ── Section head ──────────────────────────────────────────*/

.nsa-ac-promise h2,
.nsa-ac-cohorts h2,
.nsa-ac-outcomes h2,
.nsa-ac-testimonials h2,
.nsa-ac-included h2,
.nsa-ac-investment h2,
.nsa-ac-partners h2,
.nsa-ac-closing h2 {
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1.08;
    color: var(--ac-text);
}

.nsa-ac-promise h2 em,
.nsa-ac-cohorts h2 em,
.nsa-ac-outcomes h2 em,
.nsa-ac-testimonials h2 em,
.nsa-ac-included h2 em,
.nsa-ac-investment h2 em,
.nsa-ac-partners h2 em,
.nsa-ac-closing h2 em {
    font-style: normal;
    color: var(--ac-accent-light);
}

.nsa-lede {
    color: var(--ac-text-dim);
    font-size: clamp(1rem, 1.2vw, 1.15rem);
    line-height: 1.6;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

.nsa-lede strong {
    color: var(--ac-text);
}


/* ── Promise ───────────────────────────────────────────────*/

.nsa-ac-promise-grid {
    gap: 2.5rem !important;
}

.nsa-ac-promise-card {
    padding: 2.5rem 2.2rem;
    background: linear-gradient(180deg, var(--ac-bg-elevated), var(--ac-bg-soft));
    border: 1px solid var(--ac-hairline-strong);
    border-radius: 22px;
    position: relative;
    overflow: hidden;
}

.nsa-ac-promise-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--ac-accent), transparent);
    opacity: 0.5;
}

.nsa-ac-promise-tag {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ac-accent-light);
    background: rgba(113, 134, 181, 0.15);
    padding: 0.4rem 0.85rem;
    border-radius: 999px;
    margin-bottom: 1.5rem;
}

.nsa-ac-promise-card h2 {
    font-size: clamp(1.6rem, 2.6vw, 2.1rem);
    color: var(--ac-text);
    margin-bottom: 1.2rem;
}

.nsa-ac-promise-card p {
    color: var(--ac-text-body);
    font-size: 1rem;
    line-height: 1.6;
}

.nsa-ac-promise-tail {
    max-width: 56ch;
    margin: 3.5rem auto 0;
    font-size: clamp(1.1rem, 1.4vw, 1.3rem);
    color: var(--ac-text-dim);
    line-height: 1.5;
}


/* ── Cohorts ───────────────────────────────────────────────*/

.nsa-ac-cohorts-grid {
    gap: 1.5rem !important;
    margin-top: 3rem;
}

.nsa-ac-cohort-card {
    background: linear-gradient(180deg, var(--ac-bg-elevated), var(--ac-bg-soft));
    border: 1px solid var(--ac-hairline-strong);
    border-radius: 22px;
    padding: 3rem 2.5rem;
    position: relative;
    overflow: hidden;
}

.nsa-ac-cohort-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--ac-accent), transparent);
    opacity: 0.5;
}

.nsa-ac-cohort-number {
    font-size: clamp(4rem, 7vw, 6rem);
    font-weight: 200;
    line-height: 1;
    color: var(--ac-accent);
    letter-spacing: -0.04em;
    margin: 0 0 0.5rem;
}

.nsa-ac-cohort-name {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ac-text);
    margin: 0;
}

.nsa-ac-cohort-tagline {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ac-accent-light);
    margin: 0.4rem 0 1.5rem;
}

.nsa-ac-cohort-card>p {
    color: var(--ac-text-dim);
    font-size: 0.97rem;
    line-height: 1.6;
}

.nsa-ac-who-for {
    padding: 0.85rem 1rem;
    background: rgba(113, 134, 181, 0.08);
    border-left: 2px solid var(--ac-accent);
    border-radius: 0 8px 8px 0;
    font-size: 0.88rem;
    line-height: 1.5;
    color: var(--ac-text-body);
}

.nsa-ac-who-for span {
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ac-accent-light);
    margin-right: 0.45rem;
}


/* Session table */

tbody {
    border-bottom: none;
}

.nsa-ac-session-table {
    margin-top: 2rem;
}

.nsa-ac-session-table table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}

.nsa-ac-session-table td {
    padding: 0.95rem 0;
    border-bottom: 1px solid var(--ac-hairline);
    color: var(--ac-text);
    font-weight: 500;
}

.nsa-ac-session-table td:first-child {
    width: 110px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ac-text-dim);
}

.nsa-ac-session-table td.nsa-ac-lab {
    color: var(--ac-accent-light) !important;
}

.nsa-ac-session-table tr:last-child td {
    border-bottom: none;
}

.cohorts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

.cohort-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--accent), transparent);
    opacity: 0.5;
}

.cohort-card {
    background: linear-gradient(180deg, var(--bg-elevated), var(--bg-soft));
    border: 1px solid var(--hairline-strong);
    border-radius: 22px;
    padding: 3rem 2.5rem;
    transition: transform 0.4s var(--ease), border-color 0.3s var(--ease);
    position: relative;
    overflow: hidden;
}



/* ── Outcomes ──────────────────────────────────────────────*/

.nsa-ac-outcomes-list {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.nsa-ac-outcome {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2.5rem 0;
    border-top: 1px solid var(--ac-hairline);
    align-items: start;
}

.nsa-ac-outcome:last-child {
    border-bottom: 1px solid var(--ac-hairline);
}

.nsa-ac-outcome-num {
    font-size: 1.6rem;
    font-weight: 300;
    color: var(--ac-accent);
    letter-spacing: -0.02em;
    padding-top: 0.2rem;
    margin: 0;
}

.nsa-ac-outcome-content h3 {
    font-size: clamp(1.2rem, 1.7vw, 1.5rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--ac-text);
    margin: 0 0 0.6rem;
    line-height: 1.25;
}

.nsa-ac-outcome-content p {
    font-size: 1.02rem;
    line-height: 1.6;
    color: var(--ac-text-dim);
    max-width: 60ch;
    margin: 0 0 0.85rem;
}

.nsa-ac-outcome-content p:last-child {
    margin-bottom: 0;
}

@media (max-width: 600px) {
    .nsa-ac-outcome {
        grid-template-columns: 1fr;
        gap: 0.6rem;
    }
}


/* ── Testimonials ──────────────────────────────────────────*/

.nsa-ac-testimonials-hero {
    gap: 3rem !important;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
}

.nsa-ac-video-frame {
    position: relative;
    aspect-ratio: 16/9;
    border-radius: 18px;
    overflow: hidden;
    background: var(--ac-bg-elevated);
    border: 1px solid var(--ac-hairline-strong);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

.nsa-ac-video-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.nsa-ac-testimonial-quote.wp-block-quote {
    border-left: 2px solid var(--ac-accent);
    padding-left: 1.5rem;
}

.nsa-ac-testimonial-quote p {
    font-size: clamp(1.15rem, 1.6vw, 1.5rem);
    line-height: 1.4;
    letter-spacing: -0.015em;
    color: var(--ac-text);
    font-weight: 500;
}

.nsa-ac-testimonial-quote cite {
    font-size: 0.85rem;
    color: var(--ac-text-dim);
}

.nsa-ac-testimonials-grid {
    gap: 1.5rem !important;
    max-width: 1100px;
    margin: 4rem auto 0;
}

.nsa-ac-mini-caption {
    margin-top: 1rem;
    font-size: 0.85rem;
    color: var(--ac-text-dim);
}

.nsa-ac-mini-caption strong {
    display: block;
    color: var(--ac-text);
    font-weight: 600;
    margin-bottom: 0.2rem;
}


/* ── Included ──────────────────────────────────────────────*/

.nsa-ac-included-grid {
    max-width: 900px;
    margin: 3rem auto 0 !important;
    gap: 1.5rem !important;
}

.nsa-ac-included-card {
    padding: 1.6rem;
    background: rgba(15, 21, 37, 0.55);
    border: 1px solid var(--ac-hairline);
    border-radius: 14px;
    flex: 1 1 380px;
}

.nsa-ac-included-card p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--ac-text-body);
    margin: 0;
}

.nsa-ac-included-card strong {
    color: var(--ac-text);
    display: block;
    margin-bottom: 0.3rem;
}


/* ── Pricing ───────────────────────────────────────────────*/

.nsa-ac-pricing-grid {
    max-width: 1100px;
    margin: 3rem auto 0 !important;
    gap: 1.25rem !important;
    align-items: start !important;
}

.nsa-ac-price-card {
    background: var(--ac-bg-elevated);
    border: 1px solid var(--ac-hairline-strong);
    border-radius: 20px;
    padding: 2.25rem 1.75rem;
    flex: 1 1 300px;
    position: relative;
}

.nsa-ac-price-card-featured {
    border-color: var(--ac-accent);
    background: linear-gradient(180deg, rgba(113, 134, 181, 0.08), var(--ac-bg-elevated));
}

.nsa-ac-price-card-featured::before {
    content: "Best Value";
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(180deg, #7E94C2, #5D72A1);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
}

.nsa-ac-tier-label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ac-accent-light);
    margin-bottom: 0.75rem;
}

.nsa-ac-tier-name {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ac-text);
    margin: 0 0 0.3rem;
}

.nsa-ac-tier-sub {
    font-size: 0.82rem;
    color: var(--ac-text-dim);
    margin-bottom: 1.6rem;
}

.nsa-ac-price-rows {
    gap: 0.7rem !important;
    margin-top: 0.4rem;
}

.nsa-ac-price-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.7rem;
    padding: 0.8rem 0.9rem;
    background: rgba(11, 15, 28, 0.45);
    border: 1px solid var(--ac-hairline);
    border-radius: 12px;
}

.nsa-ac-price-who {
    font-size: 0.78rem;
    color: var(--ac-text-dim);
    line-height: 1.35;
    margin: 0;
}

.nsa-ac-price-who strong {
    display: block;
    color: var(--ac-text);
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 0.1rem;
}

.nsa-ac-price-amount {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--ac-text);
    letter-spacing: -0.02em;
    white-space: nowrap;
    margin: 0;
}

.nsa-ac-card-cta .wp-block-button__link {
    border-radius: 999px;
    border: 1px solid var(--ac-accent);
    color: #fff;
    background: transparent;
    font-size: 0.85rem;
    width: 100%;
    text-align: center;
    margin-top: 1.4rem;
}

.nsa-ac-card-cta .wp-block-button__link:hover {
    background: var(--ac-accent-soft);
    border-color: var(--ac-accent-light);
}

.nsa-ac-card-cta-primary .wp-block-button__link {
    background: linear-gradient(180deg, #7E94C2, #5D72A1);
    border-color: rgba(255, 255, 255, 0.08);
}

.nsa-ac-card-cta-primary .wp-block-button__link:hover {
    background: linear-gradient(180deg, #8FA3CC, #6B82B0);
}

.nsa-ac-pricing-note {
    max-width: 900px;
    margin: 1.8rem auto 0;
    font-size: 0.88rem;
    color: var(--ac-text-very-dim);
    line-height: 1.55;
}


/* ── Scholarship ────────────────────────────────────────────*/

.nsa-ac-scholarship-wrap {
    padding: 0 1.5rem 7rem;
}

.nsa-ac-scholarship {
    max-width: 760px;
    margin: 0 auto;
    padding: 2.25rem 2.4rem;
    background: linear-gradient(180deg, rgba(113, 134, 181, 0.10), var(--ac-bg-soft));
    border: 1px solid var(--ac-accent-strong);
    border-radius: 20px;
    text-align: center;
}

.nsa-ac-scholarship h3 {
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--ac-text);
    margin-bottom: 0.8rem;
}

.nsa-ac-scholarship .wp-block-button.is-style-outline .wp-block-button__link {
    border-color: var(--ac-accent-light);
    color: var(--ac-accent-light);
    border-radius: 999px;
    background: transparent;
}


/* ── Partners ──────────────────────────────────────────────*/

.nsa-ac-partner-card {
    max-width: 720px;
    margin: 0 auto;
    background: var(--ac-bg-soft);
    border: 1px solid var(--ac-hairline);
    border-radius: 16px;
    padding: 2rem 2.2rem;
}

.nsa-ac-partner-label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ac-accent-light);
    margin-bottom: 1rem;
}

.nsa-ac-partner-card h3 {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--ac-text);
    margin: 0 0 0.6rem;
}

.nsa-ac-partner-card p {
    font-size: 0.94rem;
    color: var(--ac-text-dim);
    line-height: 1.6;
}


/* ── Closing ───────────────────────────────────────────────*/

.nsa-ac-closing {
    text-align: center;
    padding: 9rem 1.5rem;
}

.nsa-ac-closing h2 {
    font-size: clamp(2.5rem, 6vw, 5rem);
}

.nsa-ac-closing-sub {
    font-size: clamp(1.05rem, 1.3vw, 1.2rem);
    color: var(--ac-text-dim);
    max-width: 50ch;
    margin: 0 auto;
    line-height: 1.6;
}

.nsa-ac-closing .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background: linear-gradient(180deg, #7E94C2, #5D72A1);
    border-radius: 999px;
}

.nsa-ac-closing .wp-block-button.is-style-outline .wp-block-button__link {
    border-color: var(--ac-hairline-strong);
    color: #fff;
    background: transparent;
    border-radius: 999px;
}


/* ── Footer ─────────────────────────────────────────────────*/

.nsa-ac-footer {
    padding: 3rem 1.5rem 4rem;
    border-top: 1px solid var(--ac-hairline);
    text-align: center;
    background: var(--ac-bg);
}

.nsa-ac-footer-brand {
    font-size: 0.8rem;
    color: var(--ac-text-dim);
    font-weight: 600;
    letter-spacing: 0.04em;
}

.nsa-ac-footer-creds {
    font-size: 0.7rem;
    color: var(--ac-text-very-dim);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}


/* ── Modal ──────────────────────────────────────────────────*/

.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(5, 8, 17, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    opacity: 0;
    transition: opacity 0.3s;
}

.modal-backdrop.open {
    display: flex;
    opacity: 1;
}

.modal {
    background: linear-gradient(180deg, var(--ac-bg-elevated), var(--ac-bg-soft));
    border: 1px solid var(--ac-hairline-strong);
    border-radius: 22px;
    padding: 2.5rem 2.2rem;
    max-width: 460px;
    width: 100%;
    position: relative;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
    transform: translateY(20px);
    transition: transform 0.4s;
}

.modal-backdrop.open .modal {
    transform: translateY(0);
}

.modal .close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--ac-hairline);
    color: var(--ac-text-dim);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    line-height: 1;
    transition: background 0.2s, color 0.2s;
}

.modal .close:hover {
    background: rgba(113, 134, 181, 0.15);
    color: var(--ac-text);
}

.modal h3 {
    font-size: 1.55rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--ac-text);
    margin: 0 0 0.6rem;
}

.modal .sub {
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--ac-text-dim);
    margin: 0 0 1.8rem;
}

.modal form {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.modal label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ac-accent-light);
    margin-bottom: 0.4rem;
}

.modal input,
.modal select {
    width: 100%;
    padding: 0.85rem 1rem;
    background: rgba(11, 15, 28, 0.5);
    border: 1px solid var(--ac-hairline-strong);
    border-radius: 10px;
    color: var(--ac-text);
    font-family: inherit;
    font-size: 0.95rem;
    -webkit-appearance: none;
    appearance: none;
}

.modal input:focus,
.modal select:focus {
    outline: none;
    border-color: var(--ac-accent);
}

.modal input::placeholder {
    color: var(--ac-text-very-dim);
}

.modal .submit-btn {
    margin-top: 0.5rem;
    padding: 0.95rem 1.5rem;
    background: linear-gradient(180deg, #7E94C2, #5D72A1);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    font-family: inherit;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
}

.modal .submit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.modal .small-print {
    margin-top: 1rem;
    font-size: 0.74rem;
    color: var(--ac-text-very-dim);
    text-align: center;
    line-height: 1.5;
}

.modal .success-state {
    text-align: center;
    padding: 1rem 0 0.5rem;
    display: none;
}

.modal.success .form-state {
    display: none;
}

.modal.success .success-state {
    display: block;
}

.modal .checkmark {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    background: rgba(113, 134, 181, 0.18);
    border: 1px solid var(--ac-accent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.2rem;
}

.modal .checkmark svg {
    width: 24px;
    height: 24px;
    stroke: var(--ac-accent-light);
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.modal .success-state h4 {
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ac-text);
    margin: 0 0 0.6rem;
}

.modal .success-state p {
    font-size: 0.92rem;
    color: var(--ac-text-dim);
    line-height: 1.55;
    margin: 0 0 1.4rem;
}

.modal .success-state a.redownload {
    color: var(--ac-accent-light) !important;
    font-size: 0.85rem;
    text-decoration: underline;
}


/* ── Mobile ─────────────────────────────────────────────────*/

@media (max-width: 880px) {
    .nsa-ac-promise-grid,
    .nsa-ac-cohorts-grid,
    .nsa-ac-testimonials-grid {
        flex-wrap: wrap;
    }
    .nsa-ac-testimonials-hero .wp-block-column {
        flex-basis: 100% !important;
    }
}

@media (max-width: 760px) {
    .nsa-ac-promise,
    .nsa-ac-cohorts,
    .nsa-ac-outcomes,
    .nsa-ac-testimonials,
    .nsa-ac-included,
    .nsa-ac-investment,
    .nsa-ac-partners,
    .nsa-ac-closing {
        padding: 5rem 1.5rem;
    }
    .nsa-ac-pricing-grid {
        flex-direction: column;
        align-items: stretch;
    }
    .nsa-ac-price-card {
        flex-basis: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}



/* ════════════════════════════════════════════════════════════
   NSA SoCal — Sponsorship page — Additional CSS
   Paste into Appearance → Customize → Additional CSS
   ════════════════════════════════════════════════════════════ */


/* ── Shared helpers ─────────────────────────────────────────*/

.nsa-container-narrow {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 1.5rem;
    text-align: center;
}

.nsa-sp-eyebrow {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #FFB347;
    margin-bottom: 0.9rem;
}

.nsa-accent {
    color: #FFB347;
}

.nsa-lede {
    max-width: 620px;
    margin: 0 auto 1.5rem;
    font-size: 1rem;
    line-height: 1.7;
    color: #C3CADB;
}

body {
    background-color: #0B0F1C !important;
}


/* ── Hero ───────────────────────────────────────────────────*/

.nsa-sp-hero {
    background: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(255, 179, 71, 0.13), transparent 70%),
    radial-gradient(ellipse 40% 40% at 80% 20%, rgba(255, 107, 74, 0.09), transparent 70%),
    #0B0F1C;
    text-align: center;
    padding: 5rem 1.5rem 4.5rem;
    border-bottom: 1px solid #1F2638;
    color: #F4F5F8;
}

.nsa-sp-hero h1 {
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.05;
    color: #F4F5F8;
}

.nsa-sp-eyebrow-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255, 179, 71, 0.10);
    border: 1px solid rgba(255, 179, 71, 0.32);
    color: #FFB347;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    padding: 0.45rem 1rem;
    border-radius: 999px;
    margin-bottom: 1.5rem;
}

.nsa-sp-hero .wp-block-button .wp-block-button__link {
    border-radius: 999px;
}

.nsa-sp-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background: linear-gradient(135deg, #FF6B4A, #FFB347);
    color: #fff;
}

.nsa-sp-btn-ghost .wp-block-button__link {
    border-color: rgba(255, 179, 71, 0.4) !important;
    color: #FFB347 !important;
}

.nsa-sp-btn-ghost .wp-block-button__link:hover {
    background: rgba(255, 179, 71, 0.10);
}


/* ── Tier bar ───────────────────────────────────────────────*/

.nsa-sp-tiers-bar {
    background: #0F1525;
    border-bottom: 1px solid #1F2638;
    padding: 3rem 1.5rem;
}

.nsa-sp-tiers-row {
    max-width: 1180px;
    margin: 0 auto;
    gap: 0 !important;
    border: 1px solid #1F2638;
    border-radius: 14px;
    overflow: hidden;
}

.nsa-sp-tier-pill {
    text-align: center;
    padding: 1.4rem 1rem;
    flex: 1 1 0;
    border-right: 1px solid #1F2638;
    transition: background 0.2s;
}

.nsa-sp-tier-pill:last-child {
    border-right: none;
}

.nsa-sp-tier-pill:hover {
    background: rgba(255, 179, 71, 0.04);
}

.nsa-sp-tier-name {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #8993AE;
    margin: 0 0 0.5rem;
}

.nsa-sp-tier-price {
    font-size: 1.9rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: #F4F5F8;
    margin: 0;
}

.nsa-sp-tier-price span {
    font-size: 1rem;
    font-weight: 400;
    color: #8993AE;
}

.nsa-sp-tier-featured .nsa-sp-tier-name {
    color: #FFB347;
}

.nsa-sp-tier-featured .nsa-sp-tier-price {
    color: #FFB347;
}

@media (max-width: 820px) {
    .nsa-sp-tier-pill {
        flex-basis: 50%;
        border-bottom: 1px solid #1F2638;
    }
}

@media (max-width: 480px) {
    .nsa-sp-tier-pill {
        flex-basis: 100%;
    }
}


/* ── Pricing cards ──────────────────────────────────────────*/

.nsa-sp-cards-section {
    background: #0B0F1C;
    padding: 6rem 1.5rem;
    border-bottom: 1px solid #1F2638;
}

.nsa-sp-cards-grid {
    max-width: 1180px;
    margin: 0 auto;
    gap: 1.25rem !important;
    align-items: start !important;
}

.nsa-sp-card {
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 20px;
    padding: 2rem 1.75rem;
    flex: 1 1 240px;
    max-width: 300px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.nsa-sp-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
}

.nsa-sp-community::before {
    background: #5C6582;
}

.nsa-sp-silver::before {
    background: #8993AE;
}

.nsa-sp-gold::before {
    background: #D4B07A;
}

.nsa-sp-platinum {
    background: linear-gradient(180deg, #1E1A2E, #17203A);
    border-color: rgba(255, 179, 71, 0.35);
}

.nsa-sp-platinum::before {
    background: linear-gradient(90deg, #FF6B4A, #FFB347);
}

.nsa-sp-popular-badge {
    display: inline-block;
    background: linear-gradient(135deg, #FF6B4A, #FFB347);
    color: #0B0F1C;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    margin-bottom: 0.9rem;
}

.nsa-sp-card-tier {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin-bottom: 0.8rem;
}

.nsa-sp-community .nsa-sp-card-tier {
    color: #8993AE;
}

.nsa-sp-silver .nsa-sp-card-tier {
    color: #C3CADB;
}

.nsa-sp-gold .nsa-sp-card-tier {
    color: #D4B07A;
}

.nsa-sp-platinum .nsa-sp-card-tier {
    color: #FFB347;
}

.nsa-sp-card-price {
    font-size: 2.8rem;
    font-weight: 700;
    letter-spacing: -0.04em;
    color: #F4F5F8;
    line-height: 1;
    margin-bottom: 0.3rem;
}

.nsa-sp-card-price span {
    font-size: 1.2rem;
    vertical-align: super;
}

.nsa-sp-card-cadence {
    font-size: 0.83rem;
    color: #8993AE;
    margin-bottom: 1.5rem;
}

.nsa-sp-card-divider.wp-block-separator {
    height: 1px;
    background: #1F2638;
    border: none;
    margin: 1.2rem 0;
}

.nsa-sp-includes-note {
    font-size: 0.78rem;
    font-style: italic;
    color: #5C6582;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #1F2638;
}

.nsa-sp-card-features {
    margin-bottom: 2rem;
}

.nsa-sp-card-features li {
    font-size: 0.9rem;
    color: #C3CADB;
    line-height: 1.5;
    margin-bottom: 0.85rem;
}

.nsa-sp-card .wp-block-button {
    margin-top: auto;
}

.nsa-sp-card-cta .wp-block-button__link {
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    width: 100%;
    text-align: center;
}

.nsa-sp-community .nsa-sp-card-cta .wp-block-button__link,
.nsa-sp-silver .nsa-sp-card-cta .wp-block-button__link {
    border-color: #2A3147;
    color: #C3CADB;
    background: transparent;
}

.nsa-sp-community .nsa-sp-card-cta .wp-block-button__link:hover,
.nsa-sp-silver .nsa-sp-card-cta .wp-block-button__link:hover {
    border-color: #8993AE;
    background: rgba(255, 255, 255, 0.04);
}

.nsa-sp-gold-cta .wp-block-button__link {
    background: rgba(212, 176, 122, 0.12) !important;
    color: #D4B07A !important;
    border: 1px solid rgba(212, 176, 122, 0.3) !important;
}

.nsa-sp-gold-cta .wp-block-button__link:hover {
    background: rgba(212, 176, 122, 0.2) !important;
}

.nsa-sp-platinum-cta .wp-block-button__link {
    background: linear-gradient(135deg, #FF6B4A, #FFB347) !important;
    color: #0B0F1C !important;
    border: none !important;
    box-shadow: 0 6px 20px rgba(255, 107, 74, 0.35);
}

.nsa-sp-platinum-cta .wp-block-button__link:hover {
    box-shadow: 0 10px 32px rgba(255, 107, 74, 0.5);
    transform: translateY(-2px);
}

@media (max-width: 1100px) {
    .nsa-sp-card {
        flex-basis: 45%;
        max-width: none;
    }
}

@media (max-width: 560px) {
    .nsa-sp-card {
        flex-basis: 100%;
        max-width: 100%;
    }
}


/* ── Why sponsor ─────────────────────────────────────────────*/

.nsa-sp-why {
    background: #0F1525;
    border-bottom: 1px solid #1F2638;
    padding: 6rem 1.5rem;
    color: #F4F5F8;
}

.nsa-sp-why-grid {
    max-width: 1180px;
    margin: 3rem auto 0 !important;
    gap: 1.25rem !important;
}

.nsa-sp-why-card {
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 16px;
    padding: 2rem 1.75rem;
    flex: 1 1 280px;
}

.nsa-sp-why-card h4 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #F4F5F8;
    margin-bottom: 0.6rem;
}

.nsa-sp-why-card p {
    font-size: 0.9rem;
    color: #8993AE;
    line-height: 1.6;
    margin: 0;
}


/* ── CTA band ────────────────────────────────────────────────*/

.nsa-sp-cta {
    background: #0B0F1C;
    padding: 6rem 1.5rem;
    text-align: center;
    color: #F4F5F8;
}

.nsa-sp-cta p {
    color: #C3CADB;
    font-size: 1rem;
    line-height: 1.7;
    max-width: 560px;
    margin: 0 auto 1.5rem;
}

.nsa-sp-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background: linear-gradient(135deg, #FF6B4A, #FFB347);
    border-radius: 999px;
}

.nsa-sp-contact-detail {
    font-size: 0.88rem;
    color: #5C6582;
    margin-top: 2rem;
}

.nsa-sp-contact-detail a {
    color: #8993AE;
    border-bottom: 1px solid #2A3147;
    transition: color 0.2s;
}

.nsa-sp-contact-detail a:hover {
    color: #FFB347;
    border-color: #FFB347;
}

/* newsletter */

.sib-email-area {
    text-align: center;
}

.sib_signup_box_inside_2 input {
    flex: 1;
    min-width: 220px;
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 999px;
    padding: 0.95rem 1.3rem;
    font-family: inherit;
    font-size: 0.95rem;
    color: #fff !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    text-transform: uppercase;
}

.sib_signup_box_inside_2 input[type="submit"] {
    background-color: transparent;
    color: #0B0F1C !important;
}

.sib-default-btn {
    background: #FF6B4A !important;
    color: #fff;
    font-weight: 600;
    padding: 10px 15px !important;
    font-size: 12px;
    border: 2px solid #FF6B4A;
    white-space: nowrap;
    border-radius: 50px;
    margin-top: 15px;
}

.nl-section {
    background: #0b0f1c !important;
    border-top: 1px solid #1F2638;
    border-bottom: none !important;
    padding: 5rem 1.5rem;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
    /* max-width: 1180px; */
    width: 100%;
    margin: 0 auto;
}

/* ── Partner organizations ──────────────────────────────────*/

.nsa-sp-partners {
    background: #0F1525;
    border-top: 1px solid #1F2638;
    padding: 6rem 1.5rem;
    color: #F4F5F8;
}

.nsa-sp-partners-grid {
    max-width: 1180px;
    margin: 3rem auto 0 !important;
    gap: 1.25rem !important;
}

.nsa-sp-partner-card {
    flex: 0 1 360px;
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 20px;
    padding: 2rem 1.75rem;
}

.nsa-sp-partner-logo {
    background: #fff;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
}

.nsa-sp-partner-card h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #F4F5F8;
    margin-bottom: 0.6rem;
}

.nsa-sp-partner-card p {
    font-size: 0.92rem;
    line-height: 1.62;
    color: #C3CADB;
    margin-bottom: 1rem;
}

.nsa-sp-partner-card p a {
    color: #FFB347;
    text-decoration: underline;
}

.nsa-sp-partner-link-wrap a {
    color: #FFB347;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
}

.nsa-sp-partner-link-wrap a:hover {
    text-decoration: underline;
}

@media (max-width: 600px) {
    .nsa-sp-partner-card {
        flex-basis: 100%;
    }
}



/* ════════════════════════════════════════════════════════════
   NSA SoCal — TEDx Speakers page — Additional CSS
   Paste into Appearance → Customize → Additional CSS
   ════════════════════════════════════════════════════════════ */


/* ── Shared helpers ─────────────────────────────────────────*/

.nsa-container-narrow {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 1.5rem;
    text-align: center;
}

.nsa-eyebrow {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #FFB347;
    margin-bottom: 0.9rem;
}

.nsa-accent {
    color: #FFB347;
}

.nsa-lede {
    max-width: 680px;
    margin: 0 auto 1rem;
    font-size: 1.05rem;
    line-height: 1.65;
    color: #C3CADB;
}


/* ── Hero ───────────────────────────────────────────────────*/

.nsa-tedx-hero {
    position: relative;
    background-color: #0B0F1C;
    background-image: linear-gradient(180deg, rgba(11, 15, 28, 0.55) 0%, rgba(11, 15, 28, 0.72) 55%, rgba(11, 15, 28, 0.92) 100%),
    radial-gradient(ellipse 75% 55% at 50% -8%, rgba(255, 179, 71, 0.18), transparent 62%),
    radial-gradient(circle at 50% 134%, rgba(229, 72, 46, 0.55) 0%, rgba(229, 72, 46, 0.34) 16%, rgba(229, 72, 46, 0.0) 44%),
    radial-gradient(ellipse 45% 45% at 84% 22%, rgba(255, 107, 74, 0.12), transparent 70%);
    padding: 5rem 1.5rem 4rem;
    border-bottom: 1px solid #1F2638;
    text-align: center;
    overflow: hidden;
    color: #F4F5F8;
}

.nsa-tedx-hero h1 {
    font-size: clamp(2.6rem, 7vw, 5.4rem);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 0.96;
    color: #F4F5F8;
}

.nsa-tedx-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(230, 43, 30, 0.10);
    border: 1px solid rgba(230, 43, 30, 0.32);
    color: #E62B1E;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    padding: 0.5rem 1.05rem;
    border-radius: 999px;
    margin-bottom: 1.6rem;
}

.nsa-tedx-mark {
    font-weight: 800;
    letter-spacing: -0.04em;
}


/* Stats bar */

.nsa-tedx-stats {
    display: inline-flex;
    align-items: center;
    gap: 2.4rem;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 2.6rem;
    padding: 1.2rem 2rem;
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 14px;
}

.nsa-tedx-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
}

.nsa-tedx-stat-num {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    background: linear-gradient(180deg, #F4F5F8, #FFB347);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    line-height: 1;
    margin: 0;
}

.nsa-tedx-stat-label {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #8993AE;
    margin: 0;
}

@media (max-width: 540px) {
    .nsa-tedx-stats {
        gap: 1.4rem;
        padding: 1rem 1.4rem;
    }
}


/* ── Speaker grid section ───────────────────────────────────*/

.nsa-tedx-speakers {
    background: #0B0F1C;
    border-bottom: 1px solid #1F2638;
    padding: 6rem 0;
    color: #F4F5F8;
}

/*.nsa-tedx-grid {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1.5rem;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6rem;
}*/

.nsa-tedx-grid .wp-block-group__inner-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1.5rem;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6rem;
}

@media (max-width: 980px) {
    .nsa-tedx-grid .wp-block-group__inner-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .nsa-tedx-grid .wp-block-group__inner-container {
        grid-template-columns: 1fr;
        max-width: 460px;
    }
}


/* ── Individual card ────────────────────────────────────────*/

.tedx-card {
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s, box-shadow 0.3s;
    position: relative;
}

.tedx-card:hover {
    transform: translateY(-4px);
    border-color: #FF6B4A;
    box-shadow: 0 18px 40px rgba(255, 107, 74, 0.22);
}


/* Thumbnail */

.tedx-thumb {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: #131A2D;
}

.tedx-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.92) brightness(0.85);
    transition: filter 0.4s, transform 0.5s;
}

.tedx-card:hover .tedx-thumb img {
    filter: saturate(1.05) brightness(1.0);
    transform: scale(1.04);
}

.tedx-thumb::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(11, 15, 28, 0.55) 100%);
    z-index: 1;
    pointer-events: none;
}


/* Play button */

.tedx-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, #FF6B4A 0%, #FFB347 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    box-shadow: 0 8px 24px rgba(255, 107, 74, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.25);
    transition: transform 0.3s, box-shadow 0.3s;
}

.tedx-card:hover .tedx-play {
    transform: translate(-50%, -50%) scale(1.08);
    box-shadow: 0 12px 32px rgba(255, 107, 74, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.tedx-play svg {
    width: 24px;
    height: 24px;
    fill: #fff;
    margin-left: 4px;
}


/* Corner badge */

.tedx-corner-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #fff;
    background: #E62B1E;
    padding: 4px 9px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    line-height: 1;
}


/* Card body */

.tedx-card-body {
    padding: 1.2rem 1.3rem 1.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    flex: 1;
}

.tedx-card-name {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: #F4F5F8;
    line-height: 1.25;
}

.tedx-card-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 0.5rem;
}

.tedx-card-meta .watch-cta {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #FFB347;
}

.tedx-card-meta .arrow {
    color: #FFB347;
    transition: transform 0.25s;
    display: inline-block;
}

.tedx-card:hover .tedx-card-meta .arrow {
    transform: translateX(3px);
}

.tedx-card-meta .external-icon {
    margin-left: auto;
    color: #5C6582;
}

.tedx-card-meta .external-icon svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.6;
}


/* ── CTA section ────────────────────────────────────────────*/

.nsa-tedx-cta {
    background: #0F1525;
    padding: 4.5rem 1.5rem;
    text-align: center;
    border-bottom: 1px solid #1F2638;
    color: #F4F5F8;
}

.nsa-tedx-cta-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: rgba(255, 179, 71, 0.10);
    border: 1px solid rgba(255, 179, 71, 0.28);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
}

.nsa-tedx-cta-icon svg {
    width: 28px;
    height: 28px;
}

.nsa-tedx-cta h2 {
    font-size: clamp(1.7rem, 3.5vw, 2.4rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.05;
    color: #F4F5F8;
}

.nsa-tedx-cta p {
    font-size: 1rem;
    line-height: 1.65;
    color: #C3CADB;
    max-width: 560px;
    margin: 0 auto 1.8rem;
}

.nsa-tedx-cta p a {
    color: #FFB347;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 179, 71, 0.5);
}

.nsa-tedx-cta .wp-block-button .wp-block-button__link {
    border-radius: 999px;
    background: linear-gradient(135deg, #FF6B4A, #FFB347);
    color: #fff;
}



/* ════════════════════════════════════════════════════════════
   NSA SoCal — Board page — Additional CSS
   Paste into Appearance → Customize → Additional CSS
   ════════════════════════════════════════════════════════════ */


/* ── Shared helpers ─────────────────────────────────────────*/

.nsa-container-narrow {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 1.5rem;
    text-align: center;
}

.nsa-board-section, .nsa-board-section-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.nsa-accent {
    color: #FFB347;
}

.nsa-lede {
    max-width: 700px;
    margin: 0 auto 1rem;
    font-size: 1.15rem;
    line-height: 1.65;
    color: #C3CADB;
}

.nsa-board-eyebrow {
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #FFB347;
    margin-bottom: 0.9rem;
}


/* ── Hero ───────────────────────────────────────────────────*/

.nsa-board-hero {
    background: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(255, 179, 71, 0.14), transparent 70%),
    radial-gradient(ellipse 40% 40% at 80% 30%, rgba(255, 107, 74, 0.10), transparent 70%),
    #0B0F1C;
    padding: 5rem 1.5rem 4rem;
    border-bottom: 1px solid #1F2638;
    text-align: center;
    overflow: hidden;
    color: #F4F5F8;
}

.nsa-board-hero h1 {
    font-size: clamp(2.6rem, 7vw, 5.4rem);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 0.96;
    color: #F4F5F8;
}

.nsa-board-eyebrow-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255, 179, 71, 0.10);
    border: 1px solid rgba(255, 179, 71, 0.32);
    color: #FFB347;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    padding: 0.5rem 1.05rem;
    border-radius: 999px;
    margin-bottom: 1.6rem;
}

.nsa-board-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #FF6B4A;
    box-shadow: 0 0 8px #FF6B4A;
}

.nsa-board-term-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    margin-top: 2.4rem;
    padding: 0.9rem 1.6rem;
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 12px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #C3CADB;
}

.nsa-board-term-badge strong {
    color: #F4F5F8;
    font-weight: 700;
}

.nsa-board-term-icon {
    width: 18px;
    height: 18px;
    stroke: #FFB347;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ── Shared section styles ──────────────────────────────────*/

.nsa-board-section {
    background: #0B0F1C;
    padding: 5rem 1.5rem;
    border-bottom: 1px solid #1F2638;
    color: #F4F5F8;
}

.nsa-board-alt {
    background: #0F1525;
}

.nsa-board-section h2 {
    font-size: clamp(1.7rem, 3.2vw, 2.2rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: #F4F5F8;
    margin-bottom: 2.5rem;
}


/* ── Shared card elements ───────────────────────────────────*/

.member-photo {
    position: relative;
    aspect-ratio: 1/1;
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(135deg, #FF6B4A 0%, #FFB347 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.member-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.member-photo.has-image {
    background: #131A2D;
}

.member-name {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: #F4F5F8;
    line-height: 1.15;
}

.member-role {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #FFB347;
}

.member-bio {
    color: #C3CADB;
    line-height: 1.7;
}

.member-email {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.85rem;
    color: #8993AE;
    text-decoration: none;
    transition: color 0.25s;
}

.member-email:hover {
    color: #FFB347;
}

.member-email svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.6;
}

.links-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}


/* ── President card ─────────────────────────────────────────*/

.president-card {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 2.6rem;
    align-items: center;
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 20px;
    padding: 2.5rem;
    position: relative;
    overflow: hidden;
}

.president-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #FF6B4A, #FFB347);
}

.president-card .member-photo {
    width: 100%;
    max-width: 320px;
    height: auto;
    aspect-ratio: 1/1;
}

.president-card .member-photo img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.president-card .member-name {
    font-size: clamp(2rem, 4vw, 2.6rem);
    margin-bottom: 0.4rem;
}

.president-card .member-role {
    font-size: 0.92rem;
    margin-bottom: 1.2rem;
}

.president-card .member-bio {
    font-size: 1.02rem;
    margin-bottom: 1.4rem;
}

.president-card .links-row {
    gap: 1.4rem;
}

@media (max-width: 820px) {
    .president-card {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 1.8rem;
        gap: 1.8rem;
    }
    .president-card .member-photo {
        max-width: 260px;
        margin: 0 auto;
    }
    .president-card .links-row {
        justify-content: center;
    }
}


/* ── Philosophy banner ──────────────────────────────────────*/

.nsa-philosophy-banner {
    background: #0B0F1C;
    padding: 4rem 1.5rem;
    border-top: 1px solid #1F2638;
    border-bottom: 1px solid #1F2638;
}

.nsa-philosophy-quote.wp-block-quote {
    border: none;
    padding: 0;
}

.nsa-philosophy-quote p {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;
    font-style: italic;
    font-size: clamp(1.4rem, 2.5vw, 1.9rem);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.015em;
    color: #F4F5F8;
    margin: 0;
}


/* ── Duo cards ──────────────────────────────────────────────*/

.nsa-duo-grid.wp-block-columns {
    gap: 1.8rem !important;
}

.duo-card {
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 18px;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    height: 100%;
    transition: border-color 0.3s ease, transform 0.3s ease;
}

.duo-card:hover {
    border-color: #FF6B4A;
    transform: translateY(-3px);
}

.duo-card-head {
    display: flex;
    gap: 1.4rem;
    align-items: center;
}

.duo-card .member-photo {
    width: 220px;
    height: 220px;
    flex-shrink: 0;
}

.duo-card .member-name {
    font-size: 1.45rem;
    margin-bottom: 0.3rem;
}

.duo-card .member-role {
    font-size: 0.75rem;
}

.duo-card .member-bio {
    font-size: 0.95rem;
}

.duo-card .links-row {
    margin-top: auto;
    padding-top: 0.6rem;
}

@media (max-width: 520px) {
    .duo-card .member-photo {
        width: 180px;
        height: 180px;
    }
}


/* ── Directors grid ─────────────────────────────────────────*/

.nsa-directors-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6rem;
}

@media (max-width: 960px) {
    .nsa-directors-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 580px) {
    .nsa-directors-grid {
        grid-template-columns: 1fr;
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
    }
}

.nsa-directors-grid .wp-block-group__inner-container {
    display: flex;
    gap: 20px;
}

.director-card {
    background: #17203A;
    border: 1px solid #2A3147;
    border-radius: 16px;
    padding: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transition: border-color 0.3s ease, transform 0.3s ease;
}

.director-card:hover {
    border-color: #FF6B4A;
    transform: translateY(-3px);
}

.director-card .member-photo {
    width: 90px;
    height: 90px;
}

.director-card .member-bio {
    font-size: 0.92rem;
    line-height: 1.6;
}

.director-card .links-row {
    margin-top: auto;
    padding-top: 0.4rem;
}


/* ── Past presidents CTA ────────────────────────────────────*/
.pp-hero, .pp-video-section, .pp-hall, .pp-help {
    box-sizing: border-box;
    max-width: 1020px;
    margin: 0 auto;
}

.pp-video-section {
    padding: 100px 0 0 0;
}

/* Turn each era's Columns block into a wrapping grid */
.wp-block-columns.pp-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1.5rem;
  flex-wrap: initial;
}

/* Undo the Columns block's flex sizing and margins on each card */
.wp-block-columns.pp-grid > .wp-block-column.pp-card {
  flex-basis: auto !important;
  flex-grow: 0;
  width: auto;
  min-width: 0;
  margin: 0 !important;
}

/* Keep photos uniform (some uploads aren't square, e.g. Robert Davis) */
.pp-card-photo {
  margin: 0;
}
.pp-card-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}


.nsa-past-prez-cta {
    background: #0F1525;
    padding: 5rem 1.5rem;
    text-align: center;
    border-bottom: 1px solid #1F2638;
    color: #F4F5F8;
}

.nsa-past-prez-cta h2 {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: #F4F5F8;
    margin-bottom: 1rem;
}

.nsa-past-prez-quote.wp-block-quote {
    border: none;
    padding: 0;
    max-width: 700px;
    margin: 0 auto 1.3rem;
}

.nsa-past-prez-quote p {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;
    font-style: italic;
    font-size: 1.15rem;
    font-weight: 500;
    color: #FFB347;
    letter-spacing: -0.01em;
}

.nsa-past-prez-cta>.nsa-container-narrow>p {
    font-size: 1rem;
    line-height: 1.65;
    color: #C3CADB;
    margin-bottom: 1.8rem;
}

.nsa-past-prez-cta .wp-block-button .wp-block-button__link {
    border-radius: 999px;
    background: linear-gradient(135deg, #FF6B4A, #FFB347);
}




/* ════════════════════════════════════════════════════════════
   NSA SoCal — West Coast Alliance page — Additional CSS
   Uses blue accent (#2882C8) rather than the coral/amber palette
   used on the rest of the site — intentional for the WCA brand.
   Paste into Appearance → Customize → Additional CSS
   ════════════════════════════════════════════════════════════ */


/* ── Tokens (WCA blue palette) ──────────────────────────────*/

.nsa-wca-hero,
.nsa-wca-benefit,
.nsa-wca-chapters,
.nsa-wca-calendar {
    --wca-accent: #2882C8;
    --wca-accent-light: #5BA8E0;
    --wca-accent-strong: #1E6EB4;
    --wca-accent-soft: rgba(40, 130, 200, 0.10);
    --wca-bg: #0B0F1C;
    --wca-bg-elevated: #131A2D;
    --wca-bg-card: #17203A;
    --wca-bg-strip: #0F1525;
    --wca-hairline: #1F2638;
    --wca-hairline-strong: #2A3147;
    --wca-text: #F4F5F8;
    --wca-text-body: #C3CADB;
    --wca-text-dim: #8993AE;
}


/* ── Shared helpers ─────────────────────────────────────────*/

.nsa-wca-inner {
    max-width: 820px;
    margin: 0 auto;
}

.nsa-wca-eyebrow {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--wca-accent-light);
    margin-bottom: 1rem;
}

.nsa-wca-accent {
    color: var(--wca-accent-light);
}

.nsa-wca-lede {
    max-width: 640px;
    margin: 0 auto 1.5rem;
    font-size: clamp(1.05rem, 2.2vw, 1.25rem);
    color: var(--wca-text-body);
    line-height: 1.6;
}


/* ── Hero ───────────────────────────────────────────────────*/

.nsa-wca-hero {
    position: relative;
    padding: 5.5rem 1.5rem 5rem;
    text-align: center;
    overflow: hidden;
    border-bottom: 1px solid var(--wca-hairline);
    background: var(--wca-bg);
    color: var(--wca-text);
}

.nsa-wca-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse 60% 50% at 50% -10%, rgba(40, 130, 200, 0.22), transparent 70%),
    radial-gradient(ellipse 40% 40% at 85% 20%, rgba(40, 130, 200, 0.10), transparent 70%);
}

.nsa-wca-h1 {
    font-size: clamp(2.6rem, 7vw, 5rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.02;
    color: var(--wca-text);
}

.nsa-wca-hero .nsa-wca-accent {
    display: block;
    background: linear-gradient(120deg, var(--wca-accent-light), var(--wca-accent));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.nsa-wca-btn-primary .wp-block-button__link {
    background: linear-gradient(180deg, var(--wca-accent), var(--wca-accent-strong)) !important;
    color: #fff !important;
    border-radius: 999px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 6px 20px rgba(40, 130, 200, 0.32);
}

.nsa-wca-btn-primary .wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 10px 30px rgba(40, 130, 200, 0.45);
}

.nsa-wca-btn-secondary .wp-block-button__link {
    border-color: var(--wca-hairline-strong) !important;
    color: var(--wca-text) !important;
    background: transparent !important;
    border-radius: 999px;
}

.nsa-wca-btn-secondary .wp-block-button__link:hover {
    border-color: var(--wca-accent) !important;
    color: var(--wca-accent-light) !important;
}


/* ── Benefit / How it works ─────────────────────────────────*/

.nsa-wca-benefit {
    background: var(--wca-bg-strip);
    border-top: 1px solid var(--wca-hairline);
    border-bottom: 1px solid var(--wca-hairline);
    padding: 5.5rem 1.5rem;
    color: var(--wca-text);
}

.nsa-wca-benefit h2 {
    font-size: clamp(2rem, 5vw, 3.25rem);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.05;
    color: var(--wca-text);
}

.nsa-wca-fee-banner {
    max-width: 720px;
    margin: 0 auto 3.5rem;
    text-align: center;
    background: linear-gradient(160deg, var(--wca-bg-card), var(--wca-bg-elevated));
    border: 1px solid var(--wca-hairline-strong);
    border-radius: 22px;
    padding: 2.5rem 2rem;
    position: relative;
    overflow: hidden;
}

.nsa-wca-fee-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse 70% 80% at 50% -20%, rgba(40, 130, 200, 0.18), transparent 70%);
}

.nsa-wca-fee-amount {
    font-size: clamp(3.5rem, 10vw, 5.5rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
    position: relative;
    background: linear-gradient(120deg, var(--wca-accent-light), var(--wca-accent));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 0;
}

.nsa-wca-fee-label {
    position: relative;
    color: var(--wca-text-body);
    font-size: 1.05rem;
    margin: 0.5rem 0 0;
}

.nsa-wca-fee-label strong {
    color: var(--wca-text);
}

.nsa-wca-steps.wp-block-columns {
    max-width: 1000px;
    margin: 0 auto 3.25rem !important;
    gap: 1.25rem !important;
}

.nsa-wca-step {
    background: var(--wca-bg-card);
    border: 1px solid var(--wca-hairline);
    border-radius: 18px;
    padding: 1.75rem 1.5rem;
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.nsa-wca-step:hover {
    transform: translateY(-4px);
    border-color: var(--wca-hairline-strong);
}

.nsa-wca-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: var(--wca-accent-soft);
    color: var(--wca-accent-light);
    font-weight: 700;
    font-size: 1.05rem;
    margin-bottom: 1.1rem;
    border: 1px solid rgba(40, 130, 200, 0.25);
}

.nsa-wca-step h3 {
    font-weight: 600;
    font-size: 1.15rem;
    color: var(--wca-text);
    margin-bottom: 0.5rem;
    letter-spacing: -0.01em;
}

.nsa-wca-step p {
    color: var(--wca-text-body);
    font-size: 0.95rem;
    line-height: 1.6;
}

.nsa-wca-step p a {
    color: var(--wca-accent-light);
    font-weight: 600;
    border-bottom: 1px solid rgba(91, 168, 224, 0.3);
}

.nsa-wca-step p a:hover {
    border-color: var(--wca-accent-light);
}

.nsa-wca-benefit-cta {
    margin-top: 0.5rem;
}


/* ── Chapter logo wall ──────────────────────────────────────*/

.nsa-wca-chapters {
    background: var(--wca-bg);
    padding: 5.5rem 1.5rem;
    color: var(--wca-text);
}

.nsa-wca-chapters h2 {
    font-size: clamp(2rem, 5vw, 3.25rem);
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--wca-text);
}

.nsa-wca-chapters-grid.wp-block-gallery {
    max-width: 1000px;
    margin: 2rem auto 0;
    gap: 1.25rem !important;
}

.nsa-wca-chip figure,
.nsa-wca-chapters-grid .wp-block-image {
    background: #fff !important;
    border-radius: 18px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 170px;
    border: 1px solid var(--wca-hairline);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.nsa-wca-chapters-grid .wp-block-image:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}

.nsa-wca-chapters-grid .wp-block-image img {
    max-height: 96px;
    width: auto;
    object-fit: contain;
    margin: 0 auto;
}

.nsa-wca-chapters-grid figcaption {
    color: #1E2840;
    font-weight: 600;
    font-size: 0.82rem;
    text-align: center;
    margin-top: 0.75rem;
}


/* ── Calendar ───────────────────────────────────────────────*/

.nsa-wca-calendar {
    background: var(--wca-bg-strip);
    border-top: 1px solid var(--wca-hairline);
    padding: 5.5rem 1.5rem;
    color: var(--wca-text);
}

.nsa-wca-calendar h2 {
    font-size: clamp(2rem, 5vw, 3.25rem);
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--wca-text);
}

.nsa-wca-calendar-card {
    max-width: 980px;
    margin: 2rem auto 0;
    background: var(--wca-bg-card);
    border: 1px solid var(--wca-hairline);
    border-radius: 22px;
    padding: 0.75rem;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

.nsa-wca-calendar-frame {
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    line-height: 0;
}

.nsa-wca-calendar-frame iframe {
    width: 100%;
    height: 620px;
    border: 0;
    display: block;
}

@media (max-width: 640px) {
    .nsa-wca-calendar-frame iframe {
        height: 520px;
    }
}



/* Join membership */

/* ====== TYPOGRAPHY ====== */
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px;
  font-weight: 600;
  color: var(--accent-light);
  margin-bottom: 16px;
}
.j-h1 {
  font-size: clamp(40px, 6vw, 72px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 20px;
}
.j-h2 {
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 16px;
}
.j-lede {
  font-size: clamp(17px, 2vw, 20px);
  line-height: 1.55;
  color: var(--text-body);
  max-width: 640px;
}

/* ====== HERO ====== */
.j-hero {
  text-align: center;
  padding: 120px 28px 80px;
  max-width: 900px;
  margin: 0 auto;
  position: relative;
}
.j-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 600px;
  height: 400px;
  background: radial-gradient(ellipse at center, rgba(255, 107, 74, 0.15) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.j-hero > * { position: relative; z-index: 1; }
.j-hero-price-strip {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  padding: 10px 20px;
  background: rgba(255, 179, 71, 0.08);
  border: 1px solid rgba(255, 179, 71, 0.3);
  border-radius: var(--radius-pill);
  font-size: 14px;
  color: var(--accent-light);
  font-weight: 500;
}
.j-hero-price-strip strong { color: var(--text); font-weight: 700; }
@media (max-width: 768px) {
  .j-hero { padding: 70px 20px 50px; }
}

/* ====== FORM CONTAINER ====== */
.j-form-wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 28px 80px;
}
.j-form-card {
  background: var(--bg-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
  padding: 40px;
  box-shadow: var(--shadow-card);
  position: relative;
  overflow: hidden;
}
.j-form-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 100%);
}
@media (max-width: 640px) {
  .j-form-wrap { padding: 0 16px 60px; }
  .j-form-card { padding: 24px 20px; }
}

/* ====== s2MEMBER FORM RESTYLE ====== */
.s2member-pro-stripe-form,
.s2member-pro-stripe-checkout-form {
  background: transparent !important;
  color: var(--text-body) !important;
  font-family: inherit !important;
  width: 100%;
}
#s2member-pro-stripe-checkout-form-response-section:empty { display: none; }

.s2member-pro-stripe-form-section-title,
.s2member-pro-stripe-checkout-form-section-title {
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-weight: 700 !important;
  color: var(--accent-light) !important;
  background: transparent !important;
  padding: 0 0 12px !important;
  margin: 32px 0 20px !important;
  border: none !important;
  border-bottom: 1px solid var(--hairline) !important;
}
.s2member-pro-stripe-form-section:first-child .s2member-pro-stripe-form-section-title,
.s2member-pro-stripe-checkout-form-section:first-child .s2member-pro-stripe-form-section-title {
  margin-top: 0 !important;
}

#s2member-pro-stripe-checkout-form-description-div {
  background: var(--bg-elevated) !important;
  border: 1px solid var(--hairline) !important;
  border-radius: var(--radius-md) !important;
  padding: 18px 22px !important;
  color: var(--text) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  margin-bottom: 28px !important;
  text-align: center !important;
}

.s2member-pro-stripe-form-div,
.s2member-pro-stripe-checkout-form-div {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 18px !important;
}

.s2member-pro-stripe-form-section label,
.s2member-pro-stripe-checkout-form-section label {
  color: var(--text-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin-bottom: 6px !important;
  display: block !important;
  width: 100% !important;
}
.s2member-pro-stripe-form-section label span,
.s2member-pro-stripe-checkout-form-section label span {
  color: var(--text-body) !important;
  display: inline-block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
}

.s2member-pro-stripe-form-section input[type="text"],
.s2member-pro-stripe-form-section input[type="email"],
.s2member-pro-stripe-form-section input[type="password"],
.s2member-pro-stripe-form-section input[type="tel"],
.s2member-pro-stripe-form-section select,
.s2member-pro-stripe-checkout-form-section input[type="text"],
.s2member-pro-stripe-checkout-form-section input[type="email"],
.s2member-pro-stripe-checkout-form-section input[type="password"],
.s2member-pro-stripe-checkout-form-section input[type="tel"],
.s2member-pro-stripe-checkout-form-section select,
.form-control {
  width: 100% !important;
  background: var(--bg-input) !important;
  border: 1px solid var(--hairline-strong) !important;
  border-radius: var(--radius-sm) !important;
  padding: 12px 14px !important;
  color: var(--text) !important;
  font-size: 15px !important;
  font-family: inherit !important;
  transition: border-color 0.2s, background 0.2s;
  box-shadow: none !important;
  height: auto !important;
  line-height: 1.4 !important;
}
.s2member-pro-stripe-form-section input:focus,
.s2member-pro-stripe-form-section select:focus,
.s2member-pro-stripe-checkout-form-section input:focus,
.s2member-pro-stripe-checkout-form-section select:focus,
.form-control:focus {
  outline: none !important;
  border-color: var(--accent-light) !important;
  background: var(--bg-elevated) !important;
}

#s2member-pro-stripe-checkout-password2 { margin-top: 8px !important; }

.ws-plugin--s2member-password-strength {
  margin-top: 8px !important;
  padding: 6px 10px !important;
  background: var(--bg-strip) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 12px !important;
  color: var(--text-dim) !important;
}

.s2member-pro-stripe-form-section select[multiple],
.s2member-pro-stripe-checkout-form-section select[multiple] {
  padding: 8px !important;
  min-height: 110px !important;
}
.s2member-pro-stripe-form-section select option,
.s2member-pro-stripe-checkout-form-section select option {
  background: var(--bg-input) !important;
  color: var(--text) !important;
  padding: 6px !important;
}

#s2member-pro-stripe-form-card-element {
  background: var(--bg-input) !important;
  border: 1px solid var(--hairline-strong) !important;
  border-radius: var(--radius-sm) !important;
  padding: 14px !important;
  margin-top: 8px !important;
  transition: border-color 0.2s, background 0.2s;
}
#s2member-pro-stripe-form-card-element.StripeElement--focus {
  border-color: var(--accent-light) !important;
  background: var(--bg-elevated) !important;
}
#s2member-pro-stripe-form-card-element-label {
  color: var(--text-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin-bottom: 6px !important;
  display: block;
}
#s2member-pro-stripe-form-card-errors {
  color: #ff6b6b !important;
  font-size: 13px !important;
  margin-top: 8px !important;
}

#s2member-pro-stripe-checkout-coupon-apply {
  background: var(--bg-elevated) !important;
  color: var(--accent-light) !important;
  border: 1px solid var(--accent-light) !important;
  border-radius: var(--radius-pill) !important;
  padding: 10px 22px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  margin-top: 10px !important;
  font-family: inherit !important;
  transition: all 0.2s ease;
}
#s2member-pro-stripe-checkout-coupon-apply:hover {
  background: var(--accent-light) !important;
  color: var(--bg) !important;
}

#s2member-pro-stripe-checkout-submit,
.s2member-pro-stripe-submit {
  width: 100% !important;
  background: var(--accent) !important;
  color: var(--bg) !important;
  border: none !important;
  border-radius: var(--radius-pill) !important;
  padding: 16px 32px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 0.01em !important;
  cursor: pointer !important;
  margin-top: 16px !important;
  font-family: inherit !important;
  transition: all 0.2s ease;
  box-shadow: 0 4px 20px rgba(255, 107, 74, 0.25);
}
#s2member-pro-stripe-checkout-submit:hover,
.s2member-pro-stripe-submit:hover {
  background: var(--accent-strong) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 24px rgba(255, 107, 74, 0.35);
}
.s2member-pro-stripe-form-disabled { opacity: 0.5 !important; }

/* ====== TRUST SECTION ====== */
.j-trust {
  background: var(--bg-strip);
  border-top: 1px solid var(--hairline);
  padding: 70px 28px;
}
.j-trust-inner { max-width: 900px; margin: 0 auto; }
.j-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 40px;
}
.j-trust-item {
  background: var(--bg-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
  padding: 24px;
}
.j-trust-item-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(255, 179, 71, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  font-size: 20px;
}
.j-trust-item h3 {
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 8px;
}
.j-trust-item p {
  color: var(--text-body);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}
@media (max-width: 768px) {
  .j-trust { padding: 50px 20px; }
  .j-trust-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ====== FOOTER ====== */
.nsa-footer {
  background: var(--bg-strip);
  border-top: 1px solid var(--hairline);
  padding: 70px 28px 40px;
}
.nsa-footer-inner { max-width: 1200px; margin: 0 auto; }
.nsa-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 50px;
}
.nsa-footer-brand h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 12px;
}
.nsa-footer-brand p {
  color: var(--text-body);
  font-size: 14px;
  line-height: 1.6;
  max-width: 380px;
  margin: 0 0 20px;
}
.nsa-footer-social { display: flex; gap: 12px; }
.nsa-footer-social a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bg-card);
  border: 1px solid var(--hairline);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-body);
  text-decoration: none;
  transition: all 0.2s;
}
.nsa-footer-social a:hover {
  background: var(--accent);
  color: var(--bg);
  border-color: var(--accent);
}
.nsa-footer-col h4 {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--accent-light);
  font-weight: 600;
  margin: 0 0 16px;
}
.nsa-footer-col ul { list-style: none; margin: 0; padding: 0; }
.nsa-footer-col li { margin-bottom: 10px; }
.nsa-footer-col a {
  color: var(--text-body);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s;
}
.nsa-footer-col a:hover { color: var(--accent-light); }
.nsa-footer-bottom {
  border-top: 1px solid var(--hairline);
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  color: var(--text-very-dim);
  font-size: 13px;
}
.nsa-footer-bottom a {
  color: var(--text-very-dim);
  text-decoration: none;
}
.nsa-footer-bottom a:hover { color: var(--accent-light); }
@media (max-width: 768px) {
  .nsa-footer { padding: 50px 20px 30px; }
  .nsa-footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .nsa-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .nsa-footer-grid { grid-template-columns: 1fr; }
}

/* ====== ANIMATIONS ====== */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.reveal.in-view {
  opacity: 1;
  transform: translateY(0);
}
</style>






/* ==========================================================================
   NSA SoCal Genesis Footer
   ========================================================================== */

.nsa-socal-footer-content {
    background: #0B0F1C;
    color: #C3CADB;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    padding: 80px 24px 32px;
    border-top: 1px solid #1F2638;
    position: relative;
    overflow: hidden;
    width: 100% !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box;
}

.nsa-socal-footer-content *,
.nsa-socal-footer-content *::before,
.nsa-socal-footer-content *::after {
    box-sizing: border-box;
}

.footer-brand.footer-widget-area img {
  max-width: 200px !important;
}

.nsa-socal-footer-content .footer-inner {
    max-width: 1280px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.nsa-socal-footer-content .footer-top {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 48px;
    padding-bottom: 56px;
    border-bottom: 1px solid #1F2638;
}

.nsa-socal-footer-content .footer-brand img.footer-logo,
.nsa-socal-footer-content .footer-brand img {
    height: 56px;
    width: auto;
    max-width: 100%;
    margin: 0 0 20px;
    display: block;
}

.nsa-socal-footer-content .footer-brand p {
    font-size: 14px;
    line-height: 1.6;
    color: #8993AE;
    margin: 0 0 24px;
}

.nsa-socal-footer-content .footer-widget {
    margin: 0 0 24px;
}

.nsa-socal-footer-content .footer-widget:last-child {
    margin-bottom: 0;
}

.nsa-socal-footer-content .footer-widget-title,
.nsa-socal-footer-content .footer-col h5 {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #FFB347;
    margin: 0 0 20px;
    font-family: inherit;
    line-height: 1.3;
}

.nsa-socal-footer-content .footer-widget-area>.widget_block>h2,
.nsa-socal-footer-content .footer-widget-area>.widget_block>h3,
.nsa-socal-footer-content .footer-widget-area>.widget_block>h4,
.nsa-socal-footer-content .footer-widget-area>.widget_block>h5,
.nsa-socal-footer-content .footer-widget-area>.widget_block>h6 {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #FFB347;
    margin: 0 0 20px;
    font-family: inherit;
    line-height: 1.3;
}

.nsa-socal-footer-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nsa-socal-footer-content li {
    margin: 0 0 12px;
    padding: 0;
}

.nsa-socal-footer-content .footer-col a,
.nsa-socal-footer-content .footer-widget-area a {
    color: #C3CADB;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.4;
    transition: color 0.2s ease;
    display: inline-block;
}

.nsa-socal-footer-content .footer-col a:hover,
.nsa-socal-footer-content .footer-widget-area a:hover,
.nsa-socal-footer-content .footer-col a:focus-visible,
.nsa-socal-footer-content .footer-widget-area a:focus-visible {
    color: #FFB347;
}

.nsa-socal-footer-content .footer-socials {
    display: flex;
    gap: 12px;
    align-items: center;
    text-align: center;
    justify-content: center;
}

.nsa-socal-footer-content .footer-socials a {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: #131A2D;
    border: 1px solid #1F2638;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    color: #C3CADB;
    text-decoration: none;
}

.nsa-socal-footer-content .footer-socials a:hover,
.nsa-socal-footer-content .footer-socials a:focus-visible {
    background: #FFB347;
    border-color: #FFB347;
    color: #0B0F1C;
    transform: translateY(-2px);
}

.nsa-socal-footer-content .footer-socials svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
    display: block;
}

.nsa-socal-footer-content .footer-bottom {
    padding-top: 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    font-size: 13px;
    line-height: 1.5;
    color: #5C6582;
}

.nsa-socal-footer-content .footer-bottom-widget-area {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.nsa-socal-footer-content .footer-bottom-widget-area .widget {
    margin: 0;
}

.nsa-socal-footer-content .footer-legal-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
}

.nsa-socal-footer-content .footer-legal-links .sep {
    color: #2A3147;
}

.nsa-socal-footer-content .footer-bottom a {
    color: #8993AE;
    text-decoration: none;
    transition: color 0.2s ease;
}

.nsa-socal-footer-content .footer-bottom a:hover,
.nsa-socal-footer-content .footer-bottom a:focus-visible {
    color: #FFB347;
}

.nsa-socal-footer-content a:focus-visible {
    outline: 2px solid #FFB347;
    outline-offset: 3px;
}

@media (max-width: 980px) {
    .nsa-socal-footer-content {
        padding: 60px 24px 28px;
    }

    .nsa-socal-footer-content .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        padding-bottom: 40px;
    }

    .nsa-socal-footer-content .footer-brand {
        grid-column: 1 / -1;
    }

    .nsa-socal-footer-content .footer-brand p {
        max-width: 100%;
    }
}

@media (max-width: 600px) {
    .nsa-socal-footer-content {
        padding: 48px 20px 24px;
    }

    .nsa-socal-footer-content .footer-top {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .nsa-socal-footer-content .footer-brand {
        grid-column: auto;
    }

    .nsa-socal-footer-content .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }

    .nsa-socal-footer-content .footer-bottom-widget-area {
        flex-direction: column;
        align-items: flex-start;
    }
}

body.page-id-5704 {
    overflow-x: hidden;
}

.site-footer {
    background-color: #0b0f1c;
    border-top: none;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1;
    padding: 0;
    text-align: center;
}