.page-id-1127 .hero-section,
.page-id-1619 .hero-section,
.page-id-1652 .hero-section,
.page-id-1737 .hero-section,
.page-id-1680 .hero-section,
.page-id-1681 .hero-section,
.page-id-1661 .hero-section,
.page-id-1745 .hero-section,
.page-id-1747 .hero-section,
.page-id-1759 .hero-section,
.page-id-1745 .hero-section,
.page-id-1747 .hero-section {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
}


.page-id-1619 .entry-content,
.page-id-1737 .entry-content,
.page-id-1127 .entry-content,
.page-id-1652 .entry-content,
.page-id-1680 .entry-content,
.page-id-1681 .entry-content,
.page-id-1661 .entry-content,
.page-id-1745 .entry-content,
.page-id-1747 .entry-content,
.page-id-1759 .entry-content,
.page-id-1745 .entry-content,
.page-id-1747 .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Collapse hero section when it contains no visible title (works site-wide) */
.hero-section:not(:has(.page-title:not([style*="display:none"]))) {
  display: none !important;
}

/* Site-wide: reduce top padding of main content wrapper */
.ct-container-full {
  padding-top: 20px !important;
}

/* -----------------------------------------------
   NAV — Pre-Approval button (6th item)
----------------------------------------------- */
.header-menu-1 ul.menu > li:nth-child(7) > a {
  color: #ffffff !important;
  font-weight: 700 !important;
  background-color: #16a34a !important;
  border: 2px solid #16a34a !important;
  border-radius: 6px !important;
  padding: 4px 10px !important;
}
.header-menu-1 ul.menu > li:nth-child(7) > a:hover {
  background-color: #15803d !important;
  border-color: #15803d !important;
  color: #ffffff !important;
}

/* -----------------------------------------------
   HEADER — portrait image
----------------------------------------------- */
.site-logo-container img {
  width: 175px !important;
  height: 175px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
  object-position: 75% 55% !important;
}

/* -----------------------------------------------
   HEADER — site title positioning
----------------------------------------------- */
.site-branding[data-id="logo"] {
  position: relative !important;
}
.site-title {
  position: absolute !important;
  left: 200px !important;
  top: 25px !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}
.site-title a,
.site-title a:link,
.site-title a:visited,
.site-title a:hover {
  color: #000000 !important;
  text-decoration: none !important;
}

/* -----------------------------------------------
   CALENDAR PAGES — center content
----------------------------------------------- */
.page-id-1209 .entry-content.is-layout-constrained,
.page-id-1266 .entry-content.is-layout-constrained,
.page-id-1271 .entry-content.is-layout-constrained,
.page-id-1286 .entry-content.is-layout-constrained {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* -----------------------------------------------
   FOOTER — light background
----------------------------------------------- */
#footer,
#footer .ct-footer,
.ct-footer[data-id="type-1"],
.ct-footer[data-row="bottom"] {
  background-color: #FAFBFC !important;
}

/* -----------------------------------------------
   MOBILE
----------------------------------------------- */
@media (max-width: 768px) {
  .site-logo-container img {
    width: 125px !important;
    height: 125px !important;
  }
  .site-title {
    font-size: 0.7rem !important;
    left: 120px !important;
    top: 10px !important;
  }
  .site-title a,
  .site-title a:link,
  .site-title a:visited,
  .site-title a:hover {
    font-size: .9rem !important;
  }
}

/* -----------------------------------------------
   FEATURED IMAGES — uniform size, centered
----------------------------------------------- */
.ct-featured-image img,
.entry-thumbnail img,
.wp-block-post-featured-image img {
  max-width: 800px !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* -----------------------------------------------
   HIDE PAGE/POST TITLE — add class "hide-title"
----------------------------------------------- */

.hide-title {
  border: 10px solid red !important;
}

.hide-title .entry-title,
.hide-title .page-title,
.hide-title .ct-page-title,
.hide-title .hero-section,
.hide-title .entry-header {
  display: none !important;
}

/* Hide title area on specific page */

.page-id-1619 .hero-section {
    display: none !important;
}

/* --- WPWriter addition --- */


/* === Michael Wolff – Site CSS (clean, unified additions) ================== */

/* --- Base Readability --- */
body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.65;
  color: #1b1b1b;
  margin: 0;
  padding: 0;
}

h1 { line-height: 1.2; margin-bottom: 8px; }
h2 { margin-top: 40px; }

/* --- CTA Box --- */
.cta {
  background: #0a66c2;
  color: #fff;
  padding: 10px 12px;
  border-radius: 8px;
}

.cta a, .cta a:link, .cta a:visited {
  color: #ffff00 !important;
  font-weight: 800;
  text-decoration: underline;
  text-shadow: 1px 1px 0 #000;
}

.cta a:hover, .cta a:active {
  color: #fff !important;
  text-shadow: 0 0 8px rgba(255, 255, 255, 1);
}

/* --- Quote / Pullquote --- */
blockquote {
  border-left: 4px solid #e6e8ec;
  padding-left: 12px;
  color: #424242;
  margin-left: 0;
}

/* --- FAQ Styling --- */
.faq-rollup {
  border: 1px solid #e5e7eb;
  margin: 15px 0;
  border-radius: 6px;
  overflow: hidden;
}

.faq-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  background: #f9fafb;
  cursor: pointer;
  font-weight: 600;
  color: #183153;
  border: none;
  width: 100%;
  text-align: left;
}

