/* Shared type, spacing and responsive measurements. Artwork and behavior keep their own styles. */
:root{
  --sans:'Segoe UI','Helvetica Neue',Arial,sans-serif;
  --serif:Georgia,'Times New Roman',serif;
  --type-body:1rem;
  --type-small:.875rem;
  --type-meta:.8125rem;
  --type-title:clamp(2.125rem,1.5rem + 2.5vw,3.5rem);
  --type-subtitle:clamp(1.5rem,1.2rem + 1vw,2rem);
  --space-1:.5rem;
  --space-2:.75rem;
  --space-3:1rem;
  --space-4:1.5rem;
  --space-5:2rem;
  --page-gutter:clamp(.75rem,4vw,4.5rem);
  --section-pad:clamp(1.125rem,3.2vw,3rem);
  --section-gap:clamp(2rem,4vw,3.5rem);
  --section-space:clamp(2rem,4vw,3.5rem);
  --card-pad:clamp(1.125rem,1.6vw,1.5rem);
}
html{font-size:100%;scroll-padding-top:7rem;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-size:var(--type-body);line-height:1.7}
button,input,select,textarea{font-family:var(--sans)}
:where(h1,h2,h3,h4,h5){overflow-wrap:break-word}
:where(p,li,dd,summary,a,button,label){overflow-wrap:break-word}
:where(button,.button){max-width:100%}
:where(button,input,select,textarea,a){scroll-margin-block:1rem}
:where(summary)>span[aria-hidden=true]{flex-shrink:0}
:where(.section-heading,.fees-heading)>div{min-width:0}
body .button{font-size:var(--type-body);line-height:1.5;min-height:3rem;padding:.8125rem 1.25rem;gap:1rem;white-space:normal}
body .text-link,body .source-link{font-size:var(--type-small);line-height:1.65}
body .source-link{overflow-wrap:anywhere}
body .eyebrow{font-family:var(--sans);font-size:var(--type-meta);line-height:1.65;letter-spacing:.1em;margin-bottom:1rem}
body .brand{gap:.625rem}
body .brand-mark{flex-shrink:0;width:3rem;height:3rem;font-size:2.75rem}
body .brand-type{line-height:1.35}
body .brand-type small{font-size:.75rem;line-height:1.5}
body .language{gap:.375rem}
body .language button{font-size:.875rem;min-width:1.875rem;min-height:2.75rem;padding:.375rem .125rem}

/* All major sections share an outside edge and a measured inside gutter. */
body.living-garden .section,body.living-garden :is(#schwerpunkte,#pflanzenwissen,#praxis,#erstgespraech,#honorare,#kontakt){
  width:calc(100% - var(--page-gutter) * 2);max-width:86rem;
  margin:var(--section-gap) auto;padding:var(--section-space) var(--section-pad);
}
body.living-garden .section>.section-heading,body.living-garden #honorare .fees-heading{
  display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);
  align-items:end;gap:var(--space-5);padding:0;margin-bottom:var(--space-5);
}
body.living-garden .section>.section-heading h2,
body.living-garden #honorare h2,body.living-garden #kontakt h2,
body.living-garden #practice-title{
  font-size:var(--type-title);line-height:1.16;letter-spacing:-.03em;font-weight:400;
}
body.living-garden .section .section-aside,body.living-garden #honorare .fees-intro{
  max-width:38ch;font-size:var(--type-body);line-height:1.75;padding:0;margin:0;justify-self:end;
}
body.living-garden .section>.section-heading .eyebrow,
body.living-garden #honorare .fees-heading .eyebrow,
body.living-garden #kontakt .contact-invitation>.eyebrow{
  font-size:var(--type-meta);line-height:1.65;letter-spacing:.1em;margin-bottom:1rem;
}
body.living-garden .preview-bar{padding:.5rem var(--page-gutter);gap:.375rem 1rem;flex-wrap:wrap;font-size:var(--type-small);letter-spacing:.02em;line-height:1.5}
body.living-garden .header{padding:.75rem var(--page-gutter);gap:1.25rem;flex-wrap:wrap}
body .desktop-nav{gap:.5rem clamp(1rem,1.5vw,1.5rem);font-size:.9375rem;line-height:1.5;flex-wrap:wrap;justify-content:center;flex:1 1 25rem;min-width:0}
body .desktop-nav a{min-height:2.75rem;display:inline-flex;align-items:center;padding:.5rem 0}
body .header-actions{gap:1rem;flex-shrink:0}
body .header .button.small{font-size:.875rem;min-height:2.75rem;padding:.625rem .875rem;gap:.625rem}
body .menu-button{width:2.75rem;height:2.75rem;flex-shrink:0}
body.living-garden .mobile-nav{padding:1rem var(--page-gutter);gap:.25rem}
body.living-garden .mobile-nav>a,body.living-garden .mobile-nav>button{font-size:1rem;line-height:1.6;padding:.625rem 0}

