@font-face{font-family:Archivo;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../fonts/Archivo-latin-var.woff2) format("woff2")}:root{--ground: #f4f3ef;--paper: #ffffff;--ink: #141414;--ink-soft: #66645f;--line: #d9d6cf;--panel: #161615;--panel-ink: #f1efe9;--accent: #e0402a;--font: "Archivo", "Helvetica Neue", Arial, system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}h1,h2,p,dl,dd,figure{margin:0}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sr-only button{color:var(--ink);background:var(--paper)}html.sheet-open{overflow:hidden}.eyebrow{font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--ink-soft)}.pill{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border-radius:999px;font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap;transition:transform .25s ease,background-color .25s ease}.pill-dark{background:var(--ink);color:#fff}.pill-sm{height:32px;padding:0 14px;font-size:13px}.chip{height:32px;padding:0 13px;border-radius:999px;font-size:13px;font-weight:500;background:#1414140f;color:var(--ink);transition:background-color .25s ease,color .25s ease}.chip.is-on{background:var(--ink);color:#fff}.chip-quiet.is-on{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.chip-dark{background:var(--ink);color:#fff}.nav{position:fixed;top:0;left:0;right:0;z-index:40;height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 32px;font-size:14px;font-weight:500;pointer-events:none;background:#f4f3efd1;backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px)}.nav>*{pointer-events:auto}.nav-name{text-decoration:none;font-size:16px;font-weight:600;letter-spacing:-.01em}.nav-role{color:#4a4844}.nav-links{display:flex;gap:22px;align-items:center;justify-self:end}.nav-links a:not(.pill){text-decoration:none;opacity:.85;transition:opacity .2s}html.sheet-open .nav{opacity:0;pointer-events:none}.nav{transition:opacity .3s ease}.hero{position:relative;height:260vh}.shelf{position:fixed;inset:0;width:100vw;height:100vh;z-index:1;display:block;opacity:0;transition:opacity 1s ease;touch-action:pan-y}.shelf.is-live{opacity:1}html.shelf-above .shelf{z-index:60;pointer-events:none}.hero-stage{position:sticky;top:0;height:100vh;height:100svh;z-index:2;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}.hero-stage:active{cursor:grabbing}.hero.is-hover .hero-stage{cursor:pointer}.hero-hint{position:absolute;top:76px;left:50%;transform:translate(-50%);font-size:13px;color:var(--ink-soft);white-space:nowrap;pointer-events:none}.hero-copy{position:absolute;left:32px;bottom:36px;max-width:560px;pointer-events:none}.hero h1{font-size:clamp(56px,7.4vw,124px);font-weight:600;letter-spacing:-.045em;line-height:.92;font-stretch:96%}.hero-copy p{margin-top:14px;font-size:clamp(17px,1.3vw,20px);color:var(--ink-soft);max-width:25em}.hero-tools{position:absolute;right:32px;bottom:36px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;cursor:default}.tool-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.tool-label,.tool-count{font-size:13px;color:var(--ink-soft)}.tool-label{margin-right:4px}.tool-count{margin-left:10px;min-width:70px;text-align:right}.caption{position:fixed;left:0;top:0;z-index:30;pointer-events:none;display:flex;gap:10px;align-items:baseline;padding:7px 11px;border-radius:8px;background:#ffffffeb;backdrop-filter:blur(10px);font-size:13px;font-weight:500;white-space:nowrap;box-shadow:0 6px 24px #00000014;opacity:0;transition:opacity .18s ease}.caption.is-on{opacity:1}.caption-no,.caption-year{color:var(--ink-soft);font-variant-numeric:tabular-nums}.below{position:relative;z-index:3;background:var(--ground)}.index{position:relative;height:320vh}.index-pin{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center;gap:36px;padding:80px 32px 48px;overflow:hidden}.index-head{max-width:1280px;width:100%;margin:0 auto}.index-head h2,.labels-title{font-size:clamp(34px,4vw,60px);font-weight:600;letter-spacing:-.035em;line-height:1;margin-top:10px}.tray{max-width:1280px;width:100%;margin:0 auto;background:var(--panel);color:var(--panel-ink);border-radius:30px;padding:18px 18px 26px;box-shadow:0 40px 80px -30px #00000059}.tray-bar{display:flex;align-items:center;gap:14px;height:40px;font-size:13px}.tray-play{width:40px;height:40px;border-radius:12px;background:#ffffff14;display:grid;place-items:center;transition:background-color .2s}.tray-play svg{width:15px;height:15px;fill:var(--panel-ink)}.tray-time{font-variant-numeric:tabular-nums;color:#f1efe9b8}.tray-time b{color:var(--panel-ink);font-weight:500}.tray-sep{width:1px;height:18px;background:#ffffff26}.tray-hint{color:#f1efe9b8}.ruler{position:relative;height:34px;margin:10px 10px 18px}.ruler-sel{position:absolute;top:8px;height:22px;border-radius:7px;background:#ffffff21;box-shadow:inset 0 0 0 1px #ffffff1f}.ruler-mark{position:absolute;top:0;height:100%}.ruler-mark i{position:absolute;left:0;top:13px;width:1px;height:12px;background:#ffffff59}.ruler-mark em{position:absolute;top:12px;left:8px;font-style:normal;font-size:11px;color:#f1efe9b3;font-variant-numeric:tabular-nums}.tray-window{overflow:hidden;margin:0 -18px;padding:10px 18px 6px}.tray-track{display:flex;gap:14px;will-change:transform;width:max-content}.tile{display:flex;flex-direction:column;gap:10px;text-align:left}.tile-face{position:relative;display:block;width:clamp(150px,15vw,220px);aspect-ratio:1;border-radius:22%;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14,0 14px 28px -10px #0009;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}.tile-face img{width:100%;height:100%;object-fit:cover}.tile-face:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 90% at 30% 12%,#ffffff47,#fff0 45%),radial-gradient(130% 130% at 50% 50%,#0000 55%,#00000052)}.tile-cap{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#f1efe9cc;padding:0 6px}.tile-cap b{color:var(--panel-ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cases{max-width:1440px;margin:0 auto;padding:120px 32px 40px}.cases-eyebrow{margin-bottom:22px}.case{margin-bottom:120px}.case-photo{--open: 0;--drift: 0;position:relative;aspect-ratio:3 / 2;max-height:88vh;width:100%;overflow:hidden;border-radius:14px;clip-path:inset(calc((1 - var(--open)) * 9%) calc((1 - var(--open)) * 14%) round 14px)}.case-photo img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.16 - var(--open) * .1)) translateY(calc(var(--drift) * -3%))}.case-words{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:22px;font-size:17px}.case-left{display:grid;grid-template-columns:54px 1fr;max-width:560px}.case-no{color:var(--ink-soft);font-variant-numeric:tabular-nums}.case-story{line-height:1.5}.case-name{font-weight:600;margin-bottom:8px}.spec{display:grid;grid-template-columns:90px 1fr;row-gap:3px;font-size:14px}.spec dt{color:var(--ink-soft)}.link{margin-top:16px;font-size:14px;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:2px}.link span{display:inline-block;transition:transform .25s ease}.labels{position:relative;padding:80px 32px 140px;max-width:1440px;margin:0 auto}.labels-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.labels-title{margin-top:0;font-size:15px;letter-spacing:0;font-weight:500;color:var(--ink-soft)}.names{list-style:none;margin:0;padding:0}.names li{transform-origin:0 50%;will-change:transform;transition:opacity .3s ease}.names button{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;padding:2px 0}.name{font-size:clamp(48px,8.6vw,148px);font-weight:500;letter-spacing:-.05em;line-height:.98;font-stretch:92%}.names.has-on li:not(.is-on){opacity:.22}.follow{position:fixed;left:0;top:0;z-index:20;width:clamp(180px,18vw,280px);aspect-ratio:1;pointer-events:none;opacity:0;transition:opacity .25s ease}.follow.is-on{opacity:1}.follow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(.92);transition:opacity .25s ease,transform .4s cubic-bezier(.2,.9,.3,1);box-shadow:0 30px 60px -20px #00000073}.follow img.is-on{opacity:1;transform:none}@media (hover: none){.follow{display:none}}.close{padding:72px 16px 16px}.close-scene{position:relative;height:calc(100vh - 88px);min-height:620px;display:grid;grid-template-columns:minmax(320px,.62fr) 1.38fr;grid-template-rows:1fr auto;gap:0 16px}.close-frame{position:relative;grid-column:2;grid-row:1 / 3;border-radius:18px;overflow:hidden;background:#ece7dd}.close-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--rx) 50%}.close-record{position:absolute;border-radius:50%;background-size:cover;cursor:grab;touch-action:none;will-change:transform}.close-record:active{cursor:grabbing}.close-hint{position:absolute;right:22px;bottom:18px;font-size:13px;color:#1414149e}.close-copy{grid-column:1;grid-row:1;align-self:center;padding:64px 24px 0 16px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}.close-copy h2{font-size:clamp(40px,4.4vw,72px);font-weight:600;letter-spacing:-.045em;line-height:.96}.close-copy p{font-size:18px;color:var(--ink-soft);max-width:22em}.close-mail{font-size:14px;color:var(--ink-soft)}.close-foot{grid-column:1;grid-row:2;padding:0 16px 8px;display:flex;justify-content:space-between;font-size:12px;color:var(--ink-soft)}.close-social{display:flex;gap:16px}.close-social a{text-decoration:none}.sheet{position:fixed;inset:0;z-index:50;overflow-y:auto;overscroll-behavior:contain;background:var(--ground);animation:sheet-in .5s ease both}@keyframes sheet-in{0%{background-color:#f4f3ef00}}.sheet.is-leave{opacity:0;transition:opacity .45s ease .3s}.sheet-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:linear-gradient(var(--ground) 60%,rgba(244,243,239,0))}.sheet-no{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.sheet-nav{display:flex;gap:6px}.sheet-top{--cw: min(36vw, 64vh);display:grid;grid-template-columns:calc(var(--cw) * 1.5) minmax(0,1fr);gap:56px;padding:8px 32px 64px;align-items:center;min-height:calc(100vh - 64px)}.sheet-cover{position:relative;width:var(--cw);aspect-ratio:1;justify-self:start;margin-left:2vw}.sheet-slot{position:absolute;inset:0;z-index:1;box-shadow:0 30px 60px -24px #00000059}.sheet-slot img{width:100%;height:100%;object-fit:cover}.sheet-disc{position:absolute;top:3%;left:3%;width:94%;height:94%;z-index:0;transform:translate(0) rotate(0);transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity .2s ease}.sheet.is-shown .sheet-disc{transform:translate(46%) rotate(140deg);transition-delay:.1s}.sheet.is-fly .sheet-slot,.sheet.is-fly .sheet-disc,.sheet.is-fly .sheet-words,.sheet.is-fly .sheet-photo,.sheet.is-fly .sheet-more{opacity:0}.sheet-slot,.sheet-words,.sheet-photo,.sheet-more{transition:opacity .35s ease}.sheet.is-shown .sheet-words{transition-delay:.15s}.sheet.is-leave .sheet-disc{transform:none;transition-duration:.35s}.sheet-words{max-width:460px}.sheet-words h2{font-size:clamp(40px,4.6vw,76px);font-weight:600;letter-spacing:-.045em;line-height:.95}.sheet-title{font-size:20px;color:var(--ink-soft);margin:8px 0 26px}.sheet-note{font-size:18px;line-height:1.5;margin-bottom:28px}.sheet-photo{margin:0 32px 32px;border-radius:14px;overflow:hidden}.sheet-photo img{width:100%;height:auto}.sheet-more{padding:24px 32px 64px}.sheet-more-row{display:flex;gap:14px;margin-top:14px;overflow-x:auto}.more-tile{display:flex;flex-direction:column;gap:8px;text-align:left;font-size:13px}.more-tile img{width:160px;aspect-ratio:1;object-fit:cover;transition:transform .3s ease}@media (max-width: 760px){.nav{padding:0 16px;grid-template-columns:1fr auto;height:56px}.nav-role,.nav-links a:not(.pill){display:none}.hero{height:220vh}.hero-hint{top:64px;font-size:12px;white-space:normal;width:calc(100% - 32px);text-align:center}.hero-copy{inset:100px 16px auto}.hero h1{font-size:52px}.hero-copy p{font-size:16px;max-width:20em}.case-words,.close-copy p,.sheet-note{font-size:16px}.hero-tools{left:10px;right:10px;bottom:14px;align-items:stretch;padding:10px;border-radius:18px;background:var(--ground);box-shadow:0 10px 30px -12px #0000002e}.tool-row{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.tool-row .chip{flex:none}.tool-count{margin-left:auto}.index{height:380vh}.index-pin{padding:72px 16px 32px;gap:24px}.tray{border-radius:22px;padding:12px 12px 18px}.tray-hint,.tray-sep{display:none}.tile-face{width:132px}.cases{padding:80px 16px 20px}.case{margin-bottom:72px}.case-photo{aspect-ratio:4 / 5}.case-words{grid-template-columns:1fr;gap:20px}.case-left{grid-template-columns:36px 1fr}.labels{padding:64px 16px 96px}.labels-head{flex-direction:column;gap:4px}.name{font-size:44px}.close{padding:56px 8px 8px}.close-scene{height:auto;min-height:0;display:flex;flex-direction:column}.close-frame{aspect-ratio:4 / 5;border-radius:14px}.close-copy{padding:40px 8px 28px;order:-1}.close-foot{padding:16px 8px 4px;flex-direction:column;gap:6px;order:3}.sheet-bar{padding:12px 16px}.sheet-top{--cw: 62vw;grid-template-columns:1fr;gap:28px;padding:8px 16px 40px;min-height:0}.sheet-cover{margin-left:0}.sheet-photo{margin:0 16px 24px}.sheet-more{padding:16px 16px 48px}.more-tile img{width:120px}}@media (prefers-reduced-motion: reduce){.case-photo{clip-path:none}.case-photo img{transform:none}.sheet-disc{transition:none}}@media (hover: hover) and (pointer: fine){.pill-dark:hover{background:#000;transform:translateY(-1px)}.chip:hover{background:#1414141c}.chip-dark:hover{background:#000}.nav-links a:not(.pill):hover{opacity:1}.tray-play:hover{background:#ffffff29}.tile:hover .tile-face{transform:translateY(-8px) scale(1.05) rotate(-2deg)}.link:hover span{transform:translate(4px)}.more-tile:hover img{transform:translateY(-4px)}}
