:root{
  --navy: #141b4d;
  --navy-deep: #0c1030;
  --navy-soft: #232c68;
  --gold: #f4c430;
  --gold-soft: #ffe27a;
  --gold-deep: #c9960f;
  --bg-soft: #eef0fb;
  --bg-tint: #f7f8fd;
  --ink: #1f2340;
  --muted: #6b7280;
  --line: #e6e8f5;
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Poppins', system-ui, sans-serif;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --shadow-sm: 0 4px 16px rgba(20,27,77,.06);
  --shadow-md: 0 10px 30px rgba(20,27,77,.10);
  --shadow-lg: 0 24px 60px rgba(20,27,77,.16);
}

*{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }

body{
  font-family: var(--font-body);
  color: var(--ink);
  background: #fff;
}

a{ text-decoration: none; }

::selection{ background: var(--gold-soft); color: var(--navy-deep); }

/* ---------------------------------------------------------------- */
/* Top utility bar                                                    */
/* ---------------------------------------------------------------- */
.topbar{
  background: linear-gradient(90deg, var(--navy) 0%, var(--navy-deep) 100%);
  color:#c9cdea;
  font-size:.8rem;
  position: relative;
  z-index: 1031;
}
.topbar .container{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:.5rem; padding-bottom:.5rem;
  gap:1rem;
}
.topbar-info{ display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap; }
.topbar-info span{ display:inline-flex; align-items:center; gap:.4rem; }
.topbar-info i{ color: var(--gold); }
.topbar-social{ display:flex; align-items:center; gap:.6rem; }
.topbar-social a{
  color:#c9cdea; width:26px; height:26px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.08); font-size:.78rem;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.topbar-social a:hover{ background: var(--gold); color: var(--navy-deep); transform: translateY(-2px); }
@media (max-width: 767.98px){
  .topbar-info span:not(:first-child){ display:none; }
}

/* ---------------------------------------------------------------- */
/* Header / nav                                                      */
/* ---------------------------------------------------------------- */
.site-header{
  background: rgba(255,255,255,.85);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 1030;
  transition: box-shadow .25s ease;
}
.site-header.is-scrolled{ box-shadow: 0 8px 24px rgba(20,27,77,.08); }

.brand-badge{
  background: linear-gradient(145deg, var(--navy) 0%, var(--navy-soft) 100%);
  color:#fff; font-weight:700; font-size:.6rem; line-height:1.15; letter-spacing:.02em;
  width:46px; height:46px; border-radius:14px;
  display:flex; align-items:center; justify-content:center; text-align:center;
  box-shadow: 0 6px 16px rgba(20,27,77,.28);
  position:relative;
}
.brand-badge::after{
  content:''; position:absolute; inset:-3px; border-radius:16px;
  border:1.5px solid var(--gold); opacity:.55;
}
.brand-text{ font-weight:600; color: var(--navy); font-family: var(--font-display); font-size:1.15rem; }
.brand-text small{ display:block; font-family: var(--font-body); font-weight:500; font-size:.68rem; color: var(--muted); letter-spacing:.06em; text-transform:uppercase; }

.navbar-nav .nav-link{
  color: var(--navy); font-weight:500; position:relative; padding: .5rem .9rem;
  border-radius:999px; transition: background .2s ease, color .2s ease;
}
.navbar-nav .nav-link::after{
  content:''; position:absolute; left:.9rem; right:.9rem; bottom:.1rem; height:2px;
  background: var(--gold); transform: scaleX(0); transform-origin:left;
  transition: transform .25s ease;
}
.navbar-nav .nav-link:hover{ color: var(--navy); background: var(--bg-soft); }
.navbar-nav .nav-link:hover::after{ transform: scaleX(1); }
.navbar-nav .nav-link.active-link{ color: var(--navy); font-weight:700; }
.navbar-nav .nav-link.active-link::after{ transform: scaleX(1); }

.navbar-nav .dropdown-menu{
  border:none; border-radius:14px; box-shadow: var(--shadow-md); padding:.5rem;
  margin-top:.5rem;
}
.navbar-nav .dropdown-item{
  border-radius:8px; padding:.5rem .75rem; font-weight:500; color: var(--navy);
}
.navbar-nav .dropdown-item:hover{ background: var(--bg-soft); color: var(--navy); }

.nav-cta{
  background: var(--navy); color:#fff !important; font-weight:600;
  padding:.55rem 1.2rem !important; border-radius:999px !important;
  box-shadow: 0 6px 16px rgba(20,27,77,.22);
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.nav-cta::after{ display:none; }
.nav-cta:hover{ background: var(--gold); color: var(--navy-deep) !important; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(244,196,48,.35); }

/* ---------------------------------------------------------------- */
/* Breadcrumb (modern pill style)                                     */
/* ---------------------------------------------------------------- */
.breadcrumb-modern{
  display:flex; flex-wrap:wrap; align-items:center; gap:.35rem;
  background:#fff; border:1px solid var(--line); border-radius:999px;
  padding:.5rem .5rem .5rem 1rem; box-shadow: var(--shadow-sm);
  font-size:.82rem; font-weight:500; width:fit-content; max-width:100%;
}
.breadcrumb-modern .bc-item{ color: var(--muted); display:inline-flex; align-items:center; gap:.35rem; white-space:nowrap; }
.breadcrumb-modern .bc-item a{ color: var(--navy); display:inline-flex; align-items:center; gap:.35rem; }
.breadcrumb-modern .bc-item a:hover{ color: var(--gold-deep); }
.breadcrumb-modern .bc-item.current{
  color:#fff; background: var(--navy); padding:.3rem .8rem; border-radius:999px;
  max-width: 320px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.breadcrumb-modern .bc-sep{ color:#c7cae8; font-size:.7rem; }
.breadcrumb-modern .bc-home i{ font-size:.85rem; }

/* ---------------------------------------------------------------- */
/* Hero (homepage)                                                    */
/* ---------------------------------------------------------------- */
.blog-hero{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(55% 100% at 88% -20%, rgba(244,196,48,.22) 0%, rgba(244,196,48,0) 60%),
    radial-gradient(45% 80% at 5% 110%, rgba(20,27,77,.10) 0%, rgba(20,27,77,0) 60%),
    linear-gradient(180deg, var(--bg-soft) 0%, #fff 100%);
  padding: 4rem 0 2.5rem;
}
.blog-hero::before{
  content:''; position:absolute; top:-120px; right:-80px; width:320px; height:320px;
  border-radius:50%; border: 40px solid rgba(20,27,77,.045); pointer-events:none;
}
.blog-hero .hero-inner{ position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:2.5rem; align-items:flex-end; justify-content:space-between; }
.blog-hero .breadcrumb-modern{ margin-bottom:1.4rem; }
.blog-hero .section-eyebrow{ display:inline-flex; align-items:center; gap:.5rem; }
.blog-hero .section-eyebrow::before{
  content:''; width:26px; height:2px; background: var(--gold); display:inline-block;
}
.blog-hero h1{
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--navy);
  font-size: clamp(2.2rem, 4.4vw, 3.4rem);
  line-height: 1.1;
  margin-top:.5rem;
}
.blog-hero h1 em{
  color: var(--navy);
  font-style: normal;
  background: linear-gradient(180deg, transparent 62%, var(--gold-soft) 62%);
  padding: 0 .1em;
}
.blog-hero p{ color: var(--muted); max-width: 560px; font-size:1.05rem; }

.hero-stats{ display:flex; gap:1rem; flex-wrap:wrap; }
.hero-stat{
  background:#fff; border:1px solid var(--line); border-radius: var(--radius-md);
  padding:1rem 1.35rem; min-width:130px; box-shadow: var(--shadow-sm);
  text-align:center;
}
.hero-stat .num{ font-family: var(--font-display); font-weight:700; font-size:1.6rem; color: var(--navy); line-height:1; }
.hero-stat .lbl{ color: var(--muted); font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; margin-top:.3rem; }

/* ---------------------------------------------------------------- */
/* Featured post spotlight (homepage, page 1 only)                    */
/* ---------------------------------------------------------------- */
.post-feature{
  position:relative; display:block; border-radius: var(--radius-lg); overflow:hidden;
  min-height: 380px; display:flex; align-items:flex-end;
  box-shadow: var(--shadow-lg);
  margin-bottom: 2.5rem;
  isolation: isolate;
}
.post-feature img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition: transform .6s ease; z-index:-2;
}
.post-feature:hover img{ transform: scale(1.05); }
.post-feature::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background: linear-gradient(0deg, rgba(12,16,48,.92) 0%, rgba(12,16,48,.55) 45%, rgba(12,16,48,.05) 100%);
}
.post-feature .feat-body{ padding: 2.25rem 2.25rem 2rem; color:#fff; max-width: 720px; }
.post-feature .feat-badge{
  display:inline-flex; align-items:center; gap:.4rem;
  background: var(--gold); color: var(--navy-deep); font-weight:700; font-size:.68rem;
  letter-spacing:.05em; text-transform:uppercase; padding:.35rem .8rem; border-radius:999px; margin-bottom:.9rem;
}
.post-feature h2{
  font-family: var(--font-display); font-weight:600; font-size: clamp(1.5rem, 2.7vw, 2.2rem);
  line-height:1.2; margin-bottom:.75rem;
}
.post-feature p{ color:#dfe1f5; margin-bottom:1rem; max-width:600px; }
.post-feature .post-meta-row{ color:#c9cdea; }
.post-feature .post-meta-row i{ color: var(--gold); }

.section-heading-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; gap:1rem; flex-wrap:wrap; }
.section-heading-row h2{
  font-family: var(--font-display); font-weight:600; color: var(--navy); font-size:1.4rem; margin:0;
  display:flex; align-items:center; gap:.6rem;
}
.section-heading-row h2 i{ color: var(--gold); }
.section-heading-row .view-all-link{ font-weight:600; font-size:.85rem; color: var(--navy); display:inline-flex; align-items:center; gap:.35rem; }
.section-heading-row .view-all-link:hover{ color: var(--gold-deep); }

/* ---------------------------------------------------------------- */
/* Post cards                                                         */
/* ---------------------------------------------------------------- */
.post-card{
  border:none; border-radius: var(--radius-md); overflow:hidden;
  box-shadow: var(--shadow-sm);
  transition: transform .25s ease, box-shadow .25s ease;
  height:100%;
  background: #fff;
}
.post-card:hover{ transform: translateY(-5px); box-shadow: var(--shadow-md); }
.post-card .card-img-wrap{ position:relative; overflow:hidden; }
.post-card .card-img-top{
  height:200px; object-fit:cover; background:#dfe3f5;
  transition: transform .5s ease;
}
.post-card:hover .card-img-top{ transform: scale(1.06); }
.post-card .badge-cat{
  position:absolute; top:.85rem; left:.85rem;
  background: var(--gold); color: var(--navy-deep); font-weight:600;
  font-size:.68rem; letter-spacing:.04em; text-transform:uppercase;
  padding:.4rem .7rem; border-radius:999px;
  box-shadow: 0 4px 10px rgba(0,0,0,.15);
}
.post-card .card-title{
  color: var(--navy); font-weight:700; font-family: var(--font-display); font-size:1.15rem;
}
.post-card .card-text{ min-height: 2.6em; }
.post-meta-row{
  display:flex; flex-wrap:wrap; align-items:center; gap: .9rem;
  color: var(--muted); font-size:.78rem; font-weight:500;
}
.post-meta-row span{ display:inline-flex; align-items:center; gap:.35rem; }
.post-meta-row i{ color: var(--gold); font-size:.85rem; }

/* ---------------------------------------------------------------- */
/* Editorial post list (homepage / category listing)                 */
/* ---------------------------------------------------------------- */
.badge-cat-inline{
  display:inline-block; background: var(--bg-soft); color: var(--navy); font-weight:600;
  font-size:.7rem; letter-spacing:.04em; text-transform:uppercase;
  padding:.3rem .65rem; border-radius:999px; margin-bottom:.6rem;
}
.badge-cat-inline:hover{ background: var(--gold); color: var(--navy-deep); }

.post-row{
  display:flex; gap:1.5rem; align-items:flex-start;
  padding: 1.5rem; border-radius: var(--radius-md);
  border:1px solid var(--line);
  background:#fff;
  margin-bottom: 1.25rem;
  transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease;
}
.post-row:hover{ box-shadow: var(--shadow-md); border-color: transparent; transform: translateY(-2px); }
.post-row-img{ flex:0 0 220px; border-radius: var(--radius-sm); overflow:hidden; display:block; }
.post-row-img img{
  width:100%; height:150px; object-fit:cover; background:#dfe3f5;
  transition: transform .5s ease;
}
.post-row:hover .post-row-img img{ transform: scale(1.07); }
.post-row-body{ flex:1; min-width:0; }
.post-row-title{
  font-family: var(--font-display); font-weight:600; color: var(--navy);
  font-size:1.3rem; line-height:1.25; margin-bottom:.5rem;
}
.post-row-title a{ color:inherit; }
.post-row-title a:hover{ color: var(--gold-deep); }
.post-row-excerpt{ color: var(--muted); margin-bottom:.85rem; }

@media (max-width: 575.98px){
  .post-row{ flex-direction:column; }
  .post-row-img{ flex-basis:auto; width:100%; }
  .post-feature{ min-height:300px; }
}

/* ---------------------------------------------------------------- */
/* Sidebar widgets                                                    */
/* ---------------------------------------------------------------- */
.blog-sidebar{ position:sticky; top:5.5rem; }
.widget{
  background:#fff; border:1px solid var(--line); border-radius: var(--radius-md);
  padding:1.5rem; margin-bottom:1.5rem;
  box-shadow: var(--shadow-sm);
}
.widget-title{
  font-family: var(--font-display); font-weight:600; color: var(--navy);
  font-size:1rem; margin-bottom:1.1rem; display:flex; align-items:center; gap:.5rem;
}
.widget-title i{ color: var(--gold); }

.widget-post{
  display:flex; gap:.85rem; align-items:center; padding:.6rem 0;
  border-bottom:1px solid var(--line);
}
.widget-post:last-child{ border-bottom:none; padding-bottom:0; }
.widget-post:first-child{ padding-top:0; }
.widget-post img{
  width:56px; height:56px; object-fit:cover; border-radius:10px; flex:0 0 56px; background:#dfe3f5;
}
.widget-post-title{
  display:block; font-weight:600; font-size:.85rem; color: var(--navy); line-height:1.3;
}
.widget-post:hover .widget-post-title{ color: var(--gold-deep); }
.widget-post-date{ display:flex; align-items:center; gap:.3rem; font-size:.72rem; color: var(--muted); margin-top:.25rem; }

.widget-post--ranked{ align-items:flex-start; }
.widget-rank{
  flex:0 0 26px; width:26px; height:26px; border-radius:50%; background: var(--bg-soft);
  color: var(--navy); font-weight:700; font-size:.78rem;
  display:flex; align-items:center; justify-content:center;
}

.widget-cat-list{ list-style:none; margin:0; padding:0; }
.widget-cat-list li{ border-bottom:1px solid var(--line); }
.widget-cat-list li:last-child{ border-bottom:none; }
.widget-cat-list a{
  display:flex; justify-content:space-between; align-items:center;
  padding:.6rem 0; color: var(--navy); font-weight:500; font-size:.88rem;
}
.widget-cat-list a:hover{ color: var(--gold-deep); }
.widget-cat-list a span{
  background: var(--bg-soft); color: var(--navy); font-size:.72rem; font-weight:700;
  border-radius:999px; padding:.1rem .55rem;
}
.widget-view-all{
  display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem;
  color: var(--navy); font-weight:600; font-size:.85rem;
}
.widget-view-all:hover{ color: var(--gold-deep); }

.widget-cta{
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%); color:#fff; border:none;
  position:relative; overflow:hidden;
}
.widget-cta::after{
  content:''; position:absolute; width:140px; height:140px; border-radius:50%;
  background: rgba(244,196,48,.15); right:-40px; bottom:-50px;
}
.widget-cta .widget-title{ color:#fff; }
.widget-cta p{ color:#c9cdea; }
.btn-gold{
  background: var(--gold); color: var(--navy-deep); font-weight:700; border:none; border-radius:10px;
}
.btn-gold:hover{ background: var(--gold-soft); color: var(--navy-deep); }

@media (max-width: 991.98px){
  .blog-sidebar{ position:static; margin-top:2rem; }
}

/* ---------------------------------------------------------------- */
/* Share buttons                                                      */
/* ---------------------------------------------------------------- */
.share-bar{ display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; }
.share-label{ font-weight:600; color: var(--navy); font-size:.85rem; margin-right:.3rem; display:inline-flex; align-items:center; gap:.4rem; }
.share-label i{ color: var(--gold); }
.share-btn{
  width:36px; height:36px; border-radius:50%; border:1px solid var(--line);
  background:#fff; color: var(--sb, var(--navy)); display:inline-flex; align-items:center; justify-content:center;
  font-size:.95rem; transition: background .2s ease, color .2s ease, transform .2s ease;
}
.share-btn:hover{ background: var(--sb, var(--navy)); color:#fff; transform: translateY(-2px); border-color: transparent; }
.share-bar--end{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:1.25rem 0;
}

/* ---------------------------------------------------------------- */
/* Categories archive                                                 */
/* ---------------------------------------------------------------- */
.archive-card{
  display:block; height:100%; background:#fff; border:1px solid var(--line); border-radius: var(--radius-md);
  padding:1.75rem; box-shadow: var(--shadow-sm);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position:relative; overflow:hidden;
}
.archive-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background: linear-gradient(90deg, var(--gold), var(--navy)); transform: scaleX(0); transform-origin:left;
  transition: transform .3s ease;
}
.archive-card:hover::before{ transform: scaleX(1); }
.archive-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: transparent; }
.archive-card-icon{
  width:52px; height:52px; border-radius:14px; background: var(--bg-soft); color: var(--navy);
  display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:1.1rem;
}
.archive-card h5{ color: var(--navy); font-weight:700; font-family: var(--font-display); margin-bottom:.5rem; }
.archive-count{
  display:inline-block; background: var(--gold); color: var(--navy-deep); font-weight:700;
  font-size:.72rem; letter-spacing:.03em; text-transform:uppercase; padding:.3rem .65rem; border-radius:999px;
}

/* ---------------------------------------------------------------- */
/* Page hero (category / categories archive) — light, not dark        */
/* ---------------------------------------------------------------- */
.page-hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(55% 120% at 90% -20%, rgba(244,196,48,.22) 0%, rgba(244,196,48,0) 60%),
    radial-gradient(45% 90% at 0% 120%, rgba(20,27,77,.10) 0%, rgba(20,27,77,0) 60%),
    linear-gradient(180deg, var(--bg-soft) 0%, #fff 100%);
  padding: 3.25rem 0 2.75rem;
  border-bottom: 1px solid var(--line);
}
.page-hero .breadcrumb-modern{ margin-bottom:1.25rem; }
.page-hero-icon{
  width:56px; height:56px; border-radius:16px; background:#fff; border:1px solid var(--line);
  color: var(--navy); display:flex; align-items:center; justify-content:center; font-size:1.5rem;
  box-shadow: var(--shadow-sm); margin-bottom:1rem;
}
.page-hero h1{ font-family: var(--font-display); font-weight:600; color: var(--navy); font-size: clamp(1.9rem, 3.6vw, 2.6rem); }
.page-hero p{ color: var(--muted); max-width:640px; font-size:1.02rem; margin-bottom:0; }

/* ---------------------------------------------------------------- */
/* Single post                                                        */
/* ---------------------------------------------------------------- */
.reading-progress{
  position: fixed; top:0; left:0; height:3px; width:0%;
  background: linear-gradient(90deg, var(--gold), var(--navy));
  z-index: 2000; transition: width .1s linear;
}
.post-hero-img{ width:100%; max-height:440px; object-fit:cover; border-radius: var(--radius-lg); }
.post-title{
  font-family: var(--font-display); font-weight:600; color: var(--navy);
  font-size: clamp(1.8rem, 3.4vw, 2.7rem); line-height:1.15;
}
.post-content{ font-size:1.08rem; line-height:1.85; color:#242849; }
.post-content h2, .post-content h3{ color: var(--navy); font-weight:700; margin-top:2rem; font-family: var(--font-display); }
.post-content img{ max-width:100%; border-radius:12px; }
.post-content blockquote{
  border-left:4px solid var(--gold); margin:1.5rem 0; padding:.25rem 1.25rem; color: var(--muted); font-style: normal;
}
.post-content pre{ background:#f4f5fb; padding:1rem; border-radius:10px; overflow:auto; }

.post-meta-bar{
  display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.25rem;
  background: var(--bg-tint); border:1px solid var(--line); border-radius: var(--radius-md);
  color: var(--muted); font-size:.88rem; font-weight:500;
  padding: 1rem 1.25rem; margin: 1.25rem 0 1.5rem;
}
.post-meta-bar span{ display:inline-flex; align-items:center; gap:.4rem; }
.post-meta-bar i{ color: var(--gold); }

.author-chip{
  width:38px; height:38px; border-radius:50%; background: var(--navy); color:#fff;
  display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:.9rem;
}

/* Section labels */
.section-eyebrow{
  color: var(--gold-deep); font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem;
}

/* ---------------------------------------------------------------- */
/* Footer                                                             */
/* ---------------------------------------------------------------- */
.site-footer{ background: var(--navy-deep); color:#c9cdea; margin-top:4rem; position:relative; overflow:hidden; }
.site-footer::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background: linear-gradient(90deg, var(--gold), var(--navy-soft), var(--gold));
}
.footer-row{
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1.5rem 2rem;
}
.footer-brand{ display:flex; align-items:center; gap:.9rem; margin-bottom:0; }
.footer-brand .footer-text{ max-width:340px; display:block; }
.footer-contact{ display:flex; flex-direction:column; gap:.4rem; }
.footer-contact .footer-text{ display:flex; align-items:center; gap:.5rem; }
.footer-contact i{ color: var(--gold); }
@media (max-width: 767.98px){
  .footer-row{ flex-direction:column; align-items:flex-start; }
}
.footer-heading{ color:#fff; font-weight:700; letter-spacing:.05em; font-size:.85rem; margin-bottom:1rem; }
.footer-text{ color:#a9aede; font-size:.9rem; }
.footer-text a{ color:#a9aede; }
.footer-text a:hover{ color: var(--gold); }
.footer-divider{ border-color: rgba(255,255,255,.1); }
.footer-copy{ color:#7d82ab; font-size:.8rem; }
.footer-social a{
  width:32px; height:32px; border-radius:50%; background: rgba(255,255,255,.08); color:#c9cdea;
  display:inline-flex; align-items:center; justify-content:center; margin-right:.5rem;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.footer-social a:hover{ background: var(--gold); color: var(--navy-deep); transform: translateY(-2px); }

/* Pagination */
.pagination .page-link{ color: var(--navy); border-radius:8px; margin:0 .15rem; border-color: var(--line); }
.pagination .page-item.active .page-link{ background: var(--navy); border-color: var(--navy); }

/* Empty state */
.empty-state{ text-align:center; padding: 4rem 1rem; color: var(--muted); }
.empty-state i{ font-size:2.5rem; color: var(--gold); margin-bottom:1rem; display:block; }
