/* ========================================================
   KARA PRODUCTION — immersive WebGL editorial
   ======================================================== */
:root{
  --bg:#080809; --ink:#f1f0ee; --dim:#9a9893;
  --gold:#c4b393; --line:rgba(241,240,238,.16);
  --maxw:1500px; --ease:cubic-bezier(.19,1,.22,1);
}
*{ margin:0; padding:0; box-sizing:border-box; }
body{ background:var(--bg); color:var(--ink); font-family:"Jost",system-ui,sans-serif; font-weight:300;
  line-height:1.55; overflow-x:hidden; cursor:none; -webkit-font-smoothing:antialiased; }
@media (pointer:coarse){ body{ cursor:auto; } }
a{ color:inherit; text-decoration:none; }
.display{ font-family:"Bodoni Moda",serif; font-weight:500; }
em{ font-style:italic; }
::selection{ background:var(--ink); color:var(--bg); }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 clamp(1.3rem,4vw,4rem); width:100%; }

/* ===== WEBGL CANVAS (fixed background) ===== */
#gl{ position:fixed; inset:0; width:100vw; height:100vh; z-index:0; display:block; }
.scrim{ position:fixed; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(120% 90% at 50% 0%, transparent 60%, rgba(8,8,9,.5));
  box-shadow:inset 0 0 200px 40px rgba(0,0,0,.6); }
#scroll{ position:relative; z-index:2; }

/* ===== GRAIN ===== */
.grain{ position:fixed; inset:0; z-index:9000; pointer-events:none; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain .6s steps(2) infinite; }
@keyframes grain{ 0%{transform:translate(0,0)} 50%{transform:translate(-2%,1%)} 100%{transform:translate(1%,-2%)} }

/* ===== CURSOR ===== */
.cursor{ position:fixed; top:0; left:0; width:52px; height:52px; border:1px solid rgba(241,240,238,.5);
  border-radius:50%; z-index:9500; pointer-events:none; transform:translate(-50%,-50%);
  transition:width .4s var(--ease), height .4s var(--ease), background .4s, border-color .4s; mix-blend-mode:difference; }
.cursor.hover{ width:82px; height:82px; background:var(--ink); border-color:transparent; }
@media (pointer:coarse){ .cursor{ display:none; } }

/* ===== LOADER ===== */
.loader{ position:fixed; inset:0; z-index:10000; background:var(--bg); display:grid; place-items:center;
  transition:opacity 1s var(--ease), visibility 1s; }
.loader.done{ opacity:0; visibility:hidden; }
.loader__word{ font-family:"Bodoni Moda",serif; font-weight:500; font-size:clamp(3.4rem,11vw,8rem);
  letter-spacing:.04em; display:flex; gap:.04em; justify-content:center; }
.loader__word span{ opacity:0; transform:translateY(90%); animation:lw 1s var(--ease) forwards; }
.loader__word span:nth-child(1){ animation-delay:.05s; } .loader__word span:nth-child(2){ animation-delay:.13s; }
.loader__word span:nth-child(3){ animation-delay:.21s; } .loader__word span:nth-child(4){ animation-delay:.29s; }
@keyframes lw{ to{ opacity:1; transform:none; } }
.loader__line{ width:min(240px,52vw); height:1px; background:var(--line); margin:1.8rem auto .9rem; overflow:hidden; }
.loader__line i{ display:block; height:100%; width:0; background:var(--ink); }
.loader__pct{ font-size:.66rem; letter-spacing:.3em; color:var(--dim); }

/* ===== NAV ===== */
.nav{ position:fixed; top:0; left:0; width:100%; z-index:5000; display:flex; align-items:center;
  justify-content:space-between; padding:1.5rem clamp(1.3rem,4vw,4rem); mix-blend-mode:difference; }
.nav__brand{ font-family:"Bodoni Moda",serif; font-weight:600; font-size:1.5rem; }
.nav__brand span{ color:var(--gold); }
.nav__menu{ display:flex; gap:clamp(1rem,2.4vw,2.6rem); align-items:center; }
.nav__menu a{ font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; position:relative; }
.nav__menu a:not(.nav__cta)::after{ content:""; position:absolute; left:0; bottom:-5px; width:0; height:1px; background:currentColor; transition:width .5s var(--ease); }
.nav__menu a:not(.nav__cta):hover::after{ width:100%; }
.nav__cta{ border:1px solid currentColor; padding:.5rem 1.1rem; border-radius:40px; }
.nav__burger{ display:none; flex-direction:column; gap:6px; background:none; border:none; cursor:none; }
.nav__burger span{ width:26px; height:1px; background:var(--ink); }

