@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/cormorant-garamond-latin-ext-f37747.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/cormorant-garamond-latin-9ca58f.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/geist-mono-latin-ext-d09800.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/geist-mono-latin-b291d8.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/geist-mono-latin-ext-d09800.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/geist-mono-latin-b291d8.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/space-grotesk-latin-ext-611be2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/space-grotesk-latin-ecea81.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/space-grotesk-latin-ext-611be2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/space-grotesk-latin-ecea81.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/space-grotesk-latin-ext-611be2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/space-grotesk-latin-ecea81.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/space-grotesk-latin-ext-611be2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/space-grotesk-latin-ecea81.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
--bg:#131415; --bg-2:#1F2121; --bg-3:#0D0E0F;
--paper:#DBDBDB; --paper-2:#EBEBEB; --pink:#1F2121; --pink-2:#565C5E;
--ink:#EBEBEB; --ink-2:#A6A9A9; --ink-3:#7D8587;
--rule:rgba(235,235,235,.14); --rule-p:rgba(31,33,33,.22);
--accent:#F0652A;
--grot:"Space Grotesk","Helvetica Neue",Arial,sans-serif;
--mono:"Geist Mono","IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
--m:16px; --bar:54px; --gut:calc(var(--m) + 16px);
--ease:cubic-bezier(.2,.7,.2,1); --curtain:cubic-bezier(.76,0,.24,1);
--step:70svh;
--ct:calc(var(--m) + var(--bar) + env(safe-area-inset-top,0px) + 20px);
--gt:calc(var(--ct) + 58px);
color-scheme:dark;
}
@media(min-width:768px){:root{--m:20px;--gut:calc(var(--m) + 20px)}}
@media(min-width:1025px){:root{--step:60svh}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
html.lock{overflow:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--grot);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;border-radius:0;box-shadow:none;text-shadow:none;text-transform:inherit;letter-spacing:inherit;line-height:inherit;min-height:0;width:auto;cursor:pointer;padding:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
main{position:relative}
.mono{font:500 12px/1.55 var(--mono);letter-spacing:0;text-transform:uppercase}
.mono-2{font:500 13px/1.65 var(--mono);text-transform:uppercase;color:var(--ink-2);max-width:54ch;margin:0}
.paper .mono-2{color:var(--pink-2)}
.idx{position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:14px;margin-bottom:clamp(36px,6vw,72px);font:500 12px/1.5 var(--mono);text-transform:uppercase;color:var(--ink-2)}
.idx::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rule);transform:scaleX(0);transform-origin:0 50%;transition:transform .9s var(--ease)}
.idx.in::after{transform:scaleX(1)}
.idx>span{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s var(--ease)}
.idx.in>span{opacity:1;transform:none}
.idx.in>span.r{transition-delay:.1s}
.idx b{font-weight:600;color:var(--ink);margin-right:12px}
.idx .r{text-align:right}
.paper .idx{color:var(--pink-2)}.paper .idx::after{background:var(--rule-p)}.paper .idx b{color:var(--pink)}
@media(max-width:600px){.idx .r{display:none}}
.h-lines{font-family:var(--grot);font-weight:600;letter-spacing:-.025em;text-transform:uppercase;line-height:.98;margin:0;font-size:clamp(34px,6.6vw,92px);text-wrap:balance}
.h-lines .line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.h-lines .line>span{display:block;transform:translateY(110%);will-change:transform}
.h-lines .line.in>span{transform:none;transition:transform .9s var(--ease)}
.h-lines em{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;font-size:1.12em;line-height:.8}
.paper{background:var(--paper);color:var(--pink)}
.lead{font:400 17px/1.6 var(--grot);max-width:58ch;margin:0;color:var(--ink-2)}
.lead b{color:var(--ink);font-weight:500}
.paper .lead{color:#3A3F41}.paper .lead b{color:var(--pink)}
.btn{display:inline-flex;align-items:stretch;min-height:46px;border:1px solid var(--ink);color:var(--ink);font:600 12px/1 var(--mono);letter-spacing:.02em;text-transform:uppercase;background:transparent;transition:background .25s,color .25s,border-color .25s}
.btn .lab{display:flex;align-items:center;padding:0 18px;white-space:nowrap}
.btn .arr{display:grid;place-items:center;width:44px;border-left:1px solid currentColor}
.btn .arr svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;transition:transform .35s var(--ease)}
.btn:hover .arr svg{transform:translateX(3px)}
.btn.primary{background:var(--paper);color:var(--pink);border-color:var(--paper)}
.btn.primary:hover{background:#fff;border-color:#fff}
.paper .btn,.slate .btn{border-color:var(--pink);color:var(--pink)}
.paper .btn.primary,.slate .btn.primary{background:var(--pink);color:var(--paper);border-color:var(--pink)}
.paper .btn.primary:hover,.slate .btn.primary:hover{background:#000}
.roll{display:inline-block;overflow:hidden;height:1em;line-height:1}
.roll span{display:block;transition:transform .45s var(--ease)}
a:hover .roll span,button:hover .roll span{transform:translateY(-100%)}
.link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:600 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.02em;color:var(--ink-2)}
.link:hover{color:var(--ink)}
.paper .link,.slate .link,.pcard .link{color:var(--pink-2)}.paper .link:hover,.slate .link:hover,.pcard .link:hover{color:var(--pink)}
.bar{position:fixed;left:var(--m);right:var(--m);top:calc(var(--m) + env(safe-area-inset-top,0px));z-index:40;height:var(--bar);background:var(--bg-2);border:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 18px;animation:rfBarDrop .8s var(--ease) .14s backwards,rfFade .5s ease .14s backwards}
@keyframes rfBarDrop{from{transform:translateY(-130%)}}
@keyframes rfFade{from{opacity:0}}
.bar .prog{position:absolute;left:-1px;right:-1px;bottom:-1px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}
.sig{height:22px;width:auto}
.bar nav{display:none;gap:28px}
.bar nav a{font:600 12.5px/1 var(--mono);text-transform:uppercase;color:var(--ink-2);min-height:44px;display:inline-flex;align-items:center}
.bar nav a:hover{color:var(--ink)}
.bar .right{display:flex;align-items:center;gap:14px}
.bar .cta{display:none;font:600 12.5px/1 var(--mono);text-transform:uppercase;color:var(--ink);padding:0 14px;min-height:34px;align-items:center;border:1px solid var(--rule)}
.bar .cta:hover{border-color:var(--ink)}
.menu-btn{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;font:600 12px/1 var(--mono);text-transform:uppercase}
.menu-btn i{position:relative;width:22px;height:9px;display:block}
.menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .35s var(--ease)}
.menu-btn i::before{top:0}.menu-btn i::after{bottom:0}
.menu-btn[aria-expanded="true"] i::before,.menu-btn.x i::before{transform:translateY(3.75px) rotate(45deg)}
.menu-btn[aria-expanded="true"] i::after,.menu-btn.x i::after{transform:translateY(-3.75px) rotate(-45deg)}
@media(min-width:1025px){.bar nav{display:flex}.bar .cta{display:inline-flex}.sig{height:24px}}
.menu{position:fixed;inset:0;z-index:60;background:var(--paper);color:var(--pink);display:grid;grid-template-rows:auto 1fr auto;padding:calc(var(--m) + env(safe-area-inset-top,0px)) var(--gut) calc(20px + env(safe-area-inset-bottom,0px));transform:translateY(-101%);visibility:hidden;overscroll-behavior:contain;transition:transform .65s var(--curtain),visibility 0s linear .65s}
.menu.open{transform:none;visibility:visible;transition:transform .65s var(--curtain),visibility 0s}
.menu.closing{transform:translateY(-101%);transition:transform .55s var(--curtain) .12s,visibility 0s linear .7s}
.menu .mhead{height:var(--bar);display:flex;align-items:center;justify-content:space-between}
.menu .sig{filter:invert(1)}
.menu .mbody{display:grid;align-content:center;gap:40px;min-height:0}
.menu ol{list-style:none;margin:0;padding:0;display:grid;gap:0}
.menu ol a{position:relative;display:flex;align-items:baseline;gap:18px;padding:10px 0;font:600 clamp(38px,9.4vw,80px)/1 var(--grot);letter-spacing:-.03em;text-transform:uppercase;overflow:hidden}
.menu ol a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rule-p);transform:scaleX(0);transform-origin:0 50%;transition:transform .7s var(--ease)}
.menu ol a>span{display:block;transform:translateY(110%);transition:transform .7s var(--ease)}
.menu ol a small{font:500 12px/1 var(--mono);color:var(--pink-2);letter-spacing:0;text-transform:none;min-width:2.2em;opacity:0;transition:opacity .4s ease}
.menu ol a em{display:none;margin-left:auto;font:500 12px/1 var(--mono);font-style:normal;letter-spacing:0;text-transform:uppercase;color:var(--pink-2);opacity:0;transform:translateX(8px);transition:opacity .4s ease,transform .4s var(--ease)}
.menu.open ol a>span{transform:none}.menu.open ol a::after{transform:scaleX(1)}.menu.open ol a small,.menu.open ol a em{opacity:1;transform:none}
.menu.open ol li:nth-child(1) a>span{transition-delay:.30s}.menu.open ol li:nth-child(2) a>span{transition-delay:.36s}.menu.open ol li:nth-child(3) a>span{transition-delay:.42s}.menu.open ol li:nth-child(4) a>span{transition-delay:.48s}.menu.open ol li:nth-child(5) a>span{transition-delay:.54s}
.menu.open ol li:nth-child(1) a::after{transition-delay:.40s}.menu.open ol li:nth-child(2) a::after{transition-delay:.46s}.menu.open ol li:nth-child(3) a::after{transition-delay:.52s}.menu.open ol li:nth-child(4) a::after{transition-delay:.58s}.menu.open ol li:nth-child(5) a::after{transition-delay:.64s}
.menu.open ol li:nth-child(1) a small,.menu.open ol li:nth-child(1) a em{transition-delay:.55s}.menu.open ol li:nth-child(2) a small,.menu.open ol li:nth-child(2) a em{transition-delay:.61s}.menu.open ol li:nth-child(3) a small,.menu.open ol li:nth-child(3) a em{transition-delay:.67s}.menu.open ol li:nth-child(4) a small,.menu.open ol li:nth-child(4) a em{transition-delay:.73s}.menu.open ol li:nth-child(5) a small,.menu.open ol li:nth-child(5) a em{transition-delay:.79s}
.menu.closing ol a>span{transform:translateY(110%);transition:transform .3s cubic-bezier(.6,0,.8,.2) 0s}
.menu.closing ol a::after{transform:scaleX(0);transform-origin:100% 50%;transition:transform .3s var(--ease) 0s}
.menu.closing ol a small,.menu.closing ol a em{opacity:0;transition:opacity .2s 0s}
.menu .mfoot{display:grid;gap:14px;font:500 12px/1.6 var(--mono);text-transform:uppercase;color:var(--pink-2);opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s var(--ease)}
.menu.open .mfoot{opacity:1;transform:none;transition-delay:.7s}
.menu.closing .mfoot{opacity:0;transition:opacity .2s 0s}
.menu .mfoot .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
.menu .mfoot .row a:hover{color:var(--pink)}
.menu .prev{display:none}
@media(min-width:768px){.menu ol a em{display:block}}
@media(min-width:1025px){
.menu .mbody{grid-template-columns:1.1fr auto;column-gap:60px;align-items:center}
.menu .prev{display:block;position:relative;width:min(30vw,420px);aspect-ratio:4/5;overflow:hidden;background:#CFCFCF;opacity:0;transform:scale(.96);transition:opacity .6s ease,transform .6s var(--ease)}
.menu.open .prev{opacity:1;transform:none;transition-delay:.5s}
.menu .prev img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.menu .prev img.on{opacity:1}
.menu .mfoot .cta-m{display:none}
}
.hero{position:sticky;top:0;z-index:1;height:100svh;min-height:560px;overflow:hidden;background:var(--bg)}
.hero .inner{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.hero .geo{position:absolute;inset:0;width:100%;height:100%;will-change:transform;animation:rfFade 1.4s ease .2s backwards,rfGeoIn 1.6s var(--ease) .2s backwards}
.hero .photo{position:absolute;top:var(--m);bottom:var(--m);left:var(--m);right:var(--m);overflow:hidden;background:var(--bg-2);animation:rfWipe 1.3s var(--ease) backwards}
.hero .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;animation:rfSettle 1.8s var(--ease) backwards}
@keyframes rfGeoIn{from{scale:.92}}
@keyframes rfWipe{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes rfSettle{from{transform:scale(1.08)}}
@keyframes rfRise{from{transform:translateY(108%)}}
@keyframes rfLift{from{transform:translateY(8px)}}
.hero .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,20,21,.55) 0%,rgba(19,20,21,0) 30%,rgba(19,20,21,0) 60%,rgba(19,20,21,.75) 100%)}
@media(min-width:768px){.hero .photo{left:50%;right:auto;width:auto;aspect-ratio:768/1376;transform:translateX(-50%);max-width:calc(100vw - var(--m)*2)}.hero .photo::after{background:linear-gradient(180deg,rgba(19,20,21,.35) 0%,rgba(19,20,21,0) 25%,rgba(19,20,21,0) 70%,rgba(19,20,21,.6) 100%)}}
.hero .name{position:absolute;left:0;right:0;top:60%;transform:translateY(-50%);margin:0;text-align:center;font:600 clamp(60px,17vw,236px)/.88 var(--grot);letter-spacing:-.035em;text-transform:uppercase;color:var(--ink);z-index:2}
@media(min-width:768px){.hero .name{top:61%}}
.hero .name .line{display:block;overflow:hidden;padding:.06em 0}
.hero .name .line>span{display:block;animation:rfRise 1.1s var(--ease) .25s backwards}
.hero .name .line:nth-child(2)>span{animation-delay:.38s}
.hero .c{position:absolute;z-index:3;font:500 12px/1.5 var(--mono);text-transform:uppercase;color:var(--ink);animation:rfFade .8s ease .7s backwards,rfLift .8s var(--ease) .7s backwards}
.hero .c.tr{animation-delay:.8s}.hero .c.bl{animation-delay:.9s}.hero .c.br{animation-delay:1s}
.hero .c.tl{left:var(--gut);top:var(--ct)}
.hero .c.tr{right:var(--gut);top:var(--ct);text-align:right}
.hero .c.bl{left:var(--gut);bottom:calc(var(--m) + 20px)}
.hero .c.br{right:var(--gut);bottom:calc(var(--m) + 20px);text-align:right;display:grid;justify-items:end}
.hero .c.br a{min-height:28px;display:inline-flex;align-items:center}
.hero .c.br a:hover{color:var(--accent)}
.hero .c .w{position:relative;display:block;height:1.55em;overflow:hidden;min-width:22ch}
.hero .c .w span{position:absolute;left:0;top:0;white-space:nowrap;color:var(--accent);opacity:0;transform:translateY(55%);filter:blur(3px);transition:transform 1.1s var(--ease),opacity .8s ease,filter .8s ease}
.hero .c .w span.on{opacity:1;transform:none;filter:none;transition-delay:.18s}
.hero .c .w span.off{opacity:0;transform:translateY(-55%);filter:blur(3px);transition-duration:.9s,.6s,.6s}
.hero .c .w span.rs{transition:none}
.hero .cue{position:absolute;left:50%;bottom:calc(var(--m) + 14px);transform:translateX(-50%);z-index:3;width:44px;height:44px;opacity:.9;animation:rfFade 1s ease 1.2s backwards;transition:opacity 1s ease}
.hero .cue:empty{opacity:0}
@media(min-width:768px){.hero .c{font-size:12.5px}.hero .c.bl,.hero .c.br{bottom:calc(var(--m) + 24px)}.hero .cue{width:52px;height:52px}}
.sec{position:relative;padding:clamp(76px,10vw,140px) var(--gut)}
.wrap{max-width:1400px;margin:0 auto}
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s ease var(--d,0s),transform .8s var(--ease) var(--d,0s)}
.rv.in{opacity:1;transform:none}
.stg>*{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s var(--ease)}
.stg.in>*{opacity:1;transform:none}
.stg.in>:nth-child(2){transition-delay:.07s}.stg.in>:nth-child(3){transition-delay:.14s}.stg.in>:nth-child(4){transition-delay:.21s}.stg.in>:nth-child(5){transition-delay:.28s}.stg.in>:nth-child(6){transition-delay:.35s}
.wipe{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease)}
.wipe.in{clip-path:inset(0 0 0 0)}
.pz{overflow:hidden}
.pz>img,.pz>picture>img{will-change:transform}
#about{z-index:2}
.about{display:grid;gap:40px}
@media(min-width:960px){.about{grid-template-columns:1.25fr .75fr;gap:clamp(48px,7vw,120px);align-items:start}}
.about .text{display:grid;gap:28px}
.slate-f{position:relative;display:grid;grid-template-columns:auto 1fr;gap:12px 22px;margin:0;font:500 12px/1.6 var(--mono);text-transform:uppercase;padding-top:18px;align-self:end}
.slate-f::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--rule-p);transform:scaleX(0);transform-origin:0 50%;transition:transform .9s var(--ease)}
.slate-f.in::before{transform:scaleX(1)}
.slate-f dt,.slate-f dd{margin:0;opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s var(--ease)}
.slate-f.in dt,.slate-f.in dd{opacity:1;transform:none}
.slate-f.in dt:nth-of-type(2),.slate-f.in dd:nth-of-type(2){transition-delay:.08s}.slate-f.in dt:nth-of-type(3),.slate-f.in dd:nth-of-type(3){transition-delay:.16s}.slate-f.in dt:nth-of-type(4),.slate-f.in dd:nth-of-type(4){transition-delay:.24s}.slate-f.in dt:nth-of-type(5),.slate-f.in dd:nth-of-type(5){transition-delay:.32s}
.slate-f dt{color:var(--pink-2)}.slate-f dd{color:var(--pink)}
.slate-f dd .accent{color:var(--accent)}
.stack{position:relative;height:150svh}
.panel{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--bg)}
.panel .inner{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.panel .media{position:absolute;inset:var(--m);overflow:hidden;background:var(--bg-2)}
.panel .media img{width:100%;height:100%;object-fit:cover;object-position:40% 40%;will-change:transform}
.panel .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,20,21,.5) 0%,rgba(19,20,21,0) 30%,rgba(19,20,21,0) 55%,rgba(19,20,21,.55) 100%)}
.panel .c,.stage .c{position:absolute;z-index:3;font:500 12px/1.5 var(--mono);text-transform:uppercase;color:var(--ink)}
.panel .c.tl,.stage .c.tl{left:var(--gut);top:var(--ct)}
.panel .c.tr,.stage .c.tr{right:var(--gut);top:var(--ct);text-align:right;max-width:46%}
.pcard{position:absolute;left:var(--m);right:var(--m);bottom:var(--m);z-index:3;background:var(--paper-2);color:var(--pink);padding:22px 20px 20px;display:grid;gap:14px}
.pcard::before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;transition:transform .8s var(--ease) .2s}
.pcard.in::before{transform:scaleX(1)}
.pcard .eyebrow{font:500 12px/1.5 var(--mono);text-transform:uppercase;color:var(--pink-2)}
.pcard h2{margin:0;font:600 clamp(34px,8.6vw,72px)/.95 var(--grot);letter-spacing:-.03em;text-transform:uppercase}
.pcard .mono-2{color:#3A3F41}
.pcard .row{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-top:4px}
.pcard .cred{display:none;grid-template-columns:auto 1fr;gap:6px 18px;margin:0;font:500 11.5px/1.6 var(--mono);text-transform:uppercase;border-top:1px solid var(--rule-p);padding-top:14px}
.pcard .cred dt{color:var(--pink-2)}.pcard .cred dd{margin:0}
@media(min-width:768px){.pcard{right:auto;width:min(620px,52vw);padding:28px 28px 26px;gap:16px}.pcard .cred{display:grid}.pcard h2{font-size:clamp(44px,5.4vw,80px)}}
#filmStack{z-index:3}
.stack.proj{position:relative;height:calc(200svh + var(--n) * var(--step))}
.stage{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--bg)}
.stage.paper{background:var(--paper)}
.stage .inner{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.stage .screen{position:absolute;inset:var(--m);overflow:hidden}
.stage.dark .screen{background:var(--bg-3)}
.stage.paper .c{color:var(--pink)}
.stage .c.tr{display:flex;gap:10px;align-items:center;max-width:none;text-align:left}
.cnt .col{display:inline-block;height:1.5em;overflow:hidden;vertical-align:bottom}
.cnt .col .l{display:block;will-change:transform}
.cnt .col b{display:block;height:1.5em;color:var(--accent);font-weight:600}
.cnt button{display:none;width:32px;height:32px;border:1px solid var(--rule);font:600 12px/1 var(--mono);place-items:center}
.cnt button:hover{border-color:currentColor}
.stage.paper .cnt button{border-color:var(--rule-p)}
@media(min-width:768px){.cnt button{display:grid}}
.track{position:absolute;left:var(--gut);right:var(--gut);top:calc(var(--ct) + 36px);height:2px;background:var(--rule);z-index:3}
.stage.paper .track{background:var(--rule-p)}
.track .pbar{position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}
.track .ticks{position:absolute;left:0;right:0;top:-21px;height:44px;display:flex;margin:0;padding:0}
.track .ticks button{flex:1;height:44px;position:relative}
.track .ticks button::after{content:"";position:absolute;left:50%;top:18px;width:2px;height:8px;margin-left:-1px;background:var(--ink-3);transform-origin:50% 0;transition:background .3s,transform .3s var(--ease)}
.track .ticks button.on::after{background:var(--accent);transform:scaleY(1.6)}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden}
.slide .pic{position:absolute;left:var(--m);right:var(--m);top:var(--gt);bottom:var(--gb,190px);display:grid;place-items:center}
.fr{position:relative;display:block;width:min(100%,calc(var(--gh,60svh) * var(--ar)));aspect-ratio:var(--ar);background:var(--bg-2);will-change:transform}
.stage.paper .fr{outline:1px solid var(--rule-p);background:#CFCFCF}
.fr img{width:100%;height:100%;object-fit:cover}
.mk{position:absolute;width:14px;height:14px;border:1.5px solid rgba(235,235,235,.75);opacity:0;pointer-events:none}
.stage.paper .mk{border-color:rgba(31,33,33,.7)}
.mk.tl{left:-10px;top:-10px;border-right:0;border-bottom:0}.mk.tr{right:-10px;top:-10px;border-left:0;border-bottom:0}.mk.bl{left:-10px;bottom:-10px;border-right:0;border-top:0}.mk.br{right:-10px;bottom:-10px;border-left:0;border-top:0}
.chip{position:absolute;left:0;top:0;padding:6px 8px;background:var(--pink);color:var(--paper);font:600 10.5px/1 var(--mono);text-transform:uppercase}
.stage.dark .chip{background:var(--paper);color:var(--pink)}
.view{position:absolute;right:10px;bottom:10px;padding:8px 10px;background:rgba(13,14,15,.78);color:var(--ink);font:600 11px/1 var(--mono);text-transform:uppercase}
@media(hover:hover){.pic:hover .view{color:var(--accent)}.pic .fr img{transition:transform .9s var(--ease)}.pic:hover .fr img{transform:scale(1.03)}}
.slate{position:absolute;left:var(--m);right:var(--m);bottom:var(--m);background:var(--paper-2);color:var(--pink);padding:16px 18px 16px;display:grid;gap:6px;z-index:2}
.slate::before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}
.slide.on .slate::before{transform:scaleX(1);transition:transform .7s var(--ease) .15s}
.ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.ln>span{display:block}
.slate h3{margin:0;font:600 clamp(22px,6vw,36px)/1 var(--grot);letter-spacing:-.025em;text-transform:uppercase}
.slate .k{font:500 11.5px/1.5 var(--mono);text-transform:uppercase;color:var(--pink-2)}
.slate .k2{font:500 12px/1.5 var(--mono);text-transform:uppercase;color:#3A3F41}
.slate .row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding-top:6px}
.cat{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid var(--rule-p);font:600 11px/1 var(--mono);text-transform:uppercase;color:var(--pink);transition:border-color .25s}
.cat:hover{border-color:var(--pink)}
@media(min-width:768px){.slate{right:auto;width:min(520px,42vw)}}
@media(min-width:1025px){
.stage .slide{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,.8fr);grid-template-rows:minmax(0,1fr);gap:50px;padding:var(--gt) 40px 44px}
.stage .slide .pic,.stage .slate{position:static;width:auto;left:auto;right:auto;top:auto;bottom:auto}
.stage .slide .pic{height:100%;min-height:0}
.stage .slate{align-self:center;justify-self:start;max-width:460px}
.stage .slate h3{font-size:clamp(28px,2.8vw,44px)}
}
#showreel{z-index:4}#reelStack{z-index:4}
#photo{z-index:5}#photoStack{z-index:5}
#photo,#contactStack{margin-top:-100svh}
.marq{overflow:hidden;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:12px 0;margin:0 calc(var(--gut) * -1) clamp(40px,6vw,80px)}
.marq .track2{display:flex;gap:3rem;width:max-content;animation:mq 30s linear infinite}
.marq .track2 span{font:600 clamp(26px,4.2vw,54px)/1 var(--grot);letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;color:var(--ink)}
.marq .track2 span i{font-style:normal;color:var(--accent);margin:0 .5em}
@keyframes mq{to{transform:translateX(-50%)}}
.head-grid{display:grid;gap:26px}
@media(min-width:960px){.head-grid{grid-template-columns:1.3fr .7fr;align-items:end;gap:48px}}
.head-grid .side{display:grid;gap:22px;justify-items:start}
.no-stage .stack.proj{height:auto}
.no-stage .stage{position:relative;height:auto;overflow:visible}
.no-stage .stage .inner{position:relative;inset:auto;padding:0 var(--gut) 60px}
.no-stage .stage .screen{position:relative;inset:auto;padding:70px 0 0;display:grid;gap:40px 24px}
.no-stage .stage .c{position:static;max-width:none}
.no-stage .slide{position:relative;inset:auto;opacity:1;visibility:visible;display:grid;gap:14px;transform:none!important;padding:0}
.no-stage .slide .pic,.no-stage .slate{position:static;width:auto;max-width:none}
.no-stage .fr{width:100%;transform:none!important}
.no-stage .ln>span{transform:none!important}
.no-stage .track,.no-stage .cnt,.no-stage .stage .mk{display:none}
.no-stage .slide .slate::before{transform:none}
@media(min-width:680px){.no-stage .stage .screen{grid-template-columns:1fr 1fr}}
#contactStack{z-index:6}
.cta-box{position:absolute;left:var(--gut);right:var(--gut);bottom:calc(var(--m) + 24px);z-index:3;display:grid;gap:22px}
.cta-box h2{margin:0;font:600 clamp(40px,9.2vw,112px)/.92 var(--grot);letter-spacing:-.035em;text-transform:uppercase;max-width:12ch}
.cta-box .row{display:flex;flex-wrap:wrap;gap:12px}
.cta-box .lines{display:flex;flex-wrap:wrap;gap:8px 28px;font:500 12px/1.6 var(--mono);text-transform:uppercase;color:var(--ink-2)}
.copy{display:inline-flex;align-items:center;gap:10px}
.copy button{font:600 11px/1 var(--mono);text-transform:uppercase;padding:7px 9px;border:1px solid var(--rule);color:var(--ink-2)}
.copy button:hover{color:var(--ink);border-color:var(--ink)}
.copy button.done{color:var(--accent);border-color:var(--accent)}
.cta-panel .media img{object-position:50% 42%}
.cta-panel .media::after{background:linear-gradient(180deg,rgba(19,20,21,.45) 0%,rgba(19,20,21,.05) 28%,rgba(19,20,21,.25) 50%,rgba(19,20,21,.86) 100%)}
#footer{position:relative;z-index:7;background:var(--bg-3);border-top:1px solid var(--rule);padding:clamp(56px,8vw,96px) var(--gut) calc(24px + env(safe-area-inset-bottom,0px))}
#footer .cols{display:grid;gap:34px}
@media(min-width:768px){#footer .cols{grid-template-columns:1.2fr 1fr 1fr 1.4fr;gap:40px}}
#footer .col{display:grid;gap:12px;align-content:start}
#footer .col .k{font:500 11.5px/1.5 var(--mono);text-transform:uppercase;color:var(--ink-3);padding-bottom:10px;border-bottom:1px solid var(--rule)}
#footer .col a,#footer .col span{display:block;font:500 14.5px/1.5 var(--grot);color:var(--ink);min-height:28px}
#footer .col a:hover{color:var(--accent)}
#footer .col .small{font:500 12px/1.7 var(--mono);text-transform:uppercase;color:var(--ink-2)}
#footer .word{margin:clamp(48px,8vw,110px) 0 0;text-align:center;font:600 clamp(40px,11.1vw,176px)/.9 var(--grot);letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap}
#footer .word .line{padding:.06em 0}
#footer .legal{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;margin-top:28px;padding-top:18px;border-top:1px solid var(--rule);font:500 11.5px/1.6 var(--mono);text-transform:uppercase;color:var(--ink-3)}
#footer .legal img{height:30px;width:auto;opacity:.9}
.bbar{position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(62px + env(safe-area-inset-bottom,0px));padding:0 var(--m) env(safe-area-inset-bottom,0px);background:var(--bg-2);border-top:1px solid var(--rule);display:flex;align-items:center;gap:10px;transform:translateY(110%);transition:transform .4s var(--ease)}
.bbar.show{transform:none}.bbar.hide{transform:translateY(110%)}
.bbar .btn{flex:1;min-height:42px}
.bbar .btn .lab{flex:1;justify-content:center}
.bbar .wa{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--rule)}
.bbar .wa svg{width:18px;height:18px;fill:var(--ink)}
@media(min-width:1025px){.bbar{display:none}}
@media(prefers-reduced-motion:reduce){
.rv,.stg>*,.wipe,.h-lines .line>span,.menu ol a>span,.menu ol a::after,.menu ol a small,.menu ol a em,.menu .mfoot,.idx>span,.idx::after,.slate-f dt,.slate-f dd,.slate-f::before,.pcard::before{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
.hero .name .line>span,.hero .c,.hero .photo,.hero .photo img,.hero .geo,.hero .cue,.bar{animation:none!important;transition:none!important}
.menu{transform:none;transition:opacity .2s,visibility 0s linear .2s;opacity:0}.menu.open{opacity:1;visibility:visible;transition:opacity .2s,visibility 0s}
.pic .fr img,.plate .pz img,.roll span,.marq .track2{transition:none!important;animation:none!important}
}
body.admin-bar{--ab:32px}
@media(max-width:782px){body.admin-bar{--ab:46px}}
body{--ct:calc(var(--m) + var(--ab,0px) + var(--bar) + env(safe-area-inset-top,0px) + 20px);--gt:calc(var(--ct) + 58px)}
.bar{top:calc(var(--m) + var(--ab,0px) + env(safe-area-inset-top,0px))}
.menu{padding-top:calc(var(--m) + var(--ab,0px) + env(safe-area-inset-top,0px))}
main h1,main h2,main h3,main p,main dl,main dd,main figure,.menu ol,.viewer h2,.viewer p{margin-top:0}
main a:hover,.menu a:hover,#footer a:hover{text-decoration:none}
main img,.viewer img{height:auto}
.hero .photo img,.panel .media img,.fr img,.me-frame img,.tile img,.coll .cv img,.menu .prev img{height:100%}
@media(min-width:960px){
.about{grid-template-columns:1.25fr .75fr;grid-template-rows:auto 1fr}
.about .text{grid-column:1;grid-row:1/3}
.about .me{grid-column:2;grid-row:1}
.about .slate-f{grid-column:2;grid-row:2;align-self:start}
}
.me{margin:0;display:grid;gap:14px;align-self:start;max-width:520px;width:100%}
@media(min-width:960px){.me{justify-self:end}}
.me-box{position:relative}
.me-frame{position:relative;aspect-ratio:853/1280;overflow:hidden;background:#C9C3BC;clip-path:inset(49.5% 0 49.5% 0);transition:clip-path 1.4s var(--ease) .1s}
.me.in .me-frame{clip-path:inset(0 0 0 0)}
.me-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;translate:0 var(--dy,0%);scale:1.3;filter:grayscale(1) contrast(1.15) brightness(.85);transition:scale 2.2s var(--ease) .1s,filter 2.6s ease .7s;will-change:transform}
.me.in .me-frame img{scale:1.14;filter:none}
@media(hover:hover){.me:hover .me-frame img{scale:1.18;transition:scale 1.2s var(--ease),filter 2.6s ease .7s}}
.me-box::before,.me-box::after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--accent);top:calc(50% - 1px);opacity:0;z-index:2;pointer-events:none}
.me.in .me-box::before{animation:rfShutUp 1.4s var(--ease) .1s both}
.me.in .me-box::after{animation:rfShutDown 1.4s var(--ease) .1s both}
@keyframes rfShutUp{0%{top:calc(50% - 1px);opacity:1}75%{opacity:1}100%{top:0;opacity:0}}
@keyframes rfShutDown{0%{top:calc(50% - 1px);opacity:1}75%{opacity:1}100%{top:calc(100% - 2px);opacity:0}}
.me .mk{border-color:rgba(31,33,33,.6);opacity:0;scale:.4;transition:opacity .6s ease 1.2s,scale .6s var(--ease) 1.2s}
.me.in .mk{opacity:1;scale:1}
.me figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 14px;font:500 12px/1.5 var(--mono);text-transform:uppercase;color:var(--pink-2)}
.me figcaption .ln:first-child{color:var(--pink);font-weight:600}
.me figcaption .ln>span{transform:translateY(110%);transition:transform .8s var(--ease) 1.1s}
.me.in figcaption .ln>span{transform:none}
.me.in figcaption .ln:nth-child(2)>span{transition-delay:1.2s}
.ph-hero{position:relative;padding:calc(var(--m) + var(--bar) + 64px) var(--gut) clamp(64px,9vw,120px);background:var(--bg)}
.ph-title{font-size:min(12.9vw,212px,calc((100vw - var(--gut) * 2) / 6.6));letter-spacing:-.045em;line-height:.86;margin:0 0 clamp(26px,4vw,48px)}
.ph-intro{display:grid;gap:22px;justify-items:start;margin-bottom:clamp(44px,7vw,96px)}
@media(min-width:960px){.ph-intro{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px}}
.colls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
@media(min-width:768px){.colls{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 18px}}
.coll{display:grid;gap:10px;color:var(--ink);opacity:0;transform:translateY(26px);transition:opacity .8s ease var(--d,0s),transform .8s var(--ease) var(--d,0s)}
.coll.in{opacity:1;transform:none}
.coll .cv{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bg-2) center/cover no-repeat}
.coll .cv img{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .9s ease,transform 1.6s var(--ease)}
.coll .cv img.ok{opacity:1;transform:none}
@media(hover:hover){.coll:hover .cv img.ok{transform:scale(1.04)}.coll:hover .ct{color:var(--accent)}}
.coll .cn{display:flex;justify-content:space-between;gap:10px;font:500 11.5px/1.4 var(--mono);text-transform:uppercase;color:var(--ink-2)}
.coll .ct{display:block;margin:0;font:600 clamp(17px,2vw,26px)/1.02 var(--grot);letter-spacing:-.02em;text-transform:uppercase;transition:color .3s}
.gallery{position:relative;z-index:2}
.chips{position:sticky;top:calc(var(--m) + var(--bar) + env(safe-area-inset-top,0px));z-index:30;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:12px var(--gut);background:var(--paper);border-bottom:1px solid var(--rule-p)}
.chips{top:calc(var(--m) + var(--ab,0px) + var(--bar) + env(safe-area-inset-top,0px))}
.chips::-webkit-scrollbar{display:none}
.chips a{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid var(--rule-p);font:600 11.5px/1 var(--mono);text-transform:uppercase;color:var(--pink);white-space:nowrap;transition:background .25s,color .25s,border-color .25s}
.chips a i{font-style:normal;color:var(--pink-2);font-weight:500}
.chips a:hover{border-color:var(--pink)}
.chips a.on{background:var(--pink);color:var(--paper);border-color:var(--pink)}
.chips a.on i{color:var(--ink-2)}
.pcat{padding:clamp(56px,8vw,110px) var(--gut) 0;scroll-margin-top:0}
.pcat:last-of-type{padding-bottom:clamp(76px,10vw,140px)}
.pcat-head{display:grid;gap:18px;margin-bottom:clamp(28px,4vw,52px)}
@media(min-width:960px){.pcat-head{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:48px}}
.pcat-head .h-lines{font-size:clamp(36px,6.4vw,92px)}
.pcat-head .side{display:grid;gap:14px;justify-items:start}
.pcat .tag{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid var(--accent);color:#B8461A;font:600 11px/1 var(--mono);text-transform:uppercase}
.masonry{columns:2;column-gap:12px}
@media(min-width:768px){.masonry{columns:3;column-gap:18px}}
@media(min-width:1200px){.masonry{columns:4;column-gap:22px}}
.tile{break-inside:avoid;margin:0 0 20px;display:grid;gap:8px;opacity:0;transform:translateY(30px);transition:opacity .9s ease var(--d,0s),transform .9s var(--ease) var(--d,0s)}
.tile.in{opacity:1;transform:none}
.tile a{position:relative;display:block;aspect-ratio:var(--ar);overflow:hidden;background:#CFCFCF center/cover no-repeat}
.tile img{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .8s ease,transform 1.3s var(--ease)}
.tile img.ok{opacity:1;transform:none}
@media(hover:hover){.tile a:hover img.ok{transform:scale(1.035)}
.tile a::after{content:"View \2197";position:absolute;right:8px;bottom:8px;padding:7px 9px;background:rgba(13,14,15,.8);color:var(--ink);font:600 10.5px/1 var(--mono);text-transform:uppercase;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s var(--ease)}
.tile a:hover::after{opacity:1;transform:none}}
.tile figcaption{display:flex;justify-content:space-between;gap:10px;font:500 11px/1.45 var(--mono);text-transform:uppercase;color:var(--pink-2)}
.tile figcaption b{display:block;color:var(--pink);font-weight:600}
.tile figcaption .n{flex:0 0 auto}
.ph-call{background:var(--bg);color:var(--ink);display:block}
.ph-call .wrap{display:grid;gap:30px}
.ph-call .h-lines{font-size:clamp(40px,8vw,112px)}
.ph-call .row{display:flex;flex-wrap:wrap;gap:12px}
.viewer{position:fixed;inset:0;z-index:70;background:var(--bg-3);color:var(--ink);display:grid;grid-template-rows:auto minmax(0,1fr) auto;opacity:0;transition:opacity .35s ease}
.viewer[hidden]{display:none!important}
.viewer.open{opacity:1}
.v-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(var(--m) + env(safe-area-inset-top,0px)) var(--gut) 10px;font:500 12px/1.5 var(--mono);text-transform:uppercase}
.v-top{padding-top:calc(var(--m) + var(--ab,0px) + env(safe-area-inset-top,0px))}
.v-cat{min-height:40px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid var(--rule);color:var(--ink)}
.v-cat:hover{border-color:var(--ink)}
.v-count{color:var(--ink-2);font-variant-numeric:tabular-nums}
.v-close{position:relative;width:44px;height:44px}
.v-close i::before,.v-close i::after{content:"";position:absolute;left:11px;right:11px;top:50%;height:1.5px;background:var(--ink)}
.v-close i::before{transform:rotate(45deg)}.v-close i::after{transform:rotate(-45deg)}
.v-stage{position:relative;min-height:0;padding:6px var(--m);touch-action:pan-y;user-select:none}
.v-pic{position:relative;width:100%;height:100%}
.v-pic img{position:absolute;inset:0;margin:auto;max-width:100%;max-height:100%;width:auto;height:auto;opacity:0;transition:opacity .45s ease}
.v-pic img.on{opacity:1}
.v-prev,.v-next{position:absolute;top:50%;width:48px;height:48px;margin-top:-24px;display:grid;place-items:center;background:rgba(13,14,15,.62);border:1px solid var(--rule);z-index:2;transition:border-color .25s}
.v-prev:hover,.v-next:hover{border-color:var(--ink)}
.v-prev{left:var(--gut)}.v-next{right:var(--gut)}
.v-prev svg,.v-next svg{width:16px;height:16px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:square}
@media(max-width:767px){.v-prev,.v-next{top:auto;bottom:10px;margin-top:0}}
.v-cap{padding:12px var(--gut) calc(18px + env(safe-area-inset-bottom,0px));display:grid;gap:4px;min-height:84px}
.v-cap h2{margin:0;font:600 clamp(22px,3.2vw,40px)/1.02 var(--grot);text-transform:uppercase;letter-spacing:-.02em}
.v-cap p{margin:0;font:500 12px/1.5 var(--mono);text-transform:uppercase;color:var(--ink-2)}
@media(prefers-reduced-motion:reduce){
.me-frame{clip-path:none!important;transition:none!important}.me-frame img{scale:1.1!important;filter:none!important;transition:none!important}
.me .mk,.me figcaption .ln>span,.coll,.tile,.tile img,.coll .cv img{opacity:1!important;transform:none!important;scale:1!important;transition:none!important}
.me-box::before,.me-box::after{display:none}
.viewer{transition:none}
}
e-page-transition{display:none!important}
html:not(.rf) :is(.rv,.stg>*,.coll,.tile,.tile img,.coll .cv img,.idx>span,.slate-f dt,.slate-f dd,.me .mk){opacity:1!important;transform:none!important;scale:1!important}
html:not(.rf) :is(.h-lines .line>span,.me figcaption .ln>span,.menu ol a>span){transform:none!important}
html:not(.rf) :is(.me-frame,.wipe){clip-path:none!important}
html:not(.rf) .me-frame img{filter:none!important;scale:1.1!important}
html:not(.rf) .idx::after,html:not(.rf) .slate-f::before,html:not(.rf) .pcard::before{transform:none!important}
html:not(.rf) .stack.proj{height:auto}
html:not(.rf) .stage{position:relative;height:auto}
#showreel{background:var(--bg)}
.no-stage #photo,.no-stage #contactStack{margin-top:0}
.no-stage .stage .c.cnt{display:none}
html:not(.rf) #photo,html:not(.rf) #contactStack{margin-top:0}
.stage .c.cnt{z-index:4}
@media(min-width:1025px){.stage .slate{position:relative}}
@media(max-width:767px){#film .media img{object-position:55% 40%}}
@media(min-width:960px){#about .h-lines{font-size:min(4.6vw,72px)}}
.h-lines .line:has(em){padding-bottom:.2em;margin-bottom:-.2em}
@media(min-aspect-ratio:4/3){.hero .name{top:66%;font-size:min(17vw,236px,24svh)}}
.slate-f dd .accent,.stage.paper .cnt .col b,.pcat .tag{color:#9C3A12}
.paper :focus-visible,.menu :focus-visible,.slate :focus-visible,.pcard :focus-visible,.chips :focus-visible{outline-color:var(--pink)}
.menu .btn.primary{background:var(--pink);color:var(--paper);border-color:var(--pink)}
.menu .btn.primary:hover{background:#000}
.menu .mfoot .cta-m{justify-self:start}
.menu .mfoot .row a{display:inline-block;padding:14px 0;margin:-14px 0}
.bar nav a[aria-current=page]{color:var(--ink)}
.bar nav a[aria-current=page] .roll{box-shadow:0 1px 0 var(--accent)}
.menu ol a[aria-current=page] small{color:#9C3A12}
.bbar{visibility:hidden;transition:transform .4s var(--ease),visibility 0s linear .4s}
.bbar.show:not(.hide){visibility:visible;transition:transform .4s var(--ease),visibility 0s}
.bbar .btn{min-height:44px}.bbar .wa{width:44px;height:44px}
.hero .c.br a{min-height:44px}
.copy button{min-height:44px;padding:0 12px}
.chips a{min-height:44px}
.v-cat{min-height:44px}
html:has(#gallery){scroll-padding-top:calc(var(--m) + var(--ab,0px) + var(--bar) + 86px)}
.masonry.mjs{display:flex;align-items:flex-start;gap:12px;columns:auto}
@media(min-width:768px){.masonry.mjs{gap:18px}}
@media(min-width:1200px){.masonry.mjs{gap:22px}}
.masonry.mjs .mcol{flex:1 1 0;min-width:0}
.masonry.mjs{flex-wrap:wrap}
.masonry .tile-lead{flex:0 0 100%;column-span:all;margin-bottom:26px}
@media(min-width:768px){.masonry .tile-lead{width:100%;grid-template-columns:minmax(0,2.3fr) minmax(200px,1fr);column-gap:28px;align-items:end}
.masonry .tile-lead figcaption>span{display:block}
.masonry .tile-lead figcaption{flex-direction:column;justify-content:flex-end;gap:10px;padding-bottom:4px;font-size:12px}
.masonry .tile-lead figcaption b{font:600 clamp(26px,2.6vw,38px)/1.02 var(--grot);letter-spacing:-.02em;margin-bottom:6px}}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.bar .skip{position:absolute;left:-1px;top:calc(100% + 8px);z-index:2;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;background:var(--paper);color:var(--pink);font:600 12px/1 var(--mono);letter-spacing:.02em;text-transform:uppercase;opacity:0;pointer-events:none}
.bar .skip:focus{opacity:1;pointer-events:auto}
.bar .skip:focus-visible{outline-color:var(--pink)}
#rf-main:focus{outline:0}
.bar>a[aria-label]{display:flex;align-items:center;min-height:44px}
#footer .col a{position:relative}
#footer .col a::after{content:"";position:absolute;left:0;right:0;top:-8px;bottom:-8px}
.cta-panel .inner::before{content:"";position:absolute;z-index:2;left:var(--m);right:var(--m);top:var(--m);height:calc(var(--ct) - var(--m) + 110px);background:linear-gradient(180deg,rgba(19,20,21,.62) 0%,rgba(19,20,21,.58) 68%,rgba(19,20,21,.2) 86%,rgba(19,20,21,0) 100%);pointer-events:none}
.marq:hover .track2{animation-play-state:paused}
html:not(.rf) .stage{overflow:visible}
html:not(.rf) .stage .inner{position:relative;inset:auto;padding:0 var(--gut) 60px}
html:not(.rf) .stage .screen{position:relative;inset:auto;padding:70px 0 0;display:grid;gap:40px 24px}
html:not(.rf) .stage .c{position:static;max-width:none}
html:not(.rf) .stage .slide{position:relative;inset:auto;opacity:1;visibility:visible;display:grid;gap:14px;transform:none;padding:0}
html:not(.rf) .stage .slide .pic,html:not(.rf) .stage .slate{position:static;width:auto;max-width:none}
html:not(.rf) .stage .fr{width:100%;transform:none}
html:not(.rf) .stage .slate::before{transform:none}
html:not(.rf) .stage .track,html:not(.rf) .stage .cnt,html:not(.rf) .stage .mk{display:none}
@media(min-width:680px){html:not(.rf) .stage .screen{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.ph-intro .ph-street{grid-column:2;justify-self:start;margin-top:-30px}}
.vm{position:fixed;inset:0;z-index:70;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--bg-3);color:var(--ink);opacity:0;transition:opacity .35s ease}
.vm[hidden]{display:none!important}
.vm.open{opacity:1}
.vm a,.vm a:hover{text-decoration:none}
.vm-k{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--ink-2)}
.vm-k i{width:8px;height:8px;background:var(--accent);animation:vmRec 1.6s steps(1,end) infinite}
@keyframes vmRec{50%{opacity:.2}}
.vm-stage{position:relative;min-height:0;display:grid;place-items:center;padding:10px var(--m);container-type:size}
.vm-fr{position:relative;width:100%;max-width:1760px;aspect-ratio:16/9;background:#000;opacity:0;transform:scale(.965);transition:opacity .5s ease .05s,transform .8s var(--ease) .05s}
@supports (width:1cqh){.vm-fr{width:min(100cqw,100cqh * 16 / 9)}}
.vm.open .vm-fr{opacity:1;transform:none}
.vm-fr iframe{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;border:0;opacity:0;transition:opacity .5s ease}
.vm-fr.ok iframe{opacity:1}
.vm-load{position:absolute;left:0;right:0;top:50%;display:grid;justify-items:center;gap:12px;transform:translateY(-50%);font:500 11.5px/1 var(--mono);text-transform:uppercase;color:var(--ink-3);pointer-events:none;transition:opacity .3s ease}
.vm-load::after{content:"";width:72px;height:1px;background:var(--accent);transform-origin:0 50%;animation:vmLoad 1.2s var(--ease) infinite}
@keyframes vmLoad{0%{transform:scaleX(0)}60%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
.vm-fr.ok .vm-load{opacity:0}
.vm .mk{opacity:0;border-color:rgba(235,235,235,.6);transition:opacity .5s ease .35s}
.vm.open .mk{opacity:1}
.vm-cap .ln>span{transform:translateY(110%);transition:transform .6s var(--ease)}
.vm.open .vm-cap .ln>span{transform:none;transition-delay:.2s}
.vm.open .vm-cap .ln+.ln>span{transition-delay:.28s}
.vm-yt{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:600 12px/1 var(--mono);text-transform:uppercase;color:var(--ink-2);transition:color .25s}
.vm-yt:hover{color:var(--ink)}
.vm-yt svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square}
.vm-page{margin-left:22px}
.vm-page[hidden]{display:none}
@media(min-width:768px){.vm-cap{grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:32px}}
@media(max-aspect-ratio:3/4){
.vm{grid-template-rows:auto minmax(0,1fr) auto auto minmax(0,1.3fr)}
.vm .vm-top{grid-row:1}
.vm .vm-stage{grid-row:3;container-type:normal;padding-top:14px;padding-bottom:14px}
.vm .vm-fr{width:100%}
.vm .vm-cap{grid-row:4;min-height:0;padding-top:10px}
}
html.vm-on .bbar{transform:translateY(110%)!important;visibility:hidden!important}
@media(max-height:540px) and (orientation:landscape){
.vm .v-top{padding-top:calc(6px + var(--ab,0px) + env(safe-area-inset-top,0px));padding-bottom:0}
.vm-stage{padding:4px var(--m)}
.vm .v-cap{min-height:0;padding-top:4px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:20px}
.vm .v-cap h2{font-size:18px}
}
@media(prefers-reduced-motion:reduce){
.vm,.vm-fr,.vm-fr iframe,.vm .mk,.vm-cap .ln>span{transition:none!important}
.vm-fr,.vm-cap .ln>span{transform:none!important}
.vm-k i,.vm-load::after{animation:none}
}

.rf-plain{min-height:70svh;padding:calc(var(--bar-h,64px) + 48px) 0 96px}
.rf-plain .wrap{max-width:760px;margin:0 auto;padding:0 20px}
.rf-plain h1{font:600 clamp(32px,6vw,64px)/1.02 "Space Grotesk",system-ui,sans-serif;text-transform:uppercase;margin:0 0 24px}
.rf-plain p{line-height:1.6}
.rf-plain a{text-decoration:underline;text-underline-offset:3px}
.rf-404 .k{font:600 13px/1 "Geist Mono",ui-monospace,monospace;letter-spacing:.08em;color:#F0652A}
