/* PASS 3D: gravel + mulch traffic cluster */
.material-hero-visual,.guide-hero-visual{background:linear-gradient(145deg,#eef2e4,#f6f0e3);border:1px solid #d3ddcf;border-radius:26px;padding:16px;box-shadow:var(--shadow-sm)}.material-hero-visual svg,.guide-hero-visual svg{display:block;width:100%;height:auto}.material-hero-visual text,.guide-hero-visual text,.visual-card text,.stem-diagram text{font-family:Inter,ui-sans-serif,system-ui,sans-serif;fill:#17392e;font-weight:850}.svg-label{font-size:17px}.svg-label.small{font-size:13px}.dimension,.diagram-dim{stroke:#17392e;stroke-width:2;stroke-dasharray:6 5}.gravel-bed,.gravel-layer{fill:#d9d0b7;stroke:#766d5b;stroke-width:3}.gravel-layer.strong{fill:#c7b995}.subbase,.base-layer{fill:#b7a78f;stroke:#6e6252;stroke-width:3}.soil-side,.soil-layer,.soil-layer-small{fill:#b88663;stroke:#78563f;stroke-width:3}.bag{fill:#edf3e8;stroke:#2f7051;stroke-width:3}.depth-line{stroke:#7c705d;stroke-width:4}.mulch-layer,.mulch-layer-small{fill:#9e704a;stroke:#6d4c34;stroke-width:3}.mulch-layer.strong{fill:#875d3e}.stem,.stem-small{fill:none;stroke:#5d493a;stroke-width:7;stroke-linecap:round}.leaf,.leaf-small{fill:#8fbd79;stroke:#2f7051;stroke-width:3}.clear-gap{stroke:#b86748;stroke-width:3;stroke-dasharray:6 4}.material-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;margin:4px 0 26px}.material-intro h2{font-size:2.2rem}.material-callout{background:#f2f4ec;border:1px solid #d5d9c9;border-radius:18px;padding:18px 20px}.material-callout.mulch-note{background:#eef7ea;border-color:#c9dbc9}.material-callout strong{display:block;color:var(--forest);margin-bottom:5px}.material-callout p{margin:0;color:#43574d}.material-tool{background:transparent;border:0;margin:10px 0 32px}.tool-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:#fff;border:1px solid #ccd8cf;border-radius:26px 26px 0 0;padding:28px 28px 20px}.tool-head h2{font-size:2.1rem;margin-bottom:8px}.tool-chip{background:#f1f6ef;border:1px solid #d3dfd5;border-radius:999px;padding:7px 11px;text-decoration:none;font-weight:820;font-size:.83rem;white-space:nowrap}.tool-section{background:#f3f7f2;border-left:1px solid #ccd8cf;border-right:1px solid #ccd8cf;border-top:1px solid #dde5de;padding:24px 28px}.section-kicker{font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#5e7b69;margin-bottom:4px}.tool-section h3{font-size:1.55rem;margin-bottom:16px}.material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.material-grid select,.shape-inputs input,.shape-inputs select{width:100%;padding:12px 13px;border:1.5px solid #aebfb4;border-radius:11px;background:#fff;color:var(--ink);font:inherit}.shape-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.material-grid .wide{grid-column:1/-1}.unit-select{border:0;border-left:1px solid #d5dfd7!important;border-radius:0!important;background:#f2f6f2!important;width:auto!important;padding:0 10px!important;font-weight:800}.field-hint{font-size:.8rem;color:#617069;margin-top:5px}.source-note{font-size:.85rem;color:#53665c;background:#fff;border:1px solid #d8e0d9;border-radius:12px;padding:11px 13px;margin:16px 0 0}.extra-zones{margin-top:18px}.extra-zones-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.extra-zones-head strong{display:block;color:var(--forest)}.extra-zones-head span{font-size:.83rem;color:var(--muted)}.compact-btn{min-height:40px;padding:8px 12px;width:auto}.extra-zone-row{display:grid;grid-template-columns:1fr 160px auto;gap:10px;align-items:end;margin-top:10px}.extra-zone-row label{font-size:.86rem;font-weight:800}.extra-zone-row input{width:100%;padding:10px 12px;border:1.5px solid #aebfb4;border-radius:10px;background:#fff;font:inherit}.remove-extra{border:0;background:transparent;color:#8b4f37;font:inherit;font-weight:800;padding:10px;cursor:pointer;text-decoration:underline}.preset-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.preset-row button{border:1px solid #b7c7bd;background:#fff;color:var(--forest);border-radius:999px;padding:8px 11px;font-weight:820;cursor:pointer}.preset-row button:hover,.preset-row button:focus-visible{background:#eaf5e6;border-color:#6f9f7f;outline:none}.preset-row span{flex-basis:100%;font-size:.8rem;color:#617069}.tool-footer{background:#fff;border:1px solid #ccd8cf;border-top:0;border-radius:0 0 26px 26px;padding:22px 28px 28px}.tool-error{display:none;margin:16px 0 0;padding:12px 14px;border-radius:12px;background:#fff0eb;border:1px solid #e0b39f;color:#783e2b;font-weight:720}.tool-error.is-visible{display:block}.material-result{display:none;margin-top:22px;background:linear-gradient(135deg,#17392e,#285840);color:#fff;border-radius:20px;padding:24px}.material-result.is-visible{display:block}.material-result h3{color:#fff}.result-highlight{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.17);border-radius:16px;padding:18px}.result-highlight span{display:block;color:#d6e7dc;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;font-weight:850}.result-highlight strong{display:block;font-family:Georgia,"Times New Roman",serif;color:#fff;font-size:2.45rem}.result-highlight p{margin:0;color:#e2eee6}.result-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.result-cards>div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:13px;padding:13px}.result-cards span{display:block;color:#d6e7dc;font-size:.78rem}.result-cards strong{display:block;color:#fff;font-size:1.08rem;margin-top:2px}.result-explain{margin-top:16px;background:#fff;color:var(--ink);border-radius:14px;padding:15px}.result-explain strong{color:var(--forest)}.result-explain p{margin:4px 0 0;color:#53665c}.next-action-engine{margin:32px 0;background:#edf6e9;border:1px solid #c9dbc9;border-radius:24px;padding:24px}.next-action-engine h2{font-size:2rem;margin-bottom:8px}.next-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.next-action-card{display:block;background:#fff;border:1px solid #cddbcf;border-radius:15px;padding:15px;text-decoration:none;color:inherit}.next-action-card strong{display:block;color:var(--forest)}.next-action-card span{display:block;color:#617069;font-size:.88rem}.visual-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0}.visual-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.visual-card svg{display:block;width:100%;height:155px;margin-bottom:8px}.visual-card strong{display:block;color:var(--forest)}.visual-card span{display:block;color:var(--muted);font-size:.88rem;margin-top:4px}.gravel-layer,.mulch-layer-small{stroke-width:3}.math-box{fill:#fff;stroke:#8e9d92;stroke-width:2}.mulch-math{fill:#f2eee5}.diagram-arrow{stroke:#17392e;stroke-width:3}.mistake-list{list-style:none;padding:0!important;counter-reset:mistake;display:grid;gap:10px}.mistake-list li{counter-increment:mistake;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 14px 14px 54px;position:relative}.mistake-list li:before{content:counter(mistake);position:absolute;left:13px;top:12px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#17392e;color:#fff;font-weight:900}.source-panel{background:#f6f2e7;border:1px solid #e2d7bf;border-radius:16px;padding:17px 19px;margin:28px 0}.source-panel.mulch-source{background:#eef7ea;border-color:#cbdcc8}.source-panel strong{display:block;color:var(--forest)}.source-panel p{margin:5px 0 0}.guide-hero-visual{margin-top:24px}.guide-hero-visual text{font-size:17px}.guide-caption{font-size:14px;fill:#51655b}.guide-jump{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 28px}.guide-jump a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;text-decoration:none;font-weight:780;font-size:.87rem}.comparison-table{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:22px 0}.comparison-table>div{display:grid;grid-template-columns:1fr 1.1fr 1.3fr;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line)}.comparison-table .comparison-head{background:#eaf4e6;color:var(--forest);font-weight:900}.comparison-table strong{color:var(--forest)}.depth-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.depth-cards>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.depth-cards strong{display:block;color:var(--forest)}.depth-cards span{display:block;color:var(--muted);font-size:.87rem;margin-top:4px}.guide-end-cta{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:#17392e;color:#fff;border-radius:22px;padding:24px!important;margin:30px 0}.guide-end-cta h2{color:#fff!important;margin:0 0 5px!important}.guide-end-cta p{color:#d4e2d9;margin:0}.guide-end-cta .btn{background:#fff;color:#17392e}.stem-diagram{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;margin:20px 0}.stem-diagram svg{width:100%;height:auto}.stem-diagram p{margin:4px 0 0}.clear-gap{stroke:#b86748;stroke-width:3;stroke-dasharray:6 4}
@media(max-width:900px){.material-intro{grid-template-columns:1fr}.material-grid{grid-template-columns:repeat(2,1fr)}.result-cards{grid-template-columns:repeat(2,1fr)}.stem-diagram{grid-template-columns:1fr}}
@media(max-width:620px){.tool-head,.tool-footer,.tool-section{padding:20px}.tool-head{display:block}.tool-chip{display:inline-block;margin-top:8px}.material-grid,.shape-inputs,.next-action-grid,.visual-pair,.depth-cards{grid-template-columns:1fr}.material-grid .wide{grid-column:auto}.extra-zones-head{align-items:flex-start;flex-direction:column}.compact-btn{width:100%}.extra-zone-row{grid-template-columns:1fr}.result-highlight{grid-template-columns:1fr;gap:8px}.result-cards{grid-template-columns:1fr}.comparison-table>div{grid-template-columns:1fr;gap:5px}.comparison-table .comparison-head{display:none}.guide-end-cta{grid-template-columns:1fr}.guide-end-cta .btn{width:100%}.material-hero-visual,.guide-hero-visual{padding:9px}}
