img{height:auto}
/* zsofiakrone.com: the Framer site's look, in plain CSS. Measurements are the live site's at 1440 px. */
@font-face{font-family:Jaro;src:url(fonts/jaro.293d9fb8.woff2) format("woff2");font-weight:400;font-display:block}
@font-face{font-family:Switzer;src:url(fonts/switzer-400.ddd95955.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Switzer;src:url(fonts/switzer-500.7393d1ab.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Switzer;src:url(fonts/switzer-500-italic.d6e92932.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}

:root{--ink:#121212;--paper:#fff;--dim:rgba(0,0,0,.62);--hair:#ebebeb;--glass:rgba(0,0,0,.3);--off:#f5f5f5;--pad:8px;--gap:8px;--r:4px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:500 14px/1.15 Switzer,system-ui,sans-serif;letter-spacing:-.025em;-webkit-font-smoothing:antialiased}
p,h1,figure,ul{margin:0;padding:0}
h1{font:inherit}
a{color:inherit;text-decoration:none}
img,video,svg{display:block;max-width:100%}
button{font:inherit;letter-spacing:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
em{font-style:italic}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
/* selected text is soft grey everywhere, never the visitor's system accent colour */
::selection{background:#e0e0e0;color:#000}

/* header */
.top{padding:0 12px}
.wm{width:100%;height:auto;overflow:visible}
.wm text{font-family:Jaro,Impact,sans-serif;font-size:227.7px;fill:var(--ink)}
.wm-link{display:block;padding-top:0}
.bar{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-bottom:12px}
.pills{display:flex;gap:6px}
.pills a{padding:4px 8px;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--hair);transition:background .25s,color .25s}
.pills a:hover{background:var(--off)}
.pills a.on{background:var(--ink);color:var(--paper);box-shadow:none}
.clock .time:not(:empty)::before{content:"\00a0\2022\00a0"}
main{border-top:1px solid var(--hair)}

/* three-column frame */
.intro,.work,.cards3,.facts,.reach,.foot-row{padding:0 var(--pad)}
.intro{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);padding-top:8px;min-height:157px}
.intro p{grid-column:3}
.intro-reel{align-items:start;padding-bottom:16px}
.intro-reel .reel{grid-column:1/3;width:100%;height:auto;aspect-ratio:16/9;border-radius:var(--r);background:#121212}

/* work: grid / list */
.toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin:0 0 12px}
.tg{display:flex;justify-content:space-between;align-items:center;height:32px;padding:8px 12px;border-radius:var(--r);background:var(--paper);box-shadow:inset 0 0 0 1px var(--hair);text-align:left;transition:background .3s,color .3s}
.tg svg{width:10px;height:10px;fill:currentColor}
.tg[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:none}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.card{position:relative;display:block;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:#e9e9e9}
.card img,.card video{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.card:hover img,.card:hover video{transform:scale(1.03)}
.label,.dotbox{position:absolute;bottom:8px;height:32px;border-radius:var(--r);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff}
.label{left:8px;right:42px;padding:8px}
.dotbox{right:8px;width:32px;display:grid;place-items:center}
.dots{display:flex;gap:2px}
.dots i{width:5px;height:5px;border-radius:50%;background:#fff;transition:opacity .3s,transform .3s}
.dots i+i{opacity:.3}
.card:hover .dots i:first-child{opacity:.3}
.card:hover .dots i+i{opacity:1}
.list{display:none}
.row{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1fr) 24px;align-items:baseline;gap:var(--gap);padding:18px 0 16px;border-top:1px solid var(--hair)}
.row:last-child{border-bottom:1px solid var(--hair)}
.row .ix{color:var(--dim)}
.row .name{font-size:clamp(22px,2.6vw,34px);line-height:1;letter-spacing:-.03em;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.row .credit{color:var(--dim);transition:color .3s}
.row .go{justify-self:end;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s}
.row:hover .name{transform:translateX(8px)}
.row:hover .credit{color:var(--ink)}
.row:hover .go{opacity:1;transform:none}
.row .pv{display:none}
.float{position:fixed;left:0;top:0;z-index:15;width:220px;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);pointer-events:none;opacity:0;transform:scale(.96);transition:opacity .25s,transform .25s;margin:-138px 0 0 24px}
.float.on{opacity:1;transform:none}
@media (hover:none){.float{display:none}}
.work[data-view=list] .grid{display:none}
.work[data-view=list] .list{display:block}
.work[data-view=list] .list{animation:fade .8s both}

/* about */
.p-about .intro{min-height:170px;padding-bottom:8px;border-bottom:1px solid var(--hair);margin-bottom:8px}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.acard{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:272px;padding:8px;border-radius:var(--r);background:var(--ink);color:#fff}
.num{position:absolute;top:8px;left:8px;width:20px;height:20px;border-radius:50%;background:#fff;color:var(--ink);font-size:8.75px;line-height:20px;text-align:center}
.atitle{margin:0 0 8px}
.ticker{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.ticker ul{display:flex;gap:4px;width:max-content;list-style:none;animation:tick 38s linear infinite}
.ticker li{flex:none;width:111px;height:111px;padding-right:0}
.ticker li:last-child{margin-right:4px}
.tile{width:100%;height:100%;border-radius:var(--r);background:#d8d3c9}
.tile text{font-family:Jaro,Impact,sans-serif;fill:#1c1c1c}
@keyframes tick{to{transform:translateX(-50%)}}
.atext{margin-top:4px}
.alist{margin-top:16px;color:var(--dim)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:70px;padding-top:12px;border-top:1px solid var(--hair);min-height:700px}
.fcol-mid{padding-left:40px}
.lab{color:var(--dim)}
.fbody{margin-top:8px}
.grp+.grp{margin-top:18px}
.fcol-mid .grp+.grp{margin-top:16px}
.lab-gap{margin-top:40px}

/* contact */
.p-contact .intro{min-height:190px;padding-bottom:8px}
.reach{display:grid;grid-template-columns:repeat(3,1fr);align-content:start;gap:var(--gap);padding-top:8px;min-height:340px;border-top:1px solid var(--hair);margin:0 var(--pad);padding-left:0;padding-right:0}
.reach .lab{margin-bottom:8px}
.reach-book{grid-column:1}
.reach-based{grid-column:3}
.reach-based .travel{line-height:1.3}
.btn{grid-column:1;display:flex;justify-content:center;align-items:center;height:32px;border-radius:var(--r);background:var(--ink);color:#fff;transition:opacity .25s}
.btn:hover{opacity:.85}

/* 404 */
.nf{display:flex;flex-direction:column;align-items:center;text-align:center;padding:245px 16px 245px}
.nf-big{width:min(712px,100%);height:auto;margin-bottom:8px}
.nf-big text{font:400 16px Switzer,sans-serif;fill:var(--ink)}
.nf h1{margin-top:2px}
.nf a,.foot a{text-decoration:underline;text-underline-offset:2px}

/* footer */
.foot{margin-top:40px;border-top:1px solid var(--hair);padding-top:16px}
.foot-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);min-height:120px}
.foot-contact{grid-column:3;display:flex;flex-direction:column;gap:24px}
.wm-foot{width:calc(100% - 16px);margin:40px 8px 2px}
.wm-foot text{font-family:Jaro,Impact,sans-serif;font-size:210.9px;fill:var(--ink)}
.nojs{white-space:nowrap}

/* project */
.p-proj main{border:0;padding:8px 8px 120px;display:grid;grid-template-columns:1fr 1fr;gap:0 var(--gap);align-content:start;min-height:100vh}
.media{grid-column:1;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:#e9e9e9}
.media img,.media video{width:100%;height:100%;object-fit:cover}
.media.film{background:#000}
.media.film video{object-fit:contain}
.play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.play::after{content:"";position:absolute;left:26px;top:21px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent #fff}
.watch{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.watch .jump{display:inline-block;padding:4px 8px;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--hair);transition:background .25s}
.watch .jump:hover{background:var(--off)}
.watch a{margin-left:6px;text-decoration:underline;text-underline-offset:2px}
.cap{grid-column:1;margin-top:16px}
/* project info: the right half, set like the home page's intro column */
.info{grid-column:2;grid-row:1;align-self:start;position:sticky;top:8px;display:flex;flex-direction:column;gap:24px;padding-left:33.33%}
.iname{font:400 clamp(48px,6.2vw,96px)/.8 Jaro,Impact,sans-serif;letter-spacing:-.01em;text-transform:uppercase}
.cred{margin:0;display:grid;gap:6px}
.cred div{display:grid;grid-template-columns:96px 1fr;gap:var(--gap);padding-bottom:6px;border-bottom:1px solid var(--hair)}
.cred dt{color:var(--dim)}
.cred dd{margin:0}
.idesc{max-width:36em}
.pager{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:40px}
.cap+.pager{margin-top:24px}
.pn{display:flex;justify-content:space-between;align-items:center;height:32px;padding:8px 12px;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--hair);transition:background .25s}
a.pn:hover{background:var(--off)}
.pn.off{background:var(--off)}
.dim{color:var(--dim)}
.chip{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:2px;z-index:5;animation:chip .6s .3s both}
.chip h1,.chip .x{height:32px;padding:8px;border-radius:var(--r);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;white-space:nowrap}
.chip .x{width:32px;display:grid;place-items:center;transition:background .25s}
.chip .x:hover{background:rgba(0,0,0,.55)}
.chip .x svg{width:10px;height:10px;stroke:#fff;stroke-width:1.2;fill:none}
@keyframes chip{from{opacity:0;transform:translate(-50%,12px)}}

/* work filter, hover credit, blurred placeholders, View cursor */
.filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.filters button{padding:4px 8px;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--hair);transition:background .25s,color .25s}
.filters button:hover{background:var(--off)}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:none}
.card[hidden],.row[hidden]{display:none}
.card{background-size:cover;background-position:center}
.card img{opacity:0;transition:opacity .6s ease-out,transform .8s cubic-bezier(.2,.7,.2,1)}
.card img.ok{opacity:1}
.label{display:flex;justify-content:space-between;gap:8px}
.label .meta{opacity:0;transform:translateX(-4px);transition:opacity .3s,transform .3s;color:rgba(255,255,255,.75);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card:hover .label .meta,.card:focus-visible .label .meta{opacity:1;transform:none}
.cursor{position:fixed;left:0;top:0;z-index:20;margin:14px 0 0 14px;padding:3px 7px;border-radius:var(--r);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:12px;pointer-events:none;opacity:0;transition:opacity .2s}
.cursor.on{opacity:1}
@media (hover:none){.cursor{display:none}}

/* portraits page */
.shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);padding:0 var(--pad);align-items:start}
.shot{margin:0;border-radius:var(--r);overflow:hidden;position:relative;aspect-ratio:4/5;background-size:cover;background-position:center}
.shot img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;opacity:0;transition:opacity .6s ease-out}
.shot img.ok{opacity:1}
.shot figcaption{position:absolute;left:8px;right:8px;bottom:8px;display:flex;justify-content:space-between;align-items:center;height:32px;padding:8px;border-radius:var(--r);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff}
.shot figcaption a{text-decoration:underline;text-underline-offset:2px}

/* about: headshot and résumé */
.intro-about{align-items:start;min-height:0;padding-bottom:40px}
.intro-about .headshot{grid-column:1;margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;max-width:320px}
.intro-about .headshot img{width:100%;height:100%;object-fit:cover}
.intro-about .bio{grid-column:3;display:flex;flex-direction:column;gap:24px}
.intro-about .actions{display:flex;flex-direction:column;gap:16px}
.intro-about .btn{width:100%}

/* project: picture opens large */
.media[data-zoom]{cursor:zoom-in}
.zoom{position:fixed;inset:0;z-index:30;background:rgba(255,255,255,.96);display:grid;place-items:center;padding:16px;cursor:zoom-out;animation:fade .3s both}
.zoom img{max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);width:auto;height:auto;object-fit:contain;border-radius:var(--r)}

/* home: Latest line, showreel slot */
.latest{padding:0 var(--pad) 12px;display:flex;align-items:center;gap:8px}
.latest::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink);flex:none}
.showreel{padding:8px var(--pad) 8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.reel-box{grid-column:1/3;position:relative;aspect-ratio:16/9;border-radius:var(--r);background:#121212 linear-gradient(135deg,#1b1b1b,#0d0d0d);overflow:hidden}
.reel-play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:rgba(255,255,255,.92)}
.reel-play::after{content:"";position:absolute;left:26px;top:21px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent var(--ink)}
.reel-cap{position:absolute;left:8px;right:8px;bottom:8px;display:flex;justify-content:space-between;height:32px;padding:8px;border-radius:var(--r);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff}
.reel-cap .dim{color:rgba(255,255,255,.7)}
.reel-bio{grid-column:3}

/* about: at a glance, travel, representation and union */
.btn-ghost{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--hair)}
.btn-ghost:hover{background:var(--off);opacity:1}
.travel{color:var(--ink)}
.stats{padding:0 var(--pad);margin:0 0 40px}
.stats dl{margin:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--gap);border-top:1px solid var(--hair);padding-top:12px}
.stats dt{color:var(--dim)}
.stats dd{margin:4px 0 0}
.ru{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);padding:12px var(--pad) 0;margin:0 0 40px;border-top:1px solid var(--hair)}
.ru-col p+p{margin-top:8px}

/* unlisted self-tape */
.tape{padding:0 var(--pad) 40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.tape video{grid-column:1/3;width:100%;height:auto;aspect-ratio:16/9;border-radius:var(--r);background:#000}
.tape-cap{grid-column:1/3;display:flex;justify-content:space-between;gap:8px}

/* privacy policy: About's grid, the section titles in the left rail */
.pp-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);padding:8px var(--pad) 40px;align-items:end}
.pp-head h1{grid-column:1/3;font:400 clamp(56px,8.2vw,132px)/.82 Jaro,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.01em}
.pp-head .lab{grid-column:3}
.pp-body{padding:0 var(--pad) 40px}
.pp-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);padding:12px 0 28px;border-top:1px solid var(--hair)}
.pp-row h2{font-size:inherit;font-weight:inherit}
.pp-text{grid-column:2/4;max-width:66ch}
.pp-text p+p,.pp-text p+ul,.pp-text ul+p{margin-top:10px}
.pp-text ul{list-style:none;padding:0;display:grid;gap:10px}
.pp-text strong,.pp-text b{font-weight:inherit}
.pp-text a{text-decoration:underline;text-underline-offset:2px}
.pp-text code{font-family:inherit}

/* motion: the page fades in as one, and blocks fade in as they scroll into view, as Framer's did */
@keyframes fade{from{opacity:0}}
.js .top,.js main,.js .foot{animation:fade .7s .25s ease-out both}
.js.seen .top,.js.seen main,.js.seen .foot{animation:none}
@media (prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 .top{view-transition-name:top}
 ::view-transition-old(root),::view-transition-new(root){animation-duration:.35s;animation-timing-function:ease-out}
}
.js .reveal{opacity:0;transition:opacity .5s ease-out}
.js .reveal.in{opacity:1}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important}
 .js .reveal{opacity:1}
}

