/* v23: smaller display type and fewer oversized surfaces. Loaded for screens only. */
:root{
  --type-title:clamp(1.75rem,1.4rem + 1.15vw,2.25rem);
  --type-subtitle:clamp(1.375rem,1.2rem + .45vw,1.625rem);
  --page-gutter:clamp(.75rem,3.5vw,3.5rem);
  --section-pad:clamp(1rem,2.2vw,1.75rem);
  --section-gap:clamp(1.125rem,2vw,1.75rem);
  --section-space:clamp(1.25rem,2.4vw,2rem);
  --card-pad:clamp(1rem,1.6vw,1.25rem);
}
body{line-height:1.65}
body .button{min-height:2.75rem;padding:.6875rem 1rem}
body .eyebrow{margin-bottom:.625rem;letter-spacing:.075em}
body.living-garden .section,
body.living-garden :is(#schwerpunkte,#pflanzenwissen,#praxis,#erstgespraech,#honorare,#kontakt){max-width:80rem}
body.living-garden .section>.section-heading,
body.living-garden #honorare .fees-heading{grid-template-columns:1fr;gap:.625rem;margin-bottom:1.25rem}
body.living-garden .section .section-aside,
body.living-garden #honorare .fees-intro{max-width:72ch;justify-self:start;line-height:1.65}
body.living-garden .header{padding-block:.5rem}

/* The grove keeps its fixed coordinate plane; only the foreground is compacted. */
body.living-garden .hero{max-width:80rem;padding:1.25rem .25rem;gap:1.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
body.living-garden .hero-copy{padding:.75rem 0;max-width:34rem}
body.living-garden .hero h1{font-size:clamp(2.5rem,1.9rem + 1.8vw,3.5rem);line-height:1.12;margin-bottom:1rem}
body.living-garden .hero .hero-eyebrow{margin-bottom:.875rem}
body.living-garden .hero-description{font-size:1rem;line-height:1.65;max-width:42ch;margin-bottom:1.125rem}
body .hero-specialties{gap:.5rem;max-width:28rem}
body .hero-specialties>a{padding:.75rem 1rem;gap:.375rem .75rem;min-height:2.75rem;border-radius:.625rem}
body .hero-specialty-name{font-size:1.375rem;line-height:1.3}
body .hero-specialty-arrow{grid-row:1;font-size:1.25rem}
body.living-garden .hero-caption{margin-top:.875rem}
body .garden-outlook{gap:.625rem}
body .garden-tree-space{min-height:clamp(18rem,36vh,24rem)}
body .garden-tree-prompt{padding:.625rem .875rem;max-width:23rem}
body .garden-outlook>.garden-journal{width:min(100%,23rem);padding:.75rem 1rem;border-radius:.75rem}
body .garden-outlook .world-card-title{font-size:1.375rem;margin:.25rem 0}
body .garden-outlook .world-card-bottom{margin-top:.25rem}
body .garden-outlook>.garden-scene-caption{width:min(100%,23rem)}

body .focus-section .specialty-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.125rem}
body .specialty-entry{border-radius:.75rem}
body .specialty-entry figure{aspect-ratio:2.4}
body .entry-number{width:2rem;height:2rem;top:.75rem;left:.75rem;font-size:.875rem}
body .specialty-entry figcaption{padding:.75rem .875rem .5rem}
body .entry-copy{padding:1.125rem 1.25rem}
body .entry-copy h3{font-size:clamp(1.5rem,1.25rem + .6vw,1.875rem);margin-bottom:.5rem;line-height:1.25}
body .entry-copy p{line-height:1.65;margin-bottom:.875rem}
body .entry-explore{padding-top:.625rem;min-height:2.75rem;align-items:center}
body .focus-section .entry-note{margin-top:1rem;line-height:1.65}

body.living-garden #praxis{display:block}
body .large-copy{max-width:80ch;margin-top:.625rem;line-height:1.65}
body .profile-framework{margin-top:1rem;padding-top:.375rem}
body .profile-framework>.practice-framework>summary{min-height:2.75rem}
body .profile-framework .focus-grid{margin-top:.75rem;gap:1rem}
body .profile-framework .card-top{margin-bottom:.875rem}
body .profile-framework .focus-card h3{font-size:1.5rem;margin-bottom:.75rem}

/* One entry title and one progress navigation for the appointment planner. */
#visit-planner .visit-gateway{min-height:10rem}
#visit-planner .visit-gateway-copy{max-width:70%;padding:1.5rem}
#visit-planner .visit-topline h2{font-family:var(--sans);font-weight:400;font-size:var(--type-title);line-height:1.2;letter-spacing:-.025em;color:#f3fbf5;margin:0 0 .625rem}
#visit-planner .visit-intro{margin:0;max-width:48ch;font-size:1rem;line-height:1.65;color:#cce3d7}
#visit-planner .visit-gateway-art{inset:0 0 0 55%;height:auto}
#visit-planner .visit-gateway-art:after{background:linear-gradient(90deg,#06282c,#06282c55 50%,transparent)}
#visit-planner .visit-gateway-art figcaption{right:.75rem;bottom:.625rem;max-width:calc(100% - 1.5rem)}
#visit-planner .visit-progress{padding:.875rem}
#visit-planner .visit-progress button{min-height:3rem;padding:.625rem .75rem;gap:.625rem;border-radius:.625rem}
#visit-planner .visit-progress button>span:first-child{flex-basis:1.75rem;height:1.75rem}
#visit-planner .visit-layout{padding:0 .875rem .875rem;grid-template-columns:minmax(0,1fr) minmax(15rem,17.5rem);gap:.875rem}
#visit-planner .visit-content{padding:var(--card-pad)}
#visit-planner .visit-panel h3{font-size:1.5rem;margin-bottom:1rem}
#visit-planner .visit-panel>p{margin-bottom:1rem;line-height:1.65}
#visit-planner .visit-choice{gap:.75rem;margin-bottom:1rem}
#visit-planner .visit-choice label{padding:1rem}
#visit-planner .visit-choice small{font-size:.9375rem;line-height:1.6}
#visit-planner .visit-fields{gap:.875rem}
#visit-planner .visit-actions{margin-top:1rem;padding-top:1rem}
#visit-planner .visit-summary{padding:1.125rem;border-radius:.875rem}
#visit-planner .visit-summary h3{font-size:1.25rem;margin-bottom:.875rem}
#visit-planner .visit-summary dl{grid-template-columns:1fr;gap:0}
#visit-planner .visit-summary dl>div{padding:.5rem 0}
#visit-planner .visit-summary dt{margin-bottom:.125rem}
#visit-planner .visit-summary-note{margin-top:.75rem;padding-top:.75rem;line-height:1.65}
#visit-planner .visit-summary-edit{margin-top:0;padding:.5rem 0}
#visit-planner .visit-camera-stage{min-height:16rem}
#erstgespraech .visit-preparation{border-top:1px solid #b0c5a5;margin-top:1rem}
#erstgespraech .visit-preparation summary{min-height:2.75rem;padding:.75rem 0;font-size:1rem}
#erstgespraech .visit-preparation p{max-width:80ch;line-height:1.65;padding:.25rem 0 .5rem}

body .journal-paths{margin-bottom:1rem}
body .journal-paths button{min-height:3.125rem;padding:.625rem 1rem;gap:.625rem}
body .journal-reading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem}
body .journal-reading-card{padding:1.125rem;border-radius:.625rem}
body .journal-reading-card h3{font-size:1.375rem;margin-bottom:.625rem}
body .journal-reading-card>span{display:inline-flex;align-items:center;min-height:2.75rem}
body .journal-scope{margin-top:1rem;line-height:1.65!important}
body .guide-toolbar{margin-bottom:1rem;gap:.75rem}
body .microgarden-guide{display:block;padding:.75rem 1rem;margin-bottom:1rem}
body .microgarden-guide p:first-child:last-child{max-width:85ch;font-size:.875rem;line-height:1.65;margin:0}
body .foods-intro{padding-bottom:1rem;line-height:1.65}
body.living-garden .plant-grid,body.living-garden .plant-grid[data-active=foods]{gap:1rem}
body.living-garden .micro-garden{height:205px;--rig-size:215px}
body.living-garden .plant-copy,body.living-garden .plant-grid[data-active=foods] .plant-copy{padding:1rem 1rem 0}
body.living-garden .plant-copy h3,body.living-garden .plant-grid[data-active=foods] .plant-copy h3{font-size:1.5rem}
body.living-garden .plant-copy .plant-latin{margin:.375rem 0 .625rem}
body.living-garden .plant-copy>p:not(.plant-latin){font-size:1rem;line-height:1.65}
body.living-garden .plant-copy details{margin-top:.875rem}
body.living-garden .plant-copy summary{min-height:2.75rem;padding:.75rem 0}
body.living-garden .plant-detail{line-height:1.65;padding-bottom:1rem}
body .guide-context{gap:1.5rem;margin-top:1.5rem;padding-top:1.25rem}
body .guide-context h3{margin-bottom:.75rem}
body .guide-context p{line-height:1.65}
body .guide-questions summary{min-height:2.75rem;padding:.75rem 0}

