/* =========================================================================
   PRODUKCIJSKA EKIPA — shared stylesheet
   Cinematic, dark, minimal. One accent. Frame-marker structural language.
   Edit design tokens below to reskin the whole site.
   ========================================================================= */

:root{
  --bg:        #0a0a0b;   /* near-black base            */
  --bg-2:      #111113;   /* raised panels              */
  --line:      #26262a;   /* hairline rules             */
  --ink:       #f4f4f2;   /* primary text               */
  --ink-dim:   #9a9a97;   /* secondary text             */
  --ink-faint: #5a5a58;   /* captions / timecodes       */
  --accent:    #e8503a;   /* single accent — signal red */
  --accent-dim:#7a2b22;

  --font-display:'Bebas Neue', 'Arial Narrow', sans-serif;
  --font-body:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:  'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  --maxw: 1240px;
  --gutter: clamp(20px, 5vw, 72px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* film-grain / vignette atmosphere ------------------------------------- */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;
  background:radial-gradient(120% 120% at 50% 0%, transparent 55%, rgba(0,0,0,.55) 100%);
  mix-blend-mode:multiply;
}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}

/* mono utility label ---------------------------------------------------- */
.eyebrow{
  font-family:var(--font-mono);
  font-size:12px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--accent);display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--accent)}

/* =============================== NAV ================================== */
header{
  position:sticky;top:0;z-index:100;
  background:rgba(10,10,11,.72);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-family:var(--font-display);font-size:24px;letter-spacing:.06em;line-height:1}
.brand span{color:var(--accent)}
.nav-links{display:flex;align-items:center;gap:34px}
.nav-links a{
  font-size:13px;letter-spacing:.04em;color:var(--ink-dim);
  transition:color .2s;text-transform:uppercase;font-family:var(--font-mono)
}
.nav-links a:hover{color:var(--ink)}
.lang{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;
  border:1px solid var(--line);border-radius:2px;padding:6px 10px;color:var(--ink-dim);
  transition:border-color .2s,color .2s
}
.lang:hover{border-color:var(--accent);color:var(--ink)}
.nav-toggle{display:none;background:none;border:0;color:var(--ink);cursor:pointer;font-family:var(--font-mono);font-size:12px}

/* =============================== HERO ================================= */
.hero{position:relative;padding:clamp(70px,13vh,150px) 0 clamp(50px,9vh,110px)}
.hero-frame{
  border:1px solid var(--line);position:relative;padding:clamp(28px,5vw,60px);
  border-radius:3px;
}
/* corner frame ticks — the "we shoot in a frame" signature */
.hero-frame::before,.hero-frame::after{
  content:"";position:absolute;width:22px;height:22px;border:solid var(--accent);
}
.hero-frame::before{top:-1px;left:-1px;border-width:2px 0 0 2px}
.hero-frame::after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}
.hero h1{
  font-family:var(--font-display);
  font-size:clamp(52px,11vw,150px);line-height:.9;letter-spacing:.01em;
  text-transform:uppercase;margin:22px 0 0;
}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero-sub{
  margin-top:26px;max-width:52ch;color:var(--ink-dim);font-size:clamp(15px,1.7vw,19px)
}
.hero-meta{
  display:flex;flex-wrap:wrap;gap:26px;margin-top:34px;
  font-family:var(--font-mono);font-size:12px;color:var(--ink-faint);letter-spacing:.08em
}
.hero-meta b{color:var(--ink);font-weight:500}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;
  background:var(--accent);color:#0a0a0b;padding:14px 22px;border-radius:2px;
  transition:transform .18s,background .2s;font-weight:600
}
.btn:hover{transform:translateY(-2px);background:#ff5c44}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--accent);background:transparent}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}

/* ============================= SECTIONS ============================== */
section{padding:clamp(64px,10vh,120px) 0;position:relative}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:52px;flex-wrap:wrap}
.section-head h2{
  font-family:var(--font-display);font-size:clamp(34px,6vw,68px);
  line-height:.95;text-transform:uppercase;letter-spacing:.01em
}
.section-head .idx{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint);letter-spacing:.2em}

