:root{
  --bg:#08090b;
  --panel:#101318;
  --panel-soft:#151a22;
  --text:#f4f2ed;
  --muted:#aeb7c1;
  --line:rgba(255,255,255,.08);
  --gold:#d1b17a;
  --gold-soft:rgba(209,177,122,.14);
  --max:1240px;
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(calc(100% - 2rem), var(--max)); margin:0 auto}
.site-header{
  position:sticky; top:0; z-index:20;
  backdrop-filter: blur(14px);
  background:rgba(8,9,11,.72);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.nav{
  min-height:78px;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.brand{display:flex; flex-direction:column; gap:.18rem}
.brand .mark{font-size:.77rem; text-transform:uppercase; letter-spacing:.23em; color:var(--gold)}
.brand .name{font-size:1rem; letter-spacing:.06em}
.nav-links{display:flex; gap:1.2rem; flex-wrap:wrap}
.nav-links a{color:var(--muted); position:relative}
.nav-links a.active,.nav-links a:hover{color:var(--text)}
.nav-links a.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-.5rem; height:1px; background:var(--gold);
}
.hero{
  position:relative;
  min-height:calc(100vh - 79px);
  display:flex;
  align-items:end;
  overflow:hidden;
}
.hero-media,
.page-hero-media{
  position:absolute; inset:0;
}
.hero-media img,
.page-hero-media img{
  width:100%; height:100%; object-fit:cover;
  filter:saturate(.92) contrast(1.02);
}
.hero-overlay,
.page-hero-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(8,9,11,.22), rgba(8,9,11,.38) 30%, rgba(8,9,11,.86) 82%, rgba(8,9,11,.98) 100%);
}
.hero-content{
  position:relative; z-index:1;
  padding:0 0 4.4rem;
}
.eyebrow{
  display:inline-block;
  margin-bottom:1.05rem;
  padding:.38rem .68rem;
  border-radius:999px;
  border:1px solid rgba(209,177,122,.26);
  background:var(--gold-soft);
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
}
.hero h1, .page-hero h1{
  margin:0 0 1rem;
  font-size:clamp(3.1rem, 8vw, 6.6rem);
  line-height:.93;
  letter-spacing:-.06em;
  max-width:10ch;
}
.lead{
  font-size:clamp(1.03rem, 1.8vw, 1.22rem);
  color:#dde4ea;
  max-width:58ch;
}
.section{padding:4.8rem 0}
.section-head{max-width:760px; margin-bottom:1.6rem}
.section h2{
  margin:0 0 .8rem;
  font-size:clamp(2rem, 5vw, 3.5rem);
  line-height:1.02;
  letter-spacing:-.05em;
}
.muted{color:var(--muted)}
.grid-2,.grid-3,.logo-list,.case-grid{
  display:grid; gap:1rem;
}
.grid-2,.case-grid{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.tile, .case-card, .panel{
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.tile,.panel{padding:1.25rem}
.kicker{
  color:var(--gold); text-transform:uppercase; letter-spacing:.16em; font-size:.73rem; margin-bottom:.55rem;
}
.tile h3{margin:.1rem 0 .55rem; font-size:1.08rem}
.quote{
  padding:1.2rem 1.3rem;
  border-left:3px solid var(--gold);
  background:rgba(209,177,122,.08);
  border-radius:18px;
}
.stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.4rem;
}
.stat{
  padding:1rem 1.05rem; border-radius:22px;
  border:1px solid var(--line); background:rgba(255,255,255,.03);
}
.stat strong{display:block; font-size:2rem; line-height:1; margin-bottom:.35rem}
.page-hero{
  position:relative;
  min-height:52vh;
  display:flex; align-items:end;
  overflow:hidden;
}
.page-hero-content{
  position:relative; z-index:1;
  padding:0 0 3rem;
}
.showreel{
  overflow:hidden;
}
.showreel .image-wrap{
  position:relative;
  aspect-ratio:16/8.8;
  border-radius:calc(var(--radius) - 4px);
  overflow:hidden;
}
.showreel img{width:100%; height:100%; object-fit:cover}
.showreel .play{
  position:absolute; inset:auto auto 1rem 1rem;
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.7rem .9rem; border-radius:999px;
  background:rgba(8,9,11,.72); border:1px solid rgba(255,255,255,.14);
  color:#fff;
}
.case-card{overflow:hidden}
.case-card img{
  width:100%; aspect-ratio:16/10; object-fit:cover;
}
.case-copy{padding:1rem 1.1rem 1.15rem}
.case-copy strong{display:block; font-size:1.08rem; margin-bottom:.3rem}
.logo-list{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.logo-item{
  min-height:86px;
  display:flex; align-items:center; justify-content:center; text-align:center;
  padding:1rem; border-radius:18px;
  background:rgba(255,255,255,.03); border:1px solid var(--line); color:#dde3ea;
}
.site-footer{
  padding:2.6rem 0 3rem;
  border-top:1px solid rgba(255,255,255,.06);
}
.footer-wrap{
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; color:var(--muted);
}
.small{font-size:.94rem}
.button{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:.86rem 1.18rem; border-radius:999px;
  border:1px solid var(--line); background:rgba(255,255,255,.02);
}
.button.primary{background:var(--gold); color:#111; border-color:transparent; font-weight:600}
@media (max-width: 900px){
  .grid-3,.grid-2,.case-grid,.stats{grid-template-columns:1fr}
  .hero{min-height:76vh}
  .page-hero{min-height:42vh}
}