@charset "UTF-8";
:root{color-scheme:dark;--bg:#080808;--fg:#f0eee8;--muted:#858580;--line:#292927}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid #e8e4d6;outline-offset:7px}.header{height:96px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:3}.brand{font-weight:950;font-size:34px;letter-spacing:-3px;display:flex;align-items:center;gap:13px}.brand span{font-size:10px;letter-spacing:2px;border-left:1px solid #555;padding:5px 0 5px 13px}nav{display:flex;gap:38px;font-size:13px}nav sup{font-size:9px;color:var(--muted);margin-left:3px}nav a:hover,.email:hover{color:#bdb6a5}.hero{min-height:740px;height:calc(100svh - 96px);max-height:1050px;position:relative;padding:32px 5% 36px;isolation:isolate;overflow:hidden}.hero-meta,.hero-bottom,.section-top{display:flex;justify-content:space-between;align-items:center}.hero-meta{font-size:10px;letter-spacing:1.8px;color:#94948e}.hero-fox{position:absolute;z-index:-1;width:min(67vw,900px);height:auto;right:-1%;top:1%;opacity:.83;mask-image:linear-gradient(to bottom,#000 75%,transparent 100%)}.hero-title{position:absolute;top:20%;left:5%;width:90%}h1{font-size:clamp(88px,12.1vw,190px);line-height:.81;letter-spacing:-.065em;margin:0;font-weight:950;text-shadow:0 2px 35px #08080866}h1>span{letter-spacing:-.045em}h1 small{display:block;font-size:clamp(16px,2vw,30px);letter-spacing:.7em;margin-top:29px;margin-left:7px;font-weight:500}.hero-bottom{position:absolute;bottom:36px;left:5%;right:5%;align-items:flex-end}.hero-bottom p{font-size:22px;line-height:1.45;margin:0}.hero-bottom p span{color:#96968e}.hero-credit{font-size:10px;letter-spacing:1.8px;line-height:1.7;text-align:right}.round-link{border:1px solid #62625c;border-radius:50%;height:54px;width:54px;display:grid;place-items:center;font-size:25px;transition:background .2s}.round-link:hover{background:#f0eee8;color:#080808}.section{padding:90px 5%}.section-top{font-size:11px;gap:24px}.eyebrow{font-size:10px;letter-spacing:1.7px}.muted{color:var(--muted)}h2{font-size:clamp(35px,5.3vw,80px);line-height:1.02;letter-spacing:-.045em;margin:46px 0 58px}.dim{color:#64645f}.projects{border-top:1px solid var(--line)}.project{margin-bottom:100px}.project:last-child{margin-bottom:0}.project-image{display:block;position:relative;overflow:hidden;background:#151616;aspect-ratio:2.07}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-image:hover img{transform:scale(1.025)}.school .project-image img{object-position:center 52%}.arena .project-image img{object-position:center 46%}.image-label{position:absolute;bottom:21px;left:24px;font-size:9px;letter-spacing:1.8px;background:#080808b3;padding:9px 12px}.image-arrow{position:absolute;right:22px;bottom:20px;background:#f0eee8;color:#111;border-radius:50%;width:49px;height:49px;display:grid;place-items:center;font-size:26px}.project-info{display:grid;grid-template-columns:1fr 3fr;padding-top:30px;gap:20px}.project-number{font-size:14px;color:#77776f}.tags{display:flex;gap:25px;font-size:9px;letter-spacing:1.4px;color:#92928a}.status{color:#d0d0bf}.developing{color:#bdb3a3}h3{font-size:clamp(27px,3vw,44px);font-weight:500;letter-spacing:-1.2px;margin:18px 0 14px}.project-info p{font-size:16px;line-height:1.7;color:#a1a19a;max-width:620px;margin-bottom:25px}details{max-width:680px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:17px 0;font-size:12px;display:flex;justify-content:space-between;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:18px}details[open] summary span{transform:rotate(45deg)}.detail-body{font-size:14px;line-height:1.8;color:#aaa9a1;padding:0 0 22px}.about{background:#101110;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;margin-top:55px}.about h2{font-size:clamp(33px,4.1vw,64px);margin:0}.about-copy p{font-size:15px;line-height:1.8;color:#9e9f98;margin:0 0 22px}.about-copy .lead{font-size:24px;line-height:1.4;color:var(--fg)}.signature{display:block;font-size:25px;margin-top:36px;font-style:italic}.signature span{color:#666;margin-left:15px}.journey{display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;border-top:1px solid #343430}.journey>div{padding:28px 25px 0 0}.journey span{font-size:9px;letter-spacing:1.5px;color:#888980}.journey strong{display:block;font-size:19px;font-weight:500;margin-top:17px}.journey p{font-size:12px;line-height:1.6;color:#83847d}.contact{padding-top:110px;padding-bottom:110px}.contact h2{margin-bottom:44px}.email{font-size:clamp(16px,2.7vw,39px);border-bottom:1px solid #66665d;padding-bottom:16px;display:flex;justify-content:space-between;gap:15px;max-width:850px;overflow-wrap:anywhere}footer{border-top:1px solid var(--line);margin:0 5%;padding:30px 0;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#81817b}.footer-brand{color:#d2d2ca;letter-spacing:1px}@media(min-width:1600px){body{max-width:1900px;margin:auto}}@media(max-width:760px){.header{height:78px}.brand{font-size:28px}.brand span{font-size:8px}nav{gap:17px;font-size:11px}nav sup{display:none}.hero{height:780px;min-height:0;max-height:calc(100svh - 78px)}.hero-meta{font-size:8px;letter-spacing:1px}.hero-meta span:last-child{display:none}.hero-fox{width:106vw;right:-24%;top:7%}.hero-title{top:31%}h1{font-size:16vw}h1 small{font-size:15px;margin-top:23px;letter-spacing:.6em}.hero-bottom p{font-size:16px}.hero-credit{display:none}.round-link{width:43px;height:43px}.section{padding:60px 5%}.section-top{align-items:flex-start}.section-top .muted{max-width:145px;text-align:right;font-size:10px;line-height:1.5}h2{margin:34px 0}.project-image{aspect-ratio:1.43}.image-label{bottom:13px;left:12px;font-size:7px;padding:7px}.image-arrow{width:36px;height:36px;right:12px;bottom:12px;font-size:21px}.project-info{grid-template-columns:25px 1fr;gap:10px;padding-top:22px}.project{margin-bottom:60px}.tags{gap:12px;font-size:7px;letter-spacing:.8px}.project-info p{font-size:14px}h3{letter-spacing:-.7px}.about-grid{grid-template-columns:1fr;gap:32px;margin-top:35px}.about-copy .lead{font-size:22px}.journey{grid-template-columns:1fr;margin-top:45px}.journey>div{padding:22px 0;border-bottom:1px solid #282925}.journey strong{margin-top:10px}.journey p{margin-bottom:20px}.contact{padding-top:70px;padding-bottom:70px}footer{flex-wrap:wrap;font-size:9px}.footer-brand{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Project media galleries */
.hero-fox{clip-path:inset(0 0 22% 0)}
.gallery{min-width:0;outline-offset:6px}.gallery-stage{position:relative;background:#030303;aspect-ratio:16/9}.gallery-main{width:100%;height:100%;object-fit:contain;display:block;cursor:zoom-in}.gallery-label{position:absolute;left:18px;bottom:16px;background:#080808c9;padding:8px 11px;font-size:9px;letter-spacing:1.3px;text-transform:uppercase;pointer-events:none}.gallery button{font:inherit;cursor:pointer;color:var(--fg);background:#171817;border:1px solid #373833}.gallery button:hover{background:#30312c}.gallery-expand{position:absolute;right:14px;bottom:14px;width:38px;height:38px;font-size:25px!important}.gallery-toolbar{display:flex;justify-content:space-between;padding:13px 0;font-size:10px;letter-spacing:1.5px;color:#898b81}.gallery-counter{color:#dddcd3}.gallery-bottom{display:flex;gap:8px;align-items:stretch}.gallery-prev,.gallery-next{flex:0 0 30px;font-size:27px!important}.gallery-thumbs{display:flex;gap:8px;overflow-x:auto;position:relative;scrollbar-color:#62645a #161715;scrollbar-width:thin;padding:3px 2px 10px;min-width:0;flex:1}.gallery .gallery-thumb{padding:0;flex:0 0 145px;height:82px;opacity:.5;border:2px solid transparent;background:#151515;transition:opacity .2s}.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.gallery .gallery-thumb[aria-pressed="true"]{opacity:1;border-color:#e4e3da}.gallery .gallery-thumb:hover{opacity:1}.image-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#080808f5;border:0;padding:55px 65px;color:#eee}.image-dialog[open]{display:flex;align-items:center;justify-content:center}.image-dialog::backdrop{background:#000d}.image-dialog img{max-width:100%;max-height:100%;object-fit:contain}.image-dialog button{position:absolute;background:#20211dd9;color:#fff;border:1px solid #55564c;font-size:30px;width:42px;height:48px;cursor:pointer}.viewer-close{top:12px;right:15px}.viewer-prev{left:10px;top:48%}.viewer-next{right:10px;top:48%}@media(max-width:760px){.gallery .gallery-thumb{flex-basis:100px;height:58px}.gallery-bottom{gap:4px}.gallery-thumbs{gap:5px}.gallery-prev,.gallery-next{flex-basis:23px}.gallery-label{font-size:7px;left:8px;bottom:8px;padding:6px}.gallery-expand{width:30px;height:30px;right:8px;bottom:8px}.keyboard-hint{display:none}.image-dialog{padding:60px 35px}.image-dialog button{width:28px;height:40px}.viewer-prev{left:3px}.viewer-next{right:3px}}

/* Stronger hero contrast and contact links */
.hero-fox{opacity:1;filter:brightness(1.2) contrast(1.2)}
.hero-title h1{-webkit-text-stroke:clamp(4px,.65vw,10px) #080808;paint-order:stroke fill;text-shadow:none;color:#fff}
.hero-title h1 small{-webkit-text-stroke:4px #080808;paint-order:stroke fill}
.contact h2{font-size:clamp(30px,4.8vw,72px)}
.telegram-link{display:flex;align-items:center;gap:18px;width:fit-content;margin-top:26px;padding:13px 0;font-size:24px;border-bottom:1px solid #55564e}
.telegram-link>span:first-child{font-size:9px;letter-spacing:1.5px;color:#999b90}
.telegram-link:hover{color:#bdb6a5}
@media(max-width:760px){.telegram-link{font-size:20px;gap:13px}.contact h2{font-size:clamp(26px,6vw,42px)}}

.hero-title h1{-webkit-text-stroke:clamp(9px,1.5vw,24px) #080808;paint-order:stroke fill}.hero-title h1 small{-webkit-text-stroke:7px #080808}

/* More compact project galleries on desktop */
.gallery{width:60%;margin-inline:auto}.gallery .gallery-thumb{flex-basis:110px;height:64px}@media(max-width:760px){.gallery{width:100%}.gallery .gallery-thumb{flex-basis:100px;height:58px}}

.portfolio-banner{margin:-90px -5.55556% 38px}.portfolio-banner img{width:100%;height:clamp(180px,25vw,400px);object-fit:cover;display:block}@media(max-width:760px){.portfolio-banner{margin-top:-60px;margin-bottom:28px}.portfolio-banner img{height:auto;min-height:0}}

.portfolio-banner{margin:0 -5.55556% 58px}@media(max-width:760px){.portfolio-banner{margin:0 -5.55556% 36px}}

.projects>.section-top{margin-bottom:38px}.project-info{grid-template-columns:minmax(0,1fr);width:60%;margin-inline:auto}.projects>h2{margin-top:0}@media(max-width:760px){.project-info{width:100%;grid-template-columns:minmax(0,1fr)}.projects>.section-top{margin-bottom:28px}}
/* Descriptions aligned with their screenshot library */
.project-info{text-align:center;font-size:80%}.project-info .tags{justify-content:center;font-size:8px}.project-info h3{font-size:clamp(22px,2.4vw,35px)}.project-info p{font-size:13px;margin-inline:auto}.project-info details{width:100%;max-width:none;text-align:left}.project-info summary{font-size:10px}.project-info .detail-body{font-size:12px}.demo-button{display:flex;align-items:center;justify-content:center;gap:30px;margin:24px auto 0;padding:16px 30px;min-width:240px;background:#efeee7;color:#10110e;border:1px solid #efeee7;font:600 14px Arial,sans-serif;cursor:pointer;transition:background .2s,transform .2s}.demo-button:hover{background:#d2d0c1;transform:translateY(-2px)}.demo-button:focus-visible{outline:2px solid #fff;outline-offset:5px}.demo-dialog{background:#11120f;color:#eeeee5;border:1px solid #55564c;padding:40px;width:min(540px,calc(100% - 32px));max-height:85dvh}.demo-dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}.demo-dialog h2{font-size:30px;margin:12px 0 22px;letter-spacing:-1px}.demo-dialog p{color:#b2b3a8;font-size:15px;line-height:1.8}.demo-dialog .demo-note{font-size:12px;color:#8b8d80}.demo-dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.demo-dialog-actions a,.demo-dialog-actions button{padding:13px 18px;font:14px Arial,sans-serif;cursor:pointer;border:1px solid #66685d;background:transparent;color:#eeeee5}.demo-dialog-actions a{background:#eeeee5;color:#111;border-color:#eeeee5}@media(max-width:760px){.project-info h3{font-size:25px}.project-info p{font-size:12px}.demo-dialog{padding:26px}.demo-button{width:100%;min-width:0}}
/* Unified centered contact composition */
.contact{text-align:center}.contact h2{font-size:clamp(28px,4vw,60px);line-height:1.12;margin:30px auto 45px;max-width:1000px}.contact h2 .dim{color:#99998f}.contact .contact-method{display:grid;grid-template-columns:90px minmax(0,1fr) 24px;align-items:center;gap:18px;width:min(100%,760px);max-width:760px;margin:0 auto;padding:23px 0;border-bottom:1px solid #484940;text-align:left;font-size:clamp(16px,2vw,26px);font-weight:400;letter-spacing:0}.contact .contact-method .contact-label{font:10px Arial,sans-serif;letter-spacing:1.4px;color:#999b90}.contact-value{overflow-wrap:anywhere}.contact-method>span:last-child{text-align:right;font-size:24px}footer{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:22px 45px;text-align:center;font-size:11px}footer .footer-brand{width:auto}@media(max-width:760px){.contact .contact-method{grid-template-columns:64px minmax(0,1fr) 18px;gap:10px;font-size:clamp(12px,3.3vw,20px);padding:21px 0}.contact .contact-method .contact-label{font-size:8px;letter-spacing:.7px}.contact-method>span:last-child{font-size:20px}footer{gap:16px 25px;font-size:10px}footer .footer-brand{width:100%}}

.contact .contact-method{grid-template-columns:90px minmax(0,1fr)}.contact-method>span:last-child:empty,.demo-button>span:empty,nav a>span:empty,.signature>span:empty{display:none}.demo-button{gap:0}@media(max-width:760px){.contact .contact-method{grid-template-columns:64px minmax(0,1fr)}}
.game-dialog{width:min(1280px,96vw);height:min(850px,94dvh);max-width:100vw;max-height:100dvh;padding:0;border:1px solid #46483d;background:#080808;color:#eeeee5}.game-dialog[open]{display:flex;flex-direction:column}.game-dialog::backdrop{background:#000e}.game-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;flex-shrink:0;font-size:11px;letter-spacing:1px}.game-toolbar>span{margin-right:auto}.game-toolbar button{background:#24261f;border:1px solid #55584a;color:#eee;padding:10px 14px;cursor:pointer}.game-dialog iframe{width:100%;flex:1;min-height:0;border:0;background:#071520}.game-dialog:fullscreen{width:100vw;height:100dvh}.demo-dialog-actions .launch-demo{background:#eeeee5;color:#111;border-color:#eeeee5}@media(max-width:760px){.game-toolbar{gap:6px;padding:8px;font-size:9px;letter-spacing:0}.game-toolbar button{font-size:10px;padding:9px 6px}}
/* Stacked hero only on narrow phone screens */
@media(max-width:480px){
 .hero{display:flex;flex-direction:column;align-items:center;height:auto;min-height:calc(100svh - 78px);max-height:none;padding-top:22px;padding-bottom:26px;overflow:hidden}
 .hero-meta{align-self:stretch;flex-shrink:0;font-size:7px}
 .hero-fox{position:relative;top:auto;right:auto;width:108%;max-width:none;flex-shrink:0;margin:-4px 0 -27%;z-index:0;clip-path:inset(0 0 22% 0);mask-image:none}
 .hero-title{position:relative;top:auto;left:auto;width:100%;z-index:1;text-align:center;margin-top:0}
 .hero-title h1{font-size:16vw;line-height:.85;-webkit-text-stroke:9px #080808}
 .hero-title h1 small{font-size:14px;letter-spacing:.65em;margin:20px 0 0 8px;-webkit-text-stroke:4px #080808}
 .hero-bottom{position:relative;left:auto;right:auto;bottom:auto;width:100%;margin-top:auto;padding-top:48px;flex-shrink:0}
 .hero-bottom p{font-size:14px}
}
.hero-art{display:contents}
@media(max-width:480px){
 .header{height:auto;min-height:102px;padding:17px 0 14px;flex-direction:column;align-items:flex-start;gap:17px}
 .header nav{width:100%;justify-content:space-between;gap:12px;font-size:11px;white-space:nowrap}
 .header .brand{font-size:28px}
 .hero{min-height:calc(100svh - 102px);padding-top:20px}
 .hero-meta{font-size:7px;letter-spacing:1px}
 .hero-art{display:block;position:relative;width:100%;aspect-ratio:1.25;overflow:hidden;margin:12px 0 22px;flex-shrink:0}
 .hero-art .hero-fox{position:absolute;top:-10%;left:0;right:auto;width:100%;height:auto;margin:0;clip-path:inset(0 0 22% 0);mask-image:none;z-index:0}
 .hero-title{margin:0;position:relative;flex-shrink:0;text-align:center}
 .hero-title h1{font-size:15.5vw;line-height:.88;letter-spacing:-.055em;-webkit-text-stroke:0;text-shadow:none}
 .hero-title h1 small{font-size:12px;letter-spacing:.65em;margin:20px 0 0 8px;-webkit-text-stroke:0}
 .hero-bottom{padding-top:45px;margin-top:auto}
}
