:root{
  --ah-blue:#082f5f;
  --ah-blue-soft:#5f86aa;
  --ah-ink:#17212b;
  --ah-muted:#5d6875;
  --ah-border:#d9e1ea;
  --ah-bg:#f6f8fb;
  --ah-white:#fff;
  --ah-radius:18px;
  --ah-shadow:0 10px 30px rgba(8,47,95,.08);
}
*{box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ah-ink);background:var(--ah-bg);line-height:1.65}
a{color:var(--ah-blue);text-decoration:none}a:hover,a:focus{text-decoration:underline}img{max-width:100%;height:auto}.container{width:min(1160px,calc(100% - 32px));margin-inline:auto}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}.skip-link:focus{background:#fff;clip:auto;clip-path:none;height:auto;left:1rem;padding:.75rem 1rem;top:1rem;width:auto;z-index:100000}.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--ah-border);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px}.site-branding{display:flex;align-items:center}.custom-logo{max-height:64px;width:auto}.site-title{font-weight:900;font-size:1.55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ah-blue)}.site-description{margin:.1rem 0 0;color:var(--ah-muted);font-size:.9rem}.main-navigation ul{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0}.main-navigation a{display:block;padding:.7rem .8rem;border-radius:999px;color:var(--ah-ink);font-weight:700}.main-navigation a:hover,.main-navigation a:focus{background:#eef4fa;text-decoration:none;color:var(--ah-blue)}.menu-toggle{display:none;border:1px solid var(--ah-border);background:#fff;color:var(--ah-blue);border-radius:999px;padding:.65rem 1rem;font-weight:800}.hero-news{background:linear-gradient(135deg,var(--ah-blue),#174f8f);color:#fff;padding:72px 0}.hero-news h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1;margin:.25rem 0;font-weight:900;letter-spacing:.02em}.hero-news p{max-width:680px;font-size:1.15rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.8rem;color:#d8e6f5}.layout-with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;padding:36px 0}.content-area{min-width:0}.post-card,.single-article,.single-page,.no-results,.error-404,.comments-area{background:#fff;border:1px solid var(--ah-border);border-radius:var(--ah-radius);box-shadow:var(--ah-shadow);padding:24px;margin-bottom:24px}.post-card{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px}.post-card__image img{width:100%;height:180px;object-fit:cover;border-radius:14px}.entry-title{line-height:1.15;margin:.1rem 0 .6rem}.post-card .entry-title{font-size:1.55rem}.entry-title a{color:var(--ah-ink)}.entry-meta{color:var(--ah-muted);font-size:.92rem;margin-bottom:1rem}.entry-meta span+span{margin-left:.35rem}.entry-content{font-size:1.08rem}.entry-content a{text-decoration:underline;text-underline-offset:2px}.featured-image img{border-radius:var(--ah-radius);margin:10px 0 20px;width:100%}.read-more,.search-submit,button,input[type="submit"]{display:inline-block;border:0;border-radius:999px;background:var(--ah-blue);color:#fff;padding:.75rem 1rem;font-weight:800;cursor:pointer}.read-more:hover,.search-submit:hover,button:hover,input[type="submit"]:hover{background:#051f40;text-decoration:none}.widget-area{min-width:0}.widget{background:#fff;border:1px solid var(--ah-border);border-radius:var(--ah-radius);box-shadow:var(--ah-shadow);padding:20px;margin-bottom:22px}.widget-title,.footer-widget-title{font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ah-blue)}.search-form{display:flex;gap:8px;flex-wrap:wrap}.search-field,input[type="text"],input[type="email"],input[type="url"],input[type="search"],textarea{width:100%;border:1px solid var(--ah-border);border-radius:12px;padding:.75rem .85rem;font:inherit;background:#fff}.search-form label{flex:1 1 220px}.site-footer{background:#071f3d;color:#dbe7f4;margin-top:40px;padding:42px 0 24px}.site-footer a{color:#fff}.footer-widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-navigation ul{display:flex;gap:14px;list-style:none;margin:0;padding:0}.page-content{padding-top:36px;padding-bottom:36px}.nav-links{display:flex;gap:12px;justify-content:space-between;margin:24px 0}.nav-links a,.page-numbers{background:#fff;border:1px solid var(--ah-border);border-radius:999px;padding:.65rem .9rem}.comment-list{padding-left:1.25rem}.comment-body{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--ah-border)}
@media (max-width: 900px){.site-header__inner{min-height:74px}.menu-toggle{display:inline-block}.main-navigation{display:none;position:absolute;left:16px;right:16px;top:74px;background:#fff;border:1px solid var(--ah-border);border-radius:16px;box-shadow:var(--ah-shadow);padding:12px}.main-navigation.toggled{display:block}.main-navigation ul{display:block}.main-navigation a{border-radius:12px}.layout-with-sidebar{grid-template-columns:1fr}.post-card{grid-template-columns:1fr}.footer-widgets{grid-template-columns:1fr}.hero-news{padding:52px 0}.custom-logo{max-height:54px}}
@media (max-width: 560px){.container{width:min(100% - 22px,1160px)}.post-card,.single-article,.single-page,.no-results,.error-404,.comments-area{padding:18px}.footer-bottom{display:block}.footer-navigation ul{display:block}.post-card .entry-title{font-size:1.35rem}}

/* ===============================
   NILES CONNECT GLOBAL STYLES
   Added for Niles Connect community pages
================================= */

.nc-page {
  max-width: 1180px;
  margin: 0 auto;
  padding: 24px 18px 48px;
}

.nc-hero {
  background: linear-gradient(135deg, var(--ah-blue), #174f8f);
  color: #fff;
  border-radius: var(--ah-radius);
  padding: 46px;
  margin-bottom: 30px;
  box-shadow: var(--ah-shadow);
  position: relative;
  overflow: hidden;
}

.nc-hero::after {
  content: "";
  position: absolute;
  right: -90px;
  top: -90px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(255,255,255,.14);
}

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

.nc-hero h1 {
  margin: 0 0 14px;
  font-size: clamp(2.4rem, 6vw, 5rem);
  line-height: .95;
  font-weight: 900;
  letter-spacing: .01em;
}

.nc-hero p {
  max-width: 760px;
  font-size: 1.15rem;
  margin-bottom: 0;
}

.nc-eyebrow {
  display: block;
  margin: 0 0 10px;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 800;
  font-size: .8rem;
  color: #d8e6f5;
}

.nc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.nc-button {
  display: inline-block;
  border-radius: 999px;
  background: var(--ah-blue);
  color: #fff;
  padding: .78rem 1.1rem;
  font-weight: 800;
  text-decoration: none;
  line-height: 1.2;
}

.nc-button:hover,
.nc-button:focus {
  background: #051f40;
  color: #fff;
  text-decoration: none;
}

.nc-button-light {
  background: #fff;
  color: var(--ah-blue);
}

.nc-button-light:hover,
.nc-button-light:focus {
  background: #eef4fa;
  color: var(--ah-blue);
}

.nc-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 32px;
}

.nc-feature-card,
.nc-section,
.nc-feed-panel,
.nc-callout {
  background: #fff;
  border: 1px solid var(--ah-border);
  border-radius: var(--ah-radius);
  box-shadow: var(--ah-shadow);
}

.nc-feature-card {
  display: block;
  padding: 24px;
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
}

.nc-feature-card:hover,
.nc-feature-card:focus {
  transform: translateY(-4px);
  box-shadow: 0 18px 42px rgba(8,47,95,.14);
  text-decoration: none;
}

.nc-feature-card h2,
.nc-section h2,
.nc-feed-panel h2,
.nc-callout h2 {
  color: var(--ah-blue);
  margin-top: 0;
  line-height: 1.15;
}

.nc-feature-card p,
.nc-section p,
.nc-feed-panel p,
.nc-callout p {
  color: var(--ah-muted);
}

.nc-icon {
  display: inline-flex;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: #eef4fa;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 12px;
}

.nc-section {
  padding: 26px;
  margin-bottom: 24px;
}

.nc-section ul {
  margin-bottom: 0;
}

.nc-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 26px;
  margin-bottom: 32px;
  background: #f7fbff;
}

.nc-callout p {
  margin-bottom: 0;
}

.nc-activity-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.nc-feed-panel {
  padding: 24px;
  overflow: hidden;
}

.nc-feed-wide {
  grid-column: 1 / -1;
}

.nc-section-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--ah-border);
  padding-bottom: 14px;
  margin-bottom: 18px;
}

.nc-section-header h2 {
  margin-bottom: 0;
}

.nc-section-header a {
  font-weight: 800;
  text-decoration: none;
}

.nc-section-header a:hover,
.nc-section-header a:focus {
  text-decoration: underline;
}

/* Light normalization for plugin/forum content inside Niles Connect panels. */
.nc-page .cbs-feed,
.nc-page .neighborly-latest,
.nc-page .neighborly-profile,
.nc-page .neighborly-forum {
  margin-top: 0;
}

.nc-page input[type="text"],
.nc-page input[type="email"],
.nc-page input[type="url"],
.nc-page input[type="tel"],
.nc-page input[type="date"],
.nc-page input[type="number"],
.nc-page select,
.nc-page textarea {
  border: 1px solid var(--ah-border);
  border-radius: 12px;
  padding: .75rem .85rem;
  font: inherit;
  background: #fff;
}

.nc-page input[type="submit"],
.nc-page button,
.nc-page .button {
  border-radius: 999px;
}

