:root{--panel-r: clamp(22px, 3vw, 36px);--panel-gap: clamp(6px, 1vw, 12px);--panel-inset: clamp(6px, 1vw, 14px);--bg: #ffffff;--bg-soft: #f6f6f4;--text: #191919;--text-2: #5f5f5c;--text-3: #6e6e6a;--line: #e9e9e6;--accent: #f2c230;--accent-ink: #7a5a00;--tag-bg: #f1f1ef;--radius: 14px;--radius-sm: 8px;--wrap: 1080px;--prose: 720px;--gutter: clamp(16px, 4vw, 32px);--ease: cubic-bezier(.22, .61, .36, 1);--display: "EB Garamond", "Adobe Garamond Pro", Garamond, "Times New Roman", serif;--font: "Inter", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif;color-scheme:light}.section-head h2,.sub-head,.career-title,*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.8;font-feature-settings:"palt" 1;letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:anywhere}img,video,iframe{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 30%,transparent);text-underline-offset:.2em;transition:text-decoration-color .2s}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.yt:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3{line-height:1.35;letter-spacing:-.005em;font-weight:650}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}.prose-wrap{max-width:calc(var(--prose) + var(--gutter) * 2);margin:0 auto;padding:0 var(--gutter)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site-header{position:sticky;top:0;z-index:20;background:var(--bg);border-radius:0 0 clamp(16px,2vw,24px) clamp(16px,2vw,24px);backdrop-filter:saturate(1) blur(0px);-webkit-backdrop-filter:saturate(1) blur(0px);transition:background-color .5s var(--ease),backdrop-filter .5s var(--ease),-webkit-backdrop-filter .5s var(--ease);view-transition-name:site-header}.site-header.scrolled{background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:saturate(1.5) blur(18px);-webkit-backdrop-filter:saturate(1.5) blur(18px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:56px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;letter-spacing:-.01em;white-space:nowrap}.nav{display:flex;gap:clamp(14px,3vw,28px);font-size:14px}.nav a{text-decoration:none;color:var(--text-2);transition:color .2s}.nav a:hover{color:var(--text)}@media(max-width:420px){.nav{gap:12px;font-size:13px}}.header-right{display:flex;align-items:center;gap:clamp(12px,2.4vw,24px)}.lang-switch{position:relative}.lang-switch>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--text-2);padding:6px 10px;border-radius:999px;background:var(--tag-bg);transition:background .2s var(--ease),color .2s}.lang-switch>summary::-webkit-details-marker{display:none}.lang-switch>summary:after{content:"";width:5px;height:5px;border:solid currentColor;border-width:0 1.3px 1.3px 0;transform:translateY(-1px) rotate(45deg)}.lang-switch>summary:hover,.lang-switch[open]>summary{color:var(--text);background:var(--line)}.lang-switch ul{position:absolute;right:0;top:calc(100% + 8px);margin:0;padding:6px;list-style:none;min-width:9em;background:var(--bg);border-radius:14px;box-shadow:0 12px 40px #0000001f,0 0 0 1px #0000000a;animation:rise .2s var(--ease)}.lang-switch li a{display:block;padding:8px 12px;border-radius:9px;font-size:14px;text-decoration:none;color:var(--text-2)}.lang-switch li a:hover{background:var(--bg-soft);color:var(--text)}.lang-switch li a[aria-current]{color:var(--text);font-weight:600}.body-note{margin:24px 0 -8px;font-size:13px;color:var(--text-3)}.cover-hero{position:relative;overflow:hidden;display:flex;align-items:center;background:var(--bg);height:clamp(360px,min(100svh - 56px - 110px,58vw + 120px),860px)}.cover-glow{position:absolute;inset:0;--glow: ellipse 53% 72% at 10% 38%;background:radial-gradient(var(--glow),#f5f257 0 82%,rgb(245 242 87 / .6) 91%,rgb(245 242 87 / 0) 100%);animation:glow-in 1.4s var(--ease) both;transform-origin:10% 38%}.cover-glow:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(var(--glow),#000 0 80%,transparent 100%);mask-image:radial-gradient(var(--glow),#000 0 80%,transparent 100%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35  0 0 0 0 .3  0 0 0 0 0  0 0 0 .32 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes glow-in{0%{opacity:0;transform:scale(.96)}}.cover-inner{position:relative;z-index:1;width:100%;padding:40px var(--gutter);padding-left:max(var(--gutter),10.7vw)}.cover-title{margin:0;white-space:pre-line;font-family:var(--display);font-weight:500;font-size:clamp(40px,5.3vw,100px);line-height:.98;letter-spacing:-.02em;color:#111}.cover-title .ln{display:block}.hero-anim .cover-title:not(.go),.hero-anim .cover-sub:not(.go){visibility:hidden}.cover-title.go .ch{display:inline-block;animation:ink 1.1s cubic-bezier(.2,.7,.1,1) both;animation-delay:var(--d)}@keyframes ink{0%{opacity:0;transform:translateY(.28em);filter:blur(10px)}60%{filter:blur(0)}}.cover-title.go .amp{display:inline-block;animation:fade .9s var(--ease) both;animation-delay:var(--d)}.w-mech{position:relative;display:inline-block}.w-mech.typing{color:transparent}.mech-chars{position:absolute;inset:0;color:#111}.mech-chars>span{position:absolute;top:0;opacity:0;animation:click 1ms step-end forwards;animation-delay:var(--d)}@keyframes click{to{opacity:1}}.mech-chars>.dot{transform:translateY(-.5em);animation:drop .62s both;animation-delay:var(--d)}@keyframes drop{0%{opacity:0;transform:translateY(-.5em);animation-timing-function:cubic-bezier(.5,0,1,.6)}12%{opacity:1}55%{transform:translateY(0);animation-timing-function:cubic-bezier(0,.4,.5,1)}72%{transform:translateY(-.07em);animation-timing-function:cubic-bezier(.5,0,1,.6)}86%{transform:translateY(0);animation-timing-function:cubic-bezier(0,.4,.5,1)}93%{transform:translateY(-.015em)}to{opacity:1;transform:translateY(0)}}.cover-sub.go{animation:rise .9s var(--ease) both;animation-delay:var(--d, 1.8s)}.cover-sub{margin:clamp(12px,1.6vw,24px) 0 0;font-size:clamp(14px,1.65vw,24px);letter-spacing:.04em;color:#5d5d5a}@media(max-aspect-ratio:4/3){.cover-hero{height:clamp(380px,min(100svh - 56px - 110px,72vw + 80px),900px)}.cover-glow{--glow: ellipse 70% 62% at 6% 40%;transform-origin:6% 40%}.cover-title{font-size:clamp(36px,7vw,96px)}}@media(max-width:699px){.cover-hero{height:clamp(420px,calc(100svh - 152px),700px)}.cover-glow{--glow: ellipse 96% 60% at 2% 42%;transform-origin:2% 42%}.cover-inner{padding-left:7vw;padding-right:5vw}.cover-title{font-size:9.2vw}}.home{background:var(--bg-soft)}html{background:var(--bg)}.sheet{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--panel-gap);margin-top:calc(var(--panel-r) * -1);padding:0 var(--panel-inset)}.sheet>section{background:var(--bg);border-radius:var(--panel-r);border-top:0}.sheet>section:first-child{box-shadow:0 -12px 40px #0000000d}.sheet-page{margin-top:clamp(6px,1vw,14px)}.sheet-page>section:first-child{box-shadow:none}.notfound .wrap{padding-top:clamp(48px,10vw,96px);padding-bottom:clamp(48px,10vw,96px)}.nf-code{margin:0;font-family:var(--display);font-size:clamp(48px,8vw,88px);line-height:1}.notfound h1{font-size:clamp(22px,3vw,28px);margin:12px 0 8px}.notfound p:not(.nf-code){color:var(--text-2);margin:0 0 24px}.intro{display:grid;grid-template-columns:1fr;gap:16px 36px;padding-top:clamp(24px,3vw,36px);padding-bottom:clamp(32px,6vw,64px)}@media(min-width:760px){.intro{grid-template-columns:auto 1fr;align-items:start}}.avatar{width:clamp(72px,10vw,112px);height:auto;aspect-ratio:1;border-radius:22%;border:1px solid var(--line);background:#fff}.intro h1{font-size:clamp(26px,4vw,36px);margin:0 0 12px;font-weight:700;letter-spacing:-.02em}.hero-lead{font-size:clamp(15px,2.1vw,18px);color:var(--text);max-width:40em;margin:0 0 16px;line-height:1.85}.hero-lead p{margin:0}.hero-aff{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--text-2);margin:0;padding:0;list-style:none}.section{padding:clamp(36px,8vw,80px) 0;border-top:1px solid var(--line)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:clamp(18px,3vw,28px);flex-wrap:wrap}.section-head h2{font-family:var(--display);font-weight:600;font-size:clamp(28px,4.6vw,38px);letter-spacing:-.01em;margin:0}.section-head p{margin:0;color:var(--text-3);font-size:14px}.sub-head{font-family:var(--display);font-weight:600;font-size:21px;letter-spacing:-.005em;margin:clamp(32px,5vw,48px) 0 16px;display:flex;align-items:baseline;gap:12px}.sub-head small{font-family:var(--font);font-size:13px;color:var(--text-3);font-weight:400}.filter{display:flex;gap:8px;overflow-x:auto;padding:2px 0 14px;margin:0 0 8px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}.filter::-webkit-scrollbar{display:none}.chip{flex:none;border:1px solid var(--line);background:var(--bg);color:var(--text-2);font:inherit;font-size:13px;line-height:1;padding:8px 12px;border-radius:999px;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.chip:hover{color:var(--text);border-color:var(--text-3)}.chip[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.chip .n{opacity:.55;margin-left:4px;font-variant-numeric:tabular-nums}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(20px,3vw,32px) clamp(16px,2.4vw,24px)}.card{display:flex;flex-direction:column;text-decoration:none;color:inherit}.card-media{aspect-ratio:16 / 10;border-radius:var(--radius);overflow:hidden;background:var(--bg-soft);margin-bottom:14px;position:relative;isolation:isolate}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),opacity .6s var(--ease)}.card:hover .card-media img{transform:scale(1.025)}.card-media.empty{display:grid;place-items:center;color:var(--text-3);font-size:13px}.card-date{font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums;letter-spacing:.02em}.card h3{font-size:16px;margin:4px 0 6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card p{font-size:14px;color:var(--text-2);margin:0 0 10px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-award{display:flex;gap:6px;align-items:baseline;font-size:12px;line-height:1.5;color:var(--accent-ink);margin:0 0 8px}.card-award:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent);transform:translateY(-1px)}.row .card-award{margin:2px 0 0;font-size:11px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.tag{font-size:12px;line-height:1;padding:5px 8px;border-radius:6px;background:var(--tag-bg);color:var(--text-2);white-space:nowrap}.tag.more{background:transparent;color:var(--text-3);padding-left:2px}@media(max-width:699px){.grid{grid-template-columns:1fr 1fr;gap:20px 12px}.card-media{aspect-ratio:4 / 3;border-radius:10px;margin-bottom:8px}.card h3{font-size:13.5px;line-height:1.45;margin:2px 0 0;-webkit-line-clamp:3}.card p,.card .tags{display:none}.card .card-award{font-size:11px;margin:4px 0 0}.card-date{font-size:11px}}.rows{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;column-gap:32px}@media(min-width:760px){.rows{grid-template-columns:1fr 1fr}}.rows.collapsed>[data-extra]{display:none}.row{border-top:1px solid var(--line)}.row a{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;padding:10px 0;text-decoration:none}.row-media{aspect-ratio:4 / 3;border-radius:6px;overflow:hidden;background:var(--bg-soft)}.row-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.row a:hover .row-media img{transform:scale(1.05)}.row a:hover h3{text-decoration:underline;text-decoration-color:var(--text-3);text-underline-offset:.2em}.row h3{font-size:14px;line-height:1.5;margin:0;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.row p{display:none}.row .card-date{display:block;font-size:11px}@media(min-width:760px){.row a{grid-template-columns:80px 1fr;gap:16px}}.more-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;margin-top:4px;font:inherit;font-size:14px;color:var(--text);background:none;cursor:pointer;border:0;border-top:1px solid var(--line);padding:14px 0}.more-btn[hidden]{display:none}.more-btn span{color:var(--text-3);font-size:13px}.more-btn:after{content:"";width:7px;height:7px;border:solid var(--text-2);border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg);margin-left:6px}.more-btn:hover{background:var(--bg-soft)}[data-filter-item][hidden]{display:none!important}.empty-note{color:var(--text-3);font-size:14px;padding:24px 0}.share{display:grid;grid-template-columns:clamp(120px,34vw,200px) 1fr;gap:clamp(20px,6vw,56px);align-items:center;margin-bottom:8px}.donut{width:100%;height:auto;overflow:visible}.donut circle{fill:none;stroke-width:6}.donut .seg{transition:opacity .6s var(--ease),stroke-width .6s var(--ease);transition-delay:calc(var(--i) * 70ms)}.rv-pre .donut .seg{opacity:0;stroke-width:2}.donut-n{font-size:8.5px;font-weight:700;text-anchor:middle;fill:var(--text);letter-spacing:-.02em}.donut-l{font-size:3px;text-anchor:middle;fill:var(--text-3);letter-spacing:.1em;text-transform:uppercase}.share-legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:6px 40px}@media(min-width:900px){.share-legend{grid-template-columns:1fr 1fr}}.share-legend li{display:flex;align-items:center;gap:8px;font-size:clamp(13px,3.5vw,14px);min-width:0;padding:4px 0;border-bottom:1px solid var(--line)}.share-legend i{flex:none;width:8px;height:8px;border-radius:50%}.share-legend span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-legend b{flex:none;white-space:nowrap;margin-left:auto;font-weight:400;font-size:13px;color:var(--text-3);font-variant-numeric:tabular-nums}.stack{display:grid;gap:12px}.stack-row{display:grid;grid-template-columns:1fr;gap:2px}@media(min-width:640px){.stack-row{grid-template-columns:9em 1fr;align-items:baseline}}.stack-lv{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-3)}.dots{display:inline-flex;gap:3px}.dots i{width:6px;height:6px;border-radius:50%;background:var(--line)}.dots i.on{background:var(--accent)}.stack-items{margin:0;font-size:14px;line-height:1.9;color:var(--text)}.stack-items span{white-space:nowrap}details.more-skills{margin-top:18px}details.more-skills>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text-2)}details.more-skills[open]>summary{margin-bottom:14px}details.more-skills>summary::-webkit-details-marker{display:none}details.more-skills>summary:before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid var(--line);border-radius:50%;transition:transform .3s var(--ease)}details.more-skills[open]>summary:before{transform:rotate(45deg)}.career-group+.career-group{margin-top:clamp(32px,5vw,48px)}.career-title{font-family:var(--display);font-size:24px;font-weight:600;color:var(--text);margin:0 0 12px}.timeline{list-style:none;margin:0;padding:0}.tl{position:relative;padding:0 0 26px 24px}.tl:before{content:"";position:absolute;left:4px;top:12px;bottom:-4px;width:1px;background:var(--line)}.tl:last-child{padding-bottom:4px}.tl:last-child:before{display:none}.tl:after{content:"";position:absolute;left:0;top:7px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1.5px solid var(--text-3);box-sizing:border-box}.tl.current:after{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}.timeline.parallel .tl{padding:18px 0;border-top:1px solid var(--line)}.timeline.parallel .tl:last-child{border-bottom:1px solid var(--line);padding-bottom:18px}.timeline.parallel .tl:before,.timeline.parallel .tl:after{display:none}.tl-period .now{font-style:normal;font-size:11px;color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 22%,transparent);padding:2px 6px;border-radius:4px;margin-right:8px}.tl-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 16px}.tl-head h4{margin:0;font-size:16px;font-weight:650;line-height:1.5;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px}.tl-kind{font-size:13px;font-weight:400;color:var(--text-3)}.tl-kind:before{content:"— "}.tl-summary{margin:6px 0 0;font-size:14px;line-height:1.8;color:var(--text-2)}.tl-period{font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}.tl-period small{font-size:11px;margin-left:6px;padding:2px 6px;border-radius:4px;background:var(--tag-bg)}.role{margin-top:12px;padding:2px 0 2px 14px;border-left:2px solid var(--line)}.role-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 12px;margin:0}.role-name{font-size:14px;font-weight:600}.role-period{font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}.role-notes{margin:6px 0 0;padding:0;list-style:none}.role-notes li{position:relative;padding-left:12px;font-size:13.5px;line-height:1.7;color:var(--text-2)}.role-notes li+li{margin-top:2px}.role-notes li:before{content:"";position:absolute;left:0;top:.8em;width:4px;height:1px;background:var(--text-3)}.role-rel{margin:8px 0 0;font-size:13px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.role-rel span{font-size:11px;color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 22%,transparent);padding:2px 6px;border-radius:4px;flex:none}.role-rel a{color:var(--text)}.md h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-weight:600;margin:40px 0 12px}.md h3:first-child{margin-top:0}.md>ul{list-style:none;padding:0;margin:0}.md>ul>li{padding:18px 0;border-bottom:1px solid var(--line)}.md>ul>li:first-child{border-top:1px solid var(--line)}.md ul ul{list-style:none;padding:0;margin:10px 0 0}.md ul ul>li{padding-left:14px;position:relative;margin:10px 0 0;color:var(--text-2);font-size:15px}.md ul ul>li:before{content:"";position:absolute;left:0;top:.75em;width:5px;height:5px;border-radius:50%;background:var(--accent)}.md ul ul ul{margin-top:4px}.md ul ul ul>li{font-size:14px;margin-top:4px}.md ul ul ul>li:before{width:4px;height:1px;border-radius:0;background:var(--text-3);top:.9em}.md strong{font-weight:650}.cols-2{display:grid;grid-template-columns:1fr;gap:0 48px}@media(min-width:860px){.cols-2{grid-template-columns:1fr 1fr}}.interests>ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px}.interests>ul>li{background:var(--bg-soft);border-radius:var(--radius);padding:18px 20px;font-size:14px;color:var(--text-2);line-height:1.8}.interests>ul>li>strong{display:block;color:var(--text);font-size:15px;margin-bottom:4px}.interests>ul>li ul{list-style:none;padding:0;margin:0}.interests>p{margin:0 0 12px;color:var(--text-3);font-size:14px}.contact{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}.contact a{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:15px;transition:border-color .25s var(--ease),background .25s var(--ease)}.contact a:hover{border-color:var(--text)}.contact a.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.contact .arrow{transition:transform .3s var(--ease)}.contact a:hover .arrow{transform:translate(2px,-2px)}.work-top{padding:clamp(20px,4vw,40px) 0 0}.back{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--text-2);text-decoration:none}.back:hover{color:var(--text)}.back span{transition:transform .3s var(--ease)}.back:hover span{transform:translate(-3px)}.work-hero{margin:20px auto 0;max-width:calc(var(--wrap) - var(--gutter) * 2)}.work-hero .card-media{aspect-ratio:auto;max-height:72vh;margin:0;border-radius:clamp(10px,1.6vw,var(--radius))}.work-hero .card-media img{max-height:72vh;object-fit:contain;width:100%;height:auto}.work-head{padding:clamp(24px,5vw,48px) 0 8px}.work-head h1{font-size:clamp(24px,4.6vw,38px);margin:6px 0 20px;letter-spacing:-.015em}.work-lead{margin:0 0 12px;font-size:clamp(16px,2.2vw,18px);line-height:1.8;color:var(--text);white-space:pre-line}.work-insight{margin:0 0 20px;font-size:15px;line-height:1.85;color:var(--text-2);white-space:pre-line}.awards{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:6px}.awards li{position:relative;padding-left:18px;font-size:14px;font-weight:600;line-height:1.6}.awards li:before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:var(--accent)}.credits{display:grid;grid-template-columns:4.5em 1fr;gap:8px 16px;margin:0;padding:16px 18px;font-size:13.5px;border:1px solid var(--line);border-radius:var(--radius-sm)}.credits dt{color:var(--text-3)}.credits dd{margin:0;color:var(--text-2);line-height:1.7}.credits dd .tags{padding-top:1px}.prose{padding:32px 0 24px;font-size:16px}.prose>*+*{margin-top:1.1em}.prose p{margin:0}.prose p+p{margin-top:1em}.prose h1,.prose h2,.prose h3{margin:2em 0 .6em}.prose h1{font-size:24px}.prose h2{font-size:20px}.prose h3{font-size:17px}.prose ul,.prose ol{padding-left:1.3em;margin:1em 0}.prose li+li{margin-top:.3em}.prose li>p{margin:.2em 0}.prose b,.prose strong{font-weight:650}.prose .c-gray{color:var(--text-3)}.prose blockquote{margin:1.4em 0;padding:2px 0 2px 18px;border-left:3px solid var(--accent);color:var(--text-2)}.prose code{font-size:.9em;background:var(--tag-bg);padding:2px 5px;border-radius:4px}.prose table{border-collapse:collapse;width:100%;font-size:14px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left}.media{margin:1.8em 0}.media img,.media video{border-radius:var(--radius-sm);width:100%}.media figcaption{font-size:13px;color:var(--text-3);margin-top:8px;line-height:1.6}a.zoom{display:block;cursor:zoom-in}.cols{display:grid;gap:16px;margin:1.8em 0;align-items:start}.cols>.col>.media:first-child{margin-top:0}.cols>.col>.media:last-child{margin-bottom:0}@media(min-width:640px){.cols{grid-auto-flow:column;grid-auto-columns:1fr}.cols>.col{grid-column:auto}}.frame{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-sm);overflow:hidden;background:#000}.frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.yt{all:unset;position:relative;display:block;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-sm);overflow:hidden;background:#000;cursor:pointer}.yt img{width:100%;height:100%;object-fit:cover;opacity:.92;transition:opacity .3s var(--ease),transform .8s var(--ease)}.yt:hover img{opacity:1;transform:scale(1.015)}.yt-play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:transform .3s var(--ease),background .3s}.yt-play:after{content:"";position:absolute;left:26px;top:21px;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff}.yt:hover .yt-play{transform:scale(1.06);background:#000000b3}.bookmark{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);text-decoration:none;transition:border-color .25s var(--ease),background .25s var(--ease)}.bookmark:hover{border-color:var(--text-3);background:var(--bg-soft)}.bm-host{font-size:14px;font-weight:600}.bm-url{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pager{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:24px 0 48px;border-top:1px solid var(--line);margin-top:24px}.pager a{text-decoration:none;padding:12px 0;display:flex;flex-direction:column;gap:4px;min-width:0}.pager a.next{text-align:right;grid-column:2}.pager small{font-size:12px;color:var(--text-3)}.pager span{font-size:14px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lightbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;margin:0}.lightbox::backdrop{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lightbox img{width:100%;height:100%;object-fit:contain;padding:clamp(12px,4vw,48px);cursor:zoom-out}.lb-close{position:fixed;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:22px;line-height:1;cursor:pointer}.lightbox[open],.lightbox[open]::backdrop{animation:fade .35s var(--ease)}.lightbox[open] img{animation:rise .45s var(--ease)}.site-footer{position:relative;overflow:hidden;isolation:isolate;margin-top:clamp(8px,1vw,12px);border-radius:clamp(22px,3vw,36px) clamp(22px,3vw,36px) 0 0;height:calc(clamp(340px,34vw,500px) + env(safe-area-inset-bottom))}.fp{position:absolute;inset:0;z-index:-1;background:#facc22}.fp canvas{display:block;width:100%;height:100%}.footer-inner{position:absolute;top:0;right:0;width:min(100%,50%);padding:clamp(28px,4vw,56px);text-align:right;color:#2a2408}.footer-inner p{margin:0}.footer-title{font-family:var(--display);font-weight:500;font-size:clamp(44px,6.4vw,116px);line-height:.9;letter-spacing:-.03em;color:#fff;text-shadow:0 1px 2px rgb(120 90 0 / .25),0 0 24px rgb(150 110 0 / .18)}.footer-mail{display:inline-block;margin-top:clamp(12px,1.6vw,20px);font-size:clamp(15px,1.5vw,20px);font-weight:600;text-decoration-thickness:1px;text-underline-offset:.25em}.footer-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 22px;margin:clamp(14px,1.8vw,24px) 0 0;font-size:clamp(13px,1.1vw,15px);font-weight:600}.footer-nav a{text-decoration:none}.footer-nav a:hover{text-decoration:underline;text-underline-offset:.25em}.footer-copy{position:absolute;right:clamp(28px,4vw,56px);bottom:calc(clamp(16px,2.4vw,28px) + env(safe-area-inset-bottom));margin:0;font-size:12px;color:#2a2408}@media(max-width:699px){.site-footer{height:calc(280px + env(safe-area-inset-bottom))}.footer-inner{width:100%}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(10px) scale(.985)}}.rv-pre{opacity:0;transform:translateY(14px)}.rv-in{opacity:1;transform:none;transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i, 0) * 60ms)}img.loading{opacity:0}img{transition:opacity .6s var(--ease)}@view-transition{navigation:auto}::view-transition-old(root){animation:.22s var(--ease) both vt-out}::view-transition-new(root){animation:.38s var(--ease) both vt-in}::view-transition-group(*){animation-duration:.45s;animation-timing-function:var(--ease)}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after,::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
