.pd-hero { background:#fff; padding:3.5rem 0 4rem; position:relative; overflow:hidden; }
    .pd-hero::before { content:''; position:absolute; top:-160px; right:-160px; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle, rgba(79,122,90,.10), transparent 70%); }
    .pd-hero::after { content:''; position:absolute; bottom:-200px; left:-200px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(216,181,17,.08), transparent 70%); }
    .pd-hero-img-wrap { position:relative; min-height:440px; display:flex; align-items:center; justify-content:center; }
    .pd-hero-img-wrap img { position:relative; max-height:460px; max-width:90%; object-fit:contain; filter:drop-shadow(0 18px 32px rgba(47,79,58,.22)); z-index:1; }
    .pd-cat-pill { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--red); background:rgba(79,122,90,.12); padding:.35rem .9rem; border-radius:999px; margin-bottom:1rem; }
    .pd-name { font-family:'Fraunces',Georgia,serif; font-weight:800; font-size:3rem; color:var(--green-dark,#2f4f3a); line-height:1.05; margin-bottom:1rem; letter-spacing:-0.01em; }
    .pd-tagline { font-size:1.15rem; color:#555; line-height:1.6; margin-bottom:1.6rem; }
    .pd-meta-row { display:flex; flex-wrap:wrap; gap:1.5rem 2rem; padding-top:1.4rem; border-top:1px solid var(--divider); }
    .pd-meta-item .label { font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#888; margin-bottom:.2rem; }
    .pd-meta-item .value { font-weight:700; color:var(--green-dark,#2f4f3a); font-size:1.05rem; }
    .pd-section-label { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--red); margin-bottom:.7rem; }
    .pd-section-title { font-family:'Fraunces',Georgia,serif; font-weight:700; font-size:2.2rem; color:var(--green-dark,#2f4f3a); margin-bottom:1rem; line-height:1.15; }
    .pd-quote { font-family:'Fraunces',Georgia,serif; font-style:italic; font-weight:500; font-size:1.5rem; line-height:1.5; color:var(--green-dark,#2f4f3a); border-left:3px solid var(--gold); padding:.4rem 0 .4rem 1.5rem; }

    .benefit-card { background:#fff; border-radius:18px; padding:1.6rem; height:100%; transition:.25s; text-align:center; }
    .benefit-card:hover { transform:translateY(-4px); box-shadow:0 14px 36px rgba(47,79,58,.10); border-color:rgba(79,122,90,.3); }
    .benefit-icon { width:64px; height:64px; border-radius:16px; background:rgba(79,122,90,.1); color:var(--red); display:inline-flex; align-items:center; justify-content:center; font-size:1.7rem; margin-bottom:1rem; }
    .benefit-card h5 { font-family:'Fraunces',Georgia,serif; font-weight:700; color:var(--green-dark,#2f4f3a); margin-bottom:.5rem; }
    .benefit-card p { font-size:.9rem; color:#666; line-height:1.6; margin:0; }

    .ing-card { text-align: center; background:#fff; border:1px solid var(--divider); border-radius:20px; padding:1.4rem; height:100%; transition:.25s; }
    .ing-card:hover { border-color:var(--red); box-shadow:0 10px 28px rgba(47,79,58,.08); }
    .ing-card .ing-img { width:150px; height: auto; border-radius:50%; background:var(--cream); display:flex; align-items:center; justify-content:center; margin:0 auto .85rem; overflow:hidden; }
    .ing-card .ing-img img { width:100%; height:100%; object-fit:cover; }
    .ing-card .ing-latin { font-family:'Fraunces',Georgia,serif; font-style:italic; font-weight:600; color:var(--red); font-size:.85rem; margin-bottom:.15rem; }
    .ing-card .ing-name { font-weight:700; color:var(--green-dark,#2f4f3a); font-size:1.05rem; margin-bottom:.4rem; }
    .ing-card .ing-desc { font-size:.85rem; color:#666; line-height:1.55; margin:0; }
    .ing-card .ing-amt { display:inline-block; font-size:.7rem; font-weight:700; color:var(--gold); background:rgba(216,181,17,.12); padding:.18rem .55rem; border-radius:999px; margin-top:.6rem; }

    .step-card { background:#fff; border:1px solid var(--divider); border-radius:18px; padding:1.6rem; height:100%; position:relative; }
    .step-num { font-family:'Fraunces',Georgia,serif; font-weight:800; font-size:2.4rem; color:var(--gold); line-height:1; margin-bottom:.4rem; }
    .step-card h6 { font-family:'Fraunces',Georgia,serif; font-weight:700; font-size:1.1rem; color:var(--green-dark,#2f4f3a); margin-bottom:.4rem; }
    .step-card p { font-size:.88rem; color:#666; line-height:1.55; margin:0; }

    .when-card { background:#fff; border-left:4px solid var(--red); border-radius:8px; padding:1.2rem 1.4rem; height:100%; box-shadow:0 4px 16px rgba(47,79,58,.05); }
    .when-card .when-icon { color:var(--red); font-size:1.5rem; margin-bottom:.4rem; }
    .when-card h6 { font-family:'Fraunces',Georgia,serif; font-weight:700; color:var(--green-dark,#2f4f3a); font-size:1rem; margin-bottom:.3rem; }
    .when-card p { font-size:.85rem; color:#666; margin:0; line-height:1.5; }

    .variant-card { background:#fff; border:1px solid var(--divider); border-radius:20px; padding:1.5rem; height:100%; display:flex; gap:1.2rem; align-items:center; transition:.25s; }
    .variant-card:hover { border-color:var(--red); box-shadow:0 10px 28px rgba(47,79,58,.08); }
    .variant-img { width:90px; height:90px; flex-shrink:0; background:var(--cream); border-radius:14px; display:flex; align-items:center; justify-content:center; padding:.4rem; }
    .variant-img img { max-width:100%; max-height:100%; object-fit:contain; }
    .variant-card h6 { font-family:'Fraunces',Georgia,serif; font-weight:700; color:var(--green-dark,#2f4f3a); margin-bottom:.2rem; }
    .variant-card .v-meta { font-size:.78rem; color:#888; margin-bottom:.3rem; }
    .variant-card .v-tag { font-size:.7rem; font-weight:700; color:var(--red); background:rgba(79,122,90,.1); padding:.15rem .55rem; border-radius:999px; }

    .cert-strip { background:#fff; border:1px solid var(--divider); border-radius:20px; padding:1.5rem 2rem; box-shadow:0 4px 24px rgba(47,79,58,.06); }
    .cert-item { display:flex; align-items:center; gap:.85rem; }
    .cert-item .cert-icon { width:46px; height:46px; border-radius:12px; background:rgba(79,122,90,.1); color:var(--red); display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0; }
    .cert-item .cert-label { font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#888; }
    .cert-item .cert-value { font-family:'Fraunces',Georgia,serif; font-weight:700; color:var(--green-dark,#2f4f3a); font-size:.95rem; }

    .pd-faq .accordion-button { font-family:'Fraunces',Georgia,serif; font-weight:700; color:var(--green-dark,#2f4f3a); font-size:1.05rem; background:transparent; box-shadow:none!important; border:none; padding:1.1rem 0; }
    .pd-faq .accordion-button:not(.collapsed) { color:var(--red); background:transparent; }
    .pd-faq .accordion-item { border:none; border-bottom:1px solid var(--divider); background:transparent; }
    .pd-faq .accordion-body { padding:0 0 1.2rem; color:#666; line-height:1.7; }

    .knowledge-cta { background:linear-gradient(135deg, var(--red) 0%, var(--green-dark,#2f4f3a) 100%); border-radius:24px; padding:3rem 2rem; color:#fff; text-align:center; position:relative; overflow:hidden; }
    .knowledge-cta::before { content:''; position:absolute; top:-80px; right:-80px; width:240px; height:240px; border-radius:50%; background:rgba(255,255,255,.06); }
    .knowledge-cta::after { content:''; position:absolute; bottom:-100px; left:-60px; width:200px; height:200px; border-radius:50%; background:rgba(216,181,17,.1); }
    .knowledge-cta h3 { font-family:'Fraunces',Georgia,serif; font-weight:700; font-size:1.8rem; margin-bottom:.6rem; position:relative; }
    .knowledge-cta p { color:rgba(255,255,255,.85); margin-bottom:1.5rem; max-width:520px; margin-left:auto; margin-right:auto; position:relative; }
    .knowledge-cta .btn { background:#fff; color:var(--green-dark,#2f4f3a); font-weight:700; border-radius:999px; padding:.7rem 1.6rem; border:none; position:relative; }
    .knowledge-cta .btn:hover { background:var(--gold); color:#fff; }
    .knowledge-cta .btn-outline { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.5); margin-left:.6rem; }
    .knowledge-cta .btn-outline:hover { background:rgba(255,255,255,.1); color:#fff; border-color:#fff; }

    @media (max-width: 767.98px) {
      .pd-name { font-size:2.2rem; }
      .pd-section-title { font-size:1.7rem; }
      .pd-hero-img-wrap { min-height:340px; }
      .pd-hero-img-wrap::before { width:280px; height:280px; }
      .pd-hero-img-wrap img { max-height:340px; }
    }
