@font-face{font-family:Roboto Flex;src:url(/fonts/roboto-flex.woff2) format("woff2");font-weight:100 1000;font-stretch:25% 151%;font-style:oblique 0deg 10deg;font-display:swap}:root{--bg: #181c22;--ink: #dfe3ea;--theme: #2b2d42;--pad: clamp(1.5rem, 4vw, 3rem);--wght: 680;--slnt: 0}*{margin:0;padding:0;box-sizing:border-box}html{scroll-snap-type:y mandatory}body{background:var(--bg);color:var(--ink);font-family:Roboto Flex,system-ui,sans-serif;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.wrap{width:100%;max-width:72rem;margin:0 auto;padding-inline:var(--pad)}.intro{--ink: #ef8354;background:var(--theme);color:var(--ink);min-height:100svh;display:flex;flex-direction:column;padding:var(--pad);scroll-snap-align:start}header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.kicker{font-size:.8rem;font-weight:600;letter-spacing:.42em;text-transform:uppercase;opacity:.6;text-indent:.42em;color:var(--ink);text-decoration:none;transition:opacity .18s}.kicker:hover{opacity:1}.back{font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);text-decoration:none;opacity:.6;transition:opacity .18s}.back:hover{opacity:1}.back .arrow{display:inline-block;transition:transform .18s}.back:hover .arrow{transform:translate(-4px)}.title{flex:1;display:flex;align-items:center}h1{display:block;width:max-content;font-size:clamp(40px,calc((100svh - 270px) / 1.8),320px);line-height:.84;font-weight:400;letter-spacing:-.005em;text-transform:uppercase;font-variation-settings:"opsz" 144,"slnt" var(--slnt),"wght" var(--wght),"wdth" var(--lw, 100)}h1 .line{display:block;width:max-content;white-space:nowrap;font-variation-settings:"opsz" 144,"slnt" var(--slnt),"wght" var(--wght),"wdth" var(--lw, 100)}.scroll-cue{align-self:center;background:none;border:0;color:var(--ink);cursor:pointer;padding:.5rem;opacity:.55;transition:opacity .3s ease;animation:cue-bob 2s cubic-bezier(.45,.05,.35,1) infinite}.scroll-cue:hover{opacity:1}.scroll-cue svg{display:block;width:48px;height:48px;overflow:visible}.scroll-cue .chev-top{animation:cue-squeeze 2s cubic-bezier(.45,.05,.35,1) infinite}.scroll-cue.is-hidden{opacity:0;pointer-events:none}@keyframes cue-bob{0%,to{transform:translateY(0)}48%{transform:translateY(6px)}}@keyframes cue-squeeze{0%,28%{transform:translateY(0)}56%{transform:translateY(3.5px)}76%{transform:translateY(-1px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.scroll-cue,.scroll-cue .chev-top{animation:none}}.projects{display:flex;flex-direction:column}.band{min-height:100svh;display:flex;align-items:center;scroll-snap-align:start;background:var(--accent)}.band-inner{width:100%;max-width:72rem;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem);padding:clamp(2rem,6vw,4rem) var(--pad)}.band:nth-child(2n) .media{order:2}.media{display:flex;justify-content:center}.shot{display:block;width:min(100%,250px);text-decoration:none;color:inherit;border-radius:26px;overflow:hidden;border:2px solid var(--frame);box-shadow:0 10px #00000038;transition:transform .12s ease,box-shadow .12s ease}.shot:hover{transform:translateY(-3px);box-shadow:0 13px #00000038}.shot:active{transform:translateY(4px);box-shadow:0 6px #00000038}.shot img{display:block;width:100%;height:auto}.shot--slides{position:relative;aspect-ratio:9/19.5}.shot--slides img{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;object-fit:cover}.shot--slides img+img{opacity:0;animation:crossfade 12s ease-in-out infinite}.shot--slides img:nth-child(3){animation-delay:-6s}@keyframes crossfade{0%,6%{opacity:0}12%,38%{opacity:1}44%,to{opacity:0}}.ph{display:flex;align-items:center;justify-content:center;aspect-ratio:9/19.5;font-size:.8rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-on);opacity:.6}.text{display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem}.proj-name{font-size:clamp(2.4rem,6vw,4.5rem);line-height:.84;font-weight:400;text-transform:uppercase;letter-spacing:-.015em;color:var(--ink-on);font-variation-settings:"opsz" 100,"wght" 780,"wdth" 80}.desc{font-size:1.05rem;font-weight:500;line-height:1.5;max-width:44ch;color:var(--ink-on);opacity:.85}.links{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:.5rem}.links a{display:inline-block;border-radius:999px;text-decoration:none;font-weight:700;font-size:1rem;padding:.72em 1.6em;transition:transform .1s ease,box-shadow .1s ease,background-color .18s ease,color .18s ease}.links a.solid{background:var(--ink-on);color:var(--accent);box-shadow:0 6px #00000038}.links a.solid:hover{transform:translateY(-2px);box-shadow:0 8px #00000038}.links a.solid:active{transform:translateY(3px);box-shadow:0 3px #00000038}.links a.ghost{border:2px solid var(--ink-on);color:var(--ink-on);padding:calc(.72em - 2px) calc(1.6em - 2px)}.links a.ghost:hover{background:var(--ink-on);color:var(--accent)}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: view()){.media,.text{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 75%}.text{animation-range:entry 12% entry 88%}@keyframes rise{0%{transform:translateY(64px)}to{transform:translateY(0)}}}}@media(prefers-reduced-motion:reduce){.shot--slides img+img{animation:none}}@media(max-width:760px){html{scroll-snap-type:y proximity}.band{min-height:0;padding-block:clamp(3rem,9vh,5rem)}.band-inner{grid-template-columns:1fr;min-height:0}.band:nth-child(2n) .media{order:0}.shot{max-width:240px}}
