/* LKVM Studio - shared styles. Black/silver identity, continuous with the splash. No em-dashes. */
:root{
  --bg:#0a0a0b; --panel:#101012; --ink:#f2efe9; --dim:#9b958b; --faint:#6b6760;
  --line:rgba(232,227,216,.14); --line2:rgba(232,227,216,.28);
  --sans:"Montserrat",-apple-system,BlinkMacSystemFont,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;
  font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1140px;margin:0 auto;padding:0 2rem}
.muted{color:var(--dim)}

/* nav */
.nav{position:sticky;top:0;z-index:30;background:rgba(10,10,11,.82);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)}
.nav .row{display:flex;align-items:center;justify-content:space-between;max-width:1140px;margin:0 auto;padding:.9rem 2rem}
.nav .brand{display:flex;align-items:center;gap:.7rem}
.nav .brand img{width:30px;height:30px}
.nav .brand b{font-weight:300;letter-spacing:.34em;font-size:.82rem;text-transform:uppercase}
.nav .links{display:flex;gap:1.5rem;flex-wrap:wrap}
.nav .links a{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);transition:color .2s}
.nav .links a:hover,.nav .links a[aria-current]{color:var(--ink)}
.navtoggle{display:none}

/* hero */
.hero{min-height:88vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 2rem}
.hero .mark{width:clamp(190px,24vw,280px);margin-bottom:2.4rem;animation:rise 1.2s cubic-bezier(.2,.7,.2,1) both}
.hero h1{font-weight:200;font-size:clamp(1.2rem,3.1vw,1.9rem);letter-spacing:.5em;text-indent:.5em;
  text-transform:uppercase;margin:0;animation:rise 1.2s .1s cubic-bezier(.2,.7,.2,1) both}
.hero .pos{font-weight:300;font-size:clamp(1.05rem,2.3vw,1.4rem);color:var(--ink);max-width:30ch;margin:2rem auto 0;line-height:1.5;animation:rise 1.2s .2s cubic-bezier(.2,.7,.2,1) both}
.hero .by{margin-top:1.2rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);animation:rise 1.2s .3s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* page header (inner pages) */
.phead{padding:6rem 0 2.5rem;border-bottom:1px solid var(--line)}
.eyebrow{font-size:.68rem;letter-spacing:.34em;text-transform:uppercase;color:var(--dim);margin:0 0 1rem}
.phead h1{font-weight:200;font-size:clamp(2.2rem,6vw,3.6rem);letter-spacing:.02em;margin:0;line-height:1.05}
.phead .intro{max-width:60ch;color:#d9d4ca;margin:1.6rem 0 0;font-weight:300}

section{padding:5rem 0;border-top:1px solid var(--line)}
section:first-of-type{border-top:0}
h2.sec{font-weight:300;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--dim);margin:0 0 2.5rem}

/* discipline cards (home) */
.disc{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.disc a{background:var(--bg);padding:2.4rem 2rem;transition:background .25s;display:block}
.disc a:hover{background:var(--panel)}
.disc .no{font-size:.7rem;letter-spacing:.2em;color:var(--faint)}
.disc h3{font-weight:300;font-size:1.6rem;margin:.6rem 0 .5rem;letter-spacing:.01em}
.disc p{margin:0;color:var(--dim);font-size:.92rem}
.disc .go{margin-top:1.2rem;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}

/* work grid */
.work{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.work.one{grid-template-columns:1fr;max-width:860px}
.tile{display:block;background:var(--panel);border:1px solid var(--line);overflow:hidden;transition:border-color .25s,transform .4s}
.tile:hover{border-color:var(--line2);transform:translateY(-3px)}
.tile .img{aspect-ratio:16/10;overflow:hidden;background:#000}
.tile .img img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tile:hover .img img{transform:scale(1.04)}
.tile .body{padding:1.5rem 1.6rem 1.8rem}
.tile .tags{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.7rem}
.tag{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:.25rem .7rem}
.tag.live{color:#111;background:var(--ink);border-color:var(--ink)}
.tile h3{font-weight:300;font-size:1.5rem;margin:0 0 .4rem;letter-spacing:.01em}
.tile p{margin:0;color:var(--dim);font-size:.92rem;line-height:1.6}
.tile .ext{margin-top:1rem;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.tile:hover .ext{color:var(--ink)}

/* about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about img{width:100%;filter:grayscale(1) contrast(1.03)}
.bio h3{font-weight:300;font-size:1.8rem;margin:0 0 .3rem}
.bio .role{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);margin-bottom:1.2rem}
.bio .links{display:flex;gap:1.4rem;margin-top:1.2rem}
.bio .links a{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid transparent;padding-bottom:2px}
.bio .links a:hover{color:var(--ink);border-color:var(--line2)}

/* big statement / CTA */
.statement{font-weight:200;font-size:clamp(1.5rem,3.4vw,2.4rem);line-height:1.4;max-width:24ch;margin:0}
.btn{display:inline-block;border:1px solid var(--line2);color:var(--ink);padding:.85rem 1.8rem;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;transition:.25s;cursor:pointer;background:transparent;font-family:inherit}
.btn:hover{background:var(--ink);color:#0a0a0b;border-color:var(--ink)}

/* contact form */
.form{max-width:580px}
.form label{display:block;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin:1.3rem 0 .45rem}
.form input,.form textarea{width:100%;font-family:inherit;font-size:1rem;font-weight:300;color:var(--ink);
  background:var(--panel);border:1px solid var(--line);padding:.85rem .9rem;transition:border-color .2s}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--line2)}
.form textarea{min-height:150px;resize:vertical}
.form .btn{margin-top:1.6rem;width:100%}

footer{border-top:1px solid var(--line);padding:3rem 0;margin-top:2rem}
footer .row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.2rem}
footer .links{display:flex;gap:1.4rem;flex-wrap:wrap}
footer a{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
footer a:hover{color:var(--ink)}
footer .c{font-size:.66rem;letter-spacing:.14em;color:var(--faint)}

#toast{position:fixed;left:50%;bottom:2rem;transform:translateX(-50%) translateY(170%);
  background:var(--ink);color:#0a0a0b;padding:1rem 1.5rem;z-index:80;transition:transform .5s cubic-bezier(.2,.7,.2,1);max-width:90vw;font-size:.9rem}
#toast.show{transform:translateX(-50%) translateY(0)}

@media(max-width:760px){
  .disc,.work,.about{grid-template-columns:1fr}
  .nav .links{gap:1rem}
  section{padding:3.6rem 0}
  .about{gap:2rem}
}
