/* Shared black / white / red editorial language. Keep textures at the edges. */
.original-reel .hero-retry{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;width:auto;height:auto;background:#d51520;padding:14px 24px;font:600 13px 'Poppins',sans-serif;clip-path:var(--red-block-shape)}
.original-reel .hero-retry[hidden]{display:none}
.original-reel .hero-retry:after{content:none}
#everydays .everyday-statement{font-size:clamp(18px,2vw,28px);line-height:1.4;margin:24px 0 30px}
#contact #contact-form{position:relative;isolation:isolate;--typing-signal:0;box-shadow:0 0 calc(var(--typing-signal)*20px) rgba(255,32,60,.2)}
#contact #contact-form:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;opacity:calc(var(--typing-signal)*.25);background-image:url('assets/typing-static.svg'),repeating-linear-gradient(0deg,transparent 0 3px,#ff758c55 3px 4px,transparent 4px 7px);background-size:180px 120px,100% 7px;animation:typing-noise .24s steps(3,end) infinite;animation-play-state:paused}
#contact #contact-form:before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;opacity:calc(var(--typing-signal)*.24);background:linear-gradient(90deg,transparent 8%,#ff426744 8% 34%,transparent 34% 62%,#c7eefc66 62% 85%,transparent 85%) 0 28%/100% 2px no-repeat,linear-gradient(90deg,#eee5 0 20%,transparent 20% 43%,#ff244455 43% 74%,transparent 74%) 0 68%/100% 4px no-repeat;animation:typing-tracking .65s steps(4,end) infinite;animation-play-state:paused}
#contact .contact-disclosure[open] #contact-form:before{animation-play-state:running}
@keyframes typing-tracking{0%{background-position:0 28%,0 68%}33%{background-position:9px 30%,-7px 65%}66%{background-position:-6px 58%,10px 24%}100%{background-position:0 28%,0 68%}}
#contact .contact-disclosure[open] #contact-form:after{animation-play-state:running}
#contact #contact-form>*{position:relative;z-index:1}
@keyframes typing-noise{0%{background-position:0 0,0 0}33%{background-position:37px -19px,0 2px}66%{background-position:-23px 41px,0 -2px}100%{background-position:17px 13px,0 0}}
@media(prefers-reduced-motion:reduce){#contact #contact-form:after,#contact #contact-form:before{display:none}#contact #contact-form{box-shadow:none}}
#events .more-events>summary{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:24px;width:fit-content;max-width:100%;min-height:62px;margin:30px auto 0;border:0;padding:18px 30px;color:#fff;font-size:15px;font-weight:600;letter-spacing:.07em}
:root{--red-block-shape:polygon(1% 5%,13% 2%,27% 4%,44% 0,62% 3%,79% 1%,99% 4%,98% 26%,100% 48%,99% 71%,100% 96%,83% 99%,64% 96%,47% 100%,29% 97%,12% 100%,0 96%,1% 72%,0 49%,1% 27%)}
#events .more-events>summary:before{content:'';position:absolute;inset:0;z-index:-1;background:#d51520;clip-path:var(--red-block-shape);transition:background .2s}
#events .more-events>summary:after{color:#fff;font-size:26px;margin:0}
#events .more-events>summary:hover:before{background:var(--acid)}
#events .more-events>summary:focus-visible{outline:2px solid #fff;outline-offset:6px}
.more-events .studio-disclosure-body{padding-top:28px}
#events .event-preview>.event-panel{margin-bottom:24px}
#about .about-disciplines{display:inline-block;font-size:clamp(22px,2.7vw,40px);line-height:1.3;letter-spacing:-.035em}
#about h2{font-size:clamp(40px,4.7vw,68px)}
#about .about-copy>.large{font-size:clamp(18px,1.65vw,24px);line-height:1.5}
#about .about-copy>p:not(.large){font-size:13px;line-height:1.9}
#about .skills{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:26px}
#about .skills>span{position:relative;border:0;border-bottom:1px solid #3e1818;padding:11px 0 11px 15px;font-size:11px;letter-spacing:.04em}
#about .skills>span:before{content:'';position:absolute;left:0;top:17px;width:5px;height:5px;background:var(--acid);transform:rotate(45deg)}
.contact-disclosure{min-width:0}
.contact-disclosure>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:20px 24px;border:1px solid #632020;border-top:2px solid var(--acid);background:#130707;font-size:15px;letter-spacing:.1em;cursor:pointer}
.contact-disclosure>summary::-webkit-details-marker{display:none}
.contact-disclosure>summary:after{content:'+';font-size:26px;color:var(--acid);line-height:1;transition:transform .3s}
.contact-disclosure[open]>summary:after{transform:rotate(45deg)}
.contact-disclosure>summary:hover{border-color:var(--acid);background:#230909}
#contact .contact-disclosure #contact-form{border-top:0;background:linear-gradient(110deg,#130707 35%,#42101e 46%,#64253c 49%,#32111e 53%,#0a0909 65%);background-size:300% 100%;animation:message-hologram 12s linear infinite}
.contact-disclosure[open] .contact-reveal{animation:message-reveal .35s ease-out}
@keyframes message-hologram{from{background-position:100% 0}to{background-position:0% 0}}
@keyframes message-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@supports(interpolate-size:allow-keywords){.contact-disclosure{interpolate-size:allow-keywords}.contact-disclosure::details-content{height:0;overflow:clip;opacity:0;transition:height .4s ease,opacity .3s,content-visibility .4s allow-discrete}.contact-disclosure[open]::details-content{height:auto;opacity:1}}
@media(prefers-reduced-motion:reduce){#contact .contact-disclosure #contact-form,.contact-disclosure[open] .contact-reveal{animation:none}.contact-disclosure::details-content,.contact-disclosure>summary:after{transition:none}}
.studio-disclosure>summary{list-style:none;cursor:pointer;margin-bottom:0;padding-bottom:20px}
.studio-disclosure>summary::-webkit-details-marker{display:none}
.studio-disclosure>summary:after{content:'+';color:var(--acid);font-size:26px;line-height:1;transition:transform .25s;margin-left:8px}
.studio-disclosure>summary>.eyebrow{margin-left:auto}
.studio-disclosure[open]>summary:after{transform:rotate(45deg)}
.studio-disclosure>summary:hover h2{color:var(--acid)}
.studio-disclosure[open]>.studio-disclosure-body{animation:studio-reveal .3s ease-out}
@keyframes studio-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.studio-disclosure>summary>.eyebrow{display:none}}
@media(prefers-reduced-motion:reduce){.studio-disclosure[open]>.studio-disclosure-body{animation:none}.studio-disclosure>summary:after{transition:none}}
/* One divider per section; project transitions use the same inset rule. */
#work .feature{border-bottom:0;padding-bottom:0;margin-bottom:0}
#work .feature+.feature{margin-top:64px;padding-top:40px}
#similar{border:0;margin-top:0;padding:90px 0 0}
#similar .section-heading{border-top:1px solid #491616}
.section{padding-top:90px}
#about{margin-top:90px;padding-top:40px;padding-bottom:80px}
#contact{padding-top:40px}
#work .feature+.feature,#about,#contact{position:relative;border-top:1px solid #491616}
#work .feature+.feature:before,#about:before,#contact:before{content:'';position:absolute;top:-2px;left:0;width:95px;height:5px;background:var(--acid);clip-path:polygon(0 20%,13% 0,28% 35%,52% 5%,68% 25%,100% 0,94% 70%,66% 100%,40% 65%,14% 100%,2% 80%)}
#contact .contact-layout{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(30px,6vw,90px)}
#contact h2{font-size:clamp(32px,3.5vw,52px);line-height:1.08;letter-spacing:-.045em;margin:20px 0}
#contact h2 em{display:block}
#contact .contact-copy>p{font-size:13px;max-width:390px;line-height:1.8}
#contact .contact-email{font-size:16px;border-bottom:1px solid #6f2525;padding-bottom:7px;margin-top:24px;display:inline-flex;gap:24px}
#contact .contact-email span{color:var(--acid)}
#contact #contact-form{margin:0;padding:26px;background:linear-gradient(135deg,#180707,#080808 70%);border:1px solid #422020;border-top:2px solid var(--acid)}
#contact-form textarea{width:100%;min-height:150px;background:#080808;border:1px solid #512020;padding:15px;font:14px/1.6 'Poppins',sans-serif;color:#fff;resize:vertical}
#contact-form textarea:focus{outline:1px solid var(--acid);outline-offset:2px}
#contact .contact-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}
#contact .contact-actions .small{font-size:10px;max-width:170px}
#contact #contact-form .full-send{margin:0;display:inline-flex;align-items:center;gap:22px;padding:12px 16px;font-size:11px;white-space:nowrap}
#contact .footer-social{margin-top:26px;gap:24px}
#contact .footer-social a{display:inline-flex;align-items:center;gap:8px;border:0;font-size:11px;text-transform:none}
#contact .footer-social svg{width:19px;height:19px;color:var(--acid);flex-shrink:0}
#contact .footer{border-color:#491616;margin-top:40px}
@media(max-width:600px){#contact .contact-layout{grid-template-columns:1fr}#contact #contact-form{padding:20px}.section{padding-top:64px}#similar{padding-top:64px}#about{margin-top:64px}#work .feature+.feature{margin-top:48px}}
:root{--acid:#ff2020;--section-title-size:clamp(18px,2.1vw,24px);--section-meta-size:clamp(9px,.95vw,11px)}
main .section-heading h2{font-size:var(--section-title-size);font-weight:700;line-height:1.25;letter-spacing:-.02em}
main .section-heading .eyebrow{font-size:var(--section-meta-size);line-height:1.5;letter-spacing:.11em}
.film-grid figure:before{bottom:0}
.film-grid .film-views{position:absolute;top:26px;left:24px;z-index:3;display:flex;align-items:center;gap:7px;padding:5px 8px;background:#000c;color:#fff;font-size:10px;line-height:1.5;letter-spacing:.035em;border-left:2px solid var(--acid)}
.film-views>span:first-child{color:var(--acid);font-size:9px}
.film-views .film-platform{color:#ccc;font-size:9px}
/* One viewport-aligned ruby reflection sweeps through all top-section lettering. */
header .brand{display:inline-block}
.intro h1{font-size:clamp(26px,2.7vw,42px);line-height:1.16;text-align:left;margin:18px 0 30px;letter-spacing:-.04em}
.intro h1 span{transform:none}
header .brand,header nav a,.intro .intro-meta>span,.intro h1,.intro h1 span{--shimmer-base:#fff;color:var(--shimmer-base)}
.intro .intro-meta>span{--shimmer-base:#b8b8b8}
.intro h1 span{--shimmer-base:var(--acid)}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  header .brand,header nav a,.intro .intro-meta>span,.intro h1,.intro h1 span{background-image:linear-gradient(100deg,var(--shimmer-base) 0%,var(--shimmer-base) 44%,#a91835 47%,#f05c78 49%,#ffd3d9 50%,#fa354f 51%,#a91835 53%,var(--shimmer-base) 56%,var(--shimmer-base) 100%);background-size:300vw 100vh;background-attachment:fixed;background-position:100% 0;background-clip:text;-webkit-background-clip:text;color:transparent;animation:top-ruby-shine 12s linear infinite}
}
@keyframes top-ruby-shine{from{background-position:100% 0}to{background-position:0% 0}}
@media(prefers-reduced-motion:reduce){header .brand,header nav a,.intro .intro-meta>span,.intro h1,.intro h1 span{animation:none;background-position:100% 0}}
h1 span:after{content:none;display:none}
#work .feature-copy>h3{color:var(--acid)}
.section-heading{position:relative;border-top-color:#491616}
.section-heading:before{content:'';position:absolute;top:-2px;left:0;width:95px;height:5px;background:var(--acid);clip-path:polygon(0 20%,13% 0,28% 35%,52% 5%,68% 25%,100% 0,94% 70%,66% 100%,40% 65%,14% 100%,2% 80%)}
.section-heading h2{font-weight:700}
.feature .credit{border-top-color:#4b1919}
.feature .credit>.eyebrow{color:var(--acid)}
.feature .media-label{border-left:2px solid var(--acid)}
/* Compact, tactile studio panels. Existing grunge asset frames the panel surface. */
#concerts .studio-grid{gap:28px;align-items:start}
#concerts .studio-grid>article{position:relative;border:0;border-top:1px solid #491616;padding:26px 0 0;background:none}
#concerts .studio-grid>article:before,#concerts .studio-grid>article:after{content:none;display:none}
#concerts .studio-grid>article>.eyebrow{color:#c4b8b8;font-size:10px}
#concerts .studio-grid h3 a{font-size:clamp(25px,2.7vw,38px);border-color:#a72c2c;background:#0a0303;padding:8px 14px}
#concerts .studio-grid h3 a:after{content:'↗';display:inline-block;margin-left:13px;color:var(--acid);font-size:.65em;vertical-align:middle}
#concerts .studio-grid h3 a:hover{background:var(--acid);color:#000}
#concerts .studio-grid h3 a:hover:after{color:#000}
#concerts .studio-grid ul{font-size:13px;letter-spacing:.02em;margin:8px 0 0}
#concerts .studio-grid li{padding:10px 0;border-bottom-color:#362020}
#concerts .studio-grid .film-credit{border:0;border-left:2px solid var(--acid);padding:12px 16px;background:#170707;margin-top:24px}
#concerts .studio-grid .film-credit h3{font-size:24px;color:var(--acid);margin:12px 0}
#concerts .film-credit .small{font-size:11px}
/* Same small red plus / cross on every disclosure. */
.feature details,.artist-dropdown{border-top:1px solid #512020}
.feature details>summary,.artist-dropdown>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;font-size:12px;letter-spacing:.08em;color:#fff;cursor:pointer}
.feature details>summary::-webkit-details-marker,.artist-dropdown>summary::-webkit-details-marker{display:none}
.feature details>summary:before,.artist-dropdown>summary:before{display:none;content:none}
.feature details>summary:after,.artist-dropdown>summary:after{content:'+';display:block;flex:none;font-size:23px;font-weight:400;line-height:1;color:var(--acid);transition:transform .35s ease}
.feature details[open]>summary:after,.artist-dropdown[open]>summary:after{transform:rotate(45deg)}
.feature details>summary:hover,.artist-dropdown>summary:hover{color:var(--acid)}
.feature details>summary:focus-visible,.artist-dropdown>summary:focus-visible{outline:1px solid var(--acid);outline-offset:4px}
@supports(interpolate-size:allow-keywords){
 .feature details{interpolate-size:allow-keywords}
 .feature details::details-content{height:0;overflow:clip;opacity:0;transition:height .45s cubic-bezier(.2,.7,.2,1),opacity .3s ease,content-visibility .45s allow-discrete}
 .feature details[open]::details-content{height:auto;opacity:1}
}
.event-caption h3{border-left:2px solid var(--acid);padding-left:12px}
.event-caption .text-link,.similar-socials svg{color:var(--acid)}
.event-pending{border-top-color:#572020}
.skills span{border-color:#512020}
#contact-form .full-send{border-color:var(--acid);background:#c41414;letter-spacing:.06em}
#contact-form .full-send:hover{background:var(--acid);color:#000}
#contact-form textarea{border-color:#512020}
.process-videos figcaption{border-left:2px solid var(--acid);padding-left:8px}
@media(max-width:600px){
 #concerts .studio-grid>article{padding:22px 0 0}
 #concerts .studio-grid h3 a{font-size:26px}
 #concerts .studio-grid ul{font-size:12px}
 .feature details>summary,.artist-dropdown>summary{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 .feature details::details-content,.feature details>summary:after,.artist-dropdown>summary:after{transition:none}
}
