/* Reference-inspired visual preview. Original content and photography retained. */
:root {
  --preview-cream: #faf9f1;
  --preview-forest: #103c31;
  --preview-lime: #d2ee83;
}

html { scroll-padding-top: 132px; }
body { background: var(--preview-cream); }
.topbar {
  position: absolute;
  inset: clamp(20px, 2.9vw, 46px) clamp(20px, 2.9vw, 46px) auto;
  min-height: 76px;
  max-width: 1510px;
  margin-inline: auto;
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(14px, 1.7vw, 28px);
  padding: 10px clamp(22px, 2.35vw, 38px);
  border: 1px solid rgba(255, 255, 255, .74);
  border-radius: 27px;
  background: rgba(250, 249, 241, .98);
  color: var(--preview-forest);
  box-shadow: 0 10px 35px rgba(9, 36, 28, .09);
}
.brand-mark { gap: 18px; flex-shrink: 0; font-size: clamp(17px, 1.43vw, 23px); font-weight: 800; }
.brand-mark img { width: 56px; height: 56px; border-radius: 11px; }
.nav {
  order: 0;
  width: auto;
  flex: 1;
  justify-content: center;
  gap: clamp(15px, 2.2vw, 36px);
  font-size: clamp(11px, .91vw, 14px);
  font-weight: 500;
}
.nav .quote-link {
  padding: 13px 21px;
  border-radius: 12px;
  background: #145238;
  color: var(--preview-lime);
  font-weight: 700;
  box-shadow: none;
}
.nav .quote-link:hover { background: #1d6345; color: #e6f6bb; }
.portal-button {
  flex-shrink: 0;
  padding: 13px 21px;
  border: 1.25px solid var(--preview-forest);
  border-radius: 12px;
  font-size: clamp(11px, .94vw, 14px);
}
.site-editor-trigger {
  width: 52px;
  height: 52px;
  margin-left: clamp(0px, .8vw, 14px);
  border-color: #e0e4d5;
  background: #fcfcf6;
  color: var(--preview-forest);
  box-shadow: 0 5px 15px rgba(16, 60, 49, .06);
  font-size: 23px;
}

.hero {
  min-height: max(780px, min(100svh, 1080px));
  display: flex;
  align-items: stretch;
  padding: clamp(164px, 11.3vw, 185px) clamp(24px, 4.7vw, 76px) clamp(35px, 3.25vw, 52px);
  background:
    linear-gradient(180deg, rgba(12, 38, 39, .25) 0%, rgba(9, 35, 36, .25) 49%, rgba(13, 37, 22, .13) 100%),
    url('./assets/goodseed-farm-hero-1704508.jpg') center 58% / cover no-repeat;
}
.hero::after { content: none; }
.hero-inner {
  width: min(1452px, 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  text-align: center;
}
.hero .eyebrow {
  margin: 0 0 18px;
  color: #d0ee80;
  font-size: clamp(11px, .88vw, 14px);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .29em;
}
.hero h1 {
  max-width: 11.8ch;
  margin: 0 auto;
  color: #fffef8;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(86px, 8.05vw, 132px);
  font-weight: 600;
  line-height: .84;
  letter-spacing: -.045em;
  text-wrap: balance;
  text-shadow: 0 3px 25px rgba(9, 35, 36, .1);
}
.hero .hero-copy {
  max-width: 710px;
  margin: 28px 0 0;
  color: #fffef8;
  font-size: clamp(20px, 1.75vw, 28px);
  font-weight: 500;
  line-height: 1.45;
  text-wrap: pretty;
  text-shadow: 0 2px 15px rgba(9, 35, 36, .2);
}
.hero .vision-grid {
  width: 100%;
  max-width: none;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.2vw, 20px);
  margin-top: auto;
  padding-top: clamp(56px, 9vw, 148px);
  text-align: left;
}
.hero .vision-card,
.hero .vision-card.marketplace-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 7px;
  min-height: 248px;
  padding: 22px clamp(22px, 2vw, 32px) 20px;
  border: 1px solid rgba(255, 255, 255, .86);
  border-radius: 24px;
  background: rgba(250, 249, 241, .985);
  color: var(--preview-forest);
  box-shadow: 0 12px 36px rgba(15, 40, 21, .08);
  backdrop-filter: none;
  transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease;
}
.hero .vision-card::before {
  content: '';
  display: block;
  flex: 0 0 auto;
  width: 66px;
  height: 66px;
  margin-bottom: 5px;
  border-radius: 45%;
  background-color: #e7f0d5;
  background-image: var(--card-symbol);
  background-repeat: no-repeat;
  background-size: 38px 38px;
  background-position: center;
}
.hero .vision-card::after {
  content: '';
  top: 28px;
  right: 28px;
  width: 19px;
  height: 19px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23356822' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M6 5h13v13'/%3E%3C/svg%3E") center / contain no-repeat;
}
.hero .vision-card:nth-child(1) {
  --card-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23103c31' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 29V17M16 20C6 20 5 13 5 10c8 0 11 4 11 10ZM16 18c0-10 6-13 13-13 0 8-4 13-13 13ZM16 18l8-8M16 20l-6-6'/%3E%3C/svg%3E");
}
.hero .vision-card:nth-child(2) {
  --card-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23103c31' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 23 3 8 4-2-3-8-4 2ZM9 27h10l10-7c2-2 0-4-2-3l-7 4M8 22l3-3h7c4 0 4 4 0 4h-4M18 17V9M18 12C11 12 10 7 10 4c6 0 8 3 8 8ZM18 10c0-6 4-8 9-8 0 6-3 8-9 8Z'/%3E%3C/svg%3E");
}
.hero .vision-card:nth-child(3) {
  --card-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23103c31' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='8' r='4.5'/%3E%3Cpath d='M10 28V21c0-7 12-7 12 0v7H10ZM7 7a4 4 0 0 0 0 8M25 7a4 4 0 0 1 0 8M6 18c-4 0-5 2-5 5v4h5M26 18c4 0 5 2 5 5v4h-5'/%3E%3C/svg%3E");
}
.hero .vision-card:nth-child(4) {
  --card-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23103c31' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4h4l5 18h14l4-14H7'/%3E%3Ccircle cx='13' cy='28' r='1.8'/%3E%3Ccircle cx='25' cy='28' r='1.8'/%3E%3C/svg%3E");
}
.hero .vision-card strong {
  padding-right: 0;
  font-size: clamp(19px, 1.58vw, 25px);
  font-weight: 750;
  line-height: 1.17;
  letter-spacing: -.025em;
  text-wrap: pretty;
}
.hero .vision-card > span {
  color: #38453e;
  font-size: clamp(13px, 1.04vw, 16px);
  font-weight: 400;
  line-height: 1.45;
}
.hero .vision-card .marketplace-association {
  gap: 7px;
  margin-top: auto;
  padding-top: 1px;
  color: var(--preview-forest);
}
.hero .marketplace-association img { width: 43px; height: 43px; }
.hero .marketplace-association span { color: inherit; font-size: clamp(9px, .72vw, 11px); font-weight: 400; line-height: 1.35; }
.hero .vision-card:hover { background: #fffef8; transform: translateY(-5px); box-shadow: 0 20px 40px rgba(13, 40, 25, .2); }
.hero .vision-card:focus-visible { outline: 3px solid var(--preview-lime); outline-offset: 5px; }

/* Carry the same surfaces through the original lower-page sections. */
.section.paper { background: #faf9f1; }
.section.mist { background: #edf2e4; }
.vision-detail, .feature-card, .product-card, .news-card, .contact-card, .map-panel { border-radius: 22px; }
.feature-icon { border-radius: 50%; background: #e7f0d5; color: var(--preview-forest); }
.button { border-radius: 12px; }

/* Landscape trees: cream, forest and sage; keep all photo sources and crops. */
#products .tree-hero-feature {
  border-color: #d7dfca;
  border-radius: 24px;
  background: #faf9f1;
  box-shadow: 0 16px 40px rgba(22, 57, 35, .09);
}
#products .tree-hero-feature::before {
  background: linear-gradient(90deg, #faf9f1 0%, rgba(250, 249, 241, .99) 36%, rgba(250, 249, 241, .77) 47%, rgba(250, 249, 241, 0) 65%);
}
#products .tree-hero-feature::after {
  background: linear-gradient(180deg, transparent, #c5d3b5 20%, #c5d3b5 82%, transparent);
}
#products .tree-hero-feature .product-feature-content { color: var(--preview-forest); gap: clamp(10px, 1.2vw, 18px); }
#products .tree-hero-feature .badge {
  color: #58743e;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.6;
}
#products .tree-hero-feature .product-feature-content h2 {
  color: var(--preview-forest);
  font-family: var(--font-body);
  font-size: clamp(52px, 6.5vw, 100px);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.045em;
  text-shadow: none;
}
#products .tree-hero-feature .tree-hero-count {
  color: #54713a;
  font-family: var(--font-body);
  font-weight: 600;
  line-height: 1.35;
}
#products .tree-hero-feature .product-feature-content .section-copy { color: #45564a; font-weight: 500; }
#products .tree-photo-pair figure {
  border-color: #f5f6e9;
  background: #edf2e4;
  box-shadow: 0 0 0 3px rgba(182, 198, 155, .68), 0 10px 28px rgba(27, 60, 35, .14);
}
#products .tree-hero-feature .tree-hero-traits { color: #355638; font-weight: 600; }
#products .tree-hero-traits i { color: #86a158; }
#products .tree-catalog-tags .tag { border-color: #d9e2cb; background: #eef3e4; color: #355638; }
@media (max-width: 620px) {
  #products .tree-photo-main { border-bottom-color: #d7dfca; }
  #products .tree-hero-feature .product-feature-content h2 { font-size: clamp(48px, 14vw, 68px); }
}

