/* GONAGRA V4 — monochrome, fog, analogue interference.  No stars or decorative orbs. */
:root { --bg:#08090a; --surface:#111214; --surface2:#17181a; --ink:#e9e8e4; --muted:#aaa9a7; --quiet:#838485; --line:rgba(210,211,208,.13); --accent:#bbbdbb; --accent2:#9e9f9e; --max:1310px; --body:18px; }
html { scroll-padding-top:100px; }
body { background:#08090a; color:var(--ink); }
body:before { background:linear-gradient(110deg,rgba(215,217,218,.014),transparent 45%,rgba(255,255,255,.009)); mix-blend-mode:normal; opacity:1; }
body:after { background-image:radial-gradient(rgba(255,255,255,.14) .55px,transparent .8px); background-size:3px 3px; opacity:.07; }
.site-shell:before { background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.018)); }
.site-header { background:rgba(9,10,11,.85); border-bottom:1px solid rgba(255,255,255,.115); backdrop-filter:blur(22px); height:88px; }
.header-inner { max-width:1540px; }
.brand-mark { font-family:'Segoe UI',Arial,sans-serif; font-size:28px; letter-spacing:.245em; font-weight:620; }
.brand-sub { color:#9e9fa1; letter-spacing:.25em; font-size:10px; }
.nav-link { color:#c6c6c4; letter-spacing:.025em; font-size:15px; }
.nav-link:hover, .nav-link.is-current { color:white; }
.language { background:rgba(255,255,255,.015); border-color:#434446; }
.lang-btn.is-active { color:#fff; }

/* Diffuse monochrome photographic space */
.hero { height:clamp(880px,96vh,1080px); min-height:880px; isolation:isolate; background:#08090a; }
.hero:before { inset:0; z-index:-2; background:linear-gradient(90deg,rgba(5,6,7,.66),rgba(5,6,7,.26) 48%,rgba(7,8,9,.07)),radial-gradient(ellipse at 78% 48%,rgba(160,162,162,.075),transparent 50%),radial-gradient(ellipse at 30% 76%,rgba(26,29,32,.24),transparent 56%); transform:none; }
.hero-art { inset:0; background-image:linear-gradient(90deg,rgba(4,5,6,.76) 0%,rgba(5,6,7,.49) 45%,rgba(5,6,7,.06) 100%),linear-gradient(0deg,#08090a,transparent 24%,rgba(8,9,10,.03) 69%,rgba(8,9,10,.45)), url('assets/hero-monochrome.webp'); background-size:cover; background-position:center 48%; filter:grayscale(1) contrast(1.28) brightness(.87); transform:scale(1.04); }
.hero-rules, .hero-mist, .hero-orb, .hero-stars { display:none; }
.hero-signal-field { position:absolute; z-index:-1; inset:12% 0 0 30%; opacity:.16; pointer-events:none; background-image:url('assets/signal-field.svg'); background-size:cover; background-position:68% center; filter:grayscale(1) contrast(.85); mask-image:linear-gradient(90deg,transparent,#000 34%,#000 84%,transparent); }
.hero-technical-grid { position:absolute; inset:0; z-index:-1; pointer-events:none; background:repeating-linear-gradient(90deg,transparent 0,transparent calc(16.66% - 1px),rgba(225,229,230,.023) calc(16.66% - 1px),rgba(225,229,230,.023) 16.66%),repeating-linear-gradient(0deg,transparent 0,transparent 104px,rgba(255,255,255,.012) 105px); opacity:.7; mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 76%,transparent); }
.hero-scanning-line { position:absolute; inset:auto 0 33% 0; height:1px; z-index:-1; pointer-events:none; background:linear-gradient(90deg,transparent 10%,rgba(199,201,199,.2) 35%,rgba(205,210,205,.035) 90%,transparent); opacity:.65; }
.hero-content { max-width:1310px; padding-top:8px; }
.hero-id { color:#9a9c9d; font-size:11px; letter-spacing:.36em; margin:0 0 32px 3px; opacity:.84; }
.hero-kicker { font-size:12px; font-weight:550; letter-spacing:.26em; color:#c1c2c2; margin:0 0 12px 3px; }
.signal { background:#c2c4c3; box-shadow:0 0 16px #cccccc70; width:5px; height:5px; }
.hero h1 { font-family:'Segoe UI',Arial,sans-serif; font-size:clamp(6rem,14.3vw,14rem); font-weight:470; letter-spacing:-.053em; line-height:.9; margin:0 0 30px -.07em; text-shadow:0 10px 50px #000a,0 0 70px rgba(255,255,255,.09); color:#e5e4e2; }
.hero-period,.heading-dot,.brand-dot,.footer-brand>span { color:#adadac; }
.hero-genre { color:#bfc0bf; font-size:clamp(16px,2vw,22px); font-weight:450; letter-spacing:.31em; }
.hero-genre em { color:#f2f2f0; }
.hero-divider { background:linear-gradient(90deg,#a2a4a3,transparent); width:148px; margin:35px 0; }
.hero-statement { font-size:clamp(23px,2.55vw,35px); font-weight:330; max-width:790px; color:#dfdfdc; line-height:1.43; margin-bottom:20px; text-wrap:pretty; }
.hero-whisper { color:#c0bfbf; font-size:clamp(15px,1.42vw,19px); font-style:normal; font-weight:370; line-height:1.8; max-width:600px; letter-spacing:.007em; margin:0 0 38px; }
.hero-vignette { height:32%; background:linear-gradient(180deg,transparent,rgba(8,9,10,.2),#08090a); z-index:-1; }
.hero-bottom { color:#aeb0ae; letter-spacing:.26em; }
.btn { border-radius:1px; font-weight:550; min-height:61px; padding:16px 26px; letter-spacing:.04em; }
.btn-primary { background:#d4d5d1; border-color:#d4d5d1; }
.btn-ghost { background:rgba(5,6,7,.16); border-color:rgba(218,220,218,.52); }

/* Editorial typography and textured surfaces */
.section { padding:135px 0 140px; }
.section-heading { margin-bottom:64px; }
.section-heading h2,.about-lead h2,.contact h2 { font-weight:385; letter-spacing:-.052em; }
.eyebrow,.mini-overline { color:#a9aaa8; font-weight:570; font-size:12px; letter-spacing:.24em; }
.heading-side { color:#b6b6b2; font-size:18px; }
.text-link { color:#e5e5e1; border-color:#777977; font-weight:530; }
.manifesto { border-block:1px solid #333637; background:linear-gradient(110deg,#0b0c0d,#17181a 52%,#101112); }
.manifesto:after { background:repeating-linear-gradient(90deg,transparent 0,transparent 79px,rgba(255,255,255,.018) 80px); }
.manifesto p { color:#e4e3e0; font-size:clamp(24px,2.65vw,36px); }
.manifesto p em { color:#b7b8b6; }
.manifesto-symbol { color:#737778; }
.section-releases { background:radial-gradient(ellipse at 5% 32%,rgba(58,62,64,.12),transparent 55%),#0b0c0e; }
.release-grid { gap:58px 25px; }
.release-image-wrap { border:1px solid #343638; box-shadow:0 16px 45px #0006; }
.release-image { filter:grayscale(1) contrast(1.07) brightness(.84); transition:filter .5s ease,transform .65s ease; }
.release-image-wrap:hover .release-image { filter:grayscale(.55) contrast(1.08) brightness(1.04); }
.release-card h3 { font-weight:420; color:#e4e4e0; }
.release-card p,.collab-text { color:#bababa; }
.artwork-note { color:#8b8e8d; }
.section-collabs { background:radial-gradient(ellipse at 90% 8%,rgba(100,102,101,.075),transparent 48%),#0e0f10; }
.collab-list { border-color:#3c3d3d; }
.collab-card { padding:41px 0 62px; border-color:#343638; }
.collab-card:before { background:none; }
.collab-main { gap:56px; grid-template-columns:minmax(0,1.25fr) minmax(325px,.75fr); }
.collab-main h3,.lorand-intro h3 { font-size:clamp(35px,4.3vw,61px); font-weight:390; letter-spacing:-.048em; }
.collab-type { color:#b7b8b8; font-size:15px; }
.collab-text { font-size:17px; line-height:1.81; }
.status { border:1px solid #595b5b; color:#c3c3c3; padding:6px 11px; background:rgba(255,255,255,.016); }
.status-live { color:#e0e0de; }
.collab-art { border-color:#383a3a; }
.circling-art,.tunder-art { background:none; }
.project-photo { margin:0; position:relative; overflow:hidden; background:#070808; border:1px solid #363737; aspect-ratio:1.33/1; box-shadow:0 24px 48px rgba(0,0,0,.24); }
.project-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .65s, filter .65s; }
.project-photo:hover img { transform:scale(1.035); }
.circling-cover img { object-fit:contain; filter:grayscale(1) brightness(.96) contrast(1.08); }
.yurt-photo img { filter:grayscale(.92) contrast(1.14) brightness(.84); object-position:center; }
.project-photo figcaption { position:absolute; z-index:1; bottom:0; left:0; width:100%; padding:32px 22px 18px; font-size:10px; letter-spacing:.21em; color:#ddd; background:linear-gradient(180deg,transparent,#08090adb); text-shadow:0 1px 6px #000b; }
.collab-links { display:flex; flex-wrap:wrap; gap:24px; }
.track-pills>span { border-color:#525353; color:#bcbcbc; }
.track-pills strong { color:#eee; }
.video-frame { filter:grayscale(1); }
.section-about { background:linear-gradient(120deg,#0a0b0c,#111315); }
.about-copy { color:#b9b9b6; }
.about-copy .about-first { color:#e8e8e4; font-weight:330; }
.section-listen { background:#101112; }
.listen-card { border-color:#404242; }
.listen-card:hover { border-color:#a4a5a2; }
.inline-player { border-color:#484b49; background:#0c0d0e; }
.contact { background:radial-gradient(ellipse at 92% 50%,rgba(125,125,125,.075),transparent 50%),#0b0c0d; }

/* The long-term GONAGRA / Sebestyén Lóránd project */
.collab-lorand { padding-bottom:72px; }
.lorand-intro { display:grid; grid-template-columns: minmax(0,1fr) minmax(325px,.73fr); align-items:center; gap:clamp(35px,5.4vw,90px); margin:38px 0 52px; }
.lorand-intro h3 { line-height:1.13; margin-bottom:16px; }
.lorand-intro h3 .plus { font-size:.7em; font-weight:200; color:#868988; }
.lorand-intro .collab-text { max-width:720px; }
.lorand-label { font-size:11px; font-weight:600; letter-spacing:.24em; color:#a7a9a7; margin-bottom:10px; }
.lorand-tracks { padding:0; margin:0; list-style:none; border-top:1px solid #3f4141; max-width:630px; }
.lorand-tracks li { display:flex; align-items:baseline; gap:25px; border-bottom:1px solid #353738; padding:10px 8px; }
.lorand-tracks li span { font-size:11px; color:#8c9090; letter-spacing:.12em; }
.lorand-tracks li strong { font-size:19px; font-weight:420; letter-spacing:-.016em; color:#dededc; }
.lorand-feature { position:relative; min-height:360px; aspect-ratio: .91; overflow:hidden; background:#17191a; border:1px solid #404241; }
.lorand-feature:before { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(0deg,rgba(4,5,6,.80),transparent 45%,rgba(6,7,8,.05)); pointer-events:none; }
.lorand-feature img { width:100%; height:100%; display:block; object-fit:cover; object-position:43% center; filter:grayscale(1) contrast(1.23) brightness(.79); }
.feature-caption { z-index:2; position:absolute; bottom:19px; left:23px; font-size:10px; font-weight:600; letter-spacing:.21em; color:#c5c5c1; }
.session-heading { display:flex; align-items:center; justify-content:space-between; gap:28px; font-size:11px; letter-spacing:.21em; font-weight:600; color:#c2c3c1; padding:18px 0; border-top:1px solid #535454; }
.session-heading span:last-child { color:#888b8b; }
.session-gallery { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:11px; }
.session-thumb { padding:0; cursor:zoom-in; width:100%; aspect-ratio: .87; border:1px solid #353737; background:#1c1e1f; position:relative; overflow:hidden; text-align:left; }
.session-thumb:before { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,.06),transparent 54%,rgba(0,0,0,.82)); }
.session-thumb img { display:block; width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.22) brightness(.70); transition:filter .35s, transform .5s; }
.session-thumb:nth-child(1) img { object-position:58% center; }
.session-thumb:nth-child(2) img { object-position:52% center; }
.session-thumb:nth-child(3) img { object-position:56% center; }
.session-thumb:nth-child(4) img { object-position:56% center; }
.session-thumb:nth-child(5) img { object-position:35% center; }
.session-thumb:hover img,.session-thumb:focus-visible img { filter:grayscale(.75) contrast(1.17) brightness(.98); transform:scale(1.065); }
.session-thumb span { position:absolute; bottom:13px; left:13px; z-index:2; letter-spacing:.14em; font-size:10px; font-weight:600; color:#f0efec; }
.session-footnote { color:#979b99; font-size:13px; margin:18px 0 0; }

/* Accessible fullscreen/lightbox dialog */
.photo-dialog { color:var(--ink); padding:0; border:1px solid #555; background:#08090a; width:min(1350px,94vw); max-width:none; max-height:94vh; box-shadow:0 20px 100px #000d; }
.photo-dialog::backdrop { background:rgba(0,0,0,.92); backdrop-filter:blur(9px); }
.photo-dialog-inner { padding:18px 20px 16px; }
.photo-dialog-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:11px; letter-spacing:.14em; color:#c7c7c4; padding:0 0 14px; }
.photo-dialog-close { border:1px solid #575959; background:transparent; width:40px; height:40px; flex:none; cursor:pointer; font-size:20px; }
.photo-dialog-close:hover,.photo-direction:hover { background:#333; }
.photo-dialog-frame { position:relative; display:flex; align-items:center; justify-content:center; background:#000; min-height:200px; }
.photo-dialog-frame img { display:block; max-width:100%; max-height:min(77vh,900px); width:auto; height:auto; object-fit:contain; filter:grayscale(.92) contrast(1.13) brightness(.88); }
.photo-direction { cursor:pointer; position:absolute; z-index:2; top:50%; transform:translateY(-50%); border:1px solid #85868680; background:#08090ab7; width:48px; height:59px; font-size:35px; font-weight:200; }
.photo-direction.prev { left:8px; }.photo-direction.next { right:8px; }
.photo-dialog-bottom { display:flex; justify-content:space-between; gap:20px; color:#acafae; font-size:11px; letter-spacing:.23em; padding-top:14px; }

@media(max-width:1100px) {
 .site-header { height:83px; }.hero h1 { font-size:14.2vw; }
 .session-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .session-thumb { aspect-ratio:1.18; }
}
@media(max-width:850px) {
 .site-header { height:79px; }.nav { background:rgba(7,8,9,.97); }
 .hero { height:auto; min-height:750px; padding-block:125px 95px; }
 .hero h1 { font-size:15.9vw; }.hero-id { margin-bottom:19px; }
 .collab-main,.lorand-intro { grid-template-columns:1fr; gap:25px; }
 .project-photo { max-width:700px; width:100%; }
 .lorand-feature { aspect-ratio:1.5; min-height:0; }
 .session-heading { align-items:start; flex-direction:column; gap:6px; }
}
@media(max-width:600px) {
 .hero { min-height:690px; padding-top:102px; padding-bottom:105px; }
 .hero h1 { font-size:16.35vw; line-height:1.08; margin-bottom:12px; }
 .hero-id { font-size:9px; letter-spacing:.13em; }
 .hero-statement { font-size:22px; line-height:1.48; }.hero-whisper { font-size:15px; line-height:1.7; }
 .hero-genre { font-size:12px; letter-spacing:.17em; }
 .section { padding:78px 0 84px; }.section-heading h2 { font-size:48px; }
 .lorand-intro { gap:30px; margin:22px 0 39px; }
 .lorand-feature { aspect-ratio:1.3; }
 .lorand-tracks li strong { font-size:17px; }
 .session-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.session-thumb { aspect-ratio:1; }
 .session-thumb:last-child { grid-column:span 2; aspect-ratio:2.1; }.session-thumb:last-child img { object-position:50% 39%; }
 .session-thumb span { font-size:9px; left:10px; bottom:9px; }
 .photo-dialog { width:100vw; max-height:100vh; border:0; }.photo-dialog-inner { padding:12px; }.photo-dialog-bar { font-size:9px; }
 .photo-dialog-frame img { max-height:75vh; }.photo-direction { height:49px; width:39px; }
 .project-photo figcaption { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) { .hero-art, .hero-signal-field, .hero-technical-grid { transform:none!important; animation:none!important; } }

/* v5 / LÓRÁND SEBESTYÉN: photographic montage from this session only */
@media (min-width:1101px) {
 .lorand-intro { grid-template-columns:minmax(0,.94fr) minmax(480px,1.06fr);gap:clamp(40px,4.6vw,70px); }
}
.lorand-montage { min-height:410px; aspect-ratio: 1.19; isolation:isolate; background:#090b0d; box-shadow:0 35px 75px #0008; }
.lorand-montage .montage-base,
.lorand-montage .montage-piece { position:absolute;display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.45) brightness(.58) sepia(.12); }
.lorand-montage .montage-base{inset:0;opacity:.35;object-position:center;transform:scale(1.1)}
.lorand-montage .montage-piece-a {left:-4%;top:-4%;width:61%;height:64%;opacity:.78;object-position:22% 47%;mask-image:linear-gradient(90deg,#000 0 48%,transparent 100%),linear-gradient(180deg,#000 0 58%,transparent 100%);mask-composite:intersect;}
.lorand-montage .montage-piece-b {left:46%;top:-6%;width:60%;height:57%;opacity:.74;object-position:50% 37%;mask-image:radial-gradient(ellipse 77% 65% at 60% 40%,#000 24%,transparent 100%);}
.lorand-montage .montage-piece-c {left:-8%;top:44%;width:61%;height:62%;opacity:.66;object-position:70% 50%;mask-image:radial-gradient(ellipse 79% 75% at 39% 57%,#000 27%,transparent 100%);}
.lorand-montage .montage-piece-d {left:39%;top:42%;width:68%;height:65%;opacity:.72;object-position:65% 51%;mask-image:radial-gradient(ellipse 75% 79% at 63% 48%,#000 25%,transparent 100%);}
.lorand-montage::before{content:"";z-index:2;position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 16.6%,#e0dcd110 16.75%,transparent 16.9%,transparent 80%,#e0dcd110 80.1%,transparent 80.3%),repeating-linear-gradient(0deg,rgba(242,242,242,.025) 0 1px,transparent 1px 8px),radial-gradient(ellipse 45% 35% at 50% 34%,rgba(152,144,158,.18),transparent 100%),linear-gradient(0deg,#050607e3,transparent 33%,transparent 76%,#0607085a);mix-blend-mode:screen;}
.lorand-montage::after {content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background-image:url('assets/analog-grain.webp'),linear-gradient(120deg,rgba(46,48,52,.05),rgba(204,201,204,.1),transparent);background-size:230px 230px,cover;mix-blend-mode:soft-light;opacity:.38;}
.lorand-montage .montage-marker {position:absolute;top:21px;left:22px;z-index:5;font-size:10px;letter-spacing:.2em;font-weight:550;color:#d6d3d0;text-shadow:0 1px 9px #000;}
.lorand-montage .feature-caption {position:absolute;bottom:27px;left:27px;right:20px;z-index:5;font-size:clamp(14px,1.45vw,19px);line-height:1.35;letter-spacing:.18em;font-weight:390;color:#ece7e4;text-shadow:0 1px 12px #000;}
.lorand-montage .feature-caption small {display:block;margin-top:8px;font-size:10px;letter-spacing:.27em;font-weight:550;color:#b5afb5;}
.session-gallery {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:95px;gap:9px;}
.session-gallery .session-thumb{width:100%;height:100%;min-height:0;aspect-ratio:auto;border:0;box-shadow:0 14px 38px rgba(0,0,0,.25)}
.session-gallery .session-thumb:nth-child(1){grid-column:span 5;grid-row:span 3}
.session-gallery .session-thumb:nth-child(2){grid-column:span 3;grid-row:span 3}
.session-gallery .session-thumb:nth-child(3){grid-column:span 4;grid-row:span 3}
.session-gallery .session-thumb:nth-child(4){grid-column:span 6;grid-row:span 2}
.session-gallery .session-thumb:nth-child(5){grid-column:span 6;grid-row:span 2}
.session-gallery .session-thumb img {filter:grayscale(1) contrast(1.49) brightness(.59) sepia(.11);transition:filter .45s, transform .75s cubic-bezier(.2,.7,.2,1)}
.session-gallery .session-thumb::before{background:radial-gradient(ellipse 85% 90% at 50% 45%,transparent 24%,rgba(5,5,6,.71) 100%),linear-gradient(0deg,rgba(0,0,0,.88),transparent 37%);}
.session-gallery .session-thumb::after {content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background-image:url('assets/analog-grain.webp');background-size:200px 200px;mix-blend-mode:soft-light;opacity:.34;}
.session-gallery .session-thumb:hover img,.session-gallery .session-thumb:focus-visible img {filter:grayscale(.95) contrast(1.28) brightness(.85) sepia(.06);transform:scale(1.065)}
.session-gallery .session-thumb span {z-index:4;color:#dddbd7;}
.photo-dialog-frame{isolation:isolate}
.photo-dialog-frame:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 90% 80% at 50% 45%,transparent 36%,rgba(0,0,0,.44) 100%),url('assets/analog-grain.webp') repeat;background-size:auto,190px 190px;mix-blend-mode:soft-light;opacity:.39;}
.photo-dialog-frame img{filter:grayscale(1) contrast(1.29) brightness(.78) sepia(.09)}
@media(max-width:1100px){.session-gallery {grid-template-columns:repeat(12,minmax(0,1fr));} .session-gallery .session-thumb {aspect-ratio:auto;}}
@media(max-width:850px){.lorand-montage{aspect-ratio:1.6;min-height:330px;} .session-gallery {grid-auto-rows:83px;}}
@media(max-width:600px){.lorand-montage{aspect-ratio:1.17;min-height:260px;}.lorand-montage .montage-marker{font-size:8px;}.lorand-montage .feature-caption{left:18px;bottom:18px;font-size:12px;}.session-gallery {grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:8px;}.session-gallery .session-thumb:nth-child(n){grid-column:auto;grid-row:auto;aspect-ratio:1;}.session-gallery .session-thumb:last-child{grid-column:span 2;aspect-ratio:2.0;}.session-gallery .session-thumb img{object-position:center;}}
