/* Shared components and the revised concert layout. */
.hero{display:flex;flex-direction:column;height:auto;min-height:max(850px,100svh);padding-bottom:0}
.hero-topline,.hero-title,.hero-copy{flex-shrink:0}
.hero-portrait::after{display:none}
.hero-portrait img{mask-image:linear-gradient(to bottom,#000 0 90%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0 90%,transparent 100%)}
.hero-bottom{position:relative;inset:auto;margin-top:auto;padding:38px 0 24px;min-height:96px;justify-content:flex-end}
.hero-index{display:none}
.anniversary-sticker{display:none}
.era-2007 .hero{height:auto;min-height:850px;padding-bottom:0}
.era-2007 .hero-bottom{inset:auto;padding:38px 0 24px}
.era-2007 .anniversary-sticker{display:block;width:140px;height:140px;transform:rotate(-10deg)}
.era-2007 .anniversary-sticker>svg{position:static;inset:auto;width:100%;height:100%;transform:none;filter:drop-shadow(0 0 22px #ff54e330)}

/* Keep the photo complete; the caption has its own panel. */
.about-visual{aspect-ratio:auto;display:flex;flex-direction:column}
.about-visual>img{width:100%;height:auto;aspect-ratio:1800/657;object-fit:contain;object-position:center;opacity:.85}
.about-visual:hover>img{transform:none}
.about-visual::after{display:none}
.photo-caption{position:static;inset:auto;padding:30px 25px;min-height:145px;background:var(--ink)}

.music-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:45px}
.music-heading>p{margin:0 0 4px;color:#ffffff80;font-size:12px;line-height:1.8}
.music-layout{align-items:center;gap:clamp(35px,6vw,100px);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.retro-tv{margin:0;min-width:0;padding:6px 0 0;isolation:isolate}
.tv-shell{position:relative;padding:20px 18px 14px;background:linear-gradient(125deg,#edf0ef 0%,#b4b9ba 21%,#8a8e92 58%,#c4c8c9 100%);border:2px solid #d8dddd;border-bottom:6px solid #51575c;border-radius:22px 22px 30px 30px;box-shadow:inset 2px 2px 1px #fff9,inset -3px -5px 3px #31393a80,0 20px 35px #0006}
.tv-face{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:15px;align-items:stretch}
.tv-screen{position:relative;aspect-ratio:4/3;isolation:isolate;overflow:hidden;border:10px solid #242829;border-radius:40% / 9%;background:#07090a;box-shadow:0 0 0 3px #73787b,inset 0 0 25px #000,0 2px 0 4px #eef1f133}
.tv-screen video{display:block;width:100%;height:100%;object-fit:contain;background:#060809;transition:opacity .25s;filter:saturate(.85) contrast(1.05)}
.tv-glass{position:absolute;z-index:1;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 24px #0009;background:linear-gradient(130deg,#fff2,transparent 40%,transparent 75%,#fff1)}
.tv-shell.is-off .tv-screen video{opacity:0}
.tv-shell.is-off .tv-glass{background:linear-gradient(135deg,#3f4d52,#141d20 65%,#2c393c)}
.tv-panel{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding-block:4px}
.tv-speaker{width:30px;flex:1;margin:0 0 16px;background:repeating-linear-gradient(#42484b 0 2px,#a6aeb1 2px 5px);border:1px solid #737b7f;border-radius:8px;box-shadow:inset 0 1px 3px #0005;opacity:.75}
.tv-dial{width:29px;height:29px;margin:0 0 19px;flex-shrink:0;border:2px solid #575f63;border-radius:50%;background:linear-gradient(130deg,#f2f4f4,#8d9496);box-shadow:0 2px 2px #0005,inset 0 1px #fff9}
.tv-dial::after{content:"";display:block;width:2px;height:10px;margin:2px auto;background:#4a5255;transform:rotate(30deg);transform-origin:bottom}
.tv-power{display:grid;place-items:center;width:35px;height:35px;flex-shrink:0;padding:6px;border:1px solid #60696c;border-radius:50%;background:linear-gradient(#dde2e3,#91999c);color:#3f474a;box-shadow:0 2px 2px #0005,inset 0 1px #fffa}
.tv-power>svg{width:19px;height:19px}
.tv-power:hover{color:#111;background:#eef1ed}
.tv-power:active{box-shadow:inset 0 2px 4px #0005}
.tv-power:focus-visible{outline:2px solid var(--acid);outline-offset:4px}
.tv-led{display:block;width:4px;height:4px;flex-shrink:0;margin-top:13px;border-radius:50%;background:#a6f988;box-shadow:0 0 8px #c1ff97}
.tv-shell.is-off .tv-led{background:#c44a38;box-shadow:none}
.tv-brand-strip{display:flex;justify-content:space-between;align-items:center;margin-top:17px;padding:0 2px;font:700 7px/1.5 Arial,sans-serif;letter-spacing:.1em;color:#2c3336;text-shadow:0 1px #ffffff80}
.tv-brand-strip>span:first-child{font-weight:900;letter-spacing:.04em}
.tv-brand-strip>span:last-child{font-size:6px}
.tv-stand{position:relative;z-index:-1;width:48%;height:16px;margin:-2px auto 0;background:linear-gradient(#3b4145,#90989b 65%,#4a5155);border-radius:0 0 6px 6px;box-shadow:0 10px 26px #0008}
.retro-tv figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:26px;color:#ffffff70;font-size:9px}
.retro-tv figcaption>span:first-child{color:#f0f0e9c0}
.era-2007 .tv-shell{background:linear-gradient(130deg,#e7dbea,#b3a4c1 35%,#776c83 70%,#c1b4d0);border-color:#f1e2fa;border-bottom-color:#57485f}
.era-2007 .tv-screen{box-shadow:0 0 0 3px #7d6989,0 0 22px #da75ff30}
.era-2007 .tv-glass{background:repeating-linear-gradient(transparent 0 3px,#0002 3px 4px),linear-gradient(135deg,#fff2,transparent 45%)}
.era-2007 .retro-tv figcaption{font-family:monospace;color:#c8aed9}

/* The photograph and the statement never share the same area. */
.manifesto{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:0;padding:0;text-align:left}
.manifesto-content{align-self:center;min-width:0;padding:72px clamp(22px,4.5vw,72px)}
.manifesto-content>p{justify-content:flex-start}
.manifesto h2{font-size:clamp(30px,3.55vw,60px);line-height:1.12;letter-spacing:-.055em}
.manifesto-caption{max-width:280px;font-size:11px;line-height:1.8;margin-top:26px}
.manifesto-photo{position:relative;min-width:0;min-height:410px;overflow:hidden}
.manifesto-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;opacity:.85}
.era-2007 .manifesto h2{font-size:clamp(28px,3.1vw,48px);line-height:1.15}
.era-2007 .manifesto-photo>img{filter:sepia(.45) hue-rotate(220deg) saturate(1.7)}

.venue-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;margin-bottom:20px}
.venue-details>div{display:grid;align-content:start;justify-content:stretch;align-items:start;gap:8px;min-width:0;padding:17px 0 20px}
.venue-details .venue-address{grid-column:1/-1}
.venue-details dt{font-size:10px}
.venue-details dd{text-align:left;font-size:15px;line-height:1.55}
.venue-details dd small{display:block;margin-top:5px;font-size:9px;line-height:1.5;color:#75756c}
.time-placeholder{font:600 20px/1.2 var(--body);letter-spacing:.04em}
.hero-event [data-event-time]{color:#f0f0e9b5;white-space:nowrap}
.era-2007 .venue-details dd{font-size:14px}
.era-2007 .venue-details dd small{color:#c9a9dd}

.dialog-close{width:38px;height:38px;border:1px solid #ffffff25;border-radius:50%;background:#ffffff06}
.dialog-close:hover{background:#ffffff14}
.dialog-close>svg{width:19px;height:19px}
.dialog-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
#dialog-title:focus{outline:none}
.footer-info{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:30px 0;border-bottom:1px solid #ffffff25}
.organizer>span{display:block;margin-bottom:12px;color:#ffffff60;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.organizer>p{margin:0 0 5px;font-size:11px;line-height:1.7}
.organizer>p:last-child{font-size:9px;color:#ffffff75}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:20px;font-size:10px;color:#ffffffa5}
.footer-legal>a,.footer-legal>button{padding:4px 0;border-bottom:1px solid #ffffff40;background:none;color:inherit;font:inherit}
.site-footer{padding-bottom:110px}
.era-2007 .site-footer{padding-bottom:110px}
.era-2007 .footer-info{border-color:#a772c548}
.era-2007 .organizer,.era-2007 .footer-legal{font-family:monospace}

/* The invitation is deliberately separate from navigation. */
.time-machine,.era-2007 .time-machine{position:fixed;z-index:180;inset:auto auto max(20px,env(safe-area-inset-bottom)) 50%;transform:translateX(-50%);display:flex;justify-content:center;align-items:center;gap:15px;width:270px;min-width:0;height:62px;padding:0 23px;border:1px solid #efffa0;border-radius:99px;background:linear-gradient(120deg,#edffa7,#ddfa52 56%,#c9ed31);color:#171b0d;box-shadow:0 8px 35px #0005,0 0 26px #dcfa522e,inset 0 1px #fff9;white-space:nowrap;overflow:hidden;transition:left .75s var(--ease),width .65s var(--ease),transform .75s var(--ease),padding .65s,gap .65s,background .5s,box-shadow .4s,border-radius .65s;animation:magic-aura 5s ease-in-out infinite}
.time-machine>svg,.era-2007 .time-machine>svg{width:28px;height:28px;color:#28320b;filter:drop-shadow(0 1px #fff8);transform:none;transition:transform .5s}
.time-machine-copy{display:grid;gap:4px;max-width:200px;opacity:1;overflow:hidden;text-align:left;transition:max-width .55s var(--ease),opacity .25s,transform .55s}
.time-machine-label,.era-2007 .time-machine-label{display:block;max-width:none;opacity:1;transform:none;font:800 13px/1.2 var(--body);letter-spacing:-.01em}
.time-machine-copy small{font:500 9px/1.2 var(--body);color:#33400dba}
.time-machine:hover,.era-2007 .time-machine:hover{background:linear-gradient(120deg,#f4ffd0,#e9ff8a 60%,#d4f94d);box-shadow:0 8px 38px #0006,0 0 40px #ddfa5245}
.time-machine:hover>svg{transform:rotate(-12deg) scale(1.1)}
.is-scrolled .time-machine,.era-2007.is-scrolled .time-machine{left:22px;transform:translateX(0);width:54px;height:54px;padding:0;gap:0;border-radius:50%;animation:none}
.is-scrolled .time-machine-copy{max-width:0;opacity:0;transform:translateX(15px)}
.is-scrolled .time-machine>svg{width:25px;height:25px}
.era-2007 .time-machine{background:linear-gradient(120deg,#ffd4fa,#f889dc 58%,#df5abf);border-color:#ffd1f7;box-shadow:0 8px 35px #0006,0 0 28px #e861cb40}
.era-2007 .time-machine>svg{color:#45203c}
.era-2007 .time-machine-copy small{color:#65254d}
.era-2007 .time-machine:hover{background:linear-gradient(120deg,#ffe4fc,#ffabea 70%,#e98cd5)}
@keyframes magic-aura{0%,100%{box-shadow:0 8px 35px #0005,0 0 22px #dcfa5220}50%{box-shadow:0 8px 35px #0005,0 0 38px #dcfa5247}}

@media(max-width:1000px){.hero{min-height:840px}.manifesto-content{padding:50px 28px}.manifesto h2{font-size:34px}.manifesto-photo{min-height:350px}.music-heading{gap:25px}.tv-face{grid-template-columns:minmax(0,1fr) 30px;gap:12px}.tv-shell{padding:16px 13px 12px}.tv-power{width:30px;height:30px}.tv-speaker{width:24px}.tv-dial{width:25px;height:25px}.venue-details{gap:0 14px}.venue-details dd{font-size:13px}.venue-details dd small{font-size:8px}}
@media(max-width:700px){.hero,.era-2007 .hero{min-height:0;height:auto;padding-bottom:0}.hero-copy{margin-top:220px}.hero-portrait{height:290px}.hero-bottom,.era-2007 .hero-bottom{inset:auto;min-height:0;margin-top:0;padding:96px 0 24px}.era-2007 .hero-copy{margin-top:230px}.era-2007 .hero-portrait{height:270px}.era-2007 .anniversary-sticker{width:108px;height:108px;top:245px;left:24px}.photo-caption,.era-2007 .photo-caption{inset:auto;padding:25px 22px;min-height:118px}.photo-caption>span:first-child{font-size:32px}.photo-caption>span:last-child{font-size:8px}.music-heading{display:block;margin-bottom:34px}.music-heading>p{font-size:11px;margin-top:20px}.music-layout{gap:43px}.tv-face{grid-template-columns:minmax(0,1fr) 34px;gap:13px}.tv-shell{max-width:470px;margin-inline:auto;padding:18px 16px 13px}.tv-screen{border-width:9px}.tv-power{width:32px;height:32px}.tv-speaker{width:27px}.tv-dial{width:27px;height:27px}.retro-tv figcaption{font-size:8px;gap:12px;margin-top:22px}.manifesto{grid-template-columns:1fr;min-height:0;padding:0}.manifesto-content{padding:50px var(--pad);text-align:left}.manifesto h2{font-size:clamp(30px,8vw,46px)}.era-2007 .manifesto h2{font-size:clamp(27px,7.4vw,41px)}.manifesto-content>p{justify-content:flex-start;margin-bottom:22px}.manifesto-caption{font-size:10px;margin-top:22px}.manifesto-photo{min-height:0;aspect-ratio:1800/658}.manifesto-photo>img{position:static;height:auto;object-fit:contain;opacity:1}.venue-details,.era-2007 .venue-details{gap:0 16px}.venue-details dd,.era-2007 .venue-details dd{font-size:14px}.venue-details dt{font-size:10px}.venue-details dd small{font-size:8px}.venue-address dd,.era-2007 .venue-address dd{font-size:16px;max-width:290px}.footer-info{display:block;padding-block:24px}.organizer>p{font-size:11px}.organizer>p:last-child{font-size:8px}.footer-legal{justify-content:flex-start;gap:22px;margin-top:20px;font-size:9px}.time-machine,.era-2007 .time-machine{bottom:max(16px,env(safe-area-inset-bottom));width:254px;height:58px;padding:0 20px;gap:13px}.time-machine-label,.era-2007 .time-machine-label{font-size:12px}.time-machine>svg,.era-2007 .time-machine>svg{width:26px;height:26px}.is-scrolled .time-machine,.era-2007.is-scrolled .time-machine{left:16px;width:50px;height:50px;padding:0;gap:0}.time-machine-copy small{font-size:8px}.time-placeholder{font-size:19px}}
@media(max-width:380px){.hero-copy{margin-top:195px}.hero-portrait{height:260px}.era-2007 .hero-copy{margin-top:213px}.era-2007 .hero-portrait{height:255px}.era-2007 .anniversary-sticker{width:94px;height:94px;left:20px;top:227px}.tv-face{grid-template-columns:minmax(0,1fr) 28px;gap:10px}.tv-shell{padding:14px 12px 11px;border-radius:18px 18px 24px 24px}.tv-screen{border-width:7px}.tv-power{width:28px;height:28px;padding:5px}.tv-dial{width:23px;height:23px;margin-bottom:14px}.tv-speaker{width:23px;margin-bottom:13px}.tv-brand-strip{font-size:6px}.tv-brand-strip>span:last-child{font-size:5px}.retro-tv figcaption{font-size:7px}.photo-caption>span:first-child{font-size:29px}.photo-caption>span:last-child{font-size:7px}.venue-details,.era-2007 .venue-details{gap:0 12px}.venue-details dd,.era-2007 .venue-details dd{font-size:13px}.venue-address dd,.era-2007 .venue-address dd{font-size:15px}.venue-details dd small{font-size:7px}.manifesto h2{font-size:29px}.era-2007 .manifesto h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.time-machine{animation:none}.time-machine,.time-machine-copy{transition:none}}
@media(max-width:700px){.music-layout{grid-template-columns:1fr}}
