:root {
  color-scheme: light;
  --ink: #111410;
  --ink-soft: rgba(17, 20, 16, 0.68);
  --paper: #f7f7f2;
  --white: #ffffff;
  --sage: #dfe7d7;
  --sage-deep: #4c684d;
  --line: rgba(17, 20, 16, 0.14);
  --radius: 1.6rem;
}

* { box-sizing: border-box; }
html { background: var(--paper); scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input { font: inherit; }
a { color: inherit; }
.section-shell { width: min(100% - 3rem, 86rem); margin-inline: auto; }
.section-pad { padding-block: clamp(5rem, 9vw, 9rem); }

.hero { position: relative; isolation: isolate; display: grid; min-height: 100vh; min-height: 100svh; grid-template-rows: auto 1fr auto; overflow: hidden; background: var(--paper) url("assets/garden-feels-hero.png") center / cover no-repeat; }
.hero::before { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(255, 255, 252, 0.54) 0%, rgba(255, 255, 252, 0.68) 40%, rgba(255, 255, 252, 0.9) 72%, rgba(255, 255, 252, 0.98) 100%); content: ""; }
.site-header { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: clamp(1.6rem, 3.5vw, 3rem) clamp(1.5rem, 5vw, 5.5rem); }
.brand { display: inline-flex; flex: 0 0 auto; gap: 0.72rem; align-items: center; font-size: clamp(1.05rem, 1.7vw, 1.4rem); font-weight: 750; letter-spacing: 0.01em; text-decoration: none; }
.brand-mark { position: relative; display: inline-block; width: 2rem; height: 2.1rem; }
.brand-mark::after { position: absolute; bottom: 0.05rem; left: 0.94rem; width: 0.22rem; height: 1.35rem; border-radius: 100% 0 100% 0; background: currentColor; content: ""; transform: rotate(13deg); transform-origin: bottom center; }
.leaf { position: absolute; z-index: 1; display: block; border-radius: 100% 0 100% 0; background: currentColor; }
.leaf-left { bottom: 0.72rem; left: 0.08rem; width: 0.78rem; height: 1.08rem; transform: rotate(-50deg); }
.leaf-right { top: 0; right: 0.05rem; width: 0.92rem; height: 1.36rem; transform: scaleX(-1) rotate(-19deg); }
.primary-nav { display: flex; gap: clamp(0.1rem, 0.8vw, 0.65rem); align-items: center; }
.primary-nav a { position: relative; padding: 0.65rem 0.72rem; font-size: 0.82rem; font-weight: 650; letter-spacing: 0.025em; text-decoration: none; }
.primary-nav a:not(.nav-cta)::after { position: absolute; right: 0.72rem; bottom: 0.38rem; left: 0.72rem; height: 1px; background: currentColor; content: ""; opacity: 0; transform: scaleX(0.4); transition: opacity 180ms ease, transform 180ms ease; }
.primary-nav a:hover::after, .primary-nav a:focus-visible::after { opacity: 1; transform: scaleX(1); }
.primary-nav a:focus-visible, .hero-link:focus-visible, .scroll-cue:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.nav-cta { margin-left: 0.35rem; border-radius: 999px; background: var(--ink); color: var(--white); }

.hero-content { align-self: center; width: min(100% - 3rem, 76rem); margin-inline: auto; padding: 3rem 0 4rem; text-align: center; animation: reveal 1.1s cubic-bezier(0.2, 0.75, 0.3, 1) both; }
.kicker, .section-label, .card-meta, .scroll-cue { margin: 0; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; }
.kicker { margin-bottom: 1.6rem; color: var(--ink-soft); }
h1, h2, h3, p { text-wrap: pretty; }
h1 { max-width: 12ch; margin: 0 auto; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.6rem, 9.3vw, 9rem); font-weight: 400; line-height: 0.86; letter-spacing: -0.055em; text-shadow: 0 3px 28px rgba(255, 255, 255, 0.55); }
h1 span { display: block; font-style: italic; font-weight: 400; }
.intro { max-width: 43rem; margin: clamp(1.8rem, 4vh, 3rem) auto 0; color: var(--ink-soft); font-size: clamp(1rem, 1.55vw, 1.2rem); line-height: 1.65; }
.audience-grid { display: grid; max-width: 58rem; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; margin: 2.25rem auto 0; text-align: left; }
.area-card { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: start; min-height: 8.4rem; padding: 1.4rem; border: 1px solid rgba(17, 20, 16, 0.13); border-radius: 1.25rem; background: rgba(255, 255, 252, 0.84); text-decoration: none; backdrop-filter: blur(12px); transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease; }
.area-card:hover { background: var(--white); box-shadow: 0 1rem 2.4rem rgba(35, 52, 35, 0.12); transform: translateY(-3px); }
.area-card:focus-visible { outline: 2px solid var(--sage-deep); outline-offset: 3px; }
.area-number { padding-top: 0.18rem; color: var(--sage-deep); font-size: 0.65rem; font-weight: 750; letter-spacing: 0.12em; }
.area-card strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.35rem, 2.2vw, 1.85rem); font-weight: 400; line-height: 1.05; }
.area-card small { display: block; margin-top: 0.65rem; color: var(--ink-soft); font-size: 0.79rem; line-height: 1.45; }
.area-arrow { font-size: 1rem; }
.hero-link { display: inline-block; margin-top: 1.75rem; padding-bottom: 0.3rem; border-bottom: 1px solid currentColor; font-size: 0.76rem; font-weight: 700; letter-spacing: 0.12em; text-decoration: none; text-transform: uppercase; }
.scroll-cue { display: flex; gap: 0.8rem; align-items: center; justify-self: center; margin-bottom: clamp(2.25rem, 4vw, 3.75rem); color: var(--ink-soft); text-decoration: none; }
.scroll-cue span { display: inline-block; width: 2.75rem; height: 1px; background: currentColor; transform-origin: right center; animation: breathe 2.5s ease-in-out infinite; }

.mission { background: var(--paper); }
.mission-grid { display: grid; grid-template-columns: minmax(9rem, 0.4fr) minmax(0, 1.6fr); gap: clamp(2.5rem, 7vw, 8rem); align-items: start; }
.section-label { padding-top: 0.65rem; color: var(--sage-deep); }
.mission h2 { max-width: 17ch; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 6.2vw, 6rem); font-weight: 400; line-height: 0.98; letter-spacing: -0.045em; }
.mission h2 em { font-weight: 400; }
.mission-copy { max-width: 43rem; margin: 2.4rem 0 0; color: var(--ink-soft); font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 1.7; }

.content-section { overflow: hidden; background: #ebeee7; }
.tutorials { background: var(--sage); }
.section-heading { display: flex; gap: 2rem; align-items: end; justify-content: space-between; margin-bottom: clamp(2.25rem, 5vw, 4rem); }
.section-heading h2, .plant-finder h2 { max-width: 17ch; margin: 0.55rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.8rem, 5vw, 4.9rem); font-weight: 400; line-height: 1; letter-spacing: -0.04em; }
.carousel-actions { display: flex; gap: 0.55rem; }
.carousel-button { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(255, 255, 255, 0.72); color: var(--ink); font-size: 1.15rem; cursor: pointer; transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
.carousel-button:hover { background: var(--ink); color: var(--white); transform: translateY(-2px); }
.carousel-button:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.carousel-track { display: grid; grid-auto-columns: minmax(18rem, 25rem); grid-auto-flow: column; gap: 1.25rem; overflow-x: auto; padding: 0.25rem 0 1.5rem; scroll-behavior: smooth; scroll-padding-inline: 0.25rem; scroll-snap-type: x mandatory; scrollbar-color: rgba(17, 20, 16, 0.34) transparent; scrollbar-width: thin; }
.carousel-track:focus-visible { outline: 2px solid var(--sage-deep); outline-offset: 5px; }
.content-card { display: grid; min-height: 34rem; grid-template-rows: 14rem 1fr; overflow: hidden; border: 1px solid rgba(17, 20, 16, 0.08); border-radius: var(--radius); background: var(--white); box-shadow: 0 1rem 2.7rem rgba(35, 52, 35, 0.07); scroll-snap-align: start; }
.article-link { color: var(--ink); text-decoration: none; transition: box-shadow 220ms ease, transform 220ms ease; }
.article-link:hover { box-shadow: 0 1.4rem 3.3rem rgba(35, 52, 35, 0.13); transform: translateY(-5px); }
.article-link:focus-visible { outline: 2px solid var(--sage-deep); outline-offset: 4px; }
.content-card img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; filter: saturate(0.8) contrast(0.95); }
.content-card img.image-left { object-position: 14% 55%; }
.content-card img.image-center { object-position: 48% 67%; }
.content-card img.image-right { object-position: 88% 38%; }
.card-body { display: flex; flex-direction: column; padding: 1.6rem 1.65rem 1.8rem; }
.card-meta { color: var(--ink-soft); }
.card-meta span { color: var(--sage-deep); }
.content-card h3 { margin: 1.1rem 0 0.85rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.65rem; font-weight: 400; line-height: 1.08; letter-spacing: -0.025em; }
.content-card p:last-child { margin: 0; color: var(--ink-soft); font-size: 0.96rem; line-height: 1.62; }
.compact-track { grid-auto-columns: minmax(17rem, 22rem); }
.info-card { min-height: 31rem; grid-template-rows: 12rem 1fr; }
.card-number { margin: 0; color: var(--sage-deep); font-size: 0.72rem; font-weight: 750; letter-spacing: 0.14em; }

.plant-finder { background: var(--white); }
.finder-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(20rem, 1.1fr); gap: clamp(3rem, 8vw, 9rem); align-items: center; }
.finder-grid > div > p:last-child { max-width: 34rem; margin: 1.5rem 0 0; color: var(--ink-soft); font-size: 1.08rem; line-height: 1.65; }
.plant-form { padding: clamp(1.6rem, 4vw, 2.8rem); border-radius: var(--radius); background: var(--paper); }
.plant-form label { display: block; margin-bottom: 0.75rem; font-size: 0.76rem; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; }
.input-row { display: flex; gap: 0.7rem; }
.input-row input { width: 100%; min-width: 0; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: 0.85rem; background: var(--white); color: var(--ink); }
.input-row button { padding: 1rem 1.35rem; border: 1px solid var(--ink); border-radius: 0.85rem; background: var(--ink); color: var(--white); font-weight: 700; cursor: pointer; }
.input-row input:focus-visible, .input-row button:focus-visible { outline: 2px solid var(--sage-deep); outline-offset: 3px; }
.plant-result { min-height: 3.2rem; margin: 1rem 0 0; color: var(--ink-soft); font-size: 0.9rem; line-height: 1.55; }

.site-footer { padding-block: clamp(3rem, 6vw, 5rem); background: #0d0f0d; color: #f4f3ea; }
.footer-inner { display: grid; grid-template-columns: 1fr 1.2fr auto; gap: 2rem; align-items: center; }
.footer-inner p { margin: 0; color: rgba(244, 243, 234, 0.65); font-size: 0.88rem; line-height: 1.5; }
.copyright { text-align: right; }

/* Editorial index and article pages */
.editorial-header { display: flex; min-height: 6.5rem; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.editorial-nav { display: flex; gap: 1.6rem; align-items: center; }
.editorial-nav a { padding-block: 0.4rem; font-size: 0.82rem; font-weight: 650; text-decoration: none; }
.editorial-nav a:hover { text-decoration: underline; text-underline-offset: 0.35rem; }
.editorial-nav a:focus-visible { outline: 2px solid var(--sage-deep); outline-offset: 3px; }
.articles-page { min-height: 80vh; padding-bottom: clamp(5rem, 10vw, 9rem); }
.articles-intro { padding-block: clamp(5rem, 10vw, 9rem) clamp(3.5rem, 7vw, 6rem); }
.articles-intro h1 { max-width: 13ch; margin: 0.8rem 0 0; font-size: clamp(3.7rem, 8vw, 7.8rem); line-height: 0.94; text-shadow: none; }
.articles-intro h1 em { font-weight: 400; }
.articles-intro > p:last-child { max-width: 43rem; margin: 2rem 0 0; color: var(--ink-soft); font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.65; }
.articles-library { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 2.6vw, 2.4rem); }
.article-controls { display: flex; gap: 1.5rem; align-items: end; justify-content: space-between; margin-top: -2rem; margin-bottom: 2.5rem; }
.area-switch { display: flex; gap: 0.65rem; overflow-x: auto; padding-block: 0.25rem; scrollbar-width: none; }
.area-switch::-webkit-scrollbar { display: none; }
.article-filter { display: grid; flex: 0 0 auto; gap: 0.2rem; min-width: 10rem; padding: 0.85rem 1rem; border: 1px solid var(--line); border-radius: 1rem; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.article-filter span { font-size: 0.79rem; font-weight: 750; }
.article-filter small { color: var(--ink-soft); font-size: 0.66rem; }
.article-filter:hover, .article-filter.is-active { border-color: var(--ink); background: var(--ink); color: var(--white); }
.article-filter.is-active small, .article-filter:hover small { color: rgba(255, 255, 255, 0.68); }
.article-filter:focus-visible { outline: 2px solid var(--sage-deep); outline-offset: 3px; }
.library-card { display: grid; min-width: 0; overflow: hidden; border: 1px solid rgba(17, 20, 16, 0.08); border-radius: var(--radius); background: var(--white); color: var(--ink); text-decoration: none; transition: box-shadow 220ms ease, transform 220ms ease; }
.library-card[hidden] { display: none; }
.featured-card { grid-column: 1 / -1; grid-template-columns: minmax(18rem, 0.95fr) minmax(0, 1.05fr); }
.featured-card .library-image { height: 100%; }
.featured-card .library-body { min-height: 26rem; }
.library-card:hover { box-shadow: 0 1.4rem 3.5rem rgba(35, 52, 35, 0.12); transform: translateY(-6px); }
.library-card:focus-visible { outline: 2px solid var(--sage-deep); outline-offset: 4px; }
.library-image { height: clamp(15rem, 30vw, 24rem); overflow: hidden; }
.library-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.78) contrast(0.95); transition: transform 500ms ease; }
.library-card:hover .library-image img { transform: scale(1.025); }
.library-image img.image-left, .article-figure img.image-left { object-position: 14% 55%; }
.library-image img.image-center, .article-figure img.image-center { object-position: 48% 67%; }
.library-image img.image-right, .article-figure img.image-right { object-position: 88% 38%; }
.library-image img.image-top, .article-figure img.image-top { object-position: 50% 18%; }
.library-body { display: flex; min-height: 22rem; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.4rem); }
.article-category { margin: 0; color: var(--sage-deep); font-size: 0.7rem; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; }
.library-body h2 { max-width: 17ch; margin: 1rem 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 3vw, 2.55rem); font-weight: 400; line-height: 1.03; letter-spacing: -0.035em; }
.library-summary { margin: 0; color: var(--ink-soft); line-height: 1.65; }
.article-byline { display: flex; gap: 1.2rem; align-items: center; justify-content: space-between; margin: auto 0 0; padding-top: 2rem; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 0.78rem; }
.article-byline span { color: var(--ink); font-weight: 700; }

.article-page { min-height: 80vh; padding-bottom: clamp(5rem, 9vw, 8rem); }
.article-container { width: min(100% - 3rem, 48rem); margin-inline: auto; }
.article-wide { width: min(100% - 3rem, 76rem); margin-inline: auto; }
.article-hero { padding-block: clamp(5rem, 10vw, 9rem) clamp(3rem, 6vw, 5rem); text-align: center; }
.back-link { display: inline-block; margin-bottom: 3rem; color: var(--ink-soft); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-decoration: none; text-transform: uppercase; }
.back-link:hover { color: var(--ink); }
.article-hero h1 { max-width: 13ch; margin: 1.1rem auto 0; font-size: clamp(3.6rem, 7.5vw, 7.25rem); line-height: 0.93; text-shadow: none; }
.article-deck { max-width: 42rem; margin: 2rem auto 0; color: var(--ink-soft); font-size: clamp(1.1rem, 2vw, 1.35rem); line-height: 1.65; }
.article-author { max-width: 31rem; margin: 2.5rem auto 0; }
.article-figure { margin-top: 0; margin-bottom: clamp(4rem, 8vw, 7rem); }
.article-figure img { display: block; width: 100%; height: clamp(20rem, 58vw, 43rem); border-radius: var(--radius); object-fit: cover; filter: saturate(0.8) contrast(0.95); }
.article-figure figcaption { margin-top: 0.8rem; color: var(--ink-soft); font-size: 0.78rem; line-height: 1.5; }
.article-content { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.08rem, 1.6vw, 1.24rem); line-height: 1.82; }
.article-content p { margin: 0 0 1.65rem; }
.article-content .article-lead { margin-bottom: 3rem; font-size: clamp(1.3rem, 2.3vw, 1.65rem); line-height: 1.62; }
.article-content h2 { margin: 3.7rem 0 1.2rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3rem); font-weight: 400; line-height: 1.05; letter-spacing: -0.035em; }
.article-callout { display: grid; grid-template-columns: 8rem 1fr; gap: 1.5rem; margin: 3.5rem 0; padding: 2rem 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); font-family: Inter, ui-sans-serif, sans-serif; }
.article-callout strong { color: var(--sage-deep); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; }
.article-callout span { font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; line-height: 1.45; }
.article-next { display: grid; gap: 0.6rem; margin-top: 5rem; padding-top: 2rem; border-top: 1px solid var(--line); font-family: Inter, ui-sans-serif, sans-serif; }
.article-next span { color: var(--sage-deep); font-size: 0.68rem; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; }
.article-next a { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.5rem, 3vw, 2.3rem); line-height: 1.2; text-decoration: none; }
.article-next a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.3rem; }
.article-status { margin: 2.4rem 0 3.2rem; padding: 1.5rem 1.6rem; border-left: 4px solid var(--sage-deep); border-radius: 0 1rem 1rem 0; background: var(--sage); font-family: Inter, ui-sans-serif, sans-serif; }
.article-status strong { display: block; color: var(--sage-deep); font-size: 0.7rem; letter-spacing: 0.11em; text-transform: uppercase; }
.article-status p { margin: 0.6rem 0 0; font-size: 0.91rem; line-height: 1.62; }
.safety-status { border-left-color: #8b5a2b; background: #f1e6d5; }
.safety-status strong { color: #75471f; }
.article-checklist { display: grid; gap: 0.8rem; margin: 1.5rem 0 2.4rem; padding-left: 1.4rem; }
.article-checklist li { padding-left: 0.35rem; }
.article-caution { margin: 3rem 0; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--white); font-family: Inter, ui-sans-serif, sans-serif; font-size: 0.91rem; line-height: 1.6; }
.article-sources { margin-top: 4rem; padding-top: 0.25rem; border-top: 1px solid var(--ink); font-family: Inter, ui-sans-serif, sans-serif; }
.article-sources h2 { margin-top: 2rem; }
.article-sources ul { display: grid; gap: 0.7rem; padding-left: 1.2rem; }
.article-sources a { color: var(--sage-deep); text-underline-offset: 0.25rem; }
.article-sources p { color: var(--ink-soft); font-size: 0.78rem; line-height: 1.55; }

/* Practical information panel */
.info-page { min-height: 80vh; padding-bottom: clamp(5rem, 10vw, 9rem); }
.info-intro { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(22rem, 0.95fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; padding-block: clamp(5rem, 10vw, 9rem); }
.info-intro-copy h1 { max-width: 12ch; margin: 0.8rem 0 0; font-size: clamp(3.7rem, 7.6vw, 7.3rem); line-height: 0.94; text-shadow: none; }
.info-intro-copy h1 em { font-weight: 400; }
.info-intro-copy > p:last-child { max-width: 39rem; margin: 2rem 0 0; color: var(--ink-soft); font-size: clamp(1.05rem, 1.7vw, 1.25rem); line-height: 1.7; }
.info-photo { position: relative; margin: 0; overflow: hidden; border-radius: var(--radius); background: var(--sage); }
.info-photo img { display: block; width: 100%; height: clamp(24rem, 44vw, 37rem); object-fit: cover; object-position: 63% center; filter: saturate(0.75) contrast(0.9); }
.info-photo::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(11, 20, 12, 0.68)); content: ""; pointer-events: none; }
.info-photo figcaption { position: absolute; right: 1.5rem; bottom: 1.4rem; left: 1.5rem; z-index: 1; color: var(--white); font-size: 0.76rem; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; }
.info-panel { padding-bottom: clamp(6rem, 10vw, 10rem); }
.knowledge-lanes { padding-bottom: clamp(5rem, 8vw, 8rem); }
.lane-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.lane-card { display: flex; min-height: 25rem; flex-direction: column; padding: clamp(1.7rem, 4vw, 3rem); border-radius: var(--radius); }
.lane-agriculture { background: #132018; color: var(--white); }
.lane-botany { border: 1px solid rgba(17, 20, 16, 0.1); background: var(--sage); color: var(--ink); }
.lane-card .practical-number { color: #a9c2a6; }
.lane-botany .practical-number { color: var(--sage-deep); }
.lane-card h3 { max-width: 12ch; margin: auto 0 1rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.4rem, 4.5vw, 4.3rem); font-weight: 400; line-height: 0.96; letter-spacing: -0.04em; }
.lane-card > p:not(.practical-number) { max-width: 30rem; margin: 0; color: rgba(255, 255, 255, 0.66); line-height: 1.62; }
.lane-botany > p:not(.practical-number) { color: var(--ink-soft); }
.lane-card a { align-self: start; margin-top: 1.6rem; padding-bottom: 0.2rem; border-bottom: 1px solid currentColor; font-size: 0.75rem; font-weight: 750; letter-spacing: 0.06em; text-decoration: none; text-transform: uppercase; }
.topics-heading { display: flex; gap: 2rem; align-items: end; justify-content: space-between; padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
.topics-heading h2 { margin: 0.55rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.8rem, 5vw, 4.8rem); font-weight: 400; line-height: 1; letter-spacing: -0.04em; }
.results-count { margin: 0 0 0.4rem; color: var(--ink-soft); font-size: 0.78rem; }
.topic-filters { display: flex; gap: 0.6rem; overflow-x: auto; padding-block: 1.4rem 2.2rem; scrollbar-width: none; }
.topic-filters::-webkit-scrollbar { display: none; }
.topic-filter, .tutorial-filter { flex: 0 0 auto; padding: 0.72rem 1rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--ink); font-size: 0.78rem; font-weight: 700; cursor: pointer; transition: background 180ms ease, color 180ms ease, border-color 180ms ease; }
.topic-filter:hover, .topic-filter.is-active, .tutorial-filter:hover, .tutorial-filter.is-active { border-color: var(--ink); background: var(--ink); color: var(--white); }
.topic-filter:focus-visible, .tutorial-filter:focus-visible { outline: 2px solid var(--sage-deep); outline-offset: 3px; }
.info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
.practical-card { display: flex; min-height: 26rem; flex-direction: column; padding: clamp(1.6rem, 3.5vw, 2.6rem); border: 1px solid rgba(17, 20, 16, 0.09); border-radius: var(--radius); background: var(--white); box-shadow: 0 1rem 2.7rem rgba(35, 52, 35, 0.05); animation: card-in 280ms ease both; }
.practical-card[hidden] { display: none; }
.practical-number { margin: 0; color: var(--sage-deep); font-size: 0.69rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
.practical-card h3 { max-width: 18ch; margin: 1.4rem 0 1rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.9rem, 3vw, 2.7rem); font-weight: 400; line-height: 1.03; letter-spacing: -0.03em; }
.practical-card > p:not(.practical-number) { max-width: 40rem; margin: 0; color: var(--ink-soft); line-height: 1.65; }
.practical-action { display: grid; grid-template-columns: 6rem 1fr; gap: 1rem; margin-top: auto; padding: 1.1rem 1.2rem; border-radius: 1rem; background: var(--sage); }
.practical-action strong { color: var(--sage-deep); font-size: 0.67rem; letter-spacing: 0.1em; text-transform: uppercase; }
.practical-action span { font-size: 0.86rem; line-height: 1.5; }
.card-deep-link { align-self: start; margin-top: 1rem; color: var(--sage-deep); font-size: 0.75rem; font-weight: 750; text-decoration: none; }
.card-deep-link:hover { text-decoration: underline; text-underline-offset: 0.25rem; }
.info-reminder { padding: clamp(3rem, 7vw, 6rem); border-radius: var(--radius); background: #132018; color: var(--white); }
.info-reminder .section-label { color: #a9c2a6; }
.info-reminder h2 { max-width: 18ch; margin: 1rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.5rem, 5vw, 4.7rem); font-weight: 400; line-height: 1; letter-spacing: -0.04em; }
.info-reminder > p:last-child { max-width: 42rem; margin: 1.5rem 0 0; color: rgba(255, 255, 255, 0.65); font-size: 1rem; line-height: 1.65; }

/* Tutorial library */
.tutorials-page { min-height: 80vh; padding-bottom: clamp(5rem, 10vw, 9rem); }
.tutorials-intro { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr); gap: clamp(3rem, 8vw, 9rem); align-items: end; padding-block: clamp(5rem, 10vw, 9rem); }
.tutorials-intro h1 { max-width: 15ch; margin: 0.8rem 0 0; font-size: clamp(3.7rem, 7.5vw, 7.25rem); line-height: 0.94; text-shadow: none; }
.tutorials-intro h1 em { font-weight: 400; }
.tutorials-intro > p { margin: 0 0 0.5rem; color: var(--ink-soft); font-size: clamp(1.03rem, 1.6vw, 1.2rem); line-height: 1.7; }
.tutorials-panel { padding-bottom: clamp(2rem, 5vw, 5rem); }
.tutorial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.tutorial-card { display: flex; min-width: 0; min-height: 35rem; flex-direction: column; overflow: hidden; border: 1px solid rgba(17, 20, 16, 0.09); border-radius: var(--radius); background: var(--white); box-shadow: 0 1rem 2.7rem rgba(35, 52, 35, 0.06); animation: card-in 280ms ease both; }
.tutorial-card[hidden] { display: none; }
.tutorial-media { position: relative; height: 15rem; flex: 0 0 auto; overflow: hidden; background: var(--sage); }
.tutorial-media::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(9, 17, 11, 0.5)); content: ""; pointer-events: none; }
.tutorial-media img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.72) contrast(0.92); }
.tutorial-media img.image-left { object-position: 14% 55%; }
.tutorial-media img.image-center { object-position: 48% 67%; }
.tutorial-media img.image-right { object-position: 88% 38%; }
.play-mark { position: absolute; top: 50%; left: 50%; z-index: 2; display: grid; width: 4rem; height: 4rem; place-items: center; padding-left: 0.2rem; border: 1px solid rgba(255, 255, 255, 0.8); border-radius: 50%; background: rgba(255, 255, 255, 0.88); color: var(--ink); font-size: 1rem; transform: translate(-50%, -50%); }
.coming-soon, .format-label { position: absolute; bottom: 1rem; left: 1rem; z-index: 2; padding: 0.5rem 0.7rem; border-radius: 999px; background: rgba(255, 255, 255, 0.9); color: var(--ink); font-size: 0.65rem; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; }
.tutorial-body { display: flex; flex: 1; flex-direction: column; padding: 1.6rem; }
.tutorial-meta { margin: 0; color: var(--ink-soft); font-size: 0.69rem; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }
.tutorial-meta span { color: var(--sage-deep); }
.tutorial-body h3 { margin: 1rem 0 0.8rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.7rem, 2.6vw, 2.25rem); font-weight: 400; line-height: 1.05; letter-spacing: -0.03em; }
.tutorial-body > p:not(.tutorial-meta, .tutorial-note) { margin: 0; color: var(--ink-soft); line-height: 1.6; }
.tutorial-note { margin: auto 0 0; padding-top: 1.5rem; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 0.75rem; line-height: 1.5; }
.tutorial-details { margin-top: auto; padding-top: 1.5rem; }
.tutorial-details summary { padding: 0.85rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 0.78rem; font-weight: 750; letter-spacing: 0.08em; cursor: pointer; text-transform: uppercase; }
.tutorial-details summary:focus-visible { outline: 2px solid var(--sage-deep); outline-offset: 3px; }
.tutorial-details[open] summary { margin-bottom: 1.2rem; }
.tutorial-details ol { display: grid; gap: 0.75rem; margin: 0; padding-left: 1.25rem; color: var(--ink-soft); font-size: 0.86rem; line-height: 1.5; }
.visual-steps ol { list-style: decimal-leading-zero; }

