.gravel-section{background:#eef2ea;padding:64px 0}
.gravel-section .gravel-heading{max-width:760px;margin-bottom:28px}
.gravel-section .gravel-heading .eyebrow{color:#45672d}
.gravel-section h2{font-size:clamp(28px,4vw,42px);line-height:1.15;margin:0 0 16px}
.gravel-section .gravel-heading p{color:#536058}
.ge-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:26px;align-items:start}
.ge-inputs{background:white;border:1px solid #dbe3da;border-radius:18px;padding:28px;min-width:0}
.ge-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.ge-grid>div{min-width:0}.ge-wide{grid-column:1/-1}
.gravel-section label{display:block;font-size:14px;font-weight:700;margin:0 0 6px}
.gravel-section input,.gravel-section select{width:100%;padding:12px 14px;font:16px/1.4 Arial,sans-serif;color:#152019;background:white;border:1.5px solid #ccd7c9;border-radius:10px;min-height:48px}
.gravel-section details{border-top:1px solid #dbe3da;padding-top:16px;margin-top:20px}
.gravel-section summary{cursor:pointer;font-weight:700}
.gravel-section .ge-assumptions{margin-top:14px}
.gravel-section .ge-small{font-size:13px;color:#526157;line-height:1.6}
.gravel-section .ge-help{font-size:13px;color:#526157;margin:6px 0 0}
.gravel-section .ge-extras{border:1px solid #dbe3da;border-radius:10px;padding:16px;margin:22px 0 0}
.gravel-section .ge-extras legend{font-size:14px;font-weight:700;padding:0 6px}
.gravel-section .ge-extras label{display:flex;align-items:flex-start;gap:10px;font-weight:400;margin:8px 0}
.gravel-section .ge-extras input{width:20px;height:20px;min-height:20px;flex:0 0 20px;padding:0;margin:0;accent-color:#45672d}
.gravel-section .ge-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.gravel-section .ge-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 18px;border-radius:999px;border:1px solid transparent;font:700 15px/1.4 Arial,sans-serif;text-decoration:none;text-align:center;cursor:pointer;max-width:100%;white-space:normal}
.gravel-section .ge-primary{background:#45672d;color:white}
.gravel-section .ge-secondary{border-color:#c7d2c5;background:transparent;color:#223524}
.gravel-section button:disabled{opacity:.65;cursor:wait}
.ge-results{background:#14241a;border-radius:18px;padding:28px;color:white;min-width:0}
.ge-results h3{margin:0 0 16px;font-size:22px;color:white}
.ge-results .ge-small{color:#d1dfce}
.ge-results .ge-metric{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #3e5143;padding:12px 0}
.ge-results .ge-metric span{color:#d1dfce}
.ge-results .ge-metric strong{text-align:right;white-space:nowrap}
.ge-results .ge-amount{font-size:38px;font-weight:700;line-height:1.2;margin:8px 0}
.ge-results .ge-tag{display:inline-block;padding:4px 9px;border-radius:5px;background:#314c30;color:#d7efcb;font-size:12px;font-weight:700;margin-top:16px}
.ge-results .ge-primary{background:#d3e6c3;color:#18301b}
.ge-results .ge-secondary{color:#fff;border-color:#789178}
.ge-results #ge-message{margin:14px 0 0}
.ge-error{color:#a42f23;font-weight:600}
.gravel-section .ge-policy{margin-top:24px;background:#fff;border:1px solid #dbe3da;border-radius:14px;padding:22px}
.gravel-section .ge-policy h3{margin-top:0;font-size:18px}
.gravel-section .ge-policy ul{padding-left:22px;margin-bottom:0}
.gravel-section #ge-copy-text{width:100%;min-height:220px;margin-top:14px;font:13px/1.5 Arial,sans-serif;padding:12px;border-radius:8px}
#gravel-import{border:1px solid #ccd7c9;border-radius:12px;background:#f1f6ec;padding:18px;margin-bottom:20px}
#gravel-import h3{margin:0 0 6px;font-size:18px}
#gravel-import textarea{font-size:13px;min-height:200px;background:#fff;margin-top:10px}
#gravel-import button{border:0;background:none;padding:8px 0;color:#345328;text-decoration:underline;font:inherit;cursor:pointer}
@media(max-width:820px){.ge-layout{grid-template-columns:1fr}.ge-inputs,.ge-results{padding:22px}.gravel-section{padding:48px 0}.ge-results .ge-amount{font-size:34px}}
@media(max-width:480px){.ge-grid{grid-template-columns:1fr}.ge-inputs,.ge-results{padding:20px 16px}.ge-actions .ge-button{width:100%}.ge-results .ge-metric{font-size:14px;gap:8px}.gravel-section .ge-policy{padding:18px}}
