/* The shop front. Same paper and type as the story page so they read as one
   company, laid out as a grid of tools rather than a wall of prose. */

.tools {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 18px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 20px clamp(16px, 5vw, 60px);
}
.tool {
  background: var(--card);
  border-radius: 26px;
  padding: 26px;
  box-shadow: 0 16px 40px rgba(36, 29, 22, 0.06);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.tool h3 { margin: 0; font-size: 22px; font-weight: 900; }
.tool p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--soft); }
.tool a { margin-top: auto; padding-top: 10px; font-size: 14px; font-weight: 800; color: var(--accent-2); }

.tag {
  align-self: flex-start;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 5px 11px;
  border-radius: 999px;
}
.live .tag { background: color-mix(in srgb, var(--accent-2) 16%, var(--card)); color: var(--accent-2); }
.soon .tag { background: color-mix(in srgb, var(--accent) 14%, var(--card)); color: var(--accent); }
/* what is not built yet says so, rather than being dressed as if it were */
.soon { opacity: 0.92; border: 1px dashed var(--line); box-shadow: none; }

.why {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  max-width: 1180px;
  margin: 30px auto;
  padding: 0 clamp(16px, 5vw, 60px);
  text-align: center;
}
.why .big { margin: 0; font-size: clamp(38px, 6vw, 62px); font-weight: 900; letter-spacing: -0.03em; color: var(--accent-2); }
.why p:last-child { margin: 4px 0 0; font-size: 14px; color: var(--soft); }

.price { max-width: 760px; margin: 0 auto; padding: clamp(40px, 7vw, 80px) clamp(20px, 6vw, 40px) 90px; }
.price h2 { margin: 0 0 14px; font-size: clamp(24px, 3.4vw, 38px); font-weight: 900; letter-spacing: -0.015em; }
.price p { margin: 0 0 14px; font-size: 17px; line-height: 1.65; color: var(--soft); }
.price b { color: var(--ink); }
