:root {
      --navy: #08083d;
      --navy-soft: #242453;
      --gold: #b1a084;
      --gold-dark: #988567;
      --cream: #f7f3ec;
      --line: #e9e3d8;
      --white: #ffffff;
      --shadow: 0 24px 60px rgba(8, 8, 61, .16);
      --hair: rgba(255, 255, 255, .09);
      --ink-1: rgba(255, 255, 255, .92);
      --ink-2: rgba(255, 255, 255, .62);
      --ink-3: rgba(255, 255, 255, .40);
    }
html { color-scheme: light; }
.site-header {
      position: relative;
      z-index: 30;
      background: var(--white);
      box-shadow: 0 1px 0 rgba(8, 8, 61, .08);
    }
.blog-hero { position: relative; background: linear-gradient(135deg, #08083d 0%, #23234f 60%, #3a3a5c 100%); color: var(--white); }
.blog-hero__intro { padding: 84px 0 96px; }
.blog-hero__intro h1 { margin: 0; font-size: clamp(34px, 5vw, 60px); line-height: 1.06; letter-spacing: -.035em; }
.blog-hero__lead { max-width: 560px; margin: 22px 0 0; color: rgba(255,255,255,.86); font-size: 15px; line-height: 1.7; }
.blog-section { padding: 64px 0 96px; background: var(--white); }
.blog-layout { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 36px; align-items: start; }
.blog-main { min-width: 0; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 26px; }
.blog-card {
      display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 18px;
      background: var(--white); box-shadow: 0 10px 28px rgba(8,8,61,.06);
      transition: transform .18s ease, box-shadow .18s ease;
    }
.blog-card:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(8,8,61,.14); }
.blog-card__img { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: var(--cream); }
.blog-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px 22px 20px; gap: 12px; }
.blog-card__date { display: inline-flex; align-items: center; gap: 8px; color: var(--navy-soft); font-size: 12.5px; font-weight: 500; }
.blog-card__date svg { width: 15px; height: 15px; stroke: var(--gold-dark); flex-shrink: 0; }
.blog-card__accent { width: 38px; height: 3px; border-radius: 2px; background: var(--gold); }
.blog-card__title {
      margin: 0; color: var(--navy); font-size: 16.5px; font-weight: 700; line-height: 1.4;
      display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
    }
.blog-card__more { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 4px; color: var(--gold-dark); font-size: 13px; font-weight: 700; }
.blog-pagination { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 40px; }
.blog-pagination button {
      display: inline-flex; min-width: 40px; height: 40px; padding: 0 14px; align-items: center; justify-content: center;
      border: 1px solid var(--line); border-radius: 999px; color: var(--navy-soft); background: var(--white);
      font-size: 13.5px; font-weight: 600; cursor: pointer; transition: border-color .16s ease, color .16s ease, background .16s ease;
    }
.blog-pagination button:hover { border-color: var(--gold); color: var(--gold-dark); }
.blog-pagination button[aria-current="true"] { border-color: var(--gold); color: var(--white); background: var(--gold); }
.blog-pagination button:disabled { opacity: .4; cursor: default; }
.blog-pagination button:disabled:hover { border-color: var(--line); color: var(--navy-soft); }
.blog-sidebar { display: grid; gap: 28px; }
.side-block { padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: #fbfaf7; }
.side-title { margin: 0 0 16px; color: var(--navy); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.side-list { display: grid; margin: 0; padding: 0; gap: 2px; list-style: none; }
.side-list a {
      display: flex; align-items: center; gap: 10px; padding: 10px 0; color: var(--navy-soft);
      font-size: 14px; font-weight: 500; border-bottom: 1px solid var(--line); transition: color .14s ease, transform .14s ease;
    }
.side-list li:last-child a { border-bottom: 0; }
.side-list a:hover { color: var(--gold-dark); transform: translateX(3px); }
.side-list a .ok { color: var(--gold); font-weight: 700; }
@media (max-width: 1240px) and (min-width: 1024px) {
      .header-main { width: min(1240px, calc(100% - 48px)); grid-template-columns: 145px minmax(0,1fr) auto auto; column-gap: 8px; }
      .brand { width: 142px; }
      .nav-trigger { padding-right: 7px; padding-left: 7px; font-size: 11px; }
      .consultation-cta { padding-right: 15px; padding-left: 15px; font-size: 11px; }
      .language-button { font-size: 11px; }
    }
@media (max-width: 1023px) {
      .utility-bar { display: none; }
      .header-main { display: flex; justify-content: space-between; width: min(720px, calc(100% - 32px)); min-height: 64px; }
      .brand { width: 138px; }
      .desktop-nav, .header-main > .consultation-cta, .header-main > .language { display: none; }
      .hamburger { display: inline-flex; }
      .lead { grid-template-columns: 1fr; gap: 34px; padding: 56px 0 40px; }
      .lead-contact { justify-self: start; text-align: left; }
      .directory { grid-template-columns: 1fr 1fr; gap: 34px 40px; }
      .blog-layout { grid-template-columns: 1fr; }
      .blog-sidebar { grid-template-columns: 1fr 1fr; }
      .blog-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }}
@media (max-width: 720px) {
      .blog-sidebar { grid-template-columns: 1fr; }
      .blog-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }}
@media (max-width: 560px) {
      .wrap { width: calc(100% - 40px); }
      .directory { grid-template-columns: 1fr; }
      .baseline { flex-direction: column; align-items: flex-start; }
      .blog-hero__intro { padding: 56px 0 64px; }
      .blog-grid { grid-template-columns: 1fr; }
      .blog-section { padding: 44px 0 64px; }}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }}

/* sticky header on mobile — same rule the other pages already have (13 Sep 2026) */
@media (max-width: 1023px) {
.site-header { position: sticky; top: 0; box-shadow: 0 1px 0 rgba(8,8,61,.08), 0 6px 20px rgba(8,8,61,.06); }
}