/* intro / statement */
.statement{font-size:clamp(20px,3.4vw,36px);line-height:1.35;max-width:24ch;font-weight:300}
.statement b{font-weight:600;color:var(--accent)}
.lede{color:var(--ink-dim);max-width:60ch;margin-top:22px;font-size:clamp(15px,1.7vw,18px)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:start}

/* services grid */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden}
.svc{background:var(--bg-2);padding:clamp(24px,3vw,40px);min-height:210px;display:flex;flex-direction:column;transition:background .25s}
.svc:hover{background:#17171a}
.svc .num{font-family:var(--font-mono);font-size:12px;color:var(--accent);letter-spacing:.18em}
.svc h3{font-family:var(--font-display);font-size:clamp(22px,2.4vw,30px);text-transform:uppercase;letter-spacing:.02em;margin:auto 0 12px}
.svc p{color:var(--ink-dim);font-size:14px}

/* work / projects */
.projects{display:grid;gap:1px;background:var(--line);border-block:1px solid var(--line)}
.proj{
  background:var(--bg);display:grid;grid-template-columns:70px 1fr auto;gap:24px;
  align-items:center;padding:26px 8px;transition:background .25s,padding-left .25s
}
.proj:hover{background:var(--bg-2);padding-left:20px}
.proj .tc{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint)}
.proj .title{font-family:var(--font-display);font-size:clamp(22px,3vw,34px);text-transform:uppercase;letter-spacing:.02em}
.proj .role{color:var(--ink-dim);font-size:13px;margin-top:4px}
.proj .tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--accent);border:1px solid var(--accent-dim);border-radius:100px;padding:6px 14px;white-space:nowrap}
.proj.live .tag{color:#0a0a0b;background:var(--accent);border-color:var(--accent)}

/* founders */
.crew{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px)}
.member{border:1px solid var(--line);border-radius:3px;padding:clamp(22px,2.6vw,34px);background:var(--bg-2);position:relative;overflow:hidden}
.member .ph{aspect-ratio:4/5;background:linear-gradient(160deg,#1a1a1e,#0d0d0f);border:1px solid var(--line);border-radius:2px;margin-bottom:22px;display:flex;align-items:flex-end;padding:14px;font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.14em}
.member h3{font-family:var(--font-display);font-size:clamp(22px,2.4vw,28px);text-transform:uppercase;letter-spacing:.03em}
.member .role{color:var(--accent);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;margin-top:6px}
.member p{color:var(--ink-dim);font-size:14px;margin-top:14px}

/* contact */
.contact{background:var(--bg-2);border:1px solid var(--line);border-radius:4px;padding:clamp(30px,5vw,64px)}
.field{margin-bottom:20px}
.field label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:8px}
.field input,.field textarea{
  width:100%;background:var(--bg);border:1px solid var(--line);border-radius:2px;
  color:var(--ink);padding:14px 16px;font-family:var(--font-body);font-size:15px;transition:border-color .2s
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent)}
.field textarea{min-height:130px;resize:vertical}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}

/* footer */
footer{border-top:1px solid var(--line);padding:48px 0;margin-top:20px}
.foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.foot .brand{font-size:20px}
.foot-meta{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint);letter-spacing:.06em;display:flex;gap:22px;flex-wrap:wrap}
.foot-meta a:hover{color:var(--accent)}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ============================ RESPONSIVE ============================= */
@media (max-width:860px){
  .two-col{grid-template-columns:1fr}
  .services{grid-template-columns:1fr 1fr}
  .crew{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .nav-links{
    position:fixed;inset:68px 0 auto 0;flex-direction:column;gap:0;
    background:var(--bg);border-bottom:1px solid var(--line);
    max-height:0;overflow:hidden;transition:max-height .3s ease
  }
  .nav-links.open{max-height:400px}
  .nav-links a{padding:16px var(--gutter);width:100%;border-top:1px solid var(--line)}
  .nav-links .lang{margin:16px var(--gutter)}
  .nav-toggle{display:block}
  .proj{grid-template-columns:1fr auto;gap:14px}
  .proj .tc{display:none}
}
@media (max-width:520px){
  .services{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none;transition:none}
  .btn:hover,.proj:hover{transform:none}
}
