/* ═══════════════════════════════════════════════════════════════
   ISTEN HOZOTT® — Homepage v5 · "Kinematikus"
   Norris-energia, IH-dignitas. Narratív ritmus, nyers típus.
   ═══════════════════════════════════════════════════════════════ */

@font-face { font-family:'Big Shoulders Display'; font-weight:400; font-display:swap; src:url('../fonts/BigShoulders-Regular.woff2') format('woff2'), url('../fonts/BigShoulders-Regular.ttf') format('truetype'); }
@font-face { font-family:'Big Shoulders Display'; font-weight:700 900; font-display:swap; src:url('../fonts/BigShoulders-Bold.woff2') format('woff2'), url('../fonts/BigShoulders-Bold.ttf') format('truetype'); }

:root {
  --c-black:#070707; --c-white:#F0EDE6; --c-orange:#EC7200; --c-burg:#3A0A18;
  --c-900:#0F0F0F; --c-800:#1A1A1A;
  --accent:var(--c-orange);
  --ff-d:'Big Shoulders Display',Impact,sans-serif;
  --ff-b:'Andada Pro',Georgia,serif;
  --ff-m:'Space Mono',monospace;
  --ease-out:cubic-bezier(.16,1,.3,1); --ease-io:cubic-bezier(.65,0,.35,1);
  --pad:clamp(20px,4vw,64px); --skew:0deg;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip;-webkit-font-smoothing:antialiased}
body{background:var(--c-black);color:var(--c-white);font-family:var(--ff-b);overflow-x:clip}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%}
button{cursor:pointer;font:inherit;color:inherit;background:none;border:none}
::selection{background:var(--c-orange);color:var(--c-black)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.no-grain #hero-grain{display:none!important}

@media(hover:hover)and(pointer:fine){
  body.has-cursor,body.has-cursor a,body.has-cursor button{cursor:none!important}
}

/* ─── CURSOR ─── */
#cursor-ring{position:fixed;z-index:9998;pointer-events:none;top:0;left:0;width:44px;height:44px;
  border-radius:50%;border:1px solid rgba(240,237,230,.3);
  display:flex;align-items:center;justify-content:center;
  transition:width .35s var(--ease-out),height .35s var(--ease-out),border-color .3s,background .3s;
  will-change:transform}
#cursor-ring.hovering{width:64px;height:64px;border-color:var(--c-orange);background:rgba(236,114,0,.05)}
#cursor-ring.card-hover{width:96px;height:96px;background:rgba(236,114,0,.11);border-color:transparent}
.cursor-label{font-family:var(--ff-d);font-weight:700;font-size:9px;letter-spacing:.2em;color:var(--c-orange);
  text-transform:uppercase;opacity:0;transition:opacity .2s;white-space:nowrap}
#cursor-ring.card-hover .cursor-label{opacity:1}
#cursor-dot{position:fixed;z-index:9999;pointer-events:none;top:0;left:0;width:5px;height:5px;
  border-radius:50%;background:var(--c-orange);will-change:transform}

/* ─── LOADER ─── */
#loader{position:fixed;inset:0;z-index:9000;background:var(--c-black);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.ld-logo{width:60px;height:60px}
.ld-logo img{width:100%;height:100%;object-fit:contain}
.ld-brand{font-family:var(--ff-d);font-weight:700;font-size:13px;text-transform:uppercase;
  letter-spacing:.16em;color:rgba(240,237,230,.38)}
.ld-num{font-family:var(--ff-d);font-weight:900;font-size:clamp(80px,16vw,220px);line-height:.8;
  letter-spacing:-.04em;display:flex;align-items:baseline;gap:.04em;margin-top:20px}
.ld-num .pct{font-size:.26em;color:var(--c-orange);transform:translateY(-.1em)}
.ld-shutter{position:fixed;inset:0;z-index:8999;background:var(--c-orange);
  transform:scaleY(0);transform-origin:bottom;pointer-events:none}

/* ─── NAV ─── */
#nav{position:fixed;top:0;left:0;right:0;z-index:600;display:flex;align-items:center;
  justify-content:space-between;padding:0 var(--pad);height:68px;mix-blend-mode:difference}
#nav.solid{mix-blend-mode:normal}
.nav-logo{display:flex;align-items:center;gap:10px}
.nav-logo img{width:20px;height:20px;object-fit:contain}
.nav-logo span{font-family:var(--ff-d);font-weight:700;font-size:13px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--c-white)}
.nav-right{display:flex;align-items:center;gap:clamp(16px,2.4vw,36px)}
.nav-clock{font-family:var(--ff-m);font-size:9.5px;letter-spacing:.14em;color:rgba(240,237,230,.42)}
.nav-clock .blink{animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.nav-link{font-family:var(--ff-m);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(240,237,230,.58);position:relative;padding-bottom:2px}
.nav-link::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;
  background:var(--c-orange);transition:width .3s var(--ease-io)}
.nav-link:hover::after{width:100%}
.nav-burger{display:flex;flex-direction:column;gap:5px;width:32px;align-items:flex-end;flex-shrink:0}
.nav-burger span{display:block;height:1.5px;background:var(--c-white);
  transition:width .3s,transform .3s,opacity .3s}
.nav-burger span:first-child{width:22px}
.nav-burger span:last-child{width:14px}
.nav-burger.is-open span:first-child{width:20px;transform:rotate(45deg) translate(4px,4px)}
.nav-burger.is-open span:last-child{width:20px;transform:rotate(-45deg) translate(4px,-4px)}

/* ─── NAV OVERLAY ─── */
#nav-overlay{position:fixed;inset:0;z-index:700;background:var(--c-burg);
  clip-path:inset(0 0 100% 0);display:flex;pointer-events:none}
#nav-overlay.is-open{pointer-events:all}
.navo-links{flex:1;display:flex;flex-direction:column;justify-content:center;
  padding:80px var(--pad);gap:2px}
.navo-meta{font-family:var(--ff-m);font-size:9px;letter-spacing:.24em;
  color:rgba(240,237,230,.32);margin-bottom:48px;text-transform:uppercase}
.navo-link{font-family:var(--ff-d);font-weight:900;font-size:clamp(54px,8vw,108px);
  text-transform:uppercase;letter-spacing:-.03em;line-height:.88;
  color:rgba(240,237,230,.18);overflow:hidden;transition:color .25s;width:max-content}
.navo-link .li{display:inline-block;transform:translateY(110%)}
.navo-link:hover{color:var(--c-white)}
.navo-link .idx{font-family:var(--ff-m);font-size:11px;vertical-align:super;
  color:var(--c-orange);letter-spacing:0;margin-right:14px}
.navo-img{flex:0 0 40%;position:relative;overflow:hidden}
.navo-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.08);
  transition:opacity .5s var(--ease-io),transform .8s var(--ease-io);
  filter:grayscale(.3) contrast(1.05)}
.navo-img img.on{opacity:1;transform:scale(1)}
.navo-close{position:absolute;top:28px;right:var(--pad);font-family:var(--ff-m);
  font-size:10px;letter-spacing:.16em;color:rgba(240,237,230,.45)}
.navo-close:hover{color:var(--c-orange)}
.navo-socials{position:absolute;bottom:36px;left:var(--pad);display:flex;gap:28px;align-items:center}
.navo-socials a{font-family:var(--ff-m);font-size:9px;letter-spacing:.15em;
  text-transform:uppercase;color:rgba(240,237,230,.32)}
.navo-socials a:hover{color:var(--c-orange)}
#lang-btn{font-family:var(--ff-m);font-size:9px;letter-spacing:.15em;
  border:1px solid rgba(240,237,230,.2);border-radius:2px;color:var(--c-white);padding:5px 9px;
  transition:border-color .2s,color .2s}
#lang-btn:hover{border-color:var(--c-orange);color:var(--c-orange)}

/* ─── HERO ─── */
#hero{position:relative;height:100svh;min-height:640px;overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-img{width:100%;height:118%;object-fit:cover;object-position:center 32%;
  filter:grayscale(.2) contrast(1.04) brightness(.88) blur(calc(var(--velo,0) * .45px));will-change:transform}
.hero-scrim{position:absolute;inset:0;
  background:linear-gradient(155deg,rgba(7,7,7,.80) 0%,rgba(7,7,7,.32) 55%,rgba(7,7,7,.66) 100%)}
/* hero canvas — flow field sits above photo, below scrim */
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;
  mix-blend-mode:screen;pointer-events:none;opacity:.55}
#hero-grain{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.07;
  background-repeat:repeat;animation:grain .4s steps(1) infinite}
@keyframes grain{0%{background-position:0 0}20%{background-position:-40px -20px}
  40%{background-position:24px -50px}60%{background-position:-60px 30px}
  80%{background-position:48px 40px}100%{background-position:0 0}}
.hero-meta-top{position:absolute;top:92px;left:var(--pad);right:var(--pad);
  z-index:5;display:flex;justify-content:space-between;align-items:baseline}
.hero-eyebrow{font-family:var(--ff-m);font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--c-orange)}
.hero-loc{font-family:var(--ff-m);font-size:10px;letter-spacing:.18em;
  color:rgba(240,237,230,.42);text-transform:uppercase}
.hero-body{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;
  justify-content:flex-end;padding-bottom:8vh}
.hm-track{white-space:nowrap;overflow:hidden;width:100%}
.hm-line{display:inline-block;font-family:var(--ff-d);font-weight:900;
  font-size:clamp(120px,21vw,340px);line-height:.78;text-transform:uppercase;
  letter-spacing:-.04em;will-change:transform;padding-left:var(--pad)}
.hm-line .reg{color:var(--c-orange);font-size:.2em;vertical-align:super}
.hm-line .out{-webkit-text-stroke:1.5px rgba(240,237,230,.48);color:transparent}
.hm-sub{padding:26px var(--pad) 0;max-width:520px;font-style:italic;
  font-size:clamp(14px,1.4vw,17px);line-height:1.72;color:rgba(240,237,230,.58)}
.scroll-cue{position:absolute;bottom:34px;right:var(--pad);z-index:5;
  display:flex;align-items:center;gap:10px}
.scroll-cue-line{width:1px;height:30px;background:rgba(240,237,230,.22);
  position:relative;overflow:hidden}
.scroll-cue-line::after{content:'';position:absolute;inset:0;background:var(--c-orange);
  transform:translateY(-100%);animation:cue 1.8s var(--ease-io) infinite}
@keyframes cue{0%{transform:translateY(-100%)}50%{transform:translateY(0)}100%{transform:translateY(100%)}}
.scroll-cue span{font-family:var(--ff-m);font-size:8px;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(240,237,230,.42)}

/* ─── VELOCITY STRIP ─── */
.velo-strip{border-top:1px solid rgba(240,237,230,.07);border-bottom:1px solid rgba(240,237,230,.07);
  padding:22px 0;overflow:hidden;white-space:nowrap;background:var(--c-black)}