/* Plant catalog */
.plants-page { min-height: 80vh; padding-bottom: clamp(5rem, 10vw, 9rem); }
.plants-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.8fr); gap: clamp(2rem, 7vw, 8rem); align-items: end; padding-block: clamp(4rem, 8vw, 7rem) clamp(2.5rem, 5vw, 4rem); }
.plants-intro h1 { max-width: 12ch; margin: 0.8rem 0 0; font-size: clamp(3.6rem, 7vw, 6.8rem); line-height: 0.94; text-shadow: none; }
.plants-intro-note > p { max-width: 35rem; margin: 0 0 1rem; color: var(--ink-soft); font-size: clamp(1rem, 1.6vw, 1.2rem); line-height: 1.65; }
.plants-intro-note span { display: inline-block; padding: 0.55rem 0.75rem; border-radius: 999px; background: var(--sage); color: var(--sage-deep); font-size: 0.66rem; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; }
.plants-workspace { display: grid; grid-template-columns: minmax(20rem, 0.85fr) minmax(0, 1.15fr); gap: 1.25rem; align-items: start; }
.plants-browser { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid rgba(17, 20, 16, 0.08); border-radius: var(--radius); background: #ebeee7; }
.plants-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) 10rem 9.5rem; gap: 0.8rem; }
.plant-search-field, .plant-category-field { display: grid; gap: 0.5rem; }
.plants-toolbar label { font-size: 0.66rem; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; }
.plants-toolbar input, .plants-toolbar select { width: 100%; min-width: 0; height: 3rem; padding: 0 0.9rem; border: 1px solid var(--line); border-radius: 0.75rem; background: var(--white); color: var(--ink); }
.plants-toolbar input:focus-visible, .plants-toolbar select:focus-visible { outline: 2px solid var(--sage-deep); outline-offset: 2px; }
.plant-list-heading { display: flex; align-items: center; justify-content: space-between; margin-top: 2rem; padding-bottom: 0.8rem; border-bottom: 1px solid var(--line); }
.plant-list-heading h2 { margin: 0; font-size: 0.76rem; letter-spacing: 0.08em; text-transform: uppercase; }
.plant-list-heading span { color: var(--ink-soft); font-size: 0.72rem; }
.plant-list { display: grid; gap: 0.5rem; padding-top: 0.7rem; }
.plant-list-item { display: flex; gap: 1rem; align-items: center; justify-content: space-between; width: 100%; padding: 1rem; border: 1px solid transparent; border-radius: 1rem; background: rgba(255, 255, 255, 0.58); color: var(--ink); text-align: left; cursor: pointer; transition: border-color 180ms ease, background 180ms ease, transform 180ms ease; }
.plant-list-item[hidden] { display: none; }
.plant-list-item:hover { border-color: rgba(17, 20, 16, 0.16); background: var(--white); transform: translateX(3px); }
.plant-list-item.is-selected { border-color: var(--ink); background: var(--white); }
.plant-list-item:focus-visible { outline: 2px solid var(--sage-deep); outline-offset: 2px; }
.plant-list-item > span { display: grid; gap: 0.24rem; }
.plant-list-item strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; font-weight: 400; }
.plant-list-item em { color: var(--ink-soft); font-size: 0.72rem; }
.plant-list-item small { flex: 0 0 auto; color: var(--sage-deep); font-size: 0.63rem; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; }
.plants-empty { margin: 1rem 0 0; padding: 2rem 1rem; border: 1px dashed var(--line); border-radius: 1rem; color: var(--ink-soft); text-align: center; }
.plant-detail { position: sticky; top: 1.25rem; scroll-margin-top: 1rem; padding: clamp(1.8rem, 4vw, 3.3rem); border-radius: var(--radius); background: #132018; color: var(--white); box-shadow: 0 1.5rem 4rem rgba(19, 32, 24, 0.14); }
.plant-detail-top { display: flex; gap: 1rem; align-items: center; justify-content: space-between; }
.plant-detail-category { margin: 0; color: #a9c2a6; font-size: 0.69rem; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }
.difficulty-badge { padding: 0.5rem 0.7rem; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 999px; color: rgba(255, 255, 255, 0.78); font-size: 0.65rem; }
.plant-detail h2 { margin: 2.2rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.2rem, 6vw, 5.7rem); font-weight: 400; line-height: 0.94; letter-spacing: -0.045em; }
.plant-scientific { margin: 0.55rem 0 0; color: #a9c2a6; font-family: Georgia, "Times New Roman", serif; font-style: italic; }
.plant-summary { max-width: 43rem; margin: 1.7rem 0 0; color: rgba(255, 255, 255, 0.7); font-size: 1rem; line-height: 1.7; }
.plant-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.65rem; margin: 2.3rem 0 0; }
.plant-facts div { padding: 1rem; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 0.9rem; }
.plant-facts dt { color: #a9c2a6; font-size: 0.62rem; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; }
.plant-facts dd { margin: 0.5rem 0 0; font-size: 0.83rem; line-height: 1.35; }
.plant-advice { margin-top: 2.2rem; padding: 1.4rem; border-radius: 1rem; background: var(--white); color: var(--ink); }
.plant-advice > p { margin: 0; color: var(--sage-deep); font-size: 0.67rem; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }
.plant-advice ul { display: grid; gap: 0.7rem; margin: 1rem 0 0; padding-left: 1.2rem; }
.plant-advice li { padding-left: 0.2rem; font-size: 0.87rem; line-height: 1.5; }
.plant-warning { margin: 1.4rem 0 0; color: rgba(255, 255, 255, 0.64); font-size: 0.78rem; line-height: 1.55; }
.plant-warning strong { color: #a9c2a6; }

/* Homepage learning panels */
.panel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.9rem; }
.learning-panel { display: grid; min-height: 23rem; grid-template-columns: auto 1fr auto; gap: 1rem; padding: 1.7rem; border: 1px solid rgba(17, 20, 16, 0.1); border-radius: var(--radius); background: rgba(255, 255, 255, 0.7); text-decoration: none; transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease; }
.learning-panel:hover { background: var(--white); box-shadow: 0 1rem 2.5rem rgba(35, 52, 35, 0.1); transform: translateY(-4px); }
.learning-panel:focus-visible { outline: 2px solid var(--sage-deep); outline-offset: 3px; }
.panel-index { color: var(--sage-deep); font-size: 0.66rem; font-weight: 750; letter-spacing: 0.1em; }
.learning-panel div { display: flex; flex-direction: column; justify-content: end; }
.learning-panel div > p { margin: 0 0 0.6rem; color: var(--sage-deep); font-size: 0.68rem; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; }
.learning-panel h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.2rem, 4vw, 3.6rem); font-weight: 400; letter-spacing: -0.04em; }
.learning-panel div > span { display: block; margin-top: 1rem; color: var(--ink-soft); font-size: 0.86rem; line-height: 1.55; }
.learning-panel b { font-weight: 400; }

