@font-face {
  font-family: "Michroma";
  src: url("fonts/Michroma-Regular.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

:root {
  --forest: #0d3b2b;
  --forest-deep: #082a20;
  --leaf: #9bd52d;
  --cream: #f7f1e4;
  --paper: #fffdf8;
  --gold: #ff6b00;
  --orange: #ff6b00;
  --ink: #173128;
  --muted: #66776f;
  --font-michroma: "Michroma";
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
}
a { color: inherit; text-decoration: none; }
svg { width: 1.15em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 20;
  height: 104px;
  display: flex;
  align-items: center;
  gap: 42px;
  padding: 0 clamp(24px, 5vw, 76px);
  color: white;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.brand { display: flex; align-items: center; gap: 14px; margin-right: auto; }
.brand-mark {
  width: 58px;
  height: 58px;
  display: block;
  flex: 0 0 auto;
}
.brand-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.brand strong {
  display: block;
  font-family: var(--font-michroma), "Serpentine", "Arial Black", sans-serif;
  font-size: 21px;
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -.045em;
  transform:skewX(-7deg);
  transform-origin:left center;
}
.brand small {
  display: block;
  margin-top: 8px;
  color: var(--leaf);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .22em;
}
nav { display: flex; gap: 34px; font-size: 14px; }
nav a { position: relative; padding: 8px 0; }
nav a::after { content:""; position:absolute; left:50%; right:50%; bottom:0; height:2px; background:var(--orange); transition:.2s; }
nav a:hover::after, nav a:focus-visible::after { left:0; right:0; }
.header-call {
  display: flex; align-items: center; gap: 10px;
  border: 1px solid var(--orange);
  background:rgba(0,0,0,.25);
  border-radius: 8px;
  padding: 13px 18px;
  font-weight: 700;
  font-size: 14px;
}
.header-call svg { fill: currentColor; stroke: none; width: 16px; }

.hero {
  position: relative;
  min-height: 820px;
  height: min(900px, 100vh);
  color: white;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero-image, .hero-shade { position:absolute; inset:0; }
.hero-image {
  background: #315c41 url("images/hero-nursery.png") center/cover no-repeat;
  transform: scale(1.01);
  animation: slowZoom 10s ease-out both;
}
.hero-shade {
  background:
    linear-gradient(90deg, rgba(4,35,25,.95) 0%, rgba(4,35,25,.84) 35%, rgba(4,35,25,.3) 66%, rgba(4,35,25,.06) 100%),
    linear-gradient(0deg, rgba(4,35,25,.45), transparent 45%);
}
.hero-content {
  position: relative;
  z-index: 2;
  width: min(690px, 76vw);
  margin-left: clamp(24px, 6vw, 92px);
  padding-top: 86px;
  animation: fadeUp .7s ease-out both;
}
.eyebrow {
  margin: 0 0 20px;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
}
.eyebrow.green { color: var(--leaf); }
.hero .hero-kicker {
  color:#f3e4c8;
  font-family:Georgia, "Times New Roman", serif;
  font-size:16px;
  font-style:italic;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:none;
}
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
h1 { margin-bottom: 24px; font-size: clamp(65px, 7vw, 106px); line-height: .88; letter-spacing: -.055em; }
h1 span { display: block; color: #fff5dc; font-style: italic; }
.hero-copy { max-width: 610px; font-size: 20px; line-height: 1.7; color: rgba(255,255,255,.83); }
.hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:34px; }
.button {
  display: inline-flex; align-items:center; justify-content:center; gap:12px;
  min-height: 56px; padding: 0 25px; border-radius: 8px;
  text-transform: uppercase; letter-spacing:.08em; font-size:11px; font-weight:800;
  transition: transform .2s, background .2s, border-color .2s;
}
.button:hover { transform: translateY(-2px); }
.button-gold { background:var(--orange); color:white; box-shadow:0 12px 30px rgba(0,0,0,.18); }
.button-outline { border:1px solid rgba(255,255,255,.6); color:white; }
.button-outline:hover { background:rgba(255,255,255,.1); border-color:white; }
.button-green { background:var(--forest); color:white; }
.hero-trust { display:flex; flex-wrap:wrap; gap:0; margin-top:34px; color:rgba(255,255,255,.77); font-size:12px; }
.hero-trust span { display:flex; align-items:center; gap:8px; }
.hero-trust span + span::before { content:"•"; color:var(--gold); margin:0 17px; }
.hero-trust svg { color:var(--leaf); }
.scroll-cue {
  position:absolute; z-index:3; right:clamp(24px, 4vw, 68px); bottom:36px;
  display:flex; align-items:center; gap:14px; font-size:10px; text-transform:uppercase; letter-spacing:.2em;
  color:rgba(255,255,255,.76);
}
.scroll-cue i { display:block; width:46px; height:1px; background:var(--gold); }

.path-section { padding: 112px clamp(24px, 6vw, 92px) 122px; background:var(--paper); }
.section-intro { max-width: 730px; margin:0 auto 62px; text-align:center; }
.section-intro h2, .care-copy h2, .about-section h2, .contact-copy h2 {
  font-size:clamp(42px, 5vw, 68px); line-height:1.02; letter-spacing:-.04em;
}
.section-intro > p:last-child { max-width:640px; margin:22px auto 0; color:var(--muted); line-height:1.75; }
.path-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; max-width:1280px; margin:auto; }
.path-card { position:relative; background:var(--cream); border-radius:24px; overflow:hidden; }
.card-photo { height:360px; background-position:center; background-size:cover; }
.nursery-photo { background-image:url("images/nursery-aisle.png"); }
.landscape-photo { background-image:url("images/residential-landscape.png"); }
.card-copy { position:relative; padding:44px 46px 48px; }
.card-number { position:absolute; top:42px; right:42px; color:#afbcaf; font:italic 24px Georgia,serif; }
.card-copy h3 { max-width:500px; font-size:38px; line-height:1.08; letter-spacing:-.035em; }
.card-copy > p:not(.eyebrow) { color:var(--muted); line-height:1.7; }
.card-copy ul { padding:0; margin:24px 0 30px; list-style:none; display:grid; gap:10px; }
.card-copy li::before { content:""; display:inline-block; width:7px; height:7px; margin:0 12px 1px 0; border-radius:50%; background:var(--gold); }
.text-link { display:inline-flex; align-items:center; gap:10px; color:var(--forest); text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:800; }
.text-link svg { transition:transform .2s; }
.text-link:hover svg { transform:translateX(4px); }

.plant-band {
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:30px;
  padding:30px 24px; background:var(--forest); color:#f5ecd7;
}
.plant-band p { margin:0; font:italic 22px Georgia,serif; color:#f7fbe9; }
.plant-band i { width:5px; height:5px; border-radius:50%; background:var(--gold); }

.care-section {
  display:grid; grid-template-columns:1.15fr .85fr; gap:80px; align-items:center;
  padding:120px clamp(24px, 7vw, 110px); background:#eef0e6;
}
.care-copy { max-width:700px; }
.care-copy .eyebrow { color:#cbb58e; }
.care-copy h2 { color:var(--orange); }
.care-copy .button-green { background:var(--orange); color:white; }
.care-copy > p:not(.eyebrow) { max-width:620px; color:var(--muted); line-height:1.8; font-size:17px; }
.care-types { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:38px 0; }
.care-types div { padding:22px 0 0; border-top:1px solid #c5cdbf; }
.care-types strong { display:block; font:500 23px Georgia,serif; margin-bottom:8px; }
.care-types span { color:var(--muted); font-size:13px; line-height:1.5; }
.care-quote { position:relative; isolation:isolate; overflow:hidden; background:var(--forest); color:white; border-radius:28px; padding:64px 54px; box-shadow:0 24px 70px rgba(10,42,30,.16); }
.care-quote::before {
  content:"";
  position:absolute;
  inset:18px;
  z-index:-1;
  background:white;
  opacity:.1;
  -webkit-mask:url("images/logo-mark.svg") right center/72% auto no-repeat;
  mask:url("images/logo-mark.svg") right center/72% auto no-repeat;
}
.care-quote blockquote { margin:0 0 20px; font:italic 38px/1.25 Georgia,serif; }
.care-quote p { margin:0; color:#d8e2dc; font-size:13px; }

.client-section {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:clamp(48px, 8vw, 120px);
  align-items:center;
  padding:104px clamp(24px, 7vw, 110px);
  background:var(--paper);
}
.client-intro { max-width:570px; }
.client-intro h2 {
  margin-bottom:22px;
  font-size:clamp(40px, 4.6vw, 64px);
  line-height:1.02;
  letter-spacing:-.04em;
}
.client-intro > p:last-child {
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.75;
}
.client-proof {
  padding:46px 50px 38px;
  border:1px solid #e4dfd2;
  border-radius:24px;
  background:var(--cream);
}
.client-proof > p {
  margin-bottom:34px;
  color:var(--forest);
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.5;
  text-align:center;
  text-transform:uppercase;
}
.client-logos {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.client-logo {
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:24px;
  border-radius:16px;
  background:white;
  box-shadow:0 10px 30px rgba(13,59,43,.06);
}
.client-logo img { width:58px; height:58px; object-fit:contain; }
.client-logo img.seven-eleven-logo {
  width:68px;
  height:68px;
  object-fit:contain;
}
.walmart-spark {
  position:relative;
  width:58px;
  height:58px;
  display:block;
}
.walmart-spark i {
  position:absolute;
  width:9px;
  height:20px;
  border-radius:999px;
  background:#fdbb30;
}
.walmart-spark i:nth-child(1) { top:1px; left:24.5px; }
.walmart-spark i:nth-child(2) { top:10px; right:8px; transform:rotate(60deg); }
.walmart-spark i:nth-child(3) { right:8px; bottom:10px; transform:rotate(120deg); }
.walmart-spark i:nth-child(4) { bottom:1px; left:24.5px; }
.walmart-spark i:nth-child(5) { left:8px; bottom:10px; transform:rotate(60deg); }
.walmart-spark i:nth-child(6) { top:10px; left:8px; transform:rotate(120deg); }
.client-logo strong {
  color:var(--ink);
  font-size:18px;
  letter-spacing:-.02em;
}
.client-proof small {
  display:block;
  max-width:620px;
  margin:24px auto 0;
  color:#7e8983;
  font-size:10px;
  line-height:1.55;
  text-align:center;
}

.about-section {
  display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center;
  padding:110px clamp(24px, 7vw, 110px); background:var(--orange); color:#fffdf3;
}
.about-section .eyebrow { color:#fff4dc; }
.about-section h2 { margin:0; }
.about-section > p { margin:0; max-width:610px; color:#fffdf3; font-size:18px; line-height:1.8; }

.contact-section {
  display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:center;
  padding:110px clamp(24px, 7vw, 110px); background:var(--forest-deep); color:white;
}
.contact-copy > p:not(.eyebrow) { max-width:620px; color:#b8c9bf; line-height:1.75; }
.contact-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.contact-actions .button svg { fill:currentColor; stroke:none; }
.visit-card { background:var(--cream); color:var(--ink); border-radius:24px; padding:45px; }
.visit-card .eyebrow { color:var(--forest); }
.visit-card h3 { font-size:30px; line-height:1.3; }
.visit-card dl { margin:30px 0; border-top:1px solid #d7d7c8; }
.visit-card dl div { display:flex; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid #d7d7c8; font-size:13px; }
.visit-card dd { margin:0; font-weight:700; }

footer {
  display:flex; align-items:center; justify-content:space-between; gap:30px;
  padding:30px clamp(24px, 6vw, 92px); background:#061e17; color:#91a69b; font-size:11px;
}
footer p { margin:0; }
.footer-credit a { color:var(--leaf); font-weight:700; }
.footer-credit a:hover { text-decoration:underline; }
.footer-brand { display:flex; align-items:center; gap:9px; color:white; }
.footer-brand > img { width:44px; height:44px; object-fit:contain; flex:0 0 auto; }
.footer-brand strong {
  display:block;
  font-family:var(--font-michroma), "Serpentine", "Arial Black", sans-serif;
  font-size:12px;
  letter-spacing:-.04em;
  transform:skewX(-7deg);
  transform-origin:left center;
}
.footer-brand small {
  display:block;
  margin-top:5px;
  color:var(--leaf);
  font-size:6px;
  letter-spacing:.18em;
  text-transform:uppercase;
}

@keyframes fadeUp { from { opacity:0; transform:translateY(18px); } }
@keyframes slowZoom { from { transform:scale(1); } to { transform:scale(1.035); } }

@media (max-width: 980px) {
  nav { display:none; }
  .site-header { height:88px; }
  .hero { min-height:760px; }
  .path-grid, .care-section, .client-section, .about-section, .contact-section { grid-template-columns:1fr; }
  .care-section, .client-section, .about-section, .contact-section { gap:50px; }
  .about-section > p { max-width:none; }
  footer { flex-wrap:wrap; }
}

@media (max-width: 640px) {
  .site-header { padding:0 18px; }
  .brand strong { font-size:16px; }
  .brand small { font-size:7px; }
  .brand-mark { width:46px; height:46px; }
  .header-call { padding:12px; }
  .header-call span { display:none; }
  .hero { height:auto; min-height:760px; }
  .hero-content { width:auto; margin:0 20px; padding-top:100px; }
  h1 { font-size:60px; }
  .hero-copy { font-size:17px; }
  .button { width:100%; }
  .hero-actions { width:100%; }
  .hero-trust { gap:10px 0; }
  .hero-trust span { width:100%; }
  .hero-trust span + span::before { margin:0 10px 0 0; }
  .scroll-cue { display:none; }
  .path-section, .care-section, .client-section, .about-section, .contact-section { padding:78px 20px; }
  .card-photo { height:250px; }
  .card-copy { padding:34px 26px 38px; }
  .card-copy h3 { font-size:33px; }
  .card-number { top:32px; right:26px; }
  .plant-band { gap:16px; }
  .plant-band p { font-size:17px; }
  .care-types { grid-template-columns:1fr; }
  .care-quote { padding:46px 30px; }
  .care-quote blockquote { font-size:31px; }
  .client-proof { padding:32px 20px 28px; }
  .client-logos { grid-template-columns:1fr; }
  .client-logo { min-height:125px; }
  .contact-actions { width:100%; }
  .visit-card { padding:32px 24px; }
  .visit-card dl div { display:block; }
  .visit-card dd { margin-top:5px; }
  footer { display:grid; text-align:center; justify-items:center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none!important; transition:none!important; }
}

/* Wholesale catalog and quote system */
button, input, select, textarea { font:inherit; }
button { color:inherit; }
input, select, textarea {
  width:100%;
  border:1px solid #cfd7d1;
  border-radius:8px;
  background:white;
  color:var(--ink);
  padding:13px 14px;
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
input:focus, select:focus, textarea:focus {
  border-color:var(--forest);
  box-shadow:0 0 0 3px rgba(13,59,43,.12);
}
textarea { resize:vertical; }
label { display:grid; gap:8px; color:#40534a; font-size:12px; font-weight:700; letter-spacing:.02em; }
.interior-page { background:#f9f7f0; }
.interior-header {
  position:relative;
  height:96px;
  background:var(--forest-deep);
}
.interior-header nav .active::after { left:0; right:0; }
.quote-nav {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border:1px solid var(--orange);
  border-radius:8px;
  color:white;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.quote-nav:hover, .quote-nav.active { background:var(--orange); }
.quote-nav [data-quote-count], .floating-quote [data-quote-count] {
  display:grid;
  place-items:center;
  min-width:23px;
  height:23px;
  margin-left:8px;
  padding:0 6px;
  border-radius:20px;
  background:white;
  color:var(--forest);
  font-size:11px;
}
.quote-nav [data-quote-count][hidden], .floating-quote [data-quote-count][hidden] { display:none; }
.catalog-hero, .quote-hero {
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(300px, .65fr);
  gap:clamp(50px, 8vw, 120px);
  align-items:center;
  padding:88px clamp(24px, 7vw, 110px) 94px;
  background:var(--forest);
  color:white;
}
.catalog-hero h1, .quote-hero h1 {
  max-width:900px;
  margin-bottom:28px;
  font-size:clamp(48px, 5.5vw, 78px);
  line-height:.98;
}
.catalog-hero h1 span, .quote-hero h1 span { color:#fff5dc; font-style:italic; }
.catalog-hero > div > p:last-child, .quote-hero > div > p:last-child {
  max-width:750px;
  margin:0;
  color:#c9d8d0;
  font-size:18px;
  line-height:1.7;
}
.catalog-hero aside {
  padding:34px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:20px;
  background:rgba(255,255,255,.07);
}
.catalog-hero aside > strong {
  display:block;
  margin-bottom:22px;
  color:var(--leaf);
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.catalog-hero ol { display:grid; gap:18px; margin:0; padding:0; list-style:none; }
.catalog-hero li { display:flex; align-items:center; gap:14px; color:#edf3ef; font-size:14px; line-height:1.45; }
.catalog-hero li span { display:grid; place-items:center; width:30px; height:30px; flex:0 0 auto; border-radius:50%; background:var(--orange); color:white; font-weight:800; }
.catalog-audiences {
  padding:78px clamp(24px, 6vw, 92px);
  background:#fffaf1;
}
.catalog-audiences-intro {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 480px);
  gap:50px;
  align-items:end;
  max-width:1380px;
  margin:0 auto 38px;
}
.catalog-audiences-intro h2 {
  max-width:780px;
  margin:0;
  color:var(--forest);
  font-size:clamp(38px, 4.5vw, 64px);
  line-height:1.02;
  letter-spacing:-.04em;
}
.catalog-audiences-intro > p { margin:0; color:var(--muted); line-height:1.7; }
.catalog-audience-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  max-width:1380px;
  margin:auto;
}
.catalog-audience-grid article {
  padding:34px;
  border:1px solid #dfe4d9;
  border-radius:18px;
  background:white;
  box-shadow:0 14px 36px rgba(13,59,43,.08);
}
.catalog-audience-grid article:first-child { border-color:var(--forest); background:var(--forest); color:white; }
.catalog-audience-grid h3 { margin:6px 0 14px; font:500 clamp(28px, 2.8vw, 40px)/1.08 Georgia,serif; }
.catalog-audience-grid article:not(:first-child) h3 { color:var(--forest); }
.catalog-audience-grid article > p:last-child { margin:0; color:var(--muted); line-height:1.7; }
.catalog-audience-grid article:first-child > p:last-child { color:#c9d8d0; }
.catalog-category-hub {
  padding:86px clamp(24px, 6vw, 92px) 92px;
  background:#eef0e6;
}
.category-hub-heading {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 480px);
  gap:50px;
  align-items:end;
  max-width:1380px;
  margin:0 auto 42px;
}
.category-hub-heading h2, .category-page-hero h1, .category-collection-heading h2, .related-heading h2 {
  margin:0;
  color:var(--forest);
  font-size:clamp(38px, 4.5vw, 64px);
  line-height:1.02;
  letter-spacing:-.04em;
}
.category-hub-heading > p { margin:0; color:var(--muted); line-height:1.7; }
.category-hub-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  max-width:1380px;
  margin:auto;
}
.category-hub-card {
  position:relative;
  isolation:isolate;
  min-height:210px;
  overflow:hidden;
  border-radius:18px;
  background:var(--forest);
  color:white;
  box-shadow:0 14px 36px rgba(13,59,43,.12);
}
.category-hub-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg, rgba(4,35,25,.9), rgba(4,35,25,.08) 72%); }
.category-hub-card img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.category-hub-card:hover img { transform:scale(1.05); }
.category-hub-card span { position:absolute; right:20px; bottom:19px; left:20px; display:flex; align-items:end; justify-content:space-between; gap:14px; }
.category-hub-card strong { font:500 25px/1.05 Georgia,serif; }
.category-hub-card small { color:#e7eee9; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.catalog-shell { padding:94px clamp(24px, 6vw, 92px) 110px; }
.catalog-heading {
  display:grid;
  grid-template-columns:1fr minmax(280px, 480px);
  gap:50px;
  align-items:end;
  max-width:1380px;
  margin:0 auto 48px;
}
.catalog-heading h2, .quote-section-heading h2, .plant-specs h2, .plant-planning h2, .catalog-return h2, .quote-explainer h2 {
  margin:0;
  font-size:clamp(36px, 4.2vw, 58px);
  line-height:1.05;
  letter-spacing:-.04em;
}
.catalog-heading > p { margin:0; color:var(--muted); line-height:1.7; }
.catalog-toolbar {
  display:grid;
  grid-template-columns:minmax(280px, 1.8fr) minmax(210px, .8fr) auto;
  gap:16px;
  align-items:end;
  max-width:1380px;
  margin:0 auto 32px;
  padding:20px;
  border:1px solid #e4e3d9;
  border-radius:14px;
  background:white;
  box-shadow:0 12px 34px rgba(13,59,43,.05);
}
.catalog-toolbar label > span { text-transform:uppercase; letter-spacing:.09em; }
.catalog-toolbar > p { min-width:78px; margin:0 0 13px; color:var(--forest); font-weight:800; text-align:right; }
.catalog-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:28px;
  max-width:1380px;
  margin:auto;
}
.catalog-sentinel { display:flex; min-height:78px; align-items:center; justify-content:center; max-width:1380px; margin:16px auto 0; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.catalog-sentinel[hidden] { display:none; }
.catalog-sentinel span::before { content:""; display:inline-block; width:8px; height:8px; margin:0 10px 1px 0; border-radius:50%; background:var(--orange); animation:sentinelPulse 1.1s ease-in-out infinite alternate; }
.catalog-noscript { max-width:1380px; margin:24px auto 0; padding:18px 20px; border-radius:10px; background:#fff3e6; color:var(--ink); line-height:1.6; }
.catalog-card {
  overflow:hidden;
  border:1px solid #e1e3da;
  border-radius:20px;
  background:white;
  box-shadow:0 12px 36px rgba(13,59,43,.055);
  transition:transform .2s, box-shadow .2s;
}
.catalog-card:hover { transform:translateY(-4px); box-shadow:0 18px 46px rgba(13,59,43,.11); }
.catalog-card-image { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:#dce5db; }
.catalog-card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.catalog-card:hover .catalog-card-image img { transform:scale(1.035); }
.plant-badge {
  position:absolute;
  top:16px;
  left:16px;
  display:inline-flex;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(8,42,32,.9);
  color:white;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.catalog-card-body { padding:28px 28px 30px; }
.plant-category { margin:0 0 10px; color:var(--orange); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.catalog-card h2 { margin:0 0 5px; color:var(--forest); font-size:30px; line-height:1.08; }
.catalog-card h2 a:hover { color:var(--orange); }
.botanical-name { margin:0; color:#6e7e75; font:italic 14px Georgia,serif; }
.botanical-name.large { margin-bottom:26px; font-size:19px; }
.catalog-summary { min-height:72px; margin:20px 0; color:var(--muted); font-size:14px; line-height:1.65; }
.quick-facts { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 22px; }
.quick-facts div { padding:12px; border-radius:8px; background:#f4f5ef; }
.quick-facts dt { margin-bottom:5px; color:#7b8b82; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.quick-facts dd { margin:0; color:var(--ink); font-size:12px; font-weight:700; line-height:1.35; }
.quick-add { display:grid; grid-template-columns:minmax(0, 1fr) 72px; gap:10px; }
.quick-add .button { grid-column:1/-1; min-height:48px; width:100%; border:0; cursor:pointer; }
.quick-add select, .quick-add input { padding:11px 10px; font-size:12px; }
.detail-link { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:18px; color:var(--forest); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.detail-link:hover { color:var(--orange); }
.empty-state { grid-column:1/-1; padding:80px 20px; border:1px dashed #bdc8c0; border-radius:20px; text-align:center; }
.empty-state h2 { font-size:38px; }
.empty-state .button { border:0; cursor:pointer; }
.quote-explainer {
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:clamp(32px, 6vw, 90px);
  align-items:center;
  padding:78px clamp(24px, 7vw, 110px);
  background:var(--forest);
  color:white;
}
.quote-explainer .eyebrow { color:var(--leaf); }
.quote-explainer p:not(.eyebrow) { margin:0; color:#c7d5ce; line-height:1.75; }
.quote-explainer .button { white-space:nowrap; }
.catalog-toast {
  position:fixed;
  z-index:100;
  right:24px;
  bottom:24px;
  max-width:380px;
  padding:17px 20px;
  border-radius:10px;
  background:var(--forest-deep);
  color:white;
  box-shadow:0 16px 50px rgba(0,0,0,.22);
  font-size:13px;
  font-weight:700;
}
.catalog-toast[hidden] { display:none; }
.floating-quote { display:none; }

/* Category pages */
.category-page-hero {
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(300px, .9fr);
  min-height:520px;
  background:var(--forest);
  color:white;
}
.category-page-copy { display:flex; flex-direction:column; justify-content:center; padding:76px clamp(24px, 7vw, 110px); }
.category-page-hero h1 { color:white; }
.category-page-hero h1 span { color:#fff5dc; font-style:italic; }
.category-page-copy > p:last-child { max-width:760px; margin:24px 0 0; color:#c9d8d0; font-size:18px; line-height:1.75; }
.category-page-image { position:relative; min-height:420px; overflow:hidden; }
.category-page-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(13,59,43,.25), transparent 35%); }
.category-page-image img { display:block; width:100%; height:100%; object-fit:cover; }
.category-collection { padding:92px clamp(24px, 6vw, 92px) 110px; }
.category-collection-heading { display:grid; grid-template-columns:1fr minmax(280px, 500px); gap:50px; align-items:end; max-width:1380px; margin:0 auto 42px; }
.category-collection-heading > p { margin:0; color:var(--muted); line-height:1.7; }
.category-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:28px; max-width:1380px; margin:auto; }
.category-card .catalog-summary { min-height:0; }
.category-card .detail-link { justify-content:flex-start; }
.category-cta { display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; padding:70px clamp(24px, 7vw, 110px); background:var(--forest); color:white; }
.category-cta h2 { margin:0 0 12px; color:white; font-size:clamp(36px, 4vw, 54px); }
.category-cta p { margin:0; color:#c9d8d0; line-height:1.7; }

/* Plant detail */
.plant-detail-page { background:var(--paper); }
.breadcrumbs { display:flex; align-items:center; gap:10px; padding:25px clamp(24px, 6vw, 92px); border-bottom:1px solid #e4e3da; color:#718078; font-size:12px; line-height:1.35; }
.breadcrumbs > * { display:inline-flex; align-items:center; min-height:18px; }
.breadcrumbs a { color:var(--forest); font-weight:700; }
.detail-hero { display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr); min-height:700px; }
.detail-image { position:relative; min-height:620px; background:#dfe6dc; }
.detail-image img { display:block; width:100%; height:100%; object-fit:cover; }
.detail-intro { display:flex; flex-direction:column; justify-content:center; padding:70px clamp(32px, 6vw, 90px); }
.detail-intro h1 { margin:0 0 8px; color:var(--forest); font-size:clamp(52px, 6vw, 84px); line-height:.95; }
.detail-lead { color:var(--muted); font-size:17px; line-height:1.75; }
.detail-quote-card { margin-top:30px; padding:26px; border-radius:16px; background:#f1f3eb; }
.detail-quote-card h2 { margin:0 0 20px; font-size:24px; }
.detail-quote-fields { display:grid; grid-template-columns:1fr 110px; gap:12px; margin-bottom:14px; }
.detail-quote-card > label { margin-bottom:14px; }
.detail-quote-card .button { width:100%; border:0; cursor:pointer; }
.form-confirmation { margin:14px 0 0; color:var(--forest); font-size:12px; font-weight:700; line-height:1.5; }
.plant-specs {
  display:grid;
  grid-template-columns:minmax(250px, .65fr) minmax(0, 1.35fr);
  gap:70px;
  padding:100px clamp(24px, 7vw, 110px);
  background:#f2f0e7;
}
.plant-specs > div > p:last-child { margin-top:24px; color:var(--muted); line-height:1.7; }
.spec-grid { display:grid; grid-template-columns:repeat(3, 1fr); margin:0; border-top:1px solid #cfd4ca; border-left:1px solid #cfd4ca; }
.spec-grid div { min-height:116px; padding:24px; border-right:1px solid #cfd4ca; border-bottom:1px solid #cfd4ca; }
.spec-grid dt { margin-bottom:10px; color:#6f8177; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.spec-grid dd { margin:0; color:var(--forest); font:500 18px/1.35 Georgia,serif; }
.plant-planning { display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px; padding:100px clamp(24px, 7vw, 110px); }
.plant-planning article { padding:38px; border:1px solid #e0e3db; border-radius:18px; }
.plant-planning h2 { font-size:34px; }
.plant-planning h3 { margin:25px 0 8px; color:var(--forest); font-size:13px; font-weight:800; font-family:Arial, sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.plant-planning p { color:var(--muted); line-height:1.75; }
.use-list { display:grid; gap:12px; margin:28px 0 0; padding:0; list-style:none; }
.use-list li { padding:13px 16px; border-radius:8px; background:#f3f4ed; color:var(--forest); font-weight:700; }
.buyer-callout { background:var(--forest)!important; color:white; }
.buyer-callout .eyebrow { color:var(--leaf); }
.buyer-callout p { color:#c7d6ce; }
.buyer-callout .button { margin-top:18px; }
.related-plants { padding:94px clamp(24px, 7vw, 110px); background:#eef0e6; }
.related-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; max-width:1380px; margin:0 auto 40px; }
.related-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:22px; max-width:1380px; margin:auto; }
.related-card { overflow:hidden; border:1px solid #d9ded6; border-radius:17px; background:white; box-shadow:0 12px 34px rgba(13,59,43,.06); }
.related-card > a { display:block; aspect-ratio:4/3; overflow:hidden; background:#dce5db; }
.related-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.related-card:hover img { transform:scale(1.04); }
.related-card > div { padding:23px; }
.related-card h3 { margin:0 0 5px; color:var(--forest); font-size:25px; line-height:1.1; }
.related-card .detail-link { justify-content:flex-start; }
.catalog-return { padding:75px 24px; background:var(--orange); color:white; text-align:center; }
.catalog-return p { max-width:650px; margin:18px auto 28px; line-height:1.65; }
.catalog-return .button { background:white; color:var(--forest); }

/* Quote request */
.quote-hero { grid-template-columns:minmax(0, 1fr) auto; padding-top:72px; padding-bottom:72px; }
.quote-hero h1 { margin-bottom:20px; }
.quote-layout { display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(380px, .9fr); gap:34px; align-items:start; max-width:1480px; margin:auto; padding:75px clamp(24px, 5vw, 76px) 100px; }
.quote-review, .quote-form { padding:34px; border:1px solid #e0e2da; border-radius:20px; background:white; box-shadow:0 14px 40px rgba(13,59,43,.05); }
.quote-section-heading { display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:30px; }
.quote-section-heading .eyebrow { margin-bottom:10px; }
.quote-section-heading h2 { font-size:38px; }
.quote-section-heading > strong { padding:9px 12px; border-radius:999px; background:#edf0e8; color:var(--forest); font-size:11px; }
.quote-empty { padding:70px 20px; border:1px dashed #bec9c1; border-radius:14px; text-align:center; }
.quote-empty[hidden], .quote-items[hidden] { display:none; }
.quote-empty img { width:76px; height:76px; margin-bottom:16px; }
.quote-empty h3 { margin-bottom:10px; font-size:30px; }
.quote-empty p { max-width:440px; margin:0 auto 24px; color:var(--muted); line-height:1.65; }
.quote-line { display:grid; grid-template-columns:100px minmax(130px, 1fr) minmax(130px, .85fr) 85px; gap:14px; align-items:end; padding:18px 0; border-top:1px solid #e3e6de; }
.quote-line:first-child { border-top:0; }
.quote-line > img { grid-row:1/3; width:100px; height:100px; border-radius:10px; object-fit:cover; }
.quote-line-name { align-self:center; }
.quote-line-name h3 { margin:0 0 4px; color:var(--forest); font-size:21px; }
.quote-line-name p { margin:0; color:#76837c; font:italic 12px Georgia,serif; }
.quote-line select, .quote-line input { padding:11px; font-size:12px; }
.quote-line-notes { grid-column:2/5; }
.remove-line { grid-column:4; justify-self:end; border:0; background:transparent; color:#a43d2f; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.quote-form fieldset { display:grid; gap:18px; margin:0 0 28px; padding:0; border:0; }
.quote-form legend { width:100%; margin-bottom:18px; padding:0 0 10px; border-bottom:1px solid #dfe4dd; color:var(--forest); font:500 23px Georgia,serif; }
.form-grid { display:grid; gap:16px; }
.form-grid.two-column { grid-template-columns:1fr 1fr; }
.form-span-two { grid-column:1 / -1; }
.quote-form fieldset > label { margin-top:2px; }
.consent-check { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; margin:4px 0 22px; line-height:1.5; }
.consent-check input { width:17px; height:17px; margin:0; accent-color:var(--forest); }
.submit-quote { width:100%; border:0; cursor:pointer; }
.submit-quote:disabled { opacity:.48; cursor:not-allowed; transform:none; }
.form-footnote { margin:14px 0 0; color:#718078; font-size:11px; line-height:1.55; text-align:center; }
.optional-label { color:#718078; font-size:11px; font-weight:500; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.quote-page footer a { color:var(--leaf); }

/* Image credits */
.credits-page { max-width:900px; margin:auto; padding:85px 24px 110px; }
.credits-page h1 { color:var(--forest); font-size:clamp(50px, 7vw, 80px); }
.credits-page > p:not(.eyebrow) { max-width:760px; color:var(--muted); font-size:17px; line-height:1.7; }
.credit-list { display:grid; gap:0; margin:38px 0; padding:0; border-top:1px solid #d7ddd6; list-style:none; }
.credit-list li { padding:18px 0; border-bottom:1px solid #d7ddd6; color:#586a61; line-height:1.6; }
.credit-list a { color:var(--forest); font-weight:700; text-decoration:underline; }
.response-page { display:grid; justify-items:center; max-width:820px; min-height:80vh; margin:auto; padding:100px 24px; text-align:center; }
.response-page > img { width:100px; height:100px; margin-bottom:25px; }
.response-page h1 { color:var(--forest); font-size:clamp(48px, 7vw, 76px); line-height:1; }
.response-page > p:not(.eyebrow) { max-width:650px; color:var(--muted); font-size:18px; line-height:1.7; }
.response-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:24px; }
.response-call { border:1px solid var(--forest); color:var(--forest); }

@media (max-width: 1180px) {
  .catalog-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .category-hub-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .category-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .related-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .quote-layout { grid-template-columns:1fr; }
  .plant-planning { grid-template-columns:1fr 1fr; }
  .buyer-callout { grid-column:1/-1; }
}

@media (max-width: 980px) {
  .interior-header { height:88px; }
  .catalog-hero, .catalog-audiences-intro, .catalog-heading, .category-hub-heading, .category-page-hero, .category-collection-heading, .quote-explainer, .plant-specs { grid-template-columns:1fr; }
  .catalog-hero { gap:40px; }
  .category-page-image { min-height:auto; aspect-ratio:16/8; }
  .catalog-toolbar { grid-template-columns:1fr 1fr; }
  .catalog-toolbar > p { grid-column:1/-1; margin:0; text-align:left; }
  .detail-hero { grid-template-columns:1fr; }
  .detail-image { min-height:auto; aspect-ratio:16/10; }
  .plant-planning { grid-template-columns:1fr; }
  .buyer-callout { grid-column:auto; }
  .quote-explainer { gap:28px; }
  .quote-explainer .button { justify-self:start; }
  .interior-header .quote-nav { margin-left:auto; }
}

@media (max-width: 700px) {
  .interior-header { gap:12px; padding:0 14px; }
  .interior-header .brand { gap:9px; }
  .interior-header .brand-mark { width:40px; height:40px; }
  .interior-header .brand strong { font-size:14px; }
  .interior-header .brand small { font-size:6px; }
  .interior-header .quote-nav { width:auto; min-width:72px; min-height:42px; gap:7px; overflow:visible; padding:0 11px; color:white; font-size:0; }
  .interior-header .quote-nav::before { content:"Quote"; color:white; font-size:10px; font-weight:800; letter-spacing:.08em; }
  .quote-nav [data-quote-count] { position:static; min-width:19px; height:19px; margin:0; padding:0 5px; font-size:9px; }
  .catalog-hero, .quote-hero { grid-template-columns:1fr; padding:64px 20px; }
  .catalog-hero h1, .quote-hero h1 { font-size:48px; }
  .catalog-hero > div > p:last-child, .quote-hero > div > p:last-child { font-size:16px; }
  .catalog-audiences { padding:64px 20px; }
  .catalog-audiences-intro { gap:22px; margin-bottom:30px; }
  .catalog-audience-grid { grid-template-columns:1fr; }
  .catalog-shell { padding:68px 20px 76px; }
  .catalog-category-hub, .category-collection, .related-plants { padding:68px 20px; }
  .category-hub-heading, .category-collection-heading { gap:22px; margin-bottom:34px; }
  .category-hub-grid, .category-grid, .related-grid { grid-template-columns:1fr; }
  .category-hub-card { min-height:230px; }
  .category-page-copy { padding:64px 20px; }
  .category-page-copy > p:last-child { font-size:16px; }
  .category-cta { grid-template-columns:1fr; padding:62px 20px; }
  .category-cta .button { justify-self:start; }
  .related-heading { display:grid; gap:22px; }
  .catalog-heading { gap:22px; margin-bottom:34px; }
  .catalog-toolbar { grid-template-columns:1fr; }
  .catalog-toolbar > p { grid-column:auto; }
  .catalog-grid { grid-template-columns:1fr; }
  .catalog-summary { min-height:0; }
  .quote-explainer { padding:62px 20px; }
  .floating-quote { position:fixed; z-index:95; right:16px; bottom:16px; display:flex; align-items:center; padding:14px 16px; border-radius:999px; background:var(--orange); color:white; box-shadow:0 10px 30px rgba(0,0,0,.25); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
  .detail-intro { padding:58px 20px; }
  .detail-intro h1 { font-size:51px; }
  .detail-quote-fields, .form-grid.two-column { grid-template-columns:1fr; }
  .plant-specs, .plant-planning { padding:68px 20px; gap:34px; }
  .spec-grid { grid-template-columns:1fr 1fr; }
  .plant-planning article { padding:28px 24px; }
  .breadcrumbs { padding:20px; overflow:auto; white-space:nowrap; }
  .quote-layout { padding:50px 14px 72px; }
  .quote-review, .quote-form { padding:24px 18px; }
  .quote-section-heading { align-items:flex-start; }
  .quote-line { grid-template-columns:72px 1fr 80px; align-items:end; }
  .quote-line > img { grid-row:auto; width:72px; height:72px; }
  .quote-line-name { grid-column:2/4; }
  .quote-line > label:nth-of-type(1) { grid-column:1/3; }
  .quote-line > label:nth-of-type(2) { grid-column:3; }
  .quote-line-notes { grid-column:1/4; }
  .remove-line { grid-column:3; }
}

@keyframes sentinelPulse { from { transform:scale(.8); opacity:.45; } to { transform:scale(1.25); opacity:1; } }

@media (max-width: 430px) {
  .catalog-card-body { padding:24px 20px 26px; }
  .quick-add { grid-template-columns:1fr 68px; }
  .spec-grid { grid-template-columns:1fr; }
  .quote-section-heading { display:grid; }
}
