/* ==========================================================
   MULTI-PAGE ADDITIONS — hearts-habits-theme
   ========================================================== */

/* ----------------------------------------------------------
   NAV — Always dark background on inner pages
   (home page hero fills behind navbar so it looks fine there too)
---------------------------------------------------------- */
.navbar {
  background: #0D1B5E !important;
}
.navbar.scrolled {
  background: #080f38 !important;
  box-shadow: 0 2px 24px rgba(0,0,0,0.35);
}

/* WP admin bar offset — push navbar down when admin bar is visible */
.admin-bar .navbar {
  top: 32px !important;
}
@media screen and (max-width: 782px) {
  .admin-bar .navbar { top: 46px !important; }
}

/* Footer — always dark, never inherits white body background */
.footer { background-color: #080f38 !important; }
.footer-main { background-color: #080f38 !important; }
.footer-bottom { background-color: rgba(0,0,0,0.35) !important; }
.footer-designer-link { color: #00B4D8; text-decoration: none; font-weight: 600; transition: color 0.2s; }
.footer-designer-link:hover { color: #fff; text-decoration: underline; }

/* ----------------------------------------------------------
   NAV — Dropdown
---------------------------------------------------------- */
.nav-dropdown { position: relative; }
.dropdown-arrow { font-size: 10px; margin-left: 4px; }
.dropdown-menu {
  display: none;
  position: absolute;
  top: 100%; /* flush — no gap so hover stays active */
  left: 50%;
  transform: translateX(-50%);
  background: #0a1540;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  min-width: 230px;
  padding: 12px 0 8px; /* extra top padding replaces the removed gap */
  z-index: 200;
  box-shadow: 0 12px 40px rgba(0,0,0,0.4);
}
/* Invisible bridge so moving mouse into dropdown doesn't break hover */
.nav-dropdown::after {
  content: '';
  position: absolute;
  bottom: -12px;
  left: 0; right: 0;
  height: 12px;
}
.dropdown-menu li { list-style: none; }
.dropdown-menu li a {
  display: block;
  padding: 10px 20px;
  color: rgba(255,255,255,0.85);
  font-size: 0.875rem;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}
.dropdown-menu li a:hover { background: rgba(0,180,216,0.15); color: #00B4D8; }
.nav-dropdown:hover .dropdown-menu { display: block; }
.nav-links li a.active { color: #00B4D8; }

/* ----------------------------------------------------------
   PAGE HERO BANNER
---------------------------------------------------------- */
.page-hero {
  position: relative;
  min-height: 340px;
  display: flex;
  align-items: center;
  background: linear-gradient(135deg, #0D1B5E 0%, #1a2a7a 100%);
  background-size: cover;
  background-position: center;
  overflow: hidden;
  margin-top: 0; /* no gap — navbar is fixed and sits on top */
}
/* Standard: pad content below the fixed navbar (65px tall) */
.page-hero .container {
  position: relative;
  z-index: 2;
  padding: 130px 24px 70px;
}
/* When WP admin bar is active, html is pushed 32px — so less padding needed */
.admin-bar .page-hero .container {
  padding-top: 98px;
}
.page-hero--about    { background-size: cover; background-position: center top; }
.page-hero--about .page-hero__overlay { background: rgba(5,10,35,0.75); }
.page-hero--programs { background-image: linear-gradient(135deg,#0D1B5E,#004d6b); }
.page-hero--founder  { background-image: linear-gradient(135deg,#0D1B5E,#2d1b6b); }
.page-hero--books    { background-image: linear-gradient(135deg,#1a0d3b,#0D1B5E); }
.page-hero--contact  { background-image: linear-gradient(135deg,#0D1B5E,#C8102E 150%); }
.page-hero--gallery  { background-image: linear-gradient(135deg,#0a4060,#0D1B5E); }

/* ----------------------------------------------------------
   GALLERY PAGE
---------------------------------------------------------- */
.gallery-albums-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.gallery-album-card { background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 4px 24px rgba(13,27,94,.08); transition:transform .3s,box-shadow .3s; }
.gallery-album-card:hover { transform:translateY(-6px); box-shadow:0 12px 40px rgba(13,27,94,.15); }
.gallery-album__cover { position:relative; height:220px; background-size:cover; background-position:center; }
.gallery-album__overlay { position:absolute; inset:0; background:rgba(5,10,35,.45); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .3s; }
.gallery-album-card:hover .gallery-album__overlay { opacity:1; }
.gallery-album__view-btn { background:#C8102E; color:#fff; border:none; padding:10px 22px; border-radius:50px; font-weight:700; cursor:pointer; font-size:.9rem; display:flex; align-items:center; gap:8px; }
.gallery-count-badge { background:rgba(255,255,255,.25); padding:2px 8px; border-radius:50px; font-size:.8rem; }
.gallery-album__tag { position:absolute; top:12px; left:12px; background:#0D1B5E; color:#fff; font-size:.72rem; font-weight:700; padding:4px 12px; border-radius:50px; text-transform:uppercase; letter-spacing:.05em; }
.gallery-album__info { padding:16px 20px 20px; }
.gallery-album__info h3 { font-family:'Playfair Display',Georgia,serif; font-size:1.1rem; color:#0D1B5E; margin:0 0 6px; }
.gallery-album__meta { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:8px; }
.gallery-album__meta span { font-size:.8rem; color:#888; }
.gallery-album__desc { font-size:.85rem; color:#666; margin:0; line-height:1.5; }
.gallery-empty { text-align:center; padding:80px 20px; color:#888; }

/* Lightbox */
.gallery-lightbox { position:fixed; inset:0; z-index:9000; display:flex; align-items:center; justify-content:center; }
.gallery-lb-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.85); }
.gallery-lb-box { position:relative; z-index:1; background:#fff; border-radius:16px; width:90vw; max-width:960px; max-height:90vh; overflow:hidden; display:flex; flex-direction:column; }
.gallery-lb-header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid #eee; flex-shrink:0; }
.gallery-lb-header h4 { margin:0; font-family:'Playfair Display',Georgia,serif; color:#0D1B5E; font-size:1.1rem; }
.gallery-lb-close { background:none; border:none; font-size:1.8rem; cursor:pointer; color:#888; line-height:1; }
.gallery-lb-close:hover { color:#C8102E; }
.gallery-lb-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:8px; padding:16px; overflow-y:auto; }
.gallery-lb-thumb { border-radius:8px; overflow:hidden; aspect-ratio:1; cursor:pointer; }
.gallery-lb-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .2s; }
.gallery-lb-thumb:hover img { transform:scale(1.06); }

/* Full viewer */
.gallery-viewer { position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; }
.gallery-viewer__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.92); }
.gallery-viewer__box { position:relative; z-index:1; max-width:90vw; max-height:90vh; }
.gallery-viewer__box img { max-width:90vw; max-height:85vh; border-radius:8px; object-fit:contain; display:block; }
.gallery-viewer__close { position:absolute; top:-40px; right:0; background:none; border:none; color:#fff; font-size:2rem; cursor:pointer; }

/* Responsive gallery */
@media (max-width:1024px) { .gallery-albums-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px)  { .gallery-albums-grid { grid-template-columns:1fr; } .gallery-lb-grid { grid-template-columns:repeat(2,1fr); } }
.page-hero--blog     { background-image: linear-gradient(135deg,#0D1B5E,#0a4060); }
.page-hero--has-thumb { background-size: cover; background-position: center; background-image: none; }
.page-hero--has-thumb .page-hero__overlay { background: rgba(5,10,35,0.68); }
.page-hero--default  { background-image: linear-gradient(135deg,#0D1B5E,#1a2a7a); }
.page-hero__overlay {
  position: absolute; inset: 0;
  background: rgba(10,15,50,0.55);
}
.page-hero__content { max-width: 640px; }
.page-hero__content h1 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  color: #fff;
  margin: 12px 0 16px;
  line-height: 1.15;
}
.page-hero__content p { color: rgba(255,255,255,0.8); font-size: 1.125rem; max-width: 520px; }
.page-hero__content .post-meta { color: rgba(255,255,255,0.6); font-size: 0.95rem; margin-top: 8px; }

/* ----------------------------------------------------------
   HOME — About Actions
---------------------------------------------------------- */
.about-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 28px; }

/* ----------------------------------------------------------
   HOME — Programs Grid (compact)
---------------------------------------------------------- */
.programs-grid--home { grid-template-columns: repeat(3, 1fr) !important; }
.program-card--link { text-decoration: none; cursor: pointer; transition: transform 0.25s, box-shadow 0.25s; }
.program-card--link:hover { transform: translateY(-6px); }
.program-more { display: inline-block; margin-top: 12px; font-size: 0.85rem; color: #00B4D8; font-weight: 600; }

/* ----------------------------------------------------------
   SECTION CTA
---------------------------------------------------------- */
.section-cta { text-align: center; margin-top: 40px; }

/* ----------------------------------------------------------
   HOME — CTA Section
---------------------------------------------------------- */
.home-cta { position: relative; overflow: hidden; }
.home-cta__bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, #0D1B5E 0%, #C8102E 150%);
}
.home-cta .container { position: relative; z-index: 2; }
.home-cta__inner { text-align: center; max-width: 640px; margin: 0 auto; }
.home-cta__inner .section-title { color: #fff; }
.home-cta__inner p { color: rgba(255,255,255,0.85); font-size: 1.1rem; margin-bottom: 32px; }
.home-cta__actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.btn-white { background: #fff; color: #0D1B5E; border-color: #fff; border-radius: 8px; padding: 14px 32px; font-weight: 700; text-decoration: none; display: inline-block; }
.btn-white:hover { background: rgba(255,255,255,0.9); }
.btn-outline-white { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,0.6); border-radius: 8px; padding: 14px 32px; font-weight: 700; text-decoration: none; display: inline-block; }
.btn-outline-white:hover { background: rgba(255,255,255,0.1); border-color: #fff; }

/* ----------------------------------------------------------
   HOME — Blog Preview + Archive
---------------------------------------------------------- */

/* Shared card grid */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.blog-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(13,27,94,0.08);
  transition: transform 0.25s, box-shadow 0.25s;
  display: flex;
  flex-direction: column;
}
.blog-card:hover { transform: translateY(-6px); box-shadow: 0 12px 40px rgba(13,27,94,0.15); }
.blog-card__img-link { overflow: hidden; display: block; }
.blog-card__img-link img { width: 100%; height: 220px; object-fit: cover; display: block; transition: transform 0.4s; }
.blog-card:hover .blog-card__img-link img { transform: scale(1.04); }
.blog-card__img-placeholder { height: 220px; background: linear-gradient(135deg,#0D1B5E,#1e3a8a); display: flex; align-items: center; justify-content: center; }
.blog-card__no-img { font-size: 2rem; font-weight: 900; color: rgba(255,255,255,0.3); }
.blog-card__body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.blog-card__meta { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; flex-wrap: wrap; }
.blog-card__cat { font-size: 0.72rem; background: #C8102E; color: #fff; padding: 3px 12px; border-radius: 50px; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; }
.blog-card__date { font-size: 0.78rem; color: #888; font-weight: 500; }
.blog-card h2, .blog-card h3 { font-size: 1.1rem; margin: 0 0 10px; line-height: 1.45; font-family: 'Playfair Display', Georgia, serif; }
.blog-card h2 a, .blog-card h3 a { color: #0D1B5E; text-decoration: none; }
.blog-card h2 a:hover, .blog-card h3 a:hover { color: #C8102E; }
.blog-card p { font-size: 0.88rem; color: #666; flex: 1; line-height: 1.65; margin: 0; }
.blog-read-more { margin-top: 18px; font-size: 0.85rem; color: #0D1B5E; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.blog-read-more:hover { color: #C8102E; }

/* Featured post — archive page only */
.blog-featured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 48px rgba(13,27,94,0.14);
  background: #fff;
  min-height: 420px;
}
.blog-featured__img-link { display: block; overflow: hidden; }
.blog-featured__img-link img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s; }
.blog-featured:hover .blog-featured__img-link img { transform: scale(1.03); }
.blog-featured__body { padding: 48px 44px; display: flex; flex-direction: column; justify-content: center; }
.blog-featured__meta { display: flex; gap: 12px; align-items: center; margin-bottom: 20px; flex-wrap: wrap; }
.blog-featured__body h2 { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.4rem, 2.5vw, 2rem); line-height: 1.3; margin: 0 0 16px; }
.blog-featured__body h2 a { color: #0D1B5E; text-decoration: none; }
.blog-featured__body h2 a:hover { color: #C8102E; }
.blog-featured__body p { font-size: 0.95rem; color: #555; line-height: 1.7; margin: 0 0 28px; }
.blog-featured__footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: auto; padding-top: 20px; border-top: 1px solid #f0f0f0; }
.blog-featured__author { font-size: 0.82rem; color: #888; font-weight: 500; }
.blog-featured__footer .blog-read-more { background: #0D1B5E; color: #fff; padding: 10px 24px; border-radius: 6px; font-size: 0.85rem; font-weight: 700; }
.blog-featured__footer .blog-read-more:hover { background: #C8102E; color: #fff; }

/* Archive grid label */
.blog-grid--archive { }

/* No posts */
.no-posts { text-align: center; color: #666; padding: 80px 0; }
.no-posts p { font-size: 1.1rem; margin-bottom: 24px; }

/* Pagination */
.blog-pagination { margin-top: 48px; display: flex; justify-content: center; gap: 8px; }
.blog-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 8px; background: #f5f5f5; color: #0D1B5E; font-weight: 600; text-decoration: none; font-size: 0.9rem; transition: all 0.2s; }
.blog-pagination .page-numbers.current, .blog-pagination .page-numbers:hover { background: #0D1B5E; color: #fff; }
.blog-pagination .page-numbers.prev, .blog-pagination .page-numbers.next { width: auto; padding: 0 16px; }

/* ----------------------------------------------------------
   FOOTER — Social Icons
---------------------------------------------------------- */
.footer-logo-link { text-decoration: none; }
.footer-social { display: flex; gap: 12px; margin-top: 20px; }
.footer-social a { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; transition: background 0.2s; }
.footer-social a:hover { background: #00B4D8; }
.footer-social svg { width: 16px; height: 16px; color: #fff; }

/* ----------------------------------------------------------
   PROGRAMS FULL PAGE
---------------------------------------------------------- */
.program-full { border-bottom: 1px solid #eee; }
.program-full--alt { background: #f8f9ff; }
.program-full__grid { display: grid; grid-template-columns: 120px 1fr; gap: 56px; align-items: flex-start; }
.program-full__grid--reverse { grid-template-columns: 1fr 120px; }
.program-full__grid--reverse .program-full__content { order: 1; }
.program-full__grid--reverse .program-full__icon-col { order: 2; }
.program-full__icon-col { display: flex; flex-direction: column; align-items: center; gap: 12px; padding-top: 8px; }
.program-full__icon { width: 100px; height: 100px; border-radius: 24px; display: flex; align-items: center; justify-content: center; font-size: 3rem; box-shadow: 0 8px 32px rgba(0,0,0,0.2); }
.program-full__tag { background: #0D1B5E; color: #fff; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 4px 14px; border-radius: 50px; }
.program-full__content h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 2rem; color: #0D1B5E; margin-bottom: 8px; }
.program-prev { font-style: italic; color: #888; font-size: 0.9rem; margin-bottom: 16px; }
.program-3d-list { list-style: none; padding: 0; margin: 16px 0; }
.program-3d-list li { padding: 8px 0 8px 28px; position: relative; border-bottom: 1px solid #eee; }
.program-3d-list li::before { content: "✦"; position: absolute; left: 0; color: #00B4D8; }
.program-bullets { padding-left: 20px; margin: 16px 0; }
.program-bullets li { margin-bottom: 8px; line-height: 1.6; }

/* ----------------------------------------------------------
   ABOUT PAGE — Leadership
---------------------------------------------------------- */
.leadership-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
.leader-card { background: #fff; border-radius: 16px; padding: 40px 32px; box-shadow: 0 4px 24px rgba(13,27,94,0.08); text-align: center; border-top: 4px solid #00B4D8; }
.leader-icon { font-size: 3rem; margin-bottom: 16px; }
.leader-card h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.5rem; color: #0D1B5E; margin-bottom: 4px; }
.leader-role { display: block; font-size: 0.85rem; color: #00B4D8; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 16px; }
.leader-card p { color: #555; font-size: 0.95rem; margin-bottom: 20px; }
.btn-sm { padding: 8px 20px !important; font-size: 0.85rem !important; }

/* ----------------------------------------------------------
   BOOKS FULL PAGE
---------------------------------------------------------- */
.books-full .container { padding-top: 0; padding-bottom: 0; }
.book-full { display: grid; grid-template-columns: 260px 1fr; gap: 64px; align-items: flex-start; padding: 80px 0; border-bottom: 1px solid #eee; }
.book-full--alt { background: #f8f9ff; grid-template-columns: 1fr 260px; }
.book-full__cover { position: relative; }
.book-full__cover img { width: 100%; height: 380px; object-fit: cover; object-position: center top; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,0.25); }
.book-full__cover .book-tag { position: absolute; top: -12px; left: 16px; background: #C8102E; color: #fff; font-size: 0.75rem; font-weight: 700; padding: 4px 14px; border-radius: 50px; }
.book-full__info h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 2.2rem; color: #0D1B5E; margin-bottom: 8px; }
.book-full__subtitle { font-size: 1.05rem; color: #666; font-style: italic; margin-bottom: 20px; border-left: 3px solid #00B4D8; padding-left: 16px; }
.book-full__info p { margin-bottom: 16px; line-height: 1.8; }
.book-full__info a { color: #00B4D8; }
.book-full__info .btn-primary { background: #C8102E; border-color: #C8102E; color: #fff !important; }
.book-full__info .btn-primary:hover { background: #a00d24; border-color: #a00d24; color: #fff !important; }
.books-order-cta { background: #f8f9ff; }
.order-cta-box { max-width: 600px; margin: 0 auto; text-align: center; padding: 60px 40px; background: #fff; border-radius: 20px; box-shadow: 0 4px 32px rgba(13,27,94,0.1); }
.order-cta-box h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 2rem; color: #0D1B5E; margin-bottom: 12px; }
.order-cta-box p { color: #555; margin-bottom: 28px; }
.order-cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.order-cta-actions .btn-outline { color: #0D1B5E !important; border-color: #0D1B5E !important; }
.order-cta-actions .btn-outline:hover { background: #0D1B5E !important; color: #fff !important; }

/* ----------------------------------------------------------
   FOUNDER FULL PAGE — Accolades
---------------------------------------------------------- */
.founder-accolades-full { background: #f8f9ff; }
.accolades-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.accolade-card { background: #fff; border-radius: 16px; padding: 36px 28px; box-shadow: 0 4px 24px rgba(13,27,94,0.08); border-top: 4px solid #0D1B5E; text-align: center; }
.accolade-card__icon { font-size: 2.5rem; margin-bottom: 16px; }
.accolade-card h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.2rem; color: #0D1B5E; margin-bottom: 10px; }
.accolade-card p { font-size: 0.9rem; color: #555; margin-bottom: 16px; }
.accolade-card__year { display: inline-block; background: #00B4D8; color: #fff; font-size: 0.8rem; font-weight: 700; padding: 3px 14px; border-radius: 50px; }

/* ----------------------------------------------------------
   SINGLE POST
---------------------------------------------------------- */
.single-post__layout { display: grid; grid-template-columns: 1fr 300px; gap: 60px; }
.single-post__thumb img { width: 100%; border-radius: 12px; margin-bottom: 32px; }
.single-post__content { font-size: 1.05rem; line-height: 1.85; }
.single-post__content h2, .single-post__content h3 { color: #0D1B5E; font-family: 'Playfair Display', Georgia, serif; margin: 32px 0 12px; }
.single-post__content p { margin-bottom: 20px; }
.post-tags { margin-top: 32px; padding-top: 20px; border-top: 1px solid #eee; font-size: 0.875rem; color: #888; }
.post-tags a { color: #00B4D8; text-decoration: none; }
.post-nav { display: flex; justify-content: space-between; margin-top: 40px; padding-top: 24px; border-top: 1px solid #eee; gap: 20px; }
.post-nav__prev, .post-nav__next { max-width: 45%; }
.post-nav__next { text-align: right; }
.post-nav span { display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: #888; margin-bottom: 4px; }
.post-nav a { font-weight: 600; color: #0D1B5E; text-decoration: none; font-size: 0.95rem; }
.post-nav a:hover { color: #00B4D8; }
.sidebar-widget { background: #fff; border-radius: 16px; padding: 28px; box-shadow: 0 4px 20px rgba(13,27,94,0.07); margin-bottom: 28px; border-top: 3px solid #00B4D8; }
.sidebar-widget h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.1rem; color: #0D1B5E; margin-bottom: 12px; }
.sidebar-widget p { font-size: 0.9rem; color: #555; margin-bottom: 16px; }
.sidebar-recent, .sidebar-links { list-style: none; padding: 0; }
.sidebar-recent li, .sidebar-links li { border-bottom: 1px solid #f0f0f0; padding: 8px 0; }
.sidebar-recent li:last-child, .sidebar-links li:last-child { border-bottom: none; }
.sidebar-recent a, .sidebar-links a { color: #0D1B5E; font-size: 0.9rem; text-decoration: none; }
.sidebar-recent a:hover, .sidebar-links a:hover { color: #00B4D8; }
.blog-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 48px; flex-wrap: wrap; }
.blog-pagination .page-numbers { padding: 8px 16px; border-radius: 8px; background: #f0f2f8; color: #0D1B5E; text-decoration: none; font-weight: 600; font-size: 0.9rem; }
.blog-pagination .page-numbers.current { background: #0D1B5E; color: #fff; }
.blog-pagination .page-numbers:hover:not(.current) { background: #00B4D8; color: #fff; }

/* ----------------------------------------------------------
   DEFAULT PAGE
---------------------------------------------------------- */
.default-page__content { max-width: 800px; margin: 0 auto; font-size: 1.05rem; line-height: 1.85; }
.default-page__content h2, .default-page__content h3 { color: #0D1B5E; font-family: 'Playfair Display', Georgia, serif; margin: 32px 0 12px; }
.default-page__content p { margin-bottom: 20px; }

/* ----------------------------------------------------------
   404 PAGE
---------------------------------------------------------- */
.error-404__inner { max-width: 560px; margin: 0 auto; text-align: center; }
.error-404__num { font-size: clamp(6rem, 15vw, 10rem); font-weight: 900; color: #0D1B5E; opacity: 0.08; line-height: 1; }
.error-404__inner h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 2rem; color: #0D1B5E; margin-bottom: 16px; margin-top: -32px; }
.error-404__inner p { color: #555; margin-bottom: 32px; }
.error-404__actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }
.error-404__links ul { list-style: none; padding: 0; display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; }
.error-404__links a { color: #00B4D8; text-decoration: none; font-weight: 600; }

/* ----------------------------------------------------------
   RESPONSIVE — Multi-page additions
---------------------------------------------------------- */
@media (max-width: 1024px) {
  .programs-grid--home { grid-template-columns: repeat(2, 1fr) !important; }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
  .blog-featured { grid-template-columns: 1fr; }
  .blog-featured__img-link { height: 280px; }
  .blog-featured__body { padding: 32px; }
  .book-full { grid-template-columns: 200px 1fr; gap: 40px; }
  .book-full--alt { grid-template-columns: 1fr 200px; }
  .single-post__layout { grid-template-columns: 1fr; }
  .single-post__sidebar { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .accolades-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .programs-grid--home { grid-template-columns: repeat(2, 1fr) !important; }
  .blog-grid { grid-template-columns: 1fr; }
  .blog-featured__body { padding: 24px; }
  .blog-featured__body h2 { font-size: 1.3rem; }
  .book-full, .book-full--alt { grid-template-columns: 1fr; }
  .book-full__cover { max-width: 280px; margin: 0 auto; }
  .book-full__cover img { height: 320px; }
  .book-full--alt .book-full__info { order: 2; }
  .book-full--alt .book-full__cover { order: 1; }
  .leadership-grid { grid-template-columns: 1fr; }
  .accolades-grid { grid-template-columns: 1fr; }
  .program-full__grid, .program-full__grid--reverse { grid-template-columns: 1fr; }
  .program-full__grid--reverse .program-full__content { order: 2; }
  .program-full__grid--reverse .program-full__icon-col { order: 1; }
  .program-full__icon-col { flex-direction: row; padding-top: 0; }
  .single-post__sidebar { grid-template-columns: 1fr; }
  .home-cta__actions { flex-direction: column; align-items: center; }
  .order-cta-actions { flex-direction: column; align-items: center; }
}
@media (max-width: 480px) {
  .programs-grid--home { grid-template-columns: 1fr !important; }
  .about-actions { flex-direction: column; }
}
