
  /* ---------- Front-page landing styles ---------- */
  .gjj-front-page {
    --gold: #C8921A;
    --gold-light: #D4A535;
    --dark: #2a2a2a;
    --charcoal: #3d3d3d;
    --footer-bg: #000;
    --text-muted: #aaa;
    --white: #fff;
  }

  .gjj-front-page,
  .gjj-front-page * {
    box-sizing: border-box;
  }

  .gjj-front-page {
    margin: 0;
    padding: 0;
    font-family: 'Montserrat', sans-serif;
    background: var(--white);
    color: var(--dark);
    overflow-x: hidden;
  }

  .gjj-front-page nav {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: rgba(42, 42, 42, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
  }

  .gjj-front-page .mhc-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
  }

  .gjj-front-page nav .mhc-logo-icon {
    width: 100%;
    max-width: 450px;
  }

  .gjj-front-page .mhc-logo-icon {
    width: 100%;
    max-width: clamp(220px, 30vw, 330px);
  }

  .gjj-front-page .mhc-logo-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .gjj-front-page .mhc-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 520px;
    overflow: hidden;
  }

  .gjj-front-page .mhc-hero-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }

  .gjj-front-page .mhc-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
      rgba(0, 0, 0, 0.18) 0%,
      rgba(0, 0, 0, 0.32) 50%,
      rgba(0, 0, 0, 0.55) 100%);
  }

  .gjj-front-page .mhc-hero-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 24px 40px;
    text-align: center;
    animation: gjj-fade-up 1s ease 0.3s both;
  }

  .gjj-front-page .mhc-hero-eyebrow {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 4px;
    color: var(--gold-light);
    text-transform: uppercase;
    margin-bottom: 14px;
  }

  .gjj-front-page .mhc-hero-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.2rem, 6vw, 4rem);
    font-weight: 400;
    color: var(--white);
    line-height: 1.15;
    margin-bottom: 18px;
  }

  .gjj-front-page .mhc-hero-title em {
    font-style: italic;
    color: var(--gold-light);
  }

  .gjj-front-page .mhc-hero-subtitle {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(0.78rem, 1.8vw, 0.95rem);
    font-weight: 300;
    color: rgba(255, 255, 255, 0.88);
    max-width: 520px;
    margin: 0 auto 28px;
    line-height: 1.75;
    letter-spacing: 0.3px;
  }

  .gjj-front-page .mhc-btn-primary {
    display: inline-block;
    padding: 14px 34px;
    background: var(--gold);
    color: var(--white);
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(12px, 1.5vw, 14px);
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    text-decoration: none;
    border: 2px solid var(--gold);
    cursor: pointer;
    transition: background 0.25s, color 0.25s, transform 0.2s;
  }

  .gjj-front-page .mhc-btn-primary:hover {
    background: transparent;
    color: var(--gold);
    transform: translateY(-2px);
  }

  .gjj-front-page footer {
    background: var(--footer-bg);
    padding: 52px 24px 30px;
    text-align: center;
  }

  .gjj-front-page .mhc-footer-branding {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 18px;
  }

  .gjj-front-page .mhc-footer-description {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-muted);
    max-width: 600px;
    margin: 0 auto 26px;
    line-height: 1.8;
  }

  .gjj-front-page .mhc-footer-contacts {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 28px;
    margin-bottom: 24px;
  }

  .gjj-front-page .mhc-footer-contacts a {
    font-size: 14px;
    font-weight: 400;
    color: var(--text-muted);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 7px;
    transition: color 0.2s;
  }

  .gjj-front-page .mhc-footer-contacts a:hover {
    color: var(--gold-light);
  }

  .gjj-front-page .mhc-footer-contacts a:hover svg {
    stroke: var(--gold-light);
    fill: none;
  }

  .gjj-front-page .mhc-footer-contacts a:hover svg.fill-icon {
    fill: var(--gold-light);
    stroke: none;
  }

  .gjj-front-page .mhc-footer-contacts svg {
    flex-shrink: 0;
    transition: stroke 0.2s, fill 0.2s;
  }

  .gjj-front-page .mhc-footer-divider {
    width: 50px;
    height: 1px;
    background: var(--gold);
    margin: 0 auto 20px;
    opacity: 0.6;
  }

  .gjj-front-page .mhc-footer-copy {
    font-size: 12px;
    font-weight: 300;
    color: rgba(170, 170, 170, 0.6);
    letter-spacing: 0.5px;
  }

  .gjj-front-page .mhc-ftr-logo-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
    margin-top: 2.5rem;
  }

  .gjj-front-page .mhc-ftr-logo-wrapper .mhc-logo-icon {
    width: 100%;
    max-width: clamp(200px, 30vw, 220px);
  }

  .gjj-front-page .mhc-social-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
  }

  .gjj-front-page .mhc-social-icons__item {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.7);
    transition: all .3s ease;
    background: transparent;
  }

  .gjj-front-page .mhc-social-icons__item svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
  }

  .gjj-front-page .mhc-social-icons__item:hover {
    color: #ffffff;
    border-color: #ffffff;
    transform: translateY(-2px);
  }
  
  .page-template-tpl_blog .gjj-hero-title em {
    color: #d4a535;
}

  @keyframes gjj-fade-up {
    from {
      opacity: 0;
      transform: translateY(30px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @media (max-width: 600px) {
    .gjj-front-page .mhc-hero-content {
      padding: 70px 16px 30px;
    }

    .gjj-front-page .mhc-hero-eyebrow {
      font-size: 12px;
      letter-spacing: 1px;
    }

    .gjj-front-page .mhc-hero-subtitle {
      font-size: 14px;
    }

    .gjj-front-page .mhc-footer-contacts {
      gap: 10px 20px;
    }
  }

  :root{
    --gjj-cream:#F7F4EE;
    --gjj-grey:#EDEAE3;
    --gjj-ink:#2B2A26;
    --gjj-ink-soft:#5A574F;
    --gjj-accent:#C17A4C;
    --gjj-accent-dark:#A2653C;
    --gjj-line:#DCD8CE;
    --gjj-white:#FFFFFF;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body.gjj-blog-body{
    margin:0;
    font-family:'Montserrat',sans-serif;
    color:var(--gjj-ink);
    background:var(--gjj-cream);
    -webkit-font-smoothing:antialiased;
  }

  nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: transparent;
    /* backdrop-filter: blur(8px); */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    transition: background-color 0.3s ease;
  }

  nav.scrolled {
    background: #000;
  }

  .mhc-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
  }

  .mhc-logo-icon {
    width: 100%;
    max-width: clamp(180px, 25vw, 220px);
  }

  .mhc-logo-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  footer {
    background: #000;
    padding: 52px 24px 30px;
    text-align: center;
  }

  /*mhc footer social icons*/
    .mhc-social-icons {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      align-items: center;
      justify-content: center;
      margin-bottom: 1.5rem;
    }
    
    .mhc-social-icons__item {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.25);
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(255,255,255,0.7);
      transition: all .3s ease;
      background: transparent;
    }
    
    .mhc-social-icons__item svg {
      width: 18px;
      height: 18px;
      fill: currentColor;
    }
    
    .mhc-social-icons__item:hover {
      color: #ffffff;
      border-color: #ffffff;
      transform: translateY(-2px);
    }

  .mhc-footer-branding {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 18px;
    margin-top: 2.5rem;
  }

  .mhc-footer-description {
    font-size: 14px;
    font-weight: 500;
    color: #aaa;
    max-width: 600px;
    margin: 0 auto 26px;
    line-height: 1.8;
  }

  .mhc-footer-contacts {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 28px;
    margin-bottom: 24px;
  }

  .mhc-footer-contacts a {
    font-size: 14px;
    font-weight: 400;
    color: #aaa;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 7px;
    transition: color 0.2s;
  }

  .mhc-footer-contacts a:hover {
    color: #D4A535;
  }

  .mhc-footer-contacts a:hover svg {
    stroke: #D4A535;
    fill: none;
  }

  .mhc-footer-contacts a:hover svg.fill-icon {
    fill: #D4A535;
    stroke: none;
  }

  .mhc-footer-contacts svg {
    flex-shrink: 0;
    transition: stroke 0.2s, fill 0.2s;
  }

  .mhc-footer-divider {
    width: 50px;
    height: 1px;
    background: #C8921A;
    margin: 0 auto 20px;
    opacity: 0.6;
  }

  .mhc-footer-copy {
    font-size: 12px;
    font-weight: 300;
    color: rgba(170, 170, 170, 0.6);
    letter-spacing: 0.5px;
  }

  .mhc-ftr-logo-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
  }

  .mhc-ftr-logo-wrapper .mhc-logo-icon {
    width: 100%;
    max-width: clamp(200px, 30vw, 220px);
  }

  .gjj-blog-page a{text-decoration:none;color:inherit;}
  .gjj-blog-page img{display:block;max-width:100%;}

  /* ---------- Eyebrow ---------- */
  .gjj-eyebrow{
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--gjj-accent);
    font-weight:500;
    margin:0 0 12px;
  }

  /* ---------- Hero ---------- */
  .gjj-hero{
    position:relative;
    min-height:640px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    background:
      linear-gradient(180deg, rgba(20,24,30,.55) 0%, rgba(30,34,38,.35) 45%, rgba(10,16,22,.75) 100%),
      url('../images/blog-hero-yoga.png')
      center/cover no-repeat;
    padding:120px 24px 100px;
  }
  .gjj-no-bg {
    background: none;
  }
  .gjj-hero-inner{max-width:720px;z-index: 2;}
  .gjj-hero-eyebrow{
    color:#F0DFC9;
    font-size:12px;
    letter-spacing:.25em;
    text-transform:uppercase;
    margin:0 0 18px;
    font-weight:500;
  }
  .gjj-hero-title{
    font-family:'Playfair Display',serif;
    font-weight:500;
    font-size:56px;
    line-height:1.15;
    color:var(--gjj-white);
    margin:0 0 22px;
  }
  .gjj-hero-sub{
    font-size:15px;
    line-height:1.7;
    color:#EFE9DD;
    max-width:520px;
    margin:0 auto;
    font-weight:300;
  }
  .gjj-hero-media{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }
  .gjj-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
          rgba(0, 0, 0, 0.18) 0%,
          rgba(0, 0, 0, 0.32) 50%,
          rgba(0, 0, 0, 0.55) 100%);
  }

  /* ---------- Featured article ---------- */
  .gjj-featured-section{
    background:var(--gjj-cream);
    padding:72px 24px 88px;
  }
  .gjj-featured-wrap{
    max-width:1180px;
    margin:0 auto;
  }
  .gjj-featured-eyebrow{margin-left:2px;}
  .gjj-featured-grid{
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:56px;
    align-items:center;
    margin-top:22px;
  }
  .gjj-featured-media{
    overflow:hidden;
    border-radius:2px;
  }
  .gjj-featured-media img{
    width:100%;
    height:340px;
    object-fit:cover;
    transition:transform .6s ease;
  }
  .gjj-featured-media:hover img{transform:scale(1.04);}
  .gjj-featured-category{
    font-size:11px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--gjj-accent);
    font-weight:500;
    margin:0 0 14px;
  }
  .gjj-featured-title{
    font-family:'Playfair Display',serif;
    font-size:34px;
    line-height:1.25;
    font-weight:500;
    margin:0 0 18px;
    color:var(--gjj-ink);
  }
  .gjj-featured-excerpt{
    font-size:15px;
    line-height:1.75;
    color:var(--gjj-ink-soft);
    font-weight:300;
    margin:0 0 22px;
    max-width:460px;
  }
  .gjj-featured-meta{
    font-size:12px;
    color:var(--gjj-ink-soft);
    letter-spacing:.02em;
    margin:0 0 20px;
  }
  .gjj-featured-meta span{margin:0 6px;color:var(--gjj-line);}
  .gjj-featured-link{
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gjj-accent-dark);
    font-weight:500;
    border-bottom:1px solid currentColor;
    padding-bottom:3px;
    transition:opacity .2s ease;
  }
  .gjj-featured-link:hover{opacity:.65;}

  /* ---------- Grid section ---------- */
  .gjj-grid-section{
    background:var(--gjj-grey);
    padding:70px 24px 100px;
  }
  .gjj-grid-wrap{
    max-width:1180px;
    margin:0 auto;
  }
  .gjj-grid-eyebrow{margin-left:2px;margin-bottom:34px;}
  .gjj-card-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:44px 36px;
  }
  .gjj-card{
    display:flex;
    flex-direction:column;
  }
  .gjj-card-media{
    overflow:hidden;
    border-radius:2px;
    margin-bottom:18px;
    background:var(--gjj-line);
  }
  .gjj-card-media img{
    width:100%;
    height:210px;
    object-fit:cover;
    transition:transform .5s ease;
  }
  .gjj-card:hover .gjj-card-media img{transform:scale(1.05);}
  .gjj-card-category{
    font-size:10.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gjj-accent);
    font-weight:500;
    margin:0 0 10px;
  }
  .gjj-card-title{
    font-family:'Playfair Display',serif;
    font-size:21px;
    line-height:1.3;
    font-weight:600;
    color:var(--gjj-ink);
    margin:0 0 10px;
  }
  .gjj-card-title a{transition:color .2s ease;}
  .gjj-card:hover .gjj-card-title{color:var(--gjj-accent-dark);}
  .gjj-card-excerpt{
    font-size:13.5px;
    line-height:1.7;
    color:var(--gjj-ink-soft);
    font-weight:300;
    margin:0 0 14px;
    flex-grow:1;
  }
  .gjj-card-meta{
    font-size:11px;
    color:#8B8779;
    letter-spacing:.02em;
  }
  .gjj-card-meta span{margin:0 5px;color:#C9C5B8;}

  /* ---------- Responsive ---------- */
  @media (max-width: 980px){
    .gjj-featured-grid{grid-template-columns:1fr;gap:32px;}
    .gjj-featured-media img{height:280px;}
    .gjj-card-grid{grid-template-columns:repeat(2,1fr);}
    .gjj-hero-title{font-size:46px;}
  }

  @media (max-width: 640px){
    .gjj-hero{min-height:520px;padding:90px 20px 70px;}
    .mhc-footer-contacts { gap: 10px 20px; }
    .gjj-hero-title{font-size:34px;}
    .gjj-hero-sub{font-size:14px;}
    .gjj-featured-section{padding:56px 20px 64px;}
    .gjj-grid-section{padding:56px 20px 70px;}
    .gjj-featured-title{font-size:26px;}
    .gjj-card-grid{grid-template-columns:1fr;gap:38px;}
    .gjj-card-media img{height:220px;}
  }



  
    :root {
      --gjj-cream: #F7F4EE;
      --gjj-grey: #EDEAE3;
      --gjj-ink: #2B2A26;
      --gjj-ink-soft: #5A574F;
      --gjj-accent: #C17A4C;
      --gjj-accent-dark: #A2653C;
      --gjj-line: #DCD8CE;
      --gjj-white: #FFFFFF;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body.gjj-article-body {
      margin: 0;
      font-family: 'Montserrat', sans-serif;
      color: var(--gjj-ink);
      background: var(--gjj-cream);
      -webkit-font-smoothing: antialiased;
    }

    nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      background: transparent;
      /* backdrop-filter: blur(8px); */
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 10px 24px;
      transition: background-color 0.3s ease;
    }

    nav.scrolled {
      background: #000;
    }

    .mhc-logo {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
    }

    .mhc-logo-icon {
      width: 100%;
      max-width: clamp(150px, 25vw, 380px);
    }

    .mhc-logo-icon img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    footer {
      background: #000;
      padding: 52px 24px 30px;
      text-align: center;
    }

    .mhc-footer-branding {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      margin-bottom: 18px;
      margin-top: 2.5rem;
    }

    .mhc-footer-description {
      font-size: 14px;
      font-weight: 500;
      color: #aaa;
      max-width: 600px;
      margin: 0 auto 26px;
      line-height: 1.8;
    }

    .mhc-footer-contacts {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 12px 28px;
      margin-bottom: 24px;
    }

    .mhc-footer-contacts a {
      font-size: 14px;
      font-weight: 400;
      color: #aaa;
      text-decoration: none;
      display: flex;
      align-items: center;
      gap: 7px;
      transition: color 0.2s;
    }

    .mhc-footer-contacts a:hover {
      color: #D4A535;
    }

    .mhc-footer-contacts a:hover svg {
      stroke: #D4A535;
      fill: none;
    }

    .mhc-footer-contacts a:hover svg.fill-icon {
      fill: #D4A535;
      stroke: none;
    }

    .mhc-footer-contacts svg {
      flex-shrink: 0;
      transition: stroke 0.2s, fill 0.2s;
    }

    .mhc-footer-divider {
      width: 50px;
      height: 1px;
      background: #C8921A;
      margin: 0 auto 20px;
      opacity: 0.6;
    }

    .mhc-footer-copy {
      font-size: 12px;
      font-weight: 300;
      color: rgba(170, 170, 170, 0.6);
      letter-spacing: 0.5px;
    }

    .mhc-ftr-logo-wrapper {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 1rem;
      flex-wrap: wrap;
      margin-bottom: 1.5rem;
    }

    .mhc-ftr-logo-wrapper .mhc-logo-icon {
      width: 100%;
      max-width: clamp(200px, 30vw, 220px);
    }

    .gjj-article-page a {
      text-decoration: none;
      color: inherit;
    }

    .gjj-article-page img {
      display: block;
      max-width: 100%;
    }

    .gjj-eyebrow2 {
      font-size: 11px;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--gjj-accent);
      font-weight: 500;
      margin: 0 0 12px;
    }

    /* ---------- Article hero ---------- */
    .gjj-art-hero {
      position: relative;
      min-height: 640px;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      text-align: center;
      background:
        linear-gradient(180deg, rgba(18, 22, 28, .55) 0%, rgba(24, 28, 32, .25) 40%, rgba(10, 14, 18, .6) 100%),
        url('../images/blog1.jpg') center 25%/cover no-repeat;
      padding: 150px 24px 60px;
    }

    .gjj-art-hero-inner {
      max-width: 760px;
    }

    .gjj-back-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 11px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: #EDE7D9;
      font-weight: 500;
      margin-bottom: 26px;
      transition: opacity .2s ease;
    }

    .gjj-back-link:hover {
      opacity: .7;
    }

    .gjj-art-category {
      font-size: 11px;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: #F0DFC9;
      font-weight: 500;
      margin: 0 0 18px;
    }

    .gjj-art-title {
      font-family: 'Playfair Display', serif;
      font-weight: 400;
      font-style: italic;
      font-size: 44px;
      line-height: 1.3;
      color: var(--gjj-white);
      margin: 0 0 26px;
    }

    .gjj-art-byline {
      font-size: 12.5px;
      color: #E7E1D3;
      letter-spacing: .02em;
      font-weight: 300;
    }

    .gjj-art-byline span {
      margin: 0 8px;
      color: #8f8a78;
    }

    /* ---------- Excerpt / intro block ---------- */
    .gjj-excerpt-section {
      background: var(--gjj-cream);
      padding: 70px 24px 10px;
    }

    .gjj-excerpt-wrap {
      max-width: 820px;
      margin: 0 auto;
    }

    .gjj-excerpt-text {
      font-family: 'Playfair Display', serif;
      font-style: italic;
      font-size: 17px;
      line-height: 1.85;
      color: var(--gjj-ink-soft);
      text-align: center;
      margin: 0 0 40px;
    }

    .gjj-excerpt-divider {
      border: none;
      border-top: 1px solid var(--gjj-line);
      max-width: 820px;
      margin: 0 auto;
    }

    /* ---------- Body content ---------- */
    .gjj-body-section {
      background: var(--gjj-cream);
      padding: 56px 24px 90px;
    }

    .gjj-body-wrap {
      max-width: 760px;
      margin: 0 auto;
    }

    .gjj-body-wrap h2 {
      font-family: 'Playfair Display', serif;
      font-weight: 600;
      font-size: 29px;
      line-height: 1.3;
      color: var(--gjj-ink);
      margin: 44px 0 20px;
    }

    .gjj-body-wrap h2:first-child {
      margin-top: 0;
    }

    .gjj-body-wrap p {
      font-size: 15px;
      line-height: 1.9;
      color: var(--gjj-ink-soft);
      font-weight: 300;
      margin: 0 0 20px;
    }

    .gjj-body-wrap ol {
      margin: 0 0 20px;
      padding-left: 22px;
    }

    .gjj-body-wrap ol li {
      font-size: 15px;
      line-height: 1.85;
      color: var(--gjj-ink-soft);
      font-weight: 300;
      margin-bottom: 10px;
    }

    .gjj-body-wrap ol li strong {
      color: var(--gjj-ink);
      font-weight: 600;
    }

    /* ---------- CTA ---------- */
    .gjj-cta-section {
      background: var(--gjj-grey);
      padding: 80px 24px;
      text-align: center;
    }

    .gjj-cta-eyebrow {
      font-size: 11px;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--gjj-accent);
      font-weight: 500;
      margin: 0 0 18px;
    }

    .gjj-cta-title {
      font-family: 'Playfair Display', serif;
      font-weight: 500;
      font-size: 32px;
      color: var(--gjj-ink);
      margin: 0 0 16px;
    }

    .gjj-cta-sub {
      font-size: 14px;
      color: var(--gjj-ink-soft);
      font-weight: 300;
      margin: 0 0 32px;
    }

    .gjj-cta-btn {
      display: inline-block;
      background: var(--gjj-accent);
      color: var(--gjj-white);
      font-size: 11.5px;
      letter-spacing: .14em;
      text-transform: uppercase;
      font-weight: 600;
      padding: 16px 34px;
      border-radius: 2px;
      transition: background .2s ease;
    }

    .gjj-cta-btn:hover {
      background: var(--gjj-accent-dark);
    }

    /* ---------- Continue reading ---------- */
    .gjj-continue-section {
      background: var(--gjj-cream);
      padding: 70px 24px 96px;
    }

    .gjj-continue-wrap {
      max-width: 1180px;
      margin: 0 auto;
    }

    .gjj-continue-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 34px;
    }

    .gjj-all-articles-link {
      font-size: 11px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--gjj-ink);
      font-weight: 500;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      transition: opacity .2s ease;
    }

    .gjj-all-articles-link:hover {
      opacity: .6;
    }

    .gjj-continue-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 36px;
    }

    .gjj-continue-card-media {
      overflow: hidden;
      border-radius: 2px;
      margin-bottom: 18px;
    }

    .gjj-continue-card-media img {
      width: 100%;
      height: 210px;
      object-fit: cover;
      transition: transform .5s ease;
    }

    .gjj-continue-card:hover .gjj-continue-card-media img {
      transform: scale(1.05);
    }

    .gjj-continue-card-category {
      font-size: 10.5px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--gjj-accent);
      font-weight: 500;
      margin: 10px 0;
    }

    .gjj-continue-card-title {
      font-family: 'Playfair Display', serif;
      font-size: 20px;
      line-height: 1.35;
      font-weight: 600;
      color: var(--gjj-ink);
      margin: 0;
      transition: color .2s ease;
    }

    .gjj-continue-card:hover .gjj-continue-card-title {
      color: var(--gjj-accent-dark);
    }

    /* ---------- Responsive ---------- */
    @media (max-width: 980px) {
      .gjj-art-title {
        font-size: 36px;
      }

      .gjj-continue-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 640px) {
      .mhc-footer-contacts {
        gap: 10px 20px;
      }

      .gjj-art-hero {
        min-height: 520px;
        padding: 120px 20px 48px;
      }

      .gjj-art-title {
        font-size: 28px;
      }

      .gjj-excerpt-section {
        padding: 52px 20px 6px;
      }

      .gjj-excerpt-text {
        font-size: 15.5px;
      }

      .gjj-body-section {
        padding: 44px 20px 64px;
      }

      .gjj-body-wrap h2 {
        font-size: 23px;
      }

      .gjj-cta-section {
        padding: 60px 20px;
      }

      .gjj-cta-title {
        font-size: 25px;
      }

      .gjj-continue-section {
        padding: 56px 20px 72px;
      }

      .gjj-continue-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
      }

      .gjj-continue-grid {
        grid-template-columns: 1fr;
        gap: 34px;
      }
    }
  