:root{--bg:#05060c;--panel:#11131b;--line:#252938;--text:#f7f8fc;--muted:#9298aa;--cyan:#5ee7d7;--violet:#7c5cff;--mono:"DM Mono",monospace;--sans:"Manrope",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}::selection{background:var(--violet);color:#fff}.starfield-canvas{position:fixed;inset:0;z-index:0;width:100vw;height:100vh;pointer-events:none}main{position:relative;z-index:1}.hero-grid{position:relative;min-height:100svh}.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;width:calc(100% - 500px);min-height:100svh;padding:clamp(38px,6vw,96px)}.pill{width:max-content;padding:7px 11px;border:1px solid #ffffff33;border-radius:99px;background:#ffffff0f;font:500 9px var(--mono);text-transform:uppercase}.hero h1{width:max-content;max-width:calc(100% + .18em);margin:28px 0 14px;padding:.08em .09em .16em .03em;overflow:visible;white-space:nowrap;font-size:clamp(3rem,6.15vw,6.85rem);line-height:1.06;letter-spacing:-.075em;background:linear-gradient(135deg,#fff 25%,#bbb8ff 64%,var(--cyan));background-clip:text;-webkit-background-clip:text;color:transparent}.hero-bio{margin:0;color:#e8e9f0;font-size:clamp(1rem,1.8vw,1.22rem);font-weight:600}.alias{margin:22px 0 0;color:#aeb3c4;font:500 clamp(13px,1.2vw,18px) var(--mono)}.socials,.contact-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}.socials a,.socials button,.contact-links a,.contact-links button{position:relative;display:grid;width:43px;height:43px;place-items:center;border:1px solid #ffffff2e;border-radius:50%;background:#090b1694;color:#fff;cursor:pointer;transition:.2s}.socials a:hover,.socials button:hover,.contact-links a:hover,.contact-links button:hover{border-color:#fff;background:#fff;color:#111;transform:translateY(-2px)}.socials img,.contact-links img{width:18px;height:18px}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;z-index:20;bottom:calc(100% + 12px);left:50%;width:max-content;max-width:240px;padding:7px 10px;transform:translate(-50%,6px);border:1px solid #ffffff24;border-radius:7px;background:#10131df2;color:#fff;box-shadow:0 8px 24px #0008;opacity:0;pointer-events:none;font:500 10px var(--mono);white-space:nowrap;transition:.18s}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{transform:translate(-50%,0);opacity:1}.hero .socials [data-tooltip]:after{bottom:auto;top:calc(100% + 12px)}
.discord-card{position:absolute;inset:0}.discord-profile{position:absolute;right:clamp(22px,4vw,72px);bottom:50%;width:min(430px,38vw);overflow:hidden;transform:translateY(50%);border:1px solid #949eff40;border-radius:18px;background:linear-gradient(165deg,#073c3e 0 26%,#101b32 51%,#250029);box-shadow:0 30px 90px #0008}.discord-mini-banner{height:132px;border-bottom:1px solid #ffffff18;background:radial-gradient(circle at 76% 18%,#5ee7d755,transparent 28%),linear-gradient(135deg,#153653,#33265e 55%,#0a6b68)}.discord-profile-content{padding:0 22px 22px}.profile-top{display:flex;align-items:flex-end;gap:14px;margin-top:-42px}.avatar-cluster{position:relative;flex:0 0 94px;width:94px;height:94px;border-radius:50%}.discord-avatar{width:94px;height:94px;object-fit:cover;object-position:center;border:6px solid #0d2734;border-radius:50%;clip-path:circle(50%);background:#23283a}.presence-dot{position:absolute;right:5px;bottom:3px;width:21px;height:21px;border:4px solid #0d2734;border-radius:50%;background:#80848e}.presence-dot.online{background:#23a55a;box-shadow:0 0 10px #23a55a}.presence-dot.idle{background:#f0b232}.presence-dot.dnd{background:#f23f43}.discord-identity{min-width:0;padding-bottom:7px}.discord-name{padding:0;border:0;background:none;color:#fff;cursor:pointer;font-size:1.55rem;font-weight:800;text-shadow:0 0 12px #5ee7d7b8}.discord-handle{color:#d0d4e2;font:400 10px var(--mono)}.discord-section{margin-top:16px}.discord-section label{display:block;margin-bottom:7px;font-size:10px;font-weight:800;text-transform:uppercase}.discord-bio,.member-date{margin:0;color:#fff;font:400 12px/1.42 var(--mono);white-space:pre-line}.discord-playing{margin-top:15px;padding:12px;border-radius:10px;background:#ffffff12}.playing-head{display:flex;justify-content:space-between;color:#d9d9e1;font-size:10px;font-weight:800}.playing-body{display:flex;align-items:center;gap:11px;margin-top:8px}.bot-activity-icon{flex:0 0 54px;width:54px;height:54px;object-fit:cover;object-position:center;border:2px solid #ffffff18;border-radius:50%;clip-path:circle(50%);background:#171922}.playing-body>div:last-child{min-width:0}.playing-body strong{display:block;overflow:hidden;max-width:260px;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.playing-body span{display:flex;align-items:center;gap:5px;margin-top:5px;color:#60d98b;font:500 9px var(--mono)}
.marquee{position:relative;z-index:2;overflow:hidden;border-block:1px solid var(--line);background:#0d0f16}.marquee-track{display:flex;width:max-content;animation:marquee 140s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.tech-group{display:flex;flex:none;align-items:center;gap:46px;padding:20px 24px}.tech-group i{color:#aeb4c4;font-size:30px}.tech-group i:hover{color:var(--cyan)}.tech-word{color:#aeb4c4;font:700 14px var(--mono)}@keyframes marquee{to{transform:translateX(-50%)}}
section:not(.hero){padding-top:clamp(48px,6vw,92px)}.section-head{padding:0 clamp(22px,5vw,92px);margin-bottom:clamp(24px,3.5vw,46px)}h2{margin:0;font-size:clamp(2.7rem,6vw,5.4rem);line-height:.92;letter-spacing:-.075em;background:linear-gradient(120deg,#fff,#858da5);background-clip:text;-webkit-background-clip:text;color:transparent}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.project{min-width:0;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0f1119d9;transition:.25s}.project:nth-child(2n){border-right:0}.project-image{position:relative;overflow:hidden;aspect-ratio:16/9;background:#111}.project-image>img{width:100%;height:100%;object-fit:cover;object-position:top;transition:.55s}.project:hover .project-image>img{transform:scale(1.025)}.project:hover{box-shadow:0 0 35px #5ee7d733}.project-body{display:flex;min-height:92px;align-items:center;justify-content:space-between;padding:21px clamp(20px,2vw,36px);background:#0f1119e6}.project h3{margin:0;font-size:1.2rem}.project p{margin:3px 0 0;color:var(--muted);font:400 9px var(--mono)}.arrow{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border:1px solid #4a4f61;background:var(--cyan);color:#071210}.arrow img{width:21px;height:21px}.server-data{position:absolute;z-index:2;bottom:14px;left:14px;display:flex;gap:8px}.server-data span{padding:7px 10px;background:#171815d1;color:#fff;font:500 8px var(--mono)}.viewer-hud{position:absolute;z-index:2;inset:0;display:grid;place-content:center;justify-items:center;color:#fff;text-shadow:0 2px 14px #000;pointer-events:none}.viewer-hud span{font:500 8px var(--mono);letter-spacing:.18em}.viewer-hud strong{font-size:3.5rem;line-height:1}.viewer-hud svg{color:var(--cyan)}
#skills{padding-bottom:20px}.skill-tree{margin:0 clamp(22px,5vw,92px);border-top:1px solid #ffffff1a}.skill-branch{display:grid;grid-template-columns:240px 1fr;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid #ffffff14}.skill-branch h3{display:flex;align-items:center;gap:12px;margin:0;font-size:1.05rem}.skill-branch h3 svg{color:var(--cyan)}.skill-branch>div{display:flex;flex-wrap:wrap;gap:8px}.skill-branch span{padding:8px 14px;border:1px solid #ffffff1f;border-radius:8px;background:#12142099;color:#d0d4e4;font:500 11px var(--mono);transition:.2s}.skill-branch span:hover{border-color:var(--cyan);background:#5ee7d72e;transform:translateY(-2px)}
.viewer-stage{display:grid;place-items:center;perspective:850px;cursor:grab;touch-action:none;background:radial-gradient(circle at 50% 46%,#203559 0,#0c1221 40%,#05070d 76%);user-select:none}.viewer-stage.dragging{cursor:grabbing}.viewer-glow{position:absolute;width:44%;aspect-ratio:1;border-radius:50%;background:#5ee7d72e;filter:blur(38px)}.cube{position:relative;width:120px;height:120px;transform-style:preserve-3d;transition:transform .08s linear}.cube-face{position:absolute;inset:0;display:grid;place-items:center;border:1px solid #a9fff280;background:linear-gradient(145deg,#243c5ee8,#12182be8);color:#dffffb;box-shadow:inset 0 0 28px #5ee7d72e;font:700 16px var(--mono);letter-spacing:.12em}.cube-face.front{transform:translateZ(60px)}.cube-face.back{transform:rotateY(180deg) translateZ(60px)}.cube-face.right{transform:rotateY(90deg) translateZ(60px)}.cube-face.left{transform:rotateY(-90deg) translateZ(60px)}.cube-face.top{transform:rotateX(90deg) translateZ(60px)}.cube-face.bottom{transform:rotateX(-90deg) translateZ(60px)}.viewer-stage .viewer-hud{inset:auto 18px 16px auto;display:flex;place-content:normal;align-items:center;gap:8px}.viewer-stage .viewer-hud strong{font-size:1.1rem;line-height:1}.viewer-stage .viewer-hud svg{width:18px}.projects-error{grid-column:1/-1;padding:50px clamp(22px,5vw,92px);color:var(--muted)}
#ranks,#certs{padding-inline:clamp(22px,5vw,92px)}#ranks .section-head,#certs .section-head{padding:0}.rank-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.rank{display:flex;min-height:188px;flex-direction:column;align-items:center;justify-content:center;padding:15px;border:1px solid var(--line);border-radius:14px;background:#13151dd9;text-align:center;transition:.25s}.rank:hover,.cert:hover{border-color:var(--cyan);transform:translateY(-5px);box-shadow:0 0 30px #5ee7d744}.rank-image{width:82px;height:82px;margin-bottom:15px;border-radius:14px;background:#101113 url('../assets/ranks_board.png') no-repeat;background-size:955px 618px}.rank-image.radiant{background-image:url('../assets/rank_valorant_radiant.jpg');background-size:cover;background-position:center}.lol{background-position:-266px -244px}.tft{background-position:-418px -244px}.delta{background-position:-568px -254px}.csgo{background-position:-718px -252px}.pubg{background-position:-116px -451px}.marvel{background-position:-267px -447px}.geo{background-position:-418px -449px}.chess{background-position:-569px -455px}.rank b{font-size:.82rem}.rank small{color:var(--muted);font:400 8px var(--mono);text-transform:uppercase}.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cert{position:relative;min-height:210px;padding:24px;border:1px solid var(--line);border-radius:14px;background:#11131bd9;transition:.25s}.cert>svg{color:#9e8cff}.cert>a{position:absolute;top:20px;right:20px}.cert h3{margin:50px 0 4px}.cert p{margin:0;color:var(--muted);font:400 9px var(--mono)}
.contact{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:70px;padding:clamp(34px,5vw,65px) clamp(22px,5vw,92px)!important;border-top:1px solid #ffffff1a;background:#0e101acc}.contact h2{font-size:clamp(1.9rem,4vw,3.6rem)}.contact-links{justify-content:flex-end;margin:0}.toast{position:fixed;z-index:20;bottom:25px;left:50%;padding:12px 16px;transform:translate(-50%,15px);border-radius:10px;background:#fff;color:#111;opacity:0;pointer-events:none;transition:.2s;font:500 9px var(--mono)}.toast.show{transform:translate(-50%,0);opacity:1}.reveal{opacity:0;transform:translateY(16px);transition:.55s}.reveal.on{opacity:1;transform:none}
@media(max-width:1040px){.hero-copy{width:55%;padding:45px}.discord-profile{right:24px;width:43vw}.rank-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.hero-copy{width:100%;min-height:72svh;padding:56px 20px 280px}.hero h1{font-size:clamp(2.35rem,11.8vw,4rem);letter-spacing:-.055em}.discord-card{position:relative;margin-top:-72svh;padding:68svh 0 18px}.discord-profile{position:relative;right:auto;bottom:auto;left:14px;width:calc(100% - 28px);transform:none}.projects{grid-template-columns:1fr}.project{border-right:0}.project-image{aspect-ratio:4/3}.skill-branch{grid-template-columns:1fr;gap:12px}.rank-grid{grid-template-columns:repeat(2,1fr)}.credentials{grid-template-columns:1fr}.contact{align-items:flex-start;flex-direction:column}.contact-links{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.marquee-track{animation-duration:180s}}

/* Deliberate portfolio direction: restrained color, editorial hierarchy. */
:root{--mono:"IBM Plex Mono",monospace;--sans:"IBM Plex Sans",sans-serif}.hero h1,h2,.project h3,.contact h2{font-family:"Archivo",sans-serif}.hero h1{color:#f7f8fc;background:none;-webkit-text-fill-color:currentColor;letter-spacing:-.065em}.hero h1 span{color:#4d7cff;text-shadow:0 0 18px #4d7cff66}.hero-bio{font-family:"IBM Plex Sans",sans-serif;font-weight:500}.pill,.alias,.project-stack,.rank small,.cert p{font-family:"IBM Plex Mono",monospace}.section-head h2{background:none;color:#f4f5f8;-webkit-text-fill-color:currentColor}.project:hover,.rank:hover,.cert:hover{box-shadow:none}.project:hover{border-color:#3d4558}.project:hover h3,.rank:hover strong{color:inherit;text-shadow:none}.arrow{background:#4d7cff;color:#fff;border-color:#4d7cff}.projects{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.project:first-child,.viewer-project{grid-column:1/-1}.project:first-child .project-image{aspect-ratio:21/7}.viewer-project .project-image{aspect-ratio:21/7}.project-body{align-items:flex-end}.project-description{max-width:560px!important;margin:7px 0 10px!important;color:#d3d7e2!important;font:400 clamp(12px,1.1vw,15px)/1.45 "IBM Plex Sans",sans-serif!important}.project-stack{margin-top:0!important;text-transform:uppercase;letter-spacing:.04em}#skills .section-head h2,#ranks .section-head h2,#certs .section-head h2{font-size:clamp(2rem,4vw,3.8rem)}.rank-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.rank{min-height:100px;flex-direction:row;justify-content:flex-start;gap:16px;border:0;border-radius:0;background:#10121a;text-align:left}.rank:hover{transform:none;background:#151925}.rank-image{flex:0 0 70px;width:70px;height:70px;margin:0}.rank b,.rank strong{font-family:"Archivo",sans-serif;font-size:.9rem}.rank small{margin-left:auto;text-align:right}.rank-grid>a.rank{grid-column:1/-1;justify-content:center}.cert{border-radius:2px}.contact{background:#080a10}.contact h2{font-size:clamp(2rem,4vw,4rem);line-height:1.05}.contact h2 span{color:#7f879b;font-weight:700}
@media(max-width:760px){.projects{grid-template-columns:1fr}.project:first-child,.viewer-project{grid-column:auto}.project:first-child .project-image,.viewer-project .project-image{aspect-ratio:4/3}.project-description{font-size:12px!important}.rank-grid{grid-template-columns:1fr}.rank-grid>a.rank{grid-column:auto}.rank{min-height:88px}.rank-image{flex-basis:58px;width:58px;height:58px}.contact h2 br{display:none}}

/* Editorial two-font system */
.hero h1{display:flex;align-items:baseline;max-width:none;background:none;color:inherit;-webkit-text-fill-color:initial}.hero h1 .name-cyan{color:#35ddff;text-shadow:0 0 24px #35ddff3d}.hero h1 .name-bridge{background:linear-gradient(90deg,#35ddff 12%,#8170ff 88%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none}.hero h1 .name-violet{color:#8170ff;text-shadow:0 0 24px #8170ff3d}.hero-bio{font:400 clamp(1.35rem,2.4vw,2rem)/1.05 "Instrument Serif",serif;letter-spacing:.005em}.section-head{display:grid;gap:8px}.section-head h2{font-family:"Archivo",sans-serif}.section-head>p{margin:0;color:#aeb4c5;font:italic 400 clamp(1.15rem,2vw,1.65rem)/1.15 "Instrument Serif",serif}.project-body{align-items:center}.project-body>div{min-width:0}.project h3{font-family:"Archivo",sans-serif}.project-description{font-family:"Instrument Serif",serif!important;font-size:clamp(16px,1.35vw,20px)!important;line-height:1.25!important}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.project-tags span{padding:5px 8px;border:1px solid #ffffff20;background:#ffffff08;color:#bbc2d2;font:500 8px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase}.arrow{align-self:center}.rank-grid>a.rank{grid-column:auto;justify-content:flex-start}.contact h2 span{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400}

/* Readable professional type and consistent media geometry */
:root{--sans:"Manrope",sans-serif}body{font-family:"Manrope",sans-serif}.hero h1,h2,.project h3,.skill-branch h3,.rank b,.cert h3,.contact h2{font-family:"Space Grotesk",sans-serif}.hero-bio{font:500 clamp(1.15rem,2vw,1.55rem)/1.35 "Manrope",sans-serif;letter-spacing:-.015em}.section-head>p{color:#aeb4c5;font:500 clamp(.95rem,1.35vw,1.12rem)/1.45 "Manrope",sans-serif}.project{display:grid;grid-template-rows:auto 1fr}.project-image{display:grid;place-items:center;background:linear-gradient(145deg,#090b12,#111624)}.project-image>img{object-fit:contain;object-position:center}.project:nth-child(2) .project-image,.project:nth-child(3) .project-image{height:clamp(260px,27vw,470px);aspect-ratio:auto}.project-body{height:100%;min-height:180px;align-items:center}.project-description{max-width:48ch!important;font:500 clamp(13px,1.05vw,15px)/1.55 "Manrope",sans-serif!important}.project-tags span{font-size:9px}.rank{display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;row-gap:4px;min-height:126px;align-content:center;justify-items:start;text-align:left}.rank-image{grid-row:1/3;align-self:center;justify-self:center;width:82px;height:82px;background-color:#0b0e16}.rank b{grid-column:2;margin:0;font-size:1rem;line-height:1.2}.rank small{grid-column:2;margin:0;color:#c2c7d4;font:600 11px/1.35 "Manrope",sans-serif;text-align:left;text-transform:none}.rank-grid>a.rank{display:flex;align-items:center;justify-content:center;text-align:center}.rank-image.radiant{background-image:url('https://svgstack.com/media/img/valorant-radiant-rank-icon-vZyk155250.webp');background-size:contain;background-position:center;background-repeat:no-repeat}.contact h2 span{font-family:"Manrope",sans-serif;font-style:normal;font-weight:500;letter-spacing:-.035em}
@media(max-width:760px){.project:nth-child(2) .project-image,.project:nth-child(3) .project-image{height:auto;aspect-ratio:4/3}.project-body{min-height:150px}.rank{grid-template-columns:66px minmax(0,1fr);min-height:104px;column-gap:14px}.rank-image{width:62px;height:62px}.rank small{font-size:10px}}

/* Local typefaces: personal-use files supplied by the site owner */
html{scrollbar-color:#5968ff #070912;scrollbar-width:thin}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#070912;border-left:1px solid #ffffff12}::-webkit-scrollbar-thumb{border:3px solid #070912;border-radius:999px;background:linear-gradient(180deg,#34ddff,#765cff)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#78ebff,#9b87ff)}
.project:first-child .project-image{aspect-ratio:16/9;min-height:0}.project:first-child .project-image>img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none}.project:first-child:hover .project-image>img{transform:none}.rank-grid>a.rank{display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;row-gap:4px;align-content:center;justify-items:start;text-align:left}.rank-grid>a.rank::before{content:"";grid-row:1/3;display:block;width:82px;height:82px;border:1px solid #ffffff12;background:linear-gradient(145deg,#0b0e16,#121724)}.rank-grid>a.rank>svg{display:none}.rank-grid>a.rank b{grid-column:2;align-self:end}.rank-grid>a.rank small{grid-column:2;align-self:start}.contact-side{display:grid;justify-items:end;gap:14px}.font-credit{max-width:540px;margin:0;color:#7f879b;font-size:clamp(14px,1vw,17px);line-height:1.4;text-align:right}.font-credit em{color:#aab3cc;font-style:normal}
.contact h2 span{font-family:var(--body);font-style:normal;font-weight:400}.contact-links img{font-family:initial}@media(max-width:760px){.project:first-child .project-image{aspect-ratio:16/9}.rank-grid>a.rank{grid-template-columns:66px minmax(0,1fr);column-gap:14px}.rank-grid>a.rank::before{width:62px;height:62px}.contact-side{justify-items:start}.font-credit{text-align:left}}

/* Open-source typography: Unbounded + Sora, SIL OFL 1.1 */
:root{--display:"Unbounded",sans-serif;--body:"Sora",sans-serif;--sans:var(--body);--mono:var(--body)}body,button{font-family:var(--body)}.hero h1,h2,.project h3,.skill-branch h3,.rank b,.cert h3,.contact h2,.discord-name{font-family:var(--display);font-weight:600}.hero-bio,.alias,.section-head>p,.project-description,.project-tags span,.rank small,.cert p,.pill,.discord-profile,.font-credit,.contact h2 span{font-family:var(--body)!important}.hero h1{letter-spacing:-.065em}.section-head h2{letter-spacing:-.055em}.hero-bio{font-size:clamp(1rem,1.6vw,1.3rem);line-height:1.45}.section-head>p{font-size:clamp(.9rem,1.15vw,1.05rem)}.project-description{font-size:clamp(13px,1vw,15px)!important}.project-tags span,.rank small{font-size:clamp(9px,.72vw,11px)}.font-credit{font-size:clamp(10px,.72vw,12px);line-height:1.55}

/* Compact full-width showcases */
.project:first-child .project-image,.viewer-project .project-image{height:clamp(280px,34vw,520px);aspect-ratio:auto}.project:first-child .project-image>img{width:100%;height:100%;object-fit:contain}.viewer-project .viewer-stage{min-height:0}.viewer-project .cube{transform-origin:center}.contact h2{cursor:default}.spot-char{display:inline-block;transition:color 90ms linear,text-shadow 90ms linear}.contact h2 span .spot-char{font-family:var(--body)}
@media(max-width:760px){.project:first-child .project-image,.viewer-project .project-image{height:clamp(220px,66vw,360px);aspect-ratio:auto}.spot-char{transition:none}}

/* Fit every project image inside one calm, consistent frame */
.project-image{height:clamp(240px,28vw,430px)!important;aspect-ratio:auto!important;padding:clamp(10px,1.4vw,22px);background:#080b13}.project-image>img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important}.project:hover .project-image>img{transform:none!important}.viewer-project .project-image{padding:0}.viewer-project .cube{scale:.82}.rank-grid>a.rank::before{background:#0b0e16 url('https://www.google.com/s2/favicons?domain=konect.gg&sz=128') center/48px 48px no-repeat}
.contact h2 .slogan-line{display:inline-block;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;transition:filter .24s ease,color .24s ease}.contact h2 .slogan-primary{font-family:var(--display)!important;color:#f4f5f8}.contact h2 .slogan-secondary{font-family:var(--body)!important;color:#7f879b}.contact h2.is-lit .slogan-line{color:transparent;background-image:radial-gradient(circle 105px at var(--light-x) var(--light-y),#5ceaff 0,#8574ff 38%,var(--line-base) 82%);filter:drop-shadow(0 0 10px rgb(86 231 255 / .16))}.slogan-primary{--line-base:#f4f5f8}.slogan-secondary{--line-base:#7f879b}.font-credit{display:none}
@media(max-width:760px){.project-image{height:clamp(210px,64vw,340px)!important;padding:10px}.viewer-project .cube{scale:.72}.contact h2.is-lit .slogan-line{background-image:radial-gradient(circle 78px at var(--light-x) var(--light-y),#5ceaff 0,#8574ff 42%,var(--line-base) 86%)}}

/* Hard guarantee: raster project screenshots keep their complete natural ratio */
.project:not(.viewer-project) .project-image>img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:scale-down!important;object-position:center!important;place-self:center}.project:not(.viewer-project) .project-image{contain:layout paint}

/* Natural-ratio raster cards: no fixed-height viewport, therefore no clipping */
.project:not(.viewer-project) .project-image{height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;contain:none!important;overflow:hidden;place-items:center}.project:not(.viewer-project) .project-image>img{display:block!important;width:min(100%,1100px)!important;height:auto!important;max-width:100%!important;max-height:none!important;object-fit:fill!important;object-position:center!important;margin:auto}.project:first-child .project-image{background:#070910}.project:first-child .project-image>img{width:min(100%,1100px)!important}

/* Projects v2: balanced 2x2 portfolio grid */
#work{padding-bottom:clamp(42px,6vw,86px)}.projects{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px;padding:0 clamp(18px,4vw,72px);border:0;background:transparent}.project,.project:first-child,.viewer-project{grid-column:auto!important;grid-template-rows:auto minmax(178px,1fr);overflow:hidden;border:1px solid #292e3b!important;background:#0e111a;box-shadow:0 18px 55px rgb(0 0 0 / .16);transition:border-color .25s ease,transform .25s ease}.project:nth-child(2n){border-right:1px solid #292e3b!important}.project:hover{border-color:#4e5b78!important;transform:translateY(-3px)}.project-image,.project:not(.viewer-project) .project-image,.project:first-child .project-image,.viewer-project .project-image{width:100%;height:auto!important;min-height:0!important;aspect-ratio:16/10!important;padding:12px!important;overflow:hidden;background:linear-gradient(145deg,#070910,#0b0f1a)}.project:not(.viewer-project) .project-image>img,.project:first-child .project-image>img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important;object-fit:contain!important;object-position:center!important}.viewer-project .project-image{padding:0!important}.viewer-project .cube{scale:.72}.project-body{min-height:178px;height:100%;align-items:center;padding:24px clamp(20px,2.2vw,34px);border-top:1px solid #222735;background:#0e111a}.project-body>div{align-self:center}.project h3{font-size:clamp(1rem,1.3vw,1.3rem)}.project-description{max-width:46ch!important;margin:8px 0 14px!important}.project-tags{margin-top:12px}.project .arrow{margin-left:22px}.server-data{bottom:24px;left:24px}.viewer-hud strong{font-size:clamp(2.2rem,4vw,3.4rem)}
@media(max-width:760px){.projects{grid-template-columns:1fr!important;gap:14px;padding-inline:14px}.project,.project:first-child,.viewer-project{grid-template-rows:auto minmax(150px,1fr)}.project-image,.project:not(.viewer-project) .project-image,.project:first-child .project-image,.viewer-project .project-image{aspect-ratio:16/10!important;padding:8px!important}.viewer-project .project-image{padding:0!important}.project-body{min-height:150px;padding:20px}.project:hover{transform:none}}
