/* Option 1: clean white + farm green */
:root {
  --green: #1f5130;
  --green-dark: #163b23;
  --green-soft: #e8f0ea;
  --wheat: #e2b33c;
  --ink: #1c1f1d;
  --muted: #4a524c;
  --line: #d9dfda;
  --bg: #ffffff;
  --bg-alt: #f6f7f4;
  --radius: 14px;
  --shadow: 0 10px 30px rgba(22, 59, 35, .10);
  --contour: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 640' preserveAspectRatio='xMidYMid slice'%3E%3Cg fill='none' stroke='%231f5130' stroke-opacity='.09' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M-20 16 L20 24 L60 32 L100 38 L140 43 L180 44 L220 43 L260 41 L300 38 L340 35 L380 32 L420 32 L460 32 L500 33 L540 34 L580 34 L620 32 L660 29 L700 23 L740 16 L780 8 L820 1 L860 -5 L900 -9 L940 -10 L980 -8 L1020 -4 L1060 1 L1100 7 L1140 12 L1180 15 L1220 18 L1260 18 L1300 18 L1340 18 L1380 19 L1420 21 L1460 25 L1500 30 L1540 36 L1580 42 L1620 47'/%3E%3Cpath d='M-20 84 L20 88 L60 90 L100 90 L140 88 L180 85 L220 81 L260 79 L300 77 L340 77 L380 78 L420 79 L460 79 L500 78 L540 75 L580 70 L620 64 L660 56 L700 48 L740 42 L780 38 L820 36 L860 37 L900 40 L940 46 L980 51 L1020 57 L1060 61 L1100 64 L1140 65 L1180 65 L1220 65 L1260 66 L1300 67 L1340 70 L1380 75 L1420 81 L1460 87 L1500 92 L1540 96 L1580 96 L1620 94'/%3E%3Cpath d='M-20 137 L20 135 L60 132 L100 128 L140 125 L180 123 L220 123 L260 123 L300 124 L340 125 L380 124 L420 122 L460 117 L500 111 L540 104 L580 96 L620 89 L660 84 L700 82 L740 82 L780 85 L820 90 L860 96 L900 102 L940 107 L980 110 L1020 112 L1060 112 L1100 112 L1140 112 L1180 113 L1220 116 L1260 120 L1300 126 L1340 132 L1380 137 L1420 141 L1460 142 L1500 141 L1540 137 L1580 131 L1620 123'/%3E%3Cpath d='M-20 176 L20 172 L60 170 L100 168 L140 168 L180 169 L220 170 L260 170 L300 168 L340 164 L380 158 L420 151 L460 144 L500 137 L540 131 L580 128 L620 128 L660 130 L700 135 L740 141 L780 147 L820 152 L860 156 L900 158 L940 159 L980 159 L1020 159 L1060 159 L1100 162 L1140 165 L1180 170 L1220 176 L1260 182 L1300 186 L1340 188 L1380 187 L1420 184 L1460 178 L1500 171 L1540 163 L1580 156 L1620 150'/%3E%3Cpath d='M-20 214 L20 214 L60 214 L100 215 L140 215 L180 214 L220 211 L260 206 L300 199 L340 191 L380 184 L420 178 L460 174 L500 173 L540 175 L580 179 L620 185 L660 191 L700 197 L740 201 L780 204 L820 205 L860 206 L900 205 L940 206 L980 207 L1020 211 L1060 215 L1100 221 L1140 226 L1180 231 L1220 234 L1260 234 L1300 231 L1340 226 L1380 219 L1420 211 L1460 203 L1500 197 L1540 193 L1580 190 L1620 190'/%3E%3Cpath d='M-20 260 L20 260 L60 260 L100 257 L140 253 L180 246 L220 239 L260 232 L300 225 L340 221 L380 219 L420 220 L460 224 L500 230 L540 236 L580 242 L620 247 L660 250 L700 252 L740 252 L780 252 L820 252 L860 253 L900 256 L940 260 L980 265 L1020 271 L1060 276 L1100 279 L1140 280 L1180 278 L1220 273 L1260 266 L1300 259 L1340 251 L1380 244 L1420 239 L1460 236 L1500 235 L1540 236 L1580 237 L1620 238'/%3E%3Cpath d='M-20 303 L20 299 L60 294 L100 287 L140 279 L180 273 L220 268 L260 265 L300 266 L340 269 L380 274 L420 280 L460 287 L500 292 L540 296 L580 298 L620 299 L660 299 L700 299 L740 300 L780 302 L820 305 L860 310 L900 315 L940 320 L980 324 L1020 326 L1060 324 L1100 320 L1140 314 L1180 306 L1220 298 L1260 291 L1300 286 L1340 282 L1380 281 L1420 281 L1460 282 L1500 283 L1540 284 L1580 283 L1620 281'/%3E%3Cpath d='M-20 334 L20 327 L60 320 L100 315 L140 312 L180 311 L220 314 L260 319 L300 325 L340 331 L380 337 L420 342 L460 345 L500 346 L540 346 L580 346 L620 346 L660 348 L700 351 L740 355 L780 360 L820 365 L860 369 L900 371 L940 371 L980 367 L1020 362 L1060 354 L1100 346 L1140 338 L1180 332 L1220 328 L1260 326 L1300 326 L1340 327 L1380 329 L1420 330 L1460 329 L1500 328 L1540 326 L1580 323 L1620 320'/%3E%3Cpath d='M-20 362 L20 358 L60 357 L100 359 L140 363 L180 369 L220 376 L260 382 L300 387 L340 391 L380 392 L420 393 L460 393 L500 393 L540 394 L580 396 L620 400 L660 405 L700 410 L740 414 L780 417 L820 417 L860 414 L900 409 L940 402 L980 394 L1020 386 L1060 379 L1100 374 L1140 372 L1180 371 L1220 372 L1260 374 L1300 375 L1340 375 L1380 375 L1420 373 L1460 370 L1500 367 L1540 366 L1580 367 L1620 369'/%3E%3Cpath d='M-20 404 L20 408 L60 414 L100 420 L140 427 L180 433 L220 437 L260 439 L300 440 L340 439 L380 439 L420 440 L460 442 L500 445 L540 449 L580 454 L620 459 L660 462 L700 463 L740 461 L780 456 L820 449 L860 442 L900 433 L940 426 L980 421 L1020 418 L1060 417 L1100 417 L1140 419 L1180 420 L1220 421 L1260 421 L1300 419 L1340 417 L1380 415 L1420 413 L1460 413 L1500 415 L1540 420 L1580 426 L1620 434'/%3E%3Cpath d='M-20 465 L20 472 L60 478 L100 482 L140 485 L180 486 L220 486 L260 486 L300 486 L340 487 L380 490 L420 494 L460 499 L500 504 L540 507 L580 508 L620 507 L660 503 L700 497 L740 489 L780 481 L820 473 L860 467 L900 464 L940 462 L980 462 L1020 464 L1060 466 L1100 467 L1140 467 L1180 466 L1220 464 L1260 462 L1300 460 L1340 459 L1380 461 L1420 465 L1460 471 L1500 479 L1540 487 L1580 495 L1620 501'/%3E%3Cpath d='M-20 528 L20 531 L60 533 L100 533 L140 533 L180 533 L220 533 L260 536 L300 539 L340 544 L380 548 L420 552 L460 554 L500 553 L540 550 L580 544 L620 537 L660 529 L700 521 L740 514 L780 510 L820 508 L860 507 L900 509 L940 511 L980 512 L1020 513 L1060 513 L1100 511 L1140 509 L1180 507 L1220 506 L1260 507 L1300 510 L1340 516 L1380 523 L1420 531 L1460 539 L1500 546 L1540 551 L1580 553 L1620 553'/%3E%3Cpath d='M-20 580 L20 580 L60 579 L100 580 L140 581 L180 584 L220 588 L260 593 L300 597 L340 599 L380 599 L420 597 L460 592 L500 585 L540 576 L580 568 L620 561 L660 556 L700 553 L740 553 L780 554 L820 556 L860 558 L900 559 L940 559 L980 558 L1020 556 L1060 554 L1100 552 L1140 553 L1180 556 L1220 560 L1260 567 L1300 576 L1340 584 L1380 591 L1420 596 L1460 599 L1500 599 L1540 597 L1580 593 L1620 589'/%3E%3Cpath d='M-20 626 L20 627 L60 630 L100 633 L140 638 L180 642 L220 645 L260 645 L300 643 L340 639 L380 632 L420 624 L460 616 L500 608 L540 603 L580 599 L620 598 L660 599 L700 601 L740 603 L780 604 L820 605 L860 604 L900 603 L940 601 L980 599 L1020 599 L1060 601 L1100 606 L1140 612 L1180 620 L1220 628 L1260 636 L1300 642 L1340 645 L1380 646 L1420 644 L1460 641 L1500 636 L1540 632 L1580 628 L1620 626'/%3E%3C/g%3E%3C/svg%3E");
  --contour-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 640' preserveAspectRatio='xMidYMid slice'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.10' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M-20 16 L20 24 L60 32 L100 38 L140 43 L180 44 L220 43 L260 41 L300 38 L340 35 L380 32 L420 32 L460 32 L500 33 L540 34 L580 34 L620 32 L660 29 L700 23 L740 16 L780 8 L820 1 L860 -5 L900 -9 L940 -10 L980 -8 L1020 -4 L1060 1 L1100 7 L1140 12 L1180 15 L1220 18 L1260 18 L1300 18 L1340 18 L1380 19 L1420 21 L1460 25 L1500 30 L1540 36 L1580 42 L1620 47'/%3E%3Cpath d='M-20 84 L20 88 L60 90 L100 90 L140 88 L180 85 L220 81 L260 79 L300 77 L340 77 L380 78 L420 79 L460 79 L500 78 L540 75 L580 70 L620 64 L660 56 L700 48 L740 42 L780 38 L820 36 L860 37 L900 40 L940 46 L980 51 L1020 57 L1060 61 L1100 64 L1140 65 L1180 65 L1220 65 L1260 66 L1300 67 L1340 70 L1380 75 L1420 81 L1460 87 L1500 92 L1540 96 L1580 96 L1620 94'/%3E%3Cpath d='M-20 137 L20 135 L60 132 L100 128 L140 125 L180 123 L220 123 L260 123 L300 124 L340 125 L380 124 L420 122 L460 117 L500 111 L540 104 L580 96 L620 89 L660 84 L700 82 L740 82 L780 85 L820 90 L860 96 L900 102 L940 107 L980 110 L1020 112 L1060 112 L1100 112 L1140 112 L1180 113 L1220 116 L1260 120 L1300 126 L1340 132 L1380 137 L1420 141 L1460 142 L1500 141 L1540 137 L1580 131 L1620 123'/%3E%3Cpath d='M-20 176 L20 172 L60 170 L100 168 L140 168 L180 169 L220 170 L260 170 L300 168 L340 164 L380 158 L420 151 L460 144 L500 137 L540 131 L580 128 L620 128 L660 130 L700 135 L740 141 L780 147 L820 152 L860 156 L900 158 L940 159 L980 159 L1020 159 L1060 159 L1100 162 L1140 165 L1180 170 L1220 176 L1260 182 L1300 186 L1340 188 L1380 187 L1420 184 L1460 178 L1500 171 L1540 163 L1580 156 L1620 150'/%3E%3Cpath d='M-20 214 L20 214 L60 214 L100 215 L140 215 L180 214 L220 211 L260 206 L300 199 L340 191 L380 184 L420 178 L460 174 L500 173 L540 175 L580 179 L620 185 L660 191 L700 197 L740 201 L780 204 L820 205 L860 206 L900 205 L940 206 L980 207 L1020 211 L1060 215 L1100 221 L1140 226 L1180 231 L1220 234 L1260 234 L1300 231 L1340 226 L1380 219 L1420 211 L1460 203 L1500 197 L1540 193 L1580 190 L1620 190'/%3E%3Cpath d='M-20 260 L20 260 L60 260 L100 257 L140 253 L180 246 L220 239 L260 232 L300 225 L340 221 L380 219 L420 220 L460 224 L500 230 L540 236 L580 242 L620 247 L660 250 L700 252 L740 252 L780 252 L820 252 L860 253 L900 256 L940 260 L980 265 L1020 271 L1060 276 L1100 279 L1140 280 L1180 278 L1220 273 L1260 266 L1300 259 L1340 251 L1380 244 L1420 239 L1460 236 L1500 235 L1540 236 L1580 237 L1620 238'/%3E%3Cpath d='M-20 303 L20 299 L60 294 L100 287 L140 279 L180 273 L220 268 L260 265 L300 266 L340 269 L380 274 L420 280 L460 287 L500 292 L540 296 L580 298 L620 299 L660 299 L700 299 L740 300 L780 302 L820 305 L860 310 L900 315 L940 320 L980 324 L1020 326 L1060 324 L1100 320 L1140 314 L1180 306 L1220 298 L1260 291 L1300 286 L1340 282 L1380 281 L1420 281 L1460 282 L1500 283 L1540 284 L1580 283 L1620 281'/%3E%3Cpath d='M-20 334 L20 327 L60 320 L100 315 L140 312 L180 311 L220 314 L260 319 L300 325 L340 331 L380 337 L420 342 L460 345 L500 346 L540 346 L580 346 L620 346 L660 348 L700 351 L740 355 L780 360 L820 365 L860 369 L900 371 L940 371 L980 367 L1020 362 L1060 354 L1100 346 L1140 338 L1180 332 L1220 328 L1260 326 L1300 326 L1340 327 L1380 329 L1420 330 L1460 329 L1500 328 L1540 326 L1580 323 L1620 320'/%3E%3Cpath d='M-20 362 L20 358 L60 357 L100 359 L140 363 L180 369 L220 376 L260 382 L300 387 L340 391 L380 392 L420 393 L460 393 L500 393 L540 394 L580 396 L620 400 L660 405 L700 410 L740 414 L780 417 L820 417 L860 414 L900 409 L940 402 L980 394 L1020 386 L1060 379 L1100 374 L1140 372 L1180 371 L1220 372 L1260 374 L1300 375 L1340 375 L1380 375 L1420 373 L1460 370 L1500 367 L1540 366 L1580 367 L1620 369'/%3E%3Cpath d='M-20 404 L20 408 L60 414 L100 420 L140 427 L180 433 L220 437 L260 439 L300 440 L340 439 L380 439 L420 440 L460 442 L500 445 L540 449 L580 454 L620 459 L660 462 L700 463 L740 461 L780 456 L820 449 L860 442 L900 433 L940 426 L980 421 L1020 418 L1060 417 L1100 417 L1140 419 L1180 420 L1220 421 L1260 421 L1300 419 L1340 417 L1380 415 L1420 413 L1460 413 L1500 415 L1540 420 L1580 426 L1620 434'/%3E%3Cpath d='M-20 465 L20 472 L60 478 L100 482 L140 485 L180 486 L220 486 L260 486 L300 486 L340 487 L380 490 L420 494 L460 499 L500 504 L540 507 L580 508 L620 507 L660 503 L700 497 L740 489 L780 481 L820 473 L860 467 L900 464 L940 462 L980 462 L1020 464 L1060 466 L1100 467 L1140 467 L1180 466 L1220 464 L1260 462 L1300 460 L1340 459 L1380 461 L1420 465 L1460 471 L1500 479 L1540 487 L1580 495 L1620 501'/%3E%3Cpath d='M-20 528 L20 531 L60 533 L100 533 L140 533 L180 533 L220 533 L260 536 L300 539 L340 544 L380 548 L420 552 L460 554 L500 553 L540 550 L580 544 L620 537 L660 529 L700 521 L740 514 L780 510 L820 508 L860 507 L900 509 L940 511 L980 512 L1020 513 L1060 513 L1100 511 L1140 509 L1180 507 L1220 506 L1260 507 L1300 510 L1340 516 L1380 523 L1420 531 L1460 539 L1500 546 L1540 551 L1580 553 L1620 553'/%3E%3Cpath d='M-20 580 L20 580 L60 579 L100 580 L140 581 L180 584 L220 588 L260 593 L300 597 L340 599 L380 599 L420 597 L460 592 L500 585 L540 576 L580 568 L620 561 L660 556 L700 553 L740 553 L780 554 L820 556 L860 558 L900 559 L940 559 L980 558 L1020 556 L1060 554 L1100 552 L1140 553 L1180 556 L1220 560 L1260 567 L1300 576 L1340 584 L1380 591 L1420 596 L1460 599 L1500 599 L1540 597 L1580 593 L1620 589'/%3E%3Cpath d='M-20 626 L20 627 L60 630 L100 633 L140 638 L180 642 L220 645 L260 645 L300 643 L340 639 L380 632 L420 624 L460 616 L500 608 L540 603 L580 599 L620 598 L660 599 L700 601 L740 603 L780 604 L820 605 L860 604 L900 603 L940 601 L980 599 L1020 599 L1060 601 L1100 606 L1140 612 L1180 620 L1220 628 L1260 636 L1300 642 L1340 645 L1380 646 L1420 644 L1460 641 L1500 636 L1540 632 L1580 628 L1620 626'/%3E%3C/g%3E%3C/svg%3E");
  --check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html { font-size: 100%; }
html[data-text="large"] { font-size: 115%; }
html[data-text="larger"] { font-size: 132%; }
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: "Source Sans 3", -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 1.25rem;
  line-height: 1.6;
  color: var(--ink);
  background: var(--bg);
}
svg { display: block; }
.sprite { position: absolute; }
a { color: var(--green); }
.wrap { max-width: 1120px; margin: 0 auto; padding: 0 20px; }
:focus-visible { outline: 3px solid var(--wheat); outline-offset: 3px; }
.skip { position: absolute; left: -9999px; top: 0; z-index: 50; background: #fff; padding: 12px 16px; }
.skip:focus { left: 12px; top: 12px; }
h1, h2, h3 { line-height: 1.15; letter-spacing: -.01em; }
h1 { font-size: 3.2rem; line-height: 1.08; margin: 0 0 20px; letter-spacing: -.02em; }
h2 { font-size: 2.3rem; margin: 0 0 20px; }
h3 { font-size: 1.5rem; margin: 0 0 8px; }

/* Text size */
.textbar { background: var(--green-dark); color: #fff; font-size: 1rem; }
.textbar .wrap { display: flex; justify-content: flex-end; align-items: center; gap: 10px; min-height: 48px; }
.textbar button {
  font: inherit; font-weight: 700; color: #fff; background: transparent;
  border: 2px solid rgba(255,255,255,.5); border-radius: 8px; min-width: 48px; height: 40px; cursor: pointer;
}
.textbar button[aria-pressed="true"] { background: #fff; color: var(--green-dark); border-color: #fff; }
.textbar .s1 { font-size: 1rem; } .textbar .s2 { font-size: 1.2rem; } .textbar .s3 { font-size: 1.4rem; }

/* Header */
header.site { background: #fff; border-bottom: 1px solid var(--line); }
header.site .wrap { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 28px; min-height: 84px; padding-top: 10px; padding-bottom: 10px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); margin-right: auto; }
.brand-mark { width: 52px; height: 52px; border-radius: 12px; background: var(--green); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 1.2rem; }
.brand-text { display: flex; flex-direction: column; }
.brand-name { font-weight: 800; font-size: 1.5rem; line-height: 1.1; }
.brand-name em { font-style: normal; }
.brand-sub { font-size: 1rem; color: var(--muted); }
.nav { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.nav a { color: var(--ink); text-decoration: none; font-weight: 600; font-size: 1.1rem; padding: 8px 0; border-bottom: 3px solid transparent; }
.nav a:hover { border-bottom-color: var(--wheat); }
.nav a[aria-current="page"] { color: var(--green); border-bottom-color: var(--green); }
.btn-call {
  display: inline-flex; align-items: center; gap: 10px; background: var(--green); color: #fff; text-decoration: none;
  font-weight: 700; font-size: 1.25rem; padding: 12px 22px; border-radius: 12px; min-height: 56px; white-space: nowrap;
}
.btn-call:hover { background: var(--green-dark); }
.btn-call svg { width: 24px; height: 24px; }

/* Home hero */
.hero { background: var(--bg-alt); padding: 64px 0 72px; border-bottom: 1px solid var(--line); }
.hero-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; }
.eyebrow { display: inline-block; font-weight: 700; color: var(--green); background: var(--green-soft); padding: 4px 14px; border-radius: 999px; font-size: 1rem; margin: 0 0 18px; }
.lead { font-size: 1.4rem; color: var(--muted); margin: 0 0 32px; max-width: 36ch; }
.big-call {
  display: inline-flex; flex-direction: column; text-decoration: none; background: var(--green); color: #fff;
  border-radius: var(--radius); padding: 18px 30px; box-shadow: 0 6px 0 var(--green-dark);
}
.big-call:hover { background: var(--green-dark); }
.big-call small { font-size: 1.05rem; opacity: .9; }
.big-call strong { font-size: 2.2rem; line-height: 1.15; white-space: nowrap; }
.hero-note { margin: 28px 0 0; font-size: 1.1rem; color: var(--muted); }

/* Inner page hero */
.page-hero { background: var(--bg-alt); border-bottom: 1px solid var(--line); padding: 56px 0 60px; }
.page-hero h1 { font-size: 2.9rem; }
.page-hero .lead { max-width: 44ch; }
.page-hero .lead:last-child { margin-bottom: 0; }

/* Sections */
.section { padding: 72px 0; }
.section.alt { background: var(--bg-alt); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.section-lead { color: var(--muted); font-size: 1.3rem; margin: -8px 0 40px; max-width: 46ch; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.prose { max-width: 62ch; }
.prose p { margin: 0 0 18px; }

/* Equipment cards (home) */
.equip { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.equip-item { border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; background: #fff; display: flex; flex-direction: column; }
.equip-icon { height: 110px; background: var(--green-soft); color: var(--green); border-radius: 10px; display: grid; place-items: center; margin-bottom: 20px; }
.equip-icon svg { width: 140px; height: 90px; }
.equip-body h3 { font-size: 1.6rem; }
.equip-body p { margin: 0 0 16px; color: var(--muted); }
.equip-link { margin-top: auto; font-weight: 700; text-decoration: none; font-size: 1.15rem; }
.equip-link:hover { text-decoration: underline; }
.more { margin: 28px 0 0; font-weight: 700; font-size: 1.25rem; }

/* Steps */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; list-style: none; padding: 0; margin: 0; counter-reset: s; }
.steps li { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; counter-increment: s; }
.steps li::before { content: counter(s); display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--wheat); font-weight: 800; font-size: 1.5rem; margin-bottom: 14px; }
.steps p { margin: 0; color: var(--muted); }

/* Facts */
.facts { margin: 0; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.facts div { display: flex; justify-content: space-between; gap: 16px; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.facts div:last-child { border-bottom: 0; }
.facts dt { font-weight: 700; }
.facts dd { margin: 0; color: var(--muted); text-align: right; }

/* Cards (services, about) */
.cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.card { background: #fff; border: 1px solid var(--line); border-top: 6px solid var(--green); border-radius: var(--radius); padding: 28px; }
.card p { margin: 0 0 12px; color: var(--muted); }
.card a { font-weight: 700; }

/* Checklists */
.checks { list-style: none; padding: 0; margin: 0 0 28px; }
.checks li { position: relative; padding-left: 2.1em; margin-bottom: 10px; }
.checks li::before { content: ""; position: absolute; left: 0; top: .15em; width: 1.35em; height: 1.35em; border-radius: 50%; background: var(--green) var(--check) center / 65% no-repeat; }
.towns { font-size: 1.35rem; font-weight: 600; }

/* Rentals */
.jump { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.jump a { padding: 10px 18px; border: 2px solid var(--green); border-radius: 999px; text-decoration: none; font-weight: 700; background: #fff; }
.jump a:hover { background: var(--green); color: #fff; }
.detail { display: grid; grid-template-columns: 300px 1fr; gap: 48px; align-items: start; }
.detail-icon { background: var(--green-soft); color: var(--green); border-radius: var(--radius); padding: 36px 28px; }
.section.alt .detail-icon { background: #fff; border: 1px solid var(--line); }
.detail-icon svg { width: 100%; height: auto; }
.detail p { max-width: 60ch; margin: 0 0 20px; }
.detail h3 { font-size: 1.3rem; margin-bottom: 14px; }
.btn {
  display: inline-flex; align-items: center; gap: 10px; background: var(--green); color: #fff; text-decoration: none;
  font-weight: 700; padding: 12px 22px; border-radius: 12px; min-height: 56px;
}
.btn:hover { background: var(--green-dark); }
.btn svg { width: 22px; height: 22px; }
.faq { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 28px; }
.qa { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px 28px; }
.qa h3 { font-size: 1.35rem; }
.qa p { margin: 0; color: var(--muted); }

/* Contact */
.callbox { background: var(--green-soft); border-radius: var(--radius); padding: 32px; }
.callbox p { margin: 0 0 16px; font-size: 1.3rem; }
.callbox .hero-note { margin: 28px 0 0; font-size: 1.1rem; }
.call-pair { display: flex; flex-wrap: wrap; gap: 20px; }
.big-call.alt { background: #fff; color: var(--green-dark); box-shadow: 0 6px 0 var(--green); border: 2px solid var(--green); }
.big-call.alt:hover { background: var(--green-soft); }
.hero-note a { font-weight: 700; white-space: nowrap; }

/* CTA band */
.cta { background: var(--green); color: #fff; text-align: center; padding: 72px 0; }
.cta h2 { color: #fff; }
.cta p { font-size: 1.35rem; opacity: .92; margin: 0 0 28px; }
.cta-call {
  display: inline-flex; align-items: center; gap: 14px; background: #fff; color: var(--green-dark); text-decoration: none;
  font-weight: 800; font-size: 2.4rem; padding: 14px 36px; border-radius: var(--radius); box-shadow: 0 6px 0 rgba(0,0,0,.25); white-space: nowrap;
}
.cta-call svg { width: 32px; height: 32px; }
.cta .cta-alt { margin: 28px 0 0; font-size: 1.25rem; }
.cta-alt a { color: #fff; font-weight: 800; white-space: nowrap; }

/* Text-a-friend strip */
.share { background: var(--green-soft); border-top: 1px solid var(--line); padding: 32px 0; }
.share .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; }
.share p { margin: 0; font-size: 1.25rem; }
.share-links { display: flex; flex-wrap: wrap; gap: 12px 16px; }
.share-links a {
  display: inline-flex; align-items: center; gap: 10px; min-height: 56px; padding: 12px 22px; border-radius: 12px;
  font-weight: 700; text-decoration: none; border: 2px solid var(--green);
}
.share-links svg { width: 24px; height: 24px; }
.share-text { background: var(--green); color: #fff; }
.share-text:hover { background: var(--green-dark); border-color: var(--green-dark); }
.share-mail { background: #fff; color: var(--green-dark); }
.share-mail:hover { background: var(--bg-alt); }
@media (max-width: 640px) {
  .share-links, .share-links a { width: 100%; }
  .share-links a { justify-content: center; }
}

/* Footer */
.site-foot { background: var(--ink); color: #cfd5d0; padding: 52px 0 28px; font-size: 1.05rem; }
.foot-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; }
.site-foot p { margin: 0 0 10px; }
.site-foot ul { list-style: none; padding: 0; margin: 0; }
.site-foot li { margin-bottom: 10px; }
.site-foot ul a { text-decoration: none; }
.site-foot ul a:hover { text-decoration: underline; }
.site-foot a { color: #fff; }
.foot-name { color: #fff; font-weight: 800; font-size: 1.15rem; line-height: 1.3; margin-bottom: 14px !important; }
.foot-phone { display: inline-block; font-size: 1.6rem; font-weight: 800; text-decoration: none; margin-bottom: 8px; }
.foot-cell a { font-weight: 700; }
.foot-copy { margin-top: 32px; padding-top: 20px; border-top: 1px solid #3a3f3b; font-size: .95rem; }

.mobile-call { display: none; }

/* ---------- Design pass 2: listing-style details ---------- */
.hero, .page-hero { background: var(--bg-alt) var(--contour) center / cover no-repeat; }
.cta { background: var(--green) var(--contour-light) center / cover no-repeat; }

/* Breadcrumbs */
.crumbs ol { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: 1rem; color: var(--muted); }
.crumbs li + li::before { content: "/"; margin-right: 6px; color: #9aa39c; }
.crumbs a { font-weight: 600; }

/* Browse panel in the home hero */
.hero-panel { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 22px; box-shadow: var(--shadow); }
.panel-title { margin: 0 0 8px; padding: 0 8px; font-size: .95rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.hero-panel ul { list-style: none; margin: 0; padding: 0; }
.hero-panel li + li { border-top: 1px solid var(--line); }
.hero-panel li a { display: grid; grid-template-columns: 60px 1fr 22px; align-items: center; gap: 14px; padding: 8px; border-radius: 10px; color: var(--ink); text-decoration: none; font-weight: 700; font-size: 1.2rem; }
.hero-panel li a:hover { background: var(--green-soft); }
.hero-panel li a svg { width: 60px; height: 40px; color: var(--green); }
.hero-panel li a svg:last-child { width: 22px; height: 22px; opacity: .6; }
.hero-panel li a:hover svg:last-child { opacity: 1; }
.panel-all { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; min-height: 52px; border-radius: 10px; background: var(--green-soft); font-weight: 700; text-decoration: none; }
.panel-all svg { width: 20px; height: 20px; }

/* Trust strip */
.values { background: #fff; border-bottom: 1px solid var(--line); }
.values ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.values li { display: flex; gap: 14px; align-items: flex-start; padding: 28px 22px; border-left: 1px solid var(--line); }
.values li:first-child { border-left: 0; padding-left: 0; }
.values svg { flex: none; width: 46px; height: 46px; padding: 11px; border-radius: 50%; background: var(--green-soft); color: var(--green); }
.values b { display: block; font-size: 1.15rem; line-height: 1.3; }
.values span { display: block; margin-top: 2px; font-size: 1rem; line-height: 1.4; color: var(--muted); }

/* Listing cards */
.equip-item { padding: 0; overflow: hidden; transition: box-shadow .2s, transform .2s, border-color .2s; }
.equip-item:hover { box-shadow: var(--shadow); transform: translateY(-2px); border-color: #c5cfc8; }
.equip-icon { height: 156px; margin: 0; border-radius: 0; border-bottom: 1px solid var(--line); background: var(--green-soft) var(--contour) center / cover no-repeat; }
.equip-icon svg { width: 176px; height: 117px; }
.equip-body { padding: 22px 24px 0; }
.equip-tag { margin: 0 0 4px; font-size: .85rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--green); }
.equip-body h3 { margin-bottom: 6px; }
.equip-body > p { margin: 0 0 18px; }
.equip-meta { margin: 0 0 22px; border-top: 1px solid var(--line); font-size: 1rem; }
.equip-meta div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.equip-meta dt { color: var(--muted); }
.equip-meta dd { margin: 0; font-weight: 600; text-align: right; }
.equip-actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: 10px; padding: 0 24px 24px; }
.equip-link, .equip-call { flex: 1 1 8em; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 8px 12px; border-radius: 10px; font-weight: 700; font-size: 1.05rem; text-decoration: none; }
.equip-link { margin: 0; border: 2px solid var(--green); color: var(--green); }
.equip-link:hover { background: var(--green-soft); text-decoration: none; }
.equip-call { background: var(--green); color: #fff; }
.equip-call:hover { background: var(--green-dark); }
.equip-call svg { width: 18px; height: 18px; }

/* Rentals: details + rates box */
.detail { grid-template-columns: 220px 1fr 300px; gap: 40px; }
.detail-icon { background: var(--green-soft) var(--contour) center / cover no-repeat; }
.detail-main h2 { margin-bottom: 14px; }
.specs { margin: 0 0 26px; border-top: 1px solid var(--line); max-width: 60ch; }
.specs div { display: grid; grid-template-columns: 9em 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.specs dt { color: var(--muted); }
.specs dd { margin: 0; font-weight: 600; }
.rate-box { background: #fff; border: 1px solid var(--line); border-top: 5px solid var(--green); border-radius: var(--radius); padding: 22px 24px 24px; box-shadow: var(--shadow); }
.rate-title { margin: 0 0 6px; font-size: .95rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.rates { margin: 0; }
.rates div { display: flex; justify-content: space-between; padding: 11px 0; border-bottom: 1px dashed var(--line); }
.rates dt { font-weight: 600; }
.rates dd { margin: 0; font-weight: 800; color: var(--green); }
.rate-box .btn { width: 100%; justify-content: center; margin-top: 20px; }
.rate-note { margin: 12px 0 0; font-size: .95rem; line-height: 1.45; color: var(--muted); }

/* Icon badges on cards */
.card-icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 16px; border-radius: 14px; background: var(--green-soft); color: var(--green); }
.card-icon svg { width: 30px; height: 30px; }


@media (min-width: 1101px) {
  header.site { position: sticky; top: 0; z-index: 10; }
  html { scroll-padding-top: 110px; }
}
@media (max-width: 1100px) {
  .nav { order: 3; flex-basis: 100%; border-top: 1px solid var(--line); padding-top: 4px; }
}
@media (max-width: 900px) {
  .hero-grid, .two-col, .detail, .faq { grid-template-columns: 1fr; }
  .equip, .steps { grid-template-columns: 1fr 1fr; }
  .detail-icon { max-width: 300px; }
  .foot-grid { grid-template-columns: 1fr 1fr; }
  h1 { font-size: 2.6rem; }
  .page-hero h1 { font-size: 2.4rem; }
}
@media (max-width: 640px) {
  .wrap { padding: 0 16px; }
  .equip, .steps, .cards, .foot-grid { grid-template-columns: 1fr; }
  .textbar .wrap { justify-content: space-between; }
  header.site .btn-call { display: none; }
  .nav { gap: 8px; border-top: 0; padding-top: 0; }
  .nav a { flex: 1 1 30%; text-align: center; border: 2px solid var(--line); border-radius: 10px; padding: 8px 6px; }
  .nav a[aria-current="page"] { background: var(--green); border-color: var(--green); color: #fff; }
  .hero { padding: 40px 0 48px; }
  .page-hero { padding: 36px 0 40px; }
  h1, .page-hero h1 { font-size: 2.2rem; }
  h2 { font-size: 1.9rem; }
  .section, .cta { padding: 52px 0; }
  .big-call { width: 100%; text-align: center; }
  .big-call strong { font-size: min(1.9rem, 9vw); }
  .cta-call { font-size: min(1.8rem, 8.5vw); padding: 14px 20px; }
  .cta-call svg { width: 26px; height: 26px; }
  .facts div { flex-direction: column; gap: 0; }
  .facts dd { text-align: left; }
  .mobile-call {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; align-items: center; justify-content: center; gap: 10px;
    background: var(--green); color: #fff; text-decoration: none; font-weight: 800; font-size: 1.35rem; min-height: 64px;
    box-shadow: 0 -4px 14px rgba(0,0,0,.18);
  }
  .mobile-call svg { width: 26px; height: 26px; }
  body { padding-bottom: 64px; }
}

/* Design pass 2: responsive */
@media (min-width: 1101px) {
  .rate-box { position: sticky; top: 130px; }
}
@media (max-width: 1100px) {
  .detail { grid-template-columns: 200px 1fr; }
  .rate-box { grid-column: 2; max-width: 420px; }
  .values ul { grid-template-columns: 1fr 1fr; }
  .values li:nth-child(odd) { border-left: 0; padding-left: 0; }
  .values li:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 900px) {
  .detail { grid-template-columns: 1fr; }
  .detail-icon { max-width: 260px; }
  .rate-box { grid-column: auto; }
  .hero-panel { max-width: 560px; }
}
@media (max-width: 640px) {
  .values ul { grid-template-columns: 1fr; }
  .values li { border-left: 0; padding: 18px 0; }
  .values li + li { border-top: 1px solid var(--line); }
  .hero-panel { padding: 14px; }
  .hero-panel li a { grid-template-columns: 52px 1fr 20px; font-size: 1.1rem; }
  .hero-panel li a svg { width: 52px; height: 35px; }
  .equip-icon { height: 130px; }
  .specs div { grid-template-columns: 1fr; gap: 0; }
}

/* Inventory ("b") colors and touches */
:root {
  --inv-accent: var(--green); --inv-accent-strong: var(--green); --inv-accent-ink: #fff;
  --inv-ink: var(--ink); --inv-muted: var(--muted); --inv-line: var(--line); --inv-card: #fff;
  --inv-soft: var(--green-soft); --inv-media: var(--green-soft) var(--contour) center / cover no-repeat;
  --inv-icon: var(--green); --inv-radius: 14px; --inv-radius-sm: 10px;
}
.hero-b h1 { max-width: 18ch; }

/* ---------- Real fleet: photos and machine cards ---------- */
.equip-photo { aspect-ratio: 16 / 10; overflow: hidden; border-bottom: 1px solid var(--line); background: var(--green-soft); }
.equip-photo img, .unit img { display: block; width: 100%; height: 100%; object-fit: cover; }

.fleet { scroll-margin-top: 24px; margin-top: 48px; padding-top: 36px; border-top: 1px solid var(--line); }
.fleet h3 { font-size: 1.6rem; margin: 0 0 20px; }
.units { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.unit { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.unit img { aspect-ratio: 4 / 3; height: auto; background: var(--green-soft); }
.unit-body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; }
.unit h4 { font-size: 1.3rem; line-height: 1.2; margin: 0 0 12px; }
.unit-specs { margin: 0 0 14px; font-size: 1.05rem; }
.unit-specs div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--line); }
.unit-specs dt { color: var(--muted); }
.unit-specs dd { margin: 0; font-weight: 700; text-align: right; }
.unit-note { margin: 0 0 14px; font-size: 1.05rem; color: var(--muted); }
.unit-call {
  margin-top: auto; display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px;
  background: var(--green); color: #fff; text-decoration: none; font-weight: 700; border-radius: 12px; padding: 12px 18px;
}
.unit-call:hover { background: var(--green-dark); }
.unit-call svg { width: 22px; height: 22px; }
.spec-note { margin: 20px 0 0; font-size: 1rem; color: var(--muted); max-width: 70ch; }

@media (max-width: 900px) { .units { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .units { grid-template-columns: 1fr; } }
