/* Chitty Hub public site — Doodle Notebook tokens.
   Mirrors web/app/globals.css (@theme) so the marketing site and the app read
   as one family. Static CSS on purpose: this site hosts the canonical privacy
   policy URL and must outlive framework churn. */

:root {
  --ink: #34332d;
  --muted: #55534a; /* ~7:1 on paper (AA) */
  --line: #e7ddc6;
  --paper: #faf6ec;
  --marigold: #f5ab3d;
  --marigold-deep: #e8930c;
  --leaf: #467a40;
  --card: #fbf8f0;
  --sketch: #4a4a42;
  --tint-orange: #fbe3bc;
  --tint-green: #ddebd6;
  --tint-blue: #e1e1f8;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

.font-display {
  font-family: "Patrick Hand", "Fredoka", system-ui, sans-serif;
  letter-spacing: 0;
}

/* Hand-drawn wobbly cards — uneven per-corner radii, dark sketch borders. */
.wobbly {
  border: 2px solid var(--sketch);
  border-radius: 22px 26px 23px 27px / 26px 22px 27px 23px;
}
.wobbly-sm {
  border: 2px solid var(--sketch);
  border-radius: 15px 17px 15px 18px / 17px 15px 18px 15px;
}

.offset-shadow {
  box-shadow: 3px 5px 0 rgba(74, 74, 66, 0.4);
}

.dash-underline {
  border-bottom: 2.5px dashed #6f9a5c;
  padding-bottom: 2px;
}

a {
  color: var(--marigold-deep);
  text-decoration: underline;
  text-decoration-color: rgba(232, 147, 12, 0.4);
  text-underline-offset: 3px;
  transition: color 0.2s;
}
a:hover {
  color: var(--ink);
}

:focus-visible {
  outline: 2px solid var(--marigold);
  outline-offset: 2px;
}

.wrap {
  max-width: 40rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}

/* Brand bar */
.brand-bar {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-top: 1.75rem;
}
.brand-bar .wordmark {
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--ink);
  text-decoration: none;
}
.brand-bar .wordmark .dot {
  color: var(--marigold-deep);
}
.brand-bar .crumb {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--muted);
}

/* Warm glow behind the header — atmosphere, not chrome. */
.glow {
  position: absolute;
  inset: 0 0 auto 0;
  height: 20rem;
  pointer-events: none;
  background: radial-gradient(
    60% 100% at 50% 0%,
    rgba(245, 171, 61, 0.14),
    rgba(250, 246, 236, 0) 70%
  );
}

.page {
  position: relative;
  min-height: 100vh;
  overflow-x: hidden;
}

/* Footer */
.site-footer {
  border-top: 1px solid var(--line);
  margin-top: 4.5rem;
  padding: 1.75rem 0 3rem;
  font-size: 0.85rem;
  color: var(--muted);
}
.site-footer p + p {
  margin-top: 0.35rem;
}

/* Icons */
.icon {
  width: 1.35rem;
  height: 1.35rem;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
