/* Quiet material detail: static paper grain, layered edges, soft pressed surfaces. */
:root {
  --paper: #f3f0e5;
  --grain: url("assets/paper-grain.svg");
  --surface-shadow: inset 0 1px 0 #fffffff0, 0 2px 3px #35442b06, 0 14px 34px #35442b0b;
}
body {
  background-color: var(--paper);
  background-image: var(--grain), radial-gradient(ellipse at 100% 0%, #dce5c7a6, transparent 54%), radial-gradient(ellipse at 0% 75%, #e7ddc885, transparent 46%), linear-gradient(130deg, #f8f5eb, #eeeee0);
  background-size: 160px 160px, 100% 900px, 100% 1100px, 100% 100%;
  background-repeat: repeat, no-repeat, no-repeat, no-repeat;
}
.card, .story-card, .details {
  background-color: #fcfbf5;
  background-image: var(--grain), linear-gradient(145deg, #fffef9, #f9f8ef);
  background-size: 160px 160px, 100% 100%;
  border-color: #d5dccb;
  box-shadow: var(--surface-shadow);
}
.opening-photo, .brief-photo {
  border: 1px solid #ffffffa6;
  box-shadow: 0 2px 3px #223d2614, 0 10px 24px #223d2612;
}
.hero-orbit {
  background-image: var(--grain), linear-gradient(135deg, #edf9d7, #d2e5ad);
  box-shadow: inset 0 1px 0 #ffffffc9, 0 3px 8px #17332730;
  border: 1px solid #f2f8e4c9;
}
#entryKicker {
  display: inline-block;
  padding: 5px 12px;
  border: 1px solid #cdd6bd;
  border-radius: 99px;
  background: var(--grain), linear-gradient(180deg, #f7f8e8, #e9efd8);
  box-shadow: inset 0 1px 0 #ffffffb3, 0 1px 2px #3c51330a;
  color: #486344;
}
.size-pick, .story-choice {
  background-color: #f4f6e9;
  background-image: var(--grain), linear-gradient(145deg, #fbfcf4, #edf2df);
  background-size: 160px 160px, 100% 100%;
  border-color: #cdd8bd;
  box-shadow: inset 0 1px 0 #ffffff, inset 0 -2px 0 #d6dfc547, 0 2px 4px #3c51330a;
}
.size-pick:hover, .story-choice:hover {
  background-image: var(--grain), linear-gradient(145deg, #f5f9e9, #e4eed0);
  border-color: #90a86c;
  box-shadow: inset 0 1px 0 #fff, 0 5px 12px #2f472718;
}
.size-pick[aria-pressed=true], .story-choice[aria-pressed=true] {
  background-image: var(--grain), linear-gradient(155deg, #e8f2d3, #d8e8b9);
  border-color: #708e50;
  box-shadow: inset 0 0 0 1px #819b63, inset 0 2px 4px #48613b14;
}
.choice-family, .choice-weekends {
  background-image: var(--grain), linear-gradient(145deg, #fffaf1, #f2eadd);
  border-color: #dfd4c1;
}
.choice-curb {
  background-image: var(--grain), linear-gradient(145deg, #f4faf3, #e4eee6);
}
.choice-icon {
  border: 1px solid #5272441a;
  box-shadow: inset 0 1px 1px #ffffffa1, 0 1px 2px #2b40220d;
  background-image: var(--grain);
}
.yard-ground { fill: #e9eddb; }
.yard-patch { filter: drop-shadow(0 2px 0 #6c844b30); }
.yard-patio { fill: #dccfac; }
.yard-house { fill: #fffdf2; }
.yard-fibers { pointer-events: none; }
.pill, .brief-tags span {
  background: var(--grain), linear-gradient(#f9faee, #edf0df);
  border-color: #cdd7bd;
  box-shadow: inset 0 1px 0 #fff;
}
.scout-note, .capture-receipt, .expense-note, .pro-script {
  background: var(--grain), linear-gradient(130deg, #edf2df, #f4f5e9);
  border: 1px solid #dce3ce;
  box-shadow: inset 0 1px 2px #50614008;
}
.capture-receipt { border-style: dashed; }
.comparison-card .outcome {
  background: var(--grain), radial-gradient(ellipse at top, #f0f8dc, #dfedc6);
  border: 1px solid #ccddb2;
  box-shadow: inset 0 1px 0 #ffffffe0, 0 2px 3px #41633706;
}
.comparison-card .outcome.costs-more {
  background: var(--grain), radial-gradient(ellipse at top, #fcf4e6, #f0e3cf);
  border-color: #e1cfb3;
}
.primary {
  background-color: #244d35;
  background-image: var(--grain), linear-gradient(180deg, #315d41, #214b33);
  background-size: 160px 160px, 100% 100%;
  border: 1px solid #214a32;
  box-shadow: inset 0 1px 0 #ffffff25, 0 3px 0 #173b29, 0 5px 9px #244b3214;
}
.primary:hover {
  background-image: var(--grain), linear-gradient(180deg, #285138, #183c29);
  box-shadow: inset 0 1px 0 #ffffff25, 0 3px 0 #133222, 0 7px 13px #244b321a;
}
.primary:active { box-shadow: inset 0 1px 3px #12291b47, 0 1px 0 #173b29; }
.capture-card .stack input, .stack textarea, .stack select, .fields input, .expense-editor input, .expense-editor select {
  background: #fffef8;
  border-color: #c7d0ba;
  box-shadow: inset 0 2px 3px #35472b08, 0 1px 0 #ffffffdb;
}
.cost-track { background: #e2e8d7; box-shadow: inset 0 1px 2px #334d2712; }
.cost-track span { background-image: linear-gradient(0deg, #7f95611a, #ffffff38); }
.system-disclosure { background: var(--grain), #f4f6e9; border-color: #d3ddc6; }
.journey-progress>div span { box-shadow: inset 0 1px 1px #405a2e10; }
.journey-progress>div span.filled { background-image: linear-gradient(90deg, #274b33, #78945b); }
.budget-opportunity {
  padding: 20px 21px 17px;
  margin: 0 0 16px;
  border: 1px solid #cad9b1;
  border-radius: 18px;
  background: var(--grain), radial-gradient(ellipse at top left, #f1f7df, #e1ebcd);
  box-shadow: inset 0 1px 0 #ffffffe0;
  text-align: center;
}
.opportunity-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.opportunity-top .pill { font-size: 8px; background: #f6f9ec; }
.opportunity-leaf { color: #476b3d; font-size: 21px; }
.opportunity-amount { font-size: 68px; font-weight: 790; letter-spacing: -3px; line-height: 1.05; margin: 19px 0 5px; }
.opportunity-amount>span:last-child { font-size: 17px; letter-spacing: -.3px; font-weight: 550; }
.opportunity-label { font-size: 11px; color: #526d4b; margin: 0 0 21px; }
.budget-reframe { border-top: 1px solid #cad8b8; padding-top: 17px; }
.budget-reframe h2 { font-size: 19px; line-height: 1.3; letter-spacing: -.4px; margin: 0 0 7px; }
.budget-reframe p { font-size: 12px; color: #46633f; margin: 0; }
.cost-reminders { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 16px 0 12px; }
.cost-reminders span { font-size: 10px; padding: 4px 8px; border: 1px solid #c6d5b0; border-radius: 99px; background: #f1f6e4b3; }
.opportunity-note { font-size: 10px; line-height: 1.6; color: #52674a; max-width: 360px; margin: 0 auto; }
.check-costs { display: block; margin: 7px auto 0; font-size: 12px; }
.comparison-card .outcome.needs-review { padding: 20px; background: var(--grain), linear-gradient(140deg, #f4f5e9, #e8eddd); border-color: #d5ddc5; }
.outcome.needs-review h2 { margin-top: 9px; }
.outcome.needs-review .annual { line-height: 1.6; }
@media(max-width:480px) {
  .budget-opportunity { padding: 17px 14px 15px; }
  .opportunity-amount { font-size: 59px; margin-top: 17px; }
  .opportunity-amount>span:last-child { font-size: 15px; }
  .budget-reframe h2 { font-size: 17px; }
  .budget-reframe p { font-size: 11px; }
  .cost-reminders { gap: 5px; }
  .cost-reminders span { font-size: 9px; padding: 4px 7px; }
  .opportunity-note { font-size: 9px; }
  .check-costs { font-size: 11px; }
}
@media print {
  body, .card, .story-card, .details, .primary, .scout-note, .capture-receipt, .comparison-card .outcome, .comparison-card .outcome.costs-more, .pill, .brief-tags span { background: #fff; box-shadow: none; }
}
/* Show the arithmetic before asking for a lead. */
.result-sub{font-size:13px;color:#607365;line-height:1.45;margin:10px auto 0}
#result .comparison-card{padding:24px}
#result .result-top{margin-bottom:12px}
.care-profile>p{font-size:11px;color:#607365;margin:0 0 8px;text-align:center}
.care-options{display:flex;gap:5px;max-width:410px;margin:0 auto}
.care-options button{flex:1;min-height:37px;padding:7px 9px;border:1px solid #d2dac7;border-radius:10px;background:#fafbf3;color:#375343;font:inherit;font-size:11px;cursor:pointer}
.care-options button[aria-pressed=true]{background:var(--grain),#e2edce;border-color:#819961;box-shadow:inset 0 0 0 1px #819961}
.comparison-basis{text-align:center;font-size:10px;color:#60705e;margin:10px 0 16px}
#enteredComparison{align-items:start;gap:12px;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);margin:0}
#enteredComparison>div:not(.arrow){border:1px solid #e0dfcb;border-radius:15px;background:var(--grain),#f7f3e8;padding:17px 14px 13px}
#enteredComparison>div:last-child{background:var(--grain),linear-gradient(145deg,#edf5dc,#e0ebca);border-color:#cbdab1}
#enteredComparison .amount{font-size:51px;line-height:1.1;margin-top:9px}
#enteredComparison .compare-label{font-size:12px;font-weight:650;line-height:1.3;min-height:30px}
#enteredComparison .per{font-size:10px}
#enteredComparison .arrow{align-self:center;font-size:20px}
#enteredComparison .cost-track{margin:10px 0 14px;height:4px}
.natural-receipt{border-top:1px dashed #c9cdb9;padding-top:9px;display:grid;gap:7px;text-align:left}
.natural-receipt>div{display:flex;justify-content:space-between;gap:6px;font-size:10px;line-height:1.35;color:#5a6855}
.natural-receipt strong{color:#274936;white-space:nowrap;font-variant-numeric:tabular-nums}
#result .outcome{padding:15px 16px;margin:14px 0 0;text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center}
#result .outcome[hidden]{display:none}
#result .outcome .overline{grid-column:1/-1;margin:0 0 7px;font-size:10px}
#result .outcome .big{font-size:36px;line-height:1.1;white-space:nowrap;grid-column:1;grid-row:2/4;margin:0}
#result .outcome .big>span:last-child{font-size:11px;letter-spacing:0}
#result .outcome h2{font-size:16px;margin:0;line-height:1.3}
#result .outcome .annual{font-size:10px;margin:4px 0 0;line-height:1.45}
#result .outcome.needs-review{display:block}
.cost-coverage{font-size:10px;color:#64735d;text-align:center;line-height:1.5;margin:12px 0}
#result .terms{font-size:10px;margin:12px 0 14px;line-height:1.5}
.scenario-sources p{font-size:11px;color:#53654e;line-height:1.6}
.remaining-grass{display:flex;align-items:center;gap:9px;font-size:13px;margin:15px 0 0}
.remaining-grass input{width:17px;height:17px;accent-color:#2c5237}
.expense-editor .line-origin{grid-column:1/-1;margin:0;font-size:11px;color:#647456}
.expense-select span>small{display:block}
@media(max-width:480px){
 #result .comparison-card{padding:16px 12px}
 #result .result-intro h1{font-size:32px}
 .result-sub{font-size:11px;margin-top:7px}
 #enteredComparison{gap:6px;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)}
 #enteredComparison>div:not(.arrow){padding:13px 9px 11px}
 #enteredComparison .amount{font-size:39px;letter-spacing:-1.8px}
 #enteredComparison .compare-label{font-size:11px;min-height:28px}
 #enteredComparison .arrow{font-size:15px}
 .natural-receipt>div{font-size:9px;gap:5px}
 .natural-receipt{gap:7px}
 .care-options button{font-size:10px;padding:7px 5px;min-height:36px}
 #result .outcome{column-gap:10px;padding:12px}
 #result .outcome .big{font-size:30px}
 #result .outcome h2{font-size:13px}
 #result .outcome .annual{font-size:9px}
 .comparison-basis{font-size:9px;margin-bottom:11px}
 #result .terms,.cost-coverage{font-size:9px}
}
.expense-choice{display:flex;align-items:center;gap:9px}
.expense-choice .expense-select{flex:1;min-width:0}
.expense-edit{border:0;border-bottom:1px solid #7e9473;background:transparent;color:#385740;padding:4px 0;font-size:11px;cursor:pointer;flex-shrink:0}
.expense-select small{font-size:10px!important;line-height:1.5!important}
#result .result-intro h1{margin:8px 0}
.expense-edit{margin-right:12px}
.amount small{font-size:.43em;font-weight:650;letter-spacing:-.3px}
@media(max-width:480px){#result .outcome .big{font-size:27px;letter-spacing:-1.2px}#result .outcome .big>span:last-child{font-size:10px}}

/* A tactile calculator: warm paper, polished emerald, and quiet motion. */
body:has(#result:not([hidden])) {
  background-image: var(--grain), radial-gradient(ellipse at 94% 28%, #b6d3a95c, transparent 49%), radial-gradient(ellipse at 0 52%, #dabc8540, transparent 48%), linear-gradient(135deg, #f8f4e9, #e9efdc);
}
#result .result-intro h1 { color: #123f30; text-shadow: 0 2px 0 #ffffff80; }
#result .result-intro .eyebrow { color: #3b6b4d; }
#result .comparison-card {
  position: relative;
  isolation: isolate;
  background-image: var(--grain), radial-gradient(ellipse at 100% 0, #f0f6e3, transparent 55%), linear-gradient(145deg, #fffef8, #f8f8ef);
  border-color: #ffffff;
  box-shadow: inset 0 1px 0 #fff, 0 1px 2px #263f2512, 0 10px 22px #3b593113, 0 28px 65px -28px #244e3a55;
}
#result .comparison-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset: 0;
  border-radius: inherit;
  border: 1px solid #b9cba147;
  box-shadow: inset 0 0 0 5px #ffffff47;
}
#result .result-top { color: #24543d; }
.care-options button {
  background: var(--grain), linear-gradient(180deg, #fffef9, #f0f2e5);
  border-color: #ccd5bd;
  box-shadow: inset 0 1px 0 #fff, 0 2px 3px #334c2910;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.care-options button[aria-pressed=true] {
  color: #fffef0;
  background: var(--grain), linear-gradient(135deg, #35634b, #214833);
  border-color: #315b3e;
  box-shadow: inset 0 1px 0 #ffffff35, 0 3px 7px #244c3526;
}
#enteredComparison { align-items: stretch; }
#enteredComparison>div:not(.arrow) {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: var(--grain), radial-gradient(ellipse at 0 0, #fff9e9, transparent 80%), linear-gradient(155deg, #f3ead8, #ebe5d7);
  border-color: #dbceb5;
  box-shadow: inset 0 1px 0 #fffffff0, 0 3px 5px #65563909, 0 8px 16px -10px #695a3550;
}
#enteredComparison>div:last-child {
  color: #f5f9e8;
  background: var(--grain), radial-gradient(ellipse at 85% 0, #56846980, transparent 67%), linear-gradient(145deg, #275e47, #133f32);
  border-color: #2f644b;
  box-shadow: inset 0 1px 0 #b7d4a975, 0 4px 8px #16402f17, 0 12px 22px -12px #16402f66;
}
#enteredComparison>div:last-child::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 210px;
  height: 210px;
  border: 1px solid #d8eeaf15;
  border-radius: 50%;
  right: -153px;
  bottom: -136px;
  box-shadow: 0 0 0 17px #d8eeaf09, 0 0 0 36px #d8eeaf08, 0 0 0 56px #d8eeaf06;
}
#enteredComparison>div:last-child .compare-label,
#enteredComparison>div:last-child .amount { color: #f7fbe9; }
#enteredComparison>div:last-child .per,
#enteredComparison .turf-receipt>div { color: #d2e4c9; }
#enteredComparison .turf-receipt strong { color: #f4f9e7; }
#enteredComparison .turf-receipt { border-color: #b8d59e4d; }
#enteredComparison .cost-track { background: #d8d0bd; box-shadow: inset 0 1px 2px #6f614d15; }
#enteredComparison #grassBar { background: linear-gradient(90deg, #ae9c74, #cbb78c); }
#enteredComparison .turf-track { background: #ffffff17; box-shadow: inset 0 1px 2px #0a2b2933; }
#enteredComparison #turfBar { background: linear-gradient(90deg, #aed47a, #d6eda9); box-shadow: 0 0 9px #c6ed9c33; }
#enteredComparison .arrow { color: #607e55; text-shadow: 0 1px 0 #fff; }
.natural-receipt { border-color: #bdb19680; }
#result .outcome:not(.costs-more):not(.needs-review) {
  border-color: #bed197;
  background: var(--grain), radial-gradient(ellipse at top left, #f0f8d6, transparent 80%), linear-gradient(115deg, #e0edb6, #cde0a8);
  box-shadow: inset 0 1px 0 #ffffffe6, inset 0 -1px 0 #8cac5920, 0 4px 9px #5774390e;
}
#result .outcome .big { color: #1a4e34; text-shadow: 0 1px 0 #ffffff75; }
#result .outcome .overline { color: #405b36; }
#result #saveComparison {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fffef1;
  background: var(--grain), radial-gradient(ellipse at top, #487b52, transparent 85%), linear-gradient(160deg, #285940, #18432f);
  border-color: #255139;
  box-shadow: inset 0 1px 0 #e2f7c357, 0 3px 0 #123927, 0 8px 17px -5px #204e3e59;
  transition: transform 180ms ease, box-shadow 180ms ease;
  animation: calculator-button-float 4.8s ease-in-out 1s 3;
}
#result #saveComparison::after {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 25%, #f3ffd91f 48%, transparent 70%);
  transform: translateX(-110%);
  animation: calculator-button-sheen 1.4s ease-out 1.4s 1;
}
#result .textbutton { transition: color 160ms ease; }
#result button:focus-visible {
  outline: 3px solid #7d9b4d;
  outline-offset: 4px;
}
#result #saveComparison:focus-visible {
  animation: none;
  transform: none;
}
@media(hover:hover) and (pointer:fine) {
  .care-options button:hover { transform: translateY(-2px); border-color: #8aa76d; box-shadow: 0 5px 10px #35563021; }
  #result #saveComparison:hover { animation: none; transform: translateY(-2px); box-shadow: inset 0 1px 0 #e2f7c357, 0 3px 0 #123927, 0 11px 21px -5px #204e3e66; }
  #result .textbutton:hover { color: #60843e; }
}
#result #saveComparison:active, .care-options button:active { animation: none; transform: translateY(1px); }
@keyframes calculator-button-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes calculator-button-sheen {
  from { transform: translateX(-110%); }
  to { transform: translateX(110%); }
}
@media(prefers-reduced-motion:reduce) {
  #result button { transform: none!important; }
}
html[data-motion=reduced] #result button { transform: none!important; }
@media print {
  body:has(#result:not([hidden])), #result .comparison-card,
  #enteredComparison>div:not(.arrow), #result .outcome, #result #saveComparison {
    background: #fff!important;
    color: #173f32!important;
    box-shadow: none!important;
    animation: none!important;
  }
  #enteredComparison>div:last-child *, #result .outcome * { color: #173f32!important; text-shadow: none!important; }
  #enteredComparison>div:last-child::after, #result #saveComparison::after, #result .comparison-card::before { display: none; }
}

.time-value{margin:24px 0;padding:24px;border:1px solid #c4d5a9;border-radius:24px;background:linear-gradient(130deg,#edf2d9,#f9f5e9);box-shadow:inset 0 1px #fff,0 8px 24px #173e2f0a}.time-value h2{margin:10px 0}.time-totals{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.time-totals span,.time-totals strong{display:block}.time-totals strong{font-size:clamp(24px,4vw,36px);color:#174332}.time-inputs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.time-inputs label{display:grid;gap:7px;font-size:14px}.time-inputs input{width:100%;min-width:0;box-sizing:border-box;padding:12px;border:1px solid #acbca1;border-radius:10px;background:#fff}.time-value summary{cursor:pointer;text-decoration:underline}.time-value .smallprint{font-size:12px;line-height:1.5}@media(max-width:420px){.time-value{padding:18px}.time-totals{gap:10px}.time-totals span{font-size:12px}}

.savings-start{max-width:420px;margin:20px auto 8px;display:block}.savings-hero{padding:24px 0 8px}.savings-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;text-align:center}.savings-pair strong{display:block;font-size:clamp(26px,4vw,42px);letter-spacing:-1px;margin:12px 0}.savings-pair small{display:block;font-size:12px;color:#607568}.savings-arrow{color:#799b52;font-size:25px}.savings-payoff{margin:28px 0 16px;padding:28px 16px;border-radius:24px;background:linear-gradient(130deg,#173f32,#326747);color:#f5f8e8;text-align:center;box-shadow:0 12px 26px #173f3220}.savings-payoff span,.savings-payoff small{display:block}.savings-payoff strong{display:block;font-size:clamp(42px,8vw,72px);letter-spacing:-2px;margin:10px 0}.hours-back{font-weight:700;text-align:center;font-size:20px}.savings-hero>.smallprint{text-align:center;font-size:12px;max-width:470px;margin:14px auto}.comparison-card #comparisonBasis{font-size:12px;margin:12px 0 0}.savings-hero~.terms{font-size:12px;line-height:1.5}.comparison-card .consultation-note{font-size:12px}#result .project-value{display:none}@media(max-width:500px){.savings-pair{gap:7px}.savings-pair>div>span{font-size:13px}.savings-pair strong{font-size:26px}.savings-pair small{font-size:10px}.savings-payoff{margin-top:22px}.hours-back{font-size:17px}}

.weekend-game{max-width:650px;margin:28px auto;padding:24px;border-radius:26px;border:1px solid #bccca8;background:linear-gradient(130deg,#f4f5e6,#e4edcf);box-shadow:0 10px 30px #173f3210}.game-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.game-top .eyebrow{font-size:10px}.game-top h2{font-size:32px;margin:8px 0}.game-badge{font-size:30px;background:#d1e6aa;border-radius:50%;width:54px;height:54px;display:grid;place-items:center}.weekend-game>p{font-size:15px}.game-yard{position:relative;height:210px;border-radius:18px;overflow:hidden;background:#244e32;isolation:isolate}.game-reveal{position:absolute;inset:0;background:linear-gradient(#173f3220,#173f3299),url('assets/yardforward-generated-hero.jpg') center/cover;display:grid;place-items:center;text-align:center;color:white;font-size:30px;font-weight:800;text-shadow:0 2px 8px #0008}.game-patches{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:3px}.grass-patch{min-height:70px;border:1px solid #a9cd71;border-radius:10px;color:#e8f6c9;cursor:pointer;background:repeating-linear-gradient(80deg,transparent 0 5px,#b7d87c22 6px 8px),linear-gradient(135deg,#658e3f,#345d2d);font-size:42px;box-shadow:inset 0 1px #fff4;transition:opacity .25s,transform .25s}.grass-patch:hover:not(:disabled){filter:brightness(1.14);transform:translateY(-2px)}.grass-patch:focus-visible{outline:3px solid #fff;outline-offset:-5px}.grass-patch.is-cleared{opacity:0;transform:scale(.8);pointer-events:none}.game-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px}.game-footer p{font-size:14px;font-weight:700}.game-footer .textbutton{font-size:13px;padding:8px}.game-disclaimer{font-size:11px!important;text-align:center;color:#627367}.weekend-game [hidden]{display:none!important}@media(max-width:500px){.weekend-game{padding:18px}.game-yard{height:180px}.game-top h2{font-size:28px}}@media(prefers-reduced-motion:reduce){.grass-patch{transition:none}.grass-patch:hover:not(:disabled){transform:none}}

.scratch-card{margin:24px 0;padding:20px;background:linear-gradient(135deg,#edf2db,#faf7eb);border:1px solid #c6d2ae;border-radius:22px;text-align:center}.scratch-card h2{font-size:28px;margin:8px 0}.scratch-hint{font-size:14px}.scratch-stage{position:relative;aspect-ratio:2;overflow:hidden;border-radius:16px;background:linear-gradient(#183f3222,#183f3277),url('assets/yard-after.jpg') center/cover}.scratch-stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;transition:opacity .4s}.scratch-prize{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:14px;color:white;text-shadow:0 2px 5px #0008}.scratch-prize strong{font-size:clamp(22px,4vw,34px)}.scratch-prize span{font-size:12px}.scratch-prompt{position:absolute;inset:0;display:grid;place-items:center;color:white;font-weight:800;text-shadow:0 2px 8px #000;pointer-events:none}.is-scratching .scratch-prompt,.is-revealed .scratch-prompt{display:none}.scratch-status{font-size:13px;font-weight:700}.scratch-terms{font-size:11px;line-height:1.5}.scratch-access{font-size:13px}.scratch-card [hidden]{display:none!important}@media(prefers-reduced-motion:reduce){.scratch-stage canvas{transition:none}}
.mower-game{max-width:550px}.mower-game .game-top h2{font-size:28px}.mower-instructions{font-size:13px!important;line-height:1.55}.mower-hud{display:flex;justify-content:space-between;gap:10px;background:#173f32;color:#f4f8e7;padding:12px 16px;border-radius:14px 14px 0 0;font-size:14px;font-variant-numeric:tabular-nums}.mower-track{position:relative;overflow:hidden;border-radius:0 0 16px 16px;background:#254e31}.mower-track canvas{display:block;width:100%;height:auto;touch-action:pan-y}.mower-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:24px;background:#123b2ddd;color:#fff;text-align:center}.mower-overlay strong{font-size:28px}.mower-overlay span{font-size:14px}.mower-overlay .primary{background:#cbea85;color:#173f32}.mower-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;margin-top:12px}.mower-controls button{min-height:48px;touch-action:manipulation}.mower-boost{position:absolute;left:10%;right:10%;top:12px;padding:9px;border-radius:12px;background:#d7fb76;color:#173f32;font-weight:900;text-align:center;pointer-events:none}.game-status{font-size:13px;font-weight:600;min-height:38px}.mower-game #gameSavings{display:block;margin:auto;font-weight:700}.mower-game button:focus-visible{outline:3px solid #739348;outline-offset:3px}

nav a.brand{color:inherit;text-decoration:none;cursor:pointer}nav a.brand:focus-visible{outline:3px solid #739348;outline-offset:6px;border-radius:6px}