/* ===== PANELS ===== */
.panel{ position:relative; min-height:100svh; display:flex; align-items:center; padding:7rem 0; }
.panel__scrim{ position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(to bottom, rgba(8,8,9,.5), rgba(8,8,9,.25) 40%, rgba(8,8,9,.7)); }
.panel__scrim--left{ background:linear-gradient(100deg, rgba(8,8,9,.86) 0%, rgba(8,8,9,.5) 45%, rgba(8,8,9,.12) 75%); }
.panel__scrim--soft{ background:rgba(8,8,9,.42); }
.panel__scrim--strong{ background:radial-gradient(80% 70% at 50% 50%, rgba(8,8,9,.55), rgba(8,8,9,.9)); }

/* labels & section titles */
.label{ font-size:.72rem; letter-spacing:.34em; text-transform:uppercase; color:var(--dim);
  display:flex; align-items:center; gap:.85rem; }
.label.center{ justify-content:center; }
.label i{ font-style:normal; color:var(--ink); font-size:.7rem; }
.sec-top{ margin-bottom:clamp(2rem,5vw,4rem); }
.sec-title{ font-size:clamp(2.6rem,8vw,7rem); line-height:.96; letter-spacing:-.01em; margin-top:1rem; }

/* ===== HERO ===== */
.hero{ justify-content:center; text-align:center; }
.hero__mast{ will-change:transform; transform-style:preserve-3d;
  filter:drop-shadow(0 8px 50px rgba(0,0,0,.55)); }
.hero__title{ font-family:"Bodoni Moda",serif; font-weight:600; font-size:clamp(5rem,27vw,24rem);
  line-height:.8; letter-spacing:.01em; }
