.dhp-experience,.dhp-experience *{box-sizing:border-box}.dhp-experience{--dhp-ink:#fff0c8;--dhp-muted:#cbb58a;--dhp-gold:#f1bd56;--dhp-bright:#ffe293;--dhp-line:#eebe5c59;--dhp-panel:#26160ded;--dhp-ease:cubic-bezier(.22, 1, .36, 1);--dhp-structural:.72s;--dragon-hoard-phone-safe-area:0px;isolation:isolate;width:100%;min-width:0;height:100%;min-height:0;color:var(--dhp-ink);touch-action:manipulation;background:radial-gradient(circle at 50% 34%,#974a183d,#0000 38%),linear-gradient(#21130c 0%,#120b07 61%,#1d1008 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow:hidden;container-type:size}.dhp-experience img{-webkit-user-select:none;user-select:none;max-width:100%;display:block}.dhp-sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.dhp-atmosphere,.dhp-atmosphere>*{pointer-events:none;position:absolute}.dhp-atmosphere{z-index:-1;inset:0;overflow:hidden}.dhp-dragon-engraving{object-fit:cover;object-position:center 38%;opacity:.14;filter:saturate(.7)sepia(.15)contrast(1.08);width:136%;height:112%;transition:opacity var(--dhp-structural) ease, transform var(--dhp-structural) var(--dhp-ease);top:-5%;left:-18%;-webkit-mask-image:linear-gradient(#000 0%,#000c 58%,#0000 96%);mask-image:linear-gradient(#000 0%,#000c 58%,#0000 96%)}.dhp-experience[data-scene="0"] .dhp-dragon-engraving{opacity:.42;transform:scale(1.04)}.dhp-wall{object-fit:fill;opacity:.58;filter:brightness(.62)saturate(.82);width:29%;height:100%;top:0}.dhp-wall--left{left:-10%}.dhp-wall--right{right:-10%}.dhp-ceiling{object-fit:fill;opacity:.8;filter:brightness(.58);width:116%;height:11%;top:-1%;left:-8%}.dhp-rubble{object-fit:fill;opacity:.72;filter:brightness(.62);width:116%;height:9%;bottom:-1%;left:-8%}.dhp-torch{opacity:.72;filter:drop-shadow(0 0 8cqw #ff771c59);width:29%;animation:2.6s ease-in-out infinite alternate dhp-torch;top:22%}.dhp-torch--left{left:-11%}.dhp-torch--right{animation-delay:-1s;right:-11%;transform:scaleX(-1)}.dhp-embers{object-fit:fill;opacity:.13;mix-blend-mode:screen;width:92%;height:48%;animation:5.6s ease-in-out infinite alternate dhp-embers;bottom:6%;left:4%}.dhp-vignette{background:radial-gradient(#0000 32%,#030201b3 108%);inset:0}.dhp-dust{inset:0}.dhp-dust span{--dust-index:0;left:calc(8% + var(--dust-index) * 10.5%);bottom:calc(9% + var(--dust-index) * 2.8%);aspect-ratio:1;opacity:0;width:max(1px,.65cqw);animation:dhp-dust calc(4.4s + var(--dust-index) * .18s) linear infinite;animation-delay:calc(var(--dust-index) * -430ms);background:#ffc466;border-radius:50%;box-shadow:0 0 1.8cqw #ff9930bf}.dhp-hud{z-index:30;border-bottom:1px solid var(--dhp-line);background:linear-gradient(#0d0805fa,#1e110aed);height:12.3%;padding:max(2.2cqh,8px) 4.5cqw 1.5cqh;position:absolute;top:0;left:0;right:0;box-shadow:0 1.4cqh 3cqh #0000003d}.dhp-hud-row{color:#a88b5d;letter-spacing:.12em;justify-content:space-between;font-size:clamp(7px,2.2cqw,10px);font-weight:820;display:flex}.dhp-hud-main{grid-template-columns:10cqw 1fr 12cqw;align-items:end;gap:3cqw;margin-top:1.25cqh;display:grid}.dhp-heart{color:#e26945;grid-template-columns:auto auto;align-items:center;gap:1.5cqw;font-size:4.2cqw;display:grid}.dhp-heart b{color:#f1d7a1;font-family:Georgia,serif;font-size:3.8cqw}.dhp-score{grid-template-columns:auto 1fr;align-items:baseline;gap:2cqw;display:grid}.dhp-score>span,.dhp-moves small{color:#a98e64;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(6px,1.9cqw,9px);font-weight:780}.dhp-score strong{color:#ffdda0;text-align:right;font-family:Georgia,serif;font-size:clamp(14px,4.3cqw,20px)}.dhp-score strong small{color:#927b5b;font-size:.56em}.dhp-score i{background:#ffdd961f;border-radius:99px;grid-column:1/-1;height:max(3px,.45cqh);display:block;overflow:hidden}.dhp-score i b{border-radius:inherit;height:100%;transition:width .42s var(--dhp-ease);background:linear-gradient(90deg,#d87b33,#f1bd56);display:block;box-shadow:0 0 2cqw #efaa4680}.dhp-moves{justify-items:end;display:grid}.dhp-moves b{color:#f1dfb5;font-family:Georgia,serif;font-size:clamp(15px,5cqw,22px)}.dhp-board-wrap{z-index:9;aspect-ratio:1/1.07;opacity:.52;transform-origin:50%;width:84%;transition:left var(--dhp-structural) var(--dhp-ease), top var(--dhp-structural) var(--dhp-ease), width var(--dhp-structural) var(--dhp-ease), opacity .32s ease, transform var(--dhp-structural) var(--dhp-ease), filter .32s ease;position:absolute;top:49%;left:8%;transform:scale(.92)}.dhp-experience[data-scene="1"] .dhp-board-wrap{opacity:1;width:92%;top:19.5%;left:4%;transform:scale(1)}.dhp-experience[data-scene="2"] .dhp-board-wrap{opacity:.34;filter:saturate(.72)brightness(.72);width:86%;top:21%;left:7%;transform:scale(.97)}.dhp-experience[data-scene="3"] .dhp-board-wrap{opacity:.12;filter:saturate(.65)brightness(.58);width:60%;top:14%;left:20%;transform:scale(.88)}.dhp-experience[data-scene="4"] .dhp-board-wrap{opacity:.09;filter:saturate(.5)brightness(.5);width:40%;top:13%;left:30%;transform:scale(.76)}.dhp-board{--tile-gap:.75cqw;aspect-ratio:1;background:repeating-linear-gradient(0deg,#0000 0 calc(12.5% - 1px),#ffdc9709 calc(12.5% - 1px) 12.5%),repeating-linear-gradient(90deg,#0000 0 calc(12.5% - 1px),#ffdc9709 calc(12.5% - 1px) 12.5%),radial-gradient(circle,#3b291c,#170f0b 78%);border:1.1cqw ridge #8d622c;border-radius:4.8cqw;width:100%;padding:2.2cqw;position:relative;overflow:hidden;box-shadow:inset 0 0 0 .9cqw #130a05db,inset 0 0 6cqw #000000ad,0 2.2cqh 5cqh #00000073}.dhp-tile{--tile-x:0;--tile-y:0;--tile-index:0;--tile-shift-x:0;--tile-shift-y:0;width:calc((100% - 4.4cqw - 7 * var(--tile-gap)) / 8);aspect-ratio:1;transform:translate3d(calc(var(--tile-x) * (100% + var(--tile-gap)) + var(--tile-shift-x) * (100% + var(--tile-gap))), calc(var(--tile-y) * (100% + var(--tile-gap)) + var(--tile-shift-y) * (100% + var(--tile-gap))), 0);transition:transform .19s var(--dhp-ease), opacity .15s ease, filter .15s ease;animation:dhp-tile-idle calc(3.1s + (var(--tile-index) % 5) * .18s) ease-in-out infinite alternate;animation-delay:calc(var(--tile-index) * -47ms);position:absolute;top:2.2cqw;left:2.2cqw}.dhp-tile-well{background:linear-gradient(145deg,#6c482452,#160d09e6);border:1px solid #eeca7d21;border-radius:20%;place-items:center;width:100%;height:100%;display:grid;position:relative;box-shadow:inset 0 1px #ffe4a914,inset 0 -.8cqw 1.2cqw #00000059}.dhp-tile img{z-index:2;object-fit:contain;filter:drop-shadow(0 .5cqw .6cqw #000000b3);width:91%;height:91%;position:relative}.dhp-tile-well i{z-index:1;border:1px solid #fff6d326;position:absolute;inset:20%}.dhp-tile[data-type=fire] i{clip-path:polygon(50% 0,100% 100%,0 100%)}.dhp-tile[data-type=storm] i,.dhp-tile[data-type=frost] i,.dhp-tile[data-type=egg] i{border-radius:50%}.dhp-tile[data-type=venom] i{clip-path:polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%)}.dhp-tile[data-type=shadow] i{transform:rotate(45deg)}.dhp-tile[data-type=gold] i{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%)}[data-puzzle-phase=hint] .dhp-tile[data-role=swap-storm],[data-puzzle-phase=hint] .dhp-tile[data-role=swap-fire]{filter:brightness(1.45)drop-shadow(0 0 2.4cqw #ffc44fe0)}[data-puzzle-phase=swap] .dhp-tile[data-role=swap-storm],[data-puzzle-phase=clear] .dhp-tile[data-role=swap-storm],[data-puzzle-phase=fall] .dhp-tile[data-role=swap-storm],[data-puzzle-phase=settled] .dhp-tile[data-role=swap-storm]{--tile-shift-x:1}[data-puzzle-phase=swap] .dhp-tile[data-role=swap-fire],[data-puzzle-phase=clear] .dhp-tile[data-role=swap-fire],[data-puzzle-phase=fall] .dhp-tile[data-role=swap-fire],[data-puzzle-phase=settled] .dhp-tile[data-role=swap-fire]{--tile-shift-x:-1}[data-puzzle-phase=clear] .dhp-tile[data-role=match-fire],[data-puzzle-phase=clear] .dhp-tile[data-role=swap-fire]{opacity:0;filter:brightness(2)drop-shadow(0 0 4cqw #ff9e3d)}[data-puzzle-phase=fall] .dhp-tile[data-role=match-fire],[data-puzzle-phase=fall] .dhp-tile[data-role=swap-fire]{animation:dhp-new-tile .21s var(--dhp-ease) both}.dhp-swipe,.dhp-match-ring,.dhp-score-pop,.dhp-chain{z-index:15;opacity:0;pointer-events:none;transition:opacity .13s ease, transform .18s var(--dhp-ease);position:absolute}.dhp-swipe{color:#fff0bd;text-shadow:0 0 2cqw #ff9d38;font-size:7cqw;font-weight:900;animation:.44s ease-in-out infinite alternate dhp-swipe;top:28.7%;left:44%;transform:translate(-50%)}[data-puzzle-phase=hint] .dhp-swipe{opacity:1}.dhp-match-ring{border:.7cqw solid #ffe2a1;border-radius:2.4cqw;width:27.5%;height:10.5%;top:26.2%;left:14.4%;box-shadow:0 0 4cqw #ff7221bf,inset 0 0 3cqw #ff5f1633}[data-puzzle-phase=swap] .dhp-match-ring,[data-puzzle-phase=clear] .dhp-match-ring{opacity:1}.dhp-score-pop{color:#ffe390;text-shadow:0 .8cqw 1.2cqw #3a1606,0 0 2.2cqw #e4782d;font-family:Georgia,serif;font-size:6.5cqw;font-weight:900;top:31%;left:28%;transform:translateY(2cqh)scale(.9)}[data-puzzle-phase=clear] .dhp-score-pop,[data-puzzle-phase=fall] .dhp-score-pop{opacity:1;transform:translateY(0)scale(1)}.dhp-chain{color:#ffe096;letter-spacing:.12em;background:#412310ed;border:1px solid #ffe09ab8;border-radius:99px;padding:.7cqh 2.4cqw;font-size:2.6cqw;font-weight:900;top:48%;left:50%;transform:translate(-50%,1.2cqh)}[data-puzzle-phase=fall] .dhp-chain,[data-puzzle-phase=settled] .dhp-chain{opacity:1;transform:translate(-50%)}[data-egg-phase=crack] .dhp-tile[data-role=egg],[data-egg-phase=open] .dhp-tile[data-role=egg]{animation:dhp-egg-crack .26s var(--dhp-ease);filter:brightness(1.3)drop-shadow(0 0 2.8cqw #ffc04cbf)}[data-egg-phase=hatched] .dhp-tile[data-role=egg]{filter:brightness(1.2)drop-shadow(0 0 3cqw #4ab5ffbf)}.dhp-board-footer{color:#a68d63;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;padding:1.2cqh 1.5cqw 0;font-size:clamp(6px,1.9cqw,9px);font-weight:790;display:flex}.dhp-scene-layer,.dhp-scene{position:absolute;inset:0}.dhp-scene-layer{z-index:20;pointer-events:none}.dhp-scene{opacity:0;visibility:hidden;transition:opacity .18s ease, transform var(--dhp-structural) var(--dhp-ease), visibility 0s linear var(--dhp-structural);transform:translateY(2cqh)scale(.985)}.dhp-experience[data-scene="0"] [data-phone-scene="0"],.dhp-experience[data-scene="1"] [data-phone-scene="1"],.dhp-experience[data-scene="2"] [data-phone-scene="2"],.dhp-experience[data-scene="3"] [data-phone-scene="3"],.dhp-experience[data-scene="4"] [data-phone-scene="4"]{opacity:1;visibility:visible;transition:opacity .2s 80ms ease, transform var(--dhp-structural) var(--dhp-ease), visibility 0s;transform:translateY(0)scale(1)}.dhp-scene--start{text-align:center;padding:15cqh 8cqw 0}.dhp-scene--start>p{color:var(--dhp-gold);letter-spacing:.18em;text-transform:uppercase;margin:0 0 1.5cqh;font-size:clamp(8px,2.7cqw,12px);font-weight:850}.dhp-scene--start h1{color:#fff1c9;letter-spacing:-.035em;text-transform:uppercase;text-shadow:0 1.4cqh 3cqh #000000a3;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,14cqw,62px);line-height:.78}.dhp-scene--start h1 span{color:#ffda7d;font-size:.9em}.dhp-start-egg{color:#cbb58b;justify-items:center;gap:.7cqh;margin-top:2.8cqh;font-family:Georgia,serif;font-size:clamp(8px,2.4cqw,11px);display:grid}.dhp-start-egg img{filter:drop-shadow(0 0 3cqw #ffbf426b);width:19cqw;animation:2.2s ease-in-out infinite dhp-egg-breathe}.dhp-run-seed{color:#8e7654;letter-spacing:.08em;justify-content:center;gap:2cqw;margin-top:1.3cqh;font-size:clamp(6px,1.9cqw,9px);display:flex}.dhp-run-seed strong{color:#c6a56d}.dhp-objective{background:#24150ceb;border:1px solid #efc05f57;border-radius:2.6cqw;grid-template-columns:auto 1fr auto;align-items:center;gap:2cqw;min-height:4.8cqh;padding:.8cqh 3cqw;display:grid;position:absolute;top:13.6%;left:5%;right:5%;box-shadow:0 .8cqh 2cqh #0000003d}.dhp-objective>span{color:#a78e66;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(6px,1.9cqw,9px);font-weight:820}.dhp-objective strong{color:#eed7a6;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,serif;font-size:clamp(9px,2.8cqw,13px);overflow:hidden}.dhp-objective i{aspect-ratio:1;color:#e5ab51;border:1px solid #be8741;border-radius:50%;place-items:center;width:5.5cqw;font-size:2.3cqw;font-style:normal;display:grid}.dhp-objective i[data-complete=true]{color:#9bd69d;border-color:#6fba77}.dhp-puzzle-legend{grid-template-columns:repeat(4,1fr);gap:1.3cqw;display:grid;position:absolute;top:65.5%;left:5%;right:5%}.dhp-puzzle-legend span{color:#78664e;letter-spacing:.08em;text-align:center;background:#1d110abd;border:1px solid #e5b6592e;border-radius:99px;padding:.75cqh .4cqw;font-size:clamp(6px,1.75cqw,8px);font-weight:850;transition:color .16s,border-color .16s,background .16s}.dhp-puzzle-legend span[data-active=true]{color:#ffe0a1;background:#663b17e0;border-color:#f6c767a8}.dhp-stage-clear{background:#3e2410e6;border:1px solid #ebbc5b80;border-radius:99px;justify-content:space-between;align-items:center;padding:1cqh 3cqw;display:flex;position:absolute;top:15.2%;left:12%;right:12%;box-shadow:0 0 4cqw #e08e311f}.dhp-stage-clear span{color:#ffd981;letter-spacing:.12em;font-size:clamp(7px,2.2cqw,10px);font-weight:900}.dhp-stage-clear strong{color:#c7b082;font-family:Georgia,serif;font-size:clamp(7px,2.2cqw,10px)}.dhp-reward-focus{text-align:center;justify-items:center;display:grid;position:absolute;top:25%;left:15%;right:15%}.dhp-reward-focus>img{z-index:2;filter:drop-shadow(0 0 5cqw #ffbb3fa6);width:38cqw;transition:filter .26s ease, transform .26s var(--dhp-ease);position:relative}.dhp-reward-focus[data-phase=crack]>img{animation:dhp-egg-crack .26s var(--dhp-ease)}.dhp-reward-focus[data-phase=open]>img,.dhp-reward-focus[data-phase=hatched]>img{filter:drop-shadow(0 0 6cqw #46b4ffb8);transform:scale(1.06)}.dhp-reward-rays{aspect-ratio:1;background:repeating-conic-gradient(from 8deg, #ffd27126 0 8deg, transparent 8deg 22deg);border-radius:50%;width:52cqw;animation:12s linear infinite dhp-rays;position:absolute;top:17cqw;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 68%);mask-image:radial-gradient(circle,#000 0%,#0000 68%)}.dhp-reward-focus>p{color:#ffd675;letter-spacing:.15em;margin:1.1cqh 0 .3cqh;font-size:clamp(8px,2.8cqw,13px);font-weight:900}.dhp-reward-focus>strong{color:#e9d3a3;font-family:Georgia,serif;font-size:clamp(12px,4cqw,18px)}.dhp-reward-ledger{background:#eebc591f;border:1px solid #ebbc5b47;border-radius:2.8cqw;grid-template-columns:repeat(3,1fr);display:grid;position:absolute;top:66%;left:6%;right:6%;overflow:hidden}.dhp-reward-ledger>span{text-align:center;background:#23140ced;gap:.3cqh;padding:1.2cqh 1cqw;display:grid}.dhp-reward-ledger>span+span{border-left:1px solid #ecbc5b2e}.dhp-reward-ledger small{color:#947c59;text-transform:uppercase;font-size:clamp(6px,1.8cqw,8px)}.dhp-reward-ledger strong{color:#f0d59a;font-family:Georgia,serif;font-size:clamp(9px,2.8cqw,13px)}.dhp-scene--shop,.dhp-scene--map{padding:14cqh 5cqw 12cqh}.dhp-scene--shop>header,.dhp-scene--map>header{border-bottom:1px solid #edbe5f47;gap:.4cqh;padding:0 1cqw 1.3cqh;display:grid}.dhp-scene--shop>header span,.dhp-scene--map>header span{color:#e6ad50;letter-spacing:.14em;font-size:clamp(7px,2.2cqw,10px);font-weight:900}.dhp-scene--shop>header strong,.dhp-scene--map>header strong{color:#f5dfb0;font-family:Georgia,serif;font-size:clamp(15px,4.7cqw,21px)}.dhp-shop-cards{gap:1.4cqh;margin-top:1.7cqh;display:grid}.dhp-shop-card{opacity:.64;min-height:18.5cqh;transition:opacity .22s ease, transform .32s var(--dhp-ease), border-color .22s ease, box-shadow .22s ease;background:linear-gradient(110deg,#412715f0,#1c110bf2);border:1px solid #e5b75b38;border-radius:3.4cqw;grid-template-columns:24cqw 1fr;gap:3cqw;padding:1.5cqh 2.5cqw;display:grid;position:relative;box-shadow:0 1.1cqh 2.4cqh #0000004d}.dhp-shop-card--selected{opacity:1;border-color:#ffd26fb8;transform:translate(1.5cqw);box-shadow:0 0 0 .7cqw #e6a33f1f,0 1.2cqh 2.6cqh #0000005c}.dhp-shop-card--selected[data-selected=true]{border-color:#8ecb91;transform:translate(0)scale(.98);box-shadow:0 0 0 .7cqw #67b86c24,0 1.2cqh 2.6cqh #0000005c}.dhp-card-art{background:#a88249;border-radius:2.1cqw;height:15.4cqh;overflow:hidden}.dhp-card-art img{object-fit:cover;object-position:center top;width:100%;height:100%}.dhp-shop-card>div:nth-child(2){min-width:0}.dhp-shop-card>div:nth-child(2)>span{color:#a98959;letter-spacing:.08em;font-size:clamp(6px,1.8cqw,8px);font-weight:820}.dhp-shop-card h2{color:#f8dda1;margin:.4cqh 0;font-family:Georgia,serif;font-size:clamp(16px,5cqw,22px);line-height:1}.dhp-shop-card p{color:#bda77d;margin:0;font-size:clamp(7px,2.15cqw,10px);line-height:1.35}.dhp-price{color:#e8b75f;background:#dd9b3924;border-radius:99px;width:fit-content;margin-top:.8cqh;padding:.4cqh 1.5cqw;font-size:clamp(7px,2cqw,9px);display:block}.dhp-shop-card>i{color:#2a1709;letter-spacing:.06em;background:#d89438;border-radius:99px;padding:.35cqh 1.3cqw;font-size:clamp(6px,1.7cqw,8px);font-style:normal;font-weight:900;position:absolute;top:1cqh;right:2.3cqw}.dhp-shop-card[data-selected=true]>i{color:#102714;background:#7db781}.dhp-build-dock{border-top:1px solid #ecbc5b33;gap:2cqw;margin-top:1.8cqh;padding-top:1.4cqh;display:flex}.dhp-build-dock span{color:#c5ac7f;background:#1d110ad9;border:1px solid #e8ba5e3d;border-radius:99px;align-items:center;gap:1.5cqw;padding:.6cqh 2cqw;font-size:clamp(6px,1.8cqw,8px);display:flex}.dhp-build-dock span img{object-fit:cover;border-radius:50%;width:7cqw;height:7cqw}.dhp-build-dock span:last-child{opacity:0;transition:opacity .22s ease, transform .42s var(--dhp-ease);transform:translateY(2cqh)}.dhp-build-dock[data-selected=true] span:last-child{opacity:1;transform:translateY(0)}.dhp-map-path{gap:1.6cqh;margin:2cqh 0 0;padding:0 0 0 3cqw;list-style:none;display:grid;position:relative}.dhp-map-path:before{content:"";background:linear-gradient(#e2a44c,#6ab6d5 52%,#8b5bc7);width:2px;position:absolute;top:7cqw;bottom:7cqw;left:12.4cqw;box-shadow:0 0 2.2cqw #e4a54b66}.dhp-map-path li{background:#23150de6;border:1px solid #e6b75b3d;border-radius:3.3cqw;grid-template-columns:18cqw 1fr 7cqw;align-items:center;gap:3cqw;min-height:12.5cqh;padding:1.2cqh 2.5cqw 1.2cqh 1cqw;display:grid;position:relative}.dhp-map-path li[data-state=next]{border-color:#64b5daa8;box-shadow:0 0 4cqw #47a3ca24}.dhp-map-path li[data-state=future]{opacity:.72}.dhp-map-path img{z-index:2;filter:drop-shadow(0 1cqw 1.4cqw #0000008c);width:17cqw;position:relative}.dhp-map-path li>div{gap:.25cqh;display:grid}.dhp-map-path li>div span{color:#a78a5d;letter-spacing:.08em;font-size:clamp(6px,1.8cqw,8px);font-weight:850}.dhp-map-path li>div strong{color:#edd4a0;font-family:Georgia,serif;font-size:clamp(13px,4cqw,18px)}.dhp-map-path li>div small{color:#9d8765;font-size:clamp(6px,1.9cqw,9px)}.dhp-map-path li>i{aspect-ratio:1;color:#e8b55d;border:1px solid #a88348;border-radius:50%;place-items:center;width:7cqw;font-style:normal;font-weight:900;display:grid}.dhp-map-path li[data-state=complete]>i{color:#8fd095;border-color:#73b77a}.dhp-map-path li[data-state=next]>i{color:#82d2f2;border-color:#65b5d8}.dhp-run-summary{background:#1d110ae0;border:1px solid #edbe5f45;border-radius:3cqw;grid-template-columns:auto 1fr 1fr;gap:1.6cqw;margin-top:2.1cqh;padding:1.4cqh 2cqw;display:grid}.dhp-run-summary>span{color:#a88a58;letter-spacing:.1em;align-self:center;font-size:clamp(6px,1.8cqw,8px);font-weight:900}.dhp-run-summary>div{grid-template-columns:8cqw 1fr;align-items:center;column-gap:1.4cqw;display:grid}.dhp-run-summary>div img{object-fit:cover;border-radius:50%;grid-row:1/3;width:8cqw;height:8cqw}.dhp-run-summary>div strong{color:#d9c08f;font-size:clamp(6px,1.8cqw,8px)}.dhp-run-summary>div small{color:#7fc287;font-size:clamp(6px,1.6cqw,7px)}.dhp-run-summary>p{color:#a88f67;border-top:1px solid #ebbc5b2e;grid-column:1/-1;justify-content:space-between;margin:.6cqh 0 0;padding-top:1cqh;font-size:clamp(7px,2cqw,9px);display:flex}.dhp-run-summary>p strong{color:#eed49b}.dhp-prompt{z-index:40;left:6%;right:6%;bottom:calc(2.2% + var(--dragon-hoard-phone-safe-area));color:#ffe6ab;text-align:center;background:linear-gradient(#593416f0,#2d1a0ef7);border:1px solid #f7cc7375;border-radius:99px;justify-content:center;align-items:center;gap:2cqw;min-height:5.2cqh;padding:.8cqh 3cqw;font-size:clamp(8px,2.6cqw,12px);font-weight:820;transition:opacity .18s,border-color .18s;display:flex;position:absolute;box-shadow:inset 0 1px #ffe7b21f,0 1cqh 2.4cqh #00000061}.dhp-prompt i{color:#e9b85d;font-family:Georgia,serif;font-size:4.4cqw;font-style:normal}.dhp-prompt[data-busy=true]{opacity:.68;border-color:#f2be5738}.dhp-experience[data-active=false]{filter:saturate(.78)}.dhp-experience[data-active=false] *{animation-play-state:paused!important}@keyframes dhp-torch{0%{opacity:.58;filter:drop-shadow(0 0 2.5cqw #ff721a5c)brightness(.9)}to{opacity:.78;filter:drop-shadow(0 0 4.5cqw #ff851d9e)brightness(1.08)}}@keyframes dhp-embers{0%{opacity:.08;transform:translateY(2%)}to{opacity:.16;transform:translateY(-3%)}}@keyframes dhp-dust{0%{opacity:0;transform:translateY(1cqh)scale(.6)}14%{opacity:.58}80%{opacity:.3}to{opacity:0;transform:translate(4cqw,-30cqh)scale(1)}}@keyframes dhp-tile-idle{0%{margin-top:0}to{margin-top:-.2cqh}}@keyframes dhp-new-tile{0%{opacity:0;margin-top:-5cqw}to{opacity:1;margin-top:0}}@keyframes dhp-swipe{0%{transform:translate(-60%)}to{transform:translate(-30%)}}@keyframes dhp-egg-crack{0%{transform:scale(1)rotate(0)}30%{transform:scale(.94)rotate(-4deg)}62%{transform:scale(1.05)rotate(3deg)}to{transform:scale(1)rotate(0)}}@keyframes dhp-egg-breathe{0%,to{transform:scale(.96)rotate(-1deg)}50%{transform:scale(1.04)rotate(1deg)}}@keyframes dhp-rays{to{transform:translate(-50%,-50%)rotate(360deg)}}.dhp-experience[data-reduced-motion=true] *,.dhp-experience[data-reduced-motion=true] :before,.dhp-experience[data-reduced-motion=true] :after{transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){.dhp-experience *,.dhp-experience :before,.dhp-experience :after{transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0}body{color:var(--ink);font-family:var(--font-geist-mono), ui-monospace, monospace;background:#251d20;overflow:hidden auto}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #fff2a5}.skip-link{z-index:100;color:#fff;background:#241b18;padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:none}.portfolio-page{min-height:100%;color:var(--ink);background:linear-gradient(90deg,#ffffff05 1px,#0000 1px) 0 0/34px 34px,linear-gradient(#ffffff05 1px,#0000 1px) 0 0/34px 34px,#251f24;position:relative}.retro-room{isolation:isolate;background:linear-gradient(#0000 0 70%,#4a281738 70% 71%,#0000 71%),#c77b4c;place-items:center;width:100vw;height:100svh;display:grid;position:relative;overflow:hidden}.wallpaper{z-index:-5;background:linear-gradient(90deg,#0000 48%,#67392621 49% 51%,#0000 52%) 0 0/92px 100%,radial-gradient(at 50% 105%,#ffe0974d,#0000 58%),#c8794a;position:absolute;inset:0 0 29%}.wallpaper:after{content:"";opacity:.2;background-image:radial-gradient(circle at 8px 8px,#713c2e 1px,#0000 1.5px),radial-gradient(circle at 24px 24px,#e9ad65 1px,#0000 1.5px);background-size:32px 32px;position:absolute;inset:0}.floor{z-index:-4;background:repeating-linear-gradient(92deg,#0000 0 88px,#2c150d42 89px 92px),repeating-linear-gradient(#81502f 0 25px,#704127 26px 51px);border-top:8px solid #573020;position:absolute;inset:71% 0 0;overflow:hidden;box-shadow:inset 0 14px 20px #27120b42}.floor i{background:repeating-radial-gradient(#0000 0 16px,#26382729 17px 25px),#8e3f32;border:9px solid #d29a47;border-radius:50%;width:min(77vw,1080px);height:85%;position:absolute;bottom:-22%;left:50%;transform:translate(-50%);box-shadow:0 16px 30px #20100a52}.room-scene{z-index:5;aspect-ratio:1.34;width:min(94vw,1060px,134svh - 64.32px);position:relative}.room-intro{z-index:7;color:#ebbd6e;letter-spacing:.12em;text-align:center;text-shadow:1px 1px #3b2117;margin:0;font-size:clamp(6px,.62vw,10px);font-weight:900;position:absolute;bottom:1.8%;left:0;right:0}.room-lamp,.wall-frame,.window-scene{z-index:-1;position:absolute}.room-lamp{width:clamp(54px,7vw,110px);height:49%;top:14%;left:3.2%}.room-lamp i{z-index:2;aspect-ratio:1.35;clip-path:polygon(23% 0,77% 0,100% 100%,0 100%);background:#e5aa4d;border:4px solid #5a3122;width:100%;position:absolute;box-shadow:inset 0 -12px #7b451e29}.room-lamp span{background:#503023;width:7%;height:66%;position:absolute;top:18%;left:47%}.room-lamp b{background:#503023;border-radius:50%;width:60%;height:7%;position:absolute;bottom:0;left:20%}.wall-frame{background:#e7ca8d;border:8px solid #5c3424;place-items:center;display:grid;top:9%;box-shadow:7px 8px #4e27192e,inset 0 0 0 4px #b88148}.wall-frame--left{aspect-ratio:.82;width:clamp(70px,8vw,130px);left:14%}.wall-frame--left span{font:900 clamp(18px, 3vw, 44px) / 1 var(--font-geist-sans), sans-serif;color:#a5442f}.wall-frame--left i{background:#647a49;border-radius:50%;width:12px;height:12px;position:absolute}.wall-frame--left i:first-of-type{top:16%;left:18%}.wall-frame--left i:last-of-type{bottom:18%;right:17%}.wall-frame--right{aspect-ratio:1.22;width:clamp(84px,10vw,158px);right:12%;transform:rotate(1.5deg)}.wall-frame--right span{color:#6d7a45;letter-spacing:.18em;font-size:clamp(9px,1.3vw,19px);font-weight:900;line-height:1.25}.window-scene{aspect-ratio:.8;background:linear-gradient(#587b72 0 58%,#e4a34f 59% 70%,#4e6c46 71%);border:7px solid #583224;width:clamp(70px,9vw,145px);top:17%;right:-2%;overflow:hidden;box-shadow:inset 0 0 0 4px #e3c586,6px 8px #431f1429}.window-scene:after,.window-scene:before{content:"";z-index:3;background:#583224;position:absolute}.window-scene:before{width:5%;top:0;bottom:0;left:48%}.window-scene:after{height:5%;top:47%;left:0;right:0}.window-scene i{aspect-ratio:1;background:#f4d383;border-radius:50%;width:18%;position:absolute;top:16%;right:15%}.window-scene span{clip-path:polygon(50% 0,100% 100%,0 100%);background:#314b39;width:55%;height:30%;position:absolute;bottom:14%;left:5%}.window-scene b{clip-path:polygon(50% 0,100% 100%,0 100%);background:#38523b;width:62%;height:40%;position:absolute;bottom:14%;right:0}.television-wrap{z-index:4;width:82%;position:absolute;top:2.5%;left:9%}.tv-antenna{z-index:-1;width:28%;height:13%;position:absolute;top:-11%;left:50%;transform:translate(-50%)}.tv-antenna i{transform-origin:bottom;background:#2f2924;border-radius:3px;width:4px;height:110%;position:absolute;bottom:0;left:48%}.tv-antenna i:first-child{transform:rotate(-52deg)}.tv-antenna i:nth-child(2){transform:rotate(52deg)}.tv-antenna b{background:#3b3029;border-radius:50%;width:22%;height:28%;position:absolute;bottom:-9%;left:39%}.television{aspect-ratio:1.53;width:100%;box-shadow:inset 0 0 0 4px #a66b3c, inset 0 -16px 25px #26110a6b, 0 16px 0 #2c1912, 0 26px 28px var(--shadow);background:repeating-linear-gradient(8deg,#ffffff06 0 2px,#00000009 3px 5px),linear-gradient(120deg,#8e5431,#5d3424 65%,#754329);border:min(1.1vw,12px) solid #3a2117;border-radius:8.5% 8.5% 6% 6%/8% 8% 5% 5%;grid-template-columns:1fr 14.5%;gap:2.1%;padding:3.4%;display:grid;position:relative;overflow:hidden}.tv-corner{z-index:8;background:radial-gradient(circle at 35% 30%,#b48a5d 0 15%,#2e2019 22% 58%,#160f0c 60%);border-radius:50%;width:7px;height:7px;position:absolute}.tv-corner--tl{top:3%;left:3%}.tv-corner--tr{top:3%;right:3%}.tv-corner--bl{bottom:3%;left:3%}.tv-corner--br{bottom:3%;right:3%}.tv-bezel{background:#211d19;border-radius:9%/11%;min-width:0;height:100%;padding:2.2%;box-shadow:inset 0 0 0 4px #4b4137,3px 2px #160f0d}.tv-screen{width:100%;height:100%;color:var(--screen-paper);background:radial-gradient(#354f3de6,#101d18f5 67%,#09110e 100%);border:3px solid #0d120f;border-radius:8%/10%;outline:none;position:relative;overflow:hidden;box-shadow:inset 0 0 35px #020806,0 0 10px #8fb56d2e}.tv-statusbar{z-index:8;color:#d8d29e;letter-spacing:.15em;background:#060f0cad;border-bottom:1px solid #e7deae3d;grid-template-columns:22% 1fr 22%;align-items:center;width:100%;height:7.8%;padding:0 4.2%;font-size:clamp(5px,.62vw,9px);display:grid;position:absolute;top:0;left:0}.tv-statusbar b{text-align:center;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tv-statusbar i{text-align:right;font-style:normal}.tv-content{font-size:clamp(6px,.68vw,10px);position:absolute;inset:7.8% 0 0}.channel-view{visibility:hidden;opacity:0;transform-origin:50%;position:absolute;inset:0;transform:scaleY(.02)}.channel-view.is-active{z-index:2;visibility:visible;opacity:1;animation:.34s steps(5,end) both channel-tune;transform:none}@keyframes channel-tune{0%{opacity:0;filter:brightness(3);transform:scaleY(.02)}30%{opacity:1;transform:scaleY(.02)}55%{filter:brightness(1.8);transform:scaleY(.75)}to{filter:none;transform:none}}.tv-panel{padding:4.1% 5.2% 5%;position:absolute;inset:0}.screen-heading{border-bottom:2px solid #e5dba985;justify-content:space-between;align-items:flex-end;height:14%;padding-bottom:1.7%;display:flex}.screen-heading span,.broadcast-kicker,.project-feature__copy>p,.project-file article>span,.profile-main>p:first-child,.career-layout article>p,.inventory-pages article p{color:#d5aa4d;letter-spacing:.18em;font-size:.78em;font-weight:800}.screen-heading h1,.screen-heading h2{font:900 2.25em/.9 var(--font-geist-sans), sans-serif;text-transform:uppercase;letter-spacing:-.04em;margin:.3em 0 0}.screen-heading>p{color:#9cb77b;margin:0;font-size:.8em;font-weight:800}.screen-prompt{color:#b1af8f;letter-spacing:.08em;justify-content:space-between;align-items:center;margin:0;font-size:.72em;font-weight:700;display:flex;position:absolute;bottom:2.7%;left:5.2%;right:5.2%}.screen-prompt kbd,.control-guide button{color:#f1e7b9;min-width:1.7em;height:1.7em;font:inherit;background:#8e3e31;border:1px solid #d7d19f;border-radius:50%;place-items:center;margin-right:.35em;display:inline-grid}.screen-prompt span kbd{margin-left:.8em}.home-screen{grid-template-columns:35% 1fr;align-items:center;gap:4%;padding-top:6%;display:grid}.home-copy{border-right:2px solid #e5dba961}.home-copy h1{color:#efe4b9;font:950 4.4em/.78 var(--font-geist-sans), sans-serif;letter-spacing:-.08em;text-shadow:.07em .07em #a04332;margin:.12em 0}.home-copy>p:last-child{color:#b7c692;max-width:90%;margin:1.2em 0 0;font-size:1.05em;line-height:1.4}.channel-menu{grid-template-columns:repeat(2,1fr);gap:.85em;display:grid}.channel-menu button{color:#c9c7a3;text-align:left;cursor:pointer;background:#040d0a61;border:1px solid #ded8a959;grid-template-rows:1fr 1fr;grid-template-columns:2.5em 1fr;min-height:5.1em;padding:.8em;display:grid;position:relative;overflow:hidden}.channel-menu button:after,.project-stations button:after,.inventory-tabs button:after,.contact-options button:after{content:"";opacity:0;background:#d3a33f;width:.28em;position:absolute;inset:0 auto 0 0}.channel-menu button>span{color:#7e866d;font-size:.72em;position:absolute;top:.55em;right:.55em}.channel-menu button>i{color:#d0a044;grid-row:1/3;align-self:center;font-size:2em;font-style:normal}.channel-menu button>b{text-transform:uppercase;align-self:end;font-size:1.15em}.channel-menu button>small{color:#858e77;align-self:start;margin-top:.25em;font-size:.65em}.channel-menu button:last-child{grid-column:1/3}.channel-menu button.is-selected{color:#211b16;background:#e1d7a9;transform:translate(-.2em,-.2em);box-shadow:.55em .55em #9a3f31}.channel-menu button.is-selected:after{opacity:1}.channel-menu button.is-selected>i{color:#9d4032}.channel-menu button.is-selected>small,.channel-menu button.is-selected>span{color:#5e5545}.project-feature{grid-template-columns:58% 1fr;gap:3.2%;height:57%;padding-top:2.4%;display:grid}.project-artwork{min-width:0;min-height:0;box-shadow:0 0 0 1px rgba(var(--glow-rgb), .7), inset 0 0 22px #000;background:#1e2a22;border:.32em solid #0e1713;position:relative;overflow:hidden}.project-artwork__image{background-image:var(--project-art);image-rendering:auto;background-position:50%;background-size:cover;animation:.36s steps(7,end) both project-in;position:absolute;inset:0}@keyframes project-in{0%{opacity:0;filter:saturate(0)brightness(2);transform:translate(4%)}to{opacity:1;filter:none;transform:none}}.project-artwork:after{content:"";background:linear-gradient(90deg, rgba(var(--glow-rgb), .14), transparent 20% 80%, #0000002e);pointer-events:none;position:absolute;inset:0}.project-artwork__tag,.project-artwork__year{z-index:2;color:#211911;background:var(--accent);padding:.4em .65em;font-size:.62em;font-weight:900;position:absolute;bottom:.7em}.project-artwork__tag{left:.7em}.project-artwork__year{color:#e8dfb2;background:#0b120fd6;right:.7em}.project-feature__copy{min-width:0;animation:.3s steps(5,end) both text-pop}@keyframes text-pop{0%{opacity:0;transform:translateY(.8em)}to{opacity:1;transform:none}}.project-feature__copy h2,.project-feature__copy h3{color:#eee4b9;font:950 3.2em/.82 var(--font-geist-sans), sans-serif;letter-spacing:-.06em;text-transform:uppercase;margin:.15em 0}.project-feature__copy>span{color:#b5b895;font:500 .9em/1.35 var(--font-geist-sans), sans-serif;margin-bottom:.8em;display:block}.project-feature__copy dl{border-top:1px dashed #e1daa966;margin:0}.project-feature__copy dl div{border-bottom:1px dashed #e1daa940;grid-template-columns:25% 1fr;padding:.45em 0;display:grid}.project-feature__copy dt{color:#7e8b72;font-size:.65em}.project-feature__copy dd{color:#d8d5ae;margin:0;font-size:.72em;font-weight:700}.tech-line{flex-wrap:wrap;gap:.35em;margin-top:.8em;display:flex}.tech-line i{color:#aeb88d;border:1px solid #ddd6a859;padding:.35em .5em;font-size:.62em;font-style:normal}.project-stations{grid-template-columns:repeat(6,1fr);gap:.45em;height:13%;margin-top:1.4%;display:grid}.project-stations button{color:#a7aa8c;cursor:pointer;background:#08110e80;border:1px solid #e1daa94d;grid-template-columns:auto 1fr auto;align-items:center;gap:.45em;min-width:0;padding:.45em;display:grid;position:relative;overflow:hidden}.project-stations button span{color:#c49e4a;font-size:.58em}.project-stations button b{text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:.63em;overflow:hidden}.project-stations button i{aspect-ratio:1;color:#1b1712;background:#79855a;border-radius:50%;place-items:center;width:1.45em;font-size:.57em;font-style:normal;font-weight:900;display:grid}.project-stations button.is-selected{color:#241d17;background:#e0d6a7}.project-stations button.is-selected:after{opacity:1}.project-stations button.is-selected i{color:#eee4b9;background:#9f4032}.project-file{grid-template-columns:43% 1fr;gap:3.5%;height:71%;padding-top:2.8%;display:grid}.project-file aside{min-height:0}.project-file aside .project-artwork{height:53%}.project-file aside>p{color:#b9bb98;font:500 .92em/1.45 var(--font-geist-sans), sans-serif;margin:1em 0 0}.project-file article{background:#050d0b6b;border:1px solid #e1daa961;padding:5% 6%;animation:.26s steps(4,end) both page-turn;position:relative}@keyframes page-turn{0%{opacity:0;transform:translate(4%)}to{opacity:1;transform:none}}.project-file article h3{color:#efe4b8;font:900 2.2em/1 var(--font-geist-sans), sans-serif;text-transform:uppercase;margin:.45em 0 .7em}.project-file article>p{color:#c4c3a0;font:500 1.12em/1.55 var(--font-geist-sans), sans-serif;margin:0}.file-pagination{gap:.65em;display:flex;position:absolute;bottom:7%;right:6%}.file-pagination i{aspect-ratio:1;color:#777d68;border:1px solid #797e69;place-items:center;width:2em;font-size:.7em;font-style:normal;display:grid}.file-pagination i.is-current{color:#231b16;background:#d7ad4e;border-color:#d7ad4e}.profile-card{grid-template-columns:24% 1fr 31%;gap:4%;height:72%;padding-top:4%;display:grid}.portrait{aspect-ratio:.88;color:#e6ddb1;background:#9a4032;border:.45em solid #d8cda0;align-self:start;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:.7em .7em #c29442}.portrait:before{content:"";border:2px dashed #efe2b180;position:absolute;inset:12%}.portrait span{z-index:2;font:950 5em/1 var(--font-geist-sans), sans-serif;letter-spacing:-.1em;position:relative}.portrait i,.portrait b{background:#e0b350;border-radius:50%;position:absolute}.portrait i{width:1.2em;height:1.2em;top:8%;right:9%}.portrait b{width:5em;height:5em;bottom:-14%;left:-18%}.profile-main h3{color:#efe4b9;font:950 3.2em/.9 var(--font-geist-sans), sans-serif;letter-spacing:-.06em;margin:.12em 0 0}.profile-main h4{color:#d5aa4d;margin:.5em 0 1.1em;font-size:.9em}.profile-main>p:not(:first-child){color:#b9bc9a;font:500 .93em/1.45 var(--font-geist-sans), sans-serif;margin:0 0 .75em}.player-stats{margin:0}.player-stats div{border-bottom:1px dashed #e1daa957;padding:.9em 0}.player-stats dt{color:#75816c;margin-bottom:.3em;font-size:.65em}.player-stats dd{color:#d9d5ab;margin:0;font-size:.75em;font-weight:800}.career-layout{grid-template-columns:36% 1fr;gap:3%;height:71%;padding-top:2.8%;display:grid}.career-layout nav{grid-template-rows:repeat(3,1fr) 1.12fr;gap:.5em;min-height:0;display:grid}.career-layout nav button,.education-entry{color:#aeb191;text-align:left;cursor:pointer;background:#060e0c70;border:1px solid #e1daa947;grid-template-rows:1fr 1fr;grid-template-columns:2.2em 1fr;align-items:center;gap:0 .7em;min-width:0;padding:.65em .8em;display:grid}.career-layout nav button>span,.education-entry>span{color:#d3a848;grid-row:1/3;font-size:.7em}.career-layout nav button b,.education-entry b{text-overflow:ellipsis;white-space:nowrap;align-self:end;font-size:.77em;overflow:hidden}.career-layout nav button small,.education-entry small{color:#78816c;text-overflow:ellipsis;white-space:nowrap;align-self:start;margin-top:.2em;font-size:.56em;overflow:hidden}.career-layout nav button.is-selected{color:#221b16;background:#ded3a5;box-shadow:inset .4em 0 #a14032}.career-layout nav button.is-selected small{color:#665f4e}.education-entry{cursor:default;border-color:#d1a64657}.career-layout article{background:#050d0b61;border-left:.5em solid #9e4032;padding:4% 5%;animation:.26s steps(4,end) both page-turn}.career-layout article h3{color:#eee4b8;font:950 2.35em/.95 var(--font-geist-sans), sans-serif;text-transform:uppercase;margin:.2em 0 0}.career-layout article h4{color:#d1a847;font:700 .9em/1.25 var(--font-geist-sans), sans-serif;margin:.55em 0 1em}.career-layout article ul{gap:.7em;margin:0;padding:0;list-style:none;display:grid}.career-layout article li{color:#b8ba98;font:500 .88em/1.45 var(--font-geist-sans), sans-serif;padding-left:1.25em;position:relative}.career-layout article li:before{content:"▸";color:#d0a247;position:absolute;left:0}.inventory-tabs{grid-template-columns:repeat(3,1fr);gap:.7em;height:12%;margin:2.4% 0 2%;display:grid}.inventory-tabs button{color:#aeb193;cursor:pointer;background:#070f0c6b;border:1px solid #e1daa94d;align-items:center;gap:.8em;padding:.7em;display:flex;position:relative}.inventory-tabs button span{color:#d1a446;font-size:.7em}.inventory-tabs button b{text-transform:uppercase;font-size:.78em}.inventory-tabs button.is-selected{color:#231b16;background:#dfd4a6}.inventory-tabs button.is-selected:after{opacity:1}.inventory-pages{height:47%;position:relative}.inventory-pages article{visibility:hidden;opacity:0;background:#060e0b5c;border:1px solid #e1daa952;grid-template-columns:25% 1fr;gap:4%;padding:3% 4%;display:grid;position:absolute;inset:0}.inventory-pages article.is-active{visibility:visible;opacity:1;animation:.26s steps(4,end) both page-turn}.inventory-icon{aspect-ratio:1;color:#ede1b4;background:#9a4032;place-items:center;max-height:100%;font-size:5em;display:grid;box-shadow:inset 0 0 0 .5em #c9a149,.6em .6em #00000040}.inventory-pages article h3{color:#eee4b8;font:900 2em/1 var(--font-geist-sans), sans-serif;text-transform:uppercase;margin:.15em 0 .6em}.inventory-pages article ul{grid-template-columns:1fr 1fr;gap:.5em .75em;margin:0;padding:0;list-style:none;display:grid}.inventory-pages article li{color:#bcbe9d;border:1px dashed #ded6a847;align-items:center;gap:.7em;padding:.55em;font-size:.72em;display:flex}.inventory-pages article li span{color:#d1a546}.contact-copy{width:35%;position:absolute;top:28%;left:5.2%}.contact-copy h3{color:#eee4b8;font:950 2.6em/.9 var(--font-geist-sans), sans-serif;text-transform:uppercase;margin:.5em 0}.contact-copy p{color:#b7ba98;font:500 .92em/1.45 var(--font-geist-sans), sans-serif}.contact-signal{align-items:flex-end;gap:.45em;height:2.2em;display:flex}.contact-signal i{background:#d2a445;width:.55em;animation:1.1s steps(3,end) infinite signal}.contact-signal i:first-child{height:35%}.contact-signal i:nth-child(2){height:65%;animation-delay:.12s}.contact-signal i:last-child{height:100%;animation-delay:.24s}@keyframes signal{50%{opacity:.35}}.contact-options{grid-template-columns:1fr 1fr;gap:.8em;width:52%;display:grid;position:absolute;top:25%;right:5.2%}.contact-options button{color:#bec09e;text-align:left;cursor:pointer;background:#060e0c66;border:1px solid #e1daa94d;grid-template-columns:2.8em 1fr;align-items:center;gap:.7em;min-width:0;min-height:6.2em;padding:.8em;display:grid;position:relative}.contact-options button>i{aspect-ratio:1;color:#d3a747;border:1px solid #a8934d;place-items:center;width:2.5em;font-size:.85em;font-style:normal;font-weight:900;display:grid}.contact-options button span{min-width:0}.contact-options button b{text-transform:uppercase;font-size:.85em;display:block}.contact-options button small{color:#777f6b;text-overflow:ellipsis;white-space:nowrap;margin-top:.45em;font-size:.58em;display:block;overflow:hidden}.contact-options button.is-selected{color:#241c16;background:#e0d5a7;transform:translate(-.15em,-.15em);box-shadow:.45em .45em #984032}.contact-options button.is-selected:after{opacity:1}.contact-options button.is-selected i{color:#f1e6b6;background:#984032;border-color:#984032}.contact-options button.is-selected small{color:#625b4b}.control-guide{z-index:15;color:#e7dfb1;background:#17211c;border:.55em double #d6c994;padding:5% 6%;position:absolute;inset:10% 12%;box-shadow:0 0 0 200vmax #030806c2,.8em .8em #8f3d31}.control-guide>p{color:#d3a449;letter-spacing:.2em;margin:0;font-size:.75em;font-weight:900}.control-guide h2{font:900 2.4em/1 var(--font-geist-sans), sans-serif;text-transform:uppercase;margin:.25em 0 .8em}.control-guide dl{grid-template-columns:1fr 1fr;gap:.6em 1.5em;margin:0;display:grid}.control-guide dl div{border-bottom:1px dashed #ded6a840;grid-template-columns:5.5em 1fr;padding:.45em 0;display:grid}.control-guide dt{color:#d0a348;font-size:.75em;font-weight:900}.control-guide dd{color:#b8ba99;font:500 .75em/1.35 var(--font-geist-sans), sans-serif;margin:0}.control-guide>small{color:#7d856e;margin-top:1.1em;font-size:.65em;display:block}.control-guide button{cursor:pointer;border-radius:0;width:auto;height:auto;padding:.75em 1.1em;position:absolute;bottom:6%;right:5%}.crt-glass{z-index:20;pointer-events:none;border-radius:inherit;opacity:.82;background:linear-gradient(#e5e7b306 50%,#0000001a 50%) 0 0/100% 4px,radial-gradient(at 45% 5%,#ffffe621,#0000 35%),radial-gradient(#0000 64%,#00000073 100%);position:absolute;inset:0;box-shadow:inset 0 0 5em #01080585}.tv-controls{color:#d1b777;flex-direction:column;align-items:center;min-width:0;padding:8% 4%;display:flex}.tv-logo{text-align:center;width:100%;margin-bottom:17%}.tv-logo b{color:#dfc786;letter-spacing:.12em;font-size:clamp(5px,.7vw,10px);display:block}.tv-logo span{color:#9b7549;margin-top:.3em;font-size:clamp(3px,.42vw,6px);display:block}.tv-dial{place-items:center;width:63%;margin-bottom:13%;display:grid}.tv-dial i{aspect-ratio:1;background:repeating-conic-gradient(#b9a278 0 7deg, #4a382a 8deg 14deg);border:4px solid #28201a;border-radius:50%;width:100%;display:block;position:relative;box-shadow:0 3px #1b120e}.tv-dial i:after{content:"";background:#ddc28b;border-radius:3px;width:8%;height:35%;position:absolute;top:10%;left:46%}.tv-dial span{color:#a98b5d;margin-top:.55em;font-size:clamp(3px,.38vw,6px)}.tv-dial--volume{width:48%}.tv-speaker{grid-template-columns:repeat(3,1fr);gap:min(.7vw,7px);width:60%;margin-top:auto;display:grid}.tv-speaker i{aspect-ratio:1;background:#2d2018;border-radius:50%;width:100%;box-shadow:inset 0 1px 1px #120d0a}.tv-power-light{background:#cc4f30;border-radius:50%;width:8px;height:8px;margin-top:15%;box-shadow:0 0 8px #e15a35}.tv-feet{justify-content:space-between;width:76%;height:3.5%;margin:0 auto;display:flex}.tv-feet i{background:#2f1b14;width:10%;height:100%;transform:skew(-15deg)}.tv-feet i:last-child{transform:skew(15deg)}.media-cabinet{z-index:2;background:repeating-linear-gradient(3deg,#0000 0 6px,#341b1029 7px 8px),#83502f;border:.8em solid #3b2116;grid-template-columns:30% 1fr 20%;gap:2.5%;width:70%;height:15%;padding:2.2% 3%;display:grid;position:absolute;top:68.5%;left:15%;box-shadow:inset 0 0 0 3px #a86d3b,0 1.2em 1.3em #27120a59}.console-unit{background:#b8aa8c;border:3px solid #28221d;border-radius:.4em;align-self:center;height:45%;position:relative;box-shadow:0 4px #3a2a20}.console-unit i{background:#3a332a;width:58%;height:14%;position:absolute;top:35%;left:7%}.console-unit span{font-size:clamp(4px,.48vw,7px);font-weight:900;position:absolute;bottom:14%;right:8%}.console-unit b{aspect-ratio:1;background:#b14232;border-radius:50%;width:8%;position:absolute;top:28%;right:8%}.cabinet-door{background:#754329;border:3px solid #4a2a1c;justify-content:space-evenly;align-items:center;display:flex}.cabinet-door i{background:#4b2b1d;width:3px;height:75%;box-shadow:8px 0 #4b2b1d,-8px 0 #4b2b1d}.game-stack{position:relative}.game-stack i{background:#d1aa56;border:2px solid #332219;width:100%;height:25%;position:absolute;right:0}.game-stack i:first-child{bottom:0}.game-stack i:nth-child(2){background:#9d4433;bottom:27%}.game-stack i:last-child{background:#697747;bottom:54%}.controller-wrap{z-index:60;filter:drop-shadow(0 1em .75em #1f100a61);width:min(46vw,488px);transition:width .24s,bottom .24s;position:fixed;bottom:2.8vh;left:50%;transform:translate(-50%)}.controller-wrap.is-docked{width:min(35vw,360px);bottom:18px}.controller-readout{color:#312119;letter-spacing:.08em;white-space:nowrap;background:#d9ab50;border:2px solid #3d271d;align-items:center;gap:.7em;padding:.55em .8em;font-size:clamp(6px,.55vw,8px);font-weight:900;transition:opacity .18s;display:flex;position:absolute;bottom:calc(100% + 1.2em);right:50%;transform:translate(50%);box-shadow:.35em .35em #27160f66}.controller-wrap:not(.is-docked) .controller-readout{opacity:0}.controller-cable{z-index:-1;transform-origin:bottom;border-left:.35em solid #29231f;width:4%;height:135%;position:absolute;bottom:75%;left:49%;transform:rotate(9deg)}.controller-wrap.is-docked .controller-cable{opacity:.55;height:80%}.controller-cable i{border:.3em solid #29231f;border-left:0;border-radius:0 50% 50% 0;width:1.5em;height:3em;position:absolute;top:-3%;left:-.35em}.controller{aspect-ratio:2.6;background:linear-gradient(180deg, #ffffff47, transparent 34%), var(--controller);border:clamp(4px,.65vw,8px) solid #5c5548;border-radius:18% 18% 28% 28%/28% 28% 36% 36%;width:100%;position:relative;box-shadow:inset 0 -.9em #a79c84,inset 0 0 0 .3em #e9ddc1,0 .7em #595145}.controller:after{content:"";background:#6256451f;border-radius:50%;height:17%;position:absolute;bottom:8%;left:5%;right:5%}.controller-screw{z-index:4;aspect-ratio:1;background:#6e6658;border-radius:50%;width:1.2%;position:absolute;top:15%;box-shadow:inset 1px 1px #312d27}.controller-screw--one{left:4%}.controller-screw--two{right:4%}.controller-brand{text-align:center;position:absolute;top:12%;left:38%;right:38%}.controller-brand b{color:#994131;font:900 clamp(6px, .8vw, 11px)/1 var(--font-geist-sans),sans-serif;display:block}.controller-brand span{color:#746b5b;letter-spacing:.08em;margin-top:.3em;font-size:clamp(3px,.35vw,5px);display:block}.dpad{z-index:5;aspect-ratio:1;filter:drop-shadow(0 .35em #5f574b);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:23%;display:grid;position:absolute;top:22%;left:9%}.dpad button,.dpad>i{color:#777066;cursor:pointer;background:#252525;border:0;place-items:center;padding:0;font-size:clamp(5px,.65vw,9px);display:grid}.dpad button:active{color:#c14f37;background:#171717;transform:translateY(2px)}.dpad-up{grid-area:1/2;border-radius:.35em .35em 0 0!important}.dpad-left{grid-area:2/1;border-radius:.35em 0 0 .35em!important}.dpad>i{grid-area:2/2;position:relative}.dpad>i:after{content:"";aspect-ratio:1;background:#171717;border-radius:50%;width:55%;box-shadow:inset 1px 1px #3e3e3e}.dpad-right{grid-area:2/3;border-radius:0 .35em .35em 0!important}.dpad-down{grid-area:3/2;border-radius:0 0 .35em .35em!important}.utility-buttons{z-index:5;gap:1.2em;display:flex;position:absolute;bottom:24%;left:39%}.utility-buttons button{color:#716858;cursor:pointer;background:0 0;border:0;justify-items:center;gap:.4em;padding:0;font-size:clamp(3px,.4vw,6px);font-weight:800;display:grid}.utility-buttons button i{background:#58534c;border-radius:1em;width:2.8em;height:1.05em;display:block;transform:rotate(-7deg);box-shadow:0 .35em #827967}.utility-buttons button:active i{transform:translateY(.25em)rotate(-7deg);box-shadow:0 .1em #827967}.face-buttons{z-index:5;background:#a99e87;border-radius:50%;width:25%;height:53%;position:absolute;top:25%;right:8%;transform:rotate(-9deg)}.face-buttons button{aspect-ratio:1;color:#f4dfb3;cursor:pointer;background:#b74235;border:.32em solid #8c2f2c;border-radius:50%;place-items:center;width:37%;font-size:clamp(7px,1vw,14px);font-weight:900;display:grid;position:absolute;box-shadow:0 .35em #6d2827}.face-buttons button:active{transform:translateY(.27em);box-shadow:0 .08em #6d2827}.face-b{bottom:9%;left:7%}.face-a{top:8%;right:7%}.face-buttons>span{color:#6f6556;justify-content:space-between;font-size:clamp(3px,.35vw,5px);display:flex;position:absolute;bottom:-26%;left:-3%;right:-3%;transform:rotate(9deg)}.face-buttons>span i{font-style:normal}.room-footer{z-index:20;color:#e3bd73;letter-spacing:.08em;text-shadow:1px 1px #3e2418;grid-template-columns:1fr auto 1fr;align-items:center;font-size:clamp(6px,.55vw,9px);font-weight:800;display:grid;position:fixed;bottom:1.5%;left:2%;right:2%}.portfolio-content{z-index:10;gap:clamp(50px,8vw,120px);width:min(92vw,1280px);margin:0 auto;padding:clamp(70px,9vw,130px) 0 clamp(220px,24vw,340px);display:grid;position:relative}.manual-panel{color:#282123;background:linear-gradient(90deg,#0000 49.7%,#5f453614 50%,#0000 50.3%),radial-gradient(circle at 20% 10%,#ffffff42,#0000 28%),#eadfbd;border:clamp(4px,.5vw,8px) solid #3d2924;min-height:min(860px,100svh - 36px);padding:clamp(34px,5vw,76px) clamp(34px,5vw,76px) clamp(190px,18vw,240px);scroll-margin-top:18px;position:relative;box-shadow:14px 16px #171317,22px 28px 42px #0a070857}.manual-panel:before{content:"";pointer-events:none;border:1px solid #48332c33;position:absolute;inset:12px}.panel-index{color:#f1dfb8;letter-spacing:.13em;background:#2e2729;align-items:center;gap:.8em;padding:.75em 1.1em;font-size:clamp(8px,.8vw,12px);font-weight:900;display:flex;position:absolute;top:0;left:0}.manual-heading{border-bottom:clamp(3px,.35vw,5px) solid #30282a;justify-content:space-between;align-items:flex-end;gap:2em;margin-top:1.7em;padding-bottom:clamp(18px,2vw,30px);display:flex}.manual-heading p,.profile-copy>p:first-child,.contact-panel>p:first-of-type{color:#ae3f3f;letter-spacing:.16em;margin:0;font-size:clamp(9px,.85vw,13px);font-weight:900}.manual-heading h2,.profile-copy h2,.contact-panel h2{font:950 clamp(40px, 6vw, 86px)/.88 var(--font-geist-sans), sans-serif;letter-spacing:-.065em;text-transform:uppercase;margin:.15em 0 0}.manual-heading>span{color:#f1dfb9;white-space:nowrap;background:#aa3f3d;padding:.7em .9em;font-size:clamp(8px,.75vw,11px);font-weight:900}.panel-summary{max-width:970px;font:600 clamp(18px, 2.2vw, 31px)/1.35 var(--font-geist-sans), sans-serif;margin:clamp(24px,3vw,44px) 0}.project-quests{border:3px solid #332b2c;grid-template-columns:repeat(3,1fr);display:grid}.project-quests article{min-height:270px;padding:clamp(22px,3vw,42px)}.project-quests article+article{border-left:3px solid #332b2c}.project-quests article>span,.timeline article>div:first-child span,.education-strip span,.skill-cards article>span{color:#b54145;letter-spacing:.12em;font-size:clamp(8px,.75vw,11px);font-weight:900}.project-quests h3,.timeline h3,.skill-cards h3{font:900 clamp(19px, 2vw, 28px)/1 var(--font-geist-sans), sans-serif;text-transform:uppercase;margin:2.4em 0 .8em}.project-quests p,.profile-copy>p,.timeline li,.contact-panel>p{font:500 clamp(14px, 1.35vw, 19px)/1.55 var(--font-geist-sans), sans-serif}.panel-status{color:#eadbb3;background:#302a2c;align-items:center;gap:1em;margin-top:clamp(24px,3vw,42px);padding:1em 1.2em;display:flex}.panel-status>span{aspect-ratio:1;background:#b84143;place-items:center;width:2.6em;font-weight:900;display:grid}.panel-status p{margin:0;font-size:clamp(9px,.9vw,13px)}.panel-status a,.panel-status i{color:#e8c46d;margin-left:auto;font-size:clamp(8px,.8vw,12px);font-style:normal;font-weight:900;text-decoration:none}.profile-layout{grid-template-columns:24% 1fr 27%;align-items:start;gap:clamp(24px,4vw,58px);margin-top:clamp(70px,9vw,130px);display:grid}.paper-portrait{aspect-ratio:1;color:#eadfb8;background:#a94041;border:clamp(6px,.7vw,10px) solid #312a2b;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:12px 12px #d2a347}.paper-portrait:before{content:"";border:3px dashed #f0e2b68c;position:absolute;inset:12%}.paper-portrait span{z-index:2;font:950 clamp(48px, 8vw, 116px)/1 var(--font-geist-sans),sans-serif;letter-spacing:-.12em;position:relative}.paper-portrait i,.paper-portrait b{background:#d7a64b;border-radius:50%;position:absolute}.paper-portrait i{aspect-ratio:1;width:14%;top:8%;right:9%}.paper-portrait b{aspect-ratio:1;width:72%;bottom:-19%;right:54%}.paper-portrait img{object-fit:cover;object-position:center 28%;width:100%;height:100%;image-rendering:pixelated;display:block}.profile-copy h2{font-size:clamp(42px,5.8vw,82px)}.profile-copy h3{color:#a84040;margin:.7em 0 1.5em;font-size:clamp(14px,1.6vw,23px)}.profile-copy>p{margin:0 0 1em}.paper-stats{border-top:3px solid #332b2c;margin:0}.paper-stats div{border-bottom:2px dashed #382c2b47;padding:1.2em 0}.paper-stats dt{color:#ad4141;margin-bottom:.45em;font-size:clamp(8px,.75vw,11px);font-weight:900}.paper-stats dd{margin:0;font-size:clamp(11px,1.05vw,15px);font-weight:800}.timeline{border-top:3px solid #332b2c;margin-top:clamp(28px,4vw,56px)}.timeline article{border-bottom:2px solid #61514e;grid-template-columns:24% 1fr;gap:clamp(20px,4vw,60px);padding:clamp(28px,4vw,54px) 0;display:grid}.timeline article>div:first-child{align-content:start;gap:.75em;display:grid}.timeline article>div:first-child b{font-size:clamp(11px,1vw,15px)}.timeline article>div:first-child small{color:#71615a;font-size:clamp(9px,.8vw,12px)}.timeline h3{margin:0;font-size:clamp(24px,2.6vw,38px)}.timeline h4{color:#a84040;font:700 clamp(13px,1.35vw,19px)/1.3 var(--font-geist-sans),sans-serif;margin:.45em 0 1.2em}.timeline ul{gap:.7em;margin:0;padding:0;list-style:none;display:grid}.timeline li{padding-left:1.4em;position:relative}.timeline li:before{content:"▸";color:#a84040;position:absolute;left:0}.education-strip{color:#eadcb7;background:#30292b;grid-template-columns:14% 31% 1fr;align-items:center;gap:1.5em;margin-top:3em;padding:1.5em;display:grid}.education-strip b{font-size:clamp(13px,1.3vw,18px)}.education-strip p{margin:0;font-size:clamp(10px,1vw,14px)}.skill-cards{grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.5vw,36px);margin-top:clamp(36px,5vw,70px);display:grid}.skill-cards article{border:3px solid #332b2c;padding:clamp(24px,3vw,42px);box-shadow:8px 8px #c28d3f}.skill-cards h3{min-height:2em;margin:2em 0 1.2em}.skill-cards ul{gap:.7em;margin:0;padding:0;list-style:none;display:grid}.skill-cards li{border:1px dashed #392b2a57;padding:.7em;font-size:clamp(11px,1.05vw,15px)}.skill-cards li:before{content:"□";color:#a84040;margin-right:.7em}.contact-panel{text-align:center;place-items:center;min-height:min(720px,100svh - 36px);display:grid}.contact-panel>p:first-of-type{align-self:end}.contact-panel h2{max-width:900px}.contact-panel>p:not(:first-of-type){max-width:760px;margin:0}.contact-primary{color:#f0dfb8;background:#a73f40;align-items:center;gap:.8em;padding:1em 1.4em;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:8px 8px #30292b}.contact-primary span{aspect-ratio:1;color:#a73f40;background:#eadfbd;border-radius:50%;place-items:center;width:2.2em;display:grid}.contact-panel nav{gap:.8em;display:flex}.contact-panel nav a{color:#332b2c;border:2px solid #332b2c;padding:.75em 1em;font-size:clamp(9px,.85vw,12px);font-weight:900;text-decoration:none}.contact-panel>small{font-size:clamp(9px,.85vw,12px)}.site-control-guide{z-index:90;color:#e8dfb5;background:#19231d;border:8px double #e2d5aa;width:min(90vw,620px);padding:clamp(28px,4vw,50px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 200vmax #0a0708c7,14px 14px #9e3f35}.site-control-guide>p{color:#d6a649;letter-spacing:.2em;margin:0;font-size:10px;font-weight:900}.site-control-guide h2{font:900 clamp(28px,4vw,48px)/.95 var(--font-geist-sans),sans-serif;text-transform:uppercase;margin:.3em 0 1em}.site-control-guide dl{grid-template-columns:1fr 1fr;gap:.7em 1.5em;margin:0;display:grid}.site-control-guide dl div{border-bottom:1px dashed #e1d8a947;grid-template-columns:5.5em 1fr;padding:.6em 0;display:grid}.site-control-guide dt{color:#d5a548;font-size:10px;font-weight:900}.site-control-guide dd{color:#babd9c;font:500 12px/1.4 var(--font-geist-sans),sans-serif;margin:0}.site-control-guide>small{color:#858d75;margin-top:1.4em;font-size:9px;display:block}.site-control-guide button{color:#241b17;cursor:pointer;background:#d7aa4d;border:0;margin-top:1.5em;padding:.8em 1em;font-weight:900}.site-status{z-index:55;color:#deb967;letter-spacing:.08em;pointer-events:none;text-shadow:1px 1px #231716;grid-template-columns:1fr auto 1fr;align-items:end;font-size:clamp(6px,.6vw,9px);font-weight:900;display:grid;position:fixed;bottom:16px;left:18px;right:18px}.site-status button{color:#342019;pointer-events:auto;cursor:pointer;background:#d5a548;border:2px solid #3d271e;justify-self:start;padding:.6em .8em;box-shadow:3px 3px #3d271e}.site-status p{margin:0}.site-status span{justify-self:end}.room-footer button{color:#40251a;cursor:pointer;background:#dcaa4a;border:2px solid #44271b;justify-self:start;padding:.55em .8em;box-shadow:.25em .25em #44271b}.room-footer p{margin:0}.room-footer span{justify-self:end}@media (width<=760px){.wall-frame--left{left:4%}.wall-frame--right{right:3%}.window-scene{display:none}.room-lamp{left:-2%}.portfolio-content{gap:72px;width:min(92vw,640px);padding-top:72px}.manual-panel{min-height:auto;padding:58px 24px 230px}.manual-heading{flex-direction:column;align-items:flex-start;gap:1em;margin-top:1em}.manual-heading h2,.profile-copy h2,.contact-panel h2{font-size:clamp(36px,11vw,58px)}.project-quests,.skill-cards{grid-template-columns:1fr}.project-quests article{min-height:0}.project-quests article+article{border-top:3px solid #332b2c;border-left:0}.project-quests h3{margin-top:1.4em}.panel-status{flex-wrap:wrap;align-items:flex-start}.panel-status a,.panel-status i{width:100%;margin-left:0}.profile-layout{grid-template-columns:1fr;margin-top:70px}.paper-portrait{width:min(64%,240px)}.timeline article,.education-strip{grid-template-columns:1fr}.skill-cards h3{min-height:0}.contact-panel{align-content:center;gap:28px;min-height:calc(100svh - 40px)}.contact-panel nav{flex-wrap:wrap;justify-content:center}.site-control-guide dl{grid-template-columns:1fr}}@media (width<=620px){.room-scene{aspect-ratio:auto;width:96vw;height:calc(100svh - 34px)}.television-wrap{width:100%;top:11%;left:0}.media-cabinet{width:90%;height:10%;top:47%;left:5%}.controller-wrap{width:88%;bottom:13%;left:50%;right:auto}.controller-wrap.is-docked{width:min(82vw,320px);bottom:16px}.wall-frame{border-width:4px;top:2%}.wall-frame--left{width:54px}.wall-frame--right{width:68px}.room-lamp{width:48px;height:40%;top:5%}.floor{inset:63% 0 0}.wallpaper{inset:0 0 37%}.room-footer{grid-template-columns:auto 1fr;gap:1em;bottom:1%}.room-footer p{justify-self:end}.room-footer span{display:none}.tv-content{font-size:clamp(5.5px,1.58vw,8px)}.tv-statusbar{font-size:5px}.room-intro{padding:0 14%;line-height:1.5;bottom:3%}.site-status{grid-template-columns:auto 1fr;bottom:8px;left:10px;right:10px}.site-status p{display:none}.site-status span{justify-self:end}.controller-readout{font-size:6px}}@media (height<=560px) and (width>=621px){.room-footer{display:none}.wall-frame,.room-lamp,.window-scene{opacity:.45}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.neon-stage .tv-screen{color:#202020;background:#5c94fc;box-shadow:inset 0 0 30px #161c2f75,0 0 8px #5c94fc33}.neon-stage .tv-statusbar{color:#fff1cf;background:#202060;border-bottom:3px solid #202020}.neon-stage .projects-screen{padding:3.2% 4.4% 5%}.neon-stage .screen-heading{color:#202020;background:#f8d878;border:3px solid #202020;height:15%;padding:1.2% 2%;box-shadow:4px 4px #c84c0c}.neon-stage .screen-heading h1,.neon-stage .screen-heading h2{color:#202020;text-shadow:2px 2px #fff1cf}.neon-stage .project-feature{gap:3%;height:58%;padding-top:3%}.neon-stage .project-artwork{background:#202020;border:4px solid #202020;box-shadow:5px 5px #f8d878}.neon-stage .project-artwork__tag,.neon-stage .project-artwork__year{display:none}.neon-stage .project-feature__copy{color:#202020;background:#fff1cf;border:4px solid #202020;align-self:stretch;padding:7% 7.5%;box-shadow:5px 5px #c84c0c}.neon-stage .project-feature__copy h2,.neon-stage .project-feature__copy h3{color:#202020;text-shadow:3px 3px #f8d878;margin-top:.18em}.neon-stage .project-feature__copy>span{color:#44362c}.neon-stage .project-meta-line{border-color:#202020}.neon-stage .project-meta-line i{color:#fff1cf;background:#00a800;box-shadow:2px 2px #005800}.neon-stage .project-meta-line b{color:#202020}.neon-stage .project-stations{gap:.65em}.neon-stage .project-stations button{color:#fff1cf;background:#c84c0c;border:3px solid #202020;box-shadow:3px 3px #8f3907}.neon-stage .project-stations button:after{display:none}.neon-stage .project-stations button.is-selected{color:#202020;background:#f8d878;border-color:#202020;transform:translateY(-2px);box-shadow:3px 3px #c84c0c}.neon-stage .screen-prompt{color:#fff1cf;background:#202020;padding:.55em .8em;bottom:2.2%;left:4.4%;right:4.4%}.neon-stage .crt-glass{opacity:.38;background:linear-gradient(#ffffff09 50%,#00000014 50%) 0 0/100% 4px,radial-gradient(#0000 70%,#00000059 100%)}.portfolio-page{background:radial-gradient(circle at 20% 16%,#ff4c9a0b,#0000 25%),radial-gradient(circle at 84% 38%,#46d7c80a,#0000 26%),repeating-linear-gradient(135deg,#ffffff03 0 1px,#0000 1px 8px),#0b0710}.neon-stage:before{background:radial-gradient(circle,#f9da9c0e 0 1px,#0000 1.6px) 0 0/14px 14px,linear-gradient(90deg,#0000,#ffffff04 20% 80%,#0000);border:0;width:min(94vw,1180px);height:78%}.neon-stage:after{content:"";z-index:-3;opacity:.34;background:radial-gradient(circle,#ff4f9a 0 1px,#0000 1.5px) 0 0/38px 38px,radial-gradient(circle,#46d7c8 0 1px,#0000 1.5px) 19px 19px/38px 38px,#09060d;height:27%;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 38%);mask-image:linear-gradient(#0000,#000 38%)}.neon-backdrop:before{filter:none;background:#1e122857;border:1px solid #ffd7920a;border-radius:4px;width:min(84vw,960px);height:55%;top:14%;box-shadow:inset 0 0 90px #0000008f}.neon-backdrop i{filter:none;opacity:.48;border-radius:5px;height:5px;animation:4.8s steps(2,end) infinite arcade-tube}.neon-backdrop i:first-child{aspect-ratio:auto;background:#ff4f9a;width:36%;top:15%;left:-5%;transform:rotate(-13deg);box-shadow:0 0 7px #ff4f9a,0 0 18px #ff4f9a52}.neon-backdrop i:nth-child(2){aspect-ratio:auto;background:#46d7c8;width:39%;animation-delay:-1.7s;top:17%;right:-6%;transform:rotate(13deg);box-shadow:0 0 7px #46d7c8,0 0 18px #46d7c84d}.neon-backdrop i:last-child{background:0 0;border:4px solid #f6c75d;border-radius:4px;width:64px;height:64px;animation-delay:-3.1s;top:21%;bottom:auto;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:0 0 8px #f6c75db8,0 0 20px #f6c75d33}@keyframes arcade-tube{0%,92%,to{opacity:.48}94%{opacity:.22}96%{opacity:.54}}.neon-horizon{display:none}.neon-stage .television{background:repeating-linear-gradient(100deg,#ffffff05 0 2px,#0000 2px 7px),#29242f;border:min(1vw,11px) solid #08070b;border-radius:4.5% 4.5% 3.5% 3.5%/6% 6% 4% 4%;box-shadow:inset 0 0 0 3px #403849,inset 0 -18px #17131b,-9px 9px #ff4f9a21,9px 13px #46d7c817,0 24px 30px #000000b3}.neon-stage .tv-screen{background:repeating-linear-gradient(0deg,#688f8205 0 2px,#0000 2px 5px),radial-gradient(#13201e,#09110f 73%,#030605 100%);box-shadow:inset 0 0 42px #010302,0 0 8px #46d7c814}.neon-stage .project-feature__copy h2,.neon-stage .project-feature__copy h3{text-shadow:3px 3px #ff4f9a38}.neon-stage .project-stations button.is-selected span{color:#a82761}.neon-stage .tv-dial i{background:repeating-conic-gradient(#817687 0 7deg, #2d2732 8deg 14deg)}.controller-screw{background:#625d65}.manual-panel{background:radial-gradient(circle,#f1dcae06 0 1px,#0000 1.5px) 0 0/12px 12px,#14101a;border:clamp(4px,.5vw,8px) solid #30283a;box-shadow:12px 12px #050307}.manual-panel:before{border:2px dashed #ded2b41f}.project-quests,.project-quests article+article{border-color:#49404f}.panel-status,.education-strip{background:#211a27;border-color:#49404f}.paper-portrait{background:#402044;border-color:#49404f;box-shadow:10px 10px #f1c75e}.timeline,.paper-stats,.timeline article{border-color:#49404f}.contact-primary{box-shadow:7px 7px #ff4f9a}.site-control-guide{background:#15111b;border:6px double #e5d9b8;box-shadow:0 0 0 200vmax #030205db,10px 10px #a72d66}.neon-stage:before{width:min(86vw,1040px)}.project-feature{grid-template-columns:62% 1fr;gap:3.5%;height:59%}.project-feature__copy h2,.project-feature__copy h3{font-size:2.8em}.project-feature__copy>span{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.project-meta-line{border-top:1px dashed #46d7c842;gap:.55em;margin-top:1em;padding-top:.8em;display:grid}.project-meta-line i{color:#151019;text-transform:uppercase;background:#f1c75e;width:fit-content;padding:.35em .55em;font-size:.62em;font-style:normal;font-weight:900}.project-meta-line b{color:#aeb6c7;text-overflow:ellipsis;white-space:nowrap;font-size:.68em;overflow:hidden}.project-stations{gap:.8em;height:11%;margin-top:1.8%}.project-stations button{justify-content:center;align-items:center;gap:.7em;padding:.35em;display:flex}.project-stations button span{font-size:.72em;font-weight:900}.project-stations button i{width:1.65em}.controller-wrap{width:min(40vw,420px)}.controller-wrap.is-docked{width:min(31vw,330px)}.controller{isolation:isolate;aspect-ratio:2.28;background:radial-gradient(circle,#36313926 0 .7px,#0000 .9px) 0 0/5px 5px,#aaa4aa;border-radius:31% 31% 36% 36%/43% 43% 48% 48%;box-shadow:inset 0 -.75em #706a72,inset 0 0 0 .28em #cbc6c7,-.25em .3em #ff4f9a29,.3em .42em #46d7c81f,0 .7em #302b33}.controller:before,.controller:after{content:"";z-index:-1;border:inherit;background:radial-gradient(circle,#36313926 0 .7px,#0000 .9px) 0 0/5px 5px,#aaa4aa;border-top:0;width:35%;height:48%;position:absolute;bottom:-5%;box-shadow:inset 0 -.75em #706a72}.controller:before{border-radius:8% 8% 58% 58%/10% 10% 52% 52%;left:4.5%;transform:rotate(2deg)}.controller:after{border-radius:8% 8% 58% 58%/10% 10% 52% 52%;right:4.5%;transform:rotate(-2deg)}.controller-brand{z-index:6;top:35%;left:43%;right:43%}.controller-brand b{color:#7e3260;font-size:clamp(7px,.8vw,11px)}.controller-brand span{color:#5c5660;margin-top:.5em}.dpad{width:23%;top:22%;left:11%}.face-buttons{background:#79737b;width:28%;height:58%;top:20%;right:9%}.face-buttons button{width:39%}.face-buttons>span{bottom:-28%}.controller-cable,.utility-buttons,.controller-screw{display:none}@media (width<=620px){.neon-scene{width:96vw;min-height:650px}.neon-scene .television-wrap{width:92%;top:17%;left:4%}.controller-wrap:not(.is-docked){width:84%;bottom:13%}.controller-wrap.is-docked{width:min(76vw,300px)}}:root{--ink:#e8ebf6;--cream:#e8ebf6;--paper:#171925;--orange:#ff4f9a;--mustard:#ffc857;--avocado:#55e8da;--screen:#090d13;--screen-paper:#e7ebf6;--wood-dark:#080910;--wood:#151722;--wood-light:#242735;--controller:#20232f;--controller-dark:#0d0f16;--shadow:#000000ad}body{color:#e8ebf6;background:#05060b}.portfolio-page{color:#e8ebf6;background:radial-gradient(circle at 12% 18%,#ff3a990f,#0000 28%),radial-gradient(circle at 86% 40%,#37e2d90e,#0000 30%),linear-gradient(90deg,#8a91b905 1px,#0000 1px) 0 0/42px 42px,linear-gradient(#8a91b905 1px,#0000 1px) 0 0/42px 42px,#07080e}.neon-stage{isolation:isolate;background:linear-gradient(#05060b 0%,#0b0b15 58%,#080910 100%);place-items:center;width:100%;height:100svh;min-height:620px;scroll-margin-top:0;display:grid;position:relative;overflow:hidden}.neon-stage:before{content:"";z-index:-3;background:linear-gradient(90deg,#ffffff03,#0000 18% 82%,#ffffff03);border-left:1px solid #ff499d17;border-right:1px solid #51e8dd17;width:min(94vw,1180px);height:74%;position:absolute;top:0;left:50%;transform:translate(-50%)}.neon-backdrop{z-index:-4;position:absolute;inset:0;overflow:hidden}.neon-backdrop:before{content:"";filter:blur(24px);background:radial-gradient(#57428f33,#0a0c1605 63%,#0000 72%);border-radius:50%;width:min(88vw,980px);height:58%;position:absolute;top:11%;left:50%;transform:translate(-50%)}.neon-backdrop i{filter:blur(34px);opacity:.5;border-radius:50%;animation:7s ease-in-out infinite alternate neon-breathe;position:absolute}.neon-backdrop i:first-child{aspect-ratio:1;background:#ff31943d;width:clamp(110px,18vw,280px);top:21%;left:3%}.neon-backdrop i:nth-child(2){aspect-ratio:1;background:#28e2dc33;width:clamp(140px,22vw,340px);animation-delay:-3s;top:12%;right:1%}.neon-backdrop i:last-child{background:#6f4bd52e;width:clamp(180px,30vw,470px);height:18%;animation-delay:-5s;bottom:4%;left:35%}@keyframes neon-breathe{0%{opacity:.3;transform:scale(.92)translate(-2%,1%)}to{opacity:.58;transform:scale(1.08)translate(2%,-1%)}}.neon-horizon{z-index:-2;opacity:.18;transform-origin:bottom;background:linear-gradient(#4ee2db38 1px,#0000 1px) 0 0/100% 44px,linear-gradient(90deg,#ff499d2b 1px,#0000 1px) 0 0/76px 100%;height:52%;position:absolute;bottom:-15%;left:-12%;right:-12%;transform:perspective(460px)rotateX(63deg);-webkit-mask-image:linear-gradient(#0000,#000 42%);mask-image:linear-gradient(#0000,#000 42%)}.stage-identity{z-index:8;color:#858ba5;letter-spacing:.16em;justify-content:space-between;align-items:center;font-size:clamp(7px,.72vw,11px);font-weight:800;display:flex;position:absolute;top:3.2%;left:3.5%;right:3.5%}.stage-identity p,.stage-identity i{margin:0;font-style:normal}.stage-identity span{color:#ff5b9f;margin-right:1em}.neon-scene{z-index:5;aspect-ratio:1.42;width:min(94vw,1080px,142svh - 68.16px);position:relative}.neon-scene .television-wrap{width:86%;top:5.5%;left:7%}.neon-stage .tv-antenna{display:none}.neon-stage .television{background:linear-gradient(145deg,#ffffff17,#0000 17%),linear-gradient(120deg,#252834,#11131b 58%,#1c1e29);border:min(.85vw,10px) solid #06070c;border-radius:5.5% 5.5% 4% 4%/7% 7% 5% 5%;grid-template-columns:1fr 13%;gap:2%;padding:2.8%;box-shadow:inset 0 0 0 2px #363a49,inset 0 -18px 28px #00000094,-14px 8px 48px #ff389521,16px 10px 52px #2ee2db1f,0 22px 38px #000000bf}.neon-stage .tv-bezel{background:#05070b;box-shadow:inset 0 0 0 2px #272b37,0 0 0 1px #56e7db29,3px 3px #020305}.neon-stage .tv-screen{color:#e9edf7;background:radial-gradient(at 48% 42%,#15222aeb,#080d12 72%,#020406 100%);border-color:#020407;box-shadow:inset 0 0 42px #010205,0 0 16px #4de5da14}.neon-stage .tv-statusbar{color:#8e96ac;background:#020508b8;border-color:#55e8da2b}.neon-stage .screen-heading{border-color:#5ae1d757}.neon-stage .screen-heading span,.neon-stage .project-feature__copy>p{color:#ff67a8}.neon-stage .screen-heading>p{color:#55e8da}.neon-stage .project-feature__copy h2,.neon-stage .project-feature__copy h3{color:#f4f6fd;text-shadow:.06em .06em #ff479957}.neon-stage .project-feature__copy>span,.neon-stage .project-feature__copy dd{color:#b6bdce}.neon-stage .project-feature__copy dt{color:#667187}.neon-stage .project-feature__copy dl,.neon-stage .project-feature__copy dl div{border-color:#61ded638}.neon-stage .tech-line i{color:#aab3c7;background:#ffffff06;border-color:#ff5b9f3d}.neon-stage .project-artwork{box-shadow:0 0 0 1px rgba(var(--glow-rgb), .72), 0 0 20px rgba(var(--glow-rgb), .13), inset 0 0 24px #000;border-color:#05070b}.neon-stage .project-stations button{color:#8f97a9;background:#020509b8;border-color:#64718b45}.neon-stage .project-stations button span{color:#ff5b9f}.neon-stage .project-stations button i{color:#06080d;background:#55e8da}.neon-stage .project-stations button.is-selected{color:#f4f6fd;background:linear-gradient(135deg,#55e8da29,#ff5b9f1c);border-color:#55e8dacc;box-shadow:0 0 12px #55e8da21,inset 3px 0 #ff5b9f}.neon-stage .project-stations button.is-selected i{color:#05070b;background:#ff5b9f}.neon-stage .screen-prompt{color:#7f879c}.neon-stage .screen-prompt kbd{color:#061013;background:#55e8da;border-color:#55e8da}.neon-stage .screen-prompt span kbd{color:#12060c;background:#ff5b9f;border-color:#ff5b9f}.neon-stage .crt-glass{background:linear-gradient(#8fb7cb06 50%,#0000001c 50%) 0 0/100% 4px,radial-gradient(at 44% 4%,#96dbe914,#0000 34%),radial-gradient(#0000 63%,#0000007a 100%)}.neon-stage .tv-logo b{color:#55e8da}.neon-stage .tv-logo span{color:#646b7d}.neon-stage .tv-dial i{background:repeating-conic-gradient(#4c5161 0 7deg, #171923 8deg 14deg);border-color:#08090e;box-shadow:0 3px #05060a,0 0 9px #55e8da1a}.neon-stage .tv-dial span{color:#6e7487}.stage-instruction{z-index:7;color:#6f768a;letter-spacing:.15em;justify-content:center;align-items:center;gap:1.2em;margin:0;font-size:clamp(6px,.62vw,10px);font-weight:900;display:flex;position:absolute;bottom:1.8%;left:0;right:0}.stage-instruction i{background:linear-gradient(90deg,#ff5b9f,#55e8da);width:2.8em;height:1px;box-shadow:0 0 8px #55e8da80}.controller-cable,.controller-cable i{border-color:#0c0d13}.controller{background:linear-gradient(#ffffff14,#0000 30%),linear-gradient(135deg,#292c38,#171923 64%,#20222d);border-color:#090a10;box-shadow:inset 0 -.9em #10121a,inset 0 0 0 .25em #343846,-.35em .35em 1.4em #ff489b1c,.45em .55em 1.5em #46e4db1a,0 .7em #07080d}.controller:after{background:#00000029}.controller-screw{background:#555b6c;box-shadow:inset 1px 1px #11131a}.controller-brand b{color:#ff5b9f;text-shadow:0 0 7px #ff5b9f61}.controller-brand span{color:#6e7485}.utility-buttons button{color:#6d7384}.utility-buttons button i{background:#343846;box-shadow:0 .35em #0c0e14}.face-buttons button{color:#07080d;border-color:#3e4250;box-shadow:0 .35em #08090e}.face-buttons>span{color:#676d7f}.portfolio-content{background:0 0}.manual-panel{color:#dfe4f2;background:linear-gradient(135deg,#ffffff06,#0000 24%),linear-gradient(90deg,#0000 49.9%,#5eded606 50%,#0000 50.1%),#0c0e16f5;border-color:#232633;box-shadow:14px 16px #030409,-10px 0 46px #ff3d980b,12px 10px 52px #47e2db0a}.manual-panel:before{border-color:#5ce6db1c}.panel-index{color:#b8c0d3;background:#080a10;box-shadow:inset 3px 0 #ff5b9f}.manual-heading h2,.profile-copy h2,.contact-panel h2{color:#f3f5fb}.manual-heading>span{color:#071012;background:#55e8da}.panel-summary{color:#bec5d5}.project-quests,.project-quests article+article{border-color:#323746}.project-quests article>span,.timeline article>div:first-child span,.education-strip span,.skill-cards article>span{color:#ff5b9f}.project-quests h3,.timeline h3,.skill-cards h3{color:#edf0f8}.project-quests p,.profile-copy>p,.timeline li,.contact-panel>p{color:#adb5c7}.panel-status{color:#c6cede;background:#090b11;border:1px solid #252a37}.panel-status>span{color:#070a0d;background:#55e8da;box-shadow:0 0 12px #55e8da26}.paper-portrait{color:#eef2fa;background:linear-gradient(145deg,#3b1940,#151d35);border-color:#252936;box-shadow:12px 12px #090b11,-8px -6px 25px #ff5b9f1f,8px 8px 25px #55e8da17}.paper-portrait:before{border-color:#55e8da59}.paper-stats{border-color:#343947}.paper-stats div{border-color:#6b768f47}.timeline{border-color:#343947}.timeline article{border-color:#2b2f3d}.education-strip{color:#cbd2e1;background:#090b11;border-left:3px solid #55e8da}.skill-cards article{background:#ffffff03;border-color:#303543;box-shadow:8px 8px #05070b}.skill-cards li{color:#afb7c9;border-color:#6774914d}.contact-primary{color:#070a0d;background:#55e8da;box-shadow:8px 8px #071014,0 0 24px #55e8da1a}.contact-panel nav a{color:#cbd2e1;border-color:#343a49}.contact-panel nav a:hover{color:#071014;background:#55e8da;border-color:#55e8da}.contact-panel>small{color:#7d8599}.site-control-guide{color:#e7ebf5;background:#0b0e15;border-color:#414757;box-shadow:0 0 0 200vmax #020307db,-12px 10px 38px #ff5b9f24,14px 12px 40px #55e8da1f}.site-control-guide>p{color:#ff5b9f}.site-control-guide dl div{border-color:#5d6b854d}.site-control-guide dt{color:#55e8da}.site-control-guide dd{color:#b3bbcd}.site-control-guide>small{color:#71798d}.site-control-guide button{color:#07090d;background:#55e8da}.site-status button{color:#cbd2e1;background:#0a0c12f2;border-color:#303543;box-shadow:3px 3px #030408}.site-status button[aria-pressed=true]{color:#071012;background:#55e8da;border-color:#55e8da}@media (width<=620px){.neon-stage{min-height:680px}.neon-scene{aspect-ratio:auto;width:96vw;height:calc(100svh - 34px);min-height:650px}.neon-scene .television-wrap{width:100%;top:14%;left:0}.stage-identity{top:3%;left:5%;right:5%}.stage-identity i{display:none}.stage-instruction{text-align:center;padding:0 12%;line-height:1.5;bottom:3.5%}.controller-wrap:not(.is-docked){bottom:12%}.project-quests article+article{border-top-color:#323746}}.neon-stage .game-carousel-screen{color:#202020;grid-template-rows:14% 1fr 10% 7%;gap:2.4%;padding:3.2% 4.4% 3.5%;display:grid}.game-selector-hud{color:#202020;background:#f8d878;border:.34em solid #202020;grid-template-columns:1fr auto 1fr;align-items:center;min-width:0;padding:0 3%;display:grid;box-shadow:.48em .48em #c84c0c}.game-selector-hud span,.game-selector-hud b{letter-spacing:.06em;white-space:nowrap;font-size:.72em;font-weight:950}.game-selector-hud b{color:#0058a8;justify-self:end}.game-selector-hud h1{font:950 2.05em/.82 var(--font-geist-sans), sans-serif;letter-spacing:-.055em;text-align:center;text-shadow:.08em .08em #fff1cf;text-transform:uppercase;margin:0}.game-carousel{grid-template-columns:13% minmax(0,1fr) 13%;align-items:center;gap:2.4%;min-width:0;min-height:0;display:grid;position:relative}.featured-game{color:#202020;background:#fff1cf;border:.42em solid #202020;grid-template-columns:59% minmax(0,1fr);width:100%;min-width:0;height:94%;margin:0;animation:.25s steps(4,end) both cartridge-load;display:grid;overflow:hidden;box-shadow:.58em .58em #c84c0c}@keyframes cartridge-load{0%{opacity:.35;transform:translateY(-.5em)}60%{opacity:1;transform:translateY(.16em)}to{transform:none}}.featured-game__art{background-color:#202020;background-image:var(--card-art);background-position:50%;background-size:cover;border-right:.42em solid #202020;min-width:0;position:relative;overflow:hidden}.featured-game__art:after{content:"";pointer-events:none;background:linear-gradient(#0000 72%,#20202047);position:absolute;inset:0}.featured-game__art>span{z-index:1;color:#fff1cf;letter-spacing:.08em;background:#00a800;border:.2em solid #202020;padding:.45em .68em;font-size:.62em;font-weight:950;position:absolute;top:.75em;left:.75em;box-shadow:.22em .22em #005800}.featured-game__label{align-self:center;min-width:0;padding:9% 9.5%}.featured-game__label small{color:#c84c0c;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.9em;font-size:.62em;font-weight:950;display:block}.featured-game__label h2{color:#202020;font:950 2.75em/.82 var(--font-geist-sans), sans-serif;letter-spacing:-.07em;overflow-wrap:anywhere;text-shadow:.08em .08em #f8d878;text-transform:uppercase;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.featured-game__label p{color:#fff1cf;text-transform:uppercase;background:#0058a8;width:fit-content;margin:1.2em 0 0;padding:.48em .66em;font-size:.62em;font-weight:950;line-height:1.2;box-shadow:.24em .24em #202020}.side-game{color:#fff1cf;cursor:pointer;background:#c84c0c;border:.34em solid #202020;justify-content:space-between;align-items:center;width:100%;min-width:0;height:64%;padding:.65em;display:flex;position:relative;overflow:hidden;box-shadow:.4em .4em #8f3907}.side-game i{background-image:var(--card-art);filter:saturate(.82)brightness(.68);background-position:50%;background-size:cover;position:absolute;inset:0}.side-game:after{content:"";background:#0058a847;position:absolute;inset:0}.side-game span,.side-game b{z-index:1;aspect-ratio:1;background:#c84c0c;border:.18em solid #202020;place-items:center;min-width:1.65em;font-size:.68em;font-style:normal;font-weight:950;display:grid;position:relative}.side-game--previous{transform:translate(12%)}.side-game--next{transform:translate(-12%)}.world-slots{grid-template-columns:repeat(6,1fr);align-items:stretch;gap:.7em;min-width:0;display:grid}.world-slots button{color:#fff1cf;cursor:pointer;background:#0058a8;border:.28em solid #202020;min-width:0;padding:0;position:relative;box-shadow:.3em .3em #202020}.world-slots button span{place-items:center;height:100%;font-size:.72em;font-weight:950;display:grid}.world-slots button.is-selected{color:#202020;background:#f8d878;transform:translateY(-.18em);box-shadow:.3em .3em #c84c0c}.world-slots button.is-selected:before{content:"";border-bottom:.5em solid #202020;border-left:.38em solid #0000;border-right:.38em solid #0000;width:0;height:0;position:absolute;top:-.72em;left:50%;transform:translate(-50%)}.carousel-prompt{color:#fff1cf;letter-spacing:.05em;background:#202020;justify-content:space-between;align-items:center;min-width:0;margin:0;padding:0 1.1em;font-size:.62em;font-weight:950;display:flex}@media (width<=620px){.game-selector-hud{padding-inline:2.4%}.game-selector-hud span,.game-selector-hud b,.carousel-prompt{font-size:.58em}.featured-game{grid-template-columns:57% minmax(0,1fr)}.featured-game__label h2{font-size:2.35em}}.controller-readout{color:#3d3235;-webkit-backdrop-filter:none;backdrop-filter:none;background:#c9b0a8;border:.18em solid #66565b;box-shadow:.28em .28em #30282c}.controller{aspect-ratio:2.45;background:linear-gradient(#ffffff47,#0000 28%),radial-gradient(circle,#48343936 0 .62px,#0000 .86px) 0 0/4px 4px,#c9b0a8;border-color:#4c3f43;border-radius:24%/46%;overflow:hidden;box-shadow:inset 0 -.58em #8b7477,inset 0 0 0 .2em #dbc6bf,0 .56em #4d3e44,0 .82em #282126}.controller:before{content:"";z-index:9;background:#09080d;border:0;border-radius:52% 52% 0 0/86% 86% 0 0;width:31%;height:20%;display:block;position:absolute;bottom:-.12em;left:50%;transform:translate(-50%);box-shadow:0 -.18em #5a484e}.controller:after,.controller-brand{display:none}.dpad{isolation:isolate;filter:drop-shadow(0 .3em #4a3d42);width:22%;top:20%;left:10.5%}.dpad:before{content:"";z-index:-1;background:#694f541a;border:.13em solid #97485657;border-radius:50%;position:absolute;inset:-23%;box-shadow:inset 0 .28em .58em #412b3233}.dpad button,.dpad>i{color:#8f384c;background:#342e32;border:1px solid #241f22;box-shadow:inset .08em .08em .12em #ffffff1f}.dpad>i:after{background:#211d20;box-shadow:inset .08em .08em #5b4d52}.face-buttons{isolation:isolate;background:#3f363b;width:30%;height:66%;top:17%;right:8%;transform:rotate(-8deg);box-shadow:inset 0 0 0 .13em #2c2529,inset 0 .3em .6em #120e1059}.face-buttons:before{content:"";z-index:0;background:#594c52;border-radius:999px;width:94%;height:38%;position:absolute;top:31%;left:3%;transform:rotate(-35deg)}.face-buttons button{z-index:1;color:#0000;width:35%;text-shadow:none;border:.24em solid #b9a39c;outline:.12em solid #251f22}.face-buttons button:after{color:#d7c2af;text-indent:0;text-shadow:.08em .08em #211a1e;font-size:clamp(6px,.7vw,10px);font-weight:950;line-height:1;position:absolute;top:calc(100% + .38em);left:50%;transform:translate(-50%)}.face-buttons .face-b{background:#9e3551;bottom:17%;left:8%;box-shadow:0 .3em #572033}.face-buttons .face-b:after{content:"B"}.face-buttons .face-a{background:#278a96;top:9%;right:9%;box-shadow:0 .3em #14515a}.face-buttons .face-a:after{content:"A"}.face-buttons>span{display:none}.controller-wrap,.controller-wrap.is-docked{width:min(40vw,420px);bottom:2.8vh;left:50%;right:auto;transform:translate(-50%)}.controller-wrap.is-docked:before,.portfolio-page.is-browsing:after{display:none}.portfolio-page.is-browsing .portfolio-content{width:min(92vw,1280px);margin:0 auto;padding:clamp(70px,9vw,130px) 0 clamp(220px,24vw,340px)}.portfolio-page.is-browsing .site-status span{display:block}.portfolio-page.is-browsing .manual-panel{--controller-track:clamp(350px, 34vw, 440px);--controller-clearance:clamp(188px, 22vh, 225px);background:radial-gradient(at 50% 102%,#9c334a1c,#0000 30%),linear-gradient(135deg,#ffffff06,#0000 24%),linear-gradient(90deg,#0000 49.9%,#5eded606 50%,#0000 50.1%),#0c0e16f5;height:calc(100svh - 36px);min-height:700px;padding:clamp(32px,4vh,48px) clamp(32px,4.2vw,60px) clamp(24px,3vh,34px);overflow:hidden}.portfolio-page.is-browsing .manual-panel>*{z-index:1;position:relative}.portfolio-page.is-browsing .panel-index{position:absolute}.portfolio-page.is-browsing .project-detail-panel{grid-template-columns:minmax(0, 1fr) var(--controller-track) minmax(0, 1fr);grid-template-rows:auto minmax(0,1fr);gap:clamp(10px,1.4vh,16px) clamp(12px,1.2vw,18px);display:grid}.portfolio-page.is-browsing .project-detail-panel .manual-heading{grid-area:1/1/auto/3;margin-top:1.5em;padding-bottom:clamp(12px,1.7vh,18px)}.portfolio-page.is-browsing .project-detail-panel .manual-heading h2{font-size:clamp(38px,5vw,70px)}.portfolio-page.is-browsing .project-detail-panel .panel-summary{grid-area:1/3;align-self:end;max-width:none;margin:2.1em 0 clamp(12px,1.7vh,18px);font-size:clamp(13px,1.18vw,17px);line-height:1.38}.portfolio-page.is-browsing .project-detail-panel .project-quests{grid-area:2/1/auto/-1;grid-template-columns:minmax(0, 1fr) var(--controller-track) minmax(0, 1fr);border:0;grid-template-rows:minmax(0,1fr);gap:clamp(10px,1.4vh,16px) clamp(12px,1.2vw,18px);min-height:0;display:grid}.portfolio-page.is-browsing .project-quests article{border:2px solid #323746;min-height:0;padding:clamp(14px,1.6vw,23px)}.portfolio-page.is-browsing .project-quests article+article{border-left:2px solid #323746}.portfolio-page.is-browsing .project-quests article:first-child{grid-area:1/1}.portfolio-page.is-browsing .project-quests article:nth-child(2){height:calc(100% - var(--controller-clearance));grid-area:1/2;align-self:start;min-height:300px;overflow:hidden}.portfolio-page.is-browsing .project-quests article:nth-child(3){grid-area:1/3}.portfolio-page.is-browsing .project-quests h3{margin:1em 0 .55em;font-size:clamp(16px,1.55vw,22px)}.portfolio-page.is-browsing .project-quests p{margin-bottom:0;font-size:clamp(11px,.96vw,14px);line-height:1.42}.portfolio-page.is-browsing .project-loadout{gap:.46em;margin:clamp(12px,1.6vh,18px) 0 0;display:grid}.portfolio-page.is-browsing .project-loadout div{border-top:1px dashed #67749159;grid-template-columns:24% 1fr;gap:.8em;padding-top:.46em;display:grid}.portfolio-page.is-browsing .project-loadout dt{color:#ff5b9f;font-size:clamp(7px,.62vw,9px);font-weight:900}.portfolio-page.is-browsing .project-loadout dd{color:#cbd1e0;margin:0;font-size:clamp(8px,.72vw,11px);font-weight:800}.portfolio-page.is-browsing .project-tech{flex-wrap:wrap;gap:.38em;margin-top:clamp(10px,1.3vh,15px);display:flex}.portfolio-page.is-browsing .project-tech span{color:#adb5c7;border:1px solid #343947;padding:.35em .5em;font-size:clamp(7px,.62vw,9px)}.portfolio-page.is-browsing .quest-contribution .panel-status{gap:.55em;min-height:34px;margin-top:clamp(10px,1.3vh,15px);padding:.45em .55em}.portfolio-page.is-browsing .quest-contribution .panel-status>span{width:2em}.portfolio-page.is-browsing .quest-contribution .panel-status p,.portfolio-page.is-browsing .quest-contribution .panel-status a,.portfolio-page.is-browsing .quest-contribution .panel-status i{font-size:clamp(7px,.62vw,9px)}.portfolio-page.is-browsing .player-panel{display:grid}.portfolio-page.is-browsing .profile-layout{grid-template-columns:minmax(0, 1fr) var(--controller-track) minmax(0, 1fr);grid-template-rows:auto minmax(0,1fr);align-self:stretch;gap:clamp(14px,2vh,24px) clamp(12px,1.2vw,18px);margin-top:2.2em;display:grid}.portfolio-page.is-browsing .paper-portrait{grid-area:1/1/-1;place-self:start center;width:min(88%,280px);max-height:min(62vh,520px)}.portfolio-page.is-browsing .profile-identity{border-bottom:4px solid #303544;grid-area:1/2/auto/-1;align-self:start;padding-bottom:clamp(12px,1.7vh,18px)}.portfolio-page.is-browsing .profile-copy h2{font-size:clamp(38px,5vw,70px)}@media (width>=901px){.portfolio-page.is-browsing .profile-copy h2{white-space:nowrap}}.portfolio-page.is-browsing .profile-copy h3{margin:.45em 0 .85em}.portfolio-page.is-browsing .profile-bio{background:#ffffff03;border:2px solid #343947;grid-area:2/3;align-self:stretch;padding:clamp(18px,2vw,28px);box-shadow:8px 8px #05070b}.portfolio-page.is-browsing .profile-bio p{color:#adb5c7;margin:0 0 1em;font-size:clamp(12px,1.08vw,15px);line-height:1.55}.portfolio-page.is-browsing .paper-stats{height:calc(100% - var(--controller-clearance));background:#ffffff03;border:2px solid #343947;grid-area:2/2;grid-template-columns:repeat(2,minmax(0,1fr));align-self:start;min-height:260px;display:grid}.portfolio-page.is-browsing .paper-stats div{border:0;border-bottom:1px dashed #6b768f47;align-content:center;min-width:0;padding:clamp(12px,1.5vw,20px);display:grid}.portfolio-page.is-browsing .paper-stats div:nth-child(odd){border-right:1px dashed #6b768f47}.portfolio-page.is-browsing .paper-stats div:nth-child(n+3){border-bottom:0}.portfolio-page.is-browsing .career-panel,.portfolio-page.is-browsing .skills-panel{grid-template-rows:auto minmax(0,1fr);gap:clamp(10px,1.4vh,16px);display:grid}.portfolio-page.is-browsing .career-panel .manual-heading,.portfolio-page.is-browsing .skills-panel .manual-heading{margin-top:1.5em;padding-bottom:clamp(12px,1.7vh,18px)}.portfolio-page.is-browsing .career-panel .manual-heading h2,.portfolio-page.is-browsing .skills-panel .manual-heading h2{font-size:clamp(38px,5vw,70px)}.portfolio-page.is-browsing .education-strip{height:calc(100% - var(--controller-clearance));text-align:left;border:2px solid #343947;border-left:3px solid #55e8da;flex-direction:column;grid-area:2/2;justify-content:center;align-self:start;align-items:flex-start;gap:clamp(10px,1.5vh,18px);min-height:230px;margin:0;padding:clamp(18px,2vw,28px);display:flex}.portfolio-page.is-browsing .education-strip b{font-size:clamp(17px,1.55vw,22px)}.portfolio-page.is-browsing .education-strip p{font-size:clamp(10px,.9vw,13px);line-height:1.5}.portfolio-page.is-browsing .timeline{grid-template-columns:minmax(0, 1fr) var(--controller-track) minmax(0, 1fr);border:0;grid-template-rows:auto minmax(0,1fr);gap:clamp(10px,1.4vh,16px) clamp(12px,1.2vw,18px);min-height:0;margin:0;display:grid}.portfolio-page.is-browsing .timeline article{border:2px solid #2b2f3d;padding:clamp(13px,1.7vh,20px)}.portfolio-page.is-browsing .timeline article:first-child{grid-area:1/1/auto/-1}.portfolio-page.is-browsing .timeline article:nth-child(2){grid-area:2/1;grid-template-columns:1fr;gap:.8em}.portfolio-page.is-browsing .timeline article:nth-child(3){grid-area:2/3;grid-template-columns:1fr;gap:.8em}.portfolio-page.is-browsing .timeline h3{font-size:clamp(17px,1.65vw,23px)}.portfolio-page.is-browsing .timeline h4{margin:.3em 0 .7em;font-size:clamp(11px,1vw,14px)}.portfolio-page.is-browsing .timeline ul{gap:.38em}.portfolio-page.is-browsing .timeline li{font-size:clamp(10px,.9vw,13px);line-height:1.38}.portfolio-page.is-browsing .skills-panel{grid-template-rows:auto minmax(0,1fr)}.portfolio-page.is-browsing .skill-cards{grid-template-columns:minmax(0, 1fr) var(--controller-track) minmax(0, 1fr);grid-template-rows:minmax(0,1fr);gap:clamp(10px,1.4vh,16px) clamp(12px,1.2vw,18px);min-height:0;margin:0;display:grid}.portfolio-page.is-browsing .skill-cards article{padding:clamp(14px,1.6vw,22px)}.portfolio-page.is-browsing .skill-cards article:first-child{height:calc(100% - var(--controller-clearance));flex-direction:column;grid-area:1/2;align-self:start;min-height:330px;display:flex}.portfolio-page.is-browsing .skill-cards article:nth-child(2){grid-area:1/1}.portfolio-page.is-browsing .skill-cards article:nth-child(3){grid-area:1/3}.portfolio-page.is-browsing .skill-cards h3{min-height:0;margin:.9em 0 .7em;font-size:clamp(16px,1.5vw,21px)}.portfolio-page.is-browsing .skill-cards article:first-child h3{margin:.9em 0 .7em}.portfolio-page.is-browsing .skill-cards article:first-child ul{flex:1;grid-template-columns:1fr;align-content:stretch}.portfolio-page.is-browsing .skill-cards ul{gap:.42em}.portfolio-page.is-browsing .skill-cards li{padding:.48em;font-size:clamp(9px,.84vw,12px)}.portfolio-page.is-browsing .contact-panel{grid-template-columns:minmax(0, 1fr) var(--controller-track) minmax(0, 1fr);gap:clamp(12px,2vh,22px) clamp(12px,1.2vw,18px);place-items:initial;text-align:left;grid-template-rows:auto auto auto minmax(0,1fr);display:grid}.portfolio-page.is-browsing .contact-panel>p:first-of-type,.portfolio-page.is-browsing .contact-panel h2,.portfolio-page.is-browsing .contact-panel>p:not(:first-of-type){text-align:center;grid-column:1/-1;justify-self:center}.portfolio-page.is-browsing .contact-panel>p:first-of-type{grid-row:1;align-self:end}.portfolio-page.is-browsing .contact-panel h2{grid-row:2;max-width:980px}.portfolio-page.is-browsing .contact-panel>p:not(:first-of-type){grid-row:3}.portfolio-page.is-browsing .contact-primary{text-align:center;border:2px solid #343a49;flex-direction:column;grid-area:4/1;justify-content:center;place-self:stretch stretch;min-width:0;display:flex}.portfolio-page.is-browsing .contact-panel nav{background:#ffffff03;border:2px solid #343a49;flex-direction:column;grid-area:4/3;justify-content:center;place-self:stretch stretch;padding:clamp(18px,2vw,28px);display:flex}.portfolio-page.is-browsing .contact-primary>small,.portfolio-page.is-browsing .contact-panel nav>small,.portfolio-page.is-browsing .contact-console-card>span{color:#ff5b9f;letter-spacing:.13em;font-size:clamp(8px,.72vw,11px);font-weight:900}.portfolio-page.is-browsing .contact-panel nav a{text-align:center}.portfolio-page.is-browsing .contact-console-card{height:calc(100% - var(--controller-clearance));text-align:center;background:#090b11;border:2px solid #343a49;grid-area:4/2;align-content:center;align-self:start;gap:clamp(10px,1.4vh,16px);min-height:250px;padding:clamp(18px,2vw,28px);display:grid}.portfolio-page.is-browsing .contact-console-card strong{color:#edf0f8;font-size:clamp(17px,1.65vw,24px);line-height:1.05}.portfolio-page.is-browsing .contact-console-card a{color:#55e8da;font-size:clamp(9px,.82vw,12px);font-weight:800;text-decoration:none}.portfolio-page.is-browsing .contact-console-card small{color:#7d8599;font-size:clamp(8px,.72vw,11px)}@media (width<=900px){.controller-wrap,.controller-wrap.is-docked{width:min(88vw,420px);bottom:2.8vh}.portfolio-page.is-browsing .portfolio-content{width:min(92vw,640px);padding-top:72px}.portfolio-page.is-browsing .manual-panel{--controller-track:0px;height:auto;min-height:calc(100svh - 24px);padding:48px 24px clamp(190px,50vw,230px);overflow:visible}.portfolio-page.is-browsing .project-detail-panel,.portfolio-page.is-browsing .profile-layout,.portfolio-page.is-browsing .timeline,.portfolio-page.is-browsing .skill-cards,.portfolio-page.is-browsing .contact-panel{grid-template-rows:auto;grid-template-columns:1fr;display:grid}.portfolio-page.is-browsing .project-detail-panel>*,.portfolio-page.is-browsing .project-quests article,.portfolio-page.is-browsing .profile-layout>*,.portfolio-page.is-browsing .paper-stats,.portfolio-page.is-browsing .timeline article,.portfolio-page.is-browsing .education-strip,.portfolio-page.is-browsing .skill-cards article,.portfolio-page.is-browsing .contact-panel>*{grid-area:auto/1!important}.portfolio-page.is-browsing .project-detail-panel .panel-summary{margin:0}.portfolio-page.is-browsing .project-quests article:nth-child(2),.portfolio-page.is-browsing .paper-stats,.portfolio-page.is-browsing .education-strip,.portfolio-page.is-browsing .skill-cards article:first-child,.portfolio-page.is-browsing .contact-console-card{height:auto;min-height:0}.portfolio-page.is-browsing .project-quests article:nth-child(2),.portfolio-page.is-browsing .skill-cards article:first-child{display:block;overflow:visible}.portfolio-page.is-browsing .paper-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-page.is-browsing .paper-stats div{grid-column:auto!important}.portfolio-page.is-browsing .timeline article:nth-child(2),.portfolio-page.is-browsing .timeline article:nth-child(3),.portfolio-page.is-browsing .skill-cards article:first-child ul{grid-template-columns:1fr}.portfolio-page.is-browsing .contact-panel{text-align:center}.portfolio-page.is-browsing .contact-primary,.portfolio-page.is-browsing .contact-panel nav,.portfolio-page.is-browsing .contact-console-card{place-self:center stretch}.portfolio-page.is-browsing .site-status span{display:none}}body{color:#171820;font-family:var(--font-nunito), ui-rounded, "Arial Rounded MT Bold", sans-serif;background:#f5f7fb}.portfolio-page{--font-geist-sans:var(--font-fredoka);--font-geist-mono:var(--font-nunito);--fun-ink:#171820;--fun-red:#ff4554;--fun-blue:#00bce8;--fun-yellow:#fff;--fun-green:#00bce8;--fun-cream:#f2f5fa;--fun-white:#fff;color:var(--fun-ink);font-family:var(--font-nunito), ui-rounded, "Arial Rounded MT Bold", sans-serif;background:radial-gradient(circle at 8px 8px,#17182014 0 3px,#0000 3.5px) 0 0/38px 38px,radial-gradient(circle at 82% 12%,#ff45544d 0 5vw,#0000 5.1vw),radial-gradient(circle at 9% 48%,#00bce84d 0 7vw,#0000 7.1vw),linear-gradient(118deg,#00bce8 0 31%,#f7f8fb 31% 69%,#ff4554 69% 100%)}.neon-stage{background:radial-gradient(at 12% 18%,#ffffffeb 0 5%,#0000 5.2%),radial-gradient(at 18% 19%,#ffffffeb 0 7%,#0000 7.2%),radial-gradient(at 87% 30%,#ffffffd6 0 6%,#0000 6.2%),linear-gradient(118deg,#00bce8 0 48.5%,#fff 48.5% 51.5%,#ff4554 51.5% 100%)}.neon-stage:before{background:radial-gradient(circle at 12% 72%,#fffffff0 0 2.8%,#0000 3%),radial-gradient(circle at 90% 24%,#00bce8b3 0 2.4%,#0000 2.6%),linear-gradient(90deg,#ffffff21,#0000 17% 83%,#ffffff21);border:0;border-radius:0 0 48% 48%;width:min(96vw,1240px);height:78%}.neon-backdrop:before{filter:none;background:radial-gradient(#ffffff7a,#0000 68%);border-radius:50%;width:min(94vw,1120px);height:76%;top:4%}.neon-backdrop i{border:7px solid var(--fun-ink);filter:none;opacity:.92;animation:6s ease-in-out infinite alternate fun-float}.neon-backdrop i:first-child{background:var(--fun-red)}.neon-backdrop i:nth-child(2){background:var(--fun-yellow)}.neon-backdrop i:last-child{background:var(--fun-blue);height:24%}@keyframes fun-float{0%{transform:translate(-2%,2%)rotate(-3deg)}to{transform:translate(2%,-2%)rotate(3deg)}}.stage-identity{color:var(--fun-ink);font-family:var(--font-fredoka), ui-rounded, sans-serif;letter-spacing:.08em;font-weight:650}.stage-identity span{color:#c82d36}.neon-stage .television{border-color:var(--fun-ink);background:radial-gradient(circle at 94% 11%,#ffffff61 0 1.7%,#0000 1.9%),linear-gradient(90deg,#eef3f8 0 82%,#ff4554 82% 100%);border-radius:9% 9% 7% 7%/11% 11% 8% 8%;box-shadow:inset 0 0 0 5px #00bce8,inset 0 -18px #1718201f,13px 16px #171820,0 30px 55px #17182042}.neon-stage .tv-corner{background:radial-gradient(circle at 35% 30%,#fff 0 15%,#171820 17% 56%,#08090d 58%)}.neon-stage .tv-bezel{box-shadow:inset 0 0 0 4px #d9e0e8, 0 0 0 3px var(--fun-ink), 5px 5px 0 var(--fun-blue);background:#fff;border-radius:7%/10%}.neon-stage .tv-screen{border-color:var(--fun-ink);border-radius:6%/9%;box-shadow:inset 0 0 22px #17182061}.neon-stage .tv-statusbar{color:var(--fun-ink);border-color:var(--fun-ink);background:#fffffff0;font-weight:900}.neon-stage .tv-statusbar span{color:#c82d36}.neon-stage .tv-statusbar i{color:#1f6fcc}.neon-stage .tv-controls{color:var(--fun-ink)}.neon-stage .tv-logo b{color:#fff;text-shadow:2px 2px #171820}.neon-stage .tv-logo span,.neon-stage .tv-dial span{color:#fff}.neon-stage .tv-dial i{border-color:var(--fun-ink);background:repeating-conic-gradient(#fff 0 7deg, #dce3ec 8deg 14deg);box-shadow:0 4px #171820}.neon-stage .tv-dial i:after{background:var(--fun-blue)}.neon-stage .tv-speaker i{background:#171820}.neon-stage .tv-power-light{background:var(--fun-blue);box-shadow:0 0 0 3px #fff}.neon-stage .tv-feet i{background:var(--fun-ink)}.neon-stage .game-carousel-screen,.game-selector-hud,.featured-game,.featured-game__label,.side-game,.world-slots button,.carousel-prompt{font-family:var(--font-fredoka), ui-rounded, sans-serif}.game-selector-hud,.featured-game,.side-game,.world-slots button,.carousel-prompt{border-color:var(--fun-ink);border-radius:.75em}.game-selector-hud{background:var(--fun-white);box-shadow:.48em .48em 0 var(--fun-red)}.game-selector-hud h1,.featured-game__label h2{color:var(--fun-ink);font-family:var(--font-fredoka), ui-rounded, sans-serif;letter-spacing:-.035em;font-weight:700}.featured-game{background:var(--fun-white);box-shadow:.58em .58em 0 var(--fun-red)}.featured-game__art{border-color:var(--fun-ink)}.featured-game__art>span{background:var(--fun-red);border-radius:999px}.featured-game__label small{color:#c82d36}.featured-game__label p{background:var(--fun-blue);border-radius:999px}.side-game{background:var(--fun-red);box-shadow:.4em .4em #9f2934}.side-game--next{background:var(--fun-blue);box-shadow:.4em .4em #007899}.side-game span,.side-game b{background:var(--fun-white);color:var(--fun-ink);border-radius:50%}.world-slots button{background:var(--fun-blue)}.world-slots button.is-selected{color:var(--fun-white);background:var(--fun-red);box-shadow:.3em .3em 0 var(--fun-ink)}.carousel-prompt{background:var(--fun-ink)}.carousel-prompt b{background:var(--fun-white);border-radius:999px}.stage-instruction{color:var(--fun-ink);font-family:var(--font-fredoka), ui-rounded, sans-serif;font-weight:650}.stage-instruction i{background:linear-gradient(90deg, var(--fun-red) 0 40%, var(--fun-white) 40% 60%, var(--fun-blue) 60%);height:5px;box-shadow:none;border-radius:999px}.controller-wrap{filter:drop-shadow(0 1em .75em #24345b4d)}.controller-readout{border-color:var(--fun-ink);color:var(--fun-ink);background:var(--fun-white);box-shadow:.28em .28em 0 var(--fun-blue);font-family:var(--font-fredoka), ui-rounded, sans-serif;border-radius:999px}.controller-readout span{color:#c82d36}.controller{border-color:var(--fun-ink);box-shadow:inset 0 -.58em 0 #cfd7e1, inset 0 0 0 .2em #fff, 0 .56em 0 var(--fun-red), 0 .82em 0 var(--fun-ink);background:linear-gradient(#ffffffd9,#0000 35%),radial-gradient(circle,#3688f529 0 .62px,#0000 .86px) 0 0/4px 4px,#fff}.controller:before{background:var(--fun-ink);box-shadow:0 -.18em #aeb7c3}.dpad:before{background:#3688f517;border-color:#3688f56b}.dpad button,.dpad>i{color:var(--fun-white);background:var(--fun-ink);border-color:#08090d}.dpad button:active{color:var(--fun-red);background:#08090d}.face-buttons button{border-color:var(--fun-white);outline-color:var(--fun-ink)}.face-buttons .face-b{background:var(--fun-red);box-shadow:0 .3em #9d2631}.face-buttons .face-a{background:var(--fun-blue);box-shadow:0 .3em #1e5daf}.face-buttons button:after{color:var(--fun-ink);text-shadow:none}.portfolio-page.is-browsing .manual-panel{color:var(--fun-ink);border:6px solid var(--fun-ink);box-shadow:14px 16px 0 var(--fun-red), 22px 28px 0 #24345b2e;background:radial-gradient(circle at 18px 18px,#00bce81c 0 4px,#0000 4.5px) 0 0/46px 46px,radial-gradient(circle at 94% 8%,#ff455429 0 4.5vw,#0000 4.6vw),linear-gradient(135deg,#fff,#f1f4f8);border-radius:clamp(22px,2.2vw,34px)}.portfolio-page.is-browsing .manual-panel:before{border:3px dashed #3688f54d;border-radius:clamp(14px,1.6vw,24px)}.panel-index{color:var(--fun-white);background:var(--fun-red);box-shadow:inset 5px 0 var(--fun-blue), 5px 5px 0 var(--fun-ink);font-family:var(--font-fredoka), ui-rounded, sans-serif;letter-spacing:.08em;border-radius:999px;top:12px;left:12px}.panel-index span{color:var(--fun-white)}.manual-heading{border-color:var(--fun-ink)}.manual-heading p,.profile-copy>p:first-child,.contact-panel>p:first-of-type{color:#c82d36}.manual-heading h2,.profile-copy h2,.contact-panel h2,.project-quests h3,.timeline h3,.skill-cards h3{color:var(--fun-ink);font-family:var(--font-fredoka), ui-rounded, sans-serif;letter-spacing:-.035em;font-weight:700}.manual-heading>span{color:var(--fun-white);background:var(--fun-blue);border-radius:999px}.panel-summary,.project-quests p,.profile-bio p,.timeline li,.contact-panel>p{color:#465477}.portfolio-page.is-browsing .project-quests article,.portfolio-page.is-browsing .profile-bio,.portfolio-page.is-browsing .paper-stats,.portfolio-page.is-browsing .timeline article,.portfolio-page.is-browsing .skill-cards article,.portfolio-page.is-browsing .contact-primary,.portfolio-page.is-browsing .contact-panel nav,.portfolio-page.is-browsing .contact-console-card{border-color:var(--fun-ink);box-shadow:7px 7px 0 var(--fun-red);background:#ffffffc7;border-radius:clamp(14px,1.3vw,21px)}.portfolio-page.is-browsing .project-quests article:nth-child(2),.portfolio-page.is-browsing .paper-stats,.portfolio-page.is-browsing .education-strip,.portfolio-page.is-browsing .skill-cards article:first-child,.portfolio-page.is-browsing .contact-console-card{box-shadow:7px 7px 0 var(--fun-blue);background:#e9faff}.project-quests article>span,.timeline article>div:first-child span,.education-strip span,.skill-cards article>span,.portfolio-page.is-browsing .project-loadout dt,.portfolio-page.is-browsing .contact-primary>small,.portfolio-page.is-browsing .contact-panel nav>small,.portfolio-page.is-browsing .contact-console-card>span{color:#c82d36}.portfolio-page.is-browsing .project-loadout div,.portfolio-page.is-browsing .project-tech span{border-color:#24345b59}.portfolio-page.is-browsing .project-tech span{background:var(--fun-white);border-radius:999px}.portfolio-page.is-browsing .project-loadout dd,.portfolio-page.is-browsing .project-tech span{color:#465477}.panel-status{border-color:var(--fun-ink);color:var(--fun-ink);background:var(--fun-white);border-radius:999px}.panel-status>span{color:var(--fun-white);background:var(--fun-blue);box-shadow:none;border-radius:50%}.panel-status a,.panel-status i{color:#c82d36}.paper-portrait{border-color:var(--fun-ink);color:var(--fun-white);background:var(--fun-white);box-shadow:12px 12px 0 var(--fun-white), 20px 20px 0 var(--fun-blue);border-radius:28%}.paper-portrait:before{display:none}.paper-portrait i,.paper-portrait b{background:var(--fun-white)}.profile-copy h3{color:#2172cc}.portfolio-page.is-browsing .profile-identity{border-color:var(--fun-ink)}.paper-stats dt{color:#c82d36}.paper-stats dd{color:var(--fun-ink)}.timeline article>div:first-child small{color:#6c7896}.timeline h4{color:#2172cc}.timeline li:before{color:var(--fun-red)}.portfolio-page.is-browsing .education-strip{border:3px solid var(--fun-ink);color:var(--fun-ink);border-radius:clamp(14px,1.3vw,21px)}.skill-cards li{color:#465477;background:#ffffff94;border-color:#24345b47;border-radius:10px}.skill-cards li:before{color:var(--fun-blue)}.portfolio-page.is-browsing .skill-cards article:nth-child(2){box-shadow:7px 7px 0 var(--fun-red)}.portfolio-page.is-browsing .skill-cards article:nth-child(3){box-shadow:7px 7px 0 var(--fun-blue)}.portfolio-page.is-browsing .contact-primary{color:var(--fun-white);background:var(--fun-blue);box-shadow:8px 8px 0 var(--fun-red)}.contact-primary span{color:var(--fun-white);background:var(--fun-red)}.portfolio-page.is-browsing .contact-panel nav{box-shadow:8px 8px 0 var(--fun-red)}.contact-panel nav a{border-color:var(--fun-ink);color:var(--fun-ink);background:var(--fun-white);border-radius:999px}.contact-panel nav a:hover{color:var(--fun-white);border-color:var(--fun-blue);background:var(--fun-blue)}.portfolio-page.is-browsing .contact-console-card{border-color:var(--fun-ink);color:var(--fun-ink)}.portfolio-page.is-browsing .contact-console-card strong{color:var(--fun-ink)}.portfolio-page.is-browsing .contact-console-card a{color:#1768c0}.portfolio-page.is-browsing .contact-console-card small{color:#65708d}.site-status{color:var(--fun-ink);text-shadow:none}.site-status button{border-color:var(--fun-ink);color:var(--fun-ink);background:var(--fun-white);box-shadow:3px 3px var(--fun-blue);font-family:var(--font-fredoka), ui-rounded, sans-serif;border-radius:999px}.site-status button[aria-pressed=true]{color:var(--fun-white);border-color:var(--fun-ink);background:var(--fun-red)}@media (width<=900px){.portfolio-page.is-browsing .manual-panel{box-shadow:8px 10px 0 var(--fun-red), 14px 17px 0 #24345b29;border-width:4px}}.project-screen-wrap{z-index:4;width:92%;position:absolute;top:8%;left:4%}.project-screen-frame{aspect-ratio:1.62;border:clamp(6px, .75vw, 10px) solid var(--fun-ink);width:100%;color:var(--fun-ink);background:var(--fun-white);box-shadow:-13px 14px 0 var(--fun-blue), 13px 28px 0 var(--fun-red), 0 36px 54px #1718203d;border-radius:clamp(28px,4vw,58px);outline:none;position:relative;overflow:hidden}.project-screen-frame:focus-visible{outline:5px solid var(--fun-white);outline-offset:6px}.project-screen-frame .tv-statusbar{border-bottom:4px solid var(--fun-ink);height:9%;color:var(--fun-ink);background:var(--fun-white);font-family:var(--font-fredoka), ui-rounded, sans-serif;border-radius:clamp(20px,3vw,44px) clamp(20px,3vw,44px) 0 0;padding-inline:4.5%}.project-screen-frame .tv-statusbar span{color:var(--fun-red)}.project-screen-frame .tv-statusbar i{color:#008aaa}@media (width<=620px){.neon-scene{width:96vw}.project-screen-wrap{width:98%;top:15%;left:1%}.project-screen-frame{aspect-ratio:1.48;box-shadow:-7px 8px 0 var(--fun-blue), 7px 15px 0 var(--fun-red);border-width:5px;border-radius:26px}.project-screen-frame .tv-statusbar{border-bottom-width:3px}}.controller-readout{background:var(--fun-white);box-shadow:-.25em .28em 0 var(--fun-blue), .25em .5em 0 var(--fun-red)}.dpad{filter:drop-shadow(0 .3em #007f9d)}.dpad:before{background:#ffffff57;border-color:#ffffffe6;box-shadow:inset 0 .28em .58em #17182029}.dpad button,.dpad>i{color:var(--fun-white);background:var(--fun-ink)}.face-buttons{background:#171820f0;box-shadow:inset 0 0 0 .14em #000,inset 0 .3em .6em #00000047}.face-buttons:before{background:#30323a}.face-buttons .face-a,.face-buttons .face-b{border-color:var(--fun-white);background:var(--fun-ink);box-shadow:0 .3em #000}.face-buttons button:after{color:var(--fun-white)}.neon-stage .game-carousel-screen{grid-template-rows:12% minmax(0,1fr) 8% 12%;gap:2%}.game-selector-hud span{color:var(--fun-red)}.game-selector-hud b{color:#008aaa}.side-game--previous i{-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 34%);mask-image:linear-gradient(90deg,#0000 0%,#000 34%)}.side-game--next i{-webkit-mask-image:linear-gradient(270deg,#0000 0%,#000 34%);mask-image:linear-gradient(270deg,#0000 0%,#000 34%)}.carousel-prompt{border:.22em solid var(--fun-ink);box-shadow:.32em .32em 0 var(--fun-blue);border-radius:999px;padding-inline:1.5em;font-size:.7em}.carousel-prompt b{color:var(--fun-white);background:var(--fun-red);padding:.48em 1em}@media (width<=620px){.carousel-prompt{padding-inline:.75em;font-size:.56em}}.project-screen-frame .tv-content{border-radius:inherit;inset:0}.neon-stage .tv-content{background:#f6f6f7}.neon-stage .switch-project-menu{color:#242428;font-family:var(--font-fredoka), ui-rounded, sans-serif;background:linear-gradient(#fffffff0,#f6f6f7fa),#f6f6f7;grid-template-rows:9% 18% minmax(0,1fr) 9% 10%;gap:2.2%;padding:3.8% 5% 3.2%;display:grid}.switch-library-header{color:#76767c;letter-spacing:.08em;border-bottom:1px solid #d7d7da;justify-content:space-between;align-items:flex-start;min-width:0;font-size:.7em;font-weight:650;display:flex}.switch-library-header span,.switch-library-header b{font:inherit}.switch-project-heading{justify-content:space-between;align-items:flex-end;gap:2em;min-width:0;animation:.18s ease-out both switch-focus-in;display:flex}.switch-project-heading h1{color:#242428;min-width:0;font:650 3.15em/.92 var(--font-fredoka), ui-rounded, sans-serif;letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.switch-project-heading p{color:#6e6e73;white-space:nowrap;flex:none;align-items:center;gap:.65em;margin:0 0 .2em;font-size:.72em;font-weight:600;display:flex}.switch-project-heading p i{aspect-ratio:1;background:#a8a8ad;border-radius:50%;width:.34em}.switch-project-row{grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:1.7%;min-width:0;min-height:0;padding:1.1% .6%;display:grid}.switch-project-row button{aspect-ratio:1;cursor:pointer;background:#e1e1e3;border:0;border-radius:.72em;width:100%;padding:0;transition:transform .15s,box-shadow .15s,outline-color .15s;position:relative;overflow:hidden;box-shadow:0 .36em .85em #24242829}.switch-project-row button img{object-fit:cover;object-position:center;opacity:.84;background-color:#d8d8db;width:100%;height:100%;transition:opacity .15s,transform .18s;display:block;position:absolute;inset:0}.switch-project-row button span{display:none}.switch-project-row button:hover img,.switch-project-row button:focus-visible img,.switch-project-row button.is-selected img{opacity:1}.switch-project-row button:hover{transform:translateY(-.18em)}.switch-project-row button.is-selected{z-index:2;outline-offset:.23em;outline:.34em solid #08b9d7;transform:translateY(-.24em)scale(1.025);box-shadow:0 .55em 1.1em #2424283d}.switch-project-row button:focus-visible{outline-offset:.23em;outline:.34em solid #08b9d7}.switch-project-meta{color:#4f4f54;border-top:1px solid #d7d7da;justify-content:space-between;align-items:center;gap:2em;min-width:0;padding-top:1.2%;font-size:.72em;display:flex}.switch-project-meta span{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.switch-project-meta b{color:#85858a;white-space:nowrap;flex:none;font-weight:550}.switch-menu-prompt{color:#5f5f64;white-space:nowrap;border-top:1px solid #d7d7da;justify-content:flex-end;align-items:flex-end;gap:2.3em;min-width:0;margin:0;padding-top:1.2%;font-size:.66em;font-weight:600;display:flex}.switch-menu-prompt span{align-items:center;gap:.55em;display:flex}.switch-menu-prompt span>b{color:inherit;font-weight:inherit}.switch-menu-prompt i{color:#fff;background:#36363a;border-radius:50%;place-items:center;min-width:1.8em;height:1.8em;font-style:normal;font-weight:700;display:inline-grid}@keyframes switch-focus-in{0%{opacity:.45;transform:translate(.5em)}to{opacity:1;transform:none}}@media (width<=620px){.neon-stage .switch-project-menu{grid-template-rows:9% 18% minmax(0,1fr) 9% 10%;gap:2%;padding-inline:4.2%}.switch-project-heading h1{font-size:2.45em}.switch-project-heading p,.switch-project-meta,.switch-library-header{font-size:.6em}.switch-project-row{gap:1.35%}.switch-project-row button{border-radius:.5em}.switch-project-row button.is-selected,.switch-project-row button:focus-visible{outline-offset:.15em;outline-width:.26em}.switch-menu-prompt{gap:1.25em;font-size:.54em}}.neon-scene,.project-screen-wrap,.project-screen-frame,.stage-identity,.stage-instruction{transition:width .32s cubic-bezier(.2,.8,.2,1),height .32s cubic-bezier(.2,.8,.2,1),inset .32s cubic-bezier(.2,.8,.2,1),border-radius .32s,box-shadow .32s,opacity .18s,transform .32s}.portfolio-page.is-project-open .neon-scene{aspect-ratio:auto;width:100%;height:100%}.portfolio-page.is-project-open .project-screen-frame{aspect-ratio:auto;height:100%;box-shadow:-7px 8px 0 var(--fun-blue), 7px 15px 0 var(--fun-red), 0 24px 42px #17182033;border-width:clamp(5px,.55vw,8px);border-radius:clamp(22px,2.4vw,38px)}.portfolio-page.is-project-open .stage-identity,.portfolio-page.is-project-open .stage-instruction{opacity:0;transform:translateY(-.8em)}.project-launch{color:#242428;font-family:var(--font-fredoka), ui-rounded, sans-serif;background:radial-gradient(circle at 50% 115%,#08b9d714,#0000 34%),linear-gradient(#fff,#f4f4f5);animation:.33s cubic-bezier(.2,.8,.2,1) both project-launch-reveal;position:absolute;inset:0;overflow:hidden}.project-launch__bar{color:#737378;letter-spacing:.075em;border-bottom:1px solid #d7d7da;grid-template-columns:1fr auto 1fr;align-items:center;height:7.5%;padding-inline:3.5%;font-size:clamp(7px,.68vw,10px);font-weight:650;display:grid;position:absolute;top:0;left:0;right:0}.project-launch__bar button{color:#5c5c61;font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:.65em;padding:0;display:inline-flex}.project-launch__bar button i,.project-launch__prompt i{color:#fff;letter-spacing:0;background:#343438;border-radius:50%;place-items:center;min-width:1.85em;height:1.85em;font-style:normal;font-weight:700;display:inline-grid}.project-launch__bar>span{color:#242428;font-weight:700}.project-launch__bar>b{font:inherit;justify-self:end}.project-launch__hero{grid-template-columns:38% minmax(0,1fr);gap:3.4%;height:33.5%;display:grid;position:absolute;top:10.4%;left:4%;right:4%}.project-launch__hero figure{background-color:#dedee0;background-image:var(--project-art);background-position:50%;background-size:cover;border:1px solid #d0d0d2;border-radius:clamp(14px,1.5vw,24px);min-width:0;height:100%;margin:0;overflow:hidden;box-shadow:0 .7em 1.7em #24242826}.project-launch__hero>div{flex-direction:column;justify-content:center;min-width:0;display:flex}.project-launch__hero>div>p{color:#77777c;letter-spacing:.09em;margin:0 0 .5em;font-size:clamp(7px,.68vw,10px);font-weight:650}.project-launch__hero h1{color:#242428;font:650 clamp(27px, 4.2vw, 64px)/.9 var(--font-fredoka), ui-rounded, sans-serif;letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.project-launch__hero strong{color:#515156;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:54em;margin-top:.8em;font-size:clamp(10px,1.05vw,16px);font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.project-launch__hero dl{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.5em;margin:1em 0 0;display:grid}.project-launch__hero dl div{align-items:baseline;gap:.65em;min-width:0;display:flex}.project-launch__hero dt{color:#919196;letter-spacing:.08em;font-size:clamp(6px,.58vw,9px);font-weight:650}.project-launch__hero dd{color:#424247;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(8px,.76vw,11px);font-weight:600;overflow:hidden}.project-launch__hero ul{flex-wrap:wrap;gap:.5em;margin:.9em 0 0;padding:0;list-style:none;display:flex}.project-launch__hero li{color:#65656a;background:#fff;border:1px solid #d4d4d6;border-radius:999px;padding:.38em .7em;font-size:clamp(6px,.58vw,9px);font-weight:600}.project-launch__contribution,.project-launch__challenge,.project-launch__outcome{color:#4e4e53;background:#ffffffdb;border:1px solid #d3d3d6;border-radius:clamp(14px,1.4vw,22px);overflow:hidden;box-shadow:0 .5em 1.2em #24242814}.project-launch__contribution>span,.project-launch__challenge>span,.project-launch__outcome>span{color:#2e2e32;letter-spacing:.06em;font-size:clamp(7px,.68vw,10px);font-weight:700}.project-launch__contribution p,.project-launch__challenge p,.project-launch__outcome p{-webkit-box-orient:vertical;margin:0;font-size:clamp(8px,.8vw,12px);font-weight:500;line-height:1.42;display:-webkit-box;overflow:hidden}.project-launch__contribution{border-left:.42em solid #08b9d7;grid-template-columns:19% minmax(0,1fr);align-items:center;gap:2%;height:17.5%;padding:1.6% 2.2%;display:grid;position:absolute;top:47.2%;left:4%;right:4%}.project-launch__contribution p{-webkit-line-clamp:4}.project-launch__challenge,.project-launch__outcome{width:27.5%;height:27.5%;padding:2%;position:absolute;bottom:3.8%}.project-launch__challenge{left:4%}.project-launch__outcome{right:4%}.project-launch__challenge p,.project-launch__outcome p{-webkit-line-clamp:9;margin-top:1em}.project-launch__prompt{color:#68686d;white-space:nowrap;flex-wrap:wrap;justify-content:center;align-items:center;gap:.7em 1.4em;font-size:clamp(6px,.58vw,9px);font-weight:600;display:flex;position:absolute;bottom:31%;left:32.5%;right:32.5%}.project-launch__prompt span{align-items:center;gap:.5em;display:inline-flex}@keyframes project-launch-reveal{0%{opacity:0;transform:scale(.965)}58%{opacity:1}to{opacity:1;transform:none}}@media (width<=620px){.portfolio-page.is-project-open .project-screen-wrap{width:97%;height:97%;top:1.5%;left:1.5%}.portfolio-page.is-project-open .project-screen-frame{box-shadow:-5px 6px 0 var(--fun-blue), 5px 11px 0 var(--fun-red);border-width:4px;border-radius:22px}.project-launch__bar{grid-template-columns:1fr auto;height:7%;padding-inline:4%;font-size:6px}.project-launch__bar>span{display:none}.project-launch__hero{grid-template-columns:36% minmax(0,1fr);gap:4%;height:28.5%;top:9%;left:4%;right:4%}.project-launch__hero figure{border-radius:12px}.project-launch__hero h1{font-size:clamp(20px,6.7vw,34px)}.project-launch__hero strong{margin-top:.6em;font-size:clamp(7px,2.15vw,10px)}.project-launch__hero dl{grid-template-columns:1fr;gap:.3em;margin-top:.6em}.project-launch__hero ul{gap:.3em;margin-top:.55em}.project-launch__hero li:nth-child(n+4){display:none}.project-launch__contribution{grid-template-columns:24% minmax(0,1fr);height:15.5%;padding:2.2% 2.8%;top:39.5%;left:4%;right:4%}.project-launch__contribution p,.project-launch__challenge p,.project-launch__outcome p{font-size:clamp(6.5px,1.85vw,9px);line-height:1.34}.project-launch__challenge,.project-launch__outcome{border-radius:12px;width:43.5%;height:15.5%;padding:2.8%;top:57%;bottom:auto}.project-launch__challenge p,.project-launch__outcome p{-webkit-line-clamp:6;margin-top:.65em}.project-launch__prompt{display:none}}@media (prefers-reduced-motion:reduce){.project-launch,.neon-scene,.project-screen-wrap,.project-screen-frame,.stage-identity,.stage-instruction{transition:none;animation:none}}.neon-stage .switch-project-menu{grid-template-rows:8% 20% minmax(0,1fr) 11% 10%;gap:1.8%;padding:3.4% 4.7% 3%}.switch-library-header{font-size:.82em}.switch-project-heading{align-items:center}.switch-project-heading h1{padding:.06em 0 .16em;font-size:2.82em;line-height:1.06}.switch-project-heading p{margin-bottom:0;font-size:.82em}.switch-project-row{gap:1.55%;padding-block:.5%}.switch-project-meta{padding-top:.7%;font-size:.84em}.switch-menu-prompt{gap:2em;padding-top:.7%;font-size:.76em}.project-launch__bar{font-size:clamp(9px,.76vw,12px)}.project-launch__hero{height:35.5%;top:9.6%}.project-launch__hero>div>p{font-size:clamp(9px,.72vw,11px)}.project-launch__hero h1{padding:.04em 0 .12em;font-size:clamp(29px,4vw,62px);line-height:1.04}.project-launch__hero strong{-webkit-line-clamp:3;margin-top:.55em;font-size:clamp(12px,1.08vw,17px);line-height:1.4}.project-launch__hero dl{margin-top:.7em}.project-launch__hero dt{font-size:clamp(8px,.62vw,10px)}.project-launch__hero dd{font-size:clamp(9px,.8vw,12px)}.project-launch__hero ul{margin-top:.65em}.project-launch__hero li{font-size:clamp(8px,.62vw,10px)}.project-launch__contribution{height:18.5%;top:47.5%}.project-launch__contribution>span,.project-launch__challenge>span,.project-launch__outcome>span{font-size:clamp(9px,.75vw,11px)}.project-launch__contribution p,.project-launch__challenge p,.project-launch__outcome p{font-size:clamp(10px,.88vw,14px);line-height:1.44}.project-launch__challenge,.project-launch__outcome{height:26.5%}.project-launch__prompt{font-size:clamp(8px,.64vw,10px);bottom:30.3%}@media (width<=620px){.neon-stage .switch-project-menu{grid-template-rows:8% 20% minmax(0,1fr) 11% 10%;gap:1.7%;padding:3.2% 4.2% 2.8%}.switch-library-header,.switch-project-heading p,.switch-project-meta{font-size:.68em}.switch-project-heading h1{padding-bottom:.18em;font-size:2.22em}.switch-menu-prompt{gap:1em;font-size:.62em}.project-launch__bar{font-size:7px}.project-launch__hero{height:30%;top:8.5%}.project-launch__hero h1{padding-bottom:.14em;font-size:clamp(21px,6.5vw,33px)}.project-launch__hero strong{-webkit-line-clamp:3;font-size:clamp(8px,2.2vw,11px)}.project-launch__hero dt{font-size:7px}.project-launch__hero dd{font-size:8px}.project-launch__hero li{font-size:7px}.project-launch__contribution{height:16.5%;top:40.2%}.project-launch__contribution>span,.project-launch__challenge>span,.project-launch__outcome>span{font-size:7px}.project-launch__contribution p,.project-launch__challenge p,.project-launch__outcome p{font-size:clamp(7px,1.95vw,9.5px)}.project-launch__challenge,.project-launch__outcome{height:16.5%;top:58.5%}}.portfolio-page.is-project-open .neon-stage{background:#fff}.portfolio-page.is-project-open .neon-stage:before,.portfolio-page.is-project-open .neon-stage:after{display:none}.portfolio-page.is-project-open .project-launch{z-index:10;width:100%;height:100%;box-shadow:none;background:#fff;border:0;border-radius:0;inset:0}.portfolio-page.is-project-open .project-launch__bar{background:#fff;height:clamp(54px,7.2vh,76px);padding-inline:clamp(22px,4vw,72px)}.android-case-study{grid-template-columns:minmax(190px,27%) minmax(0,1fr);gap:clamp(26px,4vw,72px);min-width:0;display:grid;position:absolute;inset:clamp(72px,9.2vh,96px) clamp(28px,4vw,76px) clamp(22px,2.8vh,34px)}.android-case-study__device{flex-direction:column;justify-content:center;align-items:center;gap:clamp(10px,1.6vh,18px);min-width:0;min-height:0;display:flex}.android-phone{aspect-ratio:9/20;background:#f4f4f4;border:clamp(7px,.7vw,11px) solid #222329;border-radius:clamp(24px,3vw,42px);width:min(100%,350px,46svh - 66.7px);position:relative;overflow:hidden;box-shadow:0 1.2em 2.5em #2424282e,0 0 0 1px #d8d8da}.android-phone:before{content:"";z-index:2;background:#222329c7;border-radius:999px;width:22%;height:1.4%;position:absolute;top:.55%;left:50%;transform:translate(-50%)}.android-phone img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.android-phone__fallback{background-position:50%;background-size:cover;place-items:end center;padding:12%;display:grid;position:absolute;inset:0}.android-phone__fallback span{color:#fff;background:#242428;border-radius:999px;padding:.55em .85em;font-size:.65em;font-weight:700}.android-screen-picker{gap:.65em;display:flex}.android-screen-picker button{color:#707075;width:2.5em;height:2.5em;font:650 clamp(8px, .72vw, 11px)/1 var(--font-fredoka), ui-rounded, sans-serif;cursor:pointer;background:#fff;border:2px solid #d5d5d8;border-radius:50%;padding:0}.android-screen-picker button:hover,.android-screen-picker button:focus-visible,.android-screen-picker button.is-active{color:#fff;background:#242428;border-color:#242428}.android-case-study__content{grid-template-rows:auto auto auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(180px,.72fr);align-content:start;gap:clamp(10px,1.3vh,16px) clamp(16px,1.8vw,30px);min-width:0;min-height:0;padding-bottom:clamp(165px,22vh,225px);display:grid}.android-case-study__content>header{grid-column:1/-1;min-width:0}.android-case-study__content>header>p{color:#77777c;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35em;font-size:clamp(9px,.7vw,12px);font-weight:650}.android-case-study__content h1{color:#242428;font:650 clamp(38px, 4.7vw, 76px)/1.02 var(--font-fredoka), ui-rounded, sans-serif;letter-spacing:-.05em;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:.03em 0 .13em;overflow:hidden}.android-case-study__content>header>strong{color:#56565c;max-width:68em;font-size:clamp(13px,1.08vw,18px);font-weight:500;line-height:1.42;display:block}.android-case-study__meta{border-top:1px solid #dddddf;border-bottom:1px solid #dddddf;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,28px);margin:0;padding:clamp(9px,1.1vh,14px) 0;display:grid}.android-case-study__meta div{align-items:baseline;gap:.75em;min-width:0;display:flex}.android-case-study__meta dt,.android-case-study__content section>span{color:#8b8b90;letter-spacing:.075em;flex:none;font-size:clamp(8px,.62vw,10px);font-weight:700}.android-case-study__meta dd{color:#36363b;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:clamp(10px,.82vw,13px);font-weight:600;overflow:hidden}.android-case-study__problem,.android-case-study__stack,.android-case-study__contribution,.android-case-study__engineering{min-width:0}.android-case-study__problem{grid-column:1}.android-case-study__stack{grid-column:2}.android-case-study__contribution,.android-case-study__engineering{grid-column:1/-1}.android-case-study__problem p,.android-case-study__contribution p{color:#4e4e54;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:.48em 0 0;font-size:clamp(11px,.9vw,14px);font-weight:500;line-height:1.42;display:-webkit-box;overflow:hidden}.android-case-study__stack ul{flex-wrap:wrap;gap:.45em;margin:.48em 0 0;padding:0;list-style:none;display:flex}.android-case-study__stack li{color:#55555b;background:#f7f7f8;border:1px solid #d4d4d7;border-radius:999px;padding:.42em .72em;font-size:clamp(9px,.72vw,11px);font-weight:600}.android-case-study__engineering>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.2vw,18px);margin-top:.55em;display:grid}.android-case-study__engineering article{background:#fafafa;border:1px solid #d9d9dc;border-radius:clamp(13px,1.2vw,19px);grid-template-columns:auto minmax(0,1fr);gap:.12em .75em;min-width:0;padding:clamp(10px,1.1vw,16px);display:grid}.android-case-study__engineering article>b{color:#a4a4a8;grid-row:1/3;font-size:clamp(9px,.72vw,11px)}.android-case-study__engineering h2{color:#2d2d32;margin:0;font-size:clamp(12px,1vw,16px);line-height:1.16}.android-case-study__engineering article p{color:#626268;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:.4em 0 0;font-size:clamp(9px,.76vw,12px);line-height:1.38;display:-webkit-box;overflow:hidden}.project-launch--android .project-launch__prompt{z-index:12;justify-content:flex-end;width:max-content;max-width:28vw;bottom:2.8vh;left:auto;right:calc(50% + min(21vw,220px))}@media (width<=900px){.android-case-study{grid-template-columns:minmax(125px,29%) minmax(0,1fr);gap:clamp(14px,3vw,30px);inset-inline:clamp(14px,3vw,28px)}.android-case-study__content{grid-template-columns:minmax(0,1fr);gap:8px}.android-case-study__problem,.android-case-study__stack,.android-case-study__contribution,.android-case-study__engineering{grid-column:1}.android-case-study__stack ul{margin-top:.3em}.android-case-study__engineering article p{-webkit-line-clamp:2}}@media (width<=620px){.portfolio-page.is-project-open .project-launch__bar{height:48px;padding-inline:14px}.android-case-study{grid-template-columns:29% minmax(0,1fr);gap:12px;inset:58px 12px 12px}.android-case-study__device{justify-content:flex-start}.android-phone{border-width:5px;border-radius:18px;width:100%}.android-screen-picker button{border-width:1px;width:2em;height:2em;font-size:7px}.android-case-study__content{gap:6px;padding-bottom:150px}.android-case-study__content h1{font-size:clamp(24px,8.5vw,36px)}.android-case-study__content>header>strong{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:9px;display:-webkit-box;overflow:hidden}.android-case-study__meta{grid-template-columns:1fr;gap:2px;padding-block:5px}.android-case-study__meta dt,.android-case-study__content section>span{font-size:6px}.android-case-study__meta dd,.android-case-study__problem p,.android-case-study__contribution p,.android-case-study__engineering article p{font-size:7px}.android-case-study__problem p,.android-case-study__contribution p{-webkit-line-clamp:2;margin-top:.25em}.android-case-study__stack li{padding:.3em .55em;font-size:6px}.android-case-study__engineering>div{grid-template-columns:1fr;gap:5px;margin-top:.25em}.android-case-study__engineering article{border-radius:8px;padding:6px}.android-case-study__engineering h2{font-size:8px}.android-case-study__engineering article p{-webkit-line-clamp:1;margin-top:.18em}}.project-launch-transition{z-index:10;transform-origin:50% 46%;background:#fff;animation:.42s cubic-bezier(.16,.84,.24,1) both project-screen-open;position:absolute;inset:0;overflow:hidden}.project-launch-transition .project-launch{animation:none}.project-launch-transition .project-launch>*{animation:.25s ease-out .125s both project-content-in}.portfolio-page.is-project-open .neon-scene{opacity:0;visibility:hidden;transition:width .42s cubic-bezier(.16,.84,.24,1),height .42s cubic-bezier(.16,.84,.24,1),opacity .15s .155s,transform .42s cubic-bezier(.16,.84,.24,1),visibility 0s .42s;transform:scale(1.018)}.portfolio-page.is-project-closing .project-launch-transition{animation:.34s cubic-bezier(.55,.05,.78,.42) both project-screen-close}.portfolio-page.is-project-closing .project-launch-transition .project-launch>*{animation:.115s ease-in both project-content-out}.portfolio-page.is-project-closing .neon-scene{opacity:1;visibility:visible;width:min(96vw,1120px,162svh - 372.6px);height:auto;transition:width .34s cubic-bezier(.55,.05,.78,.42),height .34s cubic-bezier(.55,.05,.78,.42),opacity .15s .105s,transform .34s cubic-bezier(.55,.05,.78,.42);transform:none}.portfolio-page.is-project-closing .project-screen-wrap{width:92%;height:auto;top:8%;left:4%}.portfolio-page.is-project-closing .project-screen-frame{aspect-ratio:1.62;height:auto;box-shadow:-13px 14px 0 var(--fun-blue), 13px 28px 0 var(--fun-red), 0 36px 54px #1718203d;border-width:clamp(6px,.75vw,10px);border-radius:clamp(28px,4vw,58px)}@keyframes project-screen-open{0%{clip-path:inset(7% 2.5%);filter:brightness(.92);transform:scale(.985)}54%{filter:brightness()}to{clip-path:inset(0);filter:none;transform:none}}@keyframes project-screen-close{0%{clip-path:inset(0);filter:none;transform:none}to{clip-path:inset(7% 2.5%);filter:brightness(.94);transform:scale(.985)}}@keyframes project-content-in{0%{opacity:0;transform:translateY(.55em)scale(.995)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes project-content-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(.35em)}}@keyframes stage-open-bg{0%{background-color:#090a10}to{background-color:#fff}}@keyframes stage-close-bg{0%{background-color:#fff}to{background-color:#090a10}}@media (width<=620px){.portfolio-page.is-project-closing .neon-scene{width:96vw}.portfolio-page.is-project-closing .project-screen-wrap{width:98%;top:15%;left:1%}.portfolio-page.is-project-closing .project-screen-frame{aspect-ratio:1.48;box-shadow:-7px 8px 0 var(--fun-blue), 7px 15px 0 var(--fun-red);border-width:5px;border-radius:26px}@keyframes project-screen-open{0%{clip-path:inset(15% 1% round 26px);transform:scale(.985)}to{clip-path:inset(0);transform:none}}@keyframes project-screen-close{0%{clip-path:inset(0);transform:none}to{clip-path:inset(15% 1% round 26px);transform:scale(.985)}}}@media (prefers-reduced-motion:reduce){.project-launch-transition,.project-launch-transition .project-launch>*,.portfolio-page.is-project-open:not(.is-project-closing) .neon-stage,.portfolio-page.is-project-closing .neon-stage,.portfolio-page.is-project-closing .project-launch-transition{animation:none}}.neon-scene{width:min(96vw,1280px,172svh - 326.8px)}.project-screen-wrap{width:95%;top:7%;left:2.5%}.project-screen-frame{aspect-ratio:16/9;background:#fff;border:clamp(10px,1.05vw,17px) solid #302f33;border-radius:0;box-shadow:0 1.4em 2.8em #00000057}.project-screen-frame .tv-content{border-radius:0}.project-screen-frame:focus-visible{outline-offset:7px;outline-color:#fff}.portfolio-page.is-project-closing .project-screen-wrap{width:95%;top:7%;left:2.5%}.portfolio-page.is-project-closing .project-screen-frame{aspect-ratio:16/9;border-width:clamp(10px,1.05vw,17px);border-radius:0;box-shadow:0 1.4em 2.8em #00000057}@media (width<=620px){.neon-scene{width:98vw}.project-screen-wrap,.portfolio-page.is-project-closing .project-screen-wrap{width:98%;top:13%;left:1%}.project-screen-frame,.portfolio-page.is-project-closing .project-screen-frame{aspect-ratio:16/9;border-width:7px;border-radius:0;box-shadow:0 .9em 1.8em #00000052}@keyframes project-screen-open{0%{clip-path:inset(13% 1%);transform:scale(.985)}to{clip-path:inset(0);transform:none}}@keyframes project-screen-close{0%{clip-path:inset(0);transform:none}to{clip-path:inset(13% 1%);transform:scale(.985)}}}.portfolio-page.is-project-open{overscroll-behavior:none}.portfolio-page.is-project-open .dpad button{opacity:.34}.project-showcase-progress{color:#77777c;letter-spacing:.07em;border-bottom:1px solid #dddddf;grid-column:1/-1;align-items:center;gap:.75em;padding-block:.2em .55em;font-size:clamp(8px,.64vw,10px);font-weight:650;display:flex}.project-showcase-progress span{color:#242428}.project-showcase-progress i{color:#8b8b90;margin-left:auto;font-style:normal}.android-case-study__content{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.android-case-study__slide{grid-template-columns:minmax(0,1fr) minmax(180px,.72fr);align-content:start;gap:clamp(12px,1.5vh,20px) clamp(16px,1.8vw,30px);min-width:0;min-height:0;animation:.23s ease-out both project-showcase-step;display:grid}.android-case-study__slide .android-case-study__meta,.android-case-study__slide .android-case-study__contribution,.android-case-study__slide .android-case-study__engineering,.android-case-study__slide .android-case-study__outcome{grid-column:1/-1}.android-case-study__slide .android-case-study__problem,.android-case-study__slide .android-case-study__stack{grid-column:auto}.android-case-study__slide .android-case-study__problem,.android-case-study__slide .android-case-study__contribution,.android-case-study__slide .android-case-study__outcome{background:#fafafa;border:1px solid #d9d9dc;border-radius:clamp(14px,1.25vw,20px);padding:clamp(13px,1.3vw,20px)}.android-case-study__slide .android-case-study__problem p,.android-case-study__slide .android-case-study__contribution p,.android-case-study__slide .android-case-study__outcome p{color:#4e4e54;-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:.55em 0 0;font-size:clamp(11px,.92vw,15px);font-weight:500;line-height:1.46;display:-webkit-box;overflow:hidden}.android-case-study__slide .android-case-study__stack{background:#fff;border:1px solid #d9d9dc;border-radius:clamp(14px,1.25vw,20px);padding:clamp(13px,1.3vw,20px)}.android-screen-picker span{color:#707075;width:2.5em;height:2.5em;font:650 clamp(8px, .72vw, 11px)/1 var(--font-fredoka), ui-rounded, sans-serif;background:#fff;border:2px solid #d5d5d8;border-radius:50%;place-items:center;padding:0;display:grid}.android-screen-picker span.is-active{color:#fff;background:#242428;border-color:#242428}.android-phone__current{animation:.36s cubic-bezier(.22,.78,.24,1) both project-screenshot-swipe}.project-launch__prompt a{color:#3f3f45;font-weight:700;text-decoration:none}.project-launch__prompt a:hover,.project-launch__prompt a:focus-visible{color:#000;text-underline-offset:.22em;text-decoration:underline}@keyframes project-showcase-step{0%{opacity:0;transform:translateY(.42em)}to{opacity:1;transform:translate(0,0)}}@keyframes project-screenshot-swipe{0%{opacity:.9;transform:translate(100%)}to{opacity:1;transform:translate(0,0)}}@media (width<=900px){.android-case-study__slide{grid-template-columns:minmax(0,1fr);gap:8px}.android-case-study__slide .android-case-study__problem,.android-case-study__slide .android-case-study__stack{grid-column:1}}@media (width<=620px){.project-showcase-progress{padding-block:1px 3px;font-size:6px}.android-case-study__slide{gap:5px}.android-case-study__slide .android-case-study__problem,.android-case-study__slide .android-case-study__contribution,.android-case-study__slide .android-case-study__outcome,.android-case-study__slide .android-case-study__stack{border-radius:8px;padding:6px}.android-case-study__slide .android-case-study__problem p,.android-case-study__slide .android-case-study__contribution p,.android-case-study__slide .android-case-study__outcome p{-webkit-line-clamp:3;margin-top:.25em;font-size:7px;line-height:1.35}.android-screen-picker span{border-width:1px;width:2em;height:2em;font-size:7px}}@media (prefers-reduced-motion:reduce){.android-case-study__slide,.android-phone img,.project-launch__contribution p,.project-launch__challenge p,.project-launch__outcome p{animation:none}}.project-launch--android .android-case-study{grid-template-columns:minmax(210px,25%) minmax(0,1fr);gap:clamp(34px,3.8vw,68px)}.project-launch--android .android-case-study__device{justify-content:center;position:relative}.project-launch--android .android-phone{isolation:isolate}.project-launch--android .android-phone img{backface-visibility:hidden;animation:none}.project-launch--android .android-phone__previous{z-index:0}.project-launch--android .android-phone__current{z-index:1;will-change:transform;animation:.36s cubic-bezier(.22,.78,.24,1) both project-screenshot-swipe}.project-launch--android .android-screen-picker{z-index:4;flex-direction:column;gap:.55em;position:absolute;top:50%;right:clamp(-52px,-3.2vw,-34px);transform:translateY(-50%)}.project-launch--android .android-case-study__content{grid-template-rows:auto auto minmax(0,1fr);height:100%;padding-bottom:0}.project-launch--android .android-case-study__slide{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(300px,1.35fr) minmax(310px,1fr);align-content:stretch;height:100%}.project-launch--android .android-case-study__slide>section{z-index:1;position:relative}.project-launch--android .android-case-study__slide--01 .android-case-study__meta{grid-area:1/1/auto/-1}.project-launch--android .android-case-study__slide--01 .android-case-study__problem{grid-area:2/1;align-self:start}.project-launch--android .android-case-study__slide--01 .android-case-study__stack{grid-area:2/2;align-self:end}.project-launch--android .android-case-study__slide--02 .android-case-study__problem{grid-area:1/1/auto/-1}.project-launch--android .android-case-study__slide--02 .android-case-study__stack--context{grid-area:2/1;align-self:start}.project-launch--android .android-case-study__stack--context p{color:#707075;margin:.9em 0 0;font-size:clamp(9px,.72vw,12px);font-weight:600;line-height:1.35}.project-launch--android .android-case-study__slide--02 .android-case-study__contribution{grid-area:2/2;align-self:end;min-height:clamp(145px,17vh,210px)}.project-launch--android .android-case-study__slide--03 .android-case-study__engineering{grid-area:1/1/auto/-1}.project-launch--android .android-case-study__slide--03 .android-case-study__outcome{grid-area:2/2;align-self:end;min-height:clamp(135px,16vh,195px)}.project-launch--android .project-launch__prompt{justify-content:flex-start;max-width:none;bottom:2.8vh;left:clamp(28px,4vw,76px);right:auto}.controller{background:linear-gradient(180deg, #ffffff29, transparent 34%), radial-gradient(circle, #ffffff17 0 .62px, transparent .86px) 0 0 / 4px 4px, linear-gradient(90deg, var(--fun-blue) 0 43%, #17181c 43% 57%, var(--fun-red) 57% 100%);box-shadow:inset 0 -.58em 0 #00000040, inset 0 0 0 .2em #ffffff3d, -.45em .56em 0 #007f9d, .45em .56em 0 #b82635, 0 .86em 0 var(--fun-ink)}@media (width<=1180px){.project-launch--android .android-case-study{grid-template-columns:minmax(140px,30%) minmax(0,1fr);gap:clamp(20px,3vw,34px)}.project-launch--android .android-case-study__content{padding-bottom:clamp(165px,23vh,215px)}.project-launch--android .android-case-study__slide{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);align-content:start}.project-launch--android .android-case-study__slide .android-case-study__meta,.project-launch--android .android-case-study__slide .android-case-study__problem,.project-launch--android .android-case-study__slide .android-case-study__stack,.project-launch--android .android-case-study__slide .android-case-study__contribution,.project-launch--android .android-case-study__slide .android-case-study__engineering,.project-launch--android .android-case-study__slide .android-case-study__outcome{grid-area:auto/1;align-self:start;min-height:0}.project-launch--android .android-case-study__slide--02 .android-case-study__stack--context{display:none}.project-launch--android .android-screen-picker{right:clamp(-34px,-3vw,-24px)}.project-launch--android .project-launch__prompt{display:none}}@media (width<=620px){.project-launch--android .android-case-study__content{padding-bottom:150px}.project-launch--android .android-screen-picker{gap:4px;right:-23px}}@media (prefers-reduced-motion:reduce){.project-launch--android .android-phone__current{animation:none}}.project-launch--standard .project-launch__hero,.project-launch--standard .project-launch__contribution,.project-launch--standard .project-launch__challenge,.project-launch--standard .project-launch__outcome{box-sizing:border-box;will-change:top, right, bottom, left, width, height, transform;transition:top .46s cubic-bezier(.2,.82,.2,1),right .46s cubic-bezier(.2,.82,.2,1),bottom .46s cubic-bezier(.2,.82,.2,1),left .46s cubic-bezier(.2,.82,.2,1),width .46s cubic-bezier(.2,.82,.2,1),height .46s cubic-bezier(.2,.82,.2,1),padding .46s cubic-bezier(.2,.82,.2,1),border-radius .46s}@media (width>=1181px){.project-launch--standard.project-launch--page-01 .project-launch__hero{grid-template-columns:38% minmax(0,1fr);width:auto;height:35.5%;top:9.6%;left:4%;right:4%}.project-launch--standard.project-launch--page-01 .project-launch__hero figure,.project-launch--standard.project-launch--page-01 .project-launch__hero>div{order:initial}.project-launch--standard.project-launch--page-01 .project-launch__contribution{width:auto;height:18.5%;inset:47.5% 4% auto}.project-launch--standard.project-launch--page-01 .project-launch__challenge,.project-launch--standard.project-launch--page-01 .project-launch__outcome{width:27.5%;height:26.5%;top:auto;bottom:3.8%}.project-launch--standard.project-launch--page-01 .project-launch__challenge{left:4%;right:auto}.project-launch--standard.project-launch--page-01 .project-launch__outcome{left:auto;right:4%}.project-launch--standard.project-launch--page-02 .project-launch__hero{grid-template-columns:minmax(0,1fr) 37%;width:auto;height:34.5%;top:9.6%;left:4%;right:4%}.project-launch--standard.project-launch--page-02 .project-launch__hero figure{order:2}.project-launch--standard.project-launch--page-02 .project-launch__hero>div{order:1}.project-launch--standard.project-launch--page-02 .project-launch__contribution{flex-direction:column;justify-content:center;align-items:flex-start;gap:1.1em;width:29%;height:auto;padding:2.1%;display:flex;inset:47.5% auto 4% 4%}.project-launch--standard.project-launch--page-02 .project-launch__challenge{grid-template-columns:22% minmax(0,1fr);align-items:center;gap:2%;width:auto;height:18.5%;display:grid;inset:47.5% 4% auto 36%}.project-launch--standard.project-launch--page-02 .project-launch__challenge p{margin-top:0}.project-launch--standard.project-launch--page-02 .project-launch__outcome{width:28%;height:25%;inset:auto 4% 3.8% auto}.project-launch--standard.project-launch--page-03 .project-launch__hero{grid-template-columns:36% minmax(0,1fr);width:auto;height:33.5%;top:9.6%;left:38%;right:4%}.project-launch--standard.project-launch--page-03 .project-launch__hero figure,.project-launch--standard.project-launch--page-03 .project-launch__hero>div{order:initial}.project-launch--standard.project-launch--page-03 .project-launch__hero h1{font-size:clamp(28px,3.4vw,54px)}.project-launch--standard.project-launch--page-03 .project-launch__hero strong{-webkit-line-clamp:2}.project-launch--standard.project-launch--page-03 .project-launch__contribution{flex-direction:column;justify-content:center;align-items:flex-start;gap:1.1em;width:29%;height:52.5%;padding:2.2%;display:flex;inset:9.6% auto auto 4%}.project-launch--standard.project-launch--page-03 .project-launch__challenge,.project-launch--standard.project-launch--page-03 .project-launch__outcome{width:27.5%;height:26.5%;top:auto;bottom:3.8%}.project-launch--standard.project-launch--page-03 .project-launch__challenge{left:4%;right:auto}.project-launch--standard.project-launch--page-03 .project-launch__outcome{left:auto;right:4%}.project-launch--standard.project-launch--page-01 .project-launch__hero,.project-launch--standard.project-launch--page-01 .project-launch__contribution,.project-launch--standard.project-launch--page-01 .project-launch__challenge,.project-launch--standard.project-launch--page-01 .project-launch__outcome{animation:.43s cubic-bezier(.18,.84,.2,1) both project-panel-deal-one}.project-launch--standard.project-launch--page-02 .project-launch__hero,.project-launch--standard.project-launch--page-02 .project-launch__contribution,.project-launch--standard.project-launch--page-02 .project-launch__challenge,.project-launch--standard.project-launch--page-02 .project-launch__outcome{animation:.43s cubic-bezier(.18,.84,.2,1) both project-panel-deal-two}.project-launch--standard.project-launch--page-03 .project-launch__hero,.project-launch--standard.project-launch--page-03 .project-launch__contribution,.project-launch--standard.project-launch--page-03 .project-launch__challenge,.project-launch--standard.project-launch--page-03 .project-launch__outcome{animation:.43s cubic-bezier(.18,.84,.2,1) both project-panel-deal-three}.project-launch--standard .project-launch__contribution{animation-delay:35ms}.project-launch--standard .project-launch__challenge{animation-delay:70ms}.project-launch--standard .project-launch__outcome{animation-delay:.105s}.project-launch--android .android-case-study,.project-launch--android .android-phone{transition:grid-template-columns .46s cubic-bezier(.2,.82,.2,1),transform .46s cubic-bezier(.2,.82,.2,1)}.project-launch--android.project-launch--page-01 .android-phone{transform:translateY(0)scale(1)}.project-launch--android.project-launch--page-02 .android-phone{transform:translateY(-1.5%)scale(.95)}.project-launch--android.project-launch--page-03 .android-phone{transform:translateY(1%)scale(1.025)}.project-launch--android.project-launch--page-01 .android-case-study__slide{animation:.43s cubic-bezier(.18,.84,.2,1) both project-panel-deal-one}.project-launch--android.project-launch--page-02 .android-case-study__slide{animation:.43s cubic-bezier(.18,.84,.2,1) both project-panel-deal-two}.project-launch--android.project-launch--page-03 .android-case-study__slide{animation:.43s cubic-bezier(.18,.84,.2,1) both project-panel-deal-three}}@keyframes project-panel-deal-one{0%{opacity:.86;transform:translate(-.65rem,.28rem)scale(.988)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes project-panel-deal-two{0%{opacity:.86;transform:translate(.7rem,-.24rem)scale(.988)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes project-panel-deal-three{0%{opacity:.86;transform:translateY(.68rem)scale(.988)}to{opacity:1;transform:translate(0,0)scale(1)}}@media (prefers-reduced-motion:reduce){.project-launch--standard .project-launch__hero,.project-launch--standard .project-launch__contribution,.project-launch--standard .project-launch__challenge,.project-launch--standard .project-launch__outcome,.project-launch--android .android-case-study,.project-launch--android .android-phone,.project-launch--android .android-case-study__slide{transition:none;animation:none}}.project-library-layer{z-index:1;opacity:1;transform-origin:50%;transition:opacity .18s,transform .36s cubic-bezier(.16,.84,.24,1);position:absolute;inset:0;transform:none}.project-library-layer.is-exiting{pointer-events:none;opacity:0;transform:scale(.985)}.project-screen-frame .project-launch-transition{z-index:2;clip-path:none;transform-origin:50%;background:0 0;animation:.43s cubic-bezier(.16,.84,.24,1) both project-surface-fill;position:absolute;inset:0;overflow:hidden;transform:none}.project-screen-frame .project-launch-transition .project-launch{background:0 0;animation:none}.portfolio-page.is-project-open .neon-scene{aspect-ratio:auto;opacity:1;visibility:visible;width:100%;height:100%;transform:none}.portfolio-page.is-project-open .project-screen-wrap{width:100%;height:100%;top:0;left:0}.portfolio-page.is-project-open .project-screen-frame{aspect-ratio:auto;width:100%;height:100%;box-shadow:none;border-width:0;border-radius:0}.portfolio-page.is-project-closing .project-library-layer.is-exiting{opacity:0;transition:none;transform:scale(.992)}.portfolio-page.is-project-closing .project-screen-frame .project-launch-transition{clip-path:none;animation:.34s cubic-bezier(.55,.05,.78,.42) both project-surface-clear;transform:none}@media (width>=621px){.neon-scene{aspect-ratio:auto;height:min(55.82vw,744px,100svh - 190px)}.project-screen-wrap{height:91.9%}.project-screen-frame{aspect-ratio:auto;height:100%}.portfolio-page.is-project-closing .neon-scene{width:min(96vw,1280px,172svh - 326.8px);height:min(55.82vw,744px,100svh - 190px)}.portfolio-page.is-project-closing .project-screen-wrap{width:95%;height:91.9%;top:7%;left:2.5%}.portfolio-page.is-project-closing .project-screen-frame{aspect-ratio:auto;border-width:clamp(10px,1.05vw,17px);border-radius:0;width:100%;height:100%;box-shadow:0 1.4em 2.8em #00000057}}@keyframes project-surface-fill{0%{background-color:#fff0}32%{background-color:#ffffff8c}to{background-color:#fff}}@keyframes project-surface-clear{0%{background-color:#fff}58%{background-color:#ffffffb8}to{background-color:#fff0}}@media (prefers-reduced-motion:reduce){.project-library-layer,.project-screen-frame .project-launch-transition,.project-screen-frame .project-launch-transition .project-launch>*,.neon-scene,.project-screen-wrap,.project-screen-frame{transition:none;animation:none}}html{background:#fff}body{background-color:#0000;background-image:linear-gradient(#ffffff47 1px,#0000 1px),linear-gradient(90deg,#ffffff47 1px,#0000 1px),linear-gradient(118deg,#00bce8 0 47.5%,#fff 47.5% 52.5%,#ff4554 52.5% 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:72px 72px,72px 72px,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.portfolio-page,.portfolio-page:not(.is-project-open),.portfolio-page:not(.is-project-open) .portfolio-content{background-color:#0000}.portfolio-page.is-browsing .manual-panel{animation:none}@media (width>=901px){.portfolio-page.is-browsing .contact-panel{grid-template-rows:auto auto auto minmax(270px,1fr);gap:clamp(9px,1.2vh,15px) clamp(18px,1.7vw,30px);padding-top:clamp(28px,3.4vh,42px)}.portfolio-page.is-browsing .contact-panel h2{max-width:1120px;font-size:clamp(48px,5.4vw,82px);line-height:.94}.portfolio-page.is-browsing .contact-panel>p:not(:first-of-type){max-width:930px;font-size:clamp(13px,1.12vw,17px);line-height:1.38}.portfolio-page.is-browsing .contact-primary,.portfolio-page.is-browsing .contact-panel nav{border:3px solid var(--fun-ink);min-height:0;box-shadow:none}.portfolio-page.is-browsing .contact-primary{border-top:8px solid var(--fun-blue);color:var(--fun-ink);background:linear-gradient(145deg,#00bce829,#fffffff0 58%);gap:clamp(12px,1.5vh,18px);padding:clamp(20px,2.2vw,32px);box-shadow:8px 8px #00bce8d1}.portfolio-page.is-browsing .contact-primary span{width:3em;color:var(--fun-white);background:var(--fun-blue);box-shadow:0 0 0 4px #00bce829}.portfolio-page.is-browsing .contact-primary b{font-family:var(--font-fredoka), ui-rounded, sans-serif;font-size:clamp(17px,1.45vw,22px)}.portfolio-page.is-browsing .contact-panel nav{border-top:8px solid var(--fun-red);background:linear-gradient(215deg,#ff455424,#fffffff0 58%);gap:clamp(11px,1.3vh,16px);box-shadow:8px 8px #ff4554d6}.portfolio-page.is-browsing .contact-panel nav a{padding-block:.9em;transition:color .18s,background-color .18s,transform .18s}.portfolio-page.is-browsing .contact-panel nav a:hover{border-color:var(--fun-red);background:var(--fun-red);transform:translate(-4px)}.portfolio-page.is-browsing .contact-console-card{border:3px solid var(--fun-ink);min-height:0;box-shadow:-7px 7px 0 var(--fun-blue), 7px 7px 0 var(--fun-red);background:linear-gradient(90deg,#00bce81a,#0000 26% 74%,#ff45541a),#fff;gap:clamp(8px,1vh,13px);position:relative}.portfolio-page.is-browsing .contact-console-card:before{content:"";background:linear-gradient(90deg, var(--fun-blue) 0 48%, var(--fun-ink) 48% 52%, var(--fun-red) 52% 100%);border-radius:0 0 999px 999px;height:6px;position:absolute;top:0;left:18%;right:18%}}@media (width>=1181px){.project-layout--blueprint.project-launch--page-01 .project-launch__hero{grid-template-columns:47% minmax(0,1fr);width:58%;height:43%;top:9.6%;left:4%;right:auto}.project-layout--blueprint.project-launch--page-01 .project-launch__contribution{width:31%;height:20%;inset:9.6% 4% auto auto}.project-layout--blueprint.project-launch--page-01 .project-launch__challenge{width:31%;height:19%;inset:33% 4% auto auto}.project-layout--blueprint.project-launch--page-01 .project-launch__outcome{width:31%;height:22%;inset:57% 4% auto auto}.project-layout--blueprint.project-launch--page-02 .project-launch__hero{grid-template-columns:42% minmax(0,1fr);width:51%;height:35%;top:9.6%;left:4%;right:auto}.project-layout--blueprint.project-launch--page-02 .project-launch__hero figure,.project-layout--blueprint.project-launch--page-02 .project-launch__hero>div{order:initial}.project-layout--blueprint.project-launch--page-02 .project-launch__contribution{width:51%;height:20%;inset:48% auto auto 4%}.project-layout--blueprint.project-launch--page-02 .project-launch__challenge{width:36%;height:27%;inset:9.6% 4% auto auto}.project-layout--blueprint.project-launch--page-02 .project-launch__outcome{width:36%;height:27%;inset:41% 4% auto auto}.project-layout--blueprint.project-launch--page-03 .project-launch__hero{grid-template-columns:43% minmax(0,1fr);width:47%;height:34%;top:9.6%;left:4%;right:auto}.project-layout--blueprint.project-launch--page-03 .project-launch__contribution{width:40%;height:34%;inset:9.6% 4% auto auto}.project-layout--blueprint.project-launch--page-03 .project-launch__challenge{width:30%;height:24%;inset:49% auto auto 4%}.project-layout--blueprint.project-launch--page-03 .project-launch__outcome{width:30%;height:24%;inset:49% 4% auto auto}.project-layout--console.project-launch--page-01 .project-launch__hero{grid-template-columns:45% minmax(0,1fr);width:auto;height:31%;top:9.6%;left:4%;right:4%}.project-layout--console.project-launch--page-01 .project-launch__contribution{width:43%;height:22%;inset:44% auto auto 4%}.project-layout--console.project-launch--page-01 .project-launch__challenge{width:43%;height:22%;inset:44% 4% auto auto}.project-layout--console.project-launch--page-01 .project-launch__outcome{width:28%;height:20%;inset:70% 4% auto auto}.project-layout--console.project-launch--page-02 .project-launch__hero{grid-template-columns:42% minmax(0,1fr);width:58%;height:34%;top:9.6%;left:auto;right:4%}.project-layout--console.project-launch--page-02 .project-launch__hero figure,.project-layout--console.project-launch--page-02 .project-launch__hero>div{order:initial}.project-layout--console.project-launch--page-02 .project-launch__contribution{width:31%;height:34%;inset:9.6% auto auto 4%}.project-layout--console.project-launch--page-02 .project-launch__challenge{width:31%;height:23%;inset:48% auto auto 4%}.project-layout--console.project-launch--page-02 .project-launch__outcome{width:31%;height:23%;inset:48% 4% auto auto}.project-layout--console.project-launch--page-03 .project-launch__hero{grid-template-columns:40% minmax(0,1fr);width:43%;height:37%;top:9.6%;left:4%;right:auto}.project-layout--console.project-launch--page-03 .project-launch__contribution{width:43%;height:37%;inset:9.6% 4% auto auto}.project-layout--console.project-launch--page-03 .project-launch__challenge{width:29%;height:23%;inset:51% auto auto 4%}.project-layout--console.project-launch--page-03 .project-launch__outcome{width:29%;height:23%;inset:51% 4% auto auto}.project-layout--window.project-launch--page-01 .project-launch__hero{grid-template-columns:53% minmax(0,1fr);width:auto;height:39%;top:9.6%;left:4%;right:4%}.project-layout--window.project-launch--page-01 .project-launch__contribution{width:48%;height:21%;inset:52.5% auto auto 4%}.project-layout--window.project-launch--page-01 .project-launch__challenge{width:39%;height:14%;inset:52.5% 4% auto auto}.project-layout--window.project-launch--page-01 .project-launch__outcome{width:39%;height:13%;inset:68% 4% auto auto}.project-layout--window.project-launch--page-02 .project-launch__hero{grid-template-columns:48% minmax(0,1fr);width:47%;height:43%;top:9.6%;left:auto;right:4%}.project-layout--window.project-launch--page-02 .project-launch__hero figure,.project-layout--window.project-launch--page-02 .project-launch__hero>div{order:initial}.project-layout--window.project-launch--page-02 .project-launch__contribution{width:42%;height:27%;inset:9.6% auto auto 4%}.project-layout--window.project-launch--page-02 .project-launch__challenge{width:42%;height:33%;inset:41% auto auto 4%}.project-layout--window.project-launch--page-02 .project-launch__outcome{width:47%;height:17%;inset:57% 4% auto auto}.project-layout--window.project-launch--page-03 .project-launch__hero{grid-template-columns:55% minmax(0,1fr);width:64%;height:40%;top:9.6%;left:4%;right:auto}.project-layout--window.project-launch--page-03 .project-launch__contribution{width:25%;height:40%;inset:9.6% 4% auto auto}.project-layout--window.project-launch--page-03 .project-launch__challenge{width:31%;height:20%;inset:54% auto auto 4%}.project-layout--window.project-launch--page-03 .project-launch__outcome{width:31%;height:20%;inset:54% 4% auto auto}.project-layout--receipt .android-case-study__panel--problem{transition-delay:0s}.project-layout--receipt .android-case-study__panel--stack{transition-delay:90ms}.project-layout--receipt .android-case-study__panel--contribution{transition-delay:.17s}.project-layout--receipt .android-case-study__panel--engineering{transition-delay:45ms}.project-layout--receipt .android-case-study__panel--outcome{transition-delay:.145s}.project-layout--receipt.project-launch--page-01 .android-case-study__panel--meta{width:43%;height:18%;top:0;left:0;right:auto}.project-layout--receipt.project-launch--page-01 .android-case-study__panel--stack{width:52%;height:18%;top:0;left:auto;right:0}.project-layout--receipt.project-launch--page-01 .android-case-study__panel--project{width:100%;height:32%;top:24%;left:0;right:0}.project-layout--receipt.project-launch--page-02 .android-case-study__panel--problem{width:46%;height:48%;top:0;left:0;right:auto}.project-layout--receipt.project-launch--page-02 .android-case-study__panel--stack{width:49%;height:29%;top:0;left:auto;right:0}.project-layout--receipt.project-launch--page-02 .android-case-study__panel--contribution{width:49%;height:45%;inset:35% 0 auto auto}.project-layout--receipt.project-launch--page-03 .android-case-study__panel--engineering{width:63%;height:58%;top:0;left:0;right:auto}.project-layout--receipt.project-launch--page-03 .android-case-study__panel--outcome{width:32%;height:49%;inset:9% 0 auto auto}}@media (prefers-reduced-motion:reduce){.project-layout--receipt .android-phone__current{animation:none}}.project-launch--standard [data-morph-id]{backface-visibility:hidden;transform-origin:0 0;will-change:transform;animation:none!important}.portfolio-page.is-showcase-morphing .project-launch--standard [data-morph-id]{transition:none!important}.project-launch--standard [data-morph-id=story-primary]{z-index:5}.project-launch--standard [data-morph-id=project-artwork],.project-launch--standard [data-morph-id=project-summary]{z-index:4}.project-launch--standard [data-morph-id=story-tertiary]{z-index:3}.project-launch--standard [data-morph-id=story-secondary]{z-index:2}.project-launch--standard [data-morph-id^=story-]>span,.project-launch--standard [data-morph-id^=story-]>p{animation:none!important}.project-launch--android .android-case-study__panel[aria-hidden=false]{opacity:1;transform:translate(0,0)scale(1)}.portfolio-page.is-showcase-morphing .project-launch--android .android-case-study__slide{animation:none!important}@media (prefers-reduced-motion:reduce){.project-launch--standard [data-morph-id],.project-launch--android .android-case-study__panel{transition:none!important;animation:none!important}}html{scroll-snap-type:y mandatory;overscroll-behavior-y:none}body{overscroll-behavior-y:none}.neon-stage,.manual-panel{scroll-snap-align:start;scroll-snap-stop:always}.stage-instruction{grid-template-columns:minmax(0,1fr) clamp(320px,44vw,620px) minmax(0,1fr);gap:0;padding-inline:clamp(24px,3.5vw,70px);display:grid}.stage-instruction span:first-child{text-align:left;grid-column:1;justify-self:start}.stage-instruction i{opacity:0;grid-column:2;width:0}.stage-instruction span:last-child{text-align:right;grid-column:3;justify-self:end}.portfolio-page.is-project-open.is-project-closing,.portfolio-page.is-project-open.is-project-closing .neon-stage{background:linear-gradient(118deg,#00bce8 0 47.5%,#fff 47.5% 52.5%,#ff4554 52.5% 100%)}.portfolio-page.is-project-open.is-project-closing .neon-stage{animation:none}.portfolio-page.is-project-open.is-project-closing .neon-stage:before,.portfolio-page.is-project-open.is-project-closing .neon-stage:after,.portfolio-page.is-project-open.is-project-closing .neon-backdrop:before,.portfolio-page.is-project-open.is-project-closing .neon-backdrop:after,.portfolio-page.is-project-open.is-project-closing .neon-backdrop>i{content:none;display:none}.portfolio-page.is-project-open.is-project-closing .neon-backdrop{opacity:.22;background-image:linear-gradient(#ffffff6b 1px,#0000 1px),linear-gradient(90deg,#ffffff6b 1px,#0000 1px);background-position:0 0,0 0;background-size:72px 72px;animation:96s linear infinite selector-grid-drift}.portfolio-page.is-project-open.is-project-closing .stage-identity,.portfolio-page.is-project-open.is-project-closing .stage-instruction{color:#171820}.portfolio-page.is-project-open.is-project-closing .stage-identity span{color:#fff;text-shadow:0 1px #17182040}@media (width<=620px){.stage-instruction{display:none}}@media (prefers-reduced-motion:reduce){.portfolio-page.is-project-open.is-project-closing .neon-backdrop{animation:none}}.portfolio-page.is-project-open .project-launch{isolation:isolate;background:radial-gradient(circle at 86% 11%, rgba(var(--glow-rgb), .19), transparent 27%), linear-gradient(148deg, rgba(var(--glow-rgb), .1) 0%, rgba(var(--glow-rgb), .035) 28%, transparent 51%), #fff}.portfolio-page.is-project-open .project-launch:before{content:attr(data-project-index);z-index:0;color:rgba(var(--glow-rgb), .065);font:700 clamp(88px, 15vw, 230px)/.8 var(--font-fredoka), ui-rounded, sans-serif;letter-spacing:-.09em;pointer-events:none;position:absolute;top:7.5%;right:3.5%}.portfolio-page.is-project-open .project-launch:after{content:"";z-index:3;background:linear-gradient(90deg, var(--accent) 0 68%, var(--accent-alt) 68% 100%);pointer-events:none;height:clamp(4px,.42vw,7px);position:absolute;top:0;left:0;right:0}.portfolio-page.is-project-open .project-launch>*{z-index:1}.portfolio-page.is-project-open .project-launch__bar{border-bottom-color:rgba(var(--glow-rgb), .24);background:linear-gradient(90deg, rgba(var(--glow-rgb), .13), #fffffff0 31% 72%, rgba(var(--glow-rgb), .08));box-shadow:0 8px 24px rgba(var(--glow-rgb), .055)}.project-launch__bar>span{border:1px solid rgba(var(--glow-rgb), .22);background:#ffffffc2;border-radius:999px;padding:.55em .9em}.project-launch__bar>b{color:color-mix(in srgb, var(--accent-alt) 72%, #242428)}.project-launch__bar button i,.project-launch__prompt i{background:color-mix(in srgb, var(--accent-alt) 72%, #242428);box-shadow:0 0 0 3px rgba(var(--glow-rgb), .12)}.project-launch__hero figure{border:3px solid color-mix(in srgb, var(--accent) 58%, #fff);box-shadow:0 .9em 2.1em rgba(var(--glow-rgb), .2), 0 0 0 .38em rgba(var(--glow-rgb), .07)}.project-launch__hero>div{border-left:clamp(5px, .45vw, 8px) solid var(--accent);background:linear-gradient(90deg,#ffffffe0,#ffffff75);border-radius:0 clamp(18px,1.6vw,26px) clamp(18px,1.6vw,26px) 0;padding:clamp(12px,1.25vw,22px) clamp(14px,1.55vw,28px);position:relative}.project-launch__hero>div>p,.android-case-study__content>header>p{width:max-content;color:color-mix(in srgb, var(--accent-alt) 72%, #303034);background:rgba(var(--glow-rgb), .13);border-radius:999px;padding:.42em .72em}.project-launch__hero h1,.android-case-study__content h1{color:#202025;text-shadow:0 .08em 0 rgba(var(--glow-rgb), .12)}.project-launch__hero li,.android-case-study__stack li{border-color:rgba(var(--glow-rgb), .28);color:color-mix(in srgb, var(--accent-alt) 58%, #3f3f44);background:rgba(var(--glow-rgb), .09)}.project-launch__contribution,.project-launch__challenge,.project-launch__outcome,.project-launch--android .android-case-study__panel{border-color:rgba(var(--glow-rgb), .24);background:color-mix(in srgb, var(--accent) 6%, #fff);box-shadow:0 .65em 1.55em rgba(var(--glow-rgb), .09), inset 0 1px 0 #fffc}.project-launch__contribution{border-left-color:var(--accent)}.project-launch__challenge{border-top:clamp(4px, .38vw, 6px) solid var(--accent-alt)}.project-launch__outcome{border-top:clamp(4px, .38vw, 6px) solid var(--accent)}.project-launch__contribution>span,.project-launch__challenge>span,.project-launch__outcome>span,.android-case-study__content section>span{color:color-mix(in srgb, var(--accent-alt) 66%, #25252a)}.project-launch__prompt{border:1px solid rgba(var(--glow-rgb), .2);box-shadow:0 .6em 1.5em rgba(var(--glow-rgb), .1);background:#ffffffe6;border-radius:999px;padding:.62em 1em}.android-case-study__content>header{border-left:clamp(5px, .45vw, 8px) solid var(--accent);background:linear-gradient(90deg,#ffffffe6,#ffffff6b);border-radius:0 clamp(18px,1.6vw,26px) clamp(18px,1.6vw,26px) 0;padding:clamp(12px,1.2vw,20px) clamp(14px,1.5vw,26px)}.android-phone{border-color:color-mix(in srgb, var(--accent-alt) 56%, #222329);box-shadow:0 1.2em 2.7em rgba(var(--glow-rgb), .24), 0 0 0 .42em rgba(var(--glow-rgb), .1)}.project-showcase-progress{border-bottom-color:rgba(var(--glow-rgb), .25)}.project-showcase-progress span,.android-screen-picker span.is-active{color:#fff;background:color-mix(in srgb, var(--accent-alt) 72%, #242428)}.project-showcase-progress span{border-radius:999px;padding:.38em .65em}.android-case-study__engineering article{border-color:rgba(var(--glow-rgb), .22);background:#ffffffb8}.android-case-study__engineering article>b{color:var(--accent-alt)}@media (width<=620px){.portfolio-page.is-project-open .project-launch:before{font-size:34vw;top:8%;right:2%}.project-launch__hero>div,.android-case-study__content>header{border-left-width:4px;border-radius:0 10px 10px 0;padding:7px 9px}.project-launch__prompt{padding:.45em .7em}}.project-launch--android .android-phone,.project-launch--android.project-launch--page-01 .android-phone,.project-launch--android.project-launch--page-02 .android-phone,.project-launch--android.project-launch--page-03 .android-phone{transform:none}.project-launch--android .android-case-study__slide,.project-launch--android.project-launch--page-01 .android-case-study__slide,.project-launch--android.project-launch--page-02 .android-case-study__slide,.project-launch--android.project-launch--page-03 .android-case-study__slide{height:100%;min-height:0;animation:none;display:block;position:relative;overflow:visible}.project-launch--android .android-case-study__panel{z-index:1;box-sizing:border-box;pointer-events:none;opacity:0;transform-origin:50%;will-change:top, right, bottom, left, width, height, opacity, transform;min-width:0;min-height:0;margin:0;transition:top .52s cubic-bezier(.18,.84,.2,1),right .52s cubic-bezier(.18,.84,.2,1),bottom .52s cubic-bezier(.18,.84,.2,1),left .52s cubic-bezier(.18,.84,.2,1),width .52s cubic-bezier(.18,.84,.2,1),height .52s cubic-bezier(.18,.84,.2,1),padding .52s cubic-bezier(.18,.84,.2,1),opacity .19s,transform .52s cubic-bezier(.18,.84,.2,1),border-radius .52s;position:absolute;transform:translateY(1.15rem)scale(.94)}.project-launch--android .android-case-study__panel.android-case-study__contribution,.project-launch--android .android-case-study__panel.android-case-study__outcome{min-height:0}.project-launch--android .android-case-study__panel[aria-hidden=false]{z-index:3;pointer-events:auto;opacity:1;transform:translate(0,0)scale(1)}.project-launch--android .android-case-study__panel--project,.project-launch--android .android-case-study__panel--problem{background:#fafafa;border:1px solid #d9d9dc;border-radius:clamp(14px,1.25vw,20px);padding:clamp(13px,1.3vw,20px)}@media (width>=1181px){.project-launch--android .android-case-study__slide--01 .android-case-study__panel--meta{width:100%;height:15%;inset:0 0 auto}.project-launch--android .android-case-study__slide--01 .android-case-study__panel--project{width:58%;height:35%;inset:20% auto auto 0}.project-launch--android .android-case-study__slide--01 .android-case-study__panel--stack{width:38%;height:35%;inset:20% 0 auto auto}.project-launch--android .android-case-study__slide--01 .android-case-study__panel--problem{width:52%;height:30%;inset:62% auto auto -4%}.project-launch--android .android-case-study__slide--01 .android-case-study__panel--contribution{width:42%;height:42%;inset:auto -4% -5% auto}.project-launch--android .android-case-study__slide--01 .android-case-study__panel--engineering{width:78%;height:48%;inset:56% -8% auto auto}.project-launch--android .android-case-study__slide--01 .android-case-study__panel--outcome{width:40%;height:38%;inset:auto -6% -6% auto}.project-launch--android .android-case-study__slide--02 .android-case-study__panel--problem{width:100%;height:28%;inset:0 0 auto}.project-launch--android .android-case-study__slide--02 .android-case-study__panel--stack{width:56%;height:30%;inset:34% auto auto 0}.project-launch--android .android-case-study__slide--02 .android-case-study__panel--contribution{width:43%;height:48%;inset:auto 0 0 auto}.project-launch--android .android-case-study__slide--02 .android-case-study__panel--meta{width:72%;height:15%;inset:-8% auto auto -12%}.project-launch--android .android-case-study__slide--02 .android-case-study__panel--project{width:58%;height:35%;inset:24% auto auto -10%}.project-launch--android .android-case-study__slide--02 .android-case-study__panel--engineering{width:82%;height:48%;inset:16% -8% auto auto}.project-launch--android .android-case-study__slide--02 .android-case-study__panel--outcome{width:41%;height:38%;inset:auto -5% -5% auto}.project-launch--android .android-case-study__slide--03 .android-case-study__panel--engineering{width:100%;height:51%;inset:0 0 auto}.project-launch--android .android-case-study__slide--03 .android-case-study__panel--outcome{width:43%;height:40%;inset:auto 0 0 auto}.project-launch--android .android-case-study__slide--03 .android-case-study__panel--stack{width:48%;height:28%;inset:58% auto auto -7%}.project-launch--android .android-case-study__slide--03 .android-case-study__panel--problem{width:68%;height:30%;inset:-6% auto auto -10%}.project-launch--android .android-case-study__slide--03 .android-case-study__panel--contribution{width:48%;height:42%;inset:48% -5% auto auto}.project-launch--android .android-case-study__slide--03 .android-case-study__panel--meta{width:70%;height:15%;inset:-8% auto auto -12%}.project-launch--android .android-case-study__slide--03 .android-case-study__panel--project{width:54%;height:34%;inset:52% auto auto -8%}}@media (width<=1180px){.project-launch--android .android-case-study__slide .android-case-study__panel--stack{display:block}.project-launch--android .android-case-study__slide--01 .android-case-study__panel--meta,.project-launch--android .android-case-study__slide--02 .android-case-study__panel--problem,.project-launch--android .android-case-study__slide--03 .android-case-study__panel--engineering{width:100%;height:30%;inset:0 0 auto}.project-launch--android .android-case-study__slide--01 .android-case-study__panel--project,.project-launch--android .android-case-study__slide--01 .android-case-study__panel--stack,.project-launch--android .android-case-study__slide--02 .android-case-study__panel--stack{width:100%;height:28%;inset:34% 0 auto}.project-launch--android .android-case-study__slide--02 .android-case-study__panel--contribution,.project-launch--android .android-case-study__slide--03 .android-case-study__panel--outcome{width:100%;height:32%;inset:66% 0 auto}.project-launch--android .android-case-study__slide--03 .android-case-study__panel--engineering{height:62%}}@media (prefers-reduced-motion:reduce){.project-launch--android .android-case-study__panel,.project-launch--android .android-phone{transition:none}}.portfolio-page:not(.is-project-open),.portfolio-page:not(.is-project-open) .neon-stage{background:linear-gradient(118deg,#00bce8 0 47.5%,#fff 47.5% 52.5%,#ff4554 52.5% 100%)}.portfolio-page:not(.is-project-open) .neon-stage:before,.portfolio-page:not(.is-project-open) .neon-stage:after,.portfolio-page:not(.is-project-open) .neon-backdrop:before,.portfolio-page:not(.is-project-open) .neon-backdrop:after,.portfolio-page:not(.is-project-open) .neon-backdrop>i{content:none;display:none}.portfolio-page:not(.is-project-open) .neon-backdrop{opacity:.22;background-image:linear-gradient(#ffffff6b 1px,#0000 1px),linear-gradient(90deg,#ffffff6b 1px,#0000 1px);background-position:0 0,0 0;background-size:72px 72px;animation:96s linear infinite selector-grid-drift}.portfolio-page:not(.is-project-open) .stage-identity,.portfolio-page:not(.is-project-open) .stage-instruction{color:#171820}.portfolio-page:not(.is-project-open) .stage-identity span{color:#fff;text-shadow:0 1px #17182040}@keyframes selector-grid-drift{0%{background-position:0 0,0 0}to{background-position:288px 288px,288px 288px}}@media (prefers-reduced-motion:reduce){.portfolio-page:not(.is-project-open) .neon-backdrop{animation:none}}.portfolio-page{--motion-gentle:cubic-bezier(.22, .61, .36, 1)}.project-library-layer,.neon-scene,.project-screen-wrap,.project-screen-frame,.project-screen-frame .project-launch-transition,.project-launch--standard .project-launch__hero,.project-launch--standard .project-launch__contribution,.project-launch--standard .project-launch__challenge,.project-launch--standard .project-launch__outcome,.project-launch--android .android-phone__current,.project-launch--android .android-case-study__panel{backface-visibility:hidden;transform-style:preserve-3d}.project-library-layer{will-change:opacity, transform;transition:opacity .34s var(--motion-gentle), transform .76s var(--motion-gentle)}.project-library-layer.is-exiting{transform:translateZ(0)scale(.992)}.neon-scene,.project-screen-wrap,.project-screen-frame{will-change:width, height, top, left, border-width, box-shadow;transition:width .76s var(--motion-gentle), height .76s var(--motion-gentle), top .76s var(--motion-gentle), left .76s var(--motion-gentle), border-width .62s var(--motion-gentle), border-radius .62s var(--motion-gentle), box-shadow .62s var(--motion-gentle)}.project-screen-frame .project-launch-transition{will-change:background-color, opacity;animation:project-surface-fill .76s var(--motion-gentle) both}.portfolio-page.is-project-open:not(.is-project-closing) .neon-stage{animation:stage-open-bg .76s var(--motion-gentle) both}.portfolio-page.is-project-closing .project-screen-frame .project-launch-transition{background:#fff;animation:.82s linear both project-exit-white-hold}.portfolio-page.is-project-closing .project-screen-frame .project-launch-transition .project-launch{animation:.15s ease-out both project-exit-content-fade}.portfolio-page.is-project-closing .neon-stage{animation:stage-close-bg .62s var(--motion-gentle) both}.portfolio-page.is-project-closing .neon-scene,.portfolio-page.is-project-closing .project-screen-wrap,.portfolio-page.is-project-closing .project-screen-frame{transition-duration:.62s;transition-timing-function:var(--motion-gentle);transition-delay:.16s}.portfolio-page.is-project-closing .stage-identity,.portfolio-page.is-project-closing .stage-instruction{opacity:0;transform:translateY(-.35em)}.portfolio-page.is-library-revealing .project-library-layer{pointer-events:none;animation:project-library-return .72s var(--motion-gentle) both}.portfolio-page.is-library-revealing .stage-identity,.portfolio-page.is-library-revealing .stage-instruction{animation:project-stage-chrome-return .56s 90ms var(--motion-gentle) both}@keyframes project-library-return{0%{opacity:0;transform:translateY(.35em)scale(.992)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes project-stage-chrome-return{0%{opacity:0;transform:translateY(-.35em)}to{opacity:1;transform:translate(0,0)}}@keyframes project-exit-white-hold{0%,to{background-color:#fff}}@keyframes project-exit-content-fade{0%{opacity:1}to{opacity:0}}.project-launch--standard .project-launch__hero,.project-launch--standard .project-launch__contribution,.project-launch--standard .project-launch__challenge,.project-launch--standard .project-launch__outcome{transition:top .76s var(--motion-gentle), right .76s var(--motion-gentle), bottom .76s var(--motion-gentle), left .76s var(--motion-gentle), width .76s var(--motion-gentle), height .76s var(--motion-gentle), padding .76s var(--motion-gentle), border-radius .76s var(--motion-gentle)}.project-launch__contribution p,.project-launch__challenge p,.project-launch__outcome p{animation:project-showcase-step .42s .12s var(--motion-gentle) both}.project-launch--android .android-phone{contain:paint}.project-launch--android .android-phone__current{will-change:transform, opacity;animation:project-screenshot-swipe .68s var(--motion-gentle) both}.project-launch--android .android-case-study__panel{--panel-exit-x:0;--panel-exit-y:1.4rem;transition:top .76s var(--motion-gentle), right .76s var(--motion-gentle), bottom .76s var(--motion-gentle), left .76s var(--motion-gentle), width .76s var(--motion-gentle), height .76s var(--motion-gentle), padding .76s var(--motion-gentle), opacity .62s var(--motion-gentle), transform .76s var(--motion-gentle), border-radius .76s var(--motion-gentle)}.project-launch--android .android-case-study__panel[aria-hidden=true]{opacity:0;transform:translate3d(var(--panel-exit-x), var(--panel-exit-y), 0) scale(.16)}.project-launch--android .android-case-study__panel--meta,.project-launch--android .android-case-study__panel--project,.project-launch--android .android-case-study__panel--problem{--panel-exit-x:-2rem;--panel-exit-y:-1.4rem;transform-origin:0 0}.project-launch--android .android-case-study__panel--stack,.project-launch--android .android-case-study__panel--engineering{--panel-exit-x:2rem;--panel-exit-y:-1.4rem;transform-origin:100% 0}.project-launch--android .android-case-study__panel--contribution,.project-launch--android .android-case-study__panel--outcome{--panel-exit-x:2rem;--panel-exit-y:1.6rem;transform-origin:100% 100%}.project-launch--android .android-case-study__panel--stack{transition-delay:55ms}.project-launch--android .android-case-study__panel--contribution{transition-delay:.105s}.project-launch--android .android-case-study__panel--engineering{transition-delay:45ms}.project-launch--android .android-case-study__panel--outcome{transition-delay:.13s}@media (width>=1181px){.project-launch--standard.project-launch--page-01 .project-launch__hero,.project-launch--standard.project-launch--page-01 .project-launch__contribution,.project-launch--standard.project-launch--page-01 .project-launch__challenge,.project-launch--standard.project-launch--page-01 .project-launch__outcome{animation:project-panel-deal-one .68s var(--motion-gentle) both}.project-launch--standard.project-launch--page-02 .project-launch__hero,.project-launch--standard.project-launch--page-02 .project-launch__contribution,.project-launch--standard.project-launch--page-02 .project-launch__challenge,.project-launch--standard.project-launch--page-02 .project-launch__outcome{animation:project-panel-deal-two .68s var(--motion-gentle) both}.project-launch--standard.project-launch--page-03 .project-launch__hero,.project-launch--standard.project-launch--page-03 .project-launch__contribution,.project-launch--standard.project-launch--page-03 .project-launch__challenge,.project-launch--standard.project-launch--page-03 .project-launch__outcome{animation:project-panel-deal-three .68s var(--motion-gentle) both}.project-launch--standard .project-launch__contribution{animation-delay:55ms}.project-launch--standard .project-launch__challenge{animation-delay:.11s}.project-launch--standard .project-launch__outcome{animation-delay:.165s}}@media (prefers-reduced-motion:reduce){.project-library-layer,.neon-scene,.project-screen-wrap,.project-screen-frame,.project-screen-frame .project-launch-transition,.project-screen-frame .project-launch-transition .project-launch,.project-screen-frame .project-launch-transition .project-launch>*,.portfolio-page.is-library-revealing .project-library-layer,.portfolio-page.is-library-revealing .stage-identity,.portfolio-page.is-library-revealing .stage-instruction,.project-launch--standard .project-launch__hero,.project-launch--standard .project-launch__contribution,.project-launch--standard .project-launch__challenge,.project-launch--standard .project-launch__outcome,.project-launch--android .android-phone__current,.project-launch--android .android-case-study__panel{transition:none;animation:none}}.project-layout--receipt .android-phone__current{animation:receipt-screen-roll .68s var(--motion-gentle) both}@keyframes receipt-screen-roll{0%{opacity:.72;transform:translateY(9%)scale(.985)}to{opacity:1;transform:translate(0,0)scale(1)}}@media (prefers-reduced-motion:reduce){.project-layout--receipt .android-phone__current{animation:none}}.face-buttons button{color:var(--fun-white);text-indent:0;place-items:center;display:grid}.face-buttons button:after{content:none;display:none}.face-buttons button>span{width:100%;height:100%;color:inherit;font-family:var(--font-fredoka), ui-rounded, sans-serif;text-shadow:0 2px #00000052;place-items:center;font-size:clamp(11px,1.15vw,17px);font-weight:800;line-height:1;display:grid;transform:rotate(8deg)}.portfolio-page.is-browsing .contact-primary em{color:#52617d;max-width:20em;font-size:clamp(9px,.82vw,12px);font-style:normal;font-weight:650;line-height:1.35}.portfolio-page.is-browsing .contact-panel nav>p{color:#65708d;letter-spacing:.08em;text-align:center;margin:clamp(4px,.5vh,8px) 0 0;font-size:clamp(8px,.7vw,10px);font-weight:800;line-height:1.3}@media (width>=901px){.portfolio-page.is-browsing .contact-primary,.portfolio-page.is-browsing .contact-panel nav{padding-block:clamp(22px,2.7vh,36px)}.portfolio-page.is-browsing .contact-primary{align-items:center}.portfolio-page.is-browsing .contact-panel nav{justify-content:center}.portfolio-page.is-browsing .contact-panel nav a{width:min(100%,330px);margin-inline:auto}}.portfolio-page:not(.is-project-open) .manual-panel{color:var(--fun-ink);border:6px solid var(--fun-ink);box-shadow:14px 16px 0 var(--fun-red), 22px 28px 0 #24345b2e;background:radial-gradient(circle at 18px 18px,#00bce81c 0 4px,#0000 4.5px) 0 0/46px 46px,radial-gradient(circle at 94% 8%,#ff455429 0 4.5vw,#0000 4.6vw),linear-gradient(135deg,#fff,#f1f4f8);border-radius:clamp(22px,2.2vw,34px);animation:none}.portfolio-page:not(.is-project-open) .manual-panel:before{border:3px dashed #3688f54d;border-radius:clamp(14px,1.6vw,24px)}.project-launch--dragon-hoard{--dragon-gold:#d99528;--dragon-ink:#281a13;--dragon-intro-bg:#fff0c8;--dragon-intro-edge:#d99528;--dragon-heading-bg:#fff1bd;--dragon-heading-edge:#d18a20;--dragon-action-bg:#dff2fb;--dragon-action-edge:#278fb8;--dragon-engineering-bg:#e3f1dc;--dragon-engineering-edge:#5d9250;--dragon-contribution-bg:#f6dfd4;--dragon-contribution-edge:#a75432;color:var(--dragon-ink);background:radial-gradient(circle at 74% 23%,#e5a0361f,#0000 25%),linear-gradient(135deg,#fffdf7,#fff9ec 58%,#fffdf8)!important}.project-launch--dragon-hoard.project-launch--page-02{--dragon-heading-bg:#dff1df;--dragon-heading-edge:#4e8c55;--dragon-action-bg:#f8dfd2;--dragon-action-edge:#c36a45;--dragon-engineering-bg:#dfe9fb;--dragon-engineering-edge:#5979b9}.project-launch--dragon-hoard.project-launch--page-03{--dragon-heading-bg:#eee2f6;--dragon-heading-edge:#8d63a6;--dragon-action-bg:#fff0c9;--dragon-action-edge:#c88a20;--dragon-engineering-bg:#d9f1e8;--dragon-engineering-edge:#3b8b75}.project-launch--dragon-hoard.project-launch--page-04{--dragon-heading-bg:#f9dfd9;--dragon-heading-edge:#b95f4d;--dragon-action-bg:#e3e8fa;--dragon-action-edge:#6579b5;--dragon-engineering-bg:#fae9bd;--dragon-engineering-edge:#bd8120}.project-launch--dragon-hoard.project-launch--page-05{--dragon-heading-bg:#dcefeb;--dragon-heading-edge:#3c857b;--dragon-action-bg:#e9e1f2;--dragon-action-edge:#84649d;--dragon-engineering-bg:#f7dfe6;--dragon-engineering-edge:#aa5870}.project-launch--dragon-hoard:before{color:#b1641c0e!important}.dragon-hoard-case-study{grid-template-columns:minmax(250px,30%) minmax(0,1fr);gap:clamp(28px,4vw,72px);min-width:0;min-height:0;display:grid;position:absolute;inset:clamp(68px,8.8vh,92px) clamp(26px,4vw,76px) clamp(18px,2.4vh,28px)}.dragon-hoard-case-study__device{flex-direction:column;justify-content:center;align-items:center;gap:clamp(8px,1.2vh,14px);min-width:0;min-height:0;display:flex}.dragon-hoard-phone{aspect-ratio:390/844;background:#202026;border:clamp(6px,.56vw,9px) solid #202026;border-radius:clamp(28px,2.8vw,44px);width:min(100%,360px,45.5svh - 53.69px);padding:clamp(8px,.72vw,12px);position:relative;overflow:hidden;box-shadow:0 1.2em 2.8em #552d1138,0 0 0 clamp(3px,.28vw,5px) #d9952830}.dragon-hoard-phone__speaker{z-index:5;background:#08080b;border-radius:999px;width:23%;height:clamp(3px,.3vw,5px);position:absolute;top:clamp(5px,.58vw,9px);left:50%;transform:translate(-50%)}.dragon-hoard-phone__screen{background:#160d08;border-radius:clamp(20px,2.15vw,34px);width:100%;height:100%;overflow:hidden}.dragon-hoard-phone__screen .dhp-experience{width:100%;height:100%}.dragon-hoard-scene-dots{justify-content:center;align-items:center;gap:clamp(5px,.5vw,8px);display:flex}.dragon-hoard-scene-dots span{aspect-ratio:1;color:#836e5f;background:#ffffffc7;border:1px solid #50301933;border-radius:50%;place-items:center;width:clamp(25px,2.2vw,34px);font-size:clamp(7px,.6vw,9px);font-weight:900;transition:color .28s,background .28s,transform .42s cubic-bezier(.2,.8,.2,1);display:grid}.dragon-hoard-scene-dots span.is-active{color:#fff;background:var(--dragon-gold);transform:translateY(-2px)scale(1.08)}.dragon-hoard-case-study__content{grid-template-rows:auto auto minmax(0,1fr);align-content:start;gap:clamp(12px,1.5vh,20px);min-width:0;min-height:0;padding-bottom:clamp(170px,23vh,230px);display:grid}.dragon-hoard-case-study__content>header{border-left:clamp(5px, .45vw, 8px) solid var(--dragon-intro-edge);background:var(--dragon-intro-bg);border-radius:0 clamp(18px,1.6vw,26px) clamp(18px,1.6vw,26px) 0;padding:clamp(12px,1.25vw,20px) clamp(14px,1.6vw,28px);position:relative;box-shadow:0 .9em 2em #71421914}.dragon-hoard-case-study__content>header>p,.dragon-hoard-scene-heading>span,.dragon-hoard-scene-details article>span{color:#9b5429;letter-spacing:.08em;font-size:clamp(10px,.78vw,13px);font-weight:900}.dragon-hoard-case-study__content h1{color:#242126;font:700 clamp(30px, 4.1vw, 64px)/1.05 var(--font-fredoka), ui-rounded, sans-serif;letter-spacing:-.045em;margin:.06em 0 .12em;padding-bottom:.08em}.dragon-hoard-case-study__content>header>strong{color:#584b43;max-width:72ch;font-size:clamp(13px,1.08vw,18px);line-height:1.46;display:block}.dragon-hoard-case-study__content>header>ul{flex-wrap:wrap;gap:.45em;margin:.7em 0 0;padding:0;list-style:none;display:flex}.dragon-hoard-case-study__content>header li{color:#774126;background:#fff6dee0;border:1px solid #9b542938;border-radius:999px;padding:.34em .7em;font-size:clamp(9px,.7vw,12px);font-weight:800}.dragon-hoard-scene-heading{border:1px solid color-mix(in srgb, var(--dragon-heading-edge) 34%, transparent);background:var(--dragon-heading-bg);box-shadow:inset clamp(4px, .34vw, 6px) 0 0 var(--dragon-heading-edge), 0 .8em 1.8em #71421912;transition:background-color .52s var(--motion-gentle), border-color .52s var(--motion-gentle), box-shadow .52s var(--motion-gentle);border-radius:clamp(16px,1.4vw,24px);grid-template-columns:minmax(88px,18%) minmax(150px,31%) minmax(0,1fr);align-items:center;gap:clamp(12px,1.4vw,24px);padding:clamp(12px,1.2vw,20px) clamp(14px,1.5vw,24px);animation:.62s cubic-bezier(.2,.8,.2,1) both dragon-scene-copy-in;display:grid}.dragon-hoard-scene-heading__copy>span{color:var(--dragon-heading-edge);transition:color .52s var(--motion-gentle)}.dragon-hoard-scene-heading h2{color:#2d2521;font:700 clamp(19px, 1.85vw, 30px)/1.1 var(--font-fredoka), ui-rounded, sans-serif;margin:0}.dragon-hoard-scene-heading p,.dragon-hoard-scene-details p{color:#5b514b;margin:0;font-size:clamp(12px,.95vw,16px);font-weight:650;line-height:1.5}.dragon-hoard-scene-details{grid-template-rows:auto auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.1vw,18px);min-height:0;animation:.7s cubic-bezier(.2,.8,.2,1) 70ms both dragon-scene-cards-in;display:grid}.dragon-hoard-scene-details article{border:1px solid color-mix(in srgb, var(--dragon-action-edge) 32%, transparent);background:var(--dragon-action-bg);min-width:0;box-shadow:inset clamp(4px, .34vw, 6px) 0 0 var(--dragon-action-edge), 0 .65em 1.45em #7142190f;transition:background-color .52s var(--motion-gentle), border-color .52s var(--motion-gentle), box-shadow .52s var(--motion-gentle);border-radius:clamp(16px,1.4vw,23px);padding:clamp(12px,1.2vw,20px)}.dragon-hoard-scene-details article:nth-child(2){border-color:color-mix(in srgb, var(--dragon-engineering-edge) 32%, transparent);border-top:4px solid var(--dragon-engineering-edge);background:var(--dragon-engineering-bg);box-shadow:0 .65em 1.45em #7142190f}.dragon-hoard-scene-details article:nth-child(3){border-left:5px solid #9b5429;grid-column:2;margin-left:clamp(6px,.7vw,12px)}.dragon-hoard-scene-details article>span{margin-bottom:.55em;display:block}.dragon-hoard-scene-details__action .dragon-hoard-scene-card__copy>span{color:var(--dragon-action-edge);transition:color .52s var(--motion-gentle)}.dragon-hoard-scene-details__engineering .dragon-hoard-scene-card__copy>span{color:var(--dragon-engineering-edge);transition:color .52s var(--motion-gentle)}.dragon-hoard-contribution{background:var(--dragon-contribution-bg);border-color:color-mix(in srgb, var(--dragon-contribution-edge) 32%, transparent);border-left-color:var(--dragon-contribution-edge)}.dragon-hoard-contribution>span{color:var(--dragon-contribution-edge)}.dragon-hoard-case-study__prompt{z-index:4;justify-content:space-between;gap:.65em 1em;width:clamp(260px,27vw,390px);font-size:clamp(9px,.72vw,12px);bottom:clamp(24px,3.2vh,42px);left:auto;right:clamp(26px,4vw,76px)}@keyframes dragon-scene-copy-in{0%{opacity:.35;transform:translate(18px)}to{opacity:1;transform:translate(0,0)}}@keyframes dragon-scene-cards-in{0%{opacity:.25;transform:translateY(13px)scale(.985)}to{opacity:1;transform:translate(0,0)scale(1)}}@media (width<=900px){.dragon-hoard-case-study{grid-template-columns:minmax(185px,34%) minmax(0,1fr);gap:clamp(14px,2.4vw,28px);inset-inline:clamp(14px,2.8vw,28px)}.dragon-hoard-case-study__content{gap:9px;padding-bottom:clamp(138px,22vh,180px)}.dragon-hoard-case-study__content>header{padding:9px 12px}.dragon-hoard-case-study__content h1{font-size:clamp(24px,5vw,40px)}.dragon-hoard-scene-heading{grid-template-columns:auto 1fr;padding:10px 12px}.dragon-hoard-scene-heading p{grid-column:1/-1}.dragon-hoard-scene-details{gap:8px}.dragon-hoard-scene-details article{padding:10px 11px}.dragon-hoard-case-study__prompt{display:none}}@media (width<=620px){.dragon-hoard-case-study{grid-template-columns:minmax(126px,36%) minmax(0,1fr);gap:10px;inset:52px 10px 8px}.dragon-hoard-phone{border-width:4px;border-radius:20px;width:min(100%,45.5svh - 40.04px);padding:5px}.dragon-hoard-phone__screen{border-radius:15px}.dragon-hoard-scene-dots span{width:20px;font-size:6px}.dragon-hoard-case-study__content{gap:6px;padding-bottom:clamp(112px,23vh,150px)}.dragon-hoard-case-study__content>header{border-left-width:3px;border-radius:0 9px 9px 0;padding:6px 8px}.dragon-hoard-case-study__content h1{font-size:clamp(19px,6vw,28px)}.dragon-hoard-case-study__content>header>strong{font-size:7px;line-height:1.3}.dragon-hoard-case-study__content>header>ul{gap:3px;margin-top:4px}.dragon-hoard-case-study__content>header li{padding:2px 5px;font-size:6px}.dragon-hoard-scene-heading{border-radius:9px;gap:4px 7px;padding:6px 8px}.dragon-hoard-scene-heading h2{font-size:11px}.dragon-hoard-scene-heading p,.dragon-hoard-scene-details p{font-size:6.5px;line-height:1.3}.dragon-hoard-case-study__content>header>p,.dragon-hoard-scene-heading>span,.dragon-hoard-scene-details article>span{font-size:6px}.dragon-hoard-scene-details{gap:5px}.dragon-hoard-scene-details article{border-radius:9px;padding:6px 7px}.dragon-hoard-scene-details article:nth-child(3){display:none}}@media (prefers-reduced-motion:reduce){.dragon-hoard-scene-heading,.dragon-hoard-scene-details{animation:none}}.neon-scene,.project-screen-wrap,.project-screen-frame{transition:none!important}.project-screen-frame{contain:layout paint style;transform-origin:0 0;transform:translateZ(0)}.project-library-layer{transition:opacity .26s var(--motion-gentle), transform .42s var(--motion-gentle)}.project-screen-frame .project-launch-transition{contain:layout paint style;animation-duration:.68s}.project-screen-frame .project-launch-transition .project-launch>*{animation:project-content-in .32s .5s var(--motion-gentle) both}.portfolio-page.is-project-closing .project-screen-frame .project-launch-transition .project-launch>*{animation:none}.project-launch--standard [data-morph-id],.project-launch--android .android-case-study__panel{contain:layout paint style}.portfolio-page.is-showcase-morphing .project-launch--standard [data-morph-id],.portfolio-page.is-showcase-morphing .project-launch--standard [data-morph-id]>*{backface-visibility:hidden;will-change:transform, opacity}.portfolio-page.is-showcase-morphing .project-launch--standard [data-morph-id]>*{font-synthesis:none;text-rendering:geometricprecision}.portfolio-page:not(.is-showcase-morphing) .project-launch--standard [data-morph-id],.portfolio-page:not(.is-showcase-morphing) .project-launch--standard [data-morph-id]>*{will-change:auto}.project-launch--android .android-case-study,.project-launch--android .android-case-study__slide,.project-launch--android .android-case-study__content{contain:layout paint style}.dragon-hoard-phone__screen,.dragon-hoard-phone__screen .dhp-experience,.dragon-hoard-phone__screen .dhp-scene,.dragon-hoard-phone__screen .dhp-board-wrap{contain:layout paint style}.dragon-hoard-phone__screen .dhp-experience{contain:strict;isolation:isolate}.dragon-hoard-phone__screen .dhp-experience,.dragon-hoard-phone__screen .dhp-scene,.dragon-hoard-phone__screen .dhp-board-wrap{backface-visibility:hidden}.dragon-hoard-phone__screen .dhp-tile{backface-visibility:visible;will-change:auto;animation:none!important}.dragon-hoard-phone__screen .dhp-tile img{filter:none!important}.dragon-hoard-phone__screen [data-puzzle-phase=swap] .dhp-tile[data-role=swap-storm],.dragon-hoard-phone__screen [data-puzzle-phase=swap] .dhp-tile[data-role=swap-fire],.dragon-hoard-phone__screen [data-puzzle-phase=clear] .dhp-tile[data-role=match-fire],.dragon-hoard-phone__screen [data-puzzle-phase=clear] .dhp-tile[data-role=swap-fire],.dragon-hoard-phone__screen [data-puzzle-phase=fall] .dhp-tile[data-role=match-fire],.dragon-hoard-phone__screen [data-puzzle-phase=fall] .dhp-tile[data-role=swap-fire]{will-change:transform, opacity}.dragon-hoard-phone__screen [data-puzzle-phase=hint] .dhp-tile[data-role=swap-storm],.dragon-hoard-phone__screen [data-puzzle-phase=hint] .dhp-tile[data-role=swap-fire],.dragon-hoard-phone__screen [data-puzzle-phase=clear] .dhp-tile[data-role=match-fire],.dragon-hoard-phone__screen [data-puzzle-phase=clear] .dhp-tile[data-role=swap-fire],.dragon-hoard-phone__screen [data-egg-phase=crack] .dhp-tile[data-role=egg],.dragon-hoard-phone__screen [data-egg-phase=open] .dhp-tile[data-role=egg],.dragon-hoard-phone__screen [data-egg-phase=hatched] .dhp-tile[data-role=egg]{filter:none!important}.dragon-hoard-phone__screen [data-puzzle-phase=hint] .dhp-tile[data-role=swap-storm] .dhp-tile-well,.dragon-hoard-phone__screen [data-puzzle-phase=hint] .dhp-tile[data-role=swap-fire] .dhp-tile-well{box-shadow:inset 0 0 0 .45cqw #ffd26f,0 0 1.7cqw #ffb342a8}.dragon-hoard-phone__screen [data-egg-phase=crack] .dhp-tile[data-role=egg] .dhp-tile-well,.dragon-hoard-phone__screen [data-egg-phase=open] .dhp-tile[data-role=egg] .dhp-tile-well,.dragon-hoard-phone__screen [data-egg-phase=hatched] .dhp-tile[data-role=egg] .dhp-tile-well{box-shadow:inset 0 0 0 .45cqw #7bc9ee,0 0 1.8cqw #46b4ff94}.dragon-hoard-phone__screen .dhp-torch{filter:drop-shadow(0 0 6cqw #ff771c47);animation:none!important}.dragon-hoard-phone__screen .dhp-embers{mix-blend-mode:normal;animation:none!important}.dragon-hoard-phone__screen .dhp-reward-rays,.dragon-hoard-phone__screen .dhp-dust span,.dragon-hoard-phone__screen .dhp-start-egg img{animation:none!important}.dragon-hoard-phone__screen .dhp-board-wrap{transform-origin:0 0;will-change:transform, opacity;filter:none!important;width:92%!important;transition:opacity .24s ease, transform var(--dhp-structural) var(--dhp-ease)!important;top:0!important;left:0!important}.dragon-hoard-phone__screen .dhp-experience[data-scene="0"] .dhp-board-wrap{opacity:.52;transform:translate(11.36cqw,52.6cqh)scale(.84)!important}.dragon-hoard-phone__screen .dhp-experience[data-scene="1"] .dhp-board-wrap{opacity:1;transform:translate(4cqw,19.5cqh)scale(1)!important}.dragon-hoard-phone__screen .dhp-experience[data-scene="2"] .dhp-board-wrap{opacity:.34;transform:translate(8.29cqw,22.38cqh)scale(.907)!important}.dragon-hoard-phone__screen .dhp-experience[data-scene="3"] .dhp-board-wrap{opacity:.12;transform:translate(23.6cqw,17.85cqh)scale(.574)!important}.dragon-hoard-phone__screen .dhp-experience[data-scene="4"] .dhp-board-wrap{opacity:.09;transform:translate(34.8cqw,18.14cqh)scale(.33)!important}.dragon-hoard-phone__screen .dhp-scene{transform:translateY(1.2cqh)!important}.dragon-hoard-phone__screen .dhp-experience[data-scene="0"] [data-phone-scene="0"],.dragon-hoard-phone__screen .dhp-experience[data-scene="1"] [data-phone-scene="1"],.dragon-hoard-phone__screen .dhp-experience[data-scene="2"] [data-phone-scene="2"],.dragon-hoard-phone__screen .dhp-experience[data-scene="3"] [data-phone-scene="3"],.dragon-hoard-phone__screen .dhp-experience[data-scene="4"] [data-phone-scene="4"]{transform:translate(0,0)!important}.dragon-hoard-phone__screen .dhp-shop-card{transition:opacity .2s ease, transform .3s var(--dhp-ease), border-color .2s ease!important}.dragon-hoard-scene-heading,.dragon-hoard-scene-details{contain:layout paint style;will-change:transform, opacity}.dragon-hoard-scene-heading{animation:.42s cubic-bezier(.2,.8,.2,1) both dragon-scene-copy-composite}.dragon-hoard-scene-details{animation:.46s cubic-bezier(.2,.8,.2,1) 45ms both dragon-scene-cards-composite}@keyframes dragon-scene-copy-composite{0%{opacity:.42;transform:translate(14px)}to{opacity:1;transform:translate(0,0)}}@keyframes dragon-scene-cards-composite{0%{opacity:.32;transform:translateY(10px)}to{opacity:1;transform:translate(0,0)}}.dragon-hoard-phone__loading{color:#f1bd56;letter-spacing:.12em;background:linear-gradient(#21130c,#120b07);place-items:center;width:100%;height:100%;font-size:clamp(8px,2.5cqw,12px);font-weight:900;display:grid}@media (prefers-reduced-motion:reduce),(update:slow){.dragon-hoard-phone__screen .dhp-embers,.dragon-hoard-phone__screen .dhp-reward-rays,.dragon-hoard-phone__screen .dhp-dust span{animation:none!important}}@media (width>=901px){.project-launch--dragon-hoard .dragon-hoard-case-study__content{padding-bottom:0;display:block;position:relative;overflow:visible}.project-launch--dragon-hoard .dragon-hoard-case-study__content>header,.project-launch--dragon-hoard .dragon-hoard-scene-heading,.project-launch--dragon-hoard .dragon-hoard-scene-details,.project-launch--dragon-hoard .dragon-hoard-scene-details article,.project-launch--dragon-hoard .dragon-hoard-contribution{min-width:0;transition:top .76s var(--motion-gentle), right .76s var(--motion-gentle), bottom .76s var(--motion-gentle), left .76s var(--motion-gentle), width .76s var(--motion-gentle), height .76s var(--motion-gentle), padding .62s var(--motion-gentle), border-radius .62s var(--motion-gentle), background-color .52s var(--motion-gentle), border-color .52s var(--motion-gentle), box-shadow .52s var(--motion-gentle), opacity .26s ease, transform .62s var(--motion-gentle);position:absolute;overflow:hidden}.project-launch--dragon-hoard .dragon-hoard-case-study__content>header{z-index:4;transform-origin:100% 0;width:100%;height:31%;inset:0 0 auto;transform:translate(0,0)scale(1)}.project-launch--dragon-hoard:not(.project-launch--page-01) .dragon-hoard-case-study__content>header{opacity:0;pointer-events:none;transform:translate(2.2rem,-1rem)scale(.12)}.project-launch--dragon-hoard .dragon-hoard-scene-heading{z-index:3;margin:0;animation:none;display:block}.project-launch--dragon-hoard .dragon-hoard-scene-heading__copy{height:100%;animation:dragon-copy-swap .36s .11s var(--motion-gentle) both;grid-template-columns:minmax(82px,18%) minmax(145px,30%) minmax(0,1fr);align-items:center;gap:clamp(12px,1.4vw,24px);display:grid}.project-launch--dragon-hoard .dragon-hoard-scene-heading__copy>span,.project-launch--dragon-hoard .dragon-hoard-scene-card__copy>span,.project-launch--dragon-hoard .dragon-hoard-contribution>span{letter-spacing:.08em;font-size:clamp(10px,.78vw,13px);font-weight:900}.project-launch--dragon-hoard .dragon-hoard-scene-heading__copy>span{color:var(--dragon-heading-edge)}.project-launch--dragon-hoard .dragon-hoard-scene-details__action .dragon-hoard-scene-card__copy>span{color:var(--dragon-action-edge)}.project-launch--dragon-hoard .dragon-hoard-scene-details__engineering .dragon-hoard-scene-card__copy>span{color:var(--dragon-engineering-edge)}.project-launch--dragon-hoard .dragon-hoard-contribution>span{color:var(--dragon-contribution-edge)}.project-launch--dragon-hoard .dragon-hoard-scene-details{z-index:2;pointer-events:none;animation:none;display:block;inset:0}.project-launch--dragon-hoard .dragon-hoard-scene-details article,.project-launch--dragon-hoard .dragon-hoard-contribution{border:1px solid color-mix(in srgb, var(--dragon-action-edge) 32%, transparent);background:var(--dragon-action-bg);box-shadow:inset clamp(4px, .34vw, 6px) 0 0 var(--dragon-action-edge), 0 .65em 1.45em #7142190f;border-radius:clamp(16px,1.4vw,23px);padding:clamp(14px,1.25vw,22px);display:block}.project-launch--dragon-hoard .dragon-hoard-scene-details__engineering{border-color:color-mix(in srgb, var(--dragon-engineering-edge) 32%, transparent);border-top:4px solid var(--dragon-engineering-edge);background:var(--dragon-engineering-bg);box-shadow:0 .65em 1.45em #7142190f}.project-launch--dragon-hoard .dragon-hoard-contribution{z-index:5;border-color:color-mix(in srgb, var(--dragon-contribution-edge) 32%, transparent);border-left:5px solid var(--dragon-contribution-edge);background:var(--dragon-contribution-bg);width:42%;height:24%;bottom:0;left:auto;right:0;box-shadow:0 .65em 1.45em #7142190f}.project-launch--dragon-hoard .dragon-hoard-scene-card__copy{animation:dragon-copy-swap .34s .13s var(--motion-gentle) both}.project-launch--dragon-hoard .dragon-hoard-scene-card__copy>span,.project-launch--dragon-hoard .dragon-hoard-contribution>span{margin-bottom:.55em;display:block}.project-launch--dragon-hoard .dragon-hoard-contribution p{color:#5b514b;margin:0;font-size:clamp(12px,.95vw,16px);font-weight:650;line-height:1.5}.project-launch--dragon-hoard.project-launch--page-01 .dragon-hoard-scene-heading{width:100%;height:14%;inset:34% 0 auto}.project-launch--dragon-hoard.project-launch--page-01 .dragon-hoard-scene-details__action{width:47%;height:20%;inset:51% auto auto 0}.project-launch--dragon-hoard.project-launch--page-01 .dragon-hoard-scene-details__engineering{width:49%;height:20%;inset:51% 0 auto auto}.project-launch--dragon-hoard.project-launch--page-02 .dragon-hoard-scene-heading{width:60%;height:22%;inset:0 auto auto 0}.project-launch--dragon-hoard.project-launch--page-02 .dragon-hoard-scene-heading__copy{grid-template-rows:auto 1fr;grid-template-columns:auto 1fr}.project-launch--dragon-hoard.project-launch--page-02 .dragon-hoard-scene-heading__copy p{grid-column:1/-1}.project-launch--dragon-hoard.project-launch--page-02 .dragon-hoard-scene-details__action{width:42%;height:31%;inset:27% auto auto 0}.project-launch--dragon-hoard.project-launch--page-02 .dragon-hoard-scene-details__engineering{width:36%;height:48%;inset:8% 0 auto auto}.project-launch--dragon-hoard.project-launch--page-02 .dragon-hoard-contribution{width:45%;height:27%}.project-launch--dragon-hoard.project-launch--page-03 .dragon-hoard-scene-heading{width:62%;height:22%;inset:0 0 auto auto}.project-launch--dragon-hoard.project-launch--page-03 .dragon-hoard-scene-heading__copy{grid-template-rows:auto 1fr;grid-template-columns:auto 1fr}.project-launch--dragon-hoard.project-launch--page-03 .dragon-hoard-scene-heading__copy p{grid-column:1/-1}.project-launch--dragon-hoard.project-launch--page-03 .dragon-hoard-scene-details__action{width:34%;height:48%;inset:0 auto auto 0}.project-launch--dragon-hoard.project-launch--page-03 .dragon-hoard-scene-details__engineering{width:62%;height:29%;inset:27% 0 auto auto}.project-launch--dragon-hoard.project-launch--page-03 .dragon-hoard-contribution{width:40%;height:25%}.project-launch--dragon-hoard.project-launch--page-04 .dragon-hoard-scene-heading{width:54%;height:25%;inset:0 auto auto 0}.project-launch--dragon-hoard.project-launch--page-04 .dragon-hoard-scene-heading__copy{grid-template-rows:auto 1fr;grid-template-columns:auto 1fr}.project-launch--dragon-hoard.project-launch--page-04 .dragon-hoard-scene-heading__copy p{grid-column:1/-1}.project-launch--dragon-hoard.project-launch--page-04 .dragon-hoard-scene-details__action{width:54%;height:29%;inset:31% auto auto 0}.project-launch--dragon-hoard.project-launch--page-04 .dragon-hoard-scene-details__engineering{width:41%;height:58%;inset:0 0 auto auto}.project-launch--dragon-hoard.project-launch--page-04 .dragon-hoard-contribution{width:44%;height:26%}.project-launch--dragon-hoard.project-launch--page-05 .dragon-hoard-scene-heading{width:100%;height:17%;inset:0 0 auto}.project-launch--dragon-hoard.project-launch--page-05 .dragon-hoard-scene-details__action{width:43%;height:32%;inset:22% auto auto 0}.project-launch--dragon-hoard.project-launch--page-05 .dragon-hoard-scene-details__engineering{width:53%;height:32%;inset:22% 0 auto auto}.project-launch--dragon-hoard.project-launch--page-05 .dragon-hoard-contribution{width:42%;height:25%}.project-launch--dragon-hoard .dragon-hoard-case-study__prompt{justify-content:space-between;width:clamp(360px,26vw,400px);bottom:clamp(180px,24.5vh,204px);left:calc(50% - clamp(180px,13vw,200px));right:auto;transform:translate(0,0)}}@keyframes dragon-copy-swap{0%{opacity:0;transform:translateY(.48rem)}to{opacity:1;transform:translate(0,0)}}@media (prefers-reduced-motion:reduce){.project-launch--dragon-hoard .dragon-hoard-case-study__content>header,.project-launch--dragon-hoard .dragon-hoard-scene-heading,.project-launch--dragon-hoard .dragon-hoard-scene-details,.project-launch--dragon-hoard .dragon-hoard-scene-details article,.project-launch--dragon-hoard .dragon-hoard-contribution,.project-launch--dragon-hoard .dragon-hoard-scene-heading__copy,.project-launch--dragon-hoard .dragon-hoard-scene-card__copy{transition:none;animation:none}}.mobile-portfolio{display:none}@media (width<=820px){html{scroll-behavior:auto;overflow-y:auto;scroll-snap-type:none!important}body{overscroll-behavior-y:auto;color:#181820;background:#f6f7fa;overflow-y:auto}.portfolio-page{display:none!important}.mobile-portfolio{color:#181820;min-height:100svh;font-family:var(--font-nunito), ui-rounded, "Arial Rounded MT Bold", sans-serif;touch-action:pan-y;background:#f6f7fa;display:block;overflow:clip}.mobile-portfolio *,.mobile-portfolio :before,.mobile-portfolio :after{transition:none!important;animation:none!important}.mobile-portfolio a{color:inherit;text-decoration:none}.mobile-portfolio h1,.mobile-portfolio h2,.mobile-portfolio h3,.mobile-portfolio h4,.mobile-portfolio p{margin-top:0}.mobile-portfolio h1,.mobile-portfolio h2,.mobile-portfolio h3{font-family:var(--font-fredoka), ui-rounded, sans-serif}.mobile-header{z-index:50;background:#fffffff7;border-bottom:1px solid #e1e2e8;justify-content:space-between;align-items:center;min-height:62px;padding:10px 18px;display:flex;position:sticky;top:0}.mobile-brand{align-items:center;gap:10px;min-height:42px;font-size:14px;display:inline-flex}.mobile-brand span{color:#fff;width:38px;height:38px;font:700 13px/1 var(--font-fredoka), ui-rounded, sans-serif;background:#181820;border-radius:13px;place-items:center;display:grid}.mobile-brand b{font-weight:900}.mobile-email{background:#ff4554;border-radius:999px;place-items:center;min-height:42px;padding:0 16px;font-size:13px;font-weight:900;display:inline-grid;color:#fff!important}.mobile-nav{z-index:45;scrollbar-width:none;background:#f6f7faf7;border-bottom:1px solid #e4e5e9;gap:7px;padding:9px 16px 10px;display:flex;position:sticky;top:62px;overflow-x:auto}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav a{background:#fff;border:1px solid #dedfe5;border-radius:999px;flex:none;place-items:center;min-height:38px;padding:0 14px;font-size:12px;font-weight:900;display:inline-grid}.mobile-hero,.mobile-section,.mobile-contact{scroll-margin-top:122px}.mobile-hero{background:linear-gradient(135deg,#00bedc1c 0 42%,#0000 42% 58%,#ff45541a 58% 100%),#fff;border-bottom:1px solid #e2e3e8;gap:24px;padding:36px 20px 40px;display:grid}.mobile-hero>img{object-fit:cover;object-position:center top;background:#dff7fc;border:5px solid #181820;border-radius:32px;width:108px;height:108px;box-shadow:8px 8px #00b9dd}.mobile-hero>div>p{color:#d93343;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:1000}.mobile-hero h1{letter-spacing:-.035em;max-width:680px;margin-bottom:14px;font-size:clamp(31px,9vw,48px);font-weight:650;line-height:1.03}.mobile-hero>div>span{color:#5e606b;max-width:650px;font-size:16px;font-weight:700;line-height:1.6;display:block}.mobile-hero-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.mobile-hero-actions a{background:#fff;border:2px solid #181820;border-radius:15px;place-items:center;min-height:48px;padding:0 18px;font-size:14px;font-weight:1000;display:inline-grid}.mobile-hero-actions a:first-child{color:#fff;background:#181820}.mobile-section{padding:42px 18px}.mobile-section+.mobile-section{border-top:1px solid #e1e2e7}.mobile-section-heading{align-items:center;gap:14px;max-width:720px;margin:0 auto 22px;display:flex}.mobile-section-heading>span{color:#fff;background:#181820;border-radius:15px;flex:0 0 44px;place-items:center;width:44px;height:44px;font-size:12px;font-weight:1000;display:grid}.mobile-section-heading p{color:#777983;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:1000}.mobile-section-heading h2{margin-bottom:0;font-size:32px;font-weight:650;line-height:1}.mobile-project-list{gap:18px;max-width:720px;margin:0 auto;display:grid}.mobile-project-card{border:1px solid #dfe0e6;border-top:5px solid var(--mobile-accent);background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 10px 28px #1818200f}.mobile-project-card>header{grid-template-columns:58px minmax(0,1fr);gap:14px;padding:20px 18px 18px;display:grid}.mobile-project-card>header>img{object-fit:cover;background:#f1f2f5;border:1px solid #e0e1e5;border-radius:17px;width:58px;height:58px}.mobile-project-card small{color:#737580;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:1000;display:block}.mobile-project-card h3{margin-bottom:7px;font-size:27px;font-weight:650;line-height:1}.mobile-project-card header p{color:#5d5f69;margin-bottom:0;font-size:14px;font-weight:700;line-height:1.48}.mobile-project-preview{aspect-ratio:16/10;object-fit:cover;object-position:center top;background:#f0f1f4;border:1px solid #e0e1e6;border-radius:17px;width:calc(100% - 36px);margin:0 18px 18px;display:block}.mobile-project-meta{background:#e2e3e7;border:1px solid #e2e3e7;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 18px 14px;display:grid;overflow:hidden}.mobile-project-meta div{background:#f8f8fa;min-width:0;padding:12px}.mobile-project-meta dt{color:#848690;letter-spacing:.09em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:1000}.mobile-project-meta dd{margin:0;font-size:12px;font-weight:900;line-height:1.3}.mobile-tech-list{flex-wrap:wrap;gap:6px;margin:0;padding:0 18px 18px;list-style:none;display:flex}.mobile-tech-list li{color:#555761;background:#fff;border:1px solid #dfe0e5;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900}.mobile-case-study{border-top:1px solid #e1e2e6}.mobile-case-study summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:54px;padding:0 18px;font-size:13px;font-weight:1000;list-style:none;display:flex}.mobile-case-study summary::-webkit-details-marker{display:none}.mobile-case-study summary span{color:#fff;background:#181820;border-radius:50%;place-items:center;width:30px;height:30px;font-size:19px;display:grid}.mobile-case-study[open] summary span{transform:rotate(45deg)}.mobile-case-study>div{gap:10px;padding:0 18px 18px;display:grid}.mobile-case-study section{background:#f5f6f8;border-radius:15px;padding:15px}.mobile-case-study h4{letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:1000}.mobile-case-study p{color:#5c5e68;margin-bottom:0;font-size:13px;font-weight:700;line-height:1.55}.mobile-source-link{border-top:1px solid #e1e2e6;justify-content:space-between;align-items:center;min-height:52px;padding:0 18px;font-size:13px;font-weight:1000;display:flex;color:#146fb9!important}.mobile-profile-card,.mobile-timeline,.mobile-skill-groups,.mobile-education{max-width:720px;margin-left:auto;margin-right:auto}.mobile-profile-card{color:#fff;background:#181820;border-radius:24px;padding:22px}.mobile-profile-card>p{margin-bottom:10px;font-size:16px;font-weight:800;line-height:1.55}.mobile-profile-card>p+p{color:#c7c8d0;font-size:14px;font-weight:700}.mobile-profile-card dl{gap:8px;margin:20px 0 0;display:grid}.mobile-profile-card dl div{background:#292a33;border-radius:13px;padding:13px 14px}.mobile-profile-card dt{color:#6cdcf0;letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:1000}.mobile-profile-card dd{margin:3px 0 0;font-size:13px;font-weight:900}.mobile-timeline{gap:14px;display:grid}.mobile-timeline article{background:#fff;border:1px solid #dedfe5;border-left:5px solid #00b9dd;border-radius:18px;padding:19px 18px 19px 22px;position:relative}.mobile-timeline article:nth-child(2n){border-left-color:#ff4554}.mobile-timeline small{color:#747681;text-transform:uppercase;font-size:10px;font-weight:1000}.mobile-timeline h3{margin:6px 0 2px;font-size:22px;font-weight:650}.mobile-timeline h4{color:#1676bf;margin-bottom:12px;font-size:13px;line-height:1.4}.mobile-timeline ul{color:#595b65;gap:8px;margin:0;padding-left:18px;font-size:13px;font-weight:700;line-height:1.5;display:grid}.mobile-skill-groups{gap:12px;display:grid}.mobile-skill-groups article,.mobile-education{background:#fff;border:1px solid #dedfe5;border-radius:18px;padding:18px}.mobile-skill-groups h3,.mobile-education h3{margin-bottom:12px;font-size:20px;font-weight:650}.mobile-skill-groups ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.mobile-skill-groups li{color:#4f515a;background:#f0f1f4;border-radius:10px;padding:7px 10px;font-size:11px;font-weight:900}.mobile-education{background:#e8faff;border-color:#bcecf4;margin-top:12px}.mobile-education>span{color:#067a94;letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:1000}.mobile-education h3{margin:6px 0 4px}.mobile-education p{color:#555b64;margin-bottom:0;font-size:12px;font-weight:800}.mobile-contact{color:#fff;background:linear-gradient(135deg,#181820 0 66%,#242530 66% 100%);border-radius:28px;margin:10px 14px 0;padding:34px 22px}.mobile-contact>p{color:#6bdcf0;letter-spacing:.11em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:1000}.mobile-contact h2{margin-bottom:12px;font-size:30px;font-weight:650;line-height:1.05}.mobile-contact>span{color:#c9cad2;font-size:14px;font-weight:700;line-height:1.5;display:block}.mobile-contact-primary{overflow-wrap:anywhere;background:#fff;border-radius:15px;place-items:center;min-height:52px;margin-top:22px;padding:0 14px;font-size:13px;font-weight:1000;display:grid;color:#181820!important}.mobile-contact>div{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.mobile-contact>div a{border:1px solid #4b4c56;border-radius:14px;place-items:center;min-height:48px;font-size:12px;font-weight:1000;display:grid}.mobile-footer{color:#72747e;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:28px 18px 34px;font-size:10px;font-weight:900;display:grid}.mobile-footer>span{color:#fff;background:#181820;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.mobile-footer p{margin:0}.mobile-footer a{place-items:center;min-height:44px;display:grid}}@media (width<=390px){.mobile-header{padding-left:12px;padding-right:12px}.mobile-brand b{max-width:78px;line-height:1.05}.mobile-project-meta{grid-template-columns:1fr}.mobile-project-card>header{grid-template-columns:50px minmax(0,1fr)}.mobile-project-card>header>img{width:50px;height:50px}.mobile-contact h2{font-size:27px}}@media (width>=621px){.portfolio-page:not(.is-project-open) .stage-instruction{padding-left:clamp(130px,10vw,220px);padding-right:clamp(240px,17vw,360px)}.portfolio-page:not(.is-project-open) .stage-instruction span{white-space:nowrap}}@media (width>=621px) and (width<=1180px){.portfolio-page:not(.is-project-open) .stage-instruction span:last-child{display:none}}.project-showcase-progress b{color:#38383e;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(10px,.82vw,13px);font-weight:850;overflow:hidden}.showcase-card-copy{width:100%;min-width:0;height:100%;min-height:0;animation:verified-card-copy-in .43s .12s var(--motion-gentle) both;flex-direction:column;justify-content:center;display:flex}.showcase-card-copy>span{color:color-mix(in srgb, var(--tour-primary-edge) 82%, #24242a);letter-spacing:.075em;font-size:clamp(10px,.76vw,13px);font-weight:950}.showcase-card-copy>p{color:#494950;margin:.65em 0 0;font-size:clamp(12px,.96vw,16px);font-weight:620;line-height:1.48}.project-launch--standard .project-launch__hero>div{background:color-mix(in srgb, var(--tour-primary-bg) 48%, #fffffff0);transition:background-color .54s var(--motion-gentle), border-color .54s var(--motion-gentle)}.project-launch--standard .project-launch__hero>div>p{color:color-mix(in srgb, var(--tour-primary-edge) 78%, #25252b);background:color-mix(in srgb, var(--tour-primary-bg) 78%, #fff);white-space:nowrap}.project-launch--standard .project-launch__hero>div>strong{animation:verified-card-copy-in .43s 90ms var(--motion-gentle) both}.project-launch--standard .project-launch__contribution{border-color:color-mix(in srgb, var(--tour-primary-edge) 34%, transparent);border-left-color:var(--tour-primary-edge);background:var(--tour-primary-bg)}.project-launch--standard .project-launch__challenge{border-color:color-mix(in srgb, var(--tour-secondary-edge) 34%, transparent);border-top-color:var(--tour-secondary-edge);background:var(--tour-secondary-bg)}.project-launch--standard .project-launch__outcome{border-color:color-mix(in srgb, var(--tour-tertiary-edge) 34%, transparent);border-top-color:var(--tour-tertiary-edge);background:var(--tour-tertiary-bg)}.project-launch--standard .project-launch__challenge .showcase-card-copy>span{color:color-mix(in srgb, var(--tour-secondary-edge) 82%, #24242a)}.project-launch--standard .project-launch__outcome .showcase-card-copy>span{color:color-mix(in srgb, var(--tour-tertiary-edge) 82%, #24242a)}.project-launch--standard .project-launch__contribution,.project-launch--standard .project-launch__challenge,.project-launch--standard .project-launch__outcome{transition:top .76s var(--motion-gentle), right .76s var(--motion-gentle), bottom .76s var(--motion-gentle), left .76s var(--motion-gentle), width .76s var(--motion-gentle), height .76s var(--motion-gentle), padding .76s var(--motion-gentle), border-color .52s var(--motion-gentle), background-color .52s var(--motion-gentle), box-shadow .52s var(--motion-gentle)}.project-launch--android .android-case-study__panel--meta,.project-launch--android .android-case-study__panel--outcome,.project-launch--android .android-case-study__panel--contribution{border-color:color-mix(in srgb, var(--tour-tertiary-edge) 34%, transparent);background:var(--tour-tertiary-bg);box-shadow:inset 5px 0 0 var(--tour-tertiary-edge), 0 .65em 1.5em #25252b12}.project-launch--android .android-case-study__panel--project,.project-launch--android .android-case-study__panel--problem,.project-launch--android .android-case-study__panel--engineering{border-color:color-mix(in srgb, var(--tour-primary-edge) 34%, transparent);background:var(--tour-primary-bg);box-shadow:inset 5px 0 0 var(--tour-primary-edge), 0 .65em 1.5em #25252b12}.project-launch--android .android-case-study__panel--stack{border-color:color-mix(in srgb, var(--tour-secondary-edge) 34%, transparent);background:var(--tour-secondary-bg);box-shadow:inset 5px 0 0 var(--tour-secondary-edge), 0 .65em 1.5em #25252b12}.project-launch--android .android-case-study__panel--stack .showcase-card-copy>span{color:color-mix(in srgb, var(--tour-secondary-edge) 82%, #24242a)}.project-launch--android .android-case-study__panel--meta dt,.project-launch--android .android-case-study__panel--contribution .showcase-card-copy>span,.project-launch--android .android-case-study__panel--outcome .showcase-card-copy>span{color:color-mix(in srgb, var(--tour-tertiary-edge) 82%, #24242a)}.project-launch--android .android-case-study__engineering>span{color:color-mix(in srgb, var(--tour-primary-edge) 82%, #24242a)}.project-launch--android .android-case-study__engineering article:first-child{border-color:color-mix(in srgb, var(--tour-primary-edge) 30%, transparent);background:color-mix(in srgb, var(--tour-primary-bg) 78%, #fff)}.project-launch--android .android-case-study__engineering article:last-child{border-color:color-mix(in srgb, var(--tour-secondary-edge) 30%, transparent);background:color-mix(in srgb, var(--tour-secondary-bg) 78%, #fff)}.project-launch--android .android-case-study__engineering article:first-child>b{color:var(--tour-primary-edge)}.project-launch--android .android-case-study__engineering article:last-child>b{color:var(--tour-secondary-edge)}.project-launch--android .android-case-study__panel{transition:top .68s var(--motion-gentle), right .68s var(--motion-gentle), bottom .68s var(--motion-gentle), left .68s var(--motion-gentle), width .68s var(--motion-gentle), height .68s var(--motion-gentle), opacity .52s var(--motion-gentle), transform .68s var(--motion-gentle), border-color .52s var(--motion-gentle), background-color .52s var(--motion-gentle), box-shadow .52s var(--motion-gentle)}@media (width>=1181px){.project-layout--ledger.project-launch--page-01 .android-case-study__panel--meta{width:100%;height:18%;top:0;left:0;right:auto}.project-layout--ledger.project-launch--page-01 .android-case-study__panel--project{width:62%;height:40%;top:24%;left:0;right:auto}.project-layout--ledger.project-launch--page-01 .android-case-study__panel--stack{width:34%;height:40%;top:24%;left:auto;right:0}.project-layout--ledger.project-launch--page-02 .android-case-study__panel--problem{width:100%;height:28%;top:0;left:0;right:auto}.project-layout--ledger.project-launch--page-02 .android-case-study__panel--stack{width:39%;height:43%;top:35%;left:0;right:auto}.project-layout--ledger.project-launch--page-02 .android-case-study__panel--contribution{width:57%;height:43%;inset:35% 0 auto auto}.project-layout--ledger.project-launch--page-03 .android-case-study__panel--engineering{width:66%;height:62%;top:0;left:0;right:auto}.project-layout--ledger.project-launch--page-03 .android-case-study__panel--outcome{width:30%;height:50%;inset:12% 0 auto auto}}@keyframes verified-card-copy-in{0%{opacity:0;transform:translateY(.55rem)}to{opacity:1;transform:translate(0,0)}}@media (prefers-reduced-motion:reduce){.showcase-card-copy,.project-launch--standard .project-launch__hero>div>strong{animation:none}}@media (width>=901px) and (prefers-reduced-motion:no-preference){.project-launch--standard .project-launch__hero{transition-delay:0s;animation-delay:0s}.project-launch--standard .project-launch__contribution{transition-delay:85ms;animation-delay:85ms}.project-launch--standard .project-launch__challenge{transition-delay:.17s;animation-delay:.17s}.project-launch--standard .project-launch__outcome{transition-delay:.255s;animation-delay:.255s}.project-launch--standard .project-launch__contribution .showcase-card-copy{animation-delay:.19s}.project-launch--standard .project-launch__challenge .showcase-card-copy{animation-delay:.275s}.project-launch--standard .project-launch__outcome .showcase-card-copy{animation-delay:.36s}.project-launch--android .android-case-study__panel[aria-hidden=true],.project-launch--android .android-case-study__panel--meta[aria-hidden=true],.project-launch--android .android-case-study__panel--project[aria-hidden=true],.project-launch--android .android-case-study__panel--problem[aria-hidden=true]{transition-delay:0s}.project-launch--android .android-case-study__panel--stack[aria-hidden=true],.project-launch--android .android-case-study__panel--engineering[aria-hidden=true]{transition-delay:45ms}.project-launch--android .android-case-study__panel--contribution[aria-hidden=true],.project-launch--android .android-case-study__panel--outcome[aria-hidden=true]{transition-delay:90ms}.project-launch--android .android-case-study__panel--meta[aria-hidden=false],.project-launch--android .android-case-study__panel--problem[aria-hidden=false],.project-launch--android .android-case-study__panel--engineering[aria-hidden=false]{transition-delay:.125s}.project-launch--android .android-case-study__panel--project[aria-hidden=false],.project-launch--android .android-case-study__panel--stack[aria-hidden=false]{transition-delay:.21s}.project-launch--android .android-case-study__panel--contribution[aria-hidden=false],.project-launch--android .android-case-study__panel--outcome[aria-hidden=false]{transition-delay:.295s}.project-launch--android .android-case-study__panel--meta .showcase-card-copy,.project-launch--android .android-case-study__panel--problem .showcase-card-copy,.project-launch--android .android-case-study__panel--engineering .showcase-card-copy{animation-delay:.25s}.project-launch--android .android-case-study__panel--project .showcase-card-copy,.project-launch--android .android-case-study__panel--stack .showcase-card-copy{animation-delay:.335s}.project-launch--android .android-case-study__panel--contribution .showcase-card-copy,.project-launch--android .android-case-study__panel--outcome .showcase-card-copy{animation-delay:.42s}.project-launch--dragon-hoard .dragon-hoard-case-study__content>header{transition-delay:0s}.project-launch--dragon-hoard .dragon-hoard-scene-heading{transition-delay:70ms}.project-launch--dragon-hoard .dragon-hoard-scene-details__action{transition-delay:.155s}.project-launch--dragon-hoard .dragon-hoard-scene-details__engineering{transition-delay:.24s}.project-launch--dragon-hoard .dragon-hoard-contribution{transition-delay:.325s}.project-launch--dragon-hoard .dragon-hoard-scene-heading__copy{animation-delay:.185s}.project-launch--dragon-hoard .dragon-hoard-scene-details__action .dragon-hoard-scene-card__copy{animation-delay:.27s}.project-launch--dragon-hoard .dragon-hoard-scene-details__engineering .dragon-hoard-scene-card__copy{animation-delay:.355s}}@media (prefers-reduced-motion:reduce){.project-launch--standard .project-launch__hero,.project-launch--standard .project-launch__contribution,.project-launch--standard .project-launch__challenge,.project-launch--standard .project-launch__outcome,.project-launch--android .android-case-study__panel,.project-launch--dragon-hoard .dragon-hoard-case-study__content>header,.project-launch--dragon-hoard .dragon-hoard-scene-heading,.project-launch--dragon-hoard .dragon-hoard-scene-details__action,.project-launch--dragon-hoard .dragon-hoard-scene-details__engineering,.project-launch--dragon-hoard .dragon-hoard-contribution{transition-delay:0s;animation-delay:0s}}
