:root{--paper:#f5f3ec;--ink:#282c24;--muted:#74776c;--line:#d8d9cf;--green:#dce8ae;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #799338;outline-offset:5px}button{border:0}em{font-weight:normal}main,.header,footer{max-width:1440px;margin:auto;padding-left:64px;padding-right:64px}.header{height:112px;display:flex;align-items:center;gap:80px;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:46px;letter-spacing:-4px;font-weight:bold}.brand span,.footer-name span{color:#8da44b}.header nav{display:flex;gap:32px;font-size:13px}.header nav a{padding:12px 0;position:relative;color:#62665b}.header nav a:hover,.header nav a[aria-current]{color:var(--ink)}.header nav a[aria-current]:after{content:'';position:absolute;bottom:2px;left:50%;width:4px;height:4px;border-radius:50%;background:var(--ink)}.header-note{font-size:9px;letter-spacing:1.7px;margin-left:auto;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.8px;line-height:1.7;font-weight:500}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8c9e5b;margin-right:9px}.home-hero{padding:66px 0 58px;display:flex;justify-content:space-between;align-items:flex-end;gap:50px}h1,h2,h3,p{margin-top:0}h1{font:normal clamp(54px,6.5vw,94px)/1.04 var(--serif);letter-spacing:-4.8px;margin:24px 0 0}h1 em{color:#6e795d}.hero-aside{width:260px;padding-bottom:4px}.hero-aside p{font-size:14px;line-height:1.8;color:#64695d;margin-bottom:28px}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid #a8ae9b;padding-bottom:8px}.text-link:hover{color:#6b803d}.section-line{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-bottom:24px;font-size:9px;letter-spacing:1.5px;color:#71756b}.home-grid{display:grid;grid-template-columns:1.32fr 1fr 1fr;gap:18px}.portal{min-height:500px;border-radius:5px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:26px;color:#fff;isolation:isolate}.portal>img{position:absolute;inset:0;height:100%;z-index:-3;transition:transform .7s}.portal:hover>img{transform:scale(1.045)}.portal:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0003 0%,transparent 25%,#121b16c9 100%);z-index:-1}.portal-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.portal-top>span:first-child{font-size:8px;letter-spacing:1.4px}.circle{width:29px;height:29px;display:grid;place-items:center;border:1px solid #ffffff78;border-radius:50%;font-size:18px;transition:background .2s}.portal:hover .circle{background:#ffffff25}.portal-bottom h2{font:normal 38px/1.1 var(--serif);letter-spacing:-1.1px;margin:0 0 17px}.portal-bottom p{font-size:12px;line-height:1.7;opacity:.8;margin-bottom:28px}.portal-link{font-size:10px;display:flex;justify-content:space-between;border-top:1px solid #ffffff50;padding-top:17px}.portal-link>span{font-size:17px}.games-portal{background:var(--green);color:#303c27}.games-portal:after{display:none}.games-portal .circle{border-color:#34452955}.games-portal .portal-link{border-color:#34452940}.game-art{position:absolute;inset:70px 0 auto;height:205px;overflow:hidden;z-index:-1}.art-star{font-size:165px;position:absolute;right:30px;top:-15px;color:#839c4d;transform:rotate(15deg)}.orbit{border:1px solid #8b9d5866;width:280px;height:110px;position:absolute;transform:rotate(-30deg);top:50px;left:-30px;border-radius:50%}.orbit.two{transform:rotate(35deg)}.art-coordinate{position:absolute;left:28px;top:130px;font:7px monospace;letter-spacing:1px;transform:rotate(-90deg);transform-origin:left}.play-badge{width:36px;height:36px;border:1px solid #ffffff99;border-radius:50%;display:grid;place-items:center;font-size:10px;margin-bottom:20px;background:#ffffff16}.home-note{text-align:center;padding:76px 0 80px}.home-note>p:nth-child(2){font:30px/1.35 var(--serif);letter-spacing:-.5px;margin:20px 0}.home-note>span{font-size:11px;color:var(--muted)}footer{border-top:1px solid var(--line);padding-top:30px;padding-bottom:32px;display:flex;align-items:center;gap:28px}.footer-name{font:22px var(--serif)}footer p{font-size:10px;color:var(--muted);margin:0}footer>a:nth-last-child(2){margin-left:auto;font-size:10px}footer small{font-size:9px;color:var(--muted)}.page-intro{padding:62px 0 42px}.page-intro h1{font-size:clamp(48px,6vw,80px);max-width:1000px}.intro-copy{max-width:490px;margin:27px 0 0;font-size:14px;line-height:1.8;color:#64695d}.projects{margin-bottom:80px}.project{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding:28px 0;gap:70px;align-items:center}.project-art{height:320px;position:relative;overflow:hidden;border-radius:4px;display:flex;align-items:center;padding:40px}.project-art b{font:italic bold 68px/.9 var(--serif);letter-spacing:-3px;z-index:1}.art-index{position:absolute;top:22px;left:24px;font:9px monospace;letter-spacing:1.8px}.racing{background:#e67342;color:#292d24}.race-lines{position:absolute;inset:-80px -50px;border:35px solid #272d2533;border-radius:45%;transform:rotate(-32deg)}.race-lines:after{content:'';position:absolute;inset:25px;border:1px dashed #f4c2a9;border-radius:40%}.htstr{background:#dce8ae}.htstr b{font:normal 70px var(--serif);align-self:flex-end}.huge-star{position:absolute;right:35px;top:20px;font-size:230px;color:#8b9e58}.tiny-dot{color:#8b9e58}.football{background:#34564d;color:#f2edda}.football i{color:#dce8ae}.pitch{position:absolute;inset:45px 28px;border:1px solid #ffffff40}.pitch:before{content:'';width:120px;height:120px;border:1px solid #ffffff40;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pitch:after{content:'';height:100%;width:1px;background:#ffffff40;position:absolute;left:50%}.project-copy h2{font:normal 40px var(--serif);letter-spacing:-1px;margin:15px 0}.project-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);max-width:350px}.button{display:inline-flex;align-items:center;gap:48px;background:var(--ink);color:#fff;padding:16px 20px;font-size:11px;border-radius:2px;margin:12px 0}.button:hover{background:#4b583a}.domain{display:block;font-size:9px;color:var(--muted);margin-top:9px}.notice{padding:16px 18px;border:1px solid var(--line);font-size:11px;color:#696f60;line-height:1.7}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;margin:38px 0 28px;gap:15px}.gallery-toolbar>.eyebrow{margin:0}.filters{display:flex;gap:5px;flex-wrap:wrap}.filters button{background:transparent;padding:9px 15px;border-radius:30px;font-size:11px}.filters button[aria-pressed=true]{background:var(--ink);color:#fff}.filters button:hover{background:#e0e4d5;color:var(--ink)}.shoots{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-bottom:80px}.shoot-cover{position:relative;width:100%;padding:0;display:block;background:#dedfd5;border-radius:3px;overflow:hidden}.shoot-cover img{height:380px;transition:transform .6s}.shoot-cover:hover img{transform:scale(1.04)}.sample-badge{position:absolute;top:15px;left:15px;background:#f5f3ece8;padding:8px;font-size:8px;letter-spacing:1px}.view-shoot{position:absolute;bottom:20px;right:20px;padding:10px 14px;background:#f5f3ec;font-size:10px}.shoot-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:.6px;margin:18px 0 12px}.shoot h2{font:normal 28px var(--serif);letter-spacing:-.5px;margin-bottom:13px}.shoot h2 button{background:none;padding:0;text-align:left;font:inherit}.shoot p{font-size:12px;line-height:1.8;color:var(--muted)}[hidden]{display:none!important}.modal-open{overflow:hidden}.lightbox{position:fixed;max-width:1200px;width:94vw;max-height:95dvh;background:#20261f;color:#f5f3ec;border:0;border-radius:5px;padding:22px}.lightbox::backdrop{background:#101510dd}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:18px}.lightbox button{background:transparent;color:inherit;padding:12px;border:1px solid #ffffff50;border-radius:3px}.lightbox-image{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:16px}.lightbox-image img{height:70dvh;object-fit:contain}.lightbox-image button{padding:12px 0}.lightbox>p{font-size:11px;line-height:1.5;text-align:center;margin:18px 0 0}.vlog-feature{position:relative;isolation:isolate;min-height:460px;display:flex;align-items:center;padding:48px;border-radius:4px;overflow:hidden;color:#fff}.vlog-feature>img{position:absolute;inset:0;height:100%;z-index:-2;object-position:center 55%}.vlog-feature:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#172e28e8,#172e2899 50%,#172e2811);z-index:-1}.vlog-feature>div{max-width:410px}.vlog-feature h2{font:normal 62px/1.05 var(--serif);letter-spacing:-2px;margin:23px 0}.vlog-feature>div>p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:340px;opacity:.85}.button.light{background:var(--paper);color:var(--ink)}.button.light:hover{background:var(--green)}.coming-soon{font-size:9px;letter-spacing:1.5px;display:inline-block;margin-top:18px}.video-section{margin:48px 0 75px}.video-empty{display:flex;gap:35px;justify-content:center;align-items:center;padding:45px 0}.empty-play{font-size:45px;color:#7e8c62;border:1px solid var(--line);border-radius:50%;height:92px;width:92px;display:grid;place-items:center;flex-shrink:0}.video-empty h3{font:30px var(--serif);margin-bottom:14px}.video-empty p{font-size:12px;line-height:1.8;color:var(--muted)}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.video-thumb{position:relative;display:block;margin-bottom:20px}.video-thumb img{aspect-ratio:16/9}.video-thumb .play-badge{position:absolute;left:calc(50% - 18px);top:calc(50% - 18px);color:white;background:#0008}.video-grid h2{font:28px var(--serif)}.video-grid article>p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--muted)}.skip{position:fixed;top:-80px;left:15px;background:var(--ink);color:white;padding:15px;z-index:10}.skip:focus{top:10px}body:has(main>.button) main{padding-bottom:80px}
@media(min-width:1550px){.portal{min-height:560px}.game-art{top:90px}.portal-bottom h2{font-size:43px}}
@media(max-width:1100px){main,.header,footer{padding-left:36px;padding-right:36px}.header{gap:55px}.header-note{font-size:8px;letter-spacing:1px}.portal{padding:22px;min-height:470px}.portal-bottom h2{font-size:32px}.portal-top>span:first-child{font-size:7px}.home-hero{gap:25px}h1{letter-spacing:-3px}.hero-aside{width:220px}.project{gap:40px}.shoot-cover img{height:310px}}
@media(max-width:760px){main,.header,footer{padding-left:22px;padding-right:22px}.header{height:86px;justify-content:space-between;gap:25px}.brand{font-size:39px}.header-note{display:none}.header nav{gap:22px;font-size:12px}.home-hero{padding:40px 0 35px;display:block}.home-hero h1{font-size:clamp(51px,9.6vw,70px);letter-spacing:-2.8px}.hero-aside{width:auto;max-width:350px;margin-top:25px}.hero-aside p{font-size:13px;margin-bottom:18px}.home-grid{grid-template-columns:1fr 1fr;gap:14px}.photo-portal{grid-column:1/-1;min-height:480px}.photo-portal img{object-position:50% 55%}.portal{min-height:410px}.portal-bottom h2{font-size:32px}.portal-top>span:first-child{font-size:7px;max-width:135px;line-height:1.6}.portal-bottom p{font-size:11px}.portal-link{font-size:9px}.home-note{padding:55px 0}.home-note>p:nth-child(2){font-size:27px}footer{flex-wrap:wrap;gap:15px;padding-top:25px;padding-bottom:25px}footer p{width:calc(100% - 145px)}footer>a:nth-last-child(2){margin-left:0}footer small{margin-left:auto}.page-intro{padding:42px 0 32px}.page-intro h1{font-size:54px;letter-spacing:-2.6px}.project{gap:25px}.project-art{height:270px;padding:25px}.project-art b{font-size:50px}.project-copy h2{font-size:32px}.project-copy>p:not(.eyebrow){font-size:12px}.huge-star{font-size:185px;right:0}.shoots{grid-template-columns:1fr 1fr;gap:24px 18px}.shoot-cover img{height:320px}.shoot h2{font-size:25px}.gallery-toolbar{align-items:flex-start;flex-direction:column;margin-top:25px}.vlog-feature{padding:32px;min-height:430px}.vlog-feature h2{font-size:53px}.video-grid{grid-template-columns:1fr 1fr}.video-empty{gap:22px}.video-empty h3{font-size:26px}.lightbox{padding:12px}.lightbox-image{grid-template-columns:32px 1fr 32px;gap:5px}.lightbox-image img{height:65dvh}}
@media(max-width:480px){.header nav{gap:18px}.home-grid{grid-template-columns:1fr}.photo-portal{min-height:460px}.portal{min-height:440px;padding:25px}.games-portal{min-height:410px}.game-art{top:55px;left:100px}.portal-bottom h2{font-size:39px}.portal-top>span:first-child{font-size:8px;max-width:none}.portal-bottom p{font-size:12px}.portal-link{font-size:10px}.page-intro h1{font-size:46px}.project{grid-template-columns:1fr;gap:25px;padding:24px 0 35px}.project-art{height:290px}.project-copy h2{font-size:36px}.project-copy>p:not(.eyebrow){font-size:14px}.shoots{grid-template-columns:1fr}.shoot-cover img{height:410px}.shoot h2{font-size:30px}.shoot p{font-size:13px}.notice{font-size:10px}.vlog-feature{padding:28px}.vlog-feature h2{font-size:47px}.video-empty{align-items:flex-start;gap:15px;padding:25px 0}.empty-play{height:46px;width:46px;font-size:25px}.video-empty h3{font-size:24px}.video-empty p br{display:none}.video-grid{grid-template-columns:1fr}.intro-copy{font-size:13px}footer p{font-size:9px}.header nav a{padding:12px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.album-intro>.text-link{margin-bottom:30px;display:inline-block}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0 0 70px}.album-grid figure{margin:0;min-width:0}.album-photo{padding:0;display:block;width:100%;background:transparent;overflow:hidden;border-radius:3px}.album-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s}.album-photo:hover img{transform:scale(1.025)}.album-grid figcaption{margin-top:12px;font-size:11px;line-height:1.6;color:var(--muted)}@media(max-width:760px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}}@media(max-width:480px){.album-grid{grid-template-columns:1fr}.album-photo img{aspect-ratio:3/2}}
.album-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px;padding:24px 0;margin:16px 0;font-size:14px}.album-pagination span{text-align:center}
