@font-face{font-family:HomeInter;src:url('assets/inter-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:HomeInter;src:url('assets/inter-medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/home/instrument-serif.ttf') format('truetype');font-weight:400;font-display:swap}
.home-page{--paper:#f9fafa;background:var(--paper);color:#171918;font-family:HomeInter,Arial,sans-serif}.home-page .site-header{background:#f9fafaf2}.home-contact-link{font-size:24px;color:#868d8e}.home-page button{color:inherit}.home-page [hidden]{display:none!important}
/* The cover is the extra opening. The page below keeps Lena's column widths and rhythm. */
.cursor-cover{height:calc(100svh - 88px);min-height:580px;position:relative;background:#050505;color:#fff;overflow:hidden;isolation:isolate;touch-action:pan-y;cursor:crosshair!important}.cursor-cover *{cursor:crosshair!important}.cover-wordmark{position:absolute;top:22%;left:51%;right:4%;z-index:2;pointer-events:none}.cover-wordmark h1{font:400 clamp(120px,19vw,330px)/.92 HomeInter,Arial,sans-serif;letter-spacing:-.09em;margin:0 0 26px -.035em}.cover-wordmark p{font-size:14px;line-height:1.4;color:#9d9f9e;max-width:195px;margin:0 auto}.cover-bottom{position:absolute;bottom:24px;left:3.4%;right:3.4%;display:flex;align-items:center;gap:28px;z-index:4;color:#c3c6c3;font-size:12px}.cover-bottom p{margin:0;margin-right:auto}.cover-bottom>a{font-size:27px;color:#fff;padding:4px 10px}.cover-shuffle{background:transparent;border:0;border-bottom:1px solid #666;padding:8px 0;color:#fff!important}.cover-shuffle span{padding-left:14px}.cover-shuffle:focus-visible,.cover-bottom>a:focus-visible{outline-color:#fff}.trail-layer{position:absolute;inset:0;z-index:1;pointer-events:none}.trail-card{position:absolute;left:0;top:0;width:clamp(135px,15vw,210px);aspect-ratio:4/3;margin:0;opacity:0;border-radius:5px;overflow:hidden;background:#dce1df;will-change:transform,opacity;box-shadow:0 10px 30px #0002}.trail-card img,.trail-card video{width:100%;height:100%;object-fit:cover;display:block}
.home-intro{max-width:900px;margin:auto;padding:120px 24px 120px;text-align:center;scroll-margin-top:88px}.hello-line{font-size:15px;color:#747c82;margin:0 0 18px}.home-intro h2{font:400 clamp(40px,4.22vw,76px)/1.2 Instrument,Georgia,serif;letter-spacing:-1.4px;margin:0;min-height:2.4em}.home-intro em{font-family:GardenSerif,Georgia,serif;font-weight:300;color:#6d747c}.home-location{font-size:14px;color:#747c82;margin:24px 0 0}.home-location span{margin-left:14px;font-size:18px}.type-word{white-space:nowrap;display:inline-block}.type-char{position:relative;opacity:0}.type-char.is-typed{opacity:1}.type-char.is-caret:after{content:"";position:absolute;right:-2px;top:15%;height:75%;width:1px;background:#555}.intro-film{height:100px;overflow:hidden;width:100%;margin:0 auto 120px;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}.intro-film-track{display:flex;gap:10px;width:max-content;animation:film-drift 42s linear infinite}.intro-film img{height:100px;width:195px;border-radius:6px;object-fit:cover}.intro-film img:nth-child(3n){width:260px}.intro-film img:nth-child(4n){width:135px}.home-me{display:grid;grid-template-columns:1fr 1fr;gap:14%;max-width:1152px;width:90%;margin:0 auto;padding:0 0 120px;align-items:center}.home-me-copy{max-width:440px}.this-is-me{display:flex;align-items:center;gap:20px;margin-bottom:25px}.this-is-me img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:50% 18%}.this-is-me>span{font:400 32px/1.2 Instrument,Georgia,serif}.this-is-me>span:first-of-type{font:28px/1 HomeInter;color:#737e85}.home-me-copy>p{font-size:15px;line-height:1.7;color:#747e86;margin:0 0 16px}.round-link{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:#f1f3f4;color:#7d878c;border-radius:50%;font-size:24px;margin-top:8px;transition:background .2s,transform .3s}.round-link:hover{background:#e6eaea;transform:translate(2px,-2px)}.skills-window{height:160px;overflow:hidden;mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent);text-align:center}.skills-reel{display:flex;flex-direction:column;animation:skills-drift 24s linear infinite}.skills-reel span{font:400 44px/80px Instrument,Georgia,serif;white-space:nowrap;height:80px;flex:none}.skills-window:hover .skills-reel{animation-play-state:paused}
/* The extra craft cards sit between the personal introduction and work. */
.craft-grid{width:90%;max-width:1600px;margin:0 auto 140px;display:grid;grid-template-columns:1fr 1.3fr 1.6fr;grid-template-rows:clamp(300px,24vw,410px) 100px clamp(300px,24vw,410px);gap:24px;grid-template-areas:"clarity clarity tools" "domains process tools" "domains process details"}.craft-card{position:relative;background:#e9edf2;overflow:hidden;isolation:isolate;min-width:0}.craft-card:focus-visible{outline-offset:4px}.craft-copy{position:relative;z-index:2;padding:32px}.craft-copy h2{font-size:clamp(23px,2.1vw,34px);font-weight:500;line-height:1.18;letter-spacing:-.8px;margin:0 0 12px;color:#434e5a}.craft-copy p{font-size:clamp(13px,1.12vw,17px);line-height:1.4;color:#6b7784;margin:0}.craft-clarity{grid-area:clarity}.craft-clarity .craft-copy{max-width:56%;padding-right:15px}.craft-tools{grid-area:tools}.craft-domains{grid-area:domains}.craft-process{grid-area:process}.craft-details{grid-area:details}.craft-canvas{position:absolute;left:57%;right:-40px;top:20%;bottom:14%;transition:transform .7s cubic-bezier(.2,.7,.2,1);transform:rotate(-1deg)}.craft-clarity:hover .craft-canvas,.craft-clarity:focus .craft-canvas{transform:translate(-15px,-8px) rotate(1deg)}.canvas-guide{position:absolute;background:#b7c7d8aa}.guide-h{height:1px;left:-40px;right:0;top:-10px}.guide-v{width:1px;top:-40px;bottom:-40px;left:-10px}.craft-ui{position:relative;height:100%;min-width:300px;background:#fff;border-radius:7px;display:flex;box-shadow:0 12px 30px #586f8710}.ui-sidebar{width:38px;background:#f7f9fc;padding:14px 9px;display:flex;align-items:center;flex-direction:column;gap:15px}.ui-sidebar b{font-size:12px;color:#2c518a;margin-bottom:10px}.ui-sidebar span{display:block;width:13px;height:4px;background:#c6d0dc;border-radius:2px}.ui-main{padding:20px 17px;flex:1;color:#29343d}.ui-main>small{display:block;font-size:8px;color:#8d9aa4;margin-bottom:10px}.ui-main>strong{font-size:13px;font-weight:500}.ui-main>p{font-size:7px;color:#a1a9b1;margin:6px 0 15px}.ui-stat-row{display:flex;gap:10px;margin:0 0 15px}.ui-stat-row>div{width:100px;border:1px solid #eef0f3;padding:9px;border-radius:4px}.ui-stat-row small{display:block;font-size:6px;color:#9aa3ad;margin-bottom:6px}.ui-stat-row b{font-size:12px;font-weight:500}.ui-review{font-size:7px;border-top:1px solid #eef0f3;padding:7px 0;display:flex;align-items:center;gap:7px;max-width:230px}.ui-review i{height:9px;width:9px;border-radius:3px;background:#e7eff9}.ui-review span{margin-left:auto;background:#eff6f1;color:#608e70;font-size:6px;padding:3px 5px;border-radius:3px}.ui-line{height:3px;background:#eef0f2;width:180px;margin-top:8px}.ui-line.short{width:100px}.canvas-selection{position:absolute;inset:-1px;border:1px solid #85a8e3;opacity:0;transition:opacity .3s}.canvas-selection:before,.canvas-selection:after{content:"";position:absolute;width:5px;height:5px;background:#fff;border:1px solid #85a8e3;top:-3px}.canvas-selection:before{left:-3px}.canvas-selection:after{right:-3px}.craft-clarity:hover .canvas-selection,.craft-clarity:focus .canvas-selection{opacity:1}
.laptop-stage{position:absolute;bottom:-14px;left:6%;right:6%;height:68%;perspective:900px;display:flex;justify-content:center;align-items:end;background:radial-gradient(ellipse at 50% 70%,#e3c8cd88,transparent 70%)}.laptop{width:96%;height:90%;transform:rotateX(var(--laptop-x,-5deg)) rotateY(var(--laptop-y,-7deg)) rotateZ(1deg);transform-style:preserve-3d;transition:transform .4s ease}.laptop-lid{position:relative;width:100%;height:100%;background:linear-gradient(135deg,#c7c8ca,#adadae 45%,#c6c7ca);border:1px solid #a4a6a9;border-top:2px solid #dedfe0;border-radius:13px 13px 8px 8px;box-shadow:inset 0 1px 1px #fff8,10px 16px 24px #59606f20;overflow:hidden}.laptop-engraving{position:absolute;left:45%;top:47%;font:italic 45px/1 Instrument,serif;color:#8d8e9190}.laptop-base{height:12px;background:linear-gradient(#a5a6a8,#d5d6d8 40%,#929497);border-radius:1px 1px 8px 8px;width:106%;margin-left:-3%;box-shadow:0 5px 12px #57627022;position:relative}.laptop-base:before{content:"";position:absolute;left:40%;width:20%;height:3px;background:#aaa;border-radius:0 0 4px 4px}.laptop-sticker{position:absolute;display:flex;align-items:center;gap:5px;padding:5px 7px;border:3px solid #fff;border-radius:7px;background:#fff;box-shadow:0 2px 3px #0003;transform:rotate(var(--sticker-turn));font-size:clamp(10px,1.05vw,16px);font-weight:500;white-space:nowrap;transition:transform .5s cubic-bezier(.2,.7,.3,1)}.laptop-sticker img{width:25px;height:25px;object-fit:contain}.sticker-0{left:5%;top:8%;background:#f9f2e9}.sticker-1{right:8%;top:10%;border-radius:50px}.sticker-2{left:29%;top:34%;background:#f3f7ff}.sticker-3{left:4%;bottom:13%;font-size:10px}.sticker-3 img{width:21px}.sticker-4{right:6%;bottom:13%;border-radius:7px 15px}.sticker-4 span{display:none}.sticker-5{right:5%;top:43%;font-size:10px}.sticker-5 img{width:16px;height:25px}.sticker-6{left:38%;bottom:6%;border-radius:50px}.craft-tools:hover .laptop-sticker,.craft-tools:focus .laptop-sticker{transform:rotate(calc(var(--sticker-turn) * -1)) translateY(-3px)}
.domain-pile{position:absolute;bottom:28px;left:12px;right:12px;display:flex;justify-content:center;align-items:center;gap:10px 5px;flex-wrap:wrap;padding:0 8px}.domain-pile button{border:1px solid #00000004;background:var(--pill);color:#0008;font-size:clamp(14px,1.6vw,23px);font-weight:500;padding:8px 10px;border-radius:7px;box-shadow:0 2px 2px #0002;transform:rotate(var(--tilt));transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.domain-pile button:hover,.domain-pile button:focus-visible{transform:translateY(-13px) rotate(0);box-shadow:0 12px 18px #0001;z-index:4}.domain-pile button:last-child{font-size:clamp(13px,1.3vw,20px)}.folder-toggle{position:absolute;bottom:-15px;left:9%;right:9%;height:48%;width:82%;border:0;background:none;padding:0;isolation:isolate}.folder-back{position:absolute;inset:18px 0 0;background:#a7cbf4;border:1px solid #95bce9;border-radius:10px;box-shadow:inset 0 1px #d8eafd}.folder-back:before{content:"";position:absolute;left:12px;top:-18px;width:32%;height:25px;background:#a7cbf4;clip-path:polygon(8% 0,90% 0,100% 100%,0 100%)}.process-paper{position:absolute;bottom:65px;width:68%;height:100%;padding:16px 12px;text-align:left;font-size:clamp(20px,2.2vw,33px);color:#3c4353;box-shadow:0 1px 9px #52688018;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.process-paper small{display:block;font-size:8px;line-height:1.8;margin-top:10px;border-top:1px solid #0001}.paper-research{background:#ffd7e1;left:2%;transform:rotate(-9deg);z-index:2}.paper-design{background:#f6ffd2;left:22%;bottom:75px;transform:rotate(-4deg);z-index:1}.paper-prototype{background:#fff;left:42%;transform:rotate(7deg);z-index:3}.folder-front{position:absolute;inset:55px 0 0;z-index:4;border-radius:4px 4px 0 0;background:linear-gradient(135deg,#a6c9f3,#b9d7f9);box-shadow:inset 0 1px #d6e9fe,0 -3px 8px #517aa511}.folder-front:before{content:"";position:absolute;inset:0;border-top:1px solid #cde3ff;clip-path:polygon(0 0,50% 35%,100% 0,100% 100%,0 100%);background:linear-gradient(145deg,#bad9ff55,#89b9ef44)}.folder-front>span{position:absolute;left:17px;bottom:30px;font-size:9px;letter-spacing:.04em;color:#739ac8}.craft-process:hover .paper-research,.folder-toggle:focus-visible .paper-research,.folder-toggle.is-open .paper-research{transform:translate(-13px,-55px) rotate(-15deg)}.craft-process:hover .paper-design,.folder-toggle:focus-visible .paper-design,.folder-toggle.is-open .paper-design{transform:translate(0,-80px) rotate(0)}.craft-process:hover .paper-prototype,.folder-toggle:focus-visible .paper-prototype,.folder-toggle.is-open .paper-prototype{transform:translate(15px,-44px) rotate(15deg)}
.detail-demo{position:absolute;left:32px;right:32px;bottom:28px;background:#fff;border:1px solid #e0e5ec;border-radius:9px;padding:15px;box-shadow:0 12px 25px #53637b0b}.detail-record{display:flex;align-items:center;gap:10px;margin-bottom:14px}.detail-file{font-size:27px;color:#8298b6}.detail-record strong{display:block;font-size:11px;font-weight:500;color:#434e5a}.detail-record>div>span{display:block;font-size:8px;margin-top:4px;color:#919aa5}.detail-status{margin-left:auto;font-size:8px;background:#fff7df;color:#aa842c!important;border-radius:12px;padding:5px 7px;white-space:nowrap}.detail-status.approved{background:#e4f5eb;color:#2e7d50!important}.detail-approve{display:flex;width:100%;align-items:center;justify-content:space-between;border:0;border-radius:5px;background:#556e92;color:white!important;padding:9px 12px;font-size:10px;transition:background .2s}.detail-approve:hover{background:#3f5576}.detail-feedback{font-size:9px;line-height:1.5;color:#718571;display:block}.detail-feedback:not(:empty){margin-top:9px}
.home-work{width:90%;max-width:1920px;margin:0 auto;scroll-margin-top:120px}.home-feature{display:grid;grid-template-columns:1fr;gap:32px;padding:44px 0;min-width:0}.feature-copy h3{font-size:24px;line-height:1.32;font-weight:400;letter-spacing:-.5px;margin:0 0 16px}.feature-copy h3 span{color:#78828b}.feature-copy>p{font-size:14px;line-height:1.5;color:#7c858e;max-width:680px;margin:0 0 19px}.feature-copy .round-link{margin:0}.feature-previews{display:grid;grid-template-columns:1fr 1fr;gap:16px}.feature-preview{aspect-ratio:2.2;display:block;overflow:hidden;border-radius:7px;border:1px solid #e8ebee;background:#e8ebee}.feature-preview img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.feature-preview:hover img{transform:scale(1.025)}#home-tradeteq-design-system .feature-preview img{object-fit:contain}.extra-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px;margin:40px 0}.extra-project{min-width:0}.extra-project>img,.extra-soon{display:block;width:100%;aspect-ratio:1.7;object-fit:cover;border:1px solid #e6e9e9;border-radius:8px;background:#edefe9}.extra-project h3{font-size:17px;font-weight:400;margin:12px 0;color:#747e83}.extra-soon{display:grid;place-items:center;color:#7d867b;font-size:23px}.show-projects{display:flex;align-items:center;justify-content:center;gap:18px;margin:48px auto 0;width:290px;max-width:90%;padding:16px 25px;border:0;border-radius:35px;background:#f0f2f3;color:#79838c!important;font-size:13px}.show-projects:hover{background:#e7ebed}.show-projects>span:last-child{font-size:20px;line-height:1}
.home-random{text-align:center;overflow:hidden;padding:0 0 110px}.figma-divider{display:flex;align-items:center;justify-content:center;gap:18px;max-width:680px;width:80%;margin:130px auto 120px}.figma-divider>span{height:1px;background:#e7ebed;flex:1}.figma-divider i{width:48px;height:48px;display:grid;place-items:center;background:#f0f2f3;border-radius:50%}.figma-divider img{width:15px;height:23px}.home-random h2{font:400 clamp(40px,4.2vw,64px)/1.18 Instrument,Georgia,serif;letter-spacing:-.7px;margin:0 20px 24px}.home-random h2 em{font-family:GardenSerif,Georgia,serif;color:#717a83;font-weight:300}.home-random>.round-link{margin-top:0}.shots-scene{height:470px;margin:55px auto 0;position:relative;perspective:1400px;touch-action:pan-y;max-width:1400px;cursor:grab!important}.shots-scene:active{cursor:grabbing!important}.shots-ring{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;transform:rotateX(-5deg) rotateY(var(--ring-turn,22.5deg));will-change:transform}.shot-card{position:absolute;left:-100px;top:-135px;width:200px;height:270px;background:transparent;padding:0;border:0;border-radius:7px;transform-style:preserve-3d;transform:rotateY(var(--card-angle)) translateZ(285px) rotateY(90deg);cursor:grab!important;transition:filter .3s}.shot-card:hover,.shot-card:focus-visible{filter:brightness(1.06);outline:2px solid #87988e;outline-offset:5px}.shot-front,.shot-back{display:block;position:absolute;inset:0;border-radius:7px;overflow:hidden;backface-visibility:hidden;background:#e4e8e8;box-shadow:0 0 0 1px #00000005}.shot-back{transform:rotateY(180deg)}.shot-card img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.shots-controls{display:flex;align-items:center;justify-content:center;gap:28px;color:#8b9498;font-size:12px}.shots-controls button{border:0;background:#eff2f3;border-radius:50%;width:38px;height:38px;font-size:18px;color:#7d898e}.playground-link{display:inline-block;color:#78838a;font-size:12px;border-bottom:1px solid #ccd2d4;padding-bottom:7px;margin-top:24px}.shot-dialog{border:0;border-radius:10px;padding:18px;max-width:min(960px,90vw);max-height:90dvh;background:#f9fafa;color:#222;box-shadow:0 30px 100px #0005}.shot-dialog::backdrop{background:#12151ac9;backdrop-filter:blur(8px)}.shot-dialog-head{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:14px}.shot-dialog-head h2{font:400 17px HomeInter;margin:0}.shot-dialog-head button{font:300 30px/1 HomeInter;background:none;border:0;width:34px;height:34px}.shot-dialog-media img,.shot-dialog-media video{display:block;max-width:100%;max-height:74dvh;object-fit:contain;border-radius:5px;margin:auto}
@keyframes film-drift{to{transform:translateX(-50%)}}@keyframes skills-drift{to{transform:translateY(-50%)}}
@media(min-width:1600px){.home-intro{padding-top:160px;padding-bottom:150px;max-width:1080px}.home-me{max-width:1500px;padding-bottom:160px}.home-feature{grid-template-columns:26% 1fr;gap:40px;padding:50px 0}.feature-copy{position:sticky;top:120px}.feature-copy h3{font-size:28px;max-width:310px}.feature-copy>p{font-size:15px;max-width:300px;line-height:1.55;margin-bottom:35px}.feature-previews{gap:20px}.feature-preview{aspect-ratio:1.7}.craft-grid{margin-bottom:160px}}
@media(max-width:1000px){.craft-grid{gap:18px;grid-template-columns:1fr 1fr;grid-template-rows:310px 430px 440px;grid-template-areas:"clarity clarity" "tools details" "domains process"}.craft-copy{padding:28px}.craft-copy h2{font-size:28px}.craft-copy p{font-size:14px}.craft-clarity .craft-copy{max-width:50%}.craft-canvas{left:53%}.craft-tools .laptop-stage{height:64%}.craft-details .detail-demo{bottom:45px;left:24px;right:24px}.craft-details .craft-copy h2{max-width:200px}.craft-details .detail-record{flex-wrap:wrap}.detail-status{margin-left:0}.domain-pile{bottom:40px;gap:12px 8px}.domain-pile button{font-size:22px}.folder-toggle{height:48%}.home-me{gap:8%}.skills-reel span{font-size:38px}.cover-wordmark{top:25%}.cover-wordmark h1{font-size:20vw}.shots-scene{transform:scale(.85);margin-top:10px;margin-bottom:-20px}}
@media(max-width:700px){.home-page .site-header{height:76px;padding:0 5%}.home-page .home-contact-link{display:none}.home-page .site-header nav{position:static;transform:none;margin-left:auto;padding:5px}.home-page .site-header nav a{font-size:11px;padding:9px 11px}.cursor-cover{height:calc(100svh - 76px);min-height:530px}.cover-wordmark{left:20%;right:6%;top:28%}.cover-wordmark h1{font-size:32vw;margin-bottom:24px}.cover-wordmark p{font-size:12px;margin-left:35%}.cover-bottom{left:6%;right:6%;bottom:25px;gap:12px;align-items:end}.cover-bottom p{font-size:9px;max-width:130px}.cover-shuffle{font-size:10px;white-space:nowrap}.cover-shuffle span{padding-left:4px}.cover-bottom>a{font-size:22px;padding:2px}.trail-card{width:135px}.home-intro{padding:88px 6% 80px}.hello-line{font-size:13px;margin-bottom:20px}.home-intro h2{font-size:42px;letter-spacing:-.7px}.home-location{font-size:12px;margin-top:23px}.home-location span{font-size:16px}.intro-film{height:82px;margin-bottom:80px}.intro-film img{height:82px;width:145px}.intro-film img:nth-child(3n){width:190px}.intro-film img:nth-child(4n){width:100px}.home-me{grid-template-columns:1fr;gap:40px;padding-bottom:80px}.home-me-copy{max-width:460px}.home-me-copy>p{font-size:14px}.this-is-me{gap:16px}.this-is-me>span{font-size:29px}.skills-window{height:130px}.skills-reel span{font-size:36px;line-height:65px;height:65px}.craft-grid{margin-bottom:70px}.home-feature{padding:30px 0;gap:24px}.feature-copy h3{font-size:24px;line-height:1.3}.feature-copy>p{font-size:13px;line-height:1.6;margin-bottom:16px}.round-link{width:42px;height:42px;font-size:22px}.feature-previews{gap:14px;grid-template-columns:1fr}.feature-preview{aspect-ratio:1.7}.extra-project-grid{grid-template-columns:1fr;margin:25px 0;gap:25px}.extra-project h3{font-size:15px}.show-projects{margin-top:24px;padding:13px 20px;font-size:12px}.figma-divider{margin-top:85px;margin-bottom:80px}.home-random h2{font-size:42px;line-height:1.15}.home-random{padding-bottom:70px}.shots-scene{margin-top:-30px;margin-bottom:-70px;transform:scale(.57);width:175%;max-width:none;left:-37.5%;height:440px;perspective:1400px}.shots-controls{gap:14px;font-size:10px}.shots-controls button{width:32px;height:32px}.shot-dialog{padding:12px}.shot-dialog-head h2{font-size:14px}.shot-dialog-media video,.shot-dialog-media img{max-height:70dvh}}
@media(max-width:600px){.craft-grid{display:flex;flex-direction:column;gap:18px}.craft-card{min-height:350px}.craft-clarity{min-height:340px}.craft-clarity .craft-copy{max-width:62%}.craft-canvas{top:43%;left:37%;bottom:-15%;right:-50px}.craft-tools{min-height:470px}.craft-tools .laptop-stage{height:66%;bottom:0}.craft-tools .laptop{width:93%;height:89%}.laptop-sticker{font-size:13px}.sticker-3,.sticker-5{font-size:10px}.laptop-sticker img{width:26px}.craft-domains{min-height:370px}.domain-pile{left:30px;right:30px;bottom:35px}.craft-process{min-height:430px}.folder-toggle{height:44%;left:16%;right:16%;width:68%}.process-paper{font-size:29px}.craft-details{min-height:340px}.craft-details .craft-copy h2{max-width:none}.craft-details .detail-record{flex-wrap:nowrap}.detail-status{margin-left:auto}.craft-details .detail-demo{bottom:28px}.craft-copy h2{font-size:28px}.craft-copy p{font-size:14px;max-width:310px}}
@media(max-width:380px){.home-page .site-header nav a{font-size:10px;padding:9px 8px}.home-intro h2{font-size:37px}.craft-copy{padding:25px}.craft-tools{min-height:450px}.laptop-sticker{font-size:10px}.sticker-3,.sticker-5{font-size:9px}.laptop-sticker img{width:20px;height:24px}.detail-status{font-size:7px}.home-random h2{font-size:37px}}
@media(prefers-reduced-motion:reduce){.intro-film-track,.skills-reel{animation:none!important}.type-char{opacity:1!important}.type-char.is-caret:after{display:none}.trail-card{will-change:auto}.shots-ring{will-change:auto}.craft-card *{transition:none!important}.home-intro h2{min-height:0}.intro-film-track{transform:none}.shots-scene{cursor:auto!important}}
/* Keep the moving illustrations below the copy, even in the narrower bento columns. */
.domain-pile{gap:8px 4px;padding:0 4px}.domain-pile button{font-size:clamp(14px,1.4vw,21px);padding:8px}.process-paper{height:70%;bottom:45px}.paper-design{bottom:60px}.craft-process:hover .paper-research,.folder-toggle:focus-visible .paper-research,.folder-toggle.is-open .paper-research{transform:translate(-13px,-38px) rotate(-15deg)}.craft-process:hover .paper-design,.folder-toggle:focus-visible .paper-design,.folder-toggle.is-open .paper-design{transform:translate(0,-48px) rotate(0)}.craft-process:hover .paper-prototype,.folder-toggle:focus-visible .paper-prototype,.folder-toggle.is-open .paper-prototype{transform:translate(15px,-30px) rotate(15deg)}
@media(max-width:1000px){.domain-pile{gap:10px 5px}.domain-pile button{font-size:21px}}@media(max-width:600px){.domain-pile button{font-size:22px}.domain-pile button:last-child{font-size:18px}.process-paper{font-size:27px}}
/* Shared portfolio treatment: regular type, quiet frames and complete screenshots. */
.practice-grid{width:90%;max-width:1480px;margin:0 auto 120px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.practice-card{grid-area:auto;min-width:0;height:440px;position:relative;isolation:isolate;overflow:hidden;border:1px solid #e5e9e9;border-radius:8px;background:#f1f3f4}.practice-copy{position:relative;z-index:3;padding:30px 30px 0;max-width:490px;pointer-events:none}.practice-copy h2{font:400 24px/1.32 HomeInter,Arial,sans-serif;letter-spacing:-.5px;color:#191918;margin:0 0 14px}.practice-copy p{font:400 14px/1.55 HomeInter,Arial,sans-serif;color:#858d92;margin:0;max-width:390px}.practice-visual{position:absolute;left:26px;right:26px;bottom:26px;height:235px;overflow:hidden;display:grid;place-items:center;border:1px solid #e5e9e9;border-radius:7px;background:white;transition:transform .5s cubic-bezier(.2,.7,.3,1)}.component-focus{display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}.practice-clarity:hover .practice-visual,.practice-clarity:focus-visible .practice-visual{transform:translateY(-6px)}.practice-card .laptop-stage{height:64%;left:8%;right:8%;bottom:-5px;background:radial-gradient(ellipse at 50% 70%,#e1d5d888,transparent 70%)}.practice-card .laptop{max-width:430px;height:90%}.practice-card .laptop-sticker{font-size:13px}.practice-card .laptop-sticker img{width:27px;height:27px}.practice-card .sticker-3,.practice-card .sticker-5{font-size:10px}.practice-card .sticker-4 img{width:20px;height:29px}.practice-card .sticker-5 img{width:16px;height:24px}.practice-domains,.practice-process{height:420px}.practice-domains .domain-pile{left:8%;right:8%;bottom:45px;gap:12px 8px;max-width:420px;margin:auto}.practice-domains .domain-pile button{font:400 clamp(17px,1.6vw,23px)/1.2 HomeInter,Arial,sans-serif;padding:10px 13px}.practice-domains .domain-pile button:last-child{font-size:clamp(16px,1.4vw,21px)}.practice-process .folder-toggle{height:190px;max-width:310px;left:50%;right:auto;transform:translateX(-50%);bottom:-8px;width:72%}.practice-process .process-paper{font-size:29px;height:145px;bottom:40px}.practice-process .paper-design{bottom:55px}.practice-process:hover .paper-research{transform:translate(-13px,-38px) rotate(-15deg)}.practice-process:hover .paper-design{transform:translate(0,-48px) rotate(0)}.practice-process:hover .paper-prototype{transform:translate(15px,-30px) rotate(15deg)}.practice-details{grid-column:1/-1;height:320px;display:grid;grid-template-columns:30% 1fr;align-items:center;gap:20px;padding-right:26px}.practice-details .practice-copy{padding-top:0}.practice-details .practice-visual{position:relative;inset:auto;width:100%;height:260px;background:#edf2f5}.home-work{width:90%;max-width:1480px}.home-feature{padding:44px 0 76px;gap:32px}.feature-copy h3{font-size:24px;font-weight:400;line-height:1.32;letter-spacing:-.5px}.feature-copy h3 span{color:#858d92}.feature-copy>p{font-size:14px;color:#858d92;line-height:1.55}.feature-previews{gap:18px;align-items:stretch}.home-feature .feature-preview{aspect-ratio:1200/889;display:flex;align-items:center;justify-content:center;border:1px solid #e5e9e9;border-radius:8px;background:#e5e8eb;overflow:hidden}.home-feature .feature-preview img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain!important;transform:none}.home-feature .feature-preview:hover img{transform:none}.trail-card{background:#f4f6f6}.trail-card img,.trail-card video{object-fit:contain}.trail-card>.component-focus{width:100%;height:100%}.intro-film-track{gap:0}.film-frame{display:block;width:205px;height:100px;flex:none;padding-right:10px;overflow:hidden}.film-frame img,.film-frame .component-focus{display:block;width:100%;height:100%;object-fit:contain;border-radius:6px;background:#f0f3f3}.film-frame:nth-child(3n){width:240px}.shot-card{left:-140px;top:-105px;width:280px;height:210px}.shot-front,.shot-back{display:block;background:transparent;padding:0;border:0;box-shadow:none}.shot-card img{object-fit:cover}.shot-card .component-focus{width:100%;height:100%}.shots-scene{height:420px}.home-random{padding-bottom:75px}.shot-dialog-media .component-focus{width:min(850px,80vw);height:auto;max-height:72dvh;aspect-ratio:var(--focus-ratio,2);background:#f5f7f7}.shot-dialog-media>img{object-fit:contain}
@media(min-width:1600px){.home-feature{grid-template-columns:26% 1fr;gap:40px}.home-feature .feature-copy{max-width:300px}.home-feature .feature-copy h3{font-size:26px}.home-feature .feature-copy>p{font-size:14px}.home-feature .feature-previews{gap:20px}}
@media(max-width:850px){.practice-grid{gap:18px;margin-bottom:80px}.practice-card{height:420px}.practice-copy{padding:26px 24px 0}.practice-copy h2{font-size:24px}.practice-copy p{font-size:13px}.practice-visual{left:20px;right:20px;bottom:22px;height:220px}.practice-domains .domain-pile{left:6%;right:6%;bottom:38px}.practice-domains .domain-pile button{font-size:18px;padding:9px}.practice-details{height:300px;grid-template-columns:35% 1fr;gap:10px;padding-right:20px}.practice-details .practice-visual{height:230px}.practice-card .laptop-sticker{font-size:10px;padding:4px}.practice-card .laptop-sticker img{width:23px;height:23px}.practice-card .sticker-3,.practice-card .sticker-5{font-size:8px}.practice-process .folder-toggle{width:76%}.home-feature{padding-bottom:48px}}
@media(max-width:600px){.practice-grid{grid-template-columns:1fr;gap:18px;margin-bottom:65px}.practice-card{height:410px}.practice-copy{padding:27px 25px 0;max-width:none}.practice-copy h2{font-size:24px;line-height:1.32}.practice-copy p{font-size:13px;max-width:340px}.practice-visual{height:230px;left:22px;right:22px;bottom:22px}.practice-domains,.practice-process{height:400px}.practice-card .laptop-stage{height:65%;bottom:-3px}.practice-card .laptop-sticker{font-size:12px}.practice-card .sticker-3,.practice-card .sticker-5{font-size:9px}.practice-domains .domain-pile{bottom:45px;max-width:330px;gap:12px 8px}.practice-domains .domain-pile button{font-size:20px;padding:9px 12px}.practice-domains .domain-pile button:last-child{font-size:18px}.practice-details{display:block;grid-column:auto;height:400px;padding:0}.practice-details .practice-copy{padding:27px 25px 0}.practice-details .practice-visual{position:absolute;left:22px;right:22px;bottom:22px;top:auto;width:auto;height:220px}.feature-previews{gap:14px}.home-feature .feature-preview{aspect-ratio:1200/889}.home-feature{gap:23px;padding:30px 0 48px}.feature-copy h3{font-size:24px}.feature-copy>p{font-size:13px}.shots-scene{height:390px;margin-top:-10px;margin-bottom:-70px}.home-random{padding-bottom:45px}.shot-dialog-media .component-focus{width:82vw}}
.shot-front{backface-visibility:visible}.shot-back{display:none}.shots-scene:focus-visible{outline:1px solid #a8b7af;outline-offset:-20px;border-radius:10px}
.home-feature .feature-preview:has(.complete-screen){padding:22px}.home-feature .feature-preview img.complete-screen{border-radius:5px;box-shadow:0 4px 12px #3b4a5510}
@media(max-width:600px){.home-feature .feature-preview:has(.complete-screen){padding:18px}}
/* The introduction is the cover: a white page with hidden work revealed by the pointer. */
.intro-cover{user-select:none;background:#f9fafa;color:#191918;min-height:520px;height:calc(100svh - 88px);display:grid;place-items:center;cursor:inherit!important}.intro-cover *{cursor:inherit!important}.intro-content{position:relative;z-index:2;text-align:center;max-width:1000px;width:90%;pointer-events:none}.intro-content h1{font:400 clamp(40px,4.22vw,76px)/1.2 Instrument,Georgia,serif;letter-spacing:-1.4px;min-height:2.4em;margin:0;text-shadow:0 1px 6px #f9fafa99}.intro-content h1 em{font-family:GardenSerif,Georgia,serif;font-weight:300;color:#6d747c}.intro-cover .trail-card{box-shadow:0 8px 22px #2a36391a}.home-me{padding-top:65px}.me-avatar{width:48px;height:48px;flex:0 0 48px;display:block;position:relative;overflow:hidden;border-radius:50%}.this-is-me .me-avatar img{position:absolute;inset:0;display:block;width:48px;height:48px;border-radius:50%;transition:opacity .18s}.this-is-me .me-avatar-photo{object-fit:cover;object-position:50% 18%;opacity:1}.this-is-me .me-avatar-girl{object-fit:contain;opacity:0;image-rendering:pixelated}.this-is-me:hover .me-avatar-photo,.this-is-me:focus-visible .me-avatar-photo{opacity:0}.this-is-me:hover .me-avatar-girl,.this-is-me:focus-visible .me-avatar-girl{opacity:1}
.practice-card:before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(ellipse at var(--hover-x,50%) var(--hover-y,90%),var(--glow,#e7edbf) 0%,transparent 75%),linear-gradient(0deg,var(--wash,#edf0d8),transparent 90%);transition:opacity .5s ease}.practice-card:hover:before,.practice-card:focus-visible:before,.practice-card:focus-within:before{opacity:1}.practice-clarity{--glow:#e9edb5;--wash:#eef0d3;grid-column:1/-1;height:340px;display:grid;grid-template-columns:45% 55%;align-items:center;padding-right:26px}.practice-clarity .practice-copy{padding-top:0;max-width:480px}.practice-clarity .practice-visual{position:relative;inset:auto;left:auto;right:auto;bottom:auto;width:100%;height:260px;background:#f4f5f8;box-shadow:0 10px 25px #3f4e6108}.craft-tools{--glow:#f1d9df;--wash:#f4e8ed}.practice-domains{--glow:#d9efd9;--wash:#e5f0e7}.practice-process{--glow:#e1d8f1;--wash:#ebe3f1}.practice-details{--glow:#d8e6f5;--wash:#e7edf3;grid-column:auto;display:block;height:420px;padding:0}.practice-details .practice-copy{padding:30px 30px 0}.practice-details .practice-visual{position:absolute;left:26px;right:26px;bottom:26px;top:auto;width:auto;height:230px}
@media(max-width:850px){.practice-clarity{grid-template-columns:45% 55%;height:340px;padding-right:20px}.practice-clarity .practice-copy{padding:0 24px}.practice-clarity .practice-visual{height:245px}.practice-details .practice-copy{padding:26px 24px 0}.practice-details .practice-visual{left:20px;right:20px;bottom:22px;height:220px}}
@media(max-width:600px){.intro-cover{height:calc(100svh - 76px);min-height:500px}.intro-content h1{font-size:42px;letter-spacing:-.7px}.intro-content .hello-line{font-size:13px}.home-me{padding-top:40px}.practice-clarity{display:block;grid-column:auto;height:410px;padding:0}.practice-clarity .practice-copy{padding:27px 25px 0}.practice-clarity .practice-visual{position:absolute;left:22px;right:22px;bottom:22px;top:auto;width:auto;height:230px}.practice-details{height:400px}.practice-details .practice-copy{padding:27px 25px 0}.practice-details .practice-visual{left:22px;right:22px;bottom:22px;height:220px}}
@media(max-width:380px){.intro-content h1{font-size:37px}}
@media(prefers-reduced-motion:reduce){.practice-card:before,.this-is-me .me-avatar img{transition:none}.intro-content h1{min-height:0}}

/* Upright cursor reveals keep a clear 40 px gap; craft comes before the profile. */
.intro-cover .trail-card{width:clamp(136px,14vw,180px);transform:translate(-50%,-50%)}
.intro-cover+.practice-grid{margin-top:70px;margin-bottom:100px}
.practice-grid+.home-me{padding-top:0}
@media(max-width:600px){.intro-cover+.practice-grid{margin-top:40px;margin-bottom:65px}}
.home-me .skills-window{height:144px}.home-me .skills-reel{animation-duration:36s}.home-me .skills-reel span{font-size:clamp(24px,2.5vw,38px);height:72px;line-height:72px}.this-is-me .me-label{font:400 32px/1.2 Instrument,Georgia,serif}
@media(max-width:600px){.home-me .skills-window{height:120px}.home-me .skills-reel span{font-size:24px;height:60px;line-height:60px}}
.home-feature>*{min-width:0}@media(max-width:600px){.home-feature{grid-template-columns:minmax(0,1fr)}}
.feature-previews,.home-feature .feature-previews,.extra-project-grid{gap:12px}.scroll-reveal{opacity:.65;transform:translateY(18px);transition:opacity .65s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.scroll-reveal.is-revealed{opacity:1;transform:none}.intro-content{transform:translateY(var(--hero-shift,0px));opacity:var(--hero-opacity,1)}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none}.intro-content{transform:none;opacity:1}}
/* The same sticky introduction and four-screen structure as Featured Work. */
.home-feature{grid-template-columns:minmax(0,26%) minmax(0,1fr);gap:40px;align-items:start;padding:44px 0 76px;border-bottom:1px solid #e6ebeb}.home-feature .feature-copy{position:sticky;top:118px;align-self:start;max-width:280px;padding-top:2px}.home-feature .feature-copy h3{font-size:26px;line-height:1.32;letter-spacing:-.55px;margin:0;overflow-wrap:break-word}.home-feature .feature-copy>p{max-width:280px;margin:24px 0 30px;font-size:14px;line-height:1.55}.home-feature .feature-preview{display:block;aspect-ratio:1200/889;padding:0}.home-feature .feature-preview img{width:100%;height:100%;object-fit:cover!important}.home-feature:last-of-type{border-bottom:0}.home-feature .feature-previews{gap:12px}
@media(max-width:1000px){.home-feature{grid-template-columns:minmax(0,1fr);gap:25px}.home-feature .feature-copy{position:static;max-width:520px}.home-feature .feature-copy>p{max-width:520px;margin-top:18px;margin-bottom:20px}}
@media(max-width:700px){.home-feature{gap:22px;padding:30px 0 42px}.home-feature .feature-copy h3{font-size:24px;max-width:340px}.home-feature .feature-copy>p{font-size:13px}.home-feature .feature-previews{grid-template-columns:minmax(0,1fr);gap:10px}}

.extra-project{position:relative}.extra-project>img.extra-brand{position:absolute;left:22px;top:22px;width:38%;height:auto;max-height:100px;object-fit:contain;object-position:left top;filter:brightness(0) invert(1);pointer-events:none}.extra-project>img.extra-brand-small{width:75px;left:auto;right:20px;filter:none}.extra-project[href*="smartbricks"]>img:first-child,.extra-project[href*="puddle-and-patch"]>img:first-child{filter:brightness(.87) saturate(1.12)}

/* Kaari research previews: four complete compositions. */
.research-feature .feature-previews{grid-template-columns:repeat(2,minmax(0,1fr))}
.research-feature .feature-preview img{object-fit:contain!important}
@media(max-width:700px){.research-feature .feature-previews{grid-template-columns:minmax(0,1fr)}}

/* Full artwork in the rotating gallery, with a visible edge on pale pages. */
.shot-card .shot-front{background:var(--card-background,#e8e8e6);box-shadow:0 0 0 1px rgba(22,35,42,.16),0 10px 24px rgba(22,35,42,.09)}
.shot-card .shot-front img{width:100%;height:100%;object-fit:contain;object-position:center}
@media(max-width:700px){
 .shots-scene{width:100%;left:0;max-width:none;height:300px;margin:24px auto 0;transform:none;perspective:1400px}
 .shots-ring{transform:scale3d(.48,.48,.48) rotateX(-5deg) rotateY(var(--ring-turn,22.5deg))}
}
@media(max-width:480px){
 .shots-scene{height:250px}
 .shots-ring{transform:scale3d(.34,.34,.34) rotateX(-5deg) rotateY(var(--ring-turn,22.5deg))}
}
@media(max-width:360px){
 .shots-ring{transform:scale3d(.28,.28,.28) rotateX(-5deg) rotateY(var(--ring-turn,22.5deg))}
}
@media(min-width:701px) and (max-width:850px){
 .shots-scene{transform:none;height:380px;margin:24px auto 0}
 .shots-ring{transform:scale3d(.72,.72,.72) rotateX(-5deg) rotateY(var(--ring-turn,22.5deg))}
}

/* Logos are transparent overlays, not cover images or placeholder panels. */
.extra-project>img.extra-brand{background:transparent;border:0;border-radius:0;aspect-ratio:auto;box-shadow:none}

/* More projects opens the canonical Work collection. */
a.show-projects{text-decoration:none;display:flex;align-items:center;justify-content:center;gap:18px;width:max-content;margin-left:auto;margin-right:auto}

/* NorthTara: full-bleed source screenshots, retaining the left-hand library navigation. */
#home-northtara-design-system .feature-preview{padding:0;border:0}
#home-northtara-design-system .feature-preview:first-child img{object-position:left top}

/* Remove the retired introductory caption from the retained annotated screenshot. */
#home-northtara-design-system .feature-preview:nth-child(2){position:relative}
#home-northtara-design-system .feature-preview:nth-child(2)::after{content:"";position:absolute;pointer-events:none;left:30.5%;top:33.6%;width:58%;height:2.3%;background:#f7f7f7}
/* Reference button typography, without the previously removed down arrow. */
a.show-projects{box-sizing:border-box;width:280px;min-height:48px;padding:14px 18px;border-radius:100px;background:#f4f5f6;font-size:13px;font-weight:500;line-height:19px;color:#5e656e!important}
.show-projects>span:last-child{font-size:inherit;line-height:inherit}
.home-feature .feature-copy .round-link{width:48px;height:48px;box-sizing:border-box;display:inline-flex;gap:0;overflow:hidden;white-space:nowrap;border-radius:30px;transition:width .3s cubic-bezier(.22,1,.36,1),background .2s}
.project-arrow-glyph{flex:none;width:24px;text-align:center;font-size:24px;line-height:1}
.project-arrow-label{font:400 12px/1.2 HomeInter,Arial,sans-serif;max-width:0;opacity:0;margin-left:0;transition:max-width .3s,opacity .2s,margin .3s}
.home-feature .feature-copy .round-link:hover,.home-feature .feature-copy .round-link:focus-visible{width:146px;transform:none}
.home-feature .round-link:hover .project-arrow-label,.home-feature .round-link:focus-visible .project-arrow-label{max-width:95px;opacity:1;margin-left:10px}
.home-feature .round-link:focus-visible{outline:2px solid #51b2ca;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.home-feature .round-link,.project-arrow-label{transition:none!important}}
