.home{--hair:var(--hair-09);--hair-strong:var(--hair-16);--sec-pad:clamp(3rem, 2.2rem + 2.4vw, 4.5rem);--reveal-y:14px;--font-tab:"tnum" 1, "lnum" 1}.home h1,.home h2,.home h3{-webkit-hyphens:manual;hyphens:manual}.home li,.home dd,.home summary,.home figcaption{text-wrap:pretty}.hsec{padding-block:var(--sec-pad)}.hsec+.hsec{border-top:1px solid var(--hair)}.hsec.process,.hsec.process+.hsec{border-top:0}.sec-head{max-width:44rem;margin-bottom:clamp(1.75rem,1.4rem + 1.1vw,2.5rem)}.sec-head--row{justify-content:space-between;align-items:flex-end;gap:var(--space-lg);max-width:none;display:flex}.sec-head--row>div{max-width:44rem}.sec-title{font-family:var(--font-display);font-weight:500;font-size:var(--type-h2);line-height:var(--leading-h2);letter-spacing:-.026em;color:var(--color-ink);text-wrap:balance;max-width:22ch}.sec-lead{margin-top:var(--space-sm);color:var(--color-ink-2);font-size:var(--type-lead);line-height:var(--leading-body);max-width:56ch}.btn{border-radius:var(--radius-sm);height:2.875rem;font:500 var(--type-body)/1 var(--font-body);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform .16s var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding-inline:1.25rem;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.96)}.btn__icon{width:1rem;height:1rem;transition:transform .15s var(--ease-out)}.btn--primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent);font-weight:600}.btn--ghost{color:var(--color-ink);border-color:var(--color-rule-strong)}.btn--lg{height:3.25rem;padding-inline:1.5rem;font-size:1rem}@media (hover:hover) and (pointer:fine){.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--primary:hover .btn__icon{transform:translate(3px)}.btn--ghost:hover{background:var(--color-paper-2);border-color:var(--color-rule-strong)}}.link-arrow{min-height:2.75rem;color:var(--color-ink);transition:background-size .32s var(--ease-out-expo), color var(--dur-fast) var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 calc(50% + .8em)/0 1px no-repeat;align-items:center;gap:.375rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.link-arrow__icon{width:.875rem;height:.875rem;color:var(--color-accent);transition:transform .15s var(--ease-out)}@media (hover:hover) and (pointer:fine){.link-arrow:hover{background-size:calc(100% - 1.25rem) 1px}.link-arrow:hover .link-arrow__icon{transform:translate(2px,-2px)}}.intro{padding-block:clamp(2rem,1.2rem + 3vw,4rem) clamp(3rem,2rem + 3vw,5rem)}.intro__grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:end;gap:clamp(2.5rem,1rem + 4vw,4.5rem);display:grid}.intro__who{color:var(--color-ink-3);font-size:var(--type-ui)}.intro__name{color:var(--color-ink);font-weight:600}.intro__title{margin-top:var(--space-md);font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-ink);text-wrap:balance;max-width:13ch;font-size:clamp(2rem,1.3rem + 2.5vw,3.25rem);font-weight:500;line-height:1.06}.intro .intro__lead{margin-top:var(--space-md);max-width:32rem;color:var(--color-ink-2);font-size:var(--type-lead);line-height:var(--leading-body)}.intro__actions{align-items:center;gap:var(--space-sm) var(--space-lg);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.intro__more{min-height:2.75rem;color:var(--color-ink);font-weight:500;font-size:var(--type-ui);text-decoration:underline;-webkit-text-decoration-color:var(--color-rule-strong);text-decoration-color:var(--color-rule-strong);text-underline-offset:.35em;transition:text-decoration-color var(--dur-fast) var(--ease-out);align-items:center;text-decoration-thickness:1px;display:inline-flex}@media (hover:hover) and (pointer:fine){.intro__more:hover{-webkit-text-decoration-color:var(--color-ink);text-decoration-color:var(--color-ink)}}.intro__proof{gap:var(--space-2xs) 0;padding:var(--space-md) 0 0;border-top:1px solid var(--hair);color:var(--color-ink-3);font-size:var(--type-caption);flex-wrap:wrap;margin:clamp(2rem,1.5rem + 1.5vw,2.75rem) 0 0;list-style:none;display:flex}.intro__proof li+li:before{content:"";vertical-align:-.1em;width:1px;height:.8em;margin-inline:var(--space-sm);background:var(--color-rule-strong);display:inline-block}.nowrap{white-space:nowrap}.intro__proof b,.intro__proof a{color:var(--color-ink);font-weight:500}.intro__proof a,.case__meta a{position:relative}.intro__proof a:after,.case__meta a:after{content:"";position:absolute;inset:-.875rem -.5rem}.intro__proof a{text-decoration:underline;-webkit-text-decoration-color:var(--color-rule-strong);text-decoration-color:var(--color-rule-strong);text-underline-offset:.3em}.intro__photo{border-radius:var(--radius-lg);aspect-ratio:4/5;background:var(--color-paper-2);margin:0;position:relative;overflow:hidden}.intro__photo img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.intro__photo img,.case__shot img,.final__avatar{outline:1px solid var(--image-outline);outline-offset:-1px}@media (prefers-reduced-motion:no-preference){.intro__copy>*{animation:rise-y .9s var(--ease-out-expo) both}.intro__title{animation-delay:.1s}.intro .intro__lead{animation-delay:.2s}.intro__actions{animation-delay:.3s}.intro__proof{animation-delay:.4s}.intro__photo{animation:photo-in 1.2s var(--ease-out-expo) both .12s}}@keyframes rise-y{0%{transform:translateY(var(--reveal-y))}}@keyframes photo-in{0%{opacity:0;transform:scale(1.02)}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}}.split{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);align-items:start;gap:clamp(2rem,1rem + 4vw,5rem);display:grid}.split__title{position:sticky;top:6rem}.index{border-bottom:1px solid var(--hair)}.index__head,.index__row{grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr) minmax(0,1fr) 1.25rem;gap:clamp(1rem,.5rem + 2vw,2.5rem);display:grid}.index__head{padding-bottom:var(--space-sm);color:var(--color-ink-3);font-size:var(--type-caption);font-weight:500}.index__list{margin:0;padding:0;list-style:none}.index__row{border-top:1px solid var(--hair);align-items:baseline;padding-block:clamp(1.25rem,1rem + .8vw,1.75rem);position:relative}.index__name{font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(1.25rem,1.05rem + .7vw,1.625rem);font-weight:500;line-height:1.15}.index__link{color:var(--color-ink);transition:color var(--dur-fast) var(--ease-out);align-items:baseline;gap:.75rem;text-decoration:none;display:inline-flex}.index__link:after{content:"";position:absolute;inset:0}.index__link:focus-visible{outline:none}.index__row:has(.index__link:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.index__num{font:400 var(--type-mono)/1 var(--font-mono);color:var(--color-ink-3);letter-spacing:0;transform:translateY(-.35em)}.index__agent{color:var(--color-ink-soft);line-height:1.55}.index__human{color:var(--color-ink-3);line-height:1.55}.index__label{display:none}.index__go{width:1rem;height:1rem;color:var(--color-ink-3);transition:transform .15s var(--ease-out), color var(--dur-fast) var(--ease-out);align-self:center}@media (hover:hover) and (pointer:fine){.index__row:hover .index__go{color:var(--color-accent);transform:translate(2px,-2px)}.index__row:hover .index__link{color:var(--color-ink-soft)}}.case{margin:0}.case__shot{border-radius:var(--radius-lg);display:block;overflow:hidden}.case__shot img{border-radius:inherit;width:100%;height:auto;display:block}.case__caption{margin-top:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,1rem + 3vw,4rem);display:grid}.case__name{font-family:var(--font-display);font-weight:500;font-size:var(--type-h3);letter-spacing:-.02em;line-height:1.15}.case__text{margin-top:var(--space-sm);color:var(--color-ink-2);max-width:46ch;line-height:1.6}.case__meta{border-bottom:1px solid var(--hair);margin:0}.case__meta>div{gap:var(--space-md);border-top:1px solid var(--hair);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);padding-block:.875rem;display:grid}.case__meta dt{color:var(--color-ink-3);font-size:var(--type-ui)}.case__meta dd{color:var(--color-ink);font-size:var(--type-ui);font-variant-numeric:tabular-nums;margin:0;font-weight:500}.case__meta a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--color-rule-strong);text-decoration-color:var(--color-rule-strong);text-underline-offset:.3em}@media (hover:hover) and (pointer:fine){.case__meta a:hover{-webkit-text-decoration-color:var(--color-ink);text-decoration-color:var(--color-ink)}}.case__note{margin-top:var(--space-sm);color:var(--color-ink-3);font-size:var(--type-caption);text-align:right}.projects__more{color:var(--color-ink-2);font-size:var(--type-ui);margin-top:clamp(2rem,1.5rem + 2vw,3rem)}.projects__label{color:var(--color-ink-3)}.about__text{gap:1rem;max-width:60ch;display:grid}.about__text p{color:var(--color-ink-2);font-size:var(--type-lead);line-height:1.65}.about__path{margin:var(--space-xl) 0 var(--space-sm);border-bottom:1px solid var(--hair);padding:0;list-style:none}.about__path li{gap:var(--space-sm);padding-block:var(--space-sm);border-top:1px solid var(--hair);grid-template-columns:minmax(0,13rem) minmax(0,1fr);display:grid}.about__role{color:var(--color-ink);font-weight:600;font-size:var(--type-ui)}.about__desc{color:var(--color-ink-2);font-size:var(--type-ui)}.hsec.process{background:var(--color-paper-2);box-shadow:inset 0 1px 0 var(--light-4), inset 0 -1px 0 var(--hair)}.steps{grid-template-rows:auto auto 1fr auto;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(1.25rem,.75rem + 1.5vw,2.25rem);margin:0;padding:0;list-style:none;display:grid}.steps__item{grid-row:span 4;grid-template-rows:subgrid;padding-top:var(--space-md);border-top:1px solid var(--hair-strong);row-gap:0;display:grid}.steps__num{font-family:var(--font-display);letter-spacing:-.04em;color:var(--color-ink-3);font-variant-numeric:tabular-nums;font-size:clamp(2rem,1.6rem + 1.4vw,2.75rem);font-weight:300;line-height:1}.steps__title{margin-top:var(--space-lg);font-family:var(--font-body);font-weight:600;font-size:var(--type-h4);letter-spacing:var(--track-h4);line-height:var(--leading-h4)}.steps__text{margin-top:var(--space-2xs);margin-bottom:var(--space-md);color:var(--color-ink-2);font-size:var(--type-ui);line-height:1.6}.steps__result{padding-top:var(--space-sm);border-top:1px solid var(--hair);color:var(--color-ink);font-size:var(--type-ui);align-self:start;font-weight:500;line-height:1.45}.steps__label{color:var(--color-ink-3);font-size:var(--type-caption);margin-bottom:.25rem;font-weight:400;display:block}.qa__list{border-bottom:1px solid var(--hair)}.qa__item{border-top:1px solid var(--hair)}.qa__item summary{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:3.5rem;padding-block:var(--space-sm);cursor:pointer;color:var(--color-ink);font-weight:600;font-size:var(--type-h4);letter-spacing:var(--track-h4);line-height:var(--leading-h4);list-style:none;display:flex}.qa__item summary::-webkit-details-marker{display:none}.qa__item summary:focus-visible{outline-offset:2px;border-radius:4px}.qa__icon{width:1rem;height:1rem;color:var(--color-ink-3);transition:transform .3s var(--ease-out-expo), color var(--dur-fast) var(--ease-out);flex:none}.qa__item[open] .qa__icon{color:var(--color-ink);transform:rotate(45deg)}@media (hover:hover) and (pointer:fine){.qa__item summary:hover .qa__icon{color:var(--color-ink)}}.qa__answer{padding:0 3rem var(--space-md) 0}.qa__answer p{color:var(--color-ink-2);max-width:62ch;line-height:1.65}@supports (interpolate-size:allow-keywords){@media (prefers-reduced-motion:no-preference){.qa__list{interpolate-size:allow-keywords}.qa__item::details-content{opacity:0;block-size:0;transition:block-size .38s var(--ease-out-expo), opacity .24s var(--ease-out), content-visibility .38s allow-discrete;overflow:hidden}.qa__item[open]::details-content{opacity:1;block-size:auto}}}.hsec.final{padding-block:clamp(4rem,3rem + 4vw,7rem)}.final__grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:clamp(2rem,1rem + 4vw,5rem);display:grid}.final__title{font-family:var(--font-display);font-weight:500;font-size:var(--type-h2-xl);letter-spacing:-.03em;text-wrap:balance;max-width:15ch;line-height:1.08}.final__text{color:var(--color-ink-2);font-size:var(--type-lead);max-width:42ch;line-height:1.6}.final__actions{align-items:center;gap:var(--space-md) var(--space-lg);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.final__me{color:var(--color-ink-2);font-size:var(--type-ui);align-items:center;gap:.625rem;display:inline-flex}.final__avatar{object-fit:cover;object-position:50% 25%;border-radius:50%;width:2.25rem;height:2.25rem}.js-reveal [data-reveal]{opacity:0;transform:translateY(var(--reveal-y));transition:opacity .8s var(--ease-out-expo), transform .9s var(--ease-out-expo)}.js-reveal [data-reveal].is-in,.js-reveal .index[data-reveal],.js-reveal .steps[data-reveal],.js-reveal .about__path[data-reveal]{opacity:1;transform:none}.js-reveal .index__row,.js-reveal .steps__item,.js-reveal .about__path li{opacity:0;transition:opacity .7s var(--ease-out-expo), transform .8s var(--ease-out-expo);transition-delay:calc(var(--i,0) * 90ms + .1s);transform:translateY(10px)}.js-reveal .is-in .index__row,.js-reveal .is-in .steps__item,.js-reveal .is-in.about__path li{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.js-reveal [data-reveal],.js-reveal .index__row,.js-reveal .steps__item,.js-reveal .about__path li{transition-duration:1ms!important;transition-delay:0s!important;transform:none!important}.btn__icon,.link-arrow__icon,.index__go{transition:none!important}.qa__icon{transition:color var(--dur-fast) var(--ease-out)}.btn:active{transform:none}}@media (prefers-reduced-motion:no-preference){html:has(.home){scroll-behavior:smooth}}@media (max-width:64rem){.intro__grid{grid-template-columns:minmax(0,1fr)}.intro__title{max-width:16ch}.intro__photo{aspect-ratio:4/3;max-width:36rem}.intro__photo img{object-position:50% 30%}.split,.final__grid{grid-template-columns:minmax(0,1fr);align-items:start}.split__title{position:static}.steps{row-gap:var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr))}.case__caption{grid-template-columns:minmax(0,1fr)}.case__note{text-align:left}}@media (max-width:48rem){.index__head{display:none}.index__row{row-gap:var(--space-xs);grid-template-columns:minmax(0,1fr) 1.25rem}.index__name{grid-column:1}.index__go{grid-area:1/2}.index__agent,.index__human{grid-column:1/-1}.index__label{color:var(--color-ink-3);font-size:var(--type-caption);margin-bottom:.125rem;display:block}.sec-head--row{flex-direction:column;align-items:flex-start;gap:.5rem}.about__path li{grid-template-columns:1fr;gap:.25rem}}@media (max-width:40rem){.intro__actions .btn,.final__actions .btn{flex:100%}.steps{grid-template-columns:minmax(0,1fr)}.case__meta>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.qa__answer{padding-right:0}}
