:root{--bg:#030a10;--panel:rgba(8,22,32,.76);--panel2:rgba(10,30,43,.92);--line:rgba(65,229,255,.22);--cyan:#42e5ff;--ice:#c9f7ff;--muted:#7595a2;--white:#f4fbff;--green:#74ffb5}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--white);font-family:'Space Grotesk',sans-serif;background:radial-gradient(circle at 50% -10%,#123448 0,transparent 38%),linear-gradient(#02080d,#061018 45%,#02070b);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}
#grid{position:fixed;inset:0;width:100%;height:100%;opacity:.45;pointer-events:none}.noise{position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.shell{position:relative;width:min(100%,680px);margin:auto;padding:calc(28px + env(safe-area-inset-top)) 18px calc(38px + env(safe-area-inset-bottom))}.identity{position:relative;padding:16px 12px 32px;text-align:center}.topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.eyebrow{font:500 10px/1 'JetBrains Mono',monospace;letter-spacing:.13em;color:#83a9b6}.eyebrow i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);animation:pulse 1.8s infinite}.share{width:44px;height:44px;border:1px solid var(--line);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);background:rgba(5,23,33,.8);color:var(--cyan);font-size:21px;cursor:pointer}.avatar-wrap{position:relative;width:164px;height:164px;margin:0 auto 23px;display:grid;place-items:center}.avatar{width:126px;height:126px;border-radius:50%;object-fit:cover;position:relative;z-index:2;filter:saturate(.88) contrast(1.05);box-shadow:0 0 0 1px rgba(66,229,255,.45),0 0 45px rgba(66,229,255,.12)}.orbit{position:absolute;border:1px solid rgba(66,229,255,.28);border-radius:50%;inset:4px}.orbit:before,.orbit:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.orbit:before{top:16px;left:26px}.orbit:after{bottom:14px;right:28px}.orbit-a{animation:spin 11s linear infinite}.orbit-b{inset:14px;border-style:dashed;animation:spin 18s linear infinite reverse}.status-dot{position:absolute;z-index:3;right:23px;bottom:26px;width:11px;height:11px;border-radius:50%;background:var(--green);border:2px solid #061018;box-shadow:0 0 12px var(--green)}.serial{margin:0 0 8px;color:var(--cyan);font:500 10px/1 'JetBrains Mono',monospace;letter-spacing:.18em}h1{font-size:42px;line-height:1;margin:0 0 13px;letter-spacing:-.04em}.role{margin:0;color:var(--ice);font:600 13px/1.2 'JetBrains Mono',monospace;letter-spacing:.18em}.tagline{margin:14px 0 0;color:var(--muted);font-size:13px}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:30px auto 0;max-width:390px}.quick-actions a{height:62px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(15,43,57,.7),rgba(6,22,31,.6));display:flex;align-items:center;justify-content:center;gap:7px;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:.25s ease}.quick-actions a:hover{border-color:var(--cyan);background:rgba(24,75,91,.55);transform:translateY(-2px)}.quick-actions span{font-size:20px;color:var(--cyan)}.quick-actions small{font:500 8px/1 'JetBrains Mono',monospace;letter-spacing:.12em;color:#a7c4ce}
.links{padding-top:8px}.section-label{display:flex;justify-content:space-between;align-items:center;margin:0 5px 12px;font:500 9px/1 'JetBrains Mono',monospace;letter-spacing:.16em;color:#7896a1}.section-label b{font-weight:500;color:var(--cyan)}.link-card{position:relative;display:grid;grid-template-columns:48px 1fr 30px;align-items:center;gap:10px;min-height:82px;margin:10px 0;padding:12px 14px;border:1px solid rgba(66,229,255,.16);background:linear-gradient(105deg,rgba(9,27,38,.92),rgba(9,35,48,.76));clip-path:polygon(13px 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%,0 13px);overflow:hidden;transition:transform .25s ease,border-color .25s ease,background .25s ease}.link-card:before{content:'';position:absolute;left:0;top:0;width:2px;height:100%;background:var(--cyan);opacity:.2;transition:.25s}.link-card:hover,.link-card:active{transform:translateX(4px);border-color:rgba(66,229,255,.55);background:linear-gradient(105deg,rgba(11,38,51,.98),rgba(10,50,63,.8))}.link-card:hover:before{opacity:1;box-shadow:0 0 18px var(--cyan)}.num{font:500 9px/1 'JetBrains Mono',monospace;color:#496672}.icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(66,229,255,.25);background:rgba(66,229,255,.06);color:var(--cyan);font:600 16px/1 'JetBrains Mono',monospace;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.label{font-size:17px;font-weight:600;letter-spacing:-.01em}.label small{display:block;margin-top:4px;color:#708f9b;font:400 9px/1.2 'JetBrains Mono',monospace;letter-spacing:.06em}.arrow{color:#6e929e;font-size:17px;text-align:right}.link-card:hover .arrow{color:var(--cyan)}footer{display:flex;justify-content:space-between;padding:28px 5px 0;color:#48646f;font:500 8px/1 'JetBrains Mono',monospace;letter-spacing:.1em}.toast{position:fixed;z-index:10;left:50%;bottom:28px;transform:translate(-50%,25px);padding:11px 15px;border:1px solid rgba(66,229,255,.35);background:#06151e;color:var(--cyan);font:500 9px/1 'JetBrains Mono',monospace;letter-spacing:.1em;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35;box-shadow:0 0 3px var(--green)}}
@media(min-width:700px){.shell{padding-top:50px}.identity{padding-bottom:42px}.link-card{min-height:86px}.link-card:hover{transform:translateX(6px) scale(1.008)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* V0.2 refinements */
.contact-actions{grid-template-columns:repeat(2,1fr);max-width:310px;margin-top:22px}
.quick-actions img{width:20px;height:20px;display:block}
.icon img{width:21px;height:21px;display:block}
.portfolio-card{border-color:rgba(116,255,181,.28);background:linear-gradient(105deg,rgba(9,34,39,.95),rgba(8,43,49,.78))}
.portfolio-card:before{background:var(--green);opacity:.55}
.portfolio-card .icon{border-color:rgba(116,255,181,.3);background:rgba(116,255,181,.06);color:var(--green)}
.portfolio-card:hover{border-color:rgba(116,255,181,.65)}
.portfolio-card:hover:before{box-shadow:0 0 18px var(--green)}
.portfolio-glyph{font-size:21px;color:var(--green)}
.fallback-icon{display:none;width:100%;height:100%;place-items:center;color:var(--cyan);font-weight:700}

/* V0.2.1 brand icon correction */
.icon img{width:26px;height:26px;object-fit:contain}
.contact-actions img{width:23px;height:23px;object-fit:contain}
.icon{background:rgba(255,255,255,.035)}

/* V0.2.3 requested refinements */
/* Numbering removed. Icons return to the original dark HUD tiles. */
.link-card{grid-template-columns:48px 1fr 30px}
.icon{background:rgba(255,255,255,.035);border-color:rgba(66,229,255,.25);box-shadow:none}
.icon img{width:26px;height:26px;object-fit:contain}
.portfolio-icon svg{width:25px;height:25px;fill:none;stroke:var(--green);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.snapchat-icon .snap-badge{width:30px;height:30px;display:grid;place-items:center;background:#fffc00;border-radius:7px}
.snapchat-icon .snap-badge img{width:22px!important;height:22px!important}
.snapchat-icon .snap-badge.fallback::after{content:'SC';color:#000;font:700 10px/1 'JetBrains Mono',monospace}
.linkedin-icon.fallback::after{content:'in';color:#0A66C2;font:700 20px/1 Arial,sans-serif}
.call-icon{font-size:19px;line-height:1;color:#42e5ff}


/* V0.2.4 brand visibility refinements */
.instagram-icon .ig-badge{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.instagram-icon .ig-badge svg{width:19px;height:19px;overflow:visible}
.instagram-icon .ig-badge svg rect,.instagram-icon .ig-badge svg circle{fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.instagram-icon .ig-badge svg circle:last-child{fill:#fff;stroke:none}
.snapchat-icon .snap-badge{width:30px;height:30px;display:grid;place-items:center;background:#FFFC00;border-radius:7px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.snapchat-icon .snap-badge svg{width:22px;height:22px;color:#fff;filter:drop-shadow(0 0 0.4px rgba(0,0,0,.55)) drop-shadow(0 0 0.4px rgba(0,0,0,.55))}
.snapchat-icon .snap-badge.fallback::after{content:'SC';color:#fff;font:700 10px/1 'JetBrains Mono',monospace}


/* V0.2.5 avatar + Snapchat fixes */
.avatar-wrap{width:228px;height:228px;margin:0 auto 25px}
.avatar{width:184px;height:184px;object-position:50% 50%}
.status-dot{right:27px;bottom:30px}
.snapchat-icon .snap-badge{width:30px;height:30px;display:grid;place-items:center;background:#FFFC00;border-radius:7px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.snapchat-icon .snap-badge img{width:22px!important;height:22px!important;display:block;filter:brightness(0) invert(1)}


/* V3 final refinements */
.avatar{object-position:50% 44%}
.snapchat-icon .snap-badge{width:30px;height:30px;display:grid;place-items:center;background:#FFFC00;border-radius:7px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.snapchat-icon .snap-badge svg{width:22px;height:22px;display:block;overflow:visible}
.snapchat-icon .snap-badge path{fill:#fff;stroke:#000;stroke-width:1.25;stroke-linejoin:round;paint-order:stroke fill}


/* V3.1 polish */
.share{display:grid;place-items:center;padding:0}
.share svg{width:18px;height:18px;display:block;stroke:var(--cyan);stroke-width:2.1;fill:none;stroke-linecap:round;stroke-linejoin:round}
.arrow{display:grid;place-items:center;width:24px;height:24px;justify-self:end;color:#7fa0ad}
.arrow svg{width:18px;height:18px;display:block;stroke:currentColor;stroke-width:2.1;fill:none;stroke-linecap:round;stroke-linejoin:round}
.link-card:hover .arrow{color:var(--cyan)}
.quick-actions small{font-size:11px;line-height:1;letter-spacing:.15em;font-weight:600}
.contact-actions a{gap:10px;padding:0 14px}

/* V3.2: Native Snapchat brand artwork; no custom-drawn ghost */
.snapchat-icon{overflow:hidden}
.snapchat-icon .snapchat-brand{width:30px!important;height:30px!important;object-fit:contain;display:block;filter:none!important}
.snapchat-icon .snapchat-brand.snapchat-fallback{width:26px!important;height:26px!important;filter:invert(1)!important}

/* V3.3: header row removed; retain comfortable breathing room above portrait */
.identity{padding-top:24px}
