:root {
  --ivory: #f3efe5;
  --paper: #faf7ef;
  --charcoal: #282520;
  --olive: #5d653d;
  --olive-dark: #444b2d;
  --oak: #b79b73;
  --brass: #9a7a48;
  --line: rgba(40, 37, 32, 0.2);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--charcoal);
  font-family: Garamond, "Adobe Garamond Pro", Georgia, serif;
  font-size: 18px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 20; background: var(--paper); padding: .75rem 1rem; }
.skip-link:focus { top: 1rem; }

.site-header {
  height: 94px;
  padding: 0 clamp(1.25rem, 5vw, 5rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  background: rgba(250, 247, 239, .96);
  border-bottom: 1px solid var(--line);
  position: relative;
  z-index: 5;
}

.wordmark { text-decoration: none; text-transform: uppercase; line-height: 1; }
.wordmark span { display: block; font-size: 1.35rem; letter-spacing: .14em; }
.wordmark i, .footer-brand i { font-style: normal; color: var(--olive); }
.wordmark small { display: block; margin-top: .48rem; font-family: Arial, sans-serif; font-size: .58rem; letter-spacing: .24em; color: #686259; }
nav { display: flex; gap: clamp(1.25rem, 3vw, 3rem); font-family: Arial, sans-serif; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
nav a { text-decoration: none; padding: .6rem 0; border-bottom: 1px solid transparent; }
nav a:hover, nav a:focus-visible { border-color: var(--olive); }

.hero { position: relative; min-height: min(770px, calc(100vh - 94px)); overflow: hidden; display: grid; align-items: end; }
.hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(25,24,20,.75) 0%, rgba(25,24,20,.36) 47%, rgba(25,24,20,.05) 100%); }
.hero-copy { position: relative; z-index: 1; width: min(840px, 88vw); padding: clamp(5rem, 12vh, 8rem) clamp(1.25rem, 7vw, 7rem); color: #fffdf6; }
.hero h1 { margin: .8rem 0 1.7rem; font-size: clamp(2.65rem, 6vw, 5.8rem); line-height: .98; font-weight: 400; letter-spacing: -.025em; }
.eyebrow { margin: 0 0 1rem; font-family: Arial, sans-serif; font-size: .68rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; }
.text-link { font-family: Arial, sans-serif; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: .35rem; }
.text-link span { margin-left: .55rem; }

.section { padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 7vw, 7rem); }
.section h2 { margin: 0; font-size: clamp(2.5rem, 5vw, 4.6rem); line-height: 1.04; font-weight: 400; letter-spacing: -.02em; }
.story { display: grid; grid-template-columns: .35fr 1.3fr 1fr; gap: clamp(2rem, 6vw, 7rem); align-items: start; }
.section-mark { padding-top: .25rem; }
.section-mark img { display: block; width: 3.6rem; height: auto; }
.story-copy { max-width: 34rem; }
.story-copy p { margin: 0 0 1.45rem; }
.story-copy .lead { font-size: 1.45rem; line-height: 1.45; }

.belief { background: var(--olive-dark); color: #f9f5e9; padding: clamp(5rem, 10vw, 9rem) 1.25rem; text-align: center; }
.belief-inner { max-width: 1050px; margin: 0 auto; }
blockquote { margin: 1.5rem auto; font-size: clamp(2.25rem, 5vw, 4.8rem); line-height: 1.12; font-weight: 400; }
.leaf-mark { display: block; margin-top: 1.8rem; }
.leaf-mark img { display: block; width: 4.5rem; height: auto; margin: 0 auto; filter: sepia(.25) saturate(.7) brightness(1.55); }

.collections { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(4rem, 9vw, 10rem); }
.collections-intro > p:last-child { max-width: 28rem; margin-top: 1.75rem; }
.collection-list { border-top: 1px solid var(--line); }
.collection-list article { display: grid; grid-template-columns: 3rem 1fr; gap: 1.5rem; padding: 2.1rem 0; border-bottom: 1px solid var(--line); }
.collection-mark { padding-top: .35rem; }
.collection-mark img { display: block; width: 2.25rem; height: auto; }
.collection-list h3, .value-grid h3 { margin: 0 0 .35rem; font-size: 1.65rem; font-weight: 400; }
.collection-list p, .value-grid p { margin: 0; color: #5f5a51; }

.values { background: #e8e0d1; }
.values-title { max-width: 850px; }
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 4rem; background: rgba(40, 37, 32, .18); border: 1px solid rgba(40, 37, 32, .18); }
.value-grid article { background: #e8e0d1; padding: clamp(2.5rem, 4vw, 4rem) clamp(1.5rem, 3vw, 3rem); min-height: 210px; }

.founder-note { display: grid; grid-template-columns: 1fr 1.5fr; gap: clamp(4rem, 10vw, 12rem); align-items: start; }
.note-rule { width: 100%; height: 1px; background: var(--charcoal); margin-top: 1rem; position: relative; }
.note-rule::after { content: "A NOTE FROM THE FOUNDER"; position: absolute; top: 1rem; left: 0; font-family: Arial, sans-serif; font-size: .66rem; letter-spacing: .2em; }
.note-copy { max-width: 700px; font-size: 1.42rem; line-height: 1.55; }
.note-copy p { margin: 0 0 1.5rem; }
.signature {
  margin-top: 2rem;
  color: var(--olive);
  font-family: "Snell Roundhand", "Apple Chancery", "URW Chancery L", "Segoe Script", "Brush Script MT", cursive;
  font-size: 4.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.22em;
  transform: rotate(-4deg);
  transform-origin: left center;
}

.coming-soon { min-height: 480px; background: linear-gradient(rgba(30,30,24,.66), rgba(30,30,24,.66)), url("assets/kansas-legacy.jpg") center 57% / cover; color: #fffdf6; display: grid; place-items: center; padding: 5rem 1.25rem; text-align: center; }
.coming-soon div { max-width: 820px; }
.coming-soon h2 { margin: 0 0 1rem; font-size: clamp(2.5rem, 5.5vw, 5rem); line-height: 1.04; font-weight: 400; }

.connect { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(4rem, 10vw, 11rem); align-items: start; }
.connect-heading > img { display: block; width: 3.6rem; height: auto; margin-bottom: 2rem; }
.connect-heading h2 { max-width: 650px; }
.connect-copy > p { max-width: 33rem; margin: 0 0 2.5rem; font-size: 1.35rem; line-height: 1.5; }
.connect-links { border-top: 1px solid var(--line); }
.connect-links a { display: grid; grid-template-columns: 7rem 1fr; gap: 1.5rem; align-items: center; padding: 1.4rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.connect-links span { font-family: Arial, sans-serif; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--olive); }
.connect-links strong { font-weight: 400; font-size: 1.18rem; overflow-wrap: anywhere; }
.connect-links a:hover strong, .connect-links a:focus-visible strong { color: var(--olive); }

footer { padding: 4rem clamp(1.25rem, 7vw, 7rem); text-align: center; background: var(--charcoal); color: var(--ivory); }
.footer-brand { font-size: 1.6rem; letter-spacing: .15em; text-transform: uppercase; }
footer p { font-style: italic; color: #d8d0c0; }
footer small { font-family: Arial, sans-serif; font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: #a9a092; }

@media (max-width: 820px) {
  .site-header { height: 82px; }
  nav { display: none; }
  .hero { min-height: calc(100svh - 82px); }
  .hero-shade { background: linear-gradient(0deg, rgba(25,24,20,.78) 0%, rgba(25,24,20,.2) 70%); }
  .hero-copy { width: 100%; padding-bottom: 4rem; }
  .story, .collections, .founder-note, .connect { grid-template-columns: 1fr; }
  .section-mark { display: none; }
  .story { gap: 3rem; }
  .collections { gap: 3.5rem; }
  .value-grid { grid-template-columns: 1fr; }
  .value-grid article { min-height: 0; }
  .founder-note { gap: 4rem; }
  .connect { gap: 3.5rem; }
  .connect-links a { grid-template-columns: 1fr; gap: .25rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
