
  :root{
    --cream:#F6F0E4;
    --cream-2:#EFE5D2;
    --paper:#FBF7EE;
    --ink:#1B1611;
    --ink-2:#241D16;
    --ink-soft:#332A20;
    --gold:#B4884D;
    --gold-light:#D8B778;
    --gold-dim:#9C7A47;
    --muted:#8A7A63;
    --muted-light:#C9BFA9;
    --line:rgba(180,136,77,.28);
  }

  *{box-sizing:border-box;}

  body{
    background:var(--cream);
    color:var(--ink);
    font-family:'Jost', sans-serif;
    font-weight:300;
    letter-spacing:.01em;
  }

  h1,h2,h3,h4,.display-serif{
    font-family:'Playfair Display', serif;
    font-weight:600;
    letter-spacing:.005em;
  }

  .italic-gold{
    font-family:'Playfair Display', serif;
    font-style:italic;
    font-weight:500;
    color:var(--gold);
  }

  .eyebrow{
    font-family:'Jost', sans-serif;
    font-size:.72rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:500;
  }

  a{ text-decoration:none; color:inherit; }

  /* ---------- NAV ---------- */
  .navbar-wedpic{
    background:var(--ink);
    padding:1.1rem 0;
    border-bottom:1px solid rgba(212,178,120,.15);
  }
  .navbar-wedpic .brand-mark{
    width:38px;height:38px;border-radius:50%;
    border:1px solid var(--gold);
    display:inline-flex;align-items:center;justify-content:center;
    color:var(--gold); font-family:'Playfair Display',serif; font-style:italic;
  }
  .navbar-wedpic .brand-text{
    font-family:'Playfair Display', serif;
    font-size:1.15rem;
    color:var(--paper);
    letter-spacing:.03em;
  }
  .navbar-wedpic .brand-text span{ color:var(--gold); font-style:italic; }
  .navbar-wedpic .nav-link{
    color:var(--muted-light);
    font-size:.82rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    margin:0 .85rem;
    transition:color .25s ease;
  }
  .navbar-wedpic .nav-link:hover{ color:var(--gold-light); }
  .btn-enquire{
    border:1px solid var(--gold);
    color:var(--gold-light);
    font-size:.78rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    padding:.55rem 1.4rem;
    border-radius:2px;
    transition:all .25s ease;
  }
  .btn-enquire:hover{ background:var(--gold); color:var(--ink); }

  .breadcrumb-bar{
    background:var(--ink-2);
    padding:.65rem 0;
    font-size:.78rem;
    color:var(--muted-light);
    letter-spacing:.05em;
  }
  .breadcrumb-bar a{ color:var(--muted-light); }
  .breadcrumb-bar a:hover{ color:var(--gold-light); }

  /* ---------- HERO ---------- */
  .journal-hero{
    background:
      radial-gradient(ellipse at 50% 0%, rgba(180,136,77,.14), transparent 60%),
      linear-gradient(180deg, var(--ink) 0%, #120E0A 100%);
    padding:5.5rem 0 4.5rem;
    text-align:center;
    position:relative;
    overflow:hidden;
  }
  .journal-hero::before{
    content:"";
    position:absolute; inset:0;
    background-image:
      repeating-linear-gradient(90deg, rgba(212,178,120,.05) 0 1px, transparent 1px 90px);
    opacity:.5;
  }
  .journal-hero h1{
    color:var(--paper);
    font-size:3.1rem;
    margin:.9rem 0 1rem;
  }
  .journal-hero p{
    color:var(--muted-light);
    max-width:520px;
    margin:0 auto;
    font-size:.95rem;
    line-height:1.8;
  }
  .diamond-divider{
    display:flex; align-items:center; justify-content:center; gap:.9rem;
    margin-top:1.8rem;
  }
  .diamond-divider .line{ width:60px; height:1px; background:var(--gold-dim); }
  .diamond-divider .dot{
    width:7px;height:7px; background:var(--gold); transform:rotate(45deg);
  }

  /* ---------- SECTION LABELS ---------- */
  .section-label{
    font-size:.72rem; letter-spacing:.24em; text-transform:uppercase;
    color:var(--gold); font-weight:500; margin-bottom:.4rem;
  }

  /* ---------- FEATURED CARD ---------- */
  .featured-card{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:3px;
    overflow:hidden;
  }
  .featured-media{
    position:relative;
    height:340px;
    background:
      radial-gradient(circle at 20% 30%, rgba(216,183,120,.35), transparent 55%),
      linear-gradient(135deg, #2A2013 0%, #1B1611 55%, #241A10 100%);
    display:flex; align-items:flex-end;
  }
  .featured-media .motif{
    position:absolute; inset:0;
    background-image: radial-gradient(rgba(216,183,120,.18) 1px, transparent 1px);
    background-size:22px 22px;
    opacity:.35;
  }
  .featured-media .tag{
    position:absolute; top:1.2rem; left:1.2rem;
    background:var(--gold);
    color:var(--ink);
    font-size:.68rem; letter-spacing:.15em; text-transform:uppercase;
    padding:.35rem .8rem;
    border-radius:2px;
  }
  .featured-media .quote-mark{
    position:relative; z-index:1;
    color:rgba(246,240,228,.14);
    font-family:'Playfair Display', serif;
    font-style:italic;
    font-size:7rem;
    line-height:.7;
    padding:0 0 .5rem 1.2rem;
  }
  .featured-body{ padding:2.1rem 2.2rem 2.3rem; }
  .featured-body h2{
    font-size:1.9rem;
    margin:.5rem 0 .8rem;
    color:var(--ink);
  }
  .meta-row{
    font-size:.78rem;
    color:var(--muted);
    display:flex; gap:1.3rem; align-items:center; flex-wrap:wrap;
    margin-bottom:1rem;
  }
  .meta-row i{ color:var(--gold); margin-right:.35rem; }
  .featured-body p.excerpt{
    color:var(--ink-soft);
    font-size:.94rem;
    line-height:1.85;
    margin-bottom:1.3rem;
  }
  .read-link{
    font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
    color:var(--gold-dim); font-weight:500;
    border-bottom:1px solid var(--gold-dim);
    padding-bottom:3px;
    transition:all .25s ease;
    display:inline-block;
  }
  .read-link:hover{ color:var(--ink); border-color:var(--ink); }

  /* ---------- ARTICLE CARDS ---------- */
  .article-card{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:3px;
    overflow:hidden;
    height:100%;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .article-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 30px -18px rgba(27,22,17,.35);
  }
  .article-media{
    height:190px;
    position:relative;
    background:linear-gradient(140deg, var(--grad-a,#241A10), var(--grad-b,#3A2A17));
    display:flex; align-items:center; justify-content:center;
  }
  .article-media .motif{
    position:absolute; inset:0;
    background-image: radial-gradient(rgba(216,183,120,.16) 1px, transparent 1px);
    background-size:18px 18px;
    opacity:.4;
  }
  .article-media i{
    color:rgba(246,240,228,.5);
    font-size:1.9rem;
    z-index:1;
  }
  .article-media .cat-pill{
    position:absolute; bottom:.8rem; left:.9rem;
    background:rgba(27,22,17,.55);
    backdrop-filter:blur(2px);
    color:var(--gold-light);
    font-size:.65rem; letter-spacing:.14em; text-transform:uppercase;
    padding:.3rem .65rem;
    border:1px solid rgba(216,183,120,.35);
    border-radius:2px;
  }
  .article-content{ padding:1.35rem 1.4rem 1.5rem; }
  .article-content h3{
    font-size:1.12rem;
    margin-bottom:.5rem;
    color:var(--ink);
    line-height:1.4;
  }
  .article-content h3 a:hover{ color:var(--gold-dim); }
  .article-content .meta-row{ font-size:.72rem; margin-bottom:.7rem; }
  .article-content p{
    font-size:.85rem;
    color:var(--muted);
    line-height:1.7;
    margin-bottom:.9rem;
  }
  .read-link.small{ font-size:.7rem; }

  /* ---------- PAGINATION ---------- */
  .journal-pagination .page-link{
    background:transparent;
    border:1px solid var(--line);
    color:var(--muted);
    margin:0 .25rem;
    border-radius:2px;
    font-size:.85rem;
  }
  .journal-pagination .page-item.active .page-link{
    background:var(--gold); border-color:var(--gold); color:var(--ink);
  }
  .journal-pagination .page-link:hover{ color:var(--ink); border-color:var(--gold); }

  /* ---------- SIDEBAR ---------- */
  .side-card{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:3px;
    padding:1.6rem 1.5rem;
    margin-bottom:1.6rem;
  }
  .side-card h4{
    font-size:1.05rem;
    margin-bottom:1.1rem;
    padding-bottom:.8rem;
    border-bottom:1px solid var(--line);
  }
  .search-form input{
    background:var(--cream);
    border:1px solid var(--line);
    border-radius:2px 0 0 2px;
    font-size:.85rem;
    padding:.6rem .9rem;
  }
  .search-form input:focus{ box-shadow:none; border-color:var(--gold); }
  .search-form button{
    background:var(--gold); border:1px solid var(--gold);
    color:var(--ink); border-radius:0 2px 2px 0;
    padding:0 1rem;
  }

  .recent-post{
    display:flex; gap:.9rem; align-items:center;
    margin-bottom:1.1rem;
    padding-bottom:1.1rem;
    border-bottom:1px dashed var(--line);
  }
  .recent-post:last-child{ margin-bottom:0; padding-bottom:0; border-bottom:none; }
  .recent-thumb{
    width:58px; height:58px; flex:0 0 58px;
    border-radius:2px;
    background:linear-gradient(140deg, var(--grad-a,#241A10), var(--grad-b,#3A2A17));
    display:flex; align-items:center; justify-content:center;
    color:rgba(246,240,228,.55);
  }
  .recent-post h6{
    font-size:.85rem; margin-bottom:.25rem; line-height:1.4;
    font-family:'Jost',sans-serif; font-weight:500; color:var(--ink);
  }
  .recent-post h6 a:hover{ color:var(--gold-dim); }
  .recent-post small{ color:var(--muted); font-size:.72rem; }

  .cat-list li{
    display:flex; justify-content:space-between; align-items:center;
    padding:.6rem 0;
    border-bottom:1px dashed var(--line);
    font-size:.86rem;
  }
  .cat-list li:last-child{ border-bottom:none; }
  .cat-list a{ color:var(--ink-soft); transition:color .2s ease; }
  .cat-list a:hover{ color:var(--gold-dim); }
  .cat-count{
    background:var(--cream-2);
    color:var(--muted);
    font-size:.72rem;
    min-width:24px; text-align:center;
    padding:.15rem .4rem;
    border-radius:20px;
  }

  .cta-box{
    background:var(--ink);
    border-radius:3px;
    padding:2rem 1.6rem;
    text-align:center;
    color:var(--paper);
  }
  .cta-box .eyebrow{ margin-bottom:.6rem; }
  .cta-box h4{ color:var(--paper); font-size:1.3rem; border:none; padding:0; margin-bottom:.7rem; }
  .cta-box p{ color:var(--muted-light); font-size:.85rem; margin-bottom:1.3rem; }
  .cta-box .btn-enquire{ width:100%; }

  /* ---------- NEWSLETTER ---------- */
  .newsletter-section{
    background:
      radial-gradient(ellipse at 50% 0%, rgba(180,136,77,.16), transparent 60%),
      linear-gradient(180deg, #17130E 0%, var(--ink) 100%);
    padding:5rem 0;
    text-align:center;
  }
  .newsletter-section h2{ color:var(--paper); font-size:2.2rem; margin:.8rem 0 .7rem; }
  .newsletter-section p{ color:var(--muted-light); font-size:.9rem; margin-bottom:2rem; }
  .newsletter-form{ max-width:460px; margin:0 auto; }
  .newsletter-form input{
    background:transparent;
    border:1px solid rgba(216,183,120,.4);
    color:var(--paper);
    padding:.75rem 1.1rem;
    border-radius:2px 0 0 2px;
    font-size:.88rem;
  }
  .newsletter-form input::placeholder{ color:var(--muted-light); }
  .newsletter-form input:focus{ box-shadow:none; border-color:var(--gold); background:transparent; color:var(--paper); }
  .newsletter-form button{
    background:var(--gold); border:1px solid var(--gold);
    color:var(--ink); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
    padding:0 1.6rem; border-radius:0 2px 2px 0;
  }

  /* ---------- FOOTER ---------- */
  footer{
    background:#120E0A;
    padding:3.5rem 0 1.5rem;
    color:var(--muted-light);
    font-size:.88rem;
  }
  footer h6{
    color:var(--paper);
    font-size:.8rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    margin-bottom:1.1rem;
    color:var(--gold-light);
  }
  footer a{ color:var(--muted-light); }
  footer a:hover{ color:var(--gold-light); }
  footer ul{ list-style:none; padding:0; }
  footer ul li{ margin-bottom:.6rem; }
  footer .brand-text{ color:var(--paper); font-family:'Playfair Display',serif; font-size:1.15rem; }
  footer .brand-text span{ color:var(--gold); font-style:italic; }
  footer .foot-bottom{
    border-top:1px solid rgba(212,178,120,.12);
    margin-top:2.5rem; padding-top:1.5rem;
    font-size:.78rem; color:var(--muted);
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
  }
  .social-dot{
    width:34px;height:34px; border:1px solid rgba(212,178,120,.3);
    border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
    color:var(--gold-light); margin-left:.5rem; transition:all .2s ease;
  }
  .social-dot:hover{ background:var(--gold); color:var(--ink); border-color:var(--gold); }

  @media (max-width: 767px){
    .journal-hero h1{ font-size:2.1rem; }
    .newsletter-section h2{ font-size:1.6rem; }
  }
