*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: #fdfdfb;--foreground: #111111;--muted: rgba(0, 0, 0, .56);--soft: rgba(0, 0, 0, .72);--faint: rgba(0, 0, 0, .36);--panel: rgba(0, 0, 0, .035);--panel-hover: rgba(0, 0, 0, .065);--line: rgba(0, 0, 0, .12);--line-strong: rgba(0, 0, 0, .22);--accent: #1d4ed8;--duration-fast: .16s;--duration-hover: .34s;--duration-medium: .42s;--duration-slow: .68s;--duration-route-out: .24s;--duration-route-in: .56s;--duration-image: .76s;--duration-overlay: .44s;--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.2, 0, 0, 1)}html.dark{--background: #090909;--foreground: #f7f7f2;--muted: rgba(255, 255, 255, .6);--soft: rgba(255, 255, 255, .78);--faint: rgba(255, 255, 255, .42);--panel: rgba(255, 255, 255, .07);--panel-hover: rgba(255, 255, 255, .11);--line: rgba(255, 255, 255, .16);--line-strong: rgba(255, 255, 255, .3);--accent: #8ab4ff}html{background:var(--background);color-scheme:light;scroll-behavior:smooth}html.dark{color-scheme:dark}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--background);color:var(--foreground);font-family:Space Grotesk,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.65;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}a,button,select{-webkit-tap-highlight-color:transparent}img{max-width:100%;vertical-align:middle}::-moz-selection{background:#1d4ed82e}::selection{background:#1d4ed82e}@keyframes page-enter{0%{opacity:0;transform:scale(.992) translate3d(0,18px,0)}to{opacity:1;transform:scale(1) translateZ(0)}}@keyframes page-leave{0%{opacity:1;transform:scale(1) translateZ(0)}to{opacity:0;transform:scale(.996) translate3d(0,-10px,0)}}@keyframes page-arrive{0%{opacity:0;transform:scale(.992) translate3d(0,22px,0)}to{opacity:1;transform:scale(1) translateZ(0)}}@keyframes soft-enter{0%{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes nav-enter{0%{opacity:0;transform:translate3d(0,-8px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes lightbox-in{0%{opacity:0;backdrop-filter:blur(0) saturate(100%);-webkit-backdrop-filter:blur(0) saturate(100%)}to{opacity:1;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}}@keyframes lightbox-out{0%{opacity:1;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}to{opacity:0;backdrop-filter:blur(6px) saturate(105%);-webkit-backdrop-filter:blur(6px) saturate(105%)}}@keyframes preview-in{0%{opacity:0;filter:blur(8px);transform:scale(.982) translate3d(0,16px,0)}to{opacity:1;filter:blur(0);transform:scale(1) translateZ(0)}}@keyframes preview-out{0%{opacity:1;filter:blur(0);transform:scale(1) translateZ(0)}to{opacity:0;filter:blur(4px);transform:scale(.992) translate3d(0,8px,0)}}.site-shell{min-height:100dvh;background:var(--background);color:var(--foreground);transition:background-color var(--duration-overlay) var(--ease-soft),color var(--duration-overlay) var(--ease-soft)}.ambient-grid{display:none}.skip-link{position:fixed;left:16px;top:16px;z-index:200;transform:translateY(-140%);background:var(--foreground);color:var(--background);padding:10px 14px;text-decoration:none;transition:transform var(--duration-fast) ease}.skip-link:focus{transform:translateY(0)}.route-shell{min-height:calc(100dvh - 68px)}.route-shell.is-initial-route,html.no-view-transition-api .route-shell{animation:page-enter var(--duration-route-in) var(--ease-out) both}.site-container{width:min(100% - clamp(24px,5vw,72px),1180px);margin-inline:auto}.section-shell{width:min(100% - clamp(24px,5vw,72px),920px);margin-inline:auto}.site-nav{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,color-mix(in srgb,var(--background) 96%,transparent),color-mix(in srgb,var(--background) 82%,transparent));border-bottom:1px solid var(--line);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);animation:nav-enter .42s var(--ease-out) both;box-shadow:inset 0 -1px color-mix(in srgb,var(--foreground) 4%,transparent)}.nav-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}.nav-left{display:flex;align-items:center;gap:clamp(28px,5vw,58px);min-width:0}.brand-link{color:var(--foreground);font-size:19px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;transition:opacity var(--duration-hover) var(--ease-soft),transform var(--duration-hover) var(--ease-out)}.brand-link:hover{opacity:.78;transform:translate3d(0,-1px,0)}.brand-link:active{transform:translate3d(0,1px,0) scale(.985)}.nav-links{display:flex;align-items:center;gap:clamp(18px,3vw,34px)}.nav-links a{position:relative;display:inline-flex;color:var(--soft);font-size:13px;font-weight:500;letter-spacing:0;line-height:1.4;text-decoration:none;transition:color var(--duration-hover) var(--ease-soft),transform var(--duration-hover) var(--ease-out)}.nav-links a:after{position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:currentColor;content:"";opacity:0;transform:scaleX(.34);transform-origin:left center;transition:opacity var(--duration-hover) var(--ease-soft),transform var(--duration-hover) var(--ease-out)}.nav-links a:hover,.nav-links a.active{color:var(--foreground)}.nav-links a:hover{transform:translate3d(0,-1px,0)}.nav-links a:hover:after,.nav-links a.active:after{opacity:1;transform:scaleX(1)}.magnetic-label{display:inline-flex;align-items:center;gap:inherit;will-change:transform}.theme-toggle{display:inline-grid;width:28px;height:28px;place-items:center;border:0;background:transparent;color:var(--foreground);cursor:pointer;padding:0;transition:opacity var(--duration-hover) var(--ease-soft),transform var(--duration-hover) var(--ease-out)}.theme-toggle:hover{opacity:.82;transform:translate3d(0,-1px,0) scale(1.04)}.theme-toggle:active{transform:translate3d(0,1px,0) scale(.94)}.theme-toggle:focus-visible,.back-link:focus-visible,.nav-links a:focus-visible,.footer-links a:focus-visible,.contact-pill:focus-visible,.hero-index-row:focus-visible,.thought-row:focus-visible,.record-index-row:focus-visible,.work-index-row:focus-visible,.photo-gallery-card:focus-visible,.photo-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.theme-toggle svg{width:16px;height:16px}.hero-section{padding-block:clamp(56px,9vw,104px) clamp(34px,6vw,72px)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(36px,7vw,96px);align-items:end}.hero-copy{display:grid;gap:clamp(34px,5vw,56px);animation:soft-enter .48s var(--ease-out) 80ms both}.hero-section h1{margin:0;max-width:11ch;color:var(--foreground);font-size:clamp(44px,8vw,92px);font-weight:500;letter-spacing:0;line-height:1.04;text-wrap:balance}.hero-index{display:grid;max-width:760px;border-top:1px solid var(--line-strong)}.hero-index-row{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:18px;align-items:baseline;border-bottom:1px solid var(--line);color:inherit;padding-block:16px;text-decoration:none;isolation:isolate;transition:color var(--duration-hover) var(--ease-soft),transform var(--duration-hover) var(--ease-out)}.hero-index-row:before{position:absolute;inset:0 -12px;z-index:-1;background:var(--panel);content:"";opacity:0;transform:scaleX(.985);transform-origin:center;transition:opacity var(--duration-hover) var(--ease-soft),transform var(--duration-medium) var(--ease-out)}.hero-index-row:hover{color:var(--accent);transform:translate3d(2px,0,0)}.hero-index-row:hover:before{opacity:1;transform:scaleX(1)}.hero-index-row:active{transform:translate3d(1px,1px,0) scale(.995)}.hero-index-row span,.hero-index-row time,.section-heading.with-link span,.soft-label{color:var(--muted);font-size:12px;font-weight:500;line-height:1.5}.hero-index-row strong{min-width:0;color:inherit;font-size:clamp(15px,1.8vw,18px);font-weight:500;line-height:1.45}.hero-index-row time{white-space:nowrap}.hero-photo{display:block;align-self:stretch;color:inherit;text-decoration:none;animation:soft-enter .56s var(--ease-out) .16s both;overflow:hidden}.hero-photo img{display:block;width:100%;height:min(52vw,520px);min-height:340px;-o-object-fit:cover;object-fit:cover;background:var(--panel);filter:saturate(.94) contrast(1.03);transform:scale(1.001);will-change:transform,filter;transition:filter var(--duration-medium) var(--ease-soft),transform var(--duration-image) var(--ease-out)}.hero-photo:hover img{filter:saturate(1) contrast(1.06);transform:scale(1.022)}.hero-photo:active img{transform:scale(1.01)}.section-block{padding-block:clamp(32px,5vw,64px)}.section-heading.with-link{display:flex;align-items:end;justify-content:space-between;gap:24px;border-top:1px solid var(--line-strong);padding-top:18px;animation:soft-enter .42s var(--ease-out) both}.section-heading.with-link h2,.page-hero h1,.record-article h1,.photo-article h1{margin:0;color:var(--foreground);font-size:clamp(28px,4vw,48px);font-weight:500;letter-spacing:0;line-height:1.12;text-wrap:balance}.section-heading.with-link a,.back-link{color:var(--soft);font-size:14px;font-weight:500;text-decoration:none;transition:color var(--duration-hover) var(--ease-soft),transform var(--duration-hover) var(--ease-out)}.section-heading.with-link a:hover,.back-link:hover{color:var(--foreground);transform:translate3d(0,-1px,0)}.thought-list,.record-index,.photo-index{margin-top:clamp(18px,3vw,30px);display:grid;border-top:1px solid var(--line)}.thought-row,.record-index-row,.photo-index-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(20px,5vw,64px);align-items:start;border-bottom:1px solid var(--line);color:inherit;padding-block:20px;text-decoration:none;isolation:isolate;transition:color var(--duration-hover) var(--ease-soft),transform var(--duration-hover) var(--ease-out);animation:soft-enter .44s var(--ease-out) 80ms both}.thought-row:before,.record-index-row:before,.photo-index-row:before{position:absolute;inset:0 -12px;z-index:-1;background:var(--panel);content:"";opacity:0;transform:scaleX(.985);transform-origin:center;transition:opacity var(--duration-hover) var(--ease-soft),transform var(--duration-medium) var(--ease-out)}.thought-row:hover,.record-index-row:hover,.photo-index-row:hover{color:var(--accent);transform:translate3d(2px,0,0)}.thought-row:hover:before,.record-index-row:hover:before,.photo-index-row:hover:before{opacity:1;transform:scaleX(1)}.thought-row:active,.record-index-row:active,.photo-index-row:active{transform:translate3d(1px,1px,0) scale(.995)}.thought-row h3,.record-index-row h2,.photo-index-row h2,.photo-card strong,.photo-gallery-card h2{margin:0;color:inherit;font-size:clamp(15px,1.5vw,17px);font-weight:500;line-height:1.5;text-wrap:pretty}.thought-row p,.record-index-row p:not(.soft-label),.photo-index-row p,.page-hero p:not(.soft-label),.markdown-body,.photo-gallery-card p,.photo-card small{color:var(--muted);font-size:14px;font-weight:400;line-height:1.75}.thought-row p,.record-index-row p:not(.soft-label),.photo-index-row p,.photo-gallery-card p,.photo-card small{margin:6px 0 0}.thought-row time,.record-index-row>span,.photo-index-row>span{color:var(--muted);font-size:13px;font-weight:400;line-height:1.7;text-align:right;white-space:nowrap}.photo-grid,.photography-gallery{margin-top:clamp(18px,3vw,30px);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:clamp(18px,3vw,28px);align-items:start}.photo-card,.photo-gallery-card{display:block;max-width:420px;color:inherit;text-decoration:none;transform-origin:center bottom;animation:soft-enter .46s var(--ease-out) .1s both;transition:color var(--duration-hover) var(--ease-soft),transform var(--duration-medium) var(--ease-out);will-change:transform}.photo-card:hover,.photo-gallery-card:hover{color:var(--accent);transform:translate3d(0,-3px,0)}.photo-card:active,.photo-gallery-card:active{transform:translate3d(0,1px,0) scale(.992)}.photo-card img,.photo-gallery-card img,.photo-index-row img{display:block;width:100%;aspect-ratio:4 / 5;-o-object-fit:cover;object-fit:cover;background:var(--panel);filter:saturate(.94) contrast(1.02);transform:scale(1.001);will-change:transform,filter;transition:filter var(--duration-medium) var(--ease-soft),transform var(--duration-image) var(--ease-out)}.photo-card:hover img,.photo-gallery-card:hover img{filter:saturate(1) contrast(1.05);transform:scale(1.018)}.photo-card span,.photo-gallery-card div{display:grid;gap:3px;padding-top:12px}.empty-state{margin-top:clamp(20px,3vw,34px);display:grid;min-height:220px;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,20px)}.empty-state span{position:relative;display:block;min-height:190px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(90deg,transparent 0 22%,var(--line) 22% 22.5%,transparent 22.5% 100%),linear-gradient(180deg,var(--panel),transparent)}.empty-state span:before,.empty-state span:after{position:absolute;left:18px;right:18px;height:1px;background:var(--line);content:""}.empty-state span:before{top:42%}.empty-state span:after{top:58%;opacity:.58}.record-article-page,.records-page,.photo-article-page,.photography-page,.works-page,.about-page{padding-block:clamp(38px,6vw,72px) clamp(56px,8vw,104px)}.back-link{display:inline-flex;align-items:center;gap:8px}.back-link:hover{transform:translate3d(-3px,0,0)}.page-hero{margin-top:clamp(36px,7vw,72px);padding-bottom:clamp(20px,4vw,36px);border-bottom:1px solid var(--line-strong);animation:soft-enter .42s var(--ease-out) 40ms both}.page-hero p:not(.soft-label){margin:12px 0 0}.works-hero p{max-width:34em}.work-index{margin-top:clamp(26px,5vw,52px);display:grid;border-top:1px solid var(--line)}.work-index-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr);border-bottom:1px solid var(--line);color:inherit;padding-block:20px;text-decoration:none;isolation:isolate;transition:color var(--duration-hover) var(--ease-soft),transform var(--duration-hover) var(--ease-out);animation:soft-enter .44s var(--ease-out) .12s both}.work-index-row:before{position:absolute;inset:0 -12px;z-index:-1;background:var(--panel);content:"";opacity:0;transform:scaleX(.985);transition:opacity var(--duration-hover) var(--ease-soft),transform var(--duration-medium) var(--ease-out)}.work-index-row:hover{color:var(--accent);transform:translate3d(2px,0,0)}.work-index-row:hover:before{opacity:1;transform:scaleX(1)}.work-index-row:active{transform:translate3d(1px,1px,0) scale(.995)}.work-index-row h2{margin:0;color:inherit;font-size:clamp(15px,1.5vw,17px);font-weight:500;line-height:1.5;text-wrap:pretty}.work-index-row p:not(.soft-label){margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.75}.blog-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;animation:soft-enter .42s var(--ease-out) 80ms both}.blog-filters label{display:grid;gap:7px}.blog-filters span{color:var(--muted);font-size:12px;font-weight:500}.blog-filters select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--soft);font:inherit;font-size:14px;outline:none;padding:8px 10px;transition:border-color var(--duration-hover) var(--ease-soft),background var(--duration-hover) var(--ease-soft),color var(--duration-hover) var(--ease-soft)}.blog-filters select:hover,.blog-filters select:focus-visible{border-color:var(--foreground);background:var(--panel);color:var(--foreground)}.contact-strip{margin-top:clamp(24px,4vw,40px);display:flex;flex-wrap:wrap;gap:10px;animation:soft-enter .44s var(--ease-out) .12s both}.contact-pill{display:inline-flex;min-height:40px;align-items:center;gap:9px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--foreground);font-size:14px;font-weight:500;padding:0 14px;text-decoration:none;transition:background var(--duration-hover) var(--ease-soft),border-color var(--duration-hover) var(--ease-soft),box-shadow var(--duration-hover) var(--ease-soft),transform var(--duration-hover) var(--ease-out)}.contact-pill:hover{border-color:var(--line-strong);background:var(--panel);box-shadow:inset 0 1px color-mix(in srgb,var(--foreground) 8%,transparent);transform:translate3d(0,-2px,0) scale(1.01)}.contact-pill:active{transform:translate3d(0,1px,0) scale(.97)}.contact-pill svg,.back-link svg{flex:none;stroke-width:1.8}.about-empty{margin-top:clamp(28px,5vw,56px)}.record-article,.photo-article{margin-top:clamp(36px,7vw,72px);animation:soft-enter .46s var(--ease-out) 80ms both}.record-article header,.photo-article header{max-width:760px}.record-article h1,.photo-article h1{margin-top:10px;font-size:clamp(30px,4.8vw,56px)}.record-article header p:not(.soft-label),.photo-article header p:not(.soft-label){margin:12px 0 0;color:var(--muted);font-size:14px}.record-article>img,.photo-article>img{display:block;width:100%;margin-top:clamp(26px,5vw,48px);background:var(--panel);cursor:zoom-in;transform:scale(1);will-change:transform,filter;transition:filter var(--duration-medium) var(--ease-soft),transform var(--duration-image) var(--ease-out)}.record-article>img{aspect-ratio:16 / 9;-o-object-fit:contain;object-fit:contain}.photo-article>img{max-height:72dvh;-o-object-fit:contain;object-fit:contain}.record-article>img:hover,.photo-article>img:hover,.markdown-body figure img:hover{filter:saturate(1.02) contrast(1.04);transform:scale(1.006)}.record-article>img:active,.photo-article>img:active,.markdown-body figure img:active{transform:scale(.996)}.markdown-body{margin-top:clamp(30px,5vw,48px);max-width:760px;color:var(--soft);font-size:15px;line-height:1.9}.markdown-body>*+*{margin-top:18px}.markdown-body h1,.markdown-body h2,.markdown-body h3{color:var(--foreground);font-weight:500;line-height:1.35;text-wrap:balance}.markdown-body h1{font-size:26px}.markdown-body h2{margin-top:36px;font-size:22px}.markdown-body h3{margin-top:28px;font-size:17px}.markdown-body p{margin-bottom:0}.markdown-body a{color:var(--foreground);text-decoration:underline;text-decoration-color:var(--line-strong);text-decoration-thickness:1px;text-underline-offset:4px;transition:color var(--duration-hover) var(--ease-soft),text-decoration-color var(--duration-hover) var(--ease-soft)}.markdown-body a:hover{color:var(--accent);text-decoration-color:currentColor}.markdown-body blockquote{margin-inline:0;border-left:1px solid var(--line-strong);color:var(--foreground);padding-left:18px}.markdown-body ul,.markdown-body ol{padding-left:1.25rem}.markdown-body li+li{margin-top:6px}.markdown-body figure{margin:30px 0}.markdown-body figure img{display:block;width:min(100%,960px);max-width:100%;background:var(--panel);cursor:zoom-in;transform:scale(1);will-change:transform,filter;transition:filter var(--duration-medium) var(--ease-soft),transform var(--duration-image) var(--ease-out)}.markdown-body hr{border:0;border-top:1px solid var(--line);margin-block:34px}.markdown-body pre{overflow-x:auto;border:1px solid var(--line);background:var(--panel);padding:16px}.markdown-body pre code{background:transparent;padding:0}.markdown-table-wrap{overflow-x:auto}.markdown-body table{width:100%;min-width:560px;border-collapse:collapse;font-size:14px;line-height:1.65}.markdown-body th,.markdown-body td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}.markdown-body th{color:var(--foreground);font-weight:500}.markdown-body code{background:var(--panel);color:var(--foreground);font-size:.92em;padding:2px 5px}.image-lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#090909c7;padding:72px 24px 28px;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);animation:lightbox-in var(--duration-overlay) var(--ease-soft) both}.image-lightbox.is-closing{animation:lightbox-out .22s var(--ease-in) both}.image-lightbox img{display:block;position:relative;z-index:1;max-width:min(1120px,100%);max-height:calc(100dvh - 112px);-o-object-fit:contain;object-fit:contain;animation:preview-in .52s var(--ease-out) both;box-shadow:0 24px 90px #00000057}.image-lightbox.is-closing img{animation:preview-out .2s var(--ease-in) both}.image-lightbox-close{position:fixed;top:22px;right:22px;z-index:2;display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:linear-gradient(135deg,#fffffff5,#ffffffc7),#ffffffdb;color:#111;cursor:pointer;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);box-shadow:inset 0 1px #ffffffb3,0 16px 44px #0000003d;transition:opacity var(--duration-hover) var(--ease-soft),transform var(--duration-hover) var(--ease-out)}.image-lightbox-close:hover{opacity:.9;transform:scale(1.05)}.image-lightbox-close:active{transform:scale(.94)}.footer-section{padding-block:clamp(28px,5vw,56px) 28px}.footer-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(20px,4vw,52px);align-items:center;border-top:1px solid var(--line);color:var(--muted);padding-top:22px;animation:soft-enter .42s var(--ease-out) both}.footer-brand,.footer-links a,.footer-bottom{font-size:13px;font-weight:500;line-height:1.5;text-decoration:none}.footer-brand,.footer-links a{display:inline-flex;color:var(--soft);transition:color var(--duration-hover) var(--ease-soft),transform var(--duration-hover) var(--ease-out)}.footer-brand:hover,.footer-links a:hover{color:var(--foreground);transform:translate3d(0,-1px,0)}.footer-links{display:flex;flex-wrap:wrap;gap:10px 18px}.footer-bottom{color:var(--muted);white-space:nowrap}.table{display:table}.hidden{display:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@supports (view-transition-name: none){.site-nav{view-transition-name:site-nav}.route-shell{view-transition-name:page-shell}.photo-transition-target{view-transition-name:var(--photo-view-transition-name);contain:layout paint}::view-transition-group(*){animation-duration:var(--duration-route-in);animation-timing-function:var(--ease-out)}::view-transition-image-pair(*){isolation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--duration-route-in);animation-timing-function:var(--ease-out);mix-blend-mode:normal}::view-transition-old(page-shell){animation:page-leave var(--duration-route-out) var(--ease-in) both}::view-transition-new(page-shell){animation:page-arrive var(--duration-route-in) var(--ease-out) both}::view-transition-group(site-nav),::view-transition-old(site-nav),::view-transition-new(site-nav){animation:none;mix-blend-mode:normal}html[data-theme-transition=true]::view-transition-old(root){animation:lightbox-out .22s var(--ease-in) both}html[data-theme-transition=true]::view-transition-new(root){animation:lightbox-in .52s var(--ease-soft) both}}@supports not (view-transition-name: none){.route-shell{animation:page-enter var(--duration-route-in) var(--ease-out) both}}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;align-items:start}.hero-photo{max-width:520px}.hero-photo img{height:auto;min-height:0;aspect-ratio:4 / 5}}@media(max-width:720px){.nav-inner{min-height:auto;align-items:flex-start;padding-block:16px}.nav-left{display:grid;gap:16px}.nav-links{flex-wrap:wrap;gap:10px 18px}.hero-section{padding-block:52px 36px}.hero-index-row{grid-template-columns:1fr;gap:4px}.hero-index-row:hover,.thought-row:hover,.record-index-row:hover,.work-index-row:hover,.photo-index-row:hover{transform:none}.section-heading.with-link,.thought-row,.record-index-row,.work-index-row,.photo-index-row{grid-template-columns:1fr}.section-heading.with-link{display:grid;align-items:start}.thought-row time,.record-index-row>span,.photo-index-row>span{text-align:left}.photo-index-row img{width:100%}.blog-filters,.empty-state{grid-template-columns:1fr}.empty-state span{min-height:148px}.footer-bar{grid-template-columns:1fr;align-items:start}}@media(max-width:480px){body{font-size:14px}.site-container,.section-shell{width:min(100% - 24px,100%)}.nav-links a{font-size:12px}.photo-grid,.photography-gallery{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html:not(.motion-full){scroll-behavior:auto}html:not(.motion-full) .photo-transition-target{view-transition-name:none}html:not(.motion-full)::view-transition-group(*),html:not(.motion-full)::view-transition-old(*),html:not(.motion-full)::view-transition-new(*){animation-duration:.01ms!important;animation-iteration-count:1!important}html:not(.motion-full) *,html:not(.motion-full) *:before,html:not(.motion-full) *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}html.motion-reduce{scroll-behavior:auto}html.motion-reduce .photo-transition-target{view-transition-name:none}html.motion-reduce::view-transition-group(*),html.motion-reduce::view-transition-old(*),html.motion-reduce::view-transition-new(*){animation-duration:.01ms!important;animation-iteration-count:1!important}html.motion-reduce *,html.motion-reduce *:before,html.motion-reduce *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
