*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:"Pretendard Variable",Pretendard,system-ui,sans-serif;background:#0a0a0b;color:#eee;line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
:root{--a:#3d8bff;--m:#9a9aa3}
.grain{position:fixed;inset:-50%;pointer-events:none;z-index:90;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:gr 1s steps(4) infinite}
@keyframes gr{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}}
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:18px 4vw;background:linear-gradient(#000a,#0000)}
.logo{font-weight:800;font-size:20px;letter-spacing:-.02em}.logo b{color:var(--a)}
.nav nav{display:flex;gap:28px;align-items:center;font-size:13px;letter-spacing:.14em;font-weight:600}.nav nav a:not(.btn){opacity:.8}.nav nav a:hover{opacity:1}
.btn{display:inline-flex;align-items:center;padding:15px 26px;background:#fff;color:#000;font-weight:700;font-size:15px;border:1px solid #fff;transition:.2s}.btn:hover{background:var(--a);border-color:var(--a);color:#fff}
.btn.ghost{background:transparent;color:#fff;border-color:#fff6}.btn.ghost:hover{border-color:#fff;background:#fff1}.btn.sm{padding:9px 16px;font-size:13px;letter-spacing:0}
.ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.eyebrow{font-size:12px;letter-spacing:.3em;color:var(--a);font-weight:700;margin-bottom:16px}
.hero,.cta{position:relative;min-height:100vh;overflow:hidden;display:flex;align-items:flex-end;padding:0 4vw 12vh}
.mosaic{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;opacity:.55}
.mosaic img{width:100%;height:100%;object-fit:cover;filter:grayscale(.4) contrast(1.1)}
.hero .kb{position:absolute;right:0;top:0;width:68%;height:100%;object-fit:cover;animation:kb 24s ease-in-out infinite alternate;-webkit-mask:linear-gradient(90deg,#0000,#000 40%);mask:linear-gradient(90deg,#0000,#000 40%)}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.12) translate(-2%,1%)}}
.shade{position:absolute;inset:0;background:linear-gradient(90deg,#0a0a0bf2 0%,#0a0a0bb0 45%,#0a0a0b30 100%),linear-gradient(0deg,#0a0a0b 0%,#0000 40%)}
.hc{position:relative;z-index:2;max-width:820px}
h1{font-size:clamp(44px,7.2vw,112px);line-height:1.02;font-weight:800;letter-spacing:-.045em}
.lead{font-size:clamp(16px,1.4vw,20px);color:#ccc;margin-top:24px;max-width:560px}
.reelbtn{position:absolute;z-index:3;right:6vw;bottom:14vh;display:flex;align-items:center;gap:18px;font-weight:800;letter-spacing:.2em;font-size:15px}
.reelbtn small{display:block;letter-spacing:0;font-weight:500;color:#ccc;font-size:13px;margin-top:4px}
.play{display:inline-block;width:46px;height:46px;border-radius:50%;background:#fff;position:relative;flex:none}
.play:after{content:"";position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);border-left:14px solid #000;border-top:9px solid transparent;border-bottom:9px solid transparent}
.play.big{width:96px;height:96px;box-shadow:0 0 0 0 #fff6;animation:pulse 2.4s infinite}.play.big:after{border-left-width:26px;border-top-width:16px;border-bottom-width:16px}
@keyframes pulse{70%{box-shadow:0 0 0 22px #fff0}100%{box-shadow:0 0 0 0 #fff0}}
.reelbtn:hover .play{background:var(--a)}
.trust{position:absolute;z-index:3;left:4vw;bottom:4vh;font-size:13px;color:#aaa;letter-spacing:.02em}
.film{overflow:hidden;background:#000}.track{display:flex;width:max-content;animation:mq 60s linear infinite}
.film.rev .track{animation-direction:reverse}.film:hover .track{animation-play-state:paused}
.track a{width:30vw;min-width:240px;aspect-ratio:2.39;overflow:hidden}.track img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:.4s}.track a:hover img{filter:none;transform:scale(1.05)}
@keyframes mq{to{transform:translateX(-50%)}}
.clients{padding:34px 4vw;text-align:center;font-weight:700;font-size:clamp(15px,1.6vw,22px);color:#777;line-height:2}.clients i{color:#333;font-style:normal;margin:0 10px}
.sec{padding:120px 4vw}.sec.tight{padding-top:0}
.head{margin-bottom:56px;max-width:900px;position:relative}
h2{font-size:clamp(34px,4.8vw,72px);line-height:1.08;letter-spacing:-.04em;font-weight:800}
.sub{color:var(--m);margin-top:18px}.more{display:inline-block;margin-top:22px;border-bottom:1px solid #fff6;padding-bottom:3px;font-weight:600}
#work,.sec.tight{padding-left:0;padding-right:0}#work .head,.sec.tight .head{padding:0 4vw}
.mason{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense}
.tile{position:relative;overflow:hidden;aspect-ratio:16/9;background:#111}.tile.wide{grid-column:span 2;grid-row:span 2}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s;filter:brightness(.85)}
.tile:hover img{transform:scale(1.07);filter:brightness(.45)}
.cap{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;padding:22px;opacity:0;transform:translateY(10px);transition:.35s}
.tile:hover .cap,.tile:focus .cap{opacity:1;transform:none}.cap b{font-size:clamp(15px,1.3vw,20px);line-height:1.3}
.sqg{grid-template-columns:repeat(6,1fr)}.tile.sq{aspect-ratio:1}
.break{position:relative;aspect-ratio:2.39;max-height:80vh;width:100%;overflow:hidden}
.break img{width:100%;height:100%;object-fit:cover;animation:kb 30s ease-in-out infinite alternate;filter:brightness(.6)}
.break p{position:absolute;left:4vw;bottom:8%;font-size:clamp(26px,6vw,96px);font-weight:800;letter-spacing:-.03em;line-height:1;color:#fff}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #222}
.stats>div{padding:36px 24px 36px 0;border-right:1px solid #222}.stats>div:last-child{border:0}
.stats b{font-size:clamp(56px,7vw,110px);font-weight:800;letter-spacing:-.05em;line-height:1}.stats small{font-size:18px;margin-left:4px;color:var(--a);font-weight:700}
.stats span{display:block;color:var(--m);margin-top:10px;font-size:15px}
.work{list-style:none;margin-top:48px;display:flex;flex-wrap:wrap;gap:10px}.work li{border:1px solid #2a2a2e;padding:9px 16px;border-radius:99px;font-size:14px;color:#ccc}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}.why i{font-style:normal;color:var(--a);font-weight:800;font-size:14px;letter-spacing:.2em}
.why h3{font-size:22px;margin:12px 0 10px;letter-spacing:-.02em}.why p{color:var(--m);font-size:15px}
.steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);margin-top:72px;border-top:1px solid #222}
.steps li{padding:26px 16px 0 0;font-weight:700;font-size:20px}.steps b{display:block;color:#333;font-size:48px;line-height:1}.steps span{display:block;font-weight:400;font-size:14px;color:var(--m);margin-top:4px}
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:#000}
.sv{position:relative;overflow:hidden;aspect-ratio:3/4;background:#111}.sv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5);transition:.6s}
.sv:hover img{transform:scale(1.06);filter:brightness(.3)}
.sv div{position:absolute;inset:auto 0 0;padding:24px;background:linear-gradient(#0000,#000d 40%)}
.tag{font-size:11px;letter-spacing:.2em;color:var(--a);font-weight:700}.sv h3{font-size:18px;line-height:1.35;margin:8px 0}.sv p{font-size:13px;color:#aaa}.sv b{display:block;font-size:24px;margin-top:12px;letter-spacing:-.02em}
.rvw{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid #1a1a1d}
.rvw blockquote p{font-size:clamp(18px,1.7vw,24px);line-height:1.6;font-weight:500;letter-spacing:-.01em}.rvw blockquote p:before{content:"“";display:block;font-size:80px;line-height:.6;color:var(--a)}
.rvw cite{display:block;margin-top:18px;color:var(--m);font-style:normal;font-size:14px}.star{grid-column:1/-1;color:#f5c542;font-weight:700;letter-spacing:.1em}
.about{display:grid;grid-template-columns:1.3fr 1fr;gap:80px}.about>div>p:not(.eyebrow){color:#bbb;margin-top:24px;font-size:17px}
.skills{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.skills li{background:#17171a;padding:7px 14px;font-size:14px}
.ceo{border-left:1px solid #222;padding-left:48px}.ceo h3{font-size:34px}.ceo small{font-size:15px;color:var(--m);font-weight:500}
.tl{list-style:none;margin:22px 0}.tl li{padding:12px 0;border-bottom:1px solid #1d1d20}.tl b{display:inline-block;width:110px;color:var(--a)}.tools{color:var(--m);font-size:13px}
.faqs{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;padding-top:40px}.faqs .head{margin:0}
details{border-bottom:1px solid #222;padding:22px 0}summary{cursor:pointer;font-weight:700;font-size:18px;list-style:none;display:flex;justify-content:space-between}summary:after{content:"+";color:var(--a);font-size:24px;line-height:1}details[open] summary:after{content:"–"}details p{color:var(--m);margin-top:10px}
.cta{min-height:80vh;align-items:center}.cta p{color:#ccc;margin-top:18px}.cta .addr{font-size:14px;color:#888;margin-top:28px}
footer{padding:40px 4vw 100px;color:#666;font-size:13px;border-top:1px solid #1a1a1d}footer b{color:#aaa;display:block;margin-bottom:8px}
.mbar{display:none}
.rv{opacity:0;transform:translateY(30px);transition:.8s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
@media(max-width:900px){.nav nav a:not(.btn){display:none}.mason{grid-template-columns:repeat(2,1fr)}.tile.wide{grid-column:span 2;grid-row:auto}.sqg{grid-template-columns:repeat(3,1fr)}
.stats,.why,.svc{grid-template-columns:1fr 1fr}.stats>div:nth-child(2){border:0}.steps{grid-template-columns:1fr 1fr 1fr;gap:20px 0}
.rvw,.about,.faqs{grid-template-columns:1fr;gap:40px}.ceo{border:0;padding:0}.sec{padding:80px 5vw}
.hero{padding-bottom:22vh}.hero .kb{width:100%;-webkit-mask:linear-gradient(0deg,#0000 20%,#000 70%);mask:linear-gradient(0deg,#0000 20%,#000 70%)}.mosaic{grid-template-columns:repeat(2,1fr)}
.shade{background:linear-gradient(0deg,#0a0a0b 25%,#0a0a0b80 60%,#0a0a0b20)}.reelbtn{top:96px;bottom:auto;left:5vw;right:auto}.play.big{width:72px;height:72px}
.trust{bottom:2vh;left:5vw;right:5vw;font-size:12px}.track a{width:62vw;min-width:0}
.mbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:#000;border-top:1px solid #222}.mbar a{flex:1;text-align:center;padding:16px;font-weight:700}.mbar .pri{background:var(--a)}}
@media(max-width:520px){.svc,.why{grid-template-columns:1fr}.sv{aspect-ratio:4/3}.btn{padding:13px 18px;font-size:14px}.ctas .btn{flex:1 1 100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}.track{flex-wrap:wrap;width:auto}.track a:nth-child(n+7){display:none}.track a{width:33.33%}}
.hero .reelbtn{display:none}
.feat{position:absolute;z-index:3;right:4vw;bottom:12vh;width:min(560px,40vw);display:flex;flex-direction:column;gap:18px}
.reel{display:flex;align-items:center;gap:18px;font-weight:800;letter-spacing:.2em;font-size:15px}.reel small{display:block;letter-spacing:0;font-weight:500;color:#ccc;font-size:13px;margin-top:4px}.reel:hover .play{background:var(--a)}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.fg a{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000}.fg img{width:100%;height:100%;object-fit:cover;filter:brightness(.6);transition:.5s}
.fg a:hover img{filter:brightness(.85);transform:scale(1.06)}.fg .play{position:absolute;top:10px;right:10px;width:30px;height:30px}.fg .play:after{border-left-width:9px;border-top-width:6px;border-bottom-width:6px}
.fg span{position:absolute;left:10px;right:10px;bottom:8px;font-size:12px;font-weight:700;line-height:1.3}.fg small{display:block;color:var(--a);font-size:10px;letter-spacing:.15em}
@media(max-width:900px){.hero{flex-direction:column;justify-content:flex-end;padding-top:96px;padding-bottom:40px}.feat{position:relative;right:auto;bottom:auto;width:100%;order:2;margin-top:28px}.trust{position:relative;left:auto;bottom:auto;right:auto;order:3;margin-top:18px}.hc{order:1}.reel .play.big{width:52px;height:52px}.reel .play.big:after{border-left-width:16px;border-top-width:10px;border-bottom-width:10px}.hero .kb{height:60%}}
.hero video.kb{object-fit:cover}.hvcap{position:absolute;z-index:3;right:4vw;top:84px;font-size:11px;letter-spacing:.15em;color:#fff9}
.vt{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;margin:0}.vt video{width:100%;height:100%;object-fit:cover;display:block}
.vt figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px;font-size:13px;font-weight:700;line-height:1.3;background:linear-gradient(#0000,#000c)}.vt small{display:block;color:var(--a);font-size:10px;letter-spacing:.15em}
.fg .vt figcaption{font-size:12px;padding:8px 10px}
.newsec{padding:80px 0 0}.newsec .head{padding:0 4vw;margin-bottom:32px}.newg{display:grid;grid-template-columns:repeat(3,1fr)}
.newg .vt figcaption{padding:20px;font-size:clamp(14px,1.2vw,18px)}
@media(max-width:900px){.newg{grid-template-columns:1fr 1fr}.hvcap{top:auto;bottom:8px}}
@media(prefers-reduced-motion:reduce){.hero video.kb{display:none}.hero{background:url(img/ythd_NRj_Md_EEZM.webp) center/cover}}
a[href^="tel:"],.mbar a[href^="tel:"]{background:var(--a)!important;color:#fff!important;border-color:var(--a)!important}