.velo-track{display:inline-flex;align-items:center;gap:40px;will-change:transform}
.velo-item{font-family:var(--ff-d);font-weight:900;font-size:clamp(28px,4.4vw,58px);
  text-transform:uppercase;letter-spacing:-.02em;color:rgba(240,237,230,.13)}
.velo-item.alt{color:transparent;-webkit-text-stroke:1px rgba(240,237,230,.18)}
.velo-dot{width:8px;height:8px;border-radius:50%;background:var(--c-orange);flex-shrink:0}

/* ─── SECTION HEADINGS ─── */
.sec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:clamp(70px,9vw,120px) var(--pad) clamp(36px,4vw,56px)}
.sec-head-l{display:flex;align-items:baseline;gap:16px}
.sec-eyebrow{font-family:var(--ff-m);font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--c-orange)}
.sec-title{font-family:var(--ff-d);font-weight:900;font-size:clamp(40px,6.5vw,96px);
  text-transform:uppercase;letter-spacing:-.03em;line-height:.88;transform:skewX(var(--skew))}
.sec-count{font-family:var(--ff-m);font-size:12px;letter-spacing:.12em;color:rgba(240,237,230,.28)}
.sec-note{font-family:var(--ff-b);font-style:italic;font-size:14px;color:rgba(240,237,230,.38);
  max-width:280px;text-align:right;line-height:1.6}

/* ─── WORKS (horizontal pin) ─── */
#works{position:relative;background:var(--c-black)}
.works-stage{height:100svh;position:relative;overflow:hidden;display:flex;align-items:center}
.works-ghost{position:absolute;left:var(--pad);top:50%;transform:translateY(-50%);
  font-family:var(--ff-d);font-weight:900;font-size:clamp(280px,52vh,620px);
  line-height:.8;color:rgba(240,237,230,.028);z-index:0;pointer-events:none;user-select:none}
.works-head{position:absolute;top:88px;left:var(--pad);right:var(--pad);z-index:5;
  display:flex;align-items:baseline;gap:16px}
.works-head .sec-count{margin-left:auto}
.works-track{display:flex;gap:28px;padding:0 var(--pad);will-change:transform;align-items:center;z-index:2}
.work-card{flex:0 0 clamp(300px,30vw,460px);position:relative;display:block}
.work-card-media{position:relative;height:62vh;max-height:640px;overflow:hidden}
.work-card-img{width:100%;height:112%;object-fit:cover;filter:grayscale(.3) contrast(1.04);
  transition:filter .5s;will-change:transform}
.work-card:hover .work-card-img{filter:grayscale(0) contrast(1.05)}
.work-card-scrim{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(7,7,7,.88) 0%,transparent 55%)}
.work-card-num{position:absolute;top:16px;left:16px;font-family:var(--ff-m);
  font-size:10px;letter-spacing:.16em;color:var(--c-white)}
.work-card-arrow{position:absolute;top:16px;right:18px;font-family:var(--ff-m);
  font-size:14px;color:rgba(240,237,230,0);transition:color .3s,transform .3s}
.work-card:hover .work-card-arrow{color:var(--c-orange);transform:translate(3px,-3px)}
.work-card-foot{padding:18px 2px 0;display:flex;align-items:baseline;justify-content:space-between;
  gap:12px;border-top:1px solid rgba(240,237,230,.1);margin-top:14px}
.work-card-cat{font-family:var(--ff-m);font-size:9px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--c-orange)}
.work-card-title{font-family:var(--ff-d);font-weight:700;font-size:clamp(18px,1.7vw,24px);
  text-transform:uppercase;line-height:1;letter-spacing:-.01em;flex:1}
.work-card-year{font-family:var(--ff-m);font-size:9px;color:rgba(240,237,230,.32)}
.works-hint{position:absolute;bottom:36px;right:var(--pad);z-index:5;font-family:var(--ff-m);
  font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(240,237,230,.32);
  display:flex;align-items:center;gap:10px}
.works-hint .bar{width:40px;height:1px;background:rgba(240,237,230,.18);
  position:relative;overflow:hidden}
#works-prog{position:absolute;inset:0;background:var(--c-orange);
  transform:scaleX(0);transform-origin:left}

/* ─── MANIFESTO (split — dramatic) ─── */
#manifesto{background:var(--c-black);position:relative}
.mani-pin{min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden}

/* Giant watermark number */
.mani-pin::before{content:'02';position:absolute;right:-1vw;top:50%;transform:translateY(-50%);
  font-family:var(--ff-d);font-weight:900;font-size:clamp(260px,36vw,540px);
  letter-spacing:-.06em;line-height:1;color:rgba(240,237,230,.025);
  pointer-events:none;user-select:none;z-index:0}

.mani-wrap{display:grid;grid-template-columns:1.25fr .75fr;
  gap:clamp(40px,5vw,80px);padding:clamp(90px,10vw,140px) var(--pad);
  align-items:start;width:100%;max-width:1580px;position:relative;z-index:1}

.mani-eyebrow{display:block;margin-bottom:clamp(28px,3.5vw,52px)}
.mani-body{font-family:var(--ff-d);font-weight:900;
  font-size:clamp(38px,6.2vw,92px);
  text-transform:uppercase;line-height:.92;letter-spacing:-.035em}
.mani-body .w{display:inline-block;margin-right:.22em;
  color:rgba(240,237,230,.07);transition:color .08s}
.mani-body .w.lit{color:var(--c-white)}
.mani-body .w.acc{color:var(--c-orange)}

/* Decorative divider between eyebrow and body */
.mani-eyebrow{position:relative;padding-bottom:24px}
.mani-eyebrow::after{content:'';position:absolute;bottom:0;left:0;
  width:clamp(40px,5vw,72px);height:2px;background:var(--c-orange)}

.mani-foot{margin-top:clamp(36px,4.5vw,64px);display:flex;align-items:center;gap:22px}
.mani-foot .bar{width:28px;height:1px;background:var(--c-orange);flex-shrink:0}
.mani-foot p{font-style:italic;font-size:13.5px;color:rgba(240,237,230,.32);line-height:1.6}

/* Right column — photo stacked with a small stat */
.mani-right{position:relative;display:flex;flex-direction:column;gap:24px;padding-top:clamp(40px,6vw,90px)}
.mani-photo-wrap{position:relative;aspect-ratio:4/5;overflow:hidden}
.mani-photo{width:100%;height:120%;object-fit:cover;
  filter:grayscale(.25) contrast(1.06) blur(calc(var(--velo,0) * .45px));will-change:transform}
.mani-photo-cap{position:absolute;bottom:14px;left:14px;font-family:var(--ff-m);
  font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(240,237,230,.52)}

/* Accent band below photo */
.mani-aside{display:flex;align-items:center;gap:18px;padding:22px 0 0;
  border-top:1px solid rgba(240,237,230,.07)}
.mani-aside-num{font-family:var(--ff-d);font-weight:900;
  font-size:clamp(36px,4vw,58px);letter-spacing:-.03em;color:var(--c-orange);line-height:1}
.mani-aside-label{font-family:var(--ff-m);font-size:9px;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(240,237,230,.36);line-height:1.5}

/* Rotated vertical label left edge */
.mani-vline{position:absolute;left:calc(var(--pad) - 10px);top:50%;transform:translateY(-50%) rotate(-90deg);
  transform-origin:center;font-family:var(--ff-m);font-size:7.5px;letter-spacing:.28em;
  text-transform:uppercase;color:rgba(240,237,230,.14);white-space:nowrap;z-index:2}

/* ─── FORMATS ─── */
#formats{background:var(--c-900)}
.fmt-list{border-top:1px solid rgba(240,237,230,.1);margin:0 var(--pad) clamp(60px,8vw,110px)}
.fmt-row{display:flex;align-items:center;gap:clamp(16px,3vw,48px);
  padding:clamp(22px,2.6vw,38px) 4px;border-bottom:1px solid rgba(240,237,230,.1);
  position:relative;transition:padding-left .4s var(--ease-io)}
.fmt-row:hover{padding-left:24px}
.fmt-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:0;
  background:var(--c-orange);transition:width .4s var(--ease-io)}
.fmt-row:hover::before{width:4px}
.fmt-num{font-family:var(--ff-m);font-size:11px;letter-spacing:.14em;color:var(--c-orange);min-width:34px}
.fmt-name{font-family:var(--ff-d);font-weight:900;font-size:clamp(28px,4.6vw,68px);
  text-transform:uppercase;letter-spacing:-.025em;line-height:.92;flex:1;
  color:rgba(240,237,230,.48);transition:color .3s}
.fmt-row:hover .fmt-name{color:var(--c-white)}
.fmt-desc{font-family:var(--ff-b);font-style:italic;font-size:13.5px;line-height:1.6;
  color:rgba(240,237,230,.38);max-width:300px}
.fmt-arrow{font-family:var(--ff-m);font-size:15px;color:var(--c-orange);
  opacity:0;transform:translateX(-10px);transition:opacity .3s,transform .3s}
.fmt-row:hover .fmt-arrow{opacity:1;transform:translateX(0)}
#fmt-cursor-img{position:fixed;z-index:500;width:240px;height:300px;pointer-events:none;
  overflow:hidden;opacity:0;transform:translate(-50%,-50%) scale(.85);
  transition:opacity .35s var(--ease-io),transform .35s var(--ease-io)}
#fmt-cursor-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2) contrast(1.05)}
#fmt-cursor-img.on{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* ─── NARRATIVE STRIP ─── */
#narrative{background:#0A0A0A;position:relative}
.narr-stage{height:100svh;position:relative;overflow:hidden;display:flex;align-items:center}
.narr-head{position:absolute;top:88px;left:var(--pad);right:var(--pad);z-index:5;
  display:flex;align-items:baseline;gap:16px}
.narr-track{display:flex;gap:clamp(24px,3vw,44px);padding:0 var(--pad) 0 var(--pad);
  will-change:transform;align-items:center;height:100%;padding-right:calc(var(--pad) * 2)}

.narr-intro{flex:0 0 clamp(260px,26vw,400px);padding-right:clamp(24px,3vw,48px);
  border-right:1px solid rgba(240,237,230,.08)}
.narr-intro-label{font-family:var(--ff-m);font-size:9px;letter-spacing:.24em;
  text-transform:uppercase;color:rgba(240,237,230,.32);margin-bottom:22px;display:block}
.narr-intro-text{font-family:var(--ff-b);font-style:italic;font-size:clamp(14px,1.4vw,18px);
  line-height:1.7;color:rgba(240,237,230,.52)}

