/* Nordlicht · shared presentation R001.
   Specific surfaces communicate orientation, facts, reading and application.
   Existing photography, dark brand heroes and application behaviour are retained. */
:root {
  --ui-sage: #e8f0e9;
  --ui-sage-soft: #f0f5ef;
  --ui-sand: #f6f1e7;
  --ui-line: #cbd9d0;
  --ui-green: #205b3d;
  --ui-muted: #465f63;
  --ui-radius: 18px;
  --ui-reading: 74ch;
}
/* Shared reading and keyboard affordances. */
:where(h1,h2,h3,h4) { text-wrap: balance; hyphenate-limit-chars: 10 4 4; }
.home-hero h1 { text-wrap: wrap; }
:where(p,li,dd) { overflow-wrap: break-word; }
:where(main,article,section,fieldset,figure,details) { min-width: 0; }
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible {
  outline: 3px solid #164c39;
  outline-offset: 4px;
  box-shadow: 0 0 0 3px #fff;
}
:is(.hero,.finder-section,.contact-section,.site-footer,.nl-hero) :focus-visible {
  outline-color: #8ee7bb;
  box-shadow: 0 0 0 3px #071b35;
}
:where(button,summary,[role=button]) { touch-action: manipulation; }
:where(input,select,textarea) { accent-color: var(--ui-green); }
:where(main) :where(a) { text-underline-offset: .2em; text-decoration-thickness: .08em; }
:where(main) :where(img,video,svg) { max-width: 100%; }
:where(h1,h2,h3,h4,summary,[id]) { scroll-margin-top: 94px; }
.site-header #main-menu > a { min-height: 44px; display: inline-flex; align-items: center; }
/* Light-surface actions were inheriting white text from dark heroes. */
:is(.plant-profile,.nl-content,.nf-page) .nl-btn-secondary {
  color: var(--ui-green) !important;
  background: #fff;
  border-color: #779584;
}
.article-copy .button-secondary {
  color: var(--ui-green); background: #fff; border: 1px solid #779584;
}
.article-copy .blog-read-link { color: var(--ui-green); }
.pl-page .section-kicker { color: var(--ui-green); }
.process-section .heading-copy { color: #c6d9e0; }
/* Photograph-free plant profiles: a deliberate introduction and legible facts. */
.plant-profile .plant-return { padding-block: 12px; min-height: 44px; margin-bottom: 0; }
.plant-profile .nl-breadcrumbs { padding-block: 12px 20px; }
.plant-profile .nl-detail-hero {
  background: var(--ui-sage);
  border-block: 1px solid var(--ui-line);
  padding-block: clamp(28px,4vw,52px);
}
.plant-profile .nl-detail-hero h1 {
  max-width: 25ch; margin: 16px 0 12px;
  font-size: clamp(2rem,4.2vw,3.5rem); line-height: 1.12;
  letter-spacing: -.035em; overflow-wrap: anywhere;
}
.plant-profile .nl-detail-hero .nl-lead { max-width: var(--ui-reading); margin-bottom: 0; line-height: 1.7; }
.plant-profile .nl-botanical { color: #455d56; }
.plant-profile .nl-v2-type { background: #d3e6d7; color: #194c33; }
.plant-profile .nl-content-layout:not(:has(> aside)) { grid-template-columns: minmax(0,1fr); max-width: 1060px; }
.plant-profile .nl-section { padding-block: 28px 56px; }
.plant-profile .nl-section-block { padding-block: 28px; }
.plant-profile .nl-section-block > :is(p,ul,ol) { max-width: var(--ui-reading); }
.plant-profile .nl-facts { gap: 12px; }
.plant-profile .nl-fact {
  padding: 18px 20px; background: #fff;
  border: 1px solid var(--ui-line); border-radius: 12px;
}
.plant-profile .nl-fact dt { color: var(--ui-muted); font-size: .875rem; margin-bottom: 6px; }
.plant-profile .nl-fact dd { line-height: 1.6; font-weight: 600; overflow-wrap: anywhere; }
.plant-profile .nl-fact { min-width: 0; }
.plant-profile .nl-fact[data-pvm-field^="site."] { background: var(--ui-sage-soft); }
.plant-profile .nl-fact[data-pvm-field^="safety."] { background: var(--ui-sand); border-color: #d8c9ab; }
.plant-profile .plant-fact-group + .plant-fact-group { margin-top: 26px; }
.plant-profile .plant-fact-group > h3 { font-size: 1.125rem; color: var(--ui-green); }
.plant-profile .nl-v2-relation-card {
  padding: 24px; border: 1px solid var(--ui-line); border-radius: var(--ui-radius); background: var(--ui-sage);
}
.plant-profile :is(#quellen,.nl-v2-expert) { font-size: .9375rem; }
.plant-profile .nl-source-list { overflow-wrap: anywhere; }
/* Browsing keeps the seven plant groups equally visible. */
.plant-main .plant-search-panel { background: var(--ui-sage); box-shadow: none; }
.plant-main .plant-facet,.plant-main .plant-facet-panel { background: #fff; }
.plant-card { box-shadow: 0 4px 14px #071b3505; border-top: 3px solid #b8d0bf; }
.plant-main .plant-knowledge-group { padding-block: 24px; border-top: 1px solid var(--ui-line); }
.plant-main .plant-knowledge-group h2 { margin-bottom: 18px; }
/* Long-form reading: smaller introductions, clear section rhythm, useful notes. */
.blog-article { padding-top: 32px; }
.article-header {
  padding: clamp(24px,4vw,48px); background: var(--ui-sage);
  border: 1px solid var(--ui-line); border-radius: var(--ui-radius);
}
.article-header .article-back { margin-bottom: 20px; min-height: 44px; display: inline-flex; align-items: center; }
.article-header h1 { font-size: clamp(2rem,4.4vw,3.75rem); line-height: 1.15; margin-block: 20px; }
.article-header .article-deck { font-size: clamp(1.0625rem,1.6vw,1.25rem); max-width: 68ch; }
.article-layout { padding-block: 48px 72px; gap: clamp(28px,5vw,64px); }
.article-layout-single { grid-template-columns: minmax(0,780px); }
.article-copy { line-height: 1.8; }
.article-copy h2 { font-size: clamp(1.6rem,2.8vw,2.2rem); line-height: 1.24; margin-block: 44px 20px; padding-top: 24px; border-top: 1px solid var(--ui-line); }
.article-copy h3 { font-size: clamp(1.25rem,2vw,1.6rem); line-height: 1.35; margin-top: 30px; }
.article-copy blockquote { background: var(--ui-sage); border-radius: 0 14px 14px 0; padding: 24px; font-size: clamp(1.125rem,1.8vw,1.4rem); }
.article-copy blockquote p:last-child { margin-bottom: 0; }
.article-hero { margin-top: 32px; }
.article-photo-grid figcaption,.article-wide-photo figcaption { background: #f8faf7; }
.article-facts div { background: var(--ui-sage-soft); }
.nl-hero h1 { font-size: clamp(2rem,4.5vw,3.75rem); line-height: 1.13; max-width: 29ch; }
.nld-filter :is(input,select,textarea) { font-size: 1rem; }
/* Knowledge pages use a shared introduction without recolouring their diagrams. */
:is(.nf-page,[data-nl-family="naehrstoffwissen"] main) > .nl-detail-hero {
  background: var(--ui-sage); border-block: 1px solid var(--ui-line); padding-block: 36px;
}
:is(.nf-page,[data-nl-family="naehrstoffwissen"] main) .nl-detail-hero h1 {
  font-size: clamp(2rem,4vw,3.5rem); line-height: 1.14; max-width: 29ch;
}
.nl-content h2 { line-height: 1.23; }
.nl-content > .nl-section-block > p { max-width: var(--ui-reading); }
.nl-side-nav { background: #eaf1eb; border-color: var(--ui-line); box-shadow: none; }
.nl-side-nav a { min-height: 40px; display: flex; align-items: center; }
.nl-card { border-radius: var(--ui-radius); box-shadow: 0 4px 16px #071b3505; }
.nl-card p { line-height: 1.7; }
/* Problem pages separate orientation, diagnosis and next steps. */
.pl-intro { max-width: none; padding: clamp(22px,4vw,38px); background: var(--ui-sage); border: 1px solid var(--ui-line); border-radius: var(--ui-radius); }
.pl-intro h1 { max-width: 27ch; }
.pl-intro > p:last-child { margin-bottom: 0; }
.pl-checks { background: var(--ui-sand); border-color: #ddd3bf; border-radius: var(--ui-radius); }
.pl-path { background: #fff; border: 1px solid var(--ui-line); border-radius: 14px; margin-block: 12px; }
.pl-path > summary { padding: 22px; }
.pl-path[open] > summary { border-bottom: 1px solid var(--ui-line); background: var(--ui-sage-soft); border-radius: 14px 14px 0 0; padding-bottom: 20px; }
.pl-path-body { padding: 8px 24px 24px; }
.pl-fields > a { padding-inline: 14px; border-radius: 8px; }
.pl-fields > a:hover { background: var(--ui-sage); }
/* Tools have a consistent working header; calculations and result colours stay intact. */
.wk-hero { max-width: none; padding: clamp(22px,3.5vw,36px); background: var(--ui-sage); border: 1px solid var(--ui-line); border-radius: var(--ui-radius); }
.wk-hero h1 { font-size: clamp(2rem,4vw,3.25rem); line-height: 1.15; max-width: 28ch; }
.wk-hero > p:last-child { font-size: 1.0625rem; margin-bottom: 0; }
.wk-back { min-height: 44px; display: inline-flex; align-items: center; margin-bottom: 12px; }
.wk-card,.wk-controls,.wk-calc { border-radius: var(--ui-radius); box-shadow: none; }
.wk-output { border-radius: 0 12px 12px 0; }
.wk-page :is(button,select,input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea) { font-size: 1rem; }
.wk-page :is(button,select,input:not([type=checkbox]):not([type=radio])) { min-height: 44px; }
.wk-maximus .maximus-disclosure { margin-top: 24px; }
/* Contact and partnership: welcoming surfaces, unchanged forms and disclosures. */
.mf-hero { padding: clamp(22px,4vw,38px); background: var(--ui-sage); border: 1px solid var(--ui-line); border-radius: var(--ui-radius); }
.mf-hero h1 { font-size: clamp(2rem,4vw,3.5rem); max-width: 26ch; }
.mf-roles > div { background: #fff; border: 1px solid var(--ui-line); border-radius: 14px; padding: 24px; }
.mf-examples article { background: var(--ui-sage-soft); border-radius: 14px; }
.mf-intake { background: #fff; border: 1px solid var(--ui-line); border-radius: var(--ui-radius); padding: clamp(20px,3vw,32px); margin-top: 28px; }
.oc-offer { padding: clamp(22px,4vw,32px); border: 1px solid var(--ui-line); border-radius: var(--ui-radius); background: var(--ui-sage); }
.online-check > section:not(.oc-offer) { background: #fff; border: 1px solid var(--ui-line); border-radius: var(--ui-radius); padding: clamp(20px,3vw,32px); }
.nlp .nlp-network { border-radius: var(--ui-radius); }
.legal-card { box-shadow: none; border-top: 5px solid #8fab98; }
.legal-card h1 { font-size: clamp(2rem,4vw,3.1rem); }
.legal-card h2 { padding-top: 18px; border-top: 1px solid var(--ui-line); line-height: 1.3; }
/* Tables remain real tables and keep their existing horizontal-scroll affordance. */
.mobile-table-scroll { border-radius: 12px; border: 1px solid var(--ui-line); background: #fff; }
.mobile-table-scroll table { margin: 0; }
.mobile-table-scroll th { background: var(--ui-sage); color: var(--ink); }
.mobile-table-scroll tr:nth-child(even) td { background: #f7faf6; }
/* Compact phone rhythm without shrinking input text or hiding content. */
@media (max-width: 980px) {
  .site-header #main-menu.is-open { left: 0; right: 0; border-radius: 0 0 14px 14px; }
  .nld :is(input,select,textarea),.nld-filter :is(input,select,textarea) { font-size: 1rem; }
}
@media (max-width: 760px) {
  :where(h1,h2,h3,h4) { line-height: 1.2; }
  :where(main) :where(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size: 1rem; }
  .home-page .home-hero h1 { font-size: clamp(1.85rem,8vw,2.35rem); line-height: 1.15; hyphens: manual; }
  .home-page .section { padding-block: 52px; }
  .home-page .section-heading { margin-bottom: 28px; }
  .home-page .home-hero .hero-grid { min-height: 0; }
  .plant-profile .nl-detail-hero { padding-block: 26px; }
  .plant-profile .nl-detail-hero h1 { font-size: clamp(1.95rem,8vw,2.4rem); }
  .plant-profile .nl-section { padding-top: 16px; }
  .plant-profile .nl-fact { padding: 15px 16px; }
  .plant-profile .nl-facts { gap: 10px; }
  .plant-profile .nl-section-block { padding-block: 22px; }
  .plant-profile .nl-v2-relation-card { padding: 20px; }
  .blog-article { padding-top: 20px; }
  .article-header { padding: 22px 20px; }
  .article-header h1 { font-size: clamp(1.9rem,7.7vw,2.3rem); line-height: 1.2; margin-block: 16px; }
  .article-layout { padding-block: 32px 48px; }
  .article-copy h2 { margin-top: 32px; padding-top: 22px; }
  .article-copy blockquote { padding: 20px; }
  :is(.nf-page,[data-nl-family="naehrstoffwissen"] main) > .nl-detail-hero { padding-block: 26px; }
  :is(.nf-page,[data-nl-family="naehrstoffwissen"] main) .nl-detail-hero h1 { font-size: clamp(1.95rem,8vw,2.4rem); }
  .pl-intro { padding: 22px 20px; margin-bottom: 24px; }
  .wk-hero { padding: 20px 16px; margin-bottom: 24px; }
  .wk-hero > p:last-child { font-size: 1rem; }
  .pl-checks { padding: 22px 20px; margin-bottom: 28px; }
  .pl-path > summary { padding: 20px 16px; }
  .pl-path-body { padding-inline: 18px; }
  .wk-hero h1 { font-size: clamp(1.9rem,7.7vw,2.35rem); }
  .mf-hero { padding: 24px 20px; }
  .mf-hero h1 { font-size: clamp(1.95rem,8vw,2.4rem); }
  .mf-roles { gap: 16px; }
  .mf-roles > div { padding: 20px; }
  .mf-section { padding-block: 32px; }
  .mf-intake { padding: 20px; }
  .online-check { padding-inline: 14px; }
  .oc-offer,.online-check > section:not(.oc-offer) { padding: 20px; }
  .legal-main { padding-block: 28px; }
  .legal-card { padding: 24px 20px; }
}
/* R002 visual review: signpost the long tool essay by its existing questions. */
.gr-page .gr-section > h2 {
  padding: 16px 20px;
  border-left: 4px solid var(--ui-green);
  background: var(--ui-sage);
  border-radius: 0 10px 10px 0;
}
.gr-page .gr-section:not(#erst-die-aufgabe) > p:has(> strong:only-child) {
  padding: 16px 20px;
  background: #fff;
  border: 1px solid var(--ui-line);
  border-radius: 10px;
}
/* Long mobile introductions retain their hierarchy without an extra narrow column. */
@media (max-width: 480px) {
  .article-header,.mf-hero,.gr-page .pl-intro {
    padding: 12px 0 22px;
    background: transparent;
    border: 0;
    border-bottom: 3px solid var(--ui-line);
    border-radius: 0;
  }
  .article-header h1,.mf-hero h1,.gr-page .pl-intro h1 {
    font-size: clamp(1.7rem,7.2vw,1.85rem);
    line-height: 1.2;
    text-wrap: wrap;
    hyphens: manual;
  }
  .article-header .article-back { margin-bottom: 12px; }
  .gr-page .gr-section > h2 { padding: 14px; }
}
/* Expanded mixed planting must keep complete phase names readable on small phones. */
@media (max-width: 480px) {
  .maximus .mix-row .mix-field:first-child { grid-column: 1/-1; }
  .maximus .mix-row .mix-field:nth-child(2) { grid-column: 1/-1; }
  .maximus .mix-row .mix-field:nth-child(3) { grid-column: 1/3; }
  .maximus .mix-row .remove { grid-column: 3; grid-row: 3; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* R004 Beratung submenu; native details supports keyboard and touch. */
.site-header .nav-advice{position:relative;margin:0;border:0;padding:0;background:none}.site-header .nav-advice>summary{cursor:pointer;padding:12px 8px;font-weight:650;min-height:44px}.site-header .nav-advice-links{position:absolute;top:100%;right:0;z-index:100;display:flex;flex-direction:column;align-items:stretch;min-width:230px;padding:12px;border-radius:12px;background:#fff;color:#12334a;box-shadow:0 12px 32px #0b263b26}.site-header .nav-advice-links a{display:block;min-height:44px;padding:10px 12px;white-space:normal}.site-header .nav-advice>summary:focus-visible{outline:3px solid #64a38b;outline-offset:2px}@media(max-width:980px){.site-header .nav-advice{width:100%}.site-header .nav-advice-links{position:static;min-width:0;box-shadow:none;padding:0 12px;background:#f2f7f5}.site-header .nav-advice>summary{padding:12px}}
.course-teaser .starter-strip{gap:24px}.course-teaser h2{font-size:clamp(24px,3vw,34px)}
