:root {
  --story-cream: #f6f0e7;
  --story-paper: #fbf7f0;
  --story-ivory: #fffaf0;
  --story-ink: #24352d;
  --story-charcoal: #2e302e;
  --story-forest: #1d332a;
  --story-gold: #b89255;
  --story-line: rgba(139,112,71,.28);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--story-cream);
  color: var(--story-ink);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }
h1, h2, h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.story-eyebrow {
  margin: 0;
  color: #8b7047;
  font-size: clamp(11px, .88vw, 14px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.story-rule { display: block; width: 52px; height: 1px; margin: 22px 0 30px; background: var(--story-gold); }

.story-hero {
  min-height: 500px;
  padding: clamp(78px, 7vw, 112px) clamp(60px, 9vw, 170px) clamp(40px, 3.7vw, 58px);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .62fr);
  gap: clamp(64px, 9vw, 150px);
  align-items: start;
  background: var(--story-cream);
}
.story-hero h1 {
  max-width: 800px;
  margin: 0;
  color: var(--story-charcoal);
  font-size: clamp(58px, 5.3vw, 92px);
  line-height: 1;
  letter-spacing: -.042em;
}
.story-hero-copy {
  max-width: 465px;
  margin-top: clamp(126px, 9.5vw, 150px);
  color: rgba(36,53,45,.74);
  font-size: clamp(15px, 1.05vw, 17px);
  line-height: 1.72;
}
.story-hero-copy p { margin: 0; }

.story-origin {
  padding: clamp(52px, 4.3vw, 74px) clamp(60px, 9vw, 170px) clamp(72px, 5.8vw, 100px);
  background: var(--story-paper);
}
.story-origin-inner,
.story-founder-inner,
.story-closing-inner { width: 100%; max-width: 1180px; margin: 0 auto; }
.story-origin-header {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(420px, 1fr);
  gap: clamp(70px, 10vw, 150px);
  align-items: start;
}
.story-origin h2 {
  max-width: 570px;
  margin: 0;
  color: var(--story-charcoal);
  font-size: clamp(48px, 4.6vw, 76px);
  line-height: 1.03;
  letter-spacing: -.035em;
}
.story-origin-copy { max-width: 610px; }
.story-origin-copy p { margin: 0; color: rgba(36,53,45,.78); font-size: clamp(16px, 1.16vw, 18px); line-height: 1.78; }
.story-origin-copy p + p { margin-top: 24px; }
.story-origin-cascade {
  margin-top: 38px !important;
  color: var(--story-ink) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(22px, 1.7vw, 29px) !important;
  line-height: 1.52 !important;
}

.story-founder {
  padding: clamp(58px, 4.8vw, 82px) clamp(60px, 9vw, 170px) clamp(76px, 6.3vw, 108px);
  background: #e9dfd2;
}
.story-founder-inner {
  display: grid;
  grid-template-columns: minmax(360px, .8fr) minmax(470px, 1.05fr);
  gap: clamp(70px, 9vw, 138px);
  align-items: center;
}
.story-founder-visual { margin: 0; }
.story-founder-photo { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 44%; }
.story-founder h2 {
  max-width: 650px;
  margin: 0 0 22px;
  color: var(--story-charcoal);
  font-size: clamp(50px, 4.8vw, 80px);
  line-height: 1.02;
  letter-spacing: -.038em;
}
.story-founder-role { margin: 0 0 36px; color: #80653d; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.story-founder-copy p { max-width: 650px; margin: 0; color: rgba(36,53,45,.78); font-size: clamp(16px, 1.14vw, 18px); line-height: 1.76; }
.story-founder-copy p + p { margin-top: 22px; }

.story-closing {
  padding: clamp(100px, 8vw, 142px) clamp(40px, 8vw, 124px);
  background: var(--story-cream);
  text-align: center;
}
.story-closing-inner { max-width: 900px; }
.story-closing h2 { margin: 27px auto 30px; color: var(--story-charcoal); font-size: clamp(50px, 5vw, 82px); line-height: 1.03; letter-spacing: -.04em; }
.story-closing p { max-width: 720px; margin: 0 auto 38px; color: rgba(36,53,45,.76); font-size: clamp(16px, 1.15vw, 18px); line-height: 1.72; }
.story-cta { display: inline-block; min-width: 220px; padding: 17px 28px; background: #b59059; color: var(--story-ivory); border: 1px solid rgba(159,125,75,.58); text-decoration: none; text-align: center; font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.story-cta:hover { background: #c5a36c; }

@media (max-width: 1100px) {
  .story-founder-inner { grid-template-columns: 1fr; gap: 54px; }
  .story-founder-visual { max-width: 620px; }
}

@media (max-width: 900px) {
  .story-hero,
  .story-origin-header,
  .story-founder-inner { grid-template-columns: 1fr; }
  .story-hero { min-height: 0; gap: 44px; padding-block: 88px 100px; }
  .story-hero-copy { margin-top: 0; }
  .story-origin-header,
  .story-founder-inner { gap: 54px; }
  .story-founder-visual { max-width: 620px; }
}

@media (max-width: 560px) {
  .story-hero,
  .story-origin,
  .story-founder,
  .story-closing { padding-inline: 24px; }
  .story-hero h1 { font-size: 50px; }
  .story-origin h2,
  .story-founder h2,
  .story-closing h2 { font-size: 44px; }
  .story-founder-photo { aspect-ratio: 4 / 5; }
}
