:root{color-scheme:light;--color-bg: #f8f4ec;--color-bg-raised: #fdfbf5;--color-ink: #1e1a12;--color-ink-soft: rgba(30, 26, 18, .62);--color-ink-faint: rgba(30, 26, 18, .34);--color-line: rgba(30, 26, 18, .12);--color-accent: #b5482a;--font-display: -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Arial, sans-serif;--font-hero: var(--font-display);--font-body: var(--font-display);--edge: clamp(20px, 4vw, 56px);--nav-h: 84px;--radius: 6px;--ease: cubic-bezier(.16, 1, .3, 1)}:root[data-theme=dark]{color-scheme:dark;--color-bg: #0c0b0d;--color-bg-raised: #161417;--color-ink: #f3efe9;--color-ink-soft: rgba(243, 239, 233, .62);--color-ink-faint: rgba(243, 239, 233, .32);--color-line: rgba(243, 239, 233, .14);--color-accent: #6c5ce7}*{box-sizing:border-box}::selection{background:var(--color-accent);color:var(--color-bg)}::-moz-selection{background:var(--color-accent);color:var(--color-bg)}@media(hover:hover)and (pointer:fine){*,*:before,*:after{cursor:none!important}}html,body{margin:0;padding:0}html{background:var(--color-bg)}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background .6s var(--ease),color .6s var(--ease)}#root{position:relative;min-height:100vh}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4,p{margin:0}button{font-family:inherit;background:none;border:none;color:inherit;cursor:pointer;padding:0}.boutonDemo{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border:1px solid var(--color-ink);border-radius:999px;font-family:var(--font-display);font-size:15px;color:var(--color-ink);transition:background .35s var(--ease),color .35s var(--ease)}.boutonDemo:hover{background:var(--color-ink);color:var(--color-bg)}.videoPlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:11px;width:max-content;max-width:calc(100% - 24px);white-space:nowrap;padding:14px 26px;border:1px solid rgba(255,255,255,.45);border-radius:999px;overflow:hidden;font-family:var(--font-display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#ffffff38,#ffffff0a);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 8px 32px #00000047,inset 0 1px #ffffff80;cursor:pointer;transition:border-color .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease),background .4s var(--ease)}.clipRow{position:relative;margin-top:48px;display:flex;gap:16px;flex-wrap:wrap}.clipTile{position:relative;flex:1 1 0;min-width:240px;aspect-ratio:9 / 16;border-radius:var(--radius);overflow:hidden;background:#0c0b0d}.clipTile__poster,.clipTile__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.clipTile__poster,.clipTile__video{transition:opacity .5s ease}.clipTile:fullscreen{width:100vw;height:100vh;aspect-ratio:auto}.clipTile:fullscreen .clipTile__video{object-fit:contain}.videoPlay--dock{top:auto;bottom:22px;transform:translate(-50%)}.videoPlay--dock:hover{transform:translate(-50%) scale(1.04)}.videoPlay:before{content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skew(-18deg);animation:videoPlaySheen 3.6s var(--ease) infinite;pointer-events:none}.videoPlay:hover{transform:translate(-50%,-50%) scale(1.04);border-color:#ffffffd9;background:linear-gradient(135deg,#ffffff4d,#ffffff14);box-shadow:0 10px 40px #00000059,inset 0 1px #ffffffb3}.videoPlay__icon{flex:none;filter:drop-shadow(0 1px 4px rgba(0,0,0,.35))}.videoPlay__label{text-shadow:0 1px 10px rgba(0,0,0,.4)}@keyframes videoPlaySheen{0%{left:-60%}55%,to{left:130%}}@media(prefers-reduced-motion:reduce){.videoPlay:before{animation:none}}.videoBack{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid rgba(255,255,255,.6);border-radius:999px;font-family:var(--font-display);font-size:13px;color:#fff;background:#0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;transition:background .35s var(--ease)}.videoBack:hover{background:#0000008c}.musicExp{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f3ead9}.musicExp .videoPlay{z-index:4;top:auto;bottom:22px;left:50%;right:auto;transform:translate(-50%);color:#44417e;border-color:#44417e52;background:linear-gradient(135deg,#ffffffb8,#ffffff6b);box-shadow:0 10px 28px #28263c2e,inset 0 1px #fffc}.musicExp .videoPlay:hover{transform:translate(-50%) scale(1.04);border-color:#44417e8c;background:linear-gradient(135deg,#ffffffd9,#ffffff8c);box-shadow:0 12px 34px #28263c3d,inset 0 1px #ffffffe6}.musicExp .videoPlay__icon{filter:none}.musicExp .videoPlay__label{text-shadow:none}.musicExp .videoPlay:before{display:none}.musicExp__art{position:relative;z-index:1;max-width:78%;max-height:82%;object-fit:contain;border-radius:10px;box-shadow:0 24px 60px #282c3c4d;transition:opacity .6s var(--ease)}.musicExp[data-playing=true] .musicExp__art{animation:musicArtBreathe 7s ease-in-out infinite}.musicExp__loader{position:absolute;z-index:2;display:inline-flex;gap:8px}.musicExp__loader span{width:9px;height:9px;border-radius:50%;background:#44417e;opacity:.4;animation:musicLoaderPulse 1.1s ease-in-out infinite}.musicExp__loader span:nth-child(2){animation-delay:.18s}.musicExp__loader span:nth-child(3){animation-delay:.36s}@keyframes musicArtBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes musicLoaderPulse{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:.9;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.musicExp[data-playing=true] .musicExp__art{animation:none}}.pageLoader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--color-bg);animation:pageLoaderIn .25s var(--ease)}.pageLoader__dots{display:inline-flex;gap:9px}.pageLoader__dots span{width:9px;height:9px;border-radius:50%;background:var(--color-ink);opacity:.35;animation:musicLoaderPulse 1.1s ease-in-out infinite}.pageLoader__dots span:nth-child(2){animation-delay:.18s}.pageLoader__dots span:nth-child(3){animation-delay:.36s}.pageLoader__pct{font-family:var(--font-display);font-size:28px;font-weight:500;color:var(--color-ink);font-variant-numeric:tabular-nums}.pageLoader__label{font-family:var(--font-display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-soft)}@keyframes pageLoaderIn{0%{opacity:0}to{opacity:1}}.eyebrow{font-family:var(--font-display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-soft)}.split-line{display:block;overflow:hidden;vertical-align:top}.split-word,.split-char{display:inline-block;will-change:transform}.split-word{white-space:nowrap}.pw-word{display:inline-block;white-space:nowrap;cursor:pointer;font-weight:700;border-bottom:.055em solid var(--color-accent);transition:border-color .35s var(--ease)}.pw-roll{position:relative;display:inline-block;overflow:hidden;vertical-align:top;padding:0 .1em;margin:0 -.1em}.pw-face{display:block;transition:transform .5s cubic-bezier(.76,0,.24,1)}.pw-face--twin{position:absolute;top:0;right:0;bottom:0;left:0;transform:translateY(110%);color:var(--color-accent)}.pw-word:hover{border-color:transparent}.pw-word:hover .pw-face{transform:translateY(-110%)}.pw-word:hover .pw-face--twin{transform:translateY(0)}@media(prefers-reduced-motion:reduce){.pw-face{transition:none}}.hide-on-touch{display:block}@media(hover:none){.hide-on-touch{display:none}}.hero{position:relative;min-height:100svh;padding:var(--edge);overflow:hidden}.hero__roles{position:absolute;left:var(--edge);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:18px;z-index:2}.hero__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 var(--edge);gap:24px;z-index:2;pointer-events:none}.hero__title{font-family:var(--font-hero);font-weight:800;font-size:clamp(56px,12vw,190px);line-height:1;letter-spacing:-.04em;text-transform:uppercase}.hero__title em{font-style:normal;font-weight:800;color:var(--color-ink)}.hero__title .split-line,.hero__title .split-word,.hero__title .split-char{line-height:1.12}.hero__title .split-line{padding:.1em .12em;margin:-.1em -.12em}.hero__tagline{font-size:clamp(14px,1.6vw,18px);color:var(--color-ink-soft);max-width:460px;pointer-events:auto}.hero__foot{position:absolute;left:var(--edge);right:var(--edge);bottom:var(--edge);display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;z-index:2}@media(max-width:760px){:root{--nav-h: 64px}.hero__roles{top:calc(var(--nav-h) + 8px);transform:none;flex-direction:row;flex-wrap:wrap;gap:10px 16px}.hero__center{justify-content:center}.hero__foot{flex-direction:column;align-items:flex-start;gap:6px}}.work-layout{display:flex;gap:64px}.work-main{flex:1;min-width:0}.work-list{min-width:0}.work-section__title{font-family:var(--font-display);font-weight:500;font-size:clamp(36px,6vw,72px);margin:72px 0 24px}.work-preview{width:320px;flex-shrink:0;position:sticky;top:calc(var(--nav-h) + 22px);align-self:flex-start}@media(max-width:860px){.work-preview,.work-row__cat{display:none}}@media(max-width:600px){.row-meta-stack{flex-direction:column;align-items:flex-start!important;gap:6px}.videoPlay{gap:0;padding:16px}.videoPlay__label{display:none}.videoPlay__icon{width:17px;height:17px}}.projGallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:16px;padding-bottom:80px}.projGallery>img,.projGallery>video{cursor:pointer}.projGallery__more{align-self:stretch;height:100%;min-height:180px;display:flex;align-items:center;justify-content:center;width:100%;border-radius:var(--radius);border:1px solid var(--color-line);background:#00000052;color:var(--color-ink-soft);transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}.projGallery__more:hover{background:#00000073;color:var(--color-ink);transform:translateY(-2px)}.projGallery__plus{font-size:44px;font-weight:300;line-height:1}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:clamp(24px,6vw,80px);background:#000000d1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:lightboxIn .3s var(--ease)}.lightbox__img{max-width:min(92vw,1100px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:var(--radius);box-shadow:0 24px 70px #00000080}.lightbox__close{position:absolute;top:clamp(16px,3vw,32px);right:clamp(16px,3vw,32px);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.5);font-size:18px;color:#fff;background:#00000059;transition:background .3s var(--ease)}.lightbox__close:hover{background:#0009}@keyframes lightboxIn{0%{opacity:0}to{opacity:1}}.musicCtrl{position:fixed;right:var(--edge);bottom:calc(var(--edge) + 30px);z-index:60;width:48px;height:48px;border-radius:14px;background:#0a0a0c;color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 30px #00000073;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease);animation:musicCtrlIn .4s var(--ease) both}.musicCtrl:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 14px 38px #0000008c}.musicCtrl__bars{display:flex;align-items:center;gap:3px;height:18px}.musicCtrl__bar{width:3px;height:100%;border-radius:2px;background:currentColor;transform:scaleY(.3);transform-origin:center}.musicCtrl[data-playing=true] .musicCtrl__bar{animation:musicCtrlBar .9s ease-in-out infinite}.musicCtrl[data-playing=true] .musicCtrl__bar:nth-child(1){animation-delay:-.2s}.musicCtrl[data-playing=true] .musicCtrl__bar:nth-child(2){animation-delay:-.6s}.musicCtrl[data-playing=true] .musicCtrl__bar:nth-child(3){animation-delay:-.1s}.musicCtrl[data-playing=true] .musicCtrl__bar:nth-child(4){animation-delay:-.45s}.musicCtrl[data-playing=true] .musicCtrl__bar:nth-child(5){animation-delay:-.8s}.musicCtrl[data-playing=false] .musicCtrl__bar{transform:scaleY(.28);opacity:.55;transition:transform .3s var(--ease),opacity .3s var(--ease)}@keyframes musicCtrlBar{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes musicCtrlIn{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.musicCtrl,.musicCtrl__bar{animation:none!important}}@media(max-width:700px){.musicCtrl{bottom:var(--edge)}}.pageCurtain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:none;pointer-events:none}.pageCurtain__col{position:relative;flex:1;height:100%}.pageCurtain__half{position:absolute;left:-1px;right:-1px;height:50.5%;background:#0c0b0d}.pageCurtain__half--top{top:0}.pageCurtain__half--bottom{bottom:0}:root[data-theme=dark] .pageCurtain__half{background:#f3efe9}.pageCurtain__label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:0 var(--edge);pointer-events:none}.pageCurtain__labelMask{display:block;overflow:hidden;padding-bottom:.12em}.pageCurtain__labelText{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(40px,8vw,120px);line-height:1.02;letter-spacing:-.02em;white-space:normal;text-align:center;max-width:min(90vw,1000px);text-wrap:balance;color:var(--color-bg)}@media(max-width:640px){.pageCurtain__labelText{font-size:clamp(30px,12vw,66px);white-space:normal;text-align:center;max-width:82vw;line-height:1.06}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .75s var(--ease),transform .75s var(--ease);transition-delay:calc(var(--i, 0) * .07s)}.reveal.is-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.about-title{position:relative;display:inline-flex;align-items:center;gap:16px;font-family:var(--font-display);font-weight:500;font-size:clamp(24px,3.4vw,36px);margin-bottom:32px}.about-title:before{content:"";width:34px;height:3px;border-radius:2px;background:var(--color-accent);transform-origin:left center;transform:scaleX(.5);opacity:.55;transition:transform .5s var(--ease),opacity .5s var(--ease)}.about-section:hover .about-title:before,.about-title.is-in:before{transform:scaleX(1);opacity:1}.cta3d{--cta-h: 6px;position:relative;display:inline-block;border:none;background:transparent;border-radius:999px;outline-offset:6px}.cta3d:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:color-mix(in srgb,var(--color-accent) 55%,#000 45%);box-shadow:0 8px 20px -10px color-mix(in srgb,var(--color-accent) 50%,transparent);transition:box-shadow .4s var(--ease)}.cta3d__face{position:relative;display:inline-flex;align-items:center;gap:12px;padding:20px 44px;border-radius:999px;background:var(--color-accent);color:#fff;font-family:var(--font-display);font-weight:600;font-size:clamp(17px,2vw,22px);letter-spacing:.2px;white-space:nowrap;overflow:hidden;transform:translateY(calc(var(--cta-h) * -1));transition:transform .18s var(--ease),filter .3s var(--ease);will-change:transform}.cta3d__face:after{content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skew(-18deg);animation:cta-shine 4.5s var(--ease) infinite}@keyframes cta-shine{0%{left:-60%}22%,to{left:130%}}.cta3d__arrow{display:inline-block;transition:transform .3s var(--ease)}.cta3d:hover .cta3d__face{transform:translateY(calc(var(--cta-h) * -2.6));filter:brightness(1.06)}.cta3d:hover .cta3d__arrow{transform:translate(6px)}.cta3d:hover:before{box-shadow:0 22px 40px -10px color-mix(in srgb,var(--color-accent) 60%,transparent)}.cta3d:active .cta3d__face{transform:translateY(0);transition-duration:.08s}@media(prefers-reduced-motion:reduce){.cta3d__face,.cta3d__face:after,.cta3d__arrow{transition:none;animation:none}}.doList{display:flex;flex-direction:column}.doItem{display:flex;align-items:baseline;gap:clamp(16px,3vw,32px);padding:20px 12px;border-top:1px solid var(--color-line);font-size:clamp(18px,2.2vw,24px);border-radius:10px;transition:background .35s var(--ease),padding-left .35s var(--ease)}.doItem__num{color:var(--color-ink-faint);transition:color .3s var(--ease)}.doItem__text{transition:transform .35s var(--ease)}.doItem:hover{background:color-mix(in srgb,var(--color-accent) 7%,transparent);padding-left:22px}.doItem:hover .doItem__num{color:var(--color-accent)}.doItem:hover .doItem__text{transform:translate(6px)}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(28px,4vw,52px)}.skillGroup__cat{margin-bottom:16px}.skillGroup__list{display:flex;flex-wrap:wrap;gap:10px}.skillPill{padding:8px 15px;border:1px solid var(--color-line);border-radius:999px;font-size:14px;color:var(--color-ink-soft);transition:color .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease)}.skillPill:hover{color:var(--color-bg);background:var(--color-accent);border-color:var(--color-accent);transform:translateY(-3px)}@media(max-width:720px){.journey__desc{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.projNav{display:flex;flex-direction:column;gap:8px}.projNav--prev{align-items:flex-start;text-align:left}.projNav--next{align-items:flex-end;text-align:right;margin-left:auto}.projNav__title{font-family:var(--font-display);font-size:clamp(19px,3.2vw,34px);line-height:1.1;transition:color .3s var(--ease)}.projNav:hover .projNav__title,.projNav:hover .eyebrow{color:var(--color-accent)}
