:root {
  --color-background-primary: #f6f0e3;
  --color-background-secondary: #fffaf0;
  --color-background-alternative: #163d32;
  --color-text-primary: #25241f;
  --color-text-secondary: #5c5a50;
  --color-text-alternative: #fffaf0;
  --color-border-primary: #9da792;
  --color-brand-primary: #c84618;
  --color-brand-primary-hover: #a93610;
  --color-brand-secondary: #275849;
  --color-brand-tertiary: #f0c84b;
  --color-focus: #0f6d5b;
  --color-error: #9c2f1b;
  --color-success: #256944;
  --font-heading: 'Roboto Condensed', 'Arial Narrow', sans-serif;
  --font-body: 'Atkinson Hyperlegible', Arial, sans-serif;
  --font-accent: 'Atkinson Hyperlegible', Arial, sans-serif;
  --radius-card: 4px;
  --radius-button: 3px;
  --radius-pill: 999px;
  --shadow-card: 6px 6px 0 rgba(22, 61, 50, 0.18);
  --shadow-action: 4px 4px 0 #163d32;
  --space-section-desktop: 4.5rem;
  --space-section-mobile: 3rem;
  --container-max: 1180px;
  --duration-reveal: 160ms;
  --motion-level: 1;
}

html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body { margin: 0; }
* { box-sizing: border-box; }
::selection { background: var(--color-brand-tertiary); color: var(--color-background-alternative); }
:focus-visible { outline: 3px solid var(--color-background-secondary); outline-offset: 2px; box-shadow: 0 0 0 6px var(--color-text-primary); }
.section-pad { padding-top: var(--space-section-desktop); padding-bottom: var(--space-section-desktop); }
.utility-grid {
  background-image: linear-gradient(var(--color-border-primary) 1px, transparent 1px), linear-gradient(90deg, var(--color-border-primary) 1px, transparent 1px);
  background-size: 32px 32px;
}
.street-grid {
  background-image: repeating-linear-gradient(18deg, transparent 0 22px, rgba(255,250,240,.12) 23px 25px), repeating-linear-gradient(102deg, transparent 0 46px, rgba(240,200,75,.16) 47px 49px);
}
.service-note { transform: rotate(-1.2deg); }
.truck-line { stroke: currentColor; fill: none; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.button-lift { box-shadow: var(--shadow-action); transition: transform var(--duration-reveal) ease, box-shadow var(--duration-reveal) ease, background-color var(--duration-reveal) ease; }
.button-lift:hover { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--color-background-alternative); }
.faq-row summary::-webkit-details-marker { display: none; }
.faq-row[open] summary .faq-plus { transform: rotate(45deg); }
.faq-plus { transition: transform var(--duration-reveal) ease; }
.portrait-hatch { background: repeating-linear-gradient(135deg, var(--color-brand-secondary) 0 10px, var(--color-background-alternative) 10px 20px); }
.mobile-call { display: none; }
@media (max-width: 767px) {
  .section-pad { padding-top: var(--space-section-mobile); padding-bottom: var(--space-section-mobile); }
  .mobile-call { display: flex; }
  body { padding-bottom: 72px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
