/* Kerr Bloom Co: a garden journal, November 2026. */
:root, body.recipes-page { --paper:#fbf8f1; --wash:#eeeee3; --line:#d8d4c5; --ink:#293c36; --muted:#596158; --accent:#3b5a46; --accent-hover:#253e30; --sage:#e6e7d7; --rose:#795342; --rose-wash:#f0e6dc; }
body { background:var(--paper); color:var(--ink); }
::selection { background:#e2cc89; color:#293c36; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid #795342; outline-offset:5px; }
main,.page-shell, .recipes-page .page-shell { max-width:1380px; width:100%; padding:64px 48px 100px; }
h1 { font-size:clamp(3rem,5.6vw,5.4rem); line-height:1.06; letter-spacing:-.045em; }
h2 { letter-spacing:-.025em; }
h1 em { font-weight:400; color:#6b6241; }
.kicker,.card-label { font-size:.7rem; letter-spacing:.19em; }
.site-header, .recipes-page .site-header { background:var(--paper); padding:26px 48px; display:flex; align-items:center; justify-content:space-between; gap:32px; border-bottom:1px solid var(--line); }
.brand-lockup { flex-shrink:0; }
.brand-lockup strong,.recipes-page .brand-lockup strong { font-size:1.8rem; letter-spacing:.13em; }
.brand-lockup small,.recipes-page .brand-lockup small { font-size:.63rem; text-align:left; letter-spacing:.2em; }
.site-nav,.recipes-page .site-nav { margin:0; gap:25px; }
.site-nav a { font-size:.8rem; padding:10px 0; }
.page-intro { max-width:none; text-align:left; margin-bottom:48px; padding:24px 0 42px; border-bottom:1px solid var(--line); }
.page-intro h1 { font-size:clamp(3rem,5.2vw,5rem); max-width:970px; margin-bottom:24px; }
.page-intro p:not(.kicker) { margin:0 0 16px; max-width:710px; font-size:1rem; }
.page-intro .kicker { margin-bottom:20px; }
.button-link,.catalog-order { background:#d7b75b; color:#26392f; border-color:#d7b75b; font-size:.8rem; letter-spacing:.02em; padding:14px 24px; }
.button-link:hover,.catalog-order:hover { background:#c7a348; border-color:#c7a348; color:#26392f; }
.home-page main { padding-top:36px; }
.home-hero { grid-template-columns:.9fr 1.1fr; background:#eeeddf; min-height:600px; }
.hero-note { padding:clamp(30px,4.5vw,66px); }
.hero-note h1 { font-size:clamp(3.1rem,5.1vw,5.3rem); max-width:8.7em; }
.hero-note > p:not(.kicker) { font-size:1rem; line-height:1.8; max-width:380px; }
.hero-image { position:relative; min-height:600px; }
.hero-image img { position:absolute; width:100%; height:100%; min-height:0; inset:0; object-fit:cover; object-position:50% 50%; }
.home-paths { display:grid; grid-template-columns:repeat(3,1fr); padding:28px 0; border-bottom:1px solid var(--line); }
.home-paths a { text-decoration:none; font:1.4rem var(--serif); text-align:center; padding:12px; border-right:1px solid var(--line); }
.home-paths a:last-child { border:0; }
.home-paths span { font: .65rem var(--sans); color:#7b664b; margin-right:16px; }
.section-heading { margin:72px 0 30px; }
.section-heading h2 { font-size:clamp(2.1rem,3.5vw,3.2rem); }
.home-grid { gap:32px; }
.feature-card-photo { aspect-ratio:4/5; object-fit:cover; margin-bottom:24px; }
.feature-card:nth-child(2) { padding-top:50px; }
.feature-card h2 { font-size:2rem; }
.feature-card p { font-size:.95rem; }
.home-manifesto { max-width:none; margin:80px 0; background:#e8e9da; padding:64px clamp(24px,7vw,100px); border:0; }
.home-manifesto p { color:var(--ink); font-size:clamp(2rem,3.8vw,3.5rem); max-width:900px; margin:0 auto 24px; font-style:italic; }
.home-manifesto span { margin:auto; font-size:.95rem; }
.opportunity-strip { display:grid; grid-template-columns:1fr 1fr; padding:0; background:#f0e6dc; }
.opportunity-photo { width:100%; height:100%; min-height:450px; object-fit:cover; }
.opportunity-copy { padding:clamp(28px,4vw,56px); align-self:center; }
.opportunity-copy h2 { font-size:clamp(2rem,3vw,2.8rem); }
.ledger { gap:48px; padding-top:40px; }
.ledger h2 { font-size:2rem; }
.seed-jump-links { justify-content:flex-start; }
.seed-sharing { border-left:3px solid #b59856; background:#eeeddf; }
.seed-catalog { gap:48px 30px; }
.seed-photo { aspect-ratio:1/1; }
.seed-product-copy { padding-top:22px; }
.seed-product h2 { font-size:1.9rem; }
.seed-product .catalog-order { text-align:left; border:0; border-bottom:1px solid var(--line); padding:12px 0; }
.seed-product .catalog-order:hover { background:transparent; color:var(--accent); border-color:var(--accent); }
.seed-tag { font-size:.65rem; letter-spacing:.14em; }
.seed-section-heading h2 { font-size:2.6rem; }
.field-note { padding:40px; background:#eeeddf; border-top:1px solid #b9ba9f; }
.blog-list { gap:48px; }
.blog-card { padding:0 0 26px; border-top:0; border-bottom:1px solid var(--line); }
.blog-card > img { width:100%; aspect-ratio:4/3; object-fit:cover; margin-bottom:24px; }
.blog-card h2 { font-size:2.3rem; }
.blog-card .card-label { margin-top:20px; }
.blog-post { max-width:840px; }
.blog-post h1 { font-size:clamp(2.8rem,5vw,4.7rem); }
.blog-post .blog-byline { padding-bottom:24px; border-bottom:1px solid var(--line); line-height:1.8; }
.blog-post p { line-height:1.9; font-size:1.06rem; }
.blog-post .journal-photo { margin:40px 0; }
.about-layout { grid-template-columns:.85fr 1.15fr; gap:72px; }
.about-photo { aspect-ratio:4/5; object-fit:cover; }
.portrait-card > p { padding:24px 12px; border-bottom:1px solid var(--line); font-style:italic; }
.about-copy h1 { font-size:clamp(2.8rem,4.8vw,4.8rem); }
.about-copy p { line-height:1.9; }
.contact-box { background:#eeeddf; border-top:2px solid #b59856; }
.experiences-photo { max-width:880px; max-height:650px; object-fit:contain; }
.experience-panel { max-width:820px; padding-top:24px; }
.experience-panel h2 { font-size:2.7rem; }
.start-grid,.use-grid { gap:28px; }
.start-grid a,.use-grid article { padding:32px; background:#eeeddf; border:0; }
.start-grid a:nth-child(2n),.use-grid article:nth-child(2n) { background:#f0e6dc; }
.start-grid a:hover { background:#e6e7d7; }
.start-grid h2,.use-grid h2 { font-size:2rem; }
.use-grid li { margin-bottom:10px; }
.use-grid a { overflow-wrap:anywhere; }
.photo-grid { gap:36px 28px; }
.photo-grid figure:nth-child(3n+2) { padding-top:40px; }
.photo-grid img { aspect-ratio:4/5; }
.photo-grid figcaption { font:italic 1.3rem var(--serif); padding:18px 0; }
.product-photo { max-height:640px; object-fit:contain; width:auto; }
.product-feature { padding:36px; background:#eeeddf; margin-top:40px; }
.product-feature h2 { font-size:2rem; }
.product-feature .catalog-order { max-width:100%; overflow-wrap:anywhere; }
.site-footer,.recipes-page .site-footer { display:grid; grid-template-columns:1.4fr 1fr 1fr; background:#293f35; color:#eeeadd; gap:42px; padding:64px max(32px,calc((100% - 1284px)/2)); border:0; align-items:start; }
.footer-brand { font:2.3rem var(--serif); text-decoration:none; }
.footer-story p { margin:16px 0 6px; font-size:.9rem; }
.footer-story > span { font:italic 1.1rem var(--serif); color:#d9d3b6; }
.footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.footer-label { text-transform:uppercase; letter-spacing:.17em; font-size:.65rem; color:#dfc77e; margin-bottom:12px; }
.footer-links a { text-decoration:none; font-size:.85rem; padding:3px 0; }
.site-footer a:hover { color:#e1c87b; }
.site-footer .affiliate-disclosure { grid-column:1/-1; padding-top:24px; border-top:1px solid #627064; font-size:.7rem; color:#d4d7ca; }
@media(max-width:1000px) {
  .site-header,.recipes-page .site-header { flex-direction:column; gap:20px; padding:24px; }
  .brand-lockup small,.recipes-page .brand-lockup small { text-align:center; }
  .site-nav,.recipes-page .site-nav { justify-content:center; gap:24px; }
  .hero-note { padding:32px; }
  .hero-note h1 { font-size:3.2rem; }
  .about-layout { gap:36px; }
}
@media(max-width:700px) {
  main,.page-shell,.recipes-page .page-shell { padding:32px 20px 64px; }
  .site-header,.recipes-page .site-header { padding:22px 16px 16px; }
  .brand-lockup strong,.recipes-page .brand-lockup strong { font-size:1.65rem; }
  .site-nav,.recipes-page .site-nav { gap:0 22px; }
  .site-nav a { padding:8px 0; }
  .page-intro { padding:16px 0 28px; margin-bottom:32px; }
  .page-intro h1 { font-size:2.7rem; }
  .home-hero { grid-template-columns:1fr; min-height:0; }
  .hero-image { order:0; min-height:360px; }
  .hero-image img { height:100%; aspect-ratio:auto; }
  .hero-note { padding:36px 26px; }
  .hero-note h1 { font-size:3rem; }
  .home-paths { padding:18px 0; gap:0; }
  .home-paths a { font-size:1.05rem; padding:8px; }
  .home-paths span { display:block; margin:0 0 8px; }
  .section-heading { margin:44px 0 24px; flex-wrap:wrap; }
  .home-grid { gap:36px; }
  .feature-card:nth-child(2) { padding-top:0; }
  .feature-card-photo { aspect-ratio:4/3; }
  .home-manifesto { margin:48px 0; padding:40px 24px; }
  .opportunity-strip { grid-template-columns:1fr; }
  .opportunity-photo { min-height:0; height:300px; }
  .ledger { gap:24px; }
  .seed-catalog { gap:32px 20px; }
  .seed-product h2 { font-size:1.45rem; }
  .seed-product p { font-size:.9rem; }
  .seed-sharing { padding:24px; }
  .about-layout { grid-template-columns:1fr; }
  .portrait-card { width:100%; max-width:420px; }
  .blog-list { grid-template-columns:1fr; }
  .blog-card h2 { font-size:2rem; }
  .start-grid,.use-grid { grid-template-columns:1fr; gap:20px; }
  .photo-grid { gap:20px; }
  .photo-grid figure:nth-child(3n+2) { padding-top:0; }
  .photo-grid figcaption { font-size:1.1rem; }
  .product-feature { padding:24px; }
  .site-footer,.recipes-page .site-footer { grid-template-columns:1fr 1fr; padding:44px 24px; gap:32px 24px; }
  .footer-story { grid-column:1/-1; }
  .footer-brand { font-size:2rem; }
}
@media(max-width:380px) { .seed-catalog,.photo-grid { grid-template-columns:1fr; } }
@media print { .site-footer,.site-header,.home-paths { display:none; } main,.page-shell { padding:0; } }
@media(max-width:700px) {
  .site-nav,.recipes-page .site-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 22px; width:100%; max-width:390px; }
  .site-nav a { text-align:center; }
}
