/* Kerr Bloom modern editorial layer: Vault & Vine x Field Studies Flora. */
:root {
  --modern-ink: #162d3d;
  --modern-muted: #607481;
  --modern-blue: #eaf6f9;
  --modern-white: #ffffff;
  --modern-mint: #6fbeb5;
  --modern-line: rgba(22, 45, 61, 0.14);
  --modern-font: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
}

body {
  background: #dff3f8 !important;
  color: var(--modern-ink);
  font-family: var(--modern-font);
}

.site-header {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--modern-line);
  display: flex;
  max-width: 1240px;
  padding: 22px 28px;
}

.brand-lockup {
  background: var(--modern-ink);
  border: 1px solid var(--modern-mint);
  border-radius: 8px;
  gap: 10px;
  padding: 7px 12px 7px 8px;
}

.brand-mark {
  border: 1px solid rgba(255, 255, 255, 0.7);
  height: 48px;
  width: 48px;
}

.home-page .brand-lockup {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.home-page .brand-mark {
  border: 3px solid #62b8ad;
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(16, 61, 78, .2), 0 0 0 5px rgba(98, 194, 180, .14);
  height: 108px;
  width: 108px;
  filter: saturate(1.08) contrast(1.05);
}

.home-page .brand-lockup > span {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-left: 10px;
}

.home-page .brand-lockup strong {
  color: #103d4e;
  font-family: "Brush Script MT", "Segoe Script", cursive;
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 500;
  letter-spacing: .01em;
  line-height: .95;
  white-space: nowrap;
}

.home-page .brand-lockup small {
  color: #3f6370;
  font-family: var(--modern-font);
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.home-page .brand-lockup strong {
  font-size: 25px;
}

.home-page .brand-lockup small {
  font-size: 11px;
}

.home-page .site-header {
  align-items: center;
  border: 1px solid rgba(16, 61, 78, .14);
  border-radius: 0 0 16px 16px;
  box-shadow: 0 8px 24px rgba(16, 61, 78, .08);
  justify-content: space-between;
  margin: 0 auto;
  padding: 18px clamp(18px, 4vw, 44px);
}

.home-page .site-nav a {
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.brand-lockup strong,
.brand-lockup small {
  color: var(--modern-white);
  font-family: var(--modern-font);
}

.brand-lockup strong {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.brand-lockup small {
  color: var(--modern-muted);
  font-size: 10px;
  letter-spacing: 0.14em;
}

.site-nav {
  gap: 4px;
}

.site-nav a {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--modern-muted);
  font-family: var(--modern-font);
  font-size: 13px;
  font-weight: 600;
  padding: 9px 12px;
}

.site-nav a:hover,
.site-nav a[aria-current="page"] {
  background: var(--modern-blue);
  color: var(--modern-ink);
}

main,
.page-shell {
  max-width: 1240px;
  padding: 56px 28px 88px;
}

.home-hero {
  align-items: center;
  gap: 56px;
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
}

.hero-note,
.page-intro,
.ledger,
.field-note,
.about-copy,
.feature-card,
.recipe-slip,
.seed-product,
.blog-card,
.recipe-feature {
  background: var(--modern-white) !important;
  border: 1px solid var(--modern-line);
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(22, 45, 61, 0.07);
  transform: none !important;
}

.hero-note {
  min-height: auto;
  padding: 46px 40px;
}

.hero-note::before,
.hero-image::before,
.tape,
.torn-strip {
  display: none;
}

h1,
h2,
h3 {
  color: var(--modern-ink);
  font-family: var(--modern-font);
  letter-spacing: -0.045em;
}

h1 {
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 700;
  line-height: 0.98;
}

.hero-note p:last-child,
.page-intro p,
.ledger p,
.field-note p,
.about-copy p,
.feature-card p,
.recipe-slip p,
.seed-product p,
.blog-card p,
.recipe-feature-copy p {
  color: var(--modern-muted);
  font-size: 16px;
  line-height: 1.65;
}

.recipe-feature-no-photo {
  display: block;
}

.recipe-feature-no-photo .recipe-feature-copy {
  margin: 0 auto;
  max-width: 900px;
  padding: clamp(26px, 5vw, 54px);
}

.recipe-feature-no-photo h2 {
  max-width: 760px;
}

.recipe-ingredients {
  color: var(--modern-muted);
  line-height: 1.65;
  margin: 18px 0;
  padding-left: 20px;
}

.recipe-steps {
  margin: 1rem 0 1.25rem;
  padding-left: 1.35rem;
}

.recipe-steps li {
  margin: 0 0 .55rem;
  padding-left: .2rem;
}

.lesson-photo {
  border-radius: 9px;
  display: block;
  height: 170px;
  margin: -2px 0 22px;
  object-fit: cover;
  object-position: center 38%;
  width: 100%;
}

.about-family-photo {
  border-radius: 10px;
  display: block;
  height: auto;
  margin: 26px 0 6px;
  object-fit: contain;
  width: 100%;
}

.about-contact-photo {
  border-radius: 10px;
  display: block;
  height: auto;
  margin: 24px 0 0;
  object-fit: contain;
  width: 100%;
}

.home-manifesto {
  position: relative;
  background: #ffffff;
  border: 1px solid rgba(16, 61, 78, .16);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(16, 61, 78, .08);
  margin: 24px auto 0;
  max-width: 980px;
  padding: 28px clamp(22px, 5vw, 64px);
  text-align: center;
}

.experience-panel { background:#fff; border:1px solid rgba(16,61,78,.16); border-radius:14px; margin:22px auto 0; max-width:860px; padding:clamp(24px,5vw,52px); }
.experiences-photo { border-radius:14px; display:block; height:auto; margin:24px auto 0; max-width:980px; width:100%; }
.experience-panel h2 { color:#103d4e; margin-top:0; }
.experience-panel p { color:#3f6370; line-height:1.7; }

.opportunity-strip { background:#103d4e; border-radius:14px; color:#fff; margin:28px auto 0; max-width:980px; padding:28px clamp(22px,5vw,56px); }
.opportunity-strip h2 { color:#fff; margin:0 0 10px; }
.opportunity-strip p { line-height:1.65; margin:0; }
.opportunity-strip .kicker { color:#9edbd2; margin-bottom:8px; }

.start-here-cta { align-items:center; background:#103d4e; border-radius:12px; color:#fff; display:flex; gap:12px; margin:22px auto 0; max-width:980px; padding:18px 24px; text-decoration:none; }
.start-here-cta span { font-size:1.5rem; }
.start-here-cta .wave-stencil { display:block; height:40px; width:82px; }
.wave-stencil svg { fill:none; height:100%; stroke:#9edbd2; stroke-linecap:round; stroke-linejoin:round; stroke-width:3; width:100%; }
.start-here-cta strong { font-size:1.1rem; }
.start-here-cta small { color:#b8e3dd; margin-left:auto; }
.start-grid,.use-grid { display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); margin:24px auto 0; max-width:980px; }
.start-grid a,.use-grid article { background:#fff; border:1px solid rgba(16,61,78,.14); border-radius:12px; color:#3f6370; padding:22px; text-decoration:none; }
.start-grid h2,.use-grid h2 { color:#103d4e; margin-top:0; }
.start-grid p,.use-grid p { line-height:1.6; margin-bottom:0; }
.use-note { background:#103d4e; border-radius:14px; color:#fff; margin:24px auto 0; max-width:980px; padding:28px; }
.use-note h2 { color:#fff; margin-top:0; }
.use-note p { line-height:1.65; }
.product-feature { background:#fff; border:1px solid rgba(16,61,78,.14); border-radius:14px; margin:24px auto 0; max-width:760px; padding:clamp(24px,5vw,52px); }
.product-feature h2 { color:#103d4e; margin-top:0; }
.product-feature p { color:#3f6370; line-height:1.7; }
.product-disclaimer { font-size:.82rem; opacity:.75; }
.journal-photo { border-radius:12px; display:block; height:auto; margin:24px 0; max-height:620px; object-fit:cover; width:100%; }
.journal-photo-small { max-width:760px; }
.product-photo { border-radius:14px; display:block; margin:24px auto 0; max-height:360px; object-fit:cover; width:min(100%,620px); }

.home-page .home-hero,
.home-page .home-manifesto {
  overflow: hidden;
}


.home-manifesto p {
  color: #103d4e;
  font-family: Georgia, serif;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  line-height: 1.25;
  margin: 0 0 10px;
}

.home-manifesto span {
  color: #3f6370;
  display: block;
  font-size: .98rem;
  line-height: 1.65;
  margin: 0 auto;
  max-width: 760px;
}

.hero-image {
  border: 0;
  border-radius: 12px;
  box-shadow: 0 20px 48px rgba(22, 45, 61, 0.13);
  padding: 0;
  transform: none;
}

.hero-image img {
  border-radius: 12px;
}

.kicker,
.card-label {
  color: var(--modern-mint);
  font-family: var(--modern-font);
  font-size: 11px;
  letter-spacing: 0.16em;
}

.home-grid,
.blog-list,
.recipe-list,
.seed-catalog,
.goods-board {
  gap: 24px;
}

.feature-card {
  min-height: 280px;
  padding: 30px;
}

.feature-card-photo {
  border-radius: 9px;
  height: 78px;
  margin-bottom: 22px;
  width: 130px;
}

.page-intro,
.about-copy {
  padding: 46px;
}

.blog-intro {
  background: var(--modern-ink) !important;
  color: var(--modern-white);
}

.blog-intro h1,
.blog-intro p:not(.kicker) {
  color: var(--modern-white);
}

.blog-intro .kicker {
  color: var(--modern-mint);
}

.seed-product,
.blog-card,
.recipe-slip {
  padding: 0;
  overflow: hidden;
}

.seed-product-copy,
.blog-card,
.recipe-slip {
  padding: 24px;
}

.seed-photo {
  aspect-ratio: 1 / 0.72;
}

.catalog-order {
  background: var(--modern-ink);
  border-radius: 6px;
  font-family: var(--modern-font);
}

.catalog-order:hover {
  background: var(--modern-mint);
}

.seed-price {
  display: none;
}

.site-footer {
  border-top: 1px solid var(--modern-line);
  color: var(--modern-muted);
  font-family: var(--modern-font);
  max-width: 1240px;
}

.instagram-link {
  align-items: center;
  color: var(--modern-ink);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 7px;
}

.instagram-glyph {
  border: 2px solid var(--modern-mint);
  border-radius: 6px;
  display: inline-block;
  height: 18px;
  position: relative;
  width: 18px;
}

.instagram-glyph::before {
  border: 2px solid var(--modern-mint);
  border-radius: 50%;
  content: "";
  height: 6px;
  left: 4px;
  position: absolute;
  top: 4px;
  width: 6px;
}

.instagram-glyph::after {
  background: var(--modern-mint);
  border-radius: 50%;
  content: "";
  height: 3px;
  position: absolute;
  right: 2px;
  top: 2px;
  width: 3px;
}

@media (max-width: 900px) {
  .site-header {
    padding: 18px 20px;
  }

  main,
  .page-shell {
    padding: 36px 20px 64px;
  }

  .home-hero {
    gap: 28px;
  }

  .hero-note,
  .page-intro,
  .about-copy {
    padding: 30px 24px;
  }
}

/* Center the family meatloaf recipe for an easy-to-scan layout. */
.meatloaf-recipe .recipe-feature-copy { text-align: center; }
.meatloaf-recipe .recipe-ingredients,
.meatloaf-recipe .recipe-steps { display: inline-block; text-align: left; }
.meatloaf-recipe { display: block; }
.meatloaf-recipe .recipe-feature-copy { max-width: 900px; margin: 0 auto; text-align: center !important; }
.meatloaf-recipe .recipe-feature-copy > * { margin-left: auto; margin-right: auto; }
.meatloaf-recipe .recipe-ingredients, .meatloaf-recipe .recipe-steps { width: fit-content; text-align: left; }
.field-story-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px;align-items:center;margin:30px 0;padding:18px;background:rgba(255,255,255,.55);border:1px solid rgba(20,54,75,.14);border-radius:18px}.field-story-card img{width:100%;height:260px;object-fit:cover;border-radius:12px}.field-story-card h2{margin:.2rem 0 .7rem}.field-story-card p{color:var(--modern-muted);line-height:1.6}@media(max-width:700px){.field-story-card{grid-template-columns:1fr}.field-story-card img{height:210px}}
.meatloaf-recipe .recipe-feature-copy { text-align: left !important; }
.meatloaf-recipe .recipe-feature-copy > * { margin-left: 0; margin-right: 0; }
.meatloaf-recipe .recipe-ingredients, .meatloaf-recipe .recipe-steps { display: block; width: auto; text-align: left; }
