@font-face{font-family:Archivo;src:url(/fonts/archivo-var.woff) format("woff");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}:root{--ground: #07090f;--card: #12151e;--raised: #1b1f2b;--ink: #f4f6fb;--ink-2: #a8b1c6;--line: rgba(255, 255, 255, .1);--fill: rgba(255, 255, 255, .09);--fill-hover: rgba(255, 255, 255, .18);--accent: #1f45e0;--accent-hover: #2f55ee;--link: #9db0ff;--pad: clamp(1.25rem, 3.6vw, 3.25rem);--top-pad: clamp(1.25rem, 2.2vw, 1.75rem);--top-h: calc(2.75rem + 2 * var(--top-pad));--space: clamp(3.5rem, 7vw, 6.5rem);--gap: clamp(.75rem, 1.2vw, 1.1rem);--r-card: 28px;--r-sheet: 32px;--pill: 999px;--ease: cubic-bezier(.16, 1, .3, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{background:var(--ground);scrollbar-color:#2a3144 var(--ground);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{display:flex;flex-direction:column;min-height:100svh;margin:0;background:var(--ground);color:var(--ink);font-family:Archivo,system-ui,sans-serif;font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}body[data-open]{overflow:hidden}::selection{background:var(--accent);color:#fff}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}ul[class],ol[class]{list-style:none}img{display:block;max-width:100%}svg{display:block;flex:none;width:1rem;height:1rem}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:2px solid #7d9bff;outline-offset:3px}.skip{position:absolute;left:var(--pad);top:-4rem;z-index:20;padding:.6rem 1rem;border-radius:var(--pill);background:var(--ink);color:var(--ground);font-weight:600}.skip:focus{top:.75rem}.page{display:contents}main{flex:1}.wrap{padding-inline:var(--pad)}.top,.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 2rem;padding:var(--top-pad) var(--pad)}.logo{display:inline-flex;align-items:center;gap:.45rem;min-height:2.75rem;font-size:1.3rem;font-weight:650;letter-spacing:-.04em}.logo svg{width:1.75rem;height:1.75rem}.nav{display:flex;flex-wrap:wrap;gap:.25rem;margin-right:-.9rem}.nav a,.nav-dropdown summary{display:inline-flex;align-items:center;min-height:2.75rem;padding-inline:.9rem;border-radius:var(--pill);color:var(--ink-2);font-size:.95rem;font-weight:500;transition:color .3s var(--ease),background-color .3s var(--ease)}.nav a:hover,.nav a[aria-current]{color:var(--ink)}.nav a:hover{background:var(--fill)}.nav-dropdown{position:relative}.nav-dropdown summary{list-style:none;gap:.35rem;cursor:pointer}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary:hover,.nav-dropdown summary[data-active],.nav-dropdown[open] summary{color:var(--ink)}.nav-dropdown summary:hover,.nav-dropdown[open] summary{background:var(--fill)}.nav-dropdown[open] summary svg{transform:rotate(180deg)}.nav-dropdown-links{position:absolute;z-index:10;top:calc(100% + .5rem);right:0;display:grid;width:19rem;max-width:calc(100vw - 2 * var(--pad));gap:.25rem;padding:.5rem;border-radius:20px;background:var(--card);box-shadow:0 16px 40px #0006}.nav-dropdown-links a{border-radius:14px}@media(max-width:36rem){.nav{position:relative}.nav-dropdown{position:static}.nav-dropdown-links{left:.9rem;right:.9rem;width:auto}}.foot{margin-top:var(--space);border-top:1px solid var(--line);color:var(--ink-2);font-size:.85rem}.foot ul{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}.foot a,.foot button,.link{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.25em;transition:color .3s var(--ease),text-decoration-color .3s var(--ease)}.foot a:hover,.foot button:hover{color:var(--ink);text-decoration-color:currentColor}.link{color:var(--link);text-decoration-color:#9db0ff66}.link:hover{text-decoration-color:currentColor}.consent{position:fixed;left:var(--pad);bottom:var(--pad);z-index:15;display:grid;gap:1rem;width:min(25rem,calc(100vw - 2 * var(--pad)));padding:1.25rem;border-radius:24px;background:var(--raised);box-shadow:0 24px 60px -20px #000c,0 0 0 1px var(--line);color:var(--ink-2);font-size:.95rem;line-height:1.45}.consent[hidden]{display:none}.consent-row{display:flex;gap:.5rem}.consent .btn{flex:1;justify-content:center}h1,h2,h3{font-weight:650;line-height:1.08;text-wrap:balance}.two span{color:var(--ink-2)}.head{font-size:clamp(1.75rem,1.1rem + 2.2vw,3rem);letter-spacing:-.035em;line-height:1.05}h2.head{font-size:clamp(1.5rem,1.1rem + 1.5vw,2.35rem)}.display{font-size:clamp(2.4rem,1.3rem + 4vw,4.75rem);letter-spacing:-.04em;line-height:1}.lead{max-width:46ch;color:var(--ink-2);font-size:clamp(1.1rem,1rem + .45vw,1.35rem);line-height:1.45}.btn{display:inline-flex;align-items:center;gap:.55rem;min-height:2.75rem;padding-inline:1.3rem 1.15rem;border-radius:var(--pill);background:var(--accent);color:#fff;font-size:.95rem;font-weight:600;transition:background-color .3s var(--ease)}.btn:hover{background:var(--accent-hover)}.btn svg{transition:transform .5s var(--ease)}.btn:hover svg{transform:translate(3px)}.btn--quiet{padding-inline:1.15rem;background:var(--fill);color:var(--ink)}.btn--quiet:hover{background:var(--fill-hover)}.btn--back{padding-inline:.95rem 1.2rem}.btn--back:hover svg{transform:translate(-3px)}.round{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--fill);transition:background-color .3s var(--ease)}.round:hover{background:var(--fill-hover)}.section{padding-top:var(--space)}.section>.head{margin-bottom:clamp(1.1rem,2vw,1.75rem)}.intro{display:grid;gap:clamp(1rem,2vw,1.5rem);justify-items:start;padding-top:clamp(2rem,5vw,4.5rem)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid li{display:grid}.card{display:grid;grid-template:minmax(0,1fr) auto / minmax(0,1fr) auto;align-items:center;column-gap:.75rem;overflow:hidden;border-radius:var(--r-card);background:var(--card);text-align:left}.card-media{grid-column:1 / -1;position:relative;align-self:stretch;aspect-ratio:16 / 10;overflow:hidden}.card img{position:absolute;inset:0;width:100%;height:100%;border-radius:var(--r-card) var(--r-card) 0 0;object-fit:cover;transition:transform 1.1s var(--ease)}.card-media.web img{object-position:left top}.card-text{display:grid;gap:.15rem;padding:.9rem 0 1rem clamp(1rem,1.5vw,1.3rem)}.card-text strong{font-size:clamp(1.05rem,.95rem + .35vw,1.3rem);font-weight:650;letter-spacing:-.02em;line-height:1.2;text-wrap:balance}.card-text span{color:var(--ink-2);font-size:.85rem}.plus{display:grid;place-items:center;width:2.25rem;height:2.25rem;margin-right:1rem;border-radius:50%;background:var(--fill);transition:background-color .3s var(--ease),color .3s var(--ease)}.card:hover img{transform:scale(1.045)}.card:hover .plus,.card:focus-visible .plus{background:#fff;color:var(--ground)}@media(min-width:64.01rem)and (min-height:40rem){.work-first{display:flex;flex-direction:column;min-height:calc(100svh - var(--top-h));padding-bottom:var(--top-pad)}.work-first .grid{flex:1;grid-auto-rows:minmax(13rem,1fr)}.work-first .card-media{aspect-ratio:auto}}.work-first .head{margin-bottom:clamp(1.1rem,2vw,1.75rem)}.sheets{position:fixed;inset:0;z-index:10;display:grid;place-items:center;overflow-y:auto;padding:var(--pad);background:#04060cb8;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);visibility:hidden;opacity:0}body[data-open] .sheets{visibility:visible;opacity:1}.sheet{position:relative;display:none;width:min(42rem,100%);overflow:hidden;border-radius:var(--r-sheet);background:var(--card);box-shadow:0 40px 90px -30px #000c}.sheet.on{display:block}.sheet-hero{width:100%;aspect-ratio:16 / 9;border-radius:var(--r-sheet) var(--r-sheet) 0 0;object-fit:cover}.sheet-hero.web{object-position:top center}.sheet.on .sheet-hero{view-transition-name:work-hero}.sheet-x{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;background:#07090fa8}.sheet-x:hover{background:#07090fe6}.sheet-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.75rem 2.5rem;padding:clamp(1.25rem,3vw,2rem)}.sheet h2{font-size:clamp(1.5rem,1.25rem + .9vw,1.9rem);letter-spacing:-.03em;line-height:1.1}.sheet-body p{max-width:38ch;margin-top:.7rem;color:var(--ink-2)}.sheet-row{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:1rem}.paddles{display:flex;gap:.5rem}::view-transition-group(work-hero){animation-duration:.6s;animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-old(work-hero),::view-transition-new(work-hero){width:100%;height:100%;object-fit:cover}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}.facts div{display:flex;justify-content:space-between;gap:1.5rem;padding-block:.6rem;font-size:.9rem}.facts div+div{border-top:1px solid var(--line)}.facts div:first-child{padding-top:.2rem}.facts dt{color:var(--ink-2)}.facts dd{font-weight:500;text-align:right}.rows{overflow:hidden;border-radius:var(--r-card);background:var(--card)}.rows li+li{border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto 1rem;align-items:center;gap:.25rem 2rem;padding:1.1rem clamp(1rem,1.5vw,1.4rem);transition:background-color .3s var(--ease)}a.row:hover{background:#ffffff0a}.row strong{font-size:1.05rem;font-weight:600;letter-spacing:-.015em}.row span,.row time{color:var(--ink-2);font-size:.92rem;font-variant-numeric:tabular-nums}.row svg{color:var(--ink-2);transition:color .3s var(--ease),transform .5s var(--ease)}a.row:hover svg{color:var(--ink);transform:translate(2px,-2px)}.rows--plain .row{grid-template-columns:7rem minmax(0,1fr) minmax(0,1.2fr)}.rows--links .row{grid-template-columns:minmax(0,1fr) auto 1rem}.rows--posts .row{grid-template-columns:8rem minmax(0,1fr) 1rem;align-items:start;padding-block:1.4rem}.rows--posts strong{display:block;font-size:clamp(1.15rem,1rem + .6vw,1.5rem);letter-spacing:-.025em;line-height:1.2}.rows--posts p{max-width:60ch;margin-top:.4rem;color:var(--ink-2)}.rows--posts a.row:hover svg{transform:translate(3px)}.rows--posts svg{margin-top:.35rem}.draft-tag{display:inline-block;margin-left:.6rem;padding:.15rem .55rem;border-radius:var(--pill);background:#f5d67a;color:#2b2000;font-size:.72rem;font-weight:600;letter-spacing:0;vertical-align:middle}.empty{padding:2rem clamp(1rem,1.5vw,1.4rem);border-radius:var(--r-card);background:var(--card);color:var(--ink-2)}.cta{display:grid;gap:clamp(1.5rem,3vw,2.25rem);justify-items:start;padding:clamp(2rem,6vw,5rem) clamp(1.25rem,5vw,4.5rem);border-radius:var(--r-sheet);background:var(--card)}.cta h2{max-width:14ch;font-size:clamp(2.2rem,1.2rem + 4.2vw,5rem);letter-spacing:-.04em;line-height:1}.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;color:var(--ink-2)}.about-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:clamp(1.5rem,4vw,4rem)}.about-intro>div{display:grid;gap:clamp(1rem,2vw,1.5rem)}.portrait{overflow:hidden;border-radius:var(--r-card);background:var(--card)}.portrait img{width:100%;height:auto}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1.25rem clamp(1.5rem,4vw,4rem);align-items:start}.split>.head{margin-bottom:0}.prose{display:grid;gap:1.1rem;max-width:62ch;color:var(--ink-2);font-size:1.05rem;line-height:1.6}.prose .big{color:var(--ink);font-size:clamp(1.25rem,1.05rem + .9vw,1.75rem);font-weight:500;letter-spacing:-.02em;line-height:1.3}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}.tile{display:grid;align-content:start;gap:.6rem;padding:clamp(1.1rem,1.8vw,1.5rem);border-radius:var(--r-card);background:var(--card)}.tile h3{font-size:1.1rem;letter-spacing:-.02em}.tile p{color:var(--ink-2)}.note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.25rem clamp(1.25rem,3vw,2.5rem);align-items:start;padding:clamp(1.5rem,4vw,3rem);border-radius:var(--r-sheet);background:var(--card)}.note>svg{width:clamp(3rem,5vw,4.5rem);height:clamp(3rem,5vw,4.5rem)}.note h2{margin-bottom:.9rem;font-size:clamp(1.5rem,1.1rem + 1.5vw,2.35rem);letter-spacing:-.035em}.note p{max-width:62ch;color:var(--ink-2);font-size:1.05rem;line-height:1.6}.note p+p{margin-top:1rem}.contact{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--gap);align-items:start}.contact-side{display:grid;gap:var(--gap)}.box{padding:clamp(1.25rem,2.4vw,2rem);border-radius:var(--r-card);background:var(--card)}.box h2{font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem);letter-spacing:-.025em}.box>p{max-width:46ch;margin-top:.5rem;color:var(--ink-2)}.brief{border-radius:var(--r-sheet)}.brief form{display:grid;gap:1.5rem;margin-top:1.75rem}.brief fieldset{min-width:0;margin:0;padding:0;border:0}.brief legend,.field label{display:block;margin-bottom:.55rem;padding:0;color:var(--ink-2);font-size:.9rem;font-weight:500}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{position:relative}.chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.chip span{display:inline-flex;align-items:center;min-height:2.75rem;padding-inline:1.1rem;border-radius:var(--pill);background:var(--fill);font-size:.95rem;font-weight:500;transition:background-color .3s var(--ease),color .3s var(--ease)}.chip:hover span{background:var(--fill-hover)}.chip input:checked+span{background:var(--ink);color:var(--ground)}.chip input:focus-visible+span{outline:2px solid #7d9bff;outline-offset:3px}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}.field input,.field textarea{display:block;width:100%;padding:.8rem 1rem;border:1px solid transparent;border-radius:14px;background:#ffffff0f;color:var(--ink);font:inherit;caret-color:var(--link);transition:border-color .3s var(--ease),background-color .3s var(--ease)}.field textarea{min-height:6.5rem;resize:vertical}.field input:hover,.field textarea:hover{background:#ffffff17}.field input:focus-visible,.field textarea:focus-visible{border-color:#7d9bff;outline:0;background:#ffffff17}.brief-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.brief-note{color:var(--ink-2);font-size:.85rem}.mail{display:inline-block;margin-top:.9rem;font-size:clamp(1.3rem,1rem + 1.3vw,2rem);font-weight:650;letter-spacing:-.035em;line-height:1.15;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#ffffff40;text-decoration-thickness:2px;text-underline-offset:.18em;transition:text-decoration-color .3s var(--ease)}.mail:hover{text-decoration-color:currentColor}.contact-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}.person{padding:0;overflow:hidden}.person img{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;object-position:62% 30%}.person-text{padding:clamp(1.1rem,2vw,1.6rem)}.person-text p{margin-top:.4rem;color:var(--ink-2)}.person .facts{margin-top:1.1rem}.case .lead{max-width:52ch}.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;overflow:hidden;border-radius:var(--r-card);background:var(--card)}.strip div{padding:1.1rem clamp(1rem,1.5vw,1.4rem)}.strip div+div{border-left:1px solid var(--line)}.strip dt{margin-bottom:.3rem;color:var(--ink-2);font-size:.85rem}.strip dd{font-weight:500}.shots{display:grid;grid-template-columns:repeat(2,minmax(0,48rem));justify-content:center;gap:var(--gap)}.shot{overflow:hidden;border-radius:var(--r-card);background:var(--card)}.shot img{width:100%;height:auto}.shot--phone{grid-column:1 / -1;display:grid;place-items:center;padding:clamp(1.5rem,4vw,3rem)}.shot--phone img{width:auto;height:min(26rem,60vh);border-radius:1.5rem}.next{max-width:30rem}.next .card{width:100%}.article{padding-top:clamp(2rem,5vw,4.5rem)}.article header{display:grid;gap:1.25rem;justify-items:start;max-width:50rem}.article h1{font-size:clamp(2.2rem,1.3rem + 3.4vw,4.25rem);letter-spacing:-.04em;line-height:1.02}.article .meta{color:var(--ink-2);font-size:.95rem}.article-body{max-width:42rem;margin-top:clamp(2.5rem,5vw,4rem);color:#c3cbdc;font-size:clamp(1.05rem,1rem + .3vw,1.2rem);line-height:1.7}.article-body>*+*{margin-top:1.4em}.article-body h2{margin-top:2.4em;color:var(--ink);font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem);letter-spacing:-.035em;line-height:1.15}.article-body strong{color:var(--ink)}.article-body a{color:var(--link);text-decoration:underline;text-decoration-color:#9db0ff66;text-underline-offset:.2em}.article-body a:hover{text-decoration-color:currentColor}.article-body ul{padding-left:1.2rem}.article-body li+li{margin-top:.5em}.article-body h3{margin-top:2em;color:var(--ink);font-size:1.15em;font-weight:600;letter-spacing:-.02em;line-height:1.25}.article-body h3+*{margin-top:.7em}.article-body code{padding:.12em .4em;border-radius:6px;background:var(--fill);color:var(--ink);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.88em}.article-body table{display:block;overflow-x:auto;border-collapse:collapse;font-size:.82em;line-height:1.45}.article-body th,.article-body td{min-width:8rem;padding:.75rem 1.25rem .75rem 0;text-align:left;vertical-align:top}.article-body td{border-top:1px solid var(--line)}.article-body th,.article-body td code{white-space:nowrap}.article-body th{color:var(--ink);font-weight:600}.article-body>.fig{display:grid;gap:.75rem;margin:2.4em 0 0}.article-body>.fig+*{margin-top:2.4em}.fig-panel{padding:1.25rem 1rem 1.15rem;border-radius:20px;background:var(--card)}.fig-title{margin:0 0 1.1rem;color:var(--ink);font-size:1rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}.fig-note{margin:1rem 0 0;color:var(--ink-2);font-size:.85rem;line-height:1.4;text-align:center}.fig figcaption{color:var(--ink-2);font-size:.85rem;line-height:1.5}.fig svg{width:100%;max-width:24rem;height:auto;margin-inline:auto}.fig text{text-anchor:middle}.fig-line{fill:none;stroke:#ffffff4d;stroke-width:1.5}.fig-you{fill:none;stroke:#fff6}.fig-box{fill:#ffffff1a}.fig-box--one{fill:var(--accent)}.fig-t{fill:var(--ink);font-size:13px;font-weight:600}.fig-t--one{fill:#fff}.fig-aa{fill:#fff;font-size:28px;font-weight:650;letter-spacing:-.04em}.fig-eq{fill:var(--ink-2);font-size:18px;font-weight:500}@media(min-width:44rem){.article-body>.fig{grid-template-columns:1fr 1fr}.fig figcaption{grid-column:1 / -1}}@media(max-width:64rem){.grid,.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles{grid-template-columns:minmax(0,1fr)}.strip{grid-template-columns:repeat(2,minmax(0,1fr))}.strip div:nth-child(odd){border-left:0}.strip div:nth-child(n+3){border-top:1px solid var(--line)}.shots{grid-template-columns:minmax(0,48rem)}}@media(max-width:56rem){.about-intro,.split,.contact{grid-template-columns:minmax(0,1fr)}.about-intro{align-items:start}.row{grid-template-columns:minmax(0,1fr) 1rem}.row>:not(svg){grid-column:1}.row svg{grid-row:1;grid-column:2}.rows--plain .row,.rows--posts .row{grid-template-columns:minmax(0,1fr)}.rows--posts .row,.rows--links .row{grid-template-columns:minmax(0,1fr) 1rem}}@media(max-width:36rem){:root{--r-card: 24px;--r-sheet: 26px}.grid,.grid--3{grid-template-columns:minmax(0,1fr)}.nav{width:100%;margin-inline:-.9rem}.sheets{padding:.6rem}.sheet-body{grid-template-columns:minmax(0,1fr);gap:1.25rem}.field-row,.note{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}