.narr-photo{flex:0 0 clamp(220px,22vw,320px);display:flex;flex-direction:column}
.narr-img-wrap{position:relative;aspect-ratio:2/3;overflow:hidden}
.narr-img-wrap img{width:100%;height:120%;object-fit:cover;
  filter:grayscale(.45) contrast(1.05);will-change:transform}
.narr-num{position:absolute;top:12px;left:12px;font-family:var(--ff-m);
  font-size:9px;letter-spacing:.18em;color:rgba(240,237,230,.45)}
.narr-meta{padding:14px 0 0;display:flex;gap:10px;align-items:baseline}
.narr-year{font-family:var(--ff-m);font-size:10px;letter-spacing:.2em;color:var(--c-orange)}
.narr-loc{font-family:var(--ff-m);font-size:9px;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(240,237,230,.32)}
.narr-caption{font-family:var(--ff-b);font-style:italic;
  font-size:clamp(12px,1.1vw,13.5px);line-height:1.62;
  color:rgba(240,237,230,.48);padding-top:8px}

.narr-quote{flex:0 0 clamp(320px,34vw,500px);display:flex;align-items:center;
  padding:0 clamp(24px,3.5vw,56px);border-left:1px solid rgba(240,237,230,.07)}
.narr-quote-inner::before{content:'';display:block;width:28px;height:2px;
  background:var(--c-orange);margin-bottom:22px}
.narr-quote-text{font-family:var(--ff-d);font-weight:900;
  font-size:clamp(26px,3.4vw,50px);text-transform:uppercase;
  letter-spacing:-.025em;line-height:.94;color:rgba(240,237,230,.8)}

/* ─── STATS ─── */
#stats{background:var(--c-burg);overflow:hidden}
.stats-inner{display:grid;grid-template-columns:repeat(3,1fr)}
.stat{padding:clamp(60px,8vw,110px) var(--pad);text-align:center;
  border-right:1px solid rgba(240,237,230,.1)}
.stat:last-child{border-right:none}
.stat-num{font-family:var(--ff-d);font-weight:900;font-size:clamp(56px,9vw,128px);
  letter-spacing:-.04em;line-height:.9}
.stat-num .u{color:var(--c-orange);font-size:.42em}
.stat-label{font-family:var(--ff-m);font-size:9.5px;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(240,237,230,.42);margin-top:16px;display:block}

/* ─── ESSAYS HALL OF FAME ─── */
#essays{background:var(--c-black)}
.essays-hall{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;
  padding:0 var(--pad) clamp(60px,8vw,110px)}
.essay-card{position:relative;aspect-ratio:3/4;overflow:hidden}
.essay-card-img{position:absolute;inset:0;width:100%;height:118%;object-fit:cover;
  will-change:transform,filter,opacity;
  transition:opacity .65s var(--ease-io),filter .7s var(--ease-io),transform .9s var(--ease-io)}
.essay-base{filter:grayscale(.55) contrast(1.05);transform:scale(1.04);opacity:1}
.essay-hover{filter:grayscale(.05) contrast(1.06);transform:scale(1);opacity:0}
.essay-card:hover .essay-base{opacity:0}
.essay-card:hover .essay-hover{opacity:1}
.essays-hall:has(.essay-card:hover) .essay-card:not(:hover){opacity:.44;transition:opacity .4s}
.essay-card-scrim{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(7,7,7,.96) 0%,rgba(7,7,7,.12) 55%,transparent 100%)}
.essay-card-top{position:absolute;top:0;left:0;right:0;height:2px;background:var(--c-orange);
  transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease-io)}
.essay-card:hover .essay-card-top{transform:scaleX(1)}
.essay-card-body{position:absolute;bottom:0;left:0;right:0;
  padding:clamp(18px,2vw,28px);transform:translateY(10px);transition:transform .45s var(--ease-io)}
.essay-card:hover .essay-card-body{transform:translateY(0)}
.essay-card-issue{font-family:var(--ff-m);font-size:9px;letter-spacing:.2em;
  color:var(--c-orange);margin-bottom:10px}
.essay-card-title{font-family:var(--ff-d);font-weight:900;
  font-size:clamp(16px,1.8vw,26px);text-transform:uppercase;letter-spacing:-.015em;line-height:1.02}

/* ─── PARTNERS ─── */
#partners{background:var(--c-900)}
.partners-list{border-top:1px solid rgba(240,237,230,.1);
  margin:0 var(--pad) clamp(60px,8vw,110px)}
.partner-row{display:flex;align-items:center;gap:clamp(14px,2vw,30px);
  padding:clamp(14px,1.8vw,24px) 0;border-bottom:1px solid rgba(240,237,230,.1);
  position:relative;transition:padding-left .4s var(--ease-io)}
.partner-row:hover{padding-left:22px}
.partner-row::before{content:'';position:absolute;left:0;top:0;bottom:0;
  width:0;background:var(--c-orange);transition:width .4s var(--ease-io)}
.partner-row:hover::before{width:3px}
.partner-num{font-family:var(--ff-m);font-size:10px;letter-spacing:.16em;
  color:rgba(236,114,0,.4);min-width:28px;flex-shrink:0}
.partner-name{font-family:var(--ff-d);font-weight:900;
  font-size:clamp(32px,5.5vw,80px);text-transform:uppercase;
  letter-spacing:-.025em;line-height:.88;flex:1;
  color:rgba(240,237,230,.16);transition:color .3s}
.partner-row:hover .partner-name{color:var(--c-white)}
.partner-name.outline{color:transparent;-webkit-text-stroke:1px rgba(240,237,230,.22);
  transition:color .3s,-webkit-text-stroke-color .3s}
.partner-row:hover .partner-name.outline{-webkit-text-stroke-color:rgba(240,237,230,.8)}
.partner-type{font-family:var(--ff-m);font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(240,237,230,.24);flex-shrink:0}

/* ─── CTA ─── */
#contact{min-height:100svh;background:var(--c-black);display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:120px var(--pad);
  text-align:center;position:relative;overflow:hidden}
.cta-bg{position:absolute;inset:0;z-index:0}
.cta-bg img{width:100%;height:110%;object-fit:cover;filter:grayscale(.4) contrast(1.04) blur(calc(var(--velo,0) * .45px));will-change:transform}
.cta-bg-scrim{position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(7,7,7,.9) 0%,rgba(7,7,7,.72) 100%)}
.cta-content{position:relative;z-index:2}
.cta-label{font-family:var(--ff-m);font-size:10px;letter-spacing:.26em;
  text-transform:uppercase;color:rgba(236,114,0,.65);margin-bottom:34px;display:block}
.cta-title{font-family:var(--ff-d);font-weight:900;
  font-size:clamp(64px,12vw,172px);text-transform:uppercase;
  letter-spacing:-.035em;line-height:.82}
.cta-title .line{overflow:hidden;display:block;mix-blend-mode:screen}
.cta-title .li{display:block;will-change:transform}
.cta-title .reg{color:var(--c-orange);font-size:.24em;vertical-align:super}
.cta-divider{width:28px;height:1px;background:var(--c-orange);margin:48px auto 36px}
.cta-email{font-family:var(--ff-b);font-style:italic;
  font-size:clamp(18px,2.6vw,32px);color:var(--c-orange);
  border-bottom:1px solid rgba(236,114,0,.38);padding-bottom:4px;display:inline-block}
.cta-email:hover{border-color:var(--c-orange)}
.cta-marquee-wrap{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);
  white-space:nowrap;overflow:hidden;pointer-events:none;opacity:.04;z-index:1}
.cta-marquee-wrap span{font-family:var(--ff-d);font-weight:900;
  font-size:clamp(180px,30vw,460px);text-transform:uppercase;
  letter-spacing:-.03em;will-change:transform;display:inline-block}

/* ─── FOOTER STATEMENT ─── */
.foot-statement{padding:clamp(80px,10vw,140px) var(--pad);
  border-top:1px solid rgba(240,237,230,.07);text-align:center}
.foot-statement p{font-family:var(--ff-b);font-style:italic;
  font-size:clamp(22px,3.6vw,50px);color:rgba(240,237,230,.48);
  line-height:1.3;max-width:820px;margin:0 auto;text-wrap:pretty}
.foot-statement em{color:var(--c-white);font-style:italic}

/* ─── FOOTER ─── */
footer{padding:28px var(--pad);border-top:1px solid rgba(240,237,230,.08);
  background:var(--c-900);display:flex;align-items:center;
  justify-content:space-between;gap:20px;flex-wrap:wrap}
.foot-brand{display:flex;align-items:center;gap:9px}
.foot-brand img{width:16px;height:16px}
.foot-brand span{font-family:var(--ff-d);font-weight:700;font-size:12px;
  text-transform:uppercase;letter-spacing:.06em}
.foot-copy{font-family:var(--ff-m);font-size:9px;letter-spacing:.14em;color:rgba(240,237,230,.28)}
.foot-links{display:flex;gap:24px}
.foot-links a{font-family:var(--ff-m);font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(240,237,230,.32)}
.foot-links a:hover{color:var(--c-orange)}

/* ─── TWEAKS ─── */
#tweaks{position:fixed;bottom:20px;right:20px;z-index:9500;width:252px;
  background:rgba(12,12,12,.96);border:1px solid rgba(240,237,230,.12);
  backdrop-filter:blur(14px);padding:18px;display:none}
