@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-6.ttf) format('truetype');
}
:root{--orange:#dadad6;--ink:#171717;--paper:#fff;--line:#d4d4ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #1769be;outline-offset:5px}header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:block;font:800 43px/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1.8px}.brand span{display:block;font:700 9px/1.9 'DM Sans',sans-serif;letter-spacing:1.6px;margin-top:5px}header nav{display:flex;gap:32px;font-size:14px;font-weight:600}header nav a:hover,.text-link:hover{border-bottom:1px solid currentColor}.button{background:var(--orange);display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 25px;font-size:14px;font-weight:700;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{background:#ed4b18;transform:translateY(-2px)}.button.dark{background:var(--ink);color:white}.button.dark:hover{background:#383838}.small{min-height:42px;padding:10px 23px}.menu{display:none}.mobile-nav[hidden]{display:none}.hero{display:grid;grid-template-columns:52% 48%;min-height:650px}.hero-copy{background:var(--orange);padding:55px 8% 25px 9.6%;display:flex;flex-direction:column}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:700;margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;font-weight:700;line-height:.98;letter-spacing:-.6px}h1{font-size:clamp(64px,6.6vw,108px);margin-bottom:25px}em{font-style:normal}h1 em{color:var(--paper)}.lead{max-width:410px;font-size:17px;line-height:1.6;margin-bottom:27px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font-size:14px;font-weight:600}.hero-bottom{margin-top:auto;padding-top:40px;display:flex;justify-content:space-between;font-size:11px;font-weight:600}.hero-photo{position:relative;overflow:hidden;background:#37261e}.hero-photo>img{height:100%;width:100%;object-fit:cover;object-position:54% center;position:absolute}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#000a)}.photo-label{position:absolute;z-index:1;bottom:52px;left:40px;color:white}.photo-label span{font-size:11px;letter-spacing:2px}.photo-label p{font:600 42px/1.1 'Barlow Condensed',sans-serif;margin:9px 0}.photo-credit{position:absolute;right:22px;top:22px;background:#171717bd;padding:7px 13px;color:white;font-size:12px;z-index:1}.ticker{background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-around;gap:20px;padding:23px 4%;font:600 20px/1.1 'Barlow Condensed',sans-serif;letter-spacing:1px}.ticker b{color:var(--orange);font-size:25px}.section{padding:95px 7%}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:42px;gap:40px}h2{font-size:clamp(44px,4.4vw,70px);margin-bottom:0}.section-head>p{max-width:370px;margin:0;font-size:16px;color:#5c5c57}.events-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.featured{position:relative;min-height:590px;background:#191b20;overflow:hidden;color:white}.featured>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.featured:after{content:'';position:absolute;inset:0;background:linear-gradient(#0000 5%,#000d 100%)}.event-content{position:absolute;bottom:35px;left:35px;right:35px;z-index:1}.tag{font-size:11px;font-weight:700;letter-spacing:1.5px}.event-content h3{font-size:65px;margin:17px 0}.event-content p{max-width:330px;margin-bottom:18px}.event a,.event-list a{display:inline-block;font-size:14px;font-weight:600;border-bottom:1px solid;padding-bottom:3px}.event a:hover,.event-list a:hover{color:var(--orange)}.event-list{display:flex;flex-direction:column}.event-list article{padding:24px 0;border-top:1px solid var(--line);flex:1}.event-list article:first-child{padding-top:14px}.event-list article>div{display:flex;align-items:center;gap:20px;margin-bottom:16px}.event-number{color:#7f7f79;font-size:12px}.event-list h3{font-size:39px;margin:0 0 13px}.event-list p{color:#5c5c57;margin:0 0 13px;max-width:360px;font-size:15px}.corporate{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.1fr 1fr;gap:9%}.corporate .eyebrow{color:var(--orange)}.corporate h2{font-size:clamp(45px,4.3vw,66px)}.corporate em{color:var(--orange)}.corporate-title>p:not(.eyebrow){max-width:420px;margin:28px 0;color:#c1c1bb}.steps{padding-top:32px}.steps article{border-top:1px solid #444;display:flex;gap:24px;padding:27px 0}.steps article>span{color:var(--orange);font-size:14px;padding-top:4px}.steps h3{font:600 21px/1.3 'DM Sans',sans-serif;letter-spacing:-.4px;margin:0 0 12px}.steps p{font-size:15px;color:#babbb5;margin:0}.fence{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;background:var(--orange)}.fence h2{font-size:clamp(45px,4vw,65px)}.fence-copy>p{max-width:400px;font-size:17px}.needs{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.needs span{border:1px solid #17171770;padding:5px 11px;font-size:12px}.email-link{font-size:14px;display:block;margin-top:13px}.email-link:hover{text-decoration:underline}.about{display:grid;grid-template-columns:.6fr 1.4fr;gap:8%;border-bottom:1px solid var(--line)}.about h2{font-size:clamp(38px,3.7vw,59px)}.about p:not(.eyebrow){max-width:580px;color:#5c5c57;margin:25px 0 0}.contact{padding-bottom:65px}.contact h2{font-size:clamp(66px,7.8vw,118px);margin-bottom:25px}.contact>p:not(.eyebrow){color:#5c5c57}.contact-mail{font:600 clamp(26px,4.7vw,70px)/1.3 'Barlow Condensed',sans-serif;display:inline-block;border-bottom:2px solid var(--orange);margin:15px 0 25px}.contact-mail:hover{color:#d83f0e}.contact-note{display:flex;justify-content:space-between;font-size:14px;gap:25px}.contact-note>span{font-size:11px;letter-spacing:1.4px}.contact-note a{text-decoration:underline}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:40px 7%;border-top:1px solid var(--line)}footer p{font-size:13px;margin:0}footer>div{display:flex;gap:20px;font-size:12px}footer>div>a:hover{text-decoration:underline}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero-copy{padding-left:13%}}@media(max-width:1000px){header nav{gap:16px;font-size:12px}.hero{min-height:620px}.hero-copy{padding-top:40px}h1{font-size:74px}.hero-actions{gap:16px}.events-grid{gap:30px}.section{padding:70px 6%}.featured{min-height:570px}.corporate,.fence{gap:6%}.ticker{font-size:16px}footer>div{flex-wrap:wrap;max-width:240px;gap:10px 20px}}@media(max-width:720px){html{scroll-padding-top:20px}header{height:82px;padding:0 6%}header nav,header>.button{display:none}.brand{font-size:36px}.menu{display:block;background:none;border:1px solid #bdbdb8;padding:8px 16px;font-size:14px}.mobile-nav{padding:14px 6% 24px;display:grid;gap:12px;border-bottom:1px solid var(--line)}.hero{display:flex;flex-direction:column}.hero-copy{padding:35px 6% 25px}h1{font-size:clamp(61px,12vw,90px)}.eyebrow{font-size:11px;margin-bottom:20px}.lead{max-width:450px}.hero-bottom{padding-top:35px}.hero-photo{height:330px}.photo-label{left:24px;bottom:25px}.photo-label p{font-size:34px}.ticker{display:grid;grid-template-columns:1fr 1fr;padding:22px 6%;row-gap:16px;font-size:15px}.ticker b{display:none}.section{padding:60px 6%}.section-head{display:block}.section-head>p{margin-top:24px;max-width:100%}.events-grid{grid-template-columns:1fr;gap:28px}.featured{min-height:440px}.event-content{left:25px;bottom:25px}.event-content h3{font-size:58px}.event-list article{padding:25px 0}.event-list h3{font-size:35px}.corporate,.fence,.about{grid-template-columns:1fr;gap:30px}.steps{padding-top:10px}.corporate h2{font-size:49px}.fence h2{font-size:49px}.about h2{font-size:42px}.contact-note{flex-direction:column;gap:20px}.contact-mail{font-size:clamp(30px,8vw,52px)}footer{align-items:flex-start;flex-wrap:wrap;padding:35px 6%;gap:25px}footer>div{width:100%;max-width:none;justify-content:space-between}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Original TONIC wordmark and monochrome brand direction. */
.brand{width:150px;letter-spacing:normal}.brand img{display:block;width:100%;height:auto}.brand span{font-size:9px;text-align:center;letter-spacing:1.4px}.hero-copy{background:#fff}.hero h1 em{color:var(--ink)}.hero h1{font-weight:800}.hero .eyebrow{color:#666}.button{background:var(--ink);color:white}.button:hover{background:#444}.corporate .eyebrow{color:#bcbcb7}.corporate .button{background:white;color:var(--ink)}.corporate .button:hover{background:#ddd}.ticker b{color:#ccc}.fence{background:#f0f0ed;border-bottom:1px solid #d4d4ce}.steps article>span{color:white}.contact-mail{border-color:#171717}.contact-mail:hover{color:#555}.event a:hover,.event-list a:hover{color:#888}@media(max-width:720px){.brand{width:128px}}

.festival-panorama{margin:48px 0 0}.festival-panorama img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;object-position:center 65%}.festival-panorama figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:13px;font-size:12px}.festival-panorama figcaption span{letter-spacing:1.4px}.festival-panorama figcaption a{text-decoration:underline}.hero-photo>img{object-position:50% center}@media(max-width:720px){.festival-panorama{margin-top:25px}.festival-panorama img{max-height:none}.festival-panorama figcaption{flex-direction:column;gap:6px}}