/* phone */
@media (max-width:809px){
 .top{padding:8px 8px 0}
 .bar{margin-top:6px}
 .pills{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
 .pills a{text-align:center}
 .clock{display:none}
 .intro{display:block;min-height:0;padding-top:8px;padding-bottom:40px}
 .p-about .intro{padding-bottom:40px}
 .grid{grid-template-columns:1fr}
 .pp-head,.pp-row{grid-template-columns:minmax(0,1fr)}
 .pp-head h1,.pp-head .lab,.pp-text{grid-column:1}
 .pp-head{gap:12px;padding-bottom:28px}
 .pp-row{gap:8px;padding-bottom:20px}
 .showreel,.tape{grid-template-columns:1fr}
 .reel-box,.tape video,.tape-cap,.reel-bio{grid-column:1}
 .stats dl{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}
 .ru{grid-template-columns:1fr}
 .tape-cap{flex-direction:column}
 .intro-reel .reel{margin-bottom:16px}
 .shots{grid-template-columns:minmax(0,1fr)}
 .intro-about .headshot{max-width:none;margin-bottom:24px}
 .intro-about{display:block}
 .row{grid-template-columns:28px minmax(0,1fr) 64px;align-items:center;padding:10px 0}
 .row .credit,.row .go{display:none}
 .row .pv{display:block;grid-column:3;grid-row:1;width:64px;height:80px;object-fit:cover;border-radius:var(--r)}
 .cards3{grid-template-columns:minmax(0,1fr);gap:56px}
 .facts{grid-template-columns:1fr;gap:32px;margin-top:56px;min-height:0}
 .fcol{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
 .fcol-mid{padding-left:0}
 .fbody{margin-top:0}
 .lab-gap{margin-top:16px}
 .reach{grid-template-columns:1fr;min-height:0;padding-bottom:40px;gap:32px}
 .reach-book,.reach-based{grid-column:1}
 .foot-row{grid-template-columns:1fr 1fr}
 .foot-contact{grid-column:2}
 .nf{padding:120px 8px}
 .p-proj main{grid-template-columns:1fr}
 .info{grid-column:1;grid-row:auto;position:static;padding-left:0;margin-top:24px;gap:16px}
 .iname{font-size:56px}
 .pager{grid-column:1}
}
