:root{--paper:#fbf8f0;--ink:#1d342e;--muted:#616b62;--wine:#8d1b2c;--olive:#123f33;--line:#e4dfd1;--white:#fffdf8;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}[hidden]{display:none!important}a{color:inherit}button,input,textarea{font:inherit;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a,button,input,textarea{outline-offset:5px}:focus-visible{outline:3px solid var(--olive)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}h2{font-size:43px;letter-spacing:-1.3px}h3{font-size:28px}p{margin-bottom:1.1em}.wrap{width:min(1160px,calc(100% - 80px));margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;z-index:20;padding:10px;background:white}.skip:focus{top:12px}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:112px;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-family:var(--serif);font-size:23px;line-height:1.2}.brand small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:2.2px;margin-top:8px;color:var(--muted)}.brand-mark{font-size:46px;color:var(--wine);line-height:1}.site-header nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}.site-header nav a{text-decoration:none}.site-header nav a:hover,.text-link:hover,.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}.nav-date{border:1px solid var(--line);border-radius:4px;padding:10px 16px}.nav-date span{margin-left:15px;color:var(--wine)}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:60px;padding-block:65px 70px;align-items:center}.eyebrow{display:block;color:var(--wine);font-size:10px;font-weight:700;letter-spacing:2.3px;line-height:1.5;margin-bottom:23px}.hero h1{font-size:clamp(48px,5.7vw,74px);letter-spacing:-2.6px;line-height:1.03;margin-bottom:25px;max-width:560px}.lead{font-size:17px;line-height:1.8;color:#646255;max-width:515px}.hero-actions{display:flex;gap:23px;align-items:center;margin:30px 0 32px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;border:1px solid transparent;border-radius:4px;padding:13px 19px;text-decoration:none;font-size:13px;font-weight:600;line-height:1.5;min-height:46px;background:transparent}.button.primary{background:var(--wine);color:white}.button.primary:hover{background:#602323}.button.outline{border-color:#c9c5b7;color:var(--olive);background:transparent}.button.outline:hover{background:#efeee4}.button.small{min-height:36px;padding:7px 12px;font-size:12px;gap:8px}.text-link{font-size:12px;font-weight:600;text-decoration:none;color:var(--olive)}.hero-meta{display:flex;gap:13px;align-items:center;font-size:11px;color:var(--muted);line-height:1.7}.hero-meta strong{font-weight:400}.tiny-star{color:#aa8c58;font-size:26px}.hero-art{position:relative;background:#eeede3;border-radius:190px 190px 10px 10px;min-height:475px;padding:40px 22px 28px;text-align:center;isolation:isolate}.hero-art img{display:block;width:100%;height:340px;object-fit:contain;margin:-15px auto -50px}.art-label{font-size:8px;letter-spacing:2px;color:var(--olive);position:relative;z-index:1}.art-caption{position:relative;font-family:var(--serif);font-size:28px;line-height:1.1;z-index:1}.art-caption em{color:var(--wine)}.art-stamp{position:absolute;right:-18px;bottom:42px;transform:rotate(9deg);background:var(--wine);color:#fbf3df;border-radius:50%;width:83px;height:83px;display:grid;place-content:center;font-size:8px;letter-spacing:1.8px;line-height:2;outline:1px dashed #bf8e80;outline-offset:-7px}.event-band{background:var(--olive);color:#fffdf2}.event-inner{display:grid;grid-template-columns:1.6fr .55fr 1fr;align-items:center;gap:36px;padding-block:32px}.event-inner .eyebrow{color:#d9dec9;margin-bottom:9px;font-size:8px;letter-spacing:2px}.event-inner h2{font-size:27px;letter-spacing:-.5px;margin:0}.event-time{display:flex;align-items:baseline;gap:10px;border-left:1px solid #879279;padding-left:35px}.event-time strong{font-family:var(--serif);font-size:41px;line-height:1;font-weight:400;white-space:nowrap}.event-time span{font-size:9px;letter-spacing:1px}.event-inner p{margin:0;font-size:12px;max-width:260px;line-height:1.8}.music-section{padding-block:78px 68px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2{margin-bottom:19px}.section-intro{font-size:14px;color:var(--muted);max-width:700px;margin-bottom:28px}.notice{border-left:3px solid #bda572;padding:10px 16px;background:#f0ece0;color:#6b6049;font-size:12px;margin-bottom:24px}.empty-state{border:1px solid var(--line);border-radius:8px;min-height:285px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:38px 24px;background:var(--white)}.empty-note{font-family:var(--serif);font-size:45px;line-height:1;color:var(--wine);margin-bottom:15px}.empty-state h3{font-size:30px;margin-bottom:13px}.empty-state p{font-size:13px;color:var(--muted);line-height:1.8}.card-kicker{font-size:8px;letter-spacing:1.7px;color:var(--olive);font-weight:700;margin-bottom:14px;display:block}.empty-state .text-link{font-size:11px}.download-hint{font-size:11px;color:var(--muted);margin:20px 0 0;max-width:700px}.song-card{background:var(--white);border:1px solid var(--line);border-radius:6px;margin-bottom:14px;overflow:hidden}.song-card summary{list-style:none;display:flex;align-items:center;gap:22px;padding:24px;cursor:pointer}.song-card summary::-webkit-details-marker{display:none}.song-number{font-family:var(--serif);font-size:23px;color:#a88a67;width:32px}.song-heading{flex:1}.song-heading strong{font-family:var(--serif);font-size:25px;font-weight:400;display:block}.song-heading small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.song-expand{font-size:27px;color:var(--olive);font-weight:300}.song-card[open] .song-expand{transform:rotate(45deg)}.song-content{border-top:1px solid var(--line);padding:0 24px 20px}.song-description{font-size:13px;color:var(--muted);margin:20px 0 0}.asset-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(240px,1.3fr) 110px;align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid #ece8df}.asset-title{display:flex;align-items:center;gap:12px}.asset-title strong{font-size:13px;font-weight:600;display:block}.asset-title small{display:block;font-size:10px;color:var(--muted)}.file-icon{font-size:25px;color:var(--wine);width:27px;text-align:center}.asset-row audio{width:100%;height:38px}.download-file{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:11px;text-decoration:none;color:var(--olive);min-height:40px}.download-file:hover{text-decoration:underline}.download-file>span:first-child{font-size:23px}.pdf-hint{font-size:11px;color:var(--muted)}.song-zip{display:inline-flex;gap:15px;font-size:11px;margin-top:18px;color:var(--olive);text-decoration:none}.song-zip:hover{text-decoration:underline}.participate{background:#eeeede;padding:65px 0}.participate-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.participate h2{font-size:49px;margin-bottom:25px}.participate p{font-size:14px;color:#666858;max-width:450px}.rehearsal-card{background:var(--white);padding:36px 38px;border-radius:7px;border:1px solid #dfdfcf;transform:rotate(-1deg)}.rehearsal-card h3{font-size:28px;margin-bottom:22px}.rehearsal-card ul{list-style:none;padding:0;margin:0}.rehearsal-card li{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;display:flex;align-items:center;gap:12px}.date-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#a78f61}.rehearsal-location{display:flex;gap:12px;align-items:center;font-size:12px;margin:19px 0;color:var(--olive)}.rehearsal-location>span:first-child{font-size:24px}.rehearsal-card .contact-line{font-size:11px;border-top:1px solid var(--line);padding-top:17px;margin-bottom:0}.contact-line strong{color:var(--ink);font-weight:600}.contact-line a{display:block;color:var(--wine);overflow-wrap:anywhere}.rehearsal-card .muted{font-size:11px;margin:12px 0 0}.site-footer{padding-block:37px;display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-brand{font-size:18px}.footer-brand .brand-mark{font-size:33px}.footer-brand small{font-size:7px;letter-spacing:1.3px}.footer-links{display:flex;gap:22px;font-size:10px;color:var(--muted)}.footer-links a{text-decoration:none}.link-button{border:0;background:transparent;padding:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px}.muted{color:var(--muted)}dialog{border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:35px;width:min(650px,calc(100% - 30px));max-height:90vh}dialog::backdrop{background:#25291fd0;backdrop-filter:blur(3px)}dialog h2{font-size:32px;margin-bottom:24px}.dialog-close{position:absolute;right:15px;top:8px;background:transparent;border:0;font-size:28px;color:var(--muted);min-width:38px;min-height:38px}.prose{white-space:pre-wrap;font-size:14px}.auth-shell{max-width:440px;padding:55px 28px;margin:40px auto}.auth-shell .eyebrow{margin-bottom:14px}.auth-shell h1{font-size:42px;letter-spacing:-1px;margin-bottom:17px}.auth-shell>p{font-size:14px;color:var(--muted)}label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}input,textarea{width:100%;border:1px solid #cac7b9;background:var(--white);border-radius:4px;padding:11px 12px;color:var(--ink);font-size:14px;line-height:1.5}textarea{resize:vertical;min-height:94px}.field{margin-bottom:18px}.field-help{font-size:11px;color:var(--muted);margin:6px 0 0}.form-error{font-size:12px;color:#9b2525;min-height:20px}.auth-shell .button{width:100%;margin-top:8px}.admin-main{padding:42px 0 70px}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.admin-heading h1{font-size:40px;margin-bottom:7px}.admin-heading p{font-size:13px;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:25px 0 30px}.stat{background:var(--white);border:1px solid var(--line);border-radius:5px;padding:20px}.stat strong{display:block;font-size:30px;font-weight:400;font-family:var(--serif)}.stat span{font-size:11px;color:var(--muted)}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:26px;overflow-x:auto}.tabs button{padding:12px 2px;border:0;border-bottom:3px solid transparent;background:none;white-space:nowrap;font-size:13px;color:var(--muted)}.tabs button[aria-selected=true]{border-color:var(--wine);color:var(--wine);font-weight:600}.admin-panel{background:var(--white);border:1px solid var(--line);padding:28px;border-radius:6px}.admin-song{border:1px solid var(--line);border-radius:6px;background:var(--white);padding:20px 24px;margin:0 0 14px}.admin-song-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.admin-song h3{font-size:25px;margin:0 0 6px}.admin-song p{margin:0;font-size:11px;color:var(--muted)}.song-state{font-size:9px;font-weight:600;letter-spacing:.6px;border-radius:3px;padding:4px 9px;background:#f0e9d9;color:#7f6a3e;white-space:nowrap}.song-state.live{color:#4f6448;background:#e9eee1}.admin-song-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}.danger{color:#a03030!important}.admin-song-actions .link-button{margin-left:auto;font-size:11px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.toolbar p{margin:0;font-size:12px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.form-grid .full{grid-column:1/-1}.admin-panel h2{font-size:29px;letter-spacing:-.6px;margin-bottom:10px}.panel-intro{font-size:12px;color:var(--muted);margin-bottom:25px}.admin-panel h3{font-family:var(--sans);font-size:14px;font-weight:600;margin-top:27px;line-height:1.5}.settings-actions{border-top:1px solid var(--line);padding-top:22px;margin-top:10px}.qr-grid{display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:center}.qr-grid img{width:240px;height:240px;border:1px solid var(--line);border-radius:5px;background:white}.public-address{display:block;overflow-wrap:anywhere;font-size:16px;font-weight:600;color:var(--wine);margin:15px 0}.qr-actions{display:flex;gap:12px;flex-wrap:wrap}.password-panel{border-top:1px solid var(--line);margin-top:30px;padding-top:10px}.password-panel form{max-width:420px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:12px 23px;color:white;background:#46583e;border-radius:5px;font-size:13px;z-index:100;box-shadow:0 5px 30px #0002}.toast.error{background:#8c3030}#song-dialog{width:min(780px,calc(100% - 30px));padding:34px}.editor-files{margin-top:27px;border-top:1px solid var(--line);padding-top:20px}.editor-files h3{font-family:var(--sans);font-size:16px;font-weight:600;line-height:1.5}.file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;padding:0}.upload-zone{border:1px dashed #a5ab96;border-radius:5px;padding:20px;text-align:center;background:#f0f1e7;color:var(--olive);cursor:pointer;font-size:13px;font-weight:400;margin:16px 0}.upload-zone.dragover{background:#e1e7d2;border-color:var(--olive)}.upload-zone strong{display:block}.upload-zone small{display:block;font-size:10px;margin-top:4px}.file-input:focus-visible+label{outline:3px solid var(--olive)}.editor-asset{display:grid;grid-template-columns:1fr 65px 70px 35px;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.editor-asset input{font-size:12px;padding:7px 8px}.editor-asset small{font-size:10px;color:var(--muted)}.editor-asset .link-button{font-size:11px}.editor-asset .delete-asset{font-size:23px;text-decoration:none;border:0;background:none;color:#9b4840}.editor-progress{width:100%;height:10px;accent-color:var(--olive)}.editor-actions{display:flex;align-items:center;gap:15px;margin:22px 0}.editor-actions p{font-size:11px;color:var(--muted);margin:0}.header-actions{display:flex;gap:20px;align-items:center;font-size:12px}.admin-smallprint{font-size:10px;color:var(--muted);margin:15px 0}.readiness{font-size:12px;padding:13px 16px;background:#f2ead9;border-left:3px solid #b99c68;margin-bottom:22px}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:30px}.hero h1{font-size:58px}.hero-art{min-height:440px}.art-stamp{right:-8px}.hero-actions{gap:17px}.hero-actions .text-link{font-size:11px}.event-inner{grid-template-columns:1.5fr .8fr 1fr;gap:25px}.event-time{padding-left:22px}.event-inner h2{font-size:24px}.participate-grid{gap:45px}.section-heading h2{font-size:38px}.asset-row{grid-template-columns:minmax(130px,1fr) minmax(170px,1.3fr) 90px;gap:12px}}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.site-header{min-height:88px;gap:15px}.brand{font-size:19px;gap:9px}.brand-mark{font-size:35px}.brand small{font-size:7px;letter-spacing:1.7px}.site-header nav{gap:17px;font-size:11px}.nav-date{display:none}.hero{grid-template-columns:1fr;padding-block:43px 38px;gap:35px}.hero h1{font-size:59px;max-width:500px;letter-spacing:-2px}.hero .eyebrow{margin-bottom:18px}.lead{font-size:15px;max-width:550px}.hero-actions{margin:25px 0}.hero-meta{font-size:10px}.hero-art{min-height:380px;max-width:450px;width:100%;margin:auto;padding-top:26px}.hero-art img{height:285px;margin:-10px auto -42px}.art-caption{font-size:25px}.art-stamp{right:12px;bottom:28px;width:72px;height:72px;font-size:7px}.event-inner{grid-template-columns:1fr auto;gap:20px;padding-block:26px}.event-inner h2{font-size:24px}.event-inner p{grid-column:1/-1;max-width:none;font-size:11px;padding-top:10px;border-top:1px solid #7d896d}.event-time{padding-left:18px;gap:6px}.event-time strong{font-size:33px}.event-time span{font-size:8px}.music-section{padding-block:48px 45px}.section-heading{align-items:flex-start;flex-direction:column;gap:0}.section-heading h2{font-size:37px;margin-bottom:15px}.section-heading .button{margin-bottom:20px}.section-intro{font-size:13px}.notice{font-size:11px}.empty-state{padding:30px 18px;min-height:280px}.empty-state h3{font-size:26px}.empty-state p{font-size:12px}.song-card summary{padding:19px 16px;gap:10px}.song-heading strong{font-size:23px}.song-number{width:28px;font-size:20px}.song-content{padding:0 16px 18px}.asset-row{grid-template-columns:1fr auto;gap:12px;padding:16px 0}.asset-row audio{grid-row:2;grid-column:1/-1;height:40px}.asset-row .download-file{grid-column:2;grid-row:1}.asset-row .pdf-hint{grid-column:1;grid-row:2;font-size:10px}.song-zip{font-size:10px;line-height:1.8}.participate{padding:43px 0}.participate-grid{grid-template-columns:1fr;gap:25px}.participate h2{font-size:43px}.participate p{font-size:13px;max-width:none}.rehearsal-card{padding:27px 25px;transform:none}.rehearsal-card h3{font-size:27px}.site-footer{align-items:flex-start;flex-direction:column;padding-block:29px;gap:23px}.footer-links{font-size:10px;gap:23px}.footer-brand{font-size:18px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:15px}.stat strong{font-size:27px}.admin-heading h1{font-size:33px}.admin-heading{align-items:flex-start;flex-direction:column;gap:0}.admin-main{padding-top:28px}.header-actions{gap:12px;font-size:10px}.admin-panel{padding:20px}.form-grid{grid-template-columns:1fr;gap:0}.qr-grid{grid-template-columns:1fr;gap:10px}.qr-grid img{width:220px;height:220px;margin:auto}.admin-song{padding:18px}.admin-song h3{font-size:23px}.toolbar{align-items:flex-start;flex-direction:column;gap:15px}.editor-asset{grid-template-columns:1fr 45px 60px 30px;gap:5px}.editor-asset input{font-size:11px}.editor-actions{align-items:flex-start;flex-direction:column;gap:10px}#song-dialog{padding:28px 19px}.tabs{gap:20px}dialog{padding:32px 23px}.auth-shell{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-header nav,.hero-actions,.footer-links,.download-file,audio,.art-stamp{display:none!important}.hero{padding:20px 0;gap:25px}.hero h1{font-size:40px}.hero-art{min-height:300px}.hero-art img{height:230px}.event-band{background:white;color:black;border-block:1px solid #999}.event-inner .eyebrow{color:black}.music-section,.participate{padding:25px 0}.song-card,.rehearsal-card{break-inside:avoid}.wrap{width:100%}.notice{background:white}}


/* Farben und Gestaltung nach dem Veranstaltungsplakat. */
:root{--paper:#fbf8f0;--ink:#1d342e;--muted:#616b62;--wine:#8d1b2c;--olive:#123f33;--line:#e4dfd1;--white:#fffdf8;--apricot:#ffc087}
.site-header{min-height:124px;gap:24px}
.brand{gap:22px}.city-logo{display:block;object-fit:contain;width:140px;height:90px;flex-shrink:0}
.brand-text{font-size:24px}.brand small{letter-spacing:1.5px;line-height:1.6}
.site-header nav{gap:24px;font-size:13px}.nav-date{border-color:#d5dace}
.hero{gap:64px;padding-block:56px 58px}
.hero h1{font-size:clamp(45px,5.1vw,65px);line-height:1.1;letter-spacing:-1.7px;overflow-wrap:normal;color:var(--olive)}
.hero .eyebrow{font-size:10px;letter-spacing:1.7px}
.lead{color:#52625a;font-size:16px;line-height:1.85}
.hero-meta{display:block;font-size:12px;line-height:1.8;border-left:3px solid var(--apricot);padding-left:14px;margin:0;color:var(--muted)}
.hero-art{border-radius:12px;min-height:0;background:#f0f0e5;padding:18px 10px;display:flex;align-items:center;justify-content:center}
.hero-art img{height:auto;max-height:400px;margin:0;width:100%;object-fit:contain}
.button.primary{background:var(--olive);color:#fffdf8}.button.primary:hover{background:#0b3026}
.button.outline{border-color:#c8d0c5}.button.outline:hover{background:#edf0e7}
.eyebrow{color:var(--wine)}.event-band{background:var(--olive);border-top:3px solid var(--apricot)}
.event-inner .eyebrow{color:#f4d4ad}.event-time{border-left-color:#668276}
.event-inner h2{font-size:28px}.section-heading h2,.participate h2{color:var(--olive)}
.music-section{padding-block:64px 58px}.notice{border-left-color:var(--apricot);background:#f6edde;color:#665b46}
.empty-state{min-height:230px;border-radius:6px}.empty-state h3{font-size:28px}
.empty-note{font-size:38px;color:var(--wine)}.download-hint{font-size:12px;line-height:1.8}
.participate{background:#edf0e6;padding:58px 0}.participate-grid{gap:84px}
.participate h2{font-size:44px;line-height:1.15}.participate p{color:#526058}
.rehearsal-card{transform:none;border-color:#d9dfd0;border-radius:6px;border-top:3px solid var(--apricot)}
.card-kicker{font-size:9px;letter-spacing:1.3px;line-height:1.8}.date-dot{background:var(--wine)}
.rehearsal-location{color:var(--olive)}.contact-line a{color:var(--wine)}
.site-footer{padding-block:32px}.footer-links{font-size:12px}.footer-brand small{font-size:9px}
.auth-shell h1,.admin-heading h1,.admin-panel h2{color:var(--olive)}
@media(max-width:1000px) and (min-width:721px){.brand-text{font-size:20px}.brand{gap:15px}.city-logo{width:112px;height:76px}.site-header nav{gap:16px;font-size:12px}.nav-date{padding:8px 12px}.hero{gap:35px}.hero h1{font-size:51px}.hero-art img{max-height:340px}}
@media(max-width:720px){.site-header{min-height:0;display:flex;flex-wrap:wrap;padding-block:14px;gap:13px}.brand{gap:16px}.city-logo{width:92px;height:60px}.brand-text{font-size:21px}.brand small{font-size:8px;letter-spacing:1.1px}.site-header nav{width:100%;gap:25px;font-size:12px;padding-top:8px;border-top:1px solid var(--line)}.nav-date{display:inline-flex;margin-left:auto;padding:0;border:0}.nav-date span{margin-left:7px}.hero{padding-block:34px;gap:27px}.hero h1{font-size:clamp(36px,10.8vw,56px);letter-spacing:-1.3px;line-height:1.12}.hero .eyebrow{font-size:9px;letter-spacing:1.3px}.lead{font-size:14px;line-height:1.85}.hero-actions{gap:19px}.hero-meta{font-size:11px}.hero-art{padding:10px;min-height:0;max-width:400px}.hero-art img{height:auto;max-height:280px;margin:0}.event-inner h2{font-size:24px}.event-inner p{border-top-color:#668276}.music-section{padding-block:43px}.section-heading h2{font-size:36px}.empty-state{min-height:220px}.empty-state h3{font-size:25px}.download-hint{font-size:11px}.participate{padding-block:43px}.participate-grid{gap:25px}.participate h2{font-size:36px}.rehearsal-card{padding:26px 22px}.footer-links{font-size:11px}.footer-brand small{font-size:8px}}
@media(max-width:370px){.city-logo{width:80px}.brand{gap:13px}.brand-text{font-size:19px}.site-header nav{gap:14px;font-size:11px}.hero-actions{gap:16px}.hero h1{font-size:36px}}

/* Version 1.2: schlichte Flötenzeichnung und Anmeldung. */
.hero{display:block;padding-block:46px 28px}
.hero-copy{max-width:960px}
.hero h1{max-width:none;font-size:clamp(43px,5.4vw,68px)}
.hero .lead{max-width:760px}
.hero-meta{max-width:760px}
.hero-actions{margin-bottom:23px}
.flute-divider{width:100%;margin:24px 0 0;display:flex;justify-content:center;align-items:center}
.flute-divider img{display:block;width:min(930px,100%);height:136px;object-fit:cover;object-position:center}
.participation-action{margin-top:24px}
.participation-action .field-help{margin-top:12px}
#registration-dialog,#registration-editor{width:min(520px,calc(100% - 30px));padding:36px}
#registration-dialog .eyebrow{font-size:9px;margin-bottom:12px;padding-right:22px}
#registration-dialog h2{font-size:36px;letter-spacing:-.8px;padding-right:10px}
.registration-intro{font-size:14px;color:var(--muted);margin-bottom:25px}
#registration-people,#edit-registration-people{max-width:130px}
.ensemble-note{font-size:13px;line-height:1.7;margin-top:12px;padding:12px 14px;background:#f7eee2;border-left:3px solid var(--apricot);color:var(--ink)}
.registration-privacy{font-size:11px;line-height:1.8;color:var(--muted);margin-top:22px}
.registration-privacy button{margin-left:5px}
.registration-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#registration-submit{width:100%}
#registration-success{font-size:14px;line-height:1.8}
#registration-success h3{font-size:30px;color:var(--olive)}
.registration-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:630px;margin:24px 0 15px}
.registration-stats .stat strong{color:var(--olive);font-size:42px}
.registration-count-help{max-width:740px;line-height:1.8;margin-bottom:24px}
.registration-list{border-top:1px solid var(--line)}
.registration-row{display:flex;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.registration-person{flex:1;min-width:0}
.registration-person h3{font-size:24px;margin:0 0 7px;overflow-wrap:anywhere}
.registration-person small{font-size:11px;color:var(--muted)}
.registration-size{font-size:25px;font-weight:500;white-space:nowrap;color:var(--olive)}
.registration-size span{font:12px var(--sans);color:var(--muted)}
.registration-row-actions{display:flex;align-items:center;gap:18px;font-size:12px}
.registration-empty{padding:24px 0;margin:0;color:var(--muted);font-size:14px}
@media(max-width:720px){.hero{padding-block:33px 17px}.hero h1{font-size:clamp(37px,10.5vw,56px)}.flute-divider{margin-top:19px}.flute-divider img{height:70px}.hero-actions{gap:15px}.hero-actions .button{font-size:12px;padding:12px 14px}.hero-actions .text-link{font-size:12px}.participation-action .button{width:100%}#registration-dialog,#registration-editor{padding:30px 22px}#registration-dialog h2{font-size:31px}.registration-stats{gap:10px}.registration-stats .stat strong{font-size:35px}.registration-stats .stat span{font-size:10px}.registration-row{flex-wrap:wrap;gap:13px}.registration-person{min-width:65%}.registration-person h3{font-size:22px}.registration-size{margin-left:auto}.registration-row-actions{width:100%;gap:22px}.registration-privacy{font-size:11px}.ensemble-note{font-size:12px}.registration-intro{font-size:13px}}
@media print{.flute-divider img{height:100px}.participation-action,.registration-row-actions{display:none!important}}

.attendance-count{display:flex;align-items:center;gap:12px}.attendance-count input{width:100px}.attendance-count span{font-size:16px;color:var(--ink)}
.registration-names{border:0;padding:0;margin:24px 0 0;min-width:0}.registration-names legend{font-size:14px;font-weight:600}.registration-names>.field-help{margin:5px 0 16px}
.registration-namelist{list-style:none;padding:0;margin:0 0 8px;font-size:17px;color:var(--ink);line-height:1.65;overflow-wrap:anywhere}
@media(max-width:720px){.registration-namelist{font-size:16px}.registration-person{min-width:60%}.hero-actions .button{width:auto}.registration-stats .stat span{line-height:1.7;display:block}}

/* Downloadzugang klar hervorheben. */
.button.download-main{background:var(--wine);color:#fffdf8;border-color:var(--wine);gap:11px;font-weight:650}.button.download-main:hover{background:#711122;border-color:#711122}.download-symbol{flex-shrink:0}.download-file{justify-content:center;background:var(--wine);color:#fffdf8;border-radius:4px;padding:8px 11px;font-weight:600;line-height:1.4}.download-file:hover{background:#711122;text-decoration:none}
.contact-form{max-width:680px;margin-top:25px}.contact-form textarea{resize:vertical}.contact-line a{display:block;margin-top:8px}#contact-result{overflow-wrap:anywhere}
.contact-message-text{white-space:pre-wrap;overflow-wrap:anywhere}

/* Keep the attendance control anchored while more name fields appear. */
#registration-dialog{--dialog-gap:clamp(12px,4vh,40px);inset-block-start:var(--dialog-gap);inset-block-end:auto;margin-block:0;max-height:calc(100dvh - 2 * var(--dialog-gap));overflow-y:auto;scrollbar-gutter:stable;overflow-anchor:none}
