@font-face{font-family:Montserrat;src:url("assets/original/Montserrat-Light.woff2") format("woff2");font-weight:300}
@font-face{font-family:Montserrat;src:url("assets/original/Montserrat-Medium.woff2") format("woff2");font-weight:500}
@font-face{font-family:Montserrat;src:url("assets/original/Montserrat-SemiBold.woff2") format("woff2");font-weight:600}

:root{
  --orange:#f18918;--ink:#2d2d35;--ink-2:#3d3d46;--paper:#f2f0eb;
  --white:#fff;--line:rgba(45,45,53,.18);--pad:clamp(24px,5.5vw,90px)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-weight:300;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}
.page-progress{position:fixed;z-index:200;left:0;top:0;width:0;height:3px;background:var(--orange);pointer-events:none}
.cursor{position:fixed;z-index:190;left:0;top:0;width:42px;height:42px;border:1px solid var(--orange);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s;mix-blend-mode:difference}
.cursor i{position:absolute;left:50%;top:50%;width:4px;height:4px;background:var(--orange);border-radius:50%;transform:translate(-50%,-50%)}
.cursor.active{width:78px;height:78px;background:rgba(241,137,24,.18)}

.header{
  position:fixed;z-index:100;top:0;left:0;width:100%;display:flex;
  justify-content:space-between;align-items:center;padding:22px var(--pad);
  border-bottom:1px solid rgba(255,255,255,.2);
  background:rgba(45,45,53,.72);backdrop-filter:blur(12px);
  transition:padding .35s,background .35s,box-shadow .35s,backdrop-filter .35s
}
.header.scrolled{
  padding-top:14px;padding-bottom:14px;background:rgba(45,45,53,.94);
  box-shadow:0 12px 35px rgba(0,0,0,.16);backdrop-filter:blur(18px)
}
.logo{width:clamp(190px,18vw,260px);transition:width .35s}
.header.scrolled .logo{width:clamp(170px,15vw,220px)}
.header nav{display:flex;align-items:center;gap:clamp(24px,3vw,48px);color:white;text-transform:uppercase;letter-spacing:.1em;font-size:14px;font-weight:500}
.header nav a{position:relative;padding:13px 2px;transition:color .3s}
.header nav a::after{content:"";position:absolute;left:0;bottom:5px;width:0;height:2px;background:var(--orange);transition:.35s}
.header nav a:hover,.header nav a.active{color:var(--orange)}
.header nav a:hover::after,.header nav a.active::after{width:100%}
.header nav .menu-cta{
  padding:14px 20px;background:var(--orange);color:white;border-radius:2px;
  box-shadow:0 8px 24px rgba(241,137,24,.24);transition:background .3s,color .3s,transform .3s
}
.header nav .menu-cta span{display:inline-block;margin-left:14px;font-size:16px;transition:transform .3s}
.header nav .menu-cta::after{display:none}
.header nav .menu-cta:hover,.header nav .menu-cta.active{color:var(--ink);background:white;transform:translateY(-2px)}
.header nav .menu-cta:hover span{transform:translate(3px,3px)}
.menu-toggle{display:none;background:0;border:0;width:52px;height:48px;padding:10px}
.menu-toggle span{display:block;height:1px;background:white;margin:7px 0}

.hero{min-height:100svh;background:var(--ink);color:white;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(31,31,38,.96) 0%,rgba(31,31,38,.83) 38%,rgba(31,31,38,.2) 72%,rgba(31,31,38,.05) 100%)}
.hero-copy{position:relative;z-index:3;width:min(62%,980px);min-height:100svh;padding:clamp(150px,16vh,190px) 4vw 55px var(--pad);display:flex;flex-direction:column;justify-content:center}
.overline{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:500}
.hero h1{margin:35px 0 0;font-size:clamp(64px,8.3vw,135px);line-height:.79;letter-spacing:-.075em;font-weight:300}
.hero h1 span{display:block}
.hero h1 .orange{color:var(--orange);font-weight:600;margin-left:8vw}
.hero-date{display:flex;align-items:center;gap:20px;margin:55px 0 0 8vw}
.hero-date strong{font-size:clamp(23px,3.2vw,48px);font-weight:300;letter-spacing:-.05em}
.hero-date i{width:55px;height:1px;background:var(--orange)}
.hero-intro{width:360px;margin:28px 0 0 8vw;font-size:15px;line-height:1.65;color:#d2d0cc}
.hero-countdown{margin:30px 0 0 8vw;max-width:510px;padding:18px 20px 20px;border:1px solid rgba(241,137,24,.65);background:rgba(24,24,30,.62);box-shadow:0 20px 55px rgba(0,0,0,.25),inset 0 0 35px rgba(241,137,24,.05);backdrop-filter:blur(14px);position:relative;overflow:hidden}
.hero-countdown::before{content:"";position:absolute;left:0;top:0;width:32%;height:3px;background:var(--orange);animation:countdownPulse 2.8s ease-in-out infinite}
@keyframes countdownPulse{50%{width:100%;opacity:.55}}
.countdown-face>p{margin:0 0 14px;color:var(--orange);font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:600}
.countdown-face>div{display:grid;grid-template-columns:1.35fr repeat(3,1fr)}
.countdown-face span{padding:5px 14px 2px 0;border-right:1px solid rgba(255,255,255,.18)}
.countdown-face span:not(:first-child){padding-left:14px}.countdown-face span:last-child{border-right:0}
.countdown-face strong{display:block;font-size:clamp(27px,3vw,45px);line-height:.9;color:#fff;font-weight:500;letter-spacing:-.06em;text-shadow:0 0 25px rgba(241,137,24,.22)}
.countdown-face small{display:block;margin-top:8px;color:#c9c6c1;font-size:8px;text-transform:uppercase;letter-spacing:.14em}
.hero-countdown.expired{padding:20px 22px 22px}.countdown-face[hidden],.today-program[hidden]{display:none}.today-program{display:block;position:relative;min-height:185px}.today-program>p{margin:0 0 18px;color:var(--orange);font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:600}.today-program article{position:absolute;inset:32px 0 30px;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease,visibility .55s}.today-program article.active{opacity:1;visibility:visible;transform:none}.today-program article span{display:block;margin-bottom:9px;color:#c9c6c1;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:600}.today-program article strong{display:block;color:white;font-size:clamp(24px,2.5vw,38px);line-height:1.02;letter-spacing:-.045em;font-weight:500}.today-program article small{display:block;margin-top:9px;color:#d4d1cb;font-size:13px;line-height:1.45}.today-program article a{display:inline-flex;align-items:center;gap:10px;margin-top:14px;color:var(--orange);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.today-program-dots{position:absolute;left:0;bottom:0;display:flex;gap:7px}.today-program-dots i{width:18px;height:3px;background:rgba(255,255,255,.25);transition:.35s}.today-program-dots i.active{width:38px;background:var(--orange)}
.hero-visual{position:absolute;inset:0;z-index:0;min-height:100svh;overflow:hidden}
.hero-image{position:absolute;inset:0;overflow:hidden}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.02);animation:heroBreath 18s ease-in-out infinite alternate}
@keyframes heroBreath{to{transform:scale(1.09) translateX(-1%)}}
.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,45,53,.25),transparent 35%),linear-gradient(0deg,rgba(45,45,53,.55),transparent 45%)}
.image-meta{position:absolute;bottom:32px;left:18%;right:calc(var(--pad) + 155px);display:flex;justify-content:space-between;gap:18px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.hero-cta{position:absolute;z-index:5;right:var(--pad);bottom:50px;width:120px;height:120px;border-radius:50%;background:var(--orange);display:grid;place-items:center;text-align:center;font-size:11px;line-height:1.5;transition:background .3s,color .3s}
.hero-cta b{position:absolute;bottom:16px;font-size:17px;font-weight:300}
.hero-cta:hover{background:white;color:var(--ink)}
.hero-index{position:absolute;left:var(--pad);bottom:30px;color:#aaa;font-size:10px;letter-spacing:.15em}
.hero-reveal{opacity:0;transform:translateY(35px);animation:introIn .9s cubic-bezier(.16,1,.3,1) forwards}
.hero-reveal:nth-child(2){animation-delay:.12s}.hero-reveal:nth-child(3){animation-delay:.24s}.hero-reveal:nth-child(4){animation-delay:.34s}
@keyframes introIn{to{opacity:1;transform:none}}

.marquee{background:var(--orange);color:white;overflow:hidden;padding:14px 0}
.marquee-track{width:max-content;display:flex;align-items:center;animation:marquee 27s linear infinite;will-change:transform}
.marquee-set{flex:none;min-width:100vw;display:flex;align-items:center;justify-content:space-around}
.marquee span{font-size:13px;letter-spacing:.14em;white-space:nowrap}.marquee b{font-size:8px;margin:0 32px}
@keyframes marquee{to{transform:translateX(-50%)}}

.statement{padding:150px var(--pad);display:grid;grid-template-columns:.78fr 1.22fr;gap:6vw;align-items:start}
.statement-number{display:flex;color:var(--orange);line-height:.75}
.statement-number span{font-size:clamp(130px,19vw,300px);letter-spacing:-.1em;font-weight:500}
.statement-number b{font-size:clamp(35px,5vw,75px);font-weight:300}
.statement-copy{padding-top:20px}
.statement h2,.program h2,.visit h2,.partners h2,.location h2,.guestbook h2,.faq h2,.marathon h2{font-size:clamp(52px,7vw,105px);line-height:.89;letter-spacing:-.07em;font-weight:300;margin:35px 0 0}
h2 em{color:var(--orange);font-style:normal;font-weight:600}
.statement-text{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:55px}
.statement-text p{margin:0;font-size:15px;line-height:1.8}
.statement-text p:first-child{font-size:22px;line-height:1.5}

.gallery{min-height:950px;background:var(--ink);position:relative;padding:110px var(--pad);overflow:hidden}
.gallery figure,.gallery-note{margin:0;position:absolute;z-index:2}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.gallery figure:hover img{transform:scale(1.05)}
.gallery-main{width:58vw;height:630px;left:var(--pad);top:110px}
.gallery-main img{object-position:center 42%}
.gallery-detail{width:30vw;min-height:400px;right:4vw;bottom:85px}
.gallery-note{padding:clamp(32px,4vw,62px);background:var(--orange);color:white;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 28px 90px rgba(0,0,0,.28);overflow:hidden}
.gallery-note::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 32%),radial-gradient(circle at 88% 18%,rgba(45,45,53,.18) 0 2px,transparent 3px);background-size:auto,22px 22px;opacity:.45}
.gallery-note>*{position:relative}.gallery-note .overline{color:var(--ink);font-weight:600}
.gallery-note blockquote{margin:55px 0 50px;font-size:clamp(30px,3.9vw,58px);line-height:.98;letter-spacing:-.055em}
.gallery-note div{display:flex;flex-wrap:wrap;gap:9px}.gallery-note div span{padding:9px 11px;border:1px solid rgba(255,255,255,.5);font-size:9px;text-transform:uppercase;letter-spacing:.12em}
.gallery figcaption{position:absolute;left:0;bottom:-34px;color:white;font-size:12px}
.gallery figcaption span{color:var(--orange);margin-right:18px;text-transform:uppercase;letter-spacing:.15em}
.gallery-word{position:absolute;right:-1vw;top:3%;font-size:clamp(140px,23vw,370px);font-weight:600;letter-spacing:-.08em;color:rgba(255,255,255,.035)}

