@font-face{font-family:Satoshi;src:url("../fonts/satoshi-variable.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}@font-face{font-family:"Satoshi val";src:local("Arial"),local("Helvetica Neue"),local("Liberation Sans");size-adjust:88.51%;ascent-override:114.11%;descent-override:27.12%;line-gap-override:0%}:root{--bone:#F5F8FA;--tint:#E7F1F7;--ink:#012333;--dim:#3F5A67;--line:#D2E1EA;--rule:#B1BDC2;--accent:#012333;--on-accent:#F5F8FA;--mark-a:#FFCA7F;--mark-a-ink:#012333;--mark-b:#86D2F9;--mark-b-ink:#012333;--mark-a-wave:#EFA945;--mark-b-wave:#45B2EE;--wave:#4895EA;--logo-1:#86D2F9;--logo-2:#FFCA7F;--logo-3:#4895EA;--logo-word:#012333;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;--s9:48px;--s10:56px;--s11:64px;--s12:80px;--s13:96px;--s14:120px;--s15:160px;--t-xs:12px;--t-sm:14px;--t-md:16px;--t-lg:20px;--t-xl:24px;--lh-xs:16px;--lh-sm:20px;--lh-md:24px;--lh-lg:28px;--lh-xl:32px;--h1:36px;--h1-lh:48px;--h2:28px;--h2-lh:32px;--h3:20px;--h3-lh:24px;--num:36px;--num-lh:40px;--gutter:20px;--sp:64px;--ctl:48px;--r-pill:24px;--r-chip:16px;--corner:8px}html[data-theme=dark]{--bone:#012333;--tint:#06344A;--ink:#EAF4FA;--dim:#9FC0D2;--line:#0A3F58;--rule:#0F4A66;--accent:#86D2F9;--on-accent:#012333;--mark-a:#FFCA7F;--mark-a-ink:#012333;--mark-b:#86D2F9;--mark-b-ink:#012333;--mark-a-wave:#EFA945;--mark-b-wave:#45B2EE;--wave:#4895EA;--logo-1:#86D2F9;--logo-2:#FFCA7F;--logo-3:#4895EA;--logo-word:#EAF4FA}@media(min-width:768px){:root{--gutter:40px;--sp:96px;--h1:56px;--h1-lh:72px;--h2:36px;--h2-lh:40px;--h3:24px;--h3-lh:28px;--num:48px;--num-lh:52px}}*,::after,::before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-behavior:smooth}body{margin:0;background:var(--bone);color:var(--ink);font-family:Satoshi,"Satoshi val",system-ui,sans-serif;font-size:var(--t-md);line-height:var(--lh-md);-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background .4s,color .4s}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}:focus-visible{outline:4px solid var(--accent);outline-offset:4px;border-radius:var(--s1)}::selection{background:var(--mark-a);color:var(--mark-a-ink)}h1,h2,h3{margin:0;letter-spacing:-.04em;font-weight:800}h1{font-size:var(--h1);line-height:var(--h1-lh)}h2{font-size:var(--h2);line-height:var(--h2-lh)}h3{font-size:var(--h3);line-height:var(--h3-lh)}p{margin:0}.wrap{max-width:1216px;margin:0 auto;padding-inline:var(--gutter)}.eyebrow{font-size:var(--t-xs);line-height:var(--lh-xs);letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--dim)}.small{font-size:var(--t-sm);line-height:var(--lh-sm)}.petal{border-radius:var(--rb-h) var(--rb-h) var(--rb-h) var(--rs-h)/var(--rb-v) var(--rb-v) var(--rb-v) var(--rs-v)}.petal-b{border-radius:var(--rb-h) var(--rs-h) var(--rb-h) var(--rb-h)/var(--rb-v) var(--rs-v) var(--rb-v) var(--rb-v)}.petal-c{border-radius:var(--rs-h) var(--rb-h) var(--rb-h) var(--rb-h)/var(--rs-v) var(--rb-v) var(--rb-v) var(--rb-v)}.leaf{border-radius:var(--rb-h) var(--rs-h) var(--rb-h) var(--rs-h)/var(--rb-v) var(--rs-v) var(--rb-v) var(--rs-v)}.ph{overflow:hidden;position:relative;background:var(--tint)}.ph img{width:100%;height:100%;object-fit:cover}.ph.ui{padding:var(--s6);display:grid;place-items:center}.ph.ui img{width:100%;height:auto;object-fit:contain;border-radius:var(--s2)}.divider{width:100%;height:64px;overflow:visible;color:var(--wave);opacity:.36;pointer-events:none}@media(min-width:768px){.divider{height:96px}}.divider svg{width:100%;height:100%;display:block;overflow:visible}.divider svg path{will-change:transform}header{position:sticky;top:0;z-index:60;background:var(--bone);border-bottom:1px solid transparent;transition:border-color .3s}header.stuck{border-bottom-color:var(--rule)}header .bar{display:flex;align-items:center;gap:var(--s6);padding-block:var(--s3)}.logo{display:flex;align-items:center;min-height:var(--ctl)}.logo svg{height:40px;width:auto;display:block}header .sp{margin-left:auto}header nav{display:flex;gap:var(--s6)}header nav a{color:var(--dim);font-size:var(--t-md);position:relative;min-height:var(--ctl);display:inline-flex;align-items:center;white-space:nowrap}header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:var(--s3);height:2px;background:var(--accent);transition:right .34s cubic-bezier(.2,.8,.2,1)}header nav a:hover{color:var(--ink)}header nav a:hover::after{right:0}.ctrls,.langs{display:flex;gap:var(--s1)}.langs button,.themebtn{font:inherit;font-size:var(--t-xs);font-weight:800;letter-spacing:.08em;background:0 0;border:1px solid var(--rule);color:var(--dim);cursor:pointer;height:var(--ctl);padding-block:0;padding-inline:var(--s4);border-radius:var(--r-pill);transition:background .28s,color .28s,border-color .28s}.langs button:hover,.themebtn:hover{color:var(--ink);border-color:var(--ink)}.langs button[aria-pressed=true]{background:var(--ink);color:var(--bone);border-color:var(--ink)}.themebtn{width:var(--ctl);height:var(--ctl);padding:0;border-radius:var(--r-pill);display:grid;place-items:center;position:relative;color:var(--dim)}.themebtn .ico{position:absolute;width:24px;height:24px;display:block;transition:opacity .32s,transform .4s cubic-bezier(.2,.8,.2,1)}.themebtn .sun{opacity:0;transform:rotate(-90deg) scale(.5)}.themebtn .moon,html[data-theme=dark] .themebtn .sun{opacity:1;transform:none}html[data-theme=dark] .themebtn .moon{opacity:0;transform:rotate(90deg) scale(.5)}.hero{padding-block:var(--s8) var(--sp);position:relative}.titlewave{position:absolute;left:50%;transform:translateX(-50%);width:100vw;top:0;height:0;color:var(--wave);opacity:.36;pointer-events:none;z-index:0;overflow:visible}.hero .cols{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:var(--s8)}@media(min-width:1080px){.hero .cols{grid-template-columns:1.3fr .7fr;gap:var(--s11);align-items:center}.portrait{margin-left:auto;margin-right:var(--s6)}}@media(min-width:1200px){:root{--gutter:64px;--sp:160px;--h1:64px;--h1-lh:80px;--h2:44px;--h2-lh:48px;--num:56px;--num-lh:60px}.hero .cols{gap:var(--s12)}}.kin{font-weight:400;font-variation-settings:"wght" 780}h1.kin{max-width:9.9411em}.kin .wd{display:inline-block;white-space:nowrap}.kin .sp{display:inline-block}.kin .ch{display:inline-block;text-align:center;will-change:font-variation-settings}.kin .mark{display:inline-block;padding-inline:var(--s3);border-radius:var(--r-pill);margin-inline:-4px;line-height:1;padding-bottom:var(--s2);position:relative}.kin .mark .pf{position:absolute;left:0;top:0;right:0;bottom:0;z-index:0;border-radius:inherit;overflow:hidden;pointer-events:none}.kin .mark .pf svg{display:block;width:100%;height:100%}.kin .mark .ch{position:relative;z-index:1}.kin .mark.a .pf path{fill:var(--mark-a-wave)}.kin .mark.b .pf path{fill:var(--mark-b-wave)}.kin .mark.a{background:var(--mark-a);color:var(--mark-a-ink)}.kin .mark.b{background:var(--mark-b);color:var(--mark-b-ink)}.lede{margin-top:var(--s6);color:var(--dim);max-width:44ch;font-size:var(--t-lg);line-height:var(--lh-lg)}.cta{display:inline-flex;align-items:center;gap:var(--s3);margin-top:var(--s7);background:var(--accent);color:var(--on-accent);font-weight:700;font-size:var(--t-md);height:var(--ctl);padding-inline:var(--s6);border-radius:var(--r-pill);transition:background .28s,transform .28s}.cta:hover{background:var(--ink);color:var(--bone);transform:translateX(4px)}.cta .ar{transition:transform .28s}.cta:hover .ar{transform:translateX(4px)}.avail{display:inline-flex;align-items:center;gap:var(--s2);margin-bottom:var(--s6)}.avail i{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}.ph.portrait{aspect-ratio:1/1;max-width:320px;margin-inline:auto;--rb-h:50%;--rb-v:50%;--rs-h:12.5%;--rs-v:12.5%}.ph.portrait img{object-position:50% 25%}.sh{display:flex;align-items:baseline;gap:var(--s6);flex-wrap:wrap;margin-bottom:var(--s9)}.sh .side{margin-left:auto;color:var(--dim);max-width:32ch;font-size:var(--t-md);line-height:var(--lh-md)}.work{padding-top:var(--sp)}.projects{display:grid;grid-template-columns:1fr;gap:var(--s12)}.ph{--rb-h:24%;--rb-v:32%;--rs-h:6%;--rs-v:8%}.project .ph{aspect-ratio:4/3;--rb-h:24%;--rb-v:32%;--rs-h:6%;--rs-v:8%;will-change:transform}.project:nth-child(odd) .ph{aspect-ratio:5/4;--rb-h:25.6%;--rb-v:32%;--rs-h:6.4%;--rs-v:8%}.project .ph.ui{--rb-h:15%;--rb-v:20%;--rs-h:3.75%;--rs-v:5%}.project:nth-child(odd) .ph.ui{--rb-h:16%;--rb-v:20%;--rs-h:4%;--rs-v:5%}@media(prefers-reduced-motion:reduce){.project .ph{transform:none!important}}.project h3{margin-top:var(--s5)}.project p{margin-top:var(--s2);color:var(--dim);max-width:40ch}.project .tags{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s4)}.project .tags i{font-style:normal;font-size:var(--t-xs);line-height:var(--lh-xs);font-weight:700;color:var(--dim);border:1px solid var(--rule);border-radius:var(--r-chip);height:32px;display:inline-flex;align-items:center;padding-inline:var(--s3);transition:color .3s,border-color .3s}.project:hover .tags i{color:var(--accent);border-color:var(--accent)}.project .more{display:inline-flex;align-items:center;gap:var(--s2);margin-top:var(--s4);font-weight:700;color:var(--accent);min-height:var(--ctl)}.project .more span{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.project:hover .more span{transform:translateX(4px)}.nums{padding-block:var(--sp) var(--s12)}.nums ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border-block:1px solid var(--rule)}@media(min-width:880px){.projects{grid-template-columns:1fr 1fr;gap:var(--s12) var(--s11)}.offset{margin-top:var(--s12)}.nums ul{grid-template-columns:repeat(4,1fr)}}.nums li{background:var(--bone);padding:var(--s6);transition:background .35s}.nums li:hover{background:var(--tint)}.nums b{display:block;font-size:var(--num);line-height:var(--num-lh);letter-spacing:-.045em;font-variation-settings:"wght" 800;font-variant-numeric:tabular-nums;transition:font-variation-settings .45s cubic-bezier(.2,.8,.2,1)}.nums li:hover b{font-variation-settings:"wght" 900}.nums span{display:block;margin-top:var(--s3);color:var(--dim);font-size:var(--t-sm);line-height:var(--lh-sm)}.studio{padding-block:var(--sp) var(--s12)}.stripe{display:grid;grid-template-columns:1fr;gap:var(--s9)}@media(min-width:880px){.stripe{grid-template-columns:1.1fr .9fr;gap:var(--s11);align-items:center}}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.gallery .ph:first-child{aspect-ratio:3/4;--rb-h:32%;--rb-v:24%;--rs-h:8%;--rs-v:6%}.gallery .ph:nth-child(2){aspect-ratio:3/4;margin-top:var(--s8);--rb-h:32%;--rb-v:24%;--rs-h:8%;--rs-v:6%}.gallery .ph:nth-child(3){aspect-ratio:4/3;grid-column:1/-1;--rb-h:24%;--rb-v:32%;--rs-h:6%;--rs-v:8%}.quote p{font-size:var(--h2);line-height:var(--h2-lh);font-weight:700;letter-spacing:-.03em;max-width:20ch}.quote .who{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s6)}.quote .who .ph{width:56px;height:56px;flex:none;--rb-h:50%;--rb-v:50%;--rs-h:12.5%;--rs-v:12.5%}.quote .who .ph img{object-position:50% 10%}.quote .who span{color:var(--dim);font-size:var(--t-sm);line-height:var(--lh-sm)}.cv{padding-top:var(--sp)}.cvgrid{display:grid;grid-template-columns:1fr;gap:var(--s12)}@media(min-width:880px){.cvgrid{grid-template-columns:1.35fr .65fr;gap:var(--s11)}}.cv h3.lbl{font-size:var(--t-xs);line-height:var(--lh-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-weight:800;margin-bottom:var(--s5)}.roles{list-style:none;margin:0;padding:0;border-top:2px solid var(--rule)}.roles li{border-bottom:1px solid var(--rule);position:relative}.roles .row,.roles a{display:grid;grid-template-columns:1fr;gap:var(--s1);padding:var(--s5) 0 var(--s5) var(--s6);position:relative}@media(min-width:640px){.roles .row,.roles a{grid-template-columns:176px 1fr auto;gap:var(--s6);align-items:baseline}}.roles .per{color:var(--dim);font-size:var(--t-sm);line-height:var(--lh-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.roles .rol{font-weight:800;letter-spacing:-.02em}.roles .org{display:block;color:var(--dim);font-size:var(--t-sm);line-height:var(--lh-sm);margin-top:var(--s1)}.roles .dur{color:var(--dim);font-size:var(--t-sm);line-height:var(--lh-sm);white-space:nowrap}.roles li::before{content:"";position:absolute;left:0;top:var(--s7);width:12px;height:12px;background:var(--rule);border-radius:46% 46% 46% 2px}.roles li.now::before{background:var(--accent)}.roles li.now .rol{color:var(--ink)}.roles .badge{display:inline-flex;align-items:center;height:24px;padding-inline:var(--s2);margin-left:var(--s2);border-radius:12px;background:var(--mark-a);color:var(--mark-a-ink);font-size:var(--t-xs);line-height:var(--lh-xs);font-weight:800;letter-spacing:.04em;vertical-align:2px}.edu{list-style:none;margin:0;padding:0;border-top:2px solid var(--rule)}.edu li{padding-block:var(--s5);border-bottom:1px solid var(--rule)}.edu b{display:block;font-weight:800;letter-spacing:-.02em}.edu span{display:block;color:var(--dim);font-size:var(--t-sm);line-height:var(--lh-sm);margin-top:var(--s1)}.contact{padding-block:var(--sp) var(--s9);text-align:center}.contact h2{max-width:16ch;margin-inline:auto}.contact p{margin:var(--s6) auto 0;color:var(--dim);max-width:40ch}.contact .cta{margin-top:var(--s7)}footer{margin-top:var(--s13);border-top:1px solid var(--rule);padding-block:var(--s6) var(--s10);display:flex;align-items:center;gap:var(--s6);color:var(--dim);font-size:var(--t-sm);text-align:left}.social{display:flex;gap:var(--s2);margin-left:auto}.social a{width:var(--ctl);height:var(--ctl);border-radius:var(--r-pill);border:1px solid var(--rule);display:grid;place-items:center;color:var(--dim);transition:color .28s,border-color .28s,background .28s}.social a:hover{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.social svg{width:28px;height:28px;display:block}.up{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}.up.shown{opacity:1;transform:none}.hero .kin,.hero .up{animation:.66s cubic-bezier(.2,.8,.2,1) both rise}.hero .kin{animation-delay:.05s}.hero .lede.up{animation-delay:.1s}.hero .cta.up{animation-delay:.15s}.hero .portrait.up{animation-delay:.08s}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media(max-width:580px){footer{flex-direction:column;align-items:center;text-align:center;gap:var(--s5)}.social{margin-inline:auto}header .bar{flex-wrap:wrap;row-gap:var(--s1);padding-bottom:var(--s2)}header .sp{display:none}.logo{order:1}.ctrls{order:2;margin-left:auto}header nav{order:3;flex-basis:100%;gap:var(--s5)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important}.up{opacity:1;transform:none}html{scroll-behavior:auto}}.back{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--ctl);color:var(--dim);font-size:var(--t-sm);font-weight:700;transition:color .28s}.back:hover{color:var(--accent)}.back .ar{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.back:hover .ar{transform:translateX(-4px)}.caseHero{padding-block:var(--s4) var(--s12);position:relative}.caseHero>:not(.titlewave){position:relative;z-index:1}.caseHero h1{max-width:12.7814em;font-weight:400;font-variation-settings:"wght" 780}.caseHero .lede{margin-top:var(--s6);max-width:52ch}.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border-block:1px solid var(--rule);margin-top:var(--s12)}.facts div{background:var(--bone);padding:var(--s5) var(--s6)}.facts dt{font-size:var(--t-xs);line-height:var(--lh-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-weight:800;margin:0}.facts dd{margin:var(--s2) 0 0;font-weight:700;letter-spacing:-.02em}.chapter{padding-top:var(--s13)}.chapter h2{max-width:20ch}.prose{max-width:60ch;margin-top:var(--s5)}.prose p+p{margin-top:var(--s5)}.prose b{font-weight:800}figure{margin:var(--s9) 0 0}figure .ph{background:var(--tint)}figure.clip .ph,figure.shot .ph{padding:var(--s5);display:grid;place-items:center;border-radius:48px 48px 48px 12px}figure.clip.b .ph,figure.shot.b .ph{border-radius:48px 12px 48px 48px}figure.clip.c .ph,figure.shot.c .ph{border-radius:12px 48px 48px 48px}@media(min-width:768px){.facts{grid-template-columns:repeat(4,1fr)}figure.clip .ph,figure.shot .ph{padding:var(--s6);border-radius:80px 80px 80px 20px}figure.clip.b .ph,figure.shot.b .ph{border-radius:80px 20px 80px 80px}figure.clip.c .ph,figure.shot.c .ph{border-radius:20px 80px 80px 80px}}figure.shot.narrow .ph{max-width:640px}figure.shot .ph img{width:auto;height:auto;max-width:100%;max-height:720px;object-fit:contain;border-radius:var(--s2)}figure.photo .ph{aspect-ratio:4/3;--rb-h:24%;--rb-v:32%;--rs-h:6%;--rs-v:8%;border-radius:var(--rb-h) var(--rb-h) var(--rb-h) var(--rs-h)/var(--rb-v) var(--rb-v) var(--rb-v) var(--rs-v)}figure.photo.b .ph{border-radius:var(--rb-h) var(--rs-h) var(--rb-h) var(--rb-h)/var(--rb-v) var(--rs-v) var(--rb-v) var(--rb-v)}figure.photo .ph img{width:100%;height:100%;object-fit:cover}figure.tall .ph{aspect-ratio:3/4;max-width:400px;--rb-h:32%;--rb-v:24%;--rs-h:8%;--rs-v:6%;border-radius:var(--rb-h) var(--rb-h) var(--rb-h) var(--rs-h)/var(--rb-v) var(--rb-v) var(--rb-v) var(--rs-v)}figure.tall.b .ph{border-radius:var(--rb-h) var(--rs-h) var(--rb-h) var(--rb-h)/var(--rb-v) var(--rs-v) var(--rb-v) var(--rb-v)}figure video{width:100%;height:auto;display:block;border-radius:var(--s2);background:var(--tint)}figcaption{margin-top:var(--s4);color:var(--dim);font-size:var(--t-sm);line-height:var(--lh-sm);max-width:52ch}.pair{display:grid;grid-template-columns:1fr;gap:var(--s6)}@media(min-width:880px){.pair{grid-template-columns:1fr 1fr;gap:var(--s9)}}.pair figure{margin-top:var(--s9)}.pull{margin-top:var(--s12);padding-block:var(--s9);border-block:1px solid var(--rule);display:grid;grid-template-columns:1fr;gap:var(--s5);align-items:center}@media(min-width:768px){.pull{grid-template-columns:auto 1fr;gap:var(--s11)}}.pull b{display:block;font-size:var(--num);line-height:var(--num-lh);letter-spacing:-.045em;font-variation-settings:"wght" 800;color:var(--accent);white-space:nowrap}.pull p{color:var(--dim);max-width:46ch}.chapter:last-child .pull{border-block-end-width:0}.nextcase{margin-top:var(--s13);padding-top:var(--s9);border-top:1px solid var(--rule);display:block}.nextcase>span{display:block;font-size:var(--t-xs);line-height:var(--lh-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-weight:800}.nextcase strong{display:block;margin-top:var(--s4);font-size:var(--h2);line-height:var(--h2-lh);letter-spacing:-.04em;font-weight:400;font-variation-settings:"wght" 800;text-transform:none;transition:transform .34s cubic-bezier(.2,.8,.2,1)}.nextcase strong>span{font:inherit;letter-spacing:inherit;text-transform:none}.nextcase:hover strong{transform:translateX(8px)}.nextcase .ar{color:var(--accent)}@media(min-width:1200px){figure.clip .ph,figure.shot .ph{border-radius:128px 128px 128px 32px}figure.clip.b .ph,figure.shot.b .ph{border-radius:128px 32px 128px 128px}figure.clip.c .ph,figure.shot.c .ph{border-radius:32px 128px 128px 128px}}