#tweaks.show{display:block}
.tw-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.tw-title{font-family:var(--ff-d);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.tw-close{font-family:var(--ff-m);font-size:14px;color:rgba(240,237,230,.42);line-height:1}
.tw-close:hover{color:var(--c-orange)}
.tw-sec{font-family:var(--ff-m);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(240,237,230,.32);margin:14px 0 8px}
.tw-seg{display:flex;gap:3px}
.tw-seg button{flex:1;font-family:var(--ff-m);font-size:9px;letter-spacing:.08em;text-transform:uppercase;
  padding:8px 4px;border:1px solid rgba(240,237,230,.13);color:rgba(240,237,230,.52);transition:all .2s}
.tw-seg button.on{background:var(--c-orange);border-color:var(--c-orange);color:var(--c-black)}
.tw-swatches{display:flex;gap:8px}
.tw-sw{width:28px;height:28px;border-radius:50%;border:2px solid transparent;transition:border-color .2s}
.tw-sw.on{border-color:var(--c-white)}
.tw-toggle{display:flex;align-items:center;justify-content:space-between}
.tw-toggle span{font-family:var(--ff-m);font-size:10px;letter-spacing:.06em;color:rgba(240,237,230,.62)}
.tw-switch{width:38px;height:20px;border-radius:10px;background:rgba(240,237,230,.13);
  position:relative;transition:background .2s}
.tw-switch.on{background:var(--c-orange)}
.tw-switch::after{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;
  border-radius:50%;background:var(--c-white);transition:transform .22s var(--ease-io)}
.tw-switch.on::after{transform:translateX(18px)}

/* ─── RESPONSIVE ─── */
@media(max-width:1100px){
  .mani-wrap{grid-template-columns:1fr}
  .mani-right{display:none}
  .essays-hall{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  .stats-inner{grid-template-columns:1fr}
  .stat{border-right:none;border-bottom:1px solid rgba(240,237,230,.1)}
  .navo-img{display:none}
  .fmt-desc{display:none}
}
@media(max-width:768px){
  .nav-link,.nav-clock{display:none}
  #cursor-ring,#cursor-dot,#fmt-cursor-img{display:none!important}
  .sec-note{display:none}
  .partner-type{display:none}
  .essays-hall{grid-template-columns:repeat(2,1fr)}
  .narr-stage{height:auto;overflow:visible}
  .narr-track{overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;padding-bottom:24px;height:auto}
  .narr-photo,.narr-intro,.narr-quote{scroll-snap-align:start}
  .split-photo{width:34vw;opacity:.5}
  .split-quote{font-size:clamp(30px,8vw,52px)}
  .sign{width:90vw}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important}}

/* ═══════════════════ EXTRAS v5.1 ═══════════════════ */

/* ─── Cursor trail ─── */
.cursor-trail-dot{position:fixed;z-index:9996;pointer-events:none;border-radius:50%;
  background:var(--c-orange);left:-200px;top:-200px}

/* ─── Vertical edge text ─── */
.edge-text-wrap{position:fixed;right:14px;top:0;bottom:0;z-index:200;pointer-events:none;
  display:flex;align-items:center;justify-content:center}
.edge-text{font-family:var(--ff-m);font-size:7.5px;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(240,237,230,.1);white-space:nowrap;
  writing-mode:vertical-rl;text-orientation:mixed}

/* ─── Formats — OFF-WHITE inversion ─── */
#formats{background:var(--c-white)}
#formats .sec-head .sec-eyebrow{color:rgba(7,7,7,.38)}
#formats .sec-head .sec-title{color:var(--c-black)}
#formats .sec-note{color:rgba(7,7,7,.32)}
#formats .fmt-list{border-top-color:rgba(7,7,7,.1)}
#formats .fmt-row{border-bottom-color:rgba(7,7,7,.08)}
#formats .fmt-row::before{background:var(--c-black)}
#formats .fmt-row:hover{padding-left:24px}
#formats .fmt-num{color:rgba(236,114,0,.7)}
#formats .fmt-name{color:rgba(7,7,7,.32);-webkit-text-stroke:0}
#formats .fmt-row:hover .fmt-name{color:var(--c-black)}
#formats .fmt-desc{color:rgba(7,7,7,.55)}
#formats .fmt-arrow{color:rgba(7,7,7,.6)}
#formats .fmt-row:hover .fmt-arrow{opacity:1;transform:translateX(0);color:var(--c-black)}

/* ═══════════════════ v5.2 — SPLIT · MARQUEE · SIGN · FOOTER ═══════════════════ */

/* ─── PARALLAX SPLIT ─── */
#split{position:relative;min-height:100svh;background:var(--c-black);
  overflow:hidden;display:flex;align-items:center;justify-content:center}
.split-photo{position:absolute;top:-9%;height:118%;
  width:clamp(180px,23vw,360px);overflow:hidden;z-index:1}
.split-photo img{width:100%;height:100%;object-fit:cover;
  filter:grayscale(.5) contrast(1.05) brightness(.82)}
.split-photo.split-l{left:0}
.split-photo.split-r{right:0}
.split-scrim{position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(7,7,7,.74) 0%,rgba(7,7,7,.5) 100%)}
.split-l .split-scrim{background:linear-gradient(90deg,rgba(7,7,7,.35) 0%,rgba(7,7,7,.82) 100%)}
.split-r .split-scrim{background:linear-gradient(270deg,rgba(7,7,7,.35) 0%,rgba(7,7,7,.82) 100%)}
.split-center{position:relative;z-index:3;text-align:center;
  max-width:min(760px,72vw);padding:0 var(--pad)}
.split-bar{display:block;width:32px;height:2px;background:var(--c-orange);margin:0 auto clamp(28px,3.5vw,44px)}
.split-quote{font-family:var(--ff-d);font-weight:900;
  font-size:clamp(34px,5.4vw,82px);text-transform:uppercase;
  letter-spacing:-.03em;line-height:.92;color:var(--c-white);text-wrap:balance}
.split-attr{display:block;font-family:var(--ff-m);font-size:10px;
  letter-spacing:.22em;text-transform:uppercase;
  color:rgba(240,237,230,.4);margin-top:clamp(28px,3.5vw,44px)}

/* ─── LOGO MARQUEE (hover-slow) ─── */
.logo-marquee{margin-top:clamp(40px,5vw,72px);overflow:hidden;white-space:nowrap;
  border-top:1px solid rgba(240,237,230,.1);border-bottom:1px solid rgba(240,237,230,.1);
  padding:clamp(20px,2.4vw,32px) 0}
.logo-track{display:inline-flex;align-items:center;gap:clamp(28px,3.6vw,56px);will-change:transform}
.logo-mq-item{font-family:var(--ff-d);font-weight:900;
  font-size:clamp(24px,3.2vw,46px);text-transform:uppercase;letter-spacing:-.02em;
  color:transparent;-webkit-text-stroke:1px rgba(240,237,230,.28);
  transition:color .3s,-webkit-text-stroke-color .3s}
.logo-marquee:hover .logo-mq-item{-webkit-text-stroke-color:rgba(240,237,230,.5)}
.logo-mq-dot{width:7px;height:7px;border-radius:50%;background:var(--c-orange);flex-shrink:0}
#partners .logo-marquee{margin-left:var(--pad);margin-right:var(--pad)}
/* ─── Valódi partnerlogók a marquee-ban (v7.5) ───
   Fehér-fekete trim variánsok; a screen blend a fekete vásznat eltünteti,
   így csak a fehér jel marad — egységes magasság, ghost-szürke alap. */
.logo-mq-img{height:clamp(22px,2.6vw,38px);width:auto;flex-shrink:0;
  mix-blend-mode:screen;opacity:.45;filter:grayscale(1);
  transition:opacity .3s}
.logo-marquee:hover .logo-mq-img{opacity:.85}
.foot-logos-strip .logo-mq-img{height:clamp(18px,2vw,30px)}
.foot-logos-strip:hover .logo-mq-img{opacity:.85}
/* ─── SVG partnerlogók (v8) — fekete fill → törtfehérre invertálva ─── */
.logo-mq-svg{mix-blend-mode:normal;filter:brightness(0) invert(.92)}

/* (signature removed) */
#contact .cta-content{position:relative;z-index:auto}
#contact{isolation:isolate}

/* ─── FOOTER (clip reveal base) ─── */
.foot-statement{position:relative;z-index:1}

/* ─── SOCIAL — Instagram grid (inside rounded footer panel) ─── */
#social{padding:clamp(60px,8vw,110px) var(--pad) clamp(40px,5vw,72px)}
.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.social-item{position:relative;aspect-ratio:1;overflow:hidden;display:block;background:var(--c-black)}
.social-img{width:100%;height:100%;object-fit:cover;
  filter:grayscale(.4) contrast(1.05) brightness(.86)}
.social-ov{position:absolute;inset:0;background:rgba(7,7,7,.5);
  opacity:0;transition:opacity .16s ease;
  display:flex;align-items:center;justify-content:center;gap:10px}
.social-item:hover .social-ov{opacity:1}
.social-tag{font-family:var(--ff-d);font-weight:700;font-size:clamp(13px,1.4vw,17px);
  text-transform:uppercase;letter-spacing:.04em;color:var(--c-white)}
.social-arrow{font-family:var(--ff-m);font-size:14px;color:var(--c-orange)}
.social-follow{display:inline-flex;align-items:center;gap:10px;
  margin-top:clamp(28px,3.4vw,44px);
  font-family:var(--ff-m);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(240,237,230,.6);transition:color .16s ease}
.social-follow span{color:var(--c-orange);transition:transform .2s ease}
.social-follow:hover{color:var(--c-white)}
.social-follow:hover span{transform:translateX(5px)}
@media (max-width:640px){.social-grid{grid-template-columns:repeat(2,1fr)}}

/* ─── BLOB / CONTOUR TEXTURE (adapted: monochrome, quiet) ─── */
.split-contours{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:url('../assets/contours.svg') center/min(132vh,1240px) no-repeat;
  opacity:.16;mix-blend-mode:screen}

/* ─── ROUNDED FOOTER PANEL (adapted: restrained radius, clip-reveal) ─── */
.site-foot{position:relative;z-index:1;background:var(--c-900);
  border-radius:clamp(20px,3vw,40px) clamp(20px,3vw,40px) 0 0;
  overflow:hidden}
.site-foot .foot-statement{border-top:none}
.site-foot footer{border-top:1px solid rgba(240,237,230,.08)}

/* ── notch bite at top-center of footer panel ── */
.site-foot::before{content:'';position:absolute;top:0;left:50%;
  transform:translateX(-50%);
  width:clamp(90px,12vw,160px);height:clamp(26px,3.2vw,44px);
  background:var(--c-black);border-radius:0 0 50% 50%;z-index:5;pointer-events:none}

/* ══════════════════════════════════════════
   CTA — pure black, no image, bigger title
   ══════════════════════════════════════════ */
.cta-bg{display:none!important}
#contact{background:var(--c-black)!important;min-height:0!important;padding:clamp(64px,8vw,120px) var(--pad)!important;position:relative!important}
.cta-title{font-size:clamp(100px,17vw,260px)!important}


/* ══════════════════════════════════════════
   FOOTER V2 — LN-STYLE 3-COLUMN
   ══════════════════════════════════════════ */
.foot-main{display:grid;grid-template-columns:1fr 1fr 1fr;
  position:relative;min-height:clamp(380px,44vw,640px)}

.foot-col{padding:clamp(32px,4vw,56px) var(--pad);display:flex;flex-direction:column;
  justify-content:space-between}

.foot-col-label{font-family:var(--ff-m);font-size:9px;letter-spacing:.24em;
  text-transform:uppercase;color:rgba(240,237,230,.26)}

/* left nav links */
.foot-nav-big{display:flex;flex-direction:column;gap:0}
.foot-nav-big a{font-family:var(--ff-d);font-weight:900;
  font-size:clamp(22px,2.8vw,44px);text-transform:uppercase;
  letter-spacing:-.03em;line-height:.96;
  color:rgba(240,237,230,.18);transition:color .22s;padding:.14em 0;
  border-bottom:1px solid rgba(240,237,230,.06)}
.foot-nav-big a:last-child{border-bottom:none}
.foot-nav-big a:hover{color:var(--c-white)}
.foot-nav-accent{color:var(--c-orange)!important}
.foot-nav-accent:hover{color:var(--c-white)!important}