.hero__title .ln{ display:block; overflow:hidden; }
/* striped metallic fill ("çizgi çizgi") + sweeping highlight on KARA */
.hero__title .ln > span{
  display:inline-block;
  background-image:
    linear-gradient(96deg, rgba(255,255,255,0) 36%, rgba(255,255,255,.98) 46%, var(--gold) 50%, rgba(255,255,255,.98) 54%, rgba(255,255,255,0) 64%),
    repeating-linear-gradient(98deg, #f4f3f0 0 2px, #c7c5c0 2px 4px, #ecebe7 4px 6px);
  background-size:220% 100%, 100% 100%;
  background-position:200% 0, 0 0;
  background-repeat:no-repeat;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.hero.lit .hero__title .ln > span{ animation:kara-shine 5s 0.4s var(--ease) infinite; }
@keyframes kara-shine{
  0%   { background-position:210% 0, 0 0; }
  30%  { background-position:-110% 0, 0 0; }
  100% { background-position:-110% 0, 0 0; }
}
.hero__sub{ overflow:hidden; }
.hero__sub span{ display:inline-block; font-size:clamp(.7rem,1.8vw,1rem); letter-spacing:.7em;
  text-transform:uppercase; padding-left:.7em; margin-top:1.1rem; color:#e6e4e0;
  text-shadow:0 2px 18px rgba(0,0,0,.6); }
.hero__foot{ position:absolute; left:0; bottom:0; width:100%; display:flex; justify-content:space-between;
  align-items:flex-end; gap:2rem; padding:0 clamp(1.3rem,4vw,4rem) clamp(2rem,4vw,3rem); }
.hero__tag{ font-family:"Bodoni Moda",serif; font-style:italic; font-weight:400; font-size:clamp(1.1rem,2.2vw,1.7rem); line-height:1.3; max-width:22ch; text-align:left; }
.hero__meta{ display:flex; flex-direction:column; gap:.4rem; text-align:right; font-size:.7rem; letter-spacing:.26em; text-transform:uppercase; color:var(--dim); }
.hero__scroll{ position:absolute; left:50%; bottom:1.8rem; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.7rem; font-size:.62rem; letter-spacing:.3em; color:var(--dim); }
.hero__scroll i{ width:1px; height:46px; background:var(--line); position:relative; overflow:hidden; }
.hero__scroll i::after{ content:""; position:absolute; inset:0; background:var(--ink); animation:sl 2.4s var(--ease) infinite; }
@keyframes sl{ 0%{transform:translateY(-100%)} 55%{transform:translateY(0)} 100%{transform:translateY(100%)} }

/* ===== STUDIO ===== */
.studio__inner{ max-width:720px; }
.studio .label{ margin-bottom:1.6rem; }
.studio__head{ font-size:clamp(2.4rem,6.5vw,5.4rem); line-height:1; letter-spacing:-.01em; margin-bottom:1.8rem; }
.studio__head em{ color:var(--gold); }
.studio p{ color:#cfcdc8; max-width:50ch; font-size:1.05rem; line-height:1.85; }
.studio__stats{ display:flex; gap:2.8rem; margin-top:2.6rem; flex-wrap:wrap; }
.studio__stats div{ display:flex; flex-direction:column; }
.studio__stats b{ font-family:"Bodoni Moda",serif; font-weight:500; font-size:2.8rem; line-height:1; }
.studio__stats span{ font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--dim); margin-top:.5rem; }

/* ===== CRAFT — accordion ===== */
.acc{ border-top:1px solid var(--line); }
.acc__item{ border-bottom:1px solid var(--line); }
.acc__head{ width:100%; background:none; border:none; cursor:none; text-align:left;
  display:grid; grid-template-columns:64px 1fr 40px; align-items:center; gap:1.4rem;
  padding:clamp(1.3rem,3vw,2.3rem) 0; color:var(--ink); transition:padding-left .5s var(--ease); }
.acc__item.open .acc__head, .acc__head:hover{ padding-left:1rem; }
.acc__no{ font-size:.78rem; letter-spacing:.1em; color:var(--dim); }
.acc__title{ font-size:clamp(1.5rem,3.4vw,2.7rem); line-height:1; letter-spacing:-.01em; transition:color .4s; }
.acc__head:hover .acc__title, .acc__item.open .acc__title{ color:var(--gold); }
.acc__icon{ position:relative; width:18px; height:18px; justify-self:end; }
.acc__icon::before, .acc__icon::after{ content:""; position:absolute; top:50%; left:50%; width:16px; height:1.5px;
  background:var(--ink); transform:translate(-50%,-50%); transition:transform .5s var(--ease), background .4s; }
.acc__icon::after{ transform:translate(-50%,-50%) rotate(90deg); }
.acc__item.open .acc__icon::after{ transform:translate(-50%,-50%) rotate(0deg); }
.acc__item.open .acc__icon::before, .acc__item.open .acc__icon::after{ background:var(--gold); }
.acc__panel{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .6s var(--ease); }
.acc__item.open .acc__panel{ grid-template-rows:1fr; }
.acc__inner{ overflow:hidden; }
.acc__panel p{ color:#cfcdc8; max-width:52ch; font-size:1rem; line-height:1.8; padding:0 0 1.4rem; }
.acc__ex{ list-style:none; display:flex; flex-wrap:wrap; gap:.7rem; padding-bottom:clamp(1.4rem,3vw,2.2rem); }
.acc__ex li{ display:inline-flex; align-items:center; gap:.7rem; font-size:.82rem; color:var(--ink);
  border:1px solid var(--line); border-radius:40px; padding:.55rem 1rem .55rem .55rem; }
.acc__ex li span{ font-family:"Space Mono",monospace; font-size:.58rem; letter-spacing:.12em; color:#0a0a0b;
  background:var(--gold); border-radius:30px; padding:.35rem .55rem; }

/* ===== FEATURED FILM (video in 3D parallax) ===== */
.film{ justify-content:center; text-align:center; }
.film__scrim{ position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(85% 80% at 50% 50%, rgba(8,8,9,.18), rgba(8,8,9,.74)); }
.film__inner{ max-width:920px; position:relative; }
.film .label{ margin-bottom:1.8rem; }
.film__live{ width:8px; height:8px; border-radius:50%; background:var(--gold); display:inline-block;
  box-shadow:0 0 0 0 rgba(196,179,147,.6); animation:filmpulse 2s infinite; }
@keyframes filmpulse{ 0%{ box-shadow:0 0 0 0 rgba(196,179,147,.5); } 70%{ box-shadow:0 0 0 12px rgba(196,179,147,0); } 100%{ box-shadow:0 0 0 0 rgba(196,179,147,0); } }
.film__title{ font-weight:500; font-size:clamp(2.8rem,9vw,7rem); line-height:.95; letter-spacing:-.01em; text-shadow:0 6px 50px rgba(0,0,0,.7); }
.film__title em{ color:var(--gold); }
.film__desc{ max-width:48ch; margin:1.6rem auto 2.4rem; color:#dcdad5; font-size:clamp(.95rem,1.6vw,1.1rem);
  line-height:1.8; text-shadow:0 2px 24px rgba(0,0,0,.85); }
.film__sound{ position:relative; display:inline-flex; align-items:center; gap:.85rem; cursor:none;
  background:rgba(8,8,9,.45); backdrop-filter:blur(6px); border:1px solid var(--gold); border-radius:60px;
  padding:1rem 1.9rem; color:var(--ink); font-size:.78rem; letter-spacing:.2em; text-transform:uppercase;
  transition:background .4s var(--ease), color .4s, transform .25s var(--ease); }
.film__sound:hover{ background:var(--gold); color:#0a0a0b; transform:translateY(-2px); }
.film__sound-ico{ position:relative; width:13px; height:13px; }
.film__sound-ico::before{ content:""; position:absolute; left:0; top:3.5px; width:5px; height:6px; background:currentColor; }
.film__sound-ico::after{ content:""; position:absolute; left:4px; top:1.5px; width:0; height:0;
  border-style:solid; border-width:5px 0 5px 6px; border-color:transparent transparent transparent currentColor; }
.film__meta{ position:absolute; left:50%; transform:translateX(-50%); bottom:1.8rem; display:flex; gap:1.4rem;
  font-size:.64rem; letter-spacing:.22em; text-transform:uppercase; color:var(--dim); z-index:2; }

/* ===== LIVE-SITE REEL (video showcase) ===== */
.reel{ position:relative; display:block; aspect-ratio:16/9; overflow:hidden; border-radius:6px;
  margin:clamp(1.6rem,4vw,3.2rem) 0 clamp(.6rem,1.4vw,1.2rem); border:1px solid var(--line); background:#000; }
.reel__video{ width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.03);
  transform:scale(1.01); transition:filter .8s var(--ease), transform 1.2s var(--ease); }
.reel:hover .reel__video{ filter:grayscale(0) contrast(1); transform:scale(1.04); }
.reel::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, rgba(8,8,9,.45), transparent 28%, transparent 78%, rgba(8,8,9,.4)); }
.reel__top{ position:absolute; top:1rem; left:1.1rem; z-index:2; display:flex; align-items:center; gap:.9rem;
  font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:#fff; text-shadow:0 2px 16px rgba(0,0,0,.85); }
.reel__live{ color:var(--gold); }
.reel__url{ color:rgba(255,255,255,.7); }
.reel__cta{ position:absolute; bottom:1rem; right:1.1rem; z-index:2; display:inline-flex; align-items:center; gap:.6rem;
  background:rgba(8,8,9,.5); backdrop-filter:blur(6px); border:1px solid var(--line); border-radius:40px;
  padding:.62rem 1.05rem; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:#fff;
  transition:background .4s var(--ease), color .4s, border-color .4s; }
.reel:hover .reel__cta{ background:var(--gold); color:#0a0a0b; border-color:var(--gold); }
.reel__arrow{ transition:transform .45s var(--ease); }
.reel:hover .reel__arrow{ transform:translate(4px,-4px); }

/* ===== WORKS / CASE STUDY ===== */
.works{ display:block; padding:clamp(5rem,10vw,9rem) 0; }
.case{ display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(1.5rem,4vw,4rem); align-items:center; margin-bottom:clamp(2.5rem,5vw,4rem); }
.case__main{ position:relative; display:block; overflow:hidden; border-radius:4px; aspect-ratio:1/1; }
.case__main img{ width:100%; height:100%; object-fit:cover; object-position:center 20%;
  filter:grayscale(1) contrast(1.05); transform:scale(1.02); transition:filter .7s var(--ease), transform 1.1s var(--ease); }
.case__main:hover img{ filter:grayscale(0) contrast(1.02); transform:scale(1.07); }
.case__badge{ position:absolute; top:1rem; left:1rem; z-index:2; font-size:.62rem; letter-spacing:.22em; text-transform:uppercase;
  background:rgba(8,8,9,.55); backdrop-filter:blur(6px); border:1px solid var(--line); padding:.5rem .8rem; border-radius:30px; }
.case__badge--soon{ color:var(--gold); border-color:rgba(196,179,147,.5); }
.case__year{ display:block; font-size:.72rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem; }
.case__name{ font-size:clamp(2.6rem,7vw,5.4rem); line-height:.92; letter-spacing:-.01em; margin-bottom:1.4rem; }
.case__name span{ font-size:clamp(1rem,2.4vw,1.6rem); color:var(--dim); font-style:italic; }
.case__body p{ color:#cfcdc8; max-width:46ch; font-size:1.04rem; line-height:1.8; margin-bottom:1.6rem; }
.case__body p em{ color:var(--ink); font-style:normal; }
.case__tags{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.8rem; }
.case__tags span{ font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; border:1px solid var(--line); padding:.4rem .8rem; border-radius:30px; color:var(--dim); }
/* strong magnetic CTA button */
.cta{ position:relative; display:inline-flex; align-items:center; overflow:hidden; isolation:isolate;
  border:1px solid var(--gold); border-radius:60px; padding:1.05rem 2.2rem; text-decoration:none;
  will-change:transform; transition:transform .25s var(--ease), box-shadow .4s var(--ease); }
.cta:not(.cta--soon):hover{ box-shadow:0 14px 50px -12px rgba(196,179,147,.6); }
.cta__fill{ position:absolute; inset:0; z-index:0; background:var(--gold);
  transform:translateY(101%) skewY(3deg); transition:transform .55s var(--ease); }
.cta:not(.cta--soon):hover .cta__fill{ transform:translateY(0) skewY(0); }
.cta__label{ position:relative; z-index:1; display:inline-flex; align-items:center; gap:.7rem;
  font-size:.82rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink); transition:color .4s var(--ease); }
.cta:not(.cta--soon):hover .cta__label{ color:#0a0a0b; }
.cta__arrow{ display:inline-block; font-size:1.05em; transition:transform .5s var(--ease); }
.cta:not(.cta--soon):hover .cta__arrow{ transform:translate(5px,-5px); }
.cta--soon{ border-color:var(--line); }
.cta--soon .cta__label{ color:var(--dim); }
.cta--soon .cta__arrow{ color:var(--gold); font-size:.6em; animation:soonpulse 1.6s ease-in-out infinite; }
@keyframes soonpulse{ 0%,100%{ opacity:.25; } 50%{ opacity:1; } }
figure.case__main{ margin:0; }
.case--rev{ margin-top:clamp(2rem,5vw,4rem); }
.case--rev .case__main{ order:2; }
.case--rev .case__body{ order:1; }
.case-divider{ height:1px; background:var(--line); margin:clamp(2.6rem,5vw,4.2rem) 0; }
.works__gallery--two{ grid-template-columns:repeat(2,1fr); grid-auto-rows:auto; margin-top:clamp(.7rem,1.4vw,1.3rem); }
.works__gallery--two .gitem{ aspect-ratio:3/4; grid-column:auto; grid-row:auto; }
.works__gallery--two .gitem img{ object-position:center 22%; }

.works__gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(.7rem,1.4vw,1.3rem); }
.gitem{ position:relative; overflow:hidden; margin:0; border-radius:4px; aspect-ratio:1/1; }
.gitem img{ width:100%; height:100%; object-fit:cover; object-position:center 22%;
  filter:grayscale(1) contrast(1.04); transform:scale(1.03); transition:filter .7s var(--ease), transform 1.1s var(--ease); }
.gitem:hover img{ filter:grayscale(0); transform:scale(1.09); }
.gitem--a,.gitem--b,.gitem--c,.gitem--d{ grid-column:span 1; grid-row:span 1; }
.gitem figcaption{ position:absolute; left:0; bottom:0; padding:.8rem 1rem; color:#fff; display:flex; flex-direction:column; gap:.1rem;
  text-shadow:0 2px 18px rgba(0,0,0,.7); opacity:0; transform:translateY(8px); transition:.4s var(--ease); }
.gitem:hover figcaption{ opacity:1; transform:none; }
.gitem figcaption span{ font-size:.56rem; letter-spacing:.24em; text-transform:uppercase; opacity:.85; }
.gitem figcaption b{ font-family:"Bodoni Moda",serif; font-weight:500; font-size:1.2rem; }
.works .note code{ font-family:"Jost",monospace; color:var(--ink); }

/* ===== ROSTER (artist cards) ===== */
.roster{ display:block; padding:clamp(5rem,10vw,9rem) 0; }
.roster__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(.8rem,1.6vw,1.4rem); }
.roster__grid--two{ grid-template-columns:repeat(2,1fr); max-width:900px; }
.artist{ position:relative; overflow:hidden; border-radius:4px; aspect-ratio:4/5; display:flex; flex-direction:column;
  justify-content:flex-end; text-decoration:none; isolation:isolate;
  background:linear-gradient(155deg,#16161a,#0c0c0e 60%); border:1px solid var(--line); }
.artist__ph{ position:absolute; inset:0; display:grid; place-items:center; font-size:clamp(5rem,14vw,11rem);
  color:transparent; -webkit-text-stroke:1px rgba(241,240,238,.13); z-index:0; transition:.5s var(--ease); }
.artist:hover .artist__ph{ -webkit-text-stroke-color:rgba(196,179,147,.4); transform:scale(1.06); }
.artist--has img{ position:absolute; inset:0; z-index:0; object-position:center 28%; filter:grayscale(1) contrast(1.05); transform:scale(1.04); transition:filter .7s var(--ease), transform 1.1s var(--ease); }
.artist--has:hover img{ filter:grayscale(0); transform:scale(1.02); }
.artist--has::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(to top, rgba(8,8,9,.85), transparent 55%); }
.artist__info{ position:relative; z-index:2; padding:1.1rem 1.2rem; display:flex; flex-direction:column; gap:.25rem; }
.artist__tag{ font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.artist__name{ font-weight:500; font-size:clamp(1.5rem,3.4vw,2.4rem); line-height:1; }
.artist--has .artist__name{ color:#fff; }
.artist__go{ position:absolute; top:1rem; right:1.1rem; z-index:2; color:var(--gold); font-size:1.2rem; opacity:0; transform:translateY(-6px); transition:.4s var(--ease); }
.artist--has:hover .artist__go{ opacity:1; transform:none; }
.note{ margin-top:1.6rem; font-size:.76rem; color:var(--dim); }

/* ===== CONTACT ===== */
.contact{ justify-content:center; text-align:center; flex-direction:column; }
.contact__inner{ text-align:center; }
.contact .label{ margin-bottom:1.8rem; }
.contact__title{ font-weight:500; font-size:clamp(3rem,12vw,9.5rem); line-height:.92; letter-spacing:-.01em; }
.contact__title em{ color:var(--gold); }
.contact__mail{ display:inline-block; margin-top:2.2rem; font-size:clamp(1.1rem,3vw,1.9rem); border-bottom:1px solid var(--line); padding-bottom:.3rem; transition:.45s var(--ease); }
.contact__mail:hover{ color:var(--gold); border-color:var(--gold); letter-spacing:.02em; }
.contact__soc{ display:flex; gap:1.6rem; justify-content:center; margin-top:2.4rem; flex-wrap:wrap; }
.contact__soc a{ font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--dim); transition:color .3s; }
.contact__soc a:hover{ color:var(--ink); }
.footer{ position:absolute; left:50%; transform:translateX(-50%); bottom:1.4rem; display:flex; justify-content:space-between; gap:1rem;
  font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--dim); }

/* ===== RESPONSIVE ===== */
@media (max-width:900px){
  .nav__menu{ display:none; }
  .nav__menu.open{ display:flex; flex-direction:column; position:fixed; inset:0; background:rgba(8,8,9,.98);
    align-items:center; justify-content:center; gap:2rem; font-size:1.4rem; z-index:4000; mix-blend-mode:normal; }
  .nav__burger{ display:flex; }
  .acc__head{ grid-template-columns:42px 1fr 30px; gap:1rem; }
  .hero__foot{ flex-direction:column; align-items:flex-start; }
  .hero__meta{ text-align:left; flex-direction:row; gap:1rem; flex-wrap:wrap; }
  .footer{ position:static; transform:none; flex-direction:column; align-items:center; margin-top:3rem; }
}
@media (max-width:1024px){
  .case{ grid-template-columns:1fr; }
  .case__main{ max-width:520px; }
  .case--rev .case__main{ order:1; }
  .case--rev .case__body{ order:2; }
  .works__gallery{ grid-template-columns:repeat(2,1fr); }
  .roster__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .works__gallery{ grid-template-columns:repeat(2,1fr); }
}
