:root{--shu:#bc002d;--shu-deep:#8e0021;--sumi:#0a0a0a;--sumi-2:#141414;--sumi-3:#1c1c1c;--kami:#f5f2ec;--kami-2:#eae5da;--hai:#6b6b6b;--hai-2:#9a9a9a;--hai-soft:#2a2a2a;--f-display:"Geist",system-ui,sans-serif;--f-body:"Geist",system-ui,sans-serif;--f-mono:"Space Mono",ui-monospace,"Menlo",monospace;--f-serif:"Newsreader","Cormorant Garamond",Georgia,serif;--f-jp:"Noto Sans JP",system-ui,sans-serif;--bg:var(--sumi);--bg-2:var(--sumi-2);--bg-3:var(--sumi-3);--fg:var(--kami);--fg-dim:var(--hai-2);--rule:hsla(40,31%,94%,.14);--rule-strong:hsla(40,31%,94%,.32);--accent:var(--shu)}[data-theme=light]{--bg:var(--kami);--bg-2:#efeae0;--bg-3:#e4decf;--fg:var(--sumi);--fg-dim:var(--hai);--rule:hsla(0,0%,4%,.12);--rule-strong:hsla(0,0%,4%,.32);--accent:var(--shu)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11";transition:background-color .22s ease,color .22s ease}body{min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}::selection{background:var(--shu);color:var(--kami)}.display{font-family:var(--f-display);font-weight:700;letter-spacing:-.025em;line-height:.92;text-wrap:balance}.mono{font-family:var(--f-mono);font-weight:400;letter-spacing:.01em;text-transform:uppercase;font-size:11px;font-feature-settings:"tnum","zero"}.mono-sm{font-size:10.5px;letter-spacing:.06em}.eyebrow{font-family:var(--f-mono);text-transform:uppercase;font-size:11px;letter-spacing:.12em;color:var(--fg-dim)}.serif-it{font-family:var(--f-serif);font-style:italic;font-weight:300;letter-spacing:-.005em}.jp{font-family:var(--f-jp);font-weight:400}.page{min-height:100vh;width:100%;padding-top:64px}.frame{width:100%;max-width:1480px;margin:0 auto;padding:0 32px}.rule{border-top:1px solid var(--rule)}.rule-b{border-bottom:1px solid var(--rule)}.crop{position:relative}.crop:after,.crop:before,.crop>.crop-bl,.crop>.crop-tr{content:"";position:absolute;width:14px;height:14px;border:0 solid;opacity:.7;pointer-events:none}.crop:before{top:-1px;left:-1px;border-top-width:1px;border-left-width:1px}.crop:after{bottom:-1px;right:-1px;border-bottom-width:1px;border-right-width:1px}.crop>.crop-tr{top:-1px;right:-1px;border-top-width:1px;border-right-width:1px}.crop>.crop-bl{bottom:-1px;left:-1px;border-bottom-width:1px;border-left-width:1px}.ph{position:relative;overflow:hidden;background:var(--bg-2);color:var(--fg-dim)}.ph:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 80% 20%,rgba(188,0,45,.18),transparent 55%),radial-gradient(80% 60% at 20% 100%,hsla(40,31%,94%,.08),transparent 55%);pointer-events:none}.page-fade{animation:fadein .32s ease-out both;opacity:1}@keyframes fadein{0%{transform:translateY(6px)}to{transform:translateY(0)}}@media (hover:hover) and (pointer:fine){body{cursor:none}.ml-cursor{position:fixed;top:0;left:0;width:14px;height:14px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:difference;transition:width .22s cubic-bezier(.2,.8,.2,1),height .22s cubic-bezier(.2,.8,.2,1),background-color .22s ease;will-change:left,top,width,height}.ml-cursor.is-link{width:44px;height:44px;background:var(--kami)}.ml-cursor.is-hidden{opacity:0}.ml-cursor-ring{position:fixed;top:0;left:0;width:32px;height:32px;border:1px solid var(--accent);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:transform .38s cubic-bezier(.2,.8,.2,1);opacity:.6;will-change:left,top}}.ml-curtain{position:fixed;inset:0;z-index:9000;pointer-events:none;display:grid;grid-template-columns:repeat(6,1fr);overflow:hidden}.ml-stripe{position:relative;background:var(--sumi);transform:translateY(-101%);will-change:transform}.ml-stripe:nth-child(2n){background:var(--sumi-2)}.ml-curtain.is-in .ml-stripe{animation:stripeIn .5s cubic-bezier(.65,0,.25,1) forwards}.ml-curtain.is-out .ml-stripe{animation:stripeRise .56s cubic-bezier(.5,0,.25,1) forwards}@keyframes stripeIn{0%{transform:translateY(-101%)}to{transform:translateY(0)}}@keyframes stripeRise{0%{transform:translateY(0)}to{transform:translateY(-101%)}}.ml-curtain-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;opacity:0;color:var(--kami);font-family:var(--f-display);font-weight:700;font-size:clamp(48px,9vw,140px);letter-spacing:-.045em;z-index:1}.ml-curtain.is-in .ml-curtain-label{animation:curtainLabelIn .58s cubic-bezier(.2,.8,.2,1) .22s forwards}.ml-curtain.is-out .ml-curtain-label{animation:curtainLabelOut .54s cubic-bezier(.5,0,.25,1) forwards}@keyframes curtainLabelIn{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}@keyframes curtainLabelOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-60px)}}.ml-curtain-rule{width:0;height:2px;background:var(--accent);margin-top:24px}.ml-curtain.is-in .ml-curtain-rule{animation:ruleWipe .42s cubic-bezier(.7,0,.25,1) .32s forwards}@keyframes ruleWipe{to{width:220px}}.logo-draw svg>*{opacity:0;animation:logoIn .52s cubic-bezier(.4,0,.2,1) forwards}.logo-draw svg>:first-child{animation-delay:80ms}.logo-draw svg>:nth-child(2){animation-delay:.18s}.logo-draw svg>:nth-child(3){animation-delay:.24s}.logo-draw svg>:nth-child(4){animation-delay:.28s}.logo-draw svg>:nth-child(5){animation-delay:.32s}.logo-draw svg>:nth-child(6){animation-delay:.36s}.logo-draw svg>:nth-child(7){animation-delay:.4s}@keyframes logoIn{0%{opacity:0}to{opacity:1}}.reveal-word{display:inline-block;overflow:hidden;vertical-align:bottom}.reveal-word>span{display:inline-block;transform:translateY(110%);animation:wordRise .72s cubic-bezier(.2,.8,.2,1) forwards}@keyframes wordRise{to{transform:translateY(0)}}.io-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);will-change:opacity,transform}.io-reveal.is-in{opacity:1;transform:translateY(0)}.ml-marq{overflow:hidden;white-space:nowrap;width:100%}.ml-marq-track{display:inline-flex;gap:56px;padding-right:56px;animation:marq 36s linear infinite}@keyframes marq{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.ml-cta{position:relative;display:inline-flex;align-items:center;gap:12px;background:var(--accent);color:var(--kami);padding:12px 22px;letter-spacing:.16em;text-transform:uppercase;font-family:var(--f-mono);font-size:11px;overflow:hidden;isolation:isolate;text-decoration:none;cursor:pointer;border:none;line-height:1.2}.ml-cta-bg{position:absolute;inset:0;background:var(--sumi);transform:translateX(-101%);transition:transform .52s cubic-bezier(.7,0,.25,1);z-index:0}.ml-cta:hover .ml-cta-bg{transform:translateX(0)}.ml-cta-rotor{position:relative;z-index:1;display:block;overflow:hidden;height:1.2em}.ml-cta-line{display:flex;align-items:center;height:1.2em;transform:translateY(0);transition:transform .48s cubic-bezier(.7,0,.25,1)}.ml-cta:hover .ml-cta-line{transform:translateY(-100%)}.ml-cta-arrow{position:relative;z-index:1;display:inline-block;width:16px;height:1px;background:currentColor;transition:width .52s cubic-bezier(.7,0,.25,1),transform .52s cubic-bezier(.7,0,.25,1)}.ml-cta-arrow:after{content:"";position:absolute;right:0;top:50%;width:6px;height:6px;border-top:1px solid;border-right:1px solid;transform:translate(50%,-50%) rotate(45deg)}.ml-cta:hover .ml-cta-arrow{width:32px;transform:translateX(4px)}.ml-flink{position:relative;display:inline-flex;align-items:baseline;gap:10px;color:inherit;text-decoration:none;padding-bottom:3px;isolation:isolate;line-height:1.2}.ml-flink-rotor{overflow:hidden;display:inline-block;line-height:1.2em;height:1.2em}.ml-flink-rotor .l{display:block;transform:translateY(0);transition:transform .52s cubic-bezier(.7,0,.25,1)}.ml-flink-rotor .l.ac{color:var(--accent)}.ml-flink:hover .ml-flink-rotor .l{transform:translateY(-100%)}.ml-flink-arrow{display:inline-flex;align-items:center;width:0;overflow:hidden;color:var(--accent);transition:width .48s cubic-bezier(.7,0,.25,1);white-space:nowrap;font-size:.95em;line-height:1}.ml-flink:hover .ml-flink-arrow{width:1.2em}.ml-flink:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--accent);transition:width .52s cubic-bezier(.7,0,.25,1)}.ml-flink:hover:after{width:100%}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border:1px solid var(--rule-strong);font-family:var(--f-mono);text-transform:uppercase;font-size:11px;letter-spacing:.14em;background:transparent;color:var(--fg);transition:background .16s ease,color .16s ease,border-color .16s ease}.btn:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn-accent{background:var(--accent);color:var(--kami);border-color:var(--accent)}.btn-accent:hover{background:var(--shu-deep);color:var(--kami);border-color:var(--shu-deep)}.dot{width:6px;height:6px;background:var(--accent);display:inline-block}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--rule-strong)}@media (max-width:900px){.frame{padding:0 20px}.page{padding-top:56px}}.r-split{display:grid;grid-template-columns:var(--split,1fr 1fr)}@media (max-width:900px){.r-split{grid-template-columns:1fr;gap:36px!important}}@media (max-width:640px){.r-cols-2{grid-template-columns:1fr!important}}@media (max-width:720px){.r-cols-3{grid-template-columns:1fr 1fr!important}}@media (max-width:460px){.r-cols-3{grid-template-columns:1fr!important}}@media (max-width:900px){.r-cols-4{grid-template-columns:1fr 1fr!important;gap:36px!important}}@media (max-width:560px){.r-cols-4{grid-template-columns:1fr!important}}@media (max-width:640px){.ml-nav-cta{display:none!important}.ml-nav-links{gap:0!important}.ml-nav-links a{padding:10px 9px!important;letter-spacing:.08em!important}.ml-nav-inner{gap:12px!important}}@media (max-width:760px){.work-thead{display:none!important}.work-row{grid-template-columns:1fr!important;gap:6px!important;padding:22px 0!important}.work-row .work-meta{display:flex!important;flex-wrap:wrap;gap:14px}.work-preview,.work-row .work-arrow{display:none!important}.work-layout{grid-template-columns:1fr!important}}@media (max-width:820px){.case-subnav-meta{display:none!important}}@media (max-width:520px){.case-subnav{height:auto!important;padding:10px 0!important}.case-subnav-inner{flex-direction:column!important;align-items:flex-start!important;gap:10px!important;height:auto!important}}@media (max-width:560px){.contact-submit-row{flex-direction:column!important;align-items:flex-start!important;gap:18px}}@media (max-width:640px){.r-hide-mobile{display:none!important}}.video-ph{overflow:hidden}.video-ph-play{position:absolute;top:50%;left:50%;width:84px;height:84px;transform:translate(-50%,-50%);border:1px solid var(--kami);border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--sumi) 35%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:transform .36s cubic-bezier(.2,.8,.2,1),background-color .36s ease}.video-ph:hover .video-ph-play{transform:translate(-50%,-50%) scale(1.08);background:color-mix(in srgb,var(--accent) 70%,transparent)}.video-ph-tri{width:0;height:0;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--kami);margin-left:5px}.video-ph-tag{position:absolute;top:14px;left:14px;color:var(--kami);background:color-mix(in srgb,var(--sumi) 55%,transparent);padding:5px 9px;letter-spacing:.14em;font-size:10px}.hero{flex-direction:column;justify-content:space-between;overflow:hidden;padding-top:96px;min-height:calc(100vh - 64px);min-height:calc(100svh - 64px)}.hero,.hero-main{position:relative;display:flex}.hero-main{flex:1 1 auto;flex-direction:column;justify-content:center;padding:64px 32px}.hero-toplabels{display:flex;justify-content:space-between;align-items:baseline;gap:16px;color:var(--fg-dim)}@media (max-width:640px){.hero-toplabels{flex-direction:column;gap:6px}.hero-toplabels .mono{font-size:11px}}.hero-mark{position:absolute;top:8%;right:32px;width:clamp(70px,9vw,130px);height:clamp(70px,9vw,130px);pointer-events:none}.hero-mark-spin{width:100%;height:100%;color:var(--accent);animation:heroSpin 22s linear infinite;transform-origin:50% 50%}@keyframes heroSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.hero-mark-spin{animation:none}}.hero-statement{margin:0;font-weight:700;font-size:clamp(44px,8.4vw,158px);line-height:.96;letter-spacing:-.045em;color:var(--fg);max-width:16ch}.hero-statement-accent{color:var(--accent)}.hero-labels{display:flex;flex-wrap:wrap;gap:48px;margin-top:clamp(40px,6vw,88px)}.hero-label{display:flex;flex-direction:column;gap:6px;max-width:22ch}.hero-label-key{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.hero-label-val{font-size:15px;line-height:1.4;color:var(--fg-dim)}@media (max-width:640px){.hero{padding-top:72px;min-height:calc(100vh - 56px);min-height:calc(100svh - 56px)}.hero-main{padding:20px 20px 12px}.hero-mark{position:relative;top:auto;right:auto;width:58px;height:58px;margin:0 0 22px auto}.hero-statement{font-size:clamp(38px,11.6vw,60px);max-width:none}.hero-labels{gap:14px 24px;margin-top:30px}.hero-label{max-width:none;flex:1 1 100%}.hero-label-val{font-size:14px}}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:28px;gap:28px}@media (max-width:900px){.work-grid{grid-template-columns:1fr 1fr;gap:20px}}@media (max-width:560px){.work-grid{grid-template-columns:1fr;gap:24px}}.work-card{display:block;width:100%;text-align:left;background:none;border:none;padding:0;cursor:pointer;color:var(--fg)}.work-card-frame{position:relative;overflow:hidden;background:#000}.work-card-frame>div{transition:transform .6s cubic-bezier(.2,.8,.2,1)}.work-card:hover .work-card-frame>div{transform:scale(1.03)}.work-card-frame iframe{pointer-events:none}.work-card-meta{display:flex;flex-direction:column;gap:5px;padding-top:14px}.work-card-play{position:absolute;top:50%;left:50%;width:60px;height:60px;transform:translate(-50%,-50%);border:1px solid var(--kami);border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--sumi) 40%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:transform .36s cubic-bezier(.2,.8,.2,1),background-color .36s ease;pointer-events:none}.work-card:hover .work-card-play{transform:translate(-50%,-50%) scale(1.1);background:color-mix(in srgb,var(--accent) 75%,transparent)}.work-card-tri{width:0;height:0;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent var(--kami);margin-left:4px}.work-tab-short{display:none}@media (max-width:560px){.work-tabs{width:100%;flex-wrap:wrap}.work-tab{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 4px);justify-content:center;padding:11px 10px!important}.work-tab-long{display:none}.work-tab-short{display:inline}}.ml-lightbox{position:fixed;inset:0;z-index:9500;background:color-mix(in srgb,var(--sumi) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:64px 32px;animation:fadein .24s ease-out both}@media (max-width:640px){.ml-lightbox{padding:64px 12px 24px}}.ml-lightbox-close{position:absolute;top:22px;right:24px;z-index:2;background:transparent;border:1px solid var(--rule-strong);color:var(--kami);padding:10px 16px;letter-spacing:.14em;cursor:pointer;transition:background-color .16s ease,color .16s ease}.ml-lightbox-close:hover{background:var(--kami);color:var(--sumi)}.ml-lightbox-count{position:absolute;top:26px;left:24px;z-index:2;color:var(--hai-2);letter-spacing:.18em}.ml-lightbox-viewport{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pinch-zoom}.ml-lightbox-htrack{display:flex;height:100%;width:100%;will-change:transform}.ml-lightbox-col{flex:0 0 100%;width:100%;height:100%;overflow:hidden;position:relative}.ml-lightbox-vtrack{height:100%;will-change:transform}.ml-lightbox-slide{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transform:scale(.92);opacity:.55;transition:transform .52s cubic-bezier(.16,1.02,.3,1),opacity .42s ease}.ml-lightbox-slide.is-active{transform:scale(1);opacity:1}.ml-lightbox-frame{background:#000;overflow:hidden;position:relative}.ml-lightbox-frame.is-vertical{height:min(78vh,860px);aspect-ratio:9/16}.ml-lightbox-frame.is-still{height:min(78vh,900px);aspect-ratio:4/5}.ml-lightbox-frame.is-pages{width:min(92vw,1180px);aspect-ratio:16/9;height:auto;max-height:80vh}@media (max-width:640px){.ml-lightbox-frame.is-vertical{height:76vh;width:auto;aspect-ratio:9/16;max-height:76vh;max-width:94vw}.ml-lightbox-frame.is-still{height:70vh;width:auto;aspect-ratio:4/5;max-height:70vh;max-width:94vw}.ml-lightbox-frame.is-pages{width:94vw;aspect-ratio:16/9;max-height:70vh}}.ml-lightbox-meta{text-align:center;max-width:90vw}.ml-lightbox-empty{color:var(--hai-2);letter-spacing:.1em;text-align:center;padding:40px 24px;border:1px dashed var(--rule-strong)}.ml-pages{position:absolute;inset:0;overflow:hidden;background:#000}.ml-pages-track{height:100%;will-change:transform}.ml-pages-page{height:100%;display:flex;align-items:center;justify-content:center}.ml-pages-page img{width:100%;height:100%;object-fit:contain;display:block;touch-action:pinch-zoom}.ml-pages-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3}.ml-pages-dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:color-mix(in srgb,var(--kami) 35%,transparent);cursor:pointer;transition:background-color .2s ease,transform .2s ease}.ml-pages-dot.is-on{background:var(--accent);transform:scale(1.35)}.ml-pages-count{position:absolute;top:12px;left:14px;z-index:3;color:var(--kami);background:color-mix(in srgb,var(--sumi) 65%,transparent);padding:4px 9px;font-size:11px;letter-spacing:.12em}.ml-pages-nav{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:3}.ml-pages-nav button{width:38px;height:38px;border:1px solid var(--rule-strong);background:color-mix(in srgb,var(--sumi) 55%,transparent);color:var(--kami);cursor:pointer;transition:background-color .16s ease,color .16s ease,opacity .16s ease}.ml-pages-nav button:hover:not(:disabled){background:var(--kami);color:var(--sumi)}.ml-pages-nav button:disabled{opacity:.3;cursor:default}@media (max-width:640px){.ml-pages-nav{display:none}}.ml-pages-tap{position:absolute;top:0;bottom:0;width:38%;border:none;background:transparent;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent}.ml-pages-tap-prev{left:0}.ml-pages-tap-next{right:0}.ml-pages-tap:disabled{cursor:default}.ml-pages-tap-prev:hover:not(:disabled){background:linear-gradient(to right,color-mix(in srgb,var(--sumi) 45%,transparent),transparent)}.ml-pages-tap-next:hover:not(:disabled){background:linear-gradient(to left,color-mix(in srgb,var(--sumi) 45%,transparent),transparent)}.ml-rotate-hint{position:absolute;inset:0;z-index:5;flex-direction:column;gap:20px;background:color-mix(in srgb,var(--sumi) 88%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.ml-rotate-hint,.ml-rotate-phone{display:flex;align-items:center;justify-content:center}.ml-rotate-phone{width:46px;height:78px;border:2.5px solid var(--kami);border-radius:9px;animation:rotatePhone 2.4s ease-in-out infinite;transform-origin:50% 50%}.ml-rotate-phone-body{width:60%;height:70%;background:color-mix(in srgb,var(--accent) 70%,transparent);border-radius:2px}@keyframes rotatePhone{0%,28%{transform:rotate(0deg)}58%,82%{transform:rotate(-90deg)}to{transform:rotate(0deg)}}.ml-rotate-label{font-family:var(--f-mono);text-transform:uppercase;font-size:11px;letter-spacing:.16em;color:var(--kami)}@media (prefers-reduced-motion:reduce){.ml-rotate-phone{animation:none;transform:rotate(-90deg)}}.vimeo-flash{position:absolute;top:50%;left:50%;width:78px;height:78px;margin:-39px 0 0 -39px;z-index:3;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--sumi) 55%,transparent);color:var(--kami);border-radius:50%;pointer-events:none;animation:vimeoFlash .48s ease-out forwards}.vimeo-flash svg{width:36px;height:36px}@keyframes vimeoFlash{0%{opacity:0;transform:scale(.6)}30%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.15)}}.vimeo-mute{position:absolute;bottom:14px;right:14px;z-index:4;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:color-mix(in srgb,var(--sumi) 65%,transparent);color:var(--kami);cursor:pointer;transition:background-color .16s ease,transform .16s ease}.vimeo-mute:hover{background:var(--accent);transform:scale(1.06)}.vimeo-mute svg{width:20px;height:20px}.ml-rotate-sublabel{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--kami) 70%,transparent);margin-top:-8px}@media (orientation:landscape) and (max-height:500px){.ml-lightbox{padding:0;height:100dvh}.ml-lightbox-frame.is-pages{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;aspect-ratio:auto}.ml-lightbox-slide .ml-lightbox-meta{display:none}.ml-lightbox-close{top:6px;right:6px;padding:6px 10px;font-size:10px}.ml-lightbox-count{top:8px;left:10px;font-size:10px}.ml-pages-count{top:6px}.ml-pages-dots{bottom:8px}}.ml-lightbox-frame.is-stack{width:min(94vw,1180px);height:min(82vh,920px);aspect-ratio:auto;overflow:hidden;position:relative}@media (max-width:640px){.ml-lightbox-frame.is-stack{width:94vw;height:78vh;max-height:78vh}}.ml-stack{overflow:hidden}.ml-stack,.ml-stack-bg{position:absolute;inset:0}.ml-stack-bg{background:radial-gradient(60% 60% at 10% 10%,color-mix(in srgb,var(--accent) 70%,transparent),transparent 60%),radial-gradient(70% 70% at 95% 95%,color-mix(in srgb,var(--accent) 38%,transparent),transparent 65%),repeating-linear-gradient(90deg,color-mix(in srgb,var(--kami) 4%,transparent) 0 1px,transparent 1px 36px),var(--sumi)}.ml-stack-header{position:absolute;top:22px;left:22px;z-index:3;display:flex;flex-direction:column;gap:6px;max-width:56%;pointer-events:none}.ml-stack-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--kami);opacity:.7}.ml-stack-title{font-size:clamp(22px,3.4vw,38px);font-weight:700;letter-spacing:-.025em;line-height:1.05;color:var(--kami)}.ml-stack-hint{margin-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);animation:stackHintPulse 2.6s ease-in-out infinite}@keyframes stackHintPulse{0%,to{opacity:.55}50%{opacity:1}}@media (max-width:640px){.ml-stack-header{top:14px;left:14px;max-width:90%}}.ml-stack-windows{position:absolute;inset:0}.ml-stack-window{position:absolute;width:56%;background:var(--sumi-2);border:1px solid var(--rule-strong);box-shadow:0 26px 50px -10px rgba(0,0,0,.6),0 6px 16px -4px rgba(0,0,0,.5);text-decoration:none;color:inherit;cursor:pointer;transition:transform .48s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease}.ml-stack-window-1{top:24%;right:6%;transform:rotate(-4deg);z-index:3}.ml-stack-window-2{top:44%;right:14%;transform:rotate(2deg);z-index:2}.ml-stack-window-3{top:64%;right:4%;transform:rotate(-1deg);z-index:1}.ml-stack-window:hover{transform:rotate(0deg) translateY(-6px) scale(1.03);z-index:5;box-shadow:0 32px 60px -10px rgba(0,0,0,.7),0 8px 20px -4px rgba(188,0,45,.35)}.ml-stack-chrome{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#131313;border-bottom:1px solid var(--rule-strong)}.ml-stack-chrome>span:not(.ml-stack-url){width:8px;height:8px;border-radius:50%;background:var(--hai-2)}.ml-stack-chrome>span:first-child{background:var(--accent)}.ml-stack-url{margin-left:8px;font-size:10px;color:color-mix(in srgb,var(--kami) 70%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ml-stack-screen{aspect-ratio:16/10;overflow:hidden;position:relative}.ml-stack-screen img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.ml-stack-caption{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#0d0d0d;border-top:1px solid var(--rule);font-size:11px;letter-spacing:.1em;color:var(--kami)}.ml-stack-caption-title{flex:0 1 auto;letter-spacing:.04em}.ml-stack-caption-client,.ml-stack-caption-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none}.ml-stack-caption-client{flex:1 1 auto;letter-spacing:.02em;color:color-mix(in srgb,var(--kami) 55%,transparent)}@media (max-width:640px){.ml-stack-caption-client{display:none}}.ml-stack-caption-arrow{color:var(--accent);font-size:13px}@media (max-width:640px){.ml-stack-window{width:78%}.ml-stack-window-1{top:26%;right:4%}.ml-stack-window-2{top:48%;right:10%}.ml-stack-window-3{top:70%;right:4%}.ml-stack-window:hover{transform:rotate(0deg)}.ml-stack-screen{aspect-ratio:16/9}}.ml-site{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--sumi)}.ml-site-chrome{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#1a1a1a;border-bottom:1px solid var(--rule-strong);flex:0 0 auto}.ml-site-dot{width:11px;height:11px;border-radius:50%;background:var(--hai-2);flex:0 0 auto}.ml-site-url{margin-left:10px;font-size:12px;letter-spacing:.06em;color:var(--kami);background:#0d0d0d;padding:5px 12px;border-radius:4px;text-overflow:ellipsis;white-space:nowrap}.ml-site-shot,.ml-site-url{flex:1 1 auto;overflow:hidden}.ml-site-shot{position:relative}.ml-site-shot img{width:100%;display:block;transition:transform 4s ease}.ml-site:hover .ml-site-shot img{transform:translateY(calc(-100% + 360px))}.ml-site-visit{position:absolute;bottom:16px;right:16px;z-index:3;background:var(--accent);color:var(--kami);padding:11px 18px;letter-spacing:.12em;font-size:12px;text-decoration:none;transition:transform .16s ease,filter .16s ease}.ml-site-visit:hover{transform:translateY(-2px);filter:brightness(1.12)}.work-card-site{position:absolute;inset:0;overflow:hidden;background:var(--sumi)}.work-card-site-bg{position:absolute;inset:0;background:radial-gradient(120% 100% at 18% 0,color-mix(in srgb,var(--accent) 70%,transparent),transparent 55%),radial-gradient(140% 100% at 100% 100%,color-mix(in srgb,var(--accent) 35%,transparent),transparent 60%),repeating-linear-gradient(90deg,color-mix(in srgb,var(--kami) 4%,transparent) 0 1px,transparent 1px 36px),var(--sumi)}.work-card-site-window{position:absolute;left:50%;top:50%;width:86%;transform:translate(-50%,-50%) rotate(-3deg);background:var(--sumi-2);border:1px solid var(--rule-strong);box-shadow:0 18px 40px -8px rgba(0,0,0,.55),0 4px 12px -2px rgba(0,0,0,.45);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.work-card:hover .work-card-site-window{transform:translate(-50%,-50%) rotate(-1deg) scale(1.04)}.work-card-site-chrome{display:flex;align-items:center;gap:5px;padding:8px 11px;background:#131313;border-bottom:1px solid var(--rule-strong)}.work-card-site-chrome span{width:8px;height:8px;border-radius:50%;background:var(--hai-2)}.work-card-site-chrome span:first-child{background:var(--accent)}.work-card-site-screen{aspect-ratio:16/10;overflow:hidden;position:relative}.work-card-site-screen img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.work-card-site-tag{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;background:color-mix(in srgb,var(--sumi) 75%,transparent);border:1px solid var(--rule-strong);font-size:10px;letter-spacing:.16em;color:var(--kami)}.work-card-site-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:liveDot 1.6s ease-in-out infinite}@keyframes liveDot{0%,to{opacity:1}50%{opacity:.35}}.ml-lightbox-nav{right:24px;top:50%;transform:translateY(-50%);flex-direction:column}.ml-lightbox-nav,.ml-lightbox-nav-h{position:absolute;display:flex;gap:10px;z-index:2}.ml-lightbox-nav-h{bottom:28px;left:50%;transform:translateX(-50%);flex-direction:row}.ml-lightbox-nav button,.ml-lightbox-nav-h button{width:46px;height:46px;border:1px solid var(--rule-strong);background:transparent;color:var(--kami);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .16s ease,color .16s ease,opacity .16s ease}.ml-lightbox-nav button:hover:not(:disabled),.ml-lightbox-nav-h button:hover:not(:disabled){background:var(--kami);color:var(--sumi)}.ml-lightbox-nav button:disabled,.ml-lightbox-nav-h button:disabled{opacity:.3;cursor:default}@media (max-width:640px){.ml-lightbox-nav,.ml-lightbox-nav-h{display:none}}.ml-lightbox-hint{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--kami);pointer-events:none;animation:hintPulse 4s ease-in-out both}.ml-hint-gesture{position:relative;width:44px;height:72px;border:1px solid var(--rule-strong);border-radius:22px;background:color-mix(in srgb,var(--sumi) 55%,transparent)}.ml-hint-dot{width:14px;height:14px;border-radius:50%;background:var(--accent);animation:hintSwipe 1.5s cubic-bezier(.5,0,.3,1) infinite}.ml-hint-chevrons,.ml-hint-dot{position:absolute;left:50%;margin-left:-7px}.ml-hint-chevrons{top:-22px;display:flex;flex-direction:column;gap:3px}.ml-hint-chevrons span{display:block;width:14px;height:14px;border-top:2px solid var(--kami);border-right:2px solid var(--kami);transform:rotate(-45deg);opacity:.3}.ml-hint-chevrons span:first-child{animation:hintChevron 1.5s ease-in-out 0s infinite}.ml-hint-chevrons span:nth-child(2){animation:hintChevron 1.5s ease-in-out .15s infinite}.ml-hint-chevrons span:nth-child(3){animation:hintChevron 1.5s ease-in-out .3s infinite}.ml-hint-label{font-family:var(--f-mono);text-transform:uppercase;font-size:11px;letter-spacing:.16em;color:var(--kami);background:color-mix(in srgb,var(--sumi) 70%,transparent);padding:6px 12px}@keyframes hintPulse{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}@keyframes hintSwipe{0%{top:44px;opacity:0}15%{opacity:1}70%{top:14px;opacity:1}85%{top:14px;opacity:0}to{top:44px;opacity:0}}@keyframes hintChevron{0%,to{opacity:.3}50%{opacity:1}}@media (max-width:600px){.services-strip{gap:10px 0!important}}.contact-card{display:flex;flex-direction:column;gap:14px;padding:36px 32px;border:1px solid var(--rule-strong);color:var(--fg);position:relative;isolation:isolate;overflow:hidden;min-height:200px;justify-content:space-between;transition:border-color .2s ease}.contact-card:before{content:"";position:absolute;inset:0;background:var(--accent);transform:translateY(101%);transition:transform .46s cubic-bezier(.7,0,.25,1);z-index:-1}.contact-card:hover{border-color:var(--accent)}.contact-card:hover:before{transform:translateY(0)}.contact-card:hover,.contact-card:hover .contact-card-go,.contact-card:hover .contact-card-kicker{color:var(--kami)}.contact-card-kicker{color:var(--fg-dim);letter-spacing:.16em;transition:color .2s ease}.contact-card-value{font-size:clamp(24px,3.4vw,38px);letter-spacing:-.025em;line-height:1.05}.contact-card-go{letter-spacing:.14em;color:var(--fg-dim);transition:color .2s ease}@media (max-width:560px){.contact-card{min-height:0;padding:28px 24px}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.work-card:focus-visible .work-card-frame{outline:2px solid var(--accent);outline-offset:4px}@media (prefers-reduced-motion:reduce){.ml-hint-chevrons span,.ml-hint-dot,.ml-marq-track,.ml-stack-hint,.work-card-site-tag-dot{animation:none!important}.ml-lightbox,.page-fade,.reveal-word>span{animation-duration:1ms!important}.ml-lightbox-htrack,.ml-lightbox-slide,.ml-lightbox-vtrack,.ml-pages-track{transition-duration:1ms!important}}