/* center column — full-bleed image */
.foot-col-c{padding:0;position:relative;overflow:hidden;
  border-left:1px solid rgba(240,237,230,.07);
  border-right:1px solid rgba(240,237,230,.07)}
.foot-vis{position:absolute;inset:0}
.foot-vis img{width:100%;height:100%;object-fit:cover;
  filter:grayscale(.6) contrast(1.1) brightness(.55);
  transition:filter .5s}
.foot-col-c:hover .foot-vis img{filter:grayscale(.3) contrast(1.08) brightness(.65)}
.foot-vis-scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,
    rgba(7,7,7,.3) 0%,
    rgba(7,7,7,0) 40%,
    rgba(7,7,7,.7) 100%)}
.foot-contact-btn{position:absolute;bottom:clamp(20px,3vw,36px);left:50%;
  transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:10px;white-space:nowrap;
  padding:.55em 1.4em;
  font-family:var(--ff-d);font-weight:900;
  font-size:clamp(12px,1.2vw,16px);text-transform:uppercase;letter-spacing:.12em;
  color:var(--c-black);background:var(--c-orange);
  border-radius:999px;transition:background .2s,transform .2s;z-index:2}
.foot-contact-btn:hover{background:var(--c-white);transform:translateX(-50%) translateY(-2px)}
.foot-btn-arrow{transition:transform .2s}
.foot-contact-btn:hover .foot-btn-arrow{transform:translateX(3px)}

/* left brand mark */
.foot-brand-mark{display:flex;align-items:center;gap:10px}
.foot-brand-mark img{width:28px;height:28px;object-fit:contain}
.foot-brand-mark .foot-col-label{margin:0;line-height:1}

/* right social */
.foot-col-r{align-items:flex-end;text-align:right}
.foot-tagline{font-family:var(--ff-d);font-weight:900;
  font-size:clamp(16px,2vw,28px);text-transform:uppercase;
  letter-spacing:-.02em;line-height:.95;
  color:rgba(240,237,230,.55);margin:0}
.foot-social-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:16px}
.foot-social-big{display:flex;flex-direction:column;align-items:flex-end;gap:0}
.foot-social-big a{font-family:var(--ff-d);font-weight:900;
  font-size:clamp(22px,2.8vw,44px);text-transform:uppercase;
  letter-spacing:-.03em;line-height:.96;
  color:rgba(240,237,230,.18);transition:color .22s;padding:.14em 0;
  border-bottom:1px solid rgba(240,237,230,.06)}
.foot-social-big a:last-child{border-bottom:none}
.foot-social-big a:hover{color:var(--c-white)}
.foot-social-stats{display:flex;flex-direction:column;
  align-items:flex-end;gap:5px;font-family:var(--ff-m);font-size:9px;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(240,237,230,.24)}

/* partner logos strip inside footer */
.foot-logos-strip{overflow:hidden;white-space:nowrap;
  border-top:1px solid rgba(240,237,230,.08);
  border-bottom:1px solid rgba(240,237,230,.08);
  padding:clamp(16px,2.2vw,26px) 0}
.foot-logos-track{display:inline-flex;align-items:center;
  gap:clamp(24px,3.2vw,48px);will-change:transform;
  animation:footMQ 26s linear infinite}
.foot-logos-strip:hover .foot-logos-track{animation-play-state:paused}
@keyframes footMQ{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* footer bottom strip */
.site-foot footer{padding:clamp(18px,2.2vw,28px) var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* mobile */
@media(max-width:860px){
  .foot-main{grid-template-columns:1fr;min-height:auto}
  .foot-col-c{min-height:80vw;border:none;
    border-top:1px solid rgba(240,237,230,.07);
    border-bottom:1px solid rgba(240,237,230,.07)}
  .foot-col-r{align-items:flex-start;text-align:left}
  .foot-social-big{align-items:flex-start}
  .foot-social-big a{border-bottom:1px solid rgba(240,237,230,.06)}
  .foot-social-stats{align-items:flex-start}
  .site-foot::before{display:none}
}

/* ═══════════════════════════════════════════════════════════════
   v6 — MOTION SYSTEM: WebGL · blur-reveal · hover-zoom · depth
   ═══════════════════════════════════════════════════════════════ */

/* ─── WebGL hero depth layer (sits above photo, below scrim) ─── */
#hero-webgl{position:absolute;inset:0;width:100%;height:100%;z-index:1;
  mix-blend-mode:screen;pointer-events:none;opacity:.92;display:none}
body.webgl-on #hero-webgl{display:block}
body.webgl-on #hero-canvas{display:none}      /* 2D canvas is the fallback only */
.hero-scrim{z-index:2}
#hero-canvas{z-index:1}
#hero-grain{z-index:4}

/* ─── Text reveal — blur + y + opacity (SplitText-style words) ─── */
.reveal-line{display:block;overflow:hidden}
.reveal-w{display:inline-block;will-change:transform,filter,opacity}
.reveal-pending .reveal-w{opacity:0;transform:translateY(0.5em);filter:blur(11px)}
@media(prefers-reduced-motion:reduce){
  .reveal-pending .reveal-w{opacity:1;transform:none;filter:none}
}

/* ─── Scene exit (set as will-change targets) ─── */
.scene-content{will-change:transform,filter,opacity}

/* ─── 3-layer parallax targets ─── */
[data-depth]{will-change:transform}

/* ─── HOVER-ZOOM (cinematic) — overrides DS color-only when body.zoom-hover ─── */
body.zoom-hover .work-card-media,
body.zoom-hover .narr-img-wrap,
body.zoom-hover .mani-photo-wrap,
body.zoom-hover .social-item{overflow:hidden}

body.zoom-hover .work-card-img{transition:filter .5s,transform .85s var(--ease-out)}
body.zoom-hover .work-card:hover .work-card-img{transform:scale(1.08)}
body.zoom-hover .work-card-foot{transition:transform .5s var(--ease-out)}
body.zoom-hover .work-card:hover .work-card-foot{transform:translateX(6px)}

body.zoom-hover .narr-img-wrap img{transition:filter .5s,transform .9s var(--ease-out)}
body.zoom-hover .narr-photo:hover .narr-img-wrap img{transform:scale(1.07)}

body.zoom-hover .mani-photo{transition:filter .6s,transform .9s var(--ease-out)}
body.zoom-hover .mani-photo-wrap:hover .mani-photo{transform:scale(1.06)}

body.zoom-hover .social-img{transition:filter .5s,transform .8s var(--ease-out)}
body.zoom-hover .social-item:hover .social-img{transform:scale(1.09)}

/* essay cards already crossfade; add a touch more travel on hover */
body.zoom-hover .essay-card:hover .essay-hover{transform:scale(1.06)}

/* calm motion → kill skew + soften parallax (driven by tweak) */
body.motion-calm .sec-title{transform:none}

/* ═══════════════════════════════════════════════════════════════
   v6.1 — CINEMA LAYER: char/line type · magnetic · cursor states ·
          continuous ambient · velocity blur · camera
   ═══════════════════════════════════════════════════════════════ */

/* ─── Typography: character-level (hero) + line-level (sec titles) ─── */
.hc{display:inline-block;will-change:transform,opacity}
.reveal-line{display:block;overflow:hidden}
.reveal-li{display:inline-block;will-change:transform,filter,opacity}

/* ─── Cursor ecosystem — labelled state (view/read/explore/watch) ─── */
#cursor-ring{transition:width .4s var(--ease-out),height .4s var(--ease-out),
  border-color .3s,background .3s,rotate .5s var(--ease-out)}
#cursor-ring.labelled{width:96px;height:96px;background:rgba(236,114,0,.12);
  border-color:transparent;rotate:6deg}
#cursor-ring.labelled .cursor-label{opacity:1}

/* ─── Continuous ambient: breathing media (uses standalone `scale` so it
       composes with GSAP transform parallax instead of fighting it) ─── */
@keyframes ihBreath{from{scale:1}to{scale:1.035}}
.breathe{animation:ihBreath 11s ease-in-out infinite alternate}

/* ─── Ambient accent layer — slow drifting warm light per scene ─── */
@keyframes ihDrift{
  0%{translate:-3% -2%;opacity:.5}
  100%{translate:4% 3%;opacity:.9}
}
.ambient-glow{position:absolute;inset:-10%;z-index:0;pointer-events:none;
  background:radial-gradient(48% 42% at 34% 38%,rgba(236,114,0,.07),transparent 72%);
  animation:ihDrift 19s ease-in-out infinite alternate;mix-blend-mode:screen}
.mani-pin{position:relative}
#stats{position:relative;overflow:hidden}
#stats .stats-inner{position:relative;z-index:1}

/* ─── Scroll-velocity blur — appended to each graded image's own filter via
       the --velo var (set 0..1 in JS); defaults to 0 so grading is untouched ─── */

@media(prefers-reduced-motion:reduce){
  .breathe{animation:none!important}
  .ambient-glow{display:none}
}
body.motion-calm .breathe{animation:none}
body.motion-calm .ambient-glow{opacity:.25;animation:none}
/* ═══════════════════════════════════════════════════════════════
   ISTEN HOZOTT® — Homepage v7 · "Szerkesztőségi"
   Csak az új / módosított szekciókat definiálja.
   A v6 stíluslap betöltése után töltendő.
   ═══════════════════════════════════════════════════════════════ */

/* ─── WORKS: pin-scroll kikapcsolása → editorial grid ─── */
#works .works-stage { height: auto !important; overflow: visible !important; display: block !important; position: static !important; }
.works-ghost, .works-track, .works-hint { display: none !important; }

/* ─── ABOUT ─── */
#about {
  background: var(--c-black);
  padding: clamp(72px,11vw,150px) var(--pad);
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(40px,8vw,120px);
  align-items: start;
  border-top: 1px solid rgba(240,237,230,.07);
}
.about-eyebrow { display: block; margin-bottom: clamp(20px,3vw,36px); }
.about-headline {
  font-family: var(--ff-d);
  font-weight: 900;
  font-size: clamp(42px,7.2vw,104px);
  text-transform: uppercase;
  letter-spacing: -.03em;
  line-height: .88;
  color: var(--c-white);
}
.about-headline em {
  -webkit-text-stroke: 1.5px rgba(240,237,230,.44);
  color: transparent;
  font-style: normal;
}
.about-right {
  display: flex;
  flex-direction: column;
  gap: clamp(18px,2.4vw,32px);
  padding-bottom: 6px;
}
.about-dek {
  font-family: var(--ff-b);
  font-style: italic;
  font-size: clamp(14px,1.35vw,17px);
  line-height: 1.72;
  color: rgba(240,237,230,.58);
}
.about-proof {
  font-family: var(--ff-m);
  font-size: 9.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(236,114,0,.62);
  line-height: 2;
}
.about-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--ff-m);
  font-size: 9.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(240,237,230,.45);
  border-bottom: 1px solid rgba(240,237,230,.16);
  padding-bottom: 2px;
  transition: color .22s, border-color .22s;
  width: fit-content;
}
.about-link:hover { color: var(--c-orange); border-color: var(--c-orange); }

