.nav{position:sticky;top:0;z-index:35;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg, #fff) 80%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav__inner{max-width:960px;margin:0 auto;padding:20px var(--gutter);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.nav__home{display:inline-flex;align-items:center;text-decoration:none}.nav__logo{display:block;height:30px;width:auto}.nav__name{font-family:var(--font-display);font-size:1.05rem;font-weight:500;color:var(--ink)}.nav__links{display:flex;gap:28px;font-size:.95rem;color:var(--ink-soft)}.nav__links a{padding:4px 0;border-bottom:1px solid transparent}.nav__links a:hover,.nav__links a.is-active{color:var(--ink);border-bottom-color:var(--accent)}:root{scroll-padding-top:80px}.nav{transition:transform .32s cubic-bezier(.22,1,.36,1)}.nav--hidden{transform:translateY(-100%)}@media (prefers-reduced-motion: reduce){.nav{transition:none}}.nav__status{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;letter-spacing:.01em;color:var(--ink-soft);margin-left:6px;cursor:default}.nav__status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:nav-pulse 2.6s ease-out infinite}@keyframes nav-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 35%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.nav__links a.nav__cta{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 16px;color:var(--ink);transition:border-color .18s ease,color .18s ease}.nav__links a.nav__cta:hover{border-color:var(--accent);color:var(--accent)}@media (max-width: 700px){.nav__status{display:none}}@media (prefers-reduced-motion: reduce){.nav__status-dot{animation:none}}.nav__cta-icon{display:block;opacity:.75}.nav__links a.nav__cta:hover .nav__cta-icon{opacity:1}.footer{border-top:1px solid var(--line);margin-top:48px}.footer__inner{max-width:960px;margin:0 auto;padding:28px var(--gutter) 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;color:var(--ink-soft);font-size:.9rem}.footer__social{display:flex;gap:24px}.footer__legal{flex-basis:100%;margin:8px 0 0;color:var(--ink-soft);font-size:.8rem}.footer__now{flex-basis:100%;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin:14px 0 0;padding-top:20px;border-top:1px solid var(--line);opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}.footer__now.is-in{opacity:1;transform:none}.footer__now-label{font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);white-space:nowrap}.footer__now-text{font-family:var(--font-display);font-style:italic;font-size:1.08rem;line-height:1.5;color:var(--ink)}.footer__now-text:after{content:"";display:inline-block;width:1.5px;height:.95em;margin-left:7px;vertical-align:-.12em;background:var(--accent);animation:now-caret 1.1s steps(2,jump-none) infinite}@keyframes now-caret{0%{opacity:1}to{opacity:0}}.footer__now-tz{margin-left:auto;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap}@media (max-width: 600px){.footer__now{gap:8px 16px}.footer__now-text{flex-basis:100%;order:3}.footer__now-tz{margin-left:0}}@media (prefers-reduced-motion: reduce){.footer__now{opacity:1;transform:none;transition:none}.footer__now-text:after{animation:none;opacity:.45}}.home{--hi: #c01d5c;--home-max: 1320px}.page.home{max-width:var(--home-max);margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}.hero--index{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:end;padding:clamp(88px,14vh,170px) 0 0;margin-bottom:clamp(48px,8vh,96px)}.hero--portrait{grid-template-columns:minmax(0,21fr) minmax(0,19fr)}.hero__text{min-width:0;padding-bottom:clamp(56px,9vh,104px)}.hero__statement{font-family:var(--font-display);font-weight:500;font-size:clamp(2.3rem,3.6vw,3.8rem);line-height:1.16;letter-spacing:-.018em;color:var(--ink);max-width:19ch;margin:0 0 30px}.hero__statement .hw{font-weight:500}.hw{font-style:normal;color:var(--hi)}.hero__prev{font-size:1.05rem;line-height:1.6;color:var(--ink-soft);max-width:52ch;margin:0 0 18px}.hero--index .hero__intro{font-size:1.06rem;line-height:1.75;color:var(--ink-soft);max-width:56ch;margin:0 0 44px}.hero__foot{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:14px 40px}.hero__links{list-style:none;display:flex;flex-wrap:wrap;gap:24px;margin:0;padding:0;font-size:.92rem}.hero__links a{color:var(--ink);font-weight:600;text-decoration:none;padding-bottom:4px;background-image:linear-gradient(var(--hi),var(--hi));background-repeat:no-repeat;background-size:0% 2px;background-position:0 100%;transition:background-size .3s cubic-bezier(.22,1,.36,1),color .15s}.hero__links a:hover,.hero__links a:focus-visible{color:var(--hi);background-size:100% 2px}.hero__now{color:var(--ink-soft);font-size:.85rem;margin:0}.hero__scroll{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:30;display:inline-flex;align-items:center;gap:10px;padding:11px 20px;border-radius:999px;background:var(--ink);color:var(--paper, var(--bg, #fff));font-size:.9rem;font-weight:600;text-decoration:none;box-shadow:0 10px 28px color-mix(in srgb,var(--ink) 22%,transparent);transition:opacity .35s ease,transform .35s ease,background .18s ease;opacity:0;animation:scroll-pill-in .6s cubic-bezier(.22,1,.36,1) 1.2s forwards}@keyframes scroll-pill-in{0%{opacity:0;transform:translate(-50%) translateY(14px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.hero__scroll:hover,.hero__scroll:focus-visible{background:var(--hi);color:#fff}.hero__scroll--gone{animation:none;opacity:0;transform:translate(-50%) translateY(14px);pointer-events:none}.hero__scroll-arrow{display:inline-block;animation:scroll-bob 1.8s ease-in-out infinite}@keyframes scroll-bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}#work{scroll-margin-top:90px}.hero__portrait{position:relative;width:100%;align-self:end}.hero__portrait:before{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%);width:92%;height:84%;border-radius:999px 999px 0 0;background:color-mix(in srgb,var(--hi) 9%,transparent)}.hero__portrait img{position:relative;display:block;width:88%;margin:0 auto;height:auto;filter:grayscale(1) contrast(1.04);transition:filter .22s ease}.hero__portrait:hover img{filter:grayscale(0) contrast(1)}.wr{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}.wr__in{display:inline-block;transform:translateY(110%);animation:wr-rise .7s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--wd, 0ms)}@keyframes wr-rise{to{transform:translateY(0)}}.hero__line{opacity:0;transform:translateY(14px);animation:line-up .7s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--d, 0ms)}@keyframes line-up{to{opacity:1;transform:translateY(0)}}.doors{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0}.door{position:relative;display:flex;overflow:hidden;aspect-ratio:4 / 3;border-radius:12px;text-decoration:none;background:var(--door-bg, var(--accent-soft));color:var(--door-ink, var(--ink))}.door:first-child{grid-column:1 / -1;aspect-ratio:21 / 9}.door:focus-visible{outline:2px solid var(--door-accent, var(--accent));outline-offset:4px}.door--img{display:block;aspect-ratio:auto;overflow:visible;border-radius:0;background:none;color:var(--ink)}.door__frame{display:block;aspect-ratio:4 / 3;border-radius:12px;overflow:hidden;background:var(--door-bg, var(--accent-soft))}.door--img:first-child .door__frame{aspect-ratio:21 / 9}.door__frame img,.door__frame video{display:block;width:100%;height:100%;object-fit:cover}.door--img:focus-visible{outline-offset:6px}.door{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--door-delay, 0ms)}.door.is-in{opacity:1;transform:translateY(0)}.door__frame img,.door__frame video{transition:transform .6s cubic-bezier(.22,1,.36,1)}.door--img:hover .door__frame img,.door--img:hover .door__frame video,.door--img:focus-visible .door__frame img,.door--img:focus-visible .door__frame video{transform:scale(1.03)}@media (prefers-reduced-motion: reduce){.door{opacity:1;transform:none;transition:none}.door__frame img,.door__frame video{transition:none}.door--img:hover .door__frame img,.door--img:hover .door__frame video{transform:none}}.door__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 30%,color-mix(in srgb,var(--door-bg, var(--bg, #fff)) 55%,transparent) 72%,color-mix(in srgb,var(--door-bg, var(--bg, #fff)) 92%,transparent) 100%)}.door__content{position:relative;align-self:flex-end;display:grid;gap:8px;padding:clamp(24px,3.5vw,44px)}.door__company{font-family:var(--font-display);font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.05}.door__hook{color:var(--door-ink-soft, var(--ink-soft));font-size:clamp(.95rem,1.6vw,1.1rem);line-height:1.4;max-width:30ch}.door__enter{color:var(--door-accent, var(--accent));font-size:.88rem;font-weight:600;margin-top:8px;opacity:0;transition:opacity .25s ease}.door:hover .door__enter,.door:focus-visible .door__enter{opacity:1}.xp{margin:clamp(72px,11vh,120px) 0 48px}.xp__title{font-family:var(--font-display);font-weight:500;font-size:1.35rem;letter-spacing:-.01em;color:var(--ink);margin:0 0 16px}.xp__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.xp__row{border-bottom:1px solid var(--line)}.xp__link{display:grid;grid-template-columns:84px minmax(0,.8fr) minmax(0,1.2fr);column-gap:32px;align-items:baseline;padding:18px 2px;color:inherit;text-decoration:none}.xp__year{font-size:.85rem;color:var(--ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums}.xp__what{display:flex;flex-direction:column;row-gap:3px;min-width:0}.xp__company{font-weight:600;font-size:1rem;color:var(--ink);transition:color .18s ease}.xp__role{font-size:.92rem;color:var(--ink-soft)}.xp__note{display:block;max-width:62ch;font-size:.94rem;line-height:1.65;color:var(--ink-soft)}a.xp__link:hover .xp__company,a.xp__link:focus-visible .xp__company{color:var(--hi)}@media (max-width: 860px){.hero--index,.hero--portrait{grid-template-columns:1fr;gap:32px;padding-top:40px}.hero__portrait{order:-1;width:clamp(180px,50vw,280px)}.hero__text{padding-bottom:0}.doors{grid-template-columns:1fr;gap:16px}.door,.door:first-child{aspect-ratio:4 / 3}.door__enter{opacity:1}.xp__link{grid-template-columns:66px minmax(0,1fr);column-gap:14px;row-gap:8px}.xp__note{grid-column:2}}@media (prefers-reduced-motion: reduce){.wr__in,.hero__line,.hero__scroll-arrow{animation:none;transform:none;opacity:1}.hero__scroll{animation:none;opacity:1;transition:none}.hero__scroll--gone{opacity:0}.hero__portrait img,.door__enter,.hero__links a,.xp__company{transition:none}}.door:nth-child(4){grid-column:1 / -1;aspect-ratio:21 / 9}.door--img:nth-child(4) .door__frame{aspect-ratio:21 / 9}@media (max-width: 860px){.door:nth-child(4){aspect-ratio:4 / 3}.door--img:nth-child(4) .door__frame{aspect-ratio:4 / 3}}.ow{margin:clamp(72px,11vh,120px) 0 0}.ow__title{font-family:var(--font-display);font-weight:500;font-size:1.35rem;letter-spacing:-.01em;color:var(--ink);margin:0 0 8px}.ow__intro{color:var(--ink-soft);font-size:.95rem;margin:0 0 24px;max-width:60ch}.ow__intro a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--line)}.ow__intro a:hover{color:var(--hi);border-bottom-color:var(--hi)}.ow__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 16px}.ow-card{padding:0;border:0;background:none;text-align:left;cursor:pointer}.ow-card__frame{display:block;aspect-ratio:4 / 3;border-radius:10px;overflow:hidden;background:var(--accent-soft, #eee)}.ow-card__frame img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1)}.ow-card:hover .ow-card__frame img,.ow-card:focus-visible .ow-card__frame img{transform:scale(1.04)}.ow-card__empty{display:block;width:100%;height:100%;background:linear-gradient(135deg,color-mix(in srgb,var(--hi) 7%,transparent),transparent 60%),var(--accent-soft, #eee)}.ow-card__label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:9px 2px 0}.ow-card__name{font-weight:600;font-size:.92rem;color:var(--ink);transition:color .18s ease}.ow-card:hover .ow-card__name,.ow-card:focus-visible .ow-card__name{color:var(--hi)}.ow-card__meta{color:var(--ink-soft);font-size:.8rem;white-space:nowrap}.ow-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:4vh 4vw;background:color-mix(in srgb,var(--ink) 38%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:ow-fade .2s ease-out}.ow-modal__panel{position:relative;width:min(860px,100%);max-height:88vh;overflow-y:auto;background:var(--paper, var(--bg, #fff));border-radius:16px;padding:clamp(24px,4vw,44px);box-shadow:0 30px 90px #0000004d;animation:ow-rise .3s cubic-bezier(.22,1,.36,1)}.ow-modal__close{position:absolute;top:14px;right:16px;width:38px;height:38px;border:0;border-radius:50%;background:var(--accent-soft, #eee);color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer}.ow-modal__close:hover{background:var(--hi);color:#fff}.ow-modal__title{font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,3vw,2rem);color:var(--ink);margin:0 0 6px;padding-right:48px}.ow-modal__meta{color:var(--ink-soft);font-size:.88rem;margin:0 0 16px}.ow-modal__desc{color:var(--ink-soft);font-size:1rem;line-height:1.7;max-width:62ch;margin:0 0 24px}.ow-modal__shots{display:grid;gap:16px}.ow-modal__shots img{display:block;width:100%;border-radius:10px}@keyframes ow-fade{0%{opacity:0}}@keyframes ow-rise{0%{opacity:0;transform:translateY(16px) scale(.98)}}@media (max-width: 1000px){.ow__grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 700px){.ow__grid{grid-template-columns:repeat(2,1fr);gap:14px 12px}.ow-card__meta{display:none}}@media (prefers-reduced-motion: reduce){.ow-modal,.ow-modal__panel{animation:none}.ow-card__frame img{transition:none}}.ow__title,.xp__title{font-size:clamp(1.5rem,2.4vw,1.9rem);margin-bottom:10px}.ow__intro{font-size:1rem;max-width:75ch;margin-bottom:28px}.ow-modal__slot{display:flex;align-items:center;justify-content:center;aspect-ratio:16 / 10;padding:20px;text-align:center;color:var(--ink-soft);font-size:.85rem;border:2px dashed var(--line);border-radius:10px;background:color-mix(in srgb,var(--accent-soft, #eee) 60%,transparent)}.ow-modal__shots video{display:block;width:100%;border-radius:10px}.ow-modal__desc{max-width:none}.ow-modal__shots{gap:30px}.ow-shot{margin:0}.ow-shot__head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.ow-shot__title{font-weight:600;font-size:.95rem;color:var(--ink)}.ow-shot__text{font-size:.85rem;color:var(--ink-soft)}.ow__grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 1000px){.ow__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 700px){.ow__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.hero--index{padding-top:clamp(20px,3.5vh,44px);margin-bottom:clamp(32px,6vh,60px)}.hero__text{padding-bottom:clamp(28px,5vh,56px)}.hero__portrait{margin-bottom:clamp(28px,5vh,56px)}@media (max-width: 860px){.hero--index,.hero--portrait{padding-top:36px}.hero__portrait{margin-bottom:0}}.ow-card__name{flex-shrink:0}.ow-card__meta{min-width:0;overflow:hidden;text-overflow:ellipsis}@media (max-width: 860px){.door--img,.door--img:first-child,.door--img .door__frame,.door--img:first-child .door__frame{aspect-ratio:auto}.door--img .door__frame img,.door--img .door__frame video{height:auto}}.door__frame picture{display:block;width:100%;height:100%}.door__frame picture img{width:100%;height:100%;object-fit:cover}@media (max-width: 860px){.door--img .door__frame picture img{height:auto}}@media (max-width: 860px){.hero__statement,.hero__prev,.hero__intro,.hero--index .hero__intro{max-width:none}}@media (max-width: 560px){.hero__portrait{margin-inline:auto}}.xp{margin-bottom:0}.page.home{padding-bottom:16px}.door--img .door__frame,.ow-card__frame{position:relative}.door--img .door__frame:after,.ow-card__frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(280px circle at calc(var(--mx, .5) * 100%) calc(var(--my, .5) * 100%),rgba(255,255,255,.14),transparent 65%);opacity:0;transition:opacity .3s ease}.door--img:hover .door__frame:after,.ow-card:hover .ow-card__frame:after,.ow-card:focus-visible .ow-card__frame:after{opacity:1}.door--img .door__frame img,.door--img .door__frame video{transition:transform .45s cubic-bezier(.22,1,.36,1)}.door--img:hover .door__frame img,.door--img:hover .door__frame video{transform:scale(1.03) translate(calc((.5 - var(--mx, .5)) * 10px),calc((.5 - var(--my, .5)) * 8px))}.ow-card:hover .ow-card__frame img,.ow-card:focus-visible .ow-card__frame img{transform:scale(1.06) translate(calc((.5 - var(--mx, .5)) * 8px),calc((.5 - var(--my, .5)) * 6px))}@media (prefers-reduced-motion: reduce),(hover: none),(pointer: coarse){.door--img .door__frame:after,.ow-card__frame:after{display:none}.door--img:hover .door__frame img,.door--img:hover .door__frame video,.ow-card:hover .ow-card__frame img{transform:none}}.door--img .door__frame:before,.ow-card__frame:before{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.2) 50%,transparent 58%);transform:translate(-130%);opacity:0}.door--img:hover .door__frame:before,.ow-card:hover .ow-card__frame:before,.ow-card:focus-visible .ow-card__frame:before{animation:card-shine 1.1s cubic-bezier(.4,0,.2,1) forwards}@keyframes card-shine{0%{transform:translate(-130%);opacity:0}12%{opacity:1}to{transform:translate(130%);opacity:0}}@media (prefers-reduced-motion: reduce),(hover: none),(pointer: coarse){.door--img .door__frame:before,.ow-card__frame:before{display:none}}.ow-shot__media{display:block;position:relative;border-radius:10px;overflow:hidden;background:linear-gradient(100deg,#eceae3 40%,#f7f5f0,#eceae3 60%);background-size:200% 100%;animation:shot-shimmer 1.3s linear infinite;min-height:clamp(140px,24vh,260px)}@keyframes shot-shimmer{to{background-position:-200% 0}}.ow-shot__media img,.ow-shot__media video{display:block;width:100%;border-radius:10px;opacity:0;transition:opacity .35s ease}.ow-shot__media.is-loaded{animation:none;background:none;min-height:0}.ow-shot__media.is-loaded img,.ow-shot__media.is-loaded video{opacity:1}@media (prefers-reduced-motion: reduce){.ow-shot__media{animation:none;background:#eceae3}}.ow-card:focus{outline:none}.ow-card:focus-visible{outline:2px solid color-mix(in srgb,var(--hi, #c01d5c) 55%,transparent);outline-offset:4px;border-radius:14px}@media (max-width: 860px){.door--img,.door--img:first-child{aspect-ratio:auto}.door--img .door__frame,.door--img:first-child .door__frame{aspect-ratio:3338 / 2414}.door--img .door__frame img,.door--img .door__frame video,.door--img .door__frame picture,.door--img .door__frame picture img{width:100%;height:100%;object-fit:cover}}.prose{padding-top:64px;max-width:620px}.about{padding-top:100px!important}.prose__heading{font-family:var(--font-display);font-weight:400;font-size:clamp(1.7rem,3.5vw,2.2rem);margin:0 0 24px}.prose__heading--sub{font-size:clamp(1.3rem,2.6vw,1.7rem);margin:56px 0 16px}.prose p{color:var(--ink-soft);margin:0 0 18px;max-width:var(--measure)}.fun-list{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--line)}.fun-list li{padding:18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.fun-list__title{font-weight:500}.fun-list__desc{color:var(--ink-soft);font-size:.95rem}.about-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:48px 0 56px}.about-photos--single{grid-template-columns:minmax(0,420px);justify-content:center}.about-photo{margin:0}.about-photo img{display:block;width:100%;height:auto;border-radius:12px}.about-photo figcaption{margin-top:10px;font-size:.82rem;line-height:1.5;color:var(--ink-soft);text-align:center}.project-detail{max-width:1120px;padding-top:48px}.project-detail__back{display:inline-block;color:var(--ink-soft);font-size:.9rem;margin-bottom:40px}.project-detail__header{max-width:780px;padding:56px 0 30px}.project-detail__subtitle{color:var(--accent);font-size:.9rem;margin:0 0 10px}.project-detail__title{font-family:var(--font-display);font-weight:400;font-size:clamp(2.5rem,7vw,5.7rem);line-height:.98;margin:0 0 16px}.project-detail__summary{color:var(--ink-soft);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.45;margin:0}.project-detail__meta{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:0 0 40px}.project-detail__meta div{min-width:0}.project-detail__meta dt,.case-section__eyebrow{color:var(--accent);font-size:.73rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.project-detail__meta dt{margin-bottom:5px}.project-detail__meta dd{margin:0;font-size:.9rem}.project-detail__cover{width:100%;border-radius:4px;margin:0;display:block}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:28px;list-style:none;padding:0;margin:0 0 56px}.metrics li{border-left:1px solid var(--line);padding-left:18px}.metrics__value{display:block;color:var(--accent);font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.6rem);line-height:1}.metrics__label{display:block;color:var(--ink-soft);font-size:.88rem;line-height:1.4;margin-top:10px;max-width:26ch}.project-detail__figure{margin:0 0 64px}.project-detail__figure img,.project-detail__figure video{display:block;width:100%;height:auto;border-radius:3px}.project-detail__figure figcaption{color:var(--ink-soft);font-size:.78rem;margin-top:10px}.project-detail__figure--hero{margin-bottom:80px}.project-detail__figure--hero img{max-height:650px;object-fit:cover;object-position:center}.project-detail__figure--wide{position:relative;left:50%;transform:translate(-50%);width:min(1120px,calc(100vw - 2 * var(--gutter)))}.project-detail__figure--state{margin-bottom:0}.figure-placeholder{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:300px;padding:32px;text-align:center;color:var(--ink);border:2px dashed var(--ink-soft);border-radius:3px;background:var(--accent-soft);font-size:.9rem}.figure-placeholder span{color:var(--ink-soft);max-width:52ch}.project-detail__figure--wide .figure-placeholder{min-height:380px}.project-detail__figure--state .figure-placeholder{min-height:220px;padding:16px}.project-detail__case-study{max-width:820px;margin:0 auto}.case-section{padding:100px 0}.case-section--tight{padding-bottom:40px}.case-section h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1.05;margin:14px 0 24px}.case-section p{color:var(--ink-soft);max-width:650px}.case-section--lead{padding-top:0}.case-section--lead p:not(.case-section__eyebrow),.case-section--outcome p:not(.case-section__eyebrow),.case-section--reflection p:not(.case-section__eyebrow){font-size:1.12rem}.case-section--tint{background:var(--accent-soft);padding:72px;margin:0 -72px 64px;max-width:none}.case-section__intro{font-size:1.1rem}.strategy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin-top:42px}.strategy-card{background:var(--accent-soft);padding:24px}.strategy-card h3,.flow-item h3{font-size:1rem;margin:0 0 8px}.strategy-card p,.flow-item p{font-size:.92rem;margin:0}.case-section--split{display:grid;grid-template-columns:.75fr 1fr;gap:80px}.case-section--split h2{margin-top:0}.case-section--split p:not(.case-section__eyebrow){font-size:1.05rem}.case-section--validation,.flow-list{border-top:1px solid var(--line)}.flow-list--spaced{margin-bottom:64px}.flow-item{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.flow-item>span{color:var(--accent);font-family:var(--font-display);font-size:1.7rem}.case-section--outcome{padding-bottom:50px}.outcome-callout{color:var(--ink)!important;border-left:3px solid var(--accent);padding:18px 0 18px 20px;margin-top:34px}.case-section--reflection{border-top:1px solid var(--line);padding-bottom:120px}.project-detail__body{max-width:var(--measure)}.project-detail__body p{margin:0 0 18px}.role-list{margin:40px 0 0;border-top:1px solid var(--line)}.role-list__row{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}.role-list dt{color:var(--ink);font-size:.95rem;font-weight:600}.role-list dd{color:var(--ink-soft);font-size:.95rem;line-height:1.5;margin:0}.bullet-list{color:var(--ink-soft);padding-left:1.2rem;margin:20px 0 0;display:grid;gap:8px;max-width:650px}.body-note{color:var(--ink-soft);font-size:1.05rem;max-width:650px;margin:0 0 40px}.state-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin:0 0 72px}.state-grid__item h3{font-size:1rem;margin:16px 0 6px}.state-grid__item p{color:var(--ink-soft);font-size:.92rem;margin:0}.study-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:36px 0 0}.study-meta div{min-width:0}.study-meta dt{color:var(--accent);font-size:.73rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}.study-meta dd{color:var(--ink);font-size:.9rem;line-height:1.45;margin:0}.compare{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin-top:36px}.compare__col{background:var(--accent-soft);padding:24px}.compare__col h3{font-size:1rem;margin:0 0 8px}.compare__col p{font-size:.92rem;margin:0}.subhead{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;line-height:1.1;margin:0 0 24px}.finding-list{border-top:1px solid var(--line)}.finding{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}.finding__stat{color:var(--accent);font-family:var(--font-display);font-size:clamp(2rem,4vw,2.75rem);line-height:1}.finding h4{color:var(--ink);font-size:1rem;margin:0 0 6px}.finding p{font-size:.92rem;margin:0}.quote-row{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:48px}.pull-quote{margin:0;border-left:3px solid var(--accent);padding-left:20px}.pull-quote blockquote{color:var(--ink);font-size:1.3rem;line-height:1.3;margin:0 0 10px;max-width:none}.pull-quote figcaption{color:var(--ink-soft);font-size:.8rem}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px}.two-col .subhead{margin-bottom:0}.result-callout{display:flex;gap:24px;align-items:center;margin-top:56px;padding:28px;background:var(--accent-soft);border-left:3px solid var(--accent)}.result-callout__value{color:var(--accent);font-family:var(--font-display);font-size:clamp(3rem,7vw,4.5rem);line-height:1}.result-callout strong{color:var(--ink)}.result-callout p{font-size:.92rem;margin:4px 0 0}.fine-print{font-size:.82rem;margin-top:16px}@media (max-width: 720px){.project-detail{padding-top:28px}.project-detail__header{padding-top:32px}.project-detail__meta{grid-template-columns:repeat(2,1fr)}.project-detail__figure{margin-bottom:48px}.project-detail__figure--hero img{min-height:260px;object-position:35% center}.project-detail__figure--wide{left:0;transform:none;width:100%}.project-detail__figure--wide .figure-placeholder{min-height:260px}.case-section{padding:64px 0}.case-section--tight{padding-bottom:28px}.case-section--tint{padding:48px var(--gutter);margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1)}.strategy-grid,.compare,.quote-row,.study-meta{grid-template-columns:1fr}.role-list__row{grid-template-columns:1fr;gap:6px}.finding{grid-template-columns:1fr;gap:10px}.case-section--split{display:block}.case-section--split>div+div{margin-top:30px}.flow-item{grid-template-columns:44px 1fr;gap:14px}.result-callout{flex-direction:column;align-items:flex-start}}html{scroll-behavior:smooth}.project-detail{padding-bottom:110px}video.project-detail__cover{width:100%;border-radius:4px;display:block}.project-detail__figure--hero video{max-height:650px;object-fit:cover;object-position:center}.pill-nav{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:20;display:flex;gap:4px;max-width:calc(100vw - 2 * var(--gutter));overflow-x:auto;padding:6px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg, #fff) 72%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 30px #00000014;scrollbar-width:none}.pill-nav::-webkit-scrollbar{display:none}.pill-nav a{color:var(--ink-soft);font-size:.8rem;font-weight:600;white-space:nowrap;text-decoration:none;padding:8px 14px;border-radius:999px;transition:color .15s,background .15s}.pill-nav a:hover{color:var(--ink)}.pill-nav a.is-active{color:var(--bg, #fff);background:var(--ink)}.case-section[id]{scroll-margin-top:32px}.case-title{font-family:var(--font-display);font-weight:400;font-size:clamp(1.85rem,3.2vw,2.8rem);line-height:1.1;margin:14px 0 24px;max-width:24ch}.case-title__lead{color:var(--accent)}.case-title__rest{color:var(--ink-soft)}.case-section--work{border-top:1px solid var(--line)}.problem-block{margin-bottom:56px}.problem-block p:not(.case-section__eyebrow){font-size:1.12rem}.pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:36px 0 0}.pos-grid__cell{background:var(--accent-soft);padding:26px 24px}.pos-grid__cell h3{color:var(--accent);font-size:.73rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px}.pos-grid__cell p{font-size:.94rem;line-height:1.55;margin:0;max-width:none}.section-hero{margin:48px 0 24px;position:relative;left:50%;transform:translate(-50%);width:min(1120px,calc(100vw - 2 * var(--gutter)))}.section-hero img,.section-hero video{display:block;width:100%;height:auto;border-radius:8px}.section-hero figcaption{color:var(--ink-soft);font-size:.78rem;margin-top:10px}.section-hero .figure-placeholder{min-height:420px}.showcase{display:grid;gap:72px;margin:56px 0 24px;position:relative;left:50%;transform:translate(-50%);width:min(1120px,calc(100vw - 2 * var(--gutter)))}.showcase-row{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,72px);align-items:center}.showcase-row__media{display:flex;align-items:center;justify-content:flex-start;min-height:320px}.showcase-row__media .zoomable{width:auto;max-width:100%}.showcase-row__media img,.showcase-row__media video{display:block;width:auto;max-width:100%;height:auto;max-height:640px;border-radius:12px}.showcase-row__media .figure-placeholder{width:100%;min-height:260px;border-color:var(--line);background:transparent}.showcase-row__text h3{font-family:var(--font-display);font-weight:400;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.15;margin:0 0 14px}.showcase-row__text p{color:var(--ink-soft);font-size:1.02rem;line-height:1.55;margin:0;max-width:42ch}.shot-grid-wrap{margin:40px 0 8px;position:relative;left:50%;transform:translate(-50%);width:min(1120px,calc(100vw - 2 * var(--gutter)))}.shot-grid__title{font-family:var(--font-display);font-weight:400;font-size:clamp(1.3rem,2.2vw,1.7rem);margin:0 0 20px}.shot-grid{display:grid;gap:16px}.shot-grid--2{grid-template-columns:repeat(2,1fr)}.shot-grid--3{grid-template-columns:repeat(3,1fr)}.shot-grid .project-detail__figure--in-row{margin:0}.shot-grid .figure-placeholder{min-height:200px;padding:16px;font-size:.82rem}.project-detail__figure--in-row{margin:0}.chart{border-top:1px solid var(--line);padding:32px 0 8px;margin-top:36px}.chart__title{font-family:var(--font-display);font-weight:400;font-size:clamp(1.3rem,2.2vw,1.7rem);margin:0 0 22px}.chart__bars{display:grid;gap:14px}.chart__row{display:grid;grid-template-columns:220px 1fr 56px;gap:16px;align-items:center}.chart__label{color:var(--ink);font-size:.88rem;line-height:1.3}.chart__track{background:var(--accent-soft);border-radius:4px;height:22px;overflow:hidden}.chart__track--thin{height:6px;margin-top:12px;max-width:420px}.chart__fill{height:100%;min-width:2px;background:var(--accent);border-radius:0 4px 4px 0;transition:width 1.1s cubic-bezier(.22,1,.36,1)}.chart__value{color:var(--ink);font-family:var(--font-display);font-size:1.05rem;text-align:right}.chart__note{color:var(--ink-soft);font-size:.82rem;margin:14px 0 0}.finding__body{min-width:0}.result-callout__value em{font-style:normal;font-size:.6em}@media (prefers-reduced-motion: reduce){.chart__fill{transition:none}html{scroll-behavior:auto}}@media (max-width: 720px){.project-detail{padding-bottom:96px}.pill-nav{bottom:14px}.pill-nav a{padding:7px 11px;font-size:.76rem}.pos-grid{grid-template-columns:1fr}.showcase{gap:56px}.showcase-row{grid-template-columns:1fr;gap:20px}.shot-grid--2,.shot-grid--3{grid-template-columns:1fr}.chart__row{grid-template-columns:1fr 48px}.chart__label{grid-column:1 / -1;margin-bottom:-6px}.section-hero .figure-placeholder{min-height:280px}}.zoomable{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;position:relative;border-radius:12px}.zoomable img,.zoomable video{display:block;width:100%;height:auto;border-radius:inherit;transition:transform .35s cubic-bezier(.22,1,.36,1)}.zoomable:hover img,.zoomable:hover video{transform:scale(1.015)}.zoomable:after{content:"";position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background-color:#1414148c;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M9 21H3v-6'/%3E%3Cpath d='M21 3l-7 7'/%3E%3Cpath d='M3 21l7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transform:scale(.8);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.zoomable:hover:after,.zoomable:focus-visible:after{opacity:1;transform:scale(1)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:4vh 4vw;background:#0c0c0ce0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;animation:lightbox-in .22s ease-out}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox img,.lightbox video{max-width:92vw;max-height:86vh;width:auto;height:auto;border-radius:8px;box-shadow:0 24px 80px #00000080;animation:lightbox-media-in .32s cubic-bezier(.22,1,.36,1)}@keyframes lightbox-media-in{0%{opacity:0;transform:scale(.9) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.lightbox__caption{animation:lightbox-media-in .4s cubic-bezier(.22,1,.36,1)}.lightbox__caption{color:#ffffffbf;font-size:.85rem;margin:0;text-align:center;max-width:70ch}.lightbox__close{position:absolute;top:18px;right:22px;width:44px;height:44px;border:0;border-radius:50%;background:#ffffff1f;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.lightbox__close:hover{background:#ffffff38}@media (prefers-reduced-motion: reduce){.lightbox,.lightbox img,.lightbox video,.lightbox__caption{animation:none}.zoomable img,.zoomable video,.zoomable:after{transition:none}.zoomable:hover img,.zoomable:hover video{transform:none}}.section-hero--narrow{left:auto;transform:none;width:100%}.section-hero--narrow .figure-placeholder{min-height:300px}.case-section--reflection:has(+.section-hero--narrow){padding-bottom:36px}.section-hero--narrow{margin-top:0}.metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metrics__value{white-space:nowrap;font-size:clamp(2rem,4vw,3rem)}.impact{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:clamp(28px,5vw,64px);align-items:center;border-top:1px solid var(--line);margin-top:56px;padding-top:44px}.impact__text strong{max-width:20ch}.impact__figure{display:flex;flex-direction:column;gap:14px}.impact__value{color:var(--accent);font-family:var(--font-display);font-size:clamp(3rem,7vw,4.5rem);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.impact__text strong{display:block;color:var(--ink);font-family:var(--font-display);font-weight:400;font-size:clamp(1.3rem,2.2vw,1.7rem);margin-bottom:8px}.impact__text p{color:var(--ink-soft);font-size:.95rem;margin:0;max-width:44ch}.stars{display:flex;gap:6px}.star-cell{position:relative;width:34px;height:34px;display:block}.star-cell__fill{position:absolute;inset:0 auto 0 0;overflow:hidden}.star{width:34px;height:34px;display:block}.star--empty{fill:var(--accent-soft)}.star--full{fill:var(--accent)}.rating-row{display:grid;grid-template-columns:90px auto auto;gap:16px;align-items:center}.rating-row+.rating-row{margin-top:18px}.rating-row__num{color:var(--accent);font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3rem);line-height:1;font-variant-numeric:tabular-nums;text-align:right}.rating-row__tag{color:var(--ink-soft);font-size:.73rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.rating-row--before{opacity:.45}.rating-row--before .rating-row__num{color:var(--ink-soft);font-size:clamp(1.5rem,2.6vw,2rem)}.rating-row--before .star-cell,.rating-row--before .star{width:24px;height:24px}.dots{display:grid;grid-template-columns:repeat(20,12px);gap:6px}.dot{width:10px;height:10px;border-radius:50%;background:var(--accent-soft);transition:background .2s ease,transform .2s ease}.dot.is-lit{background:var(--accent);transform:scale(1.1)}@media (max-width: 720px){.impact{grid-template-columns:1fr;gap:20px}.dots{grid-template-columns:repeat(20,10px)}.star{width:28px;height:28px;flex-basis:28px}}@media (prefers-reduced-motion: reduce){.dot{transition:none}}.hl{color:var(--accent);font-weight:600;background-image:linear-gradient(var(--accent-soft),var(--accent-soft));background-repeat:no-repeat;background-size:100% .45em;background-position:0 80%;animation:hl-sweep 1.1s cubic-bezier(.22,1,.36,1) both;padding:0 2px;border-radius:3px}@keyframes hl-sweep{0%{background-size:0% .45em}to{background-size:100% .45em}}@media (prefers-reduced-motion: reduce){.hl{animation:none}}@media (max-width: 720px){.rating-row{grid-template-columns:64px auto auto;gap:10px}}.project--backgammon-galaxy .metrics__value,.project--backgammon-galaxy .impact__value,.project--backgammon-galaxy .rating-row__num{color:var(--gold, var(--accent))}.project--backgammon-galaxy .rating-row--before .rating-row__num{color:var(--ink-soft)}.project--backgammon-galaxy .star--full{fill:var(--gold, var(--accent))}.project--backgammon-galaxy .star--empty{fill:#262e3e}.project--backgammon-galaxy .hl{color:var(--gold, var(--accent));background-image:linear-gradient(#f2b13829,#f2b13829)}.project--backgammon-galaxy .pill-nav{box-shadow:0 8px 30px #00000073}.project--backgammon-galaxy .figure-placeholder{border-color:var(--line);color:var(--ink-soft)}.project--backgammon-galaxy .showcase-row__media .figure-placeholder{background:var(--accent-soft)}.project--backgammon-galaxy .lightbox{background:#05070aeb}.project--backgammon-galaxy .dot{background:#262e3e}.project--backgammon-galaxy .dot.is-lit{background:var(--gold, var(--accent))}.project--backgammon-galaxy .outcome-callout,.project--backgammon-galaxy .result-callout{border-left-color:var(--gold, var(--accent))}article.project-detail.project-detail{padding-top:150px}.page-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,var(--bg)) 0%,var(--bg) 55%)}.page-glow:before{content:"";position:absolute;width:min(90vw,1200px);height:min(90vw,1200px);top:-45%;left:50%;margin-left:min(-45vw,-600px);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 14%,transparent),transparent 65%);animation:glow-breathe 14s ease-in-out infinite alternate}@keyframes glow-breathe{0%{transform:translate(-6vw) scale(1);opacity:.85}to{transform:translate(6vw) scale(1.12);opacity:1}}@media (prefers-reduced-motion: reduce){.page-glow:before{animation:none}}@media (max-width: 720px){article.project-detail.project-detail{padding-top:90px}}.cast{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.cast__person{border-left:2px solid var(--accent);padding-left:14px}.cast__name{display:block;font-family:var(--font-display);font-size:1.15rem;color:var(--ink);margin-bottom:4px}.cast__role{color:var(--ink-soft);font-size:.85rem;line-height:1.45}@media (max-width: 720px){.cast{grid-template-columns:1fr;gap:14px}}.case-section p{font-size:1.02rem;line-height:1.7}.case-section__intro{font-size:1.18rem;line-height:1.6;color:var(--ink);max-width:58ch}.project-detail__summary{line-height:1.5}.project-detail__title{letter-spacing:-.015em;line-height:1.02}.case-title{letter-spacing:-.012em}.case-title__rest{color:color-mix(in srgb,var(--ink) 62%,var(--ink-soft))}.showcase-row__text h3,.shot-grid__title,.chart__title,.subhead{letter-spacing:-.01em}.showcase-row__text h3{margin-bottom:16px}.showcase-row__text p{font-size:1.05rem;line-height:1.65}.case-section strong:not(.hl),.showcase-row__text strong:not(.hl){color:var(--ink);font-weight:650}.pos-grid__cell p{color:var(--ink);line-height:1.6}.pos-grid__cell h3{margin-bottom:14px}.pos-grid__cell{padding:30px 28px}.role-list dt,.flow-item h3,.strategy-card h3{font-weight:650}.flow-item p,.strategy-card p{line-height:1.6}.project-detail__figure figcaption,.section-hero figcaption{font-size:.82rem;margin-top:12px;letter-spacing:.01em}.metrics{margin-bottom:72px;gap:32px}.metrics__label{line-height:1.5}.section-hero{margin-top:56px}.showcase{gap:88px;margin-top:64px}.shot-grid-wrap{margin-top:56px}.shot-grid{gap:20px}.impact{margin-top:72px;padding-top:52px}.pos-grid{margin-top:44px}@media (max-width: 720px){.case-section__intro{font-size:1.08rem}.showcase{gap:64px}.metrics{margin-bottom:48px}}.pos-grid{display:block;background:transparent;border-top:1px solid var(--line);margin-top:44px}.pos-grid__cell{display:grid;grid-template-columns:190px minmax(0,1fr);gap:36px;align-items:start;background:transparent;padding:28px 0;border-bottom:1px solid var(--line)}.pos-grid__cell h3{margin:5px 0 0}.pos-grid__cell p{font-size:1.02rem;line-height:1.65;max-width:58ch}.metrics__label{font-size:.88rem;max-width:24ch;text-wrap:balance}@media (max-width: 720px){.pos-grid__cell{grid-template-columns:1fr;gap:8px}.pos-grid__cell h3{margin:0}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:40;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}@supports (animation-timeline: scroll()){.scroll-progress{animation:progress-grow linear both;animation-timeline:scroll(root)}@keyframes progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}@media (prefers-reduced-motion: no-preference){@supports (animation-timeline: view()){.project-detail__figure--hero img,.project-detail__figure--hero video{animation:hero-drift linear both;animation-timeline:view();animation-range:exit 0% exit 100%}@keyframes hero-drift{to{transform:scale(1.07) translateY(-3%)}}}}.section-hero{left:auto;transform:none;width:min(1120px,calc(100vw - 2 * var(--gutter)));margin-inline:calc((100% - min(1120px,100vw - 2 * var(--gutter)))/2)}@media (prefers-reduced-motion: no-preference){.section-hero{opacity:0;transform:none;clip-path:inset(12% 7% 12% 7% round 14px);transition:opacity .7s cubic-bezier(.22,1,.36,1),clip-path 1s cubic-bezier(.22,1,.36,1)}.section-hero.is-rv{clip-path:inset(0 0 0 0 round 8px)}.section-hero .zoomable img,.section-hero .zoomable video{transform:scale(1.08);transition:transform 1.3s cubic-bezier(.22,1,.36,1)}.section-hero.is-rv .zoomable img,.section-hero.is-rv .zoomable video{transform:scale(1)}}@media (max-width: 720px){.section-hero{margin-inline:calc((100% - (100vw - 2 * var(--gutter))) / 2)}}@media (prefers-reduced-motion: no-preference){.section-hero.is-rv{opacity:1}}@property --scrollp{syntax: "<percentage>"; inherits: true; initial-value: 0%;}.pill-nav{overflow:hidden}.pill-nav:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:var(--scrollp, 0%);background:var(--accent);border-radius:0 3px 3px 0;pointer-events:none;transition:width .15s linear}.pill-nav:after{box-shadow:0 0 8px color-mix(in srgb,var(--accent) 80%,transparent),0 0 18px color-mix(in srgb,var(--accent) 45%,transparent)}.pill-nav a.is-active{box-shadow:0 0 14px color-mix(in srgb,var(--accent) 30%,transparent)}.pill-nav:after{bottom:auto;top:0;border-radius:0 0 3px 3px;box-shadow:0 0 10px color-mix(in srgb,var(--accent) 95%,transparent),0 0 26px color-mix(in srgb,var(--accent) 60%,transparent),0 0 48px color-mix(in srgb,var(--accent) 30%,transparent)}.pill-nav__kbd{align-self:center;margin-left:6px;padding:3px 9px;border:1px solid var(--line);border-radius:7px;color:var(--ink-soft);font-size:.72rem;font-weight:700;cursor:help}.design-note{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:6vh 6vw;background:color-mix(in srgb,var(--bg, #fff) 82%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;animation:note-in .25s ease-out}.design-note__inner{max-width:34ch;text-align:center}.design-note__eyebrow{color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 22px}.design-note__text{font-family:var(--font-display);font-size:clamp(1.5rem,3.4vw,2.5rem);line-height:1.3;color:var(--ink);margin:0 0 28px}.design-note__hint{color:var(--ink-soft);font-size:.8rem;margin:0}@keyframes note-in{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion: reduce){.design-note{animation:none}}.pill-nav:after{top:auto;bottom:0;border-radius:3px 3px 0 0}kbd{display:inline-block;min-width:1.6em;padding:2px 7px;border:1px solid var(--line);border-bottom-width:2.5px;border-radius:6px;background:color-mix(in srgb,var(--bg, #fff) 85%,var(--ink));color:var(--ink);font-family:inherit;font-size:.72rem;font-weight:700;text-align:center;line-height:1.4}.key-hint{position:fixed;bottom:82px;left:50%;transform:translate(-50%);z-index:19;display:flex;align-items:center;gap:8px;color:var(--ink-soft);font-size:.74rem;pointer-events:none}@media (max-width: 720px),(hover: none){.key-hint{display:none}}.pill-nav__kbd{display:none}.caret{display:inline-block;width:2px;height:.95em;margin-left:3px;vertical-align:-.12em;background:var(--accent);animation:caret-blink .9s step-end infinite}.caret--done{animation:caret-fade .6s ease-out forwards}@keyframes caret-blink{50%{opacity:0}}@keyframes caret-fade{to{opacity:0}}.key-hint{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg, #fff) 78%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 4px 18px #0000001f;color:var(--ink-soft)}.dn-word{display:inline-block;opacity:0;transform:translateY(.45em);animation:dn-word .5s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--i) * 26ms)}@keyframes dn-word{to{opacity:1;transform:translateY(0)}}.caret{display:none}@media (prefers-reduced-motion: reduce){.dn-word{animation:none;opacity:1;transform:none}}.key-hint__section{color:var(--accent);font-weight:650;animation:hint-swap .35s cubic-bezier(.22,1,.36,1)}@keyframes hint-swap{0%{opacity:0;transform:translateY(5px)}}.key-hint{bottom:88px;padding:10px 18px;gap:10px;font-size:.88rem;animation:hint-pulse .6s cubic-bezier(.22,1,.36,1)}.key-hint kbd{font-size:.85rem;padding:3px 10px;border-color:var(--accent);color:var(--accent)}.key-hint__section{font-size:.88rem}@keyframes hint-pulse{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.95)}60%{transform:translate(-50%) translateY(-2px) scale(1.03);box-shadow:0 6px 26px color-mix(in srgb,var(--accent) 35%,transparent)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.key-hint{animation:none}}.key-hint kbd{border-color:var(--line);color:var(--ink)}.pill-nav:after{box-shadow:0 0 6px color-mix(in srgb,var(--accent) 60%,transparent),0 0 14px color-mix(in srgb,var(--accent) 28%,transparent)}@keyframes hint-pulse{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.95)}60%{transform:translate(-50%) translateY(-2px) scale(1.03)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.pill-nav:after{display:none}.scroll-progress-top{position:fixed;top:0;left:0;height:2px;width:var(--scrollp, 0%);z-index:40;background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 50%,transparent);pointer-events:none}@property --kha{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.key-hint--flash:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:999px;z-index:-1;background:conic-gradient(from var(--kha),transparent 0deg 285deg,var(--accent) 330deg,transparent 360deg);animation:kh-orbit 2.3s cubic-bezier(.3,0,.4,1) forwards}.key-hint--flash{animation:hint-pulse .6s cubic-bezier(.22,1,.36,1),kh-glow 2.3s ease-out forwards}@keyframes kh-orbit{0%{--kha: 0deg;opacity:1}80%{opacity:1}to{--kha: 1080deg;opacity:0}}@keyframes kh-glow{0%,80%{box-shadow:0 4px 18px #0000001f,0 0 22px color-mix(in srgb,var(--accent) 40%,transparent)}to{box-shadow:0 4px 18px #0000001f}}@media (prefers-reduced-motion: reduce){.key-hint--flash,.key-hint--flash:before{animation:none}}.key-hint{padding:12px 20px;font-size:.92rem;gap:11px}.key-hint kbd{font-size:.9rem}.key-hint__section{font-size:.92rem}.key-hint--flash{background:color-mix(in srgb,var(--bg, #fff) 96%,transparent)}.key-hint--flash:before{top:-4px;right:-4px;bottom:-4px;left:-4px}.key-hint--flash{background:color-mix(in srgb,var(--bg, #fff) 78%,transparent)}.key-hint--flash:before{top:-4px;right:-4px;bottom:-4px;left:-4px;padding:4px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}.key-hint--flash:before{top:-3px;right:-3px;bottom:-3px;left:-3px;padding:3px;background:conic-gradient(from var(--kha),transparent 0deg 295deg,color-mix(in srgb,var(--accent) 75%,transparent) 338deg,transparent 360deg);animation:kh-orbit 3.8s ease-in-out forwards}@keyframes kh-orbit{0%{--kha: 0deg;opacity:1}85%{opacity:1}to{--kha: 720deg;opacity:0}}@keyframes kh-glow{0%,85%{box-shadow:0 4px 18px #0000001f,0 0 14px color-mix(in srgb,var(--accent) 28%,transparent)}to{box-shadow:0 4px 18px #0000001f}}.key-hint__section{padding:2px 9px;margin:-2px -3px;border-radius:7px;animation:sec-swap .9s cubic-bezier(.22,1,.36,1)}@keyframes sec-swap{0%{opacity:0;transform:translateY(8px);background:color-mix(in srgb,var(--accent) 24%,transparent)}45%{opacity:1;transform:translateY(0);background:color-mix(in srgb,var(--accent) 20%,transparent)}to{background:transparent}}@media (prefers-reduced-motion: reduce){.key-hint__section{animation:none}}.pill-nav__home{display:flex;align-items:center;padding:8px 13px;margin-right:2px;border-right:1px solid var(--line);border-radius:999px 0 0 999px;color:var(--ink-soft);font-size:.95rem;text-decoration:none;transition:color .15s,transform .2s cubic-bezier(.22,1,.36,1)}.pill-nav__home:hover{color:var(--ink);transform:translate(-2px)}.site-bar{position:fixed;top:16px;left:max(24px,var(--gutter));z-index:30;display:flex;align-items:center;gap:9px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg, #fff) 78%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 4px 18px #0000001a;color:var(--ink);font-size:.88rem;font-weight:600;text-decoration:none}.site-bar__arrow{transition:transform .2s cubic-bezier(.22,1,.36,1)}.site-bar:hover .site-bar__arrow{transform:translate(-3px)}.pill-nav__home,.scroll-progress-top,.scroll-progress{display:none}.section-hero--narrow{width:100%!important;margin-inline:0!important}.key-hint{animation:none}.key-hint--flash{animation:hint-pulse .6s cubic-bezier(.22,1,.36,1),kh-glow 3.8s ease-out forwards}.project-detail__back{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--ink);font-size:.9rem;font-weight:600;text-decoration:none;transition:border-color .15s,transform .2s cubic-bezier(.22,1,.36,1)}.project-detail__back:hover{border-color:var(--accent);transform:translate(-3px)}.key-hint{transition:opacity .25s ease,visibility .25s}.key-hint--hidden{opacity:0;visibility:hidden;pointer-events:none}.media-small{max-width:480px;margin:36px 0 8px}.media-small .project-detail__figure--in-row{margin:0}.media-small video,.media-small img{width:100%;border-radius:12px}.media-small figcaption{margin-top:10px;font-size:.88rem;color:var(--ink-soft)}.sec-annex{display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,32vw,400px);gap:clamp(24px,4vw,48px);align-items:center;margin-top:56px;padding:clamp(24px,3.5vw,40px);border-radius:16px;background:var(--accent-soft)}.sec-annex__eyebrow{color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px}.sec-annex__heading{font-family:var(--font-display);font-weight:500;font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.3;color:var(--ink);margin:0 0 12px}.sec-annex__body{color:var(--ink-soft);font-size:.98rem;line-height:1.65;max-width:44ch;margin:0}.sec-annex__media .project-detail__figure--in-row{margin:0}.sec-annex__media video,.sec-annex__media img{width:100%;border-radius:10px;display:block}.sec-annex__media figcaption{margin-top:8px;font-size:.85rem;color:var(--ink-soft)}@media (max-width: 760px){.sec-annex{grid-template-columns:1fr;gap:20px}}.sec-annex{width:min(1120px,calc(100vw - 2 * var(--gutter)));margin-inline:calc((100% - min(1120px,100vw - 2 * var(--gutter)))/2);grid-template-columns:minmax(0,1fr) clamp(300px,38%,480px)}.sec-annex__body{max-width:52ch}@media (max-width: 760px){.sec-annex{width:auto;margin-inline:calc((100% - (100vw - 2 * var(--gutter))) / 2);grid-template-columns:1fr}}.showcase-row__media{flex-direction:column;align-items:flex-start;gap:16px}.design-note{display:flex;flex-direction:column;align-items:center;overflow-y:auto}.design-note__inner{margin:auto;max-width:58ch;padding:24px 0}.design-note__text{font-size:clamp(1.25rem,2.3vw,1.9rem);line-height:1.45}.tst{max-width:820px;margin:clamp(72px,10vh,120px) auto clamp(24px,4vh,48px)}.tst .case-section__eyebrow{margin-bottom:36px}.tst__item{margin:0 0 44px;border-left:3px solid var(--accent);padding-left:clamp(20px,3vw,28px)}.tst__item:last-child{margin-bottom:0}.tst__quote{margin:0 0 14px;max-width:62ch;font-size:1.05rem;line-height:1.75;color:var(--ink)}.tst__who{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:.85rem;color:var(--ink-soft)}.tst__name{font-weight:600;color:var(--ink)}.tst__source{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.tst__w{opacity:.13;transition:opacity .6s ease;transition-delay:var(--wd, 0ms)}.tst__quote.is-rv .tst__w{opacity:1}@media (prefers-reduced-motion: reduce){.tst__w{opacity:1;transition:none}}.media-ld{display:block;position:relative;overflow:hidden;border-radius:12px;background:linear-gradient(100deg,var(--accent-soft, #eceae3) 40%,var(--bg, #f7f5f0) 50%,var(--accent-soft, #eceae3) 60%);background-size:200% 100%;animation:media-shimmer 1.3s linear infinite;min-height:clamp(120px,20vh,240px)}@keyframes media-shimmer{to{background-position:-200% 0}}.media-ld>img,.media-ld>video{opacity:0;transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1)}.media-ld.is-loaded{animation:none;background:none;min-height:0}.media-ld.is-loaded>img,.media-ld.is-loaded>video{opacity:1}button.media-ld{width:100%}@media (prefers-reduced-motion: reduce){.media-ld{animation:none;background:var(--accent-soft, #eceae3)}}@media (max-width: 700px){.pill-nav{max-width:calc(100vw - 24px);gap:2px;padding:5px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.pill-nav a{font-size:.74rem;padding:7px 11px}}@media (max-width: 720px){.showcase-row__text{order:-1}.showcase-row__media{min-height:0}.showcase{gap:44px}}.pill-nav{touch-action:pan-x;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.pill-nav a{scroll-snap-align:center}.pill-nav{bottom:calc(22px + env(safe-area-inset-bottom,0px))}@media (max-width: 720px){.pill-nav{bottom:calc(14px + env(safe-area-inset-bottom,0px))}}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:var(--paper, var(--bg, #f4f1ea));transition:transform .7s cubic-bezier(.76,0,.24,1)}.loader--leaving{transform:translateY(-100%)}.loader__inner{text-align:center}.loader__name{font-family:var(--font-display, serif);font-weight:500;font-size:clamp(1.6rem,4vw,2.6rem);letter-spacing:-.01em;color:var(--ink, #1a1a1a);margin:0 0 18px}.loader__cell{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}.loader__letter{display:inline-block;transform:translateY(110%);animation:loader-rise .6s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--i) * 28ms)}@keyframes loader-rise{to{transform:translateY(0)}}.loader__line{display:block;width:min(220px,40vw);height:1px;margin:0 auto;background:var(--line, #ddd);position:relative;overflow:hidden}.loader__line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink, #1a1a1a);transform:scaleX(0);transform-origin:0 50%;animation:loader-draw 1.1s cubic-bezier(.22,1,.36,1) .35s forwards}@keyframes loader-draw{to{transform:scaleX(1)}}.is-loading .wr__in,.is-loading .hero__line,.is-loading .door{animation-play-state:paused!important}@media (prefers-reduced-motion: reduce){.loader{display:none}}:root{--paper: #f5f4ef;--ink: #201f1b;--ink-soft: #6f6b62;--line: #dcd8cd;--accent: #35513f;--accent-soft: #e4e9e0;--font-display: "Newsreader", Georgia, serif;--font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif;--measure: 640px;--gutter: clamp(24px, 6vw, 64px)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.link-underline{background-image:linear-gradient(var(--ink),var(--ink));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .25s ease}.link-underline:hover{background-size:100% 1px}.page{max-width:760px;margin:0 auto;padding:0 var(--gutter) 96px}.page--wide{max-width:1280px}
