:root {
  --color-forest: #315b43;
  --color-forest-dark: #203d2e;
  --color-leaf: #6f8b72;
  --color-sage: #dce5d8;
  --color-sage-light: #edf2e9;
  --color-ivory: #f7f3e9;
  --color-paper: #fffdf8;
  --color-earth: #9c7653;
  --color-ink: #233229;
  --color-muted: #637068;
  --color-line: rgba(49, 91, 67, .16);
  --font-display: "Iowan Old Style", Baskerville, Georgia, serif;
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius-sm: 14px;
  --radius-md: 24px;
  --radius-lg: 42px;
  --shadow-soft: 0 18px 60px rgba(37, 58, 43, .10);
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4.5rem;
  --space-7: 7rem;
  --shell: 1240px;
  --motion-ease: cubic-bezier(.37,0,.2,1);
  --motion-soft: 760ms var(--motion-ease);
  --motion-slow: 1150ms var(--motion-ease);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; scrollbar-gutter: stable; }
body { margin: 0; background: var(--color-ivory); color: var(--color-ink); font-family: var(--font-sans); font-size: 17px; line-height: 1.65; text-rendering: optimizeLegibility; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--color-forest); text-underline-offset: .2em; }
a:hover { color: var(--color-earth); }
h1, h2, h3, h4 { margin: 0 0 .55em; font-family: var(--font-display); font-weight: 500; line-height: 1.08; color: var(--color-forest-dark); text-wrap: balance; }
h1 { font-size: clamp(2.6rem, 6vw, 6.5rem); }
h2 { font-size: clamp(2rem, 4vw, 4rem); }
h3 { font-size: clamp(1.35rem, 2vw, 2rem); }
p { margin: 0 0 1em; }
button, input, textarea, select { font: inherit; }
input, textarea, select { color: var(--color-ink); background: var(--color-paper); border: 1px solid var(--color-line); border-radius: 12px; padding: .82rem 1rem; width: 100%; }
input:focus, textarea:focus, select:focus, button:focus-visible, a:focus-visible { outline: 3px solid rgba(156, 118, 83, .45); outline-offset: 3px; }
.shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.section { padding-block: clamp(4rem, 8vw, 8rem); }
.section--sage { background: var(--color-sage); }
.section-narrow, .prose { max-width: 800px; }
.prose > * + * { margin-top: 1.1em; }
.prose h2, .prose h3 { margin-top: 1.6em; }
.prose ul { padding-left: 1.25em; }
.eyebrow { margin: 0 0 .75rem; color: var(--color-earth); font-size: .76rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.lead, .hero__lead, .page-hero__lead { color: var(--color-muted); font-size: clamp(1.08rem, 2vw, 1.35rem); max-width: 68ch; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { clip: auto !important; width: auto; height: auto; padding: .75rem 1rem; margin: .5rem; overflow: visible; background: white; z-index: 99999; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: .5rem; padding: .75rem 1.2rem; border: 0; border-radius: 999px; background: var(--color-forest); color: white; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .62s var(--motion-ease), background .62s var(--motion-ease), box-shadow .62s var(--motion-ease); }
.button:hover { color: white; background: var(--color-earth); transform: translateY(-1px); }
.button--light { background: var(--color-paper); color: var(--color-forest); }
.button--light:hover { background: var(--color-sage); color: var(--color-forest-dark); }
.text-link { font-weight: 700; text-decoration: none; }

.site-header { position: sticky; top: 0; z-index: 100; background: color-mix(in srgb, var(--color-ivory) 98%, white); border-bottom: 1px solid transparent; transition: border-color .62s var(--motion-ease), box-shadow .78s var(--motion-ease); }
.site-header--static { position: relative; top: auto; }
.site-header.is-scrolled { border-color: var(--color-line); box-shadow: 0 5px 18px rgba(35, 50, 41, .055); }
.site-header__inner { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.site-brand { display: inline-flex; align-items: center; color: var(--color-forest); text-decoration: none; }
.site-brand__logo { width: min(var(--sandher-header-logo-desktop,190px),100%); max-height: 72px; object-fit: contain; }
.site-title { font-family: var(--font-display); font-size: 1.6rem; }
.primary-navigation ul { list-style: none; padding: 0; margin: 0; display: flex; align-items: center; gap: clamp(.8rem, 2.2vw, 1.9rem); }
.primary-navigation li { position: relative; }
.primary-navigation a { display: flex; min-height: 44px; align-items: center; color: var(--color-ink); font-size: .92rem; font-weight: 650; text-decoration: none; transition: color .62s var(--motion-ease); }
.primary-navigation a:hover, .primary-navigation .current-menu-item > a, .primary-navigation .current-menu-ancestor > a { color: var(--color-forest); }
.primary-navigation .sub-menu { position: absolute; top: 100%; left: -1rem; min-width: 220px; padding: .65rem 1rem; display: block; align-items: stretch; background: var(--color-paper); border: 1px solid var(--color-line); border-radius: var(--radius-sm); box-shadow: var(--shadow-soft); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(6px); transition: opacity .64s var(--motion-ease), transform .78s var(--motion-ease), visibility 0s linear .78s; }
.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu, .primary-navigation li.is-submenu-open > .sub-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition-delay: .1s, .1s, 0s; }
.menu-toggle { display: none; width: 48px; height: 48px; border: 1px solid var(--color-line); border-radius: 50%; background: transparent; align-content: center; justify-items: center; gap: 4px; }
.menu-toggle > span:not(.screen-reader-text) { width: 19px; height: 2px; background: var(--color-forest); transition: transform .72s var(--motion-ease), opacity .54s var(--motion-ease); }
.menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; transform: scaleX(.25); }
.menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.hero { position: relative; min-height: min(780px, calc(100vh - 92px)); display: grid; align-items: end; overflow: hidden; background: var(--color-forest); }
.hero__image, .page-hero__image { position: absolute; inset: 0; }
.hero__image::after, .page-hero__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18, 42, 29, .82), rgba(18, 42, 29, .22)); }
.hero__image img, .page-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.has-sandher-motion .hero__image img { animation: none; }
.hero__content { position: relative; z-index: 1; color: white; padding-block: clamp(5rem, 10vw, 9rem); }
.hero__content h1 { color: white; max-width: 12ch; }
.hero__lead { color: rgba(255,255,255,.84); max-width: 54ch; }
.hero__content .eyebrow { color: #d8cbb5; }
.section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .7fr); align-items: end; gap: 2rem; margin-bottom: clamp(2rem, 5vw, 4rem); }
.section-heading .eyebrow { grid-column: 1/-1; margin-bottom: -.8rem; }
.section-heading h2 { max-width: 14ch; margin: 0; }
.macro-grid, .plant-grid, .content-grid, .partner-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(1rem, 2.4vw, 2rem); }
.macro-card, .plant-card, .content-card, .partner-card { overflow: hidden; border-radius: var(--radius-md); background: var(--color-paper); color: var(--color-ink); text-decoration: none; border: 1px solid rgba(49,91,67,.08); box-shadow: 0 10px 34px rgba(34, 55, 40, .07); }
.macro-card { min-height: 510px; display: grid; grid-template-rows: 1.2fr .8fr; }
.macro-card__media, .plant-card__media { overflow: hidden; background: var(--color-sage); }
.macro-card__media img, .plant-card__media img, .content-card > a img { width: 100%; height: 100%; object-fit: cover; }
.macro-card__media > span, .plant-card__media > span { display: block; min-height: 280px; background: radial-gradient(circle at 20% 20%, rgba(255,255,255,.7), transparent 38%), linear-gradient(135deg, var(--color-sage), #a9bea9); }
.macro-card__body, .plant-card__body, .content-card > div, .partner-card { padding: clamp(1.35rem, 3vw, 2rem); }
.macro-card__body h3, .plant-card h2 { margin-bottom: .4rem; }
.macro-card__body p, .plant-card__body p { color: var(--color-muted); }
.has-card-motion .macro-card, .has-card-motion .plant-card { transition: transform .78s var(--motion-ease), box-shadow .78s var(--motion-ease); }
.has-card-motion .macro-card:hover, .has-card-motion .plant-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-soft); }
.has-card-motion .macro-card img, .has-card-motion .plant-card img { transition: transform 1.35s var(--motion-ease); }
.has-card-motion .macro-card:hover img, .has-card-motion .plant-card:hover img { transform: scale(1.035); }
.plant-card { display: grid; grid-template-rows: 260px 1fr; }
.plant-card h2 { font-size: 1.65rem; }
.plant-card h2 a { color: var(--color-forest-dark); text-decoration: none; }
.plant-card__terms, .plant-card__terms a { font-size: .72rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; color: var(--color-earth); text-decoration: none; }
.content-card > a { display: block; height: 260px; }
.partner-card { text-align: center; }
.partner-card img { width: auto; max-height: 110px; margin: 0 auto 1rem; object-fit: contain; }
.cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(2rem, 6vw, 4.5rem); border-radius: var(--radius-lg); background: var(--color-forest); color: white; }
.cta h2 { color: white; margin: 0; max-width: 15ch; }
.cta .eyebrow { color: #d8cbb5; }

.page-hero { position: relative; min-height: 520px; display: grid; align-items: end; overflow: hidden; background: var(--color-sage); }
.page-hero > .shell { position: relative; z-index: 1; padding-block: clamp(4rem, 9vw, 7rem); }
.page-hero--category { color: white; background: var(--color-forest); }
.page-hero--category h1 { color: white; }
.page-hero--category .page-hero__lead { color: rgba(255,255,255,.84); }
.page-hero--compact { min-height: auto; }
.page-hero--compact h1 { font-size: clamp(2.6rem, 5vw, 5rem); }
.page-heading { max-width: 900px; margin-block: 2rem 4rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 2rem; font-size: .82rem; color: var(--color-muted); }
.breadcrumbs a { text-decoration: none; }
.catalog-toolbar { position: sticky; top: 92px; z-index: 50; background: var(--color-paper); border-block: 1px solid var(--color-line); }
.catalog-toolbar__inner { min-height: 90px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.catalog-filters { display: flex; flex: 1; gap: .7rem; }
.catalog-filters input { min-width: min(360px, 42vw); }
.catalog-downloads { display: flex; align-items: center; gap: .75rem; font-size: .88rem; }
.catalog-downloads span { color: var(--color-muted); }
.catalog-downloads a { font-weight: 750; }
.pagination, .nav-links { display: flex; justify-content: center; gap: .5rem; margin-top: 3rem; }
.page-numbers { min-width: 42px; min-height: 42px; display: inline-grid; place-items: center; padding: .5rem; border-radius: 50%; background: var(--color-paper); text-decoration: none; }
.page-numbers.current { background: var(--color-forest); color: white; }

.plant-detail { padding-top: 2rem; }
.plant-detail__hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); min-height: 620px; overflow: hidden; border-radius: var(--radius-lg); background: var(--color-sage); }
.plant-detail__media { min-height: 480px; background: #bccbb9; }
.plant-detail__media img { width: 100%; height: 100%; object-fit: cover; }
.plant-detail__intro { align-self: center; padding: clamp(2rem, 5vw, 5rem); }
.plant-detail__intro h1 { font-size: clamp(2.7rem, 5vw, 5.7rem); }
.term-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.term-chips a { padding: .42rem .72rem; border-radius: 999px; background: rgba(255,255,255,.65); font-size: .72rem; font-weight: 750; text-decoration: none; text-transform: uppercase; letter-spacing: .08em; }
.plant-availability { padding: .42rem .72rem; border: 1px solid rgba(40,86,57,.25); border-radius: 999px; background: rgba(218,232,214,.72); color: var(--forest); font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.plant-detail__data { display: grid; grid-template-columns: minmax(240px, .5fr) minmax(0, 1.5fr); gap: clamp(2rem, 8vw, 8rem); }
.plant-specs { margin: 0; }
.plant-specs > div { display: grid; grid-template-columns: minmax(150px, .45fr) minmax(0, 1fr); gap: 2rem; padding-block: 1rem; border-bottom: 1px solid var(--color-line); }
.plant-specs dt { color: var(--color-forest); font-weight: 750; }
.plant-specs dd { margin: 0; }
.production-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.production-card { padding: 1.7rem; border-radius: var(--radius-md); background: var(--color-sage-light); }
.production-card ul { padding-left: 1.2rem; }
.gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; }
.gallery-grid figure { grid-column: span 6; margin: 0; overflow: hidden; border-radius: var(--radius-md); }
.gallery-grid figure:nth-child(3n) { grid-column: span 12; }
.gallery-grid img { width: 100%; height: clamp(260px, 40vw, 560px); object-fit: cover; }
.section-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem, 7vw, 7rem); border-bottom: 1px solid var(--color-line); }
.section-split--reverse .section-split__content { order: 2; }
.section-split__media { margin: 0; overflow: hidden; border-radius: var(--radius-lg); }
.section-split__media img { width: 100%; min-height: 400px; object-fit: cover; }
.contact-layout { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.contact-card { position: sticky; top: 130px; padding: clamp(1.6rem, 4vw, 2.8rem); border-radius: var(--radius-md); background: var(--color-sage); }
.contact-card address { font-style: normal; }
.contact-card ul { list-style: none; padding: 0; }
.contact-card li { display: grid; padding-block: .7rem; border-bottom: 1px solid var(--color-line); }
.contact-card li span { color: var(--color-muted); font-size: .8rem; }
.sandher-contact-form { display: grid; gap: 1rem; }
.sandher-contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.sandher-contact-form label { display: grid; gap: .35rem; }
.sandher-contact-form__privacy { grid-template-columns: auto 1fr !important; align-items: start; }
.sandher-contact-form__privacy input { width: auto; margin-top: .35rem; }
.sandher-honeypot { position: absolute; left: -10000px; }
.sandher-form-message { padding: 1rem; margin-bottom: 1rem; border-radius: 12px; }
.sandher-form-message--success { background: #dff0df; }
.sandher-form-message--error { background: #f4dddd; }
.empty-state { text-align: center; max-width: 680px; margin-inline: auto; }

.site-footer { padding-top: var(--space-6); background: var(--color-forest-dark); color: rgba(255,255,255,.78); }
.site-footer a { color: white; }
.site-footer__grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 3rem; align-items: start; }
.site-footer__logo { width: min(var(--sandher-footer-logo-desktop,180px),100%); max-height: 84px; object-fit: contain; filter: brightness(0) invert(1); }
.site-footer address { font-style: normal; max-width: 58ch; }
.site-footer__contacts { display: flex; flex-wrap: wrap; gap: .55rem 1rem; }
.site-footer__contacts > *:not(:last-child)::after { margin-left: 1rem; color: rgba(255,255,255,.35); content: "·"; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer__bottom { margin-top: 3rem; padding-block: 1.2rem; border-top: 1px solid rgba(255,255,255,.13); font-size: .82rem; }

[data-reveal] { opacity: 1; transform: none; }
.has-sandher-motion.is-ready { --page-entry-duration: 1.18s; }
.has-sandher-motion.home.is-ready,
.has-sandher-motion.front-page.is-ready,
.has-sandher-motion.sandher-home-gateway.is-ready,
.has-sandher-motion.sandher-home-no-header.is-ready { --page-entry-duration: 1.65s; }
.has-sandher-motion.is-ready::after {
  position: fixed;
  z-index: 99990;
  inset: 0;
  background: var(--color-ivory);
  content: "";
  opacity: 1;
  visibility: visible;
  pointer-events: none;
  transition: opacity var(--page-entry-duration) cubic-bezier(.4,0,.2,1), visibility 0s linear var(--page-entry-duration);
  will-change: opacity;
}
.has-sandher-motion.is-ready.has-entered::after { opacity: 0; visibility: hidden; }
.has-sandher-motion.is-ready.is-page-leaving::after {
  opacity: 1;
  visibility: visible;
  transition: opacity .52s cubic-bezier(.4,0,1,1), visibility 0s;
}
.has-sandher-motion.is-ready [data-reveal] { opacity: 0; transform: translate3d(0,7px,0); transition: opacity 1.35s var(--motion-ease), transform 1.55s var(--motion-ease); }
.has-sandher-motion.is-ready [data-reveal].is-visible { opacity: 1; transform: none; }
.has-sandher-motion.is-ready [data-reveal].is-initial { transition: none; }

@media (max-width: 1024px) {
  .site-header__inner { min-height: 78px; }
  .menu-toggle { display: grid; }
  .primary-navigation { position: fixed; inset: 78px 0 auto; max-height: calc(100vh - 78px); overflow: auto; padding: 1.25rem 20px 2rem; background: var(--color-ivory); border-bottom: 1px solid var(--color-line); transform: translateY(-10px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .68s var(--motion-ease), transform .9s var(--motion-ease), visibility 0s linear .9s; }
  .primary-navigation.is-open { transform: none; opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
  .primary-navigation ul { display: grid; align-items: stretch; gap: 0; }
  .primary-navigation a { min-height: 52px; font-size: 1rem; border-bottom: 1px solid var(--color-line); }
  .primary-navigation .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 0 1rem; background: transparent; border: 0; box-shadow: none; }
  .catalog-toolbar { top: 78px; }
  .catalog-toolbar__inner, .catalog-filters { flex-wrap: wrap; }
  .plant-detail__hero { grid-template-columns: 1fr; }
  .plant-detail__media { min-height: 440px; max-height: 65vh; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  body { font-size: 16px; }
  .shell { width: min(calc(100% - 28px), var(--shell)); }
  .section { padding-block: 4.5rem; }
  .hero { min-height: 690px; }
  .hero__image::after { background: linear-gradient(0deg, rgba(18,42,29,.9), rgba(18,42,29,.18)); }
  .section-heading { grid-template-columns: 1fr; gap: .6rem; }
  .section-heading .eyebrow { margin-bottom: 0; }
  .macro-card { min-height: 430px; }
  .catalog-toolbar { position: relative; top: 0; padding-block: 1rem; }
  .catalog-toolbar__inner, .catalog-filters { display: grid; width: 100%; }
  .catalog-filters input { min-width: 0; }
  .catalog-downloads { justify-content: space-between; }
  .plant-detail { padding-top: 1rem; }
  .plant-detail__hero { border-radius: var(--radius-md); }
  .plant-detail__media { min-height: 340px; }
  .plant-detail__data, .section-split, .contact-layout { grid-template-columns: 1fr; gap: 2rem; }
  .section-split--reverse .section-split__content { order: initial; }
  .plant-specs > div { grid-template-columns: 1fr; gap: .25rem; }
  .gallery-grid figure, .gallery-grid figure:nth-child(3n) { grid-column: span 12; }
  .contact-card { position: static; }
  .sandher-contact-form__grid { grid-template-columns: 1fr; }
  .cta { align-items: flex-start; flex-direction: column; border-radius: var(--radius-md); }
  .site-footer__grid { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .site-brand__logo { width: min(var(--sandher-header-logo-mobile,145px),100%); max-height: 58px; }
  .site-footer__logo { width: min(var(--sandher-footer-logo-mobile,145px),100%); max-height: 70px; }
  .hero { min-height: 620px; }
  h1 { font-size: clamp(2.5rem, 14vw, 4rem); }
  .plant-grid, .macro-grid, .content-grid, .partner-grid { grid-template-columns: 1fr; }
  .catalog-downloads { flex-wrap: wrap; }
  .catalog-downloads span { width: 100%; }
  .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal], .site-main, .site-footer { opacity: 1 !important; transform: none !important; }
  .has-sandher-motion.is-ready::after { display: none !important; }
}

/* Privacy pages and optional consent manager */
.prose .wp-block-table { max-width: 100%; overflow-x: auto; }
.prose table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.prose th, .prose td { padding: .85rem 1rem; border: 1px solid var(--color-line); text-align: left; vertical-align: top; }
.prose th { background: var(--color-sage-light); color: var(--color-forest-dark); }
.prose code { padding: .12em .35em; background: var(--color-sage-light); color: var(--color-forest-dark); overflow-wrap: anywhere; }

.sandher-consent[hidden], .sandher-consent-reopen[hidden], .sandher-consent__preferences[hidden] { display: none !important; }
.sandher-consent { position: fixed; z-index: 10000; inset: auto 0 0; padding: 1rem; background: linear-gradient(0deg,rgba(18,37,27,.22),transparent); }
.sandher-consent__panel { position: relative; width: min(100%,1120px); margin-inline: auto; padding: clamp(1.35rem,3vw,2.25rem); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-md); background: var(--color-forest-dark); color: rgba(255,255,255,.83); box-shadow: 0 24px 75px rgba(12,30,20,.32); }
.sandher-consent__panel h2 { max-width: 18ch; margin-bottom: .45rem; color: white; font-size: clamp(1.8rem,3vw,2.7rem); }
.sandher-consent__panel .botanical-label { color: #d8cbb5; }
.sandher-consent__text { max-width: 72ch; margin-bottom: .7rem; }
.sandher-consent__links { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.25rem; font-size: .88rem; }
.sandher-consent__links a { color: white; }
.sandher-consent__close { position: absolute; top: .8rem; right: .9rem; display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: transparent; color: white; font-size: 1.65rem; line-height: 1; cursor: pointer; }
.sandher-consent__actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.sandher-consent__button { min-height: 48px; padding: .7rem 1rem; border: 1px solid rgba(255,255,255,.48); border-radius: 8px; background: transparent; color: white; font-weight: 700; cursor: pointer; }
.sandher-consent__button:hover { background: rgba(255,255,255,.1); }
.sandher-consent__button--primary { background: var(--color-paper); color: var(--color-forest-dark); }
.sandher-consent__button--primary:hover { background: var(--color-sage); }
.sandher-consent__preferences { display: grid; gap: .65rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.18); }
.sandher-consent__preferences label { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.sandher-consent__preferences label span, .sandher-consent__preferences label strong, .sandher-consent__preferences label small { display: block; }
.sandher-consent__preferences label small { margin-top: .15rem; color: rgba(255,255,255,.68); }
.sandher-consent__preferences input { width: 1.25rem; height: 1.25rem; accent-color: var(--color-earth); }
.sandher-consent-reopen { position: fixed; z-index: 9999; bottom: 1rem; left: 1rem; min-height: 40px; padding: .55rem .85rem; border: 1px solid var(--color-line); border-radius: 999px; background: var(--color-paper); color: var(--color-forest-dark); box-shadow: var(--shadow-soft); font-size: .78rem; font-weight: 700; cursor: pointer; }

@media (max-width: 680px) {
  .sandher-consent { padding: .55rem; }
  .sandher-consent__panel { max-height: calc(100svh - 1.1rem); overflow-y: auto; padding: 1.25rem; }
  .sandher-consent__panel h2 { padding-right: 2.5rem; font-size: 1.75rem; }
  .sandher-consent__text { font-size: .9rem; line-height: 1.5; }
  .sandher-consent__actions { grid-template-columns: 1fr; }
  .sandher-consent__button { width: 100%; }
  .sandher-consent__close { top: .65rem; right: .65rem; }
}

/* Sandher botanical art direction — 2026 */
:root {
  --color-forest: #294838;
  --color-forest-dark: #20372a;
  --color-leaf: #737c66;
  --color-sage: #d8ddcf;
  --color-sage-light: #e8eadf;
  --color-ivory: #f1ebdf;
  --color-paper: #f8f4eb;
  --color-earth: #916b58;
  --color-ink: #233027;
  --color-muted: #606a62;
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
}

body {
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.55), transparent 28%),
    var(--color-ivory);
}

.botanical-label {
  margin: 0 0 .8rem;
  color: var(--color-earth);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.botanical-label--light { color: rgba(255,255,255,.68); }

.botanical-portal {
  display: grid;
  min-height: calc(100svh - 92px);
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  color: var(--color-forest-dark);
}

.portal-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .45fr);
  align-items: end;
  gap: 3rem;
  padding-block: clamp(1.25rem, 2.5vw, 2.4rem);
}

.portal-heading h1 {
  margin: 0;
  color: var(--color-forest-dark);
  font-size: clamp(4.6rem, 8vw, 8.8rem);
  letter-spacing: -.07em;
  line-height: .76;
}

.portal-heading h1 em {
  color: var(--color-earth);
  font-weight: 400;
}

.portal-introduction {
  max-width: 31rem;
  margin: 0 0 .15rem;
  color: var(--color-muted);
  font-family: var(--font-display);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  line-height: 1.5;
}

.portal-entrances {
  display: grid;
  min-height: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.portal-entrances--1 { grid-template-columns: minmax(0, 1fr); }
.portal-entrances--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.portal-entrance {
  position: relative;
  min-height: max(380px, calc(100svh - 310px));
  overflow: hidden;
  color: white;
  isolation: isolate;
}

.portal-entrance + .portal-entrance { border-left: 1px solid rgba(255,255,255,.28); }

.portal-photo {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.68) contrast(.92);
  transition: filter 1.4s var(--motion-ease), transform 1.85s var(--motion-ease);
}

.portal-photo--empty {
  display: block;
  background: linear-gradient(145deg, #677969, #263e30);
}

.portal-entrance:nth-child(2) .portal-photo { object-position: 62% center; }

.portal-wash {
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(0deg, rgba(15,31,21,.94) 0%, rgba(24,45,31,.34) 58%, rgba(24,45,31,.08) 100%),
    linear-gradient(105deg, rgba(144,101,78,.18), transparent 55%);
}

.portal-entrance:hover .portal-photo,
.portal-entrance:focus-visible .portal-photo {
  filter: saturate(.9) contrast(1);
  transform: scale(1.035);
}

.portal-number {
  position: absolute;
  z-index: 3;
  top: 1.4rem;
  left: 1.5rem;
  font-family: var(--font-display);
  font-size: 1rem;
  letter-spacing: .08em;
}

.portal-number::after {
  display: inline-block;
  width: clamp(2rem, 4vw, 5rem);
  height: 1px;
  margin: 0 0 .3rem .8rem;
  background: rgba(255,255,255,.56);
  content: "";
}

.portal-copy {
  position: absolute;
  z-index: 3;
  right: clamp(1.1rem, 2.4vw, 2.5rem);
  bottom: clamp(1.4rem, 3vw, 3rem);
  left: clamp(1.1rem, 2.4vw, 2.5rem);
}

.portal-copy small {
  display: block;
  margin: 0 0 .8rem;
  color: rgba(255,255,255,.68);
  font-size: .65rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.portal-copy strong {
  display: block;
  max-width: 9ch;
  color: white;
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 4vw, 5.2rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .84;
}

.portal-copy i {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.35rem;
  padding-top: .8rem;
  border-top: 1px solid rgba(255,255,255,.36);
  color: rgba(255,255,255,.78);
  font-family: var(--font-display);
  font-size: .9rem;
}

.botanical-manifesto {
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 22%, rgba(145,107,88,.06) 0 1px, transparent 1.5px) 0 0 / 8px 8px,
    #f8f4eb;
}

.manifesto-layout {
  position: relative;
  display: grid;
  min-height: 32rem;
  grid-template-columns: minmax(9rem,.35fr) minmax(0,1.1fr) minmax(18rem,.55fr);
  align-items: center;
  gap: clamp(2rem,6vw,7rem);
}

.manifesto-number {
  display: flex;
  align-items: flex-end;
  gap: .7rem;
  margin: 0;
  color: rgba(32,55,42,.18);
  font-family: var(--font-display);
  font-size: clamp(6rem,12vw,13rem);
  line-height: .7;
}

.manifesto-number small {
  max-width: 5rem;
  padding-bottom: .6rem;
  color: var(--color-earth);
  font-family: var(--font-sans);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.manifesto-layout h2 {
  position: relative;
  z-index: 2;
  margin: 0;
  font-size: clamp(3.5rem,6.3vw,7.2rem);
  letter-spacing: -.055em;
  line-height: .88;
}

.manifesto-layout h2 em,
.featured-herbarium-section .section-heading h2 em {
  color: var(--color-earth);
  font-weight: 400;
}

.manifesto-copy {
  position: relative;
  z-index: 2;
  margin: 0;
  padding-left: 1.5rem;
  border-left: 1px solid rgba(32,55,42,.26);
  color: var(--color-muted);
}

.manifesto-botanical {
  position: absolute;
  z-index: 1;
  right: 23%;
  bottom: -48%;
  width: min(29rem,35vw);
  height: auto;
  opacity: .13;
  filter: sepia(.4);
  transform: rotate(10deg);
}

.home-editorial-content { position: relative; }
.home-story-section { position: relative; background: #d8ddcf; }
.home-story-grid { display: grid; grid-template-columns: minmax(18rem,.62fr) minmax(0,1.38fr); align-items: center; gap: clamp(3rem,8vw,9rem); }
.home-story-copy h2 { margin: 0; color: var(--color-forest-dark); font-family: var(--font-display); font-size: clamp(3.1rem,5.4vw,6rem); font-weight: 500; letter-spacing: -.045em; line-height: .92; }
.home-story-copy > p:not(.botanical-label):not(.home-story-signature) { margin: 1.75rem 0 1.25rem; color: var(--color-muted); font-size: 1.05rem; line-height: 1.75; }
.home-story-points { display: grid; gap: .85rem; margin: 0 0 1.8rem; padding: 0; list-style: none; counter-reset: story-point; }
.home-story-points li { position: relative; padding: .8rem 0 .8rem 2.75rem; border-top: 1px solid rgba(32,55,42,.18); color: var(--color-forest-dark); line-height: 1.55; counter-increment: story-point; }
.home-story-points li::before { content: counter(story-point,decimal-leading-zero); position: absolute; top: .82rem; left: 0; color: var(--color-earth); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.home-story-signature { margin: 0 0 1.6rem; padding-top: .2rem; color: var(--color-forest-dark); }
.home-story-signature span { display: inline-block; font-family: var(--font-display); font-size: clamp(1.55rem,2.4vw,2.15rem); font-style: italic; line-height: 1; transform: rotate(-2deg); }
.home-story-images { position: relative; min-height: 720px; }
.home-story-images > figure { position: absolute; margin: 0; overflow: hidden; }
.home-story-images > figure:first-child { inset: 0 19% 8% 0; clip-path: polygon(1.5% 0,100% 1%,98% 98%,0 100%); }
.home-story-images > figure:last-child { right: 0; bottom: 0; width: 43%; height: 49%; border: .8rem solid #d8ddcf; clip-path: polygon(2% 1%,100% 0,98% 100%,0 97%); }
.home-story-images figure img { width: 100%; height: 100%; object-fit: cover; }
.home-story-images figcaption { position: absolute; z-index: 2; right: 0; bottom: 0; padding: .55rem .8rem; background: rgba(246,241,231,.9); color: var(--color-forest-dark); font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.featured-herbarium-section { background: linear-gradient(90deg, transparent 49.92%, rgba(32,55,42,.08) 50%, transparent 50.08%); }
.featured-herbarium { align-items: start; gap: clamp(1rem,3vw,3rem); }
.featured-herbarium .herbarium-entry:nth-child(2) { margin-top: 5.5rem; }
.featured-herbarium .herbarium-entry:nth-child(3) { margin-top: 2rem; }
.herbarium-entry { position: relative; }
.herbarium-entry .plant-card { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.herbarium-entry .plant-card__media { clip-path: polygon(1% 0,100% .8%,98.8% 100%,0 99%); box-shadow: 0 20px 55px rgba(32,55,42,.1); }
.herbarium-entry .plant-card__body { padding: 1.2rem 0 0; border-bottom: 1px solid rgba(32,55,42,.22); }

.specimen-index {
  position: absolute;
  z-index: 3;
  top: .8rem;
  left: .8rem;
  padding: .4rem .55rem;
  background: rgba(248,244,235,.9);
  color: var(--color-forest-dark);
  font-family: var(--font-display);
  font-size: .72rem;
}

.home-contact-section {
  position: relative;
  overflow: hidden;
  padding-block: clamp(5rem,9vw,8rem);
  background: #805d4e;
  color: white;
}

.home-contact-section::after {
  position: absolute;
  right: -3rem;
  bottom: -9rem;
  width: min(38vw,36rem);
  aspect-ratio: 2/3;
  background: none;
  content: "";
  opacity: .14;
  filter: grayscale(1) brightness(2);
}

.home-contact-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
}

.home-contact-inner h2 {
  margin: 0;
  color: white;
  font-size: clamp(3.1rem,5.4vw,6rem);
}

/* The same visual language reaches archives, pages and plant records. */
.macro-card,
.plant-card,
.content-card,
.partner-card {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.macro-card__media,
.plant-card__media,
.content-card > a {
  clip-path: polygon(1% 0,100% 1%,98.5% 100%,0 99%);
}

.macro-card__body,
.plant-card__body,
.content-card > div { padding-inline: 0; }

.page-hero { position: relative; isolation: isolate; }

.page-hero::before {
  position: absolute;
  z-index: -1;
  right: 6vw;
  bottom: -19rem;
  width: min(34rem,38vw);
  aspect-ratio: 2/3;
  background: none;
  content: "";
  opacity: .09;
  transform: rotate(8deg);
}

.plant-detail__hero { border-radius: 0; }

.plant-detail__intro {
  background: rgba(216,221,207,.88);
}

.production-card {
  border-top: 1px solid var(--color-line);
  border-radius: 0;
  background: transparent;
}

.section-split__media {
  border-radius: 0;
  clip-path: polygon(1% 0,100% 1%,98.5% 100%,0 99%);
}

.cta { border-radius: 0; }

@keyframes sandher-breathe {
  0%,100% { transform: rotate(-.3deg) translateY(0); }
  50% { transform: rotate(.5deg) translateY(-.5rem); }
}

@media (max-width: 1024px) {
  .botanical-portal { min-height: calc(100svh - 78px); }
  .portal-heading { grid-template-columns: minmax(0,1fr) minmax(16rem,.45fr); }
  .portal-heading h1 { font-size: clamp(4rem,9vw,7rem); }
  .portal-copy strong { font-size: clamp(2rem,4.2vw,3.8rem); }
  .manifesto-layout { grid-template-columns: .3fr 1fr .55fr; gap: 2.5rem; }
}

@media (max-width: 768px) {
  .botanical-portal { min-height: max(calc(100svh - 78px),680px); grid-template-rows: auto minmax(0,1fr); }
  .portal-heading { grid-template-columns: 1fr; gap: .55rem; padding-block: .85rem 1rem; }
  .portal-heading .botanical-label { margin-bottom: .35rem; }
  .portal-heading h1 { font-size: clamp(3.1rem,12vw,5.4rem); line-height: .8; }
  .portal-introduction { max-width: 38rem; font-family: var(--font-sans); font-size: .79rem; line-height: 1.45; }
  .portal-entrances { grid-template-columns: 1fr; grid-template-rows: repeat(3,minmax(9.5rem,1fr)); }
  .portal-entrances--1 { grid-template-rows: minmax(9.5rem,1fr); }
  .portal-entrances--2 { grid-template-rows: repeat(2,minmax(9.5rem,1fr)); }
  .portal-entrance { min-height: 0; }
  .portal-entrance + .portal-entrance { border-top: 1px solid rgba(255,255,255,.3); border-left: 0; }
  .portal-number { top: .75rem; left: .85rem; font-size: .72rem; }
  .portal-copy { right: .9rem; bottom: .85rem; left: .9rem; }
  .portal-copy small { max-width: 62%; margin-bottom: .35rem; font-size: .55rem; }
  .portal-copy strong { max-width: 58%; font-size: clamp(1.8rem,6.5vw,2.7rem); line-height: .88; }
  .portal-copy i { position: absolute; right: 0; bottom: 0; width: min(37%,11rem); margin: 0; padding-top: .45rem; font-size: .72rem; }
  .manifesto-layout { min-height: 0; grid-template-columns: 1fr; gap: 2rem; }
  .manifesto-number { font-size: 7rem; }
  .manifesto-copy { max-width: 33rem; }
  .manifesto-botanical { right: -5rem; bottom: -18rem; width: 24rem; }
  .home-story-grid { grid-template-columns: 1fr; }
  .home-story-images { min-height: 530px; }
  .featured-herbarium .herbarium-entry:nth-child(2),
  .featured-herbarium .herbarium-entry:nth-child(3) { margin-top: 0; }
  .home-contact-inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 430px) {
  .botanical-portal { min-height: max(calc(100svh - 78px),650px); }
  .portal-heading h1 { font-size: clamp(2.75rem,13vw,3.8rem); }
  .portal-heading .botanical-label { font-size: .56rem; }
  .portal-introduction { font-size: .72rem; }
  .portal-entrances { grid-template-rows: repeat(3,minmax(9rem,1fr)); }
  .portal-entrances--1 { grid-template-rows: minmax(9rem,1fr); }
  .portal-entrances--2 { grid-template-rows: repeat(2,minmax(9rem,1fr)); }
  .manifesto-layout h2 { font-size: clamp(3.15rem,15vw,4.7rem); }
  .home-story-images { min-height: 430px; }
  .home-story-images > figure:first-child { inset: 0 10% 15% 0; }
  .home-story-images > figure:last-child { width: 48%; height: 44%; }
}

/* Sandher editorial system — second revision */
.sandher-botanical-icon {
  display: block;
  width: 2.8rem;
  height: 2.8rem;
  overflow: visible;
  color: inherit;
  flex: 0 0 auto;
}

.portal-botanical,
.portal-entrance::after { display: none !important; }

.portal-copy .portal-icon {
  width: clamp(2.2rem,3.5vw,3.5rem);
  height: clamp(2.2rem,3.5vw,3.5rem);
  margin: 0 0 clamp(.8rem,2vw,1.4rem);
  color: rgba(255,255,255,.78);
  transition: color 1s var(--motion-ease), transform 1.2s var(--motion-ease);
}

.portal-entrance:hover .portal-icon,
.portal-entrance:focus-visible .portal-icon {
  color: white;
  transform: translateY(-.25rem) rotate(-2deg);
}

.manifesto-botanical {
  right: 18%;
  bottom: -22%;
  width: min(25rem,31vw);
  color: var(--color-forest);
  filter: none;
  transform: rotate(7deg);
}

.manifesto-icon { width: 100%; height: auto; }
.home-contact-section::after,
.page-hero::before { display: none; }
.plant-detail__intro { background: rgba(216,221,207,.88); }

.sandher-annotation {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: 1.4rem;
  color: var(--color-earth);
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.sandher-annotation::before {
  width: 2.5rem;
  height: 1px;
  background: currentColor;
  content: "";
}

.sandher-caption {
  position: relative;
  display: block;
  margin-top: .65rem;
  padding-left: 1.5rem;
  color: var(--color-muted);
  font-family: var(--font-display);
  font-size: .78rem;
  line-height: 1.35;
}

.sandher-caption::before {
  position: absolute;
  top: .62em;
  left: 0;
  width: 1rem;
  height: 1px;
  background: var(--color-earth);
  content: "";
}

.sandher-editorial-image { position: relative; margin: 0; }
.sandher-editorial-image > img { width: 100%; height: 100%; object-fit: cover; }

.sandher-page-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(4rem,8vw,8rem) clamp(3rem,7vw,7rem);
  background: var(--color-ivory);
}

.sandher-page-hero--compact { min-height: min(560px,72svh); display: grid; align-items: center; }
.sandher-page-hero__heading { position: relative; z-index: 2; }
.sandher-page-hero__heading h1 { max-width: 12ch; margin-bottom: .25em; font-size: clamp(4rem,9vw,9rem); letter-spacing: -.065em; line-height: .82; }
.sandher-page-hero__lead { max-width: 58ch; color: var(--color-muted); font-family: var(--font-display); font-size: clamp(1.15rem,2vw,1.55rem); line-height: 1.55; }
.sandher-page-hero__visual { position: relative; margin-top: clamp(2rem,5vw,4.5rem); }
.sandher-page-hero__image { height: min(68svh,760px); clip-path: polygon(1% 0,100% 1.5%,98.5% 99%,0 97.5%); }
.sandher-page-hero__image .sandher-caption { position: absolute; right: 1rem; bottom: 1rem; margin: 0; padding: .5rem .7rem; background: rgba(248,244,235,.92); color: var(--color-forest-dark); }
.sandher-page-hero__image .sandher-caption::before { display: none; }
.sandher-page-hero__mark { display: flex; align-items: center; gap: 1rem; max-width: 20rem; margin-top: 2.5rem; color: var(--color-forest); font-family: var(--font-display); font-size: .92rem; }
.sandher-page-hero__mark-icon { width: 3.5rem; height: 3.5rem; }

.sandher-page-hero__date {
  position: absolute;
  right: clamp(1rem,5vw,5rem);
  bottom: clamp(-2.5rem,-3vw,-1rem);
  display: grid;
  width: clamp(12rem,22vw,18rem);
  min-height: 12rem;
  align-content: center;
  padding: 2rem;
  background: var(--color-forest-dark);
  color: white;
  transform: rotate(1.5deg);
}

.sandher-page-hero__date strong { font-family: var(--font-display); font-size: clamp(2.2rem,4vw,4.2rem); font-weight: 400; line-height: .9; }
.sandher-page-hero__date span { margin-top: .7rem; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.sandher-page-hero__icon { width: 3rem; height: 3rem; margin-bottom: 1.2rem; color: var(--color-sage); }

.sandher-section-intro h2 { max-width: 12ch; margin-bottom: .65em; font-size: clamp(3rem,5.8vw,6.5rem); letter-spacing: -.055em; line-height: .9; }
.sandher-section-intro--wide { display: grid; grid-template-columns: minmax(0,.9fr) minmax(18rem,.55fr); align-items: end; gap: 2rem 6rem; margin-bottom: clamp(3rem,7vw,6rem); }
.sandher-section-intro--wide .sandher-annotation { grid-column: 1/-1; }
.sandher-section-intro--wide h2 { margin: 0; }
.sandher-section-intro--wide .prose { align-self: end; }

.about-story__grid { display: grid; grid-template-columns: minmax(19rem,.8fr) minmax(0,1.2fr); align-items: center; gap: clamp(3rem,9vw,10rem); }
.about-story .prose { color: var(--color-muted); }
.sandher-image-pair { position: relative; min-height: 700px; }
.sandher-image-pair__primary { position: absolute; inset: 0 13% 8% 0; clip-path: polygon(1% 0,100% 2%,98% 100%,0 98%); }
.sandher-image-pair__note { position: absolute; right: 0; bottom: 0; display: grid; width: 42%; min-height: 35%; align-content: center; padding: 1.6rem; border: .75rem solid var(--color-ivory); background: var(--color-sage); color: var(--color-forest-dark); font-family: var(--font-display); transform: rotate(-1.5deg); }
.sandher-image-pair__icon { width: 4rem; height: 4rem; margin-bottom: 1rem; color: var(--color-earth); }

.sandher-quote { position: relative; overflow: hidden; padding-block: clamp(6rem,12vw,12rem); background: var(--color-forest-dark); color: white; }
.sandher-quote__inner { position: relative; display: grid; grid-template-columns: minmax(6rem,.25fr) minmax(0,1.4fr) minmax(16rem,.5fr); align-items: end; gap: 3rem; }
.sandher-quote blockquote { margin: 0; }
.sandher-quote blockquote p { max-width: 11ch; margin: 0; color: white; font-family: var(--font-display); font-size: clamp(4rem,8vw,9rem); line-height: .84; letter-spacing: -.06em; }
.sandher-quote__inner > p { margin: 0; color: rgba(255,255,255,.7); }
.sandher-quote__icon { width: clamp(5rem,9vw,9rem); height: auto; color: var(--color-sage); opacity: .7; }

.sandher-process { position: relative; max-width: 1040px; margin: 0 auto; padding: 0; list-style: none; counter-reset: process; }
.sandher-process::before { position: absolute; top: 2rem; bottom: 2rem; left: 6rem; width: 1px; background: color-mix(in srgb,var(--color-forest) 24%,transparent); content: ""; }
.sandher-process__step { position: relative; display: grid; grid-template-columns: 8rem minmax(0,1fr) minmax(0,.72fr); align-items: center; gap: clamp(1.5rem,5vw,5rem); min-height: 15rem; padding-block: 2.6rem; border-bottom: 1px solid var(--color-line); }
.sandher-process__marker { position: relative; z-index: 1; display: grid; justify-items: center; gap: .55rem; color: var(--color-forest); }
.sandher-process__marker span { padding: .2rem .45rem; background: var(--color-ivory); color: var(--color-earth); font-size: .66rem; letter-spacing: .12em; }
.section--sage .sandher-process__marker span { background: var(--color-sage); }
.sandher-process__icon { width: 4rem; height: 4rem; }
.sandher-process__copy h3 { margin: 0 0 .45rem; font-size: clamp(1.8rem,3vw,2.8rem); }
.sandher-process__copy p { max-width: 56ch; margin: 0; color: var(--color-muted); }
.sandher-process__image { height: 15rem; transform: rotate(.8deg); }
.sandher-process__image img { clip-path: polygon(1% 0,100% 2%,98% 100%,0 98%); }
.sandher-process__step:not(:has(.sandher-process__image)) .sandher-process__copy { grid-column: 2/4; }
.sandher-process-notes { max-width: 860px; margin: 5rem auto 0; padding-block: 1.3rem; border-block: 1px solid var(--color-line); }
.sandher-process-notes summary { color: var(--color-forest); font-weight: 750; cursor: pointer; }
.sandher-process-notes .prose { margin-top: 2rem; color: var(--color-muted); }

.sandher-page-hero--turf { padding-bottom: 0; }
.turf-hero-mark { position: absolute; right: 5%; top: -2.5rem; display: grid; width: 12rem; min-height: 12rem; place-content: center; padding: 1.4rem; background: var(--color-paper); color: var(--color-forest); font-family: var(--font-display); transform: rotate(2deg); box-shadow: 0 15px 50px rgba(33,60,45,.12); }
.turf-hero-mark__icon { width: 4rem; height: 4rem; margin-bottom: .8rem; }
.turf-overview__grid { display: grid; grid-template-columns: minmax(18rem,.55fr) minmax(0,1.45fr); gap: clamp(3rem,8vw,8rem); }
.turf-overview__grid h2 { max-width: 11ch; font-size: clamp(2.8rem,5vw,5.4rem); line-height: .92; }
.turf-overview__icon { width: 5rem; height: 5rem; margin-top: 2rem; color: var(--color-earth); }
.turf-overview__text { max-width: none; color: var(--color-muted); column-count: 2; column-gap: clamp(2rem,5vw,5rem); }
.turf-overview__text > * { break-inside: avoid; }
.turf-stats { padding-block: clamp(5rem,9vw,9rem); background: var(--color-forest-dark); color: white; }
.turf-stats__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: rgba(255,255,255,.18); }
.sandher-stat { position: relative; display: grid; grid-template-columns: auto 1fr; align-items: end; gap: .5rem 1.5rem; padding: clamp(2rem,6vw,5rem); background: var(--color-forest-dark); }
.sandher-stat__icon { grid-row: 1/3; width: clamp(4rem,8vw,7rem); height: auto; color: var(--color-sage); opacity: .65; }
.sandher-stat strong { color: white; font-family: var(--font-display); font-size: clamp(3rem,6vw,7rem); font-weight: 400; letter-spacing: -.05em; line-height: .85; }
.sandher-stat span { color: rgba(255,255,255,.65); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.turf-soil__grid { display: grid; grid-template-columns: minmax(17rem,.65fr) minmax(0,1.35fr); align-items: center; gap: clamp(3rem,9vw,10rem); }
.turf-soil__icon { width: 5rem; height: 5rem; margin-bottom: 2rem; color: var(--color-earth); }
.turf-soil__image { height: min(70svh,700px); clip-path: polygon(2% 0,100% 2%,98% 98%,0 100%); }
.turf-process { background: var(--color-sage); }
.turf-rustico__grid { display: grid; grid-template-columns: minmax(19rem,.75fr) minmax(0,1.25fr); align-items: center; gap: clamp(3rem,8vw,9rem); }
.turf-rustico__copy h2 { font-size: clamp(3rem,5.8vw,6.2rem); line-height: .88; letter-spacing: -.055em; }
.turf-rustico__data { margin: 2.5rem 0; }
.turf-rustico__data > div { position: relative; display: grid; grid-template-columns: 3rem minmax(8rem,.4fr) minmax(0,1fr); gap: 1rem; padding-block: 1.1rem; border-bottom: 1px solid var(--color-line); }
.turf-rustico__icon { width: 2.2rem; height: 2.2rem; color: var(--color-earth); }
.turf-rustico__data dt { color: var(--color-forest); font-weight: 750; }
.turf-rustico__data dd { margin: 0; color: var(--color-muted); }
.turf-rustico__image { height: min(76svh,760px); clip-path: polygon(1% 1%,100% 0,98% 100%,0 98%); }
.turf-types { background: var(--color-ivory); }
.turf-types__heading { align-items: end; }
.turf-types__heading > p { max-width: 38rem; color: var(--color-muted); }
.turf-types__grid { display: grid; gap: clamp(3rem,7vw,7rem); }
.turf-type-card { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(19rem,.82fr); align-items: center; gap: clamp(2rem,6vw,6rem); }
.turf-type-card--reverse { grid-template-columns: minmax(19rem,.82fr) minmax(0,1.18fr); }
.turf-type-card--reverse .turf-type-card__media { order: 2; }
.turf-type-card__media { position: relative; display: block; min-height: min(58svh,620px); overflow: hidden; background: var(--color-sage); text-decoration: none; }
.turf-type-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.55s var(--motion-ease); }
.turf-type-card__media:hover img { transform: scale(1.025); }
.turf-type-card__media .sandher-caption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; z-index: 1; width: fit-content; max-width: calc(100% - 2rem); padding: .55rem .75rem; background: rgba(244,241,230,.88); color: var(--color-forest); backdrop-filter: blur(8px); }
.turf-type-card__copy h3 { margin: .7rem 0 1.2rem; font-size: clamp(2.7rem,4.5vw,5rem); line-height: .95; }
.turf-type-card__copy h3 a { color: inherit; text-decoration: none; }
.turf-type-card__copy .text-link { margin-top: 1.2rem; }
.turf-detail .plant-detail__media figure { position: relative; width: 100%; height: 100%; margin: 0; }
.turf-detail .plant-detail__media .sandher-caption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; width: fit-content; padding: .55rem .75rem; background: rgba(244,241,230,.88); color: var(--color-forest); }

.contact-editorial__grid { display: grid; grid-template-columns: minmax(18rem,.65fr) minmax(0,1.35fr); align-items: center; gap: clamp(3rem,9vw,10rem); }
.contact-details h2 { font-size: clamp(2.6rem,5vw,5rem); }
.contact-details__address { display: flex; gap: 1.2rem; margin: 2rem 0; font-style: normal; color: var(--color-muted); }
.contact-details__list { margin: 0; padding: 0; list-style: none; }
.contact-details__list li { display: flex; align-items: center; gap: 1.2rem; padding-block: 1rem; border-bottom: 1px solid var(--color-line); }
.contact-details__icon { width: 2.2rem; height: 2.2rem; color: var(--color-earth); }
.contact-details__list small { display: block; color: var(--color-muted); font-size: .65rem; letter-spacing: .13em; text-transform: uppercase; }
.contact-details__list a { color: var(--color-forest-dark); font-family: var(--font-display); font-size: 1.15rem; text-decoration: none; }
.contact-editorial__image { height: min(70svh,680px); clip-path: polygon(1% 0,100% 2%,98% 100%,0 98%); }
.sandher-map { position: relative; min-height: 630px; background: var(--color-sage); }
.sandher-map iframe { display: block; width: 100%; height: 630px; border: 0; filter: saturate(.65) sepia(.12) contrast(.95); }
.sandher-map__action { position: absolute; right: 0; bottom: 2rem; left: 0; display: flex; justify-content: flex-end; pointer-events: none; }
.sandher-map__action a { pointer-events: auto; box-shadow: 0 12px 35px rgba(20,40,28,.24); }

.partners-editorial { max-width: 1120px; }
.partner-editorial { display: grid; grid-template-columns: 5rem minmax(0,.75fr) minmax(18rem,1fr); align-items: center; gap: clamp(1.5rem,5vw,5rem); padding-block: clamp(3rem,6vw,6rem); border-bottom: 1px solid var(--color-line); }
.partner-editorial:nth-child(even) .partner-editorial__media { order: 3; }
.partner-editorial__index { align-self: start; display: grid; gap: 1rem; color: var(--color-earth); font-size: .7rem; letter-spacing: .12em; }
.partner-editorial__icon { width: 3.2rem; height: 3.2rem; }
.partner-editorial__media { margin: 0; min-height: 280px; }
.partner-editorial__media img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; clip-path: polygon(1% 0,100% 2%,98% 100%,0 98%); }
.partner-editorial__copy h2 { font-size: clamp(2.2rem,4vw,4.5rem); }
.partners-empty { max-width: 690px; margin: 0 auto; text-align: center; }
.partners-empty__icon { width: 7rem; height: 7rem; margin: 0 auto 2rem; color: var(--color-earth); }

.sandher-category-hero__grid { display: grid; grid-template-columns: minmax(18rem,.7fr) minmax(0,1.3fr); align-items: center; gap: clamp(3rem,8vw,8rem); }
.sandher-category-hero__image { height: min(65svh,650px); transform: rotate(.6deg); }
.catalog-filter { display: grid; min-width: min(21rem,32vw); gap: .3rem; }
.catalog-filter > span { display: flex; align-items: center; gap: .45rem; color: var(--color-muted); font-size: .62rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.catalog-filter__icon { width: 1.15rem; height: 1.15rem; color: var(--color-earth); }
.catalog-downloads__icon { width: 1.6rem; height: 1.6rem; color: var(--color-earth); }
.catalog-toolbar__inner { min-height: 112px; }

.plant-specs--illustrated > div { grid-template-columns: 3rem minmax(130px,.4fr) minmax(0,1fr); }
.plant-specs__icon { width: 2rem; height: 2rem; color: var(--color-earth); }
.production-card__icon { width: 2.7rem; height: 2.7rem; margin-bottom: 1rem; color: var(--color-earth); }

.submenu-toggle { position: absolute; top: .5rem; right: -.8rem; display: grid; width: 1.8rem; height: 1.8rem; place-items: center; padding: 0; border: 0; background: transparent; color: var(--color-forest); cursor: pointer; }
.submenu-toggle > span[aria-hidden] { transition: transform .78s var(--motion-ease); }
.menu-item-has-children.is-submenu-open > .submenu-toggle > span[aria-hidden] { transform: rotate(180deg); }
.primary-navigation li.is-submenu-open > .sub-menu { display: block; }

.has-sandher-motion.is-ready [data-reveal] {
  transition-delay: calc(var(--reveal-order,0) * 120ms);
  transition-timing-function: var(--motion-ease);
}

/* Snapshot transitions are intentionally disabled: large photographs made them uneven on some devices. */
@view-transition { navigation: none; }

@media (max-width: 1024px) {
  .submenu-toggle { top: .7rem; right: .25rem; width: 2.4rem; height: 2.4rem; }
  .primary-navigation .menu-item-has-children > a { padding-right: 3rem; }
  .primary-navigation .sub-menu { display: block; max-height: 0; overflow: hidden; padding-block: 0; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-5px); transition: max-height .92s var(--motion-ease), padding .78s var(--motion-ease), opacity .68s var(--motion-ease), transform .82s var(--motion-ease), visibility 0s linear .92s; }
  .primary-navigation .menu-item-has-children:not(.is-submenu-open) > .sub-menu { max-height: 0; padding-block: 0; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-6px); }
  .primary-navigation .is-submenu-open > .sub-menu { max-height: 32rem; padding-block: .35rem; opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
  .sandher-page-hero__heading h1 { font-size: clamp(3.8rem,10vw,7.5rem); }
  .sandher-section-intro--wide { gap: 2rem 4rem; }
  .about-story__grid, .turf-soil__grid, .turf-rustico__grid, .contact-editorial__grid { gap: 3.5rem; }
  .sandher-image-pair { min-height: 570px; }
  .sandher-process__step { grid-template-columns: 7rem minmax(0,1fr) minmax(0,.6fr); }
  .sandher-process::before { left: 5rem; }
  .partner-editorial { grid-template-columns: 4rem minmax(0,.7fr) minmax(16rem,1fr); }
}

@media (max-width: 768px) {
  @view-transition { navigation: none; }
  .has-sandher-motion.is-ready [data-reveal] { transform: translate3d(0,5px,0); transition-duration: 1.15s, 1.3s; transition-delay: calc(var(--reveal-order,0) * 90ms); }
  .sandher-page-hero { padding-block: 3.2rem 4rem; }
  .sandher-page-hero__heading h1 { font-size: clamp(3.2rem,16vw,5.5rem); line-height: .86; }
  .sandher-page-hero__visual { width: 100%; }
  .sandher-page-hero__image { height: min(58svh,520px); }
  .sandher-page-hero__date { position: relative; right: auto; bottom: auto; width: min(80%,16rem); min-height: 10rem; margin: -3rem 0 0 auto; }
  .about-story__grid, .turf-overview__grid, .turf-soil__grid, .turf-rustico__grid, .turf-type-card, .turf-type-card--reverse, .contact-editorial__grid, .sandher-category-hero__grid { grid-template-columns: 1fr; }
	.turf-type-card--reverse .turf-type-card__media { order: 0; }
	.turf-type-card__media { min-height: min(55svh,500px); }
  .turf-overview__text { column-count: 1; }
  .sandher-section-intro--wide { grid-template-columns: 1fr; gap: 1rem; }
  .sandher-section-intro--wide .sandher-annotation { grid-column: auto; }
  .sandher-image-pair { min-height: 520px; }
  .sandher-quote__inner { grid-template-columns: 1fr; align-items: start; gap: 2rem; }
  .sandher-quote blockquote p { font-size: clamp(3.7rem,16vw,6.5rem); }
  .sandher-quote__icon { width: 5rem; }
  .sandher-process::before { left: 2.3rem; }
  .sandher-process__step { grid-template-columns: 4.6rem minmax(0,1fr); gap: 1.2rem; min-height: 0; }
  .sandher-process__marker { align-self: start; }
  .sandher-process__icon { width: 3rem; height: 3rem; }
  .sandher-process__copy { grid-column: 2; }
  .sandher-process__step:not(:has(.sandher-process__image)) .sandher-process__copy { grid-column: 2; }
  .sandher-process__image { grid-column: 2; height: 13rem; }
  .turf-hero-mark { top: -1.5rem; right: 1rem; width: 9rem; min-height: 9rem; font-size: .78rem; }
  .turf-hero-mark__icon { width: 3rem; height: 3rem; }
  .turf-stats__grid { grid-template-columns: 1fr; }
  .sandher-stat { padding: 2.3rem 1rem; }
  .turf-soil__image, .turf-rustico__image, .contact-editorial__image { height: min(58svh,520px); }
  .turf-rustico__data > div { grid-template-columns: 2.5rem 1fr; }
  .turf-rustico__data dd { grid-column: 2; }
  .partner-editorial { grid-template-columns: 3rem minmax(0,1fr); gap: 1.2rem; }
  .partner-editorial__media, .partner-editorial:nth-child(even) .partner-editorial__media { grid-column: 2; order: initial; }
  .partner-editorial__copy { grid-column: 2; }
  .sandher-category-hero__image { height: min(56svh,500px); }
  .catalog-filter { min-width: 0; }
  .catalog-downloads { justify-content: flex-start; }
  .catalog-downloads span { width: auto; }
  .plant-specs--illustrated > div { grid-template-columns: 2.7rem 1fr; }
  .plant-specs--illustrated dd { grid-column: 2; }
  .sandher-map, .sandher-map iframe { min-height: 520px; height: 520px; }
  .sandher-map__action { justify-content: stretch; bottom: 1rem; }
  .sandher-map__action .button { width: 100%; }
}

@media (max-width: 430px) {
  .sandher-page-hero__heading h1 { font-size: clamp(2.9rem,17vw,4.5rem); }
  .sandher-image-pair { min-height: 430px; }
  .sandher-image-pair__primary { inset: 0 7% 10% 0; }
  .sandher-image-pair__note { width: 54%; min-height: 31%; padding: 1rem; border-width: .45rem; }
  .sandher-image-pair__icon { width: 3rem; height: 3rem; }
  .sandher-process::before { left: 1.8rem; }
  .sandher-process__step { grid-template-columns: 3.7rem minmax(0,1fr); }
  .sandher-process__marker span { font-size: .58rem; }
  .sandher-process__icon { width: 2.5rem; height: 2.5rem; }
  .sandher-stat { grid-template-columns: 3.5rem 1fr; }
  .sandher-stat__icon { width: 3.5rem; }
  .sandher-stat strong { font-size: clamp(2.6rem,13vw,4.2rem); }
}

@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
}

/* Sandher mature refinement — coherent system, same botanical identity */
:root {
  --color-forest: #315b43;
  --color-forest-dark: #203d2e;
  --color-leaf: #6f8b72;
  --color-sage: #dce5d8;
  --color-sage-light: #edf2e9;
  --color-ivory: #f7f3e9;
  --color-paper: #fffdf8;
  --color-earth: #947054;
  --color-ink: #243229;
  --color-muted: #647068;
  --color-line: rgba(49,91,67,.17);
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --shadow-soft: 0 14px 38px rgba(31,55,41,.09);
  --shadow-hover: 0 18px 46px rgba(31,55,41,.13);
  --section-space: clamp(4.5rem,7vw,7rem);
  --transition-ui: 680ms var(--motion-ease);
}

body { background: var(--color-ivory); font-size: 16.5px; }
h1 { font-size: clamp(2.8rem,5.5vw,5.3rem); line-height: .98; letter-spacing: -.04em; }
h2 { font-size: clamp(2.15rem,3.9vw,4rem); line-height: 1; letter-spacing: -.032em; }
h3 { font-size: clamp(1.35rem,2vw,1.85rem); }
.section { padding-block: var(--section-space); }
.prose { max-width: 72ch; }
.lead, .hero__lead, .page-hero__lead, .sandher-page-hero__lead { font-size: clamp(1.05rem,1.5vw,1.28rem); line-height: 1.6; }
.button { min-height: 46px; padding: .72rem 1.18rem; border-radius: 8px; transition: transform var(--transition-ui), background var(--transition-ui), box-shadow var(--transition-ui); }
.button:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(32,61,46,.16); }
input, textarea, select { border-radius: 8px; }

.site-header__inner { min-height: 86px; }
.site-brand__logo { width: min(var(--sandher-header-logo-desktop,178px),100%); max-height: 68px; }
.primary-navigation a { font-size: .9rem; letter-spacing: .01em; }
.primary-navigation > ul > li > a { position: relative; }
.primary-navigation > ul > li > a::after { position: absolute; right: 0; bottom: .35rem; left: 0; height: 1px; background: var(--color-earth); content: ""; transform: scaleX(0); transform-origin: right; transition: transform var(--transition-ui); }
.primary-navigation > ul > li:hover > a::after,
.primary-navigation > ul > .current-menu-item > a::after,
.primary-navigation > ul > .current-menu-ancestor > a::after { transform: scaleX(1); transform-origin: left; }

/* The opening remains a full-width production portal, not a row of standard cards. */
.botanical-portal { min-height: calc(100svh - 86px); grid-template-rows: auto minmax(31rem,1fr); }
.portal-heading { grid-template-columns: minmax(0,1fr) minmax(18rem,.48fr); gap: clamp(2rem,5vw,5rem); padding-block: clamp(1.8rem,3vw,3rem); }
.portal-heading h1 { max-width: 11ch; font-size: clamp(3.7rem,6vw,6.6rem); line-height: .91; letter-spacing: -.052em; }
.portal-introduction { max-width: 34rem; font-family: var(--font-sans); font-size: clamp(.98rem,1.25vw,1.14rem); line-height: 1.65; }
.portal-entrance { min-height: max(31rem,calc(100svh - 325px)); }
.portal-photo { filter: saturate(.78) contrast(.96); }
.portal-wash { background: linear-gradient(0deg,rgba(17,37,25,.9) 0%,rgba(24,45,31,.32) 58%,rgba(24,45,31,.04) 100%); }
.portal-copy { bottom: clamp(1.5rem,2.8vw,2.8rem); }
.portal-copy .portal-icon { width: clamp(2rem,2.8vw,2.75rem); height: clamp(2rem,2.8vw,2.75rem); margin-bottom: 1rem; }
.portal-entrance:hover .portal-icon,
.portal-entrance:focus-visible .portal-icon { transform: translateY(-2px); }
.portal-copy small { margin-bottom: .65rem; font-size: .62rem; letter-spacing: .13em; }
.portal-copy strong { max-width: 10ch; font-size: clamp(2.25rem,3.2vw,3.8rem); line-height: .96; letter-spacing: -.04em; }
.portal-copy i { margin-top: 1rem; }

.manifesto-layout { min-height: 27rem; grid-template-columns: minmax(8rem,.28fr) minmax(0,1fr) minmax(17rem,.52fr); gap: clamp(2rem,5vw,5.5rem); }
.manifesto-number { font-size: clamp(5.2rem,9vw,9.2rem); line-height: .78; }
.manifesto-layout h2 { font-size: clamp(2.9rem,4.8vw,5.2rem); line-height: .96; letter-spacing: -.04em; }
.manifesto-botanical { right: 22%; bottom: -23%; width: min(20rem,26vw); transform: none; opacity: .08; }
.home-story-grid { gap: clamp(3rem,7vw,7rem); }
.home-story-copy h2,
.home-contact-inner h2 { font-size: clamp(2.7rem,4.5vw,4.8rem); line-height: .98; }
.home-story-images { min-height: 620px; }
.home-story-images > figure:first-child { inset: 0 15% 8% 0; clip-path: none; border-radius: var(--radius-md); }
.home-story-images > figure:last-child { width: 39%; height: 43%; border-width: .65rem; clip-path: none; border-radius: var(--radius-md); }
.featured-herbarium { gap: clamp(1.25rem,2.4vw,2rem); }
.featured-herbarium .herbarium-entry:nth-child(2),
.featured-herbarium .herbarium-entry:nth-child(3) { margin-top: 0; }
.herbarium-entry .plant-card,
.plant-card,
.macro-card,
.content-card,
.partner-card { overflow: hidden; border: 1px solid rgba(49,91,67,.11); border-radius: var(--radius-md); background: var(--color-paper); box-shadow: 0 9px 26px rgba(35,56,42,.065); }
.herbarium-entry .plant-card__media,
.macro-card__media,
.plant-card__media,
.content-card > a { clip-path: none; box-shadow: none; }
.herbarium-entry .plant-card__body,
.macro-card__body,
.plant-card__body,
.content-card > div { padding: 1.35rem; }
.herbarium-entry .plant-card__body { border-bottom: 0; }
.plant-card { grid-template-rows: clamp(14rem,22vw,18rem) 1fr; transition: transform var(--transition-ui), box-shadow var(--transition-ui), border-color var(--transition-ui); }
.has-card-motion .plant-card:hover { transform: translateY(-4px); border-color: rgba(49,91,67,.22); box-shadow: var(--shadow-hover); }
.has-card-motion .plant-card:hover img { transform: scale(1.025); }
.plant-card h2 { font-size: clamp(1.45rem,2vw,1.8rem); line-height: 1.08; }
.plant-card__body .text-link { display: inline-flex; margin-top: .35rem; }
.home-contact-section { padding-block: clamp(4.5rem,7vw,6.5rem); background: #805f50; }

/* Interior pages keep their editorial character with quieter proportions. */
.sandher-page-hero { padding-block: clamp(3.8rem,6vw,6rem) clamp(3.2rem,5vw,5.5rem); }
.sandher-page-hero--compact { min-height: min(430px,58svh); }
.sandher-page-hero__heading h1 { max-width: 13ch; font-size: clamp(3.1rem,6.2vw,6.2rem); line-height: .94; letter-spacing: -.048em; }
.sandher-page-hero__visual { margin-top: clamp(2rem,4vw,3.5rem); }
.sandher-page-hero__image { height: min(58svh,650px); clip-path: none; overflow: hidden; border-radius: var(--radius-lg); }
.sandher-page-hero__date { right: clamp(1rem,4vw,4rem); bottom: -2rem; width: clamp(11rem,18vw,15rem); min-height: 10rem; padding: 1.5rem; border-radius: var(--radius-md); transform: none; box-shadow: var(--shadow-soft); }
.sandher-page-hero__date strong { font-size: clamp(2rem,3.3vw,3.3rem); }
.sandher-section-intro h2 { max-width: 13ch; font-size: clamp(2.6rem,4.5vw,4.8rem); line-height: .98; letter-spacing: -.04em; }
.sandher-section-intro--wide { gap: 1.8rem 4.5rem; margin-bottom: clamp(2.8rem,5vw,4.5rem); }
.about-story__grid { gap: clamp(3rem,7vw,7rem); }
.sandher-image-pair { min-height: 610px; }
.sandher-image-pair__primary { inset: 0 11% 7% 0; clip-path: none; overflow: hidden; border-radius: var(--radius-lg); }
.sandher-image-pair__note { width: 38%; min-height: 30%; border-width: .6rem; border-radius: var(--radius-md); transform: none; }
.sandher-quote { padding-block: clamp(4.5rem,7vw,7rem); }
.sandher-quote__inner { grid-template-columns: minmax(4.5rem,.18fr) minmax(0,1.2fr) minmax(16rem,.55fr); gap: clamp(2rem,4vw,4rem); }
.sandher-quote blockquote p { max-width: 13ch; font-size: clamp(3rem,5.5vw,5.8rem); line-height: .94; letter-spacing: -.045em; }
.sandher-process::before { left: 4.75rem; }
.sandher-process__step { grid-template-columns: 6.5rem minmax(0,1fr) minmax(0,.65fr); min-height: 0; gap: clamp(1.5rem,4vw,4rem); padding-block: 2rem; }
.sandher-process__icon { width: 3.35rem; height: 3.35rem; }
.sandher-process__copy h3 { font-size: clamp(1.55rem,2.4vw,2.25rem); }
.sandher-process__image { height: 13rem; transform: none; overflow: hidden; border-radius: var(--radius-md); }
.sandher-process__image img { clip-path: none; }

.turf-hero-mark { top: -1.8rem; width: 10rem; min-height: 10rem; border: 1px solid var(--color-line); border-radius: var(--radius-md); transform: none; box-shadow: var(--shadow-soft); }
.turf-overview__grid { gap: clamp(3rem,6vw,6rem); }
.turf-overview__grid h2,
.turf-rustico__copy h2 { font-size: clamp(2.6rem,4.4vw,4.6rem); line-height: .98; letter-spacing: -.04em; }
.turf-overview__text { column-gap: 3rem; }
.turf-stats { padding-block: clamp(3.5rem,6vw,5.5rem); }
.sandher-stat { padding: clamp(2rem,4vw,3.5rem); }
.sandher-stat strong { font-size: clamp(3rem,5vw,5.2rem); line-height: .92; }
.turf-soil__grid,
.turf-rustico__grid { gap: clamp(3rem,7vw,7rem); }
.turf-soil__image,
.turf-rustico__image,
.contact-editorial__image { height: min(62svh,620px); clip-path: none; overflow: hidden; border-radius: var(--radius-lg); }

.contact-editorial__grid { gap: clamp(3rem,7vw,7rem); }
.contact-page--no-hero .contact-editorial { padding-top: clamp(2rem,4vw,4rem); }
.contact-details h2 { font-size: clamp(2.4rem,4vw,4.1rem); }
.contact-details__list address { font-style: normal; }
.contact-details__action-button .button { width: auto; color: white; font-family: var(--font-sans); font-size: .9rem; }
.sandher-map, .sandher-map iframe { min-height: 560px; height: 560px; }
.partner-groups { display: grid; gap: clamp(2.5rem,5vw,4.5rem); }
.partner-group { display: grid; gap: clamp(1.75rem,3vw,2.75rem); }
.partner-group__heading { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(260px,.7fr); align-items: end; gap: clamp(1.5rem,4vw,4rem); }
.partner-group__heading .botanical-label { margin: 0 0 .7rem; }
.partner-group__heading h2 { max-width: 760px; margin: 0; color: var(--color-forest-dark); font-size: clamp(2.4rem,4.7vw,4.7rem); line-height: .96; letter-spacing: -.045em; }
.partner-group__heading > p { max-width: 420px; margin: 0; color: var(--color-muted); font-size: clamp(1rem,1.4vw,1.16rem); line-height: 1.65; }
.partner-groups__divider { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; color: var(--color-earth); }
.partner-groups__divider span { height: 1px; background: var(--color-line); }
.partner-groups__divider i { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid var(--color-line); border-radius: 50%; background: var(--color-ivory); font-style: normal; font-size: .8rem; }
.partner-card-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: clamp(1.25rem,2.5vw,2rem); }
.partner-card-grid .partner-card { display: grid; grid-template-rows: minmax(210px,auto) 1fr; padding: 0; text-align: left; }
.partner-card__media { display: grid; min-height: 210px; margin: 0; place-items: center; padding: clamp(1.5rem,3vw,2.5rem); background: white; border-bottom: 1px solid var(--color-line); }
.partner-card__media a { display: grid; width: 100%; height: 100%; place-items: center; }
.partner-card-grid .partner-card__media img { width: auto; max-width: 100%; height: auto; max-height: 170px; margin: 0; object-fit: contain; }
.partner-card__copy { padding: clamp(1.4rem,3vw,2rem); }
.partner-card__copy h2, .partner-card__copy h3 { margin: 0 0 1rem; font-size: clamp(1.7rem,2.5vw,2.4rem); }
.partner-card__copy .prose { color: var(--color-muted); }
.partner-card__copy .text-link { display: inline-block; margin-top: 1.25rem; }
.sandher-category-hero__image { height: min(58svh,590px); transform: none; overflow: hidden; border-radius: var(--radius-lg); }

/* Catalogue and records are primarily consultation tools. */
.catalog-toolbar { top: 86px; box-shadow: 0 8px 24px rgba(32,61,46,.045); }
.catalog-toolbar__inner { min-height: 92px; }
.catalog-filter { min-width: min(19rem,30vw); }
.catalog-filter input, .catalog-filter select { min-height: 46px; }
.catalog-downloads { white-space: nowrap; }
.plant-detail { padding-top: 1.5rem; }
.plant-detail__hero { min-height: 560px; border: 1px solid var(--color-line); border-radius: var(--radius-lg); }
.plant-detail__intro { padding: clamp(2rem,4.2vw,4rem); background: var(--color-sage); }
.plant-detail__intro h1 { font-size: clamp(2.7rem,4.6vw,4.8rem); line-height: .98; letter-spacing: -.04em; }
.plant-detail__data { gap: clamp(2.5rem,6vw,6rem); }
.plant-specs--illustrated > div { grid-template-columns: 2.6rem minmax(125px,.38fr) minmax(0,1fr); gap: 1.25rem; padding-block: 1.15rem; }
.plant-specs__icon { width: 1.8rem; height: 1.8rem; }
.production-card { padding: 1.6rem; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-sage-light); }
.section-split__media { clip-path: none; border-radius: var(--radius-lg); }
.cta { border-radius: var(--radius-lg); }

@media (max-width: 720px) {
  .partner-groups { gap: 2.5rem; }
  .partner-group__heading { grid-template-columns: 1fr; align-items: start; gap: 1rem; }
  .partner-group__heading h2 { font-size: clamp(2.25rem,11vw,3.5rem); }
  .partner-groups__divider { gap: .75rem; }
  .partner-groups__divider i { width: 2.1rem; height: 2.1rem; }
}

@media (max-width: 1024px) {
  .botanical-portal { min-height: calc(100svh - 78px); }
  .portal-heading h1 { font-size: clamp(3.6rem,7vw,5.7rem); }
  .sandher-page-hero__heading h1 { font-size: clamp(3.2rem,7.5vw,5.6rem); }
  .catalog-toolbar { top: 78px; }
}

@media (max-width: 768px) {
  .section { padding-block: clamp(3.8rem,12vw,5rem); }
  .botanical-portal { min-height: max(calc(100svh - 78px),760px); grid-template-rows: auto minmax(0,1fr); }
  .portal-heading { grid-template-columns: 1fr; gap: .65rem; padding-block: 1.2rem 1.35rem; }
  .portal-heading h1 { font-size: clamp(3rem,11vw,4.5rem); line-height: .92; }
  .portal-introduction { font-size: .85rem; line-height: 1.5; }
  .portal-entrances { grid-template-columns: 1fr; grid-template-rows: repeat(3,minmax(11rem,1fr)); }
  .portal-entrance { min-height: 0; }
  .portal-copy .portal-icon { width: 1.85rem; height: 1.85rem; margin-bottom: .45rem; }
  .portal-copy strong { font-size: clamp(1.8rem,7vw,2.45rem); line-height: .98; }
  .portal-copy small { max-width: 68%; }
  .manifesto-layout { grid-template-columns: 1fr; min-height: 0; gap: 1.5rem; }
  .manifesto-number { font-size: 5.8rem; }
  .manifesto-layout h2 { font-size: clamp(2.7rem,10vw,4rem); }
  .home-story-images { min-height: 480px; }
  .sandher-page-hero { padding-block: 3rem 3.8rem; }
  .sandher-page-hero__heading h1 { font-size: clamp(2.9rem,12vw,4.5rem); line-height: .96; }
  .sandher-page-hero__image { height: min(53svh,500px); }
  .sandher-page-hero__date { width: min(76%,14rem); min-height: 8.5rem; margin-top: -2rem; }
  .sandher-section-intro h2 { font-size: clamp(2.5rem,10vw,3.9rem); }
  .sandher-image-pair { min-height: 470px; }
  .sandher-quote__inner { grid-template-columns: 1fr; gap: 1.5rem; }
  .sandher-quote blockquote p { font-size: clamp(2.8rem,11vw,4.5rem); }
  .sandher-process::before { left: 2.15rem; }
  .sandher-process__step { grid-template-columns: 4.3rem minmax(0,1fr); padding-block: 1.65rem; }
  .turf-overview__text { column-count: 1; }
  .turf-soil__image, .turf-rustico__image, .contact-editorial__image { height: min(53svh,500px); }
  .partner-editorial { grid-template-columns: 2.6rem minmax(0,1fr); }
  .catalog-toolbar { position: relative; top: 0; box-shadow: none; }
  .plant-detail__hero { min-height: 0; }
  .plant-detail__intro h1 { font-size: clamp(2.5rem,10vw,3.8rem); }
  .plant-specs--illustrated > div { grid-template-columns: 2.4rem 1fr; gap: .35rem .9rem; }
  .plant-specs--illustrated dd { grid-column: 2; }
  .sandher-map, .sandher-map iframe { min-height: 480px; height: 480px; }
}

@media (max-width: 430px) {
  .portal-heading h1 { font-size: clamp(2.75rem,12.5vw,3.6rem); }
  .portal-entrances { grid-template-rows: repeat(3,minmax(10.5rem,1fr)); }
  .portal-copy small { font-size: .52rem; }
  .portal-copy i { width: min(38%,10rem); }
  .home-story-images { min-height: 400px; }
  .sandher-image-pair { min-height: 400px; }
  .button { width: 100%; }
  .site-brand__logo { width: min(var(--sandher-header-logo-mobile,145px),100%); }
  .site-footer__logo { width: min(var(--sandher-footer-logo-mobile,145px),100%); }
}

/* Footer 1.6.4 — minimal, compact and information-first */
.site-footer { position: relative; padding: 0; background: #1d3529; color: rgba(255,255,255,.68); }
.site-footer::before { position: absolute; inset: 0 0 auto; height: 1px; background: rgba(255,255,255,.18); content: ""; }
.site-footer a { color: rgba(255,255,255,.9); text-decoration-color: rgba(255,255,255,.25); transition: color var(--transition-ui),text-decoration-color var(--transition-ui),transform var(--transition-ui); }
.site-footer a:hover { color: white; text-decoration-color: currentColor; }
.site-footer__masthead { display: flex; min-height: 112px; align-items: center; gap: clamp(1.5rem,4vw,4rem); padding-block: 1.8rem; border-bottom: 1px solid rgba(255,255,255,.11); }
.site-footer__identity { display: flex; flex: 0 0 auto; align-items: center; }
.site-footer__brand { display: inline-flex; align-items: center; text-decoration: none; }
.site-footer__logo { width: min(var(--sandher-footer-logo-desktop,180px),100%); max-height: 64px; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); }
.site-footer__brand .site-title { color: white; font-size: clamp(1.8rem,2.5vw,2.5rem); letter-spacing: -.035em; }
.site-footer__statement { max-width: 31rem; margin: 0 auto 0 0; color: rgba(255,255,255,.72); font-family: var(--font-sans); font-size: .92rem; line-height: 1.55; }
.site-footer__cta { display: inline-flex; min-height: 42px; flex: 0 0 auto; align-items: center; gap: 1rem; padding: .55rem .9rem; border: 1px solid rgba(255,255,255,.24); font-size: .78rem; font-weight: 700; text-decoration: none; }
.site-footer__cta span:last-child { color: rgba(255,255,255,.55); font-size: 1rem; transition: transform var(--transition-ui); }
.site-footer__cta:hover span:last-child { transform: translate(.15rem,-.15rem); }
.site-footer__grid { display: grid; grid-template-columns: minmax(18rem,1.35fr) minmax(11rem,.7fr) minmax(11rem,.7fr); gap: clamp(2rem,7vw,6rem); align-items: start; padding-block: clamp(2.2rem,4vw,3.2rem); }
.site-footer__column { min-width: 0; }
.site-footer__heading { margin: 0 0 1rem; color: rgba(255,255,255,.42); font-family: var(--font-sans); font-size: .62rem; font-weight: 750; letter-spacing: .17em; line-height: 1.4; text-transform: uppercase; }
.site-footer address { max-width: 32rem; font-style: normal; }
.site-footer__contacts { display: grid; justify-items: start; gap: .42rem; }
.site-footer__contacts > * { display: block; margin: 0; }
.site-footer__contacts > *:not(:last-child)::after { display: none; content: none; }
.site-footer__company { margin-bottom: .15rem; color: white; font-size: .78rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.site-footer__contacts > span { max-width: 31rem; color: rgba(255,255,255,.72); font-family: var(--font-sans); font-size: .92rem; line-height: 1.55; }
.site-footer__contacts a { font-size: .88rem; text-underline-offset: .22em; }
.site-footer ul { display: grid; gap: .42rem; margin: 0; padding: 0; list-style: none; }
.site-footer__navigation a,.site-footer__information a { display: inline-flex; align-items: center; min-height: 25px; font-size: .84rem; text-decoration: none; }
.site-footer__socials { margin-top: 1rem !important; padding-top: .85rem !important; border-top: 1px solid rgba(255,255,255,.1); }
.site-footer__socials a span { color: rgba(255,255,255,.35); }
.site-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: .75rem 2rem; margin-top: 0; padding-block: 1rem 1.1rem; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.4); font-size: .65rem; letter-spacing: .03em; }

@media (max-width: 900px) {
  .site-footer__masthead { flex-wrap: wrap; }
  .site-footer__statement { order: 3; width: 100%; max-width: 38rem; }
  .site-footer__grid { grid-template-columns: minmax(15rem,1.15fr) repeat(2,minmax(9rem,.7fr)); gap: 2.25rem; }
}

@media (max-width: 700px) {
  .site-footer__masthead { display: grid; grid-template-columns: minmax(0,1fr) auto; min-height: 0; align-items: center; gap: 1.2rem; padding-block: 2rem 1.7rem; }
  .site-footer__statement { grid-column: 1 / -1; order: initial; width: auto; }
  .site-footer__cta { justify-self: end; }
  .site-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem 1.5rem; padding-block: 2.2rem; }
  .site-footer__column--contacts { grid-column: 1 / -1; padding-bottom: 1.8rem; border-bottom: 1px solid rgba(255,255,255,.1); }
  .site-footer__bottom { display: grid; justify-items: start; gap: .35rem; }
}

@media (max-width: 430px) {
  .site-footer__masthead { grid-template-columns: 1fr; }
  .site-footer__cta { justify-self: start; }
  .site-footer__logo { width: min(var(--sandher-footer-logo-mobile,145px),100%); max-height: 58px; }
  .site-footer__navigation a,.site-footer__information a { font-size: .8rem; }
}

/* Homepage portal 1.7.1 — a softer, more spacious first impression */
.site-header {
  background: rgba(247,243,233,.9);
  border-bottom-color: rgba(49,91,67,.07);
  -webkit-backdrop-filter: blur(18px) saturate(.9);
  backdrop-filter: blur(18px) saturate(.9);
}

.site-header.is-scrolled {
  border-color: rgba(49,91,67,.11);
  box-shadow: 0 10px 34px rgba(32,61,46,.055);
}

.botanical-portal {
  min-height: 0;
  grid-template-rows: auto auto;
  gap: clamp(1rem,2vw,1.8rem);
  overflow: visible;
  padding-bottom: clamp(1.8rem,4vw,3.8rem);
  background:
    radial-gradient(circle at 14% 2%,rgba(255,255,255,.76),transparent 31rem),
    linear-gradient(180deg,#fbf8f0 0%,var(--color-ivory) 100%);
}

.portal-heading {
  grid-template-columns: minmax(0,1fr) minmax(18rem,.42fr);
  align-items: center;
  gap: clamp(2rem,5vw,5.5rem);
  padding-block: clamp(2.4rem,4.6vw,4.5rem) clamp(.8rem,1.5vw,1.4rem);
}

.portal-heading h1 {
  max-width: 11ch;
  font-size: clamp(3.45rem,5.25vw,5.75rem);
  line-height: .96;
  letter-spacing: -.048em;
}

.portal-heading h1 em { color: #9a765d; }

.portal-introduction {
  position: relative;
  max-width: 29rem;
  margin: 0;
  padding-left: clamp(1rem,2vw,1.65rem);
  border-left: 1px solid rgba(49,91,67,.18);
  color: #6d776f;
  font-size: clamp(.94rem,1.08vw,1.04rem);
  font-weight: 400;
  line-height: 1.7;
}

.portal-entrances--soft {
  width: min(calc(100% - 64px),1580px);
  margin-inline: auto;
  gap: clamp(.7rem,1vw,1rem);
  overflow: visible;
}

.portal-entrances--soft .portal-entrance {
  min-height: clamp(29rem,43vw,39rem);
  overflow: hidden;
  border: 1px solid rgba(49,91,67,.11);
  border-radius: clamp(20px,1.7vw,28px);
  background: #bac6b8;
  box-shadow: 0 16px 48px rgba(29,53,40,.09);
  transform: translateZ(0);
  transition:
    border-color 1s ease,
    box-shadow 1.3s var(--motion-ease),
    transform 1.3s var(--motion-ease);
}

.portal-entrances--soft .portal-entrance + .portal-entrance {
  border-top: 1px solid rgba(49,91,67,.11);
  border-left: 1px solid rgba(49,91,67,.11);
}

.portal-entrances--soft .portal-photo {
  filter: saturate(.7) contrast(.91) brightness(1.02);
  transition:
    filter 1.8s ease,
    transform 2.35s var(--motion-ease);
}

.portal-entrances--soft .portal-wash {
  background:
    linear-gradient(180deg,rgba(248,242,230,.08) 0%,rgba(27,48,34,.06) 43%,rgba(16,34,23,.74) 100%),
    linear-gradient(110deg,rgba(145,107,88,.13),transparent 58%);
  transition: opacity 1.5s ease;
}

.portal-entrances--soft .portal-number {
  top: clamp(1rem,1.5vw,1.4rem);
  left: clamp(1rem,1.5vw,1.4rem);
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  padding: .25rem .72rem;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  background: rgba(24,45,31,.12);
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
  color: rgba(255,255,255,.9);
  font-family: var(--font-sans);
  font-size: .69rem;
  font-weight: 650;
  letter-spacing: .12em;
}

.portal-entrances--soft .portal-number::after { display: none; }

.portal-entrances--soft .portal-copy {
  right: clamp(1.35rem,2.2vw,2.35rem);
  bottom: clamp(1.4rem,2.3vw,2.4rem);
  left: clamp(1.35rem,2.2vw,2.35rem);
  transition: transform 1.35s var(--motion-ease);
}

.portal-entrances--soft .portal-copy .portal-icon {
  width: clamp(1.8rem,2.2vw,2.3rem);
  height: clamp(1.8rem,2.2vw,2.3rem);
  margin-bottom: .8rem;
  color: rgba(255,255,255,.72);
  transition: color 1.15s var(--motion-ease),transform 1.4s var(--motion-ease);
}

.portal-entrances--soft .portal-copy small {
  max-width: 26rem;
  margin-bottom: .55rem;
  color: rgba(255,255,255,.72);
  font-size: clamp(.67rem,.68vw,.75rem);
  font-weight: 550;
  letter-spacing: .045em;
  line-height: 1.5;
  text-transform: none;
}

.portal-entrances--soft .portal-copy strong {
  max-width: 10ch;
  font-size: clamp(2.25rem,2.9vw,3.35rem);
  font-weight: 450;
  line-height: 1;
  letter-spacing: -.038em;
}

.portal-entrances--soft .portal-copy i {
  margin-top: .9rem;
  padding-top: .7rem;
  border-top-color: rgba(255,255,255,.22);
  color: rgba(255,255,255,.7);
  font-size: .78rem;
}

.portal-entrances--soft .portal-entrance:hover,
.portal-entrances--soft .portal-entrance:focus-visible {
  border-color: rgba(49,91,67,.2);
  box-shadow: 0 24px 64px rgba(29,53,40,.14);
  transform: translateY(-4px);
}

.portal-entrances--soft .portal-entrance:hover .portal-photo,
.portal-entrances--soft .portal-entrance:focus-visible .portal-photo {
  filter: saturate(.82) contrast(.94) brightness(1.04);
  transform: scale(1.018);
}

.portal-entrances--soft .portal-entrance:hover .portal-wash,
.portal-entrances--soft .portal-entrance:focus-visible .portal-wash { opacity: .92; }

.portal-entrances--soft .portal-entrance:hover .portal-copy,
.portal-entrances--soft .portal-entrance:focus-visible .portal-copy { transform: translateY(-3px); }

.portal-entrances--soft .portal-entrance:hover .portal-icon,
.portal-entrances--soft .portal-entrance:focus-visible .portal-icon {
  color: rgba(255,255,255,.94);
  transform: translateY(-2px) rotate(-1deg);
}

@media (max-width: 1024px) {
  .botanical-portal { min-height: 0; }
  .portal-heading h1 { font-size: clamp(3.35rem,7vw,5.2rem); }
  .portal-entrances--soft { width: min(calc(100% - 40px),1580px); }
  .portal-entrances--soft .portal-entrance { min-height: clamp(25rem,51vw,34rem); }
  .portal-entrances--soft .portal-copy strong { font-size: clamp(2rem,3.7vw,3rem); }
}

@media (max-width: 768px) {
  .botanical-portal {
    min-height: 0;
    grid-template-rows: auto auto;
    gap: 1rem;
    padding-bottom: 2.2rem;
  }

  .portal-heading {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding-block: 1.7rem .8rem;
  }

  .portal-heading .botanical-label { margin-bottom: .45rem; }
  .portal-heading h1 { font-size: clamp(3rem,11vw,4.45rem); line-height: .98; }

  .portal-introduction {
    max-width: 34rem;
    padding: 0;
    border-left: 0;
    font-size: .88rem;
    line-height: 1.6;
  }

  .portal-entrances--soft {
    width: min(calc(100% - 28px),1580px);
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: .8rem;
  }

  .portal-entrances--soft .portal-entrance,
  .portal-entrances--soft.portal-entrances--1 .portal-entrance,
  .portal-entrances--soft.portal-entrances--2 .portal-entrance {
    min-height: clamp(14.5rem,60vw,18rem);
  }

  .portal-entrances--soft .portal-entrance + .portal-entrance {
    border-top: 1px solid rgba(49,91,67,.11);
    border-left: 1px solid rgba(49,91,67,.11);
  }

  .portal-entrances--soft .portal-copy {
    right: 1.25rem;
    bottom: 1.15rem;
    left: 1.25rem;
  }

  .portal-entrances--soft .portal-copy .portal-icon { width: 1.7rem; height: 1.7rem; margin-bottom: .45rem; }
  .portal-entrances--soft .portal-copy small { max-width: 62%; margin-bottom: .3rem; font-size: .65rem; }
  .portal-entrances--soft .portal-copy strong { max-width: 62%; font-size: clamp(1.9rem,7vw,2.5rem); }
  .portal-entrances--soft .portal-copy i { right: 0; width: min(37%,10rem); font-size: .69rem; }
}

@media (max-width: 430px) {
  .portal-heading h1 { font-size: clamp(2.8rem,12.5vw,3.65rem); }
  .portal-entrances--soft .portal-entrance { min-height: 14rem; border-radius: 18px; }
  .portal-entrances--soft .portal-copy small { font-size: .61rem; }
  .portal-entrances--soft .portal-copy i { width: min(36%,9rem); }
}

@media (prefers-reduced-motion: reduce) {
  .portal-entrances--soft .portal-entrance,
  .portal-entrances--soft .portal-photo,
  .portal-entrances--soft .portal-wash,
  .portal-entrances--soft .portal-copy,
  .portal-entrances--soft .portal-icon { transition: none; }
}

/* Homepage gateway 1.8.1 — immersive logo, editable tagline, three productions and wind-blown leaves */
body.sandher-home-gateway {
  min-height: 100svh;
  overflow-x: hidden;
  background: #f7f3e9;
}

body.sandher-home-gateway .site-main { min-height: 100svh; }

.home-gateway {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% -8%,rgba(255,255,255,.96),transparent 37rem),
    radial-gradient(circle at 7% 82%,rgba(111,139,114,.13),transparent 34rem),
    radial-gradient(circle at 94% 18%,rgba(148,112,84,.1),transparent 30rem),
    linear-gradient(150deg,#fbf9f2 0%,#f5f0e5 54%,#eef1e8 100%);
}

.home-gateway::before,
.home-gateway::after {
  position: absolute;
  z-index: 0;
  width: min(36rem,48vw);
  aspect-ratio: 1;
  border: 1px solid rgba(49,91,67,.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.home-gateway::before { top: -29%; left: -16%; }
.home-gateway::after { right: -18%; bottom: -35%; }

.home-gateway__leaves {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  contain: layout paint style;
  pointer-events: none;
}

.wind-leaf {
  position: absolute;
  top: var(--leaf-y);
  left: -12vw;
  display: block;
  width: var(--leaf-size);
  aspect-ratio: .68;
  border-radius: 100% 0 100% 0;
  background: currentColor;
  box-shadow: inset -2px 2px 0 rgba(255,255,255,.13);
  opacity: 0;
  transform: translate3d(-14vw,0,0) rotate(var(--leaf-rotation));
  transform-origin: 52% 78%;
  will-change: transform,opacity;
  animation: sandher-leaf-wind var(--leaf-duration) linear var(--leaf-delay) infinite;
}

.wind-leaf::after {
  position: absolute;
  top: 53%;
  left: 18%;
  width: 69%;
  height: 1px;
  background: rgba(255,255,255,.26);
  content: "";
  transform: rotate(-48deg);
  transform-origin: left center;
}

.wind-leaf--1 { color: #315b43; }
.wind-leaf--2 { color: #7a9278; }
.wind-leaf--3 { color: #a37c5f; }
.wind-leaf:nth-child(5n) { filter: blur(.55px); }
.wind-leaf:nth-child(7n) { border-radius: 100% 8% 92% 2%; }

@keyframes sandher-leaf-wind {
  0% {
    opacity: 0;
    transform: translate3d(-14vw,0,0) rotate(var(--leaf-rotation)) scale(.72);
  }
  8% { opacity: var(--leaf-opacity); }
  27% {
    transform: translate3d(28vw,var(--leaf-drift-a),0) rotate(calc(var(--leaf-rotation) + 125deg)) scale(.92);
  }
  53% {
    opacity: var(--leaf-opacity);
    transform: translate3d(65vw,var(--leaf-drift-b),0) rotate(calc(var(--leaf-rotation) + 270deg)) scale(1);
  }
  78% {
    transform: translate3d(101vw,var(--leaf-drift-a),0) rotate(calc(var(--leaf-rotation) + 405deg)) scale(.9);
  }
  92% { opacity: var(--leaf-opacity); }
  100% {
    opacity: 0;
    transform: translate3d(134vw,0,0) rotate(calc(var(--leaf-rotation) + 540deg)) scale(.68);
  }
}

.home-gateway__inner {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(calc(100% - 64px),1540px);
  min-height: 100svh;
  grid-template-rows: auto minmax(0,1fr);
  align-items: center;
  gap: clamp(1.7rem,3.2vw,3rem);
  margin-inline: auto;
  padding-block: clamp(1.8rem,3.3vw,3.2rem);
}

.home-gateway__masthead {
  position: relative;
  display: grid;
  width: 100%;
  min-height: clamp(5.3rem,8vw,7.4rem);
  place-items: center;
}

.home-gateway__brand {
  display: grid;
  min-height: clamp(4.8rem,8vw,7rem);
  align-content: center;
  gap: .55rem;
  place-items: center;
}

.home-gateway__name-lockup {
  display: flex;
  width: min(100%,50rem);
  align-items: center;
  justify-content: center;
  gap: clamp(.9rem,1.7vw,1.65rem);
}

.home-gateway__name-line {
  flex: 1 1 auto;
  width: clamp(3rem,7vw,8rem);
  max-width: clamp(4.5rem,8vw,9rem);
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(49,91,67,.34));
}

.home-gateway__name-line:last-child { background: linear-gradient(90deg,rgba(49,91,67,.34),transparent); }

.home-gateway__logo {
  display: block;
  width: clamp(14rem,21vw,21rem);
  max-width: 100%;
  max-height: clamp(5rem,8vw,7.5rem);
  margin: 0;
  object-fit: contain;
  object-position: center;
}

.home-gateway__brand .site-title {
  color: var(--color-forest-dark);
  font-size: clamp(2.6rem,5vw,4.8rem);
  letter-spacing: -.045em;
}

.home-gateway__tagline {
  display: flex;
  max-width: 42rem;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: .12em .34em;
  margin: 0;
  color: rgba(29,57,42,.84);
  font-family: var(--font-display);
  font-size: clamp(1.05rem,1.35vw,1.4rem);
  font-weight: 500;
  letter-spacing: .012em;
  line-height: 1.3;
  text-align: center;
}

.home-gateway__tagline em {
  color: var(--color-clay);
  font-size: 1.08em;
  font-weight: 500;
}

.home-gateway__badge {
  position: absolute;
  top: 50%;
  right: 0;
  display: grid;
  width: clamp(5.6rem,7vw,7rem);
  aspect-ratio: 1;
  place-content: center;
  justify-items: center;
  gap: .12rem;
  margin: 0;
  padding: .8rem;
  border: 1px solid rgba(49,91,67,.24);
  border-radius: 50%;
  background: rgba(250,248,241,.58);
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.3),0 10px 32px rgba(35,61,45,.055);
  color: var(--color-forest-dark);
  text-align: center;
  transform: translateY(-50%);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

.home-gateway__badge strong {
  color: inherit;
  font-family: var(--font-display);
  font-size: clamp(1.35rem,1.8vw,1.8rem);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: .95;
}

.home-gateway__badge span {
  max-width: 8ch;
  color: rgba(32,61,46,.68);
  font-size: clamp(.5rem,.58vw,.62rem);
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.25;
  text-transform: uppercase;
}

.botanical-portal--leaves {
  position: relative;
  isolation: isolate;
}

.botanical-portal--leaves .portal-heading,
.botanical-portal--leaves .portal-entrances {
  position: relative;
  z-index: 2;
}

.home-editorial__leaves {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  contain: layout paint style;
  pointer-events: none;
}

.portal-heading h1.portal-heading__brand {
  display: flex;
  min-height: clamp(4.6rem,7vw,6.7rem);
  max-width: none;
  align-items: center;
  margin: 0;
  line-height: 1;
}

.portal-heading__logo {
  display: block;
  width: clamp(14rem,20vw,20rem);
  max-width: 100%;
  max-height: clamp(4.8rem,7vw,6.8rem);
  object-fit: contain;
  object-position: left center;
}

.portal-heading__brand .site-title {
  color: var(--color-forest-dark);
  font-size: clamp(3.45rem,5.25vw,5.75rem);
  letter-spacing: -.048em;
}

.home-gateway__choices {
  display: grid;
  width: 100%;
  height: clamp(25rem,calc(100svh - 13rem),38rem);
  min-height: 25rem;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(.8rem,1.6vw,1.5rem);
  align-self: center;
}

.home-gateway__choices--1 {
  width: min(100%,31rem);
  grid-template-columns: 1fr;
  justify-self: center;
}

.home-gateway__choices--2 {
  width: min(100%,64rem);
  grid-template-columns: repeat(2,minmax(0,1fr));
  justify-self: center;
}

.home-gateway__choice {
  position: relative;
  min-width: 0;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: clamp(24px,2vw,34px);
  background: #80917e;
  color: white;
  box-shadow:
    0 24px 70px rgba(30,53,40,.14),
    0 2px 0 rgba(255,255,255,.52) inset;
  text-decoration: none;
  transform: translateZ(0);
  transition:
    border-color 1.1s ease,
    box-shadow 1.35s var(--motion-ease),
    transform 1.35s var(--motion-ease);
}

.home-gateway__choice::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg,rgba(255,255,255,.14),transparent 24%,transparent 78%,rgba(255,255,255,.05));
  content: "";
  pointer-events: none;
}

.home-gateway__choice-photo {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.76) contrast(.94) brightness(.96);
  transition: filter 1.9s var(--motion-ease),transform 2.55s var(--motion-ease);
}

.home-gateway__choice:nth-child(2) .home-gateway__choice-photo { object-position: 61% center; }

.home-gateway__choice-wash {
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(180deg,rgba(24,45,31,.03) 0%,rgba(20,41,28,.07) 34%,rgba(14,31,21,.82) 100%),
    linear-gradient(118deg,rgba(148,112,84,.13),transparent 58%);
  transition: opacity 1.4s ease;
}

.home-gateway__choice-number {
  position: absolute;
  z-index: 3;
  top: clamp(1rem,1.5vw,1.45rem);
  left: clamp(1rem,1.5vw,1.45rem);
  display: grid;
  min-width: 2.45rem;
  min-height: 2.45rem;
  place-items: center;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 50%;
  background: rgba(25,47,33,.12);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: rgba(255,255,255,.88);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .09em;
}

.home-gateway__choice-copy {
  position: absolute;
  z-index: 3;
  right: clamp(1.35rem,2.4vw,2.45rem);
  bottom: clamp(1.4rem,2.5vw,2.6rem);
  left: clamp(1.35rem,2.4vw,2.45rem);
  display: block;
  color: white;
  transition: transform 1.35s var(--motion-ease);
}

.home-gateway__choice-icon {
  width: clamp(1.8rem,2.3vw,2.45rem);
  height: clamp(1.8rem,2.3vw,2.45rem);
  margin-bottom: .9rem;
  color: rgba(255,255,255,.7);
  transition: color 1.1s var(--motion-ease),transform 1.35s var(--motion-ease);
}

.home-gateway__choice-copy strong {
  display: block;
  max-width: 10ch;
  color: white;
  font-family: var(--font-display);
  font-size: clamp(2.35rem,3.45vw,3.8rem);
  font-weight: 450;
  letter-spacing: -.045em;
  line-height: .97;
}

.home-gateway__choice-copy small {
  display: block;
  max-width: 28rem;
  margin-top: .7rem;
  color: rgba(255,255,255,.75);
  font-size: clamp(.68rem,.78vw,.78rem);
  font-weight: 500;
  letter-spacing: .025em;
  line-height: 1.5;
}

.home-gateway__choice-copy i {
  display: block;
  width: min(70%,15rem);
  margin-top: .85rem;
  padding-top: .65rem;
  border-top: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.64);
  font-family: var(--font-display);
  font-size: .78rem;
}

.home-gateway__choice-arrow {
  position: absolute;
  right: 0;
  bottom: 0;
  color: rgba(255,255,255,.78);
  font-size: 1rem;
  transition: transform 1.2s var(--motion-ease);
}

.home-gateway__choice:hover,
.home-gateway__choice:focus-visible {
  color: white;
  border-color: rgba(255,255,255,.92);
  box-shadow:
    0 32px 86px rgba(30,53,40,.2),
    0 2px 0 rgba(255,255,255,.62) inset;
  transform: translateY(-6px);
}

.home-gateway__choice:hover .home-gateway__choice-photo,
.home-gateway__choice:focus-visible .home-gateway__choice-photo {
  filter: saturate(.9) contrast(.96) brightness(1.01);
  transform: scale(1.022);
}

.home-gateway__choice:hover .home-gateway__choice-copy,
.home-gateway__choice:focus-visible .home-gateway__choice-copy { transform: translateY(-4px); }

.home-gateway__choice:hover .home-gateway__choice-icon,
.home-gateway__choice:focus-visible .home-gateway__choice-icon {
  color: white;
  transform: translateY(-2px) rotate(-2deg);
}

.home-gateway__choice:hover .home-gateway__choice-arrow,
.home-gateway__choice:focus-visible .home-gateway__choice-arrow { transform: translate(3px,-3px); }

@media (max-width: 1024px) {
  .home-gateway__inner { width: min(calc(100% - 40px),1540px); }
  .home-gateway__choices { height: clamp(25rem,calc(100svh - 12rem),34rem); }
  .home-gateway__choice-copy strong { font-size: clamp(2rem,4vw,3rem); }
}

@media (max-width: 760px) {
  .home-gateway { overflow: hidden; }

  .home-gateway__inner {
    display: block;
    width: min(calc(100% - 28px),1540px);
    min-height: 100svh;
    padding-block: 1.35rem 1.8rem;
  }

  .home-gateway__brand {
    min-height: 4.5rem;
    margin-bottom: 1.35rem;
  }

  .home-gateway__logo { width: clamp(12.5rem,58vw,16rem); max-height: 5.2rem; }

  .home-gateway__choices,
  .home-gateway__choices--1,
  .home-gateway__choices--2 {
    width: 100%;
    height: auto;
    min-height: 0;
    grid-template-columns: 1fr;
    gap: .85rem;
  }

  .home-gateway__choice { min-height: clamp(14.5rem,63vw,18rem); border-radius: 24px; }
  .home-gateway__choice-copy { right: 1.3rem; bottom: 1.2rem; left: 1.3rem; }
  .home-gateway__choice-icon { width: 1.75rem; height: 1.75rem; margin-bottom: .45rem; }
  .home-gateway__choice-copy strong { max-width: 65%; font-size: clamp(2rem,9vw,2.75rem); }
  .home-gateway__choice-copy small { max-width: 68%; margin-top: .35rem; font-size: .66rem; }
  .home-gateway__choice-copy i { position: absolute; right: 0; bottom: 0; width: min(34%,9rem); margin: 0; font-size: .68rem; }
  .home-gateway__choice-arrow { bottom: .1rem; }
  .home-gateway__leaves .wind-leaf:nth-child(n+19) { display: none; }
  .home-editorial__leaves .wind-leaf:nth-child(n+25) { display: none; }

  .portal-heading h1.portal-heading__brand { min-height: 4.5rem; }
  .portal-heading__logo {
    width: clamp(12.5rem,54vw,16rem);
    max-height: 5.2rem;
    object-position: left center;
  }
}

@media (max-width: 430px) {
  .home-gateway__inner { padding-top: 1rem; }
  .home-gateway__brand { margin-bottom: 1rem; }
  .home-gateway__logo { width: min(65vw,14rem); }
  .home-gateway__choice { min-height: 13.75rem; border-radius: 20px; }
  .home-gateway__choice-number { min-width: 2.15rem; min-height: 2.15rem; }
  .home-gateway__choice-copy strong { font-size: clamp(1.9rem,9.6vw,2.45rem); }
}

.no-sandher-motion .home-gateway__leaves,
.no-sandher-motion .home-editorial__leaves { display: none; }

@media (prefers-reduced-motion: reduce) {
  .home-gateway__leaves,
  .home-editorial__leaves { display: none; }
  .home-gateway__choice,
  .home-gateway__choice-photo,
  .home-gateway__choice-copy,
  .home-gateway__choice-icon,
  .home-gateway__choice-arrow { transition: none; }
}

/* Homepage and footer 1.9.0 — precise imagery, botanical background and compact information */
.home-gateway__choice-arrow,
.portal-arrow,
.site-footer__cta-icon {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}

.home-gateway__choice-arrow {
  font-size: inherit;
  stroke-width: 1.7;
}

.portal-copy i { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.portal-arrow { margin-left: auto; stroke-width: 1.7; }

.botanical-portal--bg-leaves,
.botanical-portal--bg-silhouette {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.botanical-portal--bg-leaves .portal-heading,
.botanical-portal--bg-leaves .portal-entrances,
.botanical-portal--bg-silhouette .portal-heading,
.botanical-portal--bg-silhouette .portal-entrances {
  position: relative;
  z-index: 2;
}

.home-has-botanical-background {
  position: relative;
  isolation: isolate;
}

.home-has-botanical-background > section {
  position: relative;
  z-index: auto;
}

.home-has-botanical-background > section > * {
  position: relative;
  z-index: 2;
}

.home-has-botanical-background > .home-gateway,
.home-has-botanical-background > .botanical-portal--bg-silhouette {
  isolation: auto;
}

.home-has-botanical-background .home-manifesto::before { z-index: 2; }

.home-plant-silhouette-wrap {
  position: fixed;
  z-index: 1;
  right: clamp(-17rem,-12vw,-7rem);
  bottom: -22vh;
  width: min(72vw,66rem);
  height: 141vh;
  opacity: var(--sandher-plant-opacity,.18);
  pointer-events: none;
  transform-origin: 64% 100%;
  animation: sandher-plant-sway 11.5s cubic-bezier(.45,.05,.55,.95) infinite alternate;
  will-change: transform;
}

.home-plant-silhouette-wrap--fixed { inset-block-start: auto; }

.home-plant-silhouette {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: right bottom;
  filter: saturate(.58) sepia(.08) contrast(.92);
  mix-blend-mode: multiply;
}

.sandher-plant-silhouette--base { opacity: .86; }

.sandher-plant-silhouette--crown {
  opacity: .34;
  transform-origin: 66% 69%;
  animation: sandher-branch-sway 7.25s cubic-bezier(.42,.02,.58,.98) infinite alternate;
  clip-path: polygon(0 0,100% 0,100% 75%,77% 72%,58% 67%,38% 62%,0 57%);
  -webkit-mask-image: linear-gradient(to bottom,#000 0%,#000 52%,rgba(0,0,0,.72) 65%,transparent 78%);
  mask-image: linear-gradient(to bottom,#000 0%,#000 52%,rgba(0,0,0,.72) 65%,transparent 78%);
  will-change: transform;
}

@keyframes sandher-plant-sway {
  from { transform: translate3d(.8%,.25%,0) rotate(-1.05deg); }
  to { transform: translate3d(-.7%,0,0) rotate(1.3deg); }
}

@keyframes sandher-branch-sway {
  from { transform: translate3d(.9%,.1%,0) rotate(-1.55deg) skewX(-.35deg); }
  to { transform: translate3d(-1.15%,-.2%,0) rotate(1.9deg) skewX(.45deg); }
}

.home-manifesto {
  position: relative;
  margin-top: clamp(1.25rem,3.5vw,3.5rem);
  border-top: .5rem solid rgba(49,91,67,.16);
  background:
    radial-gradient(circle at 90% 8%,rgba(255,255,255,.52),transparent 24rem),
    #e4eadf;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.76),0 -18px 48px rgba(37,66,49,.05);
}

.home-manifesto::before {
  position: absolute;
  top: -.5rem;
  left: 50%;
  width: min(10rem,28vw);
  height: .5rem;
  background: #315b43;
  content: "";
  transform: translateX(-50%);
}

.home-manifesto--dark {
  border-top-color: rgba(193,164,139,.42);
  background:
    radial-gradient(circle at 84% 16%,rgba(145,174,150,.15),transparent 29rem),
    radial-gradient(circle at 12% 82%,rgba(163,124,95,.12),transparent 28rem),
    linear-gradient(135deg,#183326 0%,#203e2f 56%,#162e23 100%);
  color: #f4f1e8;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08),0 -18px 48px rgba(25,52,38,.12);
}

.home-manifesto--dark::before { background: #b48a6b; }
.home-manifesto--dark .botanical-label,
.home-manifesto--dark .manifesto-number small { color: #d3b092; }
.home-manifesto--dark .manifesto-number { color: rgba(241,244,235,.14); }
.home-manifesto--dark .manifesto-layout h2 { color: #f5f2e9; }
.home-manifesto--dark .manifesto-layout h2 em { color: #d0a383; }
.home-manifesto--dark .manifesto-copy {
  border-left-color: rgba(240,244,235,.25);
  color: rgba(240,244,235,.72);
}
.home-manifesto--dark .manifesto-botanical {
  color: #dce7dc;
  opacity: .09;
  filter: none;
}

/* The footer now keeps only identity, direct contacts, legal links and social links. */
.site-footer__compact {
  display: grid;
  min-height: 0;
  grid-template-columns: auto minmax(16rem,1fr) auto;
  align-items: center;
  gap: clamp(1.4rem,4vw,4rem);
  padding-block: clamp(1.35rem,2.5vw,2rem);
}

.site-footer__summary { display: grid; min-width: 0; gap: .45rem; }
.site-footer__compact .site-footer__statement { max-width: none; margin: 0; font-size: .84rem; line-height: 1.4; }
.site-footer__compact .site-footer__contacts { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .85rem; }
.site-footer__compact .site-footer__contacts > * { font-size: .75rem; line-height: 1.4; }
.site-footer__compact .site-footer__company { margin: 0; font-size: .68rem; }
.site-footer__compact .site-footer__contacts > *:not(:last-child)::after {
  display: inline-block;
  width: 2px;
  height: 2px;
  margin-left: .85rem;
  border-radius: 50%;
  background: rgba(255,255,255,.32);
  content: "";
  vertical-align: middle;
}

.site-footer__compact .site-footer__contacts > a[href^="mailto:"]::after,
.site-footer__compact .site-footer__contacts > .site-footer__maps::after { display: none; content: none; }
.site-footer__compact .site-footer__maps {
  flex-basis: 100%;
  width: fit-content;
  margin-top: .12rem;
  color: rgba(255,255,255,.82);
  font-size: .71rem;
}

.site-footer__compact .site-footer__cta { min-height: 40px; }
.site-footer__cta-icon { color: rgba(255,255,255,.58); transition: transform var(--transition-ui); }
.site-footer__cta:hover .site-footer__cta-icon { transform: translate(.15rem,-.15rem); }
.site-footer__bottom { padding-block: .8rem .9rem; }
.site-footer__legal-text,
.site-footer__utility ul { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem; }
.site-footer__utility ul { grid-template-columns: none; }
.site-footer__utility a { min-height: 24px; font-size: .68rem; text-decoration: none; }

@media (max-width: 900px) {
  .site-footer__compact { grid-template-columns: auto minmax(0,1fr); }
  .site-footer__compact .site-footer__cta { grid-column: 2; justify-self: start; }
}

@media (max-width: 760px) {
  .home-plant-silhouette-wrap {
    right: -69vw;
    bottom: -12vh;
    width: 174vw;
    height: 123vh;
  }

  .home-gateway__masthead {
    min-height: 0;
    place-items: stretch;
    margin-bottom: clamp(2.25rem,8vw,3.25rem);
  }
  .home-gateway__brand { min-height: 0; gap: .48rem; margin-bottom: .25rem; }
  .home-gateway__name-lockup { gap: .65rem; }
  .home-gateway__name-line { width: clamp(1rem,7vw,2.25rem); max-width: 2.25rem; }
  .home-gateway__tagline {
    max-width: 29rem;
    gap: .08em .28em;
    font-size: clamp(1.08rem,4.8vw,1.34rem);
    line-height: 1.28;
  }

  .home-gateway__badge {
    position: static;
    width: 4.6rem;
    justify-self: end;
    margin-top: .35rem;
    padding: .55rem;
    transform: none;
  }

  .home-gateway__badge strong { font-size: 1.3rem; }
  .home-gateway__badge span { font-size: .46rem; }

  .home-mobile-align--center .home-gateway__brand { justify-items: center; text-align: center; }
  .home-mobile-align--left .home-gateway__brand { justify-items: start; text-align: left; }
  .home-mobile-align--left .home-gateway__name-lockup { width: auto; justify-content: flex-start; }
  .home-mobile-align--left .home-gateway__name-line { flex: 0 0 1.7rem; }
  .home-mobile-align--left .home-gateway__tagline { justify-content: flex-start; text-align: left; }
  .home-mobile-align--left .home-gateway__logo { object-position: left center; }

  .botanical-portal.home-mobile-align--center .portal-heading { text-align: center; }
  .botanical-portal.home-mobile-align--center .portal-heading > div { display: grid; justify-items: center; }
  .botanical-portal.home-mobile-align--center .portal-heading h1.portal-heading__brand { justify-content: center; }
  .botanical-portal.home-mobile-align--center .portal-heading__logo { object-position: center; }
  .botanical-portal.home-mobile-align--center .portal-introduction { margin-inline: auto; text-align: center; }

  .botanical-portal.home-mobile-align--left .portal-heading { text-align: left; }
  .botanical-portal.home-mobile-align--left .portal-heading__logo { object-position: left center; }

  .home-manifesto { margin-top: 1rem; border-top-width: .4rem; }
  .home-manifesto::before { top: -.4rem; height: .4rem; }

  .site-footer__compact { grid-template-columns: 1fr; gap: 1rem; padding-block: 1.35rem; }
  .site-footer__compact .site-footer__cta { grid-column: auto; justify-self: start; }
  .site-footer__compact .site-footer__column--contacts { padding-bottom: 0; border-bottom: 0; }
  .site-footer__compact .site-footer__contacts { gap: .2rem .7rem; }
  .site-footer__compact .site-footer__contacts > *:not(:last-child)::after { margin-left: .7rem; }
  .site-footer__bottom { display: grid; gap: .65rem; }
}

@media (max-width: 430px) {
  .home-gateway__brand { margin-bottom: .2rem; }
  .home-gateway__logo { width: min(61vw,13.5rem); }
  .home-gateway__badge { width: 4.25rem; margin-top: .2rem; }
  .site-footer__compact .site-footer__contacts { display: grid; justify-items: start; gap: .28rem; }
  .site-footer__compact .site-footer__contacts > *:not(:last-child)::after { display: none; }
  .site-footer__legal-text { display: grid; gap: .25rem; }
}

.no-sandher-motion .home-plant-silhouette-wrap,
.no-sandher-motion .sandher-plant-silhouette--crown { animation: none; }

@media (prefers-reduced-motion: reduce) {
  .home-plant-silhouette-wrap,
  .sandher-plant-silhouette--crown { animation: none; }
}

/* Catalog controls: balanced proportions from desktop to touch screens. */
.catalog-toolbar__inner {
  display: grid;
  min-height: 0;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: clamp(1rem,2vw,2rem);
  padding-block: 1rem;
}

.catalog-filters {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(15rem,1fr) auto;
  align-items: end;
  gap: .8rem;
}

.catalog-filters.has-category-filter { grid-template-columns: minmax(15rem,1fr) minmax(12rem,.66fr) auto; }
.catalog-filter { width: 100%; min-width: 0; gap: .42rem; }
.catalog-filter input,
.catalog-filter select {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding-inline: .95rem;
  border-color: rgba(49,91,67,.2);
  border-radius: 12px;
  background: rgba(255,255,255,.72);
}

.catalog-filters > .button {
  width: auto;
  min-width: 7rem;
  min-height: 48px;
  margin: 0;
  padding-inline: 1.35rem;
  border-radius: 12px;
}

.catalog-downloads {
  display: grid;
  min-height: 48px;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: .7rem;
  padding-left: clamp(1rem,1.6vw,1.5rem);
  border-left: 1px solid var(--color-line);
  white-space: nowrap;
}

.catalog-downloads span { line-height: 1.25; }
.catalog-downloads__links { display: flex; align-items: center; gap: .38rem; }
.catalog-downloads__links a {
  display: inline-grid;
  min-width: 3.4rem;
  min-height: 40px;
  place-items: center;
  padding: .55rem .7rem;
  border: 1px solid rgba(49,91,67,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.56);
  font-size: .78rem;
  line-height: 1;
  text-decoration: none;
}

.catalog-downloads__links a:hover,
.catalog-downloads__links a:focus-visible { border-color: rgba(49,91,67,.42); background: var(--color-sage-light); }

@media (max-width: 1100px) {
  .catalog-toolbar__inner { grid-template-columns: 1fr; gap: 1rem; }
  .catalog-downloads {
    min-height: 0;
    grid-template-columns: auto auto auto;
    justify-content: start;
    padding: 1rem 0 0;
    border-top: 1px solid var(--color-line);
    border-left: 0;
  }
}

@media (max-width: 768px) {
  .catalog-toolbar { padding-block: 0; }
  .catalog-toolbar__inner {
    width: min(calc(100% - 28px),var(--shell));
    gap: 1.15rem;
    padding-block: 1.35rem;
  }

  .catalog-filters,
  .catalog-filters.has-category-filter {
    grid-template-columns: minmax(0,1fr);
    gap: .8rem;
  }

  .catalog-filter { gap: .5rem; }
  .catalog-filter input,
  .catalog-filter select {
    min-height: 52px;
    padding-inline: 1rem;
    border-radius: 14px;
    font-size: 1rem;
  }

  .catalog-filters > .button {
    width: 100%;
    min-height: 50px;
    border-radius: 14px;
  }

  .catalog-downloads {
    width: 100%;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: .65rem;
    padding-top: 1rem;
  }

  .catalog-downloads span { width: auto; font-size: .88rem; }
  .catalog-downloads__icon { width: 1.35rem; height: 1.35rem; }
  .catalog-downloads__links a { min-width: 3.25rem; min-height: 42px; }
}

@media (max-width: 380px) {
  .catalog-downloads { gap: .45rem; }
  .catalog-downloads span { font-size: .8rem; }
  .catalog-downloads__links { gap: .25rem; }
  .catalog-downloads__links a { min-width: 3rem; padding-inline: .55rem; }
}

/* Sandher 2.0 — adjustable header, global image focus and calmer mobile mastheads. */
html { scroll-padding-top: var(--sandher-header-height-desktop,74px); }

.site-header { isolation: isolate; }
.site-header__inner {
  position: relative;
  z-index: 2;
  min-height: var(--sandher-header-height-desktop,74px);
}
.site-brand__logo { max-height: min(64px,calc(var(--sandher-header-height-desktop,74px) - 14px)); }
.catalog-toolbar { top: var(--sandher-header-height-desktop,74px); }

.site-header__leaves {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  contain: strict;
  pointer-events: none;
}
.site-header__leaf {
  position: absolute;
  top: var(--header-leaf-y);
  left: -3rem;
  width: var(--header-leaf-size);
  aspect-ratio: .68;
  border-radius: 100% 0 100% 0;
  background: currentColor;
  box-shadow: inset -1px 1px rgba(255,255,255,.18);
  color: #315b43;
  opacity: 0;
  transform: rotate(var(--header-leaf-rotation));
  transform-origin: 52% 78%;
  will-change: transform,opacity;
  animation: sandher-header-leaf-drift var(--header-leaf-duration) linear var(--header-leaf-delay) infinite;
}
.site-header__leaf::after {
  position: absolute;
  top: 52%;
  left: 18%;
  width: 68%;
  height: 1px;
  background: rgba(255,255,255,.28);
  content: "";
  transform: rotate(-48deg);
  transform-origin: left center;
}
.site-header__leaf--2 { color: #7a9278; }
.site-header__leaf--3 { color: #a37c5f; }

@keyframes sandher-header-leaf-drift {
  0% { opacity: 0; transform: translate3d(-3rem,0,0) rotate(var(--header-leaf-rotation)) scale(.72); }
  10% { opacity: var(--header-leaf-opacity); }
  34% { transform: translate3d(35vw,-8px,0) rotate(calc(var(--header-leaf-rotation) + 125deg)) scale(.92); }
  68% { opacity: var(--header-leaf-opacity); transform: translate3d(76vw,7px,0) rotate(calc(var(--header-leaf-rotation) + 285deg)); }
  92% { opacity: var(--header-leaf-opacity); }
  100% { opacity: 0; transform: translate3d(calc(100vw + 5rem),0,0) rotate(calc(var(--header-leaf-rotation) + 440deg)) scale(.78); }
}

.portal-heading > div { display: grid; align-content: center; gap: .62rem; }
.portal-heading h1.portal-heading__brand { min-height: clamp(5.2rem,7.5vw,7.5rem); }
.portal-heading__logo {
  width: clamp(16rem,23vw,23.5rem);
  max-height: clamp(5.4rem,7.8vw,7.7rem);
}
.portal-heading__motto {
  display: flex;
  max-width: 38rem;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .1em .32em;
  margin: 0;
  color: rgba(29,57,42,.86);
  font-family: var(--font-display);
  font-size: clamp(1.05rem,1.35vw,1.34rem);
  font-weight: 500;
  line-height: 1.28;
}
.portal-heading__motto em { color: var(--color-clay); font-size: 1.1em; font-weight: 500; }

.catalog-downloads__links a { position: relative; transition: opacity .3s ease,background .3s ease,border-color .3s ease; }
.catalog-downloads.is-loading .catalog-downloads__links a { pointer-events: none; opacity: .42; }
.catalog-downloads.is-loading .catalog-downloads__links a.is-loading { color: transparent; opacity: 1; }
.catalog-downloads__links a.is-loading::after {
  position: absolute;
  width: 1rem;
  height: 1rem;
  border: 2px solid rgba(49,91,67,.22);
  border-top-color: var(--color-forest);
  border-radius: 50%;
  content: "";
  animation: sandher-download-spin .75s linear infinite;
}
.catalog-downloads.has-error .catalog-downloads__links a { border-color: rgba(153,65,52,.28); }
@keyframes sandher-download-spin { to { transform: rotate(360deg); } }

.no-sandher-motion .site-header__leaf { display: none; animation: none; }

@media (max-width: 1024px) {
  html { scroll-padding-top: var(--sandher-header-height-mobile,66px); }
  .site-header__inner { min-height: var(--sandher-header-height-mobile,66px); }
  .site-brand__logo { max-height: min(58px,calc(var(--sandher-header-height-mobile,66px) - 12px)); }
  .primary-navigation {
    inset: var(--sandher-header-height-mobile,66px) 0 auto;
    max-height: calc(100vh - var(--sandher-header-height-mobile,66px));
  }
  .catalog-toolbar { top: var(--sandher-header-height-mobile,66px); }
}

@media (max-width: 760px) {
  .home-gateway__inner {
    --sandher-mobile-masthead-space: clamp(2.25rem,8vw,3.2rem);
    padding-block: var(--sandher-mobile-masthead-space) 1.8rem;
  }
  .home-gateway__masthead {
    width: 100%;
    place-items: center;
    margin-bottom: var(--sandher-mobile-masthead-space);
    text-align: center;
  }
  .home-gateway__brand,
  .home-mobile-align--left .home-gateway__brand { justify-items: center; margin: 0; text-align: center; }
  .home-mobile-align--left .home-gateway__name-lockup { width: min(100%,50rem); justify-content: center; }
  .home-mobile-align--left .home-gateway__name-line { flex: 1 1 auto; }
  .home-gateway__tagline,
  .home-mobile-align--left .home-gateway__tagline { justify-content: center; text-align: center; }
  .home-mobile-align--left .home-gateway__logo { object-position: center; }
	.home-gateway__badge { position: absolute; top: 50%; right: 0; margin: 0; transform: translateY(-50%); }

  .botanical-portal .portal-heading {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 1rem;
    padding-block: clamp(2.2rem,8vw,3rem);
    text-align: center;
  }
  .botanical-portal .portal-heading > div { justify-items: center; }
  .botanical-portal .portal-heading h1.portal-heading__brand { min-height: 0; justify-content: center; }
  .botanical-portal .portal-heading__logo { width: min(72vw,19rem); max-height: 6.4rem; object-position: center; }
  .botanical-portal .portal-heading__motto { max-width: 26rem; justify-content: center; font-size: clamp(1.08rem,4.7vw,1.32rem); text-align: center; }
  .botanical-portal .portal-introduction { max-width: 31rem; margin-inline: auto; padding: 0; border: 0; text-align: center; }
  .catalog-toolbar { position: relative; top: 0; }
}

@media (max-width: 430px) {
  .home-gateway__inner { padding-top: var(--sandher-mobile-masthead-space); }
	.home-gateway__badge { position: static; margin-top: .7rem; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header__leaf { display: none; animation: none; }
  .catalog-downloads__links a.is-loading::after { animation-duration: 1.8s; }
}