/* about: text column */
.about-text {
  display: flex;
  flex-direction: column;
  gap: clamp(18px,2.4vw,32px);
}

/* about: 4:5 photo column */
.about-photo {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  align-self: start;
}
.about-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 115%;
  object-fit: cover;
  filter: grayscale(.32) contrast(1.06) brightness(.78);
  will-change: transform;
}
.about-photo-scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(7,7,7,.54) 0%, rgba(7,7,7,.14) 100%);
}

@media(max-width:860px) {
  #about { grid-template-columns:1fr; gap:clamp(28px,5vw,48px); }
  .about-photo { aspect-ratio: 3/2; max-height: 56vw; }
}

/* ─── WORKS EDITORIAL HEAD ─── */
.works-ed-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: clamp(64px,9vw,118px) var(--pad) clamp(28px,3.5vw,48px);
}
.works-ed-all {
  font-family: var(--ff-m);
  font-size: 9.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(240,237,230,.36);
  border-bottom: 1px solid rgba(240,237,230,.14);
  padding-bottom: 2px;
  transition: color .22s, border-color .22s;
  white-space: nowrap;
}
.works-ed-all:hover { color: var(--c-orange); border-color: var(--c-orange); }

/* ─── WORKS EDITORIAL GRID ─── */
.works-ed-grid {
  padding: 0 var(--pad);
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.wed-card {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--c-900);
  text-decoration: none;
}
.wed-card:hover .wed-img   { filter: grayscale(0) contrast(1.06); }
.wed-card:hover .wed-arrow { color: var(--c-orange); transform: translate(3px,-3px); }

.wed-media { position: absolute; inset: 0; overflow: hidden; }
.wed-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 115%;
  object-fit: cover;
  filter: grayscale(.4) contrast(1.04) brightness(.88);
  transition: filter .55s;
  will-change: transform;
}
.wed-scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,rgba(7,7,7,.94) 0%,rgba(7,7,7,.2) 50%,transparent 100%);
}
.wed-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: clamp(14px,2.2vw,30px);
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.wed-cat {
  font-family: var(--ff-m);
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--c-orange);
}
.wed-title {
  font-family: var(--ff-d);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -.025em;
  line-height: .9;
  color: var(--c-white);
}
.wed-outcome {
  font-family: var(--ff-m);
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(240,237,230,.38);
  margin-top: 3px;
}
.wed-num {
  position: absolute;
  top: clamp(12px,1.8vw,22px);
  left: clamp(12px,1.8vw,22px);
  font-family: var(--ff-m);
  font-size: 9px;
  letter-spacing: .16em;
  color: rgba(240,237,230,.38);
}
.wed-arrow {
  position: absolute;
  top: clamp(12px,1.8vw,22px);
  right: clamp(12px,1.8vw,22px);
  font-family: var(--ff-m);
  font-size: 15px;
  color: transparent;
  transition: color .28s, transform .28s;
}

/* hero card */
.wed-hero { height: clamp(240px,52vh,620px); }
.wed-hero .wed-title { font-size: clamp(28px,5vw,78px); }

/* secondary row */
.works-ed-secondary { display: grid; grid-template-columns: 59fr 41fr; gap: 3px; }
.wed-sec { height: clamp(180px,38vh,460px); }
.wed-sec .wed-title { font-size: clamp(19px,2.8vw,44px); }

/* tertiary row */
.works-ed-tertiary { display: grid; grid-template-columns: repeat(3,1fr); gap: 3px; }
.wed-ter { height: clamp(140px,24vh,300px); }
.wed-ter .wed-title { font-size: clamp(14px,1.7vw,26px); }
.wed-ter .wed-outcome { display: none; }

@media(max-width:860px) {
  .works-ed-secondary { grid-template-columns:1fr 1fr; }
  .works-ed-tertiary  { grid-template-columns:1fr 1fr; }
  .wed-ter:last-child { display:none; }
}
@media(max-width:560px) {
  .works-ed-secondary { grid-template-columns:1fr; }
  .wed-sec:last-child { display:none; }
  .works-ed-tertiary  { grid-template-columns:1fr 1fr; }
}

/* ─── FORMATS — mobile fix ─── */
@media(max-width:860px) {
  .fmt-desc { display:block !important; font-size:11px !important; max-width:220px !important; }
}

/* ─── STATS: 4 oszlop ─── */
#stats .stats-inner { grid-template-columns: repeat(4,1fr) !important; }
#stats .stat { border-right: 1px solid rgba(240,237,230,.1) !important; border-bottom: none !important; }
#stats .stat:last-child { border-right: none !important; }
@media(max-width:1100px) {
  #stats .stats-inner { grid-template-columns: 1fr 1fr !important; }
  #stats .stat { border-bottom: 1px solid rgba(240,237,230,.1) !important; }
  #stats .stat:nth-child(2n) { border-right: none !important; }
  #stats .stat:nth-last-child(-n+2) { border-bottom: none !important; }
}
@media(max-width:560px) {
  #stats .stats-inner { grid-template-columns: 1fr !important; }
  #stats .stat { border-right: none !important; border-bottom: 1px solid rgba(240,237,230,.1) !important; }
  #stats .stat:last-child { border-bottom: none !important; }
}

/* ─── STATS + PRESS KIT ─── */
.presskit-lower {
  background: var(--c-burg);
  border-top: 1px solid rgba(240,237,230,.08);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px,5vw,80px);
  padding: clamp(40px,6vw,80px) var(--pad) clamp(64px,9vw,120px);
}
.pk-quote {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pk-quote-text {
  font-family: var(--ff-b);
  font-style: italic;
  font-size: clamp(16px,2vw,26px);
  line-height: 1.65;
  color: rgba(240,237,230,.7);
  position: relative;
  padding-left: 26px;
}
.pk-quote-text::before {
  content: '';
  position: absolute;
  left: 0; top: 9px;
  width: 14px; height: 2px;
  background: var(--c-orange);
}
.pk-quote-source {
  display: block;
  font-family: var(--ff-m);
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(240,237,230,.3);
  margin-top: 18px;
  padding-left: 26px;
}
.pk-note {
  font-family: var(--ff-b);
  font-style: italic;
  font-size: clamp(13px,1.2vw,15px);
  line-height: 1.72;
  color: rgba(240,237,230,.34);
  align-self: end;
  padding-bottom: 2px;
}
@media(max-width:860px) { .presskit-lower { grid-template-columns:1fr; } }

/* ─── PARTNERS REDESIGN ─── */
.partners-grid {
  padding: 0 var(--pad) clamp(48px,6vw,88px);
  display: flex;
  flex-direction: column;
  gap: clamp(40px,5vw,72px);
}
.partner-cat-label {
  display: block;
  font-family: var(--ff-m);
  font-size: 9px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(240,237,230,.26);
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(240,237,230,.1);
  margin-bottom: 0;
}
.partner-cat-list { list-style: none; }
.partner-cat-row {
  display: flex;
  align-items: center;
  gap: clamp(14px,2vw,30px);
  padding: clamp(10px,1.4vw,20px) 0;
  border-bottom: 1px solid rgba(240,237,230,.07);
  position: relative;
  overflow: hidden;
  transition: padding-left .35s var(--ease-io);
  cursor: default;
}
.partner-cat-row:hover { padding-left: 18px; }
.partner-cat-row::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 0; background: var(--c-orange);
  transition: width .35s var(--ease-io);
}
.partner-cat-row:hover::before { width: 3px; }
.pcr-num {
  font-family: var(--ff-m);
  font-size: 9px;
  letter-spacing: .14em;
  color: rgba(236,114,0,.36);
  min-width: 22px;
  flex-shrink: 0;
}
.pcr-name {
  font-family: var(--ff-d);
  font-weight: 900;
  font-size: clamp(26px,4.4vw,66px);
  text-transform: uppercase;
  letter-spacing: -.025em;
  line-height: .9;
  flex: 1;
  color: rgba(240,237,230,.15);
  transition: color .25s;
}
.partner-cat-row:hover .pcr-name { color: var(--c-white); }
.pcr-name.outline {
  color: transparent;
  -webkit-text-stroke: 1px rgba(240,237,230,.2);
  transition: color .25s, -webkit-text-stroke-color .25s;
}
.partner-cat-row:hover .pcr-name.outline { -webkit-text-stroke-color: rgba(240,237,230,.72); }
.pcr-type {
  font-family: var(--ff-m);
  font-size: 9px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(240,237,230,.22);
  flex-shrink: 0;
}
@media(max-width:768px) { .pcr-type { display:none; } }

/* ─── LOGO MARQUEE inside partners ─── */
#partners .logo-marquee { margin-left:0; margin-right:0; margin-top:0; }

/* ─── CONTACT: dual-path ─── */
.cta-bg { display: none !important; }
#contact {
  background: var(--c-black) !important;
  min-height: 0 !important;
  padding: clamp(80px,10vw,136px) var(--pad) !important;
  text-align: left !important;
  isolation: isolate;
}
.cta-content { text-align: left; }
.cta-title {
  font-size: clamp(68px,12.5vw,200px) !important;
  text-align: left;
}
.cta-divider { margin: clamp(32px,4vw,60px) 0 !important; }
#contact .cta-email {
  font-size: clamp(20px,3vw,38px) !important;
  display: inline-block;
}
.cta-sub {
  display: block;
  font-family: var(--ff-b);
  font-style: italic;
  font-size: clamp(13px,1.2vw,15px);
  line-height: 1.65;
  color: rgba(240,237,230,.4);
  margin-top: clamp(20px,2.5vw,36px);
  max-width: 420px;
}

/* ─── MOBIL: split flankoló képek el ─── */
@media(max-width:480px) {
  .split-photo { display:none !important; }
  .split-center { max-width:100vw; padding:0 var(--pad); }
}

/* ─── CONTACT → FOOTER átmenet: sarok mögött nincs fehér, notch el ─── */
html,
body {
  background: var(--c-black) !important;
}
#contact {
  padding-bottom: 0 !important;
}
.site-foot {
  background: var(--c-900) !important;  /* kontrasztos panel a fekete contact alatt */
  margin-top: 0 !important;
  position: relative;
  z-index: 1;
}
.site-foot::before {
  display: none !important;  /* notch el */
}

/* ─── LOADER META SOROK — archívum / terminál stílus ───────────
   .ld-meta nem volt stílusozva v6-ban; v7 hozzáadja
   Space Mono, kis betűs, gyengén látható — nem versenyez a számmal
   ─────────────────────────────────────────────────────────────── */
