
/* SOUND OF LEXI -- black, white, space. No frameworks or remote fonts. */
:root{--black:#000;--surface:#080808;--text:#f5f5f5;--muted:#a1a1a1;--dim:#777;--line:#262626;--gutter:clamp(24px,4.2vw,72px);--header:100px;--footer:80px;--max:1440px;--font:Arial,"Helvetica Neue",Helvetica,sans-serif}
*{box-sizing:border-box}
html{background:var(--black);color:var(--text);color-scheme:dark;scroll-behavior:smooth}
body{margin:0;min-width:300px;min-height:100vh;font-family:var(--font);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer}
button:disabled{cursor:wait;opacity:.55}
img,video{display:block;max-width:100%}
svg{display:block;width:24px;height:24px;flex-shrink:0}
h1,h2,h3,p,figure{margin:0}
button{border:0}
[hidden]{display:none!important}
::selection{background:#ddd;color:#000}
:focus-visible{outline:1px solid #fff;outline-offset:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:#fff;color:#000;padding:12px 20px}
.skip-link:focus{top:16px}
.site-header{height:var(--header);padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:10;max-width:1800px;margin:auto}
.wordmark{display:flex;flex-direction:column;gap:5px;line-height:1;flex-shrink:0;min-height:44px;justify-content:center}
.wordmark-top{font-size:9px;font-weight:400;letter-spacing:.43em;padding-left:2px}
.wordmark-bottom{font-size:28px;letter-spacing:.27em;font-weight:400}
.header-right{display:flex;align-items:center;gap:46px}
.primary-nav{display:flex;align-items:center;gap:36px}
.primary-nav a{position:relative;display:flex;align-items:center;min-height:44px;font-size:12px;letter-spacing:.045em;color:#bdbdbd;transition:color .2s}
.primary-nav a:hover,.primary-nav a[aria-current="page"]{color:#fff}
.primary-nav a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:#fff}
.social-links{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:27px}
.social-link{width:44px;height:44px;display:grid;place-items:center;color:#fff;transition:transform .2s}
.social-link:hover{transform:translateY(-2px)}
.social-link svg{width:22px;height:22px}
.site-footer{min-height:var(--footer);padding:22px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:5;max-width:1800px;margin:0 auto;font-size:12px;letter-spacing:.05em;color:#929292}
.footer-signature{font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.footer-links{display:flex;align-items:center;gap:26px}
.footer-links a{min-height:32px;display:inline-flex;align-items:center;gap:6px;transition:color .2s}
.footer-links a:hover{color:#fff}
.footer-links svg{width:12px;height:12px}
.footer-release{color:#ddd}
.home-page{min-height:100svh;display:flex;flex-direction:column}
.home-page .site-header,.home-page .site-footer{width:100%;flex-shrink:0}
.home-main{position:relative;display:flex;justify-content:center;align-items:center;flex:1;min-height:420px;height:calc(100svh - var(--header) - var(--footer));isolation:isolate}
.hero-media{position:relative;height:min(calc(100svh - 160px),880px);min-height:420px;aspect-ratio:1;width:auto;max-width:100%;overflow:hidden;background:#000}
.hero-media:after{content:"";position:absolute;inset:-1px;z-index:3;pointer-events:none;background:linear-gradient(90deg,#000 0%,transparent 17%,transparent 83%,#000 100%),linear-gradient(0deg,#000 0%,transparent 24%,transparent 94%,#000 100%)}
.hero-poster,.hero-video{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0}
.hero-video{opacity:0;z-index:2}
.hero-media.has-video .hero-video{opacity:1}
.hero-media.has-video .hero-poster{visibility:hidden}
.hero-poster{filter:brightness(.88)}
.content-page{min-height:100svh;display:flex;flex-direction:column}
.content-page main{flex:1}
.content-page .site-header,.content-page .site-footer{width:100%}
.content-page .site-footer{border-top:1px solid var(--line);margin-top:72px}
.page-wrap{max-width:var(--max);margin:0 auto;padding:70px var(--gutter) 0}
.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.22em;font-weight:400;text-transform:uppercase;color:var(--muted)}
.page-heading{font-size:clamp(60px,8.2vw,126px);line-height:.94;letter-spacing:-.065em;font-weight:400}
.page-heading .stop{color:#6a6a6a}
.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:68px}
.page-intro .eyebrow{margin-bottom:20px}
.intro-copy{max-width:350px;color:#a8a8a8;font-size:14px;line-height:1.8}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:44px;border-bottom:1px solid #5b5b5b;font-size:12px;padding:5px 0;color:#ececec}
.text-link:hover{border-color:#fff}
.text-link svg{width:19px;height:19px}
.gallery-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:42px 32px;align-items:start}
.gallery-card:first-child{grid-row:span 2}
.gallery-card:nth-child(2){padding-top:86px}
.gallery-card:nth-child(3){padding:0 0 0 22%}
.gallery-frame{width:100%;overflow:hidden;position:relative;background:#090909;border:1px solid #202020;display:block;padding:0;isolation:isolate}
.gallery-frame img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gallery-frame:hover img{transform:scale(1.025)}
.gallery-frame .open-hint{position:absolute;right:16px;bottom:16px;z-index:3;display:grid;place-items:center;width:36px;height:36px;background:#0009;border:1px solid #ffffff44;border-radius:50%;opacity:0;transition:opacity .2s}
.gallery-frame:hover .open-hint,.gallery-frame:focus-visible .open-hint{opacity:1}
.open-hint svg{width:16px;height:16px}
.portrait-frame{aspect-ratio:4/5}
.portrait-frame img{object-position:50% 40%;filter:brightness(.9)}
.focus-frame{aspect-ratio:1.7}
.focus-frame img{object-fit:cover;object-position:50% 40%;transform:scale(1.12);filter:brightness(.8)}
.focus-frame:hover img{transform:scale(1.15)}
.texture-frame{aspect-ratio:1.55}
.texture-frame img{object-position:center 72%;transform:scale(1.85);filter:brightness(.72)}
.texture-frame:hover img{transform:scale(1.9)}
.gallery-caption{display:grid;grid-template-columns:30px 1fr;column-gap:15px;padding-top:18px}
.gallery-number{font-size:12px;color:#8c8c8c;padding-top:3px}
.gallery-caption h2{font-size:13px;font-weight:400;line-height:1.5;margin-bottom:5px}
.gallery-caption p{font-size:12px;color:#929292;line-height:1.7;max-width:380px}
.gallery-caption .caption-link{font-size:12px;display:inline-flex;align-items:center;gap:9px;margin-top:10px;min-height:32px;color:#ccc}
.caption-link svg{width:15px;height:15px}
.gallery-note{font-size:12px;color:#929292;margin-top:30px}
.about-block{border-top:1px solid var(--line);margin-top:90px;padding-top:55px;display:grid;grid-template-columns:1fr 1fr;gap:60px}
.about-block h2{font-size:clamp(32px,4vw,56px);font-weight:400;line-height:1.08;letter-spacing:-.045em;max-width:400px}
.about-copy{max-width:475px;color:#b0b0b0;font-size:14px;line-height:1.9}
.about-copy p+p{margin-top:20px}
.about-copy .text-link{margin-top:28px}
.lightbox{padding:0;border:1px solid #333;background:#050505;color:white;max-width:92vw;max-height:94svh;width:min(780px,92vw)}
.lightbox::backdrop{background:#000e;backdrop-filter:blur(8px)}
.lightbox-image{width:100%;max-height:77svh;object-fit:contain;background:#000}
.lightbox-close{position:absolute;right:12px;top:12px;width:44px;height:44px;background:#000b;display:grid;place-items:center;border:1px solid #555;border-radius:50%}
.lightbox-caption{padding:14px 20px;font-size:12px;color:#bbb}
.booking-layout{display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(55px,8vw,140px);padding-top:25px}
.booking-heading{font-size:clamp(64px,7.2vw,108px);font-weight:400;letter-spacing:-.063em;line-height:.96;margin:26px 0 34px}
.booking-heading span{display:block}
.booking-intro{max-width:300px;color:#aaa;font-size:14px;line-height:1.8}
.direct-contact{margin-top:55px;font-size:12px;color:#999}
.direct-contact .text-link{margin-top:7px;gap:40px;color:#eee}
.contact-form{padding-top:15px;min-width:0}
.form-intro{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#999;margin-bottom:33px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form-field{display:block;margin:0 0 29px;min-width:0}
.form-field label{display:block;font-size:12px;color:#c2c2c2;margin-bottom:10px}
.form-field .optional{color:#888;font-size:12px}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;border:0;border-bottom:1px solid #414141;border-radius:0;background:transparent;color:#eee;outline:none;padding:4px 0 12px;min-height:40px;box-shadow:none;font-size:14px;resize:vertical;transition:border .2s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-bottom-color:#fff}
.form-field input::placeholder,.form-field textarea::placeholder{color:#777;opacity:1}
.form-field select{appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aaaaaa'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-size:18px;background-position:right 5px;background-repeat:no-repeat}
.form-field option{background:#111;color:#fff}
.form-field textarea{min-height:100px}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:1px solid #999;outline-offset:6px}
.form-help{font-size:12px;line-height:1.7;color:#939393}
.form-help a{text-decoration:underline;text-underline-offset:3px}
.form-submit{width:100%;display:flex;align-items:center;justify-content:space-between;padding:17px 20px;background:#efefef;color:#111;min-height:56px;font-size:12px;margin-top:24px;transition:background .2s}
.form-submit:hover{background:#fff}
.form-submit svg{width:22px;height:22px}
.form-mode{font-size:12px;line-height:1.7;margin-top:12px;color:#929292}
.form-status{font-size:12px;line-height:1.8;margin-top:16px;color:#ddd;scroll-margin-top:35px}
.form-output{padding:20px;border:1px solid #393939;margin-top:24px;background:#090909}
.form-output label{display:block;font-size:12px;margin-bottom:10px}
.form-output textarea{width:100%;min-height:220px;border:1px solid #414141;background:#000;color:#ddd;padding:12px;font-size:12px;line-height:1.7;resize:vertical}
.output-actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px}
.output-actions .text-link{background:none;border-top:0;border-right:0;border-left:0;padding:0;min-height:36px;gap:14px;font-size:12px}
.honeypot{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.release-layout{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(48px,7vw,110px);align-items:center}
.release-visual{position:relative;aspect-ratio:1;background:linear-gradient(140deg,#101010,#050505 65%);border:1px solid #252525;display:grid;place-items:center;overflow:hidden}
.record{position:relative;width:83%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,transparent 0px,transparent 2px,#ffffff05 2.8px,#ffffff03 3.5px,transparent 4px),conic-gradient(from 30deg,#070707 0deg,#252525 37deg,#0c0c0c 85deg,#070707 175deg,#242424 212deg,#080808 260deg,#070707 360deg);border:1px solid #2a2a2a;box-shadow:16px 28px 40px #000b;display:grid;place-items:center;transform:rotate(-20deg)}
.record-label{width:27%;aspect-ratio:1;background:#131313;border-radius:50%;border:1px solid #2b2b2b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transform:rotate(20deg)}
.record-label span{font-size:12px;letter-spacing:.16em;color:#ddd}
.record-label small{font-size:12px;letter-spacing:.16em;color:#888}
.record-label:after{content:"";width:5px;height:5px;background:#020202;border:1px solid #666;border-radius:50%}
.artwork-type{position:absolute;left:22px;bottom:20px;right:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:15px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#aaa}
.artwork-type strong{font-size:19px;line-height:1.1;letter-spacing:-.02em;font-weight:400;color:#eee}
.artwork-note{font-size:12px;color:#919191;margin-top:12px}
.release-copy .eyebrow{margin-bottom:25px}
.release-title{font-weight:400;font-size:clamp(62px,6.5vw,100px);line-height:.92;letter-spacing:-.065em;margin-bottom:30px}
.release-meta{display:flex;gap:20px;font-size:12px;color:#c0c0c0;letter-spacing:.08em;margin-bottom:24px}
.release-description{font-size:14px;color:#aaa;line-height:1.8;max-width:360px}
.spotify-button{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:14px 19px;border:1px solid #606060;font-size:12px;margin-top:30px;background:transparent}
.spotify-button:hover{background:#111;border-color:#eee}
.spotify-button svg{width:23px;height:23px}
.spotify-button svg:last-child{width:16px;height:16px;margin-left:18px}
.release-profile-note{max-width:350px;color:#929292;font-size:12px;line-height:1.8;margin-top:18px}
.release-bottom{margin-top:65px;padding-top:28px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;color:#aaa;font-size:13px}
.release-bottom .text-link{min-width:170px}
.legal-wrap{max-width:880px;margin:0 auto;padding:65px var(--gutter) 0}
.legal-wrap h1{font-size:clamp(38px,6vw,68px);font-weight:400;line-height:1.1;letter-spacing:-.04em;margin-top:20px;margin-bottom:40px}
.legal-wrap h2{font-size:18px;line-height:1.4;font-weight:400;margin:35px 0 12px}
.legal-wrap p,.legal-wrap li{font-size:14px;color:#b2b2b2;line-height:1.85}
.legal-wrap p+p{margin-top:14px}
.legal-wrap a:not(.text-link){text-decoration:underline;text-underline-offset:4px}
.draft-note{border:1px solid #4a4a4a;background:#0a0a0a;padding:20px;font-size:13px;color:#c7c7c7;line-height:1.8;margin-bottom:32px}
.legal-placeholder{color:#ddd!important;font-family:monospace}
.guide-section{border-top:1px solid #333;padding-top:5px;margin-top:30px}
.legal-wrap code{background:#151515;padding:3px 5px;font-size:12px;overflow-wrap:anywhere}
.legal-wrap pre{white-space:pre-wrap;background:#0c0c0c;padding:20px;border:1px solid #292929;font-size:12px;color:#ccc}
.error-page{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:60svh;padding:50px 24px}
.error-page h1{font-size:110px;letter-spacing:-.08em;font-weight:400;line-height:1.1}
.error-page p{color:#aaa;margin:20px 0 30px}
@media(min-width:1800px){.home-main{max-height:1000px}.home-page{justify-content:space-between}}
@media(max-width:1000px){:root{--header:90px;--footer:76px}.header-right{gap:28px}.primary-nav{gap:27px}.social-links{padding-left:16px}.page-wrap{padding-top:55px}.booking-layout{gap:48px}.gallery-card:nth-child(2){padding-top:48px}.hero-media{height:min(calc(100svh - 145px),800px)}.release-layout{gap:46px}}
@media(max-width:760px){:root{--header:88px;--footer:90px;--gutter:24px}.wordmark-bottom{font-size:24px}.wordmark-top{font-size:8px;letter-spacing:.37em}.header-right{gap:16px}.primary-nav{gap:22px}.primary-nav a{font-size:12px}.social-links{gap:0;padding-left:10px}.social-link{width:38px;min-height:44px}.site-footer{font-size:12px}.footer-signature{font-size:12px;letter-spacing:.12em}.footer-links{gap:18px}.home-main{min-height:320px}.hero-media{height:auto;min-height:320px;width:min(100vw,calc(100svh - 150px));max-width:100%;aspect-ratio:1}.page-intro{display:block;margin-bottom:44px}.intro-copy{margin-top:28px;max-width:420px}.page-heading{font-size:78px}.page-wrap{padding-top:42px}.gallery-grid{gap:34px 22px}.gallery-card:nth-child(2){padding-top:40px}.gallery-card:nth-child(3){padding-left:0}.gallery-caption{grid-template-columns:23px 1fr;gap:8px}.gallery-caption p{font-size:12px}.about-block{gap:35px;margin-top:60px;padding-top:38px}.about-block h2{font-size:37px}.about-copy{font-size:13px}.booking-layout{grid-template-columns:1fr;gap:54px;padding-top:0}.booking-heading{font-size:82px;margin:22px 0 25px}.booking-heading span{display:inline}.booking-heading span:after{content:" "}.booking-intro{max-width:350px}.direct-contact{margin-top:25px}.contact-form{padding-top:0}.content-page .site-footer{margin-top:55px}.release-layout{grid-template-columns:1fr;gap:42px}.release-visual{max-width:540px}.release-title{font-size:80px}.release-description{max-width:430px}.release-bottom{margin-top:44px}.legal-wrap{padding-top:38px}}
@media(max-width:480px){:root{--gutter:20px;--header:108px;--footer:98px}.site-header{align-items:center;gap:16px;padding-top:8px}.wordmark{min-height:56px;gap:5px}.wordmark-top{font-size:7px;letter-spacing:.33em}.wordmark-bottom{font-size:23px;letter-spacing:.18em}.header-right{display:grid;grid-template-columns:auto auto;gap:10px}.primary-nav{gap:17px}.primary-nav a{font-size:12px;min-height:48px}.social-links{flex-direction:column;gap:0;padding-left:10px;border-left:1px solid #262626}.social-link{width:34px;height:38px;min-height:38px}.social-link svg{width:21px;height:21px}.home-main{height:calc(100svh - var(--header) - var(--footer))}.hero-media{width:100%;height:auto;min-height:0;aspect-ratio:1}.hero-poster,.hero-video{transform:scale(1.08)}.hero-media:after{background:linear-gradient(90deg,#000 0%,transparent 10%,transparent 90%,#000 100%),linear-gradient(0deg,#000 0%,transparent 22%,transparent 94%,#000 100%)}.site-footer{flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding-top:16px;padding-bottom:16px}.footer-links{gap:24px}.footer-links a{min-height:30px}.page-wrap{padding-top:32px}.page-heading{font-size:72px}.eyebrow{font-size:12px}.intro-copy{font-size:13px}.gallery-grid{grid-template-columns:1fr;gap:34px}.gallery-card:first-child{grid-row:auto}.gallery-card:nth-child(2){padding-top:0}.gallery-card:nth-child(3){padding:0 0 0 22%}.gallery-frame .open-hint{opacity:1}.gallery-caption p{font-size:12px}.gallery-note{font-size:12px;line-height:1.8}.about-block{grid-template-columns:1fr;gap:26px}.about-block h2{font-size:44px;max-width:300px}.about-copy{font-size:13px}.booking-heading{font-size:70px}.booking-heading span{display:block}.booking-heading span:after{content:""}.booking-layout{gap:44px}.form-row{gap:18px}.form-field{margin-bottom:27px}.form-field input,.form-field textarea,.form-field select{font-size:16px}.form-field label{font-size:12px}.form-submit{margin-top:21px}.release-title{font-size:76px}.release-bottom{align-items:flex-start;flex-direction:column;gap:15px}.release-bottom .text-link{min-width:0}.artwork-type{left:18px;right:18px;bottom:17px}.legal-wrap h1{font-size:39px}.legal-wrap p,.legal-wrap li{font-size:13px}.draft-note{padding:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.gallery-frame:hover img{transform:none}.focus-frame img,.focus-frame:hover img{transform:scale(1.12)}.texture-frame img,.texture-frame:hover img{transform:scale(1.85)}}

.legal-wrap pre{overflow-wrap:anywhere}

/* Brand update: original supplied LEXI logo, unchanged proportions. */
.wordmark{gap:9px}
.wordmark-top{font-size:8px;letter-spacing:.36em;padding-left:1px}
.wordmark-logo{display:block;width:125px;height:auto;max-width:none}
.footer-signature{display:flex;align-items:center;gap:15px}
.footer-brand{display:block;flex-shrink:0;padding:4px 0}
.footer-brand img{width:50px;height:auto}
.record-label span{display:block;width:52%}
.record-label img{width:100%;height:auto}
.direct-contact .text-link{font-size:clamp(12px,1.1vw,14px);gap:15px;overflow-wrap:anywhere}
.release-list{display:flex;flex-direction:column;gap:75px}
.release-item+.release-item{border-top:1px solid var(--line);padding-top:75px}
@media(max-width:760px){.wordmark-logo{width:106px}.wordmark-top{font-size:7px}.footer-signature{gap:10px}.footer-brand img{width:42px}.release-list{gap:50px}.release-item+.release-item{padding-top:50px}}
@media(max-width:480px){.wordmark{gap:8px}.wordmark-logo{width:96px}.wordmark-top{font-size:6px}.header-right{gap:9px}.primary-nav{gap:17px}.footer-signature{font-size:12px}.footer-brand img{width:38px}.page-heading{font-size:clamp(56px,14vw,72px)}}
@media(max-width:350px){.wordmark-logo{width:78px}.primary-nav{gap:12px}.site-header{gap:10px}.social-links{padding-left:6px}}

/* Four main-nav items (About, Shows, Releases, Booking): on small screens the nav moves under the wordmark. */
@media(max-width:600px){
:root{--header:108px}
.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"mark social" "nav social";align-items:center;align-content:center;gap:0 16px;padding-top:8px}
.header-right{display:contents}
.wordmark{grid-area:mark;min-height:56px}
.primary-nav{grid-area:nav;gap:22px}
.primary-nav a{min-height:40px;font-size:12px}
.social-links{grid-area:social;flex-direction:column;gap:0;padding-left:10px;border-left:1px solid #262626}
.social-link{width:34px;height:34px;min-height:34px}
.social-link svg{width:21px;height:21px}
}
@media(max-width:350px){.primary-nav{gap:14px}}

/* Home: one genre at a time (cross-fading) at the bottom edge */
.hero-caption{position:absolute;left:0;right:0;bottom:14px;z-index:4;display:flex;flex-direction:column;align-items:center;gap:14px;padding:0 20px;text-align:center}
.hero-genres{margin:0;min-height:20px;font-size:12px;line-height:20px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.genre-rotor{display:grid;justify-items:center}
.genre-rotor span{grid-area:1/1;padding-left:.28em;opacity:0;animation:genre-cycle 14s ease-in-out infinite both}
.genre-rotor span:nth-child(1){animation-delay:.8s}
.genre-rotor span:nth-child(2){animation-delay:3.6s}
.genre-rotor span:nth-child(3){animation-delay:6.4s}
.genre-rotor span:nth-child(4){animation-delay:9.2s}
.genre-rotor span:nth-child(5){animation-delay:12s}
.genre-static{display:none}
@keyframes genre-cycle{0%{opacity:0;transform:translateY(6px)}4%,16%{opacity:1;transform:none}20%,100%{opacity:0;transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.genre-rotor{display:none}.genre-static{display:block;letter-spacing:.16em}.genre-static span{white-space:nowrap}}

/* Booking page: two e-mail addresses, nothing else */
.contact-page{width:100%}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-content:center;min-height:calc(100svh - var(--header) - var(--footer) - 150px)}
.contact-block{min-width:0}
.contact-title{font-size:clamp(64px,9vw,136px);line-height:.94;letter-spacing:-.065em;font-weight:400;color:#fff}
.contact-title .stop{color:#6a6a6a}
.contact-mail{display:inline-flex;align-items:center;gap:16px;min-height:44px;margin-top:34px;padding:6px 0;border-bottom:1px solid #5b5b5b;font-size:clamp(16px,1.7vw,24px);color:#fff;overflow-wrap:anywhere;transition:border-color .2s}
.contact-mail:hover{border-color:#fff}
.contact-mail svg{width:19px;height:19px;flex:none}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;gap:60px;min-height:0}.contact-title{font-size:clamp(56px,17vw,96px)}.contact-mail{font-size:clamp(16px,5vw,22px);margin-top:26px}}
@media(max-width:480px){.hero-caption{bottom:12px;gap:12px}.hero-genres{letter-spacing:.2em}.genre-rotor span{padding-left:.2em}.genre-static{letter-spacing:.08em!important}}

/* Home: old-TV look over the intro video. Turn-on line, film grain, scanlines, a slow light band every 20s,
   flicker and two short glitches per 13s. The layers blend in "overlay" and fade out towards the edges, so
   they only act on the lit head and never show the square. Pure CSS, off with "reduce motion". */
.tv-fx{display:none}
@media(prefers-reduced-motion:no-preference){
.tv-fx{display:block;position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none;mix-blend-mode:overlay;-webkit-mask-image:radial-gradient(closest-side,#000 52%,transparent 100%);mask-image:radial-gradient(closest-side,#000 52%,transparent 100%);animation:tv-fade-in 1s ease-out backwards}
.tv-fx i{position:absolute;display:block}
.tv-grain{inset:-25%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1.9 0 0 0 -.68'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url%28%23n%29'/%3E%3C/svg%3E");background-size:220px 220px;opacity:.32;will-change:transform;animation:tv-grain .9s steps(1) infinite}
.tv-scan{inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.4) 0 1px,transparent 1px 3px);opacity:.5}
.tv-roll{left:0;right:0;top:0;height:24%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.17) 50%,transparent);animation:tv-roll 20s linear 4s infinite backwards}
.tv-flick{inset:0;background:#000;opacity:0;animation:tv-flick 5s steps(1) infinite}
.tv-tear{left:-5%;right:-5%;top:30%;height:5%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.3),transparent);opacity:0;animation:tv-tear 13s steps(1) infinite}
.hero-poster,.hero-video{animation:tv-jitter 13s steps(1) infinite,tv-open .8s cubic-bezier(.2,.7,.2,1) backwards}
.hero-media::before{content:"";position:absolute;left:10%;right:10%;top:50%;height:2px;margin-top:-1px;z-index:5;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent,#fff 22%,#fff 78%,transparent);box-shadow:0 0 14px 3px rgba(255,255,255,.55);animation:tv-line .8s ease-out backwards}
}
@keyframes tv-fade-in{0%,30%{opacity:0}100%{opacity:1}}
@keyframes tv-open{0%{scale:1 .004;opacity:0}25%{scale:1 .004;opacity:1}100%{scale:1 1}}
@keyframes tv-line{0%{opacity:1;transform:scaleX(.05)}30%{opacity:1;transform:scaleX(1)}55%{opacity:.9;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1)}}
@keyframes tv-grain{0%{transform:translate(0,0)}11%{transform:translate(-6%,-9%)}22%{transform:translate(8%,5%)}33%{transform:translate(-3%,10%)}44%{transform:translate(9%,-4%)}55%{transform:translate(-8%,2%)}66%{transform:translate(4%,-8%)}77%{transform:translate(-5%,6%)}88%{transform:translate(7%,9%)}100%{transform:translate(0,0)}}
@keyframes tv-roll{0%{transform:translateY(-130%)}35%,100%{transform:translateY(560%)}}
@keyframes tv-flick{0%{opacity:0}18%{opacity:.07}20%{opacity:0}47%{opacity:.05}48%{opacity:0}73%{opacity:.09}75%{opacity:.03}77%,100%{opacity:0}}
@keyframes tv-tear{0%,17.9%{opacity:0;top:30%}18%{opacity:1;top:32%;transform:translateX(0)}18.8%{top:34%;transform:translateX(2%)}19.6%{top:33%;transform:translateX(-2%)}20.5%,71%{opacity:0}71.1%{opacity:1;top:62%;transform:translateX(0)}72%{top:60%;transform:translateX(-2%)}72.8%{top:61%;transform:translateX(2%)}73.6%,100%{opacity:0}}
@keyframes tv-jitter{0%,17.9%{translate:0 0}18%{translate:-5px 0}18.8%{translate:6px 1px}19.6%{translate:-3px 0}20.5%,71%{translate:0 0}71.1%{translate:4px 0}72%{translate:-6px -1px}72.8%{translate:2px 0}73.6%,100%{translate:0 0}}

/* About: fourth block. Full-width row, text on the left, photo on the right (mirrors the first photo). */
.gallery-feature{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,6vw,96px);align-items:center;margin-top:clamp(24px,5vw,72px)}
.gallery-feature .gallery-frame{grid-column:2;grid-row:1;aspect-ratio:1170/1375}
.gallery-feature .feature-caption{grid-column:1;grid-row:1;display:block;padding-top:0}
.gallery-feature .gallery-number{display:block;margin-bottom:22px;padding-top:0}
.gallery-feature h2{margin-bottom:30px;font-size:clamp(44px,5.4vw,84px);font-weight:400;line-height:.94;letter-spacing:-.065em}
.gallery-feature p{max-width:440px;font-size:14px;line-height:1.85;color:#a8a8a8;text-wrap:pretty}
.gallery-feature p+p{margin-top:14px}
.feature-tags{display:flex;flex-wrap:wrap;gap:8px 0;margin:34px 0 0;padding:0;list-style:none;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#d8d8d8}
.feature-tags li:not(:last-child):after{content:"·";margin:0 14px;color:#777}
@media(max-width:760px){.gallery-feature{grid-template-columns:1fr;gap:26px;margin-top:6px}.gallery-feature .gallery-frame,.gallery-feature .feature-caption{grid-column:1;grid-row:auto}.gallery-feature h2{font-size:clamp(44px,13vw,64px)}}