body #honorare .fees-reading{gap:1rem;margin-bottom:1.25rem}
body #honorare .fees-topic>h3{margin-bottom:.75rem}
body #honorare .fees-questions summary{min-height:2.75rem;padding:.75rem 0}
body #honorare .fees-answer{padding-bottom:1rem}
body #honorare .fees-answer p,body #honorare .fees-insurance-prep p,body #honorare .fees-insurance-prep li{line-height:1.65}
body #honorare .fees-insurance-prep{gap:1.25rem}
body #honorare .fees-next{padding-top:1rem;margin-top:1rem;justify-content:flex-start}
body #honorare .fees-next .button{flex:0 1 auto}
body #kontakt.contact-section{gap:1.5rem 2rem}
body #kontakt .contact-intro{margin:1rem 0;line-height:1.65}
body #kontakt .contact-street{font-size:clamp(1.5rem,1.15rem + 1vw,2rem)}
body #kontakt .contact-address-top{margin-bottom:1rem;padding-bottom:.75rem}
body #kontakt .contact-address-note{margin:1rem 0;line-height:1.65}
body #kontakt .contact-section-bottom{padding-top:1rem;gap:1rem}
body.living-garden .footer{padding-top:1.5rem}
body .footer-main{max-width:80rem;padding-bottom:1rem;gap:1rem 1.5rem}