.ld-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  margin-bottom: 10px;
}
.ld-meta span {
  font-family: var(--ff-m);
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(240,237,230,0.22);
  white-space: nowrap;
}
.ld-meta span:first-child { color: rgba(240,237,230,0.15); }
.ld-meta span:last-child  { color: rgba(236,114,0,0.65); }

.motion-fallback #loader,
.motion-fallback .ld-shutter {
  display: none !important;
  pointer-events: none !important;
}

#nav-overlay.is-open .navo-links {
  position: relative;
  z-index: 3;
}
/* a .navo-links (z-index:3) rátakart a lenti szociális linkekre és a
   bezárás-gombra — emiatt a YouTube/Instagram link nem volt kattintható */
#nav-overlay .navo-socials,
#nav-overlay .navo-close {
  z-index: 5;
}
#nav-overlay.is-open .navo-link {
  color: rgba(240,237,230,0.62) !important;
}
#nav-overlay.is-open .navo-link:hover,
#nav-overlay.is-open .navo-link:focus-visible {
  color: var(--c-white) !important;
}
#nav-overlay.is-open .navo-link .li {
  transform: translateY(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
}
#nav-overlay.is-open .navo-meta,
#nav-overlay.is-open .navo-close,
#nav-overlay.is-open .navo-socials a {
  opacity: 1 !important;
  visibility: visible !important;
}
#nav-overlay .navo-close:focus-visible,
#nav-overlay .navo-link:focus-visible,
#nav-overlay .navo-socials a:focus-visible {
  outline: 1px solid var(--c-orange);
  outline-offset: 6px;
}

@media (max-width: 600px) {
  .ld-num {
    transition: opacity .25s var(--ease-out);
  }
  .ld-meta {
    margin-bottom: 8px;
  }
  #nav-overlay.is-open .navo-link {
    color: rgba(240,237,230,0.54) !important;
  }
}

/* ─── PARTNER PREVIEW — 4:5 arányú projekt-fotó ────────────────
   position:absolute a #partners-en belül (JS állítja relative-re)
   clip-path reveal GSAP-pal vezérelve; CSS csak az alapállapotot adja
   ─────────────────────────────────────────────────────────────── */
#partners { position: relative; }

.partner-preview {
  position: absolute;
  top: 0;
  left: 0;
  /* transform: nincs CSS-ben — GSAP kezeli x/y-t a cursor-követéshez */
  width: 108px;
  height: 136px;          /* ~4:5 arány */
  overflow: hidden;
  border: 1px solid var(--c-orange);
  pointer-events: none;
  z-index: 20;
  opacity: 0;
  clip-path: inset(0 0 100% 0);
}
.partner-preview .pp-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.22) contrast(1.04);
  display: block;
}
.partner-preview .pp-scrim {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.38);
}

/* Mobilon elrejtjük — JS a TOUCH feltétel alapján nem injektálja,
   de ha mégis DOM-ban lenne: */
@media (hover: none) {
  .partner-preview { display: none !important; }
}

/* ─── MOBIL: footer kompaktabb ─── */
@media(max-width:480px) {
  .foot-col { padding:clamp(24px,4vw,36px) var(--pad); }
  .foot-nav-big a { font-size:clamp(18px,5vw,32px); }
  .foot-social-big a { font-size:clamp(18px,5vw,32px); }
}

/* ═══════════════════════════════════════════════════════════════
   FOOTER — FILMES ZÁRÓKÉP (v7.3)
   Full-bleed háttérkép a teljes site-foot mögött.
   Archivális, tompított, teljesen szürkeárnyalatos kezelés.
   Tartalom: pozícionált elemek és normál flow — mind föléje kerül.
   ═══════════════════════════════════════════════════════════════ */

/* Fallback: ha a kép nem tölt be, tiszta fekete marad */
.site-foot {
  background: var(--c-black) !important;
}

/* ─── Háttérkép réteg ─── */
.foot-bg {
  position: absolute;
  inset: 0;
  z-index: -1;   /* site-foot saját bg fölött, de minden tartalom mögött */
  overflow: hidden;
}

.foot-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  /* Teljes szürkeárnyalat, alacsony brightness — archivális érzet */
  filter: grayscale(1) contrast(1.10) brightness(0.33);
  /* Nincs transition — reduced-motion barát alapból */
}

/* ─── Scrim réteg ───
   Függőleges gradiens: kissé átengedi a képet középen,
   de erősen sötétíti alul (copyright sáv) és finom keretet ad felül.
   Plusz enyhe vignette a sarkoknál radial-gradienssel.
*/
.foot-bg-scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to bottom,
      rgba(7,7,7,0.60) 0%,
      rgba(7,7,7,0.36) 20%,
      rgba(7,7,7,0.42) 58%,
      rgba(7,7,7,0.92) 100%
    ),
    radial-gradient(
      ellipse 130% 80% at 50% 40%,
      transparent 35%,
      rgba(7,7,7,0.38) 100%
    );
}

/* ─── Tartalom a kép fölé ───
   .foot-main már position:relative (v6) — z-index: 1 elég hozzá.
   .foot-logos-strip és footer statikus → explicit z-index kell.
*/
.foot-main {
  z-index: 1;
}

.foot-logos-strip {
  position: relative;
  z-index: 1;
  /* Enyhe sötétítő overlay a marquee sávon */
  background: rgba(7,7,7,0.28) !important;
  border-top-color: rgba(240,237,230,0.06) !important;
  border-bottom-color: rgba(240,237,230,0.06) !important;
}

.site-foot > footer {
  position: relative;
  z-index: 1;
  /* Filmes záró: erős sötétítés a copyright soron */
  background: rgba(7,7,7,0.52);
  border-top-color: rgba(240,237,230,0.06) !important;
}

/* ─── Oszlop háttér: transparent — kép átüt ─── */
.foot-col-l,
.foot-col-c,
.foot-col-r {
  background: transparent !important;
}

/* ─── Saját kép a center oszlopból eltávolítva ─── */
.foot-vis {
  display: none !important;
}

/* ─── Szöveg kontrasztja a kép előtt ───
   text-shadow segít az olvashatóságon, de nem feltűnő.
*/
.foot-nav-big a {
  color: rgba(240,237,230,0.28) !important;
  text-shadow: 0 1px 8px rgba(7,7,7,0.55);
}
.foot-nav-accent {
  color: var(--c-orange) !important;
  text-shadow: none;
}
.foot-nav-big a:hover {
  color: var(--c-white) !important;
}

.foot-tagline {
  color: rgba(240,237,230,0.68) !important;
  text-shadow: 0 1px 10px rgba(7,7,7,0.65);
}

.foot-social-big a {
  color: rgba(240,237,230,0.24) !important;
  text-shadow: 0 1px 8px rgba(7,7,7,0.55);
}
.foot-social-big a:hover {
  color: var(--c-white) !important;
}

/* Oszlop-elválasztók maradnak, de kicsit lágyabb */
.foot-col-c {
  border-left-color:  rgba(240,237,230,0.09) !important;
  border-right-color: rgba(240,237,230,0.09) !important;
}

/* ─── Mobil: kép fókuszpont ─── */
@media (max-width: 860px) {
  .foot-bg img {
    object-position: center center;
  }
  /* Mobil footer strip border nem kell a stacked layoutban */
  .foot-col-c {
    border-top-color:    rgba(240,237,230,0.07) !important;
    border-bottom-color: rgba(240,237,230,0.07) !important;
    border-left: none !important;
    border-right: none !important;
  }
}

