:root{--paper:#fafaf8;--ink:#17201f;--muted:#66716e;--line:#dce1dc;--accent:#cc472d;--surface:#f0f2ee;--stage:#e9ede8;--chrome:#fff;--shadow:0 18px 42px -20px #14261c50;--project:#cc472d;--project-wash:#f5ede7;--gutter:clamp(22px,5vw,80px);color-scheme:light}
:root[data-theme=dark]{--paper:#161b1b;--ink:#f2f4ee;--muted:#b1bab5;--line:#36403c;--accent:#ffa080;--surface:#202926;--stage:#252e2c;--chrome:#28332e;--shadow:0 20px 44px -18px #000b;--project:#ffa080;--project-wash:#342824;color-scheme:dark}
body{background:var(--paper);color:var(--ink);transition:background .65s,color .35s}p{color:var(--muted)}.eyebrow,.opening-kicker,.section-kicker{font-size:12px;letter-spacing:.09em}.site-header,.site-header.scrolled{background:var(--paper);height:86px;border-color:var(--line);transition:background .55s,box-shadow .3s}.site-header{gap:24px}.site-header nav{gap:32px}.site-header nav a,.contact-link,.resume-link{font-size:14px}.header-actions{gap:24px}.theme-toggle{display:grid;place-items:center;border:1px solid var(--line);background:transparent;border-radius:50%;width:42px;height:42px;padding:10px;transition:background .25s,transform .5s}.theme-toggle svg{width:21px;height:21px}.theme-toggle:hover{background:var(--surface);transform:rotate(25deg)}.resume-link{display:flex;align-items:center;gap:10px}.resume-link span{font-size:19px}.site-header nav sup{display:none}.identity{width:76px}.header-actions .motion-toggle{display:none}
.signature-hero{position:relative;isolation:isolate;padding:70px var(--gutter) 64px;min-height:650px;overflow:hidden;border-bottom:1px solid var(--line)}.light-field{position:absolute;right:-3%;top:0;width:65%;height:100%;z-index:-1;opacity:.7;mask-image:linear-gradient(to right,transparent 0%,#000 24%,#000 88%,transparent);pointer-events:none}.hero-content{max-width:1280px;margin:0 auto}.hero-name{display:flex;align-items:center;gap:22px;color:var(--ink);font-size:25px;letter-spacing:-.035em;font-weight:600}.hero-name>span{font-size:12px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;border-left:1px solid var(--line);padding-left:22px;color:var(--muted)}.signature-hero h1{font-size:clamp(64px,7.55vw,114px);font-weight:500;line-height:1.08;letter-spacing:-.066em;margin:30px 0 44px;max-width:1170px}.hero-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.hero-line>span{display:block;animation:hero-reveal .95s cubic-bezier(.2,.85,.25,1) both}.hero-line:nth-child(2)>span{animation-delay:.12s}.signature-hero h1 em{font-style:normal;color:var(--accent)}.hero-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;max-width:960px}.hero-credentials p:first-child{font-size:21px;color:var(--ink);line-height:1.5;margin-bottom:12px}.hero-credentials strong{font-weight:600}.hero-credentials p:last-child{font-size:16px;line-height:1.7}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex-shrink:0}.primary-link{display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:var(--paper);border-radius:50px;padding:15px 24px;font-size:15px;transition:transform .35s var(--ease),background .3s}.primary-link:hover{transform:translateY(-3px);background:var(--accent)}.primary-link span{font-size:21px}.hero-resume{font-size:14px;padding:8px 14px}.hero-resume:hover{color:var(--accent)}.light-shift{position:absolute;bottom:25px;right:var(--gutter);display:flex;align-items:center;gap:9px;background:none;border:0;font-size:12px;color:var(--muted);padding:10px}.light-shift-icon{font-size:25px;color:var(--accent);transition:transform .7s var(--ease)}.light-shift:hover .light-shift-icon{transform:rotate(180deg)}@keyframes hero-reveal{from{transform:translateY(110%)}to{transform:none}}
.selected-work{padding-top:42px;max-width:1600px;margin:auto}.work-index-heading{display:flex;align-items:center;justify-content:space-between}.work-index-heading .motion-toggle{font-size:12px}.work-index-heading h2{font-size:20px}.project-card{position:relative;display:grid;grid-template-columns:1.04fr 1fr;gap:48px;align-items:center;padding:36px 0;border-bottom:1px solid var(--line);isolation:isolate}.project-card+.project-card{margin-top:0}.project-card .project-heading{display:block;margin:0;grid-column:2;grid-row:1;pointer-events:none}.project-card .project-preview-wrap{grid-column:1;grid-row:1;position:relative;pointer-events:none}.project-card .project-heading h2{font-size:clamp(27px,2.7vw,42px);line-height:1.17;margin:22px 0 18px;max-width:550px}.project-company{font-size:18px;font-weight:600;letter-spacing:-.02em;display:flex;justify-content:space-between}.project-company .project-year{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0}.project-card .project-tease{font-size:16px;line-height:1.6;max-width:460px;margin-bottom:22px}.project-card .project-caption{padding:0;display:block;font-size:14px;color:var(--muted);margin-top:16px}.project-card .project-caption span:last-child{display:block;color:var(--ink);margin-top:6px}.project-card .project-caption i{padding-left:0}.project-card .round-link{display:none}.project-hit{position:absolute;inset:0;z-index:5;border-radius:4px}.project-hit:focus-visible{outline-offset:8px}.project-affordance{display:flex;align-items:center;gap:16px;font-size:14px;font-weight:600;margin-top:22px;color:var(--project)}.project-affordance>span{width:36px;height:36px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--project) 35%,transparent);border-radius:50%;font-size:22px;transition:background .3s,color .3s,transform .4s}.project-card:hover .project-affordance>span,.project-card:focus-within .project-affordance>span{background:var(--project);color:var(--paper);transform:translate(4px,-4px)}.project-card:hover .device,.project-card:focus-within .device{transform:translateY(-5px)}.project-card:hover h2{color:var(--project)}.project-card h2{transition:color .3s}
.card-netflix,.case-netflix{--project:#c74028;--project-wash:#f7ece6}.card-google,.case-google{--project:#315ed8;--project-wash:#eaf0fd}.card-linkedin,.case-linkedin{--project:#126c92;--project-wash:#e8f3f8}.card-apple,.case-apple{--project:#7851c8;--project-wash:#f0eaf9}
[data-theme=dark] .card-netflix,[data-theme=dark] .case-netflix{--project:#ffa084;--project-wash:#362620}[data-theme=dark] .card-google,[data-theme=dark] .case-google{--project:#99b5ff;--project-wash:#202b42}[data-theme=dark] .card-linkedin,[data-theme=dark] .case-linkedin{--project:#8cc9e3;--project-wash:#1e303a}[data-theme=dark] .card-apple,[data-theme=dark] .case-apple{--project:#c5a5fa;--project-wash:#30273b}
.project-visual{padding:22px 16px;aspect-ratio:1.48;border-radius:12px;background:var(--project-wash)!important;display:flex;align-items:center;justify-content:center;overflow:visible;max-height:none!important;isolation:auto;transition:background .6s}.project-visual:before,.project-visual:after{display:none}.device{position:relative;width:100%;transform:none;transition:transform .7s var(--ease);box-shadow:var(--shadow);background:var(--chrome);overflow:hidden}.device-browser{border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:10px}.browser-chrome{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;gap:10px;background:var(--chrome);border-bottom:1px solid var(--line);color:var(--muted)}.window-buttons{display:flex;gap:5px;flex-shrink:0}.window-buttons i{width:6px;height:6px;border-radius:50%;background:#fc695e}.window-buttons i:nth-child(2){background:#f4c34f}.window-buttons i:nth-child(3){background:#58c464}.browser-title{font-size:10px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-weight:500}.window-menu{font-size:20px;line-height:1}.device-screen{position:relative;overflow:hidden;background:#fff}.device-screen .media-player{width:100%;height:auto!important;max-height:none!important;aspect-ratio:auto!important}.device-screen video{width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;border-radius:0!important;display:block}.device-phone{width:30%;max-width:240px;min-width:125px;flex:none;border:5px solid #242a29;border-radius:27px;background:#fff;box-shadow:0 0 0 1px #737a77,0 14px 30px -14px #102b3555}.device-phone .device-screen{border-radius:0 0 21px 21px}.phone-status{height:25px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;color:#17201f;background:#fff;font-size:8px;font-weight:700}.phone-status i{width:30%;height:10px;border-radius:20px;background:#101615}.phone-status span:last-child{font-size:7px}.visual-linkedin{gap:20px;padding:20px;align-items:center}.visual-linkedin .device-phone{width:30%;max-width:185px;min-width:112px}.device-embedded{border:0;box-shadow:none;border-radius:7px;background:none}.device-embedded .device-screen{border-radius:8px;background:none}.device-embedded .media-player{overflow:hidden;aspect-ratio:1.713!important}.device-embedded video{width:111.111%!important;max-width:none!important;position:relative;margin-left:-5.556%;margin-top:-2.222%;margin-bottom:-1.875%}.device-embedded .device-screen{box-shadow:var(--shadow)}.device-tablet{border:8px solid #222b27;border-radius:24px}.device-tablet .device-screen{border-radius:16px}
.case-page{--accent:var(--project);background:color-mix(in srgb,var(--project-wash) 30%,var(--paper))}.case-page .site-header{background:color-mix(in srgb,var(--project-wash) 30%,var(--paper))}.case-masthead{padding-top:35px}.case-masthead h1{font-size:clamp(64px,7vw,100px)}.case-title-dot{color:var(--project)}.case-deck{font-size:19px}.case-lead{align-items:center}.case-lead .project-visual{padding:28px;aspect-ratio:1.48}.case-lead .visual-linkedin{padding:24px}.case-lead .visual-linkedin .device-phone{max-width:190px}.case-lead .device{max-width:100%}.case-lead-caption{font-size:13px}.case-lead-info strong{color:var(--project)}.case-body{background:var(--paper);border-top:1px solid var(--line);padding-top:64px}.case-sidebar{background:none!important}.case-navigation a{font-size:14px!important}.case-navigation a.active{color:var(--project)}.chapter-opening h2{font-size:clamp(30px,3.1vw,44px)}.chapter-opening p{font-size:17px}.chapter-note{background:var(--project-wash)!important;border-color:var(--project)!important}.chapter-note p{color:var(--ink)}.narrative-chapter{--scene-wash:var(--project-wash)}.gallery-heading{align-items:center!important;gap:15px}.gallery-heading h3{font-size:17px!important;line-height:1.4}.gallery-count{font-size:13px!important;white-space:nowrap}.gallery-controls button{border-color:var(--line)!important;background:var(--paper)!important;color:var(--ink)!important;min-width:36px;height:36px}.gallery-controls button:hover{background:var(--project-wash)!important}.gallery-stage{padding:0!important;background:transparent!important;border:0!important;min-height:0!important}.gallery-panel{margin:0!important}.gallery-media{aspect-ratio:1.48;min-height:0!important;max-height:none!important;display:flex!important;align-items:center;justify-content:center;background:var(--project-wash)!important;border-radius:12px;padding:26px!important;overflow:hidden}.gallery-media .device{max-width:100%;max-height:100%;}.gallery-media .device-phone{width:27%;max-width:240px;min-width:115px}.gallery-media .device-tablet{width:auto;max-width:100%}.gallery-media .device-browser{align-self:center}.gallery-media .device-screen video{max-height:540px!important;width:100%;object-fit:contain}.gallery-media>.zoom-image{display:flex;align-items:center;justify-content:center;width:100%;height:100%;max-height:100%;background:transparent;border:0}.gallery-media>.zoom-image img{width:100%;height:100%!important;max-height:100%!important;object-fit:contain}.gallery-panel figcaption{display:flex;gap:22px;padding:18px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}.gallery-panel figcaption strong{display:block;flex:0 0 31%;color:var(--ink);font-size:15px}.gallery-thumbnails{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:start!important;gap:18px 14px!important;margin-top:24px!important;padding:0!important;overflow:visible!important}.gallery-tab{display:flex!important;flex-direction:column;align-items:stretch!important;justify-content:flex-start!important;padding:0 0 9px!important;min-width:0!important;height:100%!important;border:0!important;border-bottom:2px solid transparent!important;background:transparent!important;text-align:left!important;opacity:.7;transition:opacity .25s,transform .25s,border-color .25s}.gallery-tab[aria-selected=true]{border-bottom-color:var(--project)!important;opacity:1}.gallery-tab:hover{opacity:1;transform:translateY(-3px)}.thumb-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1.6;width:100%;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:6px;position:relative}.gallery-tab .thumb-image img,.gallery-tab .thumb-image video{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;aspect-ratio:1.6;margin:0!important;border-radius:0!important;background:var(--surface)!important}.gallery-tab>.thumb-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45;font-size:14px!important;padding-top:10px;min-height:51px;color:var(--ink)}.thumb-image .thumb-kind{position:absolute;right:5px;bottom:5px;display:block;border-radius:3px;background:#15221dcc;color:#fff;font:10px/1.4 Manrope,sans-serif;padding:2px 4px}.gallery-tab .recording-thumb{display:none!important}.gallery-tab .thumb-loading{position:absolute;inset:0;display:grid;place-items:center;padding:10px;color:var(--muted);font-size:12px;text-align:center;background:var(--surface)}.thumb-image:has(video[data-ready]) .thumb-loading{display:none}.player-toolbar{display:flex;align-items:center;gap:12px;min-height:43px;padding:7px 0 0;font-size:12px}.player-toolbar button{display:flex;align-items:center;gap:8px;border:0;background:none;padding:8px;color:var(--muted);font-size:12px;white-space:nowrap}.player-toolbar button:hover{color:var(--project)}.player-toolbar .player-expand{margin-left:auto}.player-expand svg{width:19px;height:19px}.player-scrub{flex:1;min-width:40px;height:3px;accent-color:var(--project);cursor:pointer}.player-time{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;min-width:32px}.media-player .play-preview{font-size:13px!important;z-index:8}.device .play-preview{left:50%;right:auto;bottom:18px;transform:translateX(-50%);padding:9px 13px;white-space:nowrap;background:#fff;color:#17201f;border:0;border-radius:20px}.case-lead .player-toolbar{margin-top:6px}.case-page .takeaway{background:var(--project-wash)!important;color:var(--ink)!important}.takeaway p{color:var(--ink)}.next-case{background:var(--project-wash);transition:background .6s}.metrics{border-color:var(--line)}
.lab-page{background:#f3edff}.lab-page .site-header{background:#f3edff}.lab-page .app-preview{background:#e6def5}.lab-page[data-night],html[data-theme=dark] .lab-page{background:#251d34}html[data-theme=dark] .lab-page .site-header{background:#251d34}html[data-theme=dark] .lab-page .app-preview{background:#342842}.maker-section{background:color-mix(in srgb,#b1a5d7 20%,var(--paper));transition:background .7s}.app-preview{background:var(--surface)}.app-tile p{font-size:16px}.app-info div>span{font-size:12px!important}.app-gallery .app-info h3{font-size:23px}.career-section article,.beliefs article{border-color:var(--line)}.beliefs{background:var(--surface)}.personal-notes{background:var(--paper)}footer{background:var(--surface);color:var(--ink)}.footer-bottom{font-size:13px;gap:22px;flex-wrap:wrap}.footer-bottom .motion-toggle{display:flex;font-size:12px}.lightbox,.color-study{background:var(--paper);color:var(--ink)}.lightbox>p{font-size:14px}.close-lightbox,.close-color{font-size:14px}.reveal-ready{transform:translateY(26px);transition:opacity .7s var(--ease),transform .9s var(--ease)}.reveal-ready.is-visible{transform:none}.theme-changing::view-transition-old(root){animation:none}.theme-changing::view-transition-new(root){animation:theme-reveal .65s var(--ease);clip-path:circle(150% at var(--theme-x,90%) var(--theme-y,40px))}@keyframes theme-reveal{from{clip-path:circle(0 at var(--theme-x,90%) var(--theme-y,40px))}to{clip-path:circle(150% at var(--theme-x,90%) var(--theme-y,40px))}}@view-transition{navigation:auto}::view-transition-old(root){animation:route-out .22s ease both}::view-transition-new(root){animation:route-in .5s var(--ease) both}@keyframes route-out{to{opacity:0}}@keyframes route-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.signature-hero{padding-top:90px;padding-bottom:90px;min-height:720px}.hero-content{max-width:1440px}.signature-hero h1{font-size:126px}.hero-foot{max-width:1050px}.light-field{width:58%}.hero-name{font-size:28px}}
@media(max-width:1050px){.project-card{gap:30px;grid-template-columns:1fr 1fr}.project-card .project-heading h2{font-size:30px}.hero-foot{max-width:840px}.signature-hero{min-height:590px;padding-top:55px}.signature-hero h1{font-size:8.2vw}.header-actions{gap:15px}.case-lead{gap:28px}.gallery-media{padding:20px!important}.gallery-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))!important}.gallery-panel figcaption{display:block}.gallery-panel figcaption strong{margin-bottom:6px}.visual-linkedin .device-phone{width:32%;min-width:100px}.project-visual{padding:20px 12px}.device-phone{border-width:4px;border-radius:23px}.phone-status{height:20px;padding:0 9px;font-size:7px}.phone-status i{height:9px}.browser-chrome{height:25px}.browser-title{font-size:9px}}
@media(max-width:740px){.site-header,.site-header.scrolled{height:73px;padding:0 22px;gap:18px}.identity{font-size:33px;width:44px}.site-header nav{gap:20px;flex:1;justify-content:center}.site-header nav a{font-size:14px}.header-actions{gap:8px}.header-actions .contact-link,.header-actions .resume-link{display:none}.theme-toggle{width:37px;height:37px;padding:8px}.signature-hero{min-height:610px;padding:45px 24px 65px}.hero-name{font-size:23px;display:block}.hero-name>span{display:block;font-size:11px;border:0;padding:0;margin-top:6px;letter-spacing:.07em}.signature-hero h1{font-size:clamp(44px,8.55vw,66px);letter-spacing:-.055em;margin:32px 0 30px;line-height:1.13}.hero-foot{display:block}.hero-credentials p:first-child{font-size:18px;max-width:325px}.hero-credentials p:last-child{font-size:14px;max-width:350px}.hero-actions{flex-direction:row;align-items:center;gap:10px;margin-top:27px;flex-wrap:wrap}.primary-link{font-size:14px;padding:12px 18px;gap:20px}.hero-resume{font-size:13px;padding:8px}.light-field{width:100%;right:-22%;opacity:.5;mask-image:linear-gradient(to bottom,transparent,#000 40%,#000 85%,transparent)}.light-shift{bottom:15px;right:19px;font-size:11px}.selected-work{padding:28px 24px 60px}.work-index-heading{gap:12px;margin-bottom:5px}.work-index-heading h2{font-size:18px}.work-index-heading>p{font-size:12px}.project-card{display:flex;flex-direction:column;gap:24px;align-items:stretch;padding:30px 0 34px}.project-card .project-preview-wrap{order:0}.project-card .project-heading{order:1}.project-company{font-size:17px}.project-card .project-heading h2{font-size:29px;margin:16px 0 13px}.project-card .project-tease{font-size:16px;max-width:none;margin-bottom:16px}.project-card .project-caption{font-size:13px;margin-top:15px}.project-affordance{margin-top:16px;font-size:14px}.project-visual{aspect-ratio:1.4;padding:18px 12px;border-radius:10px}.visual-linkedin{gap:24px}.visual-linkedin .device-phone{width:30%;max-width:155px;min-width:95px}.device-browser{border-radius:7px}.browser-chrome{height:24px;padding:0 8px}.window-buttons{gap:4px}.window-buttons i{width:5px;height:5px}.browser-title{font-size:8px}.case-masthead{padding-top:25px}.case-masthead h1{font-size:62px}.case-deck{font-size:17px}.case-lead .project-visual{padding:18px 12px;aspect-ratio:1.4}.case-lead .visual-linkedin .device-phone{width:30%;max-width:145px}.case-lead-info{margin-top:18px}.case-body{padding-top:28px}.case-navigation a{font-size:13px!important}.chapter-opening h2{font-size:32px}.chapter-opening p{font-size:16px}.gallery-media{padding:14px!important;aspect-ratio:1.35;border-radius:8px}.gallery-heading{gap:10px}.gallery-heading h3{font-size:16px!important}.gallery-controls{gap:6px}.gallery-controls button{width:32px;min-width:32px;height:32px}.gallery-count{font-size:12px!important}.gallery-media .device-phone{min-width:100px;width:32%;border-width:3px;border-radius:21px}.gallery-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 12px!important;margin-top:20px!important}.gallery-tab>.thumb-title{font-size:13px!important;min-height:47px;padding-top:8px}.gallery-panel figcaption{font-size:14px;line-height:1.55;padding-top:14px}.gallery-panel figcaption strong{font-size:15px}.player-toolbar{gap:6px;font-size:12px}.player-toolbar button{padding:7px 3px}.player-pause>span:last-child{display:none}.player-time{font-size:11px}.gallery-media .zoom-label{font-size:11px}.case-page .takeaway{padding:25px}.footer-bottom{font-size:12px;gap:15px}.footer-top>a{font-size:clamp(45px,9.2vw,72px)}.app-gallery .app-info div>span{font-size:12px!important}.app-gallery .app-tile>p{font-size:16px}.app-gallery .app-tile>.text-link{font-size:14px}.about-hero p{font-size:16px}.career-section article p,.beliefs article p{font-size:16px}.career-section h4{font-size:15px}.about-hero .eyebrow{font-size:12px}}
@media(max-width:380px){.signature-hero h1{font-size:8.8vw}.hero-actions{gap:4px}.hero-resume{font-size:12px}.site-header{gap:12px}.site-header nav{gap:17px}.project-card .project-heading h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.hero-line>span{animation:none;transform:none}.light-field{opacity:.4}.theme-changing::view-transition-new(root),::view-transition-old(root),::view-transition-new(root){animation:none!important}.device,.project-card h2,body,.project-visual{transition:none}.reveal-ready{transform:none;opacity:1}}
.motion-paused .hero-line>span{animation:none;transform:none}
.device-phone-native .device-screen{aspect-ratio:.455;border-radius:21px}.device-phone-native .media-player{height:100%!important;overflow:hidden}.device-phone-native video{width:402%!important;max-width:none!important;margin-left:-151%;margin-top:-5.5%;height:auto!important}.device-native{box-shadow:none;background:none;border-radius:10px}.gallery-media:has(.device-native){padding:0!important;background:var(--surface)!important}.gallery-media .device-native{width:100%;height:100%;display:flex;align-items:center;background:var(--surface)}.gallery-media .device-native .device-screen{width:100%;background:none}.gallery-media .device-native video{max-height:none!important}.project-card .project-preview-wrap .play-preview{display:none!important}.device-screen .media-player{background:transparent}.gallery-media .device-phone .device-screen video{max-height:none!important}.site-header .theme-toggle{color:var(--ink)}
.device-phone-ready{border:0!important;box-shadow:none!important;background:none!important}.device-phone-ready .device-screen{background:none;border-radius:0}.device-phone-ready .device-screen video{max-height:none!important}
.gallery-media{width:100%!important;height:auto!important}.gallery-panel figcaption{background:transparent!important;border:0!important;min-height:0!important}.gallery-tab .thumb-image img{opacity:1!important;padding:5px!important}.gallery-tab .thumb-image{margin-top:0!important}.gallery-tab{opacity:.88}.gallery-tab[aria-selected=true]{opacity:1}.device-phone-native .device-screen:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:#fff}.case-sidebar{background:var(--paper)!important}

/* Interaction polish: paired colors, readable controls, and a quieter rhythm. */
:root{--muted:#5e6965;--line-strong:#7b8781;--on-accent:#fff;--play-surface:#eee9f7;--control-hover:#e7ebe6;--space-section:clamp(56px,6vw,96px)}
:root[data-theme=dark]{--muted:#b9c4be;--line:#3b4943;--line-strong:#81948a;--on-accent:#161b1b;--play-surface:#292436;--control-hover:#344139}
.maker-section{background:var(--play-surface)}
.maker-intro p,.app-tile>p,.app-info div>span,.rail-controls{color:var(--muted)}
.maker-section h2,.app-info h3,.app-tile>.text-link{color:var(--ink)}
.career-section,.beliefs,footer{background:var(--surface)}
.footer-top .eyebrow,.footer-bottom{color:var(--muted)}
.footer-bottom{border-color:var(--line);align-items:center;row-gap:16px}
.footer-bottom a:hover,.footer-top>a:hover{color:var(--accent)}
.rail-controls button{border-color:var(--line-strong);color:var(--ink)}
.rail-controls button:hover{background:var(--control-hover)}
.rail-controls button:disabled{opacity:.38}
.primary-link:hover{color:var(--on-accent)}
.theme-toggle{border-color:var(--line-strong)}
.case-navigation a>span{opacity:1;color:var(--muted)}
.case-navigation a.active>span{color:var(--project)}
.next-case>div:nth-child(2){background:var(--surface);border-radius:8px}
.next-case{border-radius:12px;padding:32px;gap:32px;margin-bottom:48px}
[data-theme=dark] .lab-page{--muted:#c5bbd5;--line:#493d56;--control-hover:#40334f}
[data-theme=dark] .app-preview,[data-theme=dark] .app-gallery .app-preview{background:#343042}
[data-theme=dark] .app-parla .app-preview{background:#26364d}
[data-theme=dark] .app-daymark .app-preview{background:#493329}
[data-theme=dark] .app-path .app-preview{background:#303e28}
[data-theme=dark] .app-verba .app-preview{background:#263e40}
[data-theme=dark] .app-stylespark .app-preview{background:#422e40}
.player-toolbar{gap:12px;min-height:52px;padding-top:4px}
.player-toolbar button{min-width:44px;min-height:44px;padding:10px;color:var(--ink);border-radius:8px;font-size:14px;justify-content:center}
.player-toolbar button:hover{background:var(--control-hover);color:var(--ink)}
.player-toolbar .player-time{font-size:12px;color:var(--muted)}
.player-scrub{height:44px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;touch-action:pan-y}
.player-scrub::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:var(--line-strong)}
.player-scrub::-moz-range-track{height:3px;border-radius:3px;background:var(--line-strong)}
.player-scrub::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin-top:-5.5px;background:var(--project);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--project);border-radius:50%}
.player-scrub::-moz-range-thumb{width:12px;height:12px;background:var(--project);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--project);border-radius:50%}
.gallery-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;margin-bottom:16px}
.gallery-heading h3{font-size:18px!important;letter-spacing:-.02em}
.gallery-count{font-variant-numeric:tabular-nums;min-width:50px;text-align:center;color:var(--muted)}
.gallery-controls{gap:8px}
.gallery-controls button{width:44px;height:44px;min-width:44px;border-color:var(--line-strong)!important;border-radius:50%;transition:background .2s,transform .2s}
.gallery-controls button:active{transform:scale(.92)}
.gallery-controls button:disabled{opacity:.35;pointer-events:none}
.gallery-stage{overflow:visible;border-radius:12px}
.gallery-media{width:100%!important;height:auto!important;aspect-ratio:1.48;isolation:isolate}
.gallery-media .device{flex-shrink:0}
.gallery-panel figcaption{display:grid;grid-template-columns:minmax(145px,.75fr) minmax(0,1.5fr);gap:20px;padding:18px 0 0;min-height:88px!important;align-content:start;font-size:15px;line-height:1.65;background:transparent!important}
.gallery-panel figcaption strong{font-size:15px;line-height:1.6;margin:0}
.gallery-description{color:var(--muted)}
.gallery-thumbnails{gap:20px 16px!important;padding:5px!important;margin:16px -5px 0!important}
.gallery-tab{opacity:1;padding:0 0 10px!important;border-radius:7px 7px 0 0;transition:background .2s,border-color .2s;transform:none!important}
.gallery-tab .thumb-image{border-color:var(--line);border-radius:7px;transition:border-color .2s,box-shadow .2s}
.gallery-tab:hover .thumb-image{border-color:var(--line-strong)}
.gallery-tab[aria-selected=true] .thumb-image{border-color:var(--project);box-shadow:0 0 0 1px var(--project)}
.gallery-tab .thumb-image img{opacity:1!important;padding:4px!important}
.gallery-tab>.thumb-title{font-size:14px!important;line-height:1.5;min-height:52px;padding-top:10px;margin:0}
.gallery-tab[aria-selected=true]>.thumb-title{font-weight:600;color:var(--ink)}
.thumb-image .thumb-kind{font-size:12px;color:#fff!important;background:#14201fe8;padding:2px 5px;margin:0}
.gallery-hint,.gallery-browse{display:none}
.gallery-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.gallery-media[data-dragging]{will-change:transform;user-select:none}
.gallery-media img{-webkit-user-drag:none}
.gallery-panel:focus-visible{outline-color:var(--project);border-radius:10px}
.artifact-gallery{margin:32px 0 48px}
.narrative-chapter{padding-top:40px;margin-bottom:64px}
.chapter-opening{gap:20px}
.chapter-opening p{line-height:1.8}
.chapter-note{border-radius:0 10px 10px 0}
.contribution{padding-bottom:8px}
.personal-section,.career-section,.beliefs{padding-top:var(--space-section);padding-bottom:var(--space-section)}
.section-title{margin-bottom:40px}
.career-section article{gap:32px;padding:28px 0}
.career-section article p{font-size:16px}
.maker-section{padding-top:var(--space-section);padding-bottom:40px}
.maker-intro{margin-bottom:40px}
.app-info{margin-top:20px}
.app-tile>p{font-size:16px;line-height:1.65}
.app-info>a{min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:50%;transition:background .2s}
.app-info>a:hover{background:var(--control-hover)}
.app-rail{scroll-snap-type:x proximity;scroll-padding-inline:var(--gutter);-webkit-overflow-scrolling:touch;gap:28px}
.app-gallery{row-gap:56px}
.light-shift,.hero-resume,.resume-link{min-height:44px;align-content:center}
.footer-bottom .motion-toggle{min-height:44px;gap:8px;font-size:13px}
.footer-bottom .motion-label{display:inline}
.color-study .close-color,.close-lightbox{min-height:44px;min-width:44px;font-size:14px}
.color-study .color-pair span,.color-study .hue-label,.color-study .study-app-link,.color-result button{font-size:14px}
.lightbox{padding:64px 24px 24px;width:min(1400px,96vw);height:92dvh}
.lightbox img{width:100%;min-width:0;max-width:none}
.lightbox p{font-size:13px}
:focus-visible{outline-color:var(--project,var(--accent));outline-width:2px;outline-offset:5px}
@media(min-width:761px){.case-lead .project-visual{max-height:none!important}.gallery-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr))!important}.gallery-heading:has(.gallery-count:only-child){display:flex}}
@media(max-width:1050px) and (min-width:761px){.gallery-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){
 :root{--gutter:24px;--space-section:56px}
 html{scroll-padding-top:144px}
 .site-header,.site-header.scrolled{height:72px;padding:0 20px;gap:18px}
 .site-header nav a{min-height:44px;display:flex;align-items:center;font-size:14px}
 .theme-toggle{width:44px;height:44px}
 .signature-hero{min-height:0;padding:42px 24px 76px}
 .signature-hero h1{margin:28px 0 28px;line-height:1.15}
 .hero-foot{display:block}.hero-actions{margin-top:26px;gap:12px}
 .hero-credentials p:first-child{font-size:18px;line-height:1.55}.hero-credentials p:last-child{font-size:15px;line-height:1.65}
 .hero-resume{padding:10px 0;font-size:14px}
 .light-shift{bottom:14px;right:20px;font-size:12px}
 .selected-work{padding:24px 24px 52px}
 .work-section-heading{align-items:flex-start;padding:16px 0 4px;gap:24px}
 .work-section-heading>span{line-height:1.5;font-size:12px;max-width:146px}
 .project-card{padding:28px 0 32px;gap:22px}
 .project-card .project-heading h2{margin:16px 0 14px;font-size:30px;line-height:1.2}
 .project-card .project-tease{line-height:1.65;margin-bottom:16px}
 .project-card .project-caption{font-size:14px;margin-top:0}
 .project-affordance{margin-top:18px;min-height:44px}
 .project-visual{aspect-ratio:1.43;padding:16px 12px}
 .maker-intro{display:block;margin-bottom:28px}
 .maker-intro h2{margin-bottom:22px;font-size:44px;line-height:1.12}
 .maker-intro p{font-size:16px;line-height:1.7;max-width:35ch;margin-bottom:20px}
 .maker-intro>.eyebrow{margin-bottom:20px}
 .maker-links{gap:16px;flex-wrap:wrap}.maker-links button{font-size:14px;min-height:44px}
 .app-rail{grid-auto-columns:78%;gap:20px;padding-bottom:24px}
 .app-preview{padding:26px}.app-rail .phone-shell{max-width:176px}
 .rail-controls{gap:16px;margin-top:10px;font-size:13px}
 .rail-controls button{width:44px;height:44px}
 .app-info div>span{font-size:13px!important}
 .app-tile>.text-link{font-size:14px;min-height:44px}
 .app-gallery{gap:44px;padding-top:0;padding-bottom:56px}
 .page-intro{padding-bottom:40px}.lab-intro p{font-size:17px}
 .lab-actions>span{font-size:12px}
 .personal-section{gap:28px}.personal-copy h2{font-size:36px;line-height:1.15;margin-bottom:22px}
 .personal-photo{max-width:280px}.personal-copy p{line-height:1.75}
 .about-hero{padding-top:36px;padding-bottom:48px;gap:26px}
 .about-hero h1{margin-bottom:26px}.about-hero figure{padding-top:0}
 .section-title{display:block;margin-bottom:28px}.section-title h2,.beliefs h2{font-size:36px;line-height:1.15}
 .career-section article{gap:12px 20px;padding:24px 0}
 .career-section article>span{padding-top:0;font-size:13px}.career-section h3{font-size:28px}.career-section h4{font-size:16px}
 .career-section article p{font-size:16px;line-height:1.65}
 .beliefs{gap:28px}.beliefs article{padding-top:22px;padding-bottom:24px}
 .personal-notes{padding:48px 0 56px}.personal-notes h2{margin-bottom:28px}
 .case-masthead{padding-top:24px;padding-bottom:28px}.case-masthead .back-link{margin-bottom:26px;min-height:44px;align-content:center}
 .case-masthead .eyebrow{font-size:12px;line-height:1.6}
 .case-masthead h1{font-size:clamp(48px,13vw,66px);line-height:1.07}
 .case-deck{font-size:18px;margin-top:20px;line-height:1.55}
 .case-lead{padding-bottom:32px}.case-lead .project-visual{padding:16px;aspect-ratio:1.43}
 .case-lead-info{gap:22px;margin-top:24px}.case-lead-info p{font-size:15px;line-height:1.6}
 .case-lead-caption{padding-top:6px;font-size:13px}
 .case-body{padding-top:0;padding-bottom:8px}.case-sidebar{top:72px;padding-top:0;border-top:0;margin-bottom:28px;background:var(--paper)!important}
 .case-sidebar .case-navigation{gap:22px;scroll-padding-inline:24px;scroll-snap-type:x proximity}
 .case-navigation a{min-height:56px;padding:16px 0;gap:8px;scroll-snap-align:start;font-size:14px!important}
 .case-navigation a>span{font-size:12px}
 .case-sidebar .reading-track{height:2px}
 .contribution{margin-bottom:32px;padding-bottom:0}.contribution p{font-size:16px;line-height:1.75}
 .narrative-chapter{padding-top:28px;margin-bottom:48px;scroll-margin-top:148px}
 .chapter-opening{gap:18px;margin-bottom:24px}.chapter-opening h2{font-size:32px;line-height:1.2}.chapter-opening p{line-height:1.75}
 .chapter-note{padding:22px;margin:24px 0 28px}.chapter-note p{font-size:21px;line-height:1.5}
 .artifact-gallery{margin:28px 0 40px}
 .gallery-heading{grid-template-columns:auto 1fr auto;gap:10px 12px;margin-bottom:14px}
 .gallery-heading h3{grid-column:1/-1;font-size:18px!important;line-height:1.4}
 .gallery-count{font-size:14px!important;min-width:48px;text-align:left}
 .gallery-hint{display:block;text-align:center;font-size:12px;color:var(--muted);white-space:nowrap}
 .gallery-media{aspect-ratio:1.35;touch-action:pan-y pinch-zoom;cursor:grab;padding:14px!important}
 .gallery-media[data-dragging]{cursor:grabbing}
 .gallery-controls{gap:6px}.gallery-controls button{width:44px;height:44px;min-width:44px}
 .gallery-panel figcaption{display:flex;flex-direction:column;gap:6px;min-height:112px!important;padding:16px 0 0;font-size:14px;line-height:1.6}
 .gallery-panel figcaption strong{flex:none;font-size:15px;line-height:1.45}
 .gallery-media .device-phone{min-width:0;width:30%;border-width:3px}.gallery-media .device-phone-ready{width:31%}
 .gallery-media .zoom-label{right:5px;bottom:5px;min-height:36px;display:flex;align-items:center;padding:6px 12px;font-size:12px;border:1px solid var(--line)}
 .player-toolbar{gap:8px;padding:0;min-height:48px}.player-toolbar button{padding:8px}
 .player-toolbar .player-expand{margin-left:0}.player-toolbar .player-time{font-size:12px}
 .gallery-browse{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;min-height:44px}
 .gallery-browse>span{font-size:13px;color:var(--muted)}
 .gallery-overview{border:1px solid var(--line-strong);background:transparent;color:var(--ink);border-radius:24px;min-height:44px;padding:10px 16px;font-size:13px}
 .gallery-overview:active{background:var(--control-hover)}
 .gallery-thumbnails{display:flex!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;scroll-padding-inline:5px;margin-top:8px!important;padding:5px 5px 12px!important;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .gallery-tab{flex:0 0 clamp(138px,39vw,180px);height:auto!important;scroll-snap-align:start;align-self:stretch;min-height:134px;border-bottom-width:2px!important}
 .gallery-tab>.thumb-title{font-size:14px!important;min-height:52px;padding-top:10px}
 .gallery-tab .thumb-image{aspect-ratio:1.5}.gallery-tab .thumb-image img{aspect-ratio:1.5}
 .gallery-thumbnails[data-layout=grid]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important;gap:18px 14px!important}
 .gallery-thumbnails[data-layout=grid] .gallery-tab{min-width:0;width:100%}
 .gallery-thumbnails[data-layout=grid] .thumb-title{-webkit-line-clamp:3;min-height:52px}
 .gallery-single .gallery-heading{display:block}.gallery-single .gallery-thumbnails,.gallery-single .gallery-browse,.gallery-single .gallery-count,.gallery-single .gallery-controls,.gallery-single .gallery-hint{display:none!important}
 .next-case{margin:0 24px 40px;padding:26px;grid-template-columns:1fr auto;gap:18px}.next-case h2{font-size:38px}.next-case>span{font-size:45px}.next-case .eyebrow{margin-bottom:16px}
 footer{padding:48px 24px 24px}.footer-top>a{font-size:48px;line-height:1.12;padding-bottom:32px}.footer-top .eyebrow{margin-bottom:24px;font-size:12px}
 .footer-bottom{gap:12px 20px;font-size:13px;padding-top:20px}.footer-bottom a{min-height:44px;align-content:center}.footer-bottom>span{line-height:1.6}
 .lightbox{width:calc(100vw - 20px);height:90dvh;padding:64px 12px 18px;border-radius:12px}.lightbox-scroll{touch-action:pan-x pan-y pinch-zoom}
 .color-study{padding:60px 24px 28px}.color-study h2{font-size:34px}.color-pair{gap:30px}
}
@media(max-width:380px){.site-header{gap:12px;padding-inline:18px}.site-header nav{gap:18px}.signature-hero h1{font-size:clamp(30px,8.6vw,40px)}.hero-actions{gap:6px}.hero-resume{font-size:13px}.hero-credentials p:first-child{font-size:17px}.gallery-hint{font-size:12px}.gallery-heading{column-gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-media{transition:none!important}.app-rail,.gallery-thumbnails{scroll-behavior:auto}}

/* A product-led opening: one real project, seen from two sides. */
.ui-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.15em;pointer-events:none}
.work-hero{padding:58px var(--gutter) 64px;min-height:0;overflow:clip}
.work-hero .hero-content{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(40px,5vw,80px);max-width:1440px}
.work-hero .hero-name{display:block;font-size:24px;line-height:1.4;margin:0}
.work-hero .hero-name>span{display:block;border:0;padding:0;margin-top:7px;font-size:11px;letter-spacing:.09em}
.work-hero h1{font-size:clamp(52px,5.35vw,82px);line-height:1.06;letter-spacing:-.06em;margin:29px 0 27px}
.work-hero .hero-line:nth-child(3)>span{animation-delay:.24s}
.work-hero .hero-foot{display:block;max-width:none}
.work-hero .hero-credentials p:first-child{font-size:17px;line-height:1.65;margin-bottom:11px;max-width:400px}
.work-hero .hero-credentials p:last-child{font-size:14px;line-height:1.65;max-width:400px}
.work-hero .hero-actions{flex-direction:row;align-items:center;gap:24px;margin-top:27px}
.work-hero .primary-link{padding:13px 20px;font-size:14px;gap:24px}
.work-hero .hero-resume{font-size:14px;padding:10px 0;display:flex;align-items:center;gap:12px}
.hero-explorer{min-width:0;--accent:var(--project)}
.hero-explorer-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 13px}
.hero-explorer-heading>p{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hero-explorer .hero-motion{display:flex;align-items:center;gap:7px;padding:10px 0 10px 12px;min-height:44px;border:0;background:none;color:var(--muted);font-size:12px}
.hero-motion .motion-label{display:inline}
.hero-project-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);gap:8px;margin-bottom:20px}
.hero-project-tabs button{position:relative;min-height:44px;padding:9px 4px 14px;border:0;background:none;font-size:14px;font-weight:500;color:var(--muted);transition:color .2s}
.hero-project-tabs button:after{content:'';position:absolute;inset:auto 0 -1px;height:2px;background:var(--project);transform:scaleX(0);transition:transform .35s var(--ease)}
.hero-project-tabs button[aria-selected=true]{color:var(--ink)}
.hero-project-tabs button[aria-selected=true]:after{transform:scaleX(1)}
.hero-project-tabs button:hover{color:var(--project)}
.hero-viewport{min-width:0}
.hero-panel[hidden],.hero-panel [hidden]{display:none!important}
.hero-stage{position:relative;aspect-ratio:1.4;overflow:hidden;background:var(--project-wash);border-radius:12px;touch-action:pan-y pinch-zoom;isolation:isolate;transition:background .5s}
.hero-product,.hero-process{position:absolute;inset:0;width:100%;height:100%}
.hero-stage .project-visual{height:100%;width:100%;aspect-ratio:auto;padding:24px 18px;overflow:hidden;border-radius:0}
.hero-stage .visual-linkedin{padding:18px}
.hero-stage .visual-linkedin .device-phone{width:29%;max-width:160px;min-width:95px}
.hero-process{padding:18px;display:flex;align-items:center;justify-content:center}
.hero-process img{width:100%;height:100%;object-fit:contain;border-radius:4px;user-select:none;-webkit-user-drag:none}
.hero-stage .device-browser{border-radius:8px}
.hero-stage .browser-chrome{height:27px}
.hero-project-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-top:19px;min-height:90px}
.hero-project-caption strong{font-size:16px;font-weight:600;letter-spacing:-.025em;color:var(--ink)}
.hero-project-caption p{font-size:13px;line-height:1.6;max-width:310px;margin:6px 0 0}
.hero-project-caption>a{flex:none;display:flex;align-items:center;gap:10px;min-height:44px;font-size:13px;color:var(--project);margin-top:-9px;border-bottom:1px solid transparent}
.hero-project-caption>a:hover{border-color:currentColor}
.hero-project-caption>a .ui-icon{width:19px;height:19px;transition:transform .25s}
.hero-project-caption>a:hover .ui-icon{transform:translate(2px,-2px)}
.hero-explorer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px;padding-top:18px;border-top:1px solid var(--line)}
.hero-mode{display:flex;gap:4px;padding:4px;border-radius:50px;background:var(--surface);border:1px solid var(--line)}
.hero-mode button{min-height:44px;min-width:84px;background:none;border:0;border-radius:30px;padding:8px 17px;color:var(--muted);font-size:13px;transition:background .25s,color .25s,box-shadow .25s}
.hero-mode button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.hero-mode button:hover:not([aria-pressed=true]){background:var(--control-hover);color:var(--ink)}
.hero-swipe-hint{font-size:12px;color:var(--muted);display:none}
.app-preview{position:relative}
.app-preview-link{position:absolute;inset:0;z-index:2;border-radius:inherit}
.app-preview-link>span{position:absolute;inset:auto 12px 12px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:9px 14px;border-radius:30px;background:var(--paper);color:var(--ink);font-size:12px;box-shadow:0 2px 14px #0001;transform:translateY(6px);opacity:0;transition:opacity .2s,transform .3s}
.app-preview-link:hover>span,.app-preview-link:focus-visible>span{opacity:1;transform:none}
.app-preview .play-preview{z-index:3;bottom:62px}
.app-info h3 a{display:inline-flex;align-items:center;min-height:44px;transition:color .2s}
.app-info h3 a:hover{color:var(--accent)}
.app-tile>.text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.color-study .study-app-link{display:flex;align-items:center;gap:12px;min-height:76px;padding:17px 0 0;border:0;border-top:1px solid var(--line);font-size:14px;color:var(--ink);text-decoration:none}
.study-app-link img{width:40px;height:40px;border-radius:10px}
.study-app-name{display:flex;flex-direction:column;gap:3px;line-height:1.45}
.study-app-name strong{font-weight:600}
.study-app-name>span{font-size:12px;color:var(--muted)}
.study-app-cta{display:flex;align-items:center;gap:7px;margin-left:auto;white-space:nowrap;font-size:12px}
.study-app-link:hover .study-app-cta{color:var(--accent)}
.color-study .color-result{min-height:48px;margin-bottom:25px}
@media(min-width:1600px){.work-hero{padding-top:72px;padding-bottom:80px}.work-hero h1{font-size:86px}}
@media(max-width:1100px) and (min-width:761px){.work-hero .hero-content{gap:32px}.work-hero h1{font-size:5.7vw}.work-hero .hero-credentials p:first-child{font-size:16px}.hero-project-caption>a span{display:none}.hero-stage{aspect-ratio:1.25}.hero-project-caption p{max-width:230px}}
@media(max-width:760px){
 .work-hero{padding:34px 24px 40px}.work-hero .hero-content{display:flex;flex-direction:column;align-items:stretch;gap:32px}.work-hero .hero-name{font-size:23px}.work-hero .hero-name>span{font-size:10px;margin-top:5px}
 .work-hero h1{font-size:clamp(46px,9.2vw,66px);line-height:1.08;margin:24px 0}.work-hero .hero-line{display:inline;overflow:visible;padding:0;margin:0}.work-hero .hero-line>span{display:inline;animation:none}.work-hero .hero-line:first-child{display:block}.work-hero .hero-line:nth-child(2):after{content:' '}
 .work-hero .hero-credentials p:first-child{font-size:16px;line-height:1.65;max-width:none;margin-bottom:9px}.work-hero .hero-credentials p:last-child{font-size:13px;max-width:none}.work-hero .hero-actions{margin-top:22px;gap:22px}.work-hero .primary-link{padding:12px 18px;font-size:14px}.work-hero .hero-resume{font-size:14px}
 .hero-explorer-heading{margin-bottom:3px}.hero-explorer-heading>p{font-size:11px}.hero-project-tabs{gap:4px;margin-bottom:16px}.hero-project-tabs button{font-size:13px;padding-bottom:12px}.hero-stage{aspect-ratio:1.42}.hero-stage .project-visual{padding:20px 12px}.hero-stage .browser-chrome{height:22px}.hero-stage .browser-title{font-size:8px}.hero-stage .window-buttons i{width:4px;height:4px}.hero-stage .visual-linkedin{padding:14px}.hero-stage .visual-linkedin .device-phone{width:28%;min-width:80px;border-width:3px;border-radius:22px}.hero-stage .phone-status{height:15px;padding:0 7px;font-size:6px}.hero-stage .phone-status i{height:6px}.hero-process{padding:12px}
 .hero-project-caption{padding-top:15px;gap:14px;min-height:89px}.hero-project-caption strong{font-size:15px}.hero-project-caption p{font-size:12px;max-width:220px}.hero-project-caption>a{font-size:12px;gap:6px}.hero-project-caption>a span{display:none}.hero-project-caption>a{width:44px;border:1px solid var(--line);border-radius:50%;justify-content:center;margin-top:0}.hero-project-caption>a:hover{background:var(--project-wash)}
 .hero-explorer-bottom{margin-top:4px;padding-top:14px}.hero-mode button{min-height:44px;min-width:78px;padding:8px 14px}.hero-swipe-hint{display:block;font-size:11px}
 .color-study .study-app-link{gap:10px}.study-app-name>span{font-size:11px}.study-app-cta{font-size:11px;gap:5px}
}
@media(max-width:360px){.work-hero{padding-inline:20px}.work-hero h1{font-size:43px}.work-hero .hero-name{font-size:22px}.work-hero .hero-actions{gap:16px}.work-hero .primary-link{gap:14px;padding-inline:15px}.hero-mode button{min-width:66px;padding-inline:12px}.hero-swipe-hint{font-size:10px}.study-app-cta{font-size:10px}.color-study .study-app-link{gap:8px}.study-app-link img{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.hero-project-tabs button:after,.hero-mode button,.hero-stage,.app-preview-link>span{transition:none}}
.motion-paused .hero-project-tabs button:after,.motion-paused .hero-stage{transition:none}