.hero-photo>.hero-slide{opacity:0;transition:opacity 1.2s ease}.hero-photo>.hero-slide.is-active{opacity:1}.slideshow-toggle{position:absolute;z-index:2;right:22px;bottom:22px;background:#171717d9;color:white;border:1px solid #ffffff70;padding:8px 14px;font-size:14px;cursor:pointer}.slideshow-toggle:hover{background:#171717}.slideshow-toggle:focus-visible{outline-color:white}@media(prefers-reduced-motion:reduce){.hero-photo>.hero-slide{transition:none}}

.event-content .event-date,.event-list .event-date{font-size:16px;line-height:1.4;font-weight:700;margin:0 0 14px;color:inherit}.event-list .event-date{color:var(--ink)}

.hero-photo>video.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-slide[aria-hidden="true"]{pointer-events:none}

.fence-photo{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;object-position:center top;margin-top:30px}.fence-copy{align-self:center}@media(max-width:720px){.fence-photo{max-height:440px}}

.partners{padding:25px 7%;border-top:1px solid var(--line);display:flex;align-items:center;gap:30px;color:#666}.partners>span{font-size:11px;font-weight:700;letter-spacing:1.4px;white-space:nowrap}.partners nav{display:flex;flex-wrap:wrap;gap:12px 26px}.partners a{font-size:14px;line-height:1.5}.partners a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}@media(max-width:720px){.partners{padding:25px 6%;align-items:flex-start;flex-direction:column;gap:14px}.partners nav{gap:12px 22px}}

.legal{max-width:1000px;margin:auto}.legal h1{font-size:clamp(42px,7vw,80px);overflow-wrap:anywhere;margin-bottom:45px}.legal h2{font:700 22px/1.3 "DM Sans",sans-serif;margin:34px 0 14px}.legal p{max-width:780px}.legal a{text-decoration:underline;overflow-wrap:anywhere}

.contact-form{max-width:800px;margin:25px 0 45px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;margin-bottom:20px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:13px 15px;background:white;border:1px solid #aaa;border-radius:0;font:400 16px/1.5 "DM Sans",sans-serif;color:#171717}.contact-form textarea{resize:vertical}.contact-form :is(input,select,textarea):focus-visible{outline:2px solid #171717;outline-offset:2px}.form-privacy{font-size:13px;color:#555}.form-privacy a{text-decoration:underline}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.contact-form .button{cursor:pointer}.contact-form .button:disabled{opacity:.5;cursor:wait}#form-status{margin:15px 0 0;font-size:14px}@media(max-width:720px){.form-row{grid-template-columns:1fr;gap:0}}

.hero h1{font-size:clamp(42px,5.4vw,86px)}@media(max-width:720px){.hero h1{font-size:clamp(42px,10vw,72px)}}

.corporate-photo{display:block;width:100%;max-height:480px;object-fit:contain;background:#dedbd5}.corporate-details .steps{padding-top:28px}@media(max-width:720px){.corporate-photo{max-height:430px}}

.corporate-photo{height:560px;max-height:none;object-fit:cover;object-position:center 55%}@media(max-width:720px){.corporate-photo{height:480px;max-height:none}}

.festival-brand{max-width:360px;background:white;padding:12px}.festival-brand img{display:block;width:100%;height:auto}.event-list h3{overflow-wrap:break-word}

.festival-brand{background:transparent;padding:0;mix-blend-mode:screen}.festival-brand img{filter:invert(1);mix-blend-mode:screen}

.festival-brand{background:white;mix-blend-mode:normal;mask-image:linear-gradient(white,white),url(assets/sonnenrot-logo.jpg);mask-mode:luminance;mask-size:100% 100%;mask-repeat:no-repeat;mask-composite:exclude}.festival-brand img{visibility:hidden;filter:none}
