@import "https://cdn.jsdelivr.net/npm/interlude-ui/dist/dynamic-subset/interlude-variable-dynamic-subset.css";@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#f4f4f2;--color-surface:#fcfcfb;--color-surface-muted:#ececea;--color-surface-strong:#dcdcd9;--color-border:#e2e2e0;--color-border-strong:#c2c2be;--color-text-primary:#111;--color-text-secondary:#555;--color-text-tertiary:#888;--color-accent:#3f6f4f;--color-accent-soft:#e4ece6;--color-accent-faint:color-mix(in srgb, var(--color-accent) 22%, transparent);--color-grid-line:#11111109;--color-header-backdrop:#f4f4f2d1;--color-header-fade-start:#f4f4f2ad;--shadow-header:0 1px 18px #11111109;--shadow-action:0 10px 24px #1111110a;--shadow-log-card:5px 5px 0 #11111112;--shadow-log-card-small:4px 4px 0 #1111110f;--shadow-log-card-tiny:3px 3px 0 #1111110d;--shadow-log-hover:0 14px 26px #1111111c, 4px 4px 0 color-mix(in srgb, var(--color-accent) 14%, transparent);--shadow-browser:0 32px 56px -36px #1111118c;--font-sans:"Interlude Variable", "Interlude", Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;--font-mono:"Interlude Variable", "Interlude", "JetBrains Mono", Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", SFMono-Regular, Consolas, monospace;--text-display:56px;--text-display-mobile:34px;--text-headline:24px;--text-body-lg:18px;--text-body:16px;--text-small:14px;--text-mono:12px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--container:1120px;--reading-width:760px;--radius-small:10px;--radius-base:16px;--radius-media:22px;--radius-media-inner:18px;--media-frame-inset:12px;--radius-pill:999px;--motion-fast:.14s;--motion-base:.22s;--motion-slow:.52s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-spring:cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#10110f;--color-surface:#181a17;--color-surface-muted:#20231f;--color-surface-strong:#2b302a;--color-border:#2c302b;--color-border-strong:#454c43;--color-text-primary:#f3f4ef;--color-text-secondary:#b8beb3;--color-text-tertiary:#7f887d;--color-accent:#8fcca5;--color-accent-soft:#1f3227;--color-accent-faint:color-mix(in srgb, var(--color-accent) 28%, transparent);--color-grid-line:#f3f4ef0e;--color-header-backdrop:#10110fd1;--color-header-fade-start:#10110fbd;--shadow-header:0 1px 20px #00000047;--shadow-action:0 12px 26px #00000038;--shadow-log-card:5px 5px 0 #00000047;--shadow-log-card-small:4px 4px 0 #0000003d;--shadow-log-card-tiny:3px 3px 0 #00000038;--shadow-log-hover:0 16px 30px #00000057, 4px 4px 0 color-mix(in srgb, var(--color-accent) 22%, transparent);--shadow-browser:0 32px 56px -36px #000000c7}*{box-sizing:border-box;min-width:0}html{background:var(--color-background);scrollbar-width:none;scroll-behavior:smooth}html::-webkit-scrollbar{width:0;height:0}body::-webkit-scrollbar{width:0;height:0}body{background:var(--color-background);min-height:100dvh;color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-body);letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.6}::selection{background:var(--color-accent-soft);color:var(--color-text-primary)}button,a{font:inherit}button{border:0}a{color:inherit;text-decoration:none}svg{width:var(--space-4);height:var(--space-4);flex:none}#root{min-height:100dvh}.site-shell{flex-direction:column;min-height:100dvh;display:flex;overflow-x:clip}.site-header{z-index:30;transition:background-color var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard), backdrop-filter var(--motion-base) var(--ease-standard), -webkit-backdrop-filter var(--motion-base) var(--ease-standard);will-change:background-color, backdrop-filter;background:0 0;position:sticky;top:0;transform:translateZ(0)}.site-header.is-scrolled{background-color:var(--color-header-backdrop);-webkit-backdrop-filter:blur(14px)saturate(.9);box-shadow:var(--shadow-header)}.site-header:after{content:"";height:var(--space-6);pointer-events:none;background:linear-gradient(to bottom, var(--color-header-fade-start), transparent);opacity:0;transition:opacity var(--motion-base) var(--ease-standard);position:absolute;top:100%;left:0;right:0}.site-header.is-scrolled:after{opacity:1}.site-header-inner{align-items:center;gap:var(--space-8);width:min(100%, var(--container));padding:var(--space-5) var(--space-6);grid-template-columns:minmax(0,1fr) auto;margin:0 auto;display:grid;position:relative}.site-identity,.desktop-nav,.site-footer,.mono-label,.text-link,.meta-grid dt,.log-list-item time{font-family:var(--font-mono);letter-spacing:0}.site-identity{color:var(--color-text-secondary);font-size:15px;line-height:1;display:flex}.identity-name{width:fit-content;color:var(--color-text-primary);font-weight:600}.desktop-nav{align-items:center;gap:var(--space-6);color:var(--color-text-secondary);font-size:15px;font-weight:500;line-height:1;display:flex}.nav-link{color:var(--color-text-secondary);transition:color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);align-items:center;padding:0;display:inline-flex;position:relative}.nav-link:after{content:"";background:var(--color-accent);border-radius:var(--radius-pill);opacity:0;transform-origin:50%;height:2px;transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(.18)translateY(3px)}.nav-link span{color:var(--color-text-tertiary)}.nav-link:hover,.nav-link:focus-visible{color:var(--color-text-primary);transform:translateY(-1px)}.nav-link.is-active{color:var(--color-accent);font-weight:600}.nav-link:hover:after,.nav-link:focus-visible:after,.nav-link.is-active:after{opacity:1;transform:scaleX(1)translateY(0)}.nav-log-trigger:after{content:none}.nav-log-menu{display:inline-flex;position:relative}.nav-log-trigger{font:inherit;cursor:pointer;background:0 0;border:0;gap:2px}.nav-log-caret{width:9px;height:9px;color:var(--color-text-tertiary);transition:transform var(--motion-base) var(--ease-standard);transform:translateY(1px)}.nav-log-trigger.is-open .nav-log-caret{transform:translateY(1px)rotate(180deg)}.nav-log-dropdown{z-index:40;padding-top:10px;position:absolute;top:100%;right:0}.nav-log-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);width:max-content;box-shadow:var(--shadow-action);animation:nav-log-in .16s var(--ease-spring) backwards;gap:1px;padding:6px 4px;display:grid;position:relative}.nav-log-option{width:fit-content;color:var(--color-text-secondary);white-space:nowrap;transition:color var(--motion-base) var(--ease-standard);padding:6px 10px;font-size:14px;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.nav-log-option:after{content:"";background:var(--color-accent);border-radius:var(--radius-pill);opacity:0;transform-origin:0;height:1.5px;transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);position:absolute;bottom:2px;left:10px;right:10px;transform:scaleX(.2)}.nav-log-option:hover,.nav-log-option:focus-visible{color:var(--color-text-primary)}.nav-log-option:hover:after,.nav-log-option:focus-visible:after{opacity:.45;transform:scaleX(1)}.nav-log-option.is-active{color:var(--color-accent);font-weight:600}.nav-log-option.is-active:after{opacity:1;transform:scaleX(1)}@keyframes nav-log-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}main{flex:1;min-height:0}.route-transition{animation:route-reveal var(--motion-slow) var(--ease-spring) both}@keyframes route-reveal{0%{opacity:0;filter:blur(8px);transform:translateY(14px)}to{opacity:1;filter:blur();transform:translateY(0)}}.page{gap:var(--space-20);width:min(100%, var(--container));padding:var(--space-20) var(--space-6);margin:0 auto;display:grid}.page-home{gap:var(--space-12);padding-top:var(--space-12)}.page-readable{width:min(100%, var(--container))}.page-detail{gap:var(--space-10);width:min(100%, var(--container));padding-top:var(--space-10)}.page-detail .back-link{margin-bottom:calc(var(--space-3) - var(--space-10))}.detail-reveal{opacity:0;filter:blur(5px);transition:opacity .62s var(--ease-standard), filter .62s var(--ease-standard), transform .76s var(--ease-spring);transition-delay:var(--reveal-delay,0s);will-change:opacity, filter, transform;transform:translateY(18px)}.detail-reveal-media{opacity:.34;filter:blur(6px)saturate(.84);transform:translateY(24px)scale(.99)}.detail-reveal.is-visible{opacity:1;filter:blur();will-change:auto;transform:translateY(0)}.page-work{gap:var(--space-8);padding-top:var(--space-12)}.home-intro{max-width:740px;min-height:min(390px,100dvh - 300px);padding:var(--space-10) 0 var(--space-6);align-items:center;display:grid}.meta-grid div{gap:var(--space-2);display:grid}.home-narrative{gap:var(--space-4);max-width:760px;display:grid}.mono-label{color:var(--color-text-secondary);font-size:var(--text-mono);margin:0;font-weight:500;line-height:1}.home-narrative h1,.page-intro h1{color:var(--color-text-primary);font-size:var(--text-display);margin:0;font-weight:700;line-height:1.08}.korean-subline{max-width:620px;color:var(--color-text-primary);white-space:pre-line;margin:0;font-size:clamp(20px,2.2vw,26px);font-weight:600;line-height:1.45}.page-intro p{max-width:var(--reading-width);color:var(--color-text-secondary);font-size:var(--text-body-lg);overflow-wrap:break-word;word-break:keep-all;margin:0;line-height:1.68}.home-links{gap:var(--space-5);padding-top:var(--space-4);flex-wrap:wrap;display:flex}.home-overview{gap:var(--space-10);grid-template-columns:minmax(0,1fr);align-items:start;max-width:760px;display:grid}.home-section{gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border-strong);animation:section-reveal .56s var(--ease-spring) both;animation-delay:calc(.12s + (var(--section-index,0) * 90ms));display:grid}.home-section:first-of-type{--section-index:0}.home-section:nth-of-type(2){--section-index:1}.home-section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.home-section-link{width:fit-content;color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--text-mono);transition:color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);line-height:1.3;position:relative}.home-section-link:after{content:"";background:var(--color-accent);opacity:0;transform-origin:0;height:1px;transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)translateY(3px)}.home-section-link:hover,.home-section-link:focus-visible{color:var(--color-accent);transform:translate(3px)}.home-section-link:hover:after,.home-section-link:focus-visible:after{opacity:1;transform:scaleX(1)translateY(0)}.home-work-list,.home-log-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.home-work-link{isolation:isolate;gap:var(--space-1);padding:var(--space-3) 0;color:var(--color-text-primary);border-bottom:1px solid color-mix(in srgb, var(--color-border) 62%, transparent);transition:color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);display:grid;position:relative}.home-log-link{isolation:isolate;align-items:baseline;gap:var(--space-3);padding:var(--space-3) 0;color:var(--color-text-primary);border-bottom:1px solid color-mix(in srgb, var(--color-border) 62%, transparent);transition:color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);grid-template-columns:36px minmax(0,1fr);display:grid;position:relative}.home-work-link:before,.home-log-link:before{content:"";inset:2px calc(var(--space-2) * -1);z-index:-1;background:linear-gradient(90deg, var(--color-accent-soft), transparent 74%);border-left:2px solid var(--color-accent);opacity:0;transform-origin:0;transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);position:absolute;transform:scaleX(.92)translate(-8px)}.home-work-list li:first-child .home-work-link,.home-log-list li:first-child .home-log-link{margin-top:-4px;padding-top:0}.home-work-link:hover .home-list-title,.home-work-link:focus-visible .home-list-title,.home-log-link:hover .home-list-title,.home-log-link:focus-visible .home-list-title{color:var(--color-accent)}.home-work-link:hover,.home-work-link:focus-visible,.home-log-link:hover,.home-log-link:focus-visible{transform:translate(6px)}.home-work-link:hover:before,.home-work-link:focus-visible:before,.home-log-link:hover:before,.home-log-link:focus-visible:before{opacity:1;transform:scaleX(1)translate(0)}.home-list-number,.home-list-meta{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--text-mono);line-height:1}.home-list-title{color:var(--color-text-primary);font-size:var(--text-body);font-weight:600;line-height:1.45;display:inline}.home-list-meta{margin-top:var(--space-1);text-align:left;text-overflow:clip;white-space:normal;max-width:100%;display:block;overflow:visible}.home-index{gap:var(--space-4);margin:0;padding:0;display:grid}.home-index div{gap:var(--space-2);display:grid}.home-index dt{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--text-mono);text-transform:uppercase;line-height:1}.home-index dd{color:var(--color-text-secondary);font-size:var(--text-small);margin:0;line-height:1.45}.case-study-section h2{color:var(--color-text-primary);font-size:var(--text-headline);margin:0;font-weight:600;line-height:1.35}.log-list{border-top:1px solid var(--color-border)}.log-list-item h2{color:var(--color-text-primary);font-size:var(--text-body-lg);margin:0;font-weight:600;line-height:1.35}.log-list-item p,.case-study-section p,.case-study-section li{color:var(--color-text-secondary);font-size:var(--text-body);margin:0;line-height:1.62}.meta-grid{gap:var(--space-5);padding:var(--space-4) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.meta-grid div{background:0 0;border:0;border-radius:0;min-height:0;padding:0}.meta-grid dt{color:var(--color-text-tertiary);font-size:var(--text-mono);text-transform:uppercase;line-height:1}.meta-grid dd{color:var(--color-text-secondary);font-size:var(--text-small);overflow-wrap:break-word;word-break:keep-all;margin:0;line-height:1.55}.log-list-item time{color:var(--color-text-tertiary);font-size:var(--text-mono)}.log-list-item:hover{background:var(--color-accent-soft)}.page-intro{gap:var(--space-4);width:100%;max-width:none;display:grid}.page-intro-heading{align-items:start;gap:var(--space-5);grid-template-columns:minmax(0,1fr) auto;display:grid}.page-intro-heading h1{overflow-wrap:break-word;min-width:0}.page-intro-actions{padding-top:var(--space-2);justify-self:end}.detail-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.detail-action-link{justify-content:center;align-items:center;gap:var(--space-2);min-height:38px;padding:0 var(--space-3);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-mono);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-base);box-shadow:var(--shadow-action);transition:background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);font-weight:600;line-height:1;display:inline-flex}.detail-action-link svg{width:15px;height:15px}.detail-action-link:hover,.detail-action-link:focus-visible{color:var(--color-accent);background:var(--color-accent-soft);border-color:var(--color-accent);transform:translateY(-2px)}.detail-action-link.is-disabled{color:var(--color-text-tertiary);background:var(--color-surface-muted);border-color:var(--color-border);box-shadow:none;cursor:not-allowed;opacity:.68}.detail-action-link.is-disabled:hover,.detail-action-link.is-disabled:focus-visible{color:var(--color-text-tertiary);background:var(--color-surface-muted);border-color:var(--color-border);transform:none}.case-study-section strong,.page-intro strong{color:var(--color-text-primary);font-weight:750}.case-study-section code,.page-intro code{color:var(--color-text-primary);font-family:var(--font-mono);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:6px;padding:.08em .35em;font-size:.92em}.text-link,.back-link{align-items:center;gap:var(--space-2);color:var(--color-text-primary);font-size:var(--text-mono);transition:color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);font-weight:500;display:inline-flex;position:relative}.text-link:after,.back-link:after{content:"";background:var(--color-accent);opacity:0;transform-origin:0;height:1px;transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)translateY(4px)}.text-link svg{transition:transform var(--motion-base) var(--ease-standard)}.text-link:hover,.text-link:focus-visible,.back-link:hover,.back-link:focus-visible{color:var(--color-accent);transform:translateY(-1px)}.text-link:hover:after,.text-link:focus-visible:after,.back-link:hover:after,.back-link:focus-visible:after{opacity:1;transform:scaleX(1)translateY(0)}.text-link:hover svg,.text-link:focus-visible svg{transform:translateX(var(--space-1))}@keyframes section-reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.work-map-layout{gap:clamp(var(--space-8), 5vw, var(--space-16));grid-template-columns:minmax(0,1fr) minmax(280px,340px);min-height:0;display:grid}.work-map{height:clamp(420px,62dvh,640px);min-height:0;padding:var(--space-8) var(--space-12);animation:work-field-in .62s var(--ease-spring) both;position:relative}.work-map-plane{width:100%;height:100%;position:relative}.work-map-label{color:var(--color-text-secondary);font-family:var(--font-mono);letter-spacing:.08em;animation:map-label-in .54s var(--ease-spring) both;font-size:12px;line-height:1;animation-delay:.16s;position:absolute}.work-map-label-top{top:0;left:50%;transform:translate(-50%)}.work-map-label-bottom{bottom:0;left:50%;transform:translate(-50%)}.work-map-label-left{top:50%;right:calc(100% - var(--space-12) + var(--space-2));transform:translateY(-50%)}.work-map-label-right{top:50%;left:calc(100% - var(--space-12) + var(--space-2));transform:translateY(-50%)}.work-map-axis{background:color-mix(in srgb, var(--color-border-strong) 62%, transparent);transform-origin:50%;position:absolute}.work-map-axis-x{height:1px;animation:map-axis-x-in .68s var(--ease-spring) both;top:50%;left:0;right:0}.work-map-axis-y{width:1px;animation:map-axis-y-in .68s var(--ease-spring) both;animation-delay:80ms;top:0;bottom:0;left:50%}.work-map-guide{background:var(--color-accent-faint);pointer-events:none;opacity:.72;transform-origin:50%;transition:top .42s var(--ease-spring), left .42s var(--ease-spring), opacity var(--motion-base) var(--ease-standard);position:absolute}.work-map-guide-x{top:calc(var(--active-y,.5) * 100%);height:1px;animation:map-guide-x-in .72s var(--ease-spring) both;animation-delay:.18s;left:0;right:0}.work-map-guide-y{top:0;bottom:0;left:calc(var(--active-x,.5) * 100%);width:1px;animation:map-guide-y-in .72s var(--ease-spring) both;animation-delay:.24s}.work-map-node{top:calc(var(--map-y) * 100%);left:calc(var(--map-x) * 100%);z-index:1;width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;animation:work-node-in .42s var(--ease-standard) backwards;animation-delay:calc(.36s + (var(--node-index,0) * 46ms));transition:color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);background:0 0;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.work-map-node:focus-visible{outline-offset:-6px}.work-map-dot{opacity:.75;width:8px;height:8px;transition:width var(--motion-fast) var(--ease-standard), height var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);background:currentColor;border-radius:50%;position:relative}.work-map-dot:after{content:"";opacity:0;transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);border:1px solid;border-radius:50%;position:absolute;inset:-8px;transform:scale(.82)}.work-map-tag{opacity:.88;width:max-content;max-width:142px;transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);gap:3px;display:grid;position:absolute;top:50%;left:calc(50% + 12px);transform:translateY(-50%)translate(-4px)}.work-map-tag-name{font-family:var(--font-mono);letter-spacing:.005em;white-space:normal;word-break:keep-all;font-size:13px;line-height:1.32}.work-map-tag-category{color:var(--color-text-tertiary);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:11px;line-height:1.3}.work-map-node.is-flipped .work-map-tag{text-align:right;justify-items:end;left:auto;right:calc(50% + 12px)}.work-map-node.is-active .work-map-tag{left:calc(50% + 18px)}.work-map-node.is-active.is-flipped .work-map-tag{left:auto;right:calc(50% + 18px)}.work-map-node:hover{z-index:3;color:var(--color-text-primary);transform:translate(-50%,-50%)scale(1.04)}.work-map-node.is-active{z-index:4;color:var(--color-accent)}.work-map-node.is-active .work-map-dot{opacity:1;width:13px;height:13px;box-shadow:0 0 0 3px var(--color-background), 0 0 0 4px currentColor}.work-map-node:hover .work-map-tag,.work-map-node.is-active .work-map-tag{opacity:1;transform:translateY(-50%)translate(0)}.work-map-node.is-active .work-map-tag-name{font-weight:600}.work-map-node:hover .work-map-dot:after,.work-map-node:focus-visible .work-map-dot:after,.work-map-node.is-active .work-map-dot:after{opacity:.16;transform:scale(1)}.work-index-list{margin:0;padding:0;list-style:none;display:none}.work-index-link{isolation:isolate;align-items:baseline;gap:var(--space-4);width:100%;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);text-align:left;cursor:pointer;transition:color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);background:0 0;grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.work-index-link:before{content:"";inset:2px calc(var(--space-2) * -1);z-index:-1;background:linear-gradient(90deg, var(--color-accent-soft), transparent 72%);border-left:2px solid var(--color-accent);opacity:0;transform-origin:0;transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);position:absolute;transform:scaleX(.92)translate(-8px)}.work-index-list li:first-child .work-index-link{border-top:1px solid var(--color-border)}.work-index-year{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:11px}.work-index-title{color:var(--color-text-primary);font-size:var(--text-body-lg);font-weight:600;line-height:1.3}.work-index-link:hover .work-index-title,.work-index-link:focus-visible .work-index-title,.work-index-link.is-active .work-index-title{color:var(--color-accent)}.work-index-link:hover,.work-index-link:focus-visible,.work-index-link.is-active{transform:translate(6px)}.work-index-link:hover:before,.work-index-link:focus-visible:before,.work-index-link.is-active:before{opacity:1;transform:scaleX(1)translate(0)}.work-preview{min-width:0;padding-left:clamp(var(--space-6), 3vw, var(--space-10));border-left:1px solid var(--color-border);align-content:center;display:grid}.work-preview-body{gap:var(--space-5);animation:work-preview-in .44s var(--ease-spring) both;display:grid}@keyframes work-preview-in{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(14px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}.work-preview-body>*{animation:work-preview-part-in .48s var(--ease-spring) both}.work-preview-body>:first-child{animation-delay:40ms}.work-preview-body>:nth-child(2){animation-delay:.1s}.work-preview-body>:nth-child(3){animation-delay:.16s}.work-preview-body>:nth-child(4){animation-delay:.22s}@keyframes work-field-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes map-axis-x-in{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes map-axis-y-in{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes map-guide-x-in{0%{opacity:0;transform:scaleX(0)}to{opacity:.72;transform:scaleX(1)}}@keyframes map-guide-y-in{0%{opacity:0;transform:scaleY(0)}to{opacity:.72;transform:scaleY(1)}}@keyframes map-label-in{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur()}}@keyframes work-node-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.82)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes work-preview-part-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.work-preview h2{color:var(--color-text-primary);margin:0;font-size:clamp(26px,2.6vw,36px);font-weight:650;line-height:1.14}.work-preview-kicker{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-mono);margin:0}.work-preview-description{color:var(--color-text-secondary);font-size:var(--text-body);word-break:keep-all;overflow-wrap:break-word;margin:0;line-height:1.68}.work-preview-meta{gap:var(--space-4);margin:var(--space-1) 0 0;padding-top:var(--space-5);border-top:1px solid var(--color-border);display:grid}.work-preview-meta div{gap:var(--space-4);grid-template-columns:44px minmax(0,1fr);display:grid}.work-preview-meta dt{color:var(--color-text-tertiary);font-family:var(--font-mono);text-transform:uppercase;font-size:11px}.work-preview-meta dd{color:var(--color-text-secondary);font-size:var(--text-small);word-break:keep-all;overflow-wrap:break-word;margin:0;line-height:1.58}.work-preview-link{margin-top:var(--space-2);justify-self:start}.back-link{color:var(--color-text-secondary);font-family:var(--font-mono);justify-self:start}.case-study-body{gap:var(--space-12);border-top:1px solid var(--color-border);display:grid}.case-hero-media{padding:var(--media-frame-inset);background:color-mix(in srgb, var(--color-surface) 86%, transparent);border:1px solid var(--color-border);border-radius:calc(var(--radius-media-inner) + var(--media-frame-inset));margin:0;display:grid}.case-hero-media img{border-radius:var(--radius-media-inner);width:100%;height:auto;display:block}.case-gallery figure{margin:0}.case-gallery{gap:var(--space-4);grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.16fr);align-items:start;display:grid}.case-gallery figure{gap:var(--space-3);align-content:start;display:grid}.case-gallery-media{width:100%;padding:var(--media-frame-inset);background:color-mix(in srgb, var(--color-surface) 86%, transparent);border:1px solid var(--color-border);border-radius:calc(var(--radius-media-inner) + var(--media-frame-inset));place-items:center;display:grid}.case-gallery img{object-fit:contain;object-position:top center;border-radius:var(--radius-media-inner);filter:saturate(.9)contrast(1.01);width:100%;height:auto;display:block}.case-gallery figcaption{color:var(--color-text-secondary);font-size:var(--text-small);padding:0 var(--space-1);overflow-wrap:break-word;word-break:keep-all;line-height:1.55}.page-experiment-detail,.page-apartier-detail{width:min(100%, var(--container))}.page-detail .case-study-body,.page-experiment-detail .case-study-body,.page-portfolio-rebrand .case-study-body,.page-apartier-detail .case-study-body{width:100%}.case-study-section>p,.case-study-section>ul,.page-portfolio-rebrand .case-study-section>p,.page-portfolio-rebrand .case-study-section>ul{max-width:var(--reading-width)}.page-apartier-detail .case-gallery{gap:var(--space-6);grid-template-columns:1fr}.page-apartier-detail .case-gallery-media{padding:var(--space-2);border-radius:16px}.page-apartier-detail .case-gallery img{border-radius:10px}.experiment-lab{gap:var(--space-5);padding:var(--space-5);background:color-mix(in srgb, var(--color-surface) 78%, var(--color-background));border:1px solid var(--color-border);border-radius:8px;display:grid}.experiment-lab-header{justify-content:space-between;align-items:end;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border);display:flex}.experiment-lab-header h2{margin:var(--space-2) 0 0;color:var(--color-text-primary);font-size:clamp(26px,3vw,40px);font-weight:650;line-height:1.08}.experiment-actions,.experiment-viewport-tabs,.experiment-command-actions{align-items:center;gap:var(--space-2);display:flex}.experiment-icon-button{width:38px;height:38px;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;transition:color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);border-radius:8px;place-items:center;display:inline-grid}.experiment-icon-button:hover,.experiment-icon-button:focus-visible,.experiment-icon-button.is-active{color:var(--color-text-primary);background:var(--color-accent-soft);border-color:var(--color-border-strong)}.experiment-stage{gap:var(--space-5);grid-template-columns:minmax(190px,240px) minmax(0,1fr);min-height:0;display:grid}.experiment-list{align-content:start;gap:var(--space-2);display:grid}.experiment-list-item{gap:var(--space-3);width:100%;padding:var(--space-3);color:var(--color-text-secondary);text-align:left;cursor:pointer;transition:color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:auto minmax(0,1fr);display:grid}.experiment-list-item:hover,.experiment-list-item:focus-visible,.experiment-list-item.is-active{color:var(--color-text-primary);background:var(--color-surface);border-color:var(--color-border)}.experiment-list-number{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:11px;line-height:1.45}.experiment-list-item strong,.experiment-list-item small{display:block}.experiment-list-item strong{color:inherit;font-size:var(--text-small);font-weight:650;line-height:1.35}.experiment-list-item small{margin-top:var(--space-1);color:var(--color-text-tertiary);font-size:12px;line-height:1.4}.experiment-browser{min-width:0;padding:var(--space-3);background:linear-gradient(var(--color-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--color-grid-line) 1px, transparent 1px), var(--color-surface-muted);border:1px solid var(--color-border);background-size:24px 24px;border-radius:8px;justify-items:center;display:grid;overflow-x:auto}.experiment-browser-chrome,.experiment-browser-viewport,.experiment-status{width:min(100%, var(--experiment-width));min-width:min(100%, var(--experiment-width));transition:width var(--motion-base) var(--ease-standard), min-width var(--motion-base) var(--ease-standard)}.experiment-browser-chrome{align-items:center;gap:var(--space-3);height:44px;padding:0 var(--space-3);color:var(--color-text-tertiary);background:linear-gradient(#1e1e1e,#161616);border:1px solid #2c2c2c;border-bottom-color:#090909;border-radius:12px 12px 0 0;display:flex;box-shadow:inset 0 1px #ffffff0f}.experiment-chrome-dots{flex:none;gap:7px;display:flex}.experiment-chrome-dot{border-radius:50%;width:11px;height:11px;box-shadow:inset 0 0 0 .5px #00000040}.experiment-chrome-dot.is-close{background:#ff5f57}.experiment-chrome-dot.is-min{background:#febc2e}.experiment-chrome-dot.is-max{background:#28c840}.experiment-chrome-address{min-width:0;height:26px;padding:0 var(--space-3);color:#b5b5b5;border-radius:var(--radius-pill);font-family:var(--font-mono);background:#0e0e0e;border:1px solid #262626;flex:1;justify-content:center;align-items:center;gap:6px;margin:0;font-size:11px;line-height:1;display:flex}.experiment-chrome-address svg{color:#6f6f6f;width:10px;height:10px}.experiment-chrome-address span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.experiment-chrome-tag{color:#8a8a8a;border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid #2c2c2c;flex:none;padding:4px 10px;font-size:10px;line-height:1}.experiment-browser-viewport{height:min(70dvh, var(--experiment-height));min-height:460px;box-shadow:var(--shadow-browser);background:#000;border:1px solid #2c2c2c;border-top:0;border-radius:0 0 12px 12px;overflow:hidden}.experiment-browser-viewport iframe{background:#000;border:0;width:100%;height:100%;display:block}.experiment-status{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-3);color:var(--color-text-tertiary);font-family:var(--font-mono);text-transform:uppercase;flex-wrap:wrap;font-size:11px;line-height:1;display:flex}.experiment-status-live{color:var(--color-accent);align-items:center;gap:6px;display:inline-flex}.experiment-status-dot{background:var(--color-accent);border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite experiment-live-pulse}@keyframes experiment-live-pulse{0%,to{opacity:1;box-shadow:0 0 0 0 var(--color-accent-faint)}50%{opacity:.55;box-shadow:0 0 0 4px #0000}}.case-study-section{gap:var(--space-4);padding-top:var(--space-8);border-top:1px solid var(--color-border);display:grid}.case-study-section:first-child{border-top:0}.case-study-section ul{gap:var(--space-3);padding-left:var(--space-5);margin:0;display:grid}.detail-links{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.case-asset{gap:var(--space-3);margin:0;display:grid}.case-asset figcaption{padding:0 var(--space-1);color:var(--color-text-secondary);font-size:var(--text-small);overflow-wrap:break-word;word-break:keep-all;line-height:1.55}.case-asset-media{padding:var(--media-frame-inset);background:color-mix(in srgb, var(--color-surface) 86%, transparent);border:1px solid var(--color-border);border-radius:calc(var(--radius-media-inner) + var(--media-frame-inset));display:grid}.case-asset-media>img{border-radius:var(--radius-media-inner);width:100%;height:auto;display:block}.case-asset-media.is-phone{padding:var(--space-6) var(--media-frame-inset);place-items:center}.browser-frame{background:var(--color-surface);box-shadow:var(--shadow-browser);border:1px solid #0000001f;border-radius:12px;overflow:hidden}.browser-frame-bar{align-items:center;gap:var(--space-3);background:#17181a;grid-template-columns:1fr auto 1fr;height:32px;padding:0 12px;display:grid}.browser-frame-dots{gap:6px;display:inline-flex}.browser-frame-dots i{border-radius:var(--radius-pill);width:9px;height:9px}.browser-frame-dots i:first-child{background:#f26559}.browser-frame-dots i:nth-child(2){background:#f5bd4f}.browser-frame-dots i:nth-child(3){background:#5ec269}.browser-frame-url{color:#b5b5b0;max-width:100%;font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;border-radius:var(--radius-pill);background:#0c0d0c;justify-self:center;padding:3px 16px;font-size:11px;overflow:hidden}.browser-frame-screen{background:var(--color-surface);display:block}.browser-frame-screen img,.browser-frame-screen video,.browser-frame-screen .case-asset-live{width:100%;height:auto;display:block}.phone-frame{width:310px;box-shadow:var(--shadow-browser);background:#101110;border:1px solid #2e312d;border-radius:54px;flex-shrink:0;padding:11px}.phone-frame-screen{aspect-ratio:9/19.5;color:var(--color-text-primary);background:var(--color-background);border-radius:44px;flex-direction:column;display:flex;position:relative;overflow:hidden}.phone-frame-screen:has(video){color:#111;background:#f4f4f2}.phone-frame-statusbar{z-index:3;flex-shrink:0;justify-content:space-between;align-items:center;height:40px;padding:6px 22px 0;display:flex;position:relative}.phone-frame-time{font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:center;min-width:44px;font-size:12px;font-weight:600}.phone-frame-status-icons{align-items:center;gap:6px;display:inline-flex}.phone-frame-status-icons .sb-icon{width:auto}.sb-cellular,.sb-wifi{height:11px}.sb-battery{height:12px}.phone-frame-island{z-index:3;border-radius:var(--radius-pill);background:#101110;width:84px;height:25px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.phone-frame-viewport{flex:1;min-height:0;position:relative;overflow:hidden}.phone-frame-homebar{z-index:3;border-radius:var(--radius-pill);opacity:.75;background:currentColor;width:94px;height:4px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.phone-frame-viewport img,.phone-frame-viewport video{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.phone-frame-viewport .case-asset-live{transform-origin:0 0;border:0;width:390px;height:844px;min-height:0;transform:scale(.733333)}.case-asset-media.is-stage{gap:var(--space-8);padding:var(--space-12) var(--space-8);background:color-mix(in srgb, var(--color-surface-muted) 72%, transparent);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.case-asset-media.is-stage .phone-frame:nth-child(2n){margin-top:var(--space-10)}.case-asset-video{line-height:0;display:block;position:relative}.case-asset-video video{width:100%;height:100%;display:block}.case-asset-tap{border-radius:var(--radius-pill);width:34px;height:34px;animation:case-asset-tap 2.1s var(--ease-standard) infinite;pointer-events:none;background:#fff9;position:absolute;bottom:14%;left:50%;transform:translate(-50%,-50%)}@keyframes case-asset-tap{0%,70%,to{opacity:0;transform:translate(-50%,-50%)scale(.4)}12%{opacity:.5;transform:translate(-50%,-50%)scale(1.1)}32%{opacity:0;transform:translate(-50%,-50%)scale(1.3)}}.case-asset-live{border:0;width:100%;min-height:420px;display:block}.compare-slider{border-radius:var(--radius-media-inner);cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;line-height:0;position:relative;overflow:hidden}.compare-slider img{pointer-events:none;width:100%;height:auto;display:block}.compare-slider-base{width:100%}.compare-slider-clip{height:100%;position:absolute;top:0;left:0;overflow:hidden}.compare-slider-clip img{width:auto;max-width:none;height:100%}.compare-slider-tag{top:var(--space-3);z-index:2;padding:3px var(--space-3);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-mono);background:var(--color-header-fade-start);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--radius-pill);position:absolute}.compare-slider-tag--before{left:var(--space-3)}.compare-slider-tag--after{right:var(--space-3)}.compare-slider-handle{z-index:3;cursor:ew-resize;justify-content:center;align-items:center;width:40px;height:100%;display:flex;position:absolute;top:0;transform:translate(-50%)}.compare-slider-handle:before{content:"";background:#ffffffe6;width:2px;height:100%;position:absolute}.compare-slider-grip{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);width:34px;height:34px;box-shadow:var(--shadow-action);position:relative}.compare-slider-grip:before,.compare-slider-grip:after{content:"";border-block:5px solid #0000;width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.compare-slider-grip:before{border-right:6px solid var(--color-text-tertiary);left:8px}.compare-slider-grip:after{border-left:6px solid var(--color-text-tertiary);right:8px}@media (width<=768px){.case-asset-media.is-stage{gap:var(--space-6);padding:var(--space-8) var(--space-4)}.case-asset-media.is-stage .phone-frame:nth-child(2n){margin-top:0}}@media (width<=480px){.phone-frame{border-radius:46px;width:262px;padding:9px}.phone-frame-screen{border-radius:38px}.phone-frame-statusbar{height:34px;padding:3px 21px 0}.phone-frame-time{min-width:36px;font-size:10px}.phone-frame-status-icons{gap:4px}.sb-cellular,.sb-wifi{height:9px}.sb-battery{height:10px}.phone-frame-island{width:72px;height:21px;top:10px}.phone-frame-homebar{width:78px;height:3px;bottom:7px}.phone-frame-viewport .case-asset-live{transform:scale(.620513)}}.log-list-item{gap:var(--space-5);padding:var(--space-6) 0;border-bottom:1px solid var(--color-border);transition:background-color var(--motion-base) var(--ease-standard);grid-template-columns:132px minmax(0,1fr) minmax(200px,280px);display:grid}.page-log{gap:var(--space-2);grid-template-rows:minmax(0,1fr);width:100%;max-width:none;height:calc(100dvh - 150px);min-height:660px;padding:clamp(4px,.8dvh,12px) clamp(18px,2.8vw,56px) clamp(22px,3dvh,42px);overflow:hidden}.page-log .log-list{width:min(100%, calc(var(--container) - (var(--space-6) * 2)));max-width:calc(var(--container) - (var(--space-6) * 2));border-top:0;height:100%;min-height:560px;margin:0 auto;padding:0;display:block;position:relative;overflow:hidden}.log-entry-post .log-scrap-link{border-style:dashed}.log-empty{min-height:220px;color:var(--color-text-tertiary);font-family:var(--font-mono);text-align:center;place-items:center;margin:0;font-size:13px;line-height:1.4;display:grid}.page-log .log-list>.log-empty{position:absolute;inset:0}.log-feed>.log-empty{grid-row:1/-1}.page-log .log-list-item{z-index:var(--z,1);width:auto;min-height:0;box-shadow:none;animation:log-scrap-in .56s var(--ease-spring) backwards;animation-delay:var(--scrap-delay,0s);background:0 0;border:0;padding:0;transition:z-index linear;display:block;position:absolute;transform:none}.page-log .log-list-item:hover,.page-log .log-list-item:focus-within{z-index:100;box-shadow:none;background:0 0;transform:none}.log-scrap-link{color:var(--color-text-primary);background:var(--color-surface);border-radius:var(--radius-base);transform:rotate(var(--rot,0deg));transition:border-color var(--motion-base) var(--ease-standard), transform .26s var(--ease-spring), box-shadow .26s var(--ease-spring), filter .26s var(--ease-standard);display:block;position:relative;overflow:hidden}.page-log .log-list-item:hover .log-scrap-link,.page-log .log-list-item:focus-within .log-scrap-link{border-color:color-mix(in srgb, var(--color-accent) 58%, var(--color-border-strong));box-shadow:var(--shadow-log-hover);filter:none;transform:translateY(-6px) scale(1.012) rotate(var(--rot,0deg))}.log-scrap-link img{object-fit:cover;filter:grayscale(.96)contrast(1.04);width:100%;height:100%;display:block}.page-log .log-list-item:hover img,.page-log .log-list-item:focus-within img{filter:grayscale(.35)contrast(1.03)}.log-scrap-image .log-scrap-link{width:var(--scrap-w,154px);aspect-ratio:var(--scrap-ratio,4 / 5);border:1px solid var(--color-border-strong);background:var(--color-surface);box-shadow:var(--shadow-log-card);border-radius:var(--radius-media);overflow:hidden}.log-scrap-title .log-scrap-link,.log-scrap-strip .log-scrap-link{width:var(--scrap-w,auto);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-base);box-shadow:var(--shadow-log-card-small)}.log-scrap-strip .log-scrap-link{background:var(--color-surface);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-log-card-tiny)}.log-scrap-title h2,.log-scrap-strip .log-scrap-title{color:var(--color-text-primary);font-size:var(--scrap-title-size,clamp(18px, 1.22vw, 26px));text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--color-accent) 28%, transparent);text-decoration-color:color-mix(in srgb, var(--color-accent) 28%, transparent);text-underline-offset:4px;word-break:keep-all;overflow-wrap:break-word;transition:color var(--motion-base) var(--ease-standard);margin:0;font-weight:650;line-height:1.22;text-decoration-thickness:1px}.log-scrap-strip .log-scrap-title{font-size:var(--scrap-title-size,clamp(15px, 1vw, 21px));line-height:1.28}.log-scrap-excerpt .log-scrap-link,.log-scrap-feature .log-scrap-link{width:var(--scrap-w,300px);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-media);box-shadow:var(--shadow-log-card);padding:clamp(14px,1.2vw,20px)}.log-scrap-excerpt h2,.log-scrap-feature h2{margin:var(--space-2) 0;color:var(--color-text-primary);font-size:var(--scrap-title-size,clamp(22px, 1.48vw, 31px));word-break:keep-all;overflow-wrap:break-word;transition:color var(--motion-base) var(--ease-standard);font-weight:650;line-height:1.2}.page-log .log-list-item:hover h2,.page-log .log-list-item:focus-within h2,.page-log .log-list-item:hover .log-scrap-title,.page-log .log-list-item:focus-within .log-scrap-title{color:var(--color-accent)}.log-scrap-excerpt p,.log-scrap-feature p{color:var(--color-text-secondary);word-break:keep-all;overflow-wrap:break-word;margin:0;font-size:clamp(14px,.96vw,19px);line-height:1.58}.log-scrap-feature img{height:clamp(120px,16dvh,205px);margin:calc(clamp(14px, 1.2vw, 20px) * -1) calc(clamp(14px, 1.2vw, 20px) * -1) var(--space-3);width:calc(100% + clamp(28px,2.4vw,40px))}.log-scrap-body .log-scrap-link{width:var(--scrap-w,290px);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-base);box-shadow:var(--shadow-log-card-small);padding:clamp(13px,1.05vw,18px)}.log-scrap-body p{color:var(--color-text-secondary);word-break:keep-all;overflow-wrap:break-word;margin:0;font-size:clamp(13px,.92vw,18px);line-height:1.48}.log-scrap-caption .log-scrap-link{gap:var(--space-3);width:var(--scrap-w,172px);background:0 0;display:grid;overflow:visible}.log-scrap-caption img{aspect-ratio:var(--scrap-ratio,1 / 1);border:1px solid var(--color-border-strong);border-radius:var(--radius-media);box-shadow:var(--shadow-log-card)}.log-scrap-caption .log-scrap-caption{width:fit-content;max-width:100%;color:var(--color-text-primary);font-family:var(--font-mono);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-small);box-shadow:var(--shadow-log-card-tiny);word-break:keep-all;overflow-wrap:break-word;margin:0;padding:4px 9px;font-size:clamp(11px,.74vw,15px);line-height:1.25;display:block;transform:none}.log-scrap-date{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:clamp(11px,.74vw,15px);line-height:1.2}.page-log .log-list-item:first-child{--z:16;--rot:-.8deg;--scrap-w:clamp(290px, 22vw, 380px);--scrap-delay:90ms;top:14%;left:39%}.page-log .log-list-item:nth-child(2){--z:10;--rot:1.4deg;--scrap-w:clamp(250px, 18.5vw, 335px);--scrap-title-size:clamp(19px, 1.32vw, 28px);--scrap-delay:.21s;top:9%;left:6%}.page-log .log-list-item:nth-child(3){--z:9;--rot:-1deg;--scrap-w:clamp(270px, 20vw, 360px);--scrap-title-size:clamp(19px, 1.28vw, 27px);--scrap-delay:.33s;top:35%;left:3%}.page-log .log-list-item:nth-child(4){--z:11;--rot:2deg;--scrap-w:clamp(172px, 12.5vw, 220px);--scrap-ratio:3 / 4;--scrap-delay:.42s;top:43%;left:72%}.page-log .log-list-item:nth-child(5){--z:11;--rot:-2.2deg;--scrap-w:clamp(190px, 14vw, 265px);--scrap-delay:.27s;top:18%;left:26%}.page-log .log-list-item:nth-child(6){--z:13;--rot:.6deg;--scrap-w:clamp(250px, 18.5vw, 335px);--scrap-delay:.51s;top:30%;left:60%}.page-log .log-list-item:nth-child(7){--z:10;--rot:-1.5deg;--scrap-w:clamp(250px, 18.5vw, 360px);--scrap-delay:.65s;top:auto;bottom:14%;left:7%}.page-log .log-list-item:nth-child(8){--z:9;--rot:1.8deg;--scrap-w:clamp(154px, 10.5vw, 195px);--scrap-ratio:4 / 5;--scrap-delay:.57s;top:22%;bottom:auto;left:76%}.page-log .log-list-item:nth-child(9){--z:12;--rot:.6deg;--scrap-w:clamp(310px, 23.5vw, 430px);--scrap-title-size:clamp(20px, 1.36vw, 28px);--scrap-delay:.72s;top:auto;bottom:4%;left:41%}.page-log .log-list-item:nth-child(10){--z:14;--rot:1.7deg;--scrap-w:clamp(185px, 13.5vw, 260px);--scrap-delay:.61s;top:53%;bottom:auto;left:30%}.page-log .log-list-item:nth-child(11){--z:8;--rot:-1.4deg;--scrap-w:clamp(250px, 18.5vw, 325px);--scrap-delay:.78s;top:62%;bottom:auto;left:62%}.page-log .log-list-item:nth-child(12){--z:7;--rot:-1.1deg;--scrap-w:clamp(235px, 17vw, 318px);--scrap-delay:.69s;top:8%;left:58%}.page-log .log-list-item:nth-child(13){--z:8;--rot:-.4deg;--scrap-w:clamp(235px, 17vw, 335px);--scrap-delay:.84s;top:62%;left:3%}.page-log .log-list-item:nth-child(14){--z:7;--rot:1.3deg;--scrap-w:clamp(172px, 12.5vw, 248px);--scrap-delay:.74s;top:40%;left:45%}.page-log .log-list-item:nth-child(15){--z:13;--rot:-1.6deg;--scrap-w:clamp(154px, 11.5vw, 215px);--scrap-delay:.9s;top:auto;bottom:4%;left:14%}.page-log .log-list-item:nth-child(16){--z:5;--rot:-.6deg;--scrap-w:clamp(285px, 21vw, 400px);--scrap-delay:.82s;top:60%;bottom:auto;left:48%}@keyframes log-scrap-in{0%{opacity:0;filter:blur(7px);transform:translateY(22px) scale(.96) rotate(calc(var(--rot,0deg) * -1))}to{opacity:1;filter:blur();transform:translateY(0)scale(1)rotate(0)}}.page-log-post{gap:var(--space-8)}.log-post-header{gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);display:grid}.log-post-kicker{gap:var(--space-3);flex-wrap:wrap;display:flex}.log-post-kicker span{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--text-mono);line-height:1}.log-post-header h1{color:var(--color-text-primary);font-size:var(--text-display);margin:0;font-weight:700;line-height:1.08}.log-post-header p{max-width:680px;color:var(--color-text-secondary);font-size:var(--text-body-lg);word-break:keep-all;overflow-wrap:break-word;margin:0;line-height:1.68}.log-post-tags{gap:var(--space-2);padding:var(--space-1) 0 0;flex-wrap:wrap;margin:0;list-style:none;display:flex}.log-post-tags li{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:11px;line-height:1}.log-post-tags li:before{content:"#";color:var(--color-accent)}.log-post-media{gap:var(--space-2);padding:var(--media-frame-inset);background:color-mix(in srgb, var(--color-surface) 86%, transparent);border:1px solid var(--color-border);border-radius:calc(var(--radius-media-inner) + var(--media-frame-inset));margin:0;display:grid}.log-post-media img{object-fit:contain;border-radius:var(--radius-media-inner);filter:grayscale(.82);width:100%;height:auto;max-height:720px;display:block}.log-post-media figcaption{padding:0 var(--space-1);color:var(--color-text-secondary);font-size:var(--text-small);word-break:keep-all;overflow-wrap:break-word;line-height:1.55}.contact-link{isolation:isolate;justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--space-10);padding:var(--space-2) var(--space-4);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-mono);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);display:inline-flex;position:relative}.contact-link:hover,.contact-link:focus-visible{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px)}.site-footer-inner{align-items:center;gap:var(--space-4);width:min(100%, var(--container));padding:var(--space-8) var(--space-6) var(--space-6);color:var(--color-text-secondary);font-size:var(--text-mono);grid-template-columns:minmax(0,1fr) auto;margin:0 auto;display:grid}.site-footer p{white-space:nowrap;margin:0}.site-footer nav{justify-content:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.footer-link{color:var(--color-text-secondary);transition:color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);display:inline-flex;position:relative}.footer-link:after{content:"";background:var(--color-accent);opacity:0;transform-origin:0;height:1px;transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(0)translateY(3px)}.footer-link:hover,.footer-link:focus-visible{color:var(--color-accent);transform:translateY(-1px)}.footer-link:hover:after,.footer-link:focus-visible:after{opacity:1;transform:scaleX(1)translateY(0)}:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:var(--space-1)}@media (width<=1080px){.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=761px) and (height>=720px){.site-shell-home{min-height:100dvh}.site-shell-home main,.site-shell-home .route-transition{min-height:0;display:grid}.site-shell-home .page-home{align-content:center;gap:clamp(var(--space-6), 4dvh, var(--space-10));min-height:calc(100dvh - 128px);padding-block:clamp(var(--space-6), 4dvh, var(--space-12)) clamp(var(--space-3), 2dvh, var(--space-6))}.site-shell-home .home-intro{min-height:0;padding:0}.site-shell-home .home-overview{align-self:start;max-width:620px}.site-shell-home .site-footer-inner{padding-block:clamp(var(--space-4), 2dvh, var(--space-6))}}@media (width>=769px) and (height>=720px){.site-shell-work{height:100dvh;overflow-y:clip}.site-shell-work main,.site-shell-work .route-transition{min-height:0;display:grid}.site-shell-work .page-work{height:100%;min-height:0;padding-block:clamp(var(--space-5), 3dvh, var(--space-10)) clamp(var(--space-2), 1.5dvh, var(--space-5))}.site-shell-work .work-map-layout{height:100%;min-height:0}.site-shell-work .work-map{height:100%}.site-shell-work .site-footer-inner{padding-block:clamp(var(--space-4), 2dvh, var(--space-6))}.site-shell-log{height:100dvh;overflow-y:clip}.site-shell-log main,.site-shell-log .route-transition{min-height:0;display:grid}.site-shell-log .page-log{height:100%;min-height:0}.site-shell-log .site-footer-inner{padding-block:clamp(var(--space-4), 2dvh, var(--space-6))}}@media (width<=1024px){.site-header-inner{align-items:center;gap:var(--space-4);padding:var(--space-5);grid-template-columns:minmax(0,1fr) auto}.desktop-nav{gap:var(--space-4);display:flex}.experiment-stage{grid-template-columns:1fr}.experiment-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.site-header-inner{align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-2);grid-template-columns:minmax(0,1fr) auto}.desktop-nav{gap:var(--space-3);font-size:14px;display:flex}.page{gap:var(--space-12);padding:var(--space-12) var(--space-5)}.page-home{padding-top:var(--space-8)}.home-intro{min-height:auto;padding:var(--space-3) 0 var(--space-2)}.home-overview{gap:var(--space-8);grid-template-columns:1fr;max-width:100%}.home-index{gap:var(--space-5);max-width:100%}.home-narrative h1,.page-intro h1{font-size:var(--text-display-mobile)}.page-intro-heading{align-items:start;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.page-intro-actions{justify-self:end;padding-top:0}.detail-actions{justify-content:flex-start;align-items:flex-end;gap:var(--space-2);flex-flow:row}.detail-action-link{min-height:34px;padding:0 var(--space-3)}.korean-subline,.case-study-section h2{font-size:var(--text-headline)}.page-intro p{font-size:var(--text-body)}.site-footer-inner{align-items:center;gap:var(--space-3);padding-top:var(--space-6);grid-template-columns:minmax(0,1fr) auto}.site-footer nav{justify-content:flex-end;gap:var(--space-3);flex-wrap:nowrap}.meta-grid,.log-list-item{grid-template-columns:1fr}.log-list-item{gap:var(--space-3);padding:var(--space-5) 0}.case-gallery{grid-template-columns:1fr}.case-gallery-media{height:auto}.case-gallery img{object-fit:contain;height:auto}.experiment-lab{gap:var(--space-4);padding:var(--space-4)}.experiment-lab-header{flex-direction:column;align-items:start}.experiment-actions{justify-content:flex-start;align-items:center;gap:var(--space-3);flex-wrap:nowrap;width:100%}.experiment-viewport-tabs{gap:var(--space-2);flex:none}.experiment-command-actions{gap:var(--space-2);flex:none;margin-left:auto}.experiment-icon-button{flex:none;width:40px;height:40px}.experiment-list{grid-template-columns:1fr}.experiment-browser{padding:var(--space-2)}.experiment-browser-viewport{min-height:min(500px,60dvh)}.experiment-browser-viewport iframe{pointer-events:none}.contact-link{width:100%}.page-log{gap:var(--space-8);height:auto;min-height:0;padding:var(--space-6) var(--space-5) var(--space-12);overflow:visible}.page-log .log-list{gap:var(--space-5);height:auto;min-height:0;margin-top:0;display:grid}.page-log .log-list-item,.page-log .log-list-item:nth-child(2n),.page-log .log-list-item:nth-child(3n),.page-log .log-list-item:nth-child(4n){--rot:0deg;--scrap-w:100%;grid-template-columns:1fr;width:100%;min-height:0;position:relative;top:auto;left:auto;transform:none}.page-log .log-list-item:nth-child(5){width:100%;position:relative;top:auto;left:auto;transform:none}.page-log .log-list-item:hover,.page-log .log-list-item:focus-within{transform:none}.page-log .log-list-item:hover .log-scrap-link,.page-log .log-list-item:focus-within .log-scrap-link,.log-scrap-link{width:100%;transform:none}.log-scrap-title h2,.log-scrap-strip .log-scrap-title,.log-scrap-excerpt h2,.log-scrap-feature h2{font-size:clamp(24px,8vw,36px);line-height:1.18}.log-scrap-excerpt p,.log-scrap-feature p,.log-scrap-body p{font-size:16px;line-height:1.62}.log-scrap-feature img{height:220px}.log-scrap-image .log-scrap-link,.log-scrap-caption .log-scrap-link{aspect-ratio:4/3}}@media (width<=360px){.site-header-inner{gap:var(--space-3);padding-right:var(--space-4);padding-left:var(--space-4)}.desktop-nav{gap:10px;font-size:13px}}@media (width<=768px){.home-narrative{gap:var(--space-3)}.home-narrative h1{letter-spacing:0;font-size:clamp(30px,9vw,40px)}.korean-subline{color:var(--color-text-secondary);font-size:17px;font-weight:500;line-height:1.62}.home-links{gap:var(--space-3);padding-top:var(--space-2)}.home-links .text-link{color:var(--color-text-primary);background:0 0;border:0;border-radius:0;padding:0;font-size:13px}.home-links .text-link svg{width:15px;height:15px}.site-shell-work{min-height:100dvh;overflow:visible}.site-shell-work main,.site-shell-work .route-transition{min-height:0;display:block}.site-shell-work .page-work{min-height:auto;padding:0 var(--space-5) var(--space-8);overflow:visible}.work-mobile-editorial{gap:var(--space-5);display:grid}.work-mobile-header{text-align:left;justify-items:start;padding:44px 0 0;display:grid}.work-mobile-feature{isolation:isolate;gap:var(--space-3);padding:var(--space-5) 0;color:var(--color-text-primary);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);animation:section-reveal .56s var(--ease-spring) backwards;transition:color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);margin-top:26px;animation-delay:.11s;display:grid;position:relative}.work-mobile-feature:before{content:"";inset:0 calc(var(--space-2) * -1);z-index:-1;background:linear-gradient(105deg, var(--color-accent-soft), transparent 72%);border-left:2px solid var(--color-accent);opacity:0;transform-origin:0;transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);position:absolute;transform:scaleX(.94)translate(-8px)}.work-mobile-feature:hover,.work-mobile-feature:focus-visible{transform:translate(4px)}.work-mobile-feature:hover>strong,.work-mobile-feature:focus-visible>strong{color:var(--color-accent)}.work-mobile-feature:hover:before,.work-mobile-feature:focus-visible:before{opacity:1;transform:scaleX(1)translate(0)}.work-mobile-feature-kicker{justify-content:space-between;gap:var(--space-3);color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:12px;line-height:1.3;display:flex}.work-mobile-feature>strong{max-width:12ch;color:var(--color-text-primary);font-size:clamp(27px,7.4vw,36px);font-weight:700;line-height:1.08}.work-mobile-feature-description{color:var(--color-text-secondary);word-break:keep-all;font-size:15px;line-height:1.56}.work-mobile-feature-action{align-items:center;gap:var(--space-2);width:fit-content;color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-mono);line-height:1;display:inline-flex}.work-mobile-feature-action svg{width:15px;height:15px;transition:transform var(--motion-base) var(--ease-spring)}.work-mobile-feature:hover .work-mobile-feature-action,.work-mobile-feature:focus-visible .work-mobile-feature-action{color:var(--color-accent)}.work-mobile-feature:hover .work-mobile-feature-action svg,.work-mobile-feature:focus-visible .work-mobile-feature-action svg{transform:translateX(var(--space-1))}.work-mobile-editorial-list{border-top:1px solid var(--color-border);gap:0;margin:0;padding:0;list-style:none;display:grid}.work-mobile-editorial-link{isolation:isolate;align-items:center;gap:var(--space-4);min-height:78px;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);animation:section-reveal .52s var(--ease-spring) backwards;animation-delay:calc(.18s + (var(--mobile-work-index,0) * 60ms));transition:color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);grid-template-columns:minmax(0,1fr) auto;padding:0;display:grid;position:relative}.work-mobile-editorial-link:before{content:"";inset:0 calc(var(--space-2) * -1);z-index:-1;background:linear-gradient(90deg, var(--color-accent-soft), transparent 70%);border-left:2px solid var(--color-accent);opacity:0;transform-origin:0;transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);position:absolute;transform:scaleX(.94)translate(-8px)}.work-mobile-editorial-list li:first-child{--mobile-work-index:0}.work-mobile-editorial-list li:nth-child(2){--mobile-work-index:1}.work-mobile-editorial-list li:nth-child(3){--mobile-work-index:2}.work-mobile-editorial-list li:nth-child(4){--mobile-work-index:3}.work-mobile-editorial-list li:nth-child(5){--mobile-work-index:4}.work-mobile-editorial-link:hover,.work-mobile-editorial-link:focus-visible{transform:translate(4px)}.work-mobile-editorial-link:hover:before,.work-mobile-editorial-link:focus-visible:before{opacity:1;transform:scaleX(1)translate(0)}.work-mobile-editorial-link:hover .work-mobile-editorial-copy strong,.work-mobile-editorial-link:focus-visible .work-mobile-editorial-copy strong{color:var(--color-accent)}.work-mobile-editorial-copy{gap:var(--space-1);align-content:center;min-width:0;display:grid}.work-mobile-editorial-copy strong{color:var(--color-text-primary);font-size:20px;font-weight:650;line-height:1.2}.work-mobile-editorial-copy span,.work-mobile-editorial-year{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:12px;line-height:1.35}.work-mobile-editorial-year{white-space:nowrap;align-self:center}.site-shell-log{min-height:100dvh;overflow:visible}.site-shell-log main,.site-shell-log .route-transition{min-height:0;display:block}.site-shell-log .page-log-mobile{gap:var(--space-4);height:auto;min-height:auto;padding:0 var(--space-5);grid-template-rows:auto auto auto;overflow:visible}.log-mobile-header{align-items:start;gap:var(--space-2);text-align:left;grid-template-columns:1fr;padding:44px 0 0;display:grid}.log-mobile-header h1,.work-mobile-header h1{color:var(--color-text-primary);margin:0;font-size:clamp(30px,9vw,40px);font-weight:700;line-height:1.08}.log-feed{border-top:1px solid var(--color-border);grid-template-rows:none;grid-auto-rows:minmax(54px,auto);gap:0;width:100%;min-height:0;margin-top:72px;display:grid}.log-card{min-height:0;animation:log-card-in .42s var(--ease-spring) both;animation-delay:calc(var(--mobile-log-index,0) * 36ms);margin:0}.log-feed .log-card:first-child{--mobile-log-index:0}.log-feed .log-card:nth-child(2){--mobile-log-index:1}.log-feed .log-card:nth-child(3){--mobile-log-index:2}.log-feed .log-card:nth-child(4){--mobile-log-index:3}.log-feed .log-card:nth-child(5){--mobile-log-index:4}.log-feed .log-card:nth-child(6){--mobile-log-index:5}.log-feed .log-card:nth-child(7){--mobile-log-index:6}.log-feed .log-card:nth-child(8){--mobile-log-index:7}.log-feed .log-card:nth-child(9){--mobile-log-index:8}.log-feed .log-card:nth-child(10){--mobile-log-index:9}.log-card-link{isolation:isolate;align-items:center;gap:var(--space-3);height:auto;min-height:54px;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);transition:color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);grid-template-columns:34px minmax(0,1fr) auto;padding:0;display:grid;position:relative}.log-card-link:before{content:"";inset:0 calc(var(--space-2) * -1);z-index:-1;background:linear-gradient(90deg, var(--color-accent-soft), transparent 78%);border-left:2px solid var(--color-accent);opacity:0;transform-origin:0;transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);position:absolute;transform:scaleX(.94)translate(-8px)}.log-card-link:hover,.log-card-link:focus-visible{transform:translate(4px)}.log-card-link:hover:before,.log-card-link:focus-visible:before{opacity:1;transform:scaleX(1)translate(0)}.log-card-number{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:12px;line-height:1}.log-card-date{color:var(--color-text-tertiary);font-family:var(--font-mono);white-space:nowrap;flex:none;font-size:12px;line-height:1}.log-card-title{min-width:0;color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;transition:color var(--motion-base) var(--ease-standard);font-size:15px;font-weight:600;line-height:1.25;overflow:hidden}.log-card-link:hover .log-card-title,.log-card-link:focus-visible .log-card-title{color:var(--color-accent)}.log-pager{align-items:center;gap:var(--space-3);color:var(--color-text-tertiary);font-family:var(--font-mono);grid-template-columns:36px minmax(0,1fr) 36px;font-size:12px;display:grid}.log-pager span{justify-self:center}.log-pager button{width:36px;height:36px;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);transition:background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);place-items:center;display:grid}.log-pager button:not(:disabled):hover,.log-pager button:not(:disabled):focus-visible{color:var(--color-accent);background:var(--color-accent-soft);border-color:var(--color-accent);transform:translateY(-2px)}.log-pager button:disabled{color:var(--color-text-tertiary);cursor:not-allowed;opacity:.45}.log-pager svg{width:15px;height:15px}@keyframes log-card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.site-shell-home{min-height:100dvh}.site-shell-home main,.site-shell-home .route-transition{flex-direction:column;flex:1;min-height:0;display:flex}.site-shell-home .page-home{gap:var(--space-6);flex:initial;min-height:auto;display:grid}.site-shell-home .home-index{gap:var(--space-4);margin-top:0}.site-shell-home .home-section{gap:var(--space-3);padding-top:var(--space-4)}.site-shell-home .home-overview{gap:28px;max-width:100%}.site-shell-home .home-intro{max-width:100%;padding-bottom:0}.home-work-link{gap:var(--space-1);min-height:68px;padding:var(--space-3) 0;margin-top:0}.home-log-link{gap:var(--space-3);min-height:68px;padding:var(--space-3) 0;grid-template-columns:28px minmax(0,1fr);margin-top:0}.home-index div{padding-bottom:var(--space-3);border-bottom:1px solid color-mix(in srgb, var(--color-border) 62%, transparent);gap:6px}.home-list-meta{text-align:left;grid-column:2;justify-self:start;max-width:100%}.home-list-title{white-space:normal}.page{gap:var(--space-10);padding:var(--space-8) var(--space-5) var(--space-12)}.page-detail{padding-top:var(--space-10)}.page-detail .back-link{margin-bottom:var(--space-2)}.case-study-body{gap:var(--space-8)}.case-study-section{padding-top:var(--space-6)}.case-study-section h2{font-size:var(--text-body-lg)}.case-study-section ul{gap:var(--space-2);padding-left:var(--space-5)}.case-gallery{gap:var(--space-3);scroll-snap-type:none;grid-template-columns:1fr;grid-auto-columns:auto;grid-auto-flow:row;margin-inline:0;padding-inline:0;display:grid;overflow:visible}.case-gallery::-webkit-scrollbar{display:none}.case-gallery figure{scroll-snap-align:none}.case-gallery-media{height:auto}.case-gallery img{object-fit:contain;height:auto}}@media (width<=768px) and (height<=760px){.site-shell-log,.site-shell-work{height:auto;min-height:100dvh;overflow:visible}.site-shell-log main,.site-shell-log .route-transition,.site-shell-work main,.site-shell-work .route-transition{display:block}.page-log-mobile{grid-template-rows:auto auto auto;height:auto;min-height:100dvh;overflow:visible}.page-log-mobile .log-feed{grid-template-rows:repeat(10,54px)}.page-log-mobile .log-card-link{min-height:54px}.page-log-mobile .log-pager{padding-top:var(--space-4)}.log-mobile-header{gap:var(--space-3);grid-template-columns:1fr}.site-shell-work .page-work{height:auto;min-height:100dvh;padding-bottom:var(--space-5);overflow:visible}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.route-transition{animation:none}.detail-reveal{opacity:1!important;filter:none!important;transition:none!important;transform:none!important}.text-link:hover svg,.text-link:focus-visible svg{transform:none}}.home-index-link{color:var(--color-text-secondary);-webkit-text-decoration-color:color-mix(in srgb, var(--color-accent) 36%, transparent);text-decoration-color:color-mix(in srgb, var(--color-accent) 36%, transparent);text-underline-offset:3px;transition:color var(--motion-base) var(--ease-standard);text-decoration-line:underline;text-decoration-thickness:1px}.home-index-link:hover,.home-index-link:focus-visible{color:var(--color-accent)}.home-work-list li:first-child .home-work-link{padding-top:var(--space-3);margin-top:0}.log-older{width:min(100%, calc(var(--container) - (var(--space-6) * 2)));border-top:1px solid var(--color-border-strong);margin:0 auto}.log-older summary{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-mono);cursor:pointer;transition:color var(--motion-base) var(--ease-standard);line-height:1.3;list-style:none;display:flex}.log-older summary::-webkit-details-marker{display:none}.log-older summary:hover,.log-older summary:focus-visible{color:var(--color-accent)}.log-older-caret{width:14px;height:14px;color:var(--color-text-tertiary);transition:transform var(--motion-base) var(--ease-standard)}.log-older[open] .log-older-caret{transform:rotate(180deg)}.log-older ol{padding:0 0 var(--space-5);margin:0;list-style:none;display:grid}.log-older-link{gap:var(--space-4);padding:var(--space-3) 0;color:var(--color-text-secondary);border-top:1px solid var(--color-border);transition:color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-spring);grid-template-columns:104px minmax(0,1fr);align-items:baseline;display:grid}.log-older-link time{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--text-mono)}.log-older-link:hover,.log-older-link:focus-visible{color:var(--color-accent);transform:translateX(var(--space-1))}.page-not-found{align-content:center;gap:var(--space-6);min-height:min(620px,100dvh - 160px)}.not-found-copy{gap:var(--space-4);max-width:var(--reading-width);display:grid}.not-found-copy h1,.not-found-copy p{margin:0}.not-found-copy h1{font-size:var(--text-display);line-height:1.08}.not-found-copy p{color:var(--color-text-secondary)}.not-found-actions{gap:var(--space-5);flex-wrap:wrap;display:flex}@media (width>=769px){.site-shell-log{height:auto;min-height:100dvh;overflow-y:visible}.site-shell-log main,.site-shell-log .route-transition{display:block}.site-shell-log .page-log{gap:var(--space-5);height:auto;min-height:calc(100dvh - 150px);padding-top:var(--space-3);padding-bottom:var(--space-12);grid-template-rows:minmax(560px,calc(100dvh - 190px)) auto;overflow:visible}.site-shell-log .page-log .log-list{height:100%;overflow:visible}}@media (width<=768px){.not-found-copy h1{font-size:var(--text-display-mobile)}}@media (width<=420px){.log-older-link{gap:var(--space-1);grid-template-columns:1fr}}
