/* Project gallery: editorial type, generous space, tactile artwork. */
[data-page="projects"]{background:#faf9f6;color:#171717;overflow-x:clip}
[data-page="projects"] .brand-bar{height:62px;min-height:0;justify-content:flex-end;padding:10px 3%}
[data-page="projects"] .brand-bar a{height:100%}
[data-page="projects"] .brand-bar img{height:100%;width:auto;display:block}
[data-page="projects"] .floating-nav{top:100px;color:#171717;left:2vw}
[data-page="projects"] .floating-nav a{font-size:clamp(22px,3vw,48px)}
.project-main{margin:0 4vw 0 24vw;padding:70px 0 90px;min-height:80vh}
.eyebrow,.back-link,.portal-number,.game-meta,.art-hint,.art-index,.text-button,.project-tabs,.project-footer,.development-note,.research-status,.close-dialog{font:600 11px/1.5 'Courier New',monospace;letter-spacing:.09em}
.eyebrow{color:#78716b;margin-bottom:24px}.project-main h1{font-size:clamp(54px,7vw,112px);font-weight:600;letter-spacing:-.075em;line-height:.98;margin:0}.period{color:#b4774b}.intro{font-size:18px;color:#79736d;margin:28px 0 55px;line-height:1.6}
.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.portal{position:relative;min-height:440px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;overflow:hidden;isolation:isolate;transition:transform .35s ease}.portal:hover{transform:translateY(-6px)}.portal-number{position:absolute;top:26px;left:30px}.portal-bottom{display:flex;align-items:center;justify-content:space-between;position:relative}.portal h2{font-size:clamp(34px,4vw,68px);letter-spacing:-.06em;font-weight:500;margin:0}.portal p{font-size:13px;line-height:1.6;margin-bottom:0;position:relative}.arrow{font-size:32px;transition:transform .3s}.portal:hover .arrow{transform:translate(4px,-4px)}.research-portal{background:#e9e5dd}.research-mark{position:absolute;top:20%;left:20%;width:60%;height:45%;display:grid;place-items:center}.research-mark i{position:absolute;width:100%;height:100%;border:1px solid #b9afa1;border-radius:50%;transform:rotate(-35deg) scaleX(.45)}.research-mark i:nth-child(2){transform:rotate(35deg) scaleX(.45)}.research-mark i:nth-child(3){transform:rotate(90deg) scaleX(.45)}.research-mark b{font:italic 95px Georgia,serif;color:#584e42}.game-portal{color:#fff;background:#26143d}.game-portal>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s}.game-portal:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 35%,#160d28e6)}.game-portal:hover>img{transform:scale(1.04)}
.back-link{display:inline-block;margin-bottom:45px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}.section-heading p{font-size:15px;line-height:1.6;color:#79736d}.project-tabs{display:flex;gap:30px;border-bottom:1px solid #d9d5ce;margin-bottom:40px}.project-tabs a{padding:0 0 16px;color:#827b74}.project-tabs a[aria-current]{color:#171717;border-bottom:2px solid #171717}.project-tabs span{font-size:9px;margin-left:8px}.games-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.slime-card{padding-top:80px}.game-art{position:relative;display:block;border:0;padding:0;width:100%;aspect-ratio:4/5;overflow:hidden;cursor:pointer;background:#fff;isolation:isolate}.game-art>img{width:100%;height:100%;object-fit:cover;display:block}.creature-art{background:#2d164a;color:white;perspective:800px}.creature-art>img{transform:scale(1.02) translate(var(--x,0px),var(--y,0px));transition:transform .4s ease}.creature-art:hover>img{transform:scale(1.06) translate(var(--x,0px),var(--y,0px))}.art-index{position:absolute;left:18px;top:18px}.art-hint{position:absolute;bottom:18px;left:18px;right:18px;text-align:center;font-size:10px}.creature-art .art-hint{text-shadow:0 1px 5px #000}.cake-art{color:#544f67;touch-action:pan-y}.cake-art>img{transform-origin:50% 80%;will-change:transform;user-select:none;-webkit-user-drag:none}.game-meta{display:flex;justify-content:space-between;gap:8px;margin-top:23px;font-size:9px;letter-spacing:.035em;color:#777069}.release{color:#554762}.game-card h2{font-size:clamp(25px,2.8vw,44px);font-weight:500;letter-spacing:-.065em;margin:13px 0 10px;line-height:1.1}.game-description{font-size:13px;line-height:1.6;color:#79736d;margin:0 0 22px}.text-button{border:0;border-bottom:1px solid #aaa19a;background:none;padding:0 0 5px;cursor:pointer;color:inherit;letter-spacing:.02em}.text-button:hover{color:#8d4a95}.development-note{border-top:1px solid #d9d5ce;margin:70px 0 0;padding-top:22px;color:#827b74;font-size:10px;letter-spacing:.04em}.development-note span{margin:0 12px}.project-footer{margin:0 4vw 0 24vw;padding:25px 0;border-top:1px solid #d9d5ce;display:flex;justify-content:space-between;gap:20px;color:#81766b;font-size:9px}.research-empty{border-bottom:1px solid #d9d5ce;padding:60px 0 80px}.research-empty h2{font:italic clamp(45px,6vw,90px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:20px 0}.research-empty p{color:#79736d;font-size:15px}.research-status{display:inline-block;margin-top:30px;border:1px solid #ada295;padding:8px 15px}
dialog{border:0;padding:0;width:min(900px,90vw);max-height:90vh;overflow:auto;background:#faf9f6;color:#171717}dialog[open]{display:grid;grid-template-columns:1fr 1fr}dialog::backdrop{background:#17121bce;backdrop-filter:blur(8px)}dialog>img{width:100%;height:auto}.dialog-copy{padding:65px 35px 30px;align-self:center}.dialog-copy h2{font-size:42px;line-height:1.05;letter-spacing:-.06em;font-weight:500}.dialog-copy p{font-size:15px;line-height:1.7;color:#79736d}.close-dialog{position:absolute;right:12px;top:12px;border:0;background:#faf9f6;padding:10px;cursor:pointer;z-index:2}body:has(dialog[open]){overflow:hidden}button:focus-visible{outline:3px solid #8b55ab;outline-offset:4px}
@media(max-width:760px){[data-page="projects"] .brand-bar{height:50px}[data-page="projects"] .floating-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:18px;padding:22px 6vw}[data-page="projects"] .floating-nav a{font-size:15px;letter-spacing:-.02em}.project-main{margin:0 6vw;padding:35px 0 55px}.project-main h1{font-size:60px}.portal-grid,.games-grid{grid-template-columns:1fr}.portal{min-height:410px}.slime-card{padding-top:25px}.project-footer{margin:0 6vw;flex-wrap:wrap}.project-footer>span{display:none}.section-heading p{font-size:12px}.game-meta{font-size:10px}.game-card h2{font-size:34px}.game-description{font-size:15px}dialog[open]{grid-template-columns:1fr}dialog>img{max-height:58vh;object-fit:contain;background:#fff}.dialog-copy{padding:22px}.dialog-copy h2{font-size:30px;margin:10px 0}.dialog-copy .eyebrow{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portal,.arrow,.game-portal>img,.creature-art>img{transition:none!important;transform:none!important}.cake-art>img{transform:none!important}}