@media (max-width: 1000px) {
  .nc-feature-grid,
  .nc-activity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .nc-page {
    padding: 18px 12px 36px;
  }

  .nc-hero {
    padding: 30px 24px;
  }

  .nc-feature-grid,
  .nc-activity-grid {
    grid-template-columns: 1fr;
  }

  .nc-callout {
    flex-direction: column;
    align-items: flex-start;
  }

  .nc-section-header {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* ===============================
   HEADER LOGO AND LOGIN LINK
   Added for Niles Connect header
================================= */

.site-header__inner {
  gap: 20px;
}

.site-branding {
  flex: 0 0 auto;
}

.site-logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.site-logo-link:hover,
.site-logo-link:focus {
  text-decoration: none;
}

.site-logo-image {
  display: block;
  width: auto;
  max-width: 230px;
  max-height: 64px;
  object-fit: contain;
}

.site-header__right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  min-width: 0;
  flex: 1 1 auto;
}

.header-auth-links {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

.header-login-link,
.header-register-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--ah-blue);
  color: #fff;
  padding: .72rem 1rem;
  font-weight: 800;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
}

.header-login-link:hover,
.header-login-link:focus,
.header-register-link:hover,
.header-register-link:focus {
  background: #051f40;
  color: #fff;
  text-decoration: none;
}

.header-register-link {
  background: #fff;
  border: 1px solid var(--ah-blue);
  color: var(--ah-blue);
}

.header-register-link:hover,
.header-register-link:focus {
  border-color: #051f40;
}

.footer-site-info {
  max-width: 680px;
}

.footer-site-info p {
  margin: 0 0 .45rem;
}

.footer-site-info p:last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .site-logo-image {
    max-width: 190px;
    max-height: 54px;
  }

  .site-header__right {
    gap: 8px;
  }

  .main-navigation {
    left: 16px;
    right: 16px;
    top: 74px;
  }
}

@media (max-width: 560px) {
  .site-logo-image {
    max-width: 150px;
    max-height: 48px;
  }

  .header-login-link,
  .header-register-link {
    padding: .62rem .78rem;
    font-size: .92rem;
  }

  .menu-toggle {
    padding: .62rem .78rem;
  }
}

/* ===============================
   MOBILE POLISH PASS
   Version 1.0.3
================================= */

/* Improve tap behavior and prevent accidental horizontal overflow. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: rgba(8,47,95,.14);
}

/* Header polish for logo + nav + login on tablets and phones. */
.site-header {
  width: 100%;
}

.site-header__inner {
  position: relative;
  flex-wrap: nowrap;
}

.site-logo-image {
  max-width: min(230px, 42vw);
}

.main-navigation {
  min-width: 0;
}

.main-navigation a,
.header-login-link,
.header-register-link,
.menu-toggle,
.nc-button,
.read-more,
.search-submit,
button,
input[type="submit"] {
  min-height: 44px;
}

@media (max-width: 900px) {
  .site-header__inner {
    min-height: 68px;
    gap: 10px;
  }

  .site-branding {
    min-width: 0;
  }

  .site-logo-image {
    max-width: min(185px, 44vw);
    max-height: 50px;
  }

  .site-header__right {
    gap: 8px;
    flex: 0 0 auto;
  }

  .menu-toggle,
  .header-login-link,
  .header-register-link {
    min-height: 42px;
    padding: .6rem .82rem;
    font-size: .94rem;
  }

  .main-navigation {
    left: 12px;
    right: 12px;
    top: calc(100% + 8px);
    max-height: calc(100vh - 92px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .main-navigation ul {
    display: grid;
    gap: 4px;
  }

  .main-navigation a {
    padding: .86rem .95rem;
  }
}

@media (max-width: 420px) {
  .container {
    width: min(100% - 18px, 1160px);
  }

  .site-logo-image {
    max-width: min(145px, 40vw);
    max-height: 44px;
  }

  .site-header__right {
    gap: 6px;
  }

  .header-auth-links {
    gap: 5px;
  }

  .menu-toggle,
  .header-login-link,
  .header-register-link {
    padding: .55rem .68rem;
    font-size: .88rem;
  }
}

/* Niles Connect mobile layout polish. */
.nc-page {
  width: 100%;
}

.nc-hero {
  overflow-wrap: anywhere;
}

.nc-actions .nc-button {
  text-align: center;
}

.nc-feature-card,
.nc-section,
.nc-feed-panel,
.nc-callout {
  min-width: 0;
}

.nc-feed-panel img,
.nc-section img,
.nc-feed-panel video,
.nc-section video,
.entry-content img,
.entry-content video {
  max-width: 100%;
  height: auto;
}

.nc-feed-panel iframe,
.nc-section iframe,
.entry-content iframe {
  max-width: 100%;
}

@media (max-width: 760px) {
  .nc-page {
    padding: 14px 10px 34px;
  }

  .nc-hero {
    border-radius: 18px;
    padding: 28px 20px;
    margin-bottom: 20px;
  }

  .nc-hero::after {
    width: 170px;
    height: 170px;
    right: -72px;
    top: -72px;
  }

  .nc-hero h1 {
    font-size: clamp(2rem, 11vw, 3rem);
    line-height: 1.02;
  }

  .nc-hero p {
    font-size: 1rem;
  }

  .nc-actions {
    flex-direction: column;
    gap: 10px;
  }

  .nc-actions .nc-button {
    width: 100%;
  }

  .nc-feature-grid,
  .nc-activity-grid {
    gap: 14px;
  }

  .nc-feature-card,
  .nc-section,
  .nc-feed-panel,
  .nc-callout {
    border-radius: 18px;
  }

  .nc-feature-card,
  .nc-section,
  .nc-feed-panel,
  .nc-callout {
    padding: 20px;
  }

  .nc-section-header {
    gap: 8px;
    padding-bottom: 12px;
    margin-bottom: 14px;
  }

  .nc-section-header a {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
  }
}

@media (max-width: 480px) {
  .nc-page {
    padding-inline: 8px;
  }

  .nc-hero,
  .nc-feature-card,
  .nc-section,
  .nc-feed-panel,
  .nc-callout {
    padding: 18px;
  }

  .nc-eyebrow {
    letter-spacing: .11em;
    font-size: .74rem;
  }

  .nc-feature-card h2,
  .nc-section h2,
  .nc-feed-panel h2,
  .nc-callout h2 {
    font-size: 1.25rem;
  }
}

/* Form polish for Community Board Suite and Neighborly forms. */
.nc-page form,
.neighborly-forum form,
.neighborly-profile form {
  max-width: 100%;
}

.nc-page input,
.nc-page select,
.nc-page textarea,
.neighborly-forum input,
.neighborly-forum select,
.neighborly-forum textarea,
.neighborly-profile input,
.neighborly-profile select,
.neighborly-profile textarea {
  max-width: 100%;
}

.nc-page textarea,
.neighborly-forum textarea,
.neighborly-profile textarea {
  min-height: 130px;
}

.nc-page label,
.neighborly-forum label,
.neighborly-profile label {
  font-weight: 700;
}

@media (max-width: 700px) {
  .nc-page input[type="text"],
  .nc-page input[type="email"],
  .nc-page input[type="url"],
  .nc-page input[type="tel"],
  .nc-page input[type="date"],
  .nc-page input[type="number"],
  .nc-page input[type="file"],
  .nc-page select,
  .nc-page textarea,
  .neighborly-forum input,
  .neighborly-forum select,
  .neighborly-forum textarea,
  .neighborly-profile input,
  .neighborly-profile select,
  .neighborly-profile textarea {
    font-size: 16px;
  }

  .nc-page input[type="submit"],
  .nc-page button,
  .nc-page .button,
  .neighborly-forum button,
  .neighborly-forum input[type="submit"],
  .neighborly-profile button,
  .neighborly-profile input[type="submit"] {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* Tables and shortcode output should not break the mobile viewport. */
.entry-content table,
.nc-page table,
.neighborly-forum table,
.neighborly-profile table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-collapse: collapse;
}

.entry-content pre,
.nc-page pre {
  max-width: 100%;
  overflow-x: auto;
}

/* WordPress content mobile polish. */
@media (max-width: 700px) {
  .layout-with-sidebar {
    padding: 24px 0;
    gap: 20px;
  }

  .single-article,
  .single-page,
  .post-card,
  .no-results,
  .error-404,
  .comments-area,
  .widget {
    border-radius: 18px;
  }

  .entry-content {
    font-size: 1rem;
  }

  .footer-widgets {
    gap: 18px;
  }

  .site-footer {
    margin-top: 28px;
    padding: 32px 0 20px;
  }
}


/* Full-width site layout: sidebar removed in templates. */
.full-width-layout {
  display: block;
  padding: 36px 0;
}

.full-width-layout .content-area {
  width: 100%;
  max-width: none;
}

/* Keep legacy sidebar layouts from appearing if any plugin/template still outputs them. */
.layout-with-sidebar {
  grid-template-columns: 1fr;
}

.layout-with-sidebar > .widget-area {
  display: none;
}

@media (max-width: 700px) {
  .full-width-layout {
    padding: 24px 0;
  }
}


/* Niles Connect / static page polish: hide post metadata on pages */
body.page .entry-meta,
.single-page .entry-meta,
.page .posted-on,
.page .byline {
  display: none !important;
}


/* Compact two-line footer refinement */
.site-footer{
  padding: 22px 0 14px;
}

.footer-bottom-compact{
  margin-top: 14px;
  padding-top: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
  font-size: .82rem;
  line-height: 1.35;
}

.footer-line{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
}

.footer-navigation ul{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-line-secondary{
  color: rgba(219,231,244,.92);
}

.footer-separator{
  color: rgba(219,231,244,.68);
}

.footer-copy{
  color: rgba(219,231,244,.96);
}

@media (max-width: 560px){
  .footer-bottom-compact{
    font-size: .8rem;
    gap: 7px;
  }

  .footer-line{
    gap: 6px;
  }

  .footer-separator{
    display: none;
  }
}

/* ===============================
   NILES CONNECT HOME + DASHBOARD
   Version 1.0.8
================================= */
:root{
  --nc-green:#67b531;
  --nc-green-dark:#3f7f1f;
  --nc-blue:#083c7a;
  --nc-blue-deep:#061d3b;
  --nc-surface:#ffffff;
  --nc-soft:#eef6fb;
}

.nc-home-hero{
  background:
    radial-gradient(circle at 82% 8%, rgba(103,181,49,.28), transparent 32%),
    linear-gradient(135deg, var(--nc-blue-deep), var(--nc-blue));
  color:#fff;
  padding:clamp(34px,7vw,82px) 0;
}
.nc-home-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:clamp(22px,5vw,56px);
  align-items:center;
}
.nc-home-hero h1{
  margin:.2rem 0 1rem;
  max-width:850px;
  font-size:clamp(2.25rem,6vw,5rem);
  line-height:.98;
  letter-spacing:-.04em;
}
.nc-home-hero p{
  max-width:760px;
  font-size:clamp(1rem,2vw,1.22rem);
  color:rgba(255,255,255,.9);
}
.nc-home-hero__panel{
  display:grid;
  gap:12px;
  padding:18px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:24px;
  background:rgba(255,255,255,.1);
  box-shadow:0 24px 60px rgba(0,0,0,.18);
  backdrop-filter:blur(14px);
}
.nc-home-hero__panel a,
.nc-dashboard-cards a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  color:var(--nc-blue-deep);
  text-decoration:none;
  font-weight:800;
}
.nc-home-hero__panel a:hover,
.nc-home-hero__panel a:focus,
.nc-dashboard-cards a:hover,
.nc-dashboard-cards a:focus{
  transform:translateY(-2px);
  text-decoration:none;
}
.nc-home-hero__panel span,
.nc-dashboard-cards span{
  color:#475569;
  font-weight:800;
}
.nc-home-hero__panel strong,
.nc-dashboard-cards strong{
  font-size:1.6rem;
  color:var(--nc-green-dark);
}
.nc-home-section{
  margin-top:clamp(24px,5vw,46px);
}
.nc-quick-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.nc-kicker{
  margin:0 0 6px;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.76rem;
  font-weight:900;
  color:var(--nc-green-dark)!important;
}
.nc-home-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.nc-activity-list{
  display:grid;
  gap:14px;
}
.nc-activity-item{
  padding:16px;
  border:1px solid var(--ah-border);
  border-radius:16px;
  background:#fbfdff;
}
.nc-activity-item__type{
  display:inline-flex;
  margin-bottom:7px;
  padding:.28rem .58rem;
  border-radius:999px;
  background:#e8f6de;
  color:var(--nc-green-dark);
  font-size:.78rem;
  font-weight:900;
}
.nc-activity-item h3{
  margin:.1rem 0 .35rem;
  line-height:1.2;
}
.nc-activity-item p{
  margin:.2rem 0 .5rem;
}
.nc-activity-item time{
  color:var(--ah-muted);
  font-size:.9rem;
  font-weight:700;
}
.nc-empty-state{
  padding:24px;
  border:1px dashed var(--ah-border);
  border-radius:18px;
  background:var(--nc-soft);
}
.nc-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.nc-steps > div{
  padding:24px;
  border:1px solid var(--ah-border);
  border-radius:var(--ah-radius);
  background:#fff;
  box-shadow:var(--ah-shadow);
}
.nc-steps span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--nc-blue);
  color:#fff;
  font-weight:900;
}
.nc-steps h3{
  margin:.9rem 0 .4rem;
}
.nc-home-page-content{
  background:#fff;
  border:1px solid var(--ah-border);
  border-radius:var(--ah-radius);
  box-shadow:var(--ah-shadow);
  margin-top:32px;
}
.nc-dashboard-shell{
  max-width:1180px;
  margin:0 auto;
  padding:24px 18px 48px;
}
.nc-dashboard-hero{
  padding:34px;
  border-radius:24px;
  background:linear-gradient(135deg,var(--nc-blue-deep),var(--nc-blue));
  color:#fff;
  box-shadow:var(--ah-shadow);
}
.nc-dashboard-hero h1{
  max-width:780px;
  margin:.1rem 0 .6rem;
  font-size:clamp(2rem,5vw,3.8rem);
  line-height:1;
}
.nc-dashboard-hero p{
  max-width:740px;
  color:rgba(255,255,255,.9);
}
.nc-dashboard-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:18px 0 24px;
}
.nc-dashboard-cards a{
  border:1px solid var(--ah-border);
  box-shadow:var(--ah-shadow);
}
.nc-dashboard-content{
  background:#fff;
  border:1px solid var(--ah-border);
  border-radius:var(--ah-radius);
  padding:24px;
  box-shadow:var(--ah-shadow);
}
.nc-dashboard-content .single-page,
.nc-dashboard-content .cbs-dashboard{
  box-shadow:none;
  border:0;
  padding:0;
}

