:root{--paper:#e9e4d8;--ink:#6888a7;--ink-rgb:104,136,167;--dark:#18202a;--line:rgba(var(--ink-rgb),.72);--pad:clamp(16px,2vw,30px);--mono:"IBM Plex Mono",monospace;--sans:Manrope,sans-serif;--serif:"Cormorant Garamond",Georgia,serif}
.skills li b{font:inherit}.language-switch{display:flex;gap:4px;align-items:center;margin-right:auto}.language-switch span{margin:0}.lang-button{border:0;background:none;padding:0;cursor:pointer;opacity:.45;font:500 10px var(--mono)}.lang-button.is-active{opacity:1;text-decoration:underline;text-underline-offset:3px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);transition:background .45s,color .45s}body[data-theme=red]{--paper:#eee4d4;--ink:#a84d3c;--ink-rgb:168,77,60}body[data-theme=dark]{--paper:#171c20;--ink:#bdc8bc;--ink-rgb:189,200,188}a{color:inherit;text-decoration:none}img{max-width:100%}button{font:inherit;color:inherit}.paper-noise{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.13;mix-blend-mode:multiply;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='.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.48'/%3E%3C/svg%3E")}
.topbar{height:102px;margin:var(--pad) var(--pad) 0;border:1px solid var(--line);display:grid;grid-template-columns:1.2fr .65fr 1.5fr .95fr;font:500 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em}.topbar>*{padding:16px 19px;border-right:1px solid var(--line)}.topbar>*:last-child{border:0}.mark{font-family:var(--serif);font-size:26px;text-transform:none}.topbar nav{display:flex;gap:28px;align-items:flex-start}.topbar a{transition:opacity .2s}.topbar a:hover{opacity:.52}.palette{display:flex;justify-content:flex-end;gap:7px;align-items:flex-start}.palette>span{margin:0 8px 0 10px}.swatch{width:13px;height:13px;padding:0;border:1px solid var(--ink);cursor:pointer}.swatch-blue{background:#6888a7}.swatch-red{background:#a84d3c}.swatch-dark{background:#171c20}.swatch.is-active{outline:1px solid var(--ink);outline-offset:3px}
.hero-grid{margin:0 var(--pad);min-height:calc(100svh - 132px);border:1px solid var(--line);border-top:0;display:grid;grid-template-columns:19.5% 1fr;grid-template-rows:1fr 58px}.hero-intro{border-right:1px solid var(--line);padding:clamp(32px,5vh,62px) 18px 24px;display:flex;flex-direction:column}.micro{font:500 10px/1.55 var(--mono);text-transform:uppercase;letter-spacing:.08em}.hero-portrait{height:clamp(220px,29vh,360px);margin:24px -18px 28px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}.hero-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 39%;mix-blend-mode:multiply}.hero-intro h1{font:400 clamp(29px,3vw,50px)/.88 var(--serif);margin:0 0 25px;letter-spacing:-.035em}.hero-intro>p:last-of-type{font:400 clamp(12px,1.05vw,15px)/1.72 var(--sans);margin:0}.hero-links{border-top:1px solid var(--line);margin-top:28px;padding-top:15px;display:grid;gap:7px;font:500 10px var(--mono);text-transform:uppercase}.type-field{position:relative;min-height:630px;overflow:hidden}.letter{position:absolute;font:400 clamp(115px,18vw,300px)/.7 var(--serif);letter-spacing:-.1em;transition:transform .7s cubic-bezier(.2,.75,.2,1)}.type-field:hover .letter:nth-child(odd){transform:translateY(-7px) rotate(-2deg)}.type-field:hover .letter:nth-child(even){transform:translateY(7px) rotate(2deg)}.l1{left:4%;top:8%}.l2{left:32%;top:2%;transform:rotate(90deg)}.l3{right:7%;top:6%}.l4{left:11%;top:39%;transform:rotate(-90deg)}.l5{left:44%;top:30%}.l6{right:5%;top:38%;transform:rotate(180deg)}.l7{left:3%;bottom:-2%}.l8{left:31%;bottom:0;transform:rotate(90deg)}.l9{left:57%;bottom:3%}.l10{right:1%;bottom:-6%;transform:rotate(-90deg)}.l11{left:69%;top:7%;opacity:.26}.l12{left:25%;top:23%;opacity:.22}.manifesto{position:absolute;font:500 10px/1.45 var(--mono);text-transform:uppercase;z-index:3}.m1{left:31%;top:32%}.m2{right:6%;bottom:22%;text-align:right}.focus-dot{position:absolute;width:54px;height:54px;border:1px solid var(--line);border-radius:50%;left:49%;top:54%;display:grid;place-items:center}.focus-dot i{width:10px;height:10px;border-radius:50%;background:var(--ink)}.hero-foot{grid-column:1/-1;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 19px;font:500 10px var(--mono);text-transform:uppercase}
.works,.articles,.side-projects,.ai-videos,.profile{margin:130px var(--pad) 0}.section-bar{height:58px;border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;padding:0 18px;gap:20px;font:500 10px var(--mono);text-transform:uppercase}.case{position:relative;height:min(76vw,880px);display:block;border:1px solid var(--line);border-top:0;overflow:hidden;background:var(--ink)}.case-pair{display:grid;grid-template-columns:1fr 1fr}.case-pair .case{height:min(62vw,780px)}.case-pair .case+ .case{border-left:0}.case img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.18) contrast(.95);transition:transform 1.15s cubic-bezier(.18,.8,.18,1),filter .5s}.case:hover img{transform:scale(1.035);filter:grayscale(0) contrast(1.02)}.case-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,17,.05),rgba(10,14,17,.16) 50%,rgba(10,14,17,.68));mix-blend-mode:multiply}.case h2{position:absolute;left:3.5%;top:7%;margin:0;color:#f3eee2;font:400 clamp(70px,13vw,205px)/.72 var(--serif);letter-spacing:-.07em;text-shadow:0 1px 20px rgba(0,0,0,.12)}.case-pair h2{font-size:clamp(70px,9vw,140px)}.case-number{position:absolute;right:18px;top:18px;border:1px solid rgba(255,255,255,.68);color:#fff;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font:500 10px var(--mono)}.case-caption{position:absolute;left:18px;right:18px;bottom:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.65);color:#fff;display:grid;grid-template-columns:1fr 1.4fr auto;gap:28px;align-items:start}.case-caption strong,.case-caption span{font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.05em}.case-caption p{font-size:13px;line-height:1.5;margin:0;max-width:520px}.case-idle img{object-position:center}
.mobile-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-top:0}.mobile-grid>a{padding:12px;border-right:1px solid var(--line)}.mobile-grid>a:last-child{border:0}.mobile-grid figure{height:32vw;max-height:460px;margin:0;position:relative;overflow:hidden;background:rgba(var(--ink-rgb),.1)}.mobile-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.5);transition:transform .6s,filter .3s}.mobile-grid a:hover img{transform:scale(1.03);filter:saturate(1)}.mobile-grid figcaption{position:absolute;right:8px;top:8px;width:34px;height:34px;background:var(--paper);border-radius:50%;display:grid;place-items:center;font:500 9px var(--mono)}.mobile-grid a>div{padding:19px 4px 10px}.mobile-grid small{font:500 9px var(--mono);text-transform:uppercase}.mobile-grid h3{font:400 clamp(23px,2.4vw,39px)/.9 var(--serif);margin:13px 0}.mobile-grid p{font:500 9px var(--mono);text-transform:uppercase;margin:0;opacity:.75}
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-top:0}.article-card{min-width:0;padding:12px;border-right:1px solid var(--line);display:flex;flex-direction:column}.article-card:last-child{border-right:0}.article-card figure{position:relative;margin:0;aspect-ratio:1.45;overflow:hidden;background:rgba(var(--ink-rgb),.1)}.article-card img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(.22) saturate(.65);transition:transform .65s cubic-bezier(.18,.8,.18,1),filter .35s}.article-card:hover img{transform:scale(1.035);filter:grayscale(0) saturate(1)}.article-card figcaption{position:absolute;right:8px;top:8px;width:34px;height:34px;border-radius:50%;background:var(--paper);display:grid;place-items:center;font:500 9px var(--mono)}.article-copy{padding:20px 5px 10px;display:flex;flex-direction:column;flex:1}.article-copy small,.article-copy span{font:500 9px var(--mono);text-transform:uppercase}.article-copy h3{font:400 clamp(28px,3vw,48px)/.92 var(--serif);letter-spacing:-.025em;margin:17px 0}.article-copy p{font-size:12px;line-height:1.65;margin:0 0 30px;max-width:410px}.article-copy span{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-top:0}.video-project{min-width:0;padding:12px;display:flex;flex-direction:column}.video-project+.video-project{border-left:1px solid var(--line)}.portfolio-video{display:block;width:100%;aspect-ratio:16/9;background:var(--dark);object-fit:contain}.video-project-copy{display:flex;flex-direction:column;flex:1;padding:20px 5px 10px}.video-project-copy small{font:500 9px var(--mono);text-transform:uppercase}.video-project-copy h2{font:400 clamp(27px,3vw,48px)/.88 var(--serif);letter-spacing:-.035em;margin:17px 0}.video-project-copy p{font-size:12px;line-height:1.65;margin:0;max-width:430px}
.profile-grid{border:1px solid var(--line);border-top:0;display:grid;grid-template-columns:1fr 1fr}.profile-statement{padding:80px 24px;min-height:540px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.profile-statement p{font:400 clamp(36px,5vw,78px)/.98 var(--serif);letter-spacing:-.035em;margin:90px 0 0}.skills{padding:22px}.skills-head{display:flex;justify-content:space-between;font:500 10px var(--mono);text-transform:uppercase;padding-bottom:17px;border-bottom:1px solid var(--line)}.skills ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr}.skills li{padding:20px 8px;border-bottom:1px solid var(--line);font:400 clamp(17px,1.8vw,27px) var(--serif)}.skills li:nth-child(odd){border-right:1px solid var(--line)}.skills li span{font:500 8px var(--mono);margin-right:12px;vertical-align:top}.legacy-grid{display:grid;grid-template-columns:36% 64%;border:1px solid var(--line);border-top:0}.legacy-copy{padding:45px 24px;display:flex;flex-direction:column}.legacy-copy h2{font:400 clamp(56px,8vw,125px)/.72 var(--serif);letter-spacing:-.06em;margin:auto 0 30px}.legacy-copy h2 em{font-weight:400}.legacy-copy p{font-size:13px;line-height:1.65;margin:0;max-width:390px}.legacy-grid figure{margin:0;position:relative;min-height:650px;overflow:hidden}.legacy-grid img{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(.2) contrast(1.05)}.legacy-grid figcaption{position:absolute;right:12px;bottom:12px;background:var(--paper);padding:9px 11px;font:500 9px var(--mono);text-transform:uppercase}.archive{border:1px solid var(--line);border-top:0}.archive-title{height:58px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;font:500 10px var(--mono);text-transform:uppercase;border-bottom:1px solid var(--line)}.archive ul{list-style:none;margin:0;padding:0}.archive li{display:grid;grid-template-columns:110px 1.3fr 1fr;gap:20px;padding:22px 18px;border-bottom:1px solid var(--line);align-items:center}.archive li:last-child{border:0}.archive time,.archive li span{font:500 10px var(--mono);text-transform:uppercase}.archive strong{font:400 clamp(21px,2.4vw,37px) var(--serif)}
.contact{margin:130px var(--pad) var(--pad);min-height:calc(100svh - 60px);border:1px solid var(--line);padding:22px;display:flex;flex-direction:column}.contact-top{display:flex;justify-content:space-between;font:500 10px var(--mono);text-transform:uppercase}.contact h2{font:400 clamp(74px,13.4vw,210px)/.72 var(--serif);letter-spacing:-.06em;margin:auto 0}.contact h2 em{font-weight:400}.contact-actions{display:grid;grid-template-columns:2fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-actions a{padding:20px 10px;border-right:1px solid var(--line);font:400 clamp(18px,2vw,31px) var(--serif)}.contact-actions a:last-child{border:0}.contact-actions a:hover{background:var(--ink);color:var(--paper)}footer{display:flex;justify-content:space-between;padding-top:20px;font:500 9px var(--mono);text-transform:uppercase}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.topbar{grid-template-columns:1fr 1fr;height:auto}.topbar>*{min-height:66px}.topbar .top-role{border-right:0}.topbar nav{border-top:1px solid var(--line);gap:16px}.palette{border-top:1px solid var(--line)!important}.hero-grid{grid-template-columns:1fr;grid-template-rows:auto minmax(540px,68vh) 55px}.hero-intro{border-right:0;border-bottom:1px solid var(--line);padding:35px 18px}.hero-portrait{height:min(86vw,560px);margin:28px -18px 32px}.hero-intro h1{margin:0 0 24px}.type-field{min-height:540px}.letter{font-size:clamp(105px,26vw,220px)}.hero-foot{font-size:8px}.case,.case-pair .case{height:78vw;min-height:510px}.case-pair{grid-template-columns:1fr}.case-pair .case+ .case{border-left:1px solid var(--line)}.case-caption{grid-template-columns:1fr auto}.case-caption p{grid-row:2;max-width:80%}.case-caption span{grid-column:2;grid-row:1}.mobile-grid{grid-template-columns:1fr 1fr}.mobile-grid>a:nth-child(2){border-right:0}.mobile-grid>a:nth-child(-n+2){border-bottom:1px solid var(--line)}.mobile-grid figure{height:55vw}.profile-grid{grid-template-columns:1fr}.profile-statement{border-right:0;border-bottom:1px solid var(--line);min-height:440px}.legacy-grid{grid-template-columns:1fr}.legacy-copy{min-height:460px}.legacy-grid figure{min-height:480px}.contact-actions{grid-template-columns:1fr}.contact-actions a{border-right:0;border-bottom:1px solid var(--line)}.contact-actions a:last-child{border-bottom:0}}
@media(max-width:900px){.articles-grid{grid-template-columns:1fr 1fr}.article-card:nth-child(2){border-right:0}.article-card:last-child{grid-column:1/-1;border-top:1px solid var(--line)}.article-card:last-child figure{aspect-ratio:2.1}.article-copy h3{font-size:clamp(30px,5vw,46px)}}
@media(max-width:560px){:root{--pad:10px}.topbar{font-size:8px}.topbar>*{padding:12px 10px}.topbar nav{flex-wrap:wrap}.palette span{display:none}.hero-grid{min-height:auto}.hero-intro h1{font-size:37px}.type-field{min-height:470px}.manifesto{font-size:7px}.works,.articles,.side-projects,.ai-videos,.profile{margin-top:75px}.section-bar{font-size:8px}.case,.case-pair .case{height:130vw;min-height:500px}.case h2,.case-pair h2{font-size:22vw;top:10%}.case-caption{gap:12px}.case-caption p{font-size:11px;max-width:100%}.mobile-grid{grid-template-columns:1fr}.mobile-grid>a{border-right:0;border-bottom:1px solid var(--line)!important}.mobile-grid>a:last-child{border-bottom:0!important}.mobile-grid figure{height:105vw}.articles-grid{grid-template-columns:1fr}.article-card,.article-card:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.article-card:last-child{grid-column:auto;border-top:0;border-bottom:0}.article-card figure,.article-card:last-child figure{aspect-ratio:1.35}.article-copy h3{font-size:38px}.video-grid{grid-template-columns:1fr}.video-project+.video-project{border-left:0;border-top:1px solid var(--line)}.video-project-copy{padding:18px 5px 10px}.video-project-copy h2{font-size:13vw}.video-project-copy p{font-size:11px}.skills ul{grid-template-columns:1fr}.skills li:nth-child(odd){border-right:0}.archive li{grid-template-columns:72px 1fr}.archive li span{grid-column:2}.contact{margin-top:75px;min-height:700px}.contact h2{font-size:22vw}html[lang=ru] .contact h2{font-size:clamp(56px,16vw,70px)}footer{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.letter,.case img,.article-card img,.reveal{transition:none}.reveal{opacity:1;transform:none}}

.three-d-showcase{border:1px solid var(--line);border-top:0}.three-d-intro{min-height:430px;padding:42px 24px;display:grid;grid-template-columns:1fr 1.5fr;grid-template-rows:auto 1fr;column-gap:36px}.three-d-intro h2{font:400 clamp(60px,9.4vw,148px)/.72 var(--serif);letter-spacing:-.065em;margin:auto 0 0;grid-row:1/3;grid-column:2}.three-d-intro h2 em{font-weight:400}.three-d-intro p{font-size:13px;line-height:1.65;margin:auto 0 0;max-width:430px}.three-d-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(70px,5.5vw);border-top:1px solid var(--line);background:var(--line);gap:1px}.gallery-item{position:relative;margin:0;overflow:hidden;background:var(--dark)}.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s cubic-bezier(.18,.8,.18,1),filter .4s}.gallery-item:hover img{transform:scale(1.025);filter:saturate(1.08)}.gallery-item figcaption{position:absolute;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-between;gap:15px;padding:9px 10px;background:var(--paper);color:var(--ink);font:500 9px var(--mono);text-transform:uppercase}.gallery-item figcaption b{font:inherit}.gallery-chaosage{grid-column:1/9;grid-row:span 6}.gallery-cat{grid-column:9/13;grid-row:span 8}.gallery-butcher{grid-column:1/6;grid-row:span 8}.gallery-mage{grid-column:6/9;grid-row:span 8}.gallery-hygieia{grid-column:9/13;grid-row:span 7}.gallery-portrait{grid-column:1/4;grid-row:span 5}.gallery-visionary{grid-column:4/7;grid-row:span 5}.gallery-abe{grid-column:7/13;grid-row:span 5}.gallery-nike{grid-column:1/13;grid-row:span 7}.gallery-nike img{object-position:center 40%}
@media(max-width:900px){.three-d-intro{min-height:390px;grid-template-columns:1fr}.three-d-intro h2{grid-column:1;grid-row:auto;margin:auto 0 28px}.three-d-intro p{margin:0}.three-d-gallery{grid-auto-rows:minmax(64px,9vw)}.gallery-chaosage{grid-column:1/9}.gallery-cat{grid-column:9/13}.gallery-butcher{grid-column:1/7}.gallery-mage{grid-column:7/13}.gallery-hygieia{grid-column:1/7}.gallery-portrait{grid-column:7/10}.gallery-visionary{grid-column:10/13}.gallery-abe{grid-column:1/8}.gallery-nike{grid-column:8/13}}
@media(max-width:560px){.three-d-intro{min-height:420px;padding:30px 16px}.three-d-intro h2{font-size:17vw;margin:auto 0 24px}.three-d-gallery{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:auto}.gallery-item{grid-column:auto;grid-row:auto;height:72vw}.gallery-chaosage,.gallery-abe,.gallery-nike{grid-column:1/-1;height:62vw}.gallery-cat,.gallery-mage,.gallery-hygieia{height:112vw}.gallery-item figcaption{left:7px;right:7px;bottom:7px;padding:7px;font-size:7px}.gallery-item img{object-position:center}.gallery-nike img{object-position:center 35%}}

