/* Scoped feature styles loaded by RouteStyles on direct and client navigation. */

.calculator-page{background:#f2eee4}
.calculator-intro{min-height:690px;padding:90px clamp(24px,8vw,130px);display:grid;grid-template-columns:1.06fr .94fr;gap:8vw;align-items:center;background:#e7e3d8}
.calculator-intro h1{margin:22px 0 27px;font-size:clamp(55px,6.7vw,102px);font-weight:400;line-height:.91;letter-spacing:-.055em}
.calculator-intro h1 em,.calculator-heading h2 em,.calculator-faq h2 em,.calculator-safety h2 em{color:var(--moss)}
.calculator-intro>div>p:not(.section-kicker){max-width:720px;font:17px/1.78 Arial,sans-serif;color:#46564b}
.calculator-intro-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:34px 0 18px}
.calculator-intro>div>small{display:block;font:700 10px/1.6 Arial,sans-serif;letter-spacing:.11em;color:#56645a}
.calculator-intro figure{position:relative;margin:0 18px 18px 0;background:#193121;box-shadow:18px 18px 0 rgba(32,63,44,.13)}
.calculator-intro img{display:block;width:100%;min-height:500px;aspect-ratio:4/5;object-fit:cover;filter:saturate(.78) contrast(.95)}
.calculator-intro figcaption{position:absolute;right:-8px;bottom:26px;width:min(88%,420px);padding:18px 20px;background:rgba(23,48,32,.94);color:#f2eee4}
.calculator-intro figcaption span,.calculator-intro figcaption strong{display:block}
.calculator-intro figcaption span{margin-bottom:10px;font:700 8px Arial,sans-serif;letter-spacing:.17em;color:#b9c6b3}
.calculator-intro figcaption strong{font-size:22px;font-weight:400;line-height:1.28}
.gravel-calculator{padding:115px clamp(24px,7vw,110px);background:#dfe5d9;scroll-margin-top:90px}
.calculator-heading{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:end;margin-bottom:54px}
.calculator-heading h2,.calculator-faq h2,.calculator-safety h2{margin:22px 0 0;font-size:clamp(44px,5.4vw,78px);font-weight:400;line-height:1.01;letter-spacing:-.04em}
.calculator-heading>p{max-width:670px;margin:0 0 5px;font:15px/1.8 Arial,sans-serif;color:#4d5b51}
.calculator-shell{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:28px;align-items:start}
.calculator-form{min-width:0;background:#f7f3ea;border:1px solid rgba(32,63,44,.18);box-shadow:12px 12px 0 rgba(32,63,44,.08)}
.calculator-form fieldset{min-width:0;margin:0;padding:35px clamp(22px,3vw,42px) 40px;border:0;border-bottom:1px solid rgba(32,63,44,.18)}
.calculator-form legend{width:100%;padding:0;color:var(--forest);font-size:25px;line-height:1.3}
.calculator-assumption{margin:12px 0 23px;font:12px/1.7 Arial,sans-serif;color:#5e6b61}
.calculator-assumption{margin:22px 0 0;padding:17px 18px;background:#ece8dc;border-left:3px solid var(--moss)}
.calculator-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.calculator-choice-grid.three{grid-template-columns:repeat(3,1fr)}
.calculator-choice-grid label{position:relative;min-height:76px;padding:15px 15px 15px 43px;display:flex;align-items:center;border:1px solid rgba(32,63,44,.19);background:#fdfaf3;cursor:pointer;font:12px/1.45 Arial,sans-serif;color:#3e4e43}
.calculator-choice-grid label.selected{border-color:var(--forest);background:#e3e9dd;color:var(--forest)}
.calculator-choice-grid label:focus-within{outline:3px solid #8b6b31;outline-offset:2px}
.calculator-choice-grid input{position:absolute;left:16px;top:50%;width:16px;height:16px;margin:0;transform:translateY(-50%);accent-color:var(--forest)}
.calculator-fields label{display:grid;gap:8px;font:700 9px Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:#506057}
.calculator-fields label span{font-size:10px;font-weight:400;letter-spacing:.03em;text-transform:none;color:#56645a}
.calculator-fields input,.calculator-fields select{width:100%;min-height:48px;padding:10px 12px;border:1px solid rgba(32,63,44,.24);border-radius:0;background:#fffdf8;color:var(--ink);font:16px Georgia,serif}
.calculator-add-section{min-height:44px;margin-top:16px;padding:11px 5px;border:0;border-bottom:1px solid var(--forest);background:transparent;color:var(--forest);font:700 9px Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
.calculator-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.calculator-submit{width:calc(100% - clamp(44px,6vw,84px));margin:30px clamp(22px,3vw,42px) 38px}
.calculator-input-note{margin:-20px clamp(22px,3vw,42px) 34px;font:11px/1.6 Arial,sans-serif;color:#536157}
.calculator-results{position:sticky;top:116px;min-height:430px;padding:34px;background:#1b3625;color:#f4f0e6;box-shadow:12px 12px 0 rgba(32,63,44,.16)}
.calculator-results:focus{outline:3px solid #a98a4e;outline-offset:4px}
.calculator-placeholder{min-height:360px;display:flex;flex-direction:column;justify-content:center;text-align:center}
.calculator-placeholder span{font:700 8px Arial,sans-serif;letter-spacing:.17em;color:#b8c4b3}
.calculator-placeholder strong{display:block;margin:25px 0 10px;font-size:31px;font-weight:400;line-height:1.2}
.calculator-placeholder p{font:12px/1.7 Arial,sans-serif;color:#c6d0c5}
.calculator-results dl{margin:0}
.calculator-results dl>div{padding:16px 0;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.16)}
.calculator-results dt{font:10px Arial,sans-serif;color:#c1cbc0}
.calculator-results dd{margin:0;text-align:right;font-size:17px}
.calculator-principles{display:grid;grid-template-columns:repeat(3,1fr);background:#f5f1e8}
.calculator-principles article{min-height:290px;padding:48px clamp(24px,4vw,60px);border-right:1px solid var(--line)}
.calculator-principles article:last-child{border-right:0}
.calculator-principles span{font:700 9px Arial,sans-serif;letter-spacing:.16em;color:var(--moss)}
.calculator-principles h2{margin:32px 0 15px;font-size:29px;font-weight:400;line-height:1.22;color:var(--forest)}
.calculator-principles p{margin:0;font:13px/1.75 Arial,sans-serif;color:#536057}
.calculator-faq,.calculator-safety{padding:115px clamp(24px,8vw,130px);display:grid;grid-template-columns:.73fr 1.27fr;gap:8vw;background:#e8e4da;scroll-margin-top:90px}
.calculator-faq details{padding:22px 0;border-top:1px solid rgba(32,63,44,.24)}
.calculator-faq details:last-child{border-bottom:1px solid rgba(32,63,44,.24)}
.calculator-faq summary{cursor:pointer;font-size:20px;line-height:1.45;color:var(--forest)}
.calculator-faq details p{max-width:760px;margin:14px 0 0;font:13px/1.75 Arial,sans-serif;color:#526057}
.calculator-safety{background:#203b2a;color:#f2eee4}
.calculator-safety .section-kicker{color:#acbaa6}
.calculator-safety h2 em{color:#afbea9}
.calculator-safety>div:last-child{border-top:1px solid rgba(255,255,255,.23)}
.calculator-safety article{padding:25px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.calculator-safety article strong{font-size:22px;font-weight:400}
.calculator-safety article p{max-width:720px;margin:10px 0;font:13px/1.75 Arial,sans-serif;color:#c8d1c6}
.calculator-safety article a{display:inline-block;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.55);font:700 9px Arial,sans-serif;letter-spacing:.11em;color:#e7dfd0}
.calculator-sources{padding:60px clamp(24px,8vw,130px);background:#d9dfd3}
.calculator-sources>p:not(.section-kicker){max-width:780px;font:13px/1.75 Arial,sans-serif;color:#526057}
.calculator-sources>div{display:flex;gap:14px 25px;flex-wrap:wrap;margin-top:25px}
.calculator-sources a{padding:8px 0;border-bottom:1px solid var(--forest);font:700 9px/1.5 Arial,sans-serif;letter-spacing:.1em;color:var(--forest)}
.calculator-intro,.calculator-heading,.calculator-faq,.calculator-safety{grid-template-columns:1fr}
.calculator-intro{gap:55px}
.calculator-intro figure{max-width:650px}
.calculator-heading,.calculator-faq,.calculator-safety{gap:45px}
.calculator-shell{grid-template-columns:1fr}
.calculator-results{position:static}
.calculator-choice-grid.three{grid-template-columns:1fr}
.calculator-principles{grid-template-columns:1fr}
.calculator-principles article{min-height:0;border-right:0;border-bottom:1px solid var(--line)}
.calculator-results{position:static}
.calculator-intro,.gravel-calculator,.calculator-faq,.calculator-safety{padding:76px 22px}
.calculator-intro{min-height:auto}
.calculator-intro h1{font-size:55px}
.calculator-intro img{min-height:390px}
.calculator-heading h2,.calculator-faq h2,.calculator-safety h2{font-size:46px}
.calculator-form fieldset{padding:29px 18px 34px}
.calculator-choice-grid,.calculator-fields{grid-template-columns:1fr}
.calculator-submit{width:calc(100% - 36px);margin:25px 18px 32px}
.calculator-results{padding:27px 22px;box-shadow:8px 8px 0 rgba(32,63,44,.16)}
.calculator-principles article{padding:40px 22px}
.calculator-sources{padding:52px 22px}
.calculator-intro-actions{align-items:stretch;flex-direction:column}
.calculator-intro-actions .button{width:100%}
.calculator-intro,.calculator-form,.calculator-principles,.calculator-faq,.calculator-safety,.calculator-sources,.calculator-page footer{display:none!important}
.gravel-calculator{padding:0;background:#fff}
.calculator-heading{display:none}
.calculator-shell{display:block}
.calculator-results{position:static;box-shadow:none;background:#fff;color:#000;border:1px solid #444}
.calculator-results p,.calculator-placeholder p{color:#222}
.calculator-results dl>div{border-color:#aaa}
.gravel-calculator .calculator-heading>p { font-size:1.125rem; line-height:1.7; }
.gravel-calculator .field-help,.gravel-calculator .calculator-assumption,.calculator-extra p { font:1.0625rem/1.65 Arial,sans-serif; }
.gravel-calculator .driveway-section label,.gravel-calculator .calculator-fields label,.gravel-calculator .slope-field { font:600 1rem/1.45 Arial,sans-serif; letter-spacing:0; text-transform:none; }
.gravel-calculator .driveway-section label span,.gravel-calculator .calculator-fields label span { font-size:1rem; letter-spacing:0; }
.gravel-calculator .driveway-section input,.gravel-calculator .calculator-fields input,.gravel-calculator select { font:1.125rem/1.5 Arial,sans-serif; min-height:48px; }
.gravel-calculator .driveway-section { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gravel-calculator .driveway-section>div:first-child { grid-column:1/-1; }
.gravel-calculator .driveway-section output { font:1rem/1.5 Arial,sans-serif; text-align:left; letter-spacing:0; padding:0; }
.gravel-calculator .calculator-add-section,.gravel-calculator .driveway-section button,.gravel-calculator .calculator-submit,.gravel-calculator .result-actions button { font-size:1rem; letter-spacing:0; text-transform:none; }
.gravel-calculator .calculator-choice-grid label,.gravel-calculator .symptom-grid label { font-size:1rem; line-height:1.5; }
.gravel-calculator .calculator-input-note { font-size:1rem; line-height:1.65; }
.gravel-calculator .calculator-extra { margin:1rem 0; border:1px solid #a5b09f; padding:1rem; background:#f7f3ea; color:#29432f; }
.gravel-calculator .calculator-form>.calculator-extra { margin:1rem clamp(18px,3vw,42px); }
.calculator-extra>summary { min-height:44px; cursor:pointer; font:600 1.0625rem/1.5 Arial,sans-serif; padding:.5rem 0; }
.calculator-extra[open]>summary { margin-bottom:1rem; }
.calculator-extra>summary:focus-visible,.gravel-calculator button:focus-visible,.gravel-calculator input:focus-visible,.gravel-calculator select:focus-visible { outline:3px solid #80602f; outline-offset:3px; }
.calculator-extra fieldset { padding:1rem 0; }
.calculator-depth-choices { display:flex; flex-wrap:wrap; gap:.7rem; margin:1rem 0; }
.calculator-depth-choices button { min-height:48px; padding:.7rem 1rem; border:1px solid #6a7d63; background:#fffdf8; color:#213d2b; cursor:pointer; font:600 1rem/1.5 Arial,sans-serif; }
.calculator-depth-choices button[aria-pressed=true] { background:#213d2b; color:#fffdf8; border-width:2px; }
.calculator-range-toggle { display:flex; align-items:center; gap:.75rem; min-height:48px; margin-top:1rem; font:1rem/1.5 Arial,sans-serif; }
.calculator-range-toggle input { width:20px; height:20px; accent-color:#213d2b; }
.gravel-calculator a { text-decoration:underline; text-underline-offset:3px; }
.gravel-calculator .calculator-results { position:static; }
.gravel-calculator .result-heading strong { font-size:clamp(2rem,3.5vw,3.2rem); line-height:1.15; overflow-wrap:anywhere; }
.gravel-calculator .result-heading p { margin-top:.75rem; }
.gravel-calculator .calculator-placeholder p,.gravel-calculator .result-heading p,.gravel-calculator .calculator-results dt,.gravel-calculator .driveway-health p,.gravel-calculator .result-note,.gravel-calculator .flood-warning,.gravel-calculator .result-actions>p { font-size:1rem; line-height:1.65; }
.gravel-calculator .calculator-placeholder span,.gravel-calculator .result-heading span,.gravel-calculator .driveway-health span { font-size:.875rem; letter-spacing:.035em; }
.gravel-calculator .driveway-section { grid-template-columns:1fr; }
.gravel-calculator .calculator-extra { padding:.75rem; }
.gravel-calculator>.calculator-extra { display:none; }