@media (max-width: 980px){
  .nc-home-hero__inner,
  .nc-home-grid{
    grid-template-columns:1fr;
  }
  .nc-quick-actions,
  .nc-dashboard-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 680px){
  .nc-home-hero{
    padding:30px 0;
  }
  .nc-home-hero__panel,
  .nc-dashboard-hero,
  .nc-dashboard-content{
    border-radius:20px;
    padding:20px;
  }
  .nc-quick-actions,
  .nc-dashboard-cards,
  .nc-steps{
    grid-template-columns:1fr;
  }
  .nc-home-hero__panel a,
  .nc-dashboard-cards a{
    padding:14px;
  }
}


/* ===============================
   NILES CONNECT STABILIZATION SUPPORT
   Version 1.0.12
   These utilities preserve the approved 1.0.8 visual direction while supporting
   page-level drop-in layouts and shortcode output.
================================= */
.nc-home-dropin .nc-stat-grid,
.nc-page .nc-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:0 0 32px;
}
.nc-home-dropin .nc-stat-card,
.nc-page .nc-stat-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  border:1px solid var(--ah-border);
  border-radius:var(--ah-radius);
  background:#fff;
  box-shadow:var(--ah-shadow);
  color:var(--nc-blue-deep);
  text-decoration:none;
  font-weight:800;
}
.nc-home-dropin .nc-stat-card:hover,
.nc-home-dropin .nc-stat-card:focus,
.nc-page .nc-stat-card:hover,
.nc-page .nc-stat-card:focus{
  transform:translateY(-2px);
  text-decoration:none;
}
.nc-home-dropin .nc-stat-card span,
.nc-page .nc-stat-card span{
  color:#475569;
  font-weight:800;
}
.nc-home-dropin .nc-stat-card strong,
.nc-page .nc-stat-card strong{
  color:var(--nc-green-dark);
  font-size:1.75rem;
  line-height:1;
}
.nc-latest-activity{
  display:grid;
  gap:14px;
}
.nc-page .nc-empty-state h3,
.nc-feed-panel .nc-empty-state h3{
  margin-top:0;
}
@media (max-width: 980px){
  .nc-home-dropin .nc-stat-grid,
  .nc-page .nc-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 680px){
  .nc-home-dropin .nc-stat-grid,
  .nc-page .nc-stat-grid{
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:20px;
  }
  .nc-home-dropin .nc-stat-card,
  .nc-page .nc-stat-card{
    padding:15px;
    border-radius:18px;
  }
}

/* ===============================
   NILES CONNECT HEADER + HOME STABILITY
   Version 1.0.15
   Purpose: compact header, better mobile behavior, and clean front-page wrapper.
================================= */

.site-header__inner {
  min-height: 58px !important;
  gap: 12px !important;
}

.site-branding {
  min-width: 0;
}

.site-logo-image,
.custom-logo {
  display: block;
  width: auto !important;
  max-width: min(190px, 34vw) !important;
  max-height: 42px !important;
  object-fit: contain;
}

.site-header__right {
  gap: 8px !important;
}

.main-navigation a {
  padding: .48rem .62rem !important;
  font-size: .94rem;
}

.menu-toggle,
.header-login-link,
.header-register-link {
  min-height: 38px !important;
  padding: .48rem .68rem !important;
  font-size: .9rem !important;
}

.header-auth-links {
  gap: 6px !important;
}

/* Front page should not look like a page card nested inside another page. */
body.home .page-content {
  padding-top: 16px !important;
  padding-bottom: 28px !important;
}

