:root{--bg:#FFFFFF;--fg:#111111;--muted:#6B6B6B;--rule:#EAEAEA;--tile:#F2F2F2;color-scheme:light}
:root[data-theme="dark"]{--bg:#0E0E0E;--fg:#F2F2F2;--muted:#9A9A9A;--rule:#262626;--tile:#1A1A1A;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--fg);min-height:100vh;font-family:'Geist',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease;isolation:isolate}
a{color:inherit;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:rgba(128,128,128,.45);transition:text-decoration-color .2s,opacity .2s}
a:hover{text-decoration-color:currentColor}
.mono{font-family:'Geist Mono',ui-monospace,monospace}
.eyebrow{margin:0;font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.muted{color:var(--muted)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;padding:8px 14px;background:var(--fg);color:var(--bg);border-radius:8px;text-decoration:none}
.skip:focus{left:8px}

/* header */
.site-header{max-width:1200px;margin:0 auto;padding:32px 40px;display:flex;gap:16px 32px;justify-content:space-between;align-items:center}
.brand{font-size:17px;font-weight:600;letter-spacing:-.01em;text-decoration:none}
.brand span{font-weight:400;opacity:.6}
.header-right{display:flex;align-items:center;gap:4px 24px}
.desknav{display:flex;flex-wrap:wrap;gap:28px;font-size:15px}
.navlink{text-decoration:none;opacity:.7}
.navlink:hover,.navlink[aria-current="page"]{opacity:1}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-8px -10px -8px 0;padding:0;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer}
.themebtn{opacity:.7;transition:opacity .2s,background-color .2s}
.themebtn:hover{opacity:1;background-color:rgba(128,128,128,.12)}
.iconbtn:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.themebtn .i-sun{display:none}
:root[data-theme="dark"] .themebtn .i-sun{display:block}
:root[data-theme="dark"] .themebtn .i-moon{display:none}
.menubtn{display:none}
@media (max-width:720px){.desknav{display:none}.menubtn{display:inline-flex}.site-header{padding:20px 24px}}

/* mobile menu */
.mmenu{position:fixed;inset:0;z-index:60;background:var(--bg);color:var(--fg);display:flex;flex-direction:column;padding:20px 24px 40px;overflow-y:auto;animation:fadein .2s ease}
.mmenu[hidden]{display:none}
.mmenu-top{display:flex;justify-content:space-between;align-items:center;min-height:44px}
.mmenu nav{margin-top:64px;display:flex;flex-direction:column;gap:20px}
.mlink{font-size:36px;line-height:1.15;letter-spacing:-.03em;font-weight:600;text-decoration:none}
.mlink:hover{opacity:.6}
.mmenu-social{margin-top:auto;padding-top:48px;display:flex;flex-wrap:wrap;gap:12px 20px;font-size:15px;color:var(--muted)}
@keyframes fadein{from{opacity:0}to{opacity:1}}

/* footer */
.site-footer{max-width:720px;margin:0 auto;padding:48px 40px 56px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:14px;color:var(--muted)}
.site-footer.tall{padding-top:128px}
.site-footer.wide{max-width:960px}

/* buttons */
.btn{display:inline-flex;align-items:center;min-height:44px;padding:0 24px;background:var(--fg);color:var(--bg);border:0;border-radius:999px;font:inherit;font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;transition:opacity .2s}
.btn:hover{opacity:.85}
.btn-outline{display:inline-flex;align-items:center;min-height:44px;padding:0 22px;border:1px solid var(--fg);border-radius:999px;font-size:15px;font-weight:500;text-decoration:none}

/* stars (dark mode only) */
.stars{display:none;position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;animation:fadein 1.6s ease both}
:root[data-theme="dark"] .stars{display:block}
.stars i{position:absolute;top:0;left:0;display:block;border-radius:50%}
.stars .s1{width:1px;height:1px;opacity:.6;box-shadow:1326px 308px #fff,1617px 1333px #fff,197px 148px #fff,2194px 192px #fff,1497px 1193px #fff,237px 1039px #fff,879px 76px #fff,352px 888px #fff,1712px 143px #fff,985px 185px #fff,2257px 869px #fff,242px 1158px #fff,507px 457px #fff,2387px 126px #fff,2363px 1199px #fff,1624px 101px #fff,905px 95px #fff,2280px 272px #fff,1186px 858px #fff,590px 1107px #fff,482px 1169px #fff,1263px 1147px #fff,740px 211px #fff,2382px 1169px #fff,769px 762px #fff,399px 1121px #fff,257px 1155px #fff,244px 1267px #fff,843px 1016px #fff,2177px 875px #fff,1286px 953px #fff,2398px 928px #fff,1481px 613px #fff,1017px 368px #fff,999px 167px #fff,2352px 614px #fff,2151px 1013px #fff,1406px 919px #fff,1179px 1247px #fff,299px 241px #fff,2096px 856px #fff,675px 700px #fff,622px 1001px #fff,1727px 80px #fff,317px 1142px #fff,2347px 642px #fff,1393px 717px #fff,2034px 1187px #fff,1868px 140px #fff,383px 552px #fff,1941px 1360px #fff,266px 124px #fff,1268px 1325px #fff,2367px 1395px #fff,1825px 582px #fff,1580px 1369px #fff,1421px 46px #fff,1891px 727px #fff,688px 1251px #fff,479px 1011px #fff,241px 446px #fff,1177px 264px #fff,1014px 814px #fff,1601px 1016px #fff,330px 340px #fff,1839px 822px #fff,2250px 569px #fff,560px 881px #fff,2253px 570px #fff,1701px 734px #fff,1558px 472px #fff,618px 169px #fff,721px 309px #fff,950px 1348px #fff,955px 24px #fff,1986px 1206px #fff,746px 538px #fff,1154px 8px #fff,596px 858px #fff,2189px 756px #fff,2319px 652px #fff,514px 1055px #fff,221px 935px #fff,2290px 803px #fff,1630px 817px #fff,1614px 212px #fff,1972px 1299px #fff,1640px 127px #fff,780px 137px #fff,855px 902px #fff,1326px 1708px #fff,1617px 2733px #fff,197px 1548px #fff,2194px 1592px #fff,1497px 2593px #fff,237px 2439px #fff,879px 1476px #fff,352px 2288px #fff,1712px 1543px #fff,985px 1585px #fff,2257px 2269px #fff,242px 2558px #fff,507px 1857px #fff,2387px 1526px #fff,2363px 2599px #fff,1624px 1501px #fff,905px 1495px #fff,2280px 1672px #fff,1186px 2258px #fff,590px 2507px #fff,482px 2569px #fff,1263px 2547px #fff,740px 1611px #fff,2382px 2569px #fff,769px 2162px #fff,399px 2521px #fff,257px 2555px #fff,244px 2667px #fff,843px 2416px #fff,2177px 2275px #fff,1286px 2353px #fff,2398px 2328px #fff,1481px 2013px #fff,1017px 1768px #fff,999px 1567px #fff,2352px 2014px #fff,2151px 2413px #fff,1406px 2319px #fff,1179px 2647px #fff,299px 1641px #fff,2096px 2256px #fff,675px 2100px #fff,622px 2401px #fff,1727px 1480px #fff,317px 2542px #fff,2347px 2042px #fff,1393px 2117px #fff,2034px 2587px #fff,1868px 1540px #fff,383px 1952px #fff,1941px 2760px #fff,266px 1524px #fff,1268px 2725px #fff,2367px 2795px #fff,1825px 1982px #fff,1580px 2769px #fff,1421px 1446px #fff,1891px 2127px #fff,688px 2651px #fff,479px 2411px #fff,241px 1846px #fff,1177px 1664px #fff,1014px 2214px #fff,1601px 2416px #fff,330px 1740px #fff,1839px 2222px #fff,2250px 1969px #fff,560px 2281px #fff,2253px 1970px #fff,1701px 2134px #fff,1558px 1872px #fff,618px 1569px #fff,721px 1709px #fff,950px 2748px #fff,955px 1424px #fff,1986px 2606px #fff,746px 1938px #fff,1154px 1408px #fff,596px 2258px #fff,2189px 2156px #fff,2319px 2052px #fff,514px 2455px #fff,221px 2335px #fff,2290px 2203px #fff,1630px 2217px #fff,1614px 1612px #fff,1972px 2699px #fff,1640px 1527px #fff,780px 1537px #fff,855px 2302px #fff;animation:stardrift 260s linear infinite}
.stars .s2{width:2px;height:2px;opacity:.4;box-shadow:664px 225px #fff,1392px 1230px #fff,215px 209px #fff,0px 1160px #fff,619px 1098px #fff,415px 744px #fff,104px 144px #fff,851px 1257px #fff,1541px 304px #fff,1033px 711px #fff,1491px 971px #fff,503px 236px #fff,1999px 954px #fff,1967px 990px #fff,1277px 175px #fff,590px 209px #fff,1403px 542px #fff,1960px 330px #fff,2114px 47px #fff,840px 1081px #fff,1481px 300px #fff,2224px 55px #fff,2163px 610px #fff,372px 534px #fff,2123px 751px #fff,684px 728px #fff,912px 1090px #fff,2218px 1029px #fff,664px 1625px #fff,1392px 2630px #fff,215px 1609px #fff,0px 2560px #fff,619px 2498px #fff,415px 2144px #fff,104px 1544px #fff,851px 2657px #fff,1541px 1704px #fff,1033px 2111px #fff,1491px 2371px #fff,503px 1636px #fff,1999px 2354px #fff,1967px 2390px #fff,1277px 1575px #fff,590px 1609px #fff,1403px 1942px #fff,1960px 1730px #fff,2114px 1447px #fff,840px 2481px #fff,1481px 1700px #fff,2224px 1455px #fff,2163px 2010px #fff,372px 1934px #fff,2123px 2151px #fff,684px 2128px #fff,912px 2490px #fff,2218px 2429px #fff;animation:stardrift 420s linear infinite}
.stars .s3{width:2px;height:2px;box-shadow:1350px 1303px #fff,913px 1255px #fff,799px 490px #fff,1641px 464px #fff,818px 1060px #fff,2018px 728px #fff,118px 57px #fff,1144px 967px #fff,1061px 396px #fff,1410px 915px #fff,1431px 746px #fff,329px 451px #fff,418px 464px #fff,1925px 402px #fff;animation:startwinkle 5s ease-in-out infinite alternate}
@keyframes stardrift{to{transform:translateY(-1400px)}}
@keyframes startwinkle{from{opacity:.1}to{opacity:.7}}

/* homepage */
.hero{max-width:720px;margin:0 auto;padding:112px 40px 104px}
.hero p{margin:24px 0 0;font-size:30px;line-height:1.38;letter-spacing:-.02em;font-weight:400;color:var(--muted)}
.hero .lead{margin:0;font-size:30px;line-height:1.38;letter-spacing:-.02em;font-weight:500;color:var(--fg)}
@media (max-width:720px){.hero .lead{font-size:24px}}
.fig{position:relative;display:inline-block;margin:0 0 40px}
.fig .cm{position:absolute;width:10px;height:10px;opacity:0;transition:opacity .25s ease,transform .25s ease}
.fig .tl{top:-9px;left:-9px;border-top:1px solid currentColor;border-left:1px solid currentColor;transform:translate(5px,5px)}
.fig .tr{top:-9px;right:-9px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translate(-5px,5px)}
.fig .bl{bottom:-9px;left:-9px;border-bottom:1px solid currentColor;border-left:1px solid currentColor;transform:translate(5px,-5px)}
.fig .br{bottom:-9px;right:-9px;border-bottom:1px solid currentColor;border-right:1px solid currentColor;transform:translate(-5px,-5px)}
.fig .fl{position:absolute;left:calc(100% + 22px);top:50%;transform:translate(-6px,-50%);white-space:nowrap;opacity:0;transition:opacity .25s ease,transform .25s ease;font-family:'Geist Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fig:hover .cm,.fig:focus-within .cm{opacity:.75;transform:none}
.fig:hover .fl,.fig:focus-within .fl{opacity:1;transform:translate(0,-50%)}
.avatar{display:block;padding:0;margin:0;border:0;background:none;cursor:zoom-in;border-radius:14px;transition:transform .25s ease}
.avatar:hover{transform:scale(1.04)}
.avatar:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.avatar img{display:block;width:88px;height:88px;object-fit:cover;border-radius:14px}
.socials{list-style:none;margin:48px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:20px 44px}
.social{display:flex;flex-direction:column;gap:4px;min-height:44px;text-decoration:none}
.social-n{font-size:22px;font-weight:600;letter-spacing:-.02em}
.social-l{font-size:14px;color:var(--muted);text-decoration-line:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color .2s}
.social:hover .social-l{text-decoration-color:currentColor}
.clients-label{max-width:720px;margin:0 auto 32px;padding:0 40px}
.band{overflow:hidden;display:flex;flex-direction:column;gap:40px;padding:8px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.track{display:flex;width:max-content;animation:mq 80s linear infinite}
.track.rev{animation-direction:reverse}
.band:hover .track{animation-play-state:paused}
.grp{display:flex;align-items:center;gap:80px;padding-right:80px}
.wm{text-decoration:none;font-size:24px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;opacity:.5;transition:opacity .2s}
a.wm:hover{opacity:1}
.more-link{max-width:720px;margin:32px auto 0;padding:0 40px;font-size:15px}
.home-sections{max-width:720px;margin:0 auto;padding:120px 40px 0;display:flex;flex-direction:column;gap:88px}
.home-sections p{font-size:19px;line-height:1.55}
.inv-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.inv-list li{padding:20px 0;border-bottom:1px solid var(--rule)}
.inv-name{font-size:17px;line-height:1.5}
.inv-name b{font-weight:500}
.inv-meta{margin-top:6px;font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lightbox{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:40px;background:rgba(10,10,10,.9);cursor:zoom-out;animation:fadein .25s ease}
.lightbox[hidden]{display:none}
.lightbox img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;border-radius:8px}
.lightbox .close{position:absolute;top:20px;right:20px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}
@media (prefers-reduced-motion:reduce){.track{animation:none}.stars i{animation:none}}
@media (max-width:720px){.hero{padding:72px 24px 80px}.hero p{font-size:24px}.clients-label,.more-link,.home-sections{padding-left:24px;padding-right:24px}}

/* inner pages */
.page{max-width:720px;margin:0 auto;padding:96px 40px 0}
.page.wide{max-width:960px}
.back{font-size:15px;text-decoration:none;opacity:.7}
.case-eyebrow{margin-top:40px}
.case-title{margin:16px 0 0;font-size:64px;line-height:1.02;letter-spacing:-.035em;font-weight:600}
.page-title{margin:32px 0 0;font-size:48px;line-height:1.1;letter-spacing:-.03em;font-weight:600}
.intro{margin:20px 0 0;font-size:19px;line-height:1.55;color:var(--muted)}
.summary{margin:48px 0 0;font-size:21px;line-height:1.55;letter-spacing:-.01em}
.summary+.summary{margin-top:24px}
.stats{margin:64px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px 40px}
.stats>div{border-top:1px solid var(--fg);padding-top:16px;display:flex;flex-direction:column}
.stats dd{margin:0;font-size:48px;line-height:1;letter-spacing:-.035em;font-weight:600}
.stats dt{order:2;margin:12px 0 0;font-size:15px;color:var(--muted)}
.work-section{margin-top:80px}
.posters{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.wides{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}
.wides>li:first-child{grid-column:1 / -1}
.poster{display:flex;flex-direction:column;text-decoration:none}
.poster-frame{position:relative;display:block;aspect-ratio:9/16;border-radius:12px;overflow:hidden;background:var(--tile);transition:transform .25s ease}
.poster-frame.wide{aspect-ratio:16/9}
.poster-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.poster:hover .poster-frame{transform:translateY(-4px)}
.poster-play{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:999px;background:#fff;color:#111;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
.poster:hover .poster-play,.poster:focus-visible .poster-play{opacity:1}
.poster-d{margin-top:16px;font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;color:var(--muted)}
.poster-t{margin-top:6px;font-size:17px;font-weight:500;letter-spacing:-.01em;text-decoration-line:underline;text-decoration-color:transparent;text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-color .2s}
.poster:hover .poster-t{text-decoration-color:currentColor}
.poster-s{margin-top:4px;font-size:14px;line-height:1.45;color:var(--muted)}
@media (max-width:720px){
  .page{padding:64px 24px 0}
  .case-title{font-size:48px}
  .posters{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:24px;gap:14px;margin:24px -24px 0;padding:0 24px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .posters::-webkit-scrollbar{display:none}
  .posters>li{flex:0 0 62%;scroll-snap-align:start}
  .posters::after{content:"";flex:0 0 10px}
  .wides{grid-template-columns:minmax(0,1fr)}
  .site-footer{padding-left:24px;padding-right:24px}
}
.pn-nav{margin-top:120px;padding-top:24px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}
.pn{text-decoration:none;display:flex;flex-direction:column;gap:6px;min-height:44px}
.pn.next{text-align:right}
.pn-name{font-size:19px;font-weight:500}
.pn:hover .pn-name{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.cta{margin-top:96px;padding:56px 0;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}
.cta p{margin:0;font-size:24px;letter-spacing:-.02em;font-weight:500}

/* client list */
.groups{margin-top:72px;display:flex;flex-direction:column;gap:64px}
.group-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--fg)}
.group-head h2{color:var(--fg)}
.group-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));column-gap:40px}
.group-list li{border-bottom:1px solid var(--rule)}
.client{display:flex;justify-content:space-between;align-items:center;min-height:56px;font-size:18px;letter-spacing:-.01em;text-decoration:none;color:var(--muted)}
a.client{color:var(--fg);font-weight:500}
a.client .arr{opacity:.4;transition:transform .2s,opacity .2s}
a.client:hover .arr{opacity:1;transform:translateX(4px)}

/* form */
.field{width:100%;min-height:52px;padding:12px 0;border:0;border-bottom:1px solid rgba(128,128,128,.4);border-radius:0;background:transparent;color:inherit;font:inherit;font-size:18px;transition:border-color .2s}
.field:focus{outline:none;border-bottom-color:currentColor}
.field::placeholder{color:inherit;opacity:.45}
select.field{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 7px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}
select.field option{color:#111;background:#fff}
textarea.field{resize:vertical;min-height:120px;line-height:1.5}
.lbl{display:block;font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.65}
.inquiry{margin-top:64px;display:flex;flex-direction:column;gap:48px}
.inquiry fieldset{margin:0;padding:0;border:0}
.inquiry legend{padding:0;margin-bottom:16px}
.kinds{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}
.pill{position:relative;display:flex;justify-content:center;align-items:center;min-height:44px;padding:0 12px;border-radius:999px;border:1px solid rgba(128,128,128,.4);font-size:15px;font-weight:500;text-align:center;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.pill input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.pill:has(input:checked){background:var(--fg);color:var(--bg);border-color:var(--fg)}
.pill:focus-within{outline:2px solid currentColor;outline-offset:2px}
@media (max-width:720px){.kinds{grid-template-columns:repeat(2,minmax(0,1fr))}}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px}
.grid2[hidden],.inquiry [hidden]{display:none}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.form-foot .btn{min-height:48px;padding:0 28px}
.form-error{margin:0;font-size:15px;color:#C0392B}
:root[data-theme="dark"] .form-error{color:#FF8A7A}
.founder-note{margin:80px 0 0;padding-top:24px;border-top:1px solid var(--rule);font-size:15px;color:var(--muted)}
.founder-note a{color:var(--fg)}
.hp{position:absolute;left:-9999px}
.linkbtn{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:15px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.summary b{font-weight:600}
