@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg:#000;--bg-2:#0a0a0a;--bg-3:#111;--surface:#d4af370a;--surface-2:#d4af3714;--border:#d4af372e;--border-strong:#d4af3759;--text:#f5e9c8;--text-dim:#f5e9c8a6;--text-mute:#f5e9c86b;--gold:#d4af37;--gold-2:#f4d76e;--gold-deep:#a8842a;--gold-glow:#d4af3773;--gradient:linear-gradient(135deg,#a8842a 0%,#d4af37 35%,#f4d76e 65%,#d4af37 100%);--gradient-soft:linear-gradient(135deg, #d4af372e, #f4d76e0d);--grain-opacity:.06;--shadow:0 25px 60px -20px #d4af3759;--radius:18px;--nav-h:72px;--frame-bg:#0a0a0a}[data-theme=light]{--bg:#fbf7ee;--bg-2:#f4ecd8;--bg-3:#ede2c4;--surface:#a8842a0f;--surface-2:#a8842a1a;--border:#a8842a40;--border-strong:#a8842a73;--text:#1a1408;--text-dim:#1a1408b8;--text-mute:#1a140880;--gold:#a8842a;--gold-2:#c89b2e;--gold-deep:#7a5e1a;--gold-glow:#a8842a59;--gradient:linear-gradient(135deg,#7a5e1a 0%,#a8842a 50%,#c89b2e 100%);--gradient-soft:linear-gradient(135deg, #a8842a2e, #a8842a0a);--grain-opacity:.04;--shadow:0 25px 60px -20px #a8842a59;--frame-bg:#fbf7ee}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);cursor:none;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;transition:background .6s,color .6s;overflow-x:hidden}@media (width<=900px){body{cursor:auto}.cursor-dot,.cursor-ring{display:none}}::selection{background:var(--gold);color:#000}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.serif{letter-spacing:-.01em;font-family:Cormorant Garamond,serif;font-weight:500}body:before{content:"";pointer-events:none;z-index:9998;opacity:var(--grain-opacity);mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(700px circle at 12% 8%, var(--gold-glow), transparent 60%), radial-gradient(800px circle at 88% 70%, #f4d76e2e, transparent 60%);position:fixed;inset:0}.cursor-dot,.cursor-ring{pointer-events:none;z-index:10000;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-dot{background:var(--gold-2);width:6px;height:6px;box-shadow:0 0 12px var(--gold), 0 0 28px var(--gold)}.cursor-ring{border:1.5px solid var(--gold);width:36px;height:36px;transition:transform .28s,width .2s,height .2s,border-color .2s,background .2s}.cursor-ring.hover{border-color:var(--gold-2);background:#d4af3714;width:60px;height:60px}.loader{background:var(--bg);z-index:10001;flex-direction:column;justify-content:center;align-items:center;gap:25px;transition:opacity .8s,visibility .8s;display:flex;position:fixed;inset:0}.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-icon{width:100px;height:100px;position:relative}.loader-svg{width:100%;height:100%}.loader-bar{background:#d4af3726;width:220px;height:1px;position:relative;overflow:hidden}.loader-bar:before{content:"";background:var(--gradient);width:40%;animation:1.4s ease-in-out infinite slide;position:absolute;inset:0}@keyframes slide{0%{left:-40%}to{left:100%}}section{padding:35px 4vw;position:relative}.section-head{max-width:760px;margin-bottom:70px}.eyebrow{text-transform:uppercase;letter-spacing:.4em;color:var(--gold);align-items:center;gap:10px;margin-bottom:22px;font-family:JetBrains Mono,monospace;font-size:11px;display:inline-flex}.eyebrow:before{content:"";background:var(--gold);width:36px;height:1px}h2.title{letter-spacing:-.025em;color:var(--text);font-family:Cormorant Garamond,serif;font-size:clamp(36px,5.5vw,68px);font-weight:500;line-height:1.05}h2.title em{color:var(--gold);font-style:italic;font-weight:600}.sub{color:var(--text-dim);max-width:620px;margin-top:18px;font-size:16px;line-height:1.7}.btn{letter-spacing:.05em;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:none;text-transform:uppercase;border-radius:999px;align-items:center;gap:10px;padding:12px 22px;font-size:13px;font-weight:500;transition:transform .25s,box-shadow .3s,background .3s,border-color .3s;display:inline-flex;position:relative;overflow:hidden}.btn:hover{background:var(--surface-2);border-color:var(--gold)}.btn-primary{background:var(--gradient);color:#0a0a0a;box-shadow:0 10px 30px -10px var(--gold-glow);border-color:#0000;font-weight:600}.btn-primary:hover{box-shadow:0 18px 44px -10px var(--gold-glow);color:var(--gold)}.icon-btn{background:var(--surface);border:1px solid var(--border);cursor:none;width:42px;height:42px;color:var(--gold);border-radius:50%;place-items:center;transition:transform .25s,background .3s,border-color .3s;display:grid}.icon-btn:hover{background:var(--surface-2);border-color:var(--border-strong);transform:translateY(-2px)}.badge{background:var(--surface-2);color:var(--gold);border:1px solid var(--border);letter-spacing:.05em;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:10px}.badges{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.nav{height:var(--nav-h);z-index:1000;justify-content:space-between;align-items:center;padding:0 4vw;transition:padding .4s;display:flex;position:fixed;top:0;left:0;right:0}.nav:before{content:"";z-index:-1;border-bottom:1px solid #0000;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s,border-color .4s;position:absolute;inset:0}.nav.scrolled:before{background:color-mix(in oklab, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(20px);border-bottom-color:var(--border)}.logo{letter-spacing:-.02em;z-index:1001;align-items:center;gap:12px;font-size:18px;font-weight:600;display:flex;position:relative}.logo-img{object-fit:cover;border:2px solid var(--gold);width:42px;height:42px;box-shadow:0 0 20px var(--gold-glow);border-radius:50%;transition:transform .3s}.logo:hover .logo-img{transform:scale(1.05)rotate(-5deg)}.logo-mark{background:var(--gradient);color:#000;width:42px;height:42px;box-shadow:0 8px 24px var(--gold-glow);border:1px solid var(--gold-2);border-radius:50%;place-items:center;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:700;display:grid}.logo .name{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:600}.logo .dot{color:var(--gold)}.nav-links{align-items:center;gap:4px;display:flex}.nav-links a{color:var(--text-dim);letter-spacing:.02em;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:500;transition:color .25s;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--gold)}.nav-links a.active:before{content:"";background:var(--surface-2);border:1px solid var(--border);z-index:-1;border-radius:999px;position:absolute;inset:0}.nav-right{z-index:1001;align-items:center;gap:10px;display:flex}.hamburger{display:none}.hamburger svg{transition:transform .3s;display:block}.hamburger.active svg{transform:rotate(90deg)}.nav-overlay{-webkit-backdrop-filter:blur(4px);z-index:998;background:#0009;animation:.3s overlayFade;position:fixed;inset:0}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}.nav.menu-open:before{border-bottom-color:var(--border);background:var(--bg)!important;-webkit-backdrop-filter:none!important}@media (width<=920px){.nav-links:not(.open){display:none}.hamburger{justify-content:center;align-items:center;display:flex}.nav-links.open{background:var(--bg);border-left:1px solid var(--border);z-index:999;flex-direction:column;justify-content:center;align-items:stretch;gap:8px;width:280px;max-width:75vw;padding:80px 30px 40px;animation:.3s cubic-bezier(.34,1.56,.64,1) slideIn;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-10px 0 40px #0000004d}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.nav-links.open a{color:var(--text-dim);text-align:center;border-radius:12px;padding:14px 20px;font-size:18px;font-weight:500;transition:all .2s}.nav-links.open a:hover{background:var(--surface-2);color:var(--gold)}.nav-links.open a.active{color:var(--gold);background:var(--surface-2);border:1px solid var(--border)}.nav-links.open a:before{display:none!important}}@media (width<=480px){.nav{padding:0 16px!important}.nav-links.open{width:100%;max-width:100%;padding:80px 20px 40px}.nav-links.open a{padding:12px 16px;font-size:16px}.logo-img{width:36px;height:36px}.logo .name{font-size:18px}}.hero{min-height:100vh;padding-top:calc(var(--nav-h) + 15px);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.hero-ornament{aspect-ratio:1;border:1px solid var(--border);z-index:1;pointer-events:none;background:radial-gradient(circle at 30% 30%, var(--gold-glow), transparent 60%);opacity:.5;border-radius:50%;width:min(46vh,420px);position:absolute;top:50%;right:6vw;transform:translateY(-50%)}.hero-ornament:before,.hero-ornament:after{content:"";border:1px dashed var(--border);border-radius:50%;animation:60s linear infinite spinSlow;position:absolute;inset:-30px}.hero-ornament:after{opacity:.5;border-style:solid;animation-duration:90s;animation-direction:reverse;inset:-60px}@keyframes spinSlow{to{transform:rotate(360deg)}}.hero-inner{z-index:2;max-width:1100px;position:relative}.hero-tag{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-items:center;gap:12px;margin-bottom:25px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:12px;display:inline-flex}.hero-tag .dot{background:var(--gold);width:7px;height:7px;box-shadow:0 0 10px var(--gold);border-radius:50%}.hero h1{letter-spacing:-.045em;font-family:Cormorant Garamond,serif;font-size:clamp(54px,9vw,120px);font-weight:500;line-height:.92}.hero h1 .grad{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:600}.typewriter{color:var(--gold);letter-spacing:.05em;min-height:1.6em;margin-top:30px;font-family:JetBrains Mono,monospace;font-size:clamp(15px,1.6vw,20px)}.cursor-blink{background:var(--gold);vertical-align:-3px;width:10px;height:1.1em;margin-left:4px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.hero-tagline{color:var(--text-dim);max-width:580px;margin-top:30px;font-size:16px;line-height:1.75}.hero-bio-short{color:var(--text);font-family:Cormorant Garamond,serif;font-size:22px;font-style:italic;line-height:1.5}.hero-cta{flex-wrap:wrap;gap:14px;margin-top:42px;display:flex}.scroll-ind{width:100%;color:var(--text-mute);letter-spacing:.4em;text-transform:uppercase;flex-direction:column;align-items:center;gap:10px;margin-top:30px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.scroll-ind .line{background:linear-gradient(to bottom, transparent, var(--gold));width:1px;height:50px;position:relative;overflow:hidden}.scroll-ind .line:before{content:"";background:var(--gold);width:100%;height:50%;animation:2s ease-in-out infinite scrollLine;position:absolute;top:-50%;left:0}@keyframes scrollLine{0%{top:-50%}to{top:100%}}.hero-social{flex-wrap:wrap;gap:18px;margin-top:40px;display:flex}.hero-social a{width:44px;height:44px;color:var(--gold);background:var(--surface);border:1px solid var(--border);opacity:0;animation:.6s forwards socialFadeIn;animation-delay:calc(.1s * var(--i,0));border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:inline-flex;transform:translateY(20px)}.hero-social a:hover{border-color:var(--gold);background:var(--surface-2);transform:translateY(-4px)scale(1.12);box-shadow:0 8px 30px #ffc40040}.hero-social a:first-child{--i:1}.hero-social a:nth-child(2){--i:2}.hero-social a:nth-child(3){--i:3}.hero-social a:nth-child(4){--i:4}.hero-social a:nth-child(5){--i:5}.hero-social a:nth-child(6){--i:6}@keyframes socialFadeIn{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-ornament:before,.hero-ornament:after,.scroll-ind .line:before{animation:none}.cursor-blink{opacity:1;animation:none}.hero-social a{opacity:1;animation:none;transform:none}}@media (width<=900px){.hero-ornament{display:none}}.about-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:80px;display:grid}@media (width<=900px){.about-grid{grid-template-columns:1fr;gap:50px}}.profile-frame{aspect-ratio:4/4;max-width:420px;margin:0 auto;position:relative}.profile-frame .img-wrap{border:1px solid var(--gold);box-shadow:var(--shadow), inset 0 0 80px #0006;background:var(--frame-bg);border-radius:4px;place-items:center;display:grid;inset:0;overflow:hidden}.avatar-img{object-fit:cover;object-position:center top;filter:grayscale(8%)contrast(1.05);width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .4s;display:block}.profile-frame:hover .avatar-img{filter:grayscale(0%)contrast(1.08);transform:scale(1.04)}.avatar-overlay{opacity:0;pointer-events:none;mix-blend-mode:overlay;background:linear-gradient(135deg,#d4af3700 0%,#d4af3714 40%,#d4af372e 60%,#d4af3700 100%);transition:opacity .4s;position:absolute;inset:0}.profile-frame:hover .avatar-overlay{opacity:1}.avatar-skeleton{background:linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);background-size:200% 100%;width:100%;height:100%;animation:1.6s ease-in-out infinite avatarShimmer}@keyframes avatarShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.profile-placeholder{background:var(--gradient);color:#0000;-webkit-user-select:none;user-select:none;-webkit-background-clip:text;background-clip:text;font-family:Cormorant Garamond,serif;font-size:72px;font-weight:600}.profile-frame .corner{border:1px solid var(--gold);z-index:2;width:48px;height:48px;transition:width .3s,height .3s;position:absolute}.profile-frame:hover .corner{width:56px;height:56px}.profile-frame .c1{border-bottom:none;border-right:none;top:-14px;left:-14px}.profile-frame .c2{border-bottom:none;border-left:none;top:-14px;right:-14px}.profile-frame .c3{border-top:none;border-right:none;bottom:-14px;left:-14px}.profile-frame .c4{border-top:none;border-left:none;bottom:-14px;right:-14px}.avatar-badge{z-index:3;background:var(--bg-2,#0a0a0a);border:1px solid var(--border);letter-spacing:.12em;color:var(--text-dim);text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-flex;position:absolute;bottom:15px;right:15px;box-shadow:0 8px 24px #0006}.avatar-badge-dot{background:var(--gold);width:7px;height:7px;box-shadow:0 0 0 3px var(--gold-glow);border-radius:50%;flex-shrink:0;animation:2s ease-in-out infinite badgePulse}@keyframes badgePulse{0%,to{box-shadow:0 0 0 3px var(--gold-glow)}50%{box-shadow:0 0 0 7px var(--gold-glow)}}.profile-frame .label{letter-spacing:.4em;color:var(--gold);text-transform:uppercase;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:10px;position:absolute;bottom:-44px;left:50%;transform:translate(-50%)}.about-text>p{color:var(--text);margin-top:18px;font-family:Cormorant Garamond,serif;font-size:22px;font-style:italic;line-height:1.5}.stats{border-radius:4px;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:42px;display:grid;overflow:hidden}@media (width<=700px){.stats{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--bg);border:1px solid var(--border);padding:24px 18px;transition:all .3s}.stat:hover{background:var(--bg-2);border-color:var(--gold)}.stat .num{letter-spacing:-.02em;background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Cormorant Garamond,serif;font-size:42px;font-weight:600;line-height:1}.stat .lbl{color:var(--text-mute);text-transform:uppercase;letter-spacing:.25em;margin-top:10px;font-family:JetBrains Mono,monospace;font-size:10px}@media (prefers-reduced-motion:reduce){.avatar-img{transition:none}.profile-frame:hover .avatar-img{transform:none}.avatar-overlay{transition:none}.avatar-skeleton,.avatar-badge-dot{animation:none}.profile-frame .corner{transition:none}.profile-frame:hover .corner{width:48px;height:48px}}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;display:grid}.projects-filter{flex-wrap:wrap;gap:8px;margin-bottom:32px;display:flex}.filter-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:7px 16px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;transition:all .2s}.filter-btn:hover{border-color:var(--gold);color:var(--gold)}.filter-btn.active{background:var(--gradient);color:#0a0a0a;border-color:#0000;font-weight:600}.project{border:1px solid var(--border);background:var(--surface);transform-style:preserve-3d;will-change:transform;transition:transform .15s,border-color .3s;position:relative;overflow:hidden}.project:hover{border-color:var(--gold)}.project-vis{background:var(--gradient-soft);border-bottom:1px solid var(--border);height:180px;position:relative;overflow:hidden}.project-vis:before{content:"";background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 30%,#0000 75%);mask-image:radial-gradient(circle,#000 30%,#0000 75%)}.project-vis .icon-lg{filter:drop-shadow(0 4px 30px var(--gold-glow));place-items:center;font-size:54px;display:grid;position:absolute;inset:0}.project-status-badge{letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;border:1px solid;border-radius:999px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:9.5px;position:absolute;top:12px;left:12px}.project-featured-badge{letter-spacing:.08em;text-transform:uppercase;background:var(--gradient);color:#0a0a0a;z-index:2;border-radius:999px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:9.5px;font-weight:700;position:absolute;top:12px;right:12px}.project-meta{gap:16px;margin-top:12px;display:flex}.project-meta-item{color:var(--text-mute);letter-spacing:.03em;align-items:center;gap:5px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.project-body{padding:26px}.project h3{color:var(--text);font-family:Cormorant Garamond,serif;font-size:24px;font-weight:600}.project p{color:var(--text-dim);min-height:60px;margin-top:10px;font-size:14px;line-height:1.7}.project-overlay{opacity:0;pointer-events:none;background:linear-gradient(#0000 30%,#000000d9);justify-content:center;align-items:flex-end;padding:30px;transition:opacity .4s;display:flex;position:absolute;inset:0}[data-theme=light] .project-overlay{background:linear-gradient(#0000 30%,#a8842aeb)}.project:hover .project-overlay{opacity:1;pointer-events:auto}.overlay-actions{align-items:center;gap:10px;display:flex}.project-overlay .view{background:var(--gradient);color:#000;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:11px 22px;font-size:12px;font-weight:600;display:inline-flex}.overlay-icon-btn{border:1px solid var(--border-strong);color:#fff;background:#00000059;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;transition:border-color .2s,color .2s,transform .2s,background .2s;display:grid}.overlay-icon-btn:hover{border-color:var(--gold);color:var(--gold);background:#0000008c;transform:translateY(-2px)}.field-error{color:#e2574c;margin-top:4px;font-size:11px;display:block}.form-msg-success{color:#4ade80!important}.form-msg-error{color:#e2574c!important}.pm-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);background:#000000bf;justify-content:center;align-items:center;padding:20px;animation:.25s pmFadeIn;display:flex;position:fixed;inset:0}@keyframes pmFadeIn{0%{opacity:0}to{opacity:1}}.pm-modal{background:var(--bg-2,#0a0a0a);border:1px solid var(--border);border-radius:20px;width:min(1060px,100%);min-width:0;max-height:90vh;animation:.3s cubic-bezier(.2,.8,.2,1) pmSlideUp;position:relative;overflow:hidden;box-shadow:0 40px 100px -20px #000c,0 0 0 1px #d4af3714}@keyframes pmSlideUp{0%{opacity:0;transform:translateY(32px)scale(.97)}to{opacity:1;transform:none}}.pm-close{z-index:10;border:1px solid var(--border);background:var(--bg-3,#111);width:40px;height:40px;color:var(--text-dim);cursor:pointer;border-radius:50%;place-items:center;transition:background .2s,border-color .2s,color .2s,transform .2s;display:grid;position:absolute;top:18px;right:18px}.pm-close:hover{background:var(--surface-2,#d4af3714);border-color:var(--gold);color:var(--gold);transform:rotate(90deg)}.pm-loading{justify-content:center;align-items:center;min-height:340px;display:flex}.pm-spinner{border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pm-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-height:90vh;display:grid}@media (width<=760px){.pm-content{grid-template-columns:minmax(0,1fr);max-height:none}}.pm-gallery{border-right:1px solid var(--border);background:var(--bg,#000);flex-direction:column;gap:0;min-width:0;display:flex}.pm-main-img{cursor:zoom-in;background:var(--gradient-soft,#d4af370a);flex:1;place-items:center;min-height:380px;display:grid;position:relative;overflow:hidden}.pm-main-img:before{content:"";background-image:var(--bg-img);filter:blur(28px)brightness(.35)saturate(1.2);z-index:1;background-position:50%;background-size:cover;position:absolute;inset:-20px}.pm-main-img img{z-index:2;object-fit:contain;border-radius:6px;width:auto;max-width:100%;height:auto;max-height:100%;transition:transform .45s cubic-bezier(.2,.8,.2,1);position:relative;box-shadow:0 20px 60px -20px #000c}.pm-main-img:hover img{transform:scale(1.02)}.pm-img-fade{animation:.35s pmImgFade}@keyframes pmImgFade{0%{opacity:0}to{opacity:1}}.pm-nav-btn{border:1px solid var(--border);color:#fff;cursor:pointer;z-index:3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073;border-radius:50%;place-items:center;width:40px;height:40px;transition:background .2s,border-color .2s,color .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.pm-nav-btn:hover{border-color:var(--gold);color:var(--gold);background:#000000b3}.pm-nav-prev{left:14px}.pm-nav-next{right:14px}.pm-counter{z-index:3;letter-spacing:.06em;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;border-radius:999px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:11px;position:absolute;bottom:14px;right:14px}.pm-img-placeholder{background:var(--gradient-soft,#d4af370a);place-items:center;width:100%;height:100%;min-height:280px;display:grid}.pm-icon{filter:drop-shadow(0 4px 30px var(--gold-glow));font-size:72px}.pm-status{letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid;border-radius:999px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:10px;position:absolute;top:16px;left:16px}.pm-status-completed{color:#4ade80;background:#4ade801f;border-color:#4ade8059}.pm-status-in-progress{color:#fbbf24;background:#fbbf241f;border-color:#fbbf2459}.pm-status-archived{color:var(--text-mute);border-color:var(--border);background:#0006}.pm-thumbs{background:var(--bg-3,#111);border-top:1px solid var(--border);scrollbar-width:none;gap:6px;padding:10px;display:flex;overflow-x:auto}.pm-thumbs::-webkit-scrollbar{display:none}.pm-thumb{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;width:56px;height:40px;padding:0;transition:border-color .2s,transform .2s;overflow:hidden}.pm-thumb img{object-fit:cover;width:100%;height:100%}.pm-thumb:hover{border-color:var(--gold-dim,#a8842a);transform:scale(1.06)}.pm-thumb.active{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-glow)}.pm-cta{border-top:1px solid var(--border);background:var(--bg-3,#111);flex-wrap:wrap;gap:10px;padding:16px;display:flex}.pm-btn{cursor:pointer;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;border:none;border-radius:999px;flex:140px;justify-content:center;align-items:center;gap:8px;min-width:0;padding:11px 18px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;overflow:hidden}.pm-btn:hover{transform:translateY(-2px)}.pm-btn-primary{background:var(--gradient);color:#0a0a0a;box-shadow:0 8px 24px -8px var(--gold-glow)}.pm-btn-primary:hover{box-shadow:0 14px 32px -8px var(--gold-glow)}.pm-btn-outline{color:var(--text);border:1px solid var(--border);background:0 0}.pm-btn-outline:hover{border-color:var(--gold);color:var(--gold);background:#d4af370f}.pm-info{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;gap:0;min-width:0;max-height:90vh;display:flex;overflow-y:auto}.pm-info-head{border-bottom:1px solid var(--border);background:var(--bg-2,#0a0a0a);z-index:2;padding:32px 32px 20px;position:sticky;top:0}.pm-eyebrow{letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:10px}.pm-title{letter-spacing:-.02em;color:var(--text);font-family:Cormorant Garamond,serif;font-size:clamp(26px,3.5vw,38px);font-weight:600;line-height:1.1}.pm-tags{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:18px 32px;display:flex}.pm-tag{border:1px solid var(--border);color:var(--text-dim);background:var(--surface,#d4af370a);letter-spacing:.06em;border-radius:999px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:11px;transition:border-color .2s,color .2s}.pm-tag:hover{border-color:var(--gold);color:var(--gold)}.pm-section{border-bottom:1px solid var(--border);padding:22px 32px}.pm-section:last-child{border-bottom:none}.pm-section-title{letter-spacing:.25em;text-transform:uppercase;color:var(--text-mute);margin-bottom:14px;font-family:JetBrains Mono,monospace;font-size:10px}.pm-description{color:var(--text-dim);font-size:14.5px;line-height:1.8}.pm-features{flex-direction:column;gap:10px;list-style:none;display:flex}.pm-feature{color:var(--text-dim);align-items:flex-start;gap:12px;font-size:14px;line-height:1.6;display:flex}.pm-feature-icon{background:var(--gradient);color:#000;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}@media (width<=760px){.pm-modal{border-radius:16px;max-height:95vh;overflow-y:auto}.pm-gallery{border-right:none;border-bottom:1px solid var(--border)}.pm-info{max-height:none}.pm-info-head{padding:24px 20px 16px;position:static}.pm-tags,.pm-section{padding:16px 20px}.pm-cta{padding:12px}}@media (width<=480px){.pm-overlay{padding:10px}.pm-nav-btn{width:32px;height:32px}.pm-nav-prev{left:8px}.pm-nav-next{right:8px}.pm-counter{padding:3px 8px;font-size:10px;bottom:10px;right:10px}.pm-status{padding:4px 10px;font-size:9px;top:12px;left:12px}.pm-btn{padding:10px 14px;font-size:12px}.pm-title{font-size:clamp(22px,7vw,30px)}}.skill-groups{border-radius:4px;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:5px;display:grid;overflow:hidden}.skill-group{background:var(--bg);border:1px solid var(--border);padding:36px;transition:all .3s}.skill-group:hover{background:var(--bg-2);border-color:var(--gold)}.skill-group h3{color:var(--gold);justify-content:space-between;align-items:center;margin-bottom:26px;font-family:Cormorant Garamond,serif;font-size:24px;font-weight:600;display:flex}.skill-group h3 .num{color:var(--text-mute);letter-spacing:.2em;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:400}.skill{margin-bottom:18px}.skill-row{color:var(--text);justify-content:space-between;margin-bottom:8px;font-size:13px;display:flex}.skill-row .pct{color:var(--gold);font-family:JetBrains Mono,monospace;font-size:11px}.bar{background:var(--border);height:1px;position:relative;overflow:hidden}.bar .fill{background:var(--gradient);height:100%;box-shadow:0 0 8px var(--gold-glow)}.timeline{margin:0 auto;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, transparent, var(--border) 10%, var(--border) 90%, transparent);width:3px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.tl-line{background:var(--gold);width:2px;height:100%;box-shadow:0 0 18px var(--gold-glow);transition:height 1.6s;position:absolute;top:0;left:50%;transform:translate(-50%)}.tl-item{width:50%;padding:20px 26px;position:relative}.tl-item:nth-child(odd){text-align:left;left:0}.tl-item:nth-child(2n){left:50%}.tl-dot{background:var(--bg);border:1px solid var(--gold);width:14px;height:14px;box-shadow:0 0 0 4px var(--bg), 0 0 18px var(--gold);border-radius:50%;position:absolute;top:36px}.tl-dot:after{content:"";background:var(--gold);border-radius:50%;position:absolute;inset:3px}.tl-item:nth-child(odd) .tl-dot{right:-7px}.tl-item:nth-child(2n) .tl-dot{left:-7px}.tl-card{border:1px solid var(--border);background:var(--surface);padding:25px;transition:transform .35s,border-color .3s,background .3s;position:relative}.tl-card:hover{border-color:var(--gold);background:var(--surface-2);transform:translateY(-3px)}.tl-date{color:var(--gold);text-transform:uppercase;letter-spacing:.3em;font-family:JetBrains Mono,monospace;font-size:11px}.tl-role{color:var(--text);margin-top:8px;font-family:Cormorant Garamond,serif;font-size:24px;font-weight:600}.tl-org{color:var(--text-dim);margin-top:4px;font-size:13px;font-style:italic}.tl-card ul{color:var(--text-dim);margin-top:14px;padding-left:18px;font-size:14px;line-height:1.7}.tl-item:nth-child(odd) .tl-card ul{text-align:left;padding-left:18px;padding-right:0;list-style-position:outside}.tl-card li{margin:6px 0}.tl-card li::marker{color:var(--gold)}.tl-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px;display:flex}.tl-type{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--gold);color:var(--gold);border-radius:999px;padding:3px 9px;font-family:JetBrains Mono,monospace;font-size:9.5px}.tl-duration{color:var(--text-mute);text-transform:none;letter-spacing:normal;font-size:10px;font-weight:400}@media (width<=780px){.timeline:before,.tl-line{left:18px}.tl-item{width:100%;padding:14px 5px 14px 45px;text-align:left!important;left:0!important}.tl-card{padding:20px}.tl-item .tl-dot{left:10px!important;right:auto!important}}.edu-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:22px;display:grid}.edu-card{border:1px solid var(--border);background:var(--surface);padding:34px;transition:transform .35s,border-color .3s,background .3s;position:relative}.edu-card:before{content:"";background:var(--gold);width:40px;height:1px;position:absolute;top:0;left:0}.edu-card:hover{border-color:var(--gold);background:var(--surface-2);transform:translateY(-4px)}.edu-card .yr{color:var(--gold);text-transform:uppercase;letter-spacing:.3em;font-family:JetBrains Mono,monospace;font-size:11px}.edu-card h3{color:var(--text);margin-top:12px;font-family:Cormorant Garamond,serif;font-size:24px;font-weight:600;line-height:1.3}.edu-card .org{color:var(--text-dim);margin-top:6px;font-size:14px;font-style:italic}.edu-card p{color:var(--text-dim);margin-top:16px;font-size:14px;line-height:1.7}.cert-section-head{margin-bottom:30px}.cert-filters{flex-wrap:wrap;gap:8px;margin-bottom:30px;display:flex}.cert-filter-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:999px;padding:7px 18px;font-family:JetBrains Mono,monospace;font-size:11px;transition:all .2s}.cert-filter-btn:hover{border-color:var(--gold);color:var(--gold)}.cert-filter-btn.active{background:var(--gradient);color:#0a0a0a;border-color:#0000;font-weight:600}.cert-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.cert-empty{text-align:center;color:var(--text-mute);letter-spacing:.1em;grid-column:1/-1;padding:48px 0;font-family:JetBrains Mono,monospace;font-size:14px}.cert-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;flex-direction:column;transition:transform .3s,border-color .3s,background .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.cert-card:before{content:"";background:var(--gradient-soft);opacity:0;transition:opacity .3s;position:absolute;inset:0}.cert-card:hover{border-color:var(--gold);background:var(--surface-2);box-shadow:0 16px 48px -12px var(--gold-glow);transform:translateY(-5px)}.cert-card:hover:before{opacity:1}.cert-card-top{justify-content:space-between;align-items:center;padding:18px 18px 0;display:flex;position:relative}.cert-logo{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.cert-logo img{object-fit:contain;width:100%;height:100%;padding:6px}.cert-logo span{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:700}.cert-cat-tag,.cert-expired-tag{letter-spacing:.1em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:3px 9px;font-family:JetBrains Mono,monospace;font-size:9px}.cert-cat-tag{color:var(--gold);background:#d4af3714;border-color:#d4af374d}.cert-expired-tag{color:var(--text-mute);border-color:var(--border);background:var(--surface)}.cert-card-body{flex:1;padding:14px 18px;position:relative}.cert-issuer{letter-spacing:.15em;color:var(--text-mute);text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:10px}.cert-title{color:var(--text);margin-top:6px;font-family:Cormorant Garamond,serif;font-size:18px;font-weight:600;line-height:1.35}.cert-date{color:var(--text-mute);align-items:center;gap:6px;margin-top:10px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.cert-date svg{opacity:.6;flex-shrink:0}.cert-card-foot{border-top:1px solid var(--border);padding:12px 18px;position:relative}.cert-view-btn{width:100%;color:var(--gold);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:JetBrains Mono,monospace;font-size:11px;transition:letter-spacing .2s,color .2s}.cert-card:hover .cert-view-btn{letter-spacing:.22em}.cert-overlay{z-index:9999;-webkit-backdrop-filter:blur(10px);background:#000000c7;justify-content:center;align-items:center;padding:20px;animation:.22s cfadeIn;display:flex;position:fixed;inset:0}@keyframes cfadeIn{0%{opacity:0}to{opacity:1}}.cert-modal{background:var(--bg-2,#0a0a0a);border:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border) transparent;border-radius:18px;width:min(680px,100%);max-height:90vh;animation:.28s cubic-bezier(.2,.8,.2,1) cslideUp;position:relative;overflow-y:auto;box-shadow:0 40px 100px -20px #000000d9,0 0 0 1px #d4af371a}@keyframes cslideUp{0%{opacity:0;transform:translateY(28px)scale(.97)}to{opacity:1;transform:none}}.cert-close{z-index:10;border:1px solid var(--border);background:var(--bg-3,#111);width:38px;height:38px;color:var(--text-dim);cursor:pointer;border-radius:50%;place-items:center;transition:all .2s;display:grid;position:absolute;top:16px;right:16px}.cert-close:hover{border-color:var(--gold);color:var(--gold);transform:rotate(90deg)}.cert-modal-head{border-bottom:1px solid var(--border);align-items:center;gap:18px;padding:30px 28px 22px;display:flex}.cert-modal-logo{object-fit:contain;border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-shrink:0;width:56px;height:56px;padding:8px}.cert-modal-logo-placeholder{border:1px solid var(--border);background:var(--surface);width:56px;height:56px;color:var(--gold);-webkit-background-clip:text;background-clip:text;border-radius:12px;flex-shrink:0;place-items:center;font-family:Cormorant Garamond,serif;font-size:28px;font-weight:700;display:grid}.cert-modal-issuer{letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:11px}.cert-modal-title{color:var(--text);padding-right:40px;font-family:Cormorant Garamond,serif;font-size:24px;font-weight:600;line-height:1.2}.cert-modal-meta{background:var(--border);border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;display:grid}.cert-meta-item{background:var(--bg-2,#0a0a0a);flex-direction:column;gap:5px;padding:16px 28px;display:flex}.cert-meta-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-mute);font-family:JetBrains Mono,monospace;font-size:10px}.cert-meta-value{color:var(--text);font-size:14px;font-weight:500}.cert-meta-value.expired{color:#e2574c}.cert-meta-value.cert-mono{color:var(--text-dim);word-break:break-all;font-family:JetBrains Mono,monospace;font-size:12px}.cert-preview{border-bottom:1px solid var(--border);padding:20px 28px}.cert-img-preview{border:1px solid var(--border);border-radius:8px;width:100%;display:block}.cert-pdf-frame{border:1px solid var(--border);background:var(--bg);border-radius:8px;width:100%;height:420px}.cert-modal-actions{gap:12px;padding:20px 28px;display:flex}.cert-action-btn{cursor:pointer;letter-spacing:.04em;border:none;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.cert-action-btn:hover{transform:translateY(-2px)}.cert-action-primary{background:var(--gradient);color:#0a0a0a;box-shadow:0 8px 24px -8px var(--gold-glow)}.cert-action-primary:hover{box-shadow:0 14px 32px -8px var(--gold-glow)}.cert-action-outline{border:1px solid var(--border);color:var(--text);background:0 0}.cert-action-outline:hover{border-color:var(--gold);color:var(--gold)}@media (width<=600px){.cert-modal-head{flex-direction:column;align-items:flex-start;padding:22px 18px 18px}.cert-modal-actions{flex-direction:column;padding:16px 18px}.cert-preview{padding:16px 18px}.cert-meta-item{padding:14px 18px}}.contact-grid{grid-template-columns:.85fr 1.15fr;gap:50px;display:grid}@media (width<=900px){.contact-grid{grid-template-columns:1fr}}.contact-info .item{border:1px solid var(--border);background:var(--surface);color:inherit;align-items:center;gap:18px;margin-bottom:14px;padding:22px;text-decoration:none;transition:transform .35s,border-color .3s,background .3s;display:flex}.contact-info .item:hover{border-color:var(--gold);background:var(--surface-2);transform:translate(8px)}.contact-info .ico{background:var(--gradient);color:#000;border-radius:3px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.contact-info .lbl{color:var(--text-mute);text-transform:uppercase;letter-spacing:.3em;font-family:JetBrains Mono,monospace;font-size:10px}.contact-info .val{color:var(--text);word-break:break-all;margin-top:4px;font-size:15px}.contact-form{border:1px solid var(--border);background:var(--surface);padding:38px}.field{margin-bottom:20px}.field label{color:var(--gold);text-transform:uppercase;letter-spacing:.3em;font-family:JetBrains Mono,monospace;font-size:10px;display:block}.field input,.field textarea{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);cursor:text;background:0 0;outline:none;margin-top:10px;padding:14px 16px;font-family:inherit;font-size:15px;transition:border-color .25s}.field input:focus,.field textarea:focus{border-bottom-color:var(--gold)}.form-msg{color:var(--gold);letter-spacing:.1em;min-height:18px;margin-top:14px;font-family:JetBrains Mono,monospace;font-size:13px}footer{border-top:1px solid var(--border);text-align:center;flex-direction:column;align-items:center;gap:18px;padding:50px 6vw 36px;display:flex;position:relative}footer:before{content:"";background:var(--gold);width:80px;height:1px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.footer-name{color:var(--text);font-family:Cormorant Garamond,serif;font-size:20px;font-weight:650}.footer-tag{color:var(--text-dim);font-family:Cormorant Garamond,serif;font-size:16px;font-style:italic}.footer-socials{gap:10px;display:flex}.footer-copy{color:var(--text-mute);letter-spacing:.2em;margin-top:8px;font-family:JetBrains Mono,monospace;font-size:11px}.blog-search{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;margin-bottom:40px;padding:12px 18px;transition:border-color .2s,box-shadow .2s;display:flex}.blog-search:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}.blog-search svg{color:var(--text-mute);flex-shrink:0}.blog-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:15px}.blog-search input::placeholder{color:var(--text-mute)}.blog-layout{grid-template-columns:220px 1fr;align-items:start;gap:40px;display:grid}@media (width<=900px){.blog-layout{grid-template-columns:1fr}.blog-sidebar{flex-wrap:wrap;gap:24px;display:flex}.sidebar-block{flex:1;min-width:200px}}.blog-sidebar{flex-direction:column;gap:28px;display:flex}.sidebar-block{flex-direction:column;gap:4px;display:flex}.sidebar-title{letter-spacing:.25em;text-transform:uppercase;color:var(--text-mute);margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:10px}.sidebar-link{color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:9px 12px;font-size:13.5px;transition:background .15s,color .15s;display:flex}.sidebar-link:hover{background:var(--surface-2);color:var(--text)}.sidebar-link.active{background:var(--surface-2);color:var(--gold);font-weight:600}.cat-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sidebar-count{color:var(--text-mute);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px}.tags-cloud{flex-wrap:wrap;gap:6px;display:flex}.tag-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;letter-spacing:.04em;border-radius:999px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:12px;transition:all .2s}.tag-chip:hover{border-color:var(--gold);color:var(--gold)}.tag-chip.active{background:var(--gradient);color:#0a0a0a;border-color:#0000;font-weight:600}.posts-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.blog-empty{text-align:center;color:var(--text-mute);letter-spacing:.1em;grid-column:1/-1;padding:60px 0;font-family:JetBrains Mono,monospace;font-size:13px}.post-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;overflow:hidden}.post-card:hover{border-color:var(--gold);box-shadow:0 16px 48px -12px var(--gold-glow);transform:translateY(-5px)}.post-card-cover{background:var(--gradient-soft);flex-shrink:0;height:180px;position:relative;overflow:hidden}.post-card-cover img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.post-card:hover .post-card-cover img{transform:scale(1.06)}.post-card-cover-placeholder{background:var(--gradient-soft);place-items:center;width:100%;height:100%;display:grid}.post-card-cover-placeholder span{background:var(--gradient);color:#0000;opacity:.5;-webkit-background-clip:text;background-clip:text;font-family:Cormorant Garamond,serif;font-size:56px;font-weight:700}.post-featured-badge{letter-spacing:.1em;background:var(--gradient);color:#0a0a0a;border-radius:999px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;position:absolute;top:12px;left:12px}.post-category-badge{letter-spacing:.1em;color:#fff;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;position:absolute;bottom:12px;left:12px}.post-card-body{flex:1;padding:20px}.post-card-title{color:var(--text);font-family:Cormorant Garamond,serif;font-size:20px;font-weight:600;line-height:1.3;transition:color .2s}.post-card:hover .post-card-title{color:var(--gold)}.post-card-excerpt{color:var(--text-dim);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:10px;font-size:13.5px;line-height:1.7;display:-webkit-box;overflow:hidden}.post-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.post-tag{color:var(--text-mute);letter-spacing:.04em;font-family:JetBrains Mono,monospace;font-size:11px}.post-card-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 20px;display:flex}.post-date{color:var(--text-mute);letter-spacing:.06em;font-family:JetBrains Mono,monospace;font-size:11px}.post-meta-icons{color:var(--text-mute);align-items:center;gap:12px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.post-meta-icons span{align-items:center;gap:4px;display:flex}.blog-load-more{justify-content:center;margin-top:40px;display:flex}.post-card.skeleton{pointer-events:none;opacity:.4;animation:1.6s ease-in-out infinite blogShimmer}@keyframes blogShimmer{0%,to{opacity:.3}50%{opacity:.5}}.post-loading{justify-content:center;align-items:center;min-height:400px;display:flex}.post-spinner{border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite spin}.post-error{text-align:center;color:var(--text-dim);flex-direction:column;align-items:center;gap:16px;padding:80px 0;display:flex}.post-back-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;margin-bottom:36px;padding:9px 18px;font-family:inherit;font-size:13px;transition:all .2s;display:inline-flex}.post-back-btn:hover{border-color:var(--gold);color:var(--gold);transform:translate(-4px)}.post-cover{height:480px;box-shadow:0 4px 16px -4px var(--gold-glow);cursor:zoom-in;border-radius:12px;margin-bottom:40px;position:relative;overflow:hidden}.post-cover img{object-fit:cover;width:100%;height:100%;transition:transform .4s,filter .4s}.post-cover:hover img{object-fit:contain;filter:brightness(1.05);transform:scale(1)}.post-cover-overlay{pointer-events:none;background:linear-gradient(#0000 40%,#000000b3);transition:opacity .4s;position:absolute;inset:0}.post-cover:hover .post-cover-overlay{opacity:0}@media (width<=900px){.post-cover{height:360px;margin-bottom:28px}}@media (width<=640px){.post-cover{cursor:default;border-radius:8px;height:240px;margin-bottom:20px}.post-cover img{object-fit:contain}}@media (width<=380px){.post-cover{height:200px}}.post-header{margin-bottom:40px}.post-header-meta{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;display:flex}.post-detail-category{letter-spacing:.12em;text-transform:uppercase;color:#fff;border-radius:999px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.post-detail-date{color:var(--text-mute);letter-spacing:.06em;font-family:JetBrains Mono,monospace;font-size:12px}.post-detail-title{letter-spacing:-.03em;color:var(--text);margin-bottom:18px;font-family:Cormorant Garamond,serif;font-size:clamp(32px,5vw,64px);font-weight:600;line-height:1.1}.post-detail-excerpt{color:var(--text-dim);max-width:720px;margin-bottom:20px;font-size:18px;font-style:italic;line-height:1.7}.post-detail-stats{color:var(--text-mute);flex-wrap:wrap;align-items:center;gap:7px;font-family:JetBrains Mono,monospace;font-size:12px;display:flex}.post-detail-stats span{align-items:center;gap:5px;display:flex}.post-detail-tags{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.post-detail-tag{color:var(--gold);background:var(--surface-2);border:1px solid var(--border);letter-spacing:.04em;border-radius:999px;padding:4px 12px;font-family:JetBrains Mono,monospace;font-size:12px}.post-divider{background:var(--border);height:1px;margin:40px 0;position:relative}.post-divider:before{content:"";background:var(--gold);width:60px;height:1px;position:absolute;top:0;left:0}.post-content{max-width:780px;color:var(--text-dim);margin:0 auto;font-size:16.5px;line-height:1.85}.post-content h1,.post-content h2,.post-content h3,.post-content h4{color:var(--text);margin:2em 0 .75em;font-family:Cormorant Garamond,serif;font-weight:600;line-height:1.2}.post-content h2{font-size:clamp(22px,3vw,34px)}.post-content h3{font-size:clamp(18px,2.4vw,26px)}.post-content h4{font-size:18px}.post-content p{margin:1.2em 0}.post-content a{color:var(--gold);text-underline-offset:3px;text-decoration:underline;transition:opacity .2s}.post-content a:hover{opacity:.7}.post-content strong{color:var(--text);font-weight:600}.post-content em{color:var(--text);font-style:italic}.post-content ul,.post-content ol{flex-direction:column;gap:6px;margin:1em 0;padding-left:22px;display:flex}.post-content li::marker{color:var(--gold)}.post-content blockquote{border-left:3px solid var(--gold);background:var(--surface);color:var(--text-dim);border-radius:0 8px 8px 0;margin:1.5em 0;padding:16px 22px;font-style:italic}.post-content blockquote p{margin:0}.post-content pre{background:var(--bg-3,#111);border:1px solid var(--border);border-radius:10px;margin:1.5em 0;padding:20px;font-family:JetBrains Mono,monospace;font-size:14px;line-height:1.6;overflow-x:auto}.post-content code{background:var(--surface-2);color:var(--gold);border-radius:4px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:.88em}.post-content pre code{color:var(--text);background:0 0;padding:0}.post-content img{border:1px solid var(--border);border-radius:8px;width:100%;margin:1.5em 0}.post-content hr{border:none;border-top:1px solid var(--border);margin:2em 0}.post-content table{border-collapse:collapse;width:100%;margin:1.5em 0;font-size:14.5px}.post-content th,.post-content td{border:1px solid var(--border);text-align:left;padding:10px 14px}.post-content th{background:var(--surface);color:var(--text);font-weight:600}.post-content td{color:var(--text-dim)}.reactions-bar{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:0;padding:20px 10px;display:flex}.reactions-label{color:var(--text-mute);letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:12px}.reactions-btns{flex-wrap:wrap;gap:5px;display:flex}.reaction-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:3px;padding:10px;font-family:inherit;transition:all .2s;display:flex}.reaction-btn:hover{border-color:var(--gold);background:var(--surface-2);transform:translateY(-2px)scale(1.05)}.reaction-btn.active{border-color:var(--gold);background:var(--gold-glow);box-shadow:0 4px 16px -4px var(--gold-glow)}.reaction-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.reaction-emoji{color:var(--text-dim);cursor:pointer}.reaction-emoji svg{stroke:currentColor;width:22px;height:22px;transition:transform .2s}.reaction-emoji:hover svg{transform:scale(1.15)}.reaction-count{color:var(--text-dim);min-width:16px;font-family:JetBrains Mono,monospace;font-size:15px;font-weight:600}.reaction-btn.active .reaction-count,.reaction-btn.active .reaction-emoji svg{color:var(--gold)}.comments-section{margin-top:50px}.comments-title{color:var(--text);border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:16px;font-family:Cormorant Garamond,serif;font-size:28px;font-weight:600}.comments-list{flex-direction:column;gap:0;margin-bottom:48px;display:flex}.comment{border-bottom:1px solid var(--border);gap:16px;padding:22px 0;display:flex}.comment:last-child{border-bottom:none}.comment-replies{border-left:2px solid var(--border);margin-top:16px;padding-left:20px}.comment-reply{border-bottom:1px solid var(--border);padding:16px 0}.comment-reply:last-child{border-bottom:none}.comment-avatar img{border:1px solid var(--border);object-fit:cover;border-radius:50%;flex-shrink:0;width:44px;height:44px}.comment-reply .comment-avatar img{width:36px;height:36px}.comment-body{flex:1;min-width:0}.comment-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.comment-author{color:var(--text);font-size:14px;font-weight:600}.comment-author a{color:var(--gold);text-decoration:none}.comment-author a:hover{text-decoration:underline}.comment-date{color:var(--text-mute);letter-spacing:.06em;font-family:JetBrains Mono,monospace;font-size:11px}.comment-text{color:var(--text-dim);white-space:pre-line;font-size:14.5px;line-height:1.75}.comment-reply-btn{color:var(--text-mute);cursor:pointer;letter-spacing:.05em;background:0 0;border:none;align-items:center;gap:5px;margin-top:10px;padding:0;font-family:inherit;font-size:12px;transition:color .2s;display:inline-flex}.comment-reply-btn:hover{color:var(--gold)}.comment-form{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:18px;margin-top:40px;padding:28px;display:flex}.comment-form-title{color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:600;display:flex}.cancel-reply-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;padding:5px 14px;font-family:inherit;font-size:12px;transition:all .2s}.cancel-reply-btn:hover{border-color:var(--danger,#e2574c);color:var(--danger,#e2574c)}.comment-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=600px){.comment-form-row{grid-template-columns:1fr}}.field{flex-direction:column;gap:6px;display:flex}.field label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:10px}.field-note{color:var(--text-mute);font-weight:400}.field input,.field textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}.field textarea{resize:vertical;min-height:130px}.comment-error{color:#e2574c;background:#e2574c1a;border:1px solid #e2574c4d;border-radius:8px;padding:12px 16px;font-size:13px}.comment-success{color:#4ade80;background:#4ade801a;border:1px solid #4ade804d;border-radius:8px;padding:14px 18px;font-size:14px;font-weight:500}.particles-wrap{z-index:0;background:var(--bg);pointer-events:none;width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}.particles-canvas{width:100%;height:100%;display:block}.particles-wrap:after{content:"";background:radial-gradient(circle at 50% 50%, transparent 0%, transparent 55%, var(--bg) 100%);pointer-events:none;position:absolute;inset:0}.sw-container{z-index:9000;font-family:Inter,sans-serif;position:fixed;bottom:24px;right:24px}.sw-trigger{border:1px solid var(--border);background:var(--bg-2);height:46px;color:var(--gold);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 16px;transition:transform .3s,border-color .3s,box-shadow .3s;display:inline-flex}.sw-trigger:hover{border-color:var(--gold);box-shadow:0 15px 40px #00000073, 0 0 25px var(--gold-glow);transform:translateY(-3px)}.sw-trigger-bars{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.sw-trigger-bars span{background:var(--gold);border-radius:1px;width:2px;animation:1s ease-in-out infinite swBars}.sw-trigger-bars span:first-child{height:30%;animation-delay:0s}.sw-trigger-bars span:nth-child(2){height:90%;animation-delay:.15s}.sw-trigger-bars span:nth-child(3){height:55%;animation-delay:.3s}@keyframes swBars{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.sw-widget{border:1px solid var(--border-strong);border-radius:var(--radius,18px);background:var(--bg-2);width:340px;max-width:calc(100vw - 32px);color:var(--text);animation:.3s swIn;overflow:hidden;box-shadow:0 25px 60px -20px #000000b3,0 0 0 1px #d4af3714}@keyframes swIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}.sw-head{border-bottom:1px solid var(--border);background:var(--bg-3);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.sw-head-label{letter-spacing:.15em;text-transform:uppercase;color:var(--gold);align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-flex}.sw-close{border:1px solid var(--border);width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:18px;line-height:1;transition:color .2s,border-color .2s,transform .2s;display:grid}.sw-close:hover{color:var(--gold);border-color:var(--gold);transform:rotate(90deg)}.sw-cover-wrap{place-items:center;padding:20px 0 12px;display:grid}.sw-cover{object-fit:cover;border:3px solid var(--border-strong);width:140px;height:140px;box-shadow:0 15px 40px -10px #000000b3, 0 0 30px -8px var(--gold-glow);border-radius:50%}.sw-cover.spin{animation:12s linear infinite swSpin}@keyframes swSpin{to{transform:rotate(360deg)}}.sw-now{text-align:center;padding:0 14px 12px}.sw-now-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-family:Cormorant Garamond,serif;font-size:20px;font-weight:600;overflow:hidden}.sw-now-artist{color:var(--text-mute);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-family:JetBrains Mono,monospace;font-size:10.5px}.sw-progress-row{align-items:center;gap:8px;padding:0 14px 12px;display:flex}.sw-time{color:var(--text-mute);text-align:center;width:30px;font-family:JetBrains Mono,monospace;font-size:10px}.sw-bar{cursor:pointer;flex:1;align-items:center;height:12px;display:flex;position:relative}.sw-bar-bg{background:var(--border);border-radius:999px;height:3px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.sw-bar-fill{background:var(--gradient);border-radius:999px;height:3px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sw-bar-thumb{background:var(--gold-2);width:9px;height:9px;box-shadow:0 0 8px var(--gold-glow);pointer-events:none;opacity:0;border-radius:50%;transition:opacity .2s;position:absolute;top:50%;transform:translate(-50%,-50%)}.sw-bar:hover .sw-bar-thumb{opacity:1}.sw-controls{justify-content:center;align-items:center;gap:14px;padding:0 14px 14px;display:flex}.sw-ctrl{width:34px;height:34px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;transition:color .2s,transform .15s;display:grid}.sw-ctrl:hover{color:var(--gold)}.sw-ctrl:active{transform:scale(.9)}.sw-play{background:var(--gradient);color:#0a0a0a;cursor:pointer;width:46px;height:46px;box-shadow:0 8px 20px -6px var(--gold-glow);border:none;border-radius:50%;place-items:center;transition:transform .2s,box-shadow .25s;display:grid}.sw-play:hover{box-shadow:0 12px 28px -6px var(--gold-glow);transform:scale(1.06)}.sw-play:active{transform:scale(.95)}.sw-list{border-top:1px solid var(--border);flex-direction:column;gap:2px;max-height:200px;padding:8px;display:flex;overflow-y:auto}.sw-track{color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:7px 8px;font-family:inherit;transition:background .2s;display:flex}.sw-track:hover{background:var(--surface)}.sw-track.active{background:var(--surface-2)}.sw-track-cover{object-fit:cover;border-radius:6px;flex-shrink:0;width:36px;height:36px}.sw-track-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sw-track-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.sw-track.active .sw-track-name{color:var(--gold)}.sw-track-artist{color:var(--text-mute);white-space:nowrap;text-overflow:ellipsis;font-family:JetBrains Mono,monospace;font-size:10px;overflow:hidden}.sw-track-play{color:var(--gold);opacity:.5;flex-shrink:0;font-size:10px}.sw-track.active .sw-track-play{opacity:1}@media (width<=640px){.sw-container{bottom:12px;right:12px}.sw-widget{width:calc(100vw - 24px);max-width:360px}.sw-cover{width:120px;height:120px}}@media (prefers-reduced-motion:reduce){.sw-trigger-bars span,.sw-cover.spin,.sw-widget{animation:none}}.sw-trigger.playing{border-color:var(--gold);box-shadow:0 0 20px -4px var(--gold-glow)}.sw-trigger.playing .sw-trigger-bars span{animation:1s ease-in-out infinite swBars}.cb-container{z-index:9000;font-family:Inter,sans-serif;position:fixed;bottom:24px;left:24px}.cb-trigger{border:1px solid var(--border);background:var(--bg-2);height:46px;color:var(--gold);letter-spacing:.04em;cursor:pointer;border-radius:999px;padding:0 18px;font-family:inherit;font-size:12px;font-weight:600;transition:transform .3s,border-color .3s,box-shadow .3s}.cb-trigger:hover{border-color:var(--gold);box-shadow:0 15px 40px #00000073, 0 0 25px var(--gold-glow);transform:translateY(-3px)}.cb-window{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-2);width:360px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 48px);color:var(--text);box-shadow:var(--shadow);flex-direction:column;animation:.3s cbIn;display:flex;overflow:hidden}@keyframes cbIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}.cb-head{background:var(--bg-3);border-bottom:1px solid var(--border);letter-spacing:.15em;text-transform:uppercase;color:var(--gold);justify-content:space-between;align-items:center;padding:12px 14px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.cb-head-actions{gap:4px;display:flex}.cb-icon-btn{width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;place-items:center;font-size:18px;line-height:1;transition:color .2s;display:grid}.cb-icon-btn:hover:not(:disabled){color:var(--gold)}.cb-icon-btn:disabled{opacity:.4;cursor:not-allowed}.cb-body{flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.cb-msg{border-radius:12px;max-width:92%;padding:10px 12px;font-size:13px;line-height:1.55;animation:.25s cbMsgIn}@keyframes cbMsgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.cb-msg.bot{background:var(--surface-2);border:1px solid var(--border);color:var(--text);align-self:flex-start}.cb-msg.user{background:var(--gradient);color:#0a0a0a;align-self:flex-end;font-weight:500}.cb-text{white-space:pre-line;margin:0}.cb-items{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.cb-item{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;text-decoration:none;transition:border-color .2s;display:flex}a.cb-item:hover{border-color:var(--gold)}.cb-item strong{font-size:12.5px;font-weight:600}.cb-item span{color:var(--text-mute);white-space:pre-line;font-size:11px;line-height:1.45}.cb-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.cb-action{border:1px solid var(--gold);color:var(--gold);letter-spacing:.05em;border-radius:999px;padding:5px 11px;font-family:JetBrains Mono,monospace;font-size:10px;text-decoration:none;transition:background .2s,color .2s}.cb-action:hover{background:var(--gold);color:#0a0a0a}.cb-typing{align-items:center;gap:4px;padding:12px 14px;display:flex}.cb-typing span{background:var(--gold);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite cbDot}.cb-typing span:nth-child(2){animation-delay:.15s}.cb-typing span:nth-child(3){animation-delay:.3s}@keyframes cbDot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.cb-suggest{border-top:1px solid var(--border);background:var(--bg-2);max-height:40%;padding:10px 12px 12px;overflow-y:auto}.cb-suggest-label{letter-spacing:.15em;text-transform:uppercase;color:var(--text-mute);margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:9px;display:block}.cb-chips{flex-wrap:wrap;gap:6px;display:flex}.cb-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);text-align:left;cursor:pointer;border-radius:999px;padding:7px 12px;font-family:inherit;font-size:12px;transition:border-color .2s,color .2s,opacity .2s}.cb-chip:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.cb-chip.asked{opacity:.55}.cb-chip:disabled{opacity:.4;cursor:not-allowed}@media (width<=640px){.cb-container{bottom:12px;left:12px}.cb-window{width:calc(100vw - 24px);height:70vh}}@media (prefers-reduced-motion:reduce){.cb-window,.cb-msg,.cb-typing span{animation:none}}
