@import"https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,100..900;1,100..900&family=Playwrite+ES:wght@100..400&display=swap";:root{--bg-color: #f8f9fa;--text-primary: #023047;--text-secondary: rgba(2, 48, 71, .4);--accent: #e65100;--accent-soft: rgba(230, 81, 0, .1);--card-bg: #ffffff;--shadow-soft: 0 10px 40px rgba(0, 0, 0, .04);--shadow-hover: 0 30px 60px rgba(2, 48, 71, .08);--ease: cubic-bezier(.16, 1, .3, 1);--transition-slow: .8s var(--ease);--transition-fast: .4s var(--ease)}body{margin:0;overflow:hidden;background-color:var(--bg-color);font-family:Inter,sans-serif;width:100vw;height:100vh;color:var(--text-primary)}::selection{background:var(--accent);color:#fff}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}canvas{display:block}.intro-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-color);z-index:9000;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.intro-overlay:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(#fff0 50%,#00000003 50%),radial-gradient(circle at center,transparent 0%,rgba(0,0,0,.015) 100%);background-size:100% 4px,100% 100%;pointer-events:none;z-index:9001}.intro-overlay.fade-out{opacity:0;visibility:hidden;transition:opacity .8s var(--ease),visibility .8s;pointer-events:none}.intro-content{position:relative;width:100%;height:100%;z-index:9002;display:flex;flex-direction:column;align-items:center;justify-content:center}.intro-line{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;opacity:0;visibility:hidden;color:var(--text-primary);text-align:center}.line-1{font-size:clamp(24px,5vw,42px);font-weight:200;letter-spacing:.8em;text-transform:uppercase}.line-2{font-size:clamp(18px,3.5vw,30px);font-weight:300;letter-spacing:.4em;text-transform:uppercase;opacity:.6}.line-3{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.intro-pre{font-size:13px;letter-spacing:.4em;text-transform:uppercase;opacity:.5}.intro-name{font-family:Outfit,sans-serif;font-size:clamp(32px,8vw,72px);font-weight:300;letter-spacing:.3em;text-transform:uppercase;color:var(--text-primary);line-height:1.2}.intro-aka{font-family:serif;font-style:italic;color:var(--text-secondary);font-size:22px;opacity:0}.intro-signature{font-family:Dancing Script,cursive;font-size:clamp(65px,14vw,130px);color:var(--accent);line-height:1}.line-4{font-size:14px;font-weight:300;letter-spacing:.6em;text-transform:uppercase;opacity:.6}.skip-intro{position:absolute;bottom:clamp(60px,10vh,100px);left:50%;transform:translate(-50%);background:transparent;border:none;padding:15px 40px;color:var(--text-secondary);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.5em;cursor:pointer;opacity:0;transition:all .6s var(--ease);z-index:9003;display:flex;flex-direction:column;align-items:center;gap:12px}.skip-intro:after{content:"";width:40px;height:1px;background:var(--text-secondary);opacity:.2;transition:width .6s var(--ease),background .6s var(--ease)}.skip-intro:hover{color:var(--accent)}.skip-intro:hover:after{width:80px;background:var(--accent);opacity:1}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#f8f9facc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:5000;transition:opacity .6s var(--ease),visibility .6s}.loading-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-content{display:flex;flex-direction:column;align-items:center;gap:20px}.loader-circle{width:40px;height:40px;border:2px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.loader-text{font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--text-primary);opacity:.6}@keyframes spin{to{transform:rotate(360deg)}}.custom-cursor{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.cursor-dot,.cursor-ring,.cursor-text{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.cursor-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;margin-left:-3px;margin-top:-3px}.cursor-ring{width:60px;height:60px;border:1px solid var(--accent);border-radius:50%;opacity:0;scale:.5;margin-left:-30px;margin-top:-30px}.cursor-text{width:60px;height:60px;text-align:center;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);opacity:0;margin-left:-30px;margin-top:-30px}.card-image-wrapper{will-change:transform;transform-style:preserve-3d;backface-visibility:hidden}@media(hover:hover)and (pointer:fine){body,.gallery-card,.minimal-btn,.social-link,a{cursor:none}}@media(max-width:1024px){.custom-cursor{display:none}body{cursor:auto}}#gallery-overlay{perspective:1500px;position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-color);z-index:2000;display:flex;flex-direction:column;align-items:center;padding:clamp(60px,8vh,120px) 20px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;transition:opacity 1s var(--ease),visibility 1s}#gallery-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.gallery-header{text-align:center;margin-bottom:clamp(80px,12vh,160px);flex-shrink:0;display:flex;flex-direction:column;align-items:center}.gallery-title{font-weight:200;font-size:clamp(10px,1.2vw,12px);letter-spacing:1.2em;color:var(--text-secondary);text-transform:uppercase;padding-left:1.2em}.brand-mark{position:fixed;top:40px;left:50px;z-index:2005;transition:opacity .8s var(--ease)}.brand-mark .alias-wrapper{padding:10px 30px}.brand-mark .alias{font-family:Dancing Script,cursive;font-size:24px;color:var(--accent)}.brand-mark.hidden{opacity:0;pointer-events:none}.signature-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-1deg);width:150%;height:160%;z-index:-1;pointer-events:none}.circle-path{fill:none;stroke:var(--accent);stroke-width:.8;stroke-linecap:round;stroke-linejoin:round;opacity:.4;stroke-dasharray:800;stroke-dashoffset:800;transition:stroke-dashoffset 2.5s var(--ease)}.draw-circle .circle-path{stroke-dashoffset:0}.alias{font-family:Playwrite ES,cursive;color:var(--accent);font-size:clamp(24px,3vw,32px);display:inline-block;transform:rotate(-2deg);transition:transform var(--transition-slow)}.social-links{position:fixed;top:40px;right:50px;display:flex;gap:24px;z-index:2001;transition:opacity .8s ease}.social-link{color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),transform var(--transition-fast)}.social-link:hover{color:var(--accent);transform:translateY(-4px)}.social-links.hidden{opacity:0;pointer-events:none}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:80px 60px;max-width:1300px;width:100%;margin:0 auto;padding-bottom:120px}.gallery-card{width:100%;display:flex;flex-direction:column;align-items:center;cursor:pointer;opacity:0;transform:translateY(30px)}.gallery-grid .gallery-card:nth-child(3n+2){transform:translateY(40px)}.card-image-wrapper{position:relative;width:100%;aspect-ratio:4 / 5;overflow:hidden;border-radius:12px;background:var(--bg-color);margin-bottom:30px;box-shadow:var(--shadow-soft);transition:box-shadow var(--transition-slow),transform var(--transition-slow);border:1px solid rgba(2,48,71,.03);-webkit-mask-image:-webkit-radial-gradient(white,black);transform:translateZ(0);will-change:transform,box-shadow}.card-image{width:100%;height:100%;object-fit:cover;opacity:.9;filter:grayscale(.2) brightness(.95);transform:scale(1);transition:opacity var(--transition-slow),filter var(--transition-slow),transform var(--transition-slow);will-change:transform,filter,opacity}.gallery-card:hover .card-image-wrapper{box-shadow:var(--shadow-hover);transform:translateY(-8px)}.gallery-card:hover .card-image{opacity:1;filter:grayscale(0) brightness(1);transform:scale(1.1)}.gallery-card:before{content:attr(data-id);position:absolute;top:-20px;left:0;font-family:monospace;font-size:10px;letter-spacing:.2em;color:var(--text-secondary);opacity:.6}.gallery-item{position:relative;background:none;border:none;color:var(--text-primary);font-family:Inter,sans-serif;font-weight:300;font-size:13px;letter-spacing:.5em;text-transform:uppercase;transform-style:preserve-3d;padding:10px 0 10px .5em}.char{display:inline-block;will-change:transform,opacity}.placeholder-container{width:100%;aspect-ratio:4 / 5;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding-bottom:24px;border:1px dashed rgba(2,48,71,.1);border-radius:8px}.placeholder-text{font-family:Playwrite ES,cursive;color:#02304726;font-size:20px;transform:rotate(-3deg);transition:all var(--transition-slow)}.placeholder-underline{width:120px;height:20px;margin-top:5px;opacity:.1;transition:all var(--transition-slow)}.placeholder-underline path{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:200;stroke-dashoffset:200;transition:stroke-dashoffset 1s var(--ease)}.gallery-card.is-placeholder:hover .placeholder-text{color:var(--accent);transform:rotate(-1deg) scale(1.05);opacity:.8}.gallery-card.is-placeholder:hover .placeholder-underline path{stroke-dashoffset:0}.back-to-gallery{position:fixed;top:50px;left:50px;z-index:1000;transition:opacity .8s ease}.minimal-btn{background:var(--card-bg);border:none;color:var(--text-primary);border-radius:50%;width:50px;height:50px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);transition:all var(--transition-fast)}.minimal-btn:hover{color:var(--accent);transform:scale(1.1);box-shadow:var(--shadow-hover)}@media(max-width:1100px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:60px 40px;padding:0 40px 100px}.gallery-grid .gallery-card:nth-child(3n+2){transform:none}}@media(max-width:640px){#gallery-overlay{padding:100px 20px 60px}.gallery-header{margin-bottom:60px}.brand-mark{top:25px;left:20px}.brand-mark .alias{font-size:18px}.brand-mark .alias-wrapper{padding:5px 15px}.gallery-grid{grid-template-columns:1fr;gap:60px;max-width:320px;padding-bottom:60px}.gallery-title{font-size:9px;letter-spacing:.6em;margin-bottom:30px}.alias{font-size:24px}.gallery-item{font-size:11px}.social-links{position:relative;top:auto;right:auto;margin-top:40px;justify-content:center;gap:30px;padding-bottom:20px}.back-to-gallery{top:30px;left:30px}}