body.home .single-page {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.home .single-page > .entry-header {
  display: none !important;
}

body.home .single-page .entry-content {
  font-size: inherit !important;
}

body.home .nc-page {
  padding-top: 0 !important;
}

/* Keep the selected homepage block mobile-friendly without redesigning it. */
.nc-home-dropin .nc-hero {
  margin-bottom: 20px;
}

.nc-home-dropin .nc-icon {
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: .04em;
}

@media (max-width: 1000px) {
  .site-header__inner {
    min-height: 56px !important;
  }

  .site-logo-image,
  .custom-logo {
    max-width: min(165px, 38vw) !important;
    max-height: 38px !important;
  }

  .main-navigation {
    top: calc(100% + 8px) !important;
  }
}

@media (max-width: 700px) {
  .container {
    width: min(100% - 18px, 1160px);
  }

  .site-header__inner {
    min-height: 54px !important;
  }

  .site-logo-image,
  .custom-logo {
    max-width: min(142px, 42vw) !important;
    max-height: 34px !important;
  }

  .menu-toggle,
  .header-login-link,
  .header-register-link {
    min-height: 36px !important;
    padding: .42rem .58rem !important;
    font-size: .86rem !important;
  }

  body.home .page-content {
    padding-top: 10px !important;
  }

  .nc-home-dropin .nc-hero {
    padding: 24px 18px !important;
  }

  .nc-home-dropin .nc-hero h1 {
    font-size: clamp(1.8rem, 10vw, 2.65rem) !important;
    line-height: 1.04 !important;
  }
}

@media (max-width: 520px) {
  .header-auth-links {
    display: none !important;
  }

  .site-header__right {
    flex: 0 0 auto !important;
  }

  .site-logo-image,
  .custom-logo {
    max-width: min(132px, 48vw) !important;
    max-height: 32px !important;
  }
}


/* ===============================
   NILES CONNECT UTILITY HOME + COMPACT HEADER
   Version 1.0.17
   Purpose: reduce header/hero wordiness and make the homepage behave like a usable community dashboard.
================================= */

.site-header__inner {
  min-height: 48px !important;
  gap: 10px !important;
}

.site-logo-image,
.custom-logo {
  max-width: min(150px, 30vw) !important;
  max-height: 30px !important;
}

.main-navigation a {
  padding: .38rem .52rem !important;
  font-size: .88rem !important;
}

.menu-toggle,
.header-login-link,
.header-register-link {
  min-height: 34px !important;
  padding: .36rem .56rem !important;
  font-size: .84rem !important;
}

.site-header__right,
.header-auth-links {
  gap: 6px !important;
}

body.home .page-content {
  padding-top: 10px !important;
}

.nc-home-utility {
  padding-top: 0 !important;
}

.nc-home-utility .nc-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px !important;
  margin-bottom: 18px !important;
  border-radius: 20px !important;
}

.nc-home-utility .nc-hero::after {
  width: 160px;
  height: 160px;
  right: -70px;
  top: -70px;
}

.nc-home-utility .nc-hero-main {
  min-width: 0;
}

.nc-home-utility .nc-eyebrow {
  margin-bottom: 4px;
}

.nc-home-utility .nc-hero h1 {
  margin: 0 !important;
  font-size: clamp(1.45rem, 3.2vw, 2.35rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.025em;
}

.nc-home-utility .nc-hero-sub {
  margin: 6px 0 0 !important;
  max-width: 640px;
  font-size: .98rem !important;
  color: rgba(255,255,255,.88);
}

.nc-home-utility .nc-actions {
  flex: 0 0 auto;
  margin-top: 0 !important;
  justify-content: flex-end;
}

.nc-home-utility .nc-button {
  min-height: 40px;
  padding: .62rem .88rem;
}

.nc-home-utility .nc-feature-grid {
  margin-bottom: 22px;
}

.nc-home-utility .nc-feature-card {
  padding: 20px;
}

.nc-home-utility .nc-feature-card h2 {
  font-size: 1.18rem;
  margin-bottom: .35rem;
}

.nc-home-utility .nc-feature-card p {
  font-size: .95rem;
  line-height: 1.45;
  margin-bottom: 0;
}

.nc-home-utility .nc-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  margin-bottom: 10px;
}

.nc-home-utility .nc-feed-panel {
  padding: 20px;
}

.nc-home-utility .nc-section-header {
  align-items: center;
  margin-bottom: 14px;
}

@media (max-width: 900px) {
  .site-header__inner {
    min-height: 46px !important;
  }

  .site-logo-image,
  .custom-logo {
    max-width: min(132px, 36vw) !important;
    max-height: 28px !important;
  }

  .main-navigation {
    top: calc(100% + 6px) !important;
  }

  .nc-home-utility .nc-hero {
    align-items: flex-start;
    flex-direction: column;
    padding: 20px !important;
  }

  .nc-home-utility .nc-actions {
    width: 100%;
    justify-content: stretch;
  }

  .nc-home-utility .nc-actions .nc-button {
    flex: 1 1 0;
  }
}

@media (max-width: 620px) {
  .site-header__inner {
    min-height: 44px !important;
  }

  .site-logo-image,
  .custom-logo {
    max-width: min(118px, 44vw) !important;
    max-height: 26px !important;
  }

  .header-auth-links {
    display: none !important;
  }

  .menu-toggle {
    min-height: 32px !important;
    padding: .32rem .52rem !important;
  }

  .nc-home-utility .nc-page,
  .nc-page.nc-home-utility {
    padding-inline: 8px !important;
  }

  .nc-home-utility .nc-hero {
    padding: 18px !important;
    margin-bottom: 14px !important;
  }

  .nc-home-utility .nc-hero h1 {
    font-size: clamp(1.35rem, 7vw, 1.85rem) !important;
  }

  .nc-home-utility .nc-hero-sub {
    font-size: .92rem !important;
  }

  .nc-home-utility .nc-actions {
    flex-direction: column;
  }

  .nc-home-utility .nc-actions .nc-button {
    width: 100%;
  }

  .nc-home-utility .nc-feature-card,
  .nc-home-utility .nc-feed-panel {
    padding: 16px;
  }
}

/* ===============================
   NILES CONNECT HEADER AUTH VISIBILITY
   Version 1.0.17
   Purpose: keep login/register visible for guests while preserving compact header.
================================= */
.header-auth-links {
  display: inline-flex !important;
  align-items: center;
  gap: 6px !important;
  flex-wrap: nowrap;
}

.header-login-link,
.header-register-link {
  white-space: nowrap;
}

@media (max-width: 700px) {
  .site-header__inner {
    gap: 8px !important;
  }

  .site-logo-image,
  .custom-logo {
    max-width: min(108px, 30vw) !important;
    max-height: 26px !important;
  }

  .header-auth-links {
    display: inline-flex !important;
    gap: 4px !important;
  }

  .header-login-link,
  .header-register-link,
  .menu-toggle {
    min-height: 32px !important;
    padding: .32rem .48rem !important;
    font-size: .78rem !important;
  }
}

@media (max-width: 430px) {
  .site-logo-image,
  .custom-logo {
    max-width: min(88px, 24vw) !important;
    max-height: 24px !important;
  }

  .header-login-link,
  .header-register-link,
  .menu-toggle {
    padding: .28rem .38rem !important;
    font-size: .72rem !important;
  }
}


/* ===============================
   NILES CONNECT DESIGN SYSTEM CLEANUP
   Version 1.0.19
   Purpose: shared dashboard primitives for drop-in pages, cleaner mobile behavior,
   and auth-aware account UI presentation.
================================= */
:root{
  --nc-ink:var(--ah-ink);
  --nc-muted:var(--ah-muted);
  --nc-border:var(--ah-border);
  --nc-bg:var(--ah-bg);
  --nc-card:#fff;
  --nc-primary:var(--ah-blue);
  --nc-primary-dark:#051f40;
  --nc-accent:#67b531;
  --nc-accent-dark:#3f7f1f;
  --nc-radius:20px;
  --nc-radius-sm:14px;
  --nc-shadow:0 12px 34px rgba(8,47,95,.08);
}

body{
  background:var(--nc-bg);
}

.site-main.page-content{
  padding-top:16px;
}

.single-page{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}

.single-page > .entry-header{
  display:none;
}

.single-page .entry-content{
  font-size:inherit;
}

.nc-page{
  width:min(1180px,100%);
  margin-inline:auto;
  padding:0 0 42px;
}

.nc-dashboard-page{
  display:grid;
  gap:18px;
}

.nc-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:24px;
  margin-bottom:0;
  border-radius:var(--nc-radius);
  background:
    radial-gradient(circle at 92% 4%, rgba(103,181,49,.30), transparent 30%),
    linear-gradient(135deg,var(--nc-primary-dark),var(--nc-primary));
}

.nc-hero h1{
  margin:0;
  font-size:clamp(1.5rem,3.2vw,2.45rem);
  line-height:1.05;
  letter-spacing:-.025em;
}

.nc-hero-sub,
.nc-hero p{
  margin:7px 0 0;
  max-width:680px;
  font-size:.98rem;
  line-height:1.5;
  color:rgba(255,255,255,.88);
}

.nc-eyebrow,
.nc-kicker{
  margin:0 0 5px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.74rem;
  font-weight:900;
}

.nc-eyebrow{color:#d8e6f5;}
.nc-kicker{color:var(--nc-accent-dark)!important;}

.nc-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
  margin-top:0;
}

.nc-button,
.nc-page .cbs-button,
.nc-page .neighborly-button,
.nc-page .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  border:0;
  border-radius:999px;
  background:var(--nc-primary);
  color:#fff;
  padding:.62rem .9rem;
  font-weight:850;
  line-height:1.15;
  text-decoration:none;
  cursor:pointer;
}

.nc-button:hover,
.nc-button:focus,
.nc-page .cbs-button:hover,
.nc-page .cbs-button:focus,
.nc-page .neighborly-button:hover,
.nc-page .neighborly-button:focus,
.nc-page .button:hover,
.nc-page .button:focus{
  background:var(--nc-primary-dark);
  color:#fff;
  text-decoration:none;
}

.nc-button-light,
.nc-page .cbs-button-secondary{
  background:#fff;
  border:1px solid rgba(255,255,255,.75);
  color:var(--nc-primary);
}

.nc-button-light:hover,
.nc-button-light:focus,
.nc-page .cbs-button-secondary:hover,
.nc-page .cbs-button-secondary:focus{
  background:#eef4fa;
  color:var(--nc-primary);
}

.nc-feature-grid,
.nc-card-grid,
.nc-two-column-grid,
.nc-mini-grid{
  display:grid;
  gap:16px;
}

.nc-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.nc-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.nc-two-column-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.nc-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));}

