/* TAYLOR MADE ONLY — shared foundations, independent of the reference site. */
:root {
  --tmo-gutter: clamp(24px, 5.5vw, 112px);
  --tmo-shell-width: min(calc(100% - 2 * var(--tmo-gutter)), 1376px);
  --tmo-section-space: clamp(72px, 6.1vw, 96px);
  --tmo-ease: cubic-bezier(.22, .7, .24, 1);
  --tmo-fast: 180ms;
  --tmo-enter: 600ms;
}
html { min-height: 100%; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: border-box; }
body, h1, h2, h3, h4, p, ol, ul, li, dl, dd, figure, figcaption, blockquote { margin: 0; }
body { min-height: 100vh; line-height: 1.5; text-rendering: optimizeLegibility; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: 400; color: var(--navy); }
h1 { font-size: clamp(40px, 5vw, 72px); line-height: 1.08; }
h2 { font-size: clamp(32px, 3.9vw, 56px); line-height: 1.12; }
h3 { font-size: clamp(26px, 3vw, 44px); line-height: 1.17; }
p, li, td, figcaption { font-size: 16px; line-height: 1.5; }
small { font-size: .875em; line-height: 1.4; }
img, video { max-width: 100%; height: auto; }
.theme-blue { color: #fff; }
.theme-blue :where(h1, h2, h3, h4) { color: inherit; }
@media (max-width: 760px) {
  :root { --tmo-gutter: 20px; --tmo-section-space: 56px; }
}
