:root{
  --bg:#0E0E0E;
  --bg-soft:#161616;
  --bg-card:#1C1C1C;
  --ink:#F3EADA;      /* cream text */
  --ink-muted:rgba(243,234,218,.65);
  --ink-faint:rgba(243,234,218,.4);
  --accent:#E63946;
  --accent-dark:#B82B37;
  --red:#E63B3B;
  --green:#2BB24C;
  --blue:#2E6CE6;
  --line:rgba(243,234,218,.12);
  --nav-h:72px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Funnel Sans','Inter',sans-serif;
  background:var(--bg);
  color:var(--ink);
  overflow-x:hidden;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
.container{width:100%;max-width:1480px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3.5rem)}
.display{font-family:'Funnel Display',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.015em;line-height:.88}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--nav-h);
  background:rgba(14,14,14,.85);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .25s ease,background .25s ease;
}
nav.scrolled{border-color:var(--line);background:rgba(14,14,14,.96)}
.nav-inner{display:flex;align-items:center;justify-content:flex-end;gap:2rem;height:100%}
.nav-links{display:none;list-style:none;gap:3rem;align-items:center}
.nav-links a{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;position:relative;padding:.4rem 0;color:var(--ink)}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-cta{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.72rem 1.1rem;background:var(--accent);color:#fff;
  font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  border-radius:2px;transition:background .2s ease;white-space:nowrap;
}
.nav-cta:hover{background:var(--accent-dark)}
.burger{display:flex;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:.5rem;margin-right:auto}
.burger span{width:26px;height:2px;background:var(--ink);transition:transform .25s ease,opacity .2s ease}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{
  position:fixed;top:var(--nav-h);left:0;right:0;background:var(--bg);
  border-bottom:1px solid var(--line);transform:translateY(-120%);
  transition:transform .3s ease;z-index:999;padding:1.5rem 0;
}
.mobile-menu.open{transform:translateY(0)}
.mobile-menu ul{list-style:none;display:flex;flex-direction:column;gap:1.2rem;padding:0 1.5rem}
.mobile-menu a{font-family:'Funnel Display',sans-serif;font-size:1.5rem;text-transform:uppercase;letter-spacing:.01em}

/* HERO */
.hero{
  position:relative;min-height:100vh;padding-top:var(--nav-h);
  display:flex;flex-direction:column;overflow:hidden;
}
.hero-top{
  display:grid;grid-template-columns:1fr;gap:2rem;
  padding:clamp(1.5rem,3vw,2.5rem) 0 clamp(2rem,4vw,3rem);
  align-items:flex-start;
}
.hero-wordmark{position:relative;display:flex;align-items:center}
.hero-logo{
  width:100%;height:auto;display:block;
}
.hero-thumb{
  justify-self:stretch;width:100%;aspect-ratio:3/2;
  border-radius:4px;overflow:hidden;background:#000;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.hero-thumb video,.hero-thumb iframe{width:100%;height:100%;object-fit:cover;border:0;display:block}

.hero-bottom{
  display:grid;grid-template-columns:1fr;gap:2.5rem;
  padding:clamp(1rem,3vw,2.5rem) 0 clamp(2.5rem,5vw,4rem);
  border-top:1px solid var(--line);margin-top:auto;
}
.hero-eyebrow{font-family:'Funnel Display',sans-serif;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1}
.hero-desc{color:var(--ink-muted);font-size:clamp(.98rem,1.15vw,1.1rem);max-width:62ch;font-weight:300;line-height:1.75}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.5rem}
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.95rem 1.4rem;font-size:.78rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;border:0;cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;border-radius:2px;
}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-dark);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--ink);background:rgba(243,234,218,.04)}

/* SERVICES — numbered rows (Sound-Lounge style) */
.services{padding:clamp(2rem,5vw,4rem) 0 clamp(4rem,8vw,7rem)}
.service-head-row{
  display:grid;grid-template-columns:60px 1fr auto;gap:1.5rem;
  padding-bottom:1.5rem;color:var(--ink-faint);
  font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
}
.service-row{
  display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:1.5rem;
  padding:1.6rem 0;border-top:1px solid var(--line);
  cursor:pointer;transition:padding .25s ease;
  text-decoration:none;color:inherit;
}
.service-row:last-child{border-bottom:1px solid var(--line)}
.service-row .num{font-family:'Funnel Display',sans-serif;font-size:1.1rem;color:var(--ink-faint);letter-spacing:.05em}
.service-row .name{
  font-family:'Funnel Display',sans-serif;
  font-size:clamp(2rem,5.5vw,4rem);text-transform:uppercase;letter-spacing:-.015em;line-height:.95;
  transition:color .25s ease,transform .25s ease;color:var(--ink);
}
.service-row .arrow{font-size:1.4rem;color:var(--ink-faint);transition:transform .25s ease,color .25s ease}
.service-row:hover .name{color:var(--accent)}
.service-row:hover .arrow{color:var(--accent);transform:translateX(.4rem)}