.nc-feature-card,
.nc-card,
.nc-feed-panel,
.nc-section,
.nc-callout,
.nc-auth-card{
  min-width:0;
  background:var(--nc-card);
  border:1px solid var(--nc-border);
  border-radius:var(--nc-radius);
  box-shadow:var(--nc-shadow);
}

.nc-feature-card,
.nc-card,
.nc-auth-card{
  padding:20px;
}

.nc-feed-panel,
.nc-section,
.nc-callout{
  padding:20px;
}

.nc-feature-card,
a.nc-card{
  display:block;
  color:inherit;
  text-decoration:none;
  transition:transform .16s ease, box-shadow .16s ease;
}

.nc-feature-card:hover,
.nc-feature-card:focus,
a.nc-card:hover,
a.nc-card:focus{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(8,47,95,.13);
  text-decoration:none;
}

.nc-icon{
  display:inline-flex;
  width:42px;
  height:42px;
  margin-bottom:10px;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:#eef4fa;
  color:var(--nc-primary);
  font-size:.98rem;
  font-weight:900;
  letter-spacing:.04em;
}

.nc-card h2,
.nc-card h3,
.nc-feature-card h2,
.nc-feed-panel h2,
.nc-section h2,
.nc-callout h2,
.nc-auth-card h2{
  margin-top:0;
  color:var(--nc-primary);
  line-height:1.15;
}

.nc-card p,
.nc-feature-card p,
.nc-feed-panel p,
.nc-section p,
.nc-callout p,
.nc-auth-card p{
  color:var(--nc-muted);
}

.nc-section-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid var(--nc-border);
}

.nc-section-header h2{
  margin:0;
}

.nc-section-header a{
  font-weight:850;
  text-decoration:none;
}

.nc-panel-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.nc-auth-actions,
.nc-guest-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.nc-auth-note{
  margin-top:12px;
  padding:12px 14px;
  border-radius:var(--nc-radius-sm);
  background:#f7fbff;
  border:1px solid var(--nc-border);
  color:var(--nc-muted);
}

.nc-register-form{
  display:grid;
  gap:14px;
}

.nc-register-form .nc-form-row{
  display:grid;
  gap:7px;
}

.nc-register-form label{
  font-weight:800;
  color:var(--nc-ink);
}

.nc-register-form input[type="text"],
.nc-register-form input[type="email"],
.nc-register-form input[type="password"]{
  width:100%;
  min-height:46px;
  border:1px solid var(--nc-border);
  border-radius:12px;
  padding:.75rem .85rem;
  font:inherit;
}

.nc-register-form .nc-checkbox-row{
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.nc-register-form .nc-checkbox-row input{
  margin-top:.32rem;
}

.nc-alert{
  padding:13px 14px;
  border-radius:var(--nc-radius-sm);
  border:1px solid var(--nc-border);
  background:#f7fbff;
}

.nc-alert-success{
  border-color:rgba(103,181,49,.35);
  background:#f2faed;
}

.nc-alert-error{
  border-color:rgba(184,53,53,.28);
  background:#fff7f7;
}

@media (max-width: 1000px){
  .nc-feature-grid,
  .nc-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 720px){
  .site-main.page-content{padding-top:10px;}
  .nc-page{padding-bottom:32px;}
  .nc-hero{
    align-items:flex-start;
    flex-direction:column;
    padding:20px;
  }
  .nc-actions,
  .nc-hero .nc-actions{
    width:100%;
    justify-content:stretch;
  }
  .nc-actions .nc-button{
    flex:1 1 0;
  }
  .nc-feature-grid,
  .nc-card-grid,
  .nc-two-column-grid,
  .nc-mini-grid,
  .nc-activity-grid{
    grid-template-columns:1fr;
  }
  .nc-section-header{
    align-items:flex-start;
    flex-direction:column;
  }
  .nc-feature-card,
  .nc-card,
  .nc-feed-panel,
  .nc-section,
  .nc-callout,
  .nc-auth-card{
    padding:16px;
    border-radius:18px;
  }
}

@media (max-width: 430px){
  .nc-actions,
  .nc-panel-actions,
  .nc-auth-actions,
  .nc-guest-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .nc-button,
  .nc-page .cbs-button,
  .nc-page .neighborly-button,
  .nc-page .button{
    width:100%;
  }
}


/* =========================================================
   Auth-aware visibility and mobile hardening
   Version 1.0.20
========================================================= */
body.logged-in .nc-guest-only,
body:not(.logged-in) .nc-member-only,
body.logged-in .nc-page a[href*="/register/"],
body.logged-in .nc-page a[href*="wp-login.php?action=register"],
body.logged-in .nc-page a[href*="wp-login.php?registration"],
body.logged-in .nc-page a[href*="wp-login.php"]:not([href*="action=logout"]),
body:not(.logged-in) .nc-page a[href*="/dashboard/"]{
  display:none !important;
}

.header-auth-links{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.header-auth-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:.62rem .9rem;
  border-radius:999px;
  font-weight:850;
  line-height:1.1;
  text-decoration:none;
  white-space:nowrap;
}

.header-login-link{
  color:var(--ah-blue);
  background:#eef4fa;
}

.header-register-link{
  color:#fff;
  background:var(--ah-blue);
}

.header-auth-links a:hover,
.header-auth-links a:focus{
  text-decoration:none;
  filter:brightness(.96);
}

.site-logo-image{
  display:block;
  width:auto;
  max-width:220px;
  max-height:64px;
}

.nc-page,
.nc-page *{
  overflow-wrap:anywhere;
}

.nc-feed-panel,
.nc-section,
.nc-card,
.nc-feature-card,
.nc-auth-card,
.nc-callout{
  max-width:100%;
}

.nc-page iframe,
.nc-page video,
.nc-page table,
.nc-page pre{
  max-width:100%;
}

.nc-page table,
.nc-page pre{
  overflow-x:auto;
  display:block;
}

.nc-page input,
.nc-page select,
.nc-page textarea,
.nc-page button{
  max-width:100%;
}

@media (max-width: 900px){
  .site-header__inner{
    min-height:72px;
    gap:12px;
  }

  .site-header__right{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin-left:auto;
  }

  .site-logo-image{
    max-width:168px;
    max-height:52px;
  }

  .menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:.6rem .85rem;
    white-space:nowrap;
  }

  .main-navigation{
    left:12px;
    right:12px;
    top:72px;
    max-height:calc(100vh - 92px);
    overflow:auto;
  }

  .main-navigation ul,
  .main-navigation li,
  .main-navigation a{
    width:100%;
  }

  .main-navigation a{
    padding:.85rem .9rem;
  }

  .header-auth-links{
    gap:8px;
  }

  .header-auth-links a{
    min-height:40px;
    padding:.6rem .8rem;
  }
}

@media (max-width: 720px){
  .nc-dashboard-page,
  .nc-page{
    padding-left:14px;
    padding-right:14px;
  }

  .nc-hero,
  .nc-dashboard-hero{
    gap:18px;
    margin-bottom:20px;
  }

  .nc-hero h1,
  .nc-dashboard-hero h1{
    font-size:clamp(2rem, 11vw, 3.15rem);
    line-height:1;
  }

  .nc-hero-sub,
  .nc-hero p{
    font-size:1rem;
  }

  .nc-actions .nc-button,
  .nc-panel-actions .nc-button{
    justify-content:center;
    text-align:center;
  }

  .nc-content-block ul{
    padding-left:1.1rem;
  }
}

@media (max-width: 560px){
  .site-header__inner{
    min-height:66px;
  }

  .site-logo-image{
    max-width:138px;
    max-height:44px;
  }

  .site-header__right{
    gap:7px;
  }

  .header-auth-links{
    gap:6px;
  }

  .header-auth-links a{
    font-size:.84rem;
    min-height:36px;
    padding:.52rem .64rem;
  }

  .menu-toggle{
    min-height:36px;
    padding:.52rem .68rem;
    font-size:.88rem;
  }

  .main-navigation{
    top:66px;
  }
}

@media (max-width: 390px){
  .site-logo-image{
    max-width:118px;
  }

  .header-auth-links a{
    font-size:.78rem;
    padding:.48rem .54rem;
  }

  .menu-toggle{
    font-size:.82rem;
    padding:.48rem .58rem;
  }
}

/* =========================================================
   Member dashboard Community Board layout polish
   Version 1.0.24
   Purpose: prevent cramped Community Board actions, stop button text wrapping,
   and remove duplicate dashboard-level submit links where the shortcode already
   provides its own post action.
========================================================= */
.nc-member-dashboard-page #submissions > .nc-section-header > a[href*="/submit"]{
  display:none;
}

.nc-member-dashboard-page .nc-activity-grid{
  grid-template-columns:minmax(0,1fr) minmax(360px,1fr);
  align-items:start;
  gap:20px;
}

.nc-member-dashboard-page #submissions,
.nc-member-dashboard-page #submissions *{
  min-width:0;
}

.nc-member-dashboard-page #submissions .cbs-button,
.nc-member-dashboard-page #submissions .cbs-button-secondary,
.nc-member-dashboard-page #submissions .button,
.nc-member-dashboard-page #submissions .nc-button,
.nc-member-dashboard-page #submissions a[class*="button"],
.nc-member-dashboard-page #submissions button{
  width:auto;
  max-width:100%;
  min-width:max-content;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  text-align:center;
}

.nc-member-dashboard-page #submissions .cbs-button,
.nc-member-dashboard-page #submissions .button,
.nc-member-dashboard-page #submissions .nc-button,
.nc-member-dashboard-page #submissions a[class*="button"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.nc-member-dashboard-page #submissions .cbs-dashboard,
.nc-member-dashboard-page #submissions .cbs-user-dashboard,
.nc-member-dashboard-page #submissions .cbs-panel,
.nc-member-dashboard-page #submissions .cbs-card{
  max-width:100%;
}

