:root{--ink:#171713;--paper:#e7ddc6;--white:#eee8dc;--muted:#b3aea1;--red:#791e25;--line:#555149}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--white);background:#181817;background-image:radial-gradient(ellipse at 5% 5%,#706b5940,transparent 30%),radial-gradient(ellipse at 90% 40%,#494a4430,transparent 45%);font-family:Arial,Helvetica,sans-serif;line-height:1.55}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.105;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #dfaf65;outline-offset:6px}img{max-width:100%;display:block}.wrap{width:min(1280px,90%);margin-inline:auto}.scribble{font-family:'Caveat','Segoe Print',cursive;font-weight:600}.eyebrow{font:700 11px/1.5 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase}.header{display:flex;align-items:center;gap:60px;min-height:112px;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:12px;font-size:29px;font-weight:800;letter-spacing:-1.5px}.brand img{object-fit:contain}.header nav{display:flex;gap:44px;margin-left:auto}.header nav a{font-size:12px;letter-spacing:2px;font-weight:bold;text-transform:uppercase}.header nav a:hover{color:#d4b994}.header-note{font-size:20px;line-height:1.1;transform:rotate(-8deg);margin-left:30px;color:#c6bfac}.hero{min-height:680px;position:relative;padding-top:22px}.paper{color:var(--ink);background-color:var(--paper);background-image:linear-gradient(#8b806419 1px,transparent 1px),linear-gradient(90deg,#8b806419 1px,transparent 1px),radial-gradient(ellipse at top left,#fbf5e7,transparent 70%);background-size:19px 19px,19px 19px,100% 100%;box-shadow:3px 8px 20px #0006}.hero-paper{position:relative;z-index:2;width:62%;padding:32px 38px 38px;transform:rotate(-1.4deg);clip-path:polygon(0 1%,5% 0,12% 1%,21% 0,31% 1%,43% 0,59% 1%,77% 0,86% 1%,99% 0,100% 9%,99% 22%,100% 37%,99% 52%,100% 68%,99% 88%,100% 99%,87% 98%,75% 100%,62% 99%,48% 100%,32% 99%,20% 100%,8% 99%,0 100%,1% 83%,0 69%,1% 57%,0 36%,1% 19%)}.hero-paper .eyebrow{margin:0 0 15px}h1,h2,h3,p{margin-top:0}h1{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;font-size:clamp(60px,7.5vw,108px);font-weight:900;letter-spacing:-2px;line-height:.91;margin-bottom:27px}h1 span{position:relative;white-space:nowrap}h1 span:after{content:"";position:absolute;left:-3%;right:-2%;bottom:-11px;height:29px;border:4px solid var(--red);border-radius:50%;transform:rotate(-3deg);pointer-events:none}.intro{font-weight:700;font-size:21px;line-height:1.3;margin:0 0 10px}.hero-detail{font-size:17px;line-height:1.5;margin-bottom:23px}.button{background:var(--ink);color:var(--white);display:inline-flex;align-items:center;gap:32px;padding:15px 22px;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;border:1px solid #49453d;box-shadow:2px 3px 0 #0002;transition:background .2s,transform .2s}.button:hover{background:var(--red);transform:translateY(-3px)}.button span{font-size:24px;line-height:1}.signature{font-size:26px;position:absolute;right:35px;bottom:25px;transform:rotate(-8deg)}.character{position:absolute;right:-10px;top:-88px;width:50%;height:805px;pointer-events:none}.character img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;filter:drop-shadow(3px 0 0 #dacfba) drop-shadow(-3px 0 0 #dacfba) drop-shadow(0 5px 0 #dacfba) drop-shadow(10px 14px 7px #0008)}.draft-circle{position:absolute;width:91%;aspect-ratio:1;top:95px;right:-5%;border:2px solid #cec4a45c;border-radius:50%;background:repeating-linear-gradient(0deg,transparent 0 33px,#ccbca324 34px 35px),repeating-linear-gradient(90deg,transparent 0 33px,#ccbca324 34px 35px),#571b1f;box-shadow:0 0 0 8px #171713,0 0 0 9px #968772}.draft-circle:before,.draft-circle:after{content:"";position:absolute;inset:-20px;border:1px solid #c4ac8080;transform:rotate(38deg)}.draft-circle:after{transform:rotate(65deg);inset:35px}.margin-note{position:absolute;left:-53px;top:80px;z-index:3;font-size:18px;line-height:1.15;transform:rotate(-10deg);color:#aaa391}.principle-note{position:absolute;left:54%;top:354px;z-index:3;padding:20px 23px;font-size:25px;line-height:1.1;transform:rotate(9deg)}.principle-note:before,.game-print:before,.arcade:before{content:"";width:95px;height:28px;position:absolute;top:-12px;left:32%;background:#b7a783ad;transform:rotate(-7deg);box-shadow:0 1px 1px #0003}.principle-note span{font-size:19px;display:block;margin-top:12px}.process-note{position:absolute;right:-20px;top:155px;z-index:2;font-size:20px;line-height:1.4;transform:rotate(9deg);color:#c4bba6}.hero-bottom{font-size:24px;transform:rotate(-5deg);position:absolute;bottom:47px;left:40px;color:#c8beaa}.games{position:relative;z-index:3;padding:0 0 95px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;gap:25px}.section-heading .eyebrow{color:var(--muted);margin-bottom:14px}.section-heading h2{display:inline-block;font-size:30px;line-height:1.15;padding:10px 22px;transform:rotate(-2deg);margin:0}.small-link{font-size:12px;text-transform:uppercase;letter-spacing:1.4px;border-bottom:1px solid #aaa18b;padding-bottom:5px}.small-link:hover{color:#e5b791}.game-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px;align-items:start}.game-print{background:var(--paper);color:var(--ink);padding:10px 10px 15px;position:relative;box-shadow:5px 10px 12px #0006;transform:rotate(-3deg);transition:transform .2s}.game-print:nth-child(2){transform:rotate(2deg);margin-top:22px}.game-print:nth-child(3){transform:rotate(-2deg);margin-top:4px}.game-print:nth-child(4){transform:rotate(4deg);margin-top:25px}.game-print:hover,.game-print:focus-within{transform:rotate(0) translateY(-8px);z-index:4}.game-print:before{z-index:2;left:30%;transform:rotate(-13deg)}.cover{position:relative;overflow:hidden;background:#111;aspect-ratio:1.26}.cover img{width:100%;height:100%;object-fit:cover;filter:saturate(.68);transition:filter .2s}.game-print:hover img{filter:saturate(1)}.play{position:absolute;inset:auto 0 0;background:#121212e8;color:var(--white);font-size:11px;padding:9px 10px;transform:translateY(100%);transition:transform .2s}.game-print:hover .play,.game-print:focus-within .play{transform:none}.print-caption{padding:13px 5px 0;position:relative}.print-caption h3{font:700 30px/1.1 'Caveat','Segoe Print',cursive;margin:0 0 3px}.print-caption>span:not(.number){font-size:11px;text-transform:uppercase;letter-spacing:1px}.number{float:right;font:12px monospace;color:#726855;padding-top:8px}.game-print p{font-size:12px;line-height:1.55;padding:12px 5px 0;margin:10px 0 0;border-top:1px solid #b7ab95}.arcade{margin:90px 28px 0;position:relative;display:grid;grid-template-columns:280px 1fr;gap:38px;padding:22px;transform:rotate(-1deg)}.arcade-image img{width:100%;height:100%;object-fit:cover}.arcade-copy{padding:12px 135px 10px 0}.arcade h3{font:900 44px/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.5px;margin-bottom:16px}.arcade p:not(.eyebrow){font-size:14px;max-width:500px}.arcade-note{position:absolute;right:28px;top:70px;font-size:26px;transform:rotate(10deg);color:var(--red)}.workshop{border-top:1px solid var(--line);padding-block:80px 110px;display:grid;grid-template-columns:1.2fr 1fr;gap:130px;align-items:center}.workshop h2,.contact h2{font:900 clamp(52px,5.6vw,80px)/.97 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1px;margin:22px 0 28px}.workshop-copy>p:not(.eyebrow){color:#c4bfb4;max-width:520px;font-size:16px}.workshop .small-link{display:inline-block;margin-top:16px}.notebook{position:relative;padding:32px 35px 35px 60px;transform:rotate(5deg);background-size:100% 27px,27px 100%,100% 100%}.notebook:before{content:"";position:absolute;top:0;bottom:0;left:24px;width:1px;background:#9e393953}.notebook:after{content:"";position:absolute;top:15px;bottom:15px;left:-9px;width:20px;background:repeating-linear-gradient(0deg,transparent 0 17px,#161615 17px 20px,transparent 20px 27px)}.notebook-title{font-size:45px;line-height:.95;margin-bottom:22px}.diagram{font-size:42px;white-space:nowrap;line-height:1}.notebook ul{list-style:none;padding:0;margin:25px 0;font-size:25px;line-height:1.35}.notebook li:before{content:'☑';font:20px Arial;margin-right:16px}.notebook-footer{font:9px monospace;letter-spacing:2px}.contact{padding:50px 0 70px;border-top:1px solid var(--line)}.contact h2{font-size:clamp(50px,7vw,100px);margin:15px 0 25px}.contact h2 span{color:#ad4c4c}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px}.contact-bottom p{color:var(--muted);margin:0}.light{background:var(--paper);color:var(--ink)}.light:hover{color:var(--white)}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding-block:25px 35px;font-size:11px;color:#b7b0a3}.footer-brand{font-size:20px;color:var(--white)}.skip{position:absolute;left:15px;top:-100px;z-index:20;background:var(--paper);color:var(--ink);padding:10px}.skip:focus{top:10px}
@media(max-width:1100px){.header{gap:20px}.header nav{gap:24px}.header-note{display:none}.hero{min-height:630px}.hero-paper{width:66%;padding:30px}.character{right:-5%;width:53%;height:710px;top:-40px}.signature{display:none}.principle-note{top:385px;left:51%;font-size:21px}.process-note,.margin-note{display:none}.hero-bottom{bottom:30px}.game-wall{gap:16px}.print-caption h3{font-size:26px}.arcade{margin-inline:0;grid-template-columns:240px 1fr;gap:25px}.arcade-copy{padding-right:0}.arcade-note{display:none}.workshop{gap:70px}}
@media(max-width:760px){.wrap{width:90%}.header{min-height:92px;flex-wrap:wrap;gap:0;padding-block:12px}.brand{font-size:24px}.brand img{width:52px;height:52px}.header nav{gap:18px}.header nav a{font-size:10px;letter-spacing:1px}.header nav a:last-child{display:none}.hero{padding-top:18px;min-height:740px}.hero-paper{width:100%;padding:27px 23px 31px}h1{font-size:clamp(52px,11.9vw,88px);letter-spacing:-1px}.hero-paper .eyebrow{font-size:9px;letter-spacing:1.2px}.intro{font-size:18px}.hero-detail{font-size:14px}.hero .button{font-size:10px;gap:20px}.character{width:65%;height:420px;top:340px;right:-1%;z-index:2}.draft-circle{top:60px;width:100%;right:0}.principle-note{left:0;top:470px;font-size:23px;padding:20px;transform:rotate(-6deg)}.hero-bottom{display:none}.section-heading{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:35px}.section-heading h2{font-size:27px;padding:9px 13px}.game-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}.game-print:nth-child(n){margin-top:0}.game-print:nth-child(even){margin-top:18px}.game-print{padding:7px 7px 11px}.print-caption{padding:10px 3px 0}.print-caption h3{font-size:26px}.print-caption>span:not(.number){font-size:9px;letter-spacing:.5px}.number{display:none}.game-print p{font-size:11px;padding:8px 3px 0}.play{position:static;display:block;transform:none;font-size:10px;padding:6px}.cover{aspect-ratio:auto}.cover img{height:auto;aspect-ratio:1.26}.arcade{grid-template-columns:1fr;margin-top:60px;gap:18px;padding:18px}.arcade-image{max-height:230px;overflow:hidden}.arcade-image img{aspect-ratio:1.4;object-position:center}.arcade-copy{padding:5px}.arcade h3{font-size:42px}.games{padding-bottom:65px}.workshop{grid-template-columns:1fr;gap:45px;padding-block:55px 65px}.workshop h2{font-size:56px}.notebook{width:90%;margin:auto;max-width:400px}.contact{padding-block:45px}.contact-bottom{align-items:flex-start;flex-direction:column}.contact-bottom p{font-size:14px}.contact h2{font-size:56px}footer{flex-wrap:wrap;gap:18px}footer>span{order:3;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Keep decorative drafting lines inside the page, without clipping focusable content. */
body{overflow-x:clip}.signature{right:150px;bottom:20px;font-size:23px}.draft-circle{overflow:hidden}.draft-circle:before{inset:20px}.hero-paper{background-blend-mode:multiply}
@media(max-width:760px){h1{font-size:clamp(40px,11.9vw,88px)}.header{justify-content:space-between}.header nav{margin-left:0}.hero-paper{min-height:355px}.character{top:370px}.hero{min-height:790px}.principle-note{top:500px}}
@media(max-width:380px){.notebook{padding:27px 18px 27px 35px;transform:rotate(2deg)}.diagram{font-size:32px}.notebook ul{font-size:22px}.notebook-footer{letter-spacing:1px}.contact h2{font-size:46px}.section-heading h2{font-size:23px}.game-wall{gap:25px 12px}.print-caption h3{font-size:23px}}
@media(max-width:760px){.workshop{grid-template-columns:minmax(0,1fr)}.workshop-copy,.notebook{min-width:0}}
@media(max-width:380px){.workshop h2{font-size:46px}}
/* Physical workshop backdrop: the wall stays behind the floating paper layers. */
body{background:#11110f;isolation:isolate}
.workshop-scene{position:fixed;inset:0;z-index:-2;pointer-events:none;background:url('assets/workshop-noir-depth.webp') center center/cover no-repeat;transform:scale(1.015)}
.scene-shade{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#08080715,transparent 25% 75%,#08080710),linear-gradient(0deg,#0a090640,transparent 30%)}
body:before{opacity:.038}
.header{min-height:108px;text-shadow:0 2px 8px #000}
.hero{min-height:610px;padding-top:18px}
.hero-paper{background-color:#e6dcc4;background-image:repeating-linear-gradient(147deg,transparent 0 85px,#342b171a 88px 120px,transparent 124px 173px),linear-gradient(#8b806419 1px,transparent 1px),linear-gradient(90deg,#8b806419 1px,transparent 1px),radial-gradient(ellipse at 45% 35%,#fff8e6 10%,#d0c0a0 100%);background-size:100% 100%,19px 19px,19px 19px,100% 100%;padding-bottom:45px;filter:drop-shadow(5px 15px 5px #0008)}
.hero-paper:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 45px #6c58352b;background:linear-gradient(125deg,#fff9e41a,transparent 40%,#251c0812)}
.character{height:790px;top:-82px;right:-6px;width:52%}
.character img{filter:drop-shadow(4px 0 0 #e1d5be) drop-shadow(-4px 0 0 #e1d5be) drop-shadow(0 5px 0 #e1d5be) drop-shadow(19px 22px 12px #000a)}
.draft-circle{width:85%;right:0;top:110px;background-color:#4a1019;background-image:repeating-linear-gradient(0deg,transparent 0 33px,#ccbca31a 34px 35px),repeating-linear-gradient(90deg,transparent 0 33px,#ccbca31a 34px 35px),radial-gradient(circle at 35% 30%,#a24d433b,#1605085c);box-shadow:0 0 0 7px #b7a88b42,0 0 0 9px #d7c7a75e,14px 20px 20px #0009;transform:rotate(-12deg);border:2px solid #c9b69094}
.principle-note{top:360px;left:56%;box-shadow:8px 12px 8px #0008;background-color:#dacfaf}
.hero-bottom{bottom:25px;text-shadow:1px 3px 5px #000;color:#e0d3b9}
.margin-note,.process-note{color:#d8cbb3;text-shadow:1px 2px 4px #000}
.games{padding-top:0}.section-heading{margin-bottom:30px}.section-heading .eyebrow,.small-link{text-shadow:0 2px 4px #000}
.game-print{box-shadow:7px 14px 12px #000b,1px 2px 2px #0007;background-image:linear-gradient(135deg,#fff7e3a6,transparent 45%,#95806124)}
.game-print:before,.principle-note:before,.arcade:before{background:repeating-linear-gradient(85deg,#c5b28c9c 0 2px,#b5a078a6 2px 4px);clip-path:polygon(1% 0,99% 3%,97% 18%,100% 38%,97% 58%,100% 80%,98% 100%,0 97%,2% 73%,0 51%,2% 30%);box-shadow:1px 2px 2px #0003}
.arcade{box-shadow:10px 18px 20px #000a}
.workshop{border-top:1px solid #b6a98b60}.workshop-copy{background:linear-gradient(90deg,#11110fed,#11110f9e);padding:32px;box-shadow:0 5px 35px #0004;border-left:2px solid #99826680}
.workshop-copy>p:not(.eyebrow){color:#e3dbcb}.notebook{box-shadow:12px 20px 16px #000b}
.contact{background:linear-gradient(90deg,#11110fd9,#11110f80);padding:45px 32px 50px;border-top:1px solid #b6a98b60;margin-bottom:32px}.contact-bottom p{color:#d8cfbe}footer{background:#10100edb;padding-inline:22px}
@media(min-width:1500px){.wrap{width:min(1400px,86%)}.hero-paper{width:61%;padding:38px 40px 45px}h1{font-size:116px}.character{height:810px}.hero{min-height:625px}}
@media(max-width:1100px){.hero{min-height:610px}.hero-paper{width:66%}.character{height:700px;top:-35px;right:-4%}.principle-note{left:53%;top:375px}.workshop-copy{padding:23px}.workshop{gap:45px}}
@media(max-width:760px){.workshop-scene{background-position:48% center;transform:none}.scene-shade{background:#08080635}.header{min-height:100px}.hero{min-height:800px;padding-top:15px}.hero-paper{width:100%;padding:27px 23px 31px}.character{width:68%;height:450px;top:355px;right:0}.draft-circle{width:95%;top:90px}.principle-note{left:0;top:495px;font-size:23px}.section-heading{margin-bottom:35px}.workshop-copy{padding:23px 18px}.workshop h2{font-size:clamp(38px,9.5vw,56px)}.contact{padding:30px 20px}.contact h2{font-size:clamp(38px,10vw,56px)}.contact .button{font-size:10px;padding:15px}.contact-bottom p{font-size:14px}.workshop{gap:40px}.header nav{text-shadow:0 2px 5px #000}}
/* Independent translate preserves the collage rotations and hover transforms. */
@media(prefers-reduced-motion:no-preference){
  .workshop-scene{inset:-30px;transform:scale(1.015)}
  .parallax-active .workshop-scene,.parallax-active .character{will-change:translate}
}
@media(prefers-reduced-motion:reduce){.workshop-scene,.hero-paper,.character,.principle-note,.notebook{translate:none!important}}
/* Upcoming Unreal project: full uncropped artwork and an explicit release status. */
.development{padding-bottom:95px}.development-status{font:700 10px/1.4 Arial,sans-serif;letter-spacing:2px;padding:10px 14px;border:1px solid #b8a382;color:#e6d4b5;background:#171511db;transform:rotate(3deg)}
.development-print{position:relative;padding:13px;transform:rotate(-.7deg);box-shadow:9px 18px 20px #000a}.development-print:before{content:"";position:absolute;z-index:1;top:-13px;left:45%;width:115px;height:30px;background:repeating-linear-gradient(85deg,#c5b28cab 0 2px,#b5a078a6 2px 4px);transform:rotate(4deg)}
.development-print>img{width:100%;height:auto}.development-caption{padding:24px 20px 15px;display:flex;justify-content:space-between;align-items:center;gap:30px}.development-caption .eyebrow{margin-bottom:8px}.development-caption h3{font:700 44px/1.1 'Caveat','Segoe Print',cursive;margin:0 0 12px}.development-caption p:last-child{font-size:14px;margin-bottom:0;max-width:650px}.development-note{font-size:30px;line-height:1.15;transform:rotate(-6deg);color:var(--red);flex-shrink:0;padding-right:15px}
@media(max-width:760px){.development{padding-bottom:60px}.development .section-heading{gap:20px}.development-print{padding:7px;transform:rotate(-.4deg)}.development-caption{padding:18px 12px;display:block}.development-caption h3{font-size:36px}.development-note{display:block;margin-top:20px;font-size:25px;transform:rotate(-3deg)}.development-status{font-size:9px}.development-caption p:last-child{font-size:13px}}
/* Aged stock: oxidised edges, ingrained grain, watermarks and rubbed surfaces. */
:root{--paper:#baaa88}
.paper,.game-print{background-color:#b9a985;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.48' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23614c31' opacity='.24' filter='url(%23g)' d='M0 0h160v160H0z'/%3E%3C/svg%3E"),radial-gradient(ellipse at 0 0,#54391c70,transparent 38%),radial-gradient(ellipse at 96% 95%,#59391f6b,transparent 34%),radial-gradient(ellipse at 22% 83%,#644c242e,transparent 24%),linear-gradient(112deg,transparent 45%,#f2e4b82b 46%,#6c51242b 46.3%,transparent 47%),linear-gradient(#8b745820 1px,transparent 1px),linear-gradient(90deg,#8b745820 1px,transparent 1px);background-size:160px 160px,100% 100%,100% 100%,100% 100%,100% 100%,21px 21px,21px 21px;background-blend-mode:multiply,normal,normal,normal,normal,normal,normal}
.hero-paper{background-color:#c4b38e;box-shadow:inset 0 0 45px #573b2452}.hero-paper:after{box-shadow:inset 0 0 34px #48301e55;background:repeating-linear-gradient(147deg,transparent 0 85px,#342b170c 88px 120px,transparent 124px 173px)}
.game-print{background-color:#b5a17f;box-shadow:7px 14px 12px #000b,inset 0 0 20px #553b2340}.game-print p{border-color:#68523566}.number{color:#554630}.game-print img{filter:saturate(.65) sepia(.12)}
.principle-note{background-color:#b4a17a}.notebook{background-color:#c0ae89}.arcade,.development-print{background-color:#b6a27e}.section-heading h2{background-color:#b5a17e;box-shadow:3px 7px 12px #0008,inset 0 0 14px #49331f45}.development-caption{border-top:1px solid #5b442d44}.development-note,.arcade-note{color:#64262a}
.game-print,.principle-note,.development-print,.section-heading h2{border-radius:1px 3px 1px 4px;outline:1px solid #4c3c2755;outline-offset:-2px}
.light{background-color:#baaa88}.notebook-footer{color:#463722}.development-status{background:#252017;color:#dac7a4}
/* Scroll depth applies to each paper separately, throughout the page. */
@media(prefers-reduced-motion:reduce){.depth-layer{translate:none!important}}

.game-wall{row-gap:45px}
/* A single horizontal shelf: visible arrows, native touch scrolling, no autoplay. */
.game-slider{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:14px;margin-inline:-38px}
.game-wall{display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;padding:65px 14px 65px;scroll-snap-type:x mandatory;scroll-padding-inline:14px;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab;min-width:0;align-items:stretch}.game-wall::-webkit-scrollbar{display:none}.game-wall.dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}.game-wall>.game-print{flex:0 0 calc((100% - 72px)/4);min-width:0;margin-top:0;scroll-snap-align:start}.game-wall>.game-print:nth-child(2n){margin-top:12px;transform:rotate(2deg)}.game-wall>.game-print:nth-child(3n){transform:rotate(-2deg)}.game-wall>.game-print:hover,.game-wall>.game-print:focus-within{transform:rotate(0) translateY(-5px)}
.slide-arrow{position:relative;z-index:5;width:54px;height:64px;background:#9d3034;color:#fff0d6;border:2px solid #d0ab79;box-shadow:3px 7px 10px #000a;font:36px/1 Arial;cursor:pointer;border-radius:3px;transition:background .2s,transform .2s}.slide-arrow:hover:not(:disabled){background:#c04446;transform:translateY(-3px)}.slide-arrow:disabled{background:#27221c;color:#ab9b81;border-color:#6f6049;cursor:default}.slide-arrow:focus-visible,.game-wall:focus-visible{outline:3px solid #f0c784;outline-offset:5px}.slider-hint{display:flex;justify-content:space-between;font:10px/1.5 monospace;letter-spacing:1.8px;color:#d0bfa3;margin-top:-28px}.games{padding-bottom:55px}.games .section-heading{margin-bottom:0}.play{transform:none;background:#171511e8;font-weight:bold;font-size:12px;border-top:1px solid #d8b98766}.development-print>img{height:auto;object-fit:contain}
@media(max-width:1100px){.game-slider{margin-inline:-10px;gap:9px;grid-template-columns:46px minmax(0,1fr) 46px}.slide-arrow{width:46px;height:58px}.game-wall>.game-print{flex-basis:calc((100% - 48px)/3)}}
@media(max-width:760px){.game-slider{margin-inline:0;grid-template-columns:38px minmax(0,1fr) 38px;gap:5px}.slide-arrow{width:38px;height:52px;font-size:29px}.game-wall{gap:20px;padding:35px 10px 40px;scroll-padding-inline:10px}.game-wall>.game-print{flex-basis:100%}.game-wall>.game-print:nth-child(n){margin-top:0;transform:rotate(-1deg)}.slider-hint{font-size:8px;letter-spacing:.8px;margin-top:-10px}.game-print .play{position:static}.games{padding-bottom:40px}}
/* Hand-torn paper controls and a live map of the game shelf. */
.slide-arrow{isolation:isolate;border:0;background:transparent!important;box-shadow:none;color:#61242a;width:54px;height:70px;font-family:'Caveat','Segoe Print',cursive;font-weight:700;font-size:48px;filter:drop-shadow(3px 6px 4px #000b);transform:rotate(-7deg);border-radius:0}.slide-arrow:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 0 100%,#6950316b,transparent 70%),repeating-linear-gradient(0deg,transparent 0 13px,#79634625 14px 15px),#beaa83;clip-path:polygon(5% 1%,23% 4%,42% 0,62% 3%,84% 0,96% 5%,93% 20%,100% 36%,95% 52%,100% 74%,93% 98%,75% 95%,57% 100%,39% 96%,19% 100%,3% 94%,6% 73%,0 55%,5% 33%,0 16%)}.slide-arrow:after{content:"";position:absolute;top:-6px;left:12px;width:29px;height:13px;background:#b5a17da6;transform:rotate(12deg)}.slide-arrow.next{transform:rotate(7deg)}.slide-arrow:hover:not(:disabled){transform:rotate(-2deg) translateY(-3px);color:#a02e34}.slide-arrow:disabled{color:#665945;opacity:.53}.slide-arrow:focus-visible{outline:3px solid #e3c488;outline-offset:5px}
.slider-footer{margin:-22px 12px 0;padding-bottom:12px}.slider-summary{display:flex;gap:20px;align-items:center;justify-content:space-between;font:10px/1.5 monospace;letter-spacing:1.6px;color:#c7bba5}.games-total{color:#ead7b1;font-weight:bold}.swipe-note{font-size:9px;color:#aaa08e}.slide-map{max-width:840px;margin:20px auto 0}.slide-markers{display:flex;gap:14px}.slide-marker{flex:1;min-width:0;position:relative;height:40px;padding:0 0 12px;border:0;background:none;color:#a6987e;font:15px 'Caveat','Segoe Print',cursive;cursor:pointer}.slide-marker:after{content:"";position:absolute;bottom:5px;left:0;right:0;height:6px;background:#7b6b503f;clip-path:polygon(0 20%,18% 0,40% 35%,72% 0,100% 20%,98% 85%,55% 100%,25% 78%,1% 100%)}.slide-marker.in-view{color:#f0d9b1}.slide-marker.in-view:after{background:#c4a775}.slide-marker:hover:after{background:#e3c696}.slide-marker:focus-visible{outline:2px solid #e3c696;outline-offset:3px}.slide-rail{position:relative;margin-top:6px;height:4px;background:#b6a27b20}.slide-window{display:block;position:absolute;height:4px;background:#b84948;box-shadow:0 1px 5px #0008;border-radius:50% 20% 40% 30%;transition:width .15s linear}
@media(max-width:1100px){.slide-arrow{width:46px;height:65px;font-size:43px}}
@media(max-width:760px){.slide-arrow{width:38px;height:58px;font-size:38px}.slide-arrow:after{left:7px;width:24px}.slider-footer{margin:-8px 0 0}.slider-summary{flex-wrap:wrap;gap:8px;font-size:9px;letter-spacing:.6px}.swipe-note{width:100%;text-align:center}.slide-map{margin-top:8px}.slide-markers{gap:8px}}
@media(prefers-reduced-motion:reduce){.slide-window{transition:none}}
.slider-summary{font-size:12px;letter-spacing:1px}.swipe-note{font-size:10px}.slide-marker{font-size:18px}
@media(max-width:760px){.slider-summary{font-size:10px}.swipe-note{font-size:9px}}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start;margin-top:35px}.contact-copy>p:first-child{font-size:18px;max-width:390px}.contact-aside{font-size:32px;line-height:1.15;margin:35px 0;transform:rotate(-5deg);color:#ccb894}.contact-email{font-size:12px;border-bottom:1px solid #91816a;padding-bottom:5px}.contact-form{position:relative;padding:28px 32px;background-color:#baaa85;background-image:linear-gradient(#66533320 1px,transparent 1px),radial-gradient(ellipse at 5% 90%,#806d4770,transparent 60%);background-size:100% 28px,100% 100%;border:1px solid #786643;box-shadow:7px 14px 25px #0008;transform:rotate(-1deg)}.contact-form:before{content:"";position:absolute;width:100px;height:27px;top:-13px;left:43%;background:#bbae89bb;transform:rotate(7deg);pointer-events:none}.note-title{font-size:32px;margin:0 0 20px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:block;font:700 11px/1.5 Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:20px}.contact-form input:not([type=hidden]),.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #675738;background:#eee2be30;color:#211c15;border-radius:0;padding:11px 8px;margin-top:6px;font:16px/1.5 Arial,sans-serif;letter-spacing:normal;box-shadow:inset 0 1px 8px #604e3310}.contact-form textarea{resize:vertical;min-height:130px;max-height:500px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#5e523e;opacity:1}.contact-form :is(input,textarea,button):focus-visible{outline:2px solid #791e25;outline-offset:3px}.contact-send{display:flex;align-items:center;justify-content:space-between;gap:15px}.contact-send button{cursor:pointer}.contact-send>.scribble{font-size:22px;transform:rotate(-5deg)}.contact-privacy{font:11px/1.5 Arial,sans-serif!important;color:#544733;margin:17px 0 0!important;max-width:100%!important}.contact-privacy a{text-decoration:underline}@media(max-width:760px){.contact-layout{grid-template-columns:1fr;gap:30px}.contact-aside{display:none}.contact-form{padding:24px 20px;transform:none}.contact-fields{grid-template-columns:1fr;gap:0}.contact-send{flex-wrap:wrap}.contact-copy>p:first-child{font-size:16px}}
/* Project preview: native dialog keeps focus inside and supports Escape. */
.project-dialog{width:min(1060px,94vw);max-height:90dvh;overflow:auto;padding:24px;border:1px solid #8b7653;background:#211f19 url('assets/workshop-noir-depth.webp') center/cover;color:#e9dec8;box-shadow:0 24px 100px #000c}.project-dialog::backdrop{background:#090908dd;backdrop-filter:blur(5px)}.project-modal-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.project-dialog button{cursor:pointer}.project-close{flex-shrink:0;background:#b5a27c;color:#211b13;font-size:30px;width:44px;height:44px;border:1px solid #756444;transform:rotate(3deg)}.project-modal-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:28px}.project-gallery{min-width:0}.project-screen{aspect-ratio:16/10;min-height:210px;background:#080807;display:flex;flex-direction:column;align-items:center;justify-content:center;border:7px solid #a6936f;box-shadow:3px 5px 14px #0008;overflow:hidden}.project-screen>img{width:100%;height:100%;object-fit:contain;min-height:0}.project-screen>iframe{width:100%;flex:1;min-height:200px;border:0}.project-screen a{font-size:12px;text-decoration:underline;padding:6px;color:#d4bd92}.video-intro{text-align:center;padding:15px}.video-intro p{font-size:12px;margin-top:16px}.project-media-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:16px 0}.project-media-nav button,.media-dots button{border:1px solid #8c7654;background:#b6a17c;color:#231d16;min-width:44px;min-height:40px;font-weight:bold}.project-media-nav button{font-size:24px}.project-media-nav button:disabled{opacity:.3;cursor:default}.media-count{font:11px/1.5 Arial,sans-serif;letter-spacing:1px}.media-dots{display:flex;flex-wrap:wrap;gap:8px}.media-dots button[aria-pressed=true]{background:#79262c;color:#f3e7ce}.project-details{padding:18px;background:#171510df;align-self:start}.project-details h2{font-family:'Caveat',cursive;font-size:40px;line-height:1.1;margin-bottom:18px;overflow-wrap:anywhere}.project-description{font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.project-genre{color:#bba47b}.project-dialog [hidden]{display:none!important}.project-pending{color:#c2ab87;font-style:italic}.project-dialog :is(button,a):focus-visible{outline:3px solid #e8bd79;outline-offset:3px}.development-preview{margin:0 20px 20px}@media(max-width:720px){.project-dialog{padding:14px;max-height:94dvh}.project-modal-grid{grid-template-columns:1fr;gap:18px}.project-modal-head .eyebrow{font-size:9px}.project-details h2{font-size:34px}.project-screen{border-width:4px}.project-dialog .button{padding:13px;gap:12px}}
.project-modal-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid #7e6a46}.project-modal-footer .project-pending{margin:0}
/* Layered paper project viewer */
.project-dialog{background:#24211b;background-image:radial-gradient(ellipse at 5% 5%,#65523844,transparent 60%),repeating-linear-gradient(0deg,transparent 0 27px,#c8b99406 28px);border:1px solid #776449;padding:24px 28px;box-shadow:0 0 0 5px #12110eb0,10px 20px 70px #000c}.project-modal-head{border-bottom:1px dashed #9e88614d;padding-bottom:14px}.project-modal-head .eyebrow{color:#bca680}.project-close{clip-path:polygon(3% 4%,93% 0,100% 14%,96% 83%,100% 95%,73% 98%,45% 94%,4% 100%,0 68%);box-shadow:2px 4px 7px #0008}.project-gallery{position:relative;padding-top:8px}.project-gallery:before,.project-gallery:after{content:"";position:absolute;top:-1px;width:88px;height:25px;background:repeating-linear-gradient(90deg,#c5b48899 0 2px,#a9976d99 2px 3px);z-index:2;pointer-events:none;box-shadow:0 2px 3px #0003;clip-path:polygon(0 10%,6% 0,12% 8%,25% 0,41% 6%,63% 0,81% 5%,100% 0,98% 94%,83% 100%,64% 93%,42% 100%,21% 96%,0 100%)}.project-gallery:before{left:12px;transform:rotate(-13deg)}.project-gallery:after{right:10px;transform:rotate(11deg)}.project-screen{border:0;padding:12px;background:#9d8c68;box-shadow:4px 7px 14px #0008;clip-path:polygon(0 1%,17% 0,32% .8%,51% 0,73% .7%,99% 0,100% 16%,99.5% 37%,100% 66%,99.3% 99%,78% 100%,54% 99.2%,29% 100%,1% 99%,0 77%,.7% 45%);max-height:48dvh}.project-screen>img,.video-intro{background:#100f0c}.video-intro{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.project-screen>iframe{background:#100f0c}.project-screen>a{background:#100f0c;width:100%;text-align:center}.project-details{position:relative;background-color:#ac9973;background-image:linear-gradient(#56442a20 1px,transparent 1px),radial-gradient(ellipse at bottom right,#66513380,transparent 75%);background-size:100% 25px,100% 100%;color:#211c15;box-shadow:4px 6px 13px #0008;padding:26px 22px;transform:rotate(1deg);clip-path:polygon(0 0,95% 0,100% 6%,99% 99%,73% 100%,41% 99%,0 100%,1% 75%)}.project-details .project-genre{color:#53442c}.project-details h2{color:#211c15;border-bottom:2px solid #77272b;padding-bottom:10px}.project-details .project-description{font-size:15px;line-height:1.7}.project-modal-footer{margin-top:16px;padding-top:15px}.project-launch{background:#70252b;border:1px solid #aa6860;box-shadow:3px 4px 0 #080706;transform:rotate(-1deg)}.project-launch:hover{background:#963d43}.project-media-nav{margin:12px 0}.project-media-nav button{clip-path:polygon(4% 2%,92% 0,100% 17%,96% 96%,74% 100%,45% 93%,0 100%,2% 48%)}@media(max-width:720px){.project-dialog{padding:18px 14px}.project-details{transform:none}.project-screen{max-height:none}.project-gallery:before,.project-gallery:after{width:62px;height:20px}.project-modal-footer{justify-content:stretch}.project-launch{justify-content:center;width:100%}}
/* Lamp glow is painted in the same coordinates as the background art. */
.lamp-light{position:absolute;left:50%;top:50%;width:var(--art-width,100%);height:var(--art-height,100%);transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(ellipse 8% 2% at 95% 54%,#ffedb995,transparent 85%),radial-gradient(ellipse 13% 23% at 94% 70%,#f4bc6745,transparent 85%);opacity:.35;animation:workshop-lamp 13s ease-in-out infinite;will-change:opacity}.lamp-light:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 13% 22% at 94% 69%,#21150825,transparent 90%)}@keyframes workshop-lamp{0%,36%,52%,100%{opacity:.35}39%{opacity:.12}43%{opacity:.45}47%{opacity:.2}74%{opacity:.4}81%{opacity:.26}88%{opacity:.37}}@media(prefers-reduced-motion:reduce){.lamp-light{animation:none;will-change:auto}}.page-paused .lamp-light{animation-play-state:paused}
/* Torn wallpaper sheet: the silhouette belongs to the whole preview. */
.project-dialog{border:0;background:transparent;box-shadow:none;padding:34px 38px;isolation:isolate;scrollbar-width:thin;scrollbar-color:#9e8960 #201e18;filter:drop-shadow(8px 16px 16px #000b)}
.project-sheet:before{content:"";position:absolute;inset:0;min-height:100%;z-index:-1;pointer-events:none;background-color:#9b9279;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='120' viewBox='0 0 96 120'%3E%3Cg fill='none' stroke='%233e4941' stroke-opacity='.28' stroke-width='1.5'%3E%3Cpath d='M48 3C22 23 25 40 48 57C71 40 74 23 48 3ZM48 63C22 83 25 100 48 117C71 100 74 83 48 63ZM0 3C26 23 23 40 0 57M96 3C70 23 73 40 96 57M0 63C26 83 23 100 0 117M96 63C70 83 73 100 96 117M48 18V44M38 28L48 37L58 28'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23grain)' opacity='.3' d='M0 0H180V180H0Z'/%3E%3C/svg%3E"),radial-gradient(ellipse at 0 15%,#302e25c9,transparent 44%),radial-gradient(ellipse at 100% 95%,#29291ee0,transparent 48%),linear-gradient(114deg,transparent 42%,#e4dbb945 42.4%,#302a2155 43%,transparent 44%);background-size:96px 120px,180px 180px,100% 100%,100% 100%,100% 100%;box-shadow:inset 0 0 50px 15px #35312488;clip-path:polygon(1% 3%,4% 2%,6% 3%,9% 1%,13% 2%,17% 0,22% 2%,27% 1%,31% 3%,35% 1%,40% 2%,45% 0,51% 2%,57% 1%,63% 3%,68% 1%,74% 2%,80% 0,85% 2%,90% 1%,94% 3%,98% 1%,97% 8%,100% 12%,98% 19%,99% 25%,97% 32%,100% 40%,98% 48%,99% 56%,97% 63%,100% 71%,98% 79%,99% 86%,97% 92%,99% 98%,94% 97%,89% 100%,83% 98%,77% 99%,72% 97%,66% 100%,61% 98%,55% 99%,49% 97%,44% 100%,38% 98%,32% 99%,27% 97%,21% 100%,15% 98%,9% 99%,4% 97%,1% 99%,2% 91%,0 85%,2% 77%,1% 70%,3% 62%,0 54%,2% 47%,1% 40%,3% 32%,0 25%,2% 18%,1% 11%)}
.project-modal-head{border-color:#302f2666}.project-modal-head .eyebrow{color:#211f18;text-shadow:0 1px #d4c9a366}.project-details{background-color:#c0b18d;background-image:radial-gradient(ellipse at 0 0,#62533360,transparent 65%),repeating-linear-gradient(0deg,transparent 0 26px,#54473318 27px);box-shadow:none}.project-media-nav,.media-dots{color:#eee2c7;text-shadow:0 1px 3px #17170f}.project-modal-footer{border-color:#302f2670}.project-pending{color:#211f18}.project-screen{background:#c1b394}
@media(max-width:720px){.project-dialog{padding:30px 22px}.project-sheet:before{background-size:72px 90px,180px 180px,100% 100%,100% 100%,100% 100%}}
/* Local electrical fault: rare short interruptions between warm pulses. */
.lamp-light{background:radial-gradient(ellipse 8% 2.5% at 95% 54%,#fff4d6ee,transparent 85%),radial-gradient(ellipse 15% 25% at 94% 70%,#ffc46d99,transparent 85%);mix-blend-mode:screen;opacity:.72;animation:workshop-lamp-fault 17s linear infinite}
@keyframes workshop-lamp-fault{0%,100%{opacity:.58}14%{opacity:.95}29%{opacity:.5}40%{opacity:.82}41%{opacity:.82;animation-timing-function:steps(1,end)}42%{opacity:.05;animation-timing-function:steps(1,end)}43.2%{opacity:1;animation-timing-function:steps(1,end)}44.5%{opacity:.12;animation-timing-function:steps(1,end)}46%{opacity:.9}60%{opacity:.55}76%{opacity:1}88%{opacity:.65}}
@media(prefers-reduced-motion:reduce){.lamp-light{animation:none;opacity:.6}}.page-paused .lamp-light{animation-play-state:paused}

.project-dialog{padding:0}.project-sheet{position:relative;isolation:isolate;padding:34px 38px;min-height:100%}@media(max-width:720px){.project-dialog{padding:0}.project-sheet{padding:30px 22px}}
/* The torn sheet uses the actual workshop wall artwork. */
.project-sheet:before{background-color:#343128;background-image:linear-gradient(#18171118,#18171138),url('assets/workshop-noir-depth.webp');background-size:100% 100%,1536px 1024px;background-position:center,38% 46%;box-shadow:inset 0 0 36px 5px #b1a08045}
.project-modal-head .eyebrow{color:#d1c3a4;text-shadow:0 2px 3px #000}.project-modal-head,.project-modal-footer{border-color:#b5a17a66}.project-pending{color:#d1c3a4}
.project-details{background-size:100% 100%,100% 27px}

.project-screen>video{display:block;width:100%;flex:1;min-height:0;object-fit:contain;background:#090a0c}.clip-note{display:block;width:100%;padding:5px;background:#100f0c;color:#d0bd99;text-align:center;font:10px/1.4 Arial,sans-serif}
/* Compact gallery: the picture sets the height, only the description scrolls. */
.project-dialog{--preview-height:clamp(180px,30vw,46dvh);overflow:hidden;max-height:94dvh}
.project-sheet{padding:26px 34px;min-height:0}
.project-modal-head{margin-bottom:16px;padding-bottom:10px}
.project-modal-grid{height:calc(var(--preview-height) + 52px);align-items:stretch;gap:26px}
.project-gallery{display:grid;grid-template-rows:minmax(0,1fr) 44px;gap:8px;padding-top:0;min-height:0}
.project-screen{height:100%;min-height:0;max-height:none;aspect-ratio:auto;padding:8px}
.project-screen>iframe{min-height:0}
.project-details{height:100%;min-height:0;display:flex;flex-direction:column;padding:20px 20px 23px;transform:none;align-self:stretch;overflow:hidden}
.project-details .project-genre{flex-shrink:0;margin-bottom:8px;font-size:10px}
.project-details h2{flex-shrink:0;font-size:36px;margin-bottom:12px;padding-bottom:8px}
.project-description{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#69583d #79674720;margin:0;padding-right:12px;scrollbar-gutter:stable}
.project-details .project-description{font-size:14px;line-height:1.65}
.project-description:focus-visible{outline:1px dashed #69583d;outline-offset:2px}
.project-media-nav{margin:0;display:flex;justify-content:center;gap:18px;min-width:0}
.project-media-nav button,.media-dots button,.media-dots button[aria-pressed=true]{background:none;border:0;box-shadow:none;clip-path:none;color:#d6c5a3;min-width:32px;min-height:40px;padding:0;position:relative}
.project-media-nav>.media-prev,.project-media-nav>.media-next{font:32px/1 Arial,sans-serif;flex:0 0 36px}
.media-dots{gap:7px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;min-width:0;align-items:center}
.media-dots button{flex:0 0 32px;font:600 24px/1 'Caveat','Segoe Print',cursive;opacity:.62}
.media-dots button[aria-pressed=true]{color:#fff0cd;opacity:1}
.media-dots button:after{content:'';position:absolute;bottom:3px;left:6px;right:6px;height:2px;background:currentColor;transform:rotate(-5deg) scaleX(0);transition:transform .18s}
.media-dots button[aria-pressed=true]:after{transform:rotate(-5deg) scaleX(1)}
.project-media-nav button:hover:not(:disabled){color:#fff5df;opacity:1}
.media-count{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.project-close{border:0;background:none;clip-path:none;box-shadow:none;transform:none;color:#e4d3b3;font-size:30px;width:36px;height:36px}
.project-modal-footer{margin-top:16px;padding-top:12px}
.project-launch{transform:none;font-size:11px;padding:12px 18px}
@media(max-width:720px){.project-sheet{padding:22px 20px}.project-modal-head{margin-bottom:10px}.project-modal-grid{height:62dvh;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1.15fr) minmax(0,1fr);gap:12px}.project-details{padding:14px 16px}.project-details h2{font-size:28px;margin-bottom:8px}.project-details .project-genre{margin-bottom:4px}.project-details .project-description{font-size:13px}.project-modal-footer{margin-top:10px;padding-top:10px}.project-launch{padding:10px}.project-media-nav{gap:10px}.project-screen{padding:5px}}

/* Fill the preview frame without letterboxing. */
.project-screen>img{object-fit:cover;width:100%;height:100%;flex:1;min-height:0;object-position:center}

/* Keep media at a true 16:9 ratio; the description follows gallery height. */
.project-modal-grid{height:auto;grid-template-rows:auto;align-items:stretch}
.project-gallery{grid-template-rows:auto 44px}
.project-screen{aspect-ratio:16/9;width:100%;height:auto;min-height:0;box-sizing:border-box}
.project-details{position:relative;height:auto;max-height:none;contain:size}
@media(max-width:720px){.project-modal-grid{height:auto;grid-template-rows:auto minmax(120px,23dvh)}.project-gallery{grid-template-rows:auto 44px}.project-details{height:100%;contain:none}.project-sheet{padding-block:18px}.project-modal-head{margin-bottom:8px}.project-modal-footer{margin-top:8px}}
.project-screen{position:relative}.project-screen>img{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)}@media(max-width:720px){.project-screen>img{inset:5px;width:calc(100% - 10px);height:calc(100% - 10px)}}
