:root {
    --pds-green: #28856f;
    --pds-green-dark: #155b4d;
    --pds-green-soft: #e9f7f2;
    --pds-cream: #f8fcfa;
    --pds-text: #17332d;
    --pds-muted: #5e746e;
    --pds-border: #d6e8e2;
    --pds-white: #fff;
}

.pds-shell { width:min(1120px, calc(100% - 32px)); margin:32px auto 64px; color:var(--pds-text); font-family:inherit; }
.pds-shell *, .pds-shell *::before, .pds-shell *::after { box-sizing:border-box; }
.pds-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px; align-items:center; padding:36px; border:1px solid var(--pds-border); border-radius:28px; background:linear-gradient(135deg,var(--pds-cream),var(--pds-green-soft)); }
.pds-hero h1 { margin:8px 0 10px; font-size:clamp(2rem,4vw,3.6rem); line-height:1.05; letter-spacing:-.035em; }
.pds-hero p { max-width:760px; margin:0; color:var(--pds-muted); font-size:1.05rem; }
.pds-home-hero { margin-bottom:22px; }
.pds-eyebrow { display:inline-block; color:var(--pds-green); font-size:.78rem; line-height:1.2; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.pds-hero-stat,.pds-score-card { min-width:170px; padding:24px; border-radius:22px; background:var(--pds-white); border:1px solid var(--pds-border); text-align:center; }
.pds-hero-stat strong,.pds-score-card strong { display:block; color:var(--pds-green-dark); font-size:2.4rem; line-height:1; }
.pds-hero-stat span,.pds-score-card span,.pds-score-card em { display:block; margin-top:8px; color:var(--pds-muted); font-style:normal; }
.pds-breadcrumb { display:flex; gap:9px; flex-wrap:wrap; margin:0 0 18px; color:var(--pds-muted); font-size:.9rem; }
.pds-breadcrumb a { color:var(--pds-green); text-decoration:none; }
.pds-scientific { margin-bottom:10px!important; }
.pds-search-card { display:grid; grid-template-columns:1fr 1.2fr; gap:30px; padding:28px; border:1px solid var(--pds-border); border-radius:24px; background:var(--pds-white); }
.pds-search-card h2,.pds-section-heading h2 { margin:6px 0 8px; font-size:clamp(1.55rem,3vw,2.25rem); letter-spacing:-.025em; }
.pds-search-card p,.pds-section-heading p { margin:0; color:var(--pds-muted); }
.pds-search-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-content:center; }
.pds-search-form label { grid-column:1/-1; font-weight:700; }
.pds-search-form select,.pds-control-grid select { width:100%; min-height:48px; padding:0 13px; border:1px solid var(--pds-border); border-radius:12px; background:#fff; color:var(--pds-text); font:inherit; }
.pds-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border:0; border-radius:12px; background:var(--pds-green); color:#fff!important; font:inherit; font-weight:800; text-decoration:none!important; cursor:pointer; }
.pds-button:hover { background:var(--pds-green-dark); }
.pds-button-secondary { width:max-content; margin-top:10px; }
.pds-form-message { grid-column:1/-1; min-height:20px; color:#a33!important; font-size:.9rem; }
.pds-explain-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:22px; }
.pds-explain-grid article,.pds-two-columns article { padding:24px; border:1px solid var(--pds-border); border-radius:20px; background:#fff; }
.pds-explain-grid strong { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--pds-green-soft); color:var(--pds-green); }
.pds-explain-grid h2 { font-size:1.15rem; margin:14px 0 6px; }
.pds-explain-grid p,.pds-two-columns p { margin:0; color:var(--pds-muted); }
.pds-directory,.pds-products,.pds-related,.pds-related-plants { margin-top:42px; }
.pds-plant-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:18px; }
.pds-plant-list a { display:flex; flex-direction:column; padding:14px; border:1px solid var(--pds-border); border-radius:14px; color:var(--pds-text); text-decoration:none; background:#fff; }
.pds-plant-list a:hover,.pds-link-grid a:hover { border-color:var(--pds-green); }
.pds-plant-list small { margin-top:3px; color:var(--pds-muted); }
.pds-answer { display:grid; grid-template-columns:1.3fr 1fr; gap:20px; margin-top:22px; }
.pds-answer-main { padding:28px; border-radius:22px; background:var(--pds-green-dark); color:#fff; }
.pds-answer-main .pds-eyebrow { color:#bfe5ce; }
.pds-answer-main p { margin:10px 0 0; font-size:1.18rem; line-height:1.65; }
.pds-metrics { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pds-metrics div { padding:18px; border:1px solid var(--pds-border); border-radius:18px; background:#fff; }
.pds-metrics span { display:block; color:var(--pds-muted); font-size:.84rem; }
.pds-metrics strong { display:block; margin-top:5px; font-size:1.35rem; }
.pds-two-columns { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:20px; }
.pds-two-columns h2 { margin:8px 0; font-size:1.35rem; }
.pds-action-card { background:var(--pds-green-soft)!important; }
.pds-tool { margin-top:32px; padding:30px; border:1px solid var(--pds-border); border-radius:24px; background:var(--pds-cream); }
.pds-control-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:22px 0; }
.pds-control-grid label { font-weight:700; font-size:.9rem; }
.pds-control-grid select { display:block; margin-top:7px; font-weight:400; }
.pds-recipe-results { display:grid; gap:14px; }
.pds-recipe-label { display:flex; justify-content:space-between; gap:16px; margin-bottom:7px; }
.pds-bar { height:12px; overflow:hidden; border-radius:999px; background:#dfe8e1; }
.pds-bar span { display:block; height:100%; border-radius:inherit; background:var(--pds-green); transition:width .25s ease; }
.pds-tool-note { margin-top:18px; padding:12px 14px; border-left:4px solid var(--pds-green); background:#fff; color:var(--pds-muted); }
.pds-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px; }
.pds-product-card { display:grid; grid-template-columns:90px 1fr; gap:16px; padding:18px; border:1px solid var(--pds-border); border-radius:18px; background:#fff; }
.pds-product-card img { width:90px; height:90px; object-fit:cover; border-radius:12px; }
.pds-product-card h3 { margin:0 0 7px; font-size:1.1rem; }
.pds-product-card p { margin:0; color:var(--pds-muted); }
.pds-price { display:block; margin-top:9px; }
.pds-disclosure { color:var(--pds-muted); font-size:.82rem; }
.pds-link-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px; }
.pds-link-grid a { padding:13px 14px; border:1px solid var(--pds-border); border-radius:12px; background:#fff; color:var(--pds-green-dark); text-decoration:none; font-weight:700; }
.pds-caution { margin-top:32px; padding:18px 20px; border:1px solid #ead9a8; border-radius:16px; background:#fff9e8; }
.pds-caution p { margin:4px 0 0; color:#6b6043; }

@media (max-width:900px) {
    .pds-plant-list { grid-template-columns:repeat(3,1fr); }
    .pds-control-grid,.pds-link-grid { grid-template-columns:repeat(2,1fr); }
    .pds-product-grid { grid-template-columns:1fr; }
}
@media (max-width:680px) {
    .pds-shell { width:min(100% - 20px,1120px); margin-top:16px; }
    .pds-hero,.pds-search-card,.pds-answer,.pds-two-columns { grid-template-columns:1fr; }
    .pds-hero { padding:24px; }
    .pds-score-card,.pds-hero-stat { width:100%; }
    .pds-search-form { grid-template-columns:1fr; }
    .pds-search-form label,.pds-form-message { grid-column:auto; }
    .pds-explain-grid { grid-template-columns:1fr; }
    .pds-plant-list { grid-template-columns:1fr 1fr; }
    .pds-control-grid { grid-template-columns:1fr; }
    .pds-link-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:430px) {
    .pds-plant-list,.pds-link-grid,.pds-metrics { grid-template-columns:1fr; }
    .pds-product-card { grid-template-columns:1fr; }
}

.pds-calculator-output { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:18px; }
.pds-result-card { padding:20px; border:1px solid var(--pds-border); border-radius:18px; background:#fff; }
.pds-result-card span { display:block; color:var(--pds-muted); font-size:.86rem; }
.pds-result-card strong { display:block; margin-top:7px; font-size:1.45rem; }
.pds-result-card small { display:block; margin-top:7px; color:var(--pds-muted); }
.pds-meter { height:10px; overflow:hidden; border-radius:999px; background:#e7eadf; margin-top:13px; }
.pds-meter span { display:block; height:100%; border-radius:inherit; background:var(--pds-green); transition:width .25s ease; }

@media (max-width:760px) {
    .pds-calculator-output { grid-template-columns:1fr; }
}
@media (max-width:980px) and (min-width:761px) {
    .pds-calculator-output { grid-template-columns:repeat(2,1fr); }
}