/* Compact 3D gallery */
.contact{min-height:clamp(500px,68svh,680px)}.contact h2{font-size:clamp(68px,11vw,170px)}.contact-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}.contact-actions a{min-width:0;border:0!important;background:var(--paper)}
@media(max-width:900px){.contact-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.contact{min-height:560px}.contact h2{font-size:20vw}html[lang=ru] .contact h2{font-size:clamp(50px,14vw,64px)}.contact-actions{grid-template-columns:1fr}}
.three-d-intro{min-height:240px;padding:26px 24px;grid-template-columns:.72fr 1.35fr}.three-d-intro h2{font-size:clamp(46px,6.4vw,98px)}.three-d-gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(170px,18vw,270px)}.gallery-item,.gallery-chaosage,.gallery-cat,.gallery-butcher,.gallery-mage,.gallery-hygieia,.gallery-portrait,.gallery-visionary,.gallery-abe,.gallery-nike{grid-column:auto;grid-row:auto}.gallery-chaosage,.gallery-abe,.gallery-nike{grid-column:span 2}.gallery-item{cursor:zoom-in}.gallery-item:focus-visible{outline:3px solid var(--paper);outline-offset:-6px}.gallery-item img{object-position:center}.gallery-chaosage img{object-position:center}.gallery-mage img{object-position:center 25%}.gallery-nike img{object-position:center 38%}
.gallery-lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:clamp(14px,2vw,28px);border:0;background:rgba(10,14,17,.96);color:#f3eee2;overflow:hidden}.gallery-lightbox[open]{display:grid;place-items:center}.gallery-lightbox::backdrop{background:rgba(10,14,17,.82);backdrop-filter:blur(7px)}.gallery-lightbox img{display:block;max-width:calc(100vw - clamp(28px,4vw,56px));max-height:calc(100vh - 92px);width:auto;height:auto;object-fit:contain}.lightbox-close{position:fixed;z-index:2;right:clamp(14px,2vw,28px);top:clamp(14px,2vw,28px);border:1px solid rgba(255,255,255,.55);background:rgba(10,14,17,.76);color:#fff;padding:11px 14px;cursor:pointer;font:500 10px var(--mono);text-transform:uppercase}.lightbox-caption{position:fixed;left:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,28px);margin:0;padding:9px 11px;background:rgba(10,14,17,.76);font:500 9px var(--mono);text-transform:uppercase}
@media(max-width:900px){.three-d-intro{min-height:260px;grid-template-columns:1fr}.three-d-intro h2{font-size:clamp(50px,10vw,80px);margin:38px 0 22px}.three-d-gallery{grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(170px,28vw,250px)}.gallery-chaosage,.gallery-abe,.gallery-nike{grid-column:span 2}}
@media(max-width:560px){.three-d-intro{min-height:280px;padding:24px 16px}.three-d-intro h2{font-size:14vw;margin:34px 0 18px}.three-d-intro p{font-size:11px}.three-d-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:56vw}.gallery-item,.gallery-chaosage,.gallery-cat,.gallery-butcher,.gallery-mage,.gallery-hygieia,.gallery-portrait,.gallery-visionary,.gallery-abe,.gallery-nike{grid-column:auto;height:auto}.gallery-chaosage,.gallery-abe,.gallery-nike{grid-column:span 2}.gallery-item figcaption{left:6px;right:6px;bottom:6px}.gallery-lightbox{padding:10px}.gallery-lightbox img{max-width:calc(100vw - 20px);max-height:calc(100vh - 70px)}.lightbox-close{right:10px;top:10px}.lightbox-caption{left:10px;bottom:10px}}

