*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}picture{display:contents}body{font-family:Manrope,'Noto Sans SC',sans-serif;background:#0a0a0f;color:#f5f0e8;overflow-x:hidden;cursor:none;-webkit-font-smoothing:antialiased}.cursor-brush{position:fixed;width:24px;height:24px;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);transition:width .3s,height .3s}.cursor-brush::before{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(197,48,48,.4) 0,transparent 70%);animation:brushPulse 2s ease-in-out infinite}.cursor-brush::after{content:'';position:absolute;top:50%;left:50%;width:6px;height:6px;background:#c53030;border-radius:50%;transform:translate(-50%,-50%)}.cursor-brush.hover{width:56px;height:56px}.cursor-brush.hover::after{width:3px;height:3px}@keyframes brushPulse{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.3);opacity:.3}}.loader{position:fixed;inset:0;background:#0a0a0f;z-index:99999;display:flex;align-items:center;justify-content:center;flex-direction:column}.loader-mark{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:5rem;line-height:1;color:#f5f0e8;letter-spacing:-.04em;overflow:hidden}.loader-mark span{display:inline-block;transform:translateY(110%);animation:loaderRise .9s cubic-bezier(.16,1,.3,1) forwards}.loader-mark span:nth-child(2){animation-delay:.12s}.loader-mark span:nth-child(3){animation-delay:.24s}@keyframes loaderRise{to{transform:translateY(0)}}.loader-bar{width:160px;height:1px;background:rgba(245,240,232,.1);margin-top:2.5rem;overflow:hidden}.loader-bar::after{content:'';display:block;height:100%;width:0;background:linear-gradient(90deg,#c53030,#c9a96e);animation:loaderFill 1.6s cubic-bezier(.4,0,.2,1) forwards}@keyframes loaderFill{to{width:100%}}.loader-meta{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:#8a8a9a;margin-top:1rem;letter-spacing:.3em}.loader.fade-out{opacity:0;pointer-events:none;transition:opacity .8s ease}#inkCanvas{position:fixed;inset:0;z-index:0;pointer-events:none}.noise-overlay{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.aurora-glow{position:absolute;border-radius:50%;opacity:.1;pointer-events:none;background:radial-gradient(circle,var(--glow) 0,transparent 70%);will-change:transform;transform:translateZ(0)}.glass{background:rgba(20,20,31,.82);border:1px solid rgba(245,240,232,.06)}.glass-strong{background:rgba(10,10,15,.9);border:1px solid rgba(245,240,232,.08)}.glass-rice{background:rgba(245,240,232,.06);border:1px solid rgba(245,240,232,.08)}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,#c53030,#c9a96e,#4a7c7e);z-index:9999;width:0%}.text-gradient-ink{background:linear-gradient(135deg,#f5f0e8 0,#c9a96e 50%,#c53030 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:gradientShift 8s ease infinite}.italic-clip-fix{display:inline-block;padding-right:.18em;margin-right:-.18em}@keyframes gradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.line-mask{overflow:hidden;display:block}.line-mask>span{display:inline-block;transform:translateY(110%);transition:transform 1.1s cubic-bezier(.16,1,.3,1)}.line-mask.active>span,.reveal.active .line-mask>span{transform:translateY(0)}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}.reveal.active{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translateX(-40px);transition:all 1s cubic-bezier(.16,1,.3,1)}.reveal-left.active{opacity:1;transform:translateX(0)}.reveal-right{opacity:0;transform:translateX(40px);transition:all 1s cubic-bezier(.16,1,.3,1)}.reveal-right.active{opacity:1;transform:translateX(0)}.reveal-scale{opacity:0;transform:scale(.96);transition:all 1s cubic-bezier(.16,1,.3,1)}.reveal-scale.active{opacity:1;transform:scale(1)}.section-index{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.3em;color:#c53030}.ink-hover{position:relative;overflow:hidden}.ink-hover::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(197,48,48,.15) 0,transparent 70%);transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;pointer-events:none}.ink-hover:hover::before{width:300px;height:300px}.btn-fill{position:relative;overflow:hidden;background:linear-gradient(135deg,#c53030,#9a3424);color:#f5f0e8}.btn-fill::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#c9a96e,#c53030);transform:translateY(101%);transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:0}.btn-fill:hover::before{transform:translateY(0)}.btn-fill>*{position:relative;z-index:1}.btn-line{position:relative;border:1px solid rgba(245,240,232,.2);color:#f5f0e8;transition:color .5s ease;overflow:hidden}.btn-line::before{content:'';position:absolute;inset:0;background:#f5f0e8;transform:translateY(101%);transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:0}.btn-line:hover{color:#0a0a0f}.btn-line:hover::before{transform:translateY(0)}.btn-line>*{position:relative;z-index:1}.link-underline{position:relative}.link-underline::after{content:'';position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.77,0,.175,1)}.link-underline:hover::after{transform:scaleX(1);transform-origin:left}.nav-link{position:relative;transition:color .3s ease}.nav-link::after{content:'';position:absolute;left:50%;bottom:4px;width:4px;height:4px;border-radius:50%;background:#c53030;transform:translate(-50%,6px) scale(0);transition:transform .4s cubic-bezier(.16,1,.3,1)}.nav-link.active::after,.nav-link:hover::after{transform:translate(-50%,0) scale(1)}.marquee-wrap{overflow:hidden;white-space:nowrap}.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite;will-change:transform}.marquee-group{display:flex;flex-shrink:0;align-items:center}@keyframes marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}.tilt-card{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.16,1,.3,1)}.tilt-layer{transform:translateZ(30px)}.skill-fill{width:0;transition:width 2.2s cubic-bezier(.16,1,.3,1)}.path-draw{stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 2.6s cubic-bezier(.16,1,.3,1)}.path-draw.active{stroke-dashoffset:0}.type-cursor::after{content:'▍';color:#c53030;animation:blink 1s steps(1) infinite;margin-left:1px}@keyframes blink{50%{opacity:0}}.counter{font-variant-numeric:tabular-nums}.seal-stamp{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#c53030;color:#f5f0e8;font-family:'Cormorant Garamond',serif;font-weight:600;border-radius:2px;transform:rotate(-4deg)}.conic-border{overflow:hidden}.conic-border::before{content:'';position:absolute;inset:-50%;background:conic-gradient(from 0deg,transparent 0,#c53030 10%,transparent 20%,transparent 40%,#c9a96e 50%,transparent 60%,transparent 80%,#4a7c7e 90%,transparent 100%);z-index:0}.conic-border::after{content:'';position:absolute;inset:1.5px;background:#0a0a0f;border-radius:inherit;z-index:1}.conic-border>*{position:relative;z-index:2}@keyframes blobMorph{0%,100%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%}50%{border-radius:50% 50% 40% 60%/40% 50% 60% 50%}75%{border-radius:70% 30% 50% 50%/30% 70% 50% 50%}}.blob{animation:blobMorph 12s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0) rotate(0)}33%{transform:translateY(-15px) rotate(1deg)}66%{transform:translateY(-10px) rotate(-1deg)}}.float{animation:float 8s ease-in-out infinite}.float-delay{animation:float 8s ease-in-out infinite;animation-delay:-3s}.float-delay-2{animation:float 8s ease-in-out infinite;animation-delay:-6s}.ripple-ink{position:relative;overflow:hidden}.ripple-circle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(197,48,48,.3) 0,transparent 70%);transform:scale(0);animation:rippleInk 1s ease-out;pointer-events:none}@keyframes rippleInk{to{transform:scale(4);opacity:0}}@keyframes rotate360{to{transform:rotate(360deg)}}@keyframes orbit3D{from{transform:rotateY(0)}to{transform:rotateY(360deg)}}.orbit-scene{perspective:1400px}.orbit-ring{position:relative;width:0;height:0;transform-style:preserve-3d;animation:orbit3D 28s linear infinite}.orbit-ring:hover{animation-play-state:paused}.orbit-item{position:absolute;top:0;left:0;transform-style:preserve-3d}.orbit-item>.card-wrap{transform:translate(-50%,-50%)}::selection{background:rgba(197,48,48,.3);color:#f5f0e8}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0a0a0f}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#c53030,#c9a96e);border-radius:10px}.tag-btn{transition:all .4s cubic-bezier(.16,1,.3,1)}.tag-btn.is-active{background:#c53030!important;color:#f5f0e8!important;border-color:#c53030!important}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@supports (content-visibility:auto){.cv-auto{content-visibility:auto;contain-intrinsic-size:1px 600px}}@media (max-width:768px){body{cursor:auto}.cursor-brush{display:none}.tilt-card{transform:none!important}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}.echo-bar{transform-origin:bottom center;transition:transform .3s ease}.echo-playing .echo-bar{animation:echoDance .7s ease-in-out infinite alternate}.echo-playing .echo-bar:first-child{animation-delay:0ms}.echo-playing .echo-bar:nth-child(2){animation-delay:80ms}.echo-playing .echo-bar:nth-child(3){animation-delay:.16s}.echo-playing .echo-bar:nth-child(4){animation-delay:.24s}.echo-playing .echo-bar:nth-child(5){animation-delay:.12s}.echo-playing .echo-bar:nth-child(6){animation-delay:.2s}.echo-playing .echo-bar:nth-child(7){animation-delay:40ms}.echo-playing .echo-bar:nth-child(8){animation-delay:.28s}.echo-playing .echo-bar:nth-child(9){animation-delay:.1s}@keyframes echoDance{0%{transform:scaleY(.3)}100%{transform:scaleY(1.2)}}.verdant-scene{position:relative;height:96px;border-radius:12px;background:linear-gradient(180deg,transparent 40%,rgba(74,124,126,.06) 100%);overflow:hidden}.verdant-sun{position:absolute;top:8px;right:12px;width:14px;height:14px;border-radius:50%;background:rgba(201,169,110,.5)}.verdant-playing .verdant-sun{animation:verdantSunGlow 5s ease-in-out infinite}@keyframes verdantSunGlow{0%,100%{box-shadow:0 0 5px rgba(201,169,110,.25);transform:scale(1)}50%{box-shadow:0 0 12px rgba(201,169,110,.5);transform:scale(1.06)}}.verdant-ground{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(74,124,126,.4),transparent)}.verdant-playing .verdant-ground{animation:verdantRipple 4s ease-in-out infinite}@keyframes verdantRipple{0%,100%{opacity:.35}50%{opacity:.6}}.verdant-stalk{position:absolute;bottom:0;width:2px;height:var(--h,50%);background:linear-gradient(180deg,rgba(74,124,126,.75),rgba(74,124,126,.3));border-radius:2px;transform-origin:bottom center;transform:scaleY(0);transition:transform 3.5s cubic-bezier(.22, 1, .36, 1)}.verdant-playing .verdant-stalk{transform:scaleY(1);animation:verdantSway 8s ease-in-out infinite;animation-delay:calc(3.5s + var(--d, 0s))}@keyframes verdantSway{0%{transform:scaleY(1) rotate(0)}25%{transform:scaleY(1) rotate(2deg)}75%{transform:scaleY(1) rotate(-2deg)}100%{transform:scaleY(1) rotate(0)}}.verdant-leaf{position:absolute;top:-9px;left:-5px;font-size:12px;line-height:1;color:rgba(74,124,126,.75);transform:scale(0) rotate(-30deg);transition:transform 1.8s cubic-bezier(.34, 1.56, .64, 1) 2.5s}.verdant-playing .verdant-leaf{transform:scale(1) rotate(0);animation:verdantLeafFlutter 6s ease-in-out infinite;animation-delay:calc(4.3s + var(--d, 0s))}@keyframes verdantLeafFlutter{0%{transform:scale(1) rotate(0)}25%{transform:scale(1) rotate(6deg)}75%{transform:scale(1) rotate(-6deg)}100%{transform:scale(1) rotate(0)}}.verdant-particle{position:absolute;bottom:20px;width:3px;height:3px;border-radius:50%;background:rgba(201,169,110,.5);opacity:0}.verdant-playing .verdant-particle{animation:verdantFloat 7s ease-in-out infinite;animation-delay:calc(5s + var(--d, 0s))}@keyframes verdantFloat{0%{transform:translateY(0) translateX(0);opacity:0}20%{opacity:.6}80%{opacity:.2}100%{transform:translateY(-70px) translateX(4px);opacity:0}}.cinnabar-seal{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#c53030,#c9a96e);transition:all .6s cubic-bezier(.16, 1, .3, 1);position:relative}.cinnabar-seal::after{content:'';position:absolute;inset:4px;border-radius:inherit;border:1px solid rgba(255,255,255,.15)}.cinnabar-matrix{position:relative;height:80px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:12px;background:linear-gradient(180deg,rgba(197,48,48,.04),transparent);overflow:hidden}.cinnabar-tile{width:28px;height:28px;transition:all .6s cubic-bezier(.16, 1, .3, 1);background-color:rgba(197,48,48,.18);border-radius:4px}.cinnabar-ripple{position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;border:1px solid rgba(197,48,48,.4);transform:translate(-50%,-50%);pointer-events:none}.cinnabar-ripple.go{animation:cinnabarRipple .8s ease-out forwards}@keyframes cinnabarRipple{0%{width:0;height:0;opacity:.6}100%{width:200px;height:200px;opacity:0}}@keyframes spinOnce{from{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-once{animation:spinOnce .5s ease}.prism-container{perspective:400px}@keyframes prismRotate{from{transform:rotateX(-15deg) rotateY(0)}to{transform:rotateX(-15deg) rotateY(360deg)}}@keyframes prismRotateActive{from{transform:rotateX(-15deg) rotateY(0)}to{transform:rotateX(345deg) rotateY(360deg)}}.prism-scene{transform-style:preserve-3d;animation:prismRotate 8s linear infinite}.prism-face{backface-visibility:visible;border:1px solid;border-radius:4px;transition:transform .6s cubic-bezier(.16, 1, .3, 1)}.prism-front{transform:translateZ(32px);background:rgba(201,169,110,.18);border-color:rgba(201,169,110,.55)}.prism-back{transform:rotateY(180deg) translateZ(32px);background:rgba(197,48,48,.18);border-color:rgba(197,48,48,.45)}.prism-right{transform:rotateY(90deg) translateZ(32px);background:rgba(74,124,126,.18);border-color:rgba(74,124,126,.45)}.prism-left{transform:rotateY(-90deg) translateZ(32px);background:rgba(201,169,110,.12);border-color:rgba(201,169,110,.35)}.prism-top{transform:rotateX(90deg) translateZ(32px);background:rgba(197,48,48,.12);border-color:rgba(197,48,48,.35)}.prism-bottom{transform:rotateX(-90deg) translateZ(32px);background:rgba(74,124,126,.12);border-color:rgba(74,124,126,.35)}.prism-active .prism-scene{animation:prismRotateActive 3s linear infinite}.prism-active .prism-front{transform:translateZ(54px)}.prism-active .prism-back{transform:rotateY(180deg) translateZ(54px)}.prism-active .prism-right{transform:rotateY(90deg) translateZ(54px)}.prism-active .prism-left{transform:rotateY(-90deg) translateZ(54px)}.prism-active .prism-top{transform:rotateX(90deg) translateZ(54px)}.prism-active .prism-bottom{transform:rotateX(-90deg) translateZ(54px)}.contact-input{background:rgba(245,240,232,.04);border:1px solid rgba(245,240,232,.08);color:#f5f0e8;font-family:inherit;font-size:.875rem;outline:0;transition:border-color .4s ease,background .4s ease,box-shadow .4s ease}.contact-input::placeholder{color:rgba(138,138,154,.45)}.contact-input:focus{border-color:rgba(197,48,48,.45);background:rgba(245,240,232,.06);box-shadow:0 0 0 3px rgba(197,48,48,.08)}.contact-input.has-error{border-color:rgba(197,48,48,.55);background:rgba(197,48,48,.04);box-shadow:0 0 0 3px rgba(197,48,48,.06)}.contact-input.has-error:focus{border-color:rgba(224,72,72,.75);box-shadow:0 0 0 3px rgba(197,48,48,.12)}.field-error{font-family:'JetBrains Mono',monospace;font-size:.625rem;color:rgba(224,72,72,.85);letter-spacing:.04em;min-height:.875rem;margin-top:.4rem;line-height:1.3;opacity:0;transform:translateY(-2px);transition:opacity .25s ease,transform .25s ease}.form-field.is-invalid .field-error{opacity:1;transform:translateY(0)}.form-field.is-invalid .field-error:empty{opacity:0}.pageclip-form__submit{cursor:pointer;border:none;background:0 0;font-family:inherit}.pageclip-form__submit__spinner{border-color:rgba(245,240,232,.25)!important;border-top-color:#f5f0e8!important}.pageclip-form--success .pageclip-form__submit{background:linear-gradient(135deg,#4a7c7e,#4a7c7e)!important}.contact-error,.contact-success{display:none;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:.75rem;font-size:.8rem;margin-top:1rem;animation:fadeIn .5s ease}.contact-success{background:rgba(74,124,126,.1);border:1px solid rgba(74,124,126,.3);color:#6a9c9e}.contact-error{background:rgba(197,48,48,.1);border:1px solid rgba(197,48,48,.3);color:#e04848}.pageclip-form--success~.contact-success{display:flex}.pageclip-form--error~.contact-error{display:flex}#galleryLightbox.is-open{opacity:1;pointer-events:auto}#galleryLightbox img{transition:opacity .25s ease}#galleryLightbox.is-changing img{opacity:0}body.gallery-lightbox-open{overflow:hidden}img{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none;pointer-events:none}