@keyframes card-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@keyframes reveal { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes breathe { 50% { opacity: 0.55; transform: scaleX(0.55); } }

@media (max-width: 900px) {
  .site-header { flex-direction: column; gap: 1rem; }
  .primary-nav { width: 100%; justify-content: center; }
  .mission-grid, .finder-grid { grid-template-columns: 1fr; }
  .mission-grid { gap: 2rem; }
  .finder-grid { gap: 2.5rem; }
  .footer-inner { grid-template-columns: 1fr 1fr; }
  .copyright { grid-column: 1 / -1; text-align: left; }
  .articles-library { grid-template-columns: 1fr; }
  .featured-card { grid-column: auto; grid-template-columns: minmax(14rem, 0.8fr) minmax(0, 1.2fr); }
  .library-card { grid-template-columns: minmax(14rem, 0.8fr) minmax(0, 1.2fr); }
  .library-image { height: 100%; min-height: 22rem; }
  .library-body { min-height: 22rem; }
  .info-intro { grid-template-columns: 1fr; }
  .info-photo img { height: clamp(22rem, 70vw, 34rem); }
  .tutorials-intro { grid-template-columns: 1fr; gap: 2rem; }
  .tutorials-intro > p { max-width: 40rem; }
  .tutorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .panel-grid { grid-template-columns: 1fr; }
  .learning-panel { min-height: 16rem; }
  .plants-intro { grid-template-columns: 1fr; gap: 1.5rem; }
  .plants-workspace { grid-template-columns: 1fr; }
  .plants-toolbar { grid-template-columns: minmax(0, 1fr) 10rem 9.5rem; }
  .plant-detail { position: static; }
}

@media (max-width: 640px) {
  .section-shell { width: min(100% - 2rem, 86rem); }
  .site-header { padding: 1.3rem 1rem; }
  .primary-nav { justify-content: flex-start; overflow-x: auto; padding-bottom: 0.35rem; scrollbar-width: none; }
  .primary-nav::-webkit-scrollbar { display: none; }
  .primary-nav a { flex: 0 0 auto; padding-inline: 0.55rem; font-size: 0.74rem; }
  .nav-cta { margin-left: 0.1rem; }
  .hero-content { width: min(100% - 2rem, 76rem); padding: 2rem 0 3rem; }
  h1 { font-size: clamp(3.45rem, 17vw, 5.5rem); line-height: 0.91; }
  .intro { max-width: 30ch; }
  .audience-grid { grid-template-columns: 1fr; }
  .area-card { min-height: auto; }
  .section-heading { align-items: center; }
  .carousel-button { width: 2.6rem; height: 2.6rem; }
  .carousel-track { grid-auto-columns: min(84vw, 22rem); }
  .content-card { min-height: 32rem; }
  .input-row { flex-direction: column; }
  .footer-inner { grid-template-columns: 1fr; }
  .copyright { grid-column: auto; }
  .editorial-header { min-height: 5.5rem; }
  .editorial-nav { gap: 0.8rem; }
  .editorial-nav a { font-size: 0.74rem; }
  .editorial-nav a:last-child { display: none; }
  .articles-intro h1 { font-size: clamp(3.3rem, 16vw, 5.4rem); }
  .articles-library { grid-template-columns: 1fr; }
  .library-card { grid-template-columns: 1fr; }
  .featured-card { grid-template-columns: 1fr; }
  .library-image { min-height: 0; height: 15rem; }
  .library-body { min-height: 21rem; }
  .article-controls { align-items: start; margin-top: -1rem; }
  .article-controls > .results-count { display: none; }
  .area-switch { width: 100%; }
  .article-container, .article-wide { width: min(100% - 2rem, 48rem); }
  .article-hero { padding-top: 4rem; }
  .article-hero h1 { font-size: clamp(3.1rem, 15.5vw, 5rem); }
  .article-figure img { height: 60vw; min-height: 17rem; }
  .article-callout { grid-template-columns: 1fr; gap: 0.8rem; }
  .info-intro { padding-top: 4rem; }
  .info-intro-copy h1 { font-size: clamp(3.2rem, 15.5vw, 5.3rem); }
  .info-photo img { height: 75vw; min-height: 20rem; }
  .topics-heading { align-items: start; }
  .results-count { display: none; }
  .info-grid { grid-template-columns: 1fr; }
  .lane-grid { grid-template-columns: 1fr; }
  .lane-card { min-height: 22rem; }
  .practical-card { min-height: 24rem; }
  .practical-action { grid-template-columns: 1fr; gap: 0.5rem; }
  .info-reminder { width: min(100% - 2rem, 86rem); }
  .tutorials-intro { padding-top: 4rem; }
  .tutorials-intro h1 { font-size: clamp(3.2rem, 15.5vw, 5.3rem); }
  .tutorial-grid { grid-template-columns: 1fr; }
  .tutorial-card { min-height: 34rem; }
  .plants-intro { padding-top: 4rem; }
  .plants-intro h1 { font-size: clamp(3.3rem, 16vw, 5.2rem); }
  .plants-toolbar { grid-template-columns: 1fr; }
  .plant-detail-top { align-items: start; }
  .plant-facts { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html, .carousel-track { scroll-behavior: auto; }
  .hero-content, .scroll-cue span { animation: none; }
}

/* Unified editorial-poster theme, extended from the redesigned hero */
:root {
  --forest: #344e41;
  --forest-soft: #3a5a40;
  --cream: #dad7cd;
  --cream-soft: #ecebe4;
  --sand: #dad7cd;
  --gold: #d4af37;
  --gold-metallic: linear-gradient(115deg, #9f771b 0%, #d4af37 42%, #f0d879 67%, #b88920 100%);
  --moss: #588157;
  --ink: #24382f;
  --ink-soft: rgba(36, 56, 47, 0.76);
  --paper: #f4f2eb;
  --white: #fffdf7;
  --sage: #a3b18a;
  --sage-deep: #3a5a40;
  --line: rgba(52, 78, 65, 0.2);
  --radius: 1.35rem;
}

html,
body { background: var(--sand); }

body {
  color: var(--forest);
  font-size: 1.0625rem;
}

a,
button,
input,
select,
summary { -webkit-tap-highlight-color: transparent; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline-color: var(--gold) !important;
}

.section-shell { width: min(100% - 4rem, 86rem); }
.section-pad { padding-block: clamp(5rem, 8vw, 8rem); }

.editorial-header {
  width: min(100% - 2rem, 94rem);
  min-height: 5.4rem;
  margin: 1rem auto 0;
  padding-inline: clamp(1.25rem, 3vw, 2.6rem);
  border: 0;
  border-radius: 999px;
  background: var(--forest);
  color: var(--cream);
  box-shadow: 0 1rem 2.5rem rgba(36, 43, 25, 0.16);
}

.editorial-header .brand-mark { color: var(--gold); }
.editorial-nav { gap: clamp(0.6rem, 2vw, 1.6rem); }
.editorial-nav a { color: rgba(246, 240, 216, 0.72); }
.editorial-nav a:hover { color: var(--gold); text-decoration: none; }

.articles-page,
.info-page,
.tutorials-page,
.plants-page,
.article-page {
  width: min(100% - 2rem, 96rem);
  margin: 1rem auto;
  overflow: hidden;
  border-radius: 2rem;
  background: var(--cream);
  box-shadow: 0 1.5rem 4rem rgba(36, 43, 25, 0.11);
}

.articles-intro,
.info-intro,
.tutorials-intro,
.plants-intro {
  padding-top: clamp(5rem, 9vw, 8rem);
}

.articles-intro h1,
.info-intro-copy h1,
.tutorials-intro h1,
.plants-intro h1,
.article-hero h1 {
  color: var(--forest);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 720;
  letter-spacing: -0.065em;
}

.articles-intro h1 em,
.info-intro-copy h1 em,
.tutorials-intro h1 em {
  color: var(--gold);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}

.section-label,
.article-category,
.practical-number,
.tutorial-meta span,
.card-meta span,
.card-number { color: var(--sage-deep); }

.mission {
  padding-inline: 1rem;
  background: var(--sand);
}

.mission-grid {
  width: min(100%, 94rem);
  padding: clamp(3rem, 7vw, 7rem);
  border-radius: 2rem;
  background: var(--cream);
  box-shadow: 0 1.3rem 3.5rem rgba(36, 43, 25, 0.09);
}

.mission h2,
.section-heading h2,
.plant-finder h2,
.topics-heading h2,
.info-reminder h2 {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 700;
  letter-spacing: -0.055em;
}

.mission h2 em {
  color: var(--gold);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}

.content-section {
  width: min(100% - 2rem, 96rem);
  margin-inline: auto;
  border-radius: 2rem;
  background: var(--forest);
  color: var(--cream);
}

.content-section .section-label { color: var(--gold); }
.content-section .carousel-button {
  border-color: rgba(246, 240, 216, 0.22);
  background: var(--gold);
  color: var(--forest);
}

.content-section .carousel-button:hover {
  background: var(--cream);
  color: var(--forest);
}

.content-card,
.library-card,
.practical-card,
.tutorial-card {
  border-color: rgba(19, 32, 24, 0.1);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--forest);
  box-shadow: 0 1rem 2.7rem rgba(9, 17, 11, 0.1);
}

.content-card img,
.library-image img,
.tutorial-media img,
.article-figure img,
.info-photo img {
  filter: saturate(0.82) contrast(0.94);
}

.content-card h3,
.library-body h2,
.practical-card h3,
.tutorial-body h3,
.lane-card h3,
.learning-panel h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}

.tutorials.content-section {
  margin-top: 1rem;
  background: var(--cream);
  color: var(--forest);
}

.tutorials.content-section .section-label { color: var(--sage-deep); }

.learning-panel {
  border: 0;
  background: var(--white);
  box-shadow: none;
}

.learning-panel:nth-child(1) {
  background: var(--forest);
  color: var(--cream);
}

.learning-panel:nth-child(1) .panel-index,
.learning-panel:nth-child(1) div > p { color: var(--gold); }

.learning-panel:nth-child(1) div > span { color: rgba(246, 240, 216, 0.66); }
.learning-panel:nth-child(2) { background: var(--gold); }
.learning-panel:nth-child(2) .panel-index,
.learning-panel:nth-child(2) div > p { color: var(--forest); }
.learning-panel:nth-child(3) { background: var(--sage); }

.plant-finder {
  padding-inline: 1rem;
  background: var(--sand);
}

.finder-grid {
  width: min(100%, 94rem);
  padding: clamp(2.2rem, 6vw, 6rem);
  border-radius: 2rem;
  background: var(--cream);
}

.plant-form {
  border-radius: var(--radius);
  background: var(--forest);
  color: var(--cream);
}

.plant-form label { color: var(--gold); }
.plant-form .plant-result { color: rgba(246, 240, 216, 0.66); }
.input-row input { border-color: rgba(246, 240, 216, 0.18); background: var(--cream); }
.input-row button { border-color: var(--gold); background: var(--gold); color: var(--forest); }

.site-footer {
  width: min(100% - 2rem, 96rem);
  margin: 1rem auto 0;
  border-radius: 2rem 2rem 0 0;
  background: var(--forest);
  color: var(--cream);
}

.site-footer .brand-mark { color: var(--gold); }

.article-controls {
  padding: 1rem;
  border-radius: var(--radius);
  background: var(--cream-soft);
}

.article-filter,
.topic-filter,
.tutorial-filter {
  border-color: rgba(19, 32, 24, 0.2);
  background: rgba(255, 250, 240, 0.5);
}

.article-filter:hover,
.article-filter.is-active,
.topic-filter:hover,
.topic-filter.is-active,
.tutorial-filter:hover,
.tutorial-filter.is-active {
  border-color: var(--gold);
  background: var(--gold);
  color: var(--forest);
}

.article-filter.is-active small,
.article-filter:hover small { color: rgba(19, 32, 24, 0.65); }

.featured-card {
  border: 0;
  background: var(--forest);
  color: var(--cream);
}

.featured-card .article-category,
.featured-card .article-byline span { color: var(--gold); }
.featured-card .library-summary,
.featured-card .article-byline { color: rgba(246, 240, 216, 0.66); }
.featured-card .article-byline { border-color: rgba(246, 240, 216, 0.16); }

.library-card:hover,
.tutorial-card:hover {
  box-shadow: 0 1.5rem 3.2rem rgba(36, 43, 25, 0.16);
  transform: translateY(-4px);
}

.tutorial-card {
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.practical-card { border-top: 4px solid var(--gold); }
.practical-action { background: var(--sage); }
.card-deep-link { color: var(--sage-deep); }

.lane-agriculture,
.plant-detail,
.info-reminder { background: var(--forest); }
.lane-card .practical-number,
.plant-detail-category,
.plant-warning strong,
.info-reminder .section-label { color: var(--gold); }
.lane-botany { background: var(--gold); }
.lane-botany .practical-number { color: var(--forest); }
.lane-botany > p:not(.practical-number) { color: rgba(19, 32, 24, 0.7); }

.info-photo {
  padding: 0.7rem;
  background: var(--sand);
}

.info-photo img { border-radius: calc(var(--radius) - 0.35rem); }

.tutorial-media { background: var(--sage); }
.coming-soon,
.format-label { background: var(--gold); color: var(--forest); }

.plants-browser {
  border: 0;
  background: var(--cream-soft);
}

.plants-toolbar input,
.plants-toolbar select {
  border-color: rgba(19, 32, 24, 0.18);
  background: var(--white);
}

.plant-list-item {
  border-color: rgba(19, 32, 24, 0.08);
  background: rgba(255, 250, 240, 0.62);
}

.plant-list-item.is-selected {
  border-color: var(--gold);
  background: var(--gold);
}

.plant-list-item.is-selected small { color: var(--forest); }
.plant-detail { box-shadow: 0 1.5rem 4rem rgba(9, 17, 11, 0.19); }
.plant-advice { background: var(--cream); }
.plant-advice > p { color: var(--sage-deep); }

.article-page { padding-bottom: clamp(5rem, 9vw, 8rem); }
.article-hero { padding-top: clamp(5rem, 9vw, 8rem); }
.article-hero h1 { max-width: 14ch; }
.article-deck { color: var(--ink-soft); }
.article-figure { padding-inline: clamp(0rem, 2vw, 2rem); }

.article-content h2 {
  color: var(--forest);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 700;
  letter-spacing: -0.045em;
}

.article-callout {
  padding: 1.7rem;
  border: 0;
  border-radius: var(--radius);
  background: var(--forest);
  color: var(--cream);
}

.article-callout strong { color: var(--gold); }
.article-status { border-left-color: var(--gold); background: var(--cream-soft); }
.article-caution { border-color: rgba(19, 32, 24, 0.12); background: var(--white); }
.article-sources { border-color: var(--forest); }
.article-sources a { color: var(--sage-deep); }

@media (max-width: 900px) {
  .section-shell { width: min(100% - 2.5rem, 86rem); }
  .editorial-header { border-radius: 1.35rem; }
  .mission-grid,
  .finder-grid { width: min(100%, 94rem); }
}

@media (max-width: 640px) {
  .section-shell { width: min(100% - 2rem, 86rem); }
  .articles-page,
  .info-page,
  .tutorials-page,
  .plants-page,
  .article-page,
  .content-section,
  .site-footer,
  .editorial-header { width: min(100% - 1.3rem, 96rem); }
  .editorial-header { margin-top: 0.65rem; padding-inline: 1rem; }
  .articles-page,
  .info-page,
  .tutorials-page,
  .plants-page,
  .article-page,
  .content-section { margin-top: 0.65rem; border-radius: 1rem; }
  .mission,
  .plant-finder { padding-inline: 0.65rem; }
  .mission-grid,
  .finder-grid { border-radius: 1rem; }
  .article-controls { padding: 0.65rem; }
  .article-filter { min-width: 9.5rem; }
  .article-figure { padding-inline: 0; }
  .site-footer { border-radius: 1rem 1rem 0 0; }
}

/* 2026 content architecture: independent area hubs, guidebooks and visual tutorials */
.home-v2 .section-heading { align-items: end; }
.route-section { background: var(--cream); }
.route-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(2rem, 7vw, 8rem); align-items: end; margin-bottom: 2.5rem; }
.route-heading h2, .curated-section h2, .home-principle h2 { max-width: 15ch; margin: .55rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.8rem, 5vw, 5rem); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.route-heading > p, .curated-note { max-width: 34rem; margin: 0; color: var(--ink-soft); line-height: 1.7; }
.route-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.route-card { display: grid; min-height: 30rem; grid-template-columns: auto 1fr auto; gap: 1.2rem; padding: clamp(1.7rem, 4vw, 3.5rem); border-radius: var(--radius); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.route-card:hover { box-shadow: 0 1.6rem 3.6rem rgba(19,32,24,.17); transform: translateY(-5px); }
.route-card:focus-visible, .curated-card:focus-visible, .hub-card:focus-visible, .tutorial-book:focus-visible, .manual-book:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.route-agriculture { background: var(--forest); color: var(--cream); }
.route-botany { background: var(--gold); color: var(--forest); }
.route-number { font-size: .7rem; font-weight: 800; letter-spacing: .16em; }
.route-card > div { align-self: end; }
.route-card p { margin: 0 0 .8rem; font-size: .7rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.route-agriculture p, .route-agriculture .route-number { color: var(--gold); }
.route-card h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.2rem, 6vw, 6rem); font-weight: 400; letter-spacing: -.055em; }
.route-card div > span { display: block; max-width: 30rem; margin-top: 1rem; color: inherit; font-size: 1rem; line-height: 1.65; opacity: .72; }
.route-card > b { font-size: 1.2rem; }
.curated-section { background: var(--sand); }
.curated-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.curated-card { display: grid; min-height: 18rem; grid-template-columns: 5rem 1fr; gap: 1.5rem; padding: clamp(1.5rem, 3vw, 2.4rem); border-radius: var(--radius); background: var(--cream); color: var(--forest); text-decoration: none; }
.curated-card:hover b { text-decoration: underline; text-underline-offset: .25rem; }
.curated-feature { grid-row: span 2; grid-template-columns: 1fr; grid-template-rows: minmax(18rem, 1fr) auto; padding: .7rem; background: var(--forest); color: var(--cream); }
.curated-feature img { width: 100%; height: 100%; min-height: 18rem; border-radius: calc(var(--radius) - .35rem); object-fit: cover; }
.curated-feature > div { padding: 1.2rem 1.2rem 1.5rem; }
.curated-icon { display: grid; width: 4.2rem; height: 4.2rem; place-items: center; border: 1px solid rgba(19,32,24,.18); border-radius: 50%; color: var(--sage-deep); font-size: 1.6rem; }
.curated-card p, .hub-card > span, .tutorial-book-copy > p { margin: 0; color: var(--sage-deep); font-size: .68rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.curated-feature p { color: var(--gold); }
.curated-card h3 { max-width: 18ch; margin: .8rem 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 400; line-height: 1; }
.curated-card div > span { display: block; max-width: 34rem; color: inherit; line-height: 1.6; opacity: .7; }
.curated-card b { display: block; margin-top: 1.4rem; font-size: .75rem; }
.home-principle { background: var(--gold); }
.home-principle .section-label { color: var(--forest); }
.home-principle h2 { max-width: 18ch; }
.home-principle p:last-child { max-width: 42rem; margin: 1.5rem 0 0; color: rgba(19,32,24,.7); line-height: 1.7; }

.area-hub { padding-bottom: clamp(5rem, 9vw, 9rem); }
.area-hero { display: grid; grid-template-columns: minmax(0,.9fr) minmax(24rem,1.1fr); gap: clamp(2rem, 6vw, 7rem); align-items: center; padding-block: clamp(4rem, 8vw, 8rem); }
.area-hero-copy h1 { margin: .6rem 0 1.4rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(4.5rem, 10vw, 9.5rem); font-weight: 400; line-height: .85; letter-spacing: -.065em; }
.area-hero-copy > p:last-of-type { max-width: 38rem; color: var(--ink-soft); font-size: clamp(1.05rem, 1.5vw, 1.22rem); line-height: 1.7; }
.area-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 2rem; }
.button-primary, .button-link { display: inline-flex; min-height: 3.1rem; align-items: center; padding: .8rem 1.15rem; border-radius: 999px; font-size: .75rem; font-weight: 750; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.button-primary { background: var(--forest); color: var(--cream); }
.button-link { padding-inline: .5rem; }
.area-botany .button-primary { background: var(--gold); color: var(--forest); }
.area-hero figure { margin: 0; }
.area-hero figure img { display: block; width: 100%; aspect-ratio: 4/3; border-radius: var(--radius); object-fit: cover; }
.area-hero figcaption { margin-top: .7rem; color: var(--ink-soft); font-size: .75rem; }
.chapter-nav { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--forest); border-bottom: 1px solid var(--forest); }
.chapter-nav a { display: grid; gap: .35rem; padding: 1.2rem; border-right: 1px solid var(--line); font-weight: 700; text-decoration: none; }
.chapter-nav a:last-child { border-right: 0; }
.chapter-nav span { color: var(--sage-deep); font-size: .65rem; letter-spacing: .12em; }
.hub-panel { display: grid; grid-template-columns: minmax(16rem,.38fr) minmax(0,1fr); gap: clamp(2rem,6vw,6rem); padding-block: clamp(5rem,8vw,8rem); border-bottom: 1px solid var(--line); scroll-margin-top: 2rem; }
.hub-panel-last { border-bottom: 0; }
.hub-panel-heading h2 { margin: .6rem 0 1rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.5rem,4vw,4rem); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.hub-panel-heading > p:last-child { color: var(--ink-soft); line-height: 1.65; }
.hub-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; }
.hub-card { display: flex; min-height: 23rem; flex-direction: column; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); text-decoration: none; }
.hub-card-feature { background: var(--forest); color: var(--cream); }
.hub-card-feature > span { color: var(--gold); }
.hub-card h3 { margin: auto 0 1rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.7rem,2.4vw,2.4rem); font-weight: 400; line-height: 1.02; }
.hub-card p { margin: 0; color: inherit; font-size: .9rem; line-height: 1.6; opacity: .7; }
.hub-card b { margin-top: 1.3rem; font-size: .72rem; }
.media-cards .hub-card { min-height: 28rem; padding: .65rem; }
.media-cards .hub-card img { width: 100%; height: 13rem; border-radius: calc(var(--radius) - .35rem); object-fit: cover; }
.media-cards .hub-card > span { margin: 1.1rem .8rem 0; }
.media-cards .hub-card h3 { margin: auto .8rem .8rem; }
.media-cards .hub-card b { margin: 0 .8rem 1rem; }
.plant-shortcuts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.plant-shortcuts a { display: grid; gap: .35rem; padding: 1.4rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--cream); text-decoration: none; }
.plant-shortcuts strong { font-family: Georgia,"Times New Roman",serif; font-size: 1.7rem; font-weight: 400; }
.plant-shortcuts span { color: var(--ink-soft); font-size: .78rem; font-style: italic; }

.guidebook-index { padding-bottom: clamp(5rem,9vw,9rem); }
.guidebook-hero { padding-block: clamp(5rem,10vw,9rem) 4rem; text-align: center; }
.guidebook-hero h1 { max-width: 13ch; margin: .8rem auto 1.5rem; font-size: clamp(3.8rem,8vw,7.5rem); line-height: .9; text-shadow: none; }
.guidebook-hero > p:last-child { max-width: 45rem; margin-inline: auto; color: var(--ink-soft); font-size: 1.1rem; line-height: 1.7; }
.manual-books { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.manual-book { display: grid; min-height: 34rem; grid-template-columns: 4rem 1fr; border-radius: var(--radius); overflow: hidden; color: var(--cream); text-decoration: none; box-shadow: 0 1.5rem 3rem rgba(19,32,24,.13); }
.agriculture-book { background: var(--forest); }
.botany-book { background: var(--gold); color: var(--forest); }
.book-spine { display: flex; align-items: center; justify-content: space-between; padding: 1rem .6rem; border-right: 1px solid rgba(255,255,255,.2); writing-mode: vertical-rl; transform: rotate(180deg); }
.book-spine span { font-size: .65rem; letter-spacing: .13em; }
.book-cover { display: flex; flex-direction: column; padding: clamp(1.8rem,4vw,3.5rem); }
.book-cover > p { margin: 0; color: var(--gold); font-size: .7rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.botany-book .book-cover > p { color: var(--forest); }
.book-cover h2 { margin: auto 0 .7rem; font-family: Georgia,"Times New Roman",serif; font-size: clamp(3.2rem,6vw,5.8rem); font-weight: 400; line-height: .9; }
.book-cover > span { opacity: .7; }
.book-chapters { display: flex; justify-content: space-between; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid currentColor; font-size: .68rem; text-transform: uppercase; opacity: .65; }
.book-cover > b { margin-top: 1.3rem; font-size: .75rem; }
.how-to-read { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem,7vw,8rem); padding-block: clamp(6rem,10vw,10rem); }
.how-to-read h2 { margin: .7rem 0 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(2.7rem,5vw,4.8rem); font-weight: 400; line-height: 1; }
.how-to-read ol { margin: 0; padding: 0; list-style: none; }
.how-to-read li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.5rem 0; border-top: 1px solid var(--line); }
.how-to-read li span { color: var(--sage-deep); font-size: .7rem; font-weight: 750; }
.how-to-read li p { margin: 0; color: var(--ink-soft); line-height: 1.6; }
.how-to-read li strong { color: var(--forest); }