.faq-toggle:hover { background: #f3f4f6; }
.faq-toggle::after {
  content: '▼';
  font-size: 12px;
  transition: transform 0.3s;
}
.faq-rollup.mw-open .faq-toggle::after { transform: rotate(-180deg); }
.faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s;
  background: white;
}
.faq-rollup.mw-open .faq-content {
  max-height: 500px;
  padding: 16px;
  border-top: 1px solid #e5e7eb;
}

/* === STATE DIFFERENCE CARDS === */
.state-difference-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 30px 0;
}
.state-card {
  border: 1px solid #e6e8ec;
  border-radius: 6px;
  padding: 20px;
  background: #f7f9fc;
  transition: all 0.3s ease;
}
.state-card:hover {
  border-color: #0a66c2;
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(10, 102, 194, 0.15);
}
.state-card h3 {
  color: #0a66c2;
  margin: 0 0 12px 0;
  font-size: 18px;
  font-weight: 600;
}
.state-card p {
  color: #424242;
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
}

/* === CITY PIPES === */
.city-pipes {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}
.city-pipes a {
  color: #0a66c2;
  text-decoration: underline;
  font-weight: 600;
  transition: color 0.2s ease;
}
.city-pipes a:hover { color: #054a8b; }

/* === Site Layout Fixes === */
.site-header,
.site-footer { max-width: none !important; }
.mw-doc header,
.mw-doc main,
.mw-doc footer {
  max-width: 800px;
  margin: 0 auto;
}
ul { padding-left: 20px; }

/* === North Carolina State Hub === */
body .mw-nc-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 24px 18px 54px;
  font-family: "DM Sans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: #0f172a;
}
body .mw-nc-hero {
  background: linear-gradient(135deg, #102a55, #1e40af);
  color: #fff;
  border-radius: 20px;
  padding: 44px 38px;
  margin-bottom: 34px;
}
body .mw-nc-hero h1 {
  margin: 0 0 12px;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: #fff;
}
body .mw-nc-hero p {
  max-width: 820px;
  margin: 0 0 24px;
  font-size: 18px;
  line-height: 1.55;
  color: #e0ecff;
}
body .mw-nc-actions { display: flex; gap: 12px; flex-wrap: wrap; }
body .mw-nc-btn {
  display: inline-block;
  padding: 12px 22px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 14px;
  text-decoration: none;
}
body .mw-nc-btn.primary { background: #fff; color: #0a66c2; }
body .mw-nc-btn.secondary {
  background: rgba(255,255,255,.12);
  color: #fff;
  border: 1px solid rgba(255,255,255,.35);
}
body .mw-nc-section { margin: 36px 0; }
body .mw-nc-eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  color: #0a66c2;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body .mw-nc-section h2,
body .mw-nc-feature-panel h2 {
  margin: 0 0 8px;
  font-size: 30px;
  letter-spacing: -0.025em;
  color: #102a55;
}
body .mw-nc-section-intro {
  margin: 0 0 20px;
  color: #475569;
  font-size: 16px;
  line-height: 1.6;
  max-width: 820px;
}
body .mw-nc-region-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
body .mw-nc-region-card {
  background: #fff;
  border: 1px solid #e0e3ee;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 1px 3px rgba(15,23,42,.05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body .mw-nc-region-card:hover {
  transform: translateY(-2px);
  border-color: #bfdbfe;
  box-shadow: 0 10px 26px rgba(15,23,42,.08);
}
body .mw-nc-region-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1e3a8a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 14px;
}
body .mw-nc-region-card h3 {
  margin: 0 0 8px;
  font-size: 22px;
  color: #0f172a;
  letter-spacing: -0.018em;
}
body .mw-nc-region-card p,
body .mw-nc-city-card p,
body .mw-nc-base-card p,
body .mw-nc-loan-card p {
  color: #475569;
  line-height: 1.55;
}
body .mw-nc-town-list { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 16px; }
body .mw-nc-town {
  background: #f7f9fc;
  border: 1px solid #e0e3ee;
  color: #334155;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
}
body .mw-nc-region-card a,
body .mw-nc-city-card a {
  color: #0a66c2;
  font-weight: 850;
  font-size: 14px;
  text-decoration: none;
}
body .mw-nc-feature-panel {
  background: #f7f9fc;
  border: 1px solid #e0e3ee;
  border-radius: 20px;
  padding: 30px;
}
body .mw-nc-city-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
body .mw-nc-city-card,
body .mw-nc-base-card,
body .mw-nc-loan-card {
  background: #fff;
  border: 1px solid #e0e3ee;
  border-radius: 14px;
  padding: 18px;
}
body .mw-nc-city-card h3,
body .mw-nc-base-card h3,
body .mw-nc-loan-card h3 {
  margin: 0 0 8px;
  color: #102a55;
}
body .mw-nc-bases {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
body .mw-nc-loan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
body .mw-nc-cta {
  background: #fff;
  border-left: 4px solid #0a66c2;
  border-radius: 10px;
  padding: 24px 26px;
  box-shadow: 0 1px 3px rgba(15,23,42,.06);
  margin-top: 34px;
}
body .mw-nc-cta p {
  margin: 0 0 14px;
  font-size: 17px;
  font-weight: 750;
  color: #0f172a;
}
body .mw-nc-cta a {
  display: inline-block;
  background: #0a66c2;
  color: #fff;
  font-weight: 850;
  font-size: 14px;
  text-decoration: none;
  padding: 11px 22px;
  border-radius: 999px;
}
body.page-id-1533 .hero-section { display: none !important; }
body.page-id-1533 .entry-content { padding-top: 0 !important; margin-top: 0 !important; }
@media (max-width: 980px) {
  body .mw-nc-region-grid,
  body .mw-nc-bases { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .mw-nc-city-grid,
  body .mw-nc-loan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  body .mw-nc-hero { padding: 30px 22px; }
  body .mw-nc-region-grid,
  body .mw-nc-city-grid,
  body .mw-nc-bases,
  body .mw-nc-loan-grid { grid-template-columns: 1fr; }
}


/* --- WPWriter addition --- */

/* === Reusable State / Area Hub CSS ======================================= */
body .mw-hub-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 24px 18px 54px;
  font-family: "DM Sans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: #0f172a;
}
body .mw-hub-hero {
  background: linear-gradient(135deg, #102a55, #1e40af);
  color: #fff;
  border-radius: 20px;
  padding: 44px 38px;
  margin-bottom: 34px;
}
body .mw-hub-hero h1 {
  margin: 0 0 12px;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: #fff;
}
body .mw-hub-hero p {
  max-width: 820px;
  margin: 0 0 24px;
  font-size: 18px;
  line-height: 1.55;
  color: #e0ecff;
}
body .mw-hub-actions { display: flex; gap: 12px; flex-wrap: wrap; }
body .mw-hub-btn {
  display: inline-block;
  padding: 12px 22px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 14px;
  text-decoration: none;
}
body .mw-hub-btn.primary { background: #fff; color: #0a66c2; }
body .mw-hub-btn.secondary {
  background: rgba(255,255,255,.12);
  color: #fff;
  border: 1px solid rgba(255,255,255,.35);
}
body .mw-hub-section { margin: 36px 0; }
body .mw-hub-eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  color: #0a66c2;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body .mw-hub-section h2,
body .mw-hub-panel h2 {
  margin: 0 0 8px;
  font-size: 30px;
  letter-spacing: -0.025em;
  color: #102a55;
}
body .mw-hub-intro {
  margin: 0 0 20px;
  color: #475569;
  font-size: 16px;
  line-height: 1.6;
  max-width: 820px;
}
body .mw-hub-region-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
body .mw-hub-card {
  background: #fff;
  border: 1px solid #e0e3ee;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 1px 3px rgba(15,23,42,.05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body .mw-hub-card:hover {
  transform: translateY(-2px);
  border-color: #bfdbfe;
  box-shadow: 0 10px 26px rgba(15,23,42,.08);
}
body .mw-hub-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1e3a8a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 14px;
}
body .mw-hub-card h3 {
  margin: 0 0 8px;
  font-size: 22px;
  color: #0f172a;
  letter-spacing: -0.018em;
}
body .mw-hub-card p,
body .mw-hub-mini-card p {
  color: #475569;
  line-height: 1.55;
}
body .mw-hub-pill-list { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 16px; }
body .mw-hub-pill {
  background: #f7f9fc;
  border: 1px solid #e0e3ee;
  color: #334155;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
}
body .mw-hub-card a,
body .mw-hub-mini-card a {
  color: #0a66c2;
  font-weight: 850;
  font-size: 14px;
  text-decoration: none;
}
body .mw-hub-panel {
  background: #f7f9fc;
  border: 1px solid #e0e3ee;
  border-radius: 20px;
  padding: 30px;
}
body .mw-hub-mini-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
body .mw-hub-mini-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .mw-hub-mini-card {
  background: #fff;
  border: 1px solid #e0e3ee;
  border-radius: 14px;
  padding: 18px;
}
body .mw-hub-mini-card h3 {
  margin: 0 0 8px;
  color: #102a55;
}
body .mw-hub-cta {
  background: #fff;
  border-left: 4px solid #0a66c2;
  border-radius: 10px;
  padding: 24px 26px;
  box-shadow: 0 1px 3px rgba(15,23,42,.06);
  margin-top: 34px;
}
body .mw-hub-cta p {
  margin: 0 0 14px;
  font-size: 17px;
  font-weight: 750;
  color: #0f172a;
}
body .mw-hub-cta a {
  display: inline-block;
  background: #0a66c2;
  color: #fff;
  font-weight: 850;
  font-size: 14px;
  text-decoration: none;
  padding: 11px 22px;
  border-radius: 999px;
}
@media (max-width: 980px) {
  body .mw-hub-region-grid,
  body .mw-hub-mini-grid,
  body .mw-hub-mini-grid.three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  body .mw-hub-hero { padding: 30px 22px; }
  body .mw-hub-region-grid,
  body .mw-hub-mini-grid,
  body .mw-hub-mini-grid.three { grid-template-columns: 1fr; }
}


/* --- WPWriter addition --- */

/* === MW Hub Card Alignment Utilities === */
body .mw-hub-equal-cards .mw-hub-mini-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

body .mw-hub-equal-cards .mw-hub-mini-card a {
  margin-top: auto !important;
  display: inline-block !important;
}

body .mw-hub-compact-cards .mw-hub-mini-card {
  padding: 18px 18px !important;
}

body .mw-hub-compact-cards .mw-hub-mini-card h3 {
  margin-bottom: 8px !important;
}

body .mw-hub-compact-cards .mw-hub-mini-card p {
  margin-bottom: 0 !important;
}


/* --- WPWriter addition --- */

/* === Apex page title/spacing cleanup === */
body.page-id-1355 .entry-header,
body.page-id-1355 .ct-page-title,
body.page-id-1355 .hero-section,
body.page-id-1355 .page-title,
body.page-id-1355 h1.entry-title {
  display: none !important;
}

body.page-id-1355 .site-main,
body.page-id-1355 .content-area,
body.page-id-1355 .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.page-id-1355 .mw-hub-wrap {
  margin-top: 0 !important;
  padding-top: 8px !important;
}

body.page-id-1355 .mw-hub-hero {
  margin-top: 0 !important;
}


/* --- WPWriter addition --- */

/* === Location pages: hide duplicate theme titles, keep in-body hero H1 === */
body.page-id-1810 .entry-header,
body.page-id-1810 .page-title,
body.page-id-1809 .entry-header,
body.page-id-1809 .page-title {
  display: none !important;
}

body.page-id-1810 .site-main,
body.page-id-1810 .entry-content,
body.page-id-1809 .site-main,
body.page-id-1809 .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.page-id-1810 .mw-hub-wrap,
body.page-id-1809 .mw-hub-wrap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* --- WPWriter addition --- */


/* === Location Pages: Hide Duplicate Theme Page Title =====================
   Location pages keep a semantic in-body H1 inside .mw-hub-hero for SEO/AIO.
   This hides the duplicate theme-rendered title above the designed hero box. */
body:has(.mw-hub-wrap) .entry-header,
body:has(.mw-hub-wrap) .page-title,
body:has(.mw-hub-wrap) .ct-title-label,
body:has(.mw-hub-wrap) .hero-section,
body:has(.mw-hub-wrap) .post-title,
body:has(.mw-hub-wrap) .entry-title {
  display: none !important;
}

body:has(.mw-hub-wrap) .site-main,
body:has(.mw-hub-wrap) .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body:has(.mw-hub-wrap) .mw-hub-wrap {
  margin-top: 0 !important;
}


/* --- WPWriter addition --- */

/* === Location card link alignment: site-wide hub/card system ===
   Keeps 'View area/page' links aligned along the bottom of equal-height cards. */
body .mw-hub-equal-cards .mw-hub-card,
body .mw-hub-equal-cards .mw-hub-mini-card,
body .mw-hub-region-grid .mw-hub-card,
body .mw-hub-mini-grid .mw-hub-mini-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

body .mw-hub-equal-cards .mw-hub-card a,
body .mw-hub-equal-cards .mw-hub-mini-card a,
body .mw-hub-region-grid .mw-hub-card a,
body .mw-hub-mini-grid .mw-hub-mini-card a {
  margin-top: auto !important;
  display: inline-block !important;
  padding-top: 10px !important;
}

/* Fort Bragg naming note: use Fort Bragg as the current public name on NC military/location pages. */