@import url("../assets/fonts/fonts.css");
:root{--bg:#0d0904;--fg:#f0e6d3;--card:#1a1208;--muted:#8a7060;--gold:#c8932a;--gold-soft:rgba(200,147,42,.4);--line:rgba(200,147,42,.18);--sans:"Raleway",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:"Playfair Display",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);font-size:16px}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);line-height:1.5;text-rendering:optimizeLegibility}body.nav-open{overflow:hidden}img,svg{display:block}img{max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}strong{color:#f5c45a;font-weight:600}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--gold);color:#110c05;padding:.75rem 1rem}.skip-link:focus{top:1rem}.icon{width:1rem;height:1rem;flex:0 0 auto}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.site-header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(0,0,0,.75);border-bottom:1px solid rgba(200,147,42,.3);backdrop-filter:blur(14px)}.top-nav{height:4rem;max-width:80rem;margin:auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between}.brand img{height:2.25rem;width:auto;object-fit:contain}.nav-menu{display:flex;align-items:center;gap:.25rem}.nav-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.25rem;color:rgba(240,230,211,.76);font-size:.875rem;letter-spacing:.06em;transition:color .2s,background .2s}.nav-link .icon{color:var(--gold)}.nav-link:hover,.nav-link:focus-visible{color:var(--gold);background:rgba(200,147,42,.08)}.nav-toggle{display:none;width:2.25rem;height:2.25rem;border:0;background:transparent;padding:.45rem}.nav-toggle span{display:block;width:100%;height:2px;background:rgba(240,230,211,.8);margin:.25rem 0;transition:.2s}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hero{position:relative;height:100svh;min-height:42rem;overflow:hidden}.hero-slide{position:absolute;inset:0;opacity:0;z-index:0;transition:opacity .7s ease}.hero-slide.is-active{opacity:1;z-index:1}.hero-slide>picture,.hero-slide>picture>img{width:100%;height:100%;object-fit:cover}.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.62),rgba(0,0,0,.5),rgba(0,0,0,.82))}.hero-home,.hero-copy{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5rem 1.5rem 7rem}.welcome-mark{width:min(30rem,80vw);height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.9))}.main-logo{width:min(23.75rem,65vw);height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.9));margin-top:1rem}.hero-home p{margin:2.1rem 0 0;color:rgba(251,191,36,.78);text-transform:uppercase;font-size:.8rem;letter-spacing:.22em}.outline-button{display:inline-flex;align-items:center;justify-content:center;margin-top:1.5rem;min-height:3rem;padding:.8rem 2rem;border:1px solid rgba(200,147,42,.62);border-radius:2px;color:#e4aa33;text-transform:uppercase;font-size:.76rem;letter-spacing:.14em;transition:background .2s,border-color .2s,color .2s}.outline-button:hover{background:rgba(200,147,42,.16);border-color:rgba(200,147,42,.82);color:#ffd36a}.hero-copy>span{width:3rem;height:2px;background:var(--gold);margin-bottom:1.4rem}.hero-copy h2{font-family:var(--serif);font-weight:700;line-height:1.04;font-size:clamp(2.6rem,7vw,4.8rem);margin:0;color:white;text-shadow:0 2px 24px rgba(0,0,0,.9)}.hero-copy p{max-width:36rem;margin:1.2rem 0 0;color:rgba(255,251,235,.86);font-size:clamp(1rem,2vw,1.25rem);text-shadow:0 1px 8px rgba(0,0,0,.95)}.hero-controls{position:absolute;z-index:5;left:0;right:0;bottom:3.5rem;display:flex;align-items:center;justify-content:center;gap:1.5rem}.round-button{width:3rem;height:3rem;border-radius:50%;border:1px solid rgba(200,147,42,.44);background:rgba(0,0,0,.12);color:var(--gold);display:grid;place-items:center;cursor:pointer;transition:.2s}.round-button:hover{background:rgba(200,147,42,.16);border-color:rgba(200,147,42,.72)}.slide-dots{display:flex;gap:.5rem;align-items:center}.slide-dots button{width:.5rem;height:.5rem;border:0;border-radius:999px;background:rgba(200,147,42,.35);padding:0;cursor:pointer;transition:.25s}.slide-dots button.is-active{width:1.5rem;background:var(--gold)}.scroll-cue{position:absolute;z-index:5;bottom:1.25rem;left:50%;transform:translateX(-50%);margin:0;color:rgba(200,147,42,.52);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em}
.section{padding:6rem 1rem;background:var(--bg)}.section-card{background:var(--card)}.narrow{max-width:48rem;margin:auto}.content{max-width:56rem;margin:auto}.wide{max-width:72rem;margin:auto}.section-heading{margin-bottom:3rem}.section-heading.center{text-align:center}.section-heading p{margin:0 0 .7rem;color:var(--gold);text-transform:uppercase;letter-spacing:.22em;font-size:.72rem}.section-heading h2{font-family:var(--serif);font-size:clamp(3rem,7vw,4rem);font-weight:400;line-height:1.15;margin:0;color:var(--fg)}.section-heading span{display:block;width:4rem;height:2px;background:var(--gold);margin:1.1rem 0 0}.section-heading.center span{margin-left:auto;margin-right:auto}.section-heading small{display:block;margin-top:1.8rem;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em}.section-heading div{max-width:42rem;margin:1.6rem auto 0;color:rgba(240,230,211,.66);font-size:1.05rem}
.tab-list{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.2rem;margin:-1rem 0 3rem}.tab-list button{position:relative;border:0;background:transparent;padding:.2rem 0 .65rem;color:rgba(240,230,211,.45);font-family:var(--serif);font-style:italic;font-size:1.05rem;cursor:pointer}.tab-list button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:transparent}.tab-list button.is-active{color:var(--gold)}.tab-list button.is-active:after{background:var(--gold)}.menu-panel{animation:fade .2s ease}.menu-panel.compact{max-width:28rem;margin:auto}.menu-heading{margin:3.5rem 0 .25rem}.menu-heading:first-child{margin-top:0}.menu-heading p{margin:0 0 .5rem;color:rgba(200,147,42,.62);font-size:.72rem;text-transform:uppercase;letter-spacing:.2em}.menu-heading h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:0;color:var(--fg);border-bottom:1px solid rgba(200,147,42,.28);padding-bottom:.7rem}.menu-panel ul{list-style:none;margin:0;padding:0}.menu-row{display:flex;align-items:baseline;gap:1rem;padding:.72rem 0;border-bottom:1px solid rgba(200,147,42,.15)}.menu-row div{flex:1;min-width:0}.menu-row span{color:rgba(240,230,211,.88);font-size:.9rem;letter-spacing:.02em}.menu-row.is-italic span{font-family:var(--serif);font-style:italic;font-size:1.05rem}.menu-row small{margin-left:.5rem;color:var(--muted);font-size:.75rem}.menu-row p{margin:.1rem 0 0;color:var(--muted);font-size:.75rem;font-style:italic}.menu-row strong{white-space:nowrap;color:#f0b543;font-size:.85rem;font-weight:500}
.image-divider{height:14rem;position:relative;overflow:hidden;display:grid;place-items:center}.image-divider picture,.image-divider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.image-divider:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.32),rgba(0,0,0,.72))}.image-divider p{position:relative;z-index:1;margin:0;padding:0 1rem;color:#e7ad36;font-family:var(--serif);font-style:italic;font-size:clamp(1.35rem,4vw,2rem);text-align:center;text-shadow:0 2px 16px rgba(0,0,0,.9)}
.history-copy{font-size:clamp(1rem,2vw,1.12rem);color:rgba(240,230,211,.82)}.history-copy p{margin:0 0 1.25rem}.history-image{position:relative;margin:0 0 1.5rem;border:1px solid rgba(200,147,42,.28);border-radius:.5rem;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.35)}.history-image.right{float:right;width:20rem;margin-left:2rem}.history-image.left{float:left;width:18rem;margin-right:2rem}.history-image img{width:100%;height:13.75rem;object-fit:cover}.history-image.left img{height:11rem;object-position:top}.history-image figcaption{position:absolute;left:0;right:0;bottom:0;padding:.55rem .75rem;background:linear-gradient(to top,rgba(0,0,0,.75),transparent);color:var(--gold);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.history-copy:after{content:"";display:block;clear:both}
.fest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem}.fest-card{background:var(--card);border:1px solid rgba(200,147,42,.28);border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column}.fest-card picture{height:13rem;overflow:hidden}.fest-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.fest-card.frohn-card img{object-position:center 70%}.fest-card:hover img{transform:scale(1.05)}.fest-card div{padding:1.5rem;display:flex;flex-direction:column;flex:1}.fest-card div>span{width:2rem;height:2px;background:var(--gold);margin-bottom:.75rem}.fest-card h3{font-family:var(--serif);font-size:1.25rem;color:#f3c05a;margin:0 0 .45rem;line-height:1.35}.fest-card p{margin:.5rem 0 0;color:rgba(240,230,211,.7);font-size:.875rem}.fest-card .location{display:flex;align-items:center;gap:.4rem;color:rgba(200,147,42,.82);font-size:.75rem;margin:.1rem 0 .55rem}.fest-card .location .icon{width:.8rem;height:.8rem}
.team-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.team-layout picture{border:1px solid rgba(200,147,42,.28);border-radius:.5rem;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.35)}.team-layout img{width:100%;height:30rem;object-fit:cover}.team-layout p{color:rgba(240,230,211,.82);font-size:1.08rem;margin:0 0 1.25rem}
.announcements{padding:2.5rem 1rem;border-top:1px solid rgba(200,147,42,.18)}.notice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.notice-grid article{position:relative;background:rgba(13,9,4,.62);border:1px solid rgba(200,147,42,.42);border-radius:.5rem;padding:1.8rem;overflow:hidden}.notice-grid article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold)}.wide-notice{grid-column:1/-1}.notice-grid h3{font-family:var(--serif);color:#f3c05a;margin:0 0 .5rem;font-size:1.12rem}.notice-grid p{margin:0;color:rgba(240,230,211,.76);font-size:.92rem}.notice-grid a{display:inline-block;margin-top:1rem;color:var(--gold);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:stretch}.contact-card{background:var(--card);border:1px solid rgba(200,147,42,.28);border-radius:.5rem;padding:2.5rem;font-style:normal}.contact-card>div{display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:1.8rem}.contact-card>div:last-child{margin-bottom:0}.contact-card .icon{width:1.4rem;height:1.4rem;color:var(--gold);margin-top:.15rem}.contact-card h3{margin:0 0 .4rem;color:#f3c05a;font-size:.88rem;text-transform:uppercase;letter-spacing:.08em}.contact-card p{margin:0;color:rgba(240,230,211,.82)}.contact-card small{display:block;color:rgba(240,230,211,.5);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;margin:.5rem 0 .1rem}.contact-card span{color:rgba(240,230,211,.62);font-size:.9rem}.contact-card b{font-weight:400}.contact-card a:hover{color:var(--gold)}.contact-image{border:1px solid rgba(200,147,42,.28);border-radius:.5rem;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.28)}.contact-image img{width:100%;height:100%;min-height:20rem;object-fit:cover}
.site-footer{background:#000;border-top:1px solid rgba(200,147,42,.25);padding:4rem 1rem 2rem}.footer-inner{max-width:72rem;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}.footer-logo{height:2.5rem;width:auto;object-fit:contain;margin-bottom:1.25rem}.site-footer h2{margin:0 0 1rem;color:rgba(200,147,42,.8);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em}.site-footer p,.site-footer address,.site-footer a{color:rgba(240,230,211,.42);font-size:.88rem}.site-footer nav a{display:block;margin:.45rem 0}.site-footer a:hover{color:var(--gold)}.footer-bottom{max-width:72rem;margin:3rem auto 0;padding-top:2rem;border-top:1px solid rgba(200,147,42,.2);display:flex;justify-content:space-between;gap:1rem;color:rgba(240,230,211,.28)}.footer-bottom p{margin:0;color:rgba(240,230,211,.28);font-size:.75rem}.footer-bottom div{display:flex;gap:1.5rem}.footer-bottom a{font-size:.75rem;letter-spacing:.06em}
.legal-hero{position:relative;padding:9rem 1rem 3.5rem;background:radial-gradient(circle at 10% 0,rgba(200,147,42,.18),transparent 24rem),#000;border-bottom:1px solid rgba(200,147,42,.3)}.legal-hero>div{max-width:48rem;margin:auto}.legal-hero nav{display:flex;gap:.5rem;margin-bottom:2rem;color:rgba(240,230,211,.42);font-size:.78rem;letter-spacing:.06em}.legal-hero a:hover{color:var(--gold)}.legal-hero p{color:var(--gold);text-transform:uppercase;letter-spacing:.22em;font-size:.72rem}.legal-hero h1{font-family:var(--serif);font-size:clamp(3rem,7vw,4rem);font-weight:400;margin:.5rem 0;color:var(--fg)}.legal-hero div div{color:rgba(240,230,211,.52);max-width:36rem}.legal-hero>div>span{display:block;width:4rem;height:2px;background:var(--gold);margin-top:1.4rem}.legal-content{padding:2.5rem 1rem 7rem;background:var(--bg)}.legal-note{border-left:4px solid var(--gold);background:rgba(26,18,8,.72);padding:1rem 1.25rem;color:rgba(240,230,211,.72);margin-bottom:2.5rem}.legal-content h2,.legal-content h3{font-family:var(--serif);font-weight:400;color:var(--fg);border-bottom:1px solid rgba(200,147,42,.28);padding-bottom:.8rem;margin:2.8rem 0 1rem}.legal-content h2{font-size:1.6rem}.legal-content h3{font-size:1.45rem}.legal-content p{color:rgba(240,230,211,.66);font-size:.92rem}.info-row{display:flex;gap:1.5rem;padding:.65rem 0;border-bottom:1px solid rgba(200,147,42,.15)}.info-row span{width:11rem;flex:0 0 auto;color:rgba(240,230,211,.45);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.info-row p{margin:0;color:rgba(240,230,211,.82)}.legal-back{margin-top:3.5rem;padding-top:2rem;border-top:1px solid rgba(200,147,42,.2);display:flex;justify-content:space-between;gap:1rem}.legal-back p,.legal-back a{font-size:.78rem;color:rgba(240,230,211,.36)}.legal-back a:hover{color:var(--gold)}
@keyframes fade{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (max-width:900px){.nav-toggle{display:block}.nav-menu{position:absolute;left:0;right:0;top:4rem;display:none;flex-direction:column;align-items:stretch;background:rgba(0,0,0,.96);border-top:1px solid rgba(200,147,42,.3);padding:.5rem 1rem 1rem}.nav-open .nav-menu{display:flex}.nav-link{padding:.9rem 0;border-bottom:1px solid rgba(200,147,42,.16)}.fest-grid,.team-layout,.contact-grid,.footer-inner{grid-template-columns:1fr}.team-layout{gap:2rem}.team-layout picture{order:2}.team-layout div{order:1}.notice-grid{grid-template-columns:1fr}.hero{min-height:40rem}.section{padding:5rem 1rem}.history-image.right,.history-image.left{float:none;width:100%;margin:0 0 1.5rem}.history-image img,.history-image.left img{height:14rem}.footer-bottom,.legal-back,.info-row{flex-direction:column}.info-row span{width:auto}.contact-card{padding:1.5rem}}
@media (max-width:520px){.hero-home,.hero-copy{padding-left:1rem;padding-right:1rem}.hero-controls{gap:1rem}.round-button{width:2.7rem;height:2.7rem}.tab-list{gap:1rem}.section-heading h2{font-size:2.65rem}.menu-row{gap:.5rem}.contact-card>div{gap:1rem}.site-footer{padding-top:3rem}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}.hero-slide{transition:none}}