@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/PlayfairDisplay-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/PlayfairDisplay-900.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/SourceSans3-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/SourceSans3-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/SourceSans3-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'UnifrakturMaguntia';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/UnifrakturMaguntia-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}/* Krush Brau Park – "Festzelt" design: beer-hall wood, Bavarian sky blue & white Rauten, pretzel gold, festival red */
:root{--sky:#2a7fc9;--sky2:#5aa7e6;--navy:#123a63;--wood:#2b1a10;--wood2:#4a2c18;--wood3:#6b4226;--paper:#f7efe0;--paper2:#efe2c8;--gold:#d9a441;--gold2:#f2c46b;--red:#b3262e;--ink:#22170f;--r:6px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.65 "Source Sans 3",system-ui,sans-serif;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}a{color:var(--navy);text-underline-offset:3px}
p,li,dd,dt,td,th,address,h1,h2,h3,a,span,label,small,b{overflow-wrap:anywhere;word-break:normal;hyphens:auto}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:900;line-height:1.1;color:var(--wood);margin:.2em 0 .45em}
h1{font-size:clamp(2.3rem,7vw,4.8rem)}h2{font-size:clamp(1.7rem,4vw,2.6rem)}h3{font-size:1.3rem;font-weight:700}
.fraktur{font-family:"UnifrakturMaguntia",serif;font-weight:400;letter-spacing:.01em}
.wrap{width:min(1200px,100% - 2.4rem);margin-inline:auto}.narrow{max-width:860px}.center{text-align:center}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.topline{background:var(--wood);color:var(--gold2);font-size:.85rem;letter-spacing:.06em}.topline .wrap{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;flex-wrap:wrap}.topline a{color:#fff;text-decoration:none;font-weight:700}
.masthead{position:sticky;top:0;z-index:30;background:linear-gradient(#fff,#fff) padding-box;box-shadow:0 4px 18px #2b1a1033}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;min-width:0}.brand img{border-radius:50%;border:3px solid var(--sky);flex:none}
.brand b{display:block;font-family:"UnifrakturMaguntia",serif;font-weight:400;font-size:1.75rem;color:var(--wood);line-height:1}.brand small{display:block;color:var(--sky);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}
nav ul{list-style:none;display:flex;gap:.1rem;margin:0;padding:0;align-items:center}nav a{color:var(--wood);text-decoration:none;padding:.5rem .65rem;font-weight:700;border-bottom:3px solid transparent}nav a:hover,nav a[aria-current]{border-color:var(--sky);color:var(--navy)}
.menu-btn{display:none;background:var(--wood);border:0;color:#fff;border-radius:var(--r);padding:.55rem .9rem;font-weight:700;font-size:1rem}
@media(max-width:1020px){.menu-btn{display:block}nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 10px 20px #0002}.nav-open nav{display:block}nav ul{flex-direction:column;align-items:stretch;padding:.5rem 1.2rem 1rem}nav a{display:block;padding:.75rem .4rem}}
.bunting{height:18px;background:conic-gradient(from 135deg at 50% 0,var(--sky) 0 90deg,transparent 0) 0 0/36px 18px,conic-gradient(from 135deg at 50% 0,#fff 0 90deg,transparent 0) 18px 0/36px 18px;filter:drop-shadow(0 2px 1px #0002);margin-bottom:-18px;position:relative;z-index:2}
.raute{height:28px;background:conic-gradient(from 45deg,var(--sky) 25%,#fff 0 50%,var(--sky) 0 75%,#fff 0) 0 0/28px 28px}
.btn{display:inline-block;background:var(--gold);color:var(--wood);font-weight:800;text-decoration:none;padding:.85rem 1.4rem;border-radius:var(--r);border:2px solid var(--gold);box-shadow:0 3px 0 var(--wood3);transition:.12s;text-align:center;font-size:1rem;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--gold2);transform:translateY(-1px)}.btn.sm{padding:.45rem .9rem;box-shadow:none}
.btn.ghost{background:transparent;color:#fff;border-color:#fff;box-shadow:none}.btn.ghost-dark{background:transparent;color:var(--wood);border-color:var(--wood);box-shadow:none}.btn.light{background:#fff;border-color:#fff;color:var(--navy)}
.row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.link{font-weight:800;color:var(--red)}
.hero{position:relative;color:#fff;background:linear-gradient(100deg,#1b0f08ee 0%,#1b0f08b0 45%,#1b0f0833 100%),var(--img) center/cover;padding:clamp(3.5rem,10vw,7rem) 0 clamp(3rem,7vw,5rem);border-bottom:6px solid var(--gold)}
.hero.home{min-height:min(84vh,760px);display:flex;align-items:center}.hero h1{color:#fff;text-shadow:0 3px 20px #000a;max-width:900px}.hero .big{font-size:1.1em;color:var(--gold2)}
.hero a:not(.btn){color:var(--gold2)}.lead{font-size:1.25rem;max-width:760px}.kicker{color:var(--gold2);font-size:1.5rem;margin:0}.hero .kicker:not(.fraktur){font-size:.9rem;text-transform:uppercase;letter-spacing:.2em;font-weight:800}
.eyebrow{font-family:"UnifrakturMaguntia",serif;color:var(--red);font-size:1.45rem;margin:0}.eyebrow.gold{color:var(--gold2)}
.paper{padding:3.5rem 0;background:var(--paper)}.paper.alt{background:var(--paper2)}
.wood{padding:4rem 0;color:#f3e3c8;background:repeating-linear-gradient(90deg,#00000010 0 2px,transparent 2px 46px),linear-gradient(135deg,var(--wood),var(--wood2) 60%,var(--wood3))}.wood h2,.blue h2{color:#fff}
.blue{padding:4rem 0;color:#fff;background:linear-gradient(135deg,var(--navy),var(--sky))}
.stats{background:var(--wood);color:#fff;border-bottom:4px solid var(--sky)}.s4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1.6rem 0}.s4 b{display:block;font-family:"Playfair Display",serif;font-size:2.4rem;color:var(--gold2);line-height:1}.s4 span{color:#e9d9bf}
.split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:2.4rem;align-items:center}.split.atop{align-items:start}@media(max-width:860px){.split{grid-template-columns:minmax(0,1fr)}}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:1.5rem}
.framed{border:10px solid #fff;box-shadow:0 12px 30px #0006;transform:rotate(-1.2deg);border-radius:2px}
.ecards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1.6rem}
.ecard{background:#fff;border:1px solid #e3d4b6;border-radius:var(--r);overflow:hidden;box-shadow:0 8px 24px #2b1a1015;display:flex;flex-direction:column;min-width:0}
.eimg{position:relative;display:block}.eimg img{width:100%;aspect-ratio:16/10;object-fit:cover}
.mat{position:absolute;left:14px;bottom:-26px;width:68px;height:68px;border-radius:50%;background:#fff;border:4px solid var(--sky);display:grid;place-content:center;text-align:center;box-shadow:0 4px 10px #0003}.mat b{font-family:"Playfair Display",serif;font-size:1.5rem;line-height:1;color:var(--wood)}.mat small{font-size:.7rem;text-transform:uppercase;font-weight:800;color:var(--red)}
.cb{padding:2.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.2rem;flex:1}.cb .row{margin-top:auto}.ecard h3 a{color:var(--wood);text-decoration:none}
.date{color:var(--sky);font-weight:800;text-transform:uppercase;font-size:.82rem;letter-spacing:.06em;margin:0}.meta,.note{color:#6c5844;font-size:.93rem}
.venues{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1.2rem}
.vcard{position:relative;display:block;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;box-shadow:0 8px 22px #0003}.vcard img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:.3s}.vcard:hover img{transform:scale(1.05)}
.vcard span{position:absolute;inset:auto 0 0;padding:1rem;background:linear-gradient(transparent,#1b0f08e6)}.vcard b{display:block;font-family:"Playfair Display",serif;font-size:1.3rem}.vcard small{color:var(--gold2)}
.panel{background:#fff;border-radius:var(--r);padding:1.5rem;border-top:6px solid var(--sky);box-shadow:0 10px 26px #2b1a101f;min-width:0}.panel.flat{position:static}.panel h2{margin-top:0;font-size:1.7rem}
@media(min-width:861px){aside.panel{position:sticky;top:96px}}
dl dt{font-weight:800;color:var(--sky);margin-top:.7rem;text-transform:uppercase;font-size:.8rem;letter-spacing:.06em}dl dd{margin:0}
.big{font-size:1.25rem;font-weight:800}.email{display:inline-block;max-width:100%}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.chips button,.chip{border:2px solid var(--wood);background:#fff;color:var(--wood);border-radius:999px;padding:.4rem .9rem;font-weight:700;cursor:pointer;text-decoration:none;font-size:.95rem}.chips button[aria-pressed=true]{background:var(--wood);color:var(--gold2)}
.month{border-bottom:3px double var(--gold);padding-bottom:.2rem;margin-top:2rem}
.prose{min-width:0}.prose h3{margin-top:1.4rem}.cols{columns:2 340px;column-gap:2.4rem}.cols h3{break-after:avoid}.cols p,.cols li{break-inside:avoid}
.incl{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:1rem}.box{background:#fff;border-left:5px solid var(--gold);padding:1rem 1.1rem;border-radius:var(--r)}
.faq details{background:#fff;border-radius:var(--r);margin:.5rem 0;padding:.85rem 1rem;border-left:5px solid var(--sky)}.faq summary{font-weight:800;cursor:pointer}
.hours{border-collapse:collapse;margin:.6rem 0;width:100%;max-width:360px}.hours caption{text-align:left;font-weight:800}.hours th,.hours td{padding:.3rem .4rem;border-bottom:1px dashed #d8c6a4;text-align:left}
iframe{width:100%;height:280px;border:0;margin-top:1rem;border-radius:var(--r)}.wide{width:100%}.ticks{padding-left:1.2rem}.ticks li{margin:.45rem 0}address{font-style:normal;margin-bottom:.8rem}
.archive{padding:3.2rem 0;background:linear-gradient(#fffaf0,#f5e9d2);border-top:1px solid #e3d4b6}.archive h2{margin-top:0}
.masonry{columns:4 220px;column-gap:.9rem;margin-top:1.5rem}.ph{display:block;margin:0 0 .9rem;break-inside:avoid;background:#fff;padding:6px;box-shadow:0 4px 12px #2b1a1022;border-radius:3px}.ph:nth-child(3n){transform:rotate(.6deg)}.ph:nth-child(4n){transform:rotate(-.6deg)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem}.tiles figure{margin:0;background:#fff;padding:8px 8px 4px;box-shadow:0 6px 16px #0002}.tiles figcaption{font-weight:700;padding:.4rem .2rem}
.jump{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.jump a{background:var(--wood);color:var(--gold2);padding:.4rem .8rem;border-radius:999px;text-decoration:none;font-weight:700;font-size:.92rem}
.press{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}.press a{display:block;background:#fff;padding:1rem;border-top:4px solid var(--red);text-decoration:none;color:var(--ink);height:100%}.press b{display:block;color:var(--red);text-transform:uppercase;font-size:.8rem;letter-spacing:.08em}
.news{list-style:none;padding:0}.news li{background:#fff;padding:1.4rem;margin:0 0 1.2rem;border-left:6px solid var(--gold);border-radius:var(--r)}.news h2{font-size:1.5rem}.news h2 a{color:var(--wood)}
.family{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:1rem}.fam{display:flex;flex-direction:column;gap:.2rem;background:#fff;padding:1rem 1.1rem;border-radius:var(--r);text-decoration:none;color:var(--ink);border-bottom:4px solid var(--sky);box-shadow:0 4px 12px #0001;min-width:0}.fam b{color:var(--wood);font-size:1.08rem}.fam small{color:var(--sky);font-weight:700}
.kform{display:grid;gap:.9rem;min-width:0}.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.9rem}.kform label{display:flex;flex-direction:column;gap:.25rem;font-weight:700;font-size:.95rem;min-width:0}
.kform input,.kform select,.kform textarea{font:inherit;font-weight:400;padding:.7rem .8rem;border:2px solid #d8c6a4;border-radius:var(--r);background:#fffdf8;width:100%;min-width:0}.kform input:focus,.kform select:focus,.kform textarea:focus{outline:3px solid var(--sky2);border-color:var(--sky)}
.hp{position:absolute!important;left:-5000px;width:1px;height:1px;overflow:hidden}.fstatus{font-weight:800;margin:0}.fstatus.ok{color:#1e7a3c}.fstatus.err{color:var(--red)}
.foot{background:var(--wood);color:#e8d6b8}.foot a{color:var(--gold2)}.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:2rem;padding:2.8rem 0}.flogo{font-size:2rem;color:#fff;margin:0 0 .4rem}.ftitle{color:#fff;font-family:"Playfair Display",serif;font-size:1.2rem;font-weight:700}.plain{list-style:none;padding:0;margin:0}.plain li{margin:.2rem 0}.legal{border-top:1px solid #ffffff22;padding:1rem 0;font-size:.9rem}.legal .fraktur{color:var(--gold2);font-size:1.2rem}
@media(max-width:480px){.brand b{font-size:1.4rem}.brand small{font-size:.6rem;letter-spacing:.06em}.topline span{display:none}}