/* Freeform overlapping collage */
.three-d-gallery{position:relative;display:block;height:clamp(720px,72vw,1120px);padding:0;border-top:1px solid var(--line);background:rgba(var(--ink-rgb),.035);isolation:isolate;overflow:hidden}.gallery-item,.gallery-chaosage,.gallery-cat,.gallery-butcher,.gallery-mage,.gallery-hygieia,.gallery-portrait,.gallery-visionary,.gallery-abe,.gallery-nike{position:absolute;margin:0;height:auto;overflow:hidden;border:1px solid var(--line);background:var(--dark);box-shadow:0 16px 34px rgba(24,32,42,.13);transform-origin:center;transition:transform .45s cubic-bezier(.18,.8,.18,1),box-shadow .35s;z-index:1}.gallery-item:hover,.gallery-item:focus-visible{z-index:20;transform:rotate(0deg) scale(1.035);box-shadow:0 24px 48px rgba(24,32,42,.25)}.gallery-item img{aspect-ratio:auto;object-fit:cover}.gallery-item figcaption{display:none}.gallery-chaosage{width:48%;left:3%;top:6%;transform:rotate(-1.8deg);z-index:3}.gallery-chaosage img{aspect-ratio:1.78}.gallery-cat{width:23%;left:45%;top:2%;transform:rotate(2.5deg);z-index:6}.gallery-cat img{aspect-ratio:.82}.gallery-butcher{width:31%;right:3%;top:16%;transform:rotate(-2.2deg);z-index:5}.gallery-butcher img{aspect-ratio:1.12}.gallery-mage{width:24%;left:8%;top:39%;transform:rotate(2.8deg);z-index:7}.gallery-mage img{aspect-ratio:.82}.gallery-hygieia{width:25%;left:29%;top:42%;transform:rotate(-2deg);z-index:4}.gallery-hygieia img{aspect-ratio:.74}.gallery-portrait{width:20%;right:28%;top:39%;transform:rotate(3deg);z-index:8}.gallery-portrait img{aspect-ratio:1}.gallery-visionary{width:22%;right:7%;top:48%;transform:rotate(-3.2deg);z-index:9}.gallery-visionary img{aspect-ratio:1.14}.gallery-abe{width:38%;left:5%;bottom:3%;transform:rotate(1.4deg);z-index:11}.gallery-abe img{aspect-ratio:1.35}.gallery-nike{width:35%;right:8%;bottom:2%;transform:rotate(-1.6deg);z-index:10}.gallery-nike img{aspect-ratio:.92;object-position:center 36%}.lightbox-caption{display:none}
@media(max-width:900px){.three-d-gallery{height:112vw;min-height:760px}.gallery-chaosage{width:52%;left:2%}.gallery-cat{width:27%;left:46%}.gallery-butcher{width:35%;right:2%;top:20%}.gallery-mage{width:28%;left:5%;top:37%}.gallery-hygieia{width:29%;left:28%;top:42%}.gallery-portrait{width:23%;right:25%;top:43%}.gallery-visionary{width:25%;right:4%;top:51%}.gallery-abe{width:43%;left:3%}.gallery-nike{width:40%;right:5%}}
@media(max-width:560px){.three-d-gallery{height:178vw;min-height:665px}.gallery-chaosage{width:68%;left:2%;top:4%}.gallery-cat{width:36%;left:62%;top:2%}.gallery-butcher{width:50%;right:1%;top:25%}.gallery-mage{width:36%;left:3%;top:27%}.gallery-hygieia{width:39%;left:29%;top:43%}.gallery-portrait{width:31%;right:2%;top:48%}.gallery-visionary{width:36%;left:2%;top:60%}.gallery-abe{width:60%;left:10%;bottom:2%}.gallery-nike{width:42%;right:1%;bottom:5%}}