@media (max-width: 900px){
  .nc-member-dashboard-page .nc-activity-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 430px){
  .nc-member-dashboard-page #submissions .cbs-button,
  .nc-member-dashboard-page #submissions .cbs-button-secondary,
  .nc-member-dashboard-page #submissions .button,
  .nc-member-dashboard-page #submissions .nc-button,
  .nc-member-dashboard-page #submissions a[class*="button"],
  .nc-member-dashboard-page #submissions button{
    min-width:0;
    width:100%;
  }
}


/* =========================================================
   NILES CONNECT HEADER SIZE + LOGO SCALE
   Version 1.0.24
   Purpose: restore a stronger header presence and make the logo easier to see
   while keeping the navigation responsive on tablets and phones.
========================================================= */
.site-header__inner{
  min-height:78px !important;
  gap:18px !important;
  padding-block:8px !important;
}

.site-branding{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
}

.site-logo-link,
.custom-logo-link{
  display:inline-flex !important;
  align-items:center !important;
  text-decoration:none !important;
}

.site-logo-image,
.custom-logo{
  display:block !important;
  width:auto !important;
  max-width:min(280px, 34vw) !important;
  max-height:72px !important;
  object-fit:contain !important;
}

.site-header__right{
  gap:12px !important;
}

.main-navigation a{
  padding:.62rem .78rem !important;
  font-size:.95rem !important;
}

.menu-toggle,
.header-login-link,
.header-register-link{
  min-height:42px !important;
  padding:.58rem .78rem !important;
  font-size:.92rem !important;
}

@media (max-width: 1000px){
  .site-header__inner{
    min-height:72px !important;
    gap:14px !important;
  }

  .site-logo-image,
  .custom-logo{
    max-width:min(240px, 38vw) !important;
    max-height:64px !important;
  }

  .main-navigation{
    top:calc(100% + 8px) !important;
  }
}

@media (max-width: 700px){
  .site-header__inner{
    min-height:66px !important;
    padding-block:6px !important;
  }

  .site-logo-image,
  .custom-logo{
    max-width:min(205px, 50vw) !important;
    max-height:56px !important;
  }

  .menu-toggle,
  .header-login-link,
  .header-register-link{
    min-height:38px !important;
    padding:.48rem .64rem !important;
    font-size:.86rem !important;
  }
}

@media (max-width: 520px){
  .site-header__inner{
    min-height:62px !important;
    gap:10px !important;
  }

  .site-logo-image,
  .custom-logo{
    max-width:min(185px, 62vw) !important;
    max-height:52px !important;
  }

  .site-header__right{
    flex:0 0 auto !important;
  }
}

@media (max-width: 380px){
  .site-logo-image,
  .custom-logo{
    max-width:min(165px, 58vw) !important;
    max-height:48px !important;
  }
}

/* =========================================================
   NILES CONNECT PAGE POLISH
   Version 1.0.25
   Purpose: remove misleading mixed-feed actions, reduce detached dashboard
   shortcuts, and tighten page spacing without changing shortcode output.
========================================================= */
.nc-home-page .nc-home-latest > .nc-section-header > a,
.nc-home-page .nc-home-latest .nc-section-header > a[href*="/forum"]{
  display:none !important;
}

.nc-member-dashboard-page .nc-dashboard-quicklinks{
  display:none !important;
}

.nc-dashboard-page{
  gap:14px;
}

.nc-page{
  padding-bottom:28px;
}

.site-main.page-content{
  padding-bottom:22px;
}

.site-footer{
  margin-top:22px;
}

.nc-forum-page .nc-forum-main,
.nc-business-page .nc-business-main,
.nc-safety-page .nc-safety-main,
.nc-help-page .nc-help-main,
.nc-submit-page .nc-submit-main,
.nc-member-dashboard-page .nc-dashboard-profile{
  margin-top:0;
}

.nc-feed-panel:empty{
  display:none;
}

.nc-feed-panel .cbs-feed > :last-child,
.nc-feed-panel .neighborly-forum > :last-child,
.nc-feed-panel .neighborly-latest > :last-child,
.nc-feed-panel .neighborly-profile > :last-child{
  margin-bottom:0;
}

@media (max-width: 720px){
  .nc-dashboard-page{
    gap:12px;
  }

  .nc-page{
    padding-bottom:22px;
  }

  .site-footer{
    margin-top:16px;
  }
}

/* =========================================================
   NILES CONNECT DESIGN SYSTEM FOUNDATION
   Version 1.0.26
   Purpose: centralize visual rules for pages and shortcode/plugin output so
   plugins supply data and behavior while the theme controls presentation.
========================================================= */
:root{
  --nc-blue:var(--ah-blue);
  --nc-blue-dark:#061f40;
  --nc-blue-soft:#eef4fa;
  --nc-green:#2f8f2f;
  --nc-green-soft:#eef8ee;
  --nc-red:#b42318;
  --nc-red-soft:#fff1f0;
  --nc-gold:#986f00;
  --nc-gold-soft:#fff8df;
  --nc-ink:var(--ah-ink);
  --nc-muted:var(--ah-muted);
  --nc-border:var(--ah-border);
  --nc-bg:var(--ah-bg);
  --nc-card:#fff;
  --nc-radius:var(--ah-radius);
  --nc-radius-sm:12px;
  --nc-shadow:var(--ah-shadow);
  --nc-shadow-strong:0 18px 48px rgba(8,47,95,.12);
  --nc-space-1:6px;
  --nc-space-2:10px;
  --nc-space-3:14px;
  --nc-space-4:18px;
  --nc-space-5:24px;
  --nc-space-6:32px;
  --nc-space-7:42px;
}

.nc-page,
.nc-page *{
  overflow-wrap:break-word;
}

.nc-page{
  width:min(1180px, calc(100% - 32px));
  max-width:1180px;
  margin-inline:auto;
  padding-inline:0;
}

.nc-section,
.nc-card,
.nc-feed,
.nc-feed-panel,
.nc-form-panel,
.nc-empty-state,
.nc-alert,
.nc-notice{
  background:var(--nc-card);
  border:1px solid var(--nc-border);
  border-radius:var(--nc-radius);
  box-shadow:var(--nc-shadow);
}

.nc-section,
.nc-card,
.nc-feed,
.nc-feed-panel,
.nc-form-panel{
  padding:var(--nc-space-5);
}

.nc-grid,
.nc-feature-grid,
.nc-activity-grid,
.nc-dashboard-top,
.nc-dashboard-main,
.nc-dashboard-shortcuts{
  gap:var(--nc-space-5);
}

.nc-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
}

.nc-grid-2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--nc-space-5);
}

.nc-grid-3{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:var(--nc-space-5);
}

.nc-grid-4{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:var(--nc-space-5);
}

.nc-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--nc-space-5);
  min-height:128px;
  padding:clamp(24px, 4vw, 38px);
}

.nc-hero-main{
  max-width:760px;
}

.nc-hero h1{
  font-size:clamp(2rem, 4.8vw, 3.6rem);
  line-height:1;
  margin-bottom:.35rem;
}

.nc-hero-sub,
.nc-hero p{
  font-size:clamp(.96rem, 1.6vw, 1.08rem);
}

.nc-kicker,
.nc-eyebrow{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
  font-weight:900;
}

.nc-kicker{
  color:var(--nc-green);
  margin:0 0 .35rem;
}

.nc-section-header{
  align-items:center;
  margin-bottom:var(--nc-space-4);
  padding-bottom:var(--nc-space-3);
}

.nc-section-header h2{
  margin-bottom:0;
}

.nc-section-header > a{
  white-space:nowrap;
  font-weight:900;
  font-size:.92rem;
}

.nc-button,
.nc-button-secondary,
.nc-page .button,
.nc-page button,
.nc-page input[type="button"],
.nc-page input[type="submit"],
.nc-page .cbs-button,
.nc-page .neighborly-button,
.nc-page a[class*="button"]{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  border:0;
  border-radius:999px;
  padding:.72rem 1rem;
  background:var(--nc-blue);
  color:#fff;
  font-weight:900;
  line-height:1.15;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
}

.nc-button:hover,
.nc-button:focus,
.nc-button-secondary:hover,
.nc-button-secondary:focus,
.nc-page .button:hover,
.nc-page .button:focus,
.nc-page button:hover,
.nc-page button:focus,
.nc-page input[type="button"]:hover,
.nc-page input[type="button"]:focus,
.nc-page input[type="submit"]:hover,
.nc-page input[type="submit"]:focus,
.nc-page .cbs-button:hover,
.nc-page .cbs-button:focus,
.nc-page .neighborly-button:hover,
.nc-page .neighborly-button:focus,
.nc-page a[class*="button"]:hover,
.nc-page a[class*="button"]:focus{
  background:var(--nc-blue-dark);
  color:#fff;
  text-decoration:none;
}

.nc-button-light,
.nc-button-secondary,
.nc-page .cbs-button-secondary,
.nc-page .neighborly-button-secondary{
  background:#fff;
  color:var(--nc-blue);
  border:1px solid rgba(8,47,95,.18);
}

.nc-button-light:hover,
.nc-button-light:focus,
.nc-button-secondary:hover,
.nc-button-secondary:focus,
.nc-page .cbs-button-secondary:hover,
.nc-page .cbs-button-secondary:focus,
.nc-page .neighborly-button-secondary:hover,
.nc-page .neighborly-button-secondary:focus{
  background:var(--nc-blue-soft);
  color:var(--nc-blue);
}

.nc-feature-card,
.nc-card{
  min-height:100%;
}

