/* Homepage styles plus proportionate contact sizing. */
html{scroll-behavior:smooth}a:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.new-site{--ink:#232323;--accent:#232323;background:#fff;color:var(--ink);font-family:Switzer-Regular,Arial,sans-serif;font-size:16px;line-height:1.6}
/* Match the existing Contact and footer content boundaries at every viewport. */
.new-site .wrap,.new-site .game-cover{width:calc(100% - 2rem);max-width:var(--spacing-main-content,64.25rem);margin-inline:auto}
.new-site .site-header{display:flex;justify-content:space-between;align-items:center;min-height:102.4px;gap:25.6px}
.studio-logo{width:201.6px;height:auto}
.new-site nav{display:flex;gap:32px;font-size:16px}
.new-site nav a:hover,.new-site a.text-link:hover{color:var(--accent)}
.new-site .company{padding-top:84px;padding-bottom:88px}
.new-site .eyebrow{text-transform:uppercase;letter-spacing:1.28px;font-size:13px;margin-bottom:19.2px}
.new-site h1{font-family:Switzer-Bold,Arial,sans-serif;font-size:clamp(38.4px,5.12vw,67.2px);font-weight:700;letter-spacing:-2.8px;line-height:1.09;margin:0;max-width:1100px}
.new-site h1 span{color:var(--accent)}
.new-site .company-bottom{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;margin-top:44px;font-size:16.8px;line-height:1.55}
.new-site .company-bottom a{color:var(--accent);text-decoration:none;text-underline-offset:4px}
.new-site .section-label{border-top:1px solid #272727;display:flex;justify-content:space-between;padding-block:17.6px;color:#555;font-size:14px}
.new-site .section-label h2{font-size:14px;font-family:Switzer-Medium,Arial,sans-serif}
.new-site .game-entry+.game-entry{margin-top:88px;border-top:1px solid #ddd}
.new-site .game-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-top:45.6px;padding-bottom:46.4px;align-items:start}
.new-site .game-intro .eyebrow{color:#666;margin-bottom:9.6px}
.new-site h3{font-family:Switzer-Bold,Arial,sans-serif;font-size:clamp(35.2px,4vw,52.8px);font-weight:700;line-height:1.1;letter-spacing:-1.6px}
.new-site .game-description{font-size:16px}
.new-site .text-link{display:inline-block;color:var(--accent);margin-top:19.2px;font-family:Switzer-Medium,Arial,sans-serif;font-size:16px}
.new-site .text-link span{margin-left:0}
.new-site .game-cover{position:relative;background:#d3ddd0}
.new-site .game-cover>img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover}
.new-site .game-cover figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:end;padding:48px 25.6px 19.2px;background:linear-gradient(transparent,#0008);color:white;font-size:14px}
.new-site .game-cover figcaption span:first-child{font-size:28.8px;letter-spacing:-0.8px;font-family:Switzer-Bold,Arial,sans-serif}
.new-site .platforms{padding-top:22.4px;padding-bottom:24px;border-bottom:1px solid #d2d2d2;display:flex;gap:24px;align-items:center;justify-content:space-between}
.new-site .platforms>p{font-size:14px;color:#666;white-space:nowrap}
.new-site .store-links{display:flex;flex-wrap:wrap;gap:12.8px 25.6px;font-size:16px}
.new-site .store-links a{padding-block:6.4px;display:flex;gap:12px;border-bottom:1px solid transparent}
.new-site .store-links a:hover{color:var(--accent);border-color:transparent}
.new-site .store-links a span{color:var(--accent)}
.new-site .game-worlds{display:grid;grid-template-columns:1fr 2fr;gap:52px;margin-top:76px}
.new-site h4{font-family:Switzer-Bold,Arial,sans-serif;font-size:25.6px;line-height:1.18;letter-spacing:-0.56px;font-weight:700}
.new-site .world-copy p{font-size:16px;line-height:1.65;margin-top:19.2px;color:#555}
.new-site .screenshots{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.new-site .screenshots img{width:100%;aspect-ratio:4/3;object-fit:cover}
.new-site .screenshots figcaption{font-size:13px;margin-top:9.6px;color:#666}
.new-site .trailer{padding-top:68px;padding-bottom:88px}
.new-site .trailer-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:20.8px;gap:19.2px}
.new-site .trailer-label h4{font-size:20.8px}
.new-site .trailer-label a{font-size:14px;color:var(--accent)}
.new-site iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#202020}
@media(min-width:1700px){.new-site .company{padding-top:116px;padding-bottom:112px}}
@media(max-width:850px){.new-site .company-bottom{gap:32px}.new-site .game-intro{gap:28px}.new-site .platforms{align-items:flex-start;flex-direction:column;gap:9.6px}.new-site .game-worlds{grid-template-columns:1fr;gap:24px}.new-site .world-copy{max-width:500px}.new-site .game-cover>img{aspect-ratio:16/10}}
@media(max-width:600px){.new-site .site-header{min-height:76px;gap:16px;flex-wrap:wrap;padding-block:19.2px}.studio-logo{width:172.8px}.new-site nav{gap:14.4px;font-size:14px}.new-site .company{padding-top:49.6px;padding-bottom:56px}.new-site .eyebrow{font-size:12px;letter-spacing:0.8px}.new-site h1{font-size:clamp(29.6px,6.4vw,38.4px);letter-spacing:-1.36px}.new-site .company-bottom{grid-template-columns:1fr;gap:17.6px;margin-top:27.2px;font-size:16px}.new-site .game-intro{grid-template-columns:1fr;padding-top:27.2px;padding-bottom:28.8px;gap:20.8px}.new-site .game-description{font-size:16px}.new-site h3{font-size:38.4px}.new-site .game-cover figcaption{padding:40px 16px 16px}.new-site .game-cover figcaption span:first-child{font-size:22.4px}.new-site .store-links{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:6.4px 16px;font-size:14px}.new-site .store-links a{justify-content:space-between;gap:4.8px}.new-site .game-worlds{margin-top:44px}.new-site .screenshots{gap:9.6px}.new-site .screenshots img{aspect-ratio:1/1}.new-site h4{font-size:23.2px}.new-site .trailer{padding-top:44px;padding-bottom:52px}.new-site .trailer-label{flex-direction:column;align-items:flex-start;gap:8px}.new-site .trailer-label h4{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep Contact on the shared alignment grid while matching the compact scale. */
#contact{padding-top:3.2rem;padding-bottom:2rem}
#contact>div>div:first-child{padding-bottom:.4rem}
#contact h2{font-size:1.6rem;letter-spacing:-1.6px}
#contact>div>div:last-child{gap:1.2rem;padding-top:2rem}
#contact .contact-item span:first-child{font-size:.875rem}
#contact .contact-item span:last-child{font-size:1.4rem;letter-spacing:-.4px;overflow-wrap:anywhere}
@media(min-width:48rem){
 #contact{padding-top:12rem;padding-bottom:6rem}
 #contact>div>div:first-child{padding-bottom:1rem}
 #contact h2{font-size:2.4rem}
 #contact>div>div:last-child{gap:2rem;padding-top:4rem}
 #contact .contact-item span:first-child{font-size:1rem}
 #contact .contact-item span:last-child{font-size:2rem}
}

/* Social icons follow the footer logo’s compact proportions. */
.footer-socials{gap:9.6px}
.footer-socials a{display:flex;align-items:center;justify-content:center;min-height:32px}
.footer-socials img{width:24px;height:24px;object-fit:contain}

/* One six-tile media collage: trailer followed by five map galleries. */
.new-site .map-collage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:0}
.new-site .map-tile,.new-site .collage-video{position:relative;min-width:0;aspect-ratio:16/10;overflow:hidden;background:#202020}
.new-site .map-tile{display:block;width:100%;cursor:pointer;text-align:left}
.new-site .map-tile>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.new-site .map-tile:hover>img{transform:scale(1.08)}
.new-site .map-caption{position:absolute;inset:auto 0 0;display:flex;gap:10px;align-items:end;justify-content:space-between;padding:40px 12px 12px;background:linear-gradient(transparent,#000c);color:#fff;font-size:14px}
.new-site .map-caption>span{font-size:12px;white-space:nowrap}
.new-site .collage-video iframe{width:100%;height:100%;aspect-ratio:auto}
.gallery-open{overflow:hidden}
.photo-dialog{position:fixed;inset:0;margin:auto;width:min(1120px,94vw);max-width:94vw;max-height:94dvh;padding:16px;background:#171717;color:#fff;border:1px solid #ffffff30;font-family:Switzer-Regular,Arial,sans-serif}
.photo-dialog::backdrop{background:#000d}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
.gallery-toolbar h2{font-size:18px}
.photo-dialog button{cursor:pointer;min-width:44px;min-height:44px;color:#fff;background:#ffffff15}
.photo-dialog button:focus-visible,.new-site .map-tile:focus-visible{outline:2px solid #232323;outline-offset:2px}
.gallery-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:160px}
#gallery-photo{width:100%;height:min(68dvh,630px);object-fit:contain;touch-action:pan-y}
.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);font-size:32px;background:#000a!important;z-index:1}
.gallery-prev{left:0}.gallery-next{right:0}
.gallery-status{font-size:14px;text-align:center;margin-top:12px;color:#ccc}
@media(max-width:700px){.new-site .map-collage{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.new-site .map-caption{flex-direction:column;align-items:start;gap:2px;font-size:13px}.new-site .map-tile,.new-site .collage-video{aspect-ratio:4/3}.photo-dialog{padding:10px}}
@media(prefers-reduced-motion:reduce){.new-site .map-tile>img{transition:none}}

.new-site .store-links a{align-items:center}
.new-site .platform-icon{display:block;width:20px;height:20px;flex-shrink:0}

/* Neutral links, consistent small text, and a continuous white background. */
.new-site .company-bottom{display:block;max-width:var(--spacing-main-content,64.25rem)}
.new-site .company-bottom p{max-width:42rem}
.new-site nav a,.new-site .text-link{text-decoration:none;text-underline-offset:5px}
.new-site nav a:hover,.new-site .text-link:hover{text-decoration:none;color:inherit}
.new-site .store-links a:hover{color:inherit;border-color:transparent}
.new-site .map-tile:hover .map-caption{text-decoration:none;text-underline-offset:4px}
#contact{background:#fff}

.new-site .eyebrow,.new-site nav,.new-site .company-bottom,.new-site .section-label,.new-site .section-label h2,.new-site .game-description,.new-site .text-link,.new-site .platforms>p,.new-site .store-links,.new-site .map-caption,.gallery-status,#contact .contact-item span:first-child,footer>div>div>span{font-size:1rem}
.photo-dialog button:focus-visible{outline-color:#fff}
@media(prefers-reduced-motion:reduce){.new-site .map-tile:hover>img{transform:none}}

/* Unified scale and separators. */
:root{--small-text:1.2rem;--section-line:1px solid #272727}
.new-site h1,.new-site h3{font-size:clamp(35.2px,4vw,52.8px);line-height:1.1;letter-spacing:-1.6px}
.new-site .eyebrow,.new-site nav,.new-site .company-bottom,.new-site .section-label,.new-site .section-label h2,.new-site .game-description,.new-site .text-link,.new-site .platforms>p,.new-site .store-links,.new-site .map-caption,.gallery-status,#contact .contact-item span:first-child,footer>div>div>span{font-size:var(--small-text)}
.new-site .section-label{border-top:var(--section-line)}
.new-site .platforms,#contact>div>div:first-child{border-bottom:var(--section-line)}
.new-site .game-entry+.game-entry{border-top:var(--section-line)}
.new-site .text-link{display:inline-flex;align-items:center;gap:10px}
.website-icon{width:21px;height:21px;flex-shrink:0}
.new-site .game-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.new-site .game-description,.new-site .company-bottom{overflow-wrap:break-word}
.new-site .store-links{justify-content:flex-end}
.new-site .site-header{flex-wrap:wrap;gap:16px 24px}
.new-site nav{align-items:center;flex-wrap:wrap;gap:16px 24px}
.new-site .map-caption{font-size:var(--small-text);overflow-wrap:break-word}
.language-picker{position:relative}
#language-toggle{display:grid;place-items:center;width:44px;height:44px;cursor:pointer;border-bottom:1px solid transparent}
#language-toggle:hover{border-bottom-color:transparent}
#language-toggle img,#language-list img{object-fit:contain}
#language-list{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:min(312px,calc(100vw - 32px));padding:12px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;background:white;border:1px solid #ccc;box-shadow:0 8px 24px #0002}
#language-list[hidden]{display:none}
#language-list button{display:grid;place-items:center;min-width:0;min-height:44px;cursor:pointer;border:1px solid transparent}
#language-list button:hover,#language-list button[aria-pressed="true"]{border-color:#272727}
#language-toggle:focus-visible,#language-list button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media(max-width:850px){.new-site .store-links{justify-content:flex-start}}
@media(max-width:600px){.new-site h1,.new-site h3{font-size:38.4px}.new-site .game-intro{grid-template-columns:minmax(0,1fr)}.new-site .site-header{padding-block:20px}.new-site nav{gap:12px 16px}.new-site .store-links a{gap:8px}.new-site .map-caption{font-size:1.2rem;padding:36px 10px 10px}.new-site .company-bottom p{max-width:100%}}
@media(max-width:600px){#language-list{position:fixed;top:140px;left:16px;right:16px;width:auto;max-height:calc(100dvh - 160px);overflow:auto}}

.new-site .text-link,.new-site .store-links a{font-family:Switzer-Bold,Arial,sans-serif;font-weight:700;font-size:calc(var(--small-text) * 1.1)}

/* Shared section rhythm and gentle hover feedback without shifting layout. */
:root{--section-gap:64px}
.new-site .company{padding-bottom:var(--section-gap)}
#contact{padding-top:var(--section-gap)}
.new-site nav>a,.new-site .text-link,.new-site .store-links a,
#language-toggle img,#language-list img{
 transition:transform .18s ease;transform-origin:left center;text-decoration:none;
}
.new-site nav>a{display:inline-block;transform-origin:center}
#language-toggle img,#language-list img{transform-origin:center}

.new-site .store-links a:last-child{transform-origin:right center}
@media(hover:hover){
 .new-site nav>a:hover,.new-site .text-link:hover,.new-site .store-links a:hover,
 #language-toggle:hover img,#language-list button:hover img{transform:scale(1.1)}
}
@media(max-width:600px){:root{--section-gap:40px}}
@media(prefers-reduced-motion:reduce){
 .new-site nav>a,.new-site .text-link,.new-site .store-links a,
 #language-toggle img,#language-list img{transition:none}
}
