/* redesign.css
   Loads after palette.css and main.css. Site-wide chrome refinements for the October 2026 pass.
   Keeps the existing palette and fonts. Removes decoration that reads as templated.
   New neutrals (cream) are tints of the existing paper, not new brand colors. */

:root {
  --c-cream: color-mix(in srgb, var(--c-paper-warm, #FBFAF6) 45%, #F1E9DA);
  --c-cream-deep: color-mix(in srgb, var(--c-paper-warm, #FBFAF6) 30%, #E6DCC8);
  --sh-paper: 0 1px 2px color-mix(in srgb, var(--c-blue-900) 6%, transparent), 0 14px 36px -16px color-mix(in srgb, var(--c-blue-900) 28%, transparent);
  --sh-book: 0 2px 3px color-mix(in srgb, var(--c-blue-900) 14%, transparent), 0 28px 44px -20px color-mix(in srgb, var(--c-blue-900) 48%, transparent);
  --sh-lift: 0 10px 28px -14px color-mix(in srgb, var(--c-blue-900) 35%, transparent);
  --r-sm: 4px;
  --measure: 62ch;
}

html { scroll-padding-top: 90px; }
body { font-size: 17px; line-height: 1.6; color: var(--c-ink); }

/* Type scale */
h1, h2, h3, .display { font-family: var(--font-display); font-weight: 600; letter-spacing: -0.018em; color: var(--c-ink); }
h1 { font-size: clamp(2.6rem, 5.6vw, 4.4rem); line-height: 1.02; text-wrap: balance; }
h2 { font-size: clamp(1.9rem, 3.4vw, 2.85rem); line-height: 1.08; text-wrap: balance; }
h3 { font-size: clamp(1.3rem, 1.8vw, 1.55rem); line-height: 1.2; }
p { max-width: var(--measure); }
.lede { font-size: clamp(1.1rem, 1.5vw, 1.25rem); line-height: 1.55; color: var(--c-ink-2); }
.muted { color: var(--c-muted); }
.small { font-size: 0.9rem; }

/* Text links replace outline buttons for secondary actions */
.textlink {
  color: var(--c-blue-800);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--c-blue-700) 35%, transparent);
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  transition: text-decoration-color var(--t-base), color var(--t-base);
}
.textlink:hover { color: var(--c-blue-900); text-decoration-color: var(--c-warm); }
.section--dark .textlink, .on-dark .textlink { color: var(--c-paper); text-decoration-color: rgba(248, 250, 252, 0.4); }
.section--dark .textlink:hover, .on-dark .textlink:hover { text-decoration-color: var(--c-warm); color: #fff; }

/* Buttons: no arrows, no lift, a plain darken on hover */
.btn { border-radius: 6px; gap: 0; font-size: 15.5px; letter-spacing: 0; }
.btn svg { display: none; }
.btn--primary:hover { transform: none; box-shadow: none; background: var(--c-blue-900); }
.btn--lg { font-size: 16.5px; padding: 17px 30px; }
.nav-cta { border-radius: 6px; gap: 0; }
.nav-cta svg { display: none; }
.nav-cta:hover { transform: none; box-shadow: none; background: var(--c-blue-900); }

/* Logo: name and tagline stack the same way on every page */
.logo > span:last-child { display: flex; flex-direction: column; }
.logo__text, .logo__tagline { display: block; }
.logo__tagline {
  font-size: 11.5px; font-weight: 500;
  letter-spacing: 0.02em; text-transform: none;
  margin-top: 3px; color: var(--c-muted);
}
.logo__mark::after { display: none; }
.logo__text { white-space: nowrap; }
@media (max-width: 400px) { .logo__text { font-size: 17px; } }

/* Utility bar: quieter */
.utility-bar { font-size: 13px; }
@media (max-width: 719px) { .utility-bar { display: none; } }
.utility-bar__pulse { display: none; }

/* Mobile menu links: no chevrons */
.mobile-menu__nav a svg { display: none; }
.sticky-mobile-cta { border-radius: 8px; gap: 0; }
.sticky-mobile-cta svg { display: none; }

/* Forms: inputs sit level with buttons */
input[type="email"], input[type="text"] {
  font-family: var(--font-body); font-size: 16px;
  border-radius: 6px;
}

/* Footer: sentence case, lighter grid */
.footer { padding: 64px 0 28px; }
.footer__col h4 {
  font-size: 15px; font-weight: 600;
  letter-spacing: 0; text-transform: none;
  color: var(--c-paper); margin-bottom: 14px;
}
.footer__col a { color: rgba(248, 250, 252, 0.72); }
.footer__brand p { color: rgba(248, 250, 252, 0.7); }
.footer__socials a:hover { background: var(--c-warm); color: var(--c-ink); }

/* Modal and cookie banner: match the new radius */
.modal { border-radius: 12px; }
.modal__btn svg { display: none; }
.cookie-banner { border-radius: 10px; }

/* Focus */
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid var(--c-warm); outline-offset: 3px;
}
