*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f7f5ed;color:#263e32;font:17px/1.65 system-ui,sans-serif}a{color:inherit}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:5px}button{cursor:pointer}h1,h2,h3{font-family:Georgia,serif;line-height:1.12;font-weight:400}h1{font-size:clamp(48px,6.7vw,100px);max-width:850px;margin:22px 0}h2{font-size:clamp(35px,4vw,58px);margin:12px 0 24px}h3{font-size:27px}.wrap{max-width:1200px;margin:auto;padding:0 32px}.header{background:#f7f5ed;position:sticky;top:0;z-index:5;border-bottom:1px solid #dedfd3}.nav{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:20px}.brand{text-decoration:none;font-size:18px;line-height:1.2;font-weight:700;display:flex;align-items:center;gap:13px}.brand span:first-child{font-size:42px;color:#56754b}.brand small{display:block;font-size:12px;letter-spacing:2px;font-weight:400;margin-top:6px}.links{display:flex;gap:28px;align-items:center}.links a{text-decoration:none;font-size:15px}.button,button[type=submit]{background:#d5a86c;color:#20382c;border:0;border-radius:5px;padding:14px 23px;text-decoration:none;display:inline-block;font-weight:600}.outline{background:transparent;border:1px solid currentColor;color:inherit}.menu{display:none;background:none;border:1px solid #ccc;padding:8px}.hero{position:relative;min-height:710px;display:flex;align-items:center;color:#fff9e9;background:#35513d;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,40,28,.85),rgba(16,40,28,.06)),url('../images/herbst.jpg') center/cover}.hero .wrap{position:relative;width:100%;padding-top:75px;padding-bottom:90px}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:12px;font-weight:700}.hero p{max-width:520px;font-size:20px;color:#f3efd9}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.hero-note{position:absolute;bottom:20px;right:32px;font-size:12px;opacity:.8}.intro{padding:95px 0;display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.intro p{color:#5b685c}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid #d3d9cb;padding:30px 0 80px}.values b{font:26px Georgia,serif}.values p{color:#5b685c}.band{background:#e8ecdf;padding:85px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.section-head p{max-width:380px;color:#5b685c}.calendar-controls{display:flex;gap:15px;flex-wrap:wrap;margin:20px 0}.calendar-controls select{padding:10px;background:#fffdf6;border:1px solid #bbc6b6;border-radius:4px}.event{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:24px;padding:25px 0;border-top:1px solid #bdc8b7}.date{display:flex;flex-direction:column;text-align:center;font-size:12px;letter-spacing:1px}.date strong{font:42px Georgia,serif}.event h3{margin:0 0 8px}.event p{margin:0;font-size:15px}.tag{font-size:12px;background:#f6f5eb;border-radius:20px;padding:5px 12px}.gallery-section{padding:85px 0}.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px}.gallery button{border:0;padding:0;text-align:left;background:transparent;color:inherit}.gallery img{width:100%;height:280px;object-fit:cover;border-radius:6px;display:block}.gallery button:nth-child(2) img{object-position:70%;filter:sepia(.3)}.gallery button:nth-child(3) img{object-position:20%;filter:saturate(.65)}.caption{display:block;padding:12px 0;font-size:14px}.contact{background:#284533;color:#f7f5ed;padding:85px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.contact p{color:#dae1d1}.contact form{display:grid;gap:18px}label{display:block;font-size:14px}input:not([type=checkbox]),textarea{display:block;width:100%;padding:12px;margin-top:5px;background:#fffdf6;color:#263e32;border:1px solid #acb8a4;border-radius:4px}textarea{min-height:130px}.notice{font-size:13px;padding:12px 16px;border:1px solid #cad4bc;border-radius:4px}.footer{padding:30px 0;display:flex;justify-content:space-between;gap:20px;font-size:13px}.footer a{margin-left:20px}.draft{background:#ede1bd;color:#4e4b32;text-align:center;padding:8px;font-size:12px}.prose{max-width:800px;padding:65px 32px;min-height:60vh}.prose img{max-width:100%}dialog{border:0;border-radius:8px;max-width:900px;width:90%;padding:20px;background:#f7f5ed;color:#263e32}dialog::backdrop{background:#10271dcc}dialog img{width:100%}dialog button{float:right;padding:8px 15px}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}@media(max-width:800px){.wrap{padding:0 22px}.links{display:none;position:absolute;top:94px;left:0;right:0;background:#f7f5ed;padding:22px;flex-direction:column}.links.open{display:flex}.menu{display:block}.hero{min-height:650px}.hero .wrap{padding:75px 22px}.intro,.contact-grid{grid-template-columns:1fr;gap:25px}.intro{padding:60px 0}.values{grid-template-columns:1fr;gap:10px;padding-bottom:50px}.section-head{display:block}.gallery{grid-template-columns:1fr}.event{grid-template-columns:65px 1fr;gap:15px}.event .tag{grid-column:2}.band,.contact,.gallery-section{padding:60px 0}.footer{flex-direction:column}.hero-note{right:22px}.footer a{margin-left:0;margin-right:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.skip{position:absolute;left:-10000px}.skip:focus{left:10px;top:10px;z-index:20;background:#fff;padding:10px}.brand-logo{width:76px;height:auto}.brand{font-size:15px}.links{gap:17px}.links a{font-size:13px}.hero:before{background-position:center 58%}.news{padding-top:65px;padding-bottom:65px}.gallery img{filter:none!important}.prose h1{font-size:clamp(40px,5vw,65px)}.prose img{max-height:350px;object-fit:contain;border-radius:6px}.prose h2{font-size:36px}.footer{flex-wrap:wrap}.form-field{margin-bottom:18px}@media(max-width:1050px){.links{display:none;position:absolute;top:94px;left:0;right:0;background:#f7f5ed;padding:22px;flex-direction:column}.links.open{display:flex}.menu{display:block}}

