/* Football Gazzetta: Manager — V2.0 textures and art placement.
   Screenprint backgrounds built from the specification's own concept art and real game captures (tools/popart.py)
   and posters from the pre-launch campaign (src/assets/campaign). Decorative layers never receive input. */
body{position:relative;isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:url(/assets/pop/halftone-tile.png) 0 0/24px 24px;opacity:.045}
.hero{background:var(--paper)}
.hero::before{content:"";position:absolute;z-index:-1;inset:auto -10% -40% auto;width:min(60vw,760px);aspect-ratio:1;background:var(--orange);clip-path:polygon(100% 0,100% 100%,0 100%);opacity:.14;pointer-events:none}
.hero::after{content:"";position:absolute;z-index:-1;left:-6%;top:-10%;width:min(42vw,520px);aspect-ratio:1;border-radius:50%;border:4px solid var(--ink);opacity:.08;pointer-events:none}
.stadium-section{position:relative;background:var(--ink)}
.stadium-section::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url(/assets/pop/stadium-cobalt.webp) right -8% top 10%/min(60vw,820px) no-repeat;opacity:.26;-webkit-mask-image:linear-gradient(90deg,transparent 15%,#000 60%);mask-image:linear-gradient(90deg,transparent 15%,#000 60%)}
.stadium-section>.wrap{position:relative;z-index:1}
.engine-section{background:var(--ink)}
.world-section{background:var(--cobalt);color:var(--white)}
.world-section .poster-md,.world-section h2{color:var(--white)}.world-section .text-link{border-color:var(--acid)}.world-section .text-link:hover{background:var(--acid);color:var(--ink)}
.world-section .button.orange{box-shadow:6px 6px 0 var(--white)}
.newspaper-section{position:relative;isolation:isolate;background:var(--paper)}.newspaper-section::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(/assets/pop/halftone-tile.png) 0 0/24px 24px;opacity:.16}
.release-section{background:var(--orange);color:var(--ink)}
.release-section .button{box-shadow:6px 6px 0 var(--paper)}.release-section .button:hover{box-shadow:8px 8px 0 var(--paper)}
.release-section .button.ghost{box-shadow:none}
.poster-wall{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;background:var(--ink);border:4px solid var(--ink)}
.poster-wall img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;display:block;transition:transform .2s}
.poster-wall a{display:block;overflow:hidden;background:var(--ink)}.poster-wall a:hover img{transform:scale(1.04)}
.poster-wall .wide{grid-column:span 2;grid-row:span 2}
.page-heading{position:relative;overflow:hidden}
.page-heading::after{content:"";position:absolute;z-index:-1;right:-6%;top:-20%;width:min(44vw,560px);aspect-ratio:1;background:var(--orange);clip-path:polygon(100% 0,100% 100%,0 100%);opacity:.16;pointer-events:none}
body[data-page="engine"] .page-heading::after{background:var(--acid);opacity:.5}
body[data-page="world"] .page-heading::after{background:var(--cobalt);opacity:.2}
body[data-page="customisation"] .page-heading::after{background:var(--pink);opacity:.2}
body[data-page="media"] .page-heading::after{background:var(--mint);opacity:.4}
body[data-page="404"] main{min-height:60vh}
@media(max-width:980px){.stadium-section::before{background-size:min(90vw,620px);opacity:.14;-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 90%);mask-image:linear-gradient(180deg,#000 30%,transparent 90%)}.poster-wall{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.poster-wall{grid-template-columns:repeat(2,1fr)}.poster-wall .wide{grid-column:span 2;grid-row:span 1}.poster-wall .wide img{aspect-ratio:8/5}}
@media(prefers-contrast:more){body::before,.hero::before,.hero::after,.page-heading::after,.stadium-section::before{display:none}}
