.ad-hero { position:relative; padding:5rem 0 7rem; background:linear-gradient(180deg,#f7f3e3 0%, var(--cream) 100%); overflow:hidden; }
    .ad-hero::before { content:''; position:absolute; inset:0; background-image:url('./src/assets/ingredient-ginger.png'); background-size:520px; background-repeat:no-repeat; background-position:right -120px top -80px; opacity:.10; filter:blur(1px); }
    .ad-hero-inner { position:relative; max-width:820px; }
    .ad-cat { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#fff; background:var(--green); padding:.4rem .9rem; border-radius:999px; margin-bottom:1.2rem; }
    .ad-title { font-family:'Fraunces',Georgia,serif; font-weight:800; font-size:3rem; color:var(--green-dark,#2f4f3a); line-height:1.08; letter-spacing:-0.01em; margin-bottom:1.4rem; }
    .ad-meta { display:flex; flex-wrap:wrap; gap:1.4rem 2rem; align-items:center; color:#666; font-size:.92rem; }
    .ad-meta .author { display:flex; align-items:center; gap:.7rem; }
    .ad-meta .author-avatar { width:44px; height:44px; border-radius:50%; background:rgba(79,122,90,.15); color:var(--green); display:flex; align-items:center; justify-content:center; font-size:1.3rem; }
    .ad-meta .author-name { font-weight:700; color:var(--green-dark,#2f4f3a); display:block; line-height:1.2; }
    .ad-meta .author-role { font-size:.75rem; color:#888; }
    .ad-feat-img { margin-top:-5rem; border-radius:24px; overflow:hidden; box-shadow:0 30px 80px rgba(47,79,58,.20); position:relative; z-index:2; }
    .ad-feat-img img { width:100%; height:480px; object-fit:cover; display:block; }

    .article-prose { font-size:1.075rem; line-height:1.85; color:var(--ink); }
    .article-prose .lead { font-family:'Fraunces',Georgia,serif; font-size:1.45rem; line-height:1.55; color:var(--green-dark); font-weight:500; margin-bottom:1.6rem; }
    .article-prose .lead::first-letter { font-family:'Fraunces',Georgia,serif; font-size:4rem; font-weight:800; float:left; line-height:.9; padding:.4rem .8rem 0 0; color:var(--gold); }
    .article-prose h2 { font-family:'Fraunces',Georgia,serif; font-weight:700; font-size:1.85rem; color:var(--green-dark,#2f4f3a); margin:2.6rem 0 1rem; }
    .article-prose blockquote { border-left:4px solid var(--gold); padding:.6rem 0 .6rem 1.6rem; font-family:'Fraunces',Georgia,serif; font-size:1.3rem; font-style:italic; color:var(--green-dark,#2f4f3a); margin:2rem 0; line-height:1.55; }
    .article-prose ol li::marker { color:var(--green); font-weight:700; }
    .article-prose .callout { background:var(--cream); border-left:4px solid var(--gold); border-radius:14px; padding:1.4rem 1.6rem; margin:2rem 0; display:flex; gap:1rem; align-items:flex-start; }
    .article-prose .callout i { color:var(--gold); font-size:1.6rem; line-height:1; flex-shrink:0; }

    .ad-share { display:flex; align-items:center; gap:1rem; padding:1.4rem 0 0; margin-top:2.5rem; border-top:1px solid var(--divider); }
    .ad-share .share-label { font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#888; }
    .ad-share a { width:38px; height:38px; border-radius:50%; background:var(--cream); color:var(--green-dark,#2f4f3a); display:inline-flex; align-items:center; justify-content:center; transition:.2s; text-decoration:none; }
    .ad-share a:hover { background:var(--green); color:#fff; transform:translateY(-2px); }

    .toc-card { background:#fff; border:1px solid var(--divider); border-radius:18px; padding:1.4rem 1.5rem; }
    .toc-card .toc-label { font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--red); margin-bottom:.8rem; }
    .toc-card ol { padding-left:1.1rem; margin:0; }
    .toc-card ol li { font-size:.92rem; color:#555; padding:.35rem 0; line-height:1.4; }
    .toc-card ol li a { color:inherit; text-decoration:none; }
    .toc-card ol li a:hover { color:var(--green); }
    .toc-card ol li::marker { font-family:'Fraunces',Georgia,serif; font-weight:700; color:var(--gold); }

    .author-card { background:linear-gradient(135deg, var(--cream), #fff); border:1px solid var(--divider); border-radius:18px; padding:1.5rem; }
    .author-card .av { width:64px; height:64px; border-radius:50%; background:rgba(79,122,90,.15); color:var(--red); display:flex; align-items:center; justify-content:center; font-size:1.8rem; }

    .related-prod { background:#fff; border:1px solid var(--divider); border-radius:18px; padding:1.4rem 1.4rem 1.5rem; }
    .related-prod .rp-label { font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--red); margin-bottom:1rem; display:block; }
    .rp-item { display:flex; gap:1rem; align-items:center; padding:.85rem 0; border-bottom:1px dashed var(--divider); text-decoration:none; transition:.2s; }
    .rp-item:last-child { border-bottom:none; padding-bottom:.2rem; }
    .rp-item:hover { transform:translateX(4px); }
    .rp-item .rp-img { width:62px; height:62px; flex-shrink:0; background:var(--cream); border-radius:12px; display:flex; align-items:center; justify-content:center; padding:.3rem; }
    .rp-item .rp-img img { max-width:100%; max-height:100%; object-fit:contain; }
    .rp-item .rp-cat { font-size:.7rem; font-weight:700; color:var(--red); letter-spacing:.06em; text-transform:uppercase; }
    .rp-item .rp-name { font-family:'Fraunces',Georgia,serif; font-weight:700; color:var(--green-dark,#2f4f3a); font-size:1rem; line-height:1.2; }
    .rp-item .rp-arrow { margin-left:auto; color:#aaa; font-size:1.2rem; }
    .rp-item:hover .rp-arrow { color:var(--green); }

    .related-prod-cta { background:linear-gradient(160deg, var(--green-dark,#2f4f3a) 0%, var(--green) 100%); border-radius:22px; padding:1.6rem 1.6rem 1.8rem; color:#fff; text-align:center; position:relative; overflow:hidden; }
    .related-prod-cta::before { content:''; position:absolute; top:-90px; right:-90px; width:240px; height:240px; border-radius:50%; background:rgba(216,181,17,.14); }
    .related-prod-cta::after { content:''; position:absolute; bottom:-110px; left:-90px; width:220px; height:220px; border-radius:50%; background:rgba(255,255,255,.06); }
    .rpc-label { display:inline-block; font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.75); background:rgba(255,255,255,.12); padding:.35rem .85rem; border-radius:999px; margin-bottom:1rem; position:relative; }
    .rpc-img-wrap { position:relative; width:170px; height:170px; margin:.4rem auto 1.2rem; background:#fff; border-radius:50%; box-shadow:0 18px 40px rgba(0,0,0,.22); display:flex; align-items:center; justify-content:center; padding:1rem; }
    .rpc-img-wrap img { max-width:100%; max-height:100%; object-fit:contain; filter:drop-shadow(0 8px 14px rgba(47,79,58,.25)); }
    .rpc-cat { display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin-bottom:.5rem; position:relative; }
    .rpc-name { font-family:'Fraunces',Georgia,serif; font-weight:700; font-size:1.4rem; color:#fff; margin-bottom:.6rem; line-height:1.2; position:relative; }
    .rpc-desc { color:rgba(255,255,255,.82); font-size:.9rem; line-height:1.6; margin-bottom:1.3rem; position:relative; }
    .rpc-btn { display:inline-flex; align-items:center; background:#fff; color:var(--green-dark,#2f4f3a); font-weight:700; font-size:.88rem; border-radius:999px; padding:.65rem 1.4rem; text-decoration:none; transition:.25s; position:relative; }
    .rpc-btn:hover { background:var(--gold); color:#fff; transform:translateY(-2px); box-shadow:0 10px 24px rgba(216,181,17,.4); }

    .related-articles-section { background:var(--cream); padding:5rem 0; }
    .ra-card { background:#fff; border-radius:20px; overflow:hidden; height:100%; transition:.3s; box-shadow:0 4px 20px rgba(47,79,58,.06); display:flex; flex-direction:column; }
    .ra-card:hover { transform:translateY(-6px); box-shadow:0 18px 44px rgba(47,79,58,.14); }
    .ra-img { height:200px; overflow:hidden; position:relative; }
    .ra-img img { width:100%; height:100%; object-fit:cover; transition:.5s; }
    .ra-card:hover .ra-img img { transform:scale(1.06); }
    .ra-img .ra-cat { position:absolute; top:1rem; left:1rem; background:rgba(255,255,255,.95); color:var(--green); font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.35rem .8rem; border-radius:999px; }
    .ra-body { padding:1.4rem 1.5rem 1.5rem; flex:1; display:flex; flex-direction:column; }
    .ra-body .ra-meta { font-size:.75rem; color:#888; margin-bottom:.6rem; display:flex; gap:.8rem; }
    .ra-body h4 { font-family:'Fraunces',Georgia,serif; font-weight:700; font-size:1.2rem; color:var(--green-dark,#2f4f3a); line-height:1.3; margin-bottom:.6rem; }
    .ra-body h4 a { color:inherit; text-decoration:none; }
    .ra-body h4 a:hover { color:var(--green); }
    .ra-body p { font-size:.9rem; color:#666; line-height:1.6; margin-bottom:1rem; flex:1; }
    .ra-body .ra-link { color:var(--red); font-weight:600; font-size:.85rem; text-decoration:none; align-self:flex-start; }
    .ra-body .ra-link:hover { color:var(--green-dark); }

    @media (max-width: 991.98px) {
      .ad-title { font-size:2.2rem; }
      .ad-feat-img img { height:340px; }
      .ad-feat-img { margin-top:-3rem; }
      .article-prose .lead::first-letter { font-size:3.2rem; }
    }
