@font-face{font-family:Archivo;src:url(/portfolio/fonts/archivo-wdth.woff2)format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0c0d;--surface:#15171a;--raised:#1f2226;--line:#2b2e33;--text:#f1efe9;--muted:#b4b3ab;--faint:#918f88;--accent:#ff7a45;--header:56px;--strip:46px;--gutter:clamp(16px, 3vw, 48px);--font:Archivo, "Segoe UI", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + var(--strip) + 20px);scrollbar-gutter:stable;-webkit-text-size-adjust:100%}html.lightbox-open,html.text-editor-open{overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.55}main:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{flex:none}.page{animation:.22s ease-out both page-in}@keyframes page-in{0%{opacity:0}}.skip-link{z-index:60;background:var(--text);color:var(--bg);padding:10px 16px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}.display-title,.home-intro h1,.theme-head h1,.index-name,.next-theme strong,.not-found h1{letter-spacing:-.005em;text-transform:uppercase;font-weight:800;font-stretch:62%;line-height:.92}.display-title{font-size:clamp(44px,5.4vw,88px)}.text-link{color:var(--text);border-bottom:1px solid var(--accent);align-items:center;gap:8px;padding-bottom:2px;font-weight:600;transition:color .15s;display:inline-flex}.text-link:hover{color:var(--accent)}.button-link{background:var(--accent);min-height:48px;color:var(--bg);align-items:center;gap:10px;padding:10px 18px;font-weight:700;line-height:1.25;transition:background .15s;display:inline-flex}.button-link:hover{background:var(--text)}.link-row{flex-wrap:wrap;align-items:center;gap:16px 24px;display:flex}.site-header{z-index:40;height:var(--header);padding:0 var(--gutter);background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.wordmark{letter-spacing:-.01em;font-size:18px;font-weight:700}.site-header nav{gap:8px;margin-right:-12px;display:flex}.site-header nav a{min-height:44px;color:var(--muted);align-items:center;padding:0 12px;font-weight:500;transition:color .15s;display:flex}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--text)}.site-header nav a[aria-current]{box-shadow:inset 0 -2px 0 var(--accent)}.site-footer{padding:28px var(--gutter);border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 24px;margin-top:clamp(56px,8vw,112px);display:flex}.site-footer .wordmark{color:var(--text)}.site-footer button{min-height:44px;color:var(--muted);text-underline-offset:3px;margin-left:auto;text-decoration:underline}.site-footer button:hover{color:var(--text)}.home-intro{padding:clamp(20px, 2.6vw, 36px) var(--gutter) clamp(16px, 2vw, 28px);grid-template-columns:auto minmax(0,1fr);align-items:end;gap:clamp(24px,4vw,72px);display:grid}.home-intro h1{font-size:clamp(40px,4.5vw,72px)}.home-intro p{max-width:46ch;color:var(--muted);padding-bottom:.4em;font-size:clamp(16px,1.3vw,19px);line-height:1.5}.home-index{padding:0 var(--gutter);grid-template-columns:minmax(300px,31fr) minmax(0,69fr);align-items:start;gap:clamp(24px,3vw,48px);display:grid}.index-link{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:.13em 0;font-size:clamp(34px,min(3.25vw,5.6vh),58px);transition:color .15s;display:flex}.index-list li:last-child .index-link{border-bottom:1px solid var(--line)}.index-link:hover,.index-link.active{color:var(--text)}.index-name{white-space:nowrap;font-size:1em}.index-count{font-variant-numeric:tabular-nums;color:var(--faint);font-size:15px;transition:color .15s}.index-link.active .index-count{color:var(--accent)}.index-thumb{display:none}.index-figure figcaption{justify-content:space-between;align-items:flex-start;gap:32px;padding-top:14px;display:flex}.index-figure h2{font-size:17px;font-weight:700;line-height:1.35}.index-figure figcaption p{max-width:62ch;color:var(--muted);font-size:15.5px;line-height:1.5}.index-figure .text-link{flex:none;font-size:15.5px}.home-section{margin:clamp(64px, 8vw, 120px) var(--gutter) 0}.project-rows{border-bottom:1px solid var(--line);margin-top:clamp(20px,2.4vw,32px)}.project-rows a{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:148px minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,.8fr) auto;align-items:center;gap:24px;padding:14px 0;transition:color .15s;display:grid}.project-rows a:hover{color:var(--text)}.project-thumb{aspect-ratio:16/9;background:var(--surface);width:148px;display:block}.project-thumb img{object-fit:contain;width:100%;height:100%}.project-name{color:var(--text);font-size:21px;font-weight:700;line-height:1.2}.project-period{font-variant-numeric:tabular-nums}.feature{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(24px,4vw,72px);display:grid}.feature p{max-width:58ch;color:var(--muted);margin:20px 0 24px}.feature:nth-of-type(odd)>img{order:-1}.feature>img{width:auto;max-height:460px;margin:0 auto}.theme-strip{top:var(--header);z-index:30;background:var(--bg);border-bottom:1px solid var(--line);position:sticky}.theme-strip div{height:var(--strip);padding:0 var(--gutter);scrollbar-width:none;gap:4px;display:flex;position:relative;overflow-x:auto}.theme-strip div::-webkit-scrollbar{display:none}.theme-strip a{color:var(--muted);white-space:nowrap;flex:none;align-items:center;padding:0 12px;font-size:15.5px;font-weight:500;transition:color .15s;display:flex}.theme-strip a:first-child{margin-left:-12px}.theme-strip a:hover,.theme-strip a[aria-current]{color:var(--text)}.theme-strip a[aria-current]{box-shadow:inset 0 -2px 0 var(--accent)}.theme{padding:0 var(--gutter)}.theme-top{grid-template-columns:minmax(300px,31fr) minmax(0,69fr);align-items:start;gap:clamp(24px,3vw,48px);padding-top:clamp(16px,2vw,28px);display:grid}.back-link{min-height:44px;color:var(--muted);align-items:center;gap:8px;font-size:15.5px;font-weight:500;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--text)}.theme-head h1{margin:8px 0 16px;font-size:clamp(56px,5.2vw,104px)}.theme-head.wide h1{font-size:clamp(56px,6.4vw,120px)}.theme-lead{font-size:20px;font-weight:600;line-height:1.3}.theme-intro{color:var(--muted);margin:12px 0 20px}.theme-jumps{flex-wrap:wrap;gap:4px 20px;margin-top:16px;display:flex}.theme-jumps a{min-height:44px;color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:5px;align-items:center;font-weight:600;display:inline-flex}.theme-jumps a:hover{color:var(--accent)}.theme-head.wide{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:clamp(24px,4vw,72px);padding-top:clamp(16px,2vw,28px);display:grid}.theme-head.wide .theme-intro{margin-bottom:0}.project{border-top:1px solid var(--line);grid-template-columns:minmax(300px,31fr) minmax(0,69fr);align-items:start;gap:clamp(24px,3vw,48px);margin-top:clamp(48px,6vw,88px);padding-top:clamp(20px,2.4vw,32px);display:grid}.project-copy>p{color:var(--muted);margin-top:16px}.project-copy .link-row{flex-direction:column;align-items:flex-start;gap:4px;margin-top:20px}.project-copy .button-link{min-height:44px;color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px;background:0 0;padding:0;font-size:15.5px;font-weight:600}.project-copy .button-link:hover{color:var(--accent);background:0 0}.project-copy dl{margin-top:16px}.project-copy dl div{border-top:1px solid var(--line);grid-template-columns:72px minmax(0,1fr);gap:12px;padding:5px 0;font-size:15.5px;display:grid}.project-copy dt{color:var(--faint)}.credit{font-size:14.5px;line-height:1.5;color:var(--faint)!important}.stage{aspect-ratio:16/9;cursor:zoom-in;width:100%;min-height:220px;max-height:calc(100vh - 300px);display:block;position:relative;overflow:hidden}.stage img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.index-stage{max-height:max(280px,100vh - 340px)}.index-stage img{opacity:0;transition:opacity .25s}.index-stage img.current{opacity:1}.viewer{min-width:0}.viewer-empty{color:var(--muted);padding:48px 0}.viewer-bar{justify-content:space-between;align-items:flex-start;gap:24px;padding-top:12px;display:flex}.viewer-text{min-width:0;min-height:3.6em}.viewer-text h3{font-size:17px;font-weight:700;line-height:1.35}.viewer-text p{max-width:68ch;color:var(--muted);font-size:15.5px;line-height:1.5}.viewer-controls{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:4px;font-size:15px;display:flex}.viewer-controls>span{padding:0 6px}.viewer-controls button{min-width:44px;min-height:44px;color:var(--text);justify-content:center;align-items:center;gap:8px;transition:background .15s;display:inline-flex}.viewer-controls button:hover{background:var(--raised)}.viewer-full{background:var(--raised);margin-left:8px;padding:0 14px;font-weight:600}.viewer-controls .viewer-full:hover{background:var(--line)}.strip{scrollbar-width:thin;scrollbar-color:var(--line) transparent;gap:6px;margin-top:10px;padding-bottom:4px;display:flex;position:relative;overflow-x:auto}.strip li{flex:none}.strip button{opacity:.62;transition:opacity .15s;display:block;position:relative}.strip button:hover{opacity:1}.strip button[aria-current=true]{opacity:1;box-shadow:inset 0 -3px 0 var(--accent)}.strip button[aria-current=true] img{padding-bottom:3px}.strip img{width:auto;max-width:none;height:64px}.notes{border-top:1px solid var(--line);grid-template-columns:minmax(300px,31fr) minmax(0,69fr);gap:clamp(24px,3vw,48px);margin-top:clamp(56px,7vw,104px);padding-top:clamp(20px,2.4vw,32px);display:grid}.notes .display-title{top:calc(var(--header) + var(--strip) + 24px);align-self:start;font-size:clamp(40px,4.2vw,72px);position:sticky}.notes-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px clamp(24px,3vw,48px);display:grid}.notes-body h3{margin-bottom:10px;font-size:20px;font-weight:700;line-height:1.3}.notes-body p{color:#d3d2ca}.process-gallery{grid-column:2;min-width:0}.process-gallery-intro{margin-bottom:16px}.process-gallery-intro h3{margin-bottom:8px;font-size:20px;line-height:1.3}.process-gallery-intro p{max-width:68ch;color:var(--muted)}.study-filters{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.study-filters button{border:1px solid var(--line);min-height:44px;color:var(--muted);padding:8px 12px;font-size:15px;line-height:1.3}.study-filters button[aria-pressed=true]{color:var(--text);background:var(--raised);border-color:var(--accent)}.study-filters button:hover{color:var(--text);border-color:var(--muted)}.study-filters span:not([data-edit-key]){color:var(--faint);font-variant-numeric:tabular-nums;margin-left:8px}[data-edit-key]{white-space:pre-wrap;overflow-wrap:anywhere}.home-intro-copy{min-width:0}.home-intro-copy .portfolio-approach{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;font-size:15.5px;line-height:1.5}.editing-text [data-edit-key]{outline:1px dashed var(--accent);outline-offset:3px;cursor:text}.editing-text [data-edit-key]:hover{background:#ff7a451a}.editing-text [data-edit-key]:empty:after{content:"Edit text";color:var(--accent);font-size:14px}.text-editor{width:min(1180px,100vw - 32px);max-width:none;height:min(850px,100dvh - 32px);max-height:none;color:var(--text);background:var(--bg);border:1px solid #53575e;grid-template-rows:auto minmax(0,1fr) auto;margin:auto;padding:0;display:grid;overflow:hidden}.text-editor:not([open]){display:none}.text-editor::backdrop{background:#000b}.text-editor-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:24px;padding:20px 24px;display:flex}.text-editor-head h2{font-size:25px;line-height:1.25}.text-editor-head p{color:var(--muted);max-width:64ch;margin-top:6px;font-size:15px}.editor-close{background:var(--raised);flex:none;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-size:15px;display:inline-flex}.text-editor-body{grid-template-columns:320px minmax(0,1fr);min-height:0;display:grid}.text-editor-browser{border-right:1px solid var(--line);flex-direction:column;min-height:0;padding:16px;display:flex;overflow:hidden}.text-editor label{gap:6px;font-size:15px;font-weight:600;display:grid}.text-editor-browser label+label{margin-top:12px}.text-editor input,.text-editor select,.text-editor textarea{background:var(--surface);width:100%;min-width:0;color:var(--text);font:inherit;border:1px solid #666a72;border-radius:0;padding:10px 12px;font-size:16px;line-height:1.5}.text-editor input,.text-editor select{min-height:44px}.text-editor textarea{resize:vertical;min-height:120px;max-height:50dvh;margin-top:10px}.editor-count{color:var(--muted);padding:12px 0;font-size:14px}.text-editor-fields{min-height:0;margin:0 -6px;overflow-y:auto}.text-editor-fields button{text-align:left;overflow-wrap:anywhere;border:1px solid #0000;width:100%;min-height:56px;padding:10px;font-size:14.5px;line-height:1.3;display:block}.text-editor-fields button:hover{background:var(--surface)}.text-editor-fields button[aria-current]{background:var(--raised);border-color:var(--accent)}.text-editor-fields small{color:var(--muted);margin-top:5px;font-size:12.5px;display:block}.draft-marker{color:var(--accent)}.text-editor-writing{min-width:0;min-height:0;padding:24px;overflow-y:auto}.editor-section-name{color:var(--accent);margin-bottom:8px;font-size:14px}.editor-hint{color:var(--muted);margin-top:8px;font-size:13px}.editor-reset-row{flex-wrap:wrap;gap:8px 20px;margin-top:16px;display:flex}.editor-reset-row button,.editor-retry{text-underline-offset:4px;min-height:44px;font-size:14px;text-decoration:underline}.editor-original{margin-top:24px;font-size:15px}.editor-original summary{cursor:pointer;min-height:44px}.editor-original p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.text-editor-foot{border-top:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;display:flex}.text-editor-foot p{color:var(--muted);font-size:14px;line-height:1.45}.text-editor-foot .editor-error{color:#ffb39a}.editor-save{background:var(--accent);min-height:48px;color:var(--bg);flex:none;padding:10px 24px;font-weight:700}.editor-save:disabled{opacity:.65}@media (max-width:700px){.text-editor{border:0;width:100vw;height:100dvh}.text-editor-head{gap:12px;padding:12px 16px}.text-editor-head h2{font-size:20px}.text-editor-head p{font-size:13px}.editor-close{padding:0 8px;font-size:13px}.text-editor-body{grid-template-rows:minmax(160px,28%) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.text-editor-browser{border-right:0;border-bottom:1px solid var(--line);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:12px 16px;display:grid}.text-editor-browser label+label{margin-top:0}.editor-count{display:none}.text-editor-fields{grid-column:1/-1}.text-editor-fields button{min-height:48px}.text-editor-writing{padding:16px}.text-editor textarea{max-height:35dvh}.text-editor-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:12px}.editor-save{padding:10px 14px;font-size:14px}}.theme-note{border-left:1px solid var(--line);max-width:76ch;color:var(--muted);margin-top:clamp(40px,5vw,64px);margin-left:auto;padding-left:16px;font-size:15.5px}.next-theme{border-top:1px solid var(--line);align-items:center;gap:20px;margin-top:clamp(48px,6vw,88px);padding:20px 0 0;transition:color .15s;display:flex}.next-theme span{color:var(--muted)}.next-theme strong{font-size:clamp(44px,6.4vw,104px)}.next-theme .icon{width:36px;height:36px;margin-left:auto}.next-theme:hover{color:var(--accent)}.not-found{min-height:60vh;padding:0 var(--gutter);align-content:center;justify-items:start;gap:16px;display:grid}.not-found h1{font-size:clamp(56px,9vw,120px)}.not-found p{color:var(--muted)}.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);background:#070809;border:0;grid-template-rows:minmax(0,1fr) auto;margin:0;padding:0;display:grid;position:fixed;inset:0}.lightbox:not([open]){display:none}.lightbox::backdrop{background:0 0}.lightbox-stage{touch-action:pan-y pinch-zoom;justify-content:center;align-items:center;min-height:0;padding:clamp(8px,2vh,20px) clamp(8px,2vw,28px);display:flex;overflow:hidden}.lightbox-stage img{background-size:100% 100%;flex:none;width:auto;max-width:100%;height:auto;max-height:100%;animation:.15s ease-out both page-in}.lightbox-bar{padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;display:flex}.lightbox-text{min-width:0}.lightbox-text h2{font-size:17px;font-weight:700;line-height:1.35}.lightbox-text p{max-width:90ch;color:var(--muted);font-size:15.5px;line-height:1.45}.lightbox-controls{flex:none;align-items:center;gap:12px;display:flex}.lightbox-steps{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:15px;display:flex}.lightbox-steps span{text-align:center;min-width:64px;color:var(--muted)}.lightbox-steps button{background:var(--raised);justify-content:center;align-items:center;width:52px;height:52px;transition:background .15s;display:inline-flex}.lightbox-steps button:hover{background:var(--line)}.lightbox-close{color:#0b0c0d;background:#f6f4ee;justify-content:center;align-items:center;gap:10px;min-width:124px;height:52px;padding:0 22px;font-weight:700;transition:background .15s;display:inline-flex}.lightbox-close:hover{background:var(--accent)}.lightbox-close:focus-visible{outline-offset:3px;outline-color:#f6f4ee}.lightbox-remove{min-height:52px;color:var(--accent);padding:0 14px;font-size:15px;font-weight:600}.owner-panel{z-index:35;background:var(--raised);border:1px solid var(--line);gap:8px;width:min(340px,100vw - 32px);max-height:60vh;padding:14px 16px;font-size:15px;line-height:1.4;display:grid;position:fixed;bottom:16px;left:16px;overflow:auto}.owner-panel strong{color:var(--accent);display:block}.owner-panel summary{cursor:pointer;min-height:32px;font-weight:600}.owner-panel li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.owner-panel button{color:var(--text);text-underline-offset:3px;white-space:nowrap;text-decoration:underline}.owner-panel>button{min-height:32px;color:var(--muted);justify-self:start}.status-message{z-index:36;background:var(--text);max-width:calc(100vw - 32px);color:var(--bg);align-items:center;gap:16px;padding:12px 16px;font-size:15.5px;font-weight:600;display:flex;position:fixed;bottom:16px;right:16px}.status-message button{text-underline-offset:3px;text-decoration:underline}.image-menu{z-index:70;background:var(--raised);border:1px solid var(--line);position:fixed;box-shadow:0 12px 32px #00000080}.image-menu button{text-align:left;width:220px;color:var(--text);padding:12px 14px;font-size:15.5px;font-weight:600;display:block}.image-menu button:hover,.image-menu button:focus-visible{background:var(--line)}@media (max-width:1100px){.process-gallery{grid-column:1}.notes{grid-template-columns:minmax(0,1fr);gap:20px}.notes .display-title{position:static}.project-rows a{grid-template-columns:120px minmax(0,1fr) auto;gap:4px 16px}.project-thumb{grid-row:span 3;width:120px}.project-rows a>span:nth-child(3){grid-area:2/2/auto/-1}.project-rows a>span:nth-child(4){grid-area:3/2/auto/-1}.project-period{grid-area:1/3}}@media (max-width:900px){:root{--header:52px;--strip:44px}html{scroll-padding-top:calc(var(--header) + var(--strip) + 12px)}body{font-size:16.5px}.home-intro{grid-template-columns:minmax(0,1fr);gap:10px}.home-intro h1{font-size:clamp(38px,7vw,60px)}.home-index,.theme-top,.project,.feature,.theme-head.wide{grid-template-columns:minmax(0,1fr)}.home-index{gap:20px}.home-index nav{order:2}.index-figure figcaption{flex-direction:column;gap:10px}.index-link{gap:12px;padding:8px 0;font-size:40px}.index-name{white-space:normal;flex:1}.index-thumb{object-fit:contain;background:var(--surface);flex:none;width:92px;height:52px;display:block}.stage,.index-stage{max-height:none}.theme-top{flex-direction:column;gap:0;display:flex}.theme-top .theme-head{display:contents}.theme-top .back-link{order:1;align-self:flex-start}.theme-top h1{order:2}.theme-top .viewer{order:3;width:100%;margin-bottom:24px}.theme-top .theme-lead{order:4}.theme-top .theme-intro{order:5}.theme-top .link-row{order:6}.theme-top .theme-jumps{order:7}.viewer-bar{flex-direction:column;gap:8px}.viewer-text{min-height:5.2em}.viewer-controls{width:100%}.viewer-full{margin-left:auto}.strip img{height:56px}.notes-body{grid-template-columns:minmax(0,1fr)}.feature>img{order:-1;width:100%;max-height:none}.feature:nth-of-type(odd)>img{order:-1}.theme-note,.site-footer button{margin-left:0}.owner-panel{width:auto;max-height:45vh;bottom:8px;left:8px;right:8px}.status-message{justify-content:space-between;bottom:8px;left:8px;right:8px}}@media (max-width:760px){.lightbox-bar{padding:10px 12px calc(12px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:10px}.lightbox-text{max-height:20dvh;overflow-y:auto}.lightbox-controls{flex-wrap:wrap;justify-content:space-between;gap:8px}.lightbox-steps span{min-width:56px}.lightbox-steps button{width:56px;height:56px}.lightbox-close{flex:1;height:56px}.lightbox-remove{order:3;width:100%;min-height:44px}}@media (max-width:420px){.index-link{font-size:34px}.index-name{min-width:0}.index-thumb{width:72px;height:40px}.theme-head h1{font-size:min(56px,15.4vw)}.next-theme{flex-wrap:wrap;gap:4px 16px}.next-theme span{width:100%}.next-theme .icon{width:28px;height:28px}}@media (max-height:520px){.theme-strip{position:static}html{scroll-padding-top:calc(var(--header) + 12px)}.notes .display-title{position:static}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.home-link{white-space:nowrap;align-items:center;gap:9px;min-height:44px;font-size:16px;font-weight:600;display:inline-flex}.home-link:hover{color:var(--accent)}.site-header nav{align-items:center}.site-header nav .about-link{flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;margin-left:12px;line-height:1.2}.header-name{color:var(--text);font-size:15px;font-weight:700}.header-about{font-size:12px}.home-intro{grid-template-columns:minmax(220px,31fr) minmax(0,69fr);align-items:start;gap:clamp(24px,3vw,48px)}.home-intro-copy{grid-template-columns:1fr 1fr;gap:24px;display:grid}.home-intro .portfolio-approach{border-top:0;margin-top:0;padding-top:0}.about-page{max-width:1120px;padding:clamp(32px, 6vw, 88px) var(--gutter) 0;margin:0 auto}.about-heading{border-bottom:1px solid var(--line);padding-bottom:32px}.about-heading>p{color:var(--accent);margin-bottom:16px}.about-heading h1{font-size:clamp(52px,8vw,104px)}.about-heading .about-intro{color:var(--text);max-width:62ch;margin:24px 0 0;font-size:clamp(19px,2vw,24px)}.about-section{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:32px;padding:32px 0;display:grid}.about-section h2{font-size:21px;line-height:1.4}.about-section p{max-width:65ch;color:var(--muted)}.about-page>.link-row{margin-top:32px}@media (max-width:900px){.home-intro{grid-template-columns:1fr;gap:16px}}@media (max-width:600px){.site-header nav{gap:0;margin-right:-6px}.site-header nav a{padding:0 7px;font-size:13px}.site-header nav .about-link{margin-left:4px}.header-name{font-size:13px}.header-about{font-size:11px}.home-link{gap:6px;font-size:14px}.home-link .icon{width:18px;height:18px}.home-intro-copy{grid-template-columns:1fr;gap:12px}.about-section{grid-template-columns:1fr;gap:12px;padding:24px 0}}.tech-credit{max-width:72ch;color:var(--muted);margin-top:20px}.tech-copy{gap:12px;min-width:0;display:grid}.tech-copy h3{color:var(--text);margin-top:8px;font-size:14px;font-weight:600}.tech-copy .text-link{justify-self:start;margin-top:8px;font-size:14px}.tech-section{scroll-margin-top:calc(var(--header) + 20px)}@media (max-width:600px){.site-header nav .work-nav{display:none}}.stage-video{cursor:auto;background:#000}.stage-video video{object-fit:contain;width:100%;height:100%}.lightbox-stage video{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.strip-video-marker{width:24px;height:24px;color:var(--text);pointer-events:none;background:#0b0c0de6;place-items:center;font-size:12px;display:grid;position:absolute;bottom:5px;right:5px}.language-selector{flex-shrink:0;font-family:inherit;font-size:.75rem;position:relative}.language-selector summary{cursor:pointer;align-items:center;gap:.4rem;min-height:44px;padding:.5rem .2rem;list-style:none;display:flex}.language-selector summary::-webkit-details-marker{display:none}.language-flag{flex-shrink:0;width:24px;height:16px;display:block;box-shadow:0 0 0 1px #ffffff30}.language-options{z-index:80;background:#141616;border:1px solid #444;min-width:165px;padding:.4rem;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0008}.language-options button{text-align:left;color:#f2f0e9;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;align-items:center;gap:.75rem;padding:.7rem;display:flex}.language-options button:hover,.language-options button[aria-pressed=true]{background:#292b2b}.language-options button[aria-pressed=true]{color:#ff9b72}.language-selector summary:focus-visible,.language-options button:focus-visible{outline-offset:3px;outline:2px solid #ff9b72}@media (max-width:600px){.site-header{gap:.5rem}.site-header nav{gap:0;margin-right:0}.language-selector summary{gap:.25rem}.language-flag{width:21px;height:14px}.language-selector summary>span:first-of-type{display:none}}@media (max-width:420px){.site-header nav a{padding:0 5px}.site-header nav .about-link{margin-left:0}.site-header{padding-inline:12px}.language-selector summary{padding-left:5px}}
html.image-manager-open{overflow:hidden}.sequence-owner-controls{margin:12px 0}.sequence-owner-controls>button{border:1px solid var(--accent);min-height:44px;color:var(--text);padding:8px 14px;font-size:14px;font-weight:600}.sequence-owner-controls>button:hover{background:var(--raised)}.sequence-owner-controls>button>span{margin-left:8px}.lightbox-controls .sequence-owner-controls{margin:0}.managed-feature-image{min-width:0;max-width:100%}.managed-feature-image>img{object-fit:contain;width:auto;max-height:460px;margin:auto}.feature:nth-of-type(odd)>.managed-feature-image{order:-1}.image-manager{background:var(--bg);width:min(1040px,100vw - 32px);max-width:none;height:min(850px,100dvh - 32px);max-height:none;color:var(--text);border:1px solid #53575e;grid-template-rows:auto minmax(0,1fr) auto;margin:auto;padding:0;display:grid;overflow:hidden}.image-manager:not([open]){display:none}.image-manager::backdrop{background:#000b}.image-manager-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:24px;padding:20px 24px;display:flex}.image-manager-head h2{font-size:25px;line-height:1.25}.image-manager-head p{color:var(--muted);max-width:65ch;margin-top:6px;font-size:14px}.image-manager-body{min-height:0;padding:20px 24px;overflow-y:auto}.image-manager-list{gap:10px;display:grid}.image-manager-list>li{border:1px solid var(--line);background:var(--surface);cursor:grab;grid-template-columns:28px 112px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.image-manager-list>li:hover{border-color:#6b6e75}.image-manager-list>li.is-dragging{opacity:.45}.image-manager-list>li>img{object-fit:contain;width:112px;height:72px}.image-order-number{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.image-row-copy{min-width:0}.image-row-copy h3{overflow-wrap:anywhere;font-size:16px;line-height:1.3}.image-row-copy p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:5px;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.image-row-actions{align-items:center;gap:6px;display:flex}.image-row-actions button{background:var(--raised);min-width:44px;min-height:44px;padding:6px 10px;font-weight:600}.image-row-actions .image-remove{color:#ffb294;text-underline-offset:4px;background:0 0;font-size:14px;text-decoration:underline}.sequence-hidden{margin-top:24px}.sequence-hidden summary{cursor:pointer;min-height:44px}.sequence-hidden ul{gap:10px;display:grid}.sequence-hidden li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:8px 0;font-size:14px;display:flex}.sequence-hidden img{object-fit:contain;width:72px;height:48px}.sequence-hidden span{overflow-wrap:anywhere;flex:1}.sequence-hidden button{border:1px solid var(--line);min-height:44px;padding:8px 12px}@media (max-width:900px){.managed-feature-image{order:-1!important}.managed-feature-image>img{width:100%;max-height:none}.image-manager-list>li{grid-template-columns:24px 90px minmax(0,1fr)}.image-manager-list>li>img{width:90px}.image-row-actions{grid-column:2/-1;justify-content:flex-end}}@media (max-width:600px){.image-manager{border:0;width:100vw;height:100dvh}.image-manager-head{gap:10px;padding:14px 16px}.image-manager-head h2{font-size:21px}.image-manager-head .editor-close{font-size:13px}.image-manager-body{padding:14px 12px}.image-manager-list>li{grid-template-columns:20px 76px minmax(0,1fr);gap:8px;padding:10px}.image-manager-list>li>img{width:76px;height:64px}.image-row-copy h3{font-size:14px}.image-row-copy p{-webkit-line-clamp:2;font-size:12px}.image-row-actions button{min-width:48px;min-height:48px}.image-manager .text-editor-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}}