/* SHOWREEL */
.showreel{padding:clamp(3rem,7vw,6rem) 0;border-top:1px solid var(--line)}
.showreel .label{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:1rem}
.showreel h2{font-family:'Funnel Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(2rem,5vw,4rem);line-height:.95;letter-spacing:-.015em;margin-bottom:2.5rem;max-width:18ch}
.reel-frame{
  position:relative;aspect-ratio:16/9;border-radius:4px;overflow:hidden;
  background:#000;box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.reel-frame video,.reel-frame iframe,.reel-frame img{width:100%;height:100%;object-fit:cover;border:0;display:block}
.reel-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25);cursor:pointer;transition:background .25s ease}
.reel-play.hidden{display:none}
.reel-play .circle{
  width:clamp(80px,10vw,120px);height:clamp(80px,10vw,120px);border-radius:50%;
  background:var(--accent);display:flex;align-items:center;justify-content:center;
  transition:transform .25s ease,background .25s ease;
}
.reel-play:hover .circle{transform:scale(1.08);background:var(--accent-dark)}
.reel-play svg{width:34%;height:34%;fill:#fff;margin-left:6%}

/* CLIENTS marquee */
.clients{padding:clamp(2.5rem,5vw,4rem) 0;background:var(--bg-soft);overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.clients .label{text-align:center;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;margin-bottom:2rem}
.marquee{display:flex;gap:4rem;animation:scroll 40s linear infinite;align-items:center;width:max-content}
.marquee span{font-family:'Funnel Display',sans-serif;font-size:clamp(1.4rem,2.6vw,2rem);text-transform:uppercase;letter-spacing:-.005em;color:var(--ink);white-space:nowrap;opacity:.85}
.marquee span::after{content:'•';margin-left:4rem;color:var(--accent);opacity:.6}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* WORK */
.work{padding:clamp(4rem,8vw,7rem) 0}
.work-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;margin-bottom:3rem}
.work-head h2{font-family:'Funnel Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(2.4rem,6vw,5rem);line-height:.9;letter-spacing:-.02em;max-width:14ch}
.work-head p{color:var(--ink-muted);max-width:40ch}
.work-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
.work-card{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:#222;cursor:pointer}
.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.work-card:hover img{transform:scale(1.06)}
.work-card .overlay{position:absolute;inset:0;padding:1.5rem;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.9) 100%);color:#fff}
.work-card .cat{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:.4rem}
.work-card .title{font-family:'Funnel Display',sans-serif;font-size:clamp(1.5rem,2.4vw,2rem);text-transform:uppercase;line-height:1;letter-spacing:-.01em}

/* ABOUT */
.about{padding:clamp(4rem,8vw,7rem) 0;background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}
.about-img{aspect-ratio:4/5;background:#333;border-radius:4px;overflow:hidden}
.about-img img{width:100%;height:100%;object-fit:cover}
.about .label{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:1rem}
.about h2{font-family:'Funnel Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(2rem,4.5vw,3.4rem);line-height:.95;letter-spacing:-.015em;margin-bottom:1.5rem}
.about p{color:var(--ink-muted);margin-bottom:1rem;line-height:1.75}
.about .sig{margin-top:1.5rem;font-family:'Funnel Display',sans-serif;font-size:1rem;letter-spacing:.02em;text-transform:uppercase}

/* CTA */
.cta{padding:clamp(4rem,9vw,8rem) 0;text-align:center;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(232,92,44,.22),transparent 55%),radial-gradient(circle at 80% 80%,rgba(46,108,230,.14),transparent 55%)}
.cta-inner{position:relative;z-index:1}
.cta h2{font-family:'Funnel Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(2.4rem,7vw,6rem);line-height:.9;letter-spacing:-.02em;margin-bottom:1.5rem}
.cta h2 .accent{color:var(--accent)}
.cta p{color:var(--ink-muted);max-width:52ch;margin:0 auto 2.5rem;font-size:1.1rem}
.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* FOOTER */
footer{background:var(--bg);padding:3rem 0 2rem;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2.5rem}
.footer-brand img{height:60px;width:auto;margin-bottom:.75rem}
.footer-col h4{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1rem;font-weight:700}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.footer-col a{color:var(--ink);font-size:.95rem;transition:color .2s ease}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--ink-faint)}

/* RESPONSIVE */
@media (min-width:720px){
  .nav-links{display:flex}
  .burger{display:none}
  .hero-top{grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
  .hero-bottom{grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start}
  .work-grid{grid-template-columns:repeat(2,1fr)}
  .about-grid{grid-template-columns:.9fr 1.1fr;gap:4rem}
  .footer-grid{grid-template-columns:1.4fr .8fr .8fr .8fr}
}
@media (min-width:1024px){
  .work-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem}
  .work-card.featured{grid-column:span 2;aspect-ratio:16/9}
}
