/* Gears Working. Change the colors here. */
:root {
  --bg: #ffc43d;
  --ink: #1d1d1b;
  --muted: #4a3d1c;
  --cream: #fff4d6;
  --coral: #ff6b4a;
  --teal: #2a9d8f;
  --red: #d64033;
  --steel: #b8c0c8;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 30% 40%, #ffd66e, transparent 55%),
    var(--bg);
  color: var(--ink);
  font: 18px/1.6 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--ink); font-weight: 700; }
:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; border-radius: 6px; }

.wrap {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 5vw, 72px);
  align-items: center;
  width: min(1100px, 100% - 40px);
  margin: 0 auto;
  padding: 40px 0;
}

.machine { width: 100%; height: auto; overflow: visible; }
.gear { animation: turn var(--t) linear infinite; animation-direction: var(--dir); transform-box: view-box; transform-origin: 0 0; }
.gear path { stroke: var(--ink); stroke-width: 4; stroke-linejoin: round; }
.g-a path { fill: var(--cream); }
.g-b path { fill: var(--coral); }
.g-c path { fill: var(--teal); }
.gear .hole { fill: var(--bg); stroke: var(--ink); stroke-width: 3; }
.gear .hub { fill: var(--ink); }

.toolbox * { stroke: var(--ink); stroke-width: 4; stroke-linejoin: round; stroke-linecap: round; }
.lid { fill: #b8352a; }
.handle { fill: none; }
.box { fill: var(--red); }
.stripe { fill: #b8352a; stroke: none; }
.latch { fill: var(--steel); }
.screwdriver-handle { fill: var(--teal); }
.screwdriver-shaft { fill: none; stroke: var(--steel) !important; stroke-width: 6 !important; }
.wrench { fill: none; stroke: var(--steel) !important; stroke-width: 10 !important; }
.tools { animation: jiggle 2.8s ease-in-out infinite; transform-origin: 230px 360px; }
.shadow { fill: rgb(29 29 27 / 0.15); }

.tag { display: inline-block; margin: 0 0 16px; padding: 4px 14px; border: 3px solid var(--ink); border-radius: 999px; background: var(--cream); font-weight: 800; font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase; box-shadow: 3px 3px 0 var(--ink); }
h1 { margin: 0 0 16px; font-size: clamp(2.4rem, 5.5vw, 4rem); font-weight: 900; line-height: 1.02; letter-spacing: -0.035em; }
.lead { margin: 0 0 26px; color: var(--muted); font-size: 1.1rem; }

.eta { margin: 0 0 24px; padding: 6px 20px; border: 3px solid var(--ink); border-radius: 16px; background: var(--cream); box-shadow: 6px 6px 0 var(--ink); }
.eta div { padding: 12px 0; }
.eta div + div { border-top: 2px dashed rgb(29 29 27 / 0.25); }
.eta dt { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.eta dt svg { width: 16px; height: 16px; }
.eta dd { margin: 2px 0 0; font-size: 1.15rem; font-weight: 800; }

.contact { margin: 0; color: var(--muted); }
.contact a { display: inline-flex; align-items: center; gap: 6px; }
.contact svg { width: 18px; height: 18px; }

.foot { padding: 0 16px 28px; color: var(--muted); font-size: 0.85rem; text-align: center; }

@media (max-width: 820px) {
  .wrap { grid-template-columns: 1fr; text-align: center; }
  .machine { max-width: 380px; margin: 0 auto; }
  .eta { text-align: left; }
}

@keyframes turn { to { transform: rotate(360deg); } }
@keyframes jiggle { 0%, 80%, 100% { transform: rotate(0); } 85% { transform: rotate(-2deg); } 90% { transform: rotate(2deg); } }

/* Reduced motion: the gears stand still. */
@media (prefers-reduced-motion: reduce) {
  .gear, .tools { animation: none; }
}