.nc-feature-card h2,
.nc-card h2{
  margin-bottom:.55rem;
}

.nc-feature-card p,
.nc-card p{
  margin-bottom:0;
}

.nc-status-badge,
.nc-badge,
.nc-page .status,
.nc-page .cbs-status,
.nc-page .neighborly-status{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  border-radius:999px;
  padding:.28rem .62rem;
  background:var(--nc-blue-soft);
  color:var(--nc-blue);
  font-size:.78rem;
  font-weight:900;
  line-height:1.1;
}

.nc-status-badge.is-live,
.nc-status-badge.is-approved,
.nc-page .status-publish,
.nc-page .is-published{
  background:var(--nc-green-soft);
  color:var(--nc-green);
}

.nc-status-badge.is-pending,
.nc-page .status-pending,
.nc-page .is-pending{
  background:var(--nc-gold-soft);
  color:var(--nc-gold);
}

.nc-status-badge.is-danger,
.nc-status-badge.is-trash,
.nc-page .status-trash,
.nc-page .is-trash{
  background:var(--nc-red-soft);
  color:var(--nc-red);
}

.nc-alert,
.nc-notice{
  padding:var(--nc-space-4) var(--nc-space-5);
  background:#f7fbff;
  border-color:#cfe0f0;
}

.nc-alert strong,
.nc-notice strong{
  color:var(--nc-blue);
}

.nc-alert-warning,
.nc-notice-warning,
.nc-safety-notice{
  background:var(--nc-gold-soft);
  border-color:#f2d878;
}

.nc-alert-danger,
.nc-notice-danger{
  background:var(--nc-red-soft);
  border-color:#ffd0cc;
}

.nc-empty-state,
.nc-page .empty-state,
.nc-page .cbs-empty,
.nc-page .neighborly-empty{
  padding:var(--nc-space-5);
  background:#fbfdff;
  border-style:dashed;
  color:var(--nc-muted);
}

.nc-empty-state p,
.nc-page .empty-state p,
.nc-page .cbs-empty p,
.nc-page .neighborly-empty p{
  margin-bottom:.75rem;
}

.nc-feed-panel article,
.nc-feed-panel .cbs-item,
.nc-feed-panel .cbs-card,
.nc-feed-panel .neighborly-card,
.nc-feed-panel .neighborly-thread-card,
.nc-feed-panel .neighborly-category-card,
.nc-feed-panel .nc-feed-item{
  border:1px solid var(--nc-border);
  border-radius:var(--nc-radius-sm);
  background:#fff;
  padding:var(--nc-space-4);
}

.nc-feed-panel article + article,
.nc-feed-panel .cbs-item + .cbs-item,
.nc-feed-panel .cbs-card + .cbs-card,
.nc-feed-panel .neighborly-card + .neighborly-card,
.nc-feed-panel .neighborly-thread-card + .neighborly-thread-card,
.nc-feed-panel .nc-feed-item + .nc-feed-item{
  margin-top:var(--nc-space-3);
}

.nc-feed-panel img,
.nc-feed-panel video,
.nc-feed-panel iframe{
  max-width:100%;
  border-radius:10px;
}

.nc-feed-panel iframe,
.nc-feed-panel video{
  aspect-ratio:16 / 9;
  height:auto;
}

.nc-form-panel,
.nc-page form{
  max-width:100%;
}

.nc-form-panel label,
.nc-page form label{
  font-weight:900;
  color:var(--nc-blue);
}

.nc-form-panel input,
.nc-form-panel select,
.nc-form-panel textarea,
.nc-page form input[type="text"],
.nc-page form input[type="email"],
.nc-page form input[type="url"],
.nc-page form input[type="tel"],
.nc-page form input[type="number"],
.nc-page form input[type="password"],
.nc-page form input[type="date"],
.nc-page form select,
.nc-page form textarea{
  min-height:44px;
  width:100%;
  border:1px solid var(--nc-border);
  border-radius:12px;
  padding:.75rem .85rem;
  background:#fff;
  color:var(--nc-ink);
  font:inherit;
}

.nc-page form textarea{
  min-height:132px;
}

.nc-page form input:focus,
.nc-page form select:focus,
.nc-page form textarea:focus{
  outline:3px solid rgba(8,47,95,.16);
  border-color:var(--nc-blue);
}

/* Dashboard command-center layout support. */
.nc-member-dashboard-page .nc-dashboard-top{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(320px, .92fr);
  align-items:start;
}

.nc-member-dashboard-page .nc-dashboard-shortcuts{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  margin:var(--nc-space-5) 0;
}

.nc-member-dashboard-page .nc-dashboard-shortcuts .nc-feature-card{
  padding:20px;
}

.nc-member-dashboard-page .nc-dashboard-shortcuts .nc-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  font-size:1rem;
}

.nc-member-dashboard-page .nc-dashboard-submissions{
  margin-top:0;
}

.nc-member-dashboard-page .nc-dashboard-profile .nc-section-header,
.nc-member-dashboard-page .nc-dashboard-top .nc-section-header{
  margin-bottom:var(--nc-space-3);
}

.nc-member-dashboard-page .nc-dashboard-profile .nc-profile-card,
.nc-member-dashboard-page .nc-dashboard-profile .profile-card,
.nc-member-dashboard-page .nc-dashboard-profile .niles-profile-card{
  box-shadow:none;
}

/* Page-specific utility refinements. */
.nc-home-page .nc-home-latest > .nc-section-header > a,
.nc-home-page .nc-home-latest .nc-section-header > a[href*="/forum"]{
  display:none !important;
}

.nc-safety-notice .nc-content-block p:last-child,
.nc-submit-main .nc-content-intro p:last-child{
  margin-bottom:0;
}

/* Navigation normalization for the simplified IA. */
.main-navigation a,
.header-login-link,
.header-register-link{
  min-height:40px;
  display:inline-flex;
  align-items:center;
}

.header-auth-links{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}

@media (max-width: 1100px){
  .main-navigation a{
    padding:.55rem .62rem !important;
    font-size:.88rem !important;
  }
}

@media (max-width: 900px){
  .nc-page{
    width:min(100% - 24px, 1180px);
  }

  .nc-hero{
    display:block;
    min-height:auto;
  }

  .nc-actions{
    margin-top:var(--nc-space-4);
  }

  .nc-grid-2,
  .nc-grid-3,
  .nc-grid-4,
  .nc-feature-grid,
  .nc-activity-grid,
  .nc-member-dashboard-page .nc-dashboard-top,
  .nc-member-dashboard-page .nc-dashboard-shortcuts{
    grid-template-columns:1fr !important;
  }

  .nc-section,
  .nc-card,
  .nc-feed,
  .nc-feed-panel,
  .nc-form-panel{
    padding:20px;
  }

  .nc-section-header{
    align-items:flex-start;
  }
}

@media (max-width: 560px){
  .nc-page{
    width:min(100% - 20px, 1180px);
  }

  .nc-hero{
    padding:22px 18px;
    border-radius:16px;
  }

  .nc-hero h1{
    font-size:clamp(1.8rem, 10vw, 2.45rem);
  }

  .nc-actions,
  .nc-panel-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .nc-button,
  .nc-button-light,
  .nc-button-secondary,
  .nc-page .button,
  .nc-page button,
  .nc-page input[type="submit"],
  .nc-page .cbs-button,
  .nc-page .neighborly-button,
  .nc-page a[class*="button"]{
    width:100%;
    min-width:0;
    white-space:normal;
    text-align:center;
  }

  .nc-section-header{
    display:block;
  }

  .nc-section-header > a{
    display:inline-flex;
    margin-top:10px;
  }

  .nc-feed-panel article,
  .nc-feed-panel .cbs-item,
  .nc-feed-panel .cbs-card,
  .nc-feed-panel .neighborly-card,
  .nc-feed-panel .neighborly-thread-card,
  .nc-feed-panel .neighborly-category-card,
  .nc-feed-panel .nc-feed-item{
    padding:14px;
  }
}


