:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;width:100%;background:#f4eeea}a{text-decoration:none}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #f4eeea;--bg-card: #ece3de;--line: rgba(36, 20, 25, .12);--line-strong: rgba(36, 20, 25, .26);--text: #241419;--text-muted: #6e5b60;--text-dim: #7a686d;--accent: #8e2f45;--deep: #241419;--on-deep: #f4eeea;--font-display: "Instrument Serif", serif;--font-body: "Instrument Sans", sans-serif;--ease: cubic-bezier(.16, 1, .3, 1);--ease-io: cubic-bezier(.76, 0, .24, 1);--gutter: clamp(16px, 4vw, 56px);--edge: max(var(--gutter), calc((100vw - 1400px) / 2 + var(--gutter)));--nav-h: 72px}html{overflow-x:clip;scroll-padding-top:var(--nav-h)}html.is-locked{overflow:hidden}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}button{font-family:inherit}em{font-style:italic}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--on-deep)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.app{width:100%;overflow-x:clip}.app[hidden]{display:none}.container{max-width:1400px;margin:0 auto;padding:0 var(--gutter)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease) var(--delay, 0s),transform 1.1s var(--ease) var(--delay, 0s)}.reveal.in{opacity:1;transform:none}.split-word{display:inline-block;overflow:hidden;vertical-align:top;white-space:nowrap;padding:.22em .08em .18em;margin:-.22em -.08em -.18em}.split-item{display:inline-block;transform:translateY(125%);transition:transform 1.1s var(--ease);transition-delay:calc(var(--i) * var(--stagger, 70ms) + var(--delay, 0s))}.split-chars{--stagger: 32ms}.split.in .split-item{transform:none}.magnetic{display:inline-flex}.magnetic>*{transition:transform .6s var(--ease),background .3s ease,color .3s ease,border-color .3s ease}.roll{position:relative;display:inline-block;overflow:hidden;vertical-align:top}.roll-a,.roll-b{display:block;transition:transform .55s var(--ease)}.roll-b{position:absolute;inset:0;transform:translateY(105%)}a:hover>.roll .roll-a,button:hover>.roll .roll-a{transform:translateY(-105%)}a:hover>.roll .roll-b,button:hover>.roll .roll-b{transform:none}.cursor{position:fixed;top:0;left:0;z-index:9000;pointer-events:none;opacity:0;transition:opacity .3s ease}.cursor.on{opacity:1}.cursor-ring{position:absolute;top:-14px;left:-14px;width:28px;height:28px;border:1px solid #b5677a;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .45s var(--ease),background .3s ease,width .45s var(--ease),height .45s var(--ease),top .45s var(--ease),left .45s var(--ease)}.cursor-label{opacity:0;max-width:76px;text-align:center;font-size:.78rem;font-weight:500;line-height:1.2;color:var(--on-deep);transition:opacity .2s ease}.cursor[data-mode=link] .cursor-ring{transform:scale(1.9);background:#b5677a38}.cursor[data-mode=label] .cursor-ring{top:-52px;left:-52px;width:104px;height:104px;background:var(--accent);border-color:var(--accent)}.cursor[data-mode=label] .cursor-label{opacity:1}.scroll-progress{position:fixed;top:0;left:0;right:0;z-index:1001;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);border-bottom:1px solid transparent;opacity:0;transition:background .3s ease,border-color .3s ease,transform .6s var(--ease),opacity .8s ease}.is-ready .navbar{opacity:1}.navbar.scrolled{background:#f4eeead1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--line)}.navbar.nav-hidden{transform:translateY(-100%)}.navbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.nav-brand{background:none;border:none;color:var(--text);font-family:var(--font-display);font-size:1.5rem;line-height:1;cursor:pointer}.nav-brand em{color:var(--accent)}.nav-current{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;font-size:.88rem;font-weight:500}.nav-current-num{color:var(--accent);font-variant-numeric:tabular-nums}.nav-current-sep{width:28px;height:1px;background:var(--line-strong)}.nav-current-mask{display:block;overflow:hidden}.nav-current-label{display:block;white-space:nowrap;animation:navLabelIn .7s var(--ease) both}@keyframes navLabelIn{0%{transform:translateY(105%)}to{transform:none}}.nav-right{display:flex;align-items:center;gap:.6rem;margin-right:118px}.menu-toggle-wrap{position:fixed;top:calc((var(--nav-h) - 44px) / 2);right:var(--edge);z-index:1200;opacity:0;transition:opacity .8s ease}.is-ready .menu-toggle-wrap{opacity:1}.menu-toggle{height:44px;display:flex;align-items:center;gap:.7rem;padding:0 1.1rem 0 1.25rem;background:var(--deep);color:var(--on-deep);border:1px solid rgba(244,238,234,.25);border-radius:999px;font-size:.88rem;font-weight:500;cursor:pointer}.menu-toggle.open{background:var(--on-deep);color:var(--deep)}.menu-toggle-lines{position:relative;width:18px;height:10px}.menu-toggle-lines span{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .6s var(--ease),top .6s var(--ease)}.menu-toggle-lines span:first-child{top:1px}.menu-toggle-lines span:last-child{top:7px;transform:scaleX(.6);transform-origin:right}.menu-toggle:hover .menu-toggle-lines span:last-child{transform:none}.menu-toggle.open .menu-toggle-lines span:first-child{top:4px;transform:rotate(45deg)}.menu-toggle.open .menu-toggle-lines span:last-child{top:4px;transform:rotate(-45deg);transform-origin:center}.menu{--text: var(--on-deep);--text-muted: #c4b3b7;--line-strong: rgba(244, 238, 234, .3);--accent: #e3a9b3;position:fixed;inset:0;z-index:1100;background:var(--deep);color:var(--text);clip-path:circle(0 at calc(100% - var(--edge) - 50px) calc(var(--nav-h) / 2));visibility:hidden;transition:clip-path .9s var(--ease-io),visibility 0s linear .9s}.menu.open{clip-path:circle(150vmax at calc(100% - var(--edge) - 50px) calc(var(--nav-h) / 2));visibility:visible;transition:clip-path 1.1s var(--ease-io),visibility 0s}.menu-inner{height:100%;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:2rem;padding-top:calc(var(--nav-h) + 1rem);padding-bottom:clamp(1.25rem,3vw,2.5rem)}.menu-links{list-style:none;align-self:center}.menu-item{overflow:hidden;padding:1.1rem 0 .5rem;margin-top:-1.1rem}.menu-link{display:flex;align-items:baseline;gap:clamp(.75rem,1.5vw,1.5rem);background:none;border:none;color:var(--text);font-family:var(--font-display);font-size:min(clamp(2.6rem,8.5vw,7rem),12.5svh);line-height:1.02;letter-spacing:-.02em;cursor:pointer;transform:translateY(115%);transition:transform .5s var(--ease-io),opacity .35s ease}.menu.open .menu-link{transform:none;transition:transform 1s var(--ease) calc(var(--i) * 60ms + .35s),opacity .35s ease}.menu-links:hover .menu-link:not(:hover){opacity:.35}.menu-link-num{width:2.4em;flex-shrink:0;font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:0;color:var(--text-muted)}.menu-link-label{transition:transform .7s var(--ease),color .3s ease}.menu-link-arrow{opacity:0;transform:translate(-.5em);color:var(--accent);transition:opacity .3s ease,transform .7s var(--ease)}.menu-link:hover .menu-link-label,.menu-link:focus-visible .menu-link-label{transform:translate(.25em);color:var(--accent);font-style:italic}.menu-link:hover .menu-link-arrow,.menu-link:focus-visible .menu-link-arrow{opacity:1;transform:translate(.25em)}.menu-link.active .menu-link-num{color:var(--accent)}.menu-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:2rem;text-align:right;opacity:0;transition:opacity .3s ease}.menu.open .menu-side{opacity:1;transition:opacity 1s ease .6s}.menu-preview{flex:1;display:flex;align-items:center;overflow:hidden;padding-right:.1em;margin-right:-.1em;font-family:var(--font-display);font-style:italic;font-size:min(20vw,34svh);line-height:1;color:var(--accent)}.menu-preview-num{display:block;animation:navLabelIn .8s var(--ease) both}.menu-email{display:block;font-family:var(--font-display);font-size:clamp(1.4rem,2.2vw,2rem);color:var(--text)}.menu-meta-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem 1.25rem;margin:.75rem 0}.menu-meta-links a,.menu-meta-links button{background:none;border:none;color:var(--text);font-size:.92rem;font-weight:500;cursor:pointer}.menu-location{font-size:.85rem;color:var(--text-muted)}.lang-toggle,.nav-cta{background:none;border:1px solid var(--line-strong);border-radius:999px;color:var(--text);padding:.5rem 1.05rem;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease}.lang-toggle{color:var(--text-muted)}.lang-toggle:hover{color:var(--text);border-color:var(--text)}.nav-cta:hover{background:var(--text);color:var(--bg);border-color:var(--text)}.btn{display:inline-block;position:relative;overflow:hidden;padding:.9rem 1.9rem;background:var(--text);color:var(--bg);border:1px solid var(--text);border-radius:999px;text-decoration:none;font-size:.9rem;font-weight:500;isolation:isolate}.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--accent);border-radius:inherit;transform:translateY(101%);transition:transform .6s var(--ease)}.btn:hover{border-color:var(--accent)}.btn:hover:before{transform:none}.socials{display:flex;gap:.6rem}.social-icon{width:44px;height:44px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.social-icon:hover{background:var(--text);color:var(--bg);border-color:var(--text)}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{border:1px solid var(--line-strong);color:var(--text);padding:.4rem .9rem;border-radius:999px;font-size:.85rem;font-weight:500;transition:color .4s ease,border-color .4s ease}.tag-sm{padding:.25rem .7rem;font-size:.75rem;color:var(--text-muted);border-color:var(--line-strong)}.cta-arrow{display:inline-block;transition:transform .5s var(--ease)}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;padding-top:calc(var(--nav-h) + 1rem);overflow:clip}.hero-glow{position:absolute;top:-300px;left:-300px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(201,138,151,.38),transparent 68%);transform:translate3d(70vw,45vh,0);transition:transform 1.6s var(--ease);pointer-events:none}.hero-inner{position:relative;flex:1;width:100%;display:flex;flex-direction:column;padding-bottom:1.75rem}.hero-top{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.88rem;color:var(--text-muted)}.hero-top,.hero-bottom,.hero-badge-wrap,.marquee{opacity:0;transform:translateY(20px);transition:opacity 1s ease .55s,transform 1.2s var(--ease) .55s}.is-ready .hero-top,.is-ready .hero-bottom,.is-ready .hero-badge-wrap,.is-ready .marquee{opacity:1;transform:none}.hero-mid{flex:1;min-height:6.5rem;display:flex;align-items:center;justify-content:flex-end}.hero-badge{position:relative;width:clamp(84px,min(10vw,14svh),136px);aspect-ratio:1;background:none;border:none;border-radius:50%;color:var(--text);cursor:pointer}.hero-badge-text{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:spin 18s linear infinite}.hero-badge-text text{font-family:var(--font-body);font-size:10.5px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;fill:currentColor}.hero-badge-arrow{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.9rem;color:var(--accent);transition:transform .6s var(--ease)}.hero-badge:hover .hero-badge-arrow{transform:translateY(6px)}.hero-title{font-family:var(--font-display);font-size:clamp(3.3rem,min(13.2vw,22svh),12.5rem);font-weight:400;line-height:.94;letter-spacing:-.025em}.hero-line{display:block;white-space:nowrap;will-change:transform}.hero-line em{color:var(--accent)}.hero-line-b{text-align:right}.hero-rule{height:1px;margin-top:clamp(1.25rem,2.5vw,2rem);background:var(--line-strong);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease-io) .3s}.is-ready .hero-rule{transform:none}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:1.25rem}.hero-role{font-size:clamp(.95rem,1.3vw,1.1rem);color:var(--text-muted)}.hero-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.marquee{position:relative;z-index:1;overflow:hidden;background:var(--bg);border-top:1px solid var(--line);padding:.7rem 0;font-family:var(--font-display);font-size:clamp(1.4rem,2.6vw,2.2rem);line-height:1.2}.marquee-track{display:flex;width:max-content;will-change:transform}.marquee-group{display:flex}.marquee-item{display:flex;align-items:center;white-space:nowrap}.marquee-item:nth-child(2n){font-style:italic;color:var(--accent)}.marquee-item:after{content:"✦";margin:0 1.5rem;font-size:.5em;font-style:normal;color:var(--text-dim)}.section{padding:clamp(5rem,11vw,10rem) 0}.section-head{display:grid;grid-template-columns:1fr minmax(0,320px);grid-template-areas:"num num" "title sub";align-items:end;gap:1rem 2rem;margin-bottom:clamp(3rem,6vw,5.5rem)}.section-num{grid-area:num;display:block;font-size:.88rem;font-weight:500;color:var(--accent)}.section-title{grid-area:title;font-family:var(--font-display);font-size:clamp(3.2rem,9vw,8.5rem);font-weight:400;line-height:.98;letter-spacing:-.02em}.section-subtitle{grid-area:sub;font-size:1rem;color:var(--text-muted);padding-bottom:.6rem}.group-title{font-size:.88rem;font-weight:500;color:var(--text-muted);padding-bottom:1rem;border-bottom:1px solid var(--line-strong)}.rows+.group-title{margin-top:clamp(3.5rem,7vw,6rem)}.about-bio{font-family:var(--font-display);font-size:clamp(1.75rem,3.6vw,3.25rem);line-height:1.42;letter-spacing:-.01em}.scrub-word{transition:opacity .25s linear}.kw{position:relative;display:inline-block;font-style:italic;white-space:nowrap;transition:color .6s ease}.kw.lit{color:var(--accent)}.fx{position:absolute;inset:0;pointer-events:none}.kw-mark{display:inline;white-space:normal;background:linear-gradient(#e3a9b399,#e3a9b399) no-repeat 0 82% / 0% 44%;-webkit-box-decoration-break:slice;box-decoration-break:slice}.kw-mark.lit{animation:markSwipe 1s var(--ease-io) both}@keyframes markSwipe{to{background-size:100% 44%}}.fx-circle{position:absolute;top:-14%;left:-7%;width:114%;height:128%;overflow:visible}.fx-circle path,.fx-snake path{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.fx-circle path{stroke-width:1.6}.lit .fx-circle path{animation:drawStroke 1.2s var(--ease-io) both}@keyframes drawStroke{to{stroke-dashoffset:0}}.fx-petal{position:absolute;top:45%;width:.36em;height:.29em;border-radius:80% 15%;background:linear-gradient(135deg,#f8d3db,#df96a8);opacity:0}.lit .fx-petal{animation:petalFall var(--t) cubic-bezier(.4,.1,.6,1) var(--d) 2 both}@keyframes petalFall{0%{opacity:0;transform:translate(0) rotate(0) scale(.5)}12%{opacity:1;transform:translate(calc(var(--drift) * .1),.25em) rotate(70deg) scale(1)}45%{transform:translate(calc(var(--drift) * .75),1.3em) rotate(180deg) rotateX(50deg)}75%{opacity:.85;transform:translate(calc(var(--drift) * .35),2.3em) rotate(290deg)}to{opacity:0;transform:translate(var(--drift),3.2em) rotate(400deg) rotateX(70deg)}}.fx-snake{position:absolute;left:-2%;bottom:-.2em;width:96%;height:.34em;overflow:visible}.fx-snake path{stroke-width:3}.lit .fx-snake path{animation:drawStroke 1.1s var(--ease-io) both}.fx-snake-head{position:absolute;left:86%;bottom:-.11em;width:.24em;height:.17em;border-radius:55% 70% 70% 55%;background:var(--accent);transform:scale(0)}.lit .fx-snake-head{animation:popIn .5s cubic-bezier(.34,1.56,.64,1) 1s both}.fx-snake-tongue{position:absolute;top:50%;left:90%;width:.13em;height:.025em;min-height:1px;background:#c66f86;transform-origin:left;transform:scaleX(0)}.lit .fx-snake-tongue{animation:tongueFlick 2.2s ease-in-out 1.5s infinite}@keyframes popIn{0%{transform:scale(0)}to{transform:none}}@keyframes tongueFlick{0%,62%,to{transform:scaleX(0)}70%,78%{transform:scaleX(1)}74%{transform:scaleX(.55)}}.fx-butterfly{position:absolute;top:-.42em;right:-.46em;width:.8em;height:.8em;overflow:visible;opacity:0;transform:rotate(16deg)}.lit .fx-butterfly{animation:flyIn 1.7s var(--ease) both}.fx-wing{fill:#dd8ea2;stroke:var(--accent);stroke-width:.6;transform-box:view-box;transform-origin:12px 12px}.lit .fx-wing{animation:flap .26s ease-in-out infinite alternate}.fx-butterfly-body{fill:none;stroke:var(--accent);stroke-width:1.4;stroke-linecap:round}@keyframes flyIn{0%{opacity:0;transform:translate(-3.2em,1.3em) rotate(-30deg) scale(.6)}15%{opacity:1}45%{transform:translate(-1.8em,-.7em) rotate(24deg) scale(1)}72%{transform:translate(-.6em,.3em) rotate(-14deg)}to{opacity:1;transform:rotate(16deg)}}@keyframes flap{0%{transform:scaleX(1)}to{transform:scaleX(.28)}}.fx-star{position:absolute;overflow:visible;fill:var(--accent);transform:scale(0)}.lit .fx-star{animation:popIn .7s cubic-bezier(.34,1.56,.64,1) var(--d) both,twinkle 2.6s ease-in-out calc(var(--d) + .7s) infinite}@keyframes twinkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(.45) rotate(45deg);opacity:.45}}.fx-crown{position:absolute;top:-.32em;left:-.24em;width:.72em;height:.51em;overflow:visible;fill:var(--accent);opacity:0;transform-origin:50% 100%}.lit .fx-crown{animation:crownDrop 1s cubic-bezier(.34,1.56,.64,1) both}@keyframes crownDrop{0%{opacity:0;transform:translateY(-1.3em) rotate(-55deg)}35%{opacity:1}to{opacity:1;transform:rotate(-14deg)}}.fx-flag{position:absolute;top:-.58em;right:-.5em;width:.86em;height:.76em;overflow:visible;opacity:0;transform-origin:6% 100%}.lit .fx-flag{animation:flagPlant .9s cubic-bezier(.34,1.56,.64,1) var(--d) both}@keyframes flagPlant{0%{opacity:0;transform:translateY(-1em) rotate(-24deg)}30%{opacity:1}to{opacity:1;transform:rotate(5deg)}}.fx-flag-pole{fill:none;stroke:var(--text);stroke-width:1.6;stroke-linecap:round}.fx-flag-border{stroke:#24141947;stroke-width:.7}.fx-flag-trigrams{fill:none;stroke:#000;stroke-width:1}.fx-flag-cloth{transform-box:fill-box;transform-origin:left center}.lit .fx-flag-cloth{animation:flagWave 1.1s ease-in-out infinite alternate}@keyframes flagWave{0%{transform:skewY(-5deg)}to{transform:skewY(6deg) scaleX(.94)}}.fx-sun,.fx-moon{position:absolute;top:-.3em;width:.42em;height:.42em;overflow:visible;transform:scale(0)}.fx-sun{left:8%;fill:#e6a23c;stroke:#e6a23c;stroke-width:1.8;stroke-linecap:round;transform-box:fill-box;transform-origin:center}.fx-moon{left:72%;fill:var(--accent)}.lit .fx-sun{animation:popIn .7s cubic-bezier(.34,1.56,.64,1) both,sunSpin 12s linear .7s infinite}.lit .fx-moon{animation:popIn .7s cubic-bezier(.34,1.56,.64,1) .25s both,moonRock 3s ease-in-out .95s infinite alternate}@keyframes sunSpin{to{transform:rotate(360deg)}}@keyframes moonRock{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}.fx-orange{position:absolute;top:-.14em;right:-.36em;width:.4em;height:.4em;overflow:visible;opacity:0}.lit .fx-orange{animation:orangeRoll 1.5s var(--ease) both}@keyframes orangeRoll{0%{opacity:0;transform:translate(-2.6em) rotate(-540deg)}15%{opacity:1}to{opacity:1;transform:none}}.fx-clapper{position:absolute;top:-.3em;right:-.36em;width:.54em;height:.54em;overflow:visible;fill:var(--accent);transform:scale(0)}.lit .fx-clapper{animation:clapperIn .6s cubic-bezier(.34,1.56,.64,1) both}@keyframes clapperIn{0%{transform:scale(0) rotate(-40deg)}to{transform:rotate(8deg)}}.fx-clapper-lines{fill:none;stroke:var(--bg);stroke-width:1.3;stroke-linecap:round}.fx-clapper-stripes{fill:var(--bg)}.fx-clapper-arm{transform-box:view-box;transform-origin:3px 9.5px}.lit .fx-clapper-arm{animation:clap 1.4s ease-in .45s both}@keyframes clap{0%,22%{transform:rotate(-30deg)}32%{transform:none}52%{transform:rotate(-30deg)}62%,to{transform:none}}.fx-cut-line{position:absolute;left:0;right:0;bottom:.04em;border-top:.045em dashed var(--accent);clip-path:inset(0 100% 0 0)}.lit .fx-cut-line{animation:cutLine 1.3s linear both}@keyframes cutLine{to{clip-path:inset(0 0 0 0)}}.fx-scissors{position:absolute;left:0;bottom:-.15em;width:.42em;height:.42em;overflow:visible;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;opacity:0}.lit .fx-scissors{animation:cutAcross 1.3s linear both}@keyframes cutAcross{0%{opacity:1;left:-.2em}to{opacity:1;left:100%}}.fx-blade{transform-box:view-box;transform-origin:12px 12px}.lit .fx-blade-a{animation:snipA .16s ease-in-out 8 alternate}.lit .fx-blade-b{animation:snipB .16s ease-in-out 8 alternate}@keyframes snipA{to{transform:rotate(-16deg)}}@keyframes snipB{to{transform:rotate(16deg)}}.fx-heart,.fx-heart-stay{position:absolute;overflow:visible;fill:#dd8ea2}.fx-heart{top:0;opacity:0}.lit .fx-heart{animation:heartFloat 1.9s ease-out var(--d) both}@keyframes heartFloat{0%{opacity:0;transform:translateY(.3em) scale(.3)}20%{opacity:1;transform:translateY(-.1em) scale(1)}60%{transform:translate(var(--drift),-.75em) rotate(-10deg)}to{opacity:0;transform:translate(calc(var(--drift) * -.4),-1.45em) rotate(12deg) scale(.8)}}.fx-heart-stay{top:-.04em;right:-.32em;width:.36em;height:.36em;fill:var(--accent);transform:scale(0) rotate(14deg)}.lit .fx-heart-stay{animation:heartPop .6s cubic-bezier(.34,1.56,.64,1) 1.1s both,heartBeat 1.8s ease-in-out 1.7s infinite}@keyframes heartPop{0%{transform:scale(0) rotate(14deg)}to{transform:scale(1) rotate(14deg)}}@keyframes heartBeat{0%,40%,to{transform:scale(1) rotate(14deg)}12%{transform:scale(1.25) rotate(14deg)}24%{transform:scale(1.05) rotate(14deg)}32%{transform:scale(1.2) rotate(14deg)}}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:clamp(3.5rem,7vw,6rem)}.fact{border-top:1px solid var(--line-strong);padding-top:1rem}.fact dt{font-size:.85rem;color:var(--text-dim);margin-bottom:.3rem}.fact dd{font-size:1.05rem;font-weight:500;line-height:1.4}.row{position:relative;display:grid;grid-template-columns:minmax(180px,3fr) 9fr;gap:2rem;padding:clamp(1.75rem,3vw,2.5rem) 0}.row:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line-strong);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease-io)}.row.in:after{transform:none}.row-date{font-size:.92rem;font-weight:500;color:var(--accent);padding-top:.55rem}.row-content{transition:transform .7s var(--ease)}.row:hover .row-content{transform:translate(12px)}.row-title{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.7rem);font-weight:400;line-height:1.12;transition:color .3s ease}.row:hover .row-title{color:var(--accent);font-style:italic}.row-sub{font-size:.98rem;color:var(--text-muted);margin-top:.35rem}.row-list{list-style:none;margin-top:1rem;max-width:720px;display:flex;flex-direction:column;gap:.4rem}.row-list li{position:relative;padding-left:1.2rem;font-size:.96rem;color:var(--text-muted);line-height:1.55}.row-list li:before{content:"—";position:absolute;left:0;color:var(--text-dim)}.skills-list{border-top:1px solid var(--line-strong)}.skills-row{display:grid;grid-template-columns:minmax(180px,3fr) 9fr;gap:2rem;align-items:baseline;padding:1.5rem 0;border-bottom:1px solid var(--line)}.skills-cat{font-size:.92rem;font-weight:500;color:var(--text-muted)}.skills-words{list-style:none;display:flex;flex-wrap:wrap;gap:.15rem 0;font-family:var(--font-display);font-size:clamp(1.5rem,2.8vw,2.5rem);line-height:1.2}.skill{opacity:0;transform:translateY(.5em);transition:opacity .7s ease calc(var(--i) * 50ms + .1s),transform .9s var(--ease) calc(var(--i) * 50ms + .1s),color .25s ease}.in .skill{opacity:1;transform:none}.skill:hover{color:var(--accent);font-style:italic}.skill:not(:last-child):after{content:"·";display:inline-block;margin:0 .45em;font-style:normal;color:var(--text-dim)}.section-projects{padding:0}.hscroll-stage{position:sticky;top:0;height:100svh;overflow:clip;display:flex;flex-direction:column;padding:calc(var(--nav-h) * .6) 0 1.5rem}.hscroll-stage>.container{width:100%}.hscroll-stage .section-head{margin-bottom:clamp(1.25rem,2.5vw,2.25rem)}.hscroll-stage .section-title{font-size:clamp(3rem,7vw,6.5rem)}.hscroll-track{flex:1;min-height:0;display:flex;gap:1.25rem;width:max-content;padding:0 var(--edge);will-change:transform}.project-card{position:relative;width:clamp(420px,40vw,600px);display:flex;flex-direction:column;gap:.75rem;overflow:hidden;isolation:isolate;text-align:left;background:var(--bg-card);border:none;border-radius:20px;color:var(--text);padding:clamp(1.5rem,2.4vw,2.25rem);cursor:pointer}.project-card:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--deep);transform:translateY(101%);transition:transform .75s var(--ease-io)}.project-card:hover:before,.project-card:focus-visible:before{transform:none}.project-card:hover,.project-card:focus-visible{--text: var(--on-deep);--text-muted: #c4b3b7;--line-strong: rgba(244, 238, 234, .3);--accent: #e3a9b3}.project-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.project-num{font-family:var(--font-display);font-style:italic;font-size:clamp(3rem,5vw,4.75rem);line-height:.9;color:var(--accent);transition:color .4s ease}.project-type{font-size:.85rem;font-weight:500;color:var(--accent);transition:color .4s ease}.project-title{margin-top:auto;font-family:var(--font-display);font-size:clamp(1.9rem,3vw,2.9rem);font-weight:400;line-height:1.05;color:var(--text);transition:color .4s ease}.project-desc{font-size:.96rem;color:var(--text-muted);line-height:1.5;transition:color .4s ease}.project-cta{margin-top:.25rem;font-size:.9rem;font-weight:500;color:var(--text);transition:color .4s ease}.project-card:hover .cta-arrow,.footer-email:hover .cta-arrow{transform:translate(8px)}.hscroll-bar{height:1px;margin-top:1.25rem;background:var(--line-strong)}.hscroll-bar-fill{height:3px;margin-top:-1px;background:var(--accent);transform:scaleX(0);transform-origin:left}.achievements{padding-top:clamp(4rem,8vw,7rem);padding-bottom:clamp(5rem,11vw,10rem)}.footer-section{--bg: var(--deep);--text: var(--on-deep);--text-muted: #c4b3b7;--line: rgba(244, 238, 234, .14);--line-strong: rgba(244, 238, 234, .3);--accent: #e3a9b3;background:var(--bg);color:var(--text);border-radius:clamp(24px,4vw,56px) clamp(24px,4vw,56px) 0 0;padding:clamp(4.5rem,9vw,8rem) 0 2rem}.footer-tagline{font-family:var(--font-display);font-style:italic;font-size:clamp(4.25rem,19vw,18rem);line-height:.95;letter-spacing:-.03em;margin:1rem 0 1.75rem}.footer-sub{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--text-muted);max-width:520px}.footer-actions{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:clamp(2.5rem,5vw,4rem)}.footer-email{position:relative;font-family:var(--font-display);font-size:clamp(1.6rem,3.6vw,3.2rem);line-height:1.2;color:var(--text);text-decoration:none;overflow-wrap:anywhere}.footer-email:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent);transform-origin:right;transition:transform .7s var(--ease-io)}.footer-email:hover:after{transform:scaleX(0)}.footer-bottom{display:flex;justify-content:center;margin-top:clamp(3rem,6vw,5rem);padding-top:1.5rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--text-muted)}.project-detail-page{min-height:100vh;padding:2.5rem var(--gutter) 6rem}.project-detail-container{max-width:1040px;margin:0 auto}.back-button{background:none;border:1px solid var(--line-strong);border-radius:999px;color:var(--text);padding:.6rem 1.3rem;font-size:.88rem;font-weight:500;cursor:pointer}.back-button:hover{background:var(--text);color:var(--bg)}.project-detail-page .magnetic{margin-bottom:clamp(3rem,7vw,5.5rem)}.project-detail-header{display:flex;flex-direction:column;gap:1rem;padding-bottom:2.5rem;border-bottom:1px solid var(--line-strong)}.project-detail-header h1{font-family:var(--font-display);font-size:clamp(2.8rem,7.5vw,6.5rem);font-weight:400;line-height:1;letter-spacing:-.02em}.project-detail-intro{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--text-muted);max-width:680px}.project-detail-content{display:flex;flex-direction:column}.project-detail-section{display:grid;grid-template-columns:220px 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line)}.project-detail-section h2{font-size:.92rem;font-weight:500;color:var(--text-muted);padding-top:.2rem}.project-detail-section p{font-size:1.05rem;color:var(--text);line-height:1.7}.skills-developed{margin-top:0}.project-links{display:flex;gap:.75rem;flex-wrap:wrap}.scroll-top{position:fixed;bottom:2rem;right:2rem;z-index:999;width:44px;height:44px;background:var(--bg);border:1px solid var(--line-strong);border-radius:50%;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s ease,color .2s ease,border-color .2s ease}.scroll-top svg{width:16px;height:16px}.scroll-top.visible{opacity:1;pointer-events:auto}.scroll-top:hover{color:var(--text);border-color:var(--text)}.loader{position:fixed;inset:0;z-index:9999;overflow:hidden}.loader-panel{position:absolute;inset:0;background:var(--deep);color:var(--on-deep);transition:transform .9s var(--ease-io)}.loader-panel-back{background:var(--accent);transition-delay:.12s}.loader-hide{pointer-events:none}.loader-hide .loader-panel{transform:translateY(-100%)}.loader-inner{position:absolute;inset:0;padding:clamp(20px,4vw,48px) var(--gutter);display:flex;flex-direction:column;justify-content:space-between;transition:transform .9s var(--ease-io),opacity .5s ease}.loader-hide .loader-inner{transform:translateY(18%);opacity:0}.loader-kicker{font-size:.88rem;color:#c4b3b7;animation:fadeIn .8s ease both}.loader-name{display:block;overflow:hidden;font-family:var(--font-display);font-size:clamp(3rem,9vw,8rem);line-height:1.1;letter-spacing:-.02em}.loader-name>span{display:block;animation:loaderRise 1.1s var(--ease) .1s both}.loader-name em{color:#e3a9b3}.loader-count{align-self:flex-end;font-family:var(--font-display);font-size:clamp(5.5rem,20vw,18rem);line-height:.85;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.loader-line{position:absolute;left:0;right:0;bottom:0;height:3px;background:#e3a9b3;transform-origin:left}@keyframes loaderRise{0%{transform:translateY(105%)}to{transform:none}}.curtain{position:fixed;inset:0;z-index:8000;background:var(--accent);pointer-events:all}.curtain-in{animation:curtainIn .7s var(--ease-io) both}.curtain-out{animation:curtainOut .7s var(--ease-io) both}@keyframes curtainIn{0%{transform:translateY(100%)}to{transform:none}}@keyframes curtainOut{0%{transform:none}to{transform:translateY(-100%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.facts{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.nav-current{display:none}.menu-inner{grid-template-columns:1fr;grid-template-rows:1fr auto;gap:1rem}.menu-preview{display:none}.menu-side{align-items:flex-start;text-align:left}.menu-meta-links{justify-content:flex-start}.section-head{grid-template-columns:1fr;grid-template-areas:"num" "title" "sub"}.row,.skills-row,.project-detail-section{grid-template-columns:1fr;gap:.6rem}.row-date{padding-top:0}.scroll-top{display:none}.hscroll-stage{position:static;height:auto;padding:clamp(5rem,11vw,10rem) 0 0}.hscroll-track{flex-direction:column;width:auto;padding:0 var(--gutter)}.project-card{width:100%;min-height:420px}.hscroll-bar{display:none}}@media(max-width:560px){:root{--nav-h: 64px}.nav-cta{display:none}.facts{grid-template-columns:1fr;gap:1.25rem}.hero-title{font-size:17vw}.hero-line-b{text-align:left}.menu-link{font-size:min(13.5vw,9svh)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal,.skill,.hero-top,.hero-bottom,.hero-badge-wrap,.marquee{opacity:1!important;transform:none!important}.split-item,.row:after,.hero-rule{transform:none!important}.kw{color:var(--accent)}.kw-mark{background-size:100% 44%}.fx-circle path,.fx-snake path{stroke-dashoffset:0}.fx-petal,.fx-heart,.fx-snake-tongue{display:none}.fx-butterfly,.fx-orange,.fx-flag{opacity:1}.fx-sun,.fx-moon{transform:none}.fx-clapper{transform:rotate(8deg)}.fx-cut-line{clip-path:none}.fx-scissors{opacity:1;left:100%}.fx-crown{opacity:1;transform:rotate(-14deg)}.fx-star,.fx-snake-head{transform:none}.fx-heart-stay{transform:rotate(14deg)}.hscroll-stage{position:static;height:auto}.hscroll-track{flex-wrap:wrap;width:auto;padding:0 var(--gutter)}.project-card{width:100%;min-height:380px}}
