:root{--red:#9d2929;--black:#000;--white:#fff;--cream:#fff6e5;--line:rgba(0,0,0,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--black);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.skip-link{position:fixed;z-index:100;left:16px;top:12px;padding:12px 16px;background:var(--black);color:var(--white);transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{position:absolute;z-index:5;inset:0 0 auto;height:82px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark,nav,.kicker,.section-label,.status,.project-number,.coming-soon,.hero-index{font-family:Impact,"Arial Narrow",Arial,sans-serif;letter-spacing:.11em}.wordmark{font-size:21px}nav{display:flex;gap:34px;font-size:15px}nav a{padding:8px 0 5px;border-bottom:2px solid transparent}nav a:hover,nav a:focus-visible{border-color:var(--red)}
.hero{min-height:100svh;padding:82px 4.5vw 0;display:grid;grid-template-columns:40% 60%;position:relative;background:var(--white)}.hero-logo-wrap{display:grid;place-items:center;border-right:1px solid var(--line);padding:5%}.hero-logo-wrap img{width:min(96%,580px);max-height:72svh;height:auto;object-fit:contain}.hero-copy{background:var(--cream);display:flex;flex-direction:column;justify-content:center;padding:clamp(50px,7vw,130px);margin-right:-4.5vw}.kicker{color:var(--red);font-size:17px;margin:0 0 28px}h1,h2,h3{margin:0;font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;line-height:.88;letter-spacing:.005em}h1{font-size:clamp(68px,8vw,132px)}h1 em{color:var(--red);font-style:normal}.hero-copy>p:not(.kicker){max-width:510px;margin:32px 0;font-size:clamp(16px,1.4vw,21px);line-height:1.55}.button{width:fit-content;display:inline-flex;gap:54px;align-items:center;padding:16px 20px;border:1px solid var(--black);font-size:13px;text-transform:uppercase;font-weight:600;transition:.2s}.button:hover{background:var(--black);color:var(--white)}.button span{color:var(--red);font-size:18px}.hero-index{position:absolute;right:25px;bottom:20px;color:var(--red);font-size:14px;writing-mode:vertical-rl}
.manifesto{padding:125px 4.5vw;background:var(--white);text-align:center}.section-label{margin:0 0 65px;color:var(--red);font-size:17px}.manifesto-grid{display:block}.contact h2{font-size:clamp(62px,8.5vw,136px)}.manifesto-copy{max-width:980px;margin:0 auto;font-size:clamp(25px,3.2vw,48px);line-height:1.35}.manifesto-copy p{margin:0}
.work{padding:125px 4.5vw;background:var(--cream)}.work-heading{display:flex;align-items:center;justify-content:space-between}.status{display:flex;align-items:center;gap:10px;font-size:16px}.status i{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(157,41,41,.12)}.project-card{min-height:650px;display:grid;grid-template-columns:60% 40%;background:var(--black);color:var(--white)}.project-art{position:relative;min-height:600px;overflow:hidden;background:#171515;padding:8% 7%}.project-art::before{content:"";position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);background-size:42px 42px}.dev-board{position:relative;z-index:2;height:82%;min-height:430px;background:#ece9df;border:1px solid #777;box-shadow:28px 32px 0 rgba(157,41,41,.38),0 24px 50px rgba(0,0,0,.45);transform:rotate(-1.5deg)}.dev-toolbar{height:45px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;background:#252323;color:#d7d3ca;font:11px "Inter",Arial,sans-serif;letter-spacing:.08em}.dev-toolbar div{display:flex;gap:7px}.dev-toolbar i{display:block;width:9px;height:9px;border-radius:50%;background:#777}.dev-toolbar i:first-child{background:var(--red)}.dev-workspace{height:calc(100% - 45px);display:grid;grid-template-columns:1fr 34%;color:#171515}.dev-viewport{position:relative;overflow:hidden;background-color:#d6d1c5;background-image:linear-gradient(rgba(0,0,0,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.1) 1px,transparent 1px);background-size:28px 28px}.dev-viewport small{position:absolute;left:16px;top:14px;font:10px "Inter",Arial,sans-serif;letter-spacing:.13em}.axis{position:absolute;display:block}.axis-x{left:8%;right:8%;bottom:25%;height:2px;background:#a55555;transform:rotate(-8deg)}.axis-y{left:50%;top:12%;bottom:10%;width:2px;background:#5f7270;transform:rotate(16deg)}.blockout{position:absolute;background:#faf7ec;border:2px solid #5f5b55;box-shadow:10px 14px 0 rgba(0,0,0,.12)}.blockout-one{width:34%;height:28%;left:13%;bottom:27%;transform:skewY(-8deg)}.blockout-two{width:27%;height:45%;right:14%;bottom:24%;transform:skewY(9deg)}.player-marker{position:absolute;z-index:2;width:25px;height:70px;left:51%;bottom:24%;background:var(--red);clip-path:polygon(35% 0,65% 0,75% 28%,100% 100%,0 100%,25% 28%);box-shadow:0 8px 0 rgba(0,0,0,.18)}.dev-panel{padding:22px 18px;background:#f7f4eb;border-left:1px solid #aaa}.asset-row{padding:13px 0;border-bottom:1px solid #cbc6bb;display:flex;justify-content:space-between;gap:8px;font:9px "Inter",Arial,sans-serif;letter-spacing:.05em}.asset-row em{color:var(--red);font-style:normal;font-weight:600}.build-meter{height:8px;margin:30px 0 14px;background:#d4cfc4}.build-meter span{display:block;width:47%;height:100%;background:var(--red)}.dev-panel strong{font:11px "Bebas Neue",Impact,sans-serif;letter-spacing:.12em;color:var(--red)}.project-art>p{position:absolute;z-index:4;left:30px;bottom:24px;margin:0;font:16px "Bebas Neue",Impact,sans-serif;letter-spacing:.14em}.project-copy{padding:clamp(45px,5vw,85px);display:flex;flex-direction:column;justify-content:center;border-left:1px solid rgba(255,255,255,.18)}.project-number{color:#db8a8a;font-size:15px}.project-copy h3{margin:25px 0;font-size:clamp(52px,5.5vw,86px)}.project-copy>p{color:#bbb;line-height:1.7;font-size:16px}.coming-soon{margin-top:36px;padding-top:18px;border-top:1px solid rgba(255,255,255,.2);color:#db8a8a;font-size:15px}
.contact{min-height:760px;display:grid;grid-template-columns:38% 62%;background:var(--red);color:var(--white)}.contact-mark{display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.25);padding:12%}.contact-mark img{width:min(90%,420px)}.contact-copy{display:flex;flex-direction:column;justify-content:center;padding:8vw}.contact .section-label{color:var(--white);opacity:.72}.contact-copy>p:not(.section-label){max-width:510px;margin:34px 0;font-size:18px;line-height:1.6}.contact-copy a{width:fit-content;padding-bottom:8px;border-bottom:1px solid var(--white);font-weight:600}.contact-copy a span{margin-left:20px}footer{min-height:105px;padding:25px 4.5vw;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase}footer>span{font:20px "Bebas Neue",Impact,sans-serif;letter-spacing:.11em}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
:focus-visible{outline:3px solid #f0b5b5;outline-offset:4px}.hero a:focus-visible,.manifesto a:focus-visible,footer a:focus-visible{outline-color:var(--red)}.footer-links{display:flex;align-items:center;gap:22px}.footer-links a{text-decoration:underline;text-underline-offset:4px}.legal-header{position:static;background:var(--white)}.legal-header .wordmark{font-family:Impact,"Arial Narrow",Arial,sans-serif}.legal-main{max-width:850px;margin:0 auto;padding:90px 5vw 120px}.legal-main h1{font-size:clamp(58px,8vw,105px);margin-bottom:25px}.legal-main h2{font-size:34px;line-height:1.05;margin:52px 0 14px}.legal-main p,.legal-main li{font-size:17px;line-height:1.75}.legal-main ul{padding-left:24px}.legal-meta{color:#666}.legal-contact{display:inline-block;margin-top:8px;color:var(--red);font-weight:700;text-decoration:underline;text-underline-offset:5px}
@media(max-width:800px){.site-header{height:72px}.wordmark{font-size:18px}nav{gap:14px;font-size:13px}nav a:first-child{display:none}.hero{padding:72px 0 0;grid-template-columns:1fr}.hero-logo-wrap{min-height:48svh;border-right:0;border-bottom:1px solid var(--line);padding:18px}.hero-logo-wrap img{width:min(82vw,380px);max-height:43svh}.hero-copy{margin:0;min-height:52svh;padding:55px 7vw}.hero-index{display:none}.manifesto,.work{padding:85px 6vw}.manifesto-grid,.project-card,.contact{grid-template-columns:1fr}.manifesto-grid{gap:50px}.project-art{min-height:470px;padding:10% 7%}.dev-board{min-height:330px}.dev-workspace{grid-template-columns:1fr 38%}.dev-toolbar b{font-size:8px}.dev-panel{padding:14px 10px}.asset-row{font-size:7px}.project-copy{padding:55px 30px}.contact-mark{min-height:440px;border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}.contact-mark img{width:min(70%,300px)}.contact-copy{min-height:520px;padding:70px 7vw}footer{align-items:flex-start;flex-direction:column;gap:22px}.footer-links{align-items:flex-start;flex-direction:column;gap:14px}.legal-header nav a:first-child{display:inline-block}.legal-main{padding-top:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}

/* Isometric RPG encounter blockout */
.iso-scene{isolation:isolate;background:#d9d5ca;perspective:900px}.iso-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 52% 46%,transparent 0 34%,rgba(27,24,23,.13) 78%,rgba(27,24,23,.32) 100%)}.iso-grid{position:absolute;inset:-20%;background-image:linear-gradient(30deg,rgba(49,46,43,.13) 1px,transparent 1px),linear-gradient(150deg,rgba(49,46,43,.13) 1px,transparent 1px);background-size:32px 56px;transform:scale(1.1)}.iso-world{position:absolute;z-index:2;width:390px;height:390px;left:50%;top:54%;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-45deg)}.iso-block{--h:28px;position:absolute;width:72px;height:72px;background:#ebe6d9;border:1px solid #69635c;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);opacity:0;transform:translateZ(var(--h)) translateY(-70px) scale(.72)}.iso-block::before,.iso-block::after{content:"";position:absolute;background:#aba499;border:1px solid #69635c}.iso-block::before{width:var(--h);height:100%;left:100%;top:calc(var(--h) * -.5);transform:skewY(-45deg);transform-origin:left bottom}.iso-block::after{width:100%;height:var(--h);left:calc(var(--h) * .5);top:calc(var(--h) * -1);transform:skewX(-45deg);transform-origin:left bottom;background:#c8c1b5}.block-a{left:35px;top:55px;--h:35px}.block-b{left:111px;top:55px;--h:18px}.block-c{left:187px;top:55px;--h:50px}.block-d{left:263px;top:55px;--h:22px}.block-e{left:35px;top:131px;--h:18px}.block-f{left:111px;top:131px;--h:42px}.block-g{left:187px;top:131px;--h:24px}.block-h{left:263px;top:131px;--h:54px}.block-i{left:187px;top:207px;--h:16px}.iso-pawn{position:absolute;z-index:6;width:24px;height:24px;border-radius:50%;opacity:0;transform:translateZ(70px) scale(0);filter:drop-shadow(8px 10px 5px rgba(0,0,0,.28))}.iso-pawn::before{content:"";position:absolute;width:13px;height:24px;left:5px;top:13px;border-radius:50% 50% 20% 20%;background:inherit}.iso-pawn::after{content:"";position:absolute;width:28px;height:9px;left:-2px;top:31px;border-radius:50%;background:inherit}.pawn-blue{background:#2869a8}.pawn-red{background:#b72e35}.pawn-blue-one{left:74px;top:245px}.pawn-blue-two{left:122px;top:280px}.pawn-blue-three{left:158px;top:232px}.pawn-red-one{left:260px;top:91px}.pawn-red-two{left:305px;top:139px}.pawn-red-three{left:238px;top:170px}.iso-pawn i{position:absolute;inset:-14px;border:2px solid currentColor;border-radius:50%;opacity:.35;animation:tactical-pulse 2.2s ease-out infinite}.pawn-blue i{color:#2869a8}.pawn-red i{color:#b72e35}.encounter-label{position:absolute;z-index:5;padding:6px 9px;background:#252323;color:#fff;font:700 8px Arial,sans-serif;letter-spacing:.12em;opacity:0;transform:translateY(10px);transition:.5s ease 1.5s}.label-blue{left:8%;bottom:9%;border-left:4px solid #3d87ca}.label-red{right:8%;top:12%;border-left:4px solid #c9474c}.iso-scene.is-visible .iso-block{animation:block-drop .65s cubic-bezier(.2,.85,.3,1.2) forwards}.iso-scene.is-visible .block-b{animation-delay:.08s}.iso-scene.is-visible .block-c{animation-delay:.16s}.iso-scene.is-visible .block-d{animation-delay:.24s}.iso-scene.is-visible .block-e{animation-delay:.32s}.iso-scene.is-visible .block-f{animation-delay:.4s}.iso-scene.is-visible .block-g{animation-delay:.48s}.iso-scene.is-visible .block-h{animation-delay:.56s}.iso-scene.is-visible .block-i{animation-delay:.64s}.iso-scene.is-visible .iso-pawn{animation:pawn-deploy .6s cubic-bezier(.15,.9,.25,1.35) forwards}.iso-scene.is-visible .pawn-blue-one{animation-delay:.9s}.iso-scene.is-visible .pawn-blue-two{animation-delay:1.02s}.iso-scene.is-visible .pawn-blue-three{animation-delay:1.14s}.iso-scene.is-visible .pawn-red-one{animation-delay:1.08s}.iso-scene.is-visible .pawn-red-two{animation-delay:1.2s}.iso-scene.is-visible .pawn-red-three{animation-delay:1.32s}.iso-scene.is-visible .encounter-label{opacity:1;transform:none}@keyframes block-drop{0%{opacity:0;transform:translateZ(calc(var(--h) + 110px)) translateY(-70px) scale(.72)}75%{opacity:1;transform:translateZ(calc(var(--h) - 7px)) translateY(0) scale(1.03)}100%{opacity:1;transform:translateZ(var(--h)) translateY(0) scale(1)}}@keyframes pawn-deploy{0%{opacity:0;transform:translateZ(130px) scale(0)}70%{opacity:1;transform:translateZ(62px) scale(1.22)}100%{opacity:1;transform:translateZ(70px) scale(1)}}@keyframes tactical-pulse{0%{transform:scale(.55);opacity:.55}75%,100%{transform:scale(1.45);opacity:0}}
@media(max-width:1100px){.iso-world{transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-45deg) scale(.78)}.encounter-label{display:none}}
@media(max-width:800px){.iso-world{top:56%;transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-45deg) scale(.66)}.iso-scene small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.iso-block,.iso-pawn,.encounter-label{opacity:1!important;animation:none!important;transition:none!important}.iso-block{transform:translateZ(var(--h))}.iso-pawn{transform:translateZ(70px) scale(1)}.iso-pawn i{animation:none}.encounter-label{transform:none}}

/* Revised geometric isometric map */
.iso-map{position:absolute;z-index:3;width:420px;height:360px;left:50%;top:50%;transform:translate(-50%,-48%) scale(1.12)}.map-tile{position:absolute;z-index:var(--o);left:calc(50% + (var(--x) * 36px) - (var(--y) * 36px) - 38px);top:calc(42% + (var(--x) * 18px) + (var(--y) * 18px) - var(--lift,0px));width:76px;height:76px;filter:drop-shadow(0 10px 7px rgba(30,25,22,.18));opacity:0;transform:translateY(-48px)}.map-tile>i{position:absolute;inset:0 0 auto;width:76px;height:38px;background:#e9e3d5;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.map-tile::before,.map-tile::after{content:"";position:absolute;top:19px;width:38px;height:38px;clip-path:none}.map-tile::before{left:0;background:#9d968a;clip-path:polygon(0 0,100% 50%,100% 100%,0 50%)}.map-tile::after{left:38px;background:#c5beb1;clip-path:polygon(0 50%,100% 0,100% 50%,0 100%)}.map-tile.tile-dark>i{background:#c9c2b5}.map-tile.tile-dark::before{background:#79736b}.map-tile.tile-dark::after{background:#aaa398}.map-tile.tile-raised{filter:drop-shadow(0 14px 8px rgba(30,25,22,.28))}.map-pawn{position:absolute;z-index:var(--o);left:calc(50% + (var(--x) * 36px) - (var(--y) * 36px) - 10px);top:calc(42% + (var(--x) * 18px) + (var(--y) * 18px) - var(--lift,0px) - 5px);width:20px;height:27px;border-radius:10px 10px 6px 6px;background:currentColor;opacity:0;transform:translateY(-34px) scale(.4);filter:drop-shadow(5px 8px 3px rgba(30,25,22,.28))}.map-pawn::before{content:"";position:absolute;width:17px;height:17px;left:1.5px;top:-11px;border-radius:50%;background:currentColor;box-shadow:inset 3px 3px 0 rgba(255,255,255,.18)}.map-pawn::after{content:"";position:absolute;width:30px;height:9px;left:-5px;bottom:-4px;border-radius:50%;background:currentColor}.map-pawn.pawn-blue{color:#2468a2}.map-pawn.pawn-red{color:#b52e35}.map-pawn i{position:absolute;width:38px;height:19px;left:-9px;bottom:-9px;border:2px solid currentColor;border-radius:50%;opacity:.35;animation:tactical-pulse 2.2s ease-out infinite}.iso-scene.is-visible .map-tile{animation:tile-land .58s cubic-bezier(.2,.82,.3,1.18) var(--d) forwards}.iso-scene.is-visible .map-pawn{animation:pawn-land .52s cubic-bezier(.15,.9,.25,1.35) var(--d) forwards}@keyframes tile-land{0%{opacity:0;transform:translateY(-48px) scale(.82)}75%{opacity:1;transform:translateY(4px) scale(1.02)}100%{opacity:1;transform:none}}@keyframes pawn-land{0%{opacity:0;transform:translateY(-34px) scale(.4)}75%{opacity:1;transform:translateY(3px) scale(1.14)}100%{opacity:1;transform:none}}
@media(max-width:1100px){.iso-map{transform:translate(-50%,-48%) scale(.9)}}
@media(max-width:800px){.dev-workspace{grid-template-columns:1fr}.dev-panel{display:none}.iso-map{top:52%;transform:translate(-50%,-48%) scale(.82)}}
@media(prefers-reduced-motion:reduce){.map-tile,.map-pawn{opacity:1!important;transform:none!important;animation:none!important}.map-pawn i{animation:none}}

/* Coordinate-correct scene depth and isometric pawn construction */
.map-tile{z-index:calc(10 + var(--x) + var(--y))}.map-pawn{z-index:calc(11 + var(--x) + var(--y));left:calc(50% + (var(--x) * 36px) - (var(--y) * 36px) - 18px);top:calc(42% + (var(--x) * 18px) + (var(--y) * 18px) - var(--lift,0px) - 23px);width:36px;height:52px;border-radius:0;background:transparent;filter:drop-shadow(5px 8px 4px rgba(30,25,22,.3))}.map-pawn::before,.map-pawn::after{content:none}.pawn-head{position:absolute;z-index:4;width:16px;height:13px;left:10px;top:0;border-radius:50%;background:currentColor;box-shadow:inset 3px 2px 0 rgba(255,255,255,.17)}.pawn-body{position:absolute;z-index:3;width:14px;height:24px;left:11px;top:11px;background:currentColor}.pawn-body::before{content:"";position:absolute;width:6px;height:24px;right:-6px;top:3px;background:color-mix(in srgb,currentColor 72%,#000);transform:skewY(45deg);transform-origin:left top}.pawn-body::after{content:"";position:absolute;width:14px;height:6px;left:3px;top:-6px;background:color-mix(in srgb,currentColor 78%,#fff);transform:skewX(-45deg);transform-origin:left bottom}.pawn-base{position:absolute;z-index:5;width:36px;height:32px;left:0;top:32px}.pawn-base>i{position:absolute;inset:0 0 auto;width:36px;height:18px;background:currentColor;border:0;border-radius:0;opacity:1;animation:none;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.pawn-base::before,.pawn-base::after{content:"";position:absolute;top:9px;width:18px;height:14px}.pawn-base::before{left:0;background:color-mix(in srgb,currentColor 68%,#000);clip-path:polygon(0 0,100% 64%,100% 100%,0 36%)}.pawn-base::after{left:18px;background:color-mix(in srgb,currentColor 78%,#000);clip-path:polygon(0 64%,100% 0,100% 36%,0 100%)}

.pawn-body::after{content:none}
