:root{--blue:#19385E;--navy:#19385E;--red:#c8202c;--gold:#f4c345;--paper:#fffdf7;--ink:#19385E}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #d19600;outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1;font-family:'Merriweather', Georgia, serif;font-weight:900}h1{font-size:clamp(2.8rem,6vw,5.2rem);letter-spacing:-.03em;margin-bottom:24px}h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:24px}h3{font-size:1.15rem;margin-bottom:12px}p{margin-bottom:20px}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0}.logo{width:150px}.header nav{display:flex;gap:24px;font-size:1rem;font-weight:bold;justify-content:center}.header nav a:hover{color:var(--red)}.hero{background:var(--blue);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center}.hero-copy{padding:58px 40px 58px 0;text-align:center}.eyebrow{font-family:'Plus Jakarta Sans', sans-serif;font-weight:800;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:18px}.hero .eyebrow{color:var(--gold)}.hero h1 span{color:var(--gold)}.hero-lead{max-width:740px;font-size:1.15rem;margin-left:auto;margin-right:auto}.hero-art{overflow:hidden;aspect-ratio:497/1055;max-height:690px;align-self:stretch;position:relative}.hero-art img{width:300%;max-width:none;position:absolute;right:0;top:0;height:100%;object-fit:cover}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;justify-content:center}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;background:var(--gold);color:var(--navy);font-size:1rem;font-weight:700;min-height:48px}.button:hover{background:#ffda73}.button.secondary{background:white;color:var(--blue)}.date-line{text-align:center;margin-top:24px}.date-line .date-highlight{display:block;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:900;color:var(--gold);margin-bottom:8px;line-height:1.1}.date-line .location-sub{display:block;font-size:1.25rem;font-weight:700}.ribbon{height:7px;background:linear-gradient(to right,var(--red) 0 25%,white 25% 50%,var(--blue) 50% 75%,var(--gold) 75%)}section.content{padding:64px 0}.intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}.number{font:900 clamp(5rem,12vw,9rem)/.9 'Merriweather', Georgia, serif;color:var(--red);display:block;margin-bottom:16px}.caption{font-weight:bold;color:var(--blue)}.quote-highlight{font-family:'Merriweather', Georgia, serif;font-weight:900;font-style:italic;font-size:clamp(1.4rem,3vw,2.2rem);color:var(--red);line-height:1.25;margin-top:78px;padding-left:16px;border-left:4px solid var(--gold)}.visit{background:#edf2f8}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.info{background:white;border-radius:16px;padding:28px}.info p:last-child{margin-bottom:0}.hours{margin:0}.hours div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #dde3ec}.hours div:last-child{border:0}.hours dt,.hours dd{margin:0}.hours dd{text-align:right;font-weight:bold}.finish{margin:24px 0 0;padding:20px 24px;border-left:5px solid var(--red);background:white}.artists{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}.artist{padding:24px 0;border-top:1px solid #cbd5e2}.artist h3{color:var(--blue)}.artist p{margin:0}.sale{background:var(--navy);color:white}.sale h2{color:var(--gold)}.sale-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.donation{border-top:1px solid #607290;margin-top:24px;padding-top:24px;font-weight:bold;color:var(--gold)}.partners{display:grid;grid-template-columns:1fr 1fr;gap:40px}.partners ul{padding-left:20px;margin-bottom:0}.partners li{margin-bottom:8px}.muted{font-size:.9rem;color:#465b74}.flyers{margin-top:32px;border:1px solid #ccd6e3;border-radius:14px;overflow:hidden}summary{cursor:pointer;font-weight:bold;padding:20px;background:#edf2f8}.flyer-grid{display:grid;gap:20px;padding:20px}.flyer-grid a{display:block}.footer{padding:28px 0;background:var(--navy);color:white}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.footer p{margin:0;font-size:.9rem}.footer nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.footer a{padding:10px 22px;border:1px solid #cfdeea;border-radius:999px;background:#eef4f8;color:#19385E;font-size:1rem;font-weight:bold}.footer a:hover{background:#19385E;color:white}.footer-bottom{text-align:center;margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,0.1);font-weight:700;color:var(--gold)}.footer-bottom p{margin:0;font-size:.95rem}.skip{position:absolute;left:16px;top:-100px;background:white;padding:10px;z-index:5}.skip:focus{top:10px}
@media(max-width:700px){body{font-size:17px}.wrap{width:calc(100% - 32px)}.header{padding:14px 0;flex-direction:column;justify-content:center}.logo{width:120px}.header nav{gap:14px;font-size:.9rem;justify-content:center}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:38px 0 32px}.hero-art{height:350px;aspect-ratio:auto;margin:0 -16px}.hero-art img{height:auto;top:auto;bottom:-10%;width:300%}.hero h1{font-size:2.9rem}.hero-lead{font-size:1.05rem}.intro,.visit-grid,.artists,.sale-grid,.partners{grid-template-columns:1fr;gap:24px}.intro{gap:30px}.number{font-size:5rem}.info{padding:22px}section.content{padding:42px 0}.hours div{font-size:.95rem}.footer-inner{justify-content:center;text-align:center;flex-direction:column}.footer nav{justify-content:center;width:100%}.flyer-grid{padding:10px}.actions .button{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Jubiläum-Banner und Originalmotive */
.banner-wrap{max-width:1440px;margin:auto}.jubilee-banner{width:100%;height:auto}.hero-grid{display:block}.hero-copy{padding:30px 0 38px;max-width:850px;margin:0 auto}.hero h1{font-size:clamp(1.7rem,3.5vw,2.6rem);margin-bottom:16px}.character{max-height:310px;width:auto;margin:24px auto 0}.art-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.art-heading img{height:230px;width:auto;max-width:35%;object-fit:contain}.venue-logo-link{display:inline-block;margin-bottom:24px}.venue-logo{width:220px;max-height:95px;object-fit:contain;display:block;margin:0 auto}.venue-date{font-size:1.8rem;font-weight:900;color:var(--blue);margin-bottom:16px}.visit-grid .info:first-child{text-align:center}.organizers-row{display:flex;align-items:center;justify-content:center;gap:36px;margin-top:20px}.organizer-main{width:220px;max-height:180px;object-fit:contain;margin:0;transition:transform .15s ease}.organizer-main:hover{transform:scale(1.03)}.organizer-co{width:150px;max-height:140px;object-fit:contain;margin:0;transition:transform .15s ease}.organizer-co:hover{transform:scale(1.03)}.sponsors{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sponsor{min-height:135px;background:white;border:1px solid #dde3ec;border-radius:12px;padding:18px;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.sponsor:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.sponsor img{width:100%;max-height:115px;object-fit:contain}.artist-logo{display:block;text-align:center;margin-top:16px}.artist-logo img{max-height:70px;width:auto;object-fit:contain;margin:0 auto}
@media(max-width:700px){.hero-copy{padding:24px 0 30px}.hero h1{font-size:1.8rem}.character{height:240px}.intro>div:first-child{text-align:center}.art-heading img{height:165px}.art-heading h2{font-size:1.9rem}.sponsors{gap:12px}.sponsor{padding:12px;min-height:110px}.header nav{gap:10px;font-size:.85rem}.header{gap:10px}.header .logo{width:100px}.organizers-row{gap:24px}.organizer-main{width:170px}.organizer-co{width:115px}.artist-logo img{max-height:55px}.venue-date{font-size:1.4rem}.date-line .date-highlight{font-size:1.8rem}.date-line .location-sub{font-size:1rem}}

/* Nach oben Button Styles */
#backToTop {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background-color: var(--red);
  color: #ffffff;
  font-size: 22px;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.2s ease, background-color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
#backToTop.show {
  opacity: 1;
  visibility: visible;
}
#backToTop:hover {
  background-color: var(--gold);
  color: var(--navy);
  transform: translateY(-3px);
}

/* Katalogseiten im bestehenden Ausstellungsdesign */
.header nav{flex-wrap:wrap;align-items:center}
.greeting-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.greeting-links .info{border:1px solid #d7e0ed}
.greeting-links .info:hover{border-color:var(--blue)}
.greeting-links span{font-weight:700;color:var(--blue)}
.catalog-action{margin:28px 0 0}
.catalog-back{display:inline-block;margin-bottom:28px;font-weight:700;text-decoration:none}
section.content h1{font-size:clamp(2rem,5vw,3.3rem);overflow-wrap:anywhere;hyphens:auto}
.greeting-text{max-width:780px;margin:0 auto;overflow-wrap:anywhere}
.greeting-text h1{font-size:clamp(2rem,5vw,3.3rem)}
.greeting-role{font-weight:700;color:var(--blue);margin-bottom:36px}
.greeting-nav{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:40px}
.greeting-nav [aria-current]{outline:2px solid var(--blue)}
.catalog-artists{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;padding:0;margin:32px 0}
.catalog-artists li{padding:18px 0;border-top:1px solid #cbd5e2;overflow-wrap:anywhere}
.catalog-artists span{display:block;font-size:.95rem;color:#465b74}
.catalog-source{font-size:.9rem;margin:28px 0}
.auction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}
.auction-work{display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:var(--paper);color:var(--ink)}
.auction-image,.auction-unrevealed{height:300px;background:#edf2f8;display:flex;align-items:center;justify-content:center;padding:16px}
.auction-image img{max-height:100%;width:100%;height:100%;object-fit:contain}
.auction-unrevealed{background:var(--blue);color:var(--gold);text-align:center;font:900 1.6rem/1.3 'Merriweather',Georgia,serif}
.auction-copy{padding:24px;display:flex;flex-direction:column;flex:1;overflow-wrap:anywhere}
.auction-copy h2{color:var(--ink);font-size:1.4rem;margin-bottom:12px}
.auction-copy .eyebrow{font-size:.72rem;letter-spacing:.06em}
.auction-artist{font-weight:700;color:var(--blue)}
.auction-details{font-size:1rem}
.auction-copy .button{margin-top:auto;align-self:flex-start}
.bidding-form-wrap{scroll-margin-top:24px}
.bidding-form-wrap select{max-width:100%;text-overflow:ellipsis}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:1000px){.auction-grid,.catalog-artists{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.auction-grid,.catalog-artists,.greeting-links{grid-template-columns:1fr}.auction-image,.auction-unrevealed{height:320px}.bidding-form-wrap{padding:18px!important}.header nav{row-gap:12px}.auction-copy{padding:22px}}

/* Porträts mit umlaufendem Grußworttext */
.greeting-body{display:flow-root}
.greeting-portrait{float:right;width:220px;max-width:35%;margin:2px 0 24px 32px;padding:10px;background:#fff;border:1px solid #e2e6ed;border-radius:12px}
.greeting-portrait img{display:block;width:100%;height:auto;border-radius:6px}
.greeting-body--portrait-left .greeting-portrait{float:left;margin:2px 32px 24px 0}
.greeting-body p{line-height:1.8}
@media(max-width:540px){.greeting-portrait{float:none;width:170px;max-width:65%;margin:0 auto 28px}.greeting-body p{line-height:1.75}}
@media(max-width:540px){.greeting-body--portrait-left .greeting-portrait{float:none;margin:0 0 28px}}

/* SKTC: Links ohne Unterstreichung in allen Zuständen. */
a:any-link,a:any-link:hover,a:any-link:focus,a:any-link:focus-visible,a:any-link:active,a:any-link *{text-decoration:none!important}

/* SKTC: Flache Formularfelder ohne native 3D-Raender. */
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="file"]):not([type="color"]),textarea,select){
 appearance:none;-webkit-appearance:none;box-shadow:none!important;background-image:none;border:1px solid #8b96a3!important;border-radius:8px;background-color:rgba(255,255,255,.8);color:inherit;font:inherit;box-sizing:border-box;
}
:where(input,textarea,select):focus-visible{outline:2px solid #224579;outline-offset:2px;box-shadow:none!important}
select{padding-right:2rem!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2330343b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .65rem center!important;background-size:16px!important}
select[multiple],select[size]:not([size="1"]){background-image:none!important;padding-right:.65rem!important}
input[type="file"]::file-selector-button{border:1px solid #8b96a3;border-radius:8px;background:#f2f5f9;color:#30343b;box-shadow:none;font:inherit;padding:.5rem .8rem}

/* SKTC: Aktionsbuttons in Modal-Fenstern linksbuendig. */
:is(dialog,[role="dialog"],.modal-content) :is(button,input[type="submit"],input[type="button"],input[type="reset"],a.button,a.btn):not(.modal-close):not(.story-close):not(.close):not(.btn-close):not([aria-label][data-close]:empty){margin-left:0!important;margin-right:auto!important;align-self:flex-start!important}
:is(dialog,[role="dialog"],.modal-content) :is(.modal-footer,.dialog-actions,.modal-actions,.form-actions,.actions,.button-row){justify-content:flex-start!important;text-align:left!important}
:is(dialog,[role="dialog"],.modal-content) :is(form,.button-group,.buttons){text-align:left}