/* ─── Reduced motion: nincs animáció — alapból nincs is ─── */
@media (prefers-reduced-motion: reduce) {
  .foot-bg img {
    transition: none !important;
    animation: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   MOTION POLISH — v7.1
   ═══════════════════════════════════════════════════════════════ */

/* ─── WORK CARD HOVER: image-only zoom + editorial arrow ───────
   Módosítja:  .wed-img, .wed-arrow, .wed-title hover állapotok
   Változás:   kép scale(1.04), cím -5px lift, arrow opacity+slide
   IH illeszkedés: lassú, 0.65s filmes átmenet; nem SaaS-scale
   Performance:    GPU-barát transform/opacity; .wed-media overflow:hidden
                   gondoskodik arról, hogy a kép ne lógjon ki
   ─────────────────────────────────────────────────────────────── */
.wed-img {
  transition: filter  .6s  cubic-bezier(.16,1,.3,1),
              transform .65s cubic-bezier(.16,1,.3,1);
}
.wed-card:hover .wed-img {
  filter: grayscale(0) contrast(1.06);
  transform: scale(1.04);
}
.wed-title {
  transition: transform .55s cubic-bezier(.16,1,.3,1);
}
.wed-card:hover .wed-title {
  transform: translateY(-5px);
}

/* Arrow: opacity + translateX belépés, color helyett */
.wed-arrow {
  color: var(--c-orange);
  opacity: 0;
  transform: translateX(-5px);
  transition: opacity  .45s cubic-bezier(.16,1,.3,1),
              transform .45s cubic-bezier(.16,1,.3,1);
}
.wed-card:hover .wed-arrow {
  opacity: 1;
  transform: translateX(0);
}

/* ─── FILMKOCKA FRAME — hero kártya belépő ─── */
.wed-frame {
  position: absolute;
  inset: 0;
  border: 1.5px solid var(--c-orange);
  pointer-events: none;
  z-index: 8;
}

/* ─── ESSAY CARD HOVER: sötétkamra / darkroom ──────────────────
   Módosítja:  essay-card-img transition, essay-card-scrim opacity
   Változás:   crossfade 0.85s, scrim opacity 1→0.42 hoverre
   IH illeszkedés: sötétkamra-fotó-előhívás érzet; lassú materializálódás
   Performance:    CSS transition only, alacsony kockázat
   ─────────────────────────────────────────────────────────────── */
.essay-card-img {
  transition: opacity   .85s cubic-bezier(.65,0,.35,1),
              filter    1.0s cubic-bezier(.65,0,.35,1),
              transform 1.1s cubic-bezier(.65,0,.35,1) !important;
}
.essay-card-scrim {
  transition: opacity .85s cubic-bezier(.65,0,.35,1);
}
.essay-card:hover .essay-card-scrim {
  opacity: 0.42;
}
/* Zoom-hover body osztállyal se scale-ezzen a hover image — nincs agresszív nagyítás */
body.zoom-hover .essay-card:hover .essay-hover {
  transform: scale(1) !important;
}

/* ─── ESSAY CARD LABEL — kiadásszám + cím (v7.5) ───────────────
   A kártya alsó sarkában; a scrim alsó sávja adja a kontrasztot. */
.essay-card-label{position:absolute;left:14px;right:14px;bottom:12px;z-index:3;
  display:flex;flex-direction:column;gap:4px;pointer-events:none}
.essay-card-label .ec-issue{font-family:var(--ff-m);font-size:9px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--c-orange)}
.essay-card-label .ec-title{font-family:var(--ff-d);font-weight:700;
  font-size:clamp(13px,1.3vw,17px);letter-spacing:.04em;text-transform:uppercase;
  color:var(--c-white);line-height:1.05}

/* ─── SECTION TITLE ÉKEZET FIX — v7.4 ────────────────────────────
   .reveal-line { overflow: hidden } (v6) vágja a diacritikumokat
   (Á, É, Ő…) a line-height:.88 + szoros line-box kombinációval.
   Fix: overflow: visible + clip-path inset(-0.42em 0 0 0):
     · felül -0.42em → ékezetek látszanak
     · alul  0       → yPercent:110 reveal-animáció tovább működik
   Csak .sec-title belsejére alkalmazva — többi reveal-line érintetlen.
──────────────────────────────────────────────────────────────────── */
.sec-title .reveal-line {
  overflow: visible !important;
  clip-path: inset(-0.42em 0 0 0) !important;
}

/* ─── REDUCED MOTION OVERRIDE ─── */
@media (prefers-reduced-motion: reduce) {
  .wed-img,
  .wed-title,
  .wed-arrow,
  .essay-card-img,
  .essay-card-scrim { transition: none !important; }
}

/* ═══════════════════════════════════════════════════════════════
   HERO SZÖVEG JAVÍTÁS — v7.2
   ═══════════════════════════════════════════════════════════════

   Probléma 1 — teteje levágódik:
     .hm-track { overflow: hidden } + line-height: .78 együtt levágja
     a cap-height tetejét (Big Shoulders caps ~73% em, diakritek ~95% em).
     Fix: overflow: visible + clip-path: inset(-0.35em 0 0 0)
       → csak alulról klippel (az animáció-reveal miatt szükséges),
         felülről 0.35em-t enged a línián túlra.

   Probléma 2 — kicsit nagy a szöveg:
     clamp(120px, 21vw, 340px) → clamp(100px, 17vw, 290px)
     Max csökkentés 340→290px; a vw is visszafogottabb (21→17).

   Performance: transform/clip-path only, GPU-barát.
   ─────────────────────────────────────────────────────────────── */

.hm-line {
  font-size: clamp(100px, 17vw, 290px) !important;
  line-height: .88 !important;
}

/* overflow: visible szükséges, mert clip-path a box boundary-hoz képest dolgozik.
   inset(-0.35em 0 0 0) = top overflow engedélyezve, többi oldal zárva.
   A karakterek yPercent:115 → jóval a bottom clip alatt indulnak, nem látszanak. */
.hm-track {
  overflow: visible !important;
  clip-path: inset(-0.35em 0 0 0) !important;
}

/* Mobil: arányosan kisebb */
@media (max-width: 600px) {
  .hm-line {
    font-size: clamp(72px, 17vw, 160px) !important;
  }
}

/* ─── v7.5 — MOBIL FINOMÍTÁSOK ───────────────────────────────────
   · Munkáink fejléc: cím + "Összes projekt" két sorba (375px-en 1px-re voltak)
   · Footer nav: nagyobb tap targetek
   · Kontakt e-mail: gombszerű, teljes szélességű CTA — ez az oldal
     egyetlen konverziós pontja, mobilon ne legyen alulsúlyozott */
@media (max-width: 640px) {
  .works-ed-head{flex-direction:column;align-items:flex-start;gap:12px}
  .foot-nav-big a{padding:.32em 0}
  #contact .cta-email{display:block;text-align:center;
    border:1px solid rgba(236,114,0,.5);padding:16px 18px;
    border-bottom:1px solid rgba(236,114,0,.5)}
  .cta-sub{margin-top:18px}
}
/* ─── v7.5 — FORMÁTUM "HAMAROSAN" CHIP ─── */
.fmt-soon{font-family:var(--ff-m);font-size:8.5px;letter-spacing:.2em;
  text-transform:uppercase;white-space:nowrap;flex-shrink:0;
  color:rgba(240,237,230,.4);border:1px solid rgba(240,237,230,.2);
  padding:4px 9px;border-radius:2px}
.fmt-row-soon{cursor:default}
#formats .fmt-soon{color:rgba(7,7,7,.42);border-color:rgba(7,7,7,.22)}
#formats .fmt-row-soon:hover .fmt-name{color:rgba(7,7,7,.5)}

/* ─── v7.5 — KÉZÍRÁS-ALÁÍRÁS A FOOTERBEN ───
   signature.webm: halványszürke vonások fekete alapon; a brightness
   fehérre húzza a vonást, a screen blend a fekete hátteret eltünteti. */
.foot-sign{display:block;width:clamp(150px,17vw,230px);margin:0 auto 20px;
  mix-blend-mode:screen;filter:brightness(2.6) contrast(1.05);
  opacity:.9;pointer-events:none}
/* v7.5 — a .foot-sign screen blendje elérje a háttérfotót:
   a z-index:auto megszünteti a foot-main stacking contextjét
   (a foot-bg z-index:-1 enélkül is a tartalom mögött marad) */
.site-foot .foot-main{z-index:auto}

/* ═══════════════════ v8 EXTRAS — átmenet · sín · szalag · formátum · selection ═══════════════════ */

/* ─── Kijelölés — narancs, a brand hangján ─── */
::selection{background:var(--c-orange);color:var(--c-black)}
::-moz-selection{background:var(--c-orange);color:var(--c-black)}

/* ─── Oldalátmenet — a shutter kattintásokat ne fogjon el ─── */
.ld-shutter{pointer-events:none}

/* ─── Fejezet-sín — jobb él, függőleges szekciónavigáció ─── */
#chapter-rail{position:fixed;right:14px;top:50%;transform:translateY(-50%);
  z-index:240;display:flex;flex-direction:column;gap:4px}
#chapter-rail a{display:flex;align-items:center;justify-content:flex-end;
  gap:10px;padding:5px 0;text-decoration:none}
#chapter-rail .cr-label{font-family:var(--ff-m);font-size:8px;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(240,237,230,.55);white-space:nowrap;
  opacity:0;transform:translateX(8px);
  transition:opacity .3s var(--ease-out),transform .3s var(--ease-out),color .3s}
#chapter-rail .cr-num{font-family:var(--ff-m);font-size:9px;letter-spacing:.14em;
  color:rgba(240,237,230,.28);transition:color .3s}
#chapter-rail .cr-tick{width:14px;height:1px;background:rgba(240,237,230,.22);
  transition:background .3s,width .3s var(--ease-out)}
#chapter-rail a:hover .cr-label,#chapter-rail a.active .cr-label{opacity:1;transform:none}
#chapter-rail a:hover .cr-num{color:rgba(240,237,230,.6)}
#chapter-rail a.active .cr-num{color:var(--c-orange)}
#chapter-rail a.active .cr-tick{background:var(--c-orange);width:26px}
#chapter-rail.on-light .cr-label{color:rgba(7,7,7,.6)}
#chapter-rail.on-light .cr-num{color:rgba(7,7,7,.38)}
#chapter-rail.on-light .cr-tick{background:rgba(7,7,7,.28)}
#chapter-rail.on-light a.active .cr-num{color:var(--c-orange)}
#chapter-rail.on-light a.active .cr-tick{background:var(--c-orange)}
body.has-rail .edge-text-wrap{display:none}
@media (max-width:1023px),(hover:none){#chapter-rail{display:none}}

/* ─── Formátumok — erősebb kontraszt + hover fill-wipe + óriás № ─── */
#formats .fmt-name{color:rgba(7,7,7,.6)}
#formats .fmt-num{font-size:clamp(18px,2.2vw,32px);font-weight:700;
  min-width:clamp(44px,4.4vw,76px);color:rgba(7,7,7,.16);transition:color .3s}
#formats .fmt-row{overflow:hidden}
#formats .fmt-row::after{content:'';position:absolute;inset:0;background:var(--c-black);
  transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--ease-io);z-index:0}
#formats .fmt-row:hover::after{transform:scaleY(1)}
#formats .fmt-row::before{z-index:2}
#formats .fmt-row>*{position:relative;z-index:1}
#formats .fmt-row:hover .fmt-num{color:var(--c-orange)}
#formats .fmt-row:hover .fmt-name{color:var(--c-white)}
#formats .fmt-row:hover .fmt-desc{color:rgba(240,237,230,.6)}
#formats .fmt-row:hover .fmt-arrow{color:var(--c-orange)}
#formats .fmt-row-soon:hover .fmt-name{color:rgba(240,237,230,.55)}
#formats .fmt-row-soon:hover .fmt-soon{color:rgba(240,237,230,.5);border-color:rgba(240,237,230,.25)}
@media (prefers-reduced-motion:reduce){#formats .fmt-row::after{display:none}
  #formats .fmt-row:hover .fmt-name{color:var(--c-black)}
  #formats .fmt-row:hover .fmt-desc{color:rgba(7,7,7,.55)}}

/* ─── Esszék — húzható filmszalag (csak desktop, JS kapcsolja) ─── */
.essays-hall.is-strip{display:block;overflow:hidden;cursor:grab;touch-action:pan-y;
  padding:0 0 clamp(60px,8vw,110px) 0;margin-left:var(--pad)}
.essays-hall.is-strip.dragging{cursor:grabbing}
.essays-hall.is-strip .essays-track{display:flex;gap:3px;width:max-content;will-change:transform}
.essays-hall.is-strip .essay-card{width:clamp(300px,27vw,430px);flex:0 0 auto;aspect-ratio:3/4}
.essays-hall.is-strip .essay-card-img{pointer-events:none}
.essays-drag-hint{font-family:var(--ff-m);font-size:8.5px;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(240,237,230,.32);margin-left:auto;align-self:baseline}
.essay-cta{display:flex;flex-direction:column;justify-content:flex-end;gap:10px;
  padding:clamp(18px,2vw,28px);background:var(--c-900);
  border:1px solid rgba(240,237,230,.12);transition:border-color .3s,background .3s}
.essay-cta:hover{border-color:rgba(236,114,0,.55);background:#141414}
.essay-cta-num{font-family:var(--ff-m);font-size:9px;letter-spacing:.2em;color:var(--c-orange)}
.essay-cta-title{font-family:var(--ff-d);font-weight:900;text-transform:uppercase;
  font-size:clamp(24px,2.6vw,40px);letter-spacing:-.02em;line-height:.95;
  color:transparent;-webkit-text-stroke:1px rgba(240,237,230,.55);transition:color .35s}
.essay-cta:hover .essay-cta-title{color:var(--c-white);-webkit-text-stroke:0px transparent}
.essay-cta-sub{font-family:var(--ff-m);font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(240,237,230,.42)}