/* A calmer opening measure; scene labels stay in flow when text grows. */
body.living-garden .hero{width:calc(100% - var(--page-gutter) * 2);max-width:86rem;margin-inline:auto;padding:2rem .375rem;min-height:0;gap:2rem;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);overflow:clip}
body.living-garden .hero-copy{padding:1rem 0;max-width:36rem}
body.living-garden .hero h1{font-size:clamp(2.75rem,1.85rem + 3.8vw,5rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 1.5rem}
body.living-garden .hero .hero-eyebrow{font-size:var(--type-meta);letter-spacing:.075em;line-height:1.7;margin-bottom:1.25rem;max-width:36rem}
body.living-garden .hero-description{font-size:clamp(1rem,.975rem + .15vw,1.0625rem);line-height:1.75;max-width:48ch;margin-bottom:1.5rem}
body .hero-specialties{max-width:31rem;gap:.75rem}
body .hero-specialties>a{padding:1rem 1.125rem;min-height:0;gap:.375rem .875rem}
body .hero-specialty-name{font-size:clamp(1.375rem,1.1rem + .6vw,1.625rem);line-height:1.25;letter-spacing:-.015em;hyphens:auto;overflow-wrap:break-word}
body .hero-specialty-description{font-size:.875rem;line-height:1.65}
body.living-garden .hero-caption{font-size:.875rem;line-height:1.65;margin-top:1.25rem;gap:.75rem}
body .garden-stage{display:grid;grid-template-rows:auto minmax(13rem,1fr) auto auto;gap:1rem;height:auto;min-height:39rem;max-width:none;width:100%;padding:.75rem 0;margin:0;align-self:stretch}
body .garden-stage-label{position:relative;inset:auto;grid-row:1;justify-self:end;font-size:.875rem;line-height:1.5;letter-spacing:.035em;max-width:100%}
body .garden-stage-hint{position:relative;inset:auto;grid-row:2;justify-self:end;align-self:start;margin-top:7rem;max-width:min(16rem,78%);padding:.75rem 1rem}
body .garden-stage-hint p{font-size:.875rem;line-height:1.6}
body .garden-journal{position:relative;inset:auto;grid-row:3;width:82%;margin:0;padding:1.25rem 1.5rem;align-self:end}
body .garden-journal .world-card-title{font-size:clamp(1.625rem,1.2rem + 1vw,2rem);line-height:1.2;margin-top:.625rem;letter-spacing:-.02em}
body .garden-journal .world-card-label{font-size:.8125rem;line-height:1.6;letter-spacing:.06em}
body .garden-journal .world-card-bottom{font-size:.875rem;line-height:1.6;margin-top:1rem;gap:1rem}
body .garden-scene-caption{position:relative;inset:auto;grid-row:4;justify-self:end;max-width:100%;font-size:.8125rem;line-height:1.6;margin:0}
body.living-garden .principles{font-size:.9375rem;line-height:1.6;gap:1rem 3rem;padding:1.125rem var(--page-gutter);flex-wrap:wrap}

/* Readable journal cards, without empty paragraph spacers. */
body.living-garden .plant-grid,body.living-garden .plant-grid[data-active=foods]{grid-template-columns:repeat(auto-fit,minmax(min(100%,15.5rem),1fr));gap:1.25rem;align-items:start}
body.living-garden .plant-card{container-type:inline-size;container-name:plant}
body.living-garden .plant-copy,body.living-garden .plant-grid[data-active=foods] .plant-copy{padding:1.25rem 1.25rem 0}
body.living-garden .plant-copy h3,body.living-garden .plant-grid[data-active=foods] .plant-copy h3{font-size:1.75rem;line-height:1.2;letter-spacing:-.02em}
body.living-garden .plant-copy .plant-latin{font-size:.875rem;line-height:1.6;margin:.5rem 0 1rem}
body.living-garden .plant-copy>p:not(.plant-latin){min-height:0;font-size:1rem;line-height:1.75}
body.living-garden .plant-copy details{margin-top:1.25rem}
body.living-garden .plant-copy summary{font-size:.9375rem;line-height:1.6;min-height:3.25rem;padding:.875rem 0;gap:.75rem}
body.living-garden .plant-detail{padding-bottom:1.25rem;font-size:1rem;line-height:1.75}
body.living-garden .plant-detail h4{font-size:1rem;line-height:1.5;margin:1.25rem 0 .5rem}
body.living-garden .plant-detail h4:first-child{margin-top:0}
body.living-garden .plant-detail .journal-preparation-note{font-size:.875rem;line-height:1.75}
body.living-garden .plant-detail .journal-sources>summary{font-size:.875rem;line-height:1.65}
body .micro-garden .specimen-number{font-size:.8125rem;line-height:1.6;letter-spacing:.04em}
body .micro-garden .plant-part{max-width:calc(100% - 5.25rem);font-size:.875rem;line-height:1.5;padding:.3125rem .625rem;overflow-wrap:anywhere}
body .guide-toolbar{gap:1rem;margin-bottom:1.5rem}
body .guide-filters{gap:.5rem}
body .guide-filters button{font-size:.875rem;line-height:1.5;padding:.625rem 1rem}
body .guide-count{font-size:.875rem;line-height:1.6}
body .foods-intro{max-width:76ch;padding-bottom:1.5rem;font-size:1rem;line-height:1.75}
body .microgarden-guide{padding:1rem 1.125rem;margin-bottom:1.5rem;gap:1.5rem}
body .microgarden-guide p:first-child{font-size:1rem;line-height:1.75}
body .microgarden-guide p:last-child{font-size:.875rem;line-height:1.75}
body .guide-context{gap:2.5rem;margin-top:2.5rem;padding-top:2rem;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
body .guide-context h3{font-size:var(--type-subtitle);line-height:1.25;margin-bottom:1rem}
body .guide-context p{font-size:1rem;line-height:1.75}
body .guide-questions summary{font-size:1rem;line-height:1.6;min-height:3.5rem;padding:1rem 0;gap:1rem}
body .guide-footnote,body .photo-credits,body .photo-credits p{font-size:.875rem;line-height:1.75}
body .digital-note{padding:var(--card-pad);gap:1.5rem;margin-top:2rem;flex-wrap:wrap}
body .digital-note>div{min-width:0;flex:1 1 24rem}
body .digital-note h3{font-size:var(--type-subtitle);line-height:1.25;margin-bottom:.75rem}
body .digital-note p{font-size:1rem;line-height:1.75;max-width:70ch}
body .digital-badge{font-size:.8125rem;line-height:1.65;letter-spacing:.055em;max-width:none;margin:0}

/* Specialty chapters retain their imagery, with one scale for the reading panels. */
body .specialty-index-nav{padding:0 0 1.5rem;gap:1rem;margin:0}
body .specialty-index-nav a{font-size:1rem;line-height:1.5;padding:.75rem 0;max-width:24rem}
body .focus-section .specialty-list{gap:2rem}
body .specialty-cover-copy{padding:2rem 0 2rem 2rem;margin-right:-1.5rem}
body .specialty-chapter .specialty-topline{margin-bottom:1.25rem;padding-bottom:.75rem;gap:.875rem;flex-wrap:wrap}
body .specialty-chapter .specialty-topline>span:last-child{font-size:.8125rem;line-height:1.6;letter-spacing:.075em}
body .specialty-chapter .specialty-cover h3{font-size:clamp(2rem,1.15rem + 2.5vw,3.5rem);line-height:1.16;letter-spacing:-.03em;hyphens:auto;overflow-wrap:break-word;margin-bottom:1.125rem}
body .specialty-chapter .specialty-cover .specialty-lead{font-size:1rem;line-height:1.75;max-width:43ch;margin-bottom:1.25rem}
body .specialty-cover-words{font-size:.875rem;line-height:1.7;max-width:none}
body .specialty-tabs{padding:0 1rem;gap:.5rem;flex-wrap:wrap}
body .specialty-tabs>button{font-size:.9375rem;line-height:1.6;padding:1rem .75rem;min-height:3.5rem;min-width:0;flex:1 1 8rem;overflow-wrap:break-word}
body .specialty-panel{padding:var(--card-pad);container-type:inline-size;container-name:specialty-panel}
body .specialty-panel-intro{gap:1rem 1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}
body .specialty-chapter .specialty-panel-intro h4{font-size:var(--type-subtitle);line-height:1.25;font-weight:400;max-width:34ch}
body .specialty-chapter .specialty-panel-intro>p{font-size:1rem;line-height:1.75;max-width:36ch}
body .specialty-topic-grid{gap:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}
body .specialty-topic{padding-top:1.125rem}
body .specialty-topic+.specialty-topic{padding-left:1.25rem}
body .specialty-topic h5{font-size:1.5rem;line-height:1.3;letter-spacing:-.015em;margin-bottom:.75rem}
body .specialty-topic .specialty-topic-line,body .specialty-chapter .specialty-topic>p:not(.specialty-topic-line){font-size:1rem;line-height:1.75;margin-bottom:1rem}
body .specialty-topic-number{font-size:.8125rem;line-height:1.5;margin-bottom:.75rem}
body .specialty-topic-question{padding:.875rem 1rem}
body .specialty-topic-question>span{font-size:.875rem;line-height:1.6;margin-bottom:.5rem}
body .specialty-topic-question>p{font-size:1.0625rem!important;line-height:1.65!important}
body .specialty-topic-source .source-link{font-size:.875rem;line-height:1.65}
body .specialty-knowledge-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:2rem}
body .specialty-knowledge-note{padding:var(--card-pad)}
body .specialty-knowledge-note h5{font-size:1.625rem;line-height:1.25;margin-bottom:1rem}
body .specialty-knowledge-note p,body .specialty-prep-steps p{font-size:1rem!important;line-height:1.75!important}
body .specialty-knowledge-layout .specialty-questions summary,body .specialty-questions summary>span:first-child:not(:last-child){font-size:1rem;line-height:1.65}
body .specialty-knowledge-layout .specialty-questions summary{padding:1rem 0;gap:1rem}
body .specialty-questions .specialty-detail p{font-size:1rem;line-height:1.75}
body .specialty-detail{padding-bottom:1.25rem}
body .specialty-prep-steps{gap:1.5rem;margin:0 0 1.5rem}
body .specialty-prep-steps li{padding-top:1.125rem;gap:.875rem}
body .specialty-prep-steps h5{font-size:1.375rem;line-height:1.3;margin-bottom:.75rem}
body .specialty-chapter-footer{padding:1.5rem var(--card-pad);gap:1.5rem;align-items:center}
body .specialty-chapter-footer .specialty-note{font-size:.875rem;line-height:1.75;max-width:65ch}
body .specialty-chapter-footer .specialty-book{font-size:1rem;line-height:1.5;min-height:3rem;padding:.875rem 1.125rem;flex:0 1 21rem;max-width:100%}
body .specialty-bridge{padding:2rem 0 0;gap:2rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body .specialty-bridge h3{font-size:var(--type-subtitle);line-height:1.25;max-width:30ch}
body .specialty-bridge .specialty-bridge-kicker{font-size:.8125rem;line-height:1.6;margin-bottom:.75rem}
body .specialty-bridge>div>p:not(.specialty-bridge-kicker){font-size:1rem;line-height:1.75}
body .focus-section .specialty-review{font-size:.875rem;line-height:1.75;margin:1.5rem 0}
body .focus-section .practice-framework{margin:0}
body .focus-section .practice-framework>summary{font-size:1rem;line-height:1.65;padding:1rem 0;min-height:3.5rem}
body .focus-section .practice-framework .focus-card{padding:var(--card-pad)}
body .practice-framework .focus-card h3{font-size:1.75rem;line-height:1.25;margin-bottom:1rem}
body .practice-framework .focus-card>p{font-size:1rem;line-height:1.75;min-height:0}
body .focus-card details>div{font-size:1rem;line-height:1.75}

/* The practitioner and preparation blocks use the same reading measure. */
body.living-garden #praxis{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:3rem}
body .large-copy{font-size:1rem;line-height:1.75;max-width:52ch;margin-top:1.5rem}
body.living-garden .profile-note{padding:var(--card-pad)}
body .profile-note .eyebrow{margin-bottom:1rem}
body .profile-note h3{font-size:var(--type-subtitle);line-height:1.25;margin-bottom:1rem}
body .profile-note p:not(.eyebrow){font-size:1rem;line-height:1.75;max-width:40ch}
body .profile-note .status-label{font-size:.875rem;line-height:1.6;margin-top:1.25rem;padding:.5rem .75rem}
#erstgespraech .preparation{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:2.5rem;margin-top:2.5rem;padding-top:2rem}
#erstgespraech .preparation-intro h3{font-size:var(--type-subtitle);line-height:1.25}
#erstgespraech .preparation-intro>p:not(.eyebrow){font-size:1rem;line-height:1.75;margin-top:1.125rem;max-width:44ch}
#erstgespraech .preparation-questions details{padding-inline:1.125rem}
#erstgespraech .preparation-questions summary{font-size:1rem;line-height:1.65;padding:1rem 0;min-height:3.5rem;gap:1rem}
#erstgespraech .preparation-questions details>div{font-size:1rem;line-height:1.75;padding:0 0 1.25rem}

/* Digital reception keeps its stronger identity while following the common scale. */
#visit-planner{container-type:inline-size;container-name:visit;max-width:100%;margin-top:0}
#visit-planner .visit-system-bar{padding:1rem 1.5rem;gap:.75rem 1rem;flex-wrap:wrap}
#visit-planner .visit-system-name{font-size:.875rem;line-height:1.6;letter-spacing:.055em;flex-wrap:wrap;gap:.625rem}
#visit-planner .visit-availability{font-size:.875rem;line-height:1.6;max-width:100%}
#visit-planner .visit-gateway-copy{padding:2rem 1.75rem;max-width:65%}
#visit-planner .visit-kicker{font-size:.8125rem;line-height:1.65;letter-spacing:.075em;margin-bottom:.875rem}
#visit-planner .visit-topline h3{font-size:clamp(2rem,1.4rem + 1.9vw,3.125rem);line-height:1.15;letter-spacing:-.03em}
#visit-planner .visit-intro{font-size:1rem;line-height:1.75;margin-top:1.125rem;max-width:48ch}
#visit-planner .visit-gateway-tags{margin-top:1.25rem;font-size:.875rem;line-height:1.6}
#visit-planner .visit-progress{padding:1rem}
#visit-planner .visit-progress ol{gap:.625rem}
#visit-planner .visit-progress button{font-size:.9375rem;line-height:1.5;min-height:4rem;padding:.75rem;gap:.625rem}
#visit-planner .visit-layout{padding:0 1rem 1rem;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(15rem,18.5rem)}
#visit-planner .visit-content{padding:var(--card-pad)}
#visit-planner .visit-panel h3{font-size:var(--type-subtitle);line-height:1.25;letter-spacing:-.025em;margin-bottom:1.5rem}
#visit-planner .visit-panel>p{font-size:1rem;line-height:1.75;margin-bottom:1.25rem}
#visit-planner .visit-choice{gap:.875rem;margin-bottom:1.5rem}
#visit-planner .visit-choice label{padding:1.25rem}
#visit-planner .visit-choice strong{font-size:1.125rem;line-height:1.4;letter-spacing:-.01em}
#visit-planner .visit-choice small{font-size:1rem;line-height:1.65}
#visit-planner .visit-fields{gap:1.125rem}
#visit-planner .visit-fields label,#visit-planner .visit-select-label{font-size:1rem;line-height:1.6}
#visit-planner select{font-size:1rem;line-height:1.5;margin-top:.5rem;min-height:3rem;padding:.6875rem .75rem}
#visit-planner .visit-help{font-size:.875rem;line-height:1.75;margin:1rem 0}
#visit-planner .visit-actions{margin-top:1.5rem;padding-top:1.25rem;gap:.75rem}
#visit-planner .button{font-size:1rem;line-height:1.5;min-height:3rem;padding:.8125rem 1.125rem}
#visit-planner .visit-secondary,#visit-planner .visit-device-button{font-size:.9375rem;line-height:1.6;min-height:2.875rem;padding:.625rem .875rem}
#visit-planner .visit-summary{padding:1.5rem 1.25rem}
#visit-planner .visit-position>div>span{font-size:.8125rem;line-height:1.6;letter-spacing:.06em}
#visit-planner .visit-position p{font-size:.875rem;line-height:1.1}
#visit-planner .visit-position b{font-size:2.125rem;letter-spacing:-.035em}
#visit-planner .visit-position-rail{margin:1rem 0 1.5rem}
#visit-planner .visit-summary .visit-kicker{font-size:.8125rem;line-height:1.6;margin-bottom:.625rem}
#visit-planner .visit-summary h3{font-size:1.5rem;line-height:1.3;margin-bottom:1.25rem;letter-spacing:-.02em}
#visit-planner .visit-summary dl>div{padding:.75rem 0}
#visit-planner .visit-summary dt{font-size:.875rem;line-height:1.6}
#visit-planner .visit-summary dd{font-size:1rem;line-height:1.6}
#visit-planner .visit-context{padding:1rem;margin-top:1rem}
#visit-planner .visit-context>span{font-size:.8125rem;line-height:1.6;letter-spacing:.06em}
#visit-planner .visit-context p{font-size:1rem;line-height:1.7;margin-top:.5rem}
#visit-planner .visit-summary-note{font-size:.875rem;line-height:1.75;margin-top:1.5rem;padding-top:1.25rem}
#visit-planner .visit-test-shortcut{font-size:.9375rem;line-height:1.6;margin-top:1rem}
#visit-planner .visit-insurance-note{font-size:1rem;line-height:1.75;padding:1.125rem}
#visit-planner .visit-camera-stage{display:grid;aspect-ratio:auto;min-height:20rem}
#visit-planner .visit-device-telemetry{position:relative;inset:auto;align-self:start;padding:.875rem;gap:.5rem}
#visit-planner .visit-device-telemetry>span{font-size:.875rem;line-height:1.5;padding:.3125rem .625rem}
#visit-planner #visit-camera-empty{position:relative;inset:auto;min-width:0;padding:1rem 1.25rem 1.5rem;align-self:center;gap:.625rem}
#visit-planner #visit-camera-empty strong{font-size:1rem;line-height:1.6}
#visit-planner #visit-camera-empty>span{font-size:.875rem;line-height:1.7}
#visit-planner .visit-preview-label{position:relative;inset:auto;align-self:end;margin:0 .875rem .875rem;max-width:calc(100% - 1.75rem);font-size:.8125rem;line-height:1.6}
#visit-planner .visit-camera-stage video{z-index:0}
#visit-planner .visit-preview-label,#visit-planner #visit-camera-empty{z-index:1}
#visit-planner .visit-device-controls{gap:.625rem;margin:1rem 0}
#visit-planner .visit-mic-check{font-size:.9375rem;line-height:1.6;padding:1rem}
#visit-planner .visit-join-state{padding:1.125rem;margin-top:1.5rem;gap:1rem}
#visit-planner .visit-join-state p{font-size:1rem;line-height:1.75}

/* Booking and administration: essential information never uses metadata sizes. */
body .booking-toolbar{gap:.75rem;margin:1rem 0;min-width:0}
body .booking-action{font-size:.875rem;line-height:1.6;min-height:2.75rem;padding:.625rem .875rem}
body .booking-slot,#visit-planner .booking-slot{font-size:1rem;line-height:1.6;padding:1rem;gap:.375rem;min-height:0}
body .booking-slot small{font-size:.875rem;line-height:1.6}
body .booking-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.75rem;margin:1rem 0}
body #booking-form{gap:.75rem;padding:var(--card-pad);margin:1.25rem 0}
body .booking-consent{font-size:1rem;line-height:1.65;gap:.75rem}
body #booking-account,body #booking-privacy,body #booking-mine-note,body .booking-empty{font-size:.875rem;line-height:1.75}
body #booking-feedback:not(:empty){font-size:1rem;line-height:1.7}
body .booking-record{padding:1rem;gap:.625rem;margin-top:.875rem}
body .booking-record p{font-size:1rem;line-height:1.7}
body .booking-record small,body .booking-record .booking-hint{font-size:.875rem;line-height:1.7}
body .booking-status{font-size:.875rem;line-height:1.5;letter-spacing:0;padding:.375rem .625rem}
body .admin-header{flex-wrap:wrap;gap:1rem 1.5rem;padding:1.125rem max(var(--page-gutter),calc((100% - 74rem)/2))}
body .admin-main{max-width:77rem;padding:2.5rem var(--section-pad) 4rem}
body .admin-intro{max-width:74ch;margin-bottom:2rem}
body .admin-intro h1{font-size:var(--type-title);line-height:1.15;letter-spacing:-.025em;margin-bottom:1.25rem}
body .admin-intro p,body .admin-panel>p{font-size:1rem;line-height:1.75}
body .admin-panel{padding:var(--card-pad);margin-bottom:1.5rem;container-type:inline-size;container-name:admin-panel}
body .admin-panel h2{font-size:var(--type-subtitle);line-height:1.25;margin-bottom:1rem}
body .admin-grid{gap:1.5rem}
body .admin-form{gap:1rem}
body .admin-form label{font-size:1rem;line-height:1.6;gap:.5rem;min-width:0}
body .admin-form input,body .admin-form select,body #admin-filter{font-family:var(--sans);font-size:1rem;line-height:1.5;width:100%;max-width:100%;min-width:0;min-height:3rem;padding:.6875rem .75rem;border:1px solid #bfcdbf;border-radius:.5rem;color:#203d32;background:#fff}
body .admin-form small,body .admin-account,body .admin-video-note,body .admin-footer{font-size:.875rem;line-height:1.75}
body .admin-stats{gap:.75rem;margin-bottom:1.5rem}
body .admin-stat{font-size:.9375rem;line-height:1.6;padding:.875rem 1rem}
body .admin-stat strong{font-size:1.5rem;font-variant-numeric:tabular-nums}
body .admin-record-actions{gap:.625rem}
body #admin-bookings{max-height:52rem;overflow:auto;padding:.25rem}
body #admin-slots{max-height:40rem;overflow:auto;padding:.25rem}

/* The closing sections use the same spacing as the narrative above. */
body #honorare .fees-overview{gap:1rem;margin-bottom:2rem}
body #honorare .fees-overview-item{padding:var(--card-pad);gap:.875rem}
body #honorare .fees-overview-item h3{font-size:1.5rem;line-height:1.25;margin-bottom:.75rem}
body #honorare .fees-overview-item p{font-size:1rem;line-height:1.75}
body #honorare .fees-reading{gap:1.5rem;margin-bottom:2rem}
body #honorare .fees-topic{padding:var(--card-pad) var(--card-pad) 0}
body #honorare .fees-topic-label{font-size:.8125rem;line-height:1.65;letter-spacing:.075em;margin-bottom:.625rem}
body #honorare .fees-topic>h3{font-size:var(--type-subtitle);line-height:1.25;margin-bottom:1.25rem}
body #honorare .fees-questions summary{font-size:1rem;line-height:1.65;min-height:3.5rem;padding:1rem 0;gap:1rem}
body #honorare .fees-answer{padding-bottom:1.25rem}
body #honorare .fees-answer p{font-size:1rem;line-height:1.75}
body #honorare .fees-answer p+p{margin-top:1rem}
body #honorare .fees-insurance-prep{padding:var(--card-pad);gap:2rem}
body #honorare .fees-insurance-prep h3,body #honorare .fees-next h3{font-size:var(--type-subtitle);line-height:1.25;margin-bottom:.875rem}
body #honorare .fees-insurance-prep p,body #honorare .fees-insurance-prep li,body #honorare .fees-next p{font-size:1rem;line-height:1.75}
body #honorare .fees-next{padding-top:2rem;margin-top:2rem;gap:1.5rem}
body #honorare .fees-next .button{font-size:1rem;line-height:1.5;min-height:3rem;padding:.875rem 1.125rem}
body #kontakt.contact-section{gap:2rem 2.5rem}
body #kontakt .contact-intro{font-size:1rem;line-height:1.75;max-width:49ch;margin:1.5rem 0}
body #kontakt .contact-next-actions{gap:.75rem}
body #kontakt .contact-primary{font-size:1rem;line-height:1.5;min-height:3rem;padding:.875rem 1.125rem;gap:1rem}
body #kontakt .contact-secondary{font-size:.9375rem;line-height:1.6;min-height:2.75rem;gap:1rem}
body #kontakt .contact-request-note{font-size:.875rem;line-height:1.75;margin-top:1rem}
body #kontakt .contact-address-card{padding:var(--card-pad);border-top-right-radius:2rem}
body #kontakt .contact-address-top{padding-bottom:1rem;margin-bottom:1.5rem;gap:.75rem;flex-wrap:wrap}
body #kontakt .contact-address-top h3{font-size:.875rem;line-height:1.6;letter-spacing:.06em}
body #kontakt .contact-street{font-size:clamp(1.625rem,1.15rem + 1.6vw,2.5rem);line-height:1.25;letter-spacing:-.025em;overflow-wrap:break-word;hyphens:auto}
body #kontakt .contact-postcode{font-size:1.125rem;line-height:1.6;letter-spacing:0}
body #kontakt .contact-country{font-size:.875rem;line-height:1.65}
body #kontakt .contact-address-note{font-size:.875rem;line-height:1.75;margin:1.25rem 0}
body #kontakt .contact-route,body #kontakt .contact-copy{font-size:.9375rem;line-height:1.6;min-height:3rem;padding:.75rem 1rem;gap:.75rem}
body #kontakt .contact-map-note{font-size:.8125rem;line-height:1.65;margin-top:.625rem}
body #kontakt .contact-copy-status{font-size:.875rem;line-height:1.65;min-height:1.65em}
body #kontakt .contact-section-bottom{padding-top:1.5rem;gap:1.5rem}
body #kontakt .contact-launch{gap:.5rem 1rem}
body #kontakt .contact-launch>span{font-size:.8125rem;line-height:1.6;letter-spacing:.075em}
body #kontakt .contact-launch>p,body #kontakt .contact-warning{font-size:.875rem;line-height:1.75}
body.living-garden .footer{padding:2.5rem var(--page-gutter) max(6rem,calc(4rem + env(safe-area-inset-bottom)))}
body .footer-main{max-width:86rem;margin-inline:auto;padding-bottom:1.5rem;gap:1.5rem 2rem;flex-wrap:wrap}
body .footer-main>p{font-size:.875rem;line-height:1.75;max-width:47ch}
body .footer-links{gap:.25rem}
body .footer-links>button,body .footer-links>a{font-size:.875rem;line-height:1.6;min-height:2.75rem;padding:.625rem 0}
body .footer-bottom{max-width:86rem;margin-inline:auto;font-size:.8125rem;line-height:1.65;padding-top:1.125rem;gap:.75rem 1.5rem;flex-wrap:wrap}
body dialog{width:calc(100% - 2rem);max-width:40rem;max-height:85dvh}
body .dialog-shell{padding:2.75rem var(--section-pad) 1.75rem}
body .dialog-shell h2{font-size:var(--type-subtitle);line-height:1.25;margin-bottom:1.25rem}
body .dialog-shell p,body .dialog-shell li{font-size:1rem;line-height:1.75}
body .dialog-shell small{font-size:.875rem;line-height:1.75}
body .dialog-close{width:2.75rem;height:2.75rem;top:.375rem;right:.375rem}
body .garden-controls{max-width:calc(100% - 1.5rem);right:1rem;bottom:max(.75rem,env(safe-area-inset-bottom))}
body .garden-controls button{font-size:.875rem;line-height:1.5;padding:.5rem .75rem;gap:.5rem;min-width:0}
body #garden-motion-text{overflow-wrap:anywhere}

/* Columns respond to available reading space, including increased default text size. */
body.living-garden main{container-type:inline-size;container-name:page}
body .admin-main{container-type:inline-size;container-name:admin}
@container specialty-panel (max-width:44rem){
  body .specialty-topic-grid,body .specialty-knowledge-layout,body .specialty-prep-steps{grid-template-columns:1fr;gap:1.5rem}
  body .specialty-topic-grid .specialty-topic{display:flex;flex-direction:column}
  body .specialty-topic+.specialty-topic{padding-left:0;border-left:0}
  body .specialty-topic-grid .specialty-topic>p:not(.specialty-topic-line){margin-bottom:1rem;max-width:68ch}
  body .specialty-topic-question{margin-top:0}
  body .specialty-topic-source{justify-content:flex-start}
}
/* At unusually large text sizes, captions get their own rows below the scene. */
@container plant (max-width:14rem){
  body.living-garden .micro-garden{height:auto;min-height:235px;padding:235px .75rem .75rem;display:flex;flex-direction:column;gap:.75rem}
  body .micro-garden .specimen-number{position:relative;inset:auto;display:block;max-width:100%;background:#092d27e8;padding:.375rem .5rem;border-radius:.375rem}
  body .micro-garden .plant-part{position:relative;inset:auto;display:block;max-width:100%;width:fit-content;align-self:flex-start}
  body .micro-garden .micro-action{position:relative;inset:auto;align-self:flex-end;flex-shrink: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 1.5rem}
  #visit-planner .visit-gateway-copy{max-width:72%}
}
@container visit (max-width:35rem){
  #visit-planner .visit-gateway-copy{max-width:100%;padding:1.5rem 1.25rem 13rem}
  #visit-planner .visit-gateway-art{inset:auto 0 0;height:14rem}
  #visit-planner .visit-gateway-art:after{background:linear-gradient(180deg,#06282c,transparent 38%)}
  #visit-planner .visit-gateway-tags>span+span{padding:0;border:0}
  #visit-planner .visit-progress ol{grid-template-columns:1fr 1fr}
  #visit-planner .visit-progress button{gap:.5rem;padding:.625rem}
  #visit-planner .visit-progress button>span:first-child{flex-basis:1.875rem;height:1.875rem}
  #visit-planner .visit-choice,#visit-planner .visit-fields,#visit-planner .visit-summary dl{grid-template-columns:1fr}
  #visit-planner .visit-content{padding:1.25rem 1rem}
  #visit-planner .visit-layout{padding:0 .625rem .625rem}
  #visit-planner .visit-choice label>span{display:block;padding:0}
  #visit-planner .visit-choice svg{width:2rem;height:2rem;margin:0 2rem .875rem 0}
  #visit-planner .visit-choice strong{padding-right:0;margin-bottom:.5rem}
  #visit-planner .visit-choice input{top:1rem;right:1rem}
  #visit-planner .visit-position{flex-wrap:wrap}
  #visit-planner .visit-actions>.button{width:100%}
  #visit-planner .visit-device-controls .visit-secondary{flex-basis:100%}
  #visit-planner .visit-mic-check{grid-template-columns:1fr}
}
@container admin (max-width:56rem){
  body .admin-grid{grid-template-columns:1fr}
  body #admin-bookings,body #admin-slots{max-height:none;overflow:visible;padding:0}
}
@container admin-panel (max-width:25rem){
  body .admin-form{grid-template-columns:1fr}
  body .admin-form .wide{grid-column:1}
}
@container page (max-width:66rem){
  body.living-garden .hero{grid-template-columns:1fr;gap:1.5rem;padding-top:2rem}
  body.living-garden .hero-copy{max-width:43rem;padding:0}
  body.living-garden .hero h1{max-width:15ch}
  body .hero-specialties{max-width:none;grid-template-columns:1fr 1fr}
  body .garden-stage{width:100%;max-width:36rem;justify-self:center;min-height:32rem}
  body .garden-canopy{width:125%;left:-8%;top:0}
  body .garden-journal{width:82%}
  body .specialty-cover{grid-template-columns:1fr;min-height:0}
  body .specialty-cover-copy{padding:1.75rem 1.75rem 0;margin:0}
  body .specialty-chapter .specialty-cover .specialty-lead{max-width:60ch}
  body .specialty-art{min-height:290px}
  body .specialty-art:before{background:linear-gradient(180deg,#0b2825,transparent 35%),linear-gradient(0deg,#071e1bc9,transparent 30%)}
  body .specialty-chapter-footer{align-items:flex-start;flex-direction:column}
  body .specialty-chapter-footer .specialty-book{flex:none}
}
@container page (max-width:52rem){
  body.living-garden .section>.section-heading,body.living-garden #honorare .fees-heading{grid-template-columns:1fr;gap:1.25rem;align-items:start}
  body.living-garden .section .section-aside,body.living-garden #honorare .fees-intro{justify-self:start;max-width:62ch;flex:none}
  body.living-garden #praxis,body .guide-context,body .specialty-bridge,#erstgespraech .preparation{grid-template-columns:1fr;gap:1.75rem}
  body #honorare .fees-overview,body #honorare .fees-reading,body #honorare .fees-insurance-prep{grid-template-columns:1fr;gap:1.25rem}
  body #honorare .fees-next{flex-direction:column;align-items:flex-start}
  body #honorare .fees-next .button{max-width:100%;flex:none}
  body #kontakt.contact-section{grid-template-columns:1fr;gap:1.75rem}
  body #kontakt .contact-section-bottom{flex-direction:column;align-items:flex-start;gap:1rem}
  body #kontakt .contact-warning{max-width:none}
  body .microgarden-guide{display:block}
  body .microgarden-guide p:last-child{max-width:none;margin-top:.5rem}
}
@container page (max-width:34rem){
  body .hero-specialties{grid-template-columns:1fr}
  body .garden-stage{min-height:29rem;gap:.875rem}
  body .garden-canopy{width:148%;left:-14%;top:-5px}
  body .garden-stage-hint{margin-top:5rem}
  body .garden-journal{width:94%;padding:1.125rem}
  body .specialty-tabs{gap:0;padding:0 .5rem}
  body .specialty-tabs>button{flex-basis:100%;padding:.75rem 1rem;min-height:2.875rem;text-align:left;border-bottom-width:2px}
  body .specialty-cover-copy{padding:1.5rem 1.25rem 0}
  body .specialty-chapter-footer .specialty-book{width:100%}
  body .focus-grid{grid-template-columns:1fr;gap:1rem}
  body .digital-note{gap:1rem}
  body #honorare .fees-next .button,body #kontakt .contact-primary{width:100%;justify-content:space-between}
}
@media(max-width:1000px){
  body .desktop-nav{display:none}
  body .menu-button{display:block}
  body.living-garden .header{justify-content:space-between}
}
@media(min-width:1001px){body .mobile-nav{display:none}}
@media(max-width:620px){
  body.living-garden .header{padding:.625rem var(--page-gutter);gap:.75rem;flex-wrap:wrap}
  body.living-garden .header .brand-type{font-size:1rem}
  body.living-garden .header .brand-mark{width:2.5rem;height:2.5rem;font-size:2.25rem}
  body .header-actions{gap:.5rem}
  body .brand-type small{letter-spacing:.15em}
  body .hero-specialty-name{font-size:1.5rem}
  body .garden-stage-label{justify-self:start}
  body.living-garden .principles{justify-content:flex-start;gap:.625rem 1.25rem;font-size:.875rem}
  body .principles>span:nth-child(even){display:none}
  body .footer-main{align-items:flex-start;gap:1.25rem}
  body .footer-main>p{width:100%;margin:0}
  body .footer-links{gap:.25rem}
  body .admin-main{padding:2rem 1rem 3rem}
  body .admin-header{padding:1rem;gap:.75rem 1rem}
  body .admin-header .brand-type small{white-space:normal;overflow-wrap:anywhere;letter-spacing:.06em}
  body .admin-header .brand{flex:1 1 12rem;min-width:0}
  body .admin-header .brand-type{min-width:0;white-space:normal}
  body .admin-header>a:last-child{font-size:.875rem;line-height:1.6;min-height:2.75rem;padding:.5rem 0;flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
