/* Approved prototype tokens and shared typography/layout only. */
:root {
  --ivory: #f7f2e8;
  --ivory-2: #e8d8c7;
  --paper: #fffdf9;
  --ink: #241a15;
  --ink-soft: #62483b;
  --espresso: #2a1a14;
  --brown: #5c392c;
  --caramel: #c9915b;
  --copper: #bd6c3c;
  --copper-dark: #934322;
  --charcoal: #282724;
  --sage: #586354;
  --sage-light: #e5e9e1;
  --line: rgba(76, 52, 40, .18);
  --shadow: 0 24px 70px rgba(37, 24, 17, .13);
  --shadow-card: 0 14px 34px rgba(37, 24, 17, .08);
  --shadow-card-hover: 0 20px 42px rgba(37, 24, 17, .14);
  --card-border-hover: rgba(147, 67, 34, .52);
  --card-transition: 240ms cubic-bezier(.2, .8, .2, 1);
  --radius-sm: 8px;
  --radius: 16px;
  --radius-lg: 24px;
  --button-radius: 10px;
  --button-primary: #934322;
  --button-primary-hover: #74331e;
  --button-gradient: linear-gradient(135deg, #8d3d20 0%, #bd6c3c 55%, #d58a52 100%);
  --button-gradient-hover: linear-gradient(135deg, #74331e 0%, #a6532d 52%, #c96f3d 100%);
  --container: 1280px;
  --font-title: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Inter", "Helvetica Neue", Arial, sans-serif;
  --font-size-h1: clamp(1.85rem, 3.8vw, 3.125rem);
  --font-size-h2: clamp(1.45rem, 2.8vw, 2.5rem);
  --font-size-h3: clamp(1.18rem, 1.8vw, 1.45rem);
  --font-size-h4: clamp(1rem, 1.25vw, 1.25rem);
  --heading-line-height: 1.2;
  --body: 1rem;
  --title-description-gap: 16px;
  --card-title-description-gap: 12px;
  --section-content-gap: 32px;
  --section-padding-desktop: 72px;
  --section-padding-tablet: 60px;
  --section-padding-mobile: 48px;
  --section-padding: var(--section-padding-desktop);
  --header-height: 104px;
  --hero-heading: #f4b27a;
  --ease: 280ms cubic-bezier(.2, .8, .2, 1);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: var(--jm-header-offset, 148px); }
html:not(.js) { scroll-padding-top: 12px; }
html:not(.js) .site-header { position: relative; }
.jm-accessible-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--ivory); color: var(--ink); font-family: var(--font-body); font-size: 16px; line-height: 1.6; }
img { display: block; max-width: 100%; }
.single-post .foundation-content .jm-post-featured-image { height: auto; }
a { color: inherit; font-size: 1rem; text-decoration-thickness: 1px; text-underline-offset: 4px; }
ul, ol, li, label { font-size: 1rem; }
button, input, select, textarea { font: inherit; font-size: 16px; line-height: 1.6; }
option { font-family: var(--font-body); font-size: 16px; }
button { color: inherit; }
strong, b { font-weight: 600; }
:focus-visible { outline: 3px solid var(--copper); outline-offset: 4px; }
h1, h2, h3, h4, h5, h6, p { margin-top: 0; }
h1, h2, h3, h4, h5, h6, .footer__title { max-inline-size: 100%; font-family: var(--font-title); font-weight: 700; letter-spacing: -.025em; line-height: var(--heading-line-height); overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: balance; }
h1 { font-size: var(--font-size-h1); }
h2 { font-size: var(--font-size-h2); }
h3 { font-size: var(--font-size-h3); }
h4, h5, h6 { font-size: var(--font-size-h4); }
h1, h2 { margin-bottom: var(--title-description-gap); }
h3, h4, h5, h6 { margin-bottom: var(--card-title-description-gap); }
p { max-width: 66ch; }
.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.section { padding-block: var(--section-padding); }
.section--tight { padding-block: clamp(32px, 3vw, 48px); }
.section--paper { background: var(--paper); }
.section--sage { background: var(--sage-light); }
.section--dark { background: var(--charcoal); color: var(--paper); }
.section__head { display: grid; grid-template-columns: minmax(0, 8fr) minmax(240px, 4fr); align-items: end; gap: var(--section-content-gap); margin-bottom: var(--section-content-gap); }
.section__head h2 { max-width: 860px; margin-bottom: 0; }
.section__head p { margin: 0; color: var(--ink-soft); }
.section--dark .section__head p { color: #d2c7b8; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 12px; color: var(--brown); font-size: 1rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.eyebrow::before { width: 28px; height: 1px; background: currentColor; content: ""; }
.section--dark .eyebrow { color: #e7ab80; }
.muted { color: var(--ink-soft); }
.fine-print { font-size: 1rem; color: var(--ink-soft); }
.placeholder-note { padding: 8px 12px; border-radius: 100px; background: rgba(29,27,24,.8); color: #fff; font-size: 1rem; letter-spacing: 0; }
.skip-link { position: fixed; z-index: 9999; top: 12px; left: 12px; padding: 10px 16px; transform: translateY(-150%); background: var(--paper); color: var(--ink); border-radius: 4px; }
.skip-link:focus { transform: none; }

.foundation-content { padding-block: var(--section-padding); min-height: 320px; }
#main-content { scroll-margin-top: calc(var(--header-height) + 24px); }
