


*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { height: 100%; }
body { min-height: 100%; }
body { line-height: 1.5; -webkit-font-smoothing: antialiased; }
img, picture, video, canvas, svg { display: block; max-width: 100%; }
input, button, textarea, select { font: inherit; }
p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }


:root {
  
  --tone-000: #fbf8f1;
  --tone-100: #f4eee2;
  --tone-200: #e7ddc8;
  --tone-300: #d4c6a8;
  --ink: #16301e;
  --ink-soft: #445f4c;
  --emerald: #1e6b3a;
  --emerald-deep: #123f24;
  --emerald-bright: #2a8b4b;
  --lime: #7fbf3f;
  --gold: #c99a3b;
  --gold-soft: #e8c275;
  --paper: #ffffff;

  
  --fluid-font-xs: clamp(0.8rem, 0.9vw, 0.875rem);
  --fluid-font-sm: clamp(0.9rem, 1vw, 1rem);
  --fluid-font-md: clamp(1rem, 1.35vw, 1.15rem);
  --fluid-font-lg: clamp(1.35rem, 2.6vw, 2.1rem);
  --fluid-font-xl: clamp(2rem, 4.6vw, 3.1rem);

  
  --fluid-space-xs: clamp(0.4rem, 0.7vw, 0.6rem);
  --fluid-space-sm: clamp(0.75rem, 1.4vw, 1.1rem);
  --fluid-space-md: clamp(1.4rem, 2.6vw, 2.2rem);
  --fluid-space-lg: clamp(2.4rem, 4.4vw, 3.6rem);
  --fluid-space-xl: clamp(4rem, 8vw, 6.5rem);

  --fluid-width: min(92%, 1120px);
  --fluid-width-narrow: min(92%, 780px);

  --edge: 14px;
  --edge-sm: 8px;
  --rule: 1px solid var(--tone-200);
  --lift: 0 10px 30px rgba(18, 63, 36, 0.14);
  --glide: 0.3s ease;
}


body {
  font-family: 'Open Sans', 'Segoe UI', sans-serif;
  font-weight: 400;
  line-height: 1.7;
  font-size: var(--fluid-font-md);
  color: var(--ink);
  background: var(--tone-000);
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Roboto Slab', Georgia, serif;
  font-weight: 700;
  color: var(--emerald-deep);
}
h1 { font-size: var(--fluid-font-xl); line-height: 1.12; letter-spacing: -0.01em; }
h2 { font-size: var(--fluid-font-lg); line-height: 1.2; margin-bottom: var(--fluid-space-md); }
h3 { font-size: clamp(1.05rem, 1.7vw, 1.35rem); line-height: 1.3; }
p { font-size: var(--fluid-font-md); line-height: 1.7; margin-bottom: var(--fluid-space-sm); }
a { color: var(--emerald); }
strong { font-weight: 600; }


.page__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.page__container {
  width: var(--fluid-width);
  margin-inline: auto;
}
.page__container--narrow { width: var(--fluid-width-narrow); }

.band {
  padding-block: var(--fluid-space-xl);
  padding-inline: max(1rem, 2vw);
  background: var(--tone-000);
  color: var(--ink);
}
.band__eyebrow {
  font-family: 'Roboto Slab', Georgia, serif;
  font-size: var(--fluid-font-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: var(--fluid-space-xs);
}
.band__lead {
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  color: var(--ink-soft);
  max-width: 62ch;
}


.fold-rule {
  height: 30px;
  background: linear-gradient(90deg, transparent 49%, rgba(18, 63, 36, 0.12) 50%, transparent 51%);
  border: none;
}


.u-flex { display: flex; }
.u-grid { display: grid; }
.u-wrap { flex-wrap: wrap; }
.u-col { flex-direction: column; }
.u-items-center { align-items: center; }
.u-items-start { align-items: flex-start; }
.u-items-end { align-items: flex-end; }
.u-justify-between { justify-content: space-between; }
.u-justify-center { justify-content: center; }
.u-gap-xs { gap: var(--fluid-space-xs); }
.u-gap-sm { gap: var(--fluid-space-sm); }
.u-gap-md { gap: var(--fluid-space-md); }
.u-gap-lg { gap: var(--fluid-space-lg); }
.u-mt-sm { margin-top: var(--fluid-space-sm); }
.u-mt-md { margin-top: var(--fluid-space-md); }
.u-mt-lg { margin-top: var(--fluid-space-lg); }
.u-mb-0 { margin-bottom: 0; }
.u-mb-sm { margin-bottom: var(--fluid-space-sm); }
.u-mb-md { margin-bottom: var(--fluid-space-md); }
.u-text-center { text-align: center; }
.u-text-sm { font-size: var(--fluid-font-sm); }
.u-text-xs { font-size: var(--fluid-font-xs); }
.u-muted { color: var(--ink-soft); }
.u-gold { color: var(--gold); }
.u-emerald { color: var(--emerald); }
.u-bold { font-weight: 600; }
.u-slab { font-family: 'Roboto Slab', Georgia, serif; }
.u-caps { text-transform: uppercase; letter-spacing: 0.14em; }
.u-list-plain { list-style: none; padding: 0; margin: 0; }
.u-round { border-radius: var(--edge); }
.u-rule-top { border-top: var(--rule); }
.u-pad-sm { padding: var(--fluid-space-sm); }
.u-pad-md { padding: var(--fluid-space-md); }
.u-full { width: 100%; }
.u-block { display: block; }
.u-inline-block { display: inline-block; }
.u-relative { position: relative; }
.u-absolute { position: absolute; }
.u-fixed { position: fixed; }
.u-clip { overflow: hidden; }
.u-white { color: #fff; }
.u-round-sm { border-radius: var(--edge-sm); }
.u-pill { border-radius: 999px; }
.u-dot { border-radius: 50%; }
.u-push-right { margin-left: auto; }
.u-mx-auto { margin-inline: auto; }
.u-no-border { border: none; }
.u-pointer { cursor: pointer; }
.u-strike { text-decoration: line-through; }
.u-nowrap { white-space: nowrap; }
.u-visually-hidden {
  position: absolute; width: 1px; height: 1px;
  padding: 0; overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}




@media (max-width: 1024px) {
  .page__container { width: min(94%, 860px); }
  .band { padding-block: clamp(3rem, 7vw, 4.5rem); }
}


@media (max-width: 768px) {
  .u-hide-mobile { display: none; }
  .page__main { grid-template-columns: minmax(0, 1fr); }
  .band {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-block: clamp(2.5rem, 12vw, 4rem);
  }
  .fold-rule { display: none; }
}