/* Split 3D section: copy left, compact collage right */
.three-d-showcase{display:grid;grid-template-columns:36% 64%;min-height:clamp(610px,50vw,780px)}.three-d-intro{min-height:0;height:100%;padding:34px 24px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.three-d-intro h2{font-size:clamp(48px,5.2vw,82px);margin:auto 0 30px}.three-d-intro p{margin:0}.three-d-gallery{height:100%;min-height:clamp(610px,50vw,780px);border-top:0;overflow:hidden}.gallery-item,.gallery-chaosage,.gallery-cat,.gallery-butcher,.gallery-mage,.gallery-hygieia,.gallery-portrait,.gallery-visionary,.gallery-abe,.gallery-nike{width:31%;height:auto;transform:none;box-shadow:0 10px 24px rgba(24,32,42,.12)}.gallery-item:hover,.gallery-item:focus-visible{transform:scale(1.025);z-index:20}.gallery-chaosage{width:38%;left:2%;top:5%;z-index:3}.gallery-chaosage img{aspect-ratio:1.78}.gallery-cat{width:25%;left:37%;top:3%;z-index:4}.gallery-cat img{aspect-ratio:.82}.gallery-butcher{width:34%;right:2%;top:7%;z-index:3}.gallery-butcher img{aspect-ratio:1.12}.gallery-mage{width:25%;left:4%;top:34%;z-index:5}.gallery-mage img{aspect-ratio:.82}.gallery-hygieia{width:26%;left:27%;top:35%;z-index:4}.gallery-hygieia img{aspect-ratio:.74}.gallery-portrait{width:25%;left:51%;top:36%;z-index:6}.gallery-portrait img{aspect-ratio:1}.gallery-visionary{width:25%;right:1%;top:37%;z-index:5}.gallery-visionary img{aspect-ratio:1.14}.gallery-abe{width:36%;left:5%;bottom:4%;z-index:7}.gallery-abe img{aspect-ratio:1.35}.gallery-nike{width:31%;left:38%;bottom:3%;z-index:6}.gallery-nike img{aspect-ratio:.92;object-position:center 36%}
@media(max-width:900px){.three-d-showcase{grid-template-columns:34% 66%;min-height:620px}.three-d-intro{min-height:620px;padding:28px 18px}.three-d-intro h2{font-size:clamp(43px,7vw,62px);margin:auto 0 24px}.three-d-gallery{height:620px;min-height:620px}.gallery-item,.gallery-chaosage,.gallery-cat,.gallery-butcher,.gallery-mage,.gallery-hygieia,.gallery-portrait,.gallery-visionary,.gallery-abe,.gallery-nike{transform:none}.gallery-chaosage{width:40%;left:1%}.gallery-cat{width:27%;left:37%}.gallery-butcher{width:35%;right:1%}.gallery-mage{width:27%;left:2%}.gallery-hygieia{width:28%;left:27%}.gallery-portrait{width:26%;left:52%}.gallery-visionary{width:25%;right:1%}.gallery-abe{width:39%;left:2%}.gallery-nike{width:33%;left:38%}}
@media(max-width:560px){.three-d-showcase{display:block;min-height:0}.three-d-intro{min-height:280px;height:auto;border-right:0;border-bottom:1px solid var(--line)}.three-d-intro h2{font-size:14vw}.three-d-gallery{height:128vw;min-height:480px}.gallery-chaosage{width:40%;left:2%;top:5%}.gallery-cat{width:27%;left:37%;top:3%}.gallery-butcher{width:35%;right:1%;top:7%}.gallery-mage{width:27%;left:2%;top:35%}.gallery-hygieia{width:28%;left:27%;top:36%}.gallery-portrait{width:26%;left:52%;top:37%}.gallery-visionary{width:25%;right:1%;top:38%}.gallery-abe{width:39%;left:2%;bottom:4%}.gallery-nike{width:33%;left:38%;bottom:3%}}

/* Keep collage overlaps within roughly 10–15% */
.gallery-butcher{top:5%}.gallery-mage{top:31%}.gallery-hygieia{top:31%}.gallery-portrait{top:31%}.gallery-visionary{top:32%}.gallery-abe{bottom:1%}.gallery-nike{bottom:0}
@media(max-width:900px){.gallery-butcher{top:5%}.gallery-mage{top:31%}.gallery-hygieia{top:31%}.gallery-portrait{top:31%}.gallery-visionary{top:32%}.gallery-abe{bottom:1%}.gallery-nike{bottom:0}}
@media(max-width:560px){.gallery-butcher{top:5%}.gallery-mage{top:31%}.gallery-hygieia{top:31%}.gallery-portrait{top:31%}.gallery-visionary{top:32%}.gallery-abe{bottom:1%}.gallery-nike{bottom:0}}

.gallery-lineup,.gallery-wizard{position:absolute;margin:0;height:auto;transform:none;overflow:hidden;border:1px solid var(--line);background:var(--dark);box-shadow:0 10px 24px rgba(24,32,42,.12);cursor:zoom-in;transition:transform .45s cubic-bezier(.18,.8,.18,1),box-shadow .35s}.gallery-lineup:hover,.gallery-lineup:focus-visible,.gallery-wizard:hover,.gallery-wizard:focus-visible{z-index:20;transform:scale(1.025);box-shadow:0 18px 34px rgba(24,32,42,.22)}.gallery-lineup img,.gallery-wizard img{width:100%;height:100%;display:block;object-fit:cover}.gallery-lineup{width:38%;right:2%;bottom:1%;z-index:8}.gallery-lineup img{aspect-ratio:1.78}.gallery-wizard{width:25%;right:3%;top:63%;z-index:9}.gallery-wizard img{aspect-ratio:1}
@media(max-width:900px){.gallery-lineup{width:40%;right:1%;bottom:1%}.gallery-wizard{width:27%;right:2%;top:63%}}
@media(max-width:560px){.gallery-lineup{width:40%;right:1%;bottom:1%}.gallery-wizard{width:27%;right:2%;top:63%}}

/* Eleven-piece layout */
.three-d-showcase{min-height:clamp(720px,58vw,880px)}.three-d-gallery{min-height:clamp(720px,58vw,880px)}.gallery-chaosage{width:38%;left:2%;top:4%}.gallery-cat{width:25%;left:38%;top:3%}.gallery-butcher{width:34%;right:2%;top:5%}.gallery-mage{width:24%;left:2%;top:36%}.gallery-hygieia{width:25%;left:25%;top:35%}.gallery-portrait{width:22%;left:51%;top:37%}.gallery-visionary{width:22%;right:2%;top:36%}.gallery-abe{width:25%;left:2%;bottom:2%}.gallery-wizard{width:18%;left:25%;top:auto;bottom:2%}.gallery-nike{width:20%;left:42%;bottom:1%}.gallery-lineup{width:38%;right:1%;bottom:2%}
@media(max-width:900px){.three-d-showcase{min-height:720px}.three-d-intro{min-height:720px}.three-d-gallery{height:720px;min-height:720px}.gallery-chaosage{width:38%;left:2%;top:4%}.gallery-cat{width:25%;left:38%;top:3%}.gallery-butcher{width:34%;right:2%;top:5%}.gallery-mage{width:24%;left:2%;top:36%}.gallery-hygieia{width:25%;left:25%;top:35%}.gallery-portrait{width:22%;left:51%;top:37%}.gallery-visionary{width:22%;right:2%;top:36%}.gallery-abe{width:25%;left:2%;bottom:2%}.gallery-wizard{width:18%;left:25%;top:auto;bottom:2%}.gallery-nike{width:20%;left:42%;bottom:1%}.gallery-lineup{width:38%;right:1%;bottom:2%}}
@media(max-width:560px){.three-d-showcase{min-height:0}.three-d-intro{min-height:280px}.three-d-gallery{height:145vw;min-height:540px}.gallery-chaosage{width:38%;left:2%;top:4%}.gallery-cat{width:25%;left:38%;top:3%}.gallery-butcher{width:34%;right:2%;top:5%}.gallery-mage{width:24%;left:2%;top:36%}.gallery-hygieia{width:25%;left:25%;top:35%}.gallery-portrait{width:22%;left:51%;top:37%}.gallery-visionary{width:22%;right:2%;top:36%}.gallery-abe{width:25%;left:2%;bottom:2%}.gallery-wizard{width:18%;left:25%;top:auto;bottom:2%}.gallery-nike{width:20%;left:42%;bottom:1%}.gallery-lineup{width:38%;right:1%;bottom:2%}}

/* One-third shorter gallery */
.three-d-showcase{min-height:clamp(480px,39vw,590px)}.three-d-intro{min-height:clamp(480px,39vw,590px)}.three-d-gallery{height:clamp(480px,39vw,590px);min-height:clamp(480px,39vw,590px)}.gallery-chaosage{top:3%}.gallery-cat{top:2%}.gallery-butcher{top:3%}.gallery-mage{top:29%}.gallery-hygieia{top:28%}.gallery-portrait{top:30%}.gallery-visionary{top:29%}.gallery-abe{bottom:1%}.gallery-wizard{bottom:1%}.gallery-nike{bottom:0}.gallery-lineup{bottom:1%}
@media(max-width:900px){.three-d-showcase{min-height:500px}.three-d-intro{min-height:500px}.three-d-gallery{height:500px;min-height:500px}.gallery-chaosage{top:3%}.gallery-cat{top:2%}.gallery-butcher{top:3%}.gallery-mage{top:29%}.gallery-hygieia{top:28%}.gallery-portrait{top:30%}.gallery-visionary{top:29%}.gallery-abe,.gallery-wizard,.gallery-lineup{bottom:1%}.gallery-nike{bottom:0}}
@media(max-width:560px){.three-d-showcase{min-height:0}.three-d-intro{min-height:245px}.three-d-gallery{height:96vw;min-height:360px}.gallery-chaosage{top:3%}.gallery-cat{top:2%}.gallery-butcher{top:3%}.gallery-mage{top:29%}.gallery-hygieia{top:28%}.gallery-portrait{top:30%}.gallery-visionary{top:29%}.gallery-abe,.gallery-wizard,.gallery-lineup{bottom:1%}.gallery-nike{bottom:0}}

/* Physics cursor */
body.has-physics-cursor,body.has-physics-cursor *,body.has-physics-cursor .gallery-lightbox::backdrop{cursor:none!important}.physics-cursor{position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:0;transition:opacity .16s}.physics-cursor.is-visible{opacity:1}.cursor-shell,.cursor-point{position:absolute;left:0;top:0;display:block;will-change:transform}.cursor-shell{width:72px;height:72px;transform-origin:36px 36px}.cursor-point{width:10px;height:10px;border-radius:50%;background:var(--ink);transform:translate3d(-20px,-20px,0)}
@media(pointer:coarse),(hover:none){.physics-cursor{display:none}}

/* Name letter field: VLADISLAV TABACHNIKOV */
.name-letter-field .letter{--rotation:0deg;--turn:0deg;font-size:clamp(82px,12.5vw,210px);opacity:1;transform:rotate(var(--rotation))!important;transition:transform .78s cubic-bezier(.2,.75,.2,1),opacity .35s}.name-letter-field .letter-large{font-size:clamp(110px,17vw,280px)}.name-letter-field .letter-small{font-size:clamp(60px,8vw,135px)}.name-letter-field .tone-solid{opacity:1}.name-letter-field .tone-mid{opacity:.46}.name-letter-field .tone-faint{opacity:.18}.name-letter-field .rotate-90{--rotation:90deg}.name-letter-field .rotate-neg90{--rotation:-90deg}.name-letter-field .is-turnable{--turn:90deg}.name-letter-field .turn-counter{--turn:-90deg}.name-letter-field:hover .letter{transform:rotate(var(--rotation))!important}.name-letter-field:hover .letter.is-turnable{transform:rotate(calc(var(--rotation) + var(--turn)))!important}
.name-letter-field .letter{left:auto;right:auto;top:auto;bottom:auto;width:max-content}
.name-letter-field .l1{left:2%;top:4%}.name-letter-field .l2{left:25%;top:1%}.name-letter-field .l3{left:42%;top:8%}.name-letter-field .l4{right:5%;top:1%}.name-letter-field .l5{right:31%;top:5%}.name-letter-field .l6{left:12%;top:27%}.name-letter-field .l7{left:32%;top:24%}.name-letter-field .l8{right:23%;top:27%}.name-letter-field .l9{right:0;top:31%}.name-letter-field .l10{left:3%;top:51%}.name-letter-field .l11{left:20%;top:48%}.name-letter-field .l12{left:36%;top:44%}.name-letter-field .l13{right:25%;top:49%}.name-letter-field .l14{right:2%;top:53%}.name-letter-field .l15{left:8%;bottom:1%}.name-letter-field .l16{left:25%;bottom:-3%}.name-letter-field .l17{left:47%;bottom:2%}.name-letter-field .l18{right:20%;bottom:-5%}.name-letter-field .l19{right:4%;bottom:-1%}.name-letter-field .l20{left:61%;top:22%}
@media(max-width:900px){.name-letter-field .letter{font-size:clamp(70px,20vw,170px)}.name-letter-field .letter-large{font-size:clamp(95px,27vw,225px)}.name-letter-field .letter-small{font-size:clamp(52px,13vw,110px)}}
@media(max-width:560px){.name-letter-field .letter{font-size:22vw}.name-letter-field .letter-large{font-size:31vw}.name-letter-field .letter-small{font-size:15vw}.name-letter-field .tone-mid{opacity:.42}.name-letter-field .tone-faint{opacity:.16}}
@media(prefers-reduced-motion:reduce){.name-letter-field:hover .letter.is-turnable{transform:rotate(var(--rotation))!important}}

/* Interactive name field */
.name-letter-field .letter.physics-active{--physics-x:0px;--physics-y:0px;--physics-angle:0deg;z-index:2;will-change:transform;transform:translate3d(var(--physics-x),var(--physics-y),0) rotate(calc(var(--rotation) + var(--physics-angle)))!important;transition:none}
.name-letter-field .letter.tone-mid,.name-letter-field .letter.tone-faint{--ambient-angle:0deg;z-index:1;will-change:transform;transform:rotate(calc(var(--rotation) + var(--ambient-angle)))!important;transition:none}
.name-letter-field:hover .letter.physics-active{transform:translate3d(var(--physics-x),var(--physics-y),0) rotate(calc(var(--rotation) + var(--physics-angle)))!important}
.name-letter-field:hover .letter.tone-mid,.name-letter-field:hover .letter.tone-faint{transform:rotate(calc(var(--rotation) + var(--ambient-angle)))!important}
@media(prefers-reduced-motion:reduce){.name-letter-field .letter.physics-active{transform:rotate(var(--rotation))!important}.name-letter-field .letter.tone-mid,.name-letter-field .letter.tone-faint{transform:rotate(var(--rotation))!important}}

/* Pinterest-style 3D gallery: fixed column rhythm, standardized crops */
.three-d-showcase{display:block;min-height:0}
.three-d-intro{min-height:clamp(250px,27vw,400px);height:auto;padding:clamp(28px,3vw,46px) 24px;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.35fr);grid-template-rows:auto 1fr;column-gap:36px;border-right:0;border-bottom:1px solid var(--line)}
.three-d-intro h2{grid-column:2;grid-row:1/3;margin:auto 0 0;font-size:clamp(54px,7.4vw,116px)}
.three-d-intro p{margin:auto 0 0}
.three-d-intro .three-d-meta{align-self:end}
.three-d-intro .three-d-meta p{margin:0}
.three-d-years{display:block;margin-top:16px;font:500 11px/1 var(--mono);letter-spacing:.06em}
.three-d-gallery{position:relative;display:block;columns:4;column-gap:1px;height:auto;min-height:0;padding:0;border-top:0;overflow:visible;background:var(--line)}
.three-d-gallery .gallery-item,.three-d-gallery .gallery-chaosage,.three-d-gallery .gallery-cat,.three-d-gallery .gallery-butcher,.three-d-gallery .gallery-mage,.three-d-gallery .gallery-hygieia,.three-d-gallery .gallery-portrait,.three-d-gallery .gallery-visionary,.three-d-gallery .gallery-abe,.three-d-gallery .gallery-nike,.three-d-gallery .gallery-lineup,.three-d-gallery .gallery-wizard{position:relative;inset:auto;width:100%;height:auto;margin:0 0 1px;break-inside:avoid;overflow:hidden;border:0;box-shadow:none;transform:none;z-index:auto;background:var(--dark)}
.three-d-gallery .gallery-item:hover,.three-d-gallery .gallery-item:focus-visible{z-index:1;transform:none;box-shadow:none}
.three-d-gallery .gallery-item img{width:100%;height:100%;display:block;aspect-ratio:4/5;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.18,.8,.18,1),filter .35s}
.three-d-gallery .gallery-item:hover img,.three-d-gallery .gallery-item:focus-visible img{transform:scale(1.035);filter:saturate(1.07)}
.three-d-gallery .gallery-chaosage img,.three-d-gallery .gallery-lineup img{aspect-ratio:3/2}
.three-d-gallery .gallery-portrait img,.three-d-gallery .gallery-visionary img,.three-d-gallery .gallery-wizard img{aspect-ratio:1}
.three-d-gallery .gallery-mage img{object-position:center 24%}
.three-d-gallery .gallery-nike img{object-position:center 36%}
@media(max-width:900px){.three-d-intro{min-height:290px;grid-template-columns:1fr;padding:28px 18px}.three-d-intro h2{grid-column:1;grid-row:auto;margin:38px 0 22px;font-size:clamp(50px,10vw,80px)}.three-d-intro .three-d-meta{align-self:auto}.three-d-intro p{margin:0}.three-d-gallery{columns:3;height:auto;min-height:0}}
@media(max-width:560px){.three-d-intro{min-height:245px;padding:24px 16px}.three-d-intro h2{font-size:14vw;margin:34px 0 18px}.three-d-gallery{columns:2;height:auto;min-height:0}}