/* Location card: size typography to the panel, not the full browser width. */
.map-panel {
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  min-width: 0;
  min-height: 650px;
  padding: 26px;
  border-radius: 26px;
}
.map-panel .map-panel-content {
  width: min(100%, 460px);
  min-width: 0;
  justify-self: start;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 22px;
  background: rgba(250, 249, 241, .97);
  color: var(--preview-forest);
  box-shadow: 0 12px 36px rgba(8, 35, 25, .16);
}
.map-panel-content::before {
  width: 42px;
  background: #789c45;
  box-shadow: none;
}
.map-panel .map-panel-content > * { min-width: 0; max-width: 100%; }
.map-panel .badge {
  padding: 8px 12px;
  border-color: #dce4d0;
  background: #e7f0d5;
  color: #355638;
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: .08em;
  white-space: normal;
  overflow-wrap: anywhere;
}
.map-panel h3 {
  width: 100%;
  max-width: 100%;
  margin: 0;
  color: var(--preview-forest);
  font-family: var(--font-body);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
  text-wrap: pretty;
  text-shadow: none;
}
.map-panel p {
  width: 100%;
  max-width: 100%;
  color: #526155;
  font-size: 15px;
  line-height: 1.75;
  font-weight: 400;
  overflow-wrap: anywhere;
}
.map-panel .map-actions { width: 100%; margin-top: 2px; }
.map-panel .map-actions .button.primary {
  width: 100%;
  min-width: 0;
  min-height: 50px;
  height: auto;
  padding: 14px 16px;
  border: 1px solid #145238;
  border-radius: 12px;
  background: #145238;
  color: #e2f2b6;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  box-shadow: none;
}
.map-panel .map-actions .button.primary:hover { background: #1d6345; }
@media (max-width: 640px) {
  .map-panel { min-height: 660px; padding: 16px; }
  .map-panel .map-panel-content { padding: 22px; gap: 16px; }
  .map-panel h3 { font-size: clamp(23px, 6.4vw, 30px); }
  .map-panel p { font-size: 14px; }
}

/* Farm map entry: match the cream cards and botanical line icons above. */
.plan-dashboard-cta {
  gap: 14px;
  margin-top: 16px;
  padding: 26px;
  border: 1px solid #dce4d0;
  border-radius: 24px;
  background: var(--preview-cream);
  color: var(--preview-forest);
  box-shadow: 0 10px 28px rgba(22, 57, 35, .07);
}
.plan-dashboard-cta::before {
  content: '';
  width: 62px;
  height: 62px;
  margin-bottom: 4px;
  border-radius: 45%;
  background: #e7f0d5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23103c31' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 8-4 10 4 8-4v22l-8 4-10-4-8 4V9ZM11 5v22M21 9v22' transform='translate(0 -2)'/%3E%3C/svg%3E") center / 32px no-repeat;
}
.plan-dashboard-cta::after {
  content: '';
  top: 26px;
  right: 26px;
  width: 38px;
  height: 38px;
  border: 1px solid #dce4d0;
  border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23356822' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 18 12-12M6 6h12v12'/%3E%3C/svg%3E") center / 18px no-repeat;
  transition: background-color 180ms ease, transform 180ms ease;
}
.plan-dashboard-cta strong {
  max-width: none;
  font-family: var(--font-body);
  font-size: clamp(22px, 1.7vw, 26px);
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: -.025em;
  text-wrap: pretty;
}
.plan-dashboard-cta span {
  color: #526155;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
}
.plan-dashboard-cta:hover {
  background: #fffef8;
  border-color: #aec493;
  box-shadow: 0 16px 34px rgba(22, 57, 35, .12);
  transform: translateY(-3px);
}
.plan-dashboard-cta:hover::after { background-color: #e7f0d5; transform: translate(2px, -2px); }
.plan-dashboard-cta:focus-visible { outline: 3px solid #7c9b48; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  .plan-dashboard-cta, .plan-dashboard-cta::after { transition: none; }
  .plan-dashboard-cta:hover, .plan-dashboard-cta:hover::after { transform: none; }
}

@media (min-width: 1400px) {
  .hero { min-height: max(950px, min(100svh, 1080px)); }
}
@media (max-width: 1200px) {
  .topbar { flex-wrap: wrap; padding: 12px 24px; gap: 10px 20px; }
  .brand-mark { margin-right: auto; }
  .nav { order: 3; flex-basis: 100%; gap: 26px; padding: 4px 0 0; font-size: 12px; }
  .nav .quote-link { padding: 9px 17px; }
  .hero { padding-top: 204px; }
  .hero .vision-card { padding: 20px; }
  .hero .vision-card::after { top: 24px; right: 22px; }
}
@media (max-width: 900px) {
  .hero { min-height: 100svh; padding-top: 200px; }
  .hero .vision-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding-top: 64px; }
  .hero .vision-card { min-height: 238px; padding: 24px; }
  .hero h1 { font-size: clamp(72px, 11vw, 98px); }
  .hero .hero-copy { max-width: 600px; font-size: 21px; }
  .hero .vision-card strong { font-size: 22px; }
  .hero .vision-card > span { font-size: 15px; }
  .hero .marketplace-association span { font-size: 11px; }
}
@media (max-width: 620px) {
  .topbar { inset: 16px 14px auto; padding: 12px 14px 10px; border-radius: 21px; gap: 9px; }
  .brand-mark { gap: 9px; font-size: 15px; }
  .brand-mark span { font-size: inherit; }
  .brand-mark img { width: 38px; height: 38px; border-radius: 8px; }
  .portal-button { margin-left: 0; padding: 10px 11px; font-size: 10px; border-radius: 9px; }
  .site-editor-trigger { width: 36px; height: 36px; margin-left: 0; font-size: 19px; }
  .nav { gap: 23px; justify-content: flex-start; padding: 5px 0 2px; overflow-x: auto; font-size: 11px; }
  .nav a { flex: 0 0 auto; }
  .nav .quote-link { padding: 8px 12px; border-radius: 8px; }
  .hero { min-height: 100svh; padding: 178px 20px 32px; background-position: center, 53% center; }
  .hero .eyebrow { margin-bottom: 20px; font-size: 9px; letter-spacing: .24em; }
  .hero h1 { max-width: 11.8ch; font-size: clamp(48px, 12.7vw, 78px); line-height: .92; }
  .hero .hero-copy { max-width: 390px; margin-top: 22px; font-size: 17px; line-height: 1.6; }
  .hero .vision-grid { grid-template-columns: 1fr; gap: 14px; padding-top: 48px; }
  .hero .vision-card { min-height: 0; padding: 22px 24px; border-radius: 22px; }
  .hero .vision-card::before { width: 56px; height: 56px; background-size: 33px; margin-bottom: 7px; }
  .hero .vision-card strong { font-size: 23px; }
  .hero .vision-card > span { font-size: 15px; line-height: 1.5; }
  .hero .vision-card .marketplace-association { margin-top: 5px; }
  .hero .marketplace-association span { max-width: 240px; font-size: 11px; }
}
@media (max-width: 375px) {
  .topbar { gap: 7px; padding-inline: 10px; }
  .brand-mark { gap: 7px; font-size: 13px; }
  .brand-mark img { width: 32px; height: 32px; }
  .portal-button { padding: 8px; font-size: 9px; }
  .site-editor-trigger { width: 31px; height: 31px; }
  .hero { padding-inline: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero .vision-card { transition: none; }
}