.manual-page main { padding-bottom: clamp(6rem,10vw,10rem); }
.manual-cover { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: end; padding-block: clamp(5rem,9vw,8rem); border-bottom: 1px solid var(--forest); }
.manual-cover h1 { max-width: 11ch; margin: .8rem 0 1.2rem; font-size: clamp(4rem,8vw,7.5rem); line-height: .88; text-shadow: none; }
.manual-cover > div > p:last-child { max-width: 42rem; color: var(--ink-soft); font-size: 1.12rem; line-height: 1.7; }
.manual-edition, .chapter-label { margin: 0; color: var(--sage-deep); font-size: .7rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.manual-cover dl { display: grid; min-width: 13rem; margin: 0; border-top: 1px solid var(--line); }
.manual-cover dl div { display: flex; justify-content: space-between; gap: 2rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.manual-cover dt { color: var(--ink-soft); font-size: .7rem; text-transform: uppercase; }
.manual-cover dd { margin: 0; font-size: .8rem; font-weight: 700; }
.manual-layout { display: grid; grid-template-columns: 15rem minmax(0,46rem); gap: clamp(3rem,8vw,9rem); align-items: start; justify-content: center; padding-top: 4rem; }
.manual-toc { position: sticky; top: 1.5rem; display: grid; border-top: 1px solid var(--forest); }
.manual-toc p { margin: 0; padding: 1rem 0; font-size: .7rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.manual-toc a { padding: .9rem 0; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .8rem; text-decoration: none; }
.manual-toc a:hover { color: var(--forest); }
.manual-content > section { padding: 1.2rem 0 5rem; border-bottom: 1px solid var(--line); scroll-margin-top: 2rem; }
.manual-content h2 { margin: .7rem 0 1.3rem; font-family: Georgia,"Times New Roman",serif; font-size: clamp(2.7rem,5vw,4.8rem); font-weight: 400; line-height: .95; letter-spacing: -.045em; }
.manual-content > section > p:not(.chapter-label), .manual-content li { font-family: Georgia,"Times New Roman",serif; font-size: 1.1rem; line-height: 1.75; }
.manual-lead { font-size: 1.35rem !important; }
.manual-rule, .manual-note { margin-top: 2rem; padding: 1.5rem; border-radius: 1rem; background: var(--forest); color: var(--cream); }
.manual-rule strong, .manual-note strong { display: block; margin-bottom: .9rem; color: var(--gold); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.manual-rule ol { margin: 0; padding-left: 1.25rem; }
.manual-rule li { font-size: .96rem; }
.observe-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .6rem; margin-top: 2rem; }
.observe-grid div { padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; }
.observe-grid span { display: block; margin-bottom: .7rem; color: var(--sage-deep); font-size: .65rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.observe-grid b { font-family: Georgia,"Times New Roman",serif; font-size: 1rem; font-weight: 400; line-height: 1.4; }
.manual-content blockquote { margin: 2rem 0 0; padding: 1.5rem; border-left: 4px solid var(--gold); background: var(--cream); font-family: Georgia,"Times New Roman",serif; font-size: 1.25rem; line-height: 1.6; }
.manual-checklist { display: grid; gap: .5rem; padding-left: 1.3rem; }
.manual-related { display: inline-block; margin-top: 1.6rem; color: var(--sage-deep); font-size: .78rem; font-weight: 750; text-decoration: none; }
.manual-note { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; }
.manual-note strong { margin: 0; }
.manual-note span { line-height: 1.6; }

.tutorials-library-v2 { padding-bottom: clamp(7rem,10vw,10rem); }
.tutorial-area-nav { display: grid; grid-template-columns: repeat(2,1fr); margin-bottom: 2rem; border-top: 1px solid var(--forest); border-bottom: 1px solid var(--forest); }
.tutorial-area-nav a { display: grid; grid-template-columns: auto 1fr; gap: .3rem 1rem; padding: 1.3rem; text-decoration: none; }
.tutorial-area-nav a:first-child { border-right: 1px solid var(--line); }
.tutorial-area-nav span { grid-row: span 2; color: var(--sage-deep); font-size: .68rem; }
.tutorial-area-nav small { color: var(--ink-soft); }
.tutorial-lane { padding-block: clamp(4rem,7vw,7rem); scroll-margin-top: 1rem; }
.botanical-lane { padding-top: 2rem; }
.tutorial-lane-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.tutorial-lane-heading h2 { margin: .5rem 0 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(3rem,6vw,5.5rem); font-weight: 400; line-height: .9; }
.tutorial-lane-heading > p { max-width: 28rem; margin: 0; color: var(--ink-soft); }
.tutorial-shelf { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.tutorial-book { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); color: var(--forest); text-decoration: none; }
.tutorial-book.featured { grid-column: span 2; grid-template-columns: 1.15fr .85fr; }
.tutorial-book-image { position: relative; min-height: 19rem; }
.tutorial-book-image img { width: 100%; height: 100%; object-fit: cover; }
.tutorial-book-image > span { position: absolute; top: 1rem; left: 1rem; display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: 50%; background: var(--gold); font-size: .75rem; font-weight: 800; }
.tutorial-book-copy { display: flex; min-height: 19rem; flex-direction: column; padding: 1.5rem; }
.tutorial-book-copy h3 { margin: auto 0 .8rem; font-family: Georgia,"Times New Roman",serif; font-size: clamp(2rem,3.5vw,3.4rem); font-weight: 400; line-height: .95; }
.tutorial-book-copy > span { color: var(--ink-soft); font-size: .9rem; line-height: 1.55; }
.tutorial-book-copy b { margin-top: 1.2rem; font-size: .72rem; }

.tutorial-detail-page main { padding-bottom: clamp(6rem,10vw,10rem); }
.tutorial-cover { display: grid; grid-template-columns: minmax(0,.85fr) minmax(24rem,1.15fr); gap: clamp(2rem,6vw,6rem); align-items: center; padding-block: clamp(4rem,8vw,7rem); }
.tutorial-cover h1 { max-width: 10ch; margin: .7rem 0 1.2rem; font-size: clamp(3.8rem,7vw,6.8rem); line-height: .88; text-shadow: none; }
.tutorial-cover-copy > p:not(.tutorial-eyebrow) { max-width: 39rem; color: var(--ink-soft); font-size: 1.1rem; line-height: 1.7; }
.tutorial-eyebrow { margin: 0; color: var(--sage-deep); font-size: .7rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.tutorial-cover figure { margin: 0; }
.tutorial-cover figure img { display: block; width: 100%; aspect-ratio: 4/3; border-radius: var(--radius); object-fit: cover; }
.tutorial-cover figcaption { margin-top: .7rem; color: var(--ink-soft); font-size: .75rem; line-height: 1.5; }
.tutorial-facts { display: grid; grid-template-columns: repeat(3,1fr); margin: 2rem 0 0; border-top: 1px solid var(--line); }
.tutorial-facts div { padding: 1rem 0; border-bottom: 1px solid var(--line); }
.tutorial-facts dt { margin-bottom: .4rem; color: var(--ink-soft); font-size: .65rem; text-transform: uppercase; }
.tutorial-facts dd { margin: 0; font-weight: 700; }
.tutorial-prep { display: grid; grid-template-columns: 1.2fr .9fr .9fr; gap: 1rem; padding-block: 4rem; border-top: 1px solid var(--forest); border-bottom: 1px solid var(--forest); }
.tutorial-prep h2 { max-width: 12ch; margin: .7rem 0 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(2.3rem,4vw,3.7rem); font-weight: 400; line-height: .98; }
.materials-panel, .safety-panel { padding: 1.4rem; border-radius: 1rem; background: var(--cream); }
.safety-panel { background: var(--gold); color: var(--forest); }
.materials-panel h3, .safety-panel h3 { margin: 0 0 1rem; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.materials-panel ul { display: grid; gap: .5rem; margin: 0; padding-left: 1.1rem; }
.safety-panel p { margin: 0; line-height: 1.6; }
.step-manual { counter-reset: step; padding-block: 3rem; }
.manual-step { display: grid; grid-template-columns: 5rem minmax(0,46rem); gap: clamp(1rem,5vw,5rem); justify-content: center; padding: clamp(3rem,6vw,5rem) 0; border-bottom: 1px solid var(--line); }
.manual-step > span { display: grid; width: 4rem; height: 4rem; place-items: center; border: 1px solid var(--forest); border-radius: 50%; font-family: Georgia,"Times New Roman",serif; font-size: 1.25rem; }
.manual-step p:first-child { margin: 0; color: var(--sage-deep); font-size: .68rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.manual-step h2 { margin: .6rem 0 1rem; font-family: Georgia,"Times New Roman",serif; font-size: clamp(2.4rem,4.4vw,4.1rem); font-weight: 400; line-height: .96; letter-spacing: -.04em; }
.manual-step p:last-child { margin: 0; color: var(--ink-soft); font-family: Georgia,"Times New Roman",serif; font-size: 1.12rem; line-height: 1.75; }
.tutorial-outcome { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(2rem,7vw,8rem); padding: clamp(3rem,6vw,5rem); border-radius: var(--radius); background: var(--forest); color: var(--cream); }
.tutorial-outcome h2 { margin: .7rem 0 1.4rem; font-family: Georgia,"Times New Roman",serif; font-size: clamp(2.5rem,4.5vw,4.2rem); font-weight: 400; line-height: .95; }
.tutorial-outcome ul { display: grid; gap: .7rem; padding-left: 1.2rem; line-height: 1.5; }
.tutorial-outcome aside { align-self: end; padding: 1.5rem; border-radius: 1rem; background: var(--gold); color: var(--forest); }
.tutorial-outcome aside h3 { margin: 0 0 .8rem; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.tutorial-outcome aside p { margin: 0; line-height: 1.65; }
.tutorial-next { display: grid; grid-template-columns: repeat(2,1fr); margin-top: 2rem; border-top: 1px solid var(--forest); border-bottom: 1px solid var(--forest); }
.tutorial-next a { display: grid; gap: .5rem; padding: 1.3rem; text-decoration: none; }
.tutorial-next a:first-child { border-right: 1px solid var(--line); }
.tutorial-next span { color: var(--sage-deep); font-size: .65rem; text-transform: uppercase; }
.articles-separated { padding-bottom: clamp(6rem,10vw,10rem); }
.article-lane { padding-block: clamp(4rem,7vw,7rem); scroll-margin-top: 1rem; }
.article-lane .articles-library { margin-top: 2rem; }
.article-lane .button-link { align-self: end; }
.editorial-nav a[aria-current="page"] { color: var(--gold); }
.scoped-catalog .area-filter-field { display: none; }

@media (max-width: 980px) {
  .area-hero, .tutorial-cover { grid-template-columns: 1fr; }
  .hub-panel { grid-template-columns: 1fr; }
  .hub-panel-heading { max-width: 42rem; }
  .hub-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tutorial-shelf { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .manual-layout { grid-template-columns: 12rem minmax(0,1fr); gap: 3rem; }
}

@media (max-width: 700px) {
  .route-heading, .route-grid, .curated-grid, .manual-books, .how-to-read, .tutorial-prep, .tutorial-outcome { grid-template-columns: 1fr; }
  .route-card { min-height: 22rem; }
  .curated-feature { grid-row: auto; }
  .chapter-nav { grid-template-columns: repeat(2,1fr); }
  .chapter-nav a:nth-child(2) { border-right: 0; }
  .chapter-nav a:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .hub-cards, .plant-shortcuts, .tutorial-shelf { grid-template-columns: 1fr; }
  .tutorial-book.featured { grid-column: auto; grid-template-columns: 1fr; }
  .tutorial-book-image { min-height: 15rem; }
  .tutorial-area-nav, .tutorial-next { grid-template-columns: 1fr; }
  .tutorial-area-nav a:first-child, .tutorial-next a:first-child { border-right: 0; border-bottom: 1px solid var(--line); }
  .tutorial-lane-heading { align-items: start; flex-direction: column; }
  .manual-cover { grid-template-columns: 1fr; }
  .manual-layout { grid-template-columns: 1fr; }
  .manual-toc { position: static; }
  .observe-grid { grid-template-columns: 1fr; }
  .manual-note { grid-template-columns: 1fr; }
  .tutorial-facts { grid-template-columns: 1fr; }
  .tutorial-facts div { display: flex; justify-content: space-between; }
  .manual-step { grid-template-columns: 3.2rem 1fr; gap: 1rem; }
  .manual-step > span { width: 3rem; height: 3rem; }
}

/* Premium learning architecture: area hubs, articles and information */
.learning-area-v3,
.articles-v3,
.information-v3 { --page-surface: #fbf8ed; }

.learning-area-v3 .editorial-header,
.articles-v3 .editorial-header,
.information-v3 .editorial-header { position: relative; z-index: 10; }

.premium-hub,
.reading-library,
.information-library {
  width: min(100% - 2rem, 96rem);
  margin: 1rem auto;
  overflow: hidden;
  border-radius: 2rem;
  background: var(--page-surface);
  box-shadow: 0 1.5rem 4rem rgba(36, 43, 25, 0.11);
}

.learning-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(28rem, 1.08fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  align-items: center;
  min-height: 44rem;
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.learning-hero-copy h1,
.reading-hero h1,
.information-hero h1 {
  max-width: 12ch;
  margin: .8rem 0 0;
  color: var(--forest);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(3.6rem, 6.7vw, 7rem);
  font-weight: 720;
  line-height: .91;
  letter-spacing: -.072em;
  text-shadow: none;
}

.learning-hero-copy h1 em,
.reading-hero h1 em,
.information-hero h1 em {
  color: var(--gold);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}

.learning-lead {
  max-width: 39rem;
  margin: 1.7rem 0 0;
  color: var(--ink-soft);
  font-size: clamp(1.02rem, 1.35vw, 1.18rem);
  line-height: 1.72;
}

.learning-proof {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 39rem;
  margin: 2.6rem 0 0;
  padding: 1.2rem 0 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.learning-proof li { display: grid; gap: .28rem; }
.learning-proof strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; font-weight: 400; }
.learning-proof span { color: var(--ink-soft); font-size: .68rem; letter-spacing: .04em; }

.learning-visual { position: relative; margin: 0; }
.learning-visual > img { display: block; width: 100%; min-height: 33rem; aspect-ratio: 1.05 / 1; border-radius: 1.7rem; object-fit: cover; }
.learning-visual figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .35rem 1rem;
  align-items: end;
  padding: 1.25rem 1.35rem;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 1.1rem;
  background: rgba(251, 248, 237, .88);
  color: var(--forest);
  backdrop-filter: blur(14px);
}

.learning-visual figcaption span { grid-column: 1 / -1; color: var(--sage-deep); font-size: .64rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.learning-visual figcaption strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; font-weight: 400; }
.learning-visual figcaption a { font-size: .7rem; font-weight: 750; text-decoration: none; text-transform: uppercase; }

.learning-path,
.library-switch {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line);
  border-radius: 1.2rem;
  overflow: hidden;
  background: #fffdf6;
  box-shadow: 0 .8rem 2rem rgba(36, 43, 25, .06);
}

.learning-path a,
.library-switch a { display: grid; grid-template-columns: auto 1fr; gap: .25rem .8rem; padding: 1.25rem; border-right: 1px solid var(--line); text-decoration: none; }
.learning-path a:last-child,
.library-switch a:last-child { border-right: 0; }
.learning-path span,
.library-switch span { grid-row: span 2; color: var(--sage-deep); font-size: .65rem; font-weight: 750; letter-spacing: .1em; }
.learning-path strong,
.library-switch strong { font-size: .82rem; }
.learning-path small,
.library-switch small { color: var(--ink-soft); font-size: .7rem; }
.learning-path a:hover,
.library-switch a:hover { background: var(--cream); }

.goal-section,
.practice-section,
.deeper-section,
.manual-showcase,
.question-entry { padding-block: clamp(6rem, 9vw, 9rem); }

.split-heading,
.lane-heading {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.split-heading h2,
.lane-heading h2,
.stage-copy h2,
.method-intro h2,
.reading-method h2,
.information-next h2 {
  max-width: 15ch;
  margin: .6rem 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.7rem, 4.8vw, 4.8rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.045em;
}

.split-heading > p,
.lane-heading > p { max-width: 34rem; margin: 0; color: var(--ink-soft); line-height: 1.7; }

.goal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.goal-card {
  display: flex;
  min-height: 18rem;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  background: #fffdf6;
  color: var(--forest);
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.goal-card:hover,
.deeper-card:hover,
.practice-card:hover,
.lead-story:hover { box-shadow: 0 1.5rem 3.2rem rgba(36, 43, 25, .12); transform: translateY(-4px); }
.goal-feature { grid-row: span 2; min-height: 36.9rem; background: var(--forest); color: var(--cream); }
.area-botany .goal-feature { background: var(--gold); color: var(--forest); }
.goal-card > span,
.deeper-card > span,
.deeper-card div > span,
.practice-card div > span { color: var(--sage-deep); font-size: .66rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.goal-feature > span { color: var(--gold); }
.area-botany .goal-feature > span { color: var(--forest); }
.goal-card h3 { max-width: 17ch; margin: auto 0 .8rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.9rem, 3vw, 3rem); font-weight: 400; line-height: 1; }
.goal-card p { max-width: 34rem; margin: 0; color: inherit; font-size: .92rem; line-height: 1.62; opacity: .69; }
.goal-card b,
.deeper-card b,
.practice-card b { margin-top: 1.2rem; font-size: .72rem; }

.resource-stage { padding-block: clamp(5rem, 8vw, 8rem); }
.resource-stage-dark { background: var(--forest); color: var(--cream); }
.resource-stage-gold { background: var(--gold); color: var(--forest); }
.stage-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(3rem, 8vw, 9rem); align-items: start; }
.resource-stage-dark .section-label { color: var(--gold); }
.resource-stage-gold .section-label { color: var(--forest); }
.stage-copy p:not(.section-label) { max-width: 31rem; color: inherit; line-height: 1.7; opacity: .68; }
.text-arrow { display: inline-block; margin-top: 1.2rem; padding-bottom: .25rem; border-bottom: 1px solid currentColor; font-size: .72rem; font-weight: 750; text-decoration: none; text-transform: uppercase; }
.chapter-list { margin: 0; padding: 0; border-top: 1px solid currentColor; list-style: none; }
.chapter-list li { border-bottom: 1px solid currentColor; }
.chapter-list a { display: grid; grid-template-columns: 2rem 1fr auto; gap: 1.2rem; align-items: center; padding: 1.35rem .2rem; color: inherit; text-decoration: none; }
.chapter-list a > span { font-size: .65rem; opacity: .58; }
.chapter-list div { display: grid; gap: .3rem; }
.chapter-list strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; font-weight: 400; }
.chapter-list small { opacity: .6; }

.practice-feature { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(22rem, .85fr); overflow: hidden; border-radius: 1.5rem; background: var(--cream); color: var(--forest); text-decoration: none; }
.practice-image { position: relative; min-height: 35rem; }
.practice-image img { width: 100%; height: 100%; object-fit: cover; }
.practice-image span { position: absolute; top: 1.2rem; left: 1.2rem; padding: .65rem .85rem; border-radius: 999px; background: var(--gold); font-size: .67rem; font-weight: 750; text-transform: uppercase; }
.practice-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 4vw, 4rem); }
.practice-copy > p:first-child { color: var(--sage-deep); font-size: .68rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.practice-copy h3 { margin: 1rem 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.6rem, 4vw, 4rem); font-weight: 400; line-height: .95; }
.practice-copy > p:not(:first-child) { color: var(--ink-soft); line-height: 1.65; }
.practice-copy ul { display: grid; gap: .6rem; margin: 1.4rem 0 0; padding: 1.2rem 0 0; border-top: 1px solid var(--line); list-style: none; }
.practice-copy li::before { margin-right: .65rem; color: var(--sage-deep); content: "✓"; }
.practice-copy b { margin-top: 1.6rem; font-size: .72rem; }

.practice-shelf { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.practice-card { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 1.25rem; background: #fffdf6; color: var(--forest); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.practice-card-feature { grid-column: span 2; grid-template-columns: 1.1fr .9fr; }
.practice-card img { width: 100%; height: 18rem; object-fit: cover; }
.practice-card-feature img { height: 100%; min-height: 28rem; }
.practice-card > div { display: flex; min-height: 15rem; flex-direction: column; padding: 1.5rem; }
.practice-card h3 { margin: auto 0 .7rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 400; line-height: .98; }
.practice-card p { margin: 0; color: var(--ink-soft); line-height: 1.6; }

.deeper-section { border-top: 1px solid var(--line); }
.deeper-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: .9rem; }
.deeper-card { display: flex; min-height: 16rem; flex-direction: column; padding: 1.6rem; border: 1px solid var(--line); border-radius: 1.2rem; background: #fffdf6; text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.deeper-card-wide { grid-row: span 2; padding: .65rem; }
.deeper-card-wide img { width: 100%; min-height: 20rem; border-radius: .9rem; object-fit: cover; }
.deeper-card-wide div { display: flex; min-height: 15rem; flex-direction: column; padding: 1.2rem; }
.deeper-card h3 { margin: auto 0 .7rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 400; line-height: .98; }
.deeper-card p { margin: 0; color: var(--ink-soft); line-height: 1.6; }
.learning-close { padding-block: clamp(5rem, 8vw, 8rem); border-top: 1px solid var(--line); text-align: center; }
.learning-close blockquote { max-width: 23ch; margin: 1.2rem auto 1.8rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.2rem, 4.5vw, 4.2rem); line-height: 1.05; }
.learning-close a { font-size: .72rem; font-weight: 750; text-decoration: none; text-transform: uppercase; }

/* Articles */
.reading-hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(3rem, 8vw, 9rem); align-items: end; padding-block: clamp(5rem, 9vw, 9rem) clamp(4rem, 7vw, 6rem); }
.reading-hero h1 { max-width: 13ch; }
.reading-hero-note p { margin: 0; color: var(--ink-soft); font-size: 1.08rem; line-height: 1.72; }
.reading-hero-note span { display: block; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--sage-deep); font-size: .67rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.library-switch { grid-template-columns: repeat(2, 1fr); }
.library-switch a { grid-template-columns: auto 1fr auto; }
.library-switch b { grid-row: span 2; }
.editorial-lane { padding-block: clamp(5rem, 8vw, 8rem); scroll-margin-top: 1rem; }
.editorial-lane + .editorial-lane { border-top: 1px solid var(--line); }
.lane-heading h2 { font-size: clamp(3.4rem, 6vw, 6rem); }
.editorial-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: .9rem; }
.lead-story { display: grid; overflow: hidden; border-radius: 1.4rem; background: var(--forest); color: var(--cream); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.lead-story-image { position: relative; min-height: 29rem; }
.lead-story-image img { width: 100%; height: 100%; object-fit: cover; }
.lead-story-image > span { position: absolute; top: 1rem; left: 1rem; padding: .65rem .85rem; border-radius: 999px; background: var(--gold); color: var(--forest); font-size: .65rem; font-weight: 750; text-transform: uppercase; }
.lead-story-copy { display: flex; min-height: 20rem; flex-direction: column; padding: clamp(1.7rem, 3vw, 2.7rem); }
.lead-story-copy > p { margin: 0; color: var(--gold); font-size: .66rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.lead-story-copy h3 { max-width: 17ch; margin: .9rem 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.5rem, 4vw, 4rem); font-weight: 400; line-height: .95; }
.lead-story-copy > span { max-width: 39rem; color: rgba(246, 240, 216, .7); line-height: 1.65; }
.lead-story-copy footer { display: flex; justify-content: space-between; margin-top: auto; padding-top: 1.5rem; border-top: 1px solid rgba(246, 240, 216, .2); }
.lead-story-copy small { color: rgba(246, 240, 216, .6); }
.lead-story-copy b { font-size: .72rem; }
.botany-story { background: var(--gold); color: var(--forest); }
.botany-story .lead-story-image > span { background: var(--forest); color: var(--cream); }
.botany-story .lead-story-copy > p,
.botany-story .lead-story-copy > span,
.botany-story .lead-story-copy small { color: rgba(19, 32, 24, .7); }
.botany-story .lead-story-copy footer { border-color: rgba(19, 32, 24, .2); }
.story-stack { display: grid; grid-template-rows: auto repeat(3, 1fr); padding: 1.25rem; border: 1px solid var(--line); border-radius: 1.4rem; background: #fffdf6; }
.stack-title { margin: 0; padding: .3rem .3rem 1.1rem; color: var(--sage-deep); font-size: .67rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.story-stack a { display: grid; grid-template-columns: 5.2rem 1fr; gap: 1rem; align-items: center; padding: 1.1rem .3rem; border-top: 1px solid var(--line); text-decoration: none; }
.story-stack img,
.story-index { width: 5.2rem; height: 5.2rem; border-radius: .75rem; object-fit: cover; }
.story-index { display: grid; place-items: center; background: var(--cream); color: var(--sage-deep); font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; }
.story-stack div { min-width: 0; }
.story-stack span { color: var(--sage-deep); font-size: .62rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.story-stack h3 { margin: .35rem 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.16rem; font-weight: 400; line-height: 1.08; }
.story-stack small { color: var(--ink-soft); font-size: .67rem; }
.lane-cta { display: flex; justify-content: space-between; margin-top: 1rem; padding: 1.2rem 1.35rem; border: 1px solid var(--line); border-radius: 1rem; font-size: .74rem; font-weight: 750; text-decoration: none; text-transform: uppercase; }
.lane-cta:hover { background: var(--cream); }
.reading-method { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 9rem); padding-block: clamp(5rem, 9vw, 9rem); border-top: 1px solid var(--line); }
.reading-method ol { margin: 0; padding: 0; list-style: none; }
.reading-method li { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; padding: 1.35rem 0; border-top: 1px solid var(--line); }
.reading-method li span { color: var(--sage-deep); font-size: .65rem; font-weight: 750; }
.reading-method li p { margin: 0; color: var(--ink-soft); line-height: 1.6; }
.reading-method li strong { color: var(--forest); }

/* Information */
.information-hero { padding-block: clamp(6rem, 10vw, 10rem) clamp(4rem, 7vw, 6rem); text-align: center; }
.information-hero h1 { max-width: 13ch; margin-inline: auto; }
.information-hero > p:nth-of-type(2) { max-width: 47rem; margin: 2rem auto 0; color: var(--ink-soft); font-size: 1.1rem; line-height: 1.75; }
.information-index { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 54rem; margin: 3rem auto 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.information-index span { padding: 1rem; border-right: 1px solid var(--line); color: var(--sage-deep); font-size: .65rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.information-index span:last-child { border-right: 0; }
.manual-covers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.manual-cover-card { display: flex; min-height: 36rem; flex-direction: column; padding: clamp(1.6rem, 3.5vw, 3rem); border-radius: 1.4rem; text-decoration: none; box-shadow: 0 1.5rem 3.5rem rgba(36, 43, 25, .12); transition: transform 180ms ease; }
.manual-cover-card:hover { transform: translateY(-5px) rotate(-.25deg); }
.manual-cover-agriculture { background: var(--forest); color: var(--cream); }
.manual-cover-botany { background: var(--gold); color: var(--forest); }
.manual-cover-top,
.manual-cover-bottom { display: flex; justify-content: space-between; gap: 1rem; font-size: .65rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.manual-cover-top { padding-bottom: 1rem; border-bottom: 1px solid currentColor; opacity: .7; }
.manual-cover-main { margin: auto 0; }
.manual-cover-main p { margin: 0 0 .8rem; color: var(--gold); font-size: .67rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.manual-cover-botany .manual-cover-main p { color: var(--forest); }
.manual-cover-main h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.8rem, 6vw, 6rem); font-weight: 400; line-height: .88; }
.manual-cover-main > span { display: block; margin-top: 1.2rem; opacity: .67; }
.manual-cover-bottom { padding-top: 1.1rem; border-top: 1px solid currentColor; }
.information-method { padding-block: clamp(6rem, 9vw, 9rem); background: var(--forest); color: var(--cream); }
.method-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(3rem, 8vw, 9rem); }
.method-intro .section-label { color: var(--gold); }
.method-intro p:last-child { max-width: 31rem; color: rgba(246, 240, 216, .65); line-height: 1.7; }
.method-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.method-steps li { display: grid; min-height: 16rem; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.4rem; border: 1px solid rgba(246, 240, 216, .18); border-radius: 1rem; }
.method-steps li:nth-child(2) { background: var(--gold); color: var(--forest); }
.method-steps li > span { color: var(--gold); font-size: .65rem; font-weight: 750; }
.method-steps li:nth-child(2) > span { color: var(--forest); }
.method-steps li > div { display: flex; flex-direction: column; }
.method-steps p { margin: 0; font-size: .65rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.method-steps h3 { margin: auto 0 .7rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.7rem; font-weight: 400; line-height: 1.05; }
.method-steps small { line-height: 1.5; opacity: .63; }
.question-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; }
.question-grid a { display: flex; min-height: 17rem; flex-direction: column; padding: 1.6rem; border: 1px solid var(--line); border-radius: 1.2rem; background: #fffdf6; text-decoration: none; }
.question-grid a:nth-child(1) { background: var(--forest); color: var(--cream); }
.question-grid a:nth-child(4) { background: var(--gold); color: var(--forest); }
.question-grid span { color: var(--sage-deep); font-size: .65rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.question-grid a:nth-child(1) span { color: var(--gold); }
.question-grid a:nth-child(4) span { color: var(--forest); }
.question-grid h3 { max-width: 18ch; margin: auto 0 1rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 3vw, 2.7rem); font-weight: 400; line-height: 1; }
.question-grid b { font-size: .7rem; }
.information-next { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: end; margin-bottom: clamp(5rem, 8vw, 8rem); padding: clamp(2rem, 5vw, 5rem); border-radius: 1.4rem; background: var(--gold); }
.information-next p:not(.section-label) { max-width: 38rem; color: rgba(19, 32, 24, .67); line-height: 1.7; }
.information-next a { display: inline-flex; gap: 2rem; align-items: center; padding: 1rem 1.2rem; border-radius: 999px; background: var(--forest); color: var(--cream); font-size: .72rem; font-weight: 750; text-decoration: none; text-transform: uppercase; }

.premium-hub a:focus-visible,
.reading-library a:focus-visible,
.information-library a:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }

@media (max-width: 980px) {
  .learning-hero,
  .reading-hero,
  .stage-grid,
  .method-layout { grid-template-columns: 1fr; }
  .learning-hero { min-height: 0; }
  .learning-visual > img { min-height: 26rem; aspect-ratio: 4 / 3; }
  .editorial-grid { grid-template-columns: 1fr; }
  .story-stack { grid-template-rows: auto; }
}

@media (max-width: 760px) {
  .learning-area-v3 .editorial-header,
  .articles-v3 .editorial-header,
  .information-v3 .editorial-header { align-items: flex-start; flex-direction: column; gap: .8rem; padding-block: 1rem; border-radius: 1.2rem; }
  .learning-area-v3 .editorial-nav,
  .articles-v3 .editorial-nav,
  .information-v3 .editorial-nav { width: 100%; overflow-x: auto; padding-bottom: .25rem; scrollbar-width: none; }
  .learning-area-v3 .editorial-nav a,
  .articles-v3 .editorial-nav a,
  .information-v3 .editorial-nav a { display: block; flex: 0 0 auto; }
  .premium-hub,
  .reading-library,
  .information-library { width: min(100% - 1.3rem, 96rem); margin-top: .65rem; border-radius: 1rem; }
  .learning-hero-copy h1,
  .reading-hero h1,
  .information-hero h1 { font-size: clamp(3.15rem, 14vw, 5rem); }
  .learning-path { grid-template-columns: repeat(2, 1fr); }
  .learning-path a:nth-child(2) { border-right: 0; }
  .learning-path a:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .split-heading,
  .lane-heading,
  .reading-method { grid-template-columns: 1fr; }
  .goal-grid,
  .manual-covers,
  .question-grid,
  .method-steps,
  .deeper-grid { grid-template-columns: 1fr; }
  .goal-feature { grid-row: auto; min-height: 25rem; }
  .practice-feature,
  .practice-card-feature { grid-template-columns: 1fr; }
  .practice-image { min-height: 20rem; }
  .practice-shelf { grid-template-columns: 1fr; }
  .practice-card-feature { grid-column: auto; }
  .practice-card-feature img { min-height: 18rem; }
  .deeper-card-wide { grid-row: auto; }
  .information-index { grid-template-columns: repeat(2, 1fr); }
  .information-index span:nth-child(2) { border-right: 0; }
  .information-index span:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .manual-cover-card { min-height: 29rem; }
  .information-next { grid-template-columns: 1fr; align-items: start; }
  .information-next a { justify-content: space-between; }
}

@media (max-width: 560px) {
  .learning-proof { grid-template-columns: 1fr; gap: .8rem; }
  .learning-proof li { grid-template-columns: 5rem 1fr; align-items: center; }
  .learning-visual > img { min-height: 23rem; }
  .learning-visual figcaption { position: static; margin-top: .7rem; border-color: var(--line); background: var(--cream); }
  .library-switch { grid-template-columns: 1fr; }
  .library-switch a:first-child { border-right: 0; border-bottom: 1px solid var(--line); }
  .story-stack a { grid-template-columns: 4.2rem 1fr; }
  .story-stack img,
  .story-index { width: 4.2rem; height: 4.2rem; }
  .manual-cover-bottom { flex-direction: column; }
}

/* Encyclopedia collections: connected reference pages */
.knowledge-page { background: var(--cream-soft); }
.knowledge-page main { padding-bottom: clamp(5rem, 9vw, 9rem); }
.knowledge-page .editorial-header { position: relative; z-index: 4; }

.knowledge-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16rem;
  gap: clamp(3rem, 8vw, 9rem);
  align-items: end;
  margin-top: 1rem;
  padding: clamp(2rem, 5vw, 4.5rem);
  border-radius: 1.7rem;
  background: var(--forest);
  color: var(--cream);
  box-shadow: 0 1.8rem 4.5rem rgba(36, 43, 25, .15);
}

.knowledge-botany .knowledge-hero { background: var(--gold); color: var(--forest); }
.knowledge-back { display: inline-flex; margin-bottom: clamp(3.5rem, 7vw, 6rem); color: inherit; font-size: .67rem; font-weight: 750; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; opacity: .72; }
.knowledge-kicker,
.entry-label { margin: 0; color: var(--gold); font-size: .67rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.knowledge-botany .knowledge-kicker { color: var(--forest); }
.knowledge-hero h1 { max-width: 12ch; margin: .8rem 0 1.4rem; color: inherit; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: clamp(3.8rem, 7.6vw, 7.8rem); font-weight: 720; line-height: .87; letter-spacing: -.072em; text-shadow: none; }
.knowledge-hero h1 em { color: var(--gold); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.knowledge-botany .knowledge-hero h1 em { color: var(--cream); }
.knowledge-hero-copy > p:last-child { max-width: 46rem; margin: 0; color: inherit; font-size: clamp(1rem, 1.35vw, 1.15rem); line-height: 1.72; opacity: .67; }
.knowledge-summary { display: grid; margin: 0; border-top: 1px solid currentColor; }
.knowledge-summary div { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid currentColor; }
.knowledge-summary dt { font-size: .63rem; letter-spacing: .09em; text-transform: uppercase; opacity: .58; }
.knowledge-summary dd { margin: 0; font-size: .74rem; font-weight: 750; text-align: right; }

.knowledge-layout { display: grid; grid-template-columns: 13rem minmax(0, 44rem) 15rem; gap: clamp(2rem, 4vw, 4.5rem); align-items: start; justify-content: center; padding-top: clamp(4rem, 7vw, 7rem); }
.knowledge-toc,
.knowledge-facts { position: sticky; top: 1.5rem; }
.knowledge-toc { display: grid; border-top: 1px solid var(--forest); }
.knowledge-toc > p,
.knowledge-facts > p:first-child { margin: 0; padding: 1rem 0; color: var(--sage-deep); font-size: .64rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.knowledge-toc a { display: grid; grid-template-columns: 1.5rem 1fr; gap: .45rem; padding: .78rem 0; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .76rem; line-height: 1.35; text-decoration: none; }
.knowledge-toc a:hover { color: var(--forest); }
.knowledge-toc a span { color: var(--sage-deep); font-size: .61rem; }
.knowledge-toc .knowledge-all { display: block; margin-top: .65rem; padding: .85rem 0; color: var(--forest); font-size: .65rem; font-weight: 750; text-transform: uppercase; }

.knowledge-article > section { padding: .4rem 0 clamp(4.5rem, 8vw, 7rem); border-bottom: 1px solid var(--line); scroll-margin-top: 2rem; }
.knowledge-article > section + section { padding-top: clamp(4.5rem, 8vw, 7rem); }
.knowledge-article h2 { max-width: 12ch; margin: .7rem 0 1.5rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 5.5vw, 5.2rem); font-weight: 400; line-height: .92; letter-spacing: -.05em; }
.knowledge-article > section > p:not(.entry-label) { color: var(--ink-soft); font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; line-height: 1.78; }
.knowledge-article .knowledge-definition { margin: 0 0 1.2rem; color: var(--forest); font-size: 1.28rem; }
.knowledge-definition strong { color: var(--sage-deep); font-family: Inter, ui-sans-serif, sans-serif; font-size: .67rem; letter-spacing: .11em; text-transform: uppercase; }
.knowledge-callout { display: grid; grid-template-columns: 7rem 1fr; gap: 1.2rem; margin-top: 2rem; padding: 1.4rem; border-radius: 1rem; background: var(--forest); color: var(--cream); }
.knowledge-botany .knowledge-callout { background: var(--gold); color: var(--forest); }
.knowledge-callout span { color: var(--gold); font-size: .63rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.knowledge-botany .knowledge-callout span { color: var(--forest); }
.knowledge-callout p { margin: 0; line-height: 1.6; opacity: .76; }
.knowledge-terms { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin-top: 2rem; }
.knowledge-terms div { padding: 1.05rem; border: 1px solid var(--line); border-radius: .85rem; background: var(--white); }
.knowledge-terms span { display: block; margin-bottom: .6rem; color: var(--sage-deep); font-size: .62rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.knowledge-terms p { margin: 0; color: var(--ink-soft); font-family: Georgia, "Times New Roman", serif; font-size: .96rem; line-height: 1.5; }
.knowledge-article blockquote { margin: 2rem 0 0; padding: 1.5rem; border-left: 4px solid var(--gold); background: var(--cream); font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; line-height: 1.62; }
.knowledge-checklist { display: grid; gap: .6rem; margin-top: 2rem; padding: 1.4rem 1.4rem 1.4rem 2.6rem; border-radius: 1rem; background: var(--white); color: var(--ink-soft); font-family: Georgia, "Times New Roman", serif; font-size: 1.02rem; line-height: 1.6; }
.knowledge-related { display: inline-flex; margin-top: 1.6rem; padding-bottom: .25rem; border-bottom: 1px solid currentColor; color: var(--sage-deep); font-size: .69rem; font-weight: 750; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }

.knowledge-facts { padding: 1.1rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--white); }
.knowledge-facts dl { margin: 0; }
.knowledge-facts dl div { padding: .8rem 0; border-top: 1px solid var(--line); }
.knowledge-facts dt { color: var(--ink-soft); font-size: .61rem; letter-spacing: .08em; text-transform: uppercase; }
.knowledge-facts dd { margin: .28rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; }
.knowledge-connections { display: grid; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--forest); }
.knowledge-connections span { margin-bottom: .45rem; color: var(--sage-deep); font-size: .62rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.knowledge-connections a { padding: .58rem 0; border-bottom: 1px solid var(--line); font-size: .72rem; text-decoration: none; }
.knowledge-facts .knowledge-caution { margin: 1.2rem 0 0; padding: 1rem; border-radius: .7rem; background: var(--cream); color: var(--ink-soft); font-size: .69rem; line-height: 1.55; }

.knowledge-page a:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }

.encyclopedia-collections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-bottom: .8rem; }
.collection-card { display: grid; min-height: 22rem; grid-template-rows: auto 1fr auto; padding: clamp(1.5rem, 3vw, 2.3rem); border-radius: 1.2rem; text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.collection-card:hover { box-shadow: 0 1.5rem 3.2rem rgba(36, 43, 25, .14); transform: translateY(-4px); }
.collection-agriculture { background: var(--forest); color: var(--cream); }
.collection-botany { background: var(--gold); color: var(--forest); }
.collection-card > span,
.collection-card p { margin: 0; font-size: .64rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; opacity: .67; }
.collection-agriculture > span,
.collection-agriculture p { color: var(--gold); opacity: 1; }
.collection-card > div { align-self: end; }
.collection-card h3 { max-width: 16ch; margin: .7rem 0 1rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.3rem, 4vw, 4rem); font-weight: 400; line-height: .94; }
.collection-card small { opacity: .62; }
.collection-card b { margin-top: 1.6rem; padding-top: 1rem; border-top: 1px solid currentColor; font-size: .68rem; text-transform: uppercase; }

@media (max-width: 1120px) {
  .knowledge-layout { grid-template-columns: 12rem minmax(0, 1fr); }
  .knowledge-facts { position: static; grid-column: 2; }
}

@media (max-width: 760px) {
  .knowledge-hero { grid-template-columns: 1fr; }
  .knowledge-back { margin-bottom: 2.5rem; }
  .knowledge-layout { grid-template-columns: 1fr; }
  .knowledge-toc,
  .knowledge-facts { position: static; grid-column: auto; }
  .knowledge-toc { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .8rem; }
  .knowledge-toc > p,
  .knowledge-toc .knowledge-all { grid-column: 1 / -1; }
  .knowledge-callout { grid-template-columns: 1fr; }
  .knowledge-terms { grid-template-columns: 1fr; }
  .encyclopedia-collections { grid-template-columns: 1fr; }
  .collection-card { min-height: 19rem; }
}

@media (max-width: 520px) {
  .knowledge-hero { margin-top: .6rem; border-radius: 1rem; }
  .knowledge-hero h1 { font-size: clamp(3.25rem, 15vw, 5rem); }
  .knowledge-toc { grid-template-columns: 1fr; }
  .knowledge-toc > p,
  .knowledge-toc .knowledge-all { grid-column: auto; }
}

/* Practical Agronomy and Botany hubs */
.practical-area { background: var(--sand); }
.practical-area main { overflow: hidden; }
.practical-area .site-footer { margin-top: 1rem; }

.topic-hero {
  display: grid;
  min-height: 100svh;
  padding: clamp(.7rem, 2.4vw, 2.4rem);
  background:
    radial-gradient(circle at 6% 10%, rgba(255, 250, 240, .7) 0 8%, transparent 8.3%),
    radial-gradient(circle at 94% 91%, rgba(83, 107, 72, .28) 0 16%, transparent 16.3%),
    var(--sand);
}

.topic-hero-panel {
  position: relative;
  isolation: isolate;
  display: grid;
  width: min(100%, 96rem);
  min-height: calc(100svh - clamp(1.4rem, 4.8vw, 4.8rem));
  grid-template-rows: auto 1fr auto;
  margin: auto;
  overflow: hidden;
  border-radius: clamp(1rem, 2.2vw, 2rem);
  background: var(--forest);
  color: var(--cream);
  box-shadow: 0 2rem 5rem rgba(36, 43, 25, .2);
}

.topic-hero-panel::before {
  position: absolute;
  top: -38%;
  left: -20%;
  z-index: -1;
  width: 65%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(127, 152, 113, .14);
  content: "";
}

.area-botany .topic-hero-panel::before { background: rgba(227, 173, 64, .12); }
.topic-hero-panel .site-header { padding: clamp(1.35rem, 3vw, 2.5rem) clamp(1.2rem, 4vw, 4rem); }
.topic-hero-panel .brand { color: var(--cream); }
.topic-hero-panel .brand-mark { color: var(--gold); }
.topic-hero-panel .primary-nav a { color: rgba(246, 240, 216, .68); }
.topic-hero-panel .primary-nav a:hover,
.topic-hero-panel .primary-nav a[aria-current="page"] { color: var(--gold); }
.topic-hero-panel .primary-nav .nav-cta { background: var(--gold); color: var(--forest); }

.topic-hero-layout {
  display: grid;
  grid-template-columns: minmax(19rem, .78fr) minmax(30rem, 1.22fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  min-height: 0;
  padding: 1rem clamp(1.2rem, 4vw, 4rem);
}

.topic-hero-copy { padding-block: clamp(3rem, 7vh, 6rem); }
.topic-hero-copy .kicker { margin: 0 0 1.35rem; color: var(--sage); font-size: .68rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.area-botany .topic-hero-copy .kicker { color: var(--gold); }
.topic-hero-copy h1 { margin: 0; color: var(--white); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: clamp(3.9rem, 6.6vw, 7rem); font-weight: 720; line-height: .87; letter-spacing: -.07em; }
.topic-hero-copy h1 em { color: var(--gold); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.topic-hero-copy > p:not(.kicker) { max-width: 35rem; margin: 1.7rem 0 0; color: rgba(246, 240, 216, .68); font-size: clamp(.98rem, 1.25vw, 1.1rem); line-height: 1.72; }
.topic-hero-copy .hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.topic-hero-copy .hero-primary-action,
.topic-hero-copy .hero-secondary-action { display: inline-flex; min-height: 3.2rem; align-items: center; justify-content: center; gap: .65rem; padding: .82rem 1.2rem; border-radius: 999px; font-size: .7rem; font-weight: 750; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.topic-hero-copy .hero-primary-action { background: var(--gold); color: var(--forest); }
.topic-hero-copy .hero-secondary-action { border: 1px solid rgba(246, 240, 216, .24); color: var(--cream); }

.topic-hero-art { position: relative; align-self: stretch; min-width: 0; min-height: 31rem; margin: 0; padding: .55rem; border-radius: 1.7rem; background: rgba(246, 240, 216, .08); }
.topic-hero-art > img { width: 100%; height: 100%; border-radius: 1.3rem; object-fit: cover; filter: saturate(.82) contrast(.94); }
.topic-hero-art figcaption { position: absolute; right: 1.4rem; bottom: 1.4rem; left: 1.4rem; padding: 1.2rem 1.3rem; border: 1px solid rgba(255, 255, 255, .34); border-radius: 1rem; background: rgba(19, 32, 24, .78); backdrop-filter: blur(14px); }
.topic-hero-art figcaption span { display: block; color: var(--gold); font-size: .62rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.topic-hero-art figcaption strong { display: block; max-width: 28rem; margin-top: .55rem; color: var(--cream); font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 400; line-height: 1.2; }
.topic-hero-footer { display: flex; justify-content: space-between; gap: 2rem; align-items: center; padding: 1.2rem clamp(1.2rem, 4vw, 4rem) clamp(1.4rem, 3vw, 2.2rem); }
.topic-hero-footer p { margin: 0; color: rgba(246, 240, 216, .42); font-size: .62rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.topic-hero-footer a { color: rgba(246, 240, 216, .7); font-size: .68rem; font-weight: 750; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }

.topic-navigation { position: sticky; top: 0; z-index: 8; padding: .8rem 0; background: rgba(232, 221, 184, .9); backdrop-filter: blur(15px); }
.topic-navigation .section-shell { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; min-height: 4.4rem; padding: .7rem .9rem .7rem 1.35rem; border: 1px solid var(--line); border-radius: 999px; background: var(--cream); box-shadow: 0 .7rem 2rem rgba(36, 43, 25, .08); }
.topic-navigation-label { color: var(--sage-deep); font-size: .66rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.topic-navigation > div > div { display: flex; align-items: center; justify-content: center; gap: .25rem; }
.topic-navigation a { text-decoration: none; }
.topic-navigation > div > div a { padding: .75rem 1rem; border-radius: 999px; font-size: .75rem; font-weight: 720; }
.topic-navigation > div > div a:hover { background: var(--cream-soft); }
.topic-navigation-manual { justify-self: end; padding: .85rem 1.1rem; border-radius: 999px; background: var(--forest); color: var(--cream); font-size: .66rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }

.area-section { padding-block: clamp(6rem, 9vw, 9rem); }
.area-articles { background: var(--cream); }
.area-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 7vw, 8rem); align-items: end; margin-bottom: clamp(2rem, 4vw, 3.2rem); }
.area-heading h2 { max-width: 15ch; margin: .6rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.9rem, 5vw, 5.2rem); font-weight: 400; line-height: .95; letter-spacing: -.05em; }
.area-heading h2 em { color: var(--gold); font-weight: 400; }
.area-heading > p { max-width: 34rem; margin: 0; color: var(--ink-soft); line-height: 1.72; }

.area-article-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: .9rem; }
.area-article-card { display: flex; min-height: 17rem; flex-direction: column; padding: 1.7rem; border: 1px solid var(--line); border-radius: 1.3rem; background: var(--white); color: var(--forest); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.area-article-card:hover,
.encyclopedia-entry:hover,
.area-tutorial-card:hover { transform: translateY(-4px); box-shadow: 0 1.5rem 3.2rem rgba(36, 43, 25, .14); }
.area-article-card > span,
.area-article-feature > div > p { color: var(--sage-deep); font-size: .65rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.area-article-card h3 { max-width: 17ch; margin: auto 0 .75rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.9rem, 3vw, 3rem); font-weight: 400; line-height: .98; }
.area-article-card > p { margin: 0; color: var(--ink-soft); line-height: 1.62; }
.area-article-card b { margin-top: 1.2rem; font-size: .7rem; }
.area-article-feature { grid-row: span 2; display: grid; min-height: 36rem; grid-template-rows: 1.1fr .9fr; padding: .65rem; background: var(--forest); color: var(--cream); }
.area-article-feature.botany-feature { background: var(--gold); color: var(--forest); }
.area-article-image { position: relative; min-height: 19rem; }
.area-article-image img { width: 100%; height: 100%; border-radius: 1rem; object-fit: cover; filter: saturate(.78) contrast(.95); }
.area-article-image span { position: absolute; top: .8rem; left: .8rem; padding: .6rem .75rem; border-radius: 999px; background: var(--gold); color: var(--forest); font-size: .62rem; font-weight: 750; text-transform: uppercase; }
.botany-feature .area-article-image span { background: var(--forest); color: var(--cream); }
.area-article-feature > div:last-child { display: flex; flex-direction: column; padding: 1.25rem 1.2rem 1.4rem; }
.area-article-feature h3 { margin: .8rem 0; font-size: clamp(2.4rem, 4vw, 4rem); }
.area-article-feature > div > span { color: inherit; line-height: 1.65; opacity: .68; }
.area-article-feature b { margin-top: auto; padding-top: 1.4rem; border-top: 1px solid rgba(246, 240, 216, .18); }
.botany-feature b { border-color: rgba(19, 32, 24, .18); }
.area-article-feature b i { float: right; font-style: normal; }
.area-library-link { display: flex; justify-content: space-between; margin-top: 1rem; padding: 1.2rem 1.35rem; border: 1px solid var(--line); border-radius: 1rem; font-size: .7rem; font-weight: 750; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }

.area-quote { padding-block: clamp(5rem, 8vw, 8rem); }
.area-quote-dark { background: var(--forest); color: var(--cream); }
.area-quote-gold { background: var(--gold); color: var(--forest); }
.area-quote .section-shell { text-align: center; }
.area-quote p { margin: 0; color: var(--gold); font-size: .65rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.area-quote-gold p { color: var(--forest); }
.area-quote blockquote { max-width: 25ch; margin: 1.25rem auto 1.5rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.3rem, 4.5vw, 4.6rem); line-height: 1.04; letter-spacing: -.035em; }
.area-quote span { font-size: .75rem; opacity: .6; }

.area-encyclopedia { background: var(--cream-soft); }
.encyclopedia-index { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }
.encyclopedia-entry { display: grid; min-height: 13.5rem; grid-template-columns: auto 1fr auto; gap: 1rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1.15rem; background: var(--white); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.encyclopedia-entry > span { color: var(--sage-deep); font-size: .65rem; font-weight: 750; letter-spacing: .08em; }
.encyclopedia-entry div { display: flex; flex-direction: column; }
.encyclopedia-entry p { margin: 0; color: var(--sage-deep); font-size: .64rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.encyclopedia-entry h3 { max-width: 20ch; margin: auto 0 .65rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.7rem, 2.6vw, 2.6rem); font-weight: 400; line-height: 1; }
.encyclopedia-entry small { color: var(--ink-soft); line-height: 1.5; }
.encyclopedia-entry b { font-weight: 400; }
.encyclopedia-entry-feature { background: var(--forest); color: var(--cream); }
.encyclopedia-entry-feature > span,
.encyclopedia-entry-feature p { color: var(--gold); }
.encyclopedia-entry-feature small { color: rgba(246, 240, 216, .62); }
.encyclopedia-entry-feature.botany-entry-feature { background: var(--gold); color: var(--forest); }
.encyclopedia-entry-feature.botany-entry-feature > span,
.encyclopedia-entry-feature.botany-entry-feature p { color: var(--forest); }
.encyclopedia-entry-feature.botany-entry-feature small { color: rgba(19, 32, 24, .63); }
.encyclopedia-note { display: grid; grid-template-columns: auto 1fr auto; gap: 1.5rem; align-items: center; margin-top: .8rem; padding: 1.3rem 1.5rem; border-radius: 1rem; background: var(--forest); color: var(--cream); }
.encyclopedia-note > span { color: var(--gold); font-size: .64rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.encyclopedia-note p { max-width: 48rem; margin: 0; color: rgba(246, 240, 216, .66); font-size: .78rem; line-height: 1.55; }
.encyclopedia-note a { color: var(--cream); font-size: .67rem; font-weight: 750; text-decoration: none; text-transform: uppercase; }
.encyclopedia-note-botany { background: var(--gold); color: var(--forest); }
.encyclopedia-note-botany > span,
.encyclopedia-note-botany a { color: var(--forest); }
.encyclopedia-note-botany p { color: rgba(19, 32, 24, .65); }

.area-tutorials { background: var(--cream); }
.carousel-heading { grid-template-columns: 1fr auto; }
.carousel-controls { display: flex; gap: .55rem; }
.area-carousel-button { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--forest); color: var(--cream); cursor: pointer; font: inherit; transition: background 180ms ease, color 180ms ease, opacity 180ms ease; }
.area-carousel-button:hover { background: var(--gold); color: var(--forest); }
.area-carousel-button:disabled { cursor: default; opacity: .28; }
.area-carousel { display: grid; grid-auto-columns: minmax(20rem, 1fr); grid-auto-flow: column; gap: .9rem; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.area-carousel::-webkit-scrollbar { display: none; }
.area-tutorial-card { display: flex; min-height: 33rem; flex-direction: column; scroll-snap-align: start; padding: .65rem .65rem 1.5rem; border: 1px solid var(--line); border-radius: 1.3rem; background: var(--white); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.area-tutorial-card > div { position: relative; height: 19rem; }
.area-tutorial-card img { width: 100%; height: 100%; border-radius: 1rem; object-fit: cover; filter: saturate(.82) contrast(.94); }
.area-tutorial-card > div > span { position: absolute; top: .8rem; left: .8rem; padding: .58rem .72rem; border-radius: 999px; background: var(--cream); color: var(--forest); font-size: .61rem; font-weight: 750; text-transform: uppercase; }
.area-tutorial-card > p { margin: 1.25rem .85rem 0; color: var(--sage-deep); font-size: .64rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.area-tutorial-card h3 { max-width: 17ch; margin: auto .85rem .8rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 3vw, 3rem); font-weight: 400; line-height: .98; }
.area-tutorial-card b { margin-inline: .85rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .67rem; text-transform: uppercase; }
.carousel-status { display: flex; justify-content: space-between; align-items: center; margin-top: 1rem; color: var(--sage-deep); font-size: .67rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.carousel-status a { text-decoration: none; }

.practical-area a:focus-visible,
.practical-area button:focus-visible,
.practical-area [tabindex="0"]:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }

@media (min-width: 1080px) {
  .area-carousel { grid-auto-columns: 44%; }
}

@media (max-width: 980px) {
  .topic-hero-panel { min-height: auto; }
  .topic-hero-panel .site-header { gap: 1rem; }
  .topic-hero-layout { grid-template-columns: 1fr; }
  .topic-hero-copy { padding-bottom: 1rem; text-align: center; }
  .topic-hero-copy h1,
  .topic-hero-copy > p:not(.kicker) { margin-inline: auto; }
  .topic-hero-copy .hero-actions { justify-content: center; }
  .topic-hero-art { min-height: clamp(24rem, 65vw, 38rem); }
  .encyclopedia-note { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .topic-hero-panel .site-header { align-items: flex-start; flex-direction: column; }
  .topic-hero-panel .primary-nav { width: 100%; justify-content: flex-start; overflow-x: auto; padding-bottom: .25rem; scrollbar-width: none; }
  .topic-hero-panel .primary-nav a { flex: 0 0 auto; }
  .topic-navigation { position: relative; }
  .topic-navigation .section-shell { grid-template-columns: 1fr; border-radius: 1.1rem; }
  .topic-navigation-label { text-align: center; }
  .topic-navigation-manual { justify-self: stretch; text-align: center; }
  .area-heading { grid-template-columns: 1fr; align-items: start; }
  .area-article-grid,
  .encyclopedia-index { grid-template-columns: 1fr; }
  .area-article-feature { grid-row: auto; }
  .carousel-heading { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .topic-hero { padding: .65rem; }
  .topic-hero-panel { min-height: calc(100svh - 1.3rem); }
  .topic-hero-layout { padding-inline: 1rem; }
  .topic-hero-copy { padding-top: 3rem; }
  .topic-hero-copy h1 { font-size: clamp(3.4rem, 16vw, 5.1rem); }
  .topic-hero-copy > p:not(.kicker) { max-width: 31ch; }
  .topic-hero-art { min-height: 22rem; }
  .topic-hero-footer { justify-content: center; }
  .topic-hero-footer p { display: none; }
  .topic-navigation > div > div { overflow-x: auto; justify-content: flex-start; scrollbar-width: none; }
  .topic-navigation > div > div a { flex: 0 0 auto; }
  .area-section { padding-block: 5rem; }
  .area-heading h2 { font-size: clamp(2.65rem, 13.5vw, 4.3rem); }
  .area-article-feature { grid-template-rows: auto 1fr; }
  .area-article-image { min-height: 16rem; }
  .encyclopedia-entry { min-height: 12rem; }
  .area-carousel { grid-auto-columns: 86vw; }
  .area-tutorial-card { min-height: 31rem; }
}

@media (prefers-reduced-motion: reduce) {
  .area-carousel { scroll-behavior: auto; }
  .area-article-card,
  .encyclopedia-entry,
  .area-tutorial-card { transition: none; }
}

/* 2026 accessibility, navigation and unified search */
.editorial-header .nav-cta {
  min-height: 2.8rem;
  margin-left: 0;
  padding: .75rem 1.1rem;
  background: var(--gold-metallic);
  color: var(--forest);
  text-decoration: none;
}
.editorial-nav .nav-search-link,
.editorial-nav .nav-search-link[aria-current="page"] { display: inline-flex; color: var(--forest); }

.primary-nav a,
.editorial-nav a { min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; font-size: .9rem; }

.section-label,
.kicker,
.card-meta,
.scroll-cue,
.topic-navigation-label { font-size: .78rem; }

.area-quick-search { max-width: 35rem; margin-top: 1.5rem; text-align: left; }
.area-quick-search label { display: block; margin-bottom: .55rem; color: var(--sage); font-size: .8rem; font-weight: 750; letter-spacing: .06em; }
.area-botany .area-quick-search label { color: var(--gold); }
.area-quick-search > div { display: flex; gap: .55rem; }
.area-quick-search input[type="search"] { width: 100%; min-width: 0; min-height: 3.45rem; padding: .9rem 1rem; border: 1px solid rgba(218, 215, 205, .32); border-radius: .9rem; background: rgba(255, 255, 255, .1); color: var(--cream); }
.area-quick-search input::placeholder { color: rgba(218, 215, 205, .65); }
.area-quick-search button { min-width: 6rem; min-height: 3.45rem; padding: .85rem 1.15rem; border: 0; border-radius: .9rem; background: var(--gold-metallic); color: var(--forest); font-weight: 800; cursor: pointer; }
.area-quick-search input:focus-visible,
.area-quick-search button:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

.search-page { background: var(--cream-soft); }
.search-hero { padding-block: clamp(4rem, 8vw, 8rem); background: var(--forest); color: var(--cream); }
.search-hero-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.search-heading .section-label { color: var(--gold); }
.search-heading h1 { max-width: 12ch; margin: 1rem 0 0; color: var(--cream); font-family: Inter, ui-sans-serif, sans-serif; font-size: clamp(3.5rem, 6.2vw, 6.4rem); font-weight: 720; line-height: .9; letter-spacing: -.065em; text-shadow: none; }
.search-heading h1 em { display: block; margin-top: .15em; color: var(--gold); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.search-heading > p:last-child { max-width: 38rem; margin: 1.7rem 0 0; color: rgba(218, 215, 205, .76); font-size: 1.08rem; line-height: 1.7; }
.search-console { padding: clamp(1.3rem, 3vw, 2.3rem); border: 1px solid rgba(218, 215, 205, .2); border-radius: 1.4rem; background: var(--forest-soft); box-shadow: 0 1.8rem 4rem rgba(25, 41, 31, .2); }
.global-search-form label { display: block; margin-bottom: .8rem; color: var(--cream); font-size: .95rem; font-weight: 750; }
.global-search-row { display: flex; gap: .6rem; }
.global-search-row input { width: 100%; min-width: 0; min-height: 4rem; padding: 1rem 1.1rem; border: 1px solid rgba(218, 215, 205, .35); border-radius: 1rem; background: var(--cream-soft); color: var(--forest); font-size: 1rem; }
.global-search-row button { min-width: 7rem; min-height: 4rem; padding: 1rem 1.3rem; border: 0; border-radius: 1rem; background: var(--gold-metallic); color: var(--forest); font-weight: 800; cursor: pointer; }
.global-search-row input:focus-visible,
.global-search-row button:focus-visible,
.search-suggestions button:focus-visible,
.search-filters select:focus-visible,
.search-filters button:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.search-suggestions { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin-top: 1rem; }
.search-suggestions span { margin-right: .2rem; color: rgba(218, 215, 205, .68); font-size: .84rem; }
.search-suggestions button { min-height: 2.6rem; padding: .65rem .8rem; border: 1px solid rgba(218, 215, 205, .22); border-radius: 999px; background: transparent; color: var(--cream); cursor: pointer; font-size: .82rem; }
.search-suggestions button:hover { border-color: var(--gold); color: var(--gold); }
.search-results-section { min-height: 46rem; padding-block: clamp(4.5rem, 8vw, 8rem); }
.search-results-topline { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: end; }
.search-results-topline h2 { max-width: 17ch; margin: .6rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.8rem, 5vw, 5rem); font-weight: 400; line-height: .98; letter-spacing: -.05em; }
.search-results-topline > p { margin: 0; color: var(--sage-deep); font-weight: 750; }
.search-filters { display: grid; grid-template-columns: minmax(13rem, .7fr) minmax(13rem, .7fr) 1fr; gap: .7rem; align-items: end; margin: 2.2rem 0 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: 1.15rem; background: var(--cream); }
.search-filters label { display: grid; gap: .45rem; color: var(--forest); font-size: .82rem; font-weight: 750; }
.search-filters select { min-height: 3.25rem; padding: .75rem 2.4rem .75rem .9rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--white); color: var(--forest); font: inherit; }
.search-filters > button { justify-self: end; min-height: 3.25rem; padding: .75rem 1rem; border: 1px solid var(--forest); border-radius: .8rem; background: transparent; color: var(--forest); font-weight: 750; cursor: pointer; }
.global-results-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.global-result-card { display: flex; min-height: 18rem; flex-direction: column; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1.2rem; background: var(--white); color: var(--forest); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.global-result-card:hover { box-shadow: 0 1.3rem 3rem rgba(52, 78, 65, .14); transform: translateY(-3px); }
.global-result-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.result-kind { color: var(--sage-deep); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.result-botanica .result-kind { color: #7b6116; }
.global-result-card h3 { margin: auto 0 .8rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 2.8vw, 2.65rem); font-weight: 400; line-height: 1; }
.global-result-card p { margin: 0 0 1.3rem; color: var(--ink-soft); line-height: 1.6; }
.global-result-card footer { display: flex; gap: 1rem; justify-content: space-between; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .8rem; }
.global-result-card footer span { color: var(--ink-soft); }
.global-result-card footer b { color: var(--forest); }
.result-botanica { border-top: 4px solid var(--gold); }
.result-agricultura { border-top: 4px solid var(--moss); }
.result-ambas { border-top: 4px solid var(--gold); box-shadow: inset .45rem 0 0 var(--moss); }
.global-search-empty { max-width: 45rem; margin: 3rem auto 0; padding: 3rem; border-radius: 1.3rem; background: var(--cream); text-align: center; }
.global-search-empty > span { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; margin: 0 auto 1rem; border-radius: 50%; background: var(--gold); font: 2rem Georgia, serif; }
.global-search-empty h3 { margin: 0; font: 400 2.1rem/1.1 Georgia, serif; }
.global-search-empty p { color: var(--ink-soft); line-height: 1.6; }
.global-search-empty button { min-height: 3rem; padding: .75rem 1rem; border: 0; border-radius: .8rem; background: var(--forest); color: var(--cream); font-weight: 750; cursor: pointer; }

@media (max-width: 980px) {
  .search-hero-grid { grid-template-columns: 1fr; }
  .search-heading { text-align: center; }
  .search-heading h1,
  .search-heading > p:last-child { margin-inline: auto; }
  .global-results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .site-header,
  .topic-hero-panel .site-header,
  .editorial-header { align-items: stretch; flex-direction: column; gap: 1rem; padding-block: 1rem; }
  .site-header .brand,
  .editorial-header .brand { align-self: flex-start; }
  .primary-nav,
  .topic-hero-panel .primary-nav,
  .editorial-nav,
  .learning-area-v3 .editorial-nav,
  .articles-v3 .editorial-nav,
  .information-v3 .editorial-nav { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; overflow: visible; padding: 0; }
  .primary-nav a,
  .topic-hero-panel .primary-nav a,
  .editorial-nav a { width: 100%; min-width: 0; min-height: 2.9rem; padding: .65rem .45rem; border: 1px solid rgba(218, 215, 205, .16); border-radius: .75rem; font-size: .84rem; text-align: center; }
  .editorial-header .editorial-nav a { border-color: var(--line); }
  .primary-nav .nav-cta,
  .topic-hero-panel .primary-nav .nav-cta,
  .editorial-nav .nav-cta { margin: 0; }
  .topic-hero-copy h1 { max-width: 100%; overflow-wrap: anywhere; font-size: clamp(3rem, 13vw, 4.25rem); letter-spacing: -.075em; }
  .topic-hero-copy .hero-actions { margin-top: 1.35rem; }
  .area-quick-search { margin-inline: auto; }
  .search-filters { grid-template-columns: 1fr 1fr; }
  .search-filters > button { grid-column: 1 / -1; justify-self: stretch; }
}

@media (max-width: 560px) {
  body { font-size: 1.0625rem; }
  .section-shell { width: min(100% - 1.3rem, 86rem); }
  .topic-hero-copy { padding-top: 2.25rem; }
  .topic-hero-copy h1 { font-size: clamp(2.85rem, 13.5vw, 3.7rem); }
  .area-quick-search > div,
  .global-search-row { flex-direction: column; }
  .area-quick-search button,
  .global-search-row button { width: 100%; }
  .search-hero { padding-top: 3rem; }
  .search-heading h1 { font-size: clamp(3.05rem, 13.8vw, 4.25rem); }
  .search-console { padding: 1rem; }
  .search-filters,
  .global-results-grid { grid-template-columns: 1fr; }
  .search-results-topline { grid-template-columns: 1fr; }
  .global-result-card { min-height: 16rem; }
}

/* Plant catalog v2: separated collections and practical centered profiles */
.plant-catalog-v2 .plants-page { padding-bottom: clamp(5rem, 9vw, 8rem); }
.plant-catalog-v2 .plants-intro {
  display: block;
  max-width: 70rem;
  padding-block: clamp(5rem, 9vw, 8rem) clamp(4rem, 7vw, 6rem);
  text-align: center;
}
.plant-catalog-v2 .plants-intro .section-label { padding: 0; }
.plant-catalog-v2 .plants-intro h1 {
  max-width: 12ch;
  margin: 1rem auto 0;
  font-size: clamp(3.6rem, 8vw, 7.4rem);
  line-height: .88;
}
.plant-catalog-v2 .plants-intro h1 em {
  display: block;
  color: var(--gold);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}
.plant-catalog-v2 .plants-intro > p:last-child {
  max-width: 42rem;
  margin: 2rem auto 0;
  color: var(--ink-soft);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.65;
}
.plant-area-section { padding-bottom: clamp(5rem, 8vw, 7rem); }
.plant-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
  margin-bottom: 2rem;
}
.plant-section-heading h2 {
  max-width: 17ch;
  margin: .65rem 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.7rem, 5vw, 4.8rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.045em;
}
.plant-section-heading h2 em { color: var(--gold); font-weight: 400; }
.plant-section-heading > p { margin: 0; color: var(--ink-soft); line-height: 1.7; }
.plant-area-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.plant-area-card {
  display: grid;
  min-height: 19rem;
  grid-template-columns: auto 1fr auto;
  gap: 1.5rem;
  align-items: start;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border: 1px solid var(--line);
  border-radius: 1.35rem;
  background: var(--white);
  color: var(--forest);
  text-align: left;
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease;
}
.plant-area-card:hover { box-shadow: 0 1.2rem 2.8rem rgba(19, 32, 24, .13); transform: translateY(-4px); }
.plant-area-card.is-active { border-color: var(--forest); background: var(--forest); color: var(--cream); }
.plant-area-card-botany.is-active { border-color: var(--gold); background: var(--gold); color: var(--forest); }
.plant-area-index { font-size: .7rem; font-weight: 800; letter-spacing: .12em; }
.plant-area-copy { display: flex; min-width: 0; height: 100%; flex-direction: column; }
.plant-area-copy small { color: var(--sage-deep); font-size: .67rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.plant-area-card.is-active .plant-area-copy small { color: var(--gold); }
.plant-area-card-botany.is-active .plant-area-copy small { color: var(--forest); }
.plant-area-copy strong { margin-top: auto; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.7rem, 5vw, 4.6rem); font-weight: 400; line-height: .95; letter-spacing: -.04em; }
.plant-area-copy > span { max-width: 28rem; margin-top: 1rem; color: var(--ink-soft); font-size: .88rem; line-height: 1.55; }
.plant-area-card.is-active .plant-area-copy > span { color: rgba(246, 240, 216, .66); }
.plant-area-card-botany.is-active .plant-area-copy > span { color: rgba(19, 32, 24, .68); }
.plant-area-count { align-self: end; font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.plant-area-count b { margin-left: .5rem; font-size: 1rem; font-weight: 400; }

.plant-catalog-v2 .plants-workspace {
  display: grid;
  grid-template-columns: 17.5rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  scroll-margin-top: 1.5rem;
}
.plant-catalog-v2 .plants-browser {
  position: sticky;
  top: 1rem;
  max-height: calc(100vh - 2rem);
  overflow: hidden;
  padding: 1rem;
  border: 1px solid rgba(19, 32, 24, .1);
  border-radius: 1.4rem;
  background: #f4f1e7;
}
.plant-browser-heading { display: flex; gap: 1rem; align-items: end; justify-content: space-between; }
.plant-browser-heading .section-label { padding: 0; }
.plant-browser-heading h2 {
  margin: .45rem 0 0;
  font-size: 1.35rem;
  font-weight: 720;
  letter-spacing: -.035em;
}
.plant-browser-heading h2 span { color: var(--sage-deep); font-style: italic; }
.plant-count { color: var(--sage-deep); font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.plant-catalog-v2 .plants-toolbar {
  display: grid;
  grid-template-columns: 1fr;
  gap: .8rem;
  margin-top: 1.25rem;
}
.plant-catalog-v2 .plants-toolbar input,
.plant-catalog-v2 .plants-toolbar select { height: 3rem; border-radius: .8rem; font-size: .78rem; }
.plant-catalog-v2 .plant-list {
  display: grid;
  max-height: calc(100vh - 19rem);
  grid-template-columns: 1fr;
  gap: .45rem;
  overflow-y: auto;
  padding-top: 1rem;
  scrollbar-color: rgba(19, 32, 24, .22) transparent;
}
.plant-catalog-v2 .plant-list-item {
  min-height: 4.5rem;
  padding: .85rem;
  border-radius: .8rem;
  background: rgba(255, 250, 240, .7);
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}
.plant-catalog-v2 .plant-list-item:hover { transform: translateX(2px); }
.plant-catalog-v2 .plant-list-item.is-selected { border-color: var(--forest); background: var(--forest); color: var(--cream); }
.plant-catalog-v2[data-catalog-area="botanica"] .plant-list-item.is-selected { border-color: var(--gold); background: var(--gold); color: var(--forest); }
.plant-catalog-v2 .plant-list-item.is-selected em { color: rgba(246, 240, 216, .58); }
.plant-catalog-v2[data-catalog-area="botanica"] .plant-list-item.is-selected em { color: rgba(19, 32, 24, .58); }
.plant-catalog-v2 .plant-list-item.is-selected small { color: var(--gold); }
.plant-catalog-v2[data-catalog-area="botanica"] .plant-list-item.is-selected small { color: var(--forest); }

.plant-catalog-v2 .plant-detail {
  position: static;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(19, 32, 24, .11);
  border-radius: 1.4rem;
  background: #eeeade;
  color: var(--forest);
  box-shadow: 0 1.5rem 4rem rgba(19, 32, 24, .1);
  scroll-margin-top: 1rem;
}
.plant-studio-header { display: flex; gap: 2rem; align-items: end; justify-content: space-between; padding: 1.25rem 1.4rem; border-bottom: 1px solid rgba(19, 32, 24, .1); background: rgba(255, 255, 255, .52); }
.plant-studio-title { display: flex; gap: 1.5rem; align-items: end; }
.plant-detail-eyebrow { margin: 0 0 .22rem; color: var(--sage-deep); font-size: .6rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.plant-catalog-v2 .plant-detail h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 400; line-height: .92; letter-spacing: -.045em; }
.plant-catalog-v2 .plant-scientific { margin: .35rem 0 0; color: var(--sage-deep); font-family: Georgia, "Times New Roman", serif; font-size: .92rem; font-style: italic; }
.plant-catalog-v2 .plant-detail-top { display: flex; gap: .55rem; align-items: center; }
.plant-catalog-v2 .plant-detail-category, .plant-catalog-v2 .difficulty-badge { margin: 0; padding: .48rem .65rem; border: 1px solid rgba(19, 32, 24, .12); border-radius: 999px; background: rgba(255, 255, 255, .55); color: var(--forest); font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.plant-catalog-v2 .difficulty-badge { background: var(--forest); color: var(--cream); }
.plant-studio-stage { display: grid; grid-template-columns: minmax(0, 1fr) 18.5rem; gap: .8rem; padding: .8rem; }
.plant-specimen-panel { min-width: 0; overflow: hidden; border: 1px solid rgba(19, 32, 24, .1); border-radius: 1rem; background: radial-gradient(circle at 50% 48%, rgba(201, 219, 174, .6), transparent 36%), linear-gradient(145deg, #f9f6ed, #e3e9d8); }
.plant-view-toolbar { position: relative; z-index: 2; display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding: .85rem 1rem; border-bottom: 1px solid rgba(19, 32, 24, .09); }
.plant-panel-kicker, .plant-panel-heading span, .plant-health-action span, .plant-mini-rule > span { display: block; color: var(--sage-deep); font-size: .56rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.plant-view-toolbar strong { display: block; margin-top: .18rem; font-size: .76rem; }
.plant-view-toolbar nav { display: flex; gap: .3rem; padding: .25rem; border: 1px solid rgba(19, 32, 24, .1); border-radius: .65rem; background: rgba(255,255,255,.56); }
.plant-view-toolbar button { display: grid; width: 2rem; height: 2rem; place-items: center; border: 0; border-radius: .45rem; background: transparent; color: var(--forest); cursor: pointer; }
.plant-view-toolbar button:hover, .plant-view-toolbar button:focus-visible { background: var(--forest); color: var(--cream); outline: none; }
.plant-specimen-wrap { position: relative; display: grid; min-height: clamp(28rem, 48vw, 39rem); place-items: center; overflow: hidden; }
.plant-specimen-wrap::before { position: absolute; width: 76%; aspect-ratio: 1; border: 1px solid rgba(19,32,24,.09); border-radius: 50%; content: ""; }
.plant-specimen { position: relative; z-index: 1; width: min(72%, 30rem); aspect-ratio: 1; background-image: url("assets/plant-specimens-atlas-v1.png"); background-position: 0 50%; background-repeat: no-repeat; background-size: 400% 300%; filter: drop-shadow(0 1.4rem 1.1rem rgba(19,32,24,.18)); transition: background-position 220ms ease, transform 220ms ease; }
.plant-specimen:hover { transform: scale(1.025); }
.specimen-orbit { position: absolute; border: 1px solid rgba(19,32,24,.09); border-radius: 50%; pointer-events: none; }
.specimen-orbit-one { width: 52%; aspect-ratio: 1; }
.specimen-orbit-two { width: 92%; aspect-ratio: 1; }
.plant-specimen-footer { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid rgba(19,32,24,.09); }
.plant-specimen-footer span { display: grid; min-height: 4.4rem; grid-template-columns: auto 1fr; gap: .55rem; align-items: center; padding: .8rem; border-right: 1px solid rgba(19,32,24,.09); }
.plant-specimen-footer span:last-child { border-right: 0; }
.plant-specimen-footer i { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; border-radius: 50%; background: var(--gold); font-style: normal; }
.plant-specimen-footer b { font-size: .68rem; line-height: 1.35; }
.plant-intelligence-rail { display: grid; gap: .8rem; align-content: start; }
.plant-intel-card, .plant-tech-card { padding: 1.1rem; border: 1px solid rgba(19,32,24,.1); border-radius: 1rem; background: rgba(255,255,255,.58); scroll-margin-top: 2rem; }
.plant-panel-heading { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding-bottom: .72rem; border-bottom: 1px solid rgba(19,32,24,.09); }
.plant-panel-heading b { color: var(--sage-deep); font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; }
.status-dot::before { display: inline-block; width: .42rem; height: .42rem; margin-right: .35rem; border-radius: 50%; background: #4b8739; content: ""; }
.plant-summary { margin: .85rem 0 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.6; }
.plant-profile-list { display: grid; gap: 0; margin: .9rem 0 0; }
.plant-profile-list div { display: grid; grid-template-columns: 5.5rem 1fr; gap: .7rem; padding: .65rem 0; border-top: 1px solid rgba(19,32,24,.08); }
.plant-profile-list dt, .plant-profile-list dd { margin: 0; font-size: .65rem; line-height: 1.45; }
.plant-profile-list dt { color: var(--sage-deep); font-weight: 800; text-transform: uppercase; }
.plant-health-card { background: var(--forest); color: var(--cream); }
.plant-health-card .plant-panel-heading { border-color: rgba(246,240,216,.14); }
.plant-health-card .plant-panel-heading span { color: var(--gold); }
.risk-badge { padding: .32rem .5rem; border-radius: 999px; background: rgba(255,255,255,.12); color: var(--cream) !important; }
.risk-badge[data-risk="medium"] { background: #a3671f; }
.risk-badge[data-risk="high"] { background: #8e3f2e; }
.plant-health-card > p { margin: .9rem 0 0; color: rgba(246,240,216,.72); font-size: .75rem; line-height: 1.55; }
.plant-health-action { margin-top: .9rem; padding: .8rem; border-radius: .65rem; background: rgba(255,255,255,.08); }
.plant-health-action span { color: var(--gold); }
.plant-health-action strong { display: block; margin-top: .4rem; font-size: .68rem; line-height: 1.45; }
.plant-intel-card > p { color: var(--ink-soft); font-size: .75rem; line-height: 1.55; }
.plant-mini-rule { margin-top: .8rem; padding-top: .8rem; border-top: 1px solid rgba(19,32,24,.09); }
.plant-mini-rule p { margin: .38rem 0 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.5; }
.plant-technical-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: .8rem; padding: 0 .8rem .8rem; }
.plant-tech-card h3 { margin: .9rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; font-weight: 400; letter-spacing: -.03em; }
.plant-phenology-card { grid-column: 1 / -1; background: #f8f4e9; }
.phenology-track { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .6rem; margin: 1.2rem 0 0; padding: 0; list-style: none; }
.phenology-track::before { position: absolute; top: .55rem; right: 8%; left: 8%; height: 1px; background: rgba(19,32,24,.18); content: ""; }
.phenology-track li { position: relative; padding-top: 1.6rem; color: var(--ink-soft); font-size: .69rem; text-align: center; }
.phenology-track li::before { position: absolute; z-index: 1; top: .27rem; left: calc(50% - .3rem); width: .62rem; height: .62rem; border: 3px solid #f8f4e9; border-radius: 50%; background: var(--sage-deep); box-shadow: 0 0 0 1px rgba(19,32,24,.2); content: ""; }
.plant-development-note { margin: 1rem 0 0; padding-top: .9rem; border-top: 1px solid rgba(19,32,24,.08); color: var(--ink-soft); font-size: .7rem; line-height: 1.55; }
.care-routine-list > div { padding: .82rem 0; border-top: 1px solid rgba(19,32,24,.09); }
.care-routine-list span { color: var(--sage-deep); font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.care-routine-list p { margin: .4rem 0 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.55; }
.plant-pest-card ul, .plant-planting-card ol { display: grid; gap: .62rem; margin: 1rem 0 0; padding-left: 1.1rem; }
.plant-pest-card li, .plant-planting-card li { padding-left: .2rem; color: var(--ink-soft); font-size: .72rem; line-height: 1.5; }
.plant-pest-card li::marker { color: #a75036; }
.plant-planting-card { background: var(--gold); }
.plant-catalog-v2 .plant-advice { display: grid; grid-template-columns: .72fr 1.28fr; gap: 1.5rem; margin: 0 .8rem .8rem; padding: 1.2rem; border-radius: 1rem; background: #dbe6cf; color: var(--forest); }
.plant-catalog-v2 .plant-advice > div > p { margin: 0; color: var(--sage-deep); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.plant-catalog-v2 .plant-advice h3 { margin: .4rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; font-weight: 400; line-height: 1.05; }
.plant-catalog-v2 .plant-advice ul { display: grid; align-self: center; gap: .45rem; margin: 0; padding-left: 1.1rem; }
.plant-catalog-v2 .plant-advice li { color: var(--ink-soft); font-size: .7rem; line-height: 1.45; }
.plant-context-note { margin: 0; padding: .9rem 1.5rem 1.3rem; color: var(--ink-soft); font-size: .65rem; line-height: 1.55; text-align: center; }

@media (max-width: 1120px) {
  .plant-catalog-v2 .plants-workspace { grid-template-columns: 14.5rem minmax(0,1fr); }
  .plant-studio-stage { grid-template-columns: 1fr; }
  .plant-intelligence-rail { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .plant-specimen-wrap { min-height: 31rem; }
  .plant-profile-list div { grid-template-columns: 1fr; gap: .2rem; }
}

@media (max-width: 860px) {
  .plant-section-heading, .plant-catalog-v2 .plants-workspace { grid-template-columns: 1fr; }
  .plant-catalog-v2 .plants-browser { position: static; max-height: none; }
  .plant-catalog-v2 .plant-list { max-height: none; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .plant-catalog-v2 .plants-toolbar { grid-template-columns: 1fr 1fr; }
  .plant-intelligence-rail { grid-template-columns: 1fr 1fr; }
  .plant-intelligence-rail .plant-health-card { grid-column: span 2; }
}

@media (max-width: 620px) {
  .plant-area-switch, .plant-catalog-v2 .plant-list, .plant-catalog-v2 .plants-toolbar, .plant-intelligence-rail, .plant-technical-grid, .plant-catalog-v2 .plant-advice { grid-template-columns: 1fr; }
  .plant-area-card { min-height: 16rem; }
  .plant-studio-header { display: grid; gap: 1rem; }
  .plant-studio-title { display: grid; gap: .35rem; }
  .plant-catalog-v2 .plant-detail-top { flex-wrap: wrap; }
  .plant-intelligence-rail .plant-health-card, .plant-phenology-card { grid-column: auto; }
  .plant-specimen-wrap { min-height: 22rem; }
  .plant-specimen { width: 88%; }
  .plant-specimen-footer { grid-template-columns: 1fr; }
  .plant-specimen-footer span { min-height: 3.6rem; border-right: 0; border-bottom: 1px solid rgba(19,32,24,.09); }
  .plant-specimen-footer span:last-child { border-bottom: 0; }
  .phenology-track { gap: .2rem; }
  .phenology-track li { font-size: .6rem; }
}

@media (prefers-reduced-motion: reduce) {
  .plant-area-card, .plant-catalog-v2 .plant-list-item, .plant-specimen { transition: none; }
}

/* Plant catalog v3: full-screen workspace and interactive phenology */
.plant-catalog-v2 .plants-intro {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(0, .9fr) minmax(18rem, 1.1fr);
  gap: 1.25rem clamp(2rem, 7vw, 8rem);
  align-items: end;
  padding-block: clamp(2.5rem, 4vw, 4rem);
  text-align: left;
}
.plant-catalog-v2 .plants-intro .section-label { grid-column: 1 / -1; }
.plant-catalog-v2 .plants-intro h1 { max-width: 10ch; margin: 0; font-size: clamp(3rem, 5vw, 5rem); }
.plant-catalog-v2 .plants-intro > p:last-child { max-width: 34rem; margin: 0 0 .25rem; }
.plant-area-section { padding-bottom: clamp(2rem, 4vw, 3rem); }
.plant-section-heading { gap: 2rem; margin-bottom: 1rem; }
.plant-section-heading h2 { font-size: clamp(2rem, 3vw, 3rem); }
.plant-section-heading > p { font-size: .84rem; }
.plant-area-card { min-height: 8.5rem; padding: 1.2rem 1.4rem; }
.plant-area-copy strong { margin-top: .5rem; font-size: clamp(1.65rem, 2.5vw, 2.4rem); }
.plant-area-copy > span { margin-top: .45rem; font-size: .75rem; line-height: 1.35; }

.plant-catalog-v2 .plants-workspace {
  width: min(calc(100vw - 1rem), 118rem);
  max-width: none;
  min-height: 100svh;
  grid-template-columns: minmax(16rem, 18rem) minmax(0, 1fr);
  gap: .75rem;
  padding: .5rem 0;
}
.plant-catalog-v2 .plants-browser {
  display: flex;
  height: calc(100svh - 1rem);
  max-height: none;
  min-width: 0;
  flex-direction: column;
}
.plant-catalog-v2 .plant-list { min-height: 0; max-height: none; flex: 1; }
.plant-catalog-v2 .plant-list-item,
.plant-catalog-v2 .plant-list-item > span,
.plant-studio-title,
.plant-studio-title > div,
.plant-intel-card,
.plant-tech-card,
.plant-panel-heading,
.plant-panel-heading > * { min-width: 0; }
.plant-catalog-v2 .plant-list-item strong,
.plant-catalog-v2 .plant-list-item em,
.plant-catalog-v2 .plant-list-item small { overflow-wrap: anywhere; }

.plant-catalog-v2 .plant-detail { min-width: 0; min-height: 100svh; }
.plant-studio-header { min-height: 6.25rem; }
.plant-studio-stage { grid-template-columns: minmax(30rem, 1fr) minmax(19rem, 23rem); }
.plant-specimen-wrap { min-height: calc(100svh - 15rem); }
.plant-intelligence-rail { grid-template-columns: minmax(0, 1fr); }
.plant-intel-card { overflow: hidden; }
.plant-profile-list div { grid-template-columns: minmax(5.4rem, .36fr) minmax(0, 1fr); }
.plant-profile-list dt,
.plant-profile-list dd,
.plant-intel-card p,
.plant-health-action strong,
.plant-mini-rule p { max-width: 100%; overflow-wrap: anywhere; word-break: normal; }
.plant-panel-heading { flex-wrap: wrap; }
.plant-panel-heading span { flex: 1 1 9rem; }
.plant-panel-heading b { flex: 0 1 auto; max-width: 100%; overflow-wrap: anywhere; text-align: right; }

.plant-technical-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.plant-phenology-card { grid-column: 1 / -1; }
.phenology-instruction { margin: .45rem 0 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.5; }
.phenology-track { align-items: stretch; gap: .75rem; margin-top: 1rem; }
.phenology-track::before { top: 1.05rem; right: 10%; left: 10%; }
.phenology-track li { min-width: 0; padding: 0; text-align: left; }
.phenology-track li::before { display: none; }
.phenology-track button {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 7.4rem;
  flex-direction: column;
  align-items: flex-start;
  padding: 2.2rem .8rem .8rem;
  border: 1px solid rgba(19,32,24,.1);
  border-radius: .8rem;
  background: rgba(255,255,255,.68);
  color: var(--forest);
  text-align: left;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}
.phenology-track button::before {
  position: absolute;
  z-index: 1;
  top: .72rem;
  left: .82rem;
  width: .62rem;
  height: .62rem;
  border: 3px solid #f8f4e9;
  border-radius: 50%;
  background: var(--sage-deep);
  box-shadow: 0 0 0 1px rgba(19,32,24,.2);
  content: "";
}
.phenology-track button > span { color: var(--sage-deep); font-size: .57rem; font-weight: 800; letter-spacing: .1em; }
.phenology-track button > strong { margin-top: .4rem; font-size: .75rem; line-height: 1.3; overflow-wrap: anywhere; }
.phenology-track button > small { margin-top: auto; padding-top: .8rem; color: var(--sage-deep); font-size: .58rem; font-weight: 750; text-transform: uppercase; }
.phenology-track button:hover,
.phenology-track button:focus-visible { border-color: var(--forest); background: var(--forest); color: var(--cream); outline: none; transform: translateY(-2px); }
.phenology-track button:hover > span,
.phenology-track button:hover > small,
.phenology-track button:focus-visible > span,
.phenology-track button:focus-visible > small { color: var(--gold); }

.phenology-dialog {
  width: min(46rem, calc(100vw - 2rem));
  max-height: calc(100svh - 2rem);
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 1.5rem;
  background: #f8f5eb;
  color: var(--forest);
  box-shadow: 0 2rem 7rem rgba(5,20,15,.38);
}
.phenology-dialog::backdrop { background: rgba(10,24,18,.62); backdrop-filter: blur(8px); }
.phenology-dialog[open] { animation: phenology-dialog-in 180ms ease-out; }
@keyframes phenology-dialog-in { from { opacity: 0; transform: translateY(14px) scale(.985); } }
.phenology-dialog-shell { display: grid; }
.phenology-dialog-header { position: relative; padding: clamp(1.5rem, 4vw, 2.5rem); padding-right: 5rem; background: var(--forest); color: var(--cream); }
.phenology-dialog-header span { color: var(--gold); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.phenology-dialog-header p { margin: .55rem 0 0; color: rgba(246,240,216,.66); font-size: .72rem; }
.phenology-dialog-header h2 { margin: 1.15rem 0 0; color: var(--cream); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.5rem, 7vw, 4.8rem); font-weight: 400; line-height: .92; letter-spacing: -.045em; overflow-wrap: anywhere; }
.phenology-dialog-close { position: absolute; top: 1.25rem; right: 1.25rem; display: grid; width: 2.7rem; height: 2.7rem; place-items: center; border: 1px solid rgba(246,240,216,.25); border-radius: 50%; background: transparent; color: var(--cream); font-size: 1.5rem; cursor: pointer; }
.phenology-dialog-close:hover,
.phenology-dialog-close:focus-visible { background: var(--gold); color: var(--forest); outline: none; }
.phenology-dialog-window { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding: 1rem clamp(1.5rem,4vw,2.5rem); border-bottom: 1px solid rgba(19,32,24,.1); background: var(--gold); }
.phenology-dialog-window span { font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.phenology-dialog-window strong { font-size: .75rem; text-align: right; }
.phenology-dialog-content { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; padding: clamp(1rem,3vw,1.5rem); }
.phenology-dialog-content section { min-width: 0; padding: 1.15rem; border: 1px solid rgba(19,32,24,.1); border-radius: .9rem; background: rgba(255,255,255,.65); }
.phenology-dialog-content section:first-child { grid-column: 1 / -1; }
.phenology-dialog-content span { color: var(--sage-deep); font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.phenology-dialog-content p { margin: .7rem 0 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.65; overflow-wrap: anywhere; }
.phenology-dialog-content .phenology-dialog-alert { background: #e4ead8; }
.phenology-dialog-footer { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; padding: 1rem 1.5rem 1.25rem; border-top: 1px solid rgba(19,32,24,.1); }
.phenology-dialog-footer button { padding: .7rem .85rem; border: 1px solid rgba(19,32,24,.15); border-radius: 999px; background: transparent; color: var(--forest); font-size: .65rem; font-weight: 750; cursor: pointer; }
.phenology-dialog-footer button:hover,
.phenology-dialog-footer button:focus-visible { background: var(--forest); color: var(--cream); outline: none; }
.phenology-dialog-progress { display: flex; gap: .35rem; justify-content: center; }
.phenology-dialog-progress span { width: .42rem; height: .42rem; border-radius: 50%; background: rgba(19,32,24,.18); }
.phenology-dialog-progress span.is-active { background: var(--forest); }

@media (max-width: 1180px) {
  .plant-catalog-v2 .plants-workspace { grid-template-columns: 1fr; }
  .plant-catalog-v2 .plants-browser { position: static; height: auto; }
  .plant-catalog-v2 .plant-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .plant-catalog-v2 .plants-toolbar { grid-template-columns: 1fr 1fr; }
  .plant-studio-stage { grid-template-columns: minmax(0, 1fr) minmax(18rem, 21rem); }
}

@media (max-width: 850px) {
  .plant-studio-stage { grid-template-columns: 1fr; }
  .plant-specimen-wrap { min-height: 34rem; }
  .plant-intelligence-rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .plant-intelligence-rail .plant-profile-card { grid-column: 1 / -1; }
  .plant-technical-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .plant-planting-card { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .plant-catalog-v2 .plants-intro { grid-template-columns: 1fr; gap: 1.25rem; }
  .plant-catalog-v2 .plants-intro .section-label { grid-column: auto; }
  .plant-catalog-v2 .plants-intro > p:last-child { margin: 0; }
  .plant-catalog-v2 .plants-workspace { width: calc(100vw - .75rem); }
  .plant-catalog-v2 .plant-list,
  .plant-intelligence-rail,
  .plant-technical-grid,
  .phenology-dialog-content { grid-template-columns: 1fr; }
  .plant-intelligence-rail .plant-profile-card,
  .plant-planting-card,
  .phenology-dialog-content section:first-child { grid-column: auto; }
  .plant-studio-stage { padding: .55rem; }
  .plant-specimen-wrap { min-height: 24rem; }
  .phenology-track { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .phenology-track::before { display: none; }
  .phenology-dialog-window { align-items: flex-start; flex-direction: column; }
  .phenology-dialog-window strong { text-align: left; }
  .phenology-dialog-footer { grid-template-columns: 1fr 1fr; }
  .phenology-dialog-progress { grid-column: 1 / -1; grid-row: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .phenology-track button { transition: none; }
  .phenology-dialog[open] { animation: none; }
}

/* Plant catalog v4: compact entry and edge-to-edge laboratory */
.plant-catalog-v2 .plants-page { padding-bottom: 1.5rem; }
.plant-catalog-v2 .plants-intro {
  grid-template-columns: auto minmax(24rem, 1.25fr) minmax(16rem, .65fr);
  gap: 1rem clamp(1.5rem, 3vw, 3.5rem);
  align-items: center;
  padding-block: clamp(1.25rem, 2vw, 2rem);
}
.plant-catalog-v2 .plants-intro .section-label { grid-column: auto; white-space: nowrap; }
.plant-catalog-v2 .plants-intro h1 {
  max-width: none;
  font-size: clamp(2.35rem, 3.7vw, 4.2rem);
  line-height: .92;
}
.plant-catalog-v2 .plants-intro h1 em { display: inline; }
.plant-catalog-v2 .plants-intro > p:last-child {
  max-width: 28rem;
  margin: 0;
  font-size: .88rem;
  line-height: 1.5;
}
.plant-area-section {
  display: grid;
  grid-template-columns: minmax(13rem, 18rem) minmax(0, 1fr);
  gap: 1rem clamp(1.5rem, 3vw, 3rem);
  align-items: stretch;
  padding-bottom: 1.25rem;
}
.plant-section-heading { display: block; margin: 0; }
.plant-section-heading h2 { max-width: none; margin-top: .35rem; font-size: clamp(1.55rem, 2vw, 2.15rem); }
.plant-section-heading > p { display: none; }
.plant-area-switch { gap: .7rem; }
.plant-area-card {
  min-height: 6rem;
  gap: .85rem;
  align-items: center;
  padding: .85rem 1rem;
  border-radius: 1rem;
}
.plant-area-copy { height: auto; }
.plant-area-copy small { font-size: .57rem; }
.plant-area-copy strong { margin-top: .28rem; font-size: clamp(1.25rem, 1.7vw, 1.7rem); }
.plant-area-copy > span { display: none; }
.plant-area-count { align-self: center; white-space: nowrap; }

.plant-catalog-v2 .plants-workspace {
  width: calc(100% - 1rem);
  grid-template-columns: clamp(14.5rem, 16vw, 18rem) minmax(0, 1fr);
}
.plant-catalog-v2 .plant-detail,
.plant-studio-header,
.plant-studio-stage,
.plant-specimen-panel,
.plant-intelligence-rail { min-width: 0; }
.plant-studio-header { flex-wrap: wrap; }
.plant-catalog-v2 .plant-detail-top { min-width: 0; flex-wrap: wrap; justify-content: flex-end; }
.plant-studio-stage { grid-template-columns: minmax(0, 1fr) clamp(18rem, 21vw, 23rem); }

@media (max-width: 1180px) {
  .plant-catalog-v2 .plants-intro { grid-template-columns: auto minmax(0, 1fr); }
  .plant-catalog-v2 .plants-intro > p:last-child { grid-column: 2; }
  .plant-catalog-v2 .plants-workspace { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .plant-catalog-v2 .plants-intro { grid-template-columns: 1fr; gap: .7rem; }
  .plant-catalog-v2 .plants-intro .section-label,
  .plant-catalog-v2 .plants-intro > p:last-child { grid-column: auto; }
  .plant-area-section { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .plant-catalog-v2 .plants-intro h1 em { display: block; }
  .plant-area-card { min-height: 5.5rem; }
  .plant-area-count { white-space: normal; text-align: right; }
  .plant-catalog-v2 .plants-workspace { width: calc(100% - .5rem); }
}

/* Plant catalog v5: clearer contrast and lower information density */
.plant-catalog-v2 .plant-intel-card,
.plant-catalog-v2 .plant-tech-card { padding: 1rem; }
.plant-catalog-v2 .plant-summary {
  margin-top: .7rem;
  color: #43594f;
  line-height: 1.5;
}
.plant-catalog-v2 .plant-profile-list { margin-top: .65rem; }
.plant-catalog-v2 .plant-profile-list div { padding-block: .52rem; }
.plant-catalog-v2 .plant-health-card { background: #104b3d; }
body.plant-catalog-v2 .plant-health-card > p {
  margin-top: .8rem;
  color: rgba(255, 254, 249, .86);
  line-height: 1.55;
}
.plant-catalog-v2 .plant-health-card .plant-panel-heading span { color: #c8f451; }
.plant-catalog-v2 .plant-health-action {
  margin-top: .75rem;
  padding: .75rem .8rem;
  background: rgba(255, 255, 255, .12);
}
.plant-catalog-v2 .plant-health-action span { color: #c8f451; }
.plant-catalog-v2 .plant-health-action strong { color: #fffef9; }
.plant-catalog-v2 .plant-tech-card h3 { margin-top: .7rem; }
.plant-catalog-v2 .phenology-instruction { margin-top: .35rem; }
.plant-catalog-v2 .care-routine-list > div { padding-block: .65rem; }
.plant-catalog-v2 .plant-pest-card ul,
.plant-catalog-v2 .plant-planting-card ol { gap: .48rem; margin-top: .75rem; }

/* Encyclopedia: interest-led information architecture */
.information-v4 { background: var(--sand); }
.information-v4 .editorial-header { position: relative; z-index: 10; }
.encyclopedia {
  width: min(100% - 2rem, 96rem);
  margin: 1rem auto;
  overflow: hidden;
  border-radius: 2rem;
  background: #fbf8ed;
  box-shadow: 0 1.5rem 4rem rgba(36, 43, 25, .11);
}

.encyclopedia-hero {
  display: grid;
  min-height: 46rem;
  grid-template-columns: minmax(0, .94fr) minmax(28rem, 1.06fr);
  gap: clamp(2.5rem, 6vw, 6.5rem);
  align-items: center;
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
}
.encyclopedia-hero-copy h1 {
  max-width: 10.5ch;
  margin: .85rem 0 0;
  color: var(--forest);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(4rem, 6.7vw, 7rem);
  font-weight: 720;
  line-height: .88;
  letter-spacing: -.07em;
  text-shadow: none;
}
.encyclopedia-hero-copy h1 em { color: var(--sage-deep); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.encyclopedia-lead { max-width: 38rem; margin: 1.7rem 0 0; color: var(--ink-soft); font-size: clamp(1rem, 1.4vw, 1.12rem); line-height: 1.72; }
.encyclopedia-search { margin-top: 2.3rem; }
.encyclopedia-search > label { display: block; margin-bottom: .75rem; color: var(--forest); font-size: .69rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.encyclopedia-search-row { display: flex; gap: .55rem; padding: .45rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--white); box-shadow: 0 .8rem 2rem rgba(36, 43, 25, .07); }
.encyclopedia-search-row input { width: 100%; min-width: 0; padding: .9rem 1rem; border: 0; outline: 0; background: transparent; color: var(--forest); font-size: .91rem; }
.encyclopedia-search-row input::placeholder { color: rgba(19, 32, 24, .47); }
.encyclopedia-search-row:focus-within { border-color: var(--sage-deep); box-shadow: 0 0 0 3px rgba(83, 107, 72, .14); }
.encyclopedia-search-row button { flex: 0 0 auto; padding: .85rem 1.3rem; border: 0; border-radius: .72rem; background: var(--forest); color: var(--cream); font-size: .7rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.popular-searches { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: .9rem; }
.popular-searches > span { margin-right: .25rem; color: var(--ink-soft); font-size: .66rem; }
.popular-searches button { padding: .45rem .65rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--sage-deep); font-size: .66rem; cursor: pointer; }
.popular-searches button:hover { border-color: var(--sage-deep); background: var(--cream); }

.encyclopedia-visual { position: relative; min-height: 38rem; margin: 0; padding: .55rem; border-radius: 1.6rem; background: var(--cream); box-shadow: 0 1.4rem 3rem rgba(36, 43, 25, .13); }
.encyclopedia-visual > img { position: absolute; inset: .55rem; width: calc(100% - 1.1rem); height: calc(100% - 1.1rem); border-radius: 1.2rem; object-fit: cover; object-position: 60% center; filter: saturate(.78) contrast(.95); }
.encyclopedia-visual::after { position: absolute; inset: 45% .55rem .55rem; border-radius: 0 0 1.2rem 1.2rem; background: linear-gradient(180deg, transparent, rgba(10, 18, 12, .64)); content: ""; }
.encyclopedia-visual figcaption { position: absolute; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; z-index: 1; padding: 1.2rem 1.3rem; border: 1px solid rgba(255,255,255,.35); border-radius: .95rem; background: rgba(19, 32, 24, .78); color: var(--cream); backdrop-filter: blur(13px); }
.encyclopedia-visual figcaption span { display: block; color: var(--gold); font-size: .62rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.encyclopedia-visual figcaption strong { display: block; max-width: 26rem; margin-top: .55rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 400; line-height: 1.25; }

.interest-directory { padding-block: clamp(5rem, 8vw, 8rem); border-top: 1px solid var(--line); }
.encyclopedia-heading, .explorer-topline { display: grid; grid-template-columns: 1fr .72fr; gap: clamp(2rem, 7vw, 8rem); align-items: end; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.encyclopedia-heading h2, .explorer-topline h2, .symptom-copy h2, .encyclopedia-method h2 { margin: .65rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.9rem, 5vw, 5rem); font-weight: 400; line-height: .96; letter-spacing: -.045em; }
.encyclopedia-heading > p { max-width: 32rem; margin: 0; color: var(--ink-soft); line-height: 1.7; }
.interest-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.interest-card { position: relative; display: flex; min-height: 15rem; flex-direction: column; padding: 1.5rem; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; color: var(--forest); text-align: left; cursor: pointer; transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
.interest-card > span { color: var(--sage-deep); font-size: .64rem; font-weight: 750; letter-spacing: .11em; }
.interest-card strong { max-width: 14ch; margin-top: auto; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.55rem, 2.2vw, 2.1rem); font-weight: 400; line-height: 1.04; }
.interest-card small { max-width: 29ch; margin-top: .65rem; color: var(--ink-soft); line-height: 1.5; }
.interest-card b { margin-top: 1.15rem; font-size: .68rem; letter-spacing: .05em; text-transform: uppercase; }
.interest-card:hover, .interest-card.is-active { z-index: 1; background: var(--forest); color: var(--cream); transform: translateY(-3px); }
.interest-card:hover > span, .interest-card.is-active > span { color: var(--gold); }
.interest-card:hover small, .interest-card.is-active small { color: rgba(246, 240, 216, .65); }
.interest-food:hover, .interest-food.is-active, .interest-light:hover, .interest-light.is-active { background: var(--gold); color: var(--forest); }
.interest-food:hover > span, .interest-light:hover > span, .interest-food.is-active > span, .interest-light.is-active > span { color: var(--forest); }
.interest-food:hover small, .interest-light:hover small, .interest-food.is-active small, .interest-light.is-active small { color: rgba(19, 32, 24, .65); }

.encyclopedia-explorer { padding-block: clamp(5rem, 8vw, 8rem); background: var(--cream); scroll-margin-top: 1rem; }
.explorer-topline { margin-bottom: 1.8rem; }
.explorer-status { align-self: end; justify-self: end; text-align: right; }
.explorer-status p { margin: 0; color: var(--sage-deep); font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.explorer-status button { margin-top: .65rem; padding: 0 0 .2rem; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--forest); font-size: .7rem; font-weight: 750; cursor: pointer; }
.encyclopedia-filters { display: flex; gap: .55rem; overflow-x: auto; margin-bottom: 2rem; padding: .25rem 0 .7rem; scrollbar-width: none; }
.encyclopedia-filters::-webkit-scrollbar { display: none; }
.encyclopedia-filters .topic-filter { background: rgba(255, 250, 240, .42); }
.encyclopedia-filters .topic-filter:hover, .encyclopedia-filters .topic-filter.is-active { background: var(--forest); }
.encyclopedia-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.encyclopedia-card { display: flex; min-height: 24rem; min-width: 0; flex-direction: column; padding: 1.45rem; border: 1px solid var(--line); border-radius: 1.2rem; background: #fffdf6; color: var(--forest); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.encyclopedia-card[hidden] { display: none; }
.encyclopedia-card:hover { box-shadow: 0 1.3rem 3rem rgba(36, 43, 25, .13); transform: translateY(-4px); }
.entry-top, .entry-footer { display: flex; gap: 1rem; align-items: center; justify-content: space-between; font-size: .63rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.entry-top { padding-bottom: 1rem; border-bottom: 1px solid var(--line); color: var(--ink-soft); }
.entry-topic { color: var(--sage-deep); }
.entry-copy { margin: auto 0; padding-block: 2rem; }
.entry-copy > p { margin: 0 0 .8rem; color: var(--sage-deep); font-size: .64rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.entry-copy h3 { max-width: 15ch; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.85rem, 2.5vw, 2.55rem); font-weight: 400; line-height: .98; letter-spacing: -.035em; }
.entry-copy > span { display: block; max-width: 34ch; margin-top: 1rem; color: var(--ink-soft); font-size: .86rem; line-height: 1.6; }
.entry-footer { padding-top: 1rem; border-top: 1px solid var(--line); color: var(--ink-soft); }
.entry-footer b { color: var(--forest); }
.card-featured { grid-column: span 2; min-height: 30rem; background: var(--sage); }
.card-featured .entry-copy h3 { max-width: 16ch; font-size: clamp(2.7rem, 4vw, 4.4rem); }
.card-featured .entry-copy > span { max-width: 52ch; }
.card-dark { background: var(--forest); color: var(--cream); }
.card-dark .entry-top, .card-dark .entry-footer { border-color: rgba(246, 240, 216, .18); color: rgba(246, 240, 216, .6); }
.card-dark .entry-topic, .card-dark .entry-copy > p, .card-dark .entry-footer b { color: var(--gold); }
.card-dark .entry-copy > span { color: rgba(246, 240, 216, .67); }
.card-gold { background: var(--gold); }
.card-gold .entry-top, .card-gold .entry-footer { border-color: rgba(19, 32, 24, .18); }
.card-gold .entry-topic, .card-gold .entry-copy > p { color: var(--forest); }
.encyclopedia-empty { padding: 4rem 1rem; border: 1px solid var(--line); border-radius: 1.2rem; text-align: center; }
.encyclopedia-empty > span { display: grid; width: 3rem; height: 3rem; place-items: center; margin: 0 auto; border: 1px solid var(--forest); border-radius: 50%; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; }
.encyclopedia-empty h3 { margin: 1.2rem 0 .5rem; font-family: Georgia, "Times New Roman", serif; font-size: 2rem; font-weight: 400; }
.encyclopedia-empty p { margin: 0; color: var(--ink-soft); }
.encyclopedia-empty button { margin-top: 1.3rem; padding: .8rem 1rem; border: 0; border-radius: 999px; background: var(--forest); color: var(--cream); font-size: .69rem; font-weight: 750; text-transform: uppercase; cursor: pointer; }

.symptom-entry { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(3rem, 8vw, 9rem); padding-block: clamp(5rem, 8vw, 8rem); }
.symptom-copy h2 { max-width: 12ch; }
.symptom-copy > p:last-child { max-width: 31rem; color: var(--ink-soft); line-height: 1.7; }
.symptom-list { border-top: 1px solid var(--line); }
.symptom-list button { display: grid; width: 100%; grid-template-columns: 2rem 1fr auto; gap: 1.1rem; align-items: center; padding: 1.4rem .25rem; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--forest); text-align: left; cursor: pointer; }
.symptom-list button > span { color: var(--sage-deep); font-size: .64rem; font-weight: 750; }
.symptom-list strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; font-weight: 400; }
.symptom-list small { color: var(--ink-soft); }
.symptom-list button::after { margin-left: .25rem; content: "→"; }
.symptom-list button:hover strong { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25rem; }

.encyclopedia-method { padding-block: clamp(6rem, 9vw, 9rem); background: var(--forest); color: var(--cream); }
.encyclopedia-method .method-intro .section-label { color: var(--gold); }
.encyclopedia-method .method-intro p:last-child { color: rgba(246, 240, 216, .65); }
.encyclopedia-method .method-steps li:nth-child(2) { background: var(--gold); }

.encyclopedia button:focus-visible, .encyclopedia a:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.encyclopedia-search-row button:focus-visible, .popular-searches button:focus-visible { outline-color: var(--sage-deep); }

@media (max-width: 1040px) {
  .encyclopedia-hero { grid-template-columns: 1fr; }
  .encyclopedia-hero-copy { max-width: 46rem; }
  .encyclopedia-visual { min-height: clamp(28rem, 65vw, 40rem); }
  .encyclopedia-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .information-v4 .editorial-header { align-items: flex-start; flex-direction: column; gap: .8rem; padding-block: 1rem; border-radius: 1.2rem; }
  .information-v4 .editorial-nav { width: 100%; overflow-x: auto; padding-bottom: .25rem; scrollbar-width: none; }
  .information-v4 .editorial-nav a { flex: 0 0 auto; }
  .encyclopedia { width: min(100% - 1.3rem, 96rem); margin-top: .65rem; border-radius: 1rem; }
  .encyclopedia-hero-copy h1 { font-size: clamp(3.5rem, 15vw, 5.3rem); }
  .encyclopedia-heading, .explorer-topline, .symptom-entry, .encyclopedia-method .method-layout { grid-template-columns: 1fr; }
  .interest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .explorer-status { justify-self: start; text-align: left; }
  .encyclopedia-grid { grid-template-columns: 1fr; }
  .card-featured { grid-column: auto; min-height: 26rem; }
  .symptom-list button { grid-template-columns: 2rem 1fr auto; }
  .symptom-list small { display: none; }
}

@media (max-width: 520px) {
  .encyclopedia-hero { padding-top: 3.5rem; }
  .encyclopedia-search-row { align-items: stretch; flex-direction: column; }
  .encyclopedia-search-row button { min-height: 3rem; }
  .encyclopedia-visual { min-height: 25rem; }
  .interest-grid { grid-template-columns: 1fr; }
  .interest-card { min-height: 13rem; }
  .entry-copy h3 { font-size: 2rem; }
  .card-featured .entry-copy h3 { font-size: 2.7rem; }
}

@media (prefers-reduced-motion: reduce) {
  .interest-card, .encyclopedia-card { transition: none; }
}

/* Dedicated article hubs */
.article-hub { background: #f8f5ea; color: var(--forest); }
.article-hub .editorial-header { background: #f8f5ea; }
.article-hub .editorial-nav a[aria-current="page"] { color: var(--sage-deep); text-decoration: underline; text-underline-offset: .35rem; }
.hub-publication { overflow: hidden; }
.hub-editions { display: flex; justify-content: center; border-bottom: 1px solid var(--line); }
.hub-editions a { position: relative; padding: 1rem 1.35rem; color: var(--ink-soft); font-size: .68rem; font-weight: 750; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.hub-editions a:hover { color: var(--forest); }
.hub-editions a.is-current { color: var(--forest); }
.hub-editions a.is-current::after { position: absolute; right: 1.35rem; bottom: -1px; left: 1.35rem; height: 2px; background: var(--gold); content: ""; }

.hub-masthead { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(3rem, 8vw, 9rem); align-items: end; padding-block: clamp(4.5rem, 8vw, 7.5rem) clamp(3.5rem, 6vw, 5.5rem); }
.hub-masthead h1 { max-width: 12ch; margin: .8rem 0 0; color: var(--forest); font-size: clamp(4rem, 7.2vw, 7.3rem); line-height: .86; text-shadow: none; }
.hub-masthead h1 em { color: var(--sage-deep); font-weight: 400; }
.article-hub-botany .hub-masthead h1 em { color: #a36e12; }
.hub-masthead-note p { max-width: 36rem; margin: 0; color: var(--ink-soft); font-size: clamp(1rem, 1.45vw, 1.13rem); line-height: 1.72; }
.hub-masthead-note span { display: block; margin-top: 1.8rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--sage-deep); font-size: .65rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }

.hub-front { display: grid; grid-template-columns: minmax(12rem, .52fr) minmax(26rem, 1.25fr) minmax(15rem, .63fr); gap: .85rem; padding-bottom: clamp(5rem, 8vw, 8rem); }
.hub-side-stories { display: grid; grid-template-rows: repeat(2, 1fr); gap: .85rem; }
.hub-side-card { display: flex; min-width: 0; flex-direction: column; padding-bottom: 1.1rem; border-bottom: 1px solid var(--line); color: var(--forest); text-decoration: none; }
.hub-side-card img { width: 100%; aspect-ratio: 1.52 / 1; object-fit: cover; filter: saturate(.78) contrast(.96); }
.hub-side-card span, .hub-article-card > span { margin-top: .9rem; color: var(--sage-deep); font-size: .61rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.hub-side-card h2 { margin: .45rem 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.2rem, 1.7vw, 1.65rem); font-weight: 400; line-height: 1.02; letter-spacing: -.025em; }
.hub-side-card p { margin: 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.5; }
.hub-side-card:hover h2, .hub-latest a:hover h2, .hub-article-card:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .23rem; }

.hub-cover-story { display: grid; min-width: 0; overflow: hidden; grid-template-rows: minmax(25rem, 1fr) auto; border-radius: .35rem; background: var(--forest); color: var(--cream); text-decoration: none; }
.hub-cover-image { position: relative; min-height: 0; overflow: hidden; }
.hub-cover-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) contrast(.95); transition: transform 500ms ease; }
.hub-cover-story:hover .hub-cover-image img { transform: scale(1.018); }
.hub-cover-image > span { position: absolute; top: 1rem; left: 1rem; padding: .58rem .72rem; border-radius: 999px; background: var(--gold); color: var(--forest); font-size: .59rem; font-weight: 780; letter-spacing: .06em; text-transform: uppercase; }
.hub-cover-copy { display: flex; min-height: 20.5rem; flex-direction: column; padding: clamp(1.6rem, 3vw, 2.5rem); }
.hub-cover-copy > p { margin: 0; color: var(--gold); font-size: .62rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.hub-cover-copy h2 { max-width: 16ch; margin: .8rem 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.6rem, 4.1vw, 4.2rem); font-weight: 400; line-height: .92; letter-spacing: -.045em; }
.hub-cover-copy > span { max-width: 39rem; color: rgba(246, 240, 216, .7); font-size: .88rem; line-height: 1.62; }
.hub-cover-copy footer { display: flex; justify-content: space-between; margin-top: auto; padding-top: 1.15rem; border-top: 1px solid rgba(246, 240, 216, .2); font-size: .69rem; }
.hub-cover-copy footer small { color: rgba(246, 240, 216, .58); }
.hub-cover-botany { background: #8b641d; }
.hub-cover-botany .hub-cover-image > span { background: var(--forest); color: var(--cream); }
.hub-cover-botany .hub-cover-copy > p { color: #fff0be; }

.hub-latest { padding-inline: 1rem; border-top: 2px solid var(--forest); border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .34); }
.hub-latest-heading { display: flex; align-items: center; justify-content: space-between; min-height: 3.5rem; }
.hub-latest-heading p { margin: 0; font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.hub-latest-heading span { color: var(--ink-soft); font-size: .6rem; }
.hub-latest > a { display: grid; min-height: 8.7rem; grid-template-columns: 1fr 4.9rem; gap: .8rem; align-items: center; padding-block: 1rem; border-top: 1px solid var(--line); color: var(--forest); text-decoration: none; }
.hub-latest a span { color: var(--sage-deep); font-size: .58rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.hub-latest a h2 { margin: .38rem 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.05rem, 1.5vw, 1.3rem); font-weight: 400; line-height: 1.02; }
.hub-latest a p { margin: 0; color: var(--ink-soft); font-size: .66rem; }
.hub-latest a img, .hub-story-number { width: 4.9rem; height: 4.9rem; object-fit: cover; filter: saturate(.74) contrast(.95); }
.hub-story-number { display: grid; place-items: center; background: var(--gold); color: var(--forest); font-family: Georgia, "Times New Roman", serif; font-size: 1.7rem; }

.hub-topic { padding-block: clamp(5rem, 8vw, 8rem); border-top: 1px solid var(--line); }
.hub-topic-tinted { width: 100%; border-top: 0; background: var(--cream-soft); }
.hub-topic-tinted > .section-shell { padding-block: clamp(5rem, 8vw, 8rem); }
.hub-topic-botany { background: #e4c878; }
.hub-topic-heading { display: flex; gap: 2rem; align-items: end; justify-content: space-between; margin-bottom: 2rem; }
.hub-topic-heading h2 { max-width: 17ch; margin: .65rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.8rem, 5vw, 5rem); font-weight: 400; line-height: .95; letter-spacing: -.045em; }
.hub-topic-heading > span { padding-bottom: .45rem; color: var(--ink-soft); font-size: .66rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.hub-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.hub-article-card { display: flex; min-width: 0; flex-direction: column; padding-bottom: 1.2rem; border-bottom: 1px solid rgba(19, 32, 24, .32); color: var(--forest); text-decoration: none; }
.hub-article-card > img, .hub-card-poster { width: 100%; aspect-ratio: 1.42 / 1; object-fit: cover; filter: saturate(.76) contrast(.96); transition: transform 300ms ease; }
.hub-article-card:hover > img { transform: translateY(-3px); }
.hub-card-poster { display: flex; flex-direction: column; justify-content: space-between; padding: 1.25rem; background: var(--forest); color: var(--cream); filter: none; }
.hub-card-poster span { color: var(--gold); font-size: .61rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.hub-card-poster strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.5rem, 2.7vw, 2.6rem); font-weight: 400; line-height: .9; }
.hub-article-card h3 { max-width: 18ch; margin: .55rem 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.5rem, 2.3vw, 2.15rem); font-weight: 400; line-height: 1; letter-spacing: -.03em; }
.hub-article-card p { margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.hub-article-card b { margin-top: 1rem; font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; }
.hub-next-edition { display: grid; grid-template-columns: .5fr 1.5fr; align-items: center; padding-block: clamp(4rem, 7vw, 6rem); }
.hub-next-edition > span { color: var(--sage-deep); font-size: .65rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.hub-next-edition a { display: flex; align-items: center; justify-content: space-between; padding-bottom: .8rem; border-bottom: 1px solid var(--forest); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 3.5vw, 3.2rem); text-decoration: none; }
.hub-next-edition a:hover b { transform: translateX(.35rem); }
.hub-next-edition b { font-weight: 400; transition: transform 180ms ease; }
.article-hub a:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }

@media (max-width: 1080px) {
  .hub-front { grid-template-columns: minmax(12rem, .55fr) minmax(24rem, 1.1fr); }
  .hub-latest { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); padding: 0; border-top-width: 1px; }
  .hub-latest-heading { grid-column: 1 / -1; padding-inline: 1rem; border-top: 2px solid var(--forest); }
  .hub-latest > a { padding-inline: 1rem; border-right: 1px solid var(--line); }
  .hub-latest > a:last-child { border-right: 0; }
}

@media (max-width: 760px) {
  .article-hub .editorial-header { align-items: flex-start; flex-direction: column; gap: .8rem; padding-block: 1rem; }
  .article-hub .editorial-nav { width: 100%; overflow-x: auto; padding-bottom: .25rem; scrollbar-width: none; }
  .article-hub .editorial-nav a { flex: 0 0 auto; }
  .hub-editions { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
  .hub-editions a { flex: 0 0 auto; }
  .hub-masthead { grid-template-columns: 1fr; gap: 2.2rem; }
  .hub-masthead h1 { font-size: clamp(3.65rem, 16vw, 5.5rem); }
  .hub-front { grid-template-columns: 1fr; }
  .hub-cover-story { grid-row: 1; }
  .hub-side-stories { grid-row: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
  .hub-latest { grid-template-columns: 1fr; }
  .hub-latest > a { border-right: 0; }
  .hub-card-grid { grid-template-columns: 1fr; gap: 2rem; }
  .hub-article-card > img, .hub-card-poster { aspect-ratio: 1.6 / 1; }
  .hub-topic-heading { align-items: start; flex-direction: column; gap: .8rem; }
  .hub-next-edition { grid-template-columns: 1fr; gap: 1.3rem; }
}

@media (max-width: 480px) {
  .hub-side-stories { grid-template-columns: 1fr; }
  .hub-cover-story { grid-template-rows: 21rem auto; }
  .hub-cover-copy h2 { font-size: 2.55rem; }
  .hub-topic-heading h2 { font-size: 2.9rem; }
  .hub-next-edition a { font-size: 1.65rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hub-cover-image img, .hub-article-card > img, .hub-next-edition b { transition: none; }
}

/* Keep the shared navigation readable after page-specific responsive rules. */
@media (max-width: 760px) {
  .information-v4 .editorial-header,
  .article-hub .editorial-header { align-items: stretch; }
  .information-v4 .editorial-nav,
  .article-hub .editorial-nav { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; overflow: visible; padding: 0; }
  .information-v4 .editorial-nav a,
  .article-hub .editorial-nav a { width: 100%; min-width: 0; min-height: 2.9rem; padding: .65rem .45rem; border: 1px solid var(--line); border-radius: .75rem; text-align: center; }
  .editorial-nav a.nav-search-link { display: inline-flex; }
}
