:root {
    --vis-green: #a4572d;
    --vis-green-dark: #6f351d;
    --vis-green-soft: #fff0e6;
    --vis-cream: #fffaf7;
    --vis-text: #30231d;
    --vis-muted: #79665d;
    --vis-border: #ead9cf;
    --vis-white: #fff;
}

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

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

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

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