
:root{--red:#FF2215;--bg:#000;--panel:#0e0e0e;--line:#262626;--txt:#fff;--muted:#9a9a9a;--faint:#5a5a5a;
--photo:#7fb2ff;--viz:#ffb347;--f:"Inter","Helvetica Neue",Arial,sans-serif;--serif:"Fraunces",Georgia,serif;}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--txt);font-family:var(--f);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:1600px;margin:0 auto;padding:0 56px}
a{color:inherit;text-decoration:none;cursor:pointer}
.serif{font-family:var(--serif);font-weight:400}
.red{color:var(--red)}

/* SPLASH */
#splash{position:fixed;inset:0;background:#000;z-index:100;display:flex;flex-direction:column;
 align-items:center;justify-content:center;gap:26px;transition:opacity .8s ease;cursor:pointer}
#splash .tag{font-family:var(--serif);color:var(--red);font-size:23px}
#splash .lg img{width:260px;display:block;margin:0 auto}
#splash.hide{opacity:0;pointer-events:none}

/* NAV */
.nav{display:flex;justify-content:space-between;align-items:center;padding:26px 0 20px}
.logo img{height:40px;display:block}
.menu{display:flex;gap:30px;font-size:11px;letter-spacing:.14em}
.menu a{color:#cfcfcf} .menu a.active{color:var(--red)}
.rule{height:3px;background:var(--red)}

.page{display:none} .page.on{display:block}
.titlebar{display:flex;justify-content:flex-end;padding:30px 0 6px}
.titlebar h1{font-size:40px;font-weight:600;letter-spacing:-0.5px}

/* HOME */
.hhero{position:relative;height:500px;width:100vw;margin-left:calc(50% - 50vw);margin-top:0;
 background:linear-gradient(135deg,#141a1f,#0b0d0f);display:flex;align-items:center;justify-content:center}
.hhero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;background:linear-gradient(to top,#000 0%,rgba(0,0,0,0) 100%);pointer-events:none;z-index:1}
.hhero .ph{color:var(--faint);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.hhero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.hhero .cap{position:absolute;left:56px;bottom:22px;z-index:2}
.hhero .cap b{font-size:26px;font-weight:700;letter-spacing:.02em} .hhero .cap span{display:block;font-size:12px;color:#cfcfcf;margin-top:4px}
.hhero .clk{position:absolute;right:56px;bottom:26px;display:flex;align-items:center;gap:26px;color:#fff;font-size:15px;letter-spacing:.18em;z-index:2}
.hhero .clk .ar{stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;cursor:pointer}
.hstate{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:80px 0;align-items:center}
.hstate h2{font-size:34px;line-height:1.18;text-align:center} .hstate p{color:#cfcfcf;font-size:17px;line-height:1.7}

/* SERVICES */
.svc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;padding:30px 0 110px}
.svc .blk{margin-bottom:24px}
.svc h3{font-size:28px;font-weight:500;margin:0;letter-spacing:-.3px}
.svch{display:flex;align-items:center;justify-content:flex-start;gap:16px;width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:#fff;font-family:inherit}
.svch:hover h3{color:var(--red)}
.svcsign{font-size:20px;font-weight:200;color:var(--faint);width:16px;text-align:center;flex-shrink:0;order:-1;transition:color .2s;display:none}
.svcbody{max-height:0;overflow:hidden;transition:max-height .35s ease}
.svcbody.open{max-height:600px}
.svc .tl{color:var(--faint);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:6px 0 14px}
.svc .ds{color:#bdbdbd;font-size:17px;line-height:1.6;margin-bottom:14px;max-width:460px}
.svc .lab{font-size:12px;color:var(--faint);margin-bottom:6px}
.svc .cap{font-size:14px;color:#ddd;line-height:1.7;padding-bottom:4px}
.svc .quote{font-family:var(--serif);font-size:34px;line-height:1.18;font-weight:400}

/* WORK index + detail (shared with carousel) */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:60px}
.tile{position:relative;border:1px solid var(--line);background:var(--panel);overflow:hidden}
.tile.live{cursor:pointer}
.tile .img{aspect-ratio:4/3;background-size:cover;background-position:center}
.tile .meta{padding:13px 15px 15px;text-align:center} .tile .nm{font-size:14px;font-weight:700}
.tile .tag{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:7px}
.tile.live:hover{border-color:var(--red)} .tile.live:hover .img{opacity:.92}
.ghost{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:4/3;border:1px dashed var(--line);background:repeating-linear-gradient(45deg,#0c0c0c,#0c0c0c 11px,#0b0b0b 11px,#0b0b0b 22px)}
.work-sec{font-size:28px;font-weight:500;letter-spacing:-.3px;margin:48px 0 20px}
.work-sec:first-of-type{margin-top:0}
.all-work{padding-bottom:80px;max-width:1400px}
.work-sector{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:40px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.work-sector:first-child{margin-top:0}
.wsecbtn{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:12px 0;cursor:pointer;text-align:left;color:var(--txt);font-family:var(--f);font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;margin-top:32px;line-height:1}
.wsecbtn:first-of-type{margin-top:0}
.wsecbtn:hover{color:var(--red)}
.wsecbtn .wsign{font-size:16px;font-weight:300;color:var(--faint);transition:color .2s}
.wsecbody{max-height:0;overflow:hidden;transition:max-height .45s ease}
.wsecbody.open{max-height:2000px}
.work-list{display:flex;flex-direction:column;gap:0}
.work-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.work-row:last-child{border-bottom:none}
.work-row .wn{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:400}
.work-row .wl{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:400;text-align:center}
.work-row .wr{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:400;text-align:center}
.work-row .wy{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:400;text-align:right}
.work-row.work-head{padding:0 0 8px;border-bottom:1px solid var(--line)}
.work-row.work-head span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:600}
.work-row.work-head .wy{text-align:right}
.ghost .lbl{color:var(--faint);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.ghost .sub{color:#3a3a3a;font-size:10px;margin-top:6px}
.back{display:inline-block;color:var(--muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:18px 0 18px}
.back:hover{color:var(--red)}
.dhead{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:8px}
.dhead small{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.dhead h2{font-size:34px;font-weight:600;letter-spacing:-.4px}
.pill{flex:none;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffcf99;
 border:1px solid #5a4424;background:#241a0e;border-radius:999px;padding:7px 14px;white-space:nowrap}
.credit{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);padding:16px 0 22px;margin-bottom:26px}
.credit b{color:#fff;font-weight:600}
.dcontent{max-width:1100px;margin:0 auto}
.dhero{position:relative;aspect-ratio:4/3;background:#000;overflow:hidden;margin-top:10px;border-radius:2px}
.dhero img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.dhero video{width:100%;height:100%;object-fit:cover;object-position:center;display:none}
.chip{position:absolute;top:16px;left:16px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:5px 11px;border-radius:3px;z-index:2}
.chip.B{color:#241600;background:var(--viz)} .chip.V{color:#241600;background:var(--viz)}
.chip:empty{display:none}
.narr{font-size:17px;color:#dcdcdc;max-width:100%;margin:40px 0 40px;line-height:1.6;text-align:left}
.gdivider{height:1px;background:var(--line);margin-bottom:40px}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding-bottom:100px}
.gitem{position:relative;aspect-ratio:4/3;background:#000;overflow:hidden;border-radius:2px}
.gitem img{width:100%;height:100%;object-fit:cover;display:block}

/* ABOUT — reuses .svc grid/header/accordion styles; only these are unique to About */
.about .blk{margin-bottom:24px}
.about .svcbody.open{max-height:2600px;overflow:visible}
.about .ds{margin-bottom:16px}
.about .press{width:calc(200% + 56px)}
.press{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:6px}
.press .t{aspect-ratio:1/1;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;
 color:var(--faint);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:repeating-linear-gradient(45deg,#0c0c0c,#0c0c0c 11px,#0b0b0b 11px,#0b0b0b 22px)}
.press.real{grid-template-columns:repeat(2,1fr)}
.pcard{aspect-ratio:1/1;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:20px;text-decoration:none;transition:border-color .2s}
.pcard:hover{border-color:var(--red)}
.pcard .outlet{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.pcard .headline{font-size:15px;color:var(--txt);line-height:1.4;margin:14px 0}
.pcard .proj{font-size:11px;color:var(--muted)}
.pcard .go{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}

/* CONTACT */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:40px 0 110px}
.contact .lead{font-family:var(--serif);font-size:34px;line-height:1.18;font-weight:400;text-align:center;max-width:480px;margin:0 auto}
.contact .form .row{margin-bottom:26px}
.contact label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#cfcfcf;margin-bottom:8px}
.contact .ln{border:none;border-bottom:1px solid #3a3a3a;height:30px;width:100%;background:transparent;color:var(--txt);font-family:var(--f);font-size:15px;padding:0;outline:none;display:block;resize:none}
.contact .ln:focus{border-bottom-color:var(--red)}
.contact textarea.ln{padding-top:6px}
.contact .send{font-size:18px;font-weight:600;margin-top:8px;display:inline-block;color:var(--txt);text-decoration:none;cursor:pointer;transition:color .15s}
.contact .send:hover{color:var(--red)}

/* FOOTER */
.foot{border-top:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.foot .c{font-size:12px;color:#bdbdbd;line-height:1.7} .foot .c.r{text-align:right}
.foot .fl{text-align:center} .foot .fl img{width:210px;height:auto;display:block;margin:0 auto}
.copy{display:flex;justify-content:space-between;font-size:11px;color:#555;border-top:1px solid var(--line);padding:18px 0}
.footwrap{max-width:none;padding:0 42px}
@media(max-width:880px){.hstate,.svc,.contact{grid-template-columns:1fr;gap:36px}.grid,.press{grid-template-columns:1fr}.titlebar h1{font-size:42px}.wrap{padding:0 24px}}