.moments{padding:145px var(--pad);background:#e9e6df;overflow:hidden}.moments-head{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:end;margin-bottom:75px}.moments h2{font-size:clamp(52px,7vw,105px);line-height:.89;letter-spacing:-.07em;font-weight:300;margin:28px 0 0}.moments-head>p{max-width:520px;margin:0 0 8px;font-size:16px;line-height:1.8}.moments-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(3,minmax(190px,auto));gap:18px}.moment{margin:0;min-width:0;display:flex;flex-direction:column}.moment>div{flex:1;min-height:0;overflow:hidden;background:#292930}.moment img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1),filter .6s}.moment:hover img{transform:scale(1.045)}.moment-entrance{grid-column:1/8;grid-row:1/2}.moment-entrance>div{height:430px}.moment-viewing{grid-column:8/13;grid-row:1/2}.moment-viewing>div{height:430px}.moment-exhibition{grid-column:1/6;grid-row:2/3}.moment-exhibition>div{height:430px}.moments-quote{grid-column:6/13;grid-row:2/3;margin:0;padding:55px clamp(30px,5vw,75px);background:var(--orange);color:white;display:flex;align-items:end;position:relative;overflow:hidden}.moments-quote span{position:absolute;right:25px;top:-55px;color:rgba(255,255,255,.18);font-size:260px;line-height:1}.moments-quote p{position:relative;max-width:620px;margin:0;font-size:clamp(32px,4.2vw,64px);line-height:.98;letter-spacing:-.055em}.moment-talk{grid-column:1/5;grid-row:3/4}.moment-stage{grid-column:5/9;grid-row:3/4}.moment-music{grid-column:9/13;grid-row:3/4}.moment-talk>div,.moment-stage>div,.moment-music>div{height:330px}

.guestbook{padding:145px var(--pad);background:#24242b;color:white;overflow:hidden}.guestbook-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:7vw;align-items:end;margin-bottom:60px}.guestbook h2 em,.faq h2 em{color:var(--orange);font-style:normal;font-weight:600}.guestbook-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}.guestbook-card{min-height:360px;margin:0;padding:clamp(28px,3.5vw,50px);background:#2d2d35;display:flex;flex-direction:column;position:relative;overflow:hidden}.guestbook-card::after{content:"„";position:absolute;right:18px;top:-55px;color:rgba(241,137,24,.18);font-size:210px;line-height:1}.guestbook-card>span{position:relative;z-index:1;color:var(--orange);font-size:12px;font-weight:700;letter-spacing:.16em}.guestbook-card p{position:relative;z-index:1;margin:auto 0 35px;font-size:clamp(27px,2.8vw,46px);line-height:1.02;letter-spacing:-.055em}.guestbook-card cite{position:relative;z-index:1;font-style:normal;color:#bbb;font-size:12px;text-transform:uppercase;letter-spacing:.12em}

.contest-visual{height:min(78vh,760px);position:relative;overflow:hidden;background:var(--ink);border-top:10px solid var(--orange)}
.contest-visual>img{width:100%;height:110%;object-fit:cover;object-position:center 42%;transform:scale(1.02)}
.contest-visual-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,45,53,.88) 0%,rgba(45,45,53,.52) 42%,rgba(45,45,53,.08) 72%),linear-gradient(0deg,rgba(45,45,53,.45),transparent 50%)}
.contest-visual-label{position:absolute;left:var(--pad);right:var(--pad);top:50%;transform:translateY(-50%);color:white;max-width:none;overflow:visible}
.contest-visual-label.visible{transform:translateY(-50%)}
.contest-visual-label span{display:inline-block;background:var(--orange);padding:10px 14px;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:500;margin-bottom:24px}
.contest-visual-label strong{display:block;width:max-content;max-width:100%;padding-right:.12em;font-size:clamp(57px,8vw,122px);line-height:.86;letter-spacing:-.065em;font-weight:500;overflow:visible}
.contest-visual-label strong em,.contest-visual-label strong span{display:block}.contest-visual-label strong em{color:var(--orange);font-style:normal}.contest-visual-label strong span{background:none;padding:0;margin:0;color:white;font:inherit;letter-spacing:inherit;text-transform:none}.contest-visual-label strong .contest-word{white-space:nowrap}
.contest-visual-label p{font-size:16px;margin:30px 0 0}
.youth-contest{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--orange);color:white;border-top:1px solid rgba(255,255,255,.45)}
.contest-intro{padding:130px var(--pad);display:flex;flex-direction:column;justify-content:center}
.contest-intro h2{font-size:clamp(58px,8vw,120px);line-height:.84;letter-spacing:-.075em;font-weight:300;margin:34px 0 0}
.contest-intro h2 em{color:var(--ink)}
.contest-intro>p:not(.overline){max-width:560px;font-size:17px;line-height:1.75;margin:45px 0 0}
.contest-link{align-self:flex-start;margin-top:35px;border-bottom:1px solid;padding:12px 0;text-transform:uppercase;letter-spacing:.1em;font-size:11px}
.contest-link span{margin-left:45px}
.contest-upload-link{margin-top:12px;background:var(--ink);border:0;padding:16px 18px}
.contest-upload-link:disabled{opacity:.55;cursor:not-allowed}
.contest-period{margin-top:30px;padding:18px 0;border-top:1px solid rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.5)}
.contest-period span,.contest-period small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.contest-period strong{display:block;margin:8px 0;font-size:20px;font-weight:500}.contest-period small{opacity:.9;text-transform:none;letter-spacing:0;line-height:1.55}
.contest-groups{background:var(--ink);padding:90px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:18px;align-content:center}
.contest-card{min-height:420px;background:var(--orange);padding:32px;display:flex;flex-direction:column}
.contest-card.light{background:var(--paper);color:var(--ink)}
.contest-card>span{text-transform:uppercase;letter-spacing:.14em;font-size:10px}
.contest-card strong{font-size:clamp(45px,5vw,76px);line-height:.9;letter-spacing:-.065em;font-weight:500;margin:auto 0}
.contest-card p{font-size:13px;line-height:1.6}
.contest-card b{border-top:1px solid currentColor;padding-top:18px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:500}
.contest-note{grid-column:1/-1;margin:12px 0 0;color:#aaa;font-size:11px;line-height:1.6}

.submission{display:grid;grid-template-columns:.82fr 1.18fr;background:#e9e6df;padding:150px var(--pad);gap:8vw}
.submission-intro{position:sticky;top:110px;align-self:start}
.submission h2{font-size:clamp(52px,7vw,105px);line-height:.89;letter-spacing:-.07em;font-weight:300;margin:35px 0 0}
.submission h2 em{color:var(--orange);font-style:normal;font-weight:600}
.submission-intro>p:not(.overline){font-size:16px;line-height:1.8;max-width:540px;margin:38px 0 0}
.submission-promise{margin-top:55px;border-top:1px solid var(--line)}
.submission-promise>span{float:left;color:var(--orange);font-size:10px;padding-top:20px}
.submission-promise p{margin:0 0 0 42px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5}
.upload-form{background:white;padding:clamp(28px,4vw,65px);box-shadow:0 30px 80px rgba(45,45,53,.08)}
.form-section{padding-bottom:48px;margin-bottom:48px;border-bottom:1px solid #dedbd4}
.form-step{display:block;color:var(--orange);text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:600;margin-bottom:28px}
.upload-form label{display:block;margin-top:22px}
.upload-form label>span:first-child{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:500;margin-bottom:10px}
.upload-form input:not([type=checkbox]):not([type=file]),.upload-form textarea,.upload-form select{
  width:100%;border:1px solid #cbc8c1;background:#f8f7f4;padding:16px 17px;color:var(--ink);
  font:inherit;font-size:14px;border-radius:0;outline:none;transition:border-color .25s,box-shadow .25s
}
.upload-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--orange) 50%),linear-gradient(135deg,var(--orange) 50%,transparent 50%);background-position:calc(100% - 22px) 23px,calc(100% - 16px) 23px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.upload-form input:focus,.upload-form textarea:focus,.upload-form select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(241,137,24,.12)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid .full{grid-column:1/-1}
.dropzone{height:340px!important;margin:0!important;border:2px dashed #c9c5bd;display:flex!important;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden;background:#f8f7f4;cursor:pointer;transition:.3s}
.dropzone:hover,.dropzone.dragover{border-color:var(--orange);background:#fff8ef}
.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.dropzone .drop-icon{display:grid!important;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--orange);color:white;font-size:30px;margin:0 0 18px!important}
.dropzone strong{font-size:24px;font-weight:500}.dropzone small{margin-top:8px;color:#777}
.upload-preview{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#26262d;padding:15px;pointer-events:none}
.dropzone.has-file .upload-preview{display:block}.dropzone.has-file::after{content:"Foto ändern";position:absolute;right:14px;bottom:14px;background:var(--orange);color:white;padding:10px 13px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.consent-section{padding-bottom:22px;margin-bottom:28px}
.check-label{display:grid!important;grid-template-columns:22px 1fr;gap:12px;align-items:start;cursor:pointer}
.check-label input{width:20px;height:20px;accent-color:var(--orange);margin:1px 0 0}
.check-label span{font-size:12px!important;line-height:1.6;text-transform:none!important;letter-spacing:0!important;font-weight:300!important;margin:0!important}
.upload-submit{border:0;background:var(--orange);color:white;padding:20px 22px;width:100%;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.1em;font-size:11px;cursor:pointer}
.upload-submit span{font-size:17px}.form-footnote{font-size:10px;color:#777;margin:14px 0 0}
.form-message{padding:16px 18px;margin-bottom:30px;font-size:13px;line-height:1.5}.form-message.success{background:#e7f5eb;color:#215a31}.form-message.error{background:#fff0ec;color:#8b2e1f}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}

.marathon{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.9fr);column-gap:clamp(48px,5.4vw,96px);min-height:760px;margin-top:clamp(72px,8vw,125px);background:#24242b;color:white;overflow:hidden}
.marathon::before{content:"FOTOMARATHON";position:absolute;right:-.04em;top:.12em;color:rgba(255,255,255,.035);font-size:clamp(90px,16vw,260px);line-height:.75;letter-spacing:-.08em;font-weight:600;pointer-events:none}
.marathon-visual{position:relative;min-height:760px;overflow:hidden;background:#17171c}
.marathon-visual img{width:100%;height:100%;min-height:760px;object-fit:cover;object-position:center;filter:saturate(.92) contrast(1.08) brightness(.72);transform:scale(1.015)}
.marathon-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,36,43,.16),rgba(36,36,43,.24) 66%,rgba(36,36,43,.7) 100%),linear-gradient(0deg,rgba(36,36,43,.68),rgba(36,36,43,.04) 58%)}
.marathon-visual span{position:absolute;z-index:2;left:var(--pad);bottom:70px;color:var(--orange);font-size:clamp(80px,12vw,180px);line-height:.75;letter-spacing:-.1em;font-weight:500}
.marathon-copy{position:relative;z-index:2;padding:120px var(--pad) 110px 0;display:flex;flex-direction:column;justify-content:center}
.marathon h2 em{color:var(--orange);font-style:normal;font-weight:600}
.marathon-copy>p:not(.overline){max-width:620px;margin:38px 0 0;color:#ddd;font-size:16px;line-height:1.8}
.marathon-facts{display:grid;grid-template-columns:1fr;gap:0;margin:48px 0 0;max-width:680px;border-top:1px solid rgba(255,255,255,.16)}
.marathon-facts span{display:flex;gap:18px;justify-content:space-between;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:13px;line-height:1.45;color:#d8d5cf}
.marathon-facts b{color:var(--orange);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600;min-width:125px}
.marathon-link{align-self:flex-start;margin-top:42px;display:inline-flex;align-items:center;gap:34px;background:var(--orange);color:white;padding:18px 22px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;box-shadow:0 16px 38px rgba(241,137,24,.24);transition:transform .25s,background .25s,color .25s,box-shadow .25s}
.marathon-link:hover{transform:translateY(-3px);background:white;color:var(--ink);box-shadow:0 20px 45px rgba(0,0,0,.18)}
.marathon-link span{font-size:16px}

.program{padding:150px var(--pad);background:var(--paper)}
.program-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,460px);gap:clamp(34px,6vw,90px);align-items:end;margin-bottom:66px}
.program-head .overline{grid-column:1/-1}
.program-head>p:last-child{max-width:460px;margin:0;font-size:15px;line-height:1.8}
.program-head .program-calendar-all{justify-self:start}
.program-accordion{display:flex;flex-direction:column;gap:16px}
.program-day-panel{border-top:1px solid var(--line);background:rgba(255,255,255,.42);transition:background .35s,box-shadow .35s}
.program-day-panel[open]{background:white;box-shadow:0 26px 70px rgba(45,45,53,.08)}
.program-day-panel summary{list-style:none;display:grid;grid-template-columns:1fr auto 54px;align-items:center;gap:24px;padding:26px 0 26px 28px;cursor:pointer}
.program-day-panel summary::-webkit-details-marker{display:none}
.program-day-panel time span{display:block;color:var(--orange);font-size:11px;text-transform:uppercase;letter-spacing:.12em;line-height:1.2}
.program-day-panel time strong{display:block;margin-top:8px;font-size:clamp(24px,2.6vw,44px);line-height:.95;font-weight:300;letter-spacing:-.055em}
.program-day-panel summary i{font-style:normal;color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}
.program-day-panel summary b{width:54px;height:54px;display:grid;place-items:center;background:var(--orange);color:white;font-size:28px;font-weight:300;transition:transform .35s,background .35s,color .35s}
.program-day-panel[open] summary b{transform:rotate(45deg);background:var(--ink);color:white}
.program-day-panel.is-closing summary b{transform:rotate(0);background:var(--orange);color:white}
.day-program{display:flex;flex-direction:column;gap:18px;max-height:0;opacity:0;overflow:hidden;transform:translateY(-14px);padding:0 28px;transition:max-height .72s cubic-bezier(.16,1,.3,1),opacity .44s ease,transform .62s cubic-bezier(.16,1,.3,1),padding .62s cubic-bezier(.16,1,.3,1)}
.program-day-panel[open] .day-program{max-height:var(--program-day-height,2400px);opacity:1;transform:none;padding:0 28px 38px}
.program-day-panel.is-closing .day-program{max-height:0;opacity:0;transform:translateY(-14px);padding-bottom:0}
.event-card{position:relative;display:grid;grid-template-columns:minmax(290px,380px) minmax(0,1fr);min-height:250px;border:1px solid var(--line);background:#f8f6f1;overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s,background .35s}
.event-card:hover{border-color:rgba(241,137,24,.78);background:white;box-shadow:0 18px 42px rgba(35,35,42,.08);transform:translateY(-3px)}
.event-card.featured-event{grid-template-columns:minmax(320px,460px) minmax(0,1fr);border:1px solid rgba(241,137,24,.62);background:#24242b;color:white;box-shadow:0 24px 65px rgba(0,0,0,.16)}
.event-card.featured-event:hover{border-color:var(--orange);transform:translateY(-2px)}
.event-visual{position:relative;min-height:250px;margin:0;overflow:hidden;background:#24242b}
.event-visual img{width:100%;height:100%;min-height:250px;object-fit:cover;filter:saturate(.92) contrast(1.05)}
.event-visual.has-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(248,246,241,.16) 56%,#f8f6f1 100%);pointer-events:none}
.featured-event .event-visual.has-image::after{background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(36,36,43,.18) 56%,#24242b 100%)}
.event-visual.is-generated{background:#24242b}
.event-visual.is-generated img{filter:blur(2.4px) saturate(.86) contrast(1.08) brightness(.78);transform:scale(1.035);object-position:center}
.event-visual.is-generated::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(36,36,43,.26),rgba(36,36,43,.08) 44%,rgba(36,36,43,0));pointer-events:none}
.event-visual.is-generated::after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(36,36,43,0) 0%,rgba(248,246,241,.16) 58%,#f8f6f1 100%);pointer-events:none}
.featured-event .event-visual.is-generated::after{background:linear-gradient(90deg,rgba(36,36,43,0) 0%,rgba(36,36,43,.28) 58%,#24242b 100%)}
.event-copy{padding:clamp(24px,2.6vw,38px);align-self:center}
.event-featured-label{position:absolute;z-index:4;left:22px;top:22px;display:inline-flex;margin:0;padding:9px 13px;background:var(--orange);color:white;text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:700;box-shadow:0 12px 28px rgba(0,0,0,.2)}
.event-card.featured-event .event-meta p{color:var(--orange)}
.event-card.featured-event .event-meta b{background:var(--orange);color:white;border-color:var(--orange)}
.event-card.featured-event h3{font-size:clamp(34px,3.7vw,62px);line-height:.98;color:white}
.event-card.featured-event .event-copy>span{max-width:820px;color:#ddd;font-size:clamp(16px,1.25vw,19px)}
.event-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px}
.event-actions .event-calendar{margin-top:0}.event-share{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.08);color:white;padding:11px 14px;text-transform:uppercase;letter-spacing:.1em;font-size:9px;cursor:pointer;transition:.25s}.event-share:hover{background:white;color:var(--ink);transform:translateY(-2px)}
.event-meta{display:flex;align-items:center;justify-content:space-between;gap:16px}
.event-meta p{margin:0;color:var(--orange);text-transform:uppercase;letter-spacing:.14em;font-size:10px}
.event-meta b{border:1px solid rgba(241,137,24,.38);background:white;color:var(--ink);padding:11px 13px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;line-height:1.2;white-space:nowrap}
.event-card h3{margin:12px 0;font-size:clamp(24px,2.05vw,34px);line-height:1.06;font-weight:300;letter-spacing:-.045em}
.event-copy>span{display:block;max-width:820px;font-size:15px;line-height:1.7}
.program-calendar-all,.event-calendar{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;text-transform:uppercase;letter-spacing:.1em;font-size:9px;transition:transform .25s,background .25s,color .25s,box-shadow .25s}.program-calendar-all{margin-top:30px;padding:16px 18px;background:var(--orange);color:white;box-shadow:0 12px 28px rgba(241,137,24,.22)}.program-calendar-all:hover{transform:translateY(-3px);box-shadow:0 17px 35px rgba(241,137,24,.32)}.event-calendar{margin-top:20px;padding:11px 14px;border:1px solid var(--orange);color:var(--orange)}.event-calendar:hover{background:var(--orange);color:white;transform:translateX(5px)}

.exhibitors{padding:145px var(--pad) 0;background:#24242b;color:white;overflow:hidden}.exhibitors-head{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:end;margin-bottom:70px}.exhibitors-head .overline{grid-column:1/-1}.exhibitors-head h2{font-size:clamp(52px,7vw,105px);line-height:.89;letter-spacing:-.07em;font-weight:300;margin:0}.exhibitors-head h2 em{color:var(--orange)}.exhibitors-head>p:last-child{max-width:470px;color:#bbb;line-height:1.8;margin:0 0 8px}.exhibitor-list{display:grid;grid-template-columns:repeat(6,1fr);gap:0;width:100vw;margin-left:calc(50% - 50vw)}.exhibitor-card{display:block;position:relative;min-width:0;padding:0;border:0;background:#202027;color:white;font:inherit;cursor:pointer;overflow:hidden}.exhibitor-card::before,.exhibitor-card::after{content:"";position:absolute;z-index:4;pointer-events:none;background:rgba(241,137,24,.44)}.exhibitor-card::before{top:0;right:0;width:1px;height:100%}.exhibitor-card::after{left:0;right:0;bottom:0;height:1px}.exhibitor-portrait{display:grid;place-items:center;position:relative;aspect-ratio:3/4;background:#202027;overflow:hidden}.exhibitor-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .65s,transform .65s cubic-bezier(.16,1,.3,1),opacity .55s}.exhibitor-card:hover .exhibitor-portrait img,.exhibitor-card:focus-visible .exhibitor-portrait img{filter:grayscale(0);transform:scale(1.035)}.exhibitor-portrait>b{font-size:70px;color:#555;font-weight:300}.exhibitor-portrait>i{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;gap:5px;padding:38px 13px 13px;background:linear-gradient(transparent,rgba(20,20,25,.9));font-style:normal;font-size:clamp(14px,1.3vw,21px);font-weight:400;letter-spacing:-.03em;text-align:left;transform:translateY(100%);transition:transform .4s cubic-bezier(.16,1,.3,1)}.exhibitor-card:hover .exhibitor-portrait>i,.exhibitor-card:focus-visible .exhibitor-portrait>i{transform:none}.exhibitor-modal{width:min(1120px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:0;background:#f2f0eb;color:var(--ink);overflow:auto;box-shadow:0 35px 110px rgba(0,0,0,.55)}.exhibitor-modal::backdrop{background:rgba(20,20,25,.84);backdrop-filter:blur(8px)}.exhibitor-modal-close{position:fixed;z-index:3;top:max(30px,calc((100vh - min(760px,100vh - 40px))/2 + 18px));right:max(30px,calc((100vw - min(1120px,100vw - 40px))/2 + 18px));width:50px;height:50px;border:0;border-radius:50%;background:var(--ink);color:white;font:inherit;font-size:27px;cursor:pointer}.exhibitor-modal-layout{display:grid;grid-template-columns:.78fr 1.22fr;min-height:min(760px,calc(100dvh - 40px))}.exhibitor-modal-portrait{min-height:650px;background:#1d1d23;display:grid;place-items:center;color:#666;font-size:120px}.exhibitor-modal-portrait img{width:100%;height:100%;object-fit:cover}.exhibitor-modal-copy{padding:clamp(55px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.exhibitor-modal-copy h3{font-size:clamp(48px,6vw,82px);line-height:.88;letter-spacing:-.065em;font-weight:300;margin:0 0 45px;color:var(--ink)}.exhibitor-modal-copy h3 span{color:var(--ink)}.exhibitor-modal-copy h3 em{color:var(--orange);font-style:normal}.exhibitor-modal-copy dl{margin:0}.exhibitor-modal-copy dl div{padding:18px 0;border-top:1px solid var(--line)}.exhibitor-modal-copy dt{color:var(--orange);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.exhibitor-modal-copy dd{margin:9px 0 0;font-size:16px;line-height:1.65}.exhibitor-modal-links{display:flex;flex-direction:column;margin-top:35px}.exhibitor-modal-links a{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--line);color:var(--orange);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.exhibitor-modal-links span{flex:none}

.lazy-frame{position:relative;overflow:hidden}.lazy-frame::after{content:"";position:absolute;z-index:4;inset:0;background:linear-gradient(105deg,#292930 20%,#3b3b44 38%,#292930 56%);background-size:220% 100%;animation:lazy-shimmer 1.35s linear infinite;pointer-events:none;transition:opacity .45s}.lazy-frame.lazy-loaded::after{opacity:0}.lazy-frame img[loading=lazy]{opacity:0}.lazy-frame.lazy-loaded img[loading=lazy]{opacity:1}@keyframes lazy-shimmer{to{background-position:-220% 0}}

.visit{min-height:830px;display:grid;grid-template-columns:1fr 1fr;background:var(--orange);color:white}
.visit-image{position:relative;overflow:hidden;clip-path:polygon(0 0,88% 0,100% 100%,0 100%)}
.visit-image img{width:100%;height:100%;object-fit:cover;object-position:35% center;filter:saturate(.85)}
.visit-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(241,137,24,.28))}
.visit-copy{padding:120px var(--pad) 100px 5vw;display:flex;flex-direction:column;justify-content:center}
.visit h2 em{color:var(--ink)}
.visit-date{display:flex;align-items:center;gap:18px;margin-top:50px}
.visit-date span{font-size:clamp(28px,4vw,55px);letter-spacing:-.06em}.visit-date i{font-style:normal}
.visit-copy>p:not(.overline):not(.calendar-status){font-size:14px;line-height:1.7;margin:30px 0 0}
.primary-button{align-self:flex-start;margin-top:35px;border:0;background:white;color:var(--ink);padding:18px 22px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;cursor:pointer}
.primary-button span{margin-left:38px}
.calendar-status{min-height:15px;font-size:8px;margin:12px 0 0}

.partners{padding:140px var(--pad);background:white}
.partners-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:75px}
.partners-head h2{margin-top:25px}
.partners-head>a{border-bottom:1px solid;padding:10px 0;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.partners-head>a span{margin-left:45px}
.partner-slider{overflow:hidden;width:100vw;margin-left:calc(50% - 50vw)}
.slider-viewport{overflow:hidden}
.logo-track{width:max-content;display:flex;animation:partnerBand 34s linear infinite;will-change:transform}
.partner-slider:hover .logo-track{animation-play-state:paused}
.partner-logo{height:255px;flex:0 0 clamp(240px,24vw,390px);border:1px solid #e3e1dc;border-right:0;display:flex;align-items:center;justify-content:center;padding:44px 56px;position:relative;filter:grayscale(1);transition:.4s;background:white}
.partner-logo:hover{filter:none;background:white}
.partner-logo img{max-height:185px;max-width:100%;width:auto}
@keyframes partnerBand{to{transform:translateX(-50%)}}
@keyframes partnerBandReverse{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.media-partners{width:100vw;margin:70px 0 0 calc(50% - 50vw);padding-top:55px;border-top:1px solid #e3e1dc}.media-partners-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px;padding:0 var(--pad)}.media-partners-head h3{margin:0;font-size:clamp(32px,4vw,62px);line-height:.9;letter-spacing:-.06em;font-weight:300}.partner-slider-media{width:100%;margin-left:0}.logo-track-media{animation-name:partnerBandReverse}.media-partner-logo{height:255px;flex-basis:clamp(240px,24vw,390px);background:white}.media-partner-logo img{max-height:185px}

.faq{padding:145px var(--pad);background:#e9e6df;display:grid;grid-template-columns:.78fr 1.22fr;gap:8vw}.faq-head{position:sticky;top:105px;align-self:start}.faq-head>p:not(.overline){max-width:460px;margin:35px 0 0;font-size:15px;line-height:1.8}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line);background:transparent}.faq-item summary{list-style:none;display:grid;grid-template-columns:55px 1fr;gap:22px;align-items:start;padding:30px 0;cursor:pointer;font-size:clamp(22px,2.35vw,38px);line-height:1.06;letter-spacing:-.045em}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{color:var(--orange);font-size:11px;font-weight:700;letter-spacing:.14em;margin-top:8px}.faq-item summary::after{content:"+";justify-self:end;grid-column:3;color:var(--orange);font-size:30px;line-height:.8}.faq-item[open] summary::after{content:"–"}.faq-item p{margin:-8px 0 34px 77px;max-width:780px;font-size:15px;line-height:1.75;color:#555}

.guestbook{padding:90px var(--pad);display:grid;grid-template-columns:minmax(250px,.58fr) minmax(0,1.42fr);gap:clamp(32px,6vw,95px);align-items:center}.guestbook-head{display:block;margin:0}.guestbook h2{font-size:clamp(42px,5.2vw,76px);line-height:.9}.guestbook-slider{position:relative;min-height:330px;border:1px solid rgba(255,255,255,.14);background:#2d2d35;overflow:hidden}.guestbook-slider::after{content:"";position:absolute;right:-70px;bottom:-70px;width:190px;height:190px;border:1px solid rgba(241,137,24,.25);border-radius:50%}.guestbook-slider .guestbook-card{position:absolute;inset:0;min-height:0;padding:clamp(30px,4vw,58px);opacity:0;visibility:hidden;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease,visibility .7s;display:flex;flex-direction:column;background:transparent}.guestbook-slider .guestbook-card.active{opacity:1;visibility:visible;transform:none}.guestbook-slider .guestbook-card::after{right:25px;top:-45px;font-size:175px;color:rgba(241,137,24,.14)}.guestbook-slider .guestbook-card p{max-width:860px;margin:auto 0 34px;font-size:clamp(31px,4.1vw,64px);line-height:.98}.guestbook-dots{position:absolute;z-index:4;left:clamp(30px,4vw,58px);bottom:clamp(22px,3vw,34px);display:flex;gap:8px}.guestbook-dots i{width:22px;height:3px;background:rgba(255,255,255,.24);transition:.35s}.guestbook-dots i.active{width:46px;background:var(--orange)}

.location{min-height:800px;background:var(--ink);color:white;display:grid;grid-template-columns:1.1fr .9fr}
.osm-map{position:relative;min-height:800px;overflow:hidden;background:#35353e}
.osm-map iframe{width:100%;height:100%;min-height:800px;border:0;filter:grayscale(1) contrast(1.18) brightness(.72);opacity:.9}
.map-consent{position:absolute;z-index:3;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(34px,6vw,85px);background:radial-gradient(circle at 65% 35%,rgba(241,137,24,.16),transparent 32%),linear-gradient(135deg,rgba(45,45,53,.96),rgba(45,45,53,.78)),repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 52px),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 52px);color:white}
.map-consent h3{max-width:560px;margin:22px 0 0;font-size:clamp(42px,5.5vw,86px);line-height:.9;letter-spacing:-.065em;font-weight:300}
.map-consent p:not(.overline){max-width:500px;margin:28px 0 0;font-size:16px;line-height:1.7;color:#eee}
.map-load-button{background:var(--orange);color:white;margin-top:34px}
.osm-map.map-loaded .map-consent{display:none}
.osm-map::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(45,45,53,.08),rgba(45,45,53,.3));mix-blend-mode:multiply}
.osm-map>a{position:absolute;z-index:2;left:25px;bottom:25px;padding:13px 16px;background:var(--orange);color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:9px;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.map-art{position:relative;overflow:hidden;background:#35353e}
.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;transform:perspective(500px) rotateX(25deg) scale(1.2)}
.route{position:absolute;width:120%;height:25%;border-top:2px solid #777780;border-radius:50%}
.route-one{left:-15%;top:32%;transform:rotate(-18deg)}.route-two{left:5%;top:60%;transform:rotate(18deg)}
.map-target{position:absolute;left:52%;top:44%;width:110px;height:110px;border:1px solid var(--orange);border-radius:50%;animation:target 2.5s ease-in-out infinite}
.map-target span{position:absolute;left:50%;top:50%;width:20px;height:20px;background:var(--orange);border-radius:50%;transform:translate(-50%,-50%)}
@keyframes target{50%{box-shadow:0 0 0 35px rgba(241,137,24,.08)}}
.map-art>b{position:absolute;left:calc(52% - 5px);top:calc(44% + 120px);color:var(--orange);font-size:7px;letter-spacing:.16em}
.location-copy{padding:110px var(--pad)}
.location-copy h3{margin:55px 0 12px;color:var(--orange);font-size:16px}
.location-copy>p:not(.overline){font-size:14px;line-height:1.7}
.location-copy ul{list-style:none;padding:0;margin:35px 0}
.location-copy li{padding:16px 0;border-top:1px solid rgba(255,255,255,.18);font-size:12px}
.location-copy li span{display:inline-block;width:65px;color:var(--orange)}
.route-link{display:inline-flex;gap:50px;border-bottom:1px solid;padding:11px 0;text-transform:uppercase;letter-spacing:.12em;font-size:11px}

footer{padding:60px var(--pad);background:#24242b;color:#bbb;display:grid;grid-template-columns:1.4fr 1fr .7fr 1fr;gap:40px;font-size:12px;line-height:1.8}
footer img{width:200px}footer p{margin:0}footer div{display:flex;flex-direction:column}footer a:hover{color:var(--orange)}

.reveal{opacity:0;transform:translateY(34px);clip-path:inset(0 0 25% 0);transition:opacity .85s,transform .85s,clip-path .95s}
.reveal.visible{opacity:1;transform:none;clip-path:inset(0)}

@media(max-width:950px){
  .header nav{
    position:absolute;left:0;right:0;top:100%;padding:35px var(--pad) 42px;
    background:rgba(45,45,53,.98);flex-direction:column;align-items:stretch;gap:4px;
    transform:scaleY(0);opacity:0;transform-origin:top;transition:transform .35s,opacity .25s;
    box-shadow:0 28px 45px rgba(0,0,0,.2)
  }
  .header.open nav{transform:scaleY(1);opacity:1}
  .header nav a{font-size:20px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .header nav .menu-cta{margin:16px 0 5px;padding:18px 20px;border:0;text-align:center}
  .menu-toggle{display:block}
  .program-head{grid-template-columns:1fr;margin-bottom:60px}
  .marathon{grid-template-columns:1fr;min-height:auto}
  .marathon::before{top:28px;right:-.2em}
  .marathon-visual{min-height:430px}
  .marathon-visual img{min-height:430px}
  .marathon-visual::after{background:linear-gradient(0deg,#24242b,rgba(36,36,43,.18) 62%),linear-gradient(90deg,rgba(36,36,43,.28),transparent)}
  .marathon-visual span{left:var(--pad);bottom:45px}
  .marathon-copy{padding:75px var(--pad) 95px}
  .moments-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}.moment{grid-column:auto;grid-row:auto}.moment-entrance{grid-column:1/-1}.moments-quote{grid-column:1/-1;min-height:330px}.moment>div,.moment-entrance>div,.moment-viewing>div,.moment-exhibition>div,.moment-talk>div,.moment-stage>div,.moment-music>div{height:360px}
  .youth-contest{grid-template-columns:1fr}
  .submission{grid-template-columns:1fr}.submission-intro{position:relative;top:auto}
  .statement{grid-template-columns:1fr}.statement-number span{font-size:28vw}
  .partners-head{align-items:start;flex-direction:column;gap:30px}
  .exhibitor-list{grid-template-columns:repeat(3,1fr)}
  .location{grid-template-columns:1fr}.map-art{min-height:520px}
}

@media(max-width:650px){
  .overline{font-size:12px;line-height:1.45}
  .cursor{display:none}.header,.header.scrolled{padding:16px 22px}.logo,.header.scrolled .logo{width:180px}
  .hero{min-height:100svh}
  .hero::after{background:linear-gradient(0deg,rgba(31,31,38,.45),rgba(31,31,38,.88) 68%,rgba(31,31,38,.96))}
  .hero-copy{width:100%;padding:135px 22px 300px;min-height:100svh;justify-content:flex-start}
  .hero h1{font-size:17vw;margin-top:45px}.hero h1 .orange{margin-left:0}
  .hero-date,.hero-intro,.hero-countdown{margin-left:0}.hero-date{margin-top:35px}
  .hero-countdown{margin-top:20px}.countdown-face span{padding:9px 7px 9px 0}.countdown-face span:not(:first-child){padding-left:7px}
  .today-program{min-height:230px}.today-program article strong{font-size:30px}.today-program article small{font-size:14px}
  .hero-visual{position:absolute;inset:0;min-height:100svh}
  .hero-image{clip-path:none}
  .hero-image img{object-position:55% center}
  .image-meta{left:22px;right:118px}
  .hero-cta{right:22px;bottom:25px;width:88px;height:88px}.hero-index{display:none}
  .statement,.program,.partners,.submission,.exhibitors,.moments{padding:90px 22px}.exhibitors{padding-bottom:0}
  .statement-number span{font-size:39vw}.statement-copy{padding:0}
  .statement h2,.program h2,.visit h2,.partners h2,.location h2,.guestbook h2,.faq h2,.marathon h2{font-size:14vw}
  .statement-text{grid-template-columns:1fr;gap:20px;margin-top:40px}
  .gallery{min-height:740px;padding:70px 22px}
  .gallery-main{width:87vw;height:420px;left:22px;top:70px}
  .gallery-detail{width:74vw;min-height:255px;right:0;bottom:65px}
  .gallery-note{padding:28px}.gallery-note blockquote{margin:36px 0 34px;font-size:9vw}
  .gallery-word{font-size:44vw;top:28%}
  .moments-head{grid-template-columns:1fr;gap:30px;margin-bottom:45px}.moments h2{font-size:14vw}.moments-head>p{font-size:14px}.moments-grid{display:block}.moment,.moments-quote{margin-bottom:22px}.moment>div,.moment-entrance>div,.moment-viewing>div,.moment-exhibition>div,.moment-talk>div,.moment-stage>div,.moment-music>div{height:300px}.moments-quote{min-height:280px;padding:42px 25px}.moments-quote p{font-size:11vw}.guestbook{grid-template-columns:1fr;padding:70px 22px;gap:32px}.guestbook h2{font-size:13vw}.guestbook-slider{min-height:310px}.guestbook-slider .guestbook-card{padding:28px 24px 58px}.guestbook-slider .guestbook-card p{font-size:9.3vw}.guestbook-dots{left:24px;bottom:24px}.faq{grid-template-columns:1fr;padding:90px 22px}.faq-head{position:relative;top:auto}.faq-item summary{grid-template-columns:38px 1fr auto;gap:12px;font-size:24px;line-height:1.15}.faq-item p{margin:0 0 28px 50px;font-size:16px}
  .contest-visual{height:620px;border-top-width:7px}
  .contest-visual>img{object-position:63% center}
  .contest-visual-shade{background:linear-gradient(0deg,rgba(45,45,53,.92) 0%,rgba(45,45,53,.25) 72%)}
  .contest-visual-label{left:22px;right:22px;top:auto;bottom:55px;transform:none}
  .contest-visual-label.visible{transform:none}
  .contest-visual-label strong{width:auto;max-width:calc(100vw - 44px);padding-right:0;font-size:13.2vw;line-height:.94;letter-spacing:-.045em;overflow:visible}
  .contest-visual-label strong em{font-size:clamp(66px,17vw,92px);line-height:.86}
  .contest-visual-label strong .contest-word{font-size:clamp(37px,10.2vw,56px);line-height:.98;letter-spacing:-.06em;max-width:100%;white-space:nowrap}
  .contest-visual-label p{font-size:16px;line-height:1.5}
  .contest-intro{padding:90px 22px}.contest-intro h2{font-size:14vw;line-height:.9;letter-spacing:-.055em}
  .contest-intro>p:not(.overline){font-size:17px;line-height:1.7}
  .contest-period{margin-top:34px;padding:22px 0}
  .contest-period span{font-size:11px}
  .contest-period strong{font-size:24px;line-height:1.25}
  .contest-period small{font-size:15px;line-height:1.55}
  .contest-link{font-size:12px;line-height:1.35}
  .contest-upload-link{padding:17px 20px}
  .contest-groups{padding:70px 22px;grid-template-columns:1fr}
  .contest-card{min-height:350px}.contest-card p{font-size:15px}.contest-card b{font-size:11px;line-height:1.45}
  .submission{gap:55px}.submission h2{font-size:14vw}.upload-form{padding:25px 20px}.dropzone{height:270px!important}
  .marathon-visual{min-height:320px}.marathon-visual img{min-height:320px}.marathon-visual span{left:22px;bottom:34px;font-size:32vw}.marathon-copy{padding:70px 22px 85px}.marathon-copy>p:not(.overline){font-size:16px;line-height:1.75}.marathon-facts{margin-top:35px}.marathon-facts span{display:block;font-size:15px}.marathon-facts b{display:block;margin-bottom:8px}.marathon-link{width:100%;justify-content:space-between;font-size:12px;line-height:1.35}
  .form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}
  .program-head{display:block}.program-head>p:last-child{margin:28px 0 0}
  .program-day-panel summary{grid-template-columns:1fr 42px;gap:14px;padding:22px 0 22px 18px}.program-day-panel summary i{grid-column:1/-1;grid-row:2;font-size:10px}.program-day-panel summary b{grid-column:2;grid-row:1;width:42px;height:42px;font-size:24px}.program-day-panel time strong{font-size:30px;line-height:1}.day-program{display:block;padding:0 18px}.program-day-panel[open] .day-program{padding:0 18px 24px}.event-card{display:block;min-height:0;margin-bottom:18px}.event-card:hover{transform:none}.event-visual{min-height:220px;height:220px}.event-visual img{height:220px;min-height:220px}.event-visual.has-image::after,.event-visual.is-generated::after{background:linear-gradient(0deg,#f8f6f1 0%,rgba(248,246,241,.15) 42%,rgba(0,0,0,0) 100%)}.featured-event .event-visual.has-image::after,.featured-event .event-visual.is-generated::after{background:linear-gradient(0deg,#24242b 0%,rgba(36,36,43,.18) 42%,rgba(0,0,0,0) 100%)}.event-copy{padding:24px 20px 28px}.event-card h3{font-size:27px;line-height:1.1}
  .event-meta{align-items:flex-start;gap:8px;flex-direction:column}.event-meta p{font-size:11px}.event-meta b{font-size:13px;padding:9px 11px}
  .event-copy>span{font-size:15px;line-height:1.65}
  .event-card.featured-event h3{font-size:32px;line-height:1.02}
  .program-calendar-all,.event-calendar{font-size:11px;line-height:1.35}
  .exhibitors-head{grid-template-columns:1fr;gap:25px}.exhibitors-head .overline{grid-column:auto}.exhibitors-head h2{font-size:14vw}.exhibitor-list{grid-template-columns:repeat(3,1fr)}.exhibitor-portrait>i{transform:none;padding:34px 10px 10px;font-size:14px}.exhibitor-modal{width:100%;height:100dvh;max-height:100dvh}.exhibitor-modal-layout{grid-template-columns:1fr;min-height:100dvh}.exhibitor-modal-portrait{min-height:58vh;max-height:65vh}.exhibitor-modal-copy{padding:55px 22px 70px}.exhibitor-modal-close{position:fixed;top:12px;right:12px}
  .visit{grid-template-columns:1fr;min-height:auto}
  .visit-image{height:430px;clip-path:polygon(0 0,100% 0,100% 88%,0 100%)}
  .visit-copy{padding:75px 22px 90px}
  .partner-slider{margin-left:-22px}
  .partners-head>button{width:100%;justify-content:center;padding:20px 22px;font-size:13px;gap:26px}
  .partner-logo{height:185px;flex-basis:250px;border-right:1px solid #e3e1dc;padding:34px 42px}
  .partner-logo img{max-height:130px}
  .media-partners{width:100vw;margin:45px 0 0 -22px;padding-top:38px}.media-partners-head{display:block;padding:0 22px}.media-partners-head h3{margin-top:14px;font-size:12vw}.media-partner-logo{height:185px;flex-basis:250px}.media-partner-logo img{max-height:130px}
  .location-copy{padding:85px 22px}.map-art,.osm-map{min-height:450px}.osm-map iframe{min-height:450px}
  footer{grid-template-columns:1fr 1fr;padding:50px 22px}footer img{width:170px}
}

.exhibitor-card::before,.exhibitor-card::after{background:rgba(241,137,24,.58)}
.exhibitor-card::before{width:2px}
.exhibitor-card::after{height:2px}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
  .reveal,.hero-reveal{opacity:1;transform:none;clip-path:none}
  .lazy-frame::after{animation:none}
}

.guestbook-head{overflow:visible;padding-bottom:.22em}
.guestbook-head.reveal{clip-path:none}
.guestbook h2{font-size:clamp(34px,4.1vw,58px);line-height:1.02;letter-spacing:-.055em;padding-bottom:.08em}
.guestbook h2 em{display:inline-block;padding-bottom:.08em}
.guestbook-slider .guestbook-card p{font-size:clamp(29px,3.45vw,54px);max-width:980px}
.guestbook-slider .guestbook-card cite{display:block;margin-top:8px;padding-right:160px}
.guestbook-dots{left:auto;right:clamp(30px,4vw,58px);bottom:clamp(28px,3.4vw,42px)}
@media(max-width:650px){
  .guestbook h2{font-size:11vw}
  .guestbook-slider .guestbook-card p{font-size:8.4vw}
  .guestbook-slider .guestbook-card cite{padding-right:0}
  .guestbook-dots{left:24px;right:auto;bottom:18px}
}