/* =========================================================
   NILES CONNECT FLOW + NAVIGATION NORMALIZATION
   Version 1.0.27
   Purpose: support the approved information architecture and make the
   simplified pages feel intentional, compact, and consistent across plugins.
========================================================= */
.site-header__right{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.main-navigation .nc-primary-menu-fallback,
.main-navigation .menu{
  gap:6px;
}

.main-navigation .nc-primary-menu-fallback a,
.main-navigation .menu a{
  white-space:nowrap;
}

.header-register-link,
.header-login-link{
  border-radius:999px;
  padding:.58rem .86rem;
  font-weight:900;
}

.header-register-link{
  background:var(--nc-blue, var(--ah-blue));
  color:#fff;
}

.header-register-link:hover,
.header-register-link:focus{
  background:var(--nc-blue-dark, #061f40);
  color:#fff;
  text-decoration:none;
}

.header-login-link{
  color:var(--nc-blue, var(--ah-blue));
}

/* Page flow defaults: compact hero, feed first, supporting content later. */
.nc-home-page,
.nc-forum-page,
.nc-business-page,
.nc-safety-page,
.nc-help-page,
.nc-submit-page,
.nc-member-dashboard-page{
  display:flex;
  flex-direction:column;
  gap:var(--nc-space-5, 24px);
}

.nc-home-page .nc-hero,
.nc-forum-page .nc-hero,
.nc-business-page .nc-hero,
.nc-safety-page .nc-hero,
.nc-help-page .nc-hero,
.nc-submit-page .nc-hero,
.nc-member-dashboard-page .nc-hero{
  margin-bottom:0;
}

.nc-home-page .nc-feed-panel,
.nc-forum-page .nc-feed-panel,
.nc-business-page .nc-feed-panel,
.nc-safety-page .nc-feed-panel,
.nc-help-page .nc-feed-panel,
.nc-submit-page .nc-feed-panel,
.nc-member-dashboard-page .nc-feed-panel{
  margin-bottom:0;
}

.nc-home-page .nc-home-secondary,
.nc-member-dashboard-page .nc-dashboard-main,
.nc-member-dashboard-page .nc-dashboard-top{
  margin-top:0;
}

/* Dashboard command-center refinement for the proposed profile + forum top row. */
.nc-member-dashboard-page .nc-dashboard-top{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(300px, .92fr);
  gap:var(--nc-space-5, 24px);
  align-items:start;
}

.nc-member-dashboard-page .nc-dashboard-shortcuts{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  margin:0;
}

.nc-member-dashboard-page .nc-dashboard-submissions{
  margin-top:0;
}

/* Make shortcode cards less visually bulky inside dashboard columns. */
.nc-member-dashboard-page .nc-dashboard-profile .nc-profile-card,
.nc-member-dashboard-page .nc-dashboard-profile .niles-profile-card,
.nc-member-dashboard-page .nc-dashboard-profile .profile-card,
.nc-member-dashboard-page .nc-dashboard-top .neighborly-user-dashboard,
.nc-member-dashboard-page .nc-dashboard-top .neighborly-dashboard,
.nc-member-dashboard-page .nc-dashboard-top .neighborly-profile{
  box-shadow:none !important;
}

/* Feed/action link hierarchy. Main content sections use small utility links,
   while page actions use full buttons. */
.nc-section-header > a:not(.nc-button){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  border-radius:999px;
  padding:.35rem .65rem;
  color:var(--nc-blue, var(--ah-blue));
}

.nc-section-header > a:not(.nc-button):hover,
.nc-section-header > a:not(.nc-button):focus{
  background:var(--nc-blue-soft, #eef4fa);
  text-decoration:none;
}

/* Keep mixed latest activity from implying one true archive. */
.nc-home-page .nc-home-latest .nc-section-header > a{
  display:none !important;
}

/* Safety notice should be compact but prominent. */
.nc-safety-notice{
  border-left:5px solid var(--nc-gold, #986f00);
}

.nc-safety-notice .nc-section-header{
  border-bottom:0;
  margin-bottom:8px;
  padding-bottom:0;
}

/* Submit hub: give the hub room without surrounding filler. */
.nc-submit-page .nc-submit-main .nc-content-intro{
  margin-bottom:var(--nc-space-4, 18px);
}

/* Feature cards used as late-page shortcuts should stay compact. */
.nc-home-quicklinks .nc-feature-card,
.nc-dashboard-shortcuts .nc-feature-card{
  min-height:auto;
}

@media (max-width: 1120px){
  .site-header__inner{
    gap:18px;
  }

  .main-navigation .menu a,
  .main-navigation .nc-primary-menu-fallback a{
    padding:.52rem .56rem !important;
    font-size:.84rem !important;
  }

  .header-auth-links{
    gap:6px;
  }
}

@media (max-width: 900px){
  .site-header__right{
    gap:8px;
  }

  .main-navigation .menu,
  .main-navigation .nc-primary-menu-fallback{
    display:grid;
    grid-template-columns:1fr;
    gap:4px;
  }

  .main-navigation .menu a,
  .main-navigation .nc-primary-menu-fallback a{
    min-height:42px;
    width:100%;
    justify-content:flex-start;
    font-size:1rem !important;
  }

  .nc-member-dashboard-page .nc-dashboard-top,
  .nc-member-dashboard-page .nc-dashboard-shortcuts{
    grid-template-columns:1fr !important;
  }
}

@media (max-width: 560px){
  .header-auth-links{
    max-width:48vw;
    overflow:hidden;
  }

  .header-login-link,
  .header-register-link{
    min-height:36px !important;
    padding:.44rem .58rem !important;
    font-size:.82rem !important;
  }

  .nc-home-page,
  .nc-forum-page,
  .nc-business-page,
  .nc-safety-page,
  .nc-help-page,
  .nc-submit-page,
  .nc-member-dashboard-page{
    gap:18px;
  }
}

/* =========================================================
   NILES CONNECT HOMEPAGE LAUNCH POLISH
   Version 1.0.28
   Purpose: support the streamlined repeat-user homepage with compact
   quick actions, stronger mobile scanability, and cleaner live-feed panels.
========================================================= */
body.home .site-main.page-content,
body.front-page .site-main.page-content{
  padding-top:12px;
}

.nc-home-page{
  --nc-home-gap:clamp(16px, 2.6vw, 26px);
  gap:var(--nc-home-gap);
}

.nc-home-page .nc-home-hero{
  min-height:auto;
  padding:clamp(22px, 4vw, 34px);
  border-radius:22px;
}

.nc-home-page .nc-home-hero .nc-hero-main{
  min-width:0;
}

.nc-home-page .nc-home-hero h1{
  max-width:780px;
  font-size:clamp(1.85rem, 4vw, 3.2rem);
  line-height:1.02;
}

.nc-home-page .nc-home-hero .nc-hero-sub{
  max-width:680px;
  font-size:clamp(.98rem, 1.7vw, 1.1rem);
}

.nc-home-page .nc-home-quicklinks{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  margin:0;
}

.nc-home-page .nc-home-quicklinks .nc-feature-card{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  grid-template-areas:"icon title" "icon copy";
  column-gap:13px;
  row-gap:2px;
  align-items:start;
  min-height:0;
  padding:18px;
}

.nc-home-page .nc-home-quicklinks .nc-icon{
  grid-area:icon;
  width:38px;
  height:38px;
  margin:0;
  border-radius:13px;
  font-size:.82rem;
}

.nc-home-page .nc-home-quicklinks h2{
  grid-area:title;
  margin:0;
  font-size:1.05rem;
  line-height:1.18;
}

.nc-home-page .nc-home-quicklinks p{
  grid-area:copy;
  margin:.25rem 0 0;
  font-size:.9rem;
  line-height:1.38;
}

.nc-home-page .nc-stat-grid{
  margin:0;
}

.nc-home-page .nc-home-latest,
.nc-home-page .nc-home-secondary,
.nc-home-page .nc-home-final-cta{
  margin:0;
}

.nc-home-page .nc-home-latest .nc-section-header > a{
  display:inline-flex !important;
}

.nc-home-page .nc-feed-panel{
  padding:clamp(18px, 2.5vw, 24px);
}

.nc-home-page .nc-section-header{
  align-items:center;
}

.nc-home-page .nc-section-header h2{
  font-size:clamp(1.25rem, 2vw, 1.55rem);
}

.nc-home-page .nc-latest-activity,
.nc-home-page .cbs-feed,
.nc-home-page .neighborly-latest{
  display:grid;
  gap:12px;
}

.nc-home-page .nc-activity-item,
.nc-home-page .cbs-item,
.nc-home-page .cbs-card,
.nc-home-page .neighborly-card,
.nc-home-page .neighborly-thread-card,
.nc-home-page .neighborly-category-card,
.nc-home-page .nc-feed-item{
  border:1px solid var(--nc-border, var(--ah-border));
  border-radius:16px;
  background:#fbfdff;
}

.nc-home-page .nc-home-final-cta{
  padding:clamp(20px, 3vw, 28px);
}

.nc-home-page .nc-home-final-cta h2{
  margin:0;
  max-width:720px;
  font-size:clamp(1.35rem, 3vw, 2.1rem);
  line-height:1.08;
}

@media (max-width: 1080px){
  .nc-home-page .nc-home-quicklinks{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px){
  .nc-home-page .nc-home-hero,
  .nc-home-page .nc-home-final-cta{
    display:block;
  }

  .nc-home-page .nc-actions{
    display:flex;
    flex-wrap:wrap;
    margin-top:16px;
  }

  .nc-home-page .nc-actions .nc-button{
    flex:1 1 180px;
  }
}

@media (max-width: 620px){
  body.home .site-main.page-content,
  body.front-page .site-main.page-content{
    padding-top:8px;
  }

  .nc-home-page{
    width:min(100% - 18px, 1180px);
    gap:14px;
    padding-bottom:30px;
  }

  .nc-home-page .nc-home-hero,
  .nc-home-page .nc-feed-panel,
  .nc-home-page .nc-home-final-cta{
    border-radius:17px;
  }

  .nc-home-page .nc-home-hero{
    padding:20px 18px;
  }

  .nc-home-page .nc-home-hero h1{
    font-size:clamp(1.65rem, 8vw, 2.25rem);
  }

  .nc-home-page .nc-home-hero .nc-hero-sub{
    font-size:.95rem;
  }

  .nc-home-page .nc-home-quicklinks{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px;
  }

  .nc-home-page .nc-home-quicklinks .nc-feature-card{
    display:block;
    padding:14px;
    border-radius:16px;
  }

  .nc-home-page .nc-home-quicklinks .nc-icon{
    width:34px;
    height:34px;
    margin-bottom:8px;
    border-radius:12px;
    font-size:.76rem;
  }

  .nc-home-page .nc-home-quicklinks h2{
    font-size:.98rem;
  }

  .nc-home-page .nc-home-quicklinks p{
    font-size:.84rem;
    line-height:1.32;
  }

  .nc-home-page .nc-section-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
  }

  .nc-home-page .nc-section-header > a{
    margin-top:0;
    flex:0 0 auto;
  }

  .nc-home-page .nc-actions{
    display:grid;
    grid-template-columns:1fr;
  }
}

@media (max-width: 380px){
  .nc-home-page .nc-home-quicklinks{
    grid-template-columns:1fr !important;
  }
}