/* Specialty detail pages: short cover, useful topics and expandable answers. */
body.detail-page .detail-breadcrumb{max-width:80rem;padding-top:1.125rem}
body.detail-page .section.detail-focus{margin-top:1rem;padding-top:1.125rem}
body.detail-page .specialty-cover{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:15rem}
body.detail-page .specialty-cover-copy{padding:1.5rem;margin:0}
body.detail-page .specialty-cover h1{font-size:clamp(2rem,1.45rem + 1.3vw,2.75rem);margin-bottom:.875rem}
body.detail-page .specialty-cover .specialty-lead{margin-bottom:0;line-height:1.65;max-width:46ch}
body.detail-page .specialty-art{min-height:15rem}
body.detail-page .specialty-art:before{background:linear-gradient(90deg,#0b2825,transparent 45%),linear-gradient(0deg,#071e1bd6,transparent 25%)}
body.detail-page .specialty-tabs{padding:0 .75rem}
body.detail-page .specialty-tabs>button{min-height:2.875rem;padding:.75rem;flex-basis:8rem}
body.detail-page .specialty-panel-intro{margin-bottom:1rem}
body.detail-page .specialty-panel-intro h2{font-size:1.5rem}
body.detail-page .specialty-topic-grid{gap:1.125rem}
body.detail-page .specialty-topic{padding-top:.875rem}
body.detail-page .specialty-topic+.specialty-topic{padding-left:1.125rem}
body.detail-page .specialty-topic h3{font-size:1.375rem;margin-bottom:.625rem}
body.detail-page .specialty-topic-number{margin-bottom:.5rem}
body.detail-page .specialty-topic>p:not(.specialty-topic-line){line-height:1.65;margin-bottom:.75rem}
body.detail-page .specialty-knowledge-layout{grid-template-columns:1fr;gap:0}
body.detail-page .specialty-questions summary{min-height:2.75rem;padding:.75rem 0}
body.detail-page .specialty-detail{padding-bottom:1rem}
body.detail-page .specialty-detail p{line-height:1.65}
body.detail-page .specialty-prep-steps{gap:1.125rem;margin-bottom:1rem}
body.detail-page .specialty-prep-steps h3{font-size:1.25rem;margin-bottom:.5rem}
body.detail-page .specialty-chapter-footer{padding:1rem var(--card-pad);gap:1rem}
body.detail-page .specialty-chapter-footer .specialty-book{flex:0 1 auto;min-height:2.75rem;padding:.75rem 1rem}
body.detail-page .method-transparency{margin-top:1rem}
body.detail-page .method-transparency h2{font-size:1.375rem;margin-bottom:.625rem}
body.detail-page .method-transparency p{line-height:1.65}
body.detail-page .method-transparency a{margin-top:.625rem;min-height:2.75rem;display:inline-flex;align-items:center}
body.detail-page .detail-crosslinks{margin-top:1rem;padding-top:.75rem}

/* Rem-based containers keep large text and narrow devices in a readable flow. */
@container page (max-width:60rem){
  body.living-garden .hero{grid-template-columns:1fr;gap:1rem}
  body.living-garden .hero-copy{max-width:42rem;padding:0}
  body .hero-specialties{grid-template-columns:1fr 1fr;max-width:none}
  body .garden-tree-space{min-height:18rem}
  body.detail-page .specialty-cover{grid-template-columns:1fr;min-height:0}
  body.detail-page .specialty-cover-copy{padding:1.25rem 1.25rem .5rem}
  body.detail-page .specialty-art{min-height:13rem}
  body.detail-page .specialty-art:before{background:linear-gradient(180deg,#0b2825,transparent 35%),linear-gradient(0deg,#071e1bc9,transparent 30%)}
  body.detail-page .specialty-chapter-footer .specialty-book{flex:none}
}
@container page (max-width:48rem){
  body .focus-section .specialty-entries{grid-template-columns:1fr}
  body .specialty-entry figure{aspect-ratio:2.6}
  body .journal-reading-grid{grid-template-columns:1fr}
  body .journal-reading-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center}
  body .journal-reading-card h3{margin:0}
  body .journal-reading-card>span{margin:0}
  body #kontakt.contact-section{gap:1.25rem}
}
@container page (max-width:34rem){
  body.living-garden .hero h1{font-size:2.5rem}
  body .hero-specialties{grid-template-columns:1fr}
  body .garden-outlook>.garden-journal,body .garden-outlook>.garden-scene-caption{width:100%}
  body .journal-reading-card{display:flex;gap:.5rem;align-items:stretch}
  body.detail-page .specialty-tabs>button{flex-basis:100%;text-align:left}
  body.detail-page .specialty-topic+.specialty-topic{padding-left:0}
  body.detail-page .specialty-cover h1{font-size:2rem}
}
@container specialty-panel (max-width:47rem){
  body.detail-page .specialty-topic+.specialty-topic{padding-left:0}
}
@container visit (max-width:52rem){
  #visit-planner .visit-layout{grid-template-columns:1fr}
  #visit-planner .visit-summary dl{grid-template-columns:1fr 1fr;gap:0 1rem}
}
@container visit (max-width:35rem){
  #visit-planner .visit-gateway{min-height:0}
  #visit-planner .visit-gateway-copy{max-width:100%;padding:1.25rem 1rem}
  #visit-planner .visit-gateway-art{position:relative;inset:auto;height:7rem;order:2}
  #visit-planner .visit-gateway{display:flex;flex-direction:column}
  #visit-planner .visit-gateway-art:after{background:linear-gradient(180deg,#06282c,transparent 45%)}
  #visit-planner .visit-progress{padding:.625rem}
  #visit-planner .visit-progress button{padding:.5rem;gap:.375rem;font-size:.875rem}
  #visit-planner .visit-layout{padding:0 .625rem .625rem}
  #visit-planner .visit-content{padding:1rem}
  #visit-planner .visit-summary dl{grid-template-columns:1fr}
}
@container plant (max-width:14rem){
  body.living-garden .micro-garden{height:auto;min-height:205px;padding:205px .75rem .75rem}
}

/* Compact closing area; legal controls stay readable and easy to tap. */
body.living-garden #praxis.vita-idea{padding-block:1.25rem}
body #praxis.vita-idea h2{font-size:1.625rem;line-height:1.3;margin:0 0 .625rem}
body #praxis.vita-idea>p{font-size:1rem;line-height:1.65;max-width:90ch;margin:0}
body.living-garden #kontakt{padding-block:1.25rem;margin-bottom:1rem;border-radius:1rem}
body #kontakt.contact-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1rem 1.5rem;align-items:start}
body.living-garden #kontakt h2{font-size:1.625rem;line-height:1.25;margin:0 0 .75rem}
body #kontakt .contact-next-actions{gap:.5rem}
body #kontakt .contact-primary{margin:0;min-height:2.75rem;padding:.625rem .875rem;font-size:.9375rem}
body #kontakt .contact-request-note{margin-top:.5rem;line-height:1.6}
body #kontakt .contact-address-card{padding:1rem;border-radius:.75rem}
body #kontakt .contact-address-top{padding:0;margin-bottom:.5rem;border:0}
body #kontakt .contact-address-top h3{letter-spacing:.04em}
body #kontakt address{display:flex;align-items:baseline;flex-wrap:wrap;gap:.125rem .625rem}
body #kontakt .contact-street{font-size:1.375rem;line-height:1.35;letter-spacing:-.015em}
body #kontakt .contact-postcode{font-size:1rem;line-height:1.5}
body #kontakt .contact-address-note{margin:.5rem 0;line-height:1.6}
body #kontakt .contact-address-actions{display:flex;flex-wrap:wrap;gap:.375rem .5rem}
body #kontakt .contact-route,body #kontakt .contact-copy{width:auto;min-height:2.75rem;padding:.5rem .75rem;gap:.5rem;font-size:.875rem}
body #kontakt .contact-map-note{margin-top:.25rem;line-height:1.5}
body #kontakt .contact-copy-status:empty{min-height:0;margin:0}
body #kontakt .contact-section-bottom{padding-top:.75rem;gap:.5rem 1.25rem}
body #kontakt .contact-launch{gap:.25rem .625rem;align-items:baseline}
body #kontakt .contact-launch>p,body #kontakt .contact-warning{line-height:1.6}
body.living-garden .footer{padding:1rem var(--page-gutter) calc(1rem + env(safe-area-inset-bottom))}
body .footer-main{align-items:center;flex-wrap:wrap;padding-bottom:.5rem;gap:.5rem 1.5rem}
body .footer-main .brand-mark{width:2.25rem;height:2.25rem;font-size:2rem}
body .footer-main .brand-type{font-size:.9375rem}
body .footer-main .brand-type small{font-size:.75rem;letter-spacing:.1em}
body .footer-links{width:auto;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.25rem 1.125rem;margin-left:auto}
body .footer-links>button,body .footer-links>a{min-height:2.75rem;padding:.5rem 0;font-size:.875rem}
body .footer-bottom{max-width:80rem;align-items:center;flex-direction:row;gap:.25rem 1rem;padding-top:.5rem;line-height:1.5}
body.living-garden:not(.detail-page) .footer-bottom{min-height:3rem;padding-inline-end:17rem}
@container page (max-width:52rem){
  body #kontakt.contact-section{grid-template-columns:1fr;gap:.875rem}
  body #kontakt .contact-section-bottom{gap:.5rem}
  body .footer-links{margin-left:0}
}
@container page (max-width:34rem){
  body.living-garden #kontakt{padding-block:1rem}
  body #kontakt .contact-address-card{padding:.875rem}
  body #kontakt .contact-primary{width:auto}
  body .footer-main{gap:.375rem 1rem}
  body .footer-links{width:100%;column-gap:1rem}
  body .footer-bottom{align-items:flex-start;flex-direction:column;gap:.25rem}
  body.living-garden:not(.detail-page) .footer{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}
  body.living-garden:not(.detail-page) .footer-bottom{min-height:0;padding-inline-end:0}
}
@media(max-height:480px) and (orientation:landscape){
  body.living-garden:not(.detail-page) .footer{padding-bottom:1rem}
  body.living-garden:not(.detail-page) .footer-bottom{min-height:0;padding-inline-end:0}
}

/* A compact digital-character profile beside the VITA idea. */
body.living-garden #praxis.vita-idea{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,34rem);gap:1.5rem;align-items:center}
body .vita-idea-copy{min-width:0}
body .vita-idea-copy>p{font-size:1rem;line-height:1.65;max-width:60ch;margin:0}
body .vita-guide-card{display:grid;grid-template-columns:11rem minmax(0,1fr);min-width:0;overflow:hidden;border:1px solid #a3bca7;border-radius:.875rem;background:#f0f4e9;color:#274837}
body .vita-guide-portrait{margin:0;min-width:0;align-self:stretch;background:#153d33}
body .vita-guide-portrait img{display:block;width:100%;height:100%;min-height:15rem;object-fit:cover;object-position:50% 35%}
body .vita-guide-copy{padding:1.125rem;min-width:0}
body .vita-guide-label{font-size:.75rem;line-height:1.5;letter-spacing:.055em;color:#49684e;margin:0 0 .5rem}
body .vita-guide-copy h3{font-size:1.5rem;line-height:1.25;margin:0 0 .625rem;color:#244b38}
body .vita-guide-copy>p:not(.vita-guide-label):not(.vita-guide-note){font-size:1rem;line-height:1.6;margin:0 0 .75rem;color:#3f5c46}
body .vita-guide-copy .vita-guide-focus{font-size:.875rem!important;line-height:1.6!important;color:#305841!important;padding-top:.625rem;border-top:1px solid #b7cbb0}
body .vita-guide-note{font-size:.8125rem;line-height:1.55;color:#53654e;margin:0}
@container page (max-width:60rem){
  body.living-garden #praxis.vita-idea{grid-template-columns:1fr;gap:1rem}
  body .vita-guide-card{max-width:34rem;width:100%}
}
@container page (max-width:30rem){
  body .vita-guide-card{grid-template-columns:1fr}
  body .vita-guide-portrait img{height:15rem;min-height:0;object-fit:contain;object-position:center}
  body .vita-guide-copy{padding:1rem}
}