/* Profile skill groups */
.profile-statement{display:grid;grid-template-rows:auto 1fr auto;gap:38px;padding:44px 24px 56px}
.profile-statement p{margin:0}
.profile-evolution{align-self:center;width:100%;margin:0;overflow:hidden}
.profile-evolution-object{display:block;width:100%;height:auto;aspect-ratio:1326/717;border:0;pointer-events:none}
.skills-head-software{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.software-list li{padding:16px 8px;font-size:clamp(15px,1.45vw,22px)}
.software-list li:last-child{border-bottom:0}
@media(max-width:900px){.profile-statement{grid-template-rows:auto auto auto;min-height:auto;padding:38px 20px 46px;gap:34px}.profile-evolution{max-width:760px;margin:8px auto 0}}
@media(max-width:560px){.profile-statement{padding:30px 16px 38px;gap:28px}.profile-statement p{font-size:clamp(34px,11vw,52px)}.profile-evolution{width:calc(100% + 8px);margin-left:-4px}}

/* Local layout study: primary games use the same card grid as the second games block */
.featured-games-grid>a{display:flex;min-width:0;flex-direction:column}
.featured-games-grid>a>div{display:flex;flex:1;flex-direction:column}
.featured-games-grid p{font:400 11px/1.58 var(--sans);text-transform:none;opacity:.82}
.featured-games-grid h3{overflow-wrap:anywhere}
.featured-games-grid>a:nth-child(1) img{object-position:center}
.featured-games-grid>a:nth-child(2) img{object-position:center}
.featured-games-grid>a:nth-child(3) img{object-position:center}
.featured-games-grid>a:nth-child(4) img{object-position:center}

/* Fixed full-site letter background and featured games in the hero */
.topbar,main{position:relative;z-index:1}
.site-letter-background{position:fixed;inset:0;z-index:0;min-height:0;overflow:hidden;pointer-events:none}
.site-letter-background.name-letter-field .tone-solid{opacity:.07}
.site-letter-background.name-letter-field .tone-mid{opacity:.038}
.site-letter-background.name-letter-field .tone-faint{opacity:.019}
body[data-theme=dark] .site-letter-background.name-letter-field .tone-solid{opacity:.055}
body[data-theme=dark] .site-letter-background.name-letter-field .tone-mid{opacity:.03}
body[data-theme=dark] .site-letter-background.name-letter-field .tone-faint{opacity:.015}
.hero-games{min-width:0;overflow:hidden;display:flex;flex-direction:column}
.hero-games .section-bar{flex:0 0 58px;border:0;border-bottom:1px solid var(--line)}
.hero-games .featured-games-grid{flex:1;min-height:0;border:0}
.hero-games .featured-games-grid>a{padding:10px}
.hero-games .featured-games-grid>a{border-right:1px solid var(--line);border-bottom:0}
.hero-games .featured-games-grid>a:nth-child(4n){border-right:0}
.hero-games .featured-games-grid>a:nth-child(-n+4){border-bottom:1px solid var(--line)}
.hero-games .featured-games-grid figure{width:100%;height:auto;max-height:none;aspect-ratio:1}
.hero-games .featured-games-grid a>div{padding:15px 3px 9px}
.hero-games .featured-games-grid h3{font-size:clamp(21px,1.9vw,34px);margin:10px 0}
.hero-games .featured-games-grid p{font-size:10px;line-height:1.5}
body[data-theme=dark] .hero-portrait img{mix-blend-mode:normal;filter:brightness(.96) contrast(1.035) saturate(.86)}
@media(max-width:900px){.hero-grid{grid-template-rows:auto auto 55px}.hero-games .featured-games-grid{flex:none}.hero-games .featured-games-grid>a{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.hero-games .featured-games-grid>a:nth-child(even){border-right:0}.hero-games .featured-games-grid>a:nth-last-child(-n+2){border-bottom:0}.hero-games .featured-games-grid h3{font-size:clamp(26px,4vw,38px)}}
@media(max-width:560px){.hero-games .featured-games-grid>a{border-right:0}.hero-games .featured-games-grid h3{font-size:34px}.site-letter-background.name-letter-field .tone-solid{opacity:.05}.site-letter-background.name-letter-field .tone-mid{opacity:.026}.site-letter-background.name-letter-field .tone-faint{opacity:.013}}

/* Floating game-language glyphs */
.name-letter-field .game-glyph{display:block;color:inherit;font:500 clamp(34px,4.2vw,72px)/1 var(--mono);transform-origin:center;box-sizing:border-box}
.name-letter-field .gamepad-glyph{width:clamp(96px,11vw,178px);height:clamp(58px,6.6vw,108px);border:clamp(2px,.16vw,3px) solid currentColor;border-radius:42% 42% 36% 36%/52% 52% 44% 44%}
.game-dpad,.game-dpad::after{position:absolute;display:block;background:currentColor;border-radius:1px}.game-dpad{left:21%;top:37%;width:26%;height:12%}.game-dpad::after{content:"";left:28%;top:-58%;width:44%;height:216%}
.game-buttons{position:absolute;right:17%;top:29%;width:28%;height:42%;display:block}.game-buttons b{position:absolute;width:22%;aspect-ratio:1;border:2px solid currentColor;border-radius:50%}.game-buttons b:nth-child(1){left:39%;top:0}.game-buttons b:nth-child(2){right:0;top:39%}.game-buttons b:nth-child(3){left:39%;bottom:0}.game-buttons b:nth-child(4){left:0;top:39%}
.name-letter-field .ps-glyph{width:max-content;font:400 clamp(82px,12.5vw,210px)/.78 var(--sans)}
.name-letter-field .pointer-glyph{width:clamp(54px,6vw,96px);height:clamp(68px,7.5vw,120px)}.pointer-glyph::before,.pointer-glyph::after{content:"";position:absolute;inset:0;clip-path:polygon(5% 0,86% 70%,55% 73%,73% 100%,58% 100%,41% 76%,18% 100%);background:currentColor}.pointer-glyph::after{inset:7px;clip-path:polygon(5% 0,86% 70%,55% 73%,73% 100%,58% 100%,41% 76%,18% 100%);background:var(--paper)}
.name-letter-field .dpad-glyph{width:clamp(64px,7vw,112px);height:clamp(64px,7vw,112px)}.dpad-glyph::before,.dpad-glyph::after{content:"";position:absolute;background:currentColor;border-radius:2px}.dpad-glyph::before{left:35%;top:0;width:30%;height:100%}.dpad-glyph::after{left:0;top:35%;width:100%;height:30%}
.name-letter-field .pixel-heart{width:clamp(62px,6.4vw,104px);height:clamp(56px,5.8vw,94px);background:currentColor;clip-path:polygon(0 17%,17% 17%,17% 0,42% 0,42% 17%,58% 17%,58% 0,83% 0,83% 17%,100% 17%,100% 58%,83% 58%,83% 75%,67% 75%,67% 92%,50% 92%,50% 100%,42% 100%,42% 92%,25% 92%,25% 75%,8% 75%,8% 58%,0 58%)}
.name-letter-field .g1{left:55%;top:7%}.name-letter-field .g2a{left:4%;top:35%;--rotation:-12deg}.name-letter-field .g2b{left:29%;top:9%;--rotation:8deg}.name-letter-field .g2c{right:8%;top:31%;--rotation:-8deg}.name-letter-field .g2d{right:21%;bottom:-3%;--rotation:10deg}.name-letter-field .g3{right:12%;top:43%;--rotation:-18deg}.name-letter-field .g5{right:34%;bottom:15%;--rotation:12deg}.name-letter-field .g6{right:5%;top:14%;--rotation:8deg}
@media(max-width:900px){.name-letter-field .ps-glyph{font-size:clamp(70px,20vw,170px)}.name-letter-field .g1{left:48%;top:12%}.name-letter-field .g2a{left:2%;top:38%}.name-letter-field .g2b{left:28%;top:12%}.name-letter-field .g2c{right:3%;top:34%}.name-letter-field .g2d{right:14%;bottom:1%}.name-letter-field .g3{right:6%;top:48%}.name-letter-field .g5{right:26%;bottom:21%}}
@media(max-width:560px){.name-letter-field .ps-glyph{font-size:22vw}.name-letter-field .g1{left:45%;top:15%}.name-letter-field .g2a{left:0;top:40%}.name-letter-field .g2b{left:32%;top:18%}.name-letter-field .g2c{right:0;top:36%}.name-letter-field .g2d{right:8%;bottom:4%}.name-letter-field .g3{right:5%;top:50%}.name-letter-field .g5{right:18%;bottom:25%}.name-letter-field .g6{right:2%;top:19%}}

/* Editorial first screen: portrait rail, heading and asymmetric game mosaic */
.topbar{height:74px;grid-template-columns:28% minmax(260px,1fr) auto auto}
.topbar nav{align-items:center}
.hero-grid{grid-template-columns:28% minmax(0,1fr);grid-template-rows:auto 58px}
.hero-intro{min-width:0;padding:clamp(28px,3.4vw,58px) 18px 24px}
.hero-intro .micro{margin:0 0 24px}
.hero-portrait{position:relative;height:clamp(440px,41vw,720px);margin:0 -18px 28px;padding:0;border-top:1px solid var(--line);background:radial-gradient(circle at 46% 31%,rgba(var(--ink-rgb),.34) 0,rgba(var(--ink-rgb),.15) 42%,rgba(var(--ink-rgb),.045) 70%),linear-gradient(145deg,var(--paper),rgba(var(--ink-rgb),.16));transition:background .45s}
.hero-portrait::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 54%,rgba(var(--ink-rgb),.08));mix-blend-mode:multiply}
.hero-portrait img{position:relative;z-index:1;object-fit:cover;object-position:center center;mix-blend-mode:normal;filter:saturate(.92) contrast(1.025);transform:scale(1.36);transform-origin:center bottom}
body[data-theme=dark] .hero-portrait{background:radial-gradient(circle at 46% 31%,rgba(var(--ink-rgb),.16) 0,rgba(var(--ink-rgb),.055) 42%,transparent 70%),linear-gradient(145deg,#222a2b,var(--paper) 72%)}
.hero-links{margin-top:auto}
.hero-main{min-width:0;display:flex;flex-direction:column}
.hero-heading{min-height:clamp(260px,22vw,370px);padding:clamp(42px,4.8vw,76px) clamp(28px,5vw,82px) 38px;display:flex;flex-direction:column;justify-content:flex-end;border-bottom:1px solid var(--line)}
.hero-heading h1{max-width:980px;margin:0;font:400 clamp(62px,7.6vw,128px)/.76 var(--serif);letter-spacing:-.055em;text-transform:uppercase}
.hero-heading p{max-width:720px;margin:30px 0 0;padding-top:18px;border-top:1px solid var(--line);font:400 clamp(13px,1.1vw,17px)/1.65 var(--sans)}
.hero-games{overflow:visible}
.hero-games .section-bar{background:rgba(var(--ink-rgb),.025)}
.hero-games .featured-games-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,clamp(170px,13vw,235px)) clamp(145px,10vw,185px);gap:1px;background:var(--line);overflow:hidden}
.hero-games .featured-games-grid>a,.hero-games .featured-games-grid>a:nth-child(4n),.hero-games .featured-games-grid>a:nth-child(-n+4){position:relative;display:block;min-width:0;padding:0;border:0;overflow:hidden;background:var(--dark)}
.hero-games .featured-games-grid>a:nth-child(1){grid-column:1/6;grid-row:1/3}
.hero-games .featured-games-grid>a:nth-child(2){grid-column:6/9;grid-row:1}
.hero-games .featured-games-grid>a:nth-child(3){grid-column:9/13;grid-row:1}
.hero-games .featured-games-grid>a:nth-child(4){grid-column:6/13;grid-row:2}
.hero-games .featured-games-grid>a:nth-child(5){grid-column:1/4;grid-row:3}
.hero-games .featured-games-grid>a:nth-child(6){grid-column:4/7;grid-row:3}
.hero-games .featured-games-grid>a:nth-child(7){grid-column:7/10;grid-row:3}
.hero-games .featured-games-grid>a:nth-child(8){grid-column:10/13;grid-row:3}
.hero-games .featured-games-grid>a::after{content:"";position:absolute;inset:18% 0 0;z-index:1;background:linear-gradient(180deg,transparent,rgba(7,10,12,.18) 28%,rgba(7,10,12,.9));pointer-events:none}
.hero-games .featured-games-grid figure{position:absolute;inset:0;width:100%;height:100%;margin:0;aspect-ratio:auto}
.hero-games .featured-games-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.62) contrast(.98);transition:transform .65s cubic-bezier(.18,.8,.18,1),filter .35s}
.hero-games .featured-games-grid a:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.02)}
.hero-games .featured-games-grid figcaption{z-index:3;background:rgba(10,14,17,.78);color:#f3eee2;border:1px solid rgba(255,255,255,.38)}
.hero-games .featured-games-grid a>div{position:absolute;left:0;right:0;bottom:0;z-index:2;display:block;padding:clamp(14px,1.3vw,22px);color:#f3eee2;text-shadow:0 1px 14px rgba(0,0,0,.48)}
.hero-games .featured-games-grid small{color:#f3eee2;opacity:.8}
.hero-games .featured-games-grid h3{margin:7px 0;font-size:clamp(22px,2vw,36px);line-height:.92}
.hero-games .featured-games-grid p{max-width:620px;margin:0;font-size:clamp(9px,.67vw,11px);line-height:1.45;opacity:.78;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hero-games .featured-games-grid>a:nth-child(1) h3{font-size:clamp(36px,3.6vw,62px)}
.hero-games .featured-games-grid>a:nth-child(1) p{font-size:clamp(10px,.8vw,13px);-webkit-line-clamp:3}
.hero-games .featured-games-grid>a:nth-child(4) h3{font-size:clamp(27px,2.5vw,44px)}
.hero-games .featured-games-grid>a:nth-child(n+5) h3{font-size:clamp(21px,1.7vw,30px)}
.hero-games .featured-games-grid>a:nth-child(n+5) p{-webkit-line-clamp:1}
@media(max-width:900px){.topbar{height:auto;grid-template-columns:1fr 1fr}.hero-grid{grid-template-columns:1fr;grid-template-rows:auto auto 55px}.hero-intro{min-height:0}.hero-portrait{height:min(92vw,620px)}.hero-portrait img{transform:scale(1.03);transform-origin:center center}.hero-heading{min-height:310px;padding:54px 28px 38px}.hero-heading h1{font-size:clamp(60px,12vw,104px)}.hero-heading p{max-width:650px}.hero-games .featured-games-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,min(52vw,430px))}.hero-games .featured-games-grid>a:nth-child(n){grid-column:auto;grid-row:auto;border:0}.hero-games .featured-games-grid>a:nth-child(1) h3,.hero-games .featured-games-grid>a:nth-child(4) h3,.hero-games .featured-games-grid>a:nth-child(n+5) h3{font-size:clamp(29px,5vw,46px)}.hero-games .featured-games-grid>a:nth-child(n) p{font-size:11px;-webkit-line-clamp:2}}
@media(max-width:560px){.hero-heading{min-height:280px;padding:42px 18px 30px}.hero-heading h1{font-size:14.5vw;line-height:.82}.hero-heading p{margin-top:22px;font-size:12px}.hero-games .featured-games-grid{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:min(112vw,520px)}.hero-games .featured-games-grid>a:nth-child(n){border:0}.hero-games .featured-games-grid>a:nth-child(1) h3,.hero-games .featured-games-grid>a:nth-child(4) h3,.hero-games .featured-games-grid>a:nth-child(n+5) h3{font-size:38px}.hero-games .featured-games-grid a>div{padding:18px}.hero-games .featured-games-grid>a:nth-child(n) p{font-size:11px;-webkit-line-clamp:3}}

/* 3D gallery: aligned editorial grid matching the game mosaic */
.three-d-gallery{position:relative;display:grid;columns:auto;grid-template-columns:repeat(24,minmax(0,1fr));grid-template-rows:repeat(12,clamp(38px,3vw,58px));gap:1px;height:auto;min-height:0;padding:0;background:var(--line);overflow:hidden}
.three-d-gallery .gallery-item{position:relative;inset:auto;width:auto;height:auto;margin:0;grid-column:auto;grid-row:auto;break-inside:auto;border:0;box-shadow:none;transform:none;z-index:auto;background:var(--dark)}
.three-d-gallery .gallery-item:hover,.three-d-gallery .gallery-item:focus-visible{z-index:1;transform:none;box-shadow:none}
.three-d-gallery .gallery-item img{width:100%;height:100%;display:block;aspect-ratio:auto;object-fit:cover;object-position:center}
.three-d-gallery .gallery-mage{grid-column:1/8;grid-row:1/13}
.three-d-gallery .gallery-nike{grid-column:8/14;grid-row:1/10}
.three-d-gallery .gallery-cat{grid-column:8/11;grid-row:10/13}
.three-d-gallery .gallery-butcher{grid-column:11/14;grid-row:10/13}
.three-d-gallery .gallery-lineup{grid-column:14/20;grid-row:1/7}
.three-d-gallery .gallery-hygieia{grid-column:14/17;grid-row:7/13}
.three-d-gallery .gallery-portrait{grid-column:17/20;grid-row:7/13}
.three-d-gallery .gallery-abe{grid-column:20/25;grid-row:1/6}
.three-d-gallery .gallery-chaosage{grid-column:20/25;grid-row:6/9}
.three-d-gallery .gallery-visionary{grid-column:20/23;grid-row:9/13}
.three-d-gallery .gallery-wizard{grid-column:23/25;grid-row:9/13}
.three-d-gallery .gallery-mage img{object-fit:cover;object-position:center}
.three-d-gallery .gallery-nike img{object-position:center 42%}
.three-d-gallery .gallery-cat img{object-position:center 18%}
.three-d-gallery .gallery-butcher img{object-position:center 16%}
.three-d-gallery .gallery-lineup img{object-position:center}
.three-d-gallery .gallery-hygieia img{object-position:center 24%}
.three-d-gallery .gallery-portrait img{object-position:center 22%}
.three-d-gallery .gallery-abe img{object-position:center top;scale:1.12;transform-origin:center top}
.three-d-gallery .gallery-chaosage img{object-position:center}
.three-d-gallery .gallery-visionary img{object-position:center 22%}
.three-d-gallery .gallery-wizard img{object-position:center 24%}
@media(max-width:900px){.three-d-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:min(52vw,430px)}.three-d-gallery .gallery-item{grid-column:auto;grid-row:auto}.three-d-gallery .gallery-mage img{object-fit:contain;background:#090d10}.three-d-gallery .gallery-abe img{scale:1;object-position:center 17%}.three-d-gallery .gallery-wizard{grid-column:1/-1}}
@media(max-width:560px){.three-d-gallery{grid-template-columns:1fr;grid-auto-rows:min(112vw,520px)}.three-d-gallery .gallery-item,.three-d-gallery .gallery-wizard{grid-column:1;grid-row:auto}}

/* Gallery preview: image lifts above a dimmed, still-visible page */
.gallery-lightbox{width:max-content;max-width:92vw;height:auto;max-height:90vh;margin:auto;padding:0;border:0;background:transparent;color:#f3eee2;overflow:visible}
.gallery-lightbox[open]{display:grid;place-items:center;animation:gallery-dialog-in .34s cubic-bezier(.18,.8,.18,1) both}
.gallery-lightbox::backdrop{background:rgba(7,10,12,.7);backdrop-filter:blur(3px) saturate(.72);animation:gallery-backdrop-in .28s ease-out both}
.gallery-lightbox img{display:block;width:auto;height:auto;max-width:86vw;max-height:82vh;object-fit:contain;border:1px solid rgba(255,255,255,.4);box-shadow:0 34px 110px rgba(0,0,0,.62);animation:gallery-image-in .42s cubic-bezier(.16,.84,.24,1) both}
.gallery-lightbox .lightbox-close{right:clamp(16px,2.4vw,38px);top:clamp(16px,2.4vw,38px);display:grid;place-items:center;width:58px;height:58px;padding:0;border-radius:50%;background:rgba(12,16,19,.76);backdrop-filter:blur(8px);font:300 44px/1 Arial,sans-serif;text-transform:none}
@keyframes gallery-backdrop-in{from{background:rgba(7,10,12,0);backdrop-filter:blur(0) saturate(1)}to{background:rgba(7,10,12,.7);backdrop-filter:blur(3px) saturate(.72)}}
@keyframes gallery-dialog-in{from{opacity:0}to{opacity:1}}
@keyframes gallery-image-in{from{opacity:0;transform:translateY(28px) scale(.86)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:560px){.gallery-lightbox{max-width:96vw;max-height:94vh}.gallery-lightbox img{max-width:92vw;max-height:84vh}.gallery-lightbox .lightbox-close{right:10px;top:10px;width:50px;height:50px;font-size:38px}}
@media(prefers-reduced-motion:reduce){.gallery-lightbox[open],.gallery-lightbox::backdrop,.gallery-lightbox img{animation:none}}

/* Soft card system: open spacing, rounded media and line-free navigation */
:root{--soft-radius:18px;--soft-gap:clamp(12px,1.25vw,20px);--soft-panel:rgba(var(--ink-rgb),.055)}
.topbar,.hero-grid,.section-bar,.mobile-grid,.articles-grid,.video-grid,.profile-grid,.three-d-showcase,.contact,.archive,.legacy-grid{border:0}
.topbar{gap:var(--soft-gap);margin-top:var(--pad)}
.topbar>*{border:0;border-radius:14px;background:var(--soft-panel);backdrop-filter:blur(12px)}
.hero-grid{gap:var(--soft-gap);margin-top:var(--soft-gap)}
.hero-intro,.hero-heading,.hero-foot,.profile-statement,.three-d-intro{border:0}
.hero-portrait{margin-top:24px;border:0;border-radius:var(--soft-radius)}
.hero-heading p{padding:16px 18px;border:0;border-radius:14px;background:var(--soft-panel)}
.hero-foot{border-radius:14px;background:var(--soft-panel)}
.section-bar{height:auto;min-height:58px;padding:8px 0;background:transparent}
.section-bar>span{width:max-content;max-width:100%;padding:10px 14px;border-radius:12px;background:var(--soft-panel)}
.section-bar>span:nth-child(2){justify-self:start}
.section-bar>span:last-child{justify-self:end}
.hero-games .section-bar{border:0;background:transparent}
.hero-games .featured-games-grid,.mobile-grid,.articles-grid,.video-grid,.three-d-gallery,.contact-actions{gap:var(--soft-gap);background:transparent;overflow:visible}
.hero-games .featured-games-grid>a,.hero-games .featured-games-grid>a:nth-child(n),.mobile-grid>a,.article-card,.video-project,.video-project+.video-project{border:0}
.hero-games .featured-games-grid>a,.mobile-grid figure,.article-card figure,.portfolio-video,.three-d-gallery .gallery-item,.legacy-grid figure{border-radius:var(--soft-radius)}
.hero-games .featured-games-grid>a{transform:translateZ(0)}
.hero-games .featured-games-grid figcaption{border:0}
.article-copy span,.case-caption,.hero-links,.skills-head,.skills-head-software,.skills li,.archive-title,.archive li,.contact-actions{border:0}
.profile-grid{gap:var(--soft-gap)}
.profile-statement,.skills,.three-d-intro{border-radius:var(--soft-radius);background:var(--soft-panel)}
.skills ul,.software-list{gap:8px 12px}
.skills li{padding:16px 12px;border-radius:12px;background:rgba(var(--ink-rgb),.045)}
.three-d-showcase{margin-top:var(--soft-gap)}
.three-d-gallery{column-gap:var(--soft-gap)}
.three-d-gallery .gallery-item,.three-d-gallery .gallery-chaosage,.three-d-gallery .gallery-cat,.three-d-gallery .gallery-butcher,.three-d-gallery .gallery-mage,.three-d-gallery .gallery-hygieia,.three-d-gallery .gallery-portrait,.three-d-gallery .gallery-visionary,.three-d-gallery .gallery-abe,.three-d-gallery .gallery-nike,.three-d-gallery .gallery-lineup,.three-d-gallery .gallery-wizard{margin-bottom:var(--soft-gap);border-radius:var(--soft-radius)}
.gallery-item figcaption,.legacy-grid figcaption{border-radius:10px}
.gallery-lightbox img{border:0;border-radius:var(--soft-radius)}
.contact{border-radius:var(--soft-radius);background:var(--soft-panel)}
.contact-actions a{border:0;border-radius:12px!important;background:rgba(var(--ink-rgb),.06)}
.focus-dot,.swatch{border:0}
@media(max-width:900px){.topbar nav,.palette,.hero-intro,.profile-statement,.article-card:last-child{border:0!important}.topbar{gap:10px}.hero-grid{gap:14px}.hero-games .featured-games-grid,.articles-grid,.video-grid{gap:14px}.three-d-gallery{column-gap:14px}.three-d-gallery .gallery-item{margin-bottom:14px}}
@media(max-width:560px){:root{--soft-radius:14px;--soft-gap:10px}.section-bar{grid-template-columns:1fr auto;gap:8px}.section-bar>span{padding:9px 11px}.section-bar>span:nth-child(2){display:none}.hero-games .featured-games-grid,.articles-grid,.video-grid{gap:18px}.mobile-grid>a,.article-card,.video-project{padding:0}.profile-grid{gap:10px}.three-d-gallery{column-gap:10px}.three-d-gallery .gallery-item{margin-bottom:10px}}

/* Background typography sits only a few tonal steps above the page */
.site-letter-background.name-letter-field .letter:not(.game-glyph).tone-solid{opacity:.035}
.site-letter-background.name-letter-field .letter:not(.game-glyph).tone-mid{opacity:.022}
.site-letter-background.name-letter-field .letter:not(.game-glyph).tone-faint{opacity:.014}
body[data-theme=dark] .site-letter-background.name-letter-field .letter:not(.game-glyph).tone-solid{opacity:.022}
body[data-theme=dark] .site-letter-background.name-letter-field .letter:not(.game-glyph).tone-mid{opacity:.014}
body[data-theme=dark] .site-letter-background.name-letter-field .letter:not(.game-glyph).tone-faint{opacity:.009}

/* Plain typography study: retain spacing and rounded media without text panels */
.topbar>*,.hero-heading p,.hero-foot,.section-bar>span,.profile-statement,.skills,.three-d-intro,.skills li,.contact,.contact-actions a{background:transparent!important;backdrop-filter:none}
.hero-heading p,.section-bar>span{padding-left:0;padding-right:0}
.section-bar>span,.skills li{border-radius:0}

/* Contact links stay legible and respond with a restrained lift */
.contact-actions a{position:relative;z-index:0;color:inherit!important;transform-origin:center;transition:transform .24s cubic-bezier(.2,.75,.2,1),text-shadow .24s ease}
.contact-actions a:hover,.contact-actions a:focus-visible{z-index:1;color:inherit!important;background:transparent!important;transform:translateY(-2px) scale(1.035);text-shadow:0 0 18px rgba(var(--ink-rgb),.28)}
@media(prefers-reduced-motion:reduce){.contact-actions a{transition:text-shadow .2s ease}.contact-actions a:hover,.contact-actions a:focus-visible{transform:none}}

/* Hero composition on the shared twelve-column grid */
.topbar{grid-template-columns:repeat(12,minmax(0,1fr))}
.topbar .mark{grid-column:1/4}.topbar .top-role{grid-column:4/8}.topbar nav{grid-column:8/11}.topbar .palette{grid-column:11/13}
.hero-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto 58px;align-items:start}
.hero-intro{grid-column:1/3;grid-row:1;align-self:stretch;display:flex;flex-direction:column;height:100%;box-sizing:border-box}
.hero-intro .micro{margin:0}
.hero-main{display:contents}
.hero-heading{display:contents}
.hero-identity{grid-column:3/11;grid-row:1;align-self:stretch;justify-self:center;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;width:min(100%,980px);height:100%;padding:clamp(28px,3.4vw,58px) clamp(28px,4vw,68px) 24px;box-sizing:border-box}
.hero-identity h1{max-width:980px;margin:0;font:400 clamp(62px,7.6vw,128px)/.76 var(--serif);letter-spacing:-.055em;text-transform:uppercase}
.hero-identity p{max-width:720px;margin:0;padding:0;border:0;font:400 clamp(13px,1.1vw,17px)/1.65 var(--sans)}
.hero-heading .hero-links{grid-column:11/13;grid-row:1;align-self:stretch;justify-self:stretch;align-content:start;justify-items:end;min-width:0;height:100%;margin:0;padding:clamp(28px,3.4vw,58px) 18px 24px 0;box-sizing:border-box;text-align:right}
.hero-portrait{width:100%;height:auto;aspect-ratio:4/5;margin:24px 0 0}
.hero-portrait img{transform:scale(1.08)}
.hero-games{grid-column:1/13;grid-row:2;width:100%}
.hero-foot{grid-column:1/13;grid-row:3;width:100%}
@media(max-width:900px){.topbar{grid-template-columns:1fr 1fr}.topbar .mark,.topbar .top-role,.topbar nav,.topbar .palette{grid-column:auto}.hero-grid{grid-template-columns:1fr;grid-template-rows:auto auto auto 55px}.hero-intro{grid-column:1;grid-row:1;display:block;min-height:0;height:auto}.hero-heading{display:grid;grid-column:1;grid-row:2;grid-template-columns:minmax(0,1fr) auto;min-height:310px;padding:54px 28px 38px;align-items:end}.hero-identity{grid-column:1;grid-row:1;align-self:end;justify-self:stretch;width:auto;min-height:0;height:auto;padding:0}.hero-identity h1{font-size:clamp(60px,12vw,104px)}.hero-identity p{max-width:650px}.hero-heading .hero-links{grid-column:2;grid-row:1;align-self:end;justify-self:end;min-width:118px;min-height:0;height:auto;padding:0}.hero-games{grid-column:1;grid-row:3}.hero-foot{grid-column:1;grid-row:4}.hero-portrait{width:100%;height:min(82vw,540px);aspect-ratio:auto;margin:28px 0 0}.hero-portrait img{transform:scale(1)}}
@media(max-width:560px){.hero-heading{grid-template-columns:1fr;grid-template-rows:auto auto;row-gap:0;padding:42px 18px 30px}.hero-identity{grid-column:1;grid-row:1}.hero-identity h1{font-size:14.5vw;line-height:.82}.hero-identity p{margin-top:22px;font-size:12px}.hero-heading .hero-links{grid-column:1;grid-row:2;width:100%;margin-top:28px;justify-items:end}}

/* Games use the same content edges as the articles section */
.hero-games{width:auto;min-width:0;max-width:100%;margin:0;justify-self:stretch}
.hero-games .section-bar,.hero-games .featured-games-grid{width:100%;min-width:0;max-width:100%;margin-left:0;margin-right:0}
