:root{
  --void:#0b0b0e;
  --void-2:#131216;
  --void-3:#1a1920;
  --paper:#f3f1ec;
  --ink:#131215;
  --muted:#8b8894;
  --muted-light:#b9b7c2;
  --magenta:#ff2e7e;
  --cyan:#17e3d6;
  --gold:#D4AF37;
  --line:rgba(255,255,255,0.12);
  --line-dark:rgba(19,18,21,0.12);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--void);
  color:#efeef2;
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.display{font-family:'Anton',sans-serif; font-weight:400; letter-spacing:.5px; text-transform:uppercase;}
.mono{font-family:'JetBrains Mono',monospace;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1240px; margin:0 auto; padding:0 32px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
}
:focus-visible{outline:2px solid var(--cyan); outline-offset:3px;}

/* ===== NAV ===== */
header{position:sticky; top:0; z-index:100; background:rgba(11,11,14,.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
nav.wrap{display:flex; align-items:center; justify-content:space-between; height:78px;}
.logo{font-family:'Anton',sans-serif; font-size:22px; letter-spacing:1px;}
.logo span{color:var(--gold);}
.nav-links{display:flex; gap:36px; font-size:14px; font-weight:500; color:var(--muted-light);}
.nav-links a{position:relative; padding:4px 0; transition:color .2s;}
.nav-links a:hover, .nav-links a.current{color:#fff;}
.nav-links a::after{content:''; position:absolute; left:0; bottom:-2px; width:0; height:1px; background:var(--cyan); transition:width .25s;}
.nav-links a:hover::after, .nav-links a.current::after{width:100%;}
.nav-right{display:flex; align-items:center; gap:18px;}
.nav-cta{background:var(--gold); color:#fff !important;  font-weight:500; font-size:13px; padding:10px 20px; border-radius:9999px; letter-spacing:.3px; transition:box-shadow .3s, transform .2s; white-space:nowrap;}
.nav-cta:hover{ background:#e6c687; color:#000 !important; transform:translateY(-2px); box-shadow:0 10px 30px  rgba(217,180,74,.35);}
.burger{display:none; flex-direction:column; gap:5px; width:28px; cursor:pointer; background:none; border:none;}
.burger span{display:block; height:2px; background:#efeef2; border-radius:2px; transition:.25s;}
.mobile-panel{display:none; flex-direction:column; gap:2px; padding:10px 32px 22px; border-bottom:1px solid var(--line); background:var(--void);}
.mobile-panel a{padding:14px 0; font-size:15px; font-weight:600; color:var(--muted-light); border-bottom:1px solid var(--line);}
.mobile-panel a:last-child{border-bottom:none;}
.mobile-panel.open{display:flex;}
@media (max-width:900px){
  .nav-links{display:none;}
  .burger{display:flex;}
  .nav-right .nav-cta {
      display: none;
  }
}

/* ===== BUTTONS ===== */
.btn-primary{background:var(--gold); color:#fff !important; font-weight:500; font-size:13px; padding:10px 20px; border-radius:9999px; transition:transform .2s, background .2s; display:inline-block;}
.btn-primary:hover{transform:translateY(-3px); background:#f3c84c; color:#fff; box-shadow:0 12px 30px rgba(217,180,74,.35)}
.btn-ghost{border:1px solid var(--line); font-weight:500; font-size:13px; padding:10px 20px; border-radius:9999px; transition:border-color .2s, background .2s; display:inline-flex; align-items:center; gap:8px;}
.btn-ghost:hover{border-color:var(--gold);  color:#fff; transform:translateY(-3px)}
button.btn-primary, button.btn-ghost{font-family:inherit; cursor:pointer;}

/* ===== PAGE HERO (sub-pages) ===== */
.page-hero{position:relative; padding:78px 0 64px; overflow:hidden; border-bottom:1px solid var(--line);}
.page-hero::before{content:''; position:absolute; inset:0; background:radial-gradient(ellipse 55% 50% at 10% 0%, rgba(255,46,126,.18), transparent 60%), radial-gradient(ellipse 45% 40% at 100% 10%, rgba(23,227,214,.14), transparent 60%); pointer-events:none;}
.kicker{font-size:12px; letter-spacing:2px; color:var(--cyan); font-weight:700; margin-bottom:14px; position:relative; z-index:2;}
.page-title{font-size:clamp(34px,5.4vw,64px); line-height:1.02; max-width:820px; position:relative; z-index:2;}
.headline .accent{color:var(--gold);}
.page-sub{max-width:600px; margin-top:20px; font-size:16px; line-height:1.65; color:var(--muted-light); position:relative; z-index:2;}
.crumb{font-size:12px; color:var(--muted); margin-bottom:18px; position:relative; z-index:2;}
.crumb a{color:var(--muted-light);}
.crumb a:hover{color:var(--cyan);}

/* ===== SECTION SHELL ===== */
section{padding:100px 0;}
.section-head{max-width:640px; margin-bottom:52px;}
.section-title{font-size:clamp(28px,4vw,44px); line-height:1.06;}
.section-desc{color:var(--muted-light); margin-top:14px; font-size:16px; line-height:1.6;}

/* ===== MARQUEE ===== */
.marquee-section{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:26px 0; overflow:hidden;}
.marquee-track{display:flex; gap:64px; width:max-content; animation:scroll 28s linear infinite;}
.marquee-track span{font-family:'Anton',sans-serif; font-size:20px; color:var(--muted); letter-spacing:1px; white-space:nowrap;}
@keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* ===== FILTER CHIPS ===== */
.filters{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:34px;}
.chip{font-size:13px; padding:9px 18px; border-radius:999px; border:1px solid var(--line); color:var(--muted-light); font-weight:600; cursor:pointer; transition:.2s; background:none; font-family:inherit;}
.chip.active, .chip:hover{border-color:var(--magenta); color:#fff; background:rgba(255,46,126,.08);}

/* ===== WORK / PROJECT CARDS ===== */
.work-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.work-card{border-radius:18px; overflow:hidden; position:relative; aspect-ratio:16/11; display:flex; align-items:flex-end; padding:26px; cursor:pointer; transition:transform .25s;}
.work-card:hover{transform:translateY(-4px);}
.work-card::before{content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,.75));}
.work-meta{position:relative; z-index:2;}
.work-tag{font-size:11px; letter-spacing:1.5px; color:var(--cyan); font-weight:700; margin-bottom:8px;}
.work-title{font-family:'Anton',sans-serif; font-size:22px; text-transform:uppercase;}
.play-btn{position:absolute; top:22px; right:22px; z-index:2; width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.4); display:flex; align-items:center; justify-content:center; font-size:13px; backdrop-filter:blur(4px); transition:.2s;}
.work-card:hover .play-btn{background:var(--magenta); border-color:var(--magenta);}
.grad-0{background:linear-gradient(135deg,#2a1030,#ff2e7e33),linear-gradient(160deg,#1c1a22,#0b0b0e);}
.grad-1{background:linear-gradient(135deg,#0f2a2c,#17e3d633),linear-gradient(160deg,#1c1a22,#0b0b0e);}
.grad-2{background:linear-gradient(135deg,#2a1a10,#ffb02e33),linear-gradient(160deg,#1c1a22,#0b0b0e);}
.grad-3{background:linear-gradient(135deg,#161230,#7b2eff33),linear-gradient(160deg,#1c1a22,#0b0b0e);}
.grad-4{background:linear-gradient(135deg,#301018,#ff2e7e22),linear-gradient(160deg,#1c1a22,#0b0b0e);}
.grad-5{background:linear-gradient(135deg,#0d2418,#17e3a622),linear-gradient(160deg,#1c1a22,#0b0b0e);}

/* ===== CUE CARDS (verticals) ===== */
.verticals-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden;}
.cue-card{background:var(--void-2); padding:32px 26px; min-height:220px; display:flex; flex-direction:column; justify-content:space-between; transition:background .3s; position:relative;}
.cue-card:hover{background:var(--void-3);}
.cue-num{font-size:12px; color:var(--muted);}
.cue-name{font-family:'Anton',sans-serif; font-size:21px; text-transform:uppercase; margin-top:26px; letter-spacing:.3px;}
.cue-desc{font-size:13px; color:var(--muted-light); margin-top:10px; line-height:1.5;}
.cue-card::after{content:'→'; position:absolute; top:30px; right:26px; color:var(--muted); transition:transform .25s, color .25s;}
.cue-card:hover::after{transform:translate(4px,-4px); color:var(--magenta);}
.cue-card.linkable{cursor:pointer;}

/* ===== STATS ===== */
.stats-strip{background:var(--paper); color:var(--ink); border-radius:24px; display:grid; grid-template-columns:repeat(4,1fr);}
.stat{padding:44px 30px; border-right:1px solid var(--line-dark);}
.stat:last-child{border-right:none;}
.stat-num{font-family:'Anton',sans-serif; font-size:44px;}
.stat-num span{color:var(--magenta);}
.stat-label{font-size:13px; color:#68656f; margin-top:8px; font-weight:600;}

/* ===== PROCESS ===== */
.process{position:relative;}
.process-line{position:absolute; left:29px; top:10px; bottom:10px; width:1px; background:var(--line);}
.process-step{display:flex; gap:28px; padding:26px 0; position:relative;}
.process-dot{width:58px; height:58px; border-radius:50%; border:1px solid var(--line); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:13px; background:var(--void); z-index:1;}
.process-body h3{font-family:'Anton',sans-serif; font-size:20px; text-transform:uppercase; margin-bottom:6px;}
.process-body p{color:var(--muted-light); font-size:14px; max-width:520px; line-height:1.6;}

/* ===== IP CARDS ===== */
.ip-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.ip-card{border:1px solid var(--line); border-radius:18px; padding:30px; min-height:260px; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(160deg, rgba(255,46,126,.05), transparent 60%); transition:transform .25s, border-color .25s; cursor:pointer;}
.ip-card:hover{transform:translateY(-6px); border-color:var(--magenta);}
.ip-badge{font-size:11px; letter-spacing:1.5px; color:var(--magenta); font-weight:700;}
.ip-name{font-family:'Anton',sans-serif; font-size:26px; text-transform:uppercase; margin-top:14px;}
.ip-desc{font-size:13px; color:var(--muted-light); margin-top:10px; line-height:1.6;}

/* ===== TESTIMONIAL ===== */
.testimonial{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:90px 0; text-align:center;}
.quote{font-family:'Anton',sans-serif; font-size:clamp(24px,3.4vw,40px); max-width:820px; margin:0 auto; line-height:1.25; text-transform:none;}
.quote-by{margin-top:26px; font-size:14px; color:var(--muted-light);}
.quote-by b{color:#fff;}

/* ===== CTA BANNER ===== */
.cta{background:linear-gradient(135deg, #1a0f1e, #0b0b0e 60%); border:1px solid var(--line); border-radius:28px; padding:70px 60px; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.cta h2{font-family:'Anton',sans-serif; font-size:clamp(28px,4vw,44px); text-transform:uppercase; max-width:520px;}

/* ===== FOOTER ===== */
footer{padding:70px 0 40px; border-top:1px solid var(--line);}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:60px;}
.footer-col h4{font-size:12px; letter-spacing:1.5px; color:var(--muted); margin-bottom:18px; font-weight:700;}
.footer-col a{display:block; font-size:14px; color:var(--muted-light); margin-bottom:12px; transition:color .2s;}
.footer-col a:hover{color:#fff;}
.footer-bottom{display:flex; justify-content:space-between; font-size:12px; color:var(--muted); flex-wrap:wrap; gap:10px;}

/* ===== ACCORDION (FAQ) ===== */
.faq-item{border-bottom:1px solid var(--line); padding:22px 0;}
.faq-q{display:flex; align-items:center; justify-content:space-between; cursor:pointer; font-weight:600; font-size:15px;}
.faq-q .plus{font-size:20px; color:var(--muted); transition:transform .25s; flex-shrink:0; margin-left:20px;}
.faq-item.open .faq-q .plus{transform:rotate(45deg); color:var(--magenta);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-a p{padding-top:14px; font-size:14px; color:var(--muted-light); line-height:1.65; max-width:640px;}

/* ===== VERTICAL SUBNAV (sticky pill bar) ===== */
.subnav{position:sticky; top:78px; z-index:40; background:rgba(11,11,14,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); overflow-x:auto;}
.subnav-track{display:flex; gap:8px; padding:14px 32px; max-width:1240px; margin:0 auto; width:max-content;}
.subnav-track a{font-size:13px; padding:8px 16px; border-radius:999px; border:1px solid var(--line); color:var(--muted-light); white-space:nowrap; transition:.2s; font-weight:600;}
.subnav-track a:hover, .subnav-track a.active{border-color:var(--cyan); color:#fff; background:rgba(23,227,214,.08);}

/* ===== VERTICAL DETAIL BLOCK ===== */
.vertical-block{padding:80px 0; border-bottom:1px solid var(--line); scroll-margin-top:150px;}
.vertical-head{display:flex; align-items:baseline; gap:18px; margin-bottom:20px; flex-wrap:wrap;}
.vertical-head .cue-num{font-size:13px;}
.vertical-head h3{font-family:'Anton',sans-serif; font-size:clamp(26px,3.2vw,38px); text-transform:uppercase;}
.vertical-body{color:var(--muted-light); font-size:16px; line-height:1.7; max-width:680px; margin-bottom:30px;}
.rep-projects{display:flex; gap:14px; flex-wrap:wrap;}
.rep-chip{font-size:13px; padding:10px 16px; border:1px solid var(--line); border-radius:999px; color:var(--muted-light); transition:.2s; cursor:pointer;}
.rep-chip:hover{border-color:var(--magenta); color:#fff;}

/* ===== TEAM / CULTURE (Studio) ===== */
.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.team-card{border:1px solid var(--line); border-radius:16px; padding:24px; text-align:left;}
.avatar{width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg,var(--magenta),var(--cyan)); display:flex; align-items:center; justify-content:center; font-family:'Anton',sans-serif; font-size:16px; color:var(--void); margin-bottom:16px;}
.team-name{font-weight:700; font-size:15px;}
.team-role{font-size:13px; color:var(--muted); margin-top:2px;}

/* ===== JOURNAL ===== */
.journal-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.journal-card{border:1px solid var(--line); border-radius:16px; overflow:hidden; cursor:pointer; transition:transform .25s, border-color .25s;}
.journal-card:hover{transform:translateY(-4px); border-color:var(--cyan);}
.journal-thumb{aspect-ratio:16/10;}
.journal-body{padding:20px;}
.journal-tag{font-size:11px; letter-spacing:1.5px; color:var(--cyan); font-weight:700;}
.journal-title{font-family:'Anton',sans-serif; font-size:18px; text-transform:uppercase; margin-top:10px; line-height:1.2;}
.journal-meta{font-size:12px; color:var(--muted); margin-top:12px;}

/* ===== FORMS (Contact) ===== */
.form-shell{display:grid; grid-template-columns:1.2fr .8fr; gap:50px;}
.field{margin-bottom:22px;}
.field label{display:block; font-size:13px; font-weight:600; color:var(--muted-light); margin-bottom:8px;}
.field input, .field select, .field textarea{
  width:100%; background:var(--void-2); border:1px solid var(--line); border-radius:10px; padding:14px 16px;
  color:#efeef2; font-family:inherit; font-size:14px; transition:border-color .2s;
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--cyan); outline:none;}
.option-row{display:flex; gap:12px; flex-wrap:wrap;}
.option-pill{padding:12px 18px; border:1px solid var(--line); border-radius:999px; font-size:13px; cursor:pointer; transition:.2s; font-weight:600; color:var(--muted-light);}
.option-pill.selected{border-color:var(--magenta); background:rgba(255,46,126,.1); color:#fff;}
.info-card{border:1px solid var(--line); border-radius:16px; padding:28px; margin-bottom:18px;}
.info-card h4{font-family:'Anton',sans-serif; font-size:16px; text-transform:uppercase; margin-bottom:10px;}
.info-card p{font-size:13px; color:var(--muted-light); line-height:1.6;}
.success-box{border:1px solid var(--cyan); background:rgba(23,227,214,.06); border-radius:16px; padding:32px; text-align:center; display:none;}
.success-box.show{display:block;}
.success-box h3{font-family:'Anton',sans-serif; font-size:24px; text-transform:uppercase; margin-bottom:10px;}
.success-box p{color:var(--muted-light); font-size:14px;}

/* ===== 404 / EMPTY STATE ===== */
.empty-state{text-align:center; padding:120px 0;}
.empty-state h2{font-family:'Anton',sans-serif; font-size:clamp(30px,4vw,48px); text-transform:uppercase; margin-bottom:16px;}
.empty-state p{color:var(--muted-light); margin-bottom:30px;}

@media (max-width:900px){
  .verticals-grid{grid-template-columns:repeat(2,1fr);}
  .work-grid{grid-template-columns:1fr;}
  .ip-grid{grid-template-columns:1fr;}
  .journal-grid{grid-template-columns:1fr 1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .stats-strip{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(2){border-right:none;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .form-shell{grid-template-columns:1fr;}
  .cta{padding:44px 28px;}
}
@media (max-width:600px){
  .journal-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr;}
}