.brand-logo{width:185px;height:auto}.brand>span{display:none}

/* Friendly, locally hosted typography and a generous navigation. */
@font-face{font-family:'Balsamiq Sans';src:url('../fonts/BalsamiqSans-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Balsamiq Sans';src:url('../fonts/BalsamiqSans-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
body{font-family:'Balsamiq Sans',system-ui,sans-serif;font-size:18px;line-height:1.7}
h1,h2,h3,.values b,.date strong{font-family:'Balsamiq Sans',system-ui,sans-serif}
h1,h2{font-weight:700;letter-spacing:-.025em}h1{font-size:clamp(45px,6vw,82px);line-height:1.15}h2{font-size:clamp(34px,4.1vw,54px);line-height:1.2}h3{font-size:29px;line-height:1.25}.hero p{font-size:22px}.eyebrow{font-size:13px;letter-spacing:2px}.button{border-radius:26px;padding:13px 25px;transition:background .18s,transform .18s}.button:hover{background:#e7ba7b;transform:translateY(-2px)}
.header{background:#f7f5ed;box-shadow:0 4px 25px #263e3207}.nav{display:grid;grid-template-columns:1fr auto;gap:15px;min-height:0;padding-top:19px;padding-bottom:15px}.brand{display:inline-flex;width:fit-content}.brand-logo{width:310px;max-height:88px;object-fit:contain;object-position:left;mix-blend-mode:multiply}.header-motto{font-size:18px;line-height:1.45;display:flex;align-items:center;gap:14px;color:#627757}.header-motto>span{font-size:44px;line-height:1;color:#b78a50}.links{grid-column:1/-1;display:flex;position:static;flex-direction:row;justify-content:space-between;gap:6px;background:transparent;padding:0;border-top:1px solid #dce3d3;padding-top:13px}.links a{font-size:20px;line-height:1.2;padding:11px 17px;border-radius:24px;transition:background .18s,color .18s;white-space:nowrap}.links a:hover,.links a:focus-visible{background:#e5ecdd;color:#244c30}.links a.button{background:#d7ab6c;color:#263e32;padding:12px 22px}.links a.button:hover{background:#e4ba7e}.menu{display:none}.menu-icon{margin-right:8px}.footer{font-size:16px}.footer a{display:inline-block;padding:7px 0}.prose h1{font-size:clamp(40px,5vw,66px)}.prose h2{font-size:36px}.intro p{font-size:19px}.values b{font-size:28px;font-weight:700}.date strong{font-size:42px}.team-intro{padding:65px 32px 25px}.team-intro h1{font-size:clamp(44px,5vw,70px);margin:12px 0 20px}.team-intro p{max-width:740px;color:#61705f}.team-list{padding-bottom:80px}.team-member{display:grid;grid-template-columns:300px 1fr;gap:55px;padding:45px 0;border-top:1px solid #d8dfcf;align-items:center}.team-member:nth-child(even){grid-template-columns:1fr 300px}.team-member:nth-child(even) .team-photo{order:2}.team-photo img{display:block;width:100%;height:345px;object-fit:cover;object-position:center 30%;border-radius:45% 43% 38% 42%;border:8px solid #e8edde;box-shadow:12px 12px 0 #e3d4b633}.team-copy h2{font-size:38px;margin:0 0 10px}.team-role{font-size:17px;color:#65775c;line-height:1.5;margin:0 0 20px}.team-copy blockquote{margin:22px 0;padding:22px 25px;border-left:4px solid #ba995f;background:#eceee2;border-radius:0 22px 22px 0;font-size:25px;line-height:1.5;color:#37543a}.team-copy p{max-width:660px}.quote-link{font-size:16px;color:#476b43;text-underline-offset:5px}.team-note{font-size:15px;color:#677761}.contact label{font-size:17px}.event p{font-size:17px}
@media(min-width:801px){html{scroll-padding-top:185px}}
@media(max-width:1050px) and (min-width:801px){.links{display:flex;position:static;flex-direction:row;padding:13px 0 0;gap:4px}.links a{font-size:18px;padding:10px 11px}.links a.button{padding:11px 17px}.menu{display:none}}
@media(max-width:800px){.nav{display:flex;justify-content:space-between;gap:12px;padding-top:16px;padding-bottom:16px;min-height:95px}.brand-logo{width:clamp(200px,57vw,275px);height:auto;max-height:75px}.header-motto{display:none}.menu{display:inline-flex;align-items:center;font-size:20px;line-height:1.2;border:1px solid #d3dec7;border-radius:24px;padding:11px 16px;background:#e8eddf;color:#2c4b36;flex-shrink:0}.links{display:none;position:absolute;top:100%;left:0;right:0;grid-column:auto;flex-direction:column;align-items:stretch;gap:7px;padding:15px 22px 22px;background:#f7f5ed;border-top:1px solid #dce3d3;border-bottom:1px solid #dce3d3;box-shadow:0 14px 20px #263e3215}.links.open{display:flex}.links a{font-size:22px;padding:12px 18px;min-height:48px}.links a.button{margin-top:4px;text-align:center;padding:15px 20px}.hero{min-height:640px}.hero p{font-size:20px}.hero .wrap{padding-top:65px;padding-bottom:85px}.team-intro{padding-top:45px}.team-member,.team-member:nth-child(even){grid-template-columns:1fr;gap:28px;padding:35px 0}.team-member:nth-child(even) .team-photo{order:0}.team-photo{max-width:310px;margin:auto;width:100%}.team-photo img{height:330px}.team-copy h2{font-size:33px}.team-copy blockquote{font-size:23px}.draft{font-size:11px}.footer{font-size:15px}}
@media(max-width:380px){.brand-logo{width:195px}.menu{font-size:18px;padding:10px 12px}.menu-icon{display:none}.nav{gap:8px}}
@media(prefers-reduced-motion:reduce){.button,.links a{transition:none}.button:hover{transform:none}}

.team-member{align-items:start}.team-photo{padding-top:8px}.team-copy blockquote{font-size:20px;line-height:1.7;padding:24px 28px}.team-copy blockquote p{margin:0 0 20px}.team-copy blockquote p:last-child{margin-bottom:0}.team-quotation{font-style:italic;color:#536d49;font-size:19px;line-height:1.7}@media(max-width:800px){.team-copy blockquote{font-size:19px;padding:20px}.team-quotation{font-size:18px}}

/* Compact team quotations, balanced with the portrait size. */
.team-member{gap:40px;padding:32px 0}.team-copy blockquote{font-size:16px;line-height:1.5;padding:17px 21px;margin:15px 0}.team-copy blockquote p{margin-bottom:12px}.team-copy blockquote p:last-child{margin-bottom:0}.team-quotation{font-size:15px;line-height:1.5;margin:12px 0}.team-role{font-size:16px;margin-bottom:13px}.team-copy h2{font-size:34px;margin-bottom:8px}@media(max-width:800px){.team-member{gap:23px;padding:28px 0}.team-copy blockquote{font-size:16px;line-height:1.55;padding:16px 18px}.team-quotation{font-size:15px}.team-copy h2{font-size:30px}}

/* Keep the extended main navigation comfortable at every width. */
@media(min-width:1051px){.links{flex-wrap:wrap;justify-content:center;gap:4px 8px}.links a{padding-left:13px;padding-right:13px}}
@media(min-width:801px) and (max-width:1050px){.links{flex-wrap:wrap;justify-content:center;gap:6px 10px}.links a{padding:10px 13px}.links a.button{padding:11px 18px}html{scroll-padding-top:235px}}
.hero-note:empty{display:none}

/* Preserve soft linebreaks in Markdown and native form labels. */
.richtext p,.richtext li,form label,form button[type=submit]{white-space:pre-line}

/* Compact Glückspilz signature, with editable text from the homepage. */
.header-motto{gap:12px;color:#294533;line-height:1.35}.header-motto .motto-mushroom{width:54px;height:58px;object-fit:contain;flex-shrink:0}.motto-copy strong{display:block;font-size:23px;line-height:1.2}.motto-copy small{display:block;font-size:15px;margin-top:4px}@media(max-width:800px){.header-motto{display:flex;gap:8px;margin-left:auto}.header-motto .motto-mushroom{width:36px;height:40px}.motto-copy strong{font-size:19px}.motto-copy small{font-size:13px}.nav{flex-wrap:wrap}.header-motto{flex-shrink:0}}

/* Albums and original-resolution photo viewer. */
.album-card{display:block;position:relative;overflow:hidden;border-radius:20px;color:var(--green);background:#e9ede0;text-decoration:none}.album-card img{width:100%;aspect-ratio:10/7;object-fit:cover;transition:transform .25s}.album-card:hover img{transform:scale(1.035)}.album-card:focus-visible,.album-photos button:focus-visible{outline:3px solid #bb522c;outline-offset:4px}.album-card .caption{display:flex;justify-content:space-between;align-items:center;gap:12px}.album-card small{white-space:nowrap;font-size:14px}.album-back{display:inline-block;margin-bottom:28px}.album-all{margin-top:32px}.album-page .richtext{margin-bottom:30px}
#lightbox{max-width:min(1200px,96vw);width:96vw;max-height:94dvh;overflow:auto;box-sizing:border-box}#lightbox .lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;clear:both}#lightbox .lightbox-stage img{max-width:100%;width:auto;max-height:72dvh;object-fit:contain;margin:0 auto}#lightbox .lightbox-prev,#lightbox .lightbox-next{position:absolute;top:50%;transform:translateY(-50%);float:none;z-index:1;width:48px;height:48px;padding:0;border-radius:50%;font-size:38px;line-height:1;background:#f8f5e9;color:#294533;border:1px solid #294533;cursor:pointer}#lightbox .lightbox-prev{left:8px}#lightbox .lightbox-next{right:8px}#lightbox p{margin:16px 0 4px;text-align:center}#lightbox .lightbox-counter{display:block;text-align:center;font-size:14px}#lightbox [hidden]{display:none!important}@media(max-width:600px){#lightbox{padding:12px}.album-card .caption{font-size:16px}#lightbox .lightbox-prev,#lightbox .lightbox-next{width:40px;height:40px;font-size:30px}.album-photos{gap:14px}}

/* Shared visual scale for content pages and sections. */
:root{--paper:#f7f5ed;--ink:#294533;--muted:#61705f;--soft:#eceee2;--line:#d8dfcf;--accent:#ba995f;--heading:36px}
body{background:var(--paper);color:var(--ink);font-size:18px;line-height:1.65}
#main h1,#main h2{font-family:'Balsamiq Sans',system-ui,sans-serif;font-size:var(--heading);line-height:1.22;font-weight:700;letter-spacing:-.02em;margin:14px 0 24px;max-width:none;overflow-wrap:break-word}
#main h3{font-size:24px;line-height:1.3;font-weight:700;margin:0 0 10px}
#main .hero h1{font-size:clamp(38px,4.5vw,60px);max-width:900px;line-height:1.14;margin:20px 0 26px}
.hero p{font-size:20px;line-height:1.6}.hero{min-height:620px}
#main .prose h2{font-size:26px;margin:32px 0 16px}#main .prose h3{font-size:22px;margin-top:26px}
#main .team-copy h2{font-size:26px;margin:0 0 10px}#main .event h3{font-size:24px}
.eyebrow{font-size:12px;letter-spacing:1.6px;color:var(--muted)}.hero .eyebrow{color:#fff9e9}
.prose{max-width:1200px;padding:64px 32px;min-height:55vh}.prose .richtext{max-width:820px}.richtext p{margin:0 0 20px}.richtext a{color:#456445;text-underline-offset:4px}
.band,.gallery-section,.contact{padding:64px 0;background:transparent;color:var(--ink)}.team-intro{padding:64px 32px 24px}.news{padding-top:56px;padding-bottom:56px}
.section-head{align-items:flex-start;margin-bottom:32px;gap:36px}.section-head p{font-size:18px;line-height:1.65;color:var(--muted);margin-top:14px}
.contact p{color:var(--muted)}.contact-grid{gap:48px;align-items:start}.contact-grid>div:last-child{background:var(--soft);padding:26px;border-left:4px solid var(--accent);border-radius:0 18px 18px 0}.contact .notice{margin:0;border:0;padding:0;background:transparent}
.team-intro p{color:var(--muted)}.team-copy blockquote,.prose blockquote{background:var(--soft);color:var(--ink);border-left:4px solid var(--accent);border-radius:0 18px 18px 0;padding:18px 22px}.prose blockquote{margin:24px 0}.prose blockquote p:last-child{margin-bottom:0}
.values b{font-size:24px}.values p{font-size:18px;color:var(--muted)}.values{border-color:var(--line);padding-bottom:48px}
.event{border-color:var(--line);padding:24px 0}.event a{text-underline-offset:4px}.tag{background:var(--soft);color:var(--ink);font-size:13px}.event p{color:var(--muted);font-size:17px}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.album-card{background:var(--soft);color:var(--ink);border-radius:16px}.album-card img{height:auto;aspect-ratio:10/7;border-radius:0}.album-card .caption{display:block;text-align:center;padding:15px 16px;font-size:18px;line-height:1.35}.album-card .caption strong{font-weight:700}.album-photos img{height:auto;aspect-ratio:10/7;border-radius:12px}.album-photos button:nth-child(n) img{object-position:center}
.album-page .section-head{display:block;text-align:center;margin-bottom:32px}.album-page .section-head h1{margin-bottom:0}.album-back{font-size:16px;color:var(--muted);text-underline-offset:4px;margin-bottom:22px}.album-page .richtext{max-width:820px;margin-left:auto;margin-right:auto}
#lightbox p{display:none}.lightbox-counter{margin-top:14px;color:var(--muted)}.footer{border-top:1px solid var(--line);padding:24px 32px;font-size:15px;color:var(--muted)}
@media(max-width:800px){:root{--heading:30px}.prose{padding:44px 22px}.team-intro{padding:44px 22px 20px}.band,.gallery-section,.contact{padding:44px 0}.section-head{margin-bottom:26px}.section-head p{margin:0 0 20px}.contact-grid{gap:26px}.contact-grid>div:last-child{padding:20px}.gallery{grid-template-columns:1fr;gap:22px}.news{padding-top:44px;padding-bottom:44px}.footer{padding:24px 22px}#main .team-copy h2{font-size:25px}#main .prose h2{font-size:25px}.hero{min-height:580px}.hero p{font-size:19px}}
