.index{margin:0;padding:clamp(20px,3vw,36px) 0;list-style:none}.index li{border-bottom:1px solid var(--line);--tint-hi:color-mix(in srgb, var(--tint) 70%, var(--ink))}.index li:first-child{border-top:1px solid var(--line)}.hero:has(+#projects){border-bottom:0}.index a{--bar:4px;--yc:2.5em;grid-template-columns:var(--bar) calc(var(--yc) - (var(--bar) - 4px)) 1fr;color:var(--ink);gap:4px 14px;padding:14px 0;font-size:clamp(19px,1.55vw,21px);text-decoration:none;transition:grid-template-columns .35s cubic-bezier(.2,.7,.2,1);display:grid}.index .y{color:color-mix(in srgb, var(--muted) 55%, transparent);font-variant-numeric:tabular-nums}.index .n{font-weight:700}.index a:before{content:"";background:color-mix(in srgb, var(--tint) 85%, var(--ink));border-radius:2px;grid-row:1/span 2;align-self:stretch;transition:background-color .35s,box-shadow .35s}.index a{isolation:isolate;position:relative}.index a:after{content:"";z-index:-1;pointer-events:none;opacity:0;background:linear-gradient(90deg, color-mix(in srgb, var(--tint) 17%, transparent), color-mix(in srgb, var(--tint) 4%, transparent) 38%, transparent 72%);transition:opacity .35s;position:absolute;inset:0}.index .n,.index .y,.index .t{transition:color .35s,text-shadow .35s}.index .t{color:var(--muted);grid-column:3;font-size:clamp(16px,1.3vw,17px)}@media (hover:hover){.index a:hover{--bar:12px}.index a:hover:before{background:var(--tint-hi);box-shadow:0 0 10px var(--tint-hi), 0 0 28px color-mix(in srgb, var(--tint) 80%, transparent)}.index a:hover:after{opacity:1}.index a:hover .n{text-shadow:0 0 18px color-mix(in srgb, var(--tint-hi) 70%, transparent)}.index a:hover .y{color:var(--tint-hi)}.index a:hover .t{color:var(--ink)}}.index a:focus-visible{--bar:12px}@media (width<=699px){.hero:has(+#projects) .intro{padding-block:76px 84px}.index a{row-gap:1px;padding:11px 0}.index .y{grid-row:1/span 2;align-self:center;font-size:17px}.index .n{line-height:1.35}.index .t{font-size:15px;line-height:1.35}}@media (width<=411px){.index a,.index a:hover,.index a:focus-visible{--bar:4px;grid-template-columns:var(--bar) 1fr}.index .y{display:none}.index .n,.index .t{grid-column:2}}@media (width>=700px){.index a{--yc:2.9em;grid-template-columns:4px var(--yc) 1fr 1fr;align-items:baseline}.index a:before{width:var(--bar);transition:width .35s cubic-bezier(.2,.7,.2,1),background-color .35s,box-shadow .35s}.index .y,.index .n,.index .t{translate:calc(var(--bar) - 4px) 0;transition:translate .35s cubic-bezier(.2,.7,.2,1),color .35s,text-shadow .35s}.index a:before{grid-row:auto}.index .t{grid-column:auto}}.project{--pad:clamp(64px, 10vw, 128px);--pad-top:clamp(68px, 9vw, 120px);padding-block:var(--pad-top) var(--pad);--tint-hi:color-mix(in srgb, var(--tint) 70%, var(--ink));--lit:1;--bar:min(1, calc(var(--lit) * 3));--room:max(0, calc((var(--lit) - .25) / .75));position:relative;overflow:clip}.project:before{content:"";pointer-events:none;background:linear-gradient(180deg, color-mix(in srgb, var(--tint) var(--tint-amt), var(--paper)) 0, var(--paper) min(var(--fade), 85%));position:absolute;inset:0}.project:after{content:"";pointer-events:none;background:radial-gradient(48% 36px at 26% -4px, color-mix(in srgb, var(--tint-hi) 75%, transparent), transparent), radial-gradient(72% 130px at 26% -4px, color-mix(in srgb, var(--tint-hi) 30%, transparent), transparent), radial-gradient(95% 300px at 26% -4px, color-mix(in srgb, var(--tint-hi) 14%, transparent), transparent);height:300px;position:absolute;inset:0 0 auto}.project:before{opacity:var(--room);transition:opacity .2s linear}.project:after{opacity:var(--bar);transition:opacity .2s linear}.project .p-title{text-shadow:0 0 30px color-mix(in srgb, var(--tint-hi) calc(var(--room) * 50%), transparent)}.project .p-grid{opacity:calc(.45 + .55 * var(--room));transition:opacity .2s linear}.project>.wrap{position:relative}.p-grid{z-index:1;grid-template-columns:1fr;gap:28px 64px;display:grid;position:relative}.p-side{min-width:0}.p-year{right:calc(var(--gutter) * .3);top:calc(-1 * var(--pad-top) - .24em);font-family:var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--ink) 7%, transparent);pointer-events:none;user-select:none;z-index:0;margin:0;font-size:clamp(68px,11vw,150px);font-weight:800;line-height:1;position:absolute}@media (width>=900px){.p-year{font-size:clamp(80px,7.5vw,112px)}}.p-title{text-wrap:balance;font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:clamp(34px,5.6vw,68px);font-weight:700;line-height:1}.p-sub{color:var(--muted);text-wrap:balance;margin:14px 0 0;font-size:clamp(17px,1.4vw,19px);line-height:1.35}.p-links{flex-wrap:wrap;gap:10px;margin:34px 0 0;padding:0;list-style:none;display:flex}.p-links .btn{--py:11px;--px:18px;font-size:14px}.p-meta{margin:14px 0 0;font-size:15px;line-height:1.7}.p-meta dt{color:var(--muted);margin-right:.4em;display:inline}.p-meta dd{margin:0;display:inline}.p-meta dd:after{content:"\a ";white-space:pre}.stack{flex-wrap:wrap;gap:5px;margin:28px 0 0;padding:0;list-style:none;display:flex}.stack li{background:color-mix(in srgb, var(--ink) 8%, transparent);color:var(--muted);border-radius:4px;padding:1px 8px;font-size:13px;line-height:1.6}.p-body{min-width:0}.p-body p{max-width:60ch;margin:0 0 1.1em;font-size:clamp(18px,1.45vw,20px);line-height:1.45}.p-body p:first-child:not(:last-of-type){border-bottom:1px solid color-mix(in srgb, var(--tint-hi) 40%, transparent);margin-bottom:1.6em;padding-bottom:1.6em}.p-body p:last-of-type{margin-bottom:0}@media (width>=900px){.p-grid{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}.p-side{top:calc(env(safe-area-inset-top,0px) + 32px);align-self:start;position:sticky}.p-body{padding-top:28px}}.media{gap:clamp(10px,1.4vw,18px);margin-top:clamp(52px,7vw,96px);display:grid}.shot{background:var(--shot);border-radius:6px;margin:0;overflow:hidden}.shot img{transition:opacity .2s}.shot a:hover img{opacity:.92}.shot figcaption{color:var(--muted);padding:10px 14px;font-size:14px}.shot video{width:100%;height:auto;display:block}.pair{gap:inherit;grid-template-columns:2.435fr 1fr;align-items:start;display:grid}@media (width<=699px){.pair.overlap{display:block}.pair.overlap .side{width:38%;box-shadow:0 18px 40px -10px #000, 0 0 0 1px color-mix(in srgb, var(--ink) 14%, transparent);margin:-56% 5% 0 auto;position:relative}}.tiles{gap:inherit;grid-template-columns:repeat(2,1fr);display:grid}@media (width>=900px){.tiles:not(.two){grid-template-columns:repeat(3,1fr)}}.row{gap:inherit;flex-direction:column;display:flex}@media (width>=700px){.row{flex-direction:row;align-items:flex-start}.row .shot{flex:var(--r);min-width:0}}.phones{gap:inherit;grid-template-columns:repeat(2,1fr);align-items:start;display:grid}@media (width>=700px){.phones{grid-template-columns:repeat(4,1fr)}}.phones .shot{border-radius:14px}.shot a{cursor:zoom-in}html:has(.lb[open]){overflow:hidden}.lb{--tint:var(--accent);--tint-hi:color-mix(in srgb, var(--tint) 70%, var(--ink));width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ink);background:linear-gradient(180deg, color-mix(in srgb, var(--tint) 20%, var(--paper)), color-mix(in srgb, var(--tint) 6%, var(--paper)));border:0;grid-template-rows:minmax(0,1fr) auto;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.lb[open]{animation:.2s ease-out lb-in;display:grid}.lb::backdrop{background:var(--paper)}@keyframes lb-in{0%{opacity:0}}.lb-stage{cursor:zoom-out;place-items:center;min-height:0;padding:64px clamp(12px,3vw,40px) 0;display:grid;container-type:size}.lb-img{object-fit:contain;border-radius:6px;width:auto;max-width:100cqw;height:auto;max-height:100cqh;box-shadow:0 24px 60px -20px #000}.lb:not([data-single]) .lb-img{cursor:pointer}.lb-bar{padding:12px clamp(12px, 3vw, 40px) calc(12px + env(safe-area-inset-bottom,0px));grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;display:grid}.lb-cap{text-align:center;min-height:44px;color:var(--muted);text-wrap:balance;align-content:center;margin:0;font-size:14px;line-height:1.35;display:grid}.lb-count{color:var(--tint-hi);font-variant-numeric:tabular-nums;font-weight:700}.lb-btn{cursor:pointer;width:44px;height:44px;color:var(--ink);background:color-mix(in srgb, var(--ink) 9%, transparent);border:0;border-radius:50%;place-items:center;padding:0;transition:background-color .2s;display:grid}.lb-btn:hover{background:color-mix(in srgb, var(--tint-hi) 40%, transparent)}.lb-btn:focus-visible{outline:2px solid var(--tint-hi);outline-offset:2px}.lb-close{top:calc(env(safe-area-inset-top,0px) + 10px);position:absolute;right:clamp(10px,3vw,40px)}.lb[data-single] :is(.lb-prev,.lb-next){visibility:hidden}@media (width>=900px){.lb-stage{padding-inline:96px}.lb-bar{grid-template-columns:1fr}.lb-cap{min-height:0;display:block}.lb-count:not(:empty){margin-right:.7em}.lb-prev,.lb-next{position:absolute;top:50%;translate:0 -50%}.lb-prev{left:24px}.lb-next{right:24px}}@media print{.lb{display:none!important